正如这里所写 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)中吗?
答案 0 :(得分:2)
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());
但没有“非模态”
我想也许是“ - ”字符,但是这看起来,其他一切都是相同的,是有效的yaml
---
modalityLevels: strong
modalityLeveln: non-modal
modalityLevell: light
必须深入挖掘才能看到这里发生的事情。
更新:如果您将其更改为“non_modal”,则定义应用中不再出现错误。
答案 1 :(得分:2)
好的,我们去了,经过一番调查后发现问题出在Magnolia身上。我为此问题创建了以下问题https://jira.magnolia-cms.com/browse/MGNLUI-4328。现在请忽略定义应用程序所说的内容,我们会尽快修复它。
干杯,