You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
2.2 KiB
54 lines
2.2 KiB
package com.fr.design.gui.xpane; |
|
|
|
import com.fr.chart.web.ChartHyperRelateFloatLink; |
|
import com.fr.design.form.javascript.FormEmailPane; |
|
import com.fr.design.gui.controlpane.NameObjectCreator; |
|
import com.fr.design.gui.controlpane.NameableCreator; |
|
import com.fr.design.gui.frpane.HyperlinkGroupPane; |
|
import com.fr.design.gui.frpane.HyperlinkGroupPaneActionProvider; |
|
import com.fr.general.ComparatorUtils; |
|
import com.fr.js.EmailJavaScript; |
|
import com.fr.js.JavaScript; |
|
|
|
public class FormHyperlinkGroupPane extends HyperlinkGroupPane { |
|
private static FormHyperlinkGroupPane singleton; |
|
|
|
protected FormHyperlinkGroupPane(HyperlinkGroupPaneActionProvider hyperlinkGroupPaneActionProvider) { |
|
super(hyperlinkGroupPaneActionProvider); |
|
} |
|
|
|
public synchronized static FormHyperlinkGroupPane getInstance(HyperlinkGroupPaneActionProvider hyperlinkGroupPaneActionProvider) { |
|
if (singleton == null) { |
|
singleton = new FormHyperlinkGroupPane(hyperlinkGroupPaneActionProvider); |
|
} |
|
return singleton; |
|
} |
|
|
|
@Override |
|
protected void initCreatorsFilter() { |
|
this.creatorsFilter = nameableCreator -> { |
|
Class<? extends JavaScript> clazz = nameableCreator.getHyperlink(); |
|
// 决策报表没有 ChartHyperRelateFloatLink |
|
return !ComparatorUtils.equals(clazz, ChartHyperRelateFloatLink.class); |
|
}; |
|
} |
|
|
|
|
|
/** |
|
* 生成添加按钮的NameableCreator |
|
* 由于表单报表块的单元格超链和单元格条件属性超链中的emailPane都要用表单的emailPane,这里调整下 |
|
* |
|
* @return 返回Nameable按钮数组. |
|
*/ |
|
@Override |
|
public NameableCreator[] createNameableCreators() { |
|
NameableCreator[] creators = super.createNameableCreators(); |
|
for (int i = 0; i < creators.length; i++) { |
|
if (ComparatorUtils.equals(creators[i].menuName(), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Email"))) { |
|
creators[i] = new NameObjectCreator(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Email"), EmailJavaScript.class, FormEmailPane.class); |
|
break; |
|
} |
|
} |
|
return creators; |
|
} |
|
}
|
|
|