From d97a92e8ed55626c760cc7e8e0768516ac6396a7 Mon Sep 17 00:00:00 2001 From: richie Date: Mon, 28 Mar 2016 20:03:01 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BD=91=E9=A1=B5=E6=A1=86=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E5=9C=A8=E5=8D=95=E5=85=83=E6=A0=BC=E4=B8=AD=E4=BD=BF=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugin.xml | 8 +++- .../form/widget/conf/RHIframeMarkInCell.java | 38 +++++++++++++++++ .../fr/plugin/form/widget/ui/RHCellPane.java | 42 +++++++++++++++++++ .../form/widget/web/widget.rh.iframe.js | 6 +-- 4 files changed, 87 insertions(+), 7 deletions(-) create mode 100644 src/com/fr/plugin/form/widget/conf/RHIframeMarkInCell.java create mode 100644 src/com/fr/plugin/form/widget/ui/RHCellPane.java 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的参数