diff --git a/plugin.xml b/plugin.xml index fa19ed9..aeae7fa 100644 --- a/plugin.xml +++ b/plugin.xml @@ -2,7 +2,7 @@ com.fr.solution.plugin.form.widget.rh.iframe yes - 3.3 + 4.0 8.0 2016-01-15 solution @@ -11,15 +11,19 @@

[2015-12-03]修复再次打开地址设置界面时没有正确选择到选项的问题

[2016-01-13]增加常用的API接口

[2016-01-15]实现功能改进数据统计接口

+

[2016-03-28]在填报中也可以使用

]]> - + + + + \ No newline at end of file diff --git a/src/com/fr/plugin/form/widget/conf/RHIframeMarkInCell.java b/src/com/fr/plugin/form/widget/conf/RHIframeMarkInCell.java new file mode 100644 index 0000000..4f82d03 --- /dev/null +++ b/src/com/fr/plugin/form/widget/conf/RHIframeMarkInCell.java @@ -0,0 +1,38 @@ +package com.fr.plugin.form.widget.conf; + +import com.fr.design.beans.BasicBeanPane; +import com.fr.design.fun.impl.AbstractCellWidgetOptionProvider; +import com.fr.form.ui.Widget; +import com.fr.general.Inter; +import com.fr.plugin.form.widget.core.RHIframe; +import com.fr.plugin.form.widget.ui.RHCellPane; + +/** + * Created by richie on 16/3/28. + */ +public class RHIframeMarkInCell extends AbstractCellWidgetOptionProvider { + + public int currentAPILevel() { + return 1; + } + + @Override + public Class classForWidget() { + return RHIframe.class; + } + + @Override + public String iconPathForWidget() { + return "/com/fr/plugin/form/widget/images/rh_iframe.png"; + } + + @Override + public String nameForWidget() { + return Inter.getLocText("Plugin-RH_Iframe_Name"); + } + + @Override + public Class> appearanceForWidget() { + return RHCellPane.class; + } +} diff --git a/src/com/fr/plugin/form/widget/ui/RHCellPane.java b/src/com/fr/plugin/form/widget/ui/RHCellPane.java new file mode 100644 index 0000000..dd1dd5c --- /dev/null +++ b/src/com/fr/plugin/form/widget/ui/RHCellPane.java @@ -0,0 +1,42 @@ +package com.fr.plugin.form.widget.ui; + +import com.fr.design.layout.FRGUIPaneFactory; +import com.fr.design.widget.ui.AbstractDataModify; +import com.fr.general.Inter; +import com.fr.plugin.form.widget.core.RHIframe; + +import java.awt.*; + +/** + * Created by richie on 16/3/28. + */ +public class RHCellPane extends AbstractDataModify { + + private RHFramePane attrPane; + private RHIframe iframe; + + public RHCellPane() { + this.setLayout(FRGUIPaneFactory.createBorderLayout()); + attrPane = new RHFramePane(); + this.add(attrPane, BorderLayout.CENTER); + } + + @Override + public void populateBean(RHIframe rhIframe) { + this.iframe = rhIframe; + attrPane.populate(rhIframe.getAttr()); + } + + @Override + public RHIframe updateBean() { + if (iframe != null) { + iframe.setAttr(attrPane.update()); + } + return iframe; + } + + @Override + protected String title4PopupWindow() { + return Inter.getLocText("Plugin-RH_Iframe_Name"); + } +} diff --git a/src/com/fr/plugin/form/widget/web/widget.rh.iframe.js b/src/com/fr/plugin/form/widget/web/widget.rh.iframe.js index 8d0f33f..c532c92 100644 --- a/src/com/fr/plugin/form/widget/web/widget.rh.iframe.js +++ b/src/com/fr/plugin/form/widget/web/widget.rh.iframe.js @@ -94,11 +94,7 @@ }, createNoRepeatName: function () { - var len = $('iframe' + this.options.baseClass).length; - while ($('iframe[name=' + this.options.baseName + len + ']').length !== 0) { - len++; - } - return this.options.baseName + len; + return this.options.baseName + Math.random(); }, // richer:以get的方式获取ifram的参数