Browse Source

网页框支持在单元格中使用

master
richie 9 years ago
parent
commit
d97a92e8ed
  1. 8
      plugin.xml
  2. 38
      src/com/fr/plugin/form/widget/conf/RHIframeMarkInCell.java
  3. 42
      src/com/fr/plugin/form/widget/ui/RHCellPane.java
  4. 6
      src/com/fr/plugin/form/widget/web/widget.rh.iframe.js

8
plugin.xml

@ -2,7 +2,7 @@
<id>com.fr.solution.plugin.form.widget.rh.iframe</id>
<name><![CDATA[网页框控件]]></name>
<active>yes</active>
<version>3.3</version>
<version>4.0</version>
<env-version>8.0</env-version>
<jartime>2016-01-15</jartime>
<vendor email="solution@finereport.com">solution</vendor>
@ -11,15 +11,19 @@
<p>[2015-12-03]修复再次打开地址设置界面时没有正确选择到选项的问题</p>
<p>[2016-01-13]增加常用的API接口</p>
<p>[2016-01-15]实现功能改进数据统计接口</p>
<p>[2016-03-28]在填报中也可以使用</p>
]]></change-notes>
<extra-core>
<LocaleFinder class="com.fr.plugin.form.widget.locale.LocaleFinder"/>
<JavaScriptFileHandler class="com.fr.plugin.form.widget.JavaScriptFileLoader"/>
</extra-core>
<extra-form>
<JavaScriptFileHandler class="com.fr.plugin.form.widget.JavaScriptFileLoader"/>
</extra-form>
<extra-report>
</extra-report>
<extra-platform/>
<extra-designer>
<FormWidgetOptionProvider class="com.fr.plugin.form.widget.conf.RHIframeMarkInForm"/>
<CellWidgetOptionProvider class="com.fr.plugin.form.widget.conf.RHIframeMarkInCell"/>
</extra-designer>
</plugin>

38
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<? extends Widget> 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<? extends BasicBeanPane<? extends Widget>> appearanceForWidget() {
return RHCellPane.class;
}
}

42
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<RHIframe> {
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");
}
}

6
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的参数

Loading…
Cancel
Save