Magnolia 5.5.5 组件对话框的 ModalityLevel
Magnolia 5.5.5 ModalityLevel of Component Dialog
如这里所写
https://documentation.magnolia-cms.com/display/DOCS56/Dialog+definition 我假设每个对话框都有可能将以下行插入到 yaml 中:
modalityLevel: non-modal
如果我对现有的组件对话框执行此操作,它可能非常复杂(带有选项卡等),控制台会记录错误。
WARN agnolia.config.source.yaml.YamlConfigurationSource: 1 major and 0 minor problems have been encountered
(注意:如果我这样做 modalityLevel: light
它会起作用..)
我想这样做的原因是一次打开多个对话框。
这在 Magnolia 5.5.5(或 5.6)中可能吗?
FWIW,我在当前演示中得到了相同的行为...
这里定义:
info.magnolia.ui.api.overlay.OverlayLayer
65 /**
66 * The available levels of modality.
67 * Determines how "modal" it is -
68 * -STRONG creates a dark background that prevents clicks.
69 * -LIGHT adds a border, creates a transparent background that prevents clicks.
70 * -NON_MODAL does not prevent clicks.
71 */
72 public static enum ModalityLevel {
73 STRONG("strong", "modality-strong"),
74 LIGHT("light", "modality-light center-vertical"),
75 NON_MODAL("non-modal", "modality-non-modal");
这里用到了:
info.magnolia.ui.framework.overlay.OverlayPresenter
216 final OverlayCloser closer = openOverlay(new ViewAdapter(shortcutPanel), ModalityLevel.NON_MODAL);
And it's used here:
info.magnolia.dam.app.assets.field.UploadAssetActionRenderer
155 progressIndicatorCloseHandle = layer.openOverlay(new ViewAdapter(progressIndicator), ModalityLevel.NON_MODAL);
等等
所以这似乎是误报。
有趣的是,我没有看到任何测试......例如,我看到:
assertEquals("light", session.getProperty("/modules/ui-framework/dialogs/rename/modalityLevel").getString());
and
assertEquals("strong", session.getProperty("/modules/pages/dialogs/createPage/modalityLevel").getString());
但 "non-modal"
没有
我以为可能是“-”字符,但在其他条件相同的情况下,这似乎是有效的 yaml
---
modalityLevels: strong
modalityLeveln: non-modal
modalityLevell: light
必须深入挖掘才能看到这里发生了什么。
更新:如果您将其更改为 "non_modal",定义应用程序中将不再有错误。
好的,我们开始吧,经过一番调查后发现问题出在 Magnolia 中。我为这个问题创建了以下问题https://jira.magnolia-cms.com/browse/MGNLUI-4328。现在请忽略定义应用程序所说的内容,我们会尽快修复它。
干杯,
如这里所写 https://documentation.magnolia-cms.com/display/DOCS56/Dialog+definition 我假设每个对话框都有可能将以下行插入到 yaml 中:
modalityLevel: non-modal
如果我对现有的组件对话框执行此操作,它可能非常复杂(带有选项卡等),控制台会记录错误。
WARN agnolia.config.source.yaml.YamlConfigurationSource: 1 major and 0 minor problems have been encountered
(注意:如果我这样做 modalityLevel: light
它会起作用..)
我想这样做的原因是一次打开多个对话框。 这在 Magnolia 5.5.5(或 5.6)中可能吗?
FWIW,我在当前演示中得到了相同的行为...
这里定义: info.magnolia.ui.api.overlay.OverlayLayer
65 /**
66 * The available levels of modality.
67 * Determines how "modal" it is -
68 * -STRONG creates a dark background that prevents clicks.
69 * -LIGHT adds a border, creates a transparent background that prevents clicks.
70 * -NON_MODAL does not prevent clicks.
71 */
72 public static enum ModalityLevel {
73 STRONG("strong", "modality-strong"),
74 LIGHT("light", "modality-light center-vertical"),
75 NON_MODAL("non-modal", "modality-non-modal");
这里用到了:
info.magnolia.ui.framework.overlay.OverlayPresenter
216 final OverlayCloser closer = openOverlay(new ViewAdapter(shortcutPanel), ModalityLevel.NON_MODAL);
And it's used here:
info.magnolia.dam.app.assets.field.UploadAssetActionRenderer
155 progressIndicatorCloseHandle = layer.openOverlay(new ViewAdapter(progressIndicator), ModalityLevel.NON_MODAL);
等等
所以这似乎是误报。
有趣的是,我没有看到任何测试......例如,我看到:
assertEquals("light", session.getProperty("/modules/ui-framework/dialogs/rename/modalityLevel").getString());
and
assertEquals("strong", session.getProperty("/modules/pages/dialogs/createPage/modalityLevel").getString());
但 "non-modal"
没有我以为可能是“-”字符,但在其他条件相同的情况下,这似乎是有效的 yaml
---
modalityLevels: strong
modalityLeveln: non-modal
modalityLevell: light
必须深入挖掘才能看到这里发生了什么。
更新:如果您将其更改为 "non_modal",定义应用程序中将不再有错误。
好的,我们开始吧,经过一番调查后发现问题出在 Magnolia 中。我为这个问题创建了以下问题https://jira.magnolia-cms.com/browse/MGNLUI-4328。现在请忽略定义应用程序所说的内容,我们会尽快修复它。
干杯,