在这里编写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,它就会工作.)
我想这样做的原因是同时打开多个对话框。这在木兰属5.5.5 (或5.6)有可能吗?
发布于 2017-11-23 09:20:39
好的,经过调查,发现问题出在木兰里面。我已经为这个问题创建了下面的问题https://jira.magnolia-cms.com/browse/MGNLUI-4328。现在,请忽略定义应用程序说什么,我们会尽快修复它。
干杯,
发布于 2017-11-22 17:06:07
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",则定义应用程序中不再会出现错误。
https://stackoverflow.com/questions/47436480
复制相似问题