forked from fanruan/design
Browse Source
* commit '027eff108d5fac397ed158d748cc96fd5136132c': (27 commits) REPORT-62133 mac设计器安装包起不来 REPORT-62437 安装大数据集导出excel插件后,远程和本地互相切换时保存失败问题 CHART-21786:不限制图片标记点大小 REPORT-60528 修复之前在弹窗提示tablayout高度有问题的时候,判断处理逻辑不正确的问题 REPORT-61654 弹窗内容显示不全 REPORT-61610 fix:回退最开始关于 相同的图表类型,不会新建图表配置界面 的逻辑改动 REPORT-62179 数字控件的最大最小值校验需支持公式 REPORT-62016 BI插件匹配检测 REPORT-61410 数据集预览时可复制-表头复制问题 && REPORT-61409 数据集预览时可复制-赋值空值时显示成Null update 代码质量:每个实例各自监听插件事件 REPORT-61695 REPORT-61618 复用组件生成时带“-”,导致部分公式失效@Jaimme REPORT-61695 决策报表-自适应布局下组件右侧设置面板显示“组件大小”,绝对布局下显示的是“控件位置”“控件大小” REPORT-61610 fix:插件重新加载 图表配置界面报错 A.class can not cast to A.class CHART-21418 fix:第二次修改 区分弹框在上面还是下面 如果在上面 则是从displayComponent下面离开 隐藏弹框 REPORT-59744 聚合报表块手动修改位置以后,点击空白处位置偏移 REPORT-61306 设计器缩放时,显示通知的弹窗未跟随设计器内部界面,而是固定显示在右侧 REPORT-60887 MAC OS x电脑上 编辑按钮飘移 REPORT-61654 设计器-非中文设计器-字体缺失检测的弹窗内容显示不全 ...persist/10.0 10.0.19.2021.11.11
superman
3 years ago
28 changed files with 264 additions and 91 deletions
@ -0,0 +1,47 @@ |
|||||||
|
package com.fr.design.designer.ui; |
||||||
|
|
||||||
|
import com.fr.design.designer.creator.XCreator; |
||||||
|
|
||||||
|
import java.util.ArrayList; |
||||||
|
import java.util.Iterator; |
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 把弹窗统一管理起来 防止出现异常情况下游离的弹窗 |
||||||
|
* |
||||||
|
* @author hades |
||||||
|
* @version 10.0 |
||||||
|
* Created by hades on 2021/11/02 |
||||||
|
*/ |
||||||
|
public class PopupDialogContext { |
||||||
|
|
||||||
|
private static List<SelectedPopupDialog> dialogs = new ArrayList<>(); |
||||||
|
|
||||||
|
public static void add(SelectedPopupDialog selectedPopupDialog) { |
||||||
|
if (dialogs.contains(selectedPopupDialog)) { |
||||||
|
return; |
||||||
|
} |
||||||
|
dialogs.add(selectedPopupDialog); |
||||||
|
} |
||||||
|
|
||||||
|
public static void remove(SelectedPopupDialog selectedPopupDialog) { |
||||||
|
dialogs.remove(selectedPopupDialog); |
||||||
|
} |
||||||
|
|
||||||
|
public static void checkSelectedPop(XCreator creator) { |
||||||
|
Iterator<SelectedPopupDialog> iterator = dialogs.iterator(); |
||||||
|
List<SelectedPopupDialog> removedDialog = new ArrayList<>(); |
||||||
|
while (iterator.hasNext()) { |
||||||
|
SelectedPopupDialog dialog = iterator.next(); |
||||||
|
if (dialog.isVisible() && creator != dialog.getCreator()) { |
||||||
|
iterator.remove(); |
||||||
|
removedDialog.add(dialog); |
||||||
|
} |
||||||
|
} |
||||||
|
for (SelectedPopupDialog dialog : removedDialog) { |
||||||
|
dialog.setVisible(false); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
} |
Loading…
Reference in new issue