Browse Source

适配FineKit

master
richie 5 years ago
parent
commit
652a4bd2d3
  1. BIN
      lib/finekit-10.0.jar
  2. 9
      pom.xml
  3. 22
      src/main/java/com/fr/plugin/widget/clock/fun/Clock.java
  4. 14
      src/main/java/com/fr/plugin/widget/clock/ui/XClock.java
  5. 18
      src/main/resources/com/fr/plugin/widget/clock/widget.clock.js

BIN
lib/finekit-10.0.jar

Binary file not shown.

9
pom.xml

@ -12,6 +12,15 @@
<packaging>jar</packaging>
<artifactId>demo-show-clock</artifactId>
<dependencies>
<dependency>
<groupId>com.fanruan.api</groupId>
<artifactId>finekit</artifactId>
<version>10.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/finekit-10.0.jar</systemPath>
</dependency>
</dependencies>
<build>
<!---如果要更改调试插件,改这里的配置就可以了-->
<outputDirectory>${project.basedir}/../webroot/WEB-INF/plugins/plugin-com.fr.plugin.widget.clock-1.0/classes</outputDirectory>

22
src/main/java/com/fr/plugin/widget/clock/fun/Clock.java

@ -1,13 +1,12 @@
package com.fr.plugin.widget.clock.fun;
import com.fr.form.ui.Widget;
import com.fanruan.api.report.form.category.PlainWidget;
import com.fanruan.api.util.ArrayKit;
import com.fr.intelli.record.Focus;
import com.fr.intelli.record.Original;
import com.fr.json.JSONException;
import com.fr.json.JSONObject;
import com.fr.record.analyzer.EnableMetrics;
import com.fr.script.Calculator;
import com.fr.stable.core.NodeVisitor;
import com.fr.stable.script.CalculatorProvider;
import com.fr.stable.web.Repository;
/**
@ -16,25 +15,22 @@ import com.fr.stable.web.Repository;
* @since 8.0
*/
@EnableMetrics
public class Clock extends Widget {
public class Clock extends PlainWidget {
@Override
public String getXType() {
return "clock";
}
@Override
@Focus(id="ClockConstants", text = "Plugin-Clock_Name", source = Original.PLUGIN)
public JSONObject createJSONConfig(Repository repository, Calculator calculator, NodeVisitor nodeVisitor) throws JSONException {
return super.createJSONConfig(repository, calculator, nodeVisitor);
}
@Override
public boolean isEditor() {
return false;
@Focus(id = ClockConstants.PLUGIN_ID, text = "Plugin-Clock_Name", source = Original.PLUGIN)
public void mixinJSON(Repository repository, CalculatorProvider calculatorProvider, JSONObject jsonObject) {
// 没有属性要穿到前端,因此这里是空的
}
@Override
public String[] supportedEvents() {
return new String[0];
return ArrayKit.EMPTY_STRING_ARRAY;
}
}

14
src/main/java/com/fr/plugin/widget/clock/ui/XClock.java

@ -1,7 +1,8 @@
package com.fr.plugin.widget.clock.ui;
import com.fr.design.designer.creator.XWidgetCreator;
import com.fr.general.IOUtils;
import com.fanruan.api.design.work.form.creator.Attribute;
import com.fanruan.api.design.work.form.creator.XOpenCreator;
import com.fanruan.api.util.IOKit;
import com.fr.plugin.widget.clock.fun.Clock;
import javax.swing.*;
@ -12,7 +13,7 @@ import java.awt.*;
* @date 2015-03-23
* @since 8.0
*/
public class XClock extends XWidgetCreator {
public class XClock extends XOpenCreator {
public XClock(Clock widget, Dimension initSize) {
super(widget, initSize);
@ -21,11 +22,16 @@ public class XClock extends XWidgetCreator {
@Override
protected JComponent initEditor() {
if (editor == null) {
editor = new JLabel(IOUtils.readIcon(getIconPath()));
editor = new JLabel(IOKit.readIcon(getIconPath()));
}
return editor;
}
@Override
public Attribute[] attributes() {
return new Attribute[0];
}
public String getIconPath() {
return "/com/fr/plugin/widget/clock/images/clock.png";
}

18
src/main/resources/com/fr/plugin/widget/clock/widget.clock.js

@ -19,9 +19,9 @@
width: wh,
height: wh
}).css({
position : 'absolute',
top : wh == o.width ? (o.height - wh) / 2 : 0,
left : wh == o.height ? (o.width - wh) / 2 : 0
position: 'absolute',
top: wh == o.width ? (o.height - wh) / 2 : 0,
left: wh == o.height ? (o.width - wh) / 2 : 0
}).appendTo(this.element);
this.draw(this.$canvas[0]);
},
@ -85,8 +85,8 @@
//hour
hour = hour % 12;
hour = (hour * Math.PI / 6) +
(minute * Math.PI / (6 * 60)) +
(second * Math.PI / (360 * 60));
(minute * Math.PI / (6 * 60)) +
(second * Math.PI / (360 * 60));
drawHand(ctx, hour, radius * 0.5, radius * 0.07);
//minute
minute = (minute * Math.PI / 30) + (second * Math.PI / (30 * 60));
@ -109,15 +109,7 @@
},
doResize: function (give) {
//var o = this.options, canvas = this.$canvas[0];
FR.Clock.superclass.doResize.apply(this, arguments);
//var wh = Math.min(o.width, o.height);
//canvas.width = wh;
//canvas.height = wh;
//canvas.style.top = wh == o.width ? (o.height - wh) / 2 : 0 + "px";
//canvas.style.left = wh == o.height ? (o.width - wh) / 2 : 0 + "px";
//this.ctx.clearRect(0, 0, 2000, 2000);
//this.draw(this.$canvas[0]);
}
});

Loading…
Cancel
Save