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。现在请忽略定义应用程序所说的内容,我们会尽快修复它。

干杯,