richie
6 years ago
5 changed files with 299 additions and 164 deletions
@ -0,0 +1,70 @@ |
|||||||
|
package com.fr.design.actions.help; |
||||||
|
|
||||||
|
import com.fr.design.actions.UpdateAction; |
||||||
|
import com.fr.design.dialog.BasicDialog; |
||||||
|
import com.fr.design.dialog.DialogActionAdapter; |
||||||
|
import com.fr.design.mainframe.DesignerContext; |
||||||
|
import com.fr.design.ui.ModernUIPane; |
||||||
|
import com.fr.locale.InterProviderFactory; |
||||||
|
import com.fr.web.struct.AssembleComponent; |
||||||
|
import com.fr.web.struct.Atom; |
||||||
|
import com.fr.web.struct.browser.RequestClient; |
||||||
|
import com.fr.web.struct.category.ScriptPath; |
||||||
|
import com.fr.web.struct.impl.FineUI; |
||||||
|
import com.teamdev.jxbrowser.chromium.JSValue; |
||||||
|
import com.teamdev.jxbrowser.chromium.events.ScriptContextAdapter; |
||||||
|
import com.teamdev.jxbrowser.chromium.events.ScriptContextEvent; |
||||||
|
|
||||||
|
import java.awt.event.ActionEvent; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author richie |
||||||
|
* @version 10.0 |
||||||
|
* Created by richie on 2019-03-08 |
||||||
|
*/ |
||||||
|
public class FineUIAction extends UpdateAction { |
||||||
|
|
||||||
|
public FineUIAction() { |
||||||
|
setName("FineUI"); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void actionPerformed(final ActionEvent e) { |
||||||
|
ModernUIPane<?> pane = new ModernUIPane.Builder<>() |
||||||
|
.prepare(new ScriptContextAdapter() { |
||||||
|
@Override |
||||||
|
public void onScriptContextCreated(ScriptContextEvent event) { |
||||||
|
JSValue pool = event.getBrowser().executeJavaScriptAndReturnValue("window.Pool"); |
||||||
|
pool.asObject().setProperty("i18n", new I18n()); |
||||||
|
} |
||||||
|
}) |
||||||
|
.withComponent(new AssembleComponent() { |
||||||
|
|
||||||
|
@Override |
||||||
|
public ScriptPath script(RequestClient req) { |
||||||
|
return ScriptPath.build("/com/fr/design/ui/help/demo.js"); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public Atom[] refer() { |
||||||
|
return new Atom[] {FineUI.KEY}; |
||||||
|
} |
||||||
|
}) |
||||||
|
.build(); |
||||||
|
BasicDialog dialog = pane.showLargeWindow(DesignerContext.getDesignerFrame(), new DialogActionAdapter() { |
||||||
|
@Override |
||||||
|
public void doOk() { |
||||||
|
|
||||||
|
} |
||||||
|
}); |
||||||
|
dialog.setVisible(true); |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
public static class I18n { |
||||||
|
|
||||||
|
public String i18nText(String key) { |
||||||
|
return InterProviderFactory.getProvider().getLocText(key); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,220 @@ |
|||||||
|
window.addEventListener("load", function (ev) { |
||||||
|
window.BI.i18nText = function(key) {return window.Pool.i18n.i18nText(key);} |
||||||
|
var combo1 = BI.createWidget({ |
||||||
|
type: "bi.vertical", |
||||||
|
items: [ |
||||||
|
{ |
||||||
|
type: "bi.text_value_combo", |
||||||
|
text: "选项1", |
||||||
|
width: 300, |
||||||
|
items: [ |
||||||
|
{ |
||||||
|
el: { |
||||||
|
type: "bi.single_select_radio_item", |
||||||
|
width: 290, |
||||||
|
text: "选项1", |
||||||
|
value: 1 |
||||||
|
}, |
||||||
|
text: "选项1", |
||||||
|
value: 1, |
||||||
|
lgap: 10 |
||||||
|
}, |
||||||
|
{ |
||||||
|
el: { |
||||||
|
type: "bi.single_select_radio_item", |
||||||
|
width: 290, |
||||||
|
text: "选项2", |
||||||
|
value: 2 |
||||||
|
}, |
||||||
|
lgap: 10, |
||||||
|
text: "选项2", |
||||||
|
value: 2 |
||||||
|
}, |
||||||
|
{ |
||||||
|
el: { |
||||||
|
type: "bi.single_select_radio_item", |
||||||
|
width: 290, |
||||||
|
text: "选项3", |
||||||
|
value: 3 |
||||||
|
}, |
||||||
|
lgap: 10, |
||||||
|
text: "选项3", |
||||||
|
value: 3 |
||||||
|
} |
||||||
|
] |
||||||
|
} |
||||||
|
] |
||||||
|
}); |
||||||
|
|
||||||
|
var date = BI.createWidget({ |
||||||
|
type: "bi.left", |
||||||
|
items: [{ |
||||||
|
el: { |
||||||
|
type: "bi.date_time_combo", |
||||||
|
value: { |
||||||
|
year: 2018, |
||||||
|
month: 9, |
||||||
|
day: 28, |
||||||
|
hour: 13, |
||||||
|
minute: 31, |
||||||
|
second: 1 |
||||||
|
} |
||||||
|
} |
||||||
|
}] |
||||||
|
}); |
||||||
|
|
||||||
|
var comboTree = BI.createWidget({ |
||||||
|
type: "bi.vertical", |
||||||
|
items: [ |
||||||
|
{ |
||||||
|
type: "bi.tree_value_chooser_combo", |
||||||
|
width: 300, |
||||||
|
itemsCreator: function(op, callback) { |
||||||
|
callback([ |
||||||
|
{ |
||||||
|
id: 1, |
||||||
|
text: "第1项", |
||||||
|
value: "1" |
||||||
|
}, |
||||||
|
{ |
||||||
|
id: 2, |
||||||
|
text: "第2项", |
||||||
|
value: "2" |
||||||
|
}, |
||||||
|
{ |
||||||
|
id: 3, |
||||||
|
text: "第3项", |
||||||
|
value: "3", |
||||||
|
open: true |
||||||
|
}, |
||||||
|
{ |
||||||
|
id: 11, |
||||||
|
pId: 1, |
||||||
|
text: "子项1", |
||||||
|
value: "11" |
||||||
|
}, |
||||||
|
{ |
||||||
|
id: 12, |
||||||
|
pId: 1, |
||||||
|
text: "子项2", |
||||||
|
value: "12" |
||||||
|
}, |
||||||
|
{ |
||||||
|
id: 13, |
||||||
|
pId: 1, |
||||||
|
text: "子项3", |
||||||
|
value: "13" |
||||||
|
}, |
||||||
|
{ |
||||||
|
id: 31, |
||||||
|
pId: 3, |
||||||
|
text: "子项1", |
||||||
|
value: "31" |
||||||
|
}, |
||||||
|
{ |
||||||
|
id: 32, |
||||||
|
pId: 3, |
||||||
|
text: "子项2", |
||||||
|
value: "32" |
||||||
|
}, |
||||||
|
{ |
||||||
|
id: 33, |
||||||
|
pId: 3, |
||||||
|
text: "子项3", |
||||||
|
value: "33" |
||||||
|
} |
||||||
|
]); |
||||||
|
} |
||||||
|
} |
||||||
|
] |
||||||
|
}); |
||||||
|
|
||||||
|
var color = BI.createWidget({ |
||||||
|
type: "bi.left", |
||||||
|
items: [{ |
||||||
|
type: "bi.simple_color_chooser", |
||||||
|
width: 24, |
||||||
|
height: 24 |
||||||
|
}, { |
||||||
|
el: { |
||||||
|
type: "bi.color_chooser", |
||||||
|
width: 230, |
||||||
|
height: 24 |
||||||
|
}, |
||||||
|
lgap: 10 |
||||||
|
}] |
||||||
|
}); |
||||||
|
|
||||||
|
var Slider = BI.inherit(BI.Widget, { |
||||||
|
props: { |
||||||
|
width: 300, |
||||||
|
height: 50, |
||||||
|
min: 0, |
||||||
|
max: 100 |
||||||
|
}, |
||||||
|
|
||||||
|
mounted: function() { |
||||||
|
var o = this.options; |
||||||
|
this.singleSliderInterval.setMinAndMax({ |
||||||
|
min: o.min, |
||||||
|
max: o.max |
||||||
|
}); |
||||||
|
|
||||||
|
this.singleSliderInterval.setValue({ |
||||||
|
min: 10, |
||||||
|
max: 80 |
||||||
|
}); |
||||||
|
this.singleSliderInterval.populate(); |
||||||
|
}, |
||||||
|
|
||||||
|
render: function() { |
||||||
|
var self = this, |
||||||
|
o = this.options; |
||||||
|
return { |
||||||
|
type: "bi.vertical", |
||||||
|
element: this, |
||||||
|
items: [ |
||||||
|
{ |
||||||
|
type: "bi.interval_slider", |
||||||
|
digit: 0, |
||||||
|
width: o.width, |
||||||
|
height: o.height, |
||||||
|
ref: function(_ref) { |
||||||
|
self.singleSliderInterval = _ref; |
||||||
|
} |
||||||
|
} |
||||||
|
] |
||||||
|
}; |
||||||
|
} |
||||||
|
}); |
||||||
|
BI.shortcut("demo.slider_interval", Slider); |
||||||
|
var slider = BI.createWidget({ |
||||||
|
type: "demo.slider_interval" |
||||||
|
}); |
||||||
|
|
||||||
|
BI.createWidget({ |
||||||
|
type:"bi.absolute", |
||||||
|
element: "body", |
||||||
|
items: [{ |
||||||
|
el: combo1, |
||||||
|
left: 100, |
||||||
|
top: 100 |
||||||
|
}, { |
||||||
|
el : date, |
||||||
|
left: 100, |
||||||
|
top : 150 |
||||||
|
}, { |
||||||
|
el : comboTree, |
||||||
|
left : 100, |
||||||
|
top : 200 |
||||||
|
}, { |
||||||
|
el : color, |
||||||
|
left : 100, |
||||||
|
top : 250 |
||||||
|
}, { |
||||||
|
el : slider, |
||||||
|
left : 400, |
||||||
|
top : 100 |
||||||
|
}] |
||||||
|
}); |
||||||
|
}); |
Loading…
Reference in new issue