Browse Source

Merge branch 'master' of ssh://cloud.finedevelop.com:7999/~young/fineui

es6
Young 7 years ago
parent
commit
e4c601475b
  1. 54
      Gruntfile.js
  2. 14
      demo/js/config/core.js
  3. 8
      demo/js/config/widget.js
  4. 68
      demo/js/core/popup/demo.layer.js
  5. 56
      demo/js/core/popup/demo.popover.js
  6. 155
      demo/js/widget/downlist/demo.downlist.js
  7. 95
      demo/js/widget/multiselect/demo.multi_select_tree.js
  8. 69
      demo/js/widget/multitree/demo.multi_tree_list.js
  9. 2
      dist/README.md
  10. 50
      dist/_fineui.min.js
  11. 3
      dist/base.css
  12. 118
      dist/base.js
  13. 62
      dist/bundle.css
  14. 1264
      dist/bundle.js
  15. 2
      dist/bundle.min.css
  16. 92
      dist/bundle.min.js
  17. 63
      dist/case.js
  18. 652
      dist/core.js
  19. 462
      dist/demo.js
  20. 1531
      dist/fineui.css
  21. 1972
      dist/fineui.js
  22. 2
      dist/fineui.min.css
  23. 329
      dist/fineui.min.js
  24. 59
      dist/resource.css
  25. 429
      dist/widget.js
  26. 2
      lodash.md
  27. 3
      package.json
  28. 1583
      public/bundle.css
  29. 3
      public/css/font.css
  30. 56
      public/css/icon.css
  31. 2
      src/base/base.js
  32. 152
      src/base/layer/layer.floatbox.js
  33. 176
      src/base/layer/layer.popover.js
  34. 2
      src/case/combo/iconcombo/combo.icon.js
  35. 8
      src/case/combo/iconcombo/trigger.iconcombo.js
  36. 50
      src/case/floatbox/floatboxsection.bar.js
  37. 4
      src/case/loader/loader.lazy.js
  38. 26
      src/core/adapter/adapter.floatsection.js
  39. 64
      src/core/base.js
  40. 20
      src/core/controller/controller.layer.js
  41. 39
      src/core/controller/controller.popover.js
  42. 256
      src/core/lodash.js
  43. 2
      src/core/var.js
  44. 1
      src/css/base/single/icon.css
  45. 1
      src/css/base/single/tip/tip.toast.css
  46. 1
      src/css/base/single/tip/tip.tooltip.css
  47. 0
      src/css/base/view/popover.css
  48. 3
      src/css/resource/font.css
  49. 56
      src/css/resource/icon.css
  50. 1
      src/less/base/single/icon.less
  51. 2
      src/less/base/view/popover.less
  52. 10
      src/less/image.less
  53. 3
      src/less/resource/font.less
  54. 4
      src/less/resource/icon.less
  55. 2
      src/less/var.less
  56. 6
      src/widget/month/combo.month.js
  57. 90
      src/widget/multilayerdownlist/combo.downlist.js
  58. 324
      src/widget/multilayerdownlist/popup.downlist.js
  59. 2
      src/widget/multiselect/search/multiselect.search.loader.js
  60. 4
      src/widget/quarter/combo.quarter.js
  61. 4
      src/widget/year/combo.year.js
  62. 1
      src/widget/yearmonth/combo.yearmonth.js
  63. 79
      ui/css/app.css
  64. 250
      ui/css/background.css
  65. 813
      ui/css/font.css
  66. 386
      ui/css/icon.css
  67. 0
      ui/css/var.css
  68. 5
      ui/js/index.js
  69. 2
      ui/less/app.less
  70. 2
      ui/less/background.less
  71. 2
      ui/less/font.less
  72. 5
      ui/less/icon.less
  73. 5
      ui/less/var.less
  74. 324
      utils/utils.js

54
Gruntfile.js

@ -100,26 +100,26 @@ module.exports = function (grunt) {
dest: "dist/resource.css"
},
publicBundleJs: {
src: ["public/js/**/*.js", "public/js/index.js"],
dest: "public/bundle.js"
},
bundleJs: {
src: ["dist/core.js", "dist/base.js", "dist/case.js", "dist/widget.js", "dist/router.js", "public/js/**/*.js", "public/js/index.js"],
dest: "dist/bundle.js"
},
publicBundleCss: {
src: ["public/css/app.css", "public/css/**/*.css"],
dest: "public/bundle.css"
},
bundleCss: {
src: ["dist/core.css", "dist/base.css", "dist/widget.css", "public/css/app.css", "public/css/**/*.css"],
dest: "dist/bundle.css"
},
fineuiJs: {
src: ["dist/_fineui.min.js", "src/base/formula/formulaeditor.js"],
dest: "dist/fineui.min.js"
},
fineuiCss: {
src: ["dist/core.css", "dist/base.css", "dist/widget.css", "ui/css/app.css", "ui/css/**/*.css"],
dest: "dist/fineui.css"
},
configJs: {
src: ["demo/version.js"],
dest: "dist/config.js"
@ -132,14 +132,6 @@ module.exports = function (grunt) {
src: ["demo/css/**/*.css"],
dest: "dist/demo.css"
},
fineuiJs: {
src: ["dist/polyfill.js", "dist/core.js", "dist/fix/fix.js", "dist/fix/fix.compact.js", "dist/base.js", "dist/case.js", "dist/widget.js"],
dest: "dist/fineui.js"
},
fineuiCss: {
src: ["dist/core.css", "dist/base.css", "dist/widget.css"],
dest: "dist/fineui.css"
},
utilsJs: {
src: [
"src/core/lodash.js",
@ -178,6 +170,13 @@ module.exports = function (grunt) {
dest: "public/css",
ext: ".css"
},
ui: {
expand: true,
cwd: "ui/less",
src: ["**/*.less"],
dest: "ui/css",
ext: ".css"
},
src: {
expand: true,
cwd: "src/less",
@ -200,7 +199,23 @@ module.exports = function (grunt) {
dist: {
files: {
"dist/bundle.min.js": ["<%= concat.bundleJs.dest %>"],
"dist/fineui.min.js": ["<%= concat.fineuiJs.dest %>"]
"dist/_fineui.min.js": ["dist/polyfill.js", "dist/core.js", "dist/fix/fix.js", "dist/fix/fix.compact.js", "src/third/**/*.js",
"src/base/formula/config.js",
"src/base/pane.js",
"src/base/single/single.js",
"src/base/single/text.js",
"src/base/single/button/button.basic.js",
"src/base/single/button/button.node.js",
"src/base/single/tip/tip.js",
"src/base/combination/group.button.js",
"src/base/combination/tree.button.js",
"src/base/combination/map.button.js",
"src/base/tree/treeview.js",
"src/base/tree/asynctree.js",
"src/base/tree/parttree.js",
"src/base/**/*.js",
"!src/base/formula/formulaeditor.js",
"dist/case.js", "dist/widget.js", "dist/router.js", "ui/js/**/*.js"]
}
}
},
@ -255,4 +270,5 @@ module.exports = function (grunt) {
grunt.registerTask("default", ["less", "concat", "watch"]);
grunt.registerTask("min", ["less", "concat", "uglify", "cssmin"]);
grunt.registerTask("build", ["less", "concat", "uglify", "cssmin", "uglify", "concat"]);
};

14
demo/js/config/core.js

@ -160,6 +160,10 @@ Demo.CORE_CONFIG = [{
pId: 102,
id: 10202,
text: "弹出层"
}, {
pId: 10202,
text: "layer",
value: "demo.layer"
}, {
pId: 10202,
text: "bi.popover",
@ -174,22 +178,22 @@ Demo.CORE_CONFIG = [{
value: "demo.searcher_view"
}, {
pId: 1,
text: "Widget",
text: "Widget(继承)",
value: "demo.widget"
}, {
pId: 1,
text: "Single",
text: "Single(继承)",
value: "demo.single"
}, {
pId: 1,
text: "BasicButton",
text: "BasicButton(继承)",
value: "demo.basic_button"
}, {
pId: 1,
text: "NodeButton",
text: "NodeButton(继承)",
value: "demo.node_button"
}, {
pId: 1,
text: "Pane",
text: "Pane(继承)",
value: "demo.pane"
}];

8
demo/js/config/widget.js

@ -110,6 +110,10 @@ Demo.WIDGET_CONFIG = [{
pId: 406,
text: "bi.multi_select_combo",
value: "demo.multi_select_combo"
}, {
pId: 406,
text: "bi.multi_select_list",
value: "demo.multi_select_list"
}, {
pId: 4,
id: 407,
@ -150,6 +154,10 @@ Demo.WIDGET_CONFIG = [{
pId: 411,
text: "bi.multi_tree_combo",
value: "demo.multi_tree_combo"
}, {
pId: 411,
text: "bi.multi_select_tree",
value: "demo.multi_select_tree"
}, {
pId: 4,
id: 412,

68
demo/js/core/popup/demo.layer.js

@ -0,0 +1,68 @@
/**
* Created by Windy on 2017/12/13.
*/
Demo.Func = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-func"
},
render: function () {
var self = this, id1 = BI.UUID(), id2 = BI.UUID();
return {
type: "bi.vertical",
vgap: 10,
items: [{
type: "bi.button",
text: "create形式创建layer, 遮住当前面板, 返回创建的面板对象",
height: 30,
handler: function () {
BI.Layers.create(id1, self, {
//偏移量
offset: {
left: 10,
right: 10,
top: 10,
bottom: 10
},
type: "bi.center_adapt",
cls: "bi-card",
items: [{
type: "bi.button",
text: "点击关闭",
handler: function () {
BI.Layers.hide(id1);
}
}]
});
BI.Layers.show(id1);
}
}, {
type: "bi.button",
text: "make形式创建layer,可以指定放到哪个面板内,这里指定当前面板(默认放在body下撑满), 返回创建的面板对象",
height: 30,
handler: function () {
BI.Layers.make(id2, self, {
//偏移量
offset: {
left: 10,
right: 10,
top: 10,
bottom: 10
},
type: "bi.center_adapt",
cls: "bi-card",
items: [{
type: "bi.button",
text: "点击关闭",
handler: function () {
BI.Layers.remove(id2);
}
}]
});
BI.Layers.show(id2);
}
}]
};
}
});
BI.shortcut("demo.layer", Demo.Func);

56
demo/js/core/popup/demo.popover.js

@ -8,49 +8,33 @@ Demo.Func = BI.inherit(BI.Widget, {
render: function () {
var id = BI.UUID();
return {
type: "bi.vertical",
vgap: 10,
items: [{
type: "bi.text_button",
text: "点击弹出Popover",
width: 200,
height: 80,
height: 30,
handler: function () {
BI.Popovers.remove(id);
BI.Popovers.create(id, new Demo.ExamplePopoverSection()).open(id);
BI.Popovers.create(id, {
type: "bi.bar_popover",
header: {
type: "bi.label",
text: "这个是header"
},
body: {
type: "bi.label",
text: "这个是body"
}
// footer: {
// type: "bi.label",
// text: "这个是footer"
// }
}).open(id);
}
}]
};
}
});
Demo.ExamplePopoverSection = BI.inherit(BI.PopoverSection, {
rebuildSouth: function (south) {
var self = this, o = this.options;
this.sure = BI.createWidget({
type: 'bi.button',
text: "确定",
warningTitle: o.warningTitle,
height: 30,
value: 0,
handler: function (v) {
self.end();
self.close(v);
}
});
this.cancel = BI.createWidget({
type: 'bi.button',
text: "取消",
height: 30,
value: 1,
level: 'ignore',
handler: function (v) {
self.close(v);
}
});
BI.createWidget({
type: 'bi.right_vertical_adapt',
element: south,
lgap: 10,
items: [this.cancel, this.sure]
});
}
});
BI.shortcut("demo.popover", Demo.Func);

155
demo/js/widget/downlist/demo.downlist.js

@ -34,6 +34,10 @@ Demo.Downlist = BI.inherit(BI.Widget, {
mounted: function () {
var downlist = this.downlist;
var label = this.label;
this.downlist.setValue([{
value: [11, 6],
childValue: 67
}]);
downlist.on(BI.DownListCombo.EVENT_CHANGE, function (value, fatherValue) {
label.setValue(JSON.stringify(downlist.getValue()));
});
@ -54,95 +58,106 @@ Demo.Downlist = BI.inherit(BI.Widget, {
self.downlist = _ref;
},
cls: "layout-bg3",
value: [{"childValue":22,"value":11},{"value":18},{"value":20}],
// value: [{"childValue":22,"value":11},{"value":18},{"value":20}],
height: 30,
width: 100,
items: [[{text: "temp", value: 1111111}],
items: [
[{
el: {
text: "column 1111",
iconCls1: "check-mark-e-font",
value: 11
iconCls1: "dot-e-font",
value: 12
},
children: [{
text: "column 1.1",
value: 21,
cls: "dot-e-font"
}, {
text: "column 1.222222222222222222222222222222222222",
cls: "dot-e-font",
value: 22
text: "column 1.2",
value: 22,
cls: "dot-e-font"
}]
}],
[{
el: {
type: "bi.icon_text_icon_item",
text: "column 2",
iconCls1: "chart-type-e-font",
cls: "dot-e-font",
value: 12
text: "column 1111",
iconCls1: "dot-e-font",
value: 11
},
children: [{
type: "bi.icon_text_item",
cls: "dot-e-font",
height: 25,
text: "column 2.1",
value: 11
text: "column 1.1",
value: 21,
cls: "dot-e-font"
}, {
text: "column 2.2",
value: 12,
text: "column 1.2",
value: 22,
cls: "dot-e-font"
}]
}],
[{
text: "column 8",
value: 18,
cls: "dot-e-font"
},
{
text: "column 9",
cls: "dot-e-font",
value: 19
}
],
[{
text: "column 10",
value: 20,
cls: "dot-e-font"
},
{
text: "column 11",
cls: "dot-e-font",
value: 21
},
{
text: "column 12",
cls: "dot-e-font",
value: 22
},
{
text: "column 13",
cls: "dot-e-font",
value: 23
},
{
text: "column 14",
cls: "dot-e-font",
value: 24
},
{
text: "column 15",
cls: "dot-e-font",
value: 25,
bubble: "hahahaha"
}
]
// children: [{
// text: BI.i18nText("BI-Basic_None"),
// cls: "dot-e-font",
// value: 1
// }, {
// text: BI.i18nText("BI-Basic_Calculate_Same_Period"),
// cls: "dot-e-font",
// value: 2
// }, {
// text: BI.i18nText("BI-Basic_Calculate_Same_Ring"),
// cls: "dot-e-font",
// value: 3
// }, {
// text: BI.i18nText("BI-Basic_Calculate_Same_Period_Rate"),
// cls: "dot-e-font",
// value: 4
// }, {
// text: BI.i18nText("BI-Basic_Calculate_Same_Ring_Rate"),
// cls: "dot-e-font",
// value: 5
// }, {
// el: {
// text: BI.i18nText("BI-Basic_Rank"),
// iconCls1: "dot-e-font",
// value: 6
// },
// children: [{
// text: "test1",
// cls: "dot-e-font",
// value: 67
// }, {
// text: "test2",
// cls: "dot-e-font",
// value: 68
// }]
// }, {
// text: BI.i18nText("BI-Basic_Rank_In_Group"),
// cls: "dot-e-font",
// value: 7
// }, {
// text: BI.i18nText("BI-Basic_Sum_Of_All"),
// cls: "dot-e-font",
// value: 8
// }, {
// text: BI.i18nText("BI-Basic_Sum_Of_All_In_Group"),
// cls: "dot-e-font",
// value: 9
// }, {
// text: BI.i18nText("BI-Basic_Sum_Of_Above"),
// cls: "dot-e-font",
// value: 10
// }, {
// text: BI.i18nText("BI-Basic_Sum_Of_Above_In_Group"),
// cls: "dot-e-font",
// value: 11
// }, {
// text: BI.i18nText("BI-Design_Current_Dimension_Percent"),
// cls: "dot-e-font",
// value: 12
// }, {
// text: BI.i18nText("BI-Design_Current_Target_Percent"),
// cls: "dot-e-font",
// value: 13
// }]
}]
]
}, {
@ -156,7 +171,7 @@ Demo.Downlist = BI.inherit(BI.Widget, {
}],
vgap: 20
};
}
},
});
BI.shortcut("demo.down_list", Demo.Downlist);

95
demo/js/widget/multiselect/demo.multi_select_tree.js

@ -0,0 +1,95 @@
/**
* Created by User on 2017/3/22.
*/
Demo.MultiSelectList = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-multi-select-combo"
},
mounted: function () {
this.list.populate();
},
_createMultiSelectCombo: function () {
var self = this;
var widget = BI.createWidget({
type: "bi.multi_select_list",
ref: function (ref) {
self.list = ref;
},
itemsCreator: BI.bind(this._itemsCreator, this),
value: {
type: 1,
value: ["柳州市城贸金属材料有限责任公司", "柳州市建福房屋租赁有限公司", "柳州市迅昌数码办公设备有限责任公司"]
}
});
widget.on(BI.MultiSelectCombo.EVENT_CONFIRM, function () {
BI.Msg.toast(JSON.stringify(this.getValue()));
});
return widget;
},
_getItemsByTimes: function (items, times) {
var res = [];
for (var i = (times - 1) * 10; items[i] && i < times * 10; i++) {
res.push(items[i]);
}
return res;
},
_hasNextByTimes: function (items, times) {
return times * 10 < items.length;
},
_itemsCreator: function (options, callback) {
var self = this;
var items = Demo.CONSTANTS.ITEMS;
var keywords = (options.keywords || []).slice();
if (options.keyword) {
keywords.push(options.keyword);
}
BI.each(keywords, function (i, kw) {
var search = BI.Func.getSearchResult(items, kw);
items = search.match.concat(search.find);
});
if (options.selectedValues) {// 过滤
var filter = BI.makeObject(options.selectedValues, true);
items = BI.filter(items, function (i, ob) {
return !filter[ob.value];
});
}
if (options.type == BI.MultiSelectCombo.REQ_GET_ALL_DATA) {
callback({
items: items
});
return;
}
if (options.type == BI.MultiSelectCombo.REQ_GET_DATA_LENGTH) {
callback({count: items.length});
return;
}
BI.delay(function () {
callback({
items: self._getItemsByTimes(items, options.times),
hasNext: self._hasNextByTimes(items, options.times)
});
}, 1000);
},
render: function () {
return {
type: "bi.absolute",
scrolly: false,
items: [{
el: this._createMultiSelectCombo(),
top: 50,
left: 50,
right: 50,
bottom: 50
}]
};
}
});
BI.shortcut("demo.multi_select_list", Demo.MultiSelectList);

69
demo/js/widget/multitree/demo.multi_tree_list.js

@ -0,0 +1,69 @@
/**
* Created by Dailer on 2017/7/13.
*/
Demo.MultiTreeCombo = BI.inherit(BI.Widget, {
props: {
baseCls: ""
},
mounted: function () {
this.tree.populate();
},
render: function () {
var self = this;
var items = BI.deepClone(Demo.CONSTANTS.TREE);
return {
type: "bi.absolute",
items: [{
el: {
type: "bi.multi_select_tree",
ref: function (_ref) {
self.tree = _ref;
},
itemsCreator: function (options, callback) {
console.log(options);
// 根据不同的类型处理相应的结果
switch (options.type) {
case BI.TreeView.REQ_TYPE_INIT_DATA:
break;
case BI.TreeView.REQ_TYPE_ADJUST_DATA:
break;
case BI.TreeView.REQ_TYPE_SELECT_DATA:
break;
case BI.TreeView.REQ_TYPE_GET_SELECTED_DATA:
break;
default :
break;
}
callback({
items: items
});
},
width: 300,
value: {
"根目录": {}
}
},
top: 50,
bottom: 50,
left: 50,
right: 50
}, {
el: {
type: "bi.button",
height: 30,
text: "getValue",
handler: function () {
BI.Msg.toast(JSON.stringify(self.tree.getValue()));
}
},
left: 50,
right: 50,
bottom: 20
}]
};
}
});
BI.shortcut("demo.multi_select_tree", Demo.MultiTreeCombo);

2
dist/README.md vendored

@ -1,6 +1,6 @@
#### fineui.js
整个fineui打包文件,不包括配置文件和路由
整个fineui打包文件,不包括配置文件
#### fineui.css

50
dist/_fineui.min.js vendored

File diff suppressed because one or more lines are too long

3
dist/base.css vendored

@ -1455,6 +1455,7 @@ body .bi-button.button-ignore.disabled.ghost .b-font:before,
}
.x-icon.b-font {
margin: auto;
width: 100%;
}
.bi-file {
opacity: 0;
@ -1598,7 +1599,6 @@ body .bi-button.button-ignore.disabled.ghost .b-font:before,
border: 1px solid #e85050;
}
.bi-toast {
position: fixed !important;
font-size: 14px;
color: #ffffff;
max-width: 400px;
@ -1623,7 +1623,6 @@ body .bi-button.button-ignore.disabled.ghost .b-font:before,
font-size: 16px;
}
.bi-tooltip {
position: fixed !important;
max-width: 250px;
-webkit-border-radius: 2px;
-moz-border-radius: 2px;

118
dist/base.js vendored

@ -2488,7 +2488,7 @@ BI.Layers = new BI.LayerController();
BI.Maskers = new BI.MaskersController();
BI.Bubbles = new BI.BubblesController();
BI.Tooltips = new BI.TooltipsController();
BI.Popovers = new BI.FloatBoxController();
BI.Popovers = new BI.PopoverController();
BI.Broadcasts = new BI.BroadcastController();
BI.StyleLoaders = new BI.StyleLoaderManager();/**
* canvas绘图
@ -15302,26 +15302,23 @@ BI.GridView = BI.inherit(BI.Widget, {
});
BI.GridView.EVENT_SCROLL = "EVENT_SCROLL";
BI.shortcut("bi.grid_view", BI.GridView);/**
* floatBox弹出层
* @class BI.FloatBox
* Popover弹出层
* @class BI.Popover
* @extends BI.Widget
*/
BI.FloatBox = BI.inherit(BI.Widget, {
BI.Popover = BI.inherit(BI.Widget, {
_defaultConfig: function () {
return BI.extend(BI.FloatBox.superclass._defaultConfig.apply(this, arguments), {
baseCls: "bi-float-box bi-card",
return BI.extend(BI.Popover.superclass._defaultConfig.apply(this, arguments), {
baseCls: "bi-popover bi-card",
width: 600,
height: 500
height: 500,
header: null,
body: null,
footer: null
});
},
_init: function () {
BI.FloatBox.superclass._init.apply(this, arguments);
render: function () {
var self = this, o = this.options;
this.showAction = new BI.ShowAction({
tar: this
});
this._center = BI.createWidget();
this._north = BI.createWidget();
this.element.draggable && this.element.draggable({
handle: ".bi-message-title",
drag: function (e, ui) {
@ -15342,11 +15339,7 @@ BI.FloatBox = BI.inherit(BI.Widget, {
BI.Resizers._resize();
}
});
this._south = BI.createWidget();
BI.createWidget({
type: "bi.border",
element: this,
items: {
var items = {
north: {
el: {
type: "bi.border",
@ -15356,7 +15349,7 @@ BI.FloatBox = BI.inherit(BI.Widget, {
el: {
type: "bi.absolute",
items: [{
el: this._north,
el: BI.createWidget(o.header),
left: 10,
top: 0,
right: 0,
@ -15370,7 +15363,7 @@ BI.FloatBox = BI.inherit(BI.Widget, {
cls: "bi-message-close close-font",
height: 36,
handler: function () {
self.currentSectionProvider.close();
self.close();
}
},
width: 60
@ -15383,19 +15376,21 @@ BI.FloatBox = BI.inherit(BI.Widget, {
el: {
type: "bi.absolute",
items: [{
el: this._center,
el: BI.createWidget(o.body),
left: 20,
top: 20,
right: 20,
bottom: 0
}]
}
},
south: {
}
};
if (o.footer) {
items.south = {
el: {
type: "bi.absolute",
items: [{
el: this._south,
el: BI.createWidget(o.footer),
left: 20,
top: 0,
right: 20,
@ -15403,41 +15398,32 @@ BI.FloatBox = BI.inherit(BI.Widget, {
}]
},
height: 44
};
}
}
});
},
populate: function (sectionProvider) {
var self = this;
if (this.currentSectionProvider && this.currentSectionProvider !== sectionProvider) {
this.currentSectionProvider.destroy();
}
this.currentSectionProvider = sectionProvider;
sectionProvider.rebuildNorth(this._north);
sectionProvider.rebuildCenter(this._center);
sectionProvider.rebuildSouth(this._south);
sectionProvider.on(BI.PopoverSection.EVENT_CLOSE, function () {
self.close();
BI.createWidget({
type: "bi.border",
element: this,
items: items
});
},
show: function () {
this.showAction.actionPerformed();
},
hide: function () {
this.showAction.actionBack();
},
open: function () {
this.show();
this.fireEvent(BI.FloatBox.EVENT_FLOAT_BOX_OPEN);
this.fireEvent(BI.Popover.EVENT_OPEN, arguments);
},
close: function () {
this.hide();
this.fireEvent(BI.FloatBox.EVENT_FLOAT_BOX_CLOSED);
this.fireEvent(BI.Popover.EVENT_CLOSE, arguments);
},
setZindex: function (zindex) {
@ -15445,14 +15431,52 @@ BI.FloatBox = BI.inherit(BI.Widget, {
},
destroyed: function () {
this.currentSectionProvider && this.currentSectionProvider.destroy();
}
});
BI.shortcut("bi.float_box", BI.FloatBox);
BI.shortcut("bi.popover", BI.Popover);
BI.BarPopover = BI.inherit(BI.Popover, {
_defaultConfig: function () {
return BI.extend(BI.BarPopover.superclass._defaultConfig.apply(this, arguments), {
btns: [BI.i18nText(BI.i18nText("BI-Basic_Sure")), BI.i18nText(BI.i18nText("BI-Basic_Cancel"))]
});
},
beforeCreate: function () {
var self = this, o = this.options;
o.footer || (o.footer = {
type: "bi.right_vertical_adapt",
lgap: 10,
items: [{
type: "bi.button",
text: this.options.btns[1],
value: 1,
level: "ignore",
handler: function (v) {
self.fireEvent(BI.Popover.EVENT_CANCEL, v);
self.close(v);
}
}, {
type: "bi.button",
text: this.options.btns[0],
warningTitle: o.warningTitle,
value: 0,
handler: function (v) {
self.fireEvent(BI.Popover.EVENT_CONFIRM, v);
self.close(v);
}
}]
});
}
});
BI.shortcut("bi.bar_popover", BI.BarPopover);
BI.FloatBox.EVENT_FLOAT_BOX_CLOSED = "EVENT_FLOAT_BOX_CLOSED";
BI.FloatBox.EVENT_FLOAT_BOX_OPEN = "EVENT_FLOAT_BOX_CLOSED";
BI.Popover.EVENT_CLOSE = "EVENT_CLOSE";
BI.Popover.EVENT_OPEN = "EVENT_OPEN";
BI.Popover.EVENT_CANCEL = "EVENT_CANCEL";
BI.Popover.EVENT_CONFIRM = "EVENT_CONFIRM";
/**
* 下拉框弹出层, zIndex在1000w
* @class BI.PopupView

62
dist/bundle.css vendored

@ -3502,6 +3502,7 @@ body .bi-button.button-ignore.disabled.ghost .b-font:before,
}
.x-icon.b-font {
margin: auto;
width: 100%;
}
.bi-file {
opacity: 0;
@ -3645,7 +3646,6 @@ body .bi-button.button-ignore.disabled.ghost .b-font:before,
border: 1px solid #e85050;
}
.bi-toast {
position: fixed !important;
font-size: 14px;
color: #ffffff;
max-width: 400px;
@ -3670,7 +3670,6 @@ body .bi-button.button-ignore.disabled.ghost .b-font:before,
font-size: 16px;
}
.bi-tooltip {
position: fixed !important;
max-width: 250px;
-webkit-border-radius: 2px;
-moz-border-radius: 2px;
@ -5475,7 +5474,8 @@ textarea::-webkit-scrollbar-thumb:hover {
}
@font-face {
font-family: 'bi';
src: url('https://fanruan.coding.me/fineui/dist/font/iconfont.eot'), /* IE6-IE8 */ url('https://fanruan.coding.me/fineui/dist/font/iconfont.woff') format('woff'), /* chrome、firefox */ url('https://fanruan.coding.me/fineui/dist/font/iconfont.ttf') format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/ url('https://fanruan.coding.me/fineui/dist/font/iconfont.svg#svgFontName') format('svg');
src: url('https://fanruan.coding.me/fineui/dist/font/iconfont.eot');
src: url('https://fanruan.coding.me/fineui/dist/font/iconfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('https://fanruan.coding.me/fineui/dist/font/iconfont.woff') format('woff'), /* chrome、firefox */ url('https://fanruan.coding.me/fineui/dist/font/iconfont.ttf') format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/ url('https://fanruan.coding.me/fineui/dist/font/iconfont.svg#svgFontName') format('svg');
/* iOS 4.1- */
}
.b-font {
@ -6561,21 +6561,6 @@ textarea::-webkit-scrollbar-thumb:hover {
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/check_box_normal.png');
_background: none;
}
.check-box-icon:hover .x-icon,
.check-box-icon.hover .x-icon {
display: block;
background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/check_box_normal.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/check_box_normal.png');
background-size: contain;
_background: none;
}
.check-box-icon:hover .x-icon.hack,
.check-box-icon.hover .x-icon.hack {
background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/check_box_normal.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/check_box_normal.png');
_background: none;
}
.check-box-icon:active .x-icon,
.check-box-icon.active .x-icon {
display: block;
background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/check_box_active.png') no-repeat 0 0;
@ -6583,7 +6568,6 @@ textarea::-webkit-scrollbar-thumb:hover {
background-size: contain;
_background: none;
}
.check-box-icon:active .x-icon.hack,
.check-box-icon.active .x-icon.hack {
background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/check_box_active.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/check_box_active.png');
@ -6601,18 +6585,6 @@ textarea::-webkit-scrollbar-thumb:hover {
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/check_box_disable.png');
_background: none;
}
.check-box-icon.disabled.active .x-icon {
display: block;
background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/check_box_disable2.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/check_box_disable2.png');
background-size: contain;
_background: none;
}
.check-box-icon.disabled.active .x-icon.hack {
background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/check_box_disable2.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/check_box_disable2.png');
_background: none;
}
.radio-icon .x-icon {
display: block;
background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/radio_normal.png') no-repeat 0 0;
@ -6625,21 +6597,6 @@ textarea::-webkit-scrollbar-thumb:hover {
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/radio_normal.png');
_background: none;
}
.radio-icon:hover .x-icon,
.radio-icon.hover .x-icon {
display: block;
background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/radio_normal.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/radio_normal.png');
background-size: contain;
_background: none;
}
.radio-icon:hover .x-icon.hack,
.radio-icon.hover .x-icon.hack {
background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/radio_normal.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/radio_normal.png');
_background: none;
}
.radio-icon:active .x-icon,
.radio-icon.active .x-icon {
display: block;
background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/radio_active.png') no-repeat 0 0;
@ -6647,7 +6604,6 @@ textarea::-webkit-scrollbar-thumb:hover {
background-size: contain;
_background: none;
}
.radio-icon:active .x-icon.hack,
.radio-icon.active .x-icon.hack {
background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/radio_active.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/radio_active.png');
@ -6665,18 +6621,6 @@ textarea::-webkit-scrollbar-thumb:hover {
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/radio_disable.png');
_background: none;
}
.radio-icon.disabled.active .x-icon {
display: block;
background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/radio_disable2.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/radio_disable2.png');
background-size: contain;
_background: none;
}
.radio-icon.disabled.active .x-icon.hack {
background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/radio_disable2.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/radio_disable2.png');
_background: none;
}
.check-half-select-icon .x-icon {
display: block;
background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/half_selected.png') no-repeat 0px 0px;

1264
dist/bundle.js vendored

File diff suppressed because it is too large Load Diff

2
dist/bundle.min.css vendored

File diff suppressed because one or more lines are too long

92
dist/bundle.min.js vendored

File diff suppressed because one or more lines are too long

63
dist/case.js vendored

@ -5235,7 +5235,7 @@ BI.IconCombo = BI.inherit(BI.Widget, {
_defaultConfig: function () {
return BI.extend(BI.IconCombo.superclass._defaultConfig.apply(this, arguments), {
baseCls: "bi-icon-combo",
width: 24,
width: 28,
height: 24,
el: {},
popup: {},
@ -5399,8 +5399,8 @@ BI.IconComboTrigger = BI.inherit(BI.Trigger, {
el: {},
items: [],
iconCls: "",
width: 25,
height: 25,
width: 28,
height: 24,
isShowDown: true,
value: ""
});
@ -5418,7 +5418,7 @@ BI.IconComboTrigger = BI.inherit(BI.Trigger, {
cls: "icon-combo-trigger-icon",
iconCls: iconCls,
disableSelected: true,
width: o.width,
width: o.width - 12,
height: o.height,
iconWidth: o.iconWidth,
iconHeight: o.iconHeight,
@ -5429,7 +5429,7 @@ BI.IconComboTrigger = BI.inherit(BI.Trigger, {
disableSelected: true,
cls: "icon-combo-down-icon trigger-triangle-font",
width: 12,
height: 8,
height: o.height,
selected: BI.isNotEmptyString(iconCls)
});
this.down.setVisible(o.isShowDown);
@ -8001,55 +8001,6 @@ BI.SimpleStateEditor.EVENT_SPACE = "EVENT_SPACE";
BI.SimpleStateEditor.EVENT_EMPTY = "EVENT_EMPTY";
BI.shortcut("bi.simple_state_editor", BI.SimpleStateEditor);/**
* 有确定取消按钮的弹出层
* @class BI.BarPopoverSection
* @extends BI.PopoverSection
* @abstract
*/
BI.BarPopoverSection = BI.inherit(BI.PopoverSection, {
_defaultConfig: function () {
return BI.extend(BI.BarPopoverSection.superclass._defaultConfig.apply(this, arguments), {
btns: [BI.i18nText(BI.i18nText("BI-Basic_Sure")), BI.i18nText(BI.i18nText("BI-Basic_Cancel"))]
});
},
_init: function () {
BI.BarPopoverSection.superclass._init.apply(this, arguments);
},
rebuildSouth: function (south) {
var self = this, o = this.options;
this.sure = BI.createWidget({
type: "bi.button",
text: this.options.btns[0],
warningTitle: o.warningTitle,
value: 0,
handler: function (v) {
self.end();
self.close(v);
}
});
this.cancel = BI.createWidget({
type: "bi.button",
text: this.options.btns[1],
value: 1,
level: "ignore",
handler: function (v) {
self.close(v);
}
});
BI.createWidget({
type: "bi.right_vertical_adapt",
element: south,
lgap: 10,
items: [this.cancel, this.sure]
});
},
setConfirmButtonEnable: function (v) {
this.sure.setEnable(!!v);
}
});/**
* 下拉框弹出层的多选版本toolbar带有若干按钮, zIndex在1000w
* @class BI.MultiPopupView
* @extends BI.Widget
@ -8674,8 +8625,8 @@ BI.LazyLoader = BI.inherit(BI.Widget, {
_getNextItems: function (options) {
var self = this, o = this.options;
var lastNum = o.items.length - this._const.PAGE * (options.times - 1);
var lastItems = BI.last(o.items, lastNum);
var nextItems = BI.first(lastItems, this._const.PAGE);
var lastItems = BI.takeRight(o.items, lastNum);
var nextItems = BI.take(lastItems, this._const.PAGE);
return nextItems;
},

652
dist/core.js vendored

@ -9599,7 +9599,7 @@ if ( typeof define === "function" && define.amd && define.amd.jQuery ) {
})( window );/**
* @license
* Lodash (Custom Build) <https://lodash.com/>
* Build: `lodash core plus="debounce,throttle,get,findIndex,findLastIndex,findKey,findLastKey,isArrayLike,invert,invertBy,uniq,uniqBy,omit,omitBy,zip,unzip,rest,range,random,reject,intersection,drop,countBy,union,zipObject"`
* Build: `lodash core plus="debounce,throttle,get,findIndex,findLastIndex,findKey,findLastKey,isArrayLike,invert,invertBy,uniq,uniqBy,omit,omitBy,zip,unzip,rest,range,random,reject,intersection,drop,countBy,union,zipObject,initial,cloneDeep,clamp,isPlainObject,take,takeRight,without"`
* Copyright JS Foundation and other contributors <https://js.foundation/>
* Released under MIT license <https://lodash.com/license>
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
@ -11581,6 +11581,27 @@ if ( typeof define === "function" && define.amd && define.amd.jQuery ) {
return result;
}
/**
* The base implementation of `_.clamp` which doesn't coerce arguments.
*
* @private
* @param {number} number The number to clamp.
* @param {number} [lower] The lower bound.
* @param {number} upper The upper bound.
* @returns {number} Returns the clamped number.
*/
function baseClamp(number, lower, upper) {
if (number === number) {
if (upper !== undefined) {
number = number <= upper ? number : upper;
}
if (lower !== undefined) {
number = number >= lower ? number : lower;
}
}
return number;
}
/**
* The base implementation of `_.clone` and `_.cloneDeep` which tracks
* traversed objects.
@ -11696,6 +11717,62 @@ if ( typeof define === "function" && define.amd && define.amd.jQuery ) {
return setTimeout(function() { func.apply(undefined, args); }, wait);
}
/**
* The base implementation of methods like `_.difference` without support
* for excluding multiple arrays or iteratee shorthands.
*
* @private
* @param {Array} array The array to inspect.
* @param {Array} values The values to exclude.
* @param {Function} [iteratee] The iteratee invoked per element.
* @param {Function} [comparator] The comparator invoked per element.
* @returns {Array} Returns the new array of filtered values.
*/
function baseDifference(array, values, iteratee, comparator) {
var index = -1,
includes = arrayIncludes,
isCommon = true,
length = array.length,
result = [],
valuesLength = values.length;
if (!length) {
return result;
}
if (iteratee) {
values = arrayMap(values, baseUnary(iteratee));
}
if (comparator) {
includes = arrayIncludesWith;
isCommon = false;
}
else if (values.length >= LARGE_ARRAY_SIZE) {
includes = cacheHas;
isCommon = false;
values = new SetCache(values);
}
outer:
while (++index < length) {
var value = array[index],
computed = iteratee == null ? value : iteratee(value);
value = (comparator || value !== 0) ? value : 0;
if (isCommon && computed === computed) {
var valuesIndex = valuesLength;
while (valuesIndex--) {
if (values[valuesIndex] === computed) {
continue outer;
}
}
result.push(value);
}
else if (!includes(values, computed, comparator)) {
result.push(value);
}
}
return result;
}
/**
* The base implementation of `_.forEach` without support for iteratee shorthands.
*
@ -15070,6 +15147,25 @@ if ( typeof define === "function" && define.amd && define.amd.jQuery ) {
return baseIndexOf(array, value, index);
}
/**
* Gets all but the last element of `array`.
*
* @static
* @memberOf _
* @since 0.1.0
* @category Array
* @param {Array} array The array to query.
* @returns {Array} Returns the slice of `array`.
* @example
*
* _.initial([1, 2, 3]);
* // => [1, 2]
*/
function initial(array) {
var length = array == null ? 0 : array.length;
return length ? baseSlice(array, 0, -1) : [];
}
/**
* Creates an array of unique values that are included in all given arrays
* using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
@ -15172,6 +15268,74 @@ if ( typeof define === "function" && define.amd && define.amd.jQuery ) {
return baseSlice(array, start, end);
}
/**
* Creates a slice of `array` with `n` elements taken from the beginning.
*
* @static
* @memberOf _
* @since 0.1.0
* @category Array
* @param {Array} array The array to query.
* @param {number} [n=1] The number of elements to take.
* @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
* @returns {Array} Returns the slice of `array`.
* @example
*
* _.take([1, 2, 3]);
* // => [1]
*
* _.take([1, 2, 3], 2);
* // => [1, 2]
*
* _.take([1, 2, 3], 5);
* // => [1, 2, 3]
*
* _.take([1, 2, 3], 0);
* // => []
*/
function take(array, n, guard) {
if (!(array && array.length)) {
return [];
}
n = (guard || n === undefined) ? 1 : toInteger(n);
return baseSlice(array, 0, n < 0 ? 0 : n);
}
/**
* Creates a slice of `array` with `n` elements taken from the end.
*
* @static
* @memberOf _
* @since 3.0.0
* @category Array
* @param {Array} array The array to query.
* @param {number} [n=1] The number of elements to take.
* @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
* @returns {Array} Returns the slice of `array`.
* @example
*
* _.takeRight([1, 2, 3]);
* // => [3]
*
* _.takeRight([1, 2, 3], 2);
* // => [2, 3]
*
* _.takeRight([1, 2, 3], 5);
* // => [1, 2, 3]
*
* _.takeRight([1, 2, 3], 0);
* // => []
*/
function takeRight(array, n, guard) {
var length = array == null ? 0 : array.length;
if (!length) {
return [];
}
n = (guard || n === undefined) ? 1 : toInteger(n);
n = length - n;
return baseSlice(array, n < 0 ? 0 : n, length);
}
/**
* Creates an array of unique values, in order, from all given arrays using
* [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
@ -15276,6 +15440,32 @@ if ( typeof define === "function" && define.amd && define.amd.jQuery ) {
});
}
/**
* Creates an array excluding all given values using
* [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
* for equality comparisons.
*
* **Note:** Unlike `_.pull`, this method returns a new array.
*
* @static
* @memberOf _
* @since 0.1.0
* @category Array
* @param {Array} array The array to inspect.
* @param {...*} [values] The values to exclude.
* @returns {Array} Returns the new array of filtered values.
* @see _.difference, _.xor
* @example
*
* _.without([2, 1, 2, 3], 1, 2);
* // => [3]
*/
var without = baseRest(function(array, values) {
return isArrayLikeObject(array)
? baseDifference(array, values)
: [];
});
/**
* Creates an array of grouped elements, the first of which contains the
* first elements of the given arrays, the second of which contains the
@ -16685,6 +16875,28 @@ if ( typeof define === "function" && define.amd && define.amd.jQuery ) {
return baseClone(value, CLONE_SYMBOLS_FLAG);
}
/**
* This method is like `_.clone` except that it recursively clones `value`.
*
* @static
* @memberOf _
* @since 1.0.0
* @category Lang
* @param {*} value The value to recursively clone.
* @returns {*} Returns the deep cloned value.
* @see _.clone
* @example
*
* var objects = [{ 'a': 1 }, { 'b': 2 }];
*
* var deep = _.cloneDeep(objects);
* console.log(deep[0] === objects[0]);
* // => false
*/
function cloneDeep(value) {
return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);
}
/**
* Performs a
* [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
@ -18190,6 +18402,41 @@ if ( typeof define === "function" && define.amd && define.amd.jQuery ) {
/*------------------------------------------------------------------------*/
/**
* Clamps `number` within the inclusive `lower` and `upper` bounds.
*
* @static
* @memberOf _
* @since 4.0.0
* @category Number
* @param {number} number The number to clamp.
* @param {number} [lower] The lower bound.
* @param {number} upper The upper bound.
* @returns {number} Returns the clamped number.
* @example
*
* _.clamp(-10, -5, 5);
* // => -5
*
* _.clamp(10, -5, 5);
* // => 5
*/
function clamp(number, lower, upper) {
if (upper === undefined) {
upper = lower;
lower = undefined;
}
if (upper !== undefined) {
upper = toNumber(upper);
upper = upper === upper ? upper : 0;
}
if (lower !== undefined) {
lower = toNumber(lower);
lower = lower === lower ? lower : 0;
}
return baseClamp(toNumber(number), lower, upper);
}
/**
* Produces a random number between the inclusive `lower` and `upper` bounds.
* If only one argument is provided a number between `0` and the given number
@ -18729,6 +18976,7 @@ if ( typeof define === "function" && define.amd && define.amd.jQuery ) {
lodash.filter = filter;
lodash.flatten = flatten;
lodash.flattenDeep = flattenDeep;
lodash.initial = initial;
lodash.intersection = intersection;
lodash.invert = invert;
lodash.invertBy = invertBy;
@ -18747,6 +18995,8 @@ if ( typeof define === "function" && define.amd && define.amd.jQuery ) {
lodash.rest = rest;
lodash.slice = slice;
lodash.sortBy = sortBy;
lodash.take = take;
lodash.takeRight = takeRight;
lodash.tap = tap;
lodash.throttle = throttle;
lodash.thru = thru;
@ -18756,6 +19006,7 @@ if ( typeof define === "function" && define.amd && define.amd.jQuery ) {
lodash.uniqBy = uniqBy;
lodash.unzip = unzip;
lodash.values = values;
lodash.without = without;
lodash.zip = zip;
lodash.zipObject = zipObject;
@ -18768,7 +19019,9 @@ if ( typeof define === "function" && define.amd && define.amd.jQuery ) {
/*------------------------------------------------------------------------*/
// Add methods that return unwrapped values in chain sequences.
lodash.clamp = clamp;
lodash.clone = clone;
lodash.cloneDeep = cloneDeep;
lodash.escape = escape;
lodash.every = every;
lodash.find = find;
@ -18795,6 +19048,7 @@ if ( typeof define === "function" && define.amd && define.amd.jQuery ) {
lodash.isNull = isNull;
lodash.isNumber = isNumber;
lodash.isObject = isObject;
lodash.isPlainObject = isPlainObject;
lodash.isRegExp = isRegExp;
lodash.isString = isString;
lodash.isUndefined = isUndefined;
@ -19238,7 +19492,7 @@ if (!window.BI) {
BI[name] = _apply(name);
});
_.each(["get", "each", "map", "reduce", "reduceRight", "find", "filter", "reject", "every", "all", "some", "any", "max", "min",
"sortBy", "groupBy", "indexBy", "countBy", "partition"], function (name) {
"sortBy", "groupBy", "indexBy", "countBy", "partition", "clamp"], function (name) {
if (name === "any") {
BI[name] = _applyFunc("some");
} else {
@ -19246,15 +19500,6 @@ if (!window.BI) {
}
});
_.extend(BI, {
clamp: function (value, minValue, maxValue) {
if (value < minValue) {
value = minValue;
}
if (value > maxValue) {
value = maxValue;
}
return value;
},
// 数数
count: function (from, to, predicate) {
var t;
@ -19443,7 +19688,7 @@ if (!window.BI) {
// 数组相关的方法
_.each(["first", "initial", "last", "rest", "compact", "flatten", "without", "union", "intersection",
"difference", "zip", "unzip", "object", "indexOf", "lastIndexOf", "sortedIndex", "range"], function (name) {
"difference", "zip", "unzip", "object", "indexOf", "lastIndexOf", "sortedIndex", "range", "take", "takeRight"], function (name) {
BI[name] = _apply(name);
});
_.each(["findIndex", "findLastIndex"], function (name) {
@ -19507,8 +19752,8 @@ if (!window.BI) {
// 对象相关方法
_.each(["keys", "allKeys", "values", "pairs", "invert", "create", "functions", "extend", "extendOwn",
"defaults", "clone", "property", "propertyOf", "matcher", "isEqual", "isMatch", "isEmpty",
"isElement", "isNumber", "isString", "isArray", "isObject", "isArguments", "isFunction", "isFinite",
"isBoolean", "isDate", "isRegExp", "isError", "isNaN", "isUndefined", "zipObject"], function (name) {
"isElement", "isNumber", "isString", "isArray", "isObject", "isPlainObject", "isArguments", "isFunction", "isFinite",
"isBoolean", "isDate", "isRegExp", "isError", "isNaN", "isUndefined", "zipObject", "cloneDeep"], function (name) {
BI[name] = _apply(name);
});
_.each(["mapObject", "findKey", "pick", "omit", "tap"], function (name) {
@ -19575,10 +19820,6 @@ if (!window.BI) {
return typeof obj === "undefined" || obj === null;
},
isPlainObject: function () {
return $.isPlainObject.apply($, arguments);
},
isEmptyArray: function (arr) {
return BI.isArray(arr) && BI.isEmpty(arr);
},
@ -19610,48 +19851,7 @@ if (!window.BI) {
// deep方法
_.extend(BI, {
/**
*完全克隆<EFBFBD>?个js对象
* @param obj
* @returns {*}
*/
deepClone: function (obj) {
if (obj === null || obj === undefined) {
return obj;
}
var type = Object.prototype.toString.call(obj);
// Date
if (type === "[object Date]") {
return BI.getDate(obj.getTime());
}
var i, clone, key;
// Array
if (type === "[object Array]") {
i = obj.length;
clone = [];
while (i--) {
clone[i] = BI.deepClone(obj[i]);
}
}
// Object
else if (type === "[object Object]" && obj.constructor === Object) {
clone = {};
for (var i in obj) {
if (BI.has(obj, i)) {
clone[i] = BI.deepClone(obj[i]);
}
}
}
return clone || obj;
},
deepClone: _.cloneDeep,
isDeepMatch: function (object, attrs) {
var keys = BI.keys(attrs), length = keys.length;
@ -25196,32 +25396,7 @@ BI.ShowAction = BI.inherit(BI.Action, {
tar.setVisible(false);
callback && callback();
}
});/**
* 弹出层
* @class BI.PopoverSection
* @extends BI.Widget
* @abstract
*/
BI.PopoverSection = BI.inherit(BI.Widget, {
_init: function () {
BI.PopoverSection.superclass._init.apply(this, arguments);
},
rebuildNorth: function (north) {
return true;
},
rebuildCenter: function (center) {},
rebuildSouth: function (south) {
return false;
},
close: function () {
this.fireEvent(BI.PopoverSection.EVENT_CLOSE);
},
end: function () {
}
});
BI.PopoverSection.EVENT_CLOSE = "EVENT_CLOSE";(function () {
});(function () {
if (!window.BI) {
window.BI = {};
}
@ -26369,148 +26544,6 @@ BI.BubblesController = BI.inherit(BI.Controller, {
delete this.bubblesManager[name];
return this;
}
});/**
* guy
* FloatBox弹出层控制器, z-index在100w层级
* @class BI.FloatBoxController
* @extends BI.Controller
*/
BI.FloatBoxController = BI.inherit(BI.Controller, {
_defaultConfig: function () {
return BI.extend(BI.FloatBoxController.superclass._defaultConfig.apply(this, arguments), {
modal: true, // 模态窗口
render: "body"
});
},
_init: function () {
BI.FloatBoxController.superclass._init.apply(this, arguments);
this.modal = this.options.modal;
this.floatManager = {};
this.floatLayer = {};
this.floatContainer = {};
this.floatOpened = {};
this.zindex = BI.zIndex_floatbox;
this.zindexMap = {};
},
_check: function (name) {
return BI.isNotNull(this.floatManager[name]);
},
create: function (name, section, options, context) {
if (this._check(name)) {
return this;
}
var floatbox = BI.createWidget({
type: "bi.float_box"
}, options, context);
floatbox.populate(section);
this.add(name, floatbox, options, context);
return this;
},
add: function (name, floatbox, options, context) {
var self = this;
options || (options = {});
if (this._check(name)) {
return this;
}
this.floatContainer[name] = BI.createWidget({
type: "bi.absolute",
cls: "bi-popup-view",
items: [{
el: (this.floatLayer[name] = BI.createWidget({
type: "bi.absolute",
items: [floatbox]
}, context)),
left: 0,
right: 0,
top: 0,
bottom: 0
}]
});
this.floatManager[name] = floatbox;
(function (key) {
floatbox.on(BI.FloatBox.EVENT_FLOAT_BOX_CLOSED, function () {
self.close(key);
});
})(name);
BI.createWidget({
type: "bi.absolute",
element: options.container || this.options.render,
items: [{
el: this.floatContainer[name],
left: 0,
right: 0,
top: 0,
bottom: 0
}]
});
return this;
},
open: function (name) {
if (!this._check(name)) {
return this;
}
if (!this.floatOpened[name]) {
this.floatOpened[name] = true;
var container = this.floatContainer[name];
container.element.css("zIndex", this.zindex++);
this.modal && container.element.__hasZIndexMask__(this.zindexMap[name]) && container.element.__releaseZIndexMask__(this.zindexMap[name]);
this.zindexMap[name] = this.zindex;
this.modal && container.element.__buildZIndexMask__(this.zindex++);
this.get(name).setZindex(this.zindex++);
this.floatContainer[name].visible();
var floatbox = this.get(name);
floatbox.show();
var W = $(this.options.render).width(), H = $(this.options.render).height();
var w = floatbox.element.width(), h = floatbox.element.height();
var left = (W - w) / 2, top = (H - h) / 2;
if (left < 0) {
left = 0;
}
if (top < 0) {
top = 0;
}
floatbox.element.css({
left: left + "px",
top: top + "px"
});
}
return this;
},
close: function (name) {
if (!this._check(name)) {
return this;
}
if (this.floatOpened[name]) {
delete this.floatOpened[name];
this.floatContainer[name].invisible();
this.modal && this.floatContainer[name].element.__releaseZIndexMask__(this.zindexMap[name]);
}
return this;
},
get: function (name) {
return this.floatManager[name];
},
remove: function (name) {
if (!this._check(name)) {
return this;
}
this.floatContainer[name].destroy();
this.modal && this.floatContainer[name].element.__releaseZIndexMask__(this.zindexMap[name]);
delete this.floatManager[name];
delete this.floatLayer[name];
delete this.zindexMap[name];
delete this.floatContainer[name];
delete this.floatOpened[name];
return this;
}
});/**
* 弹出层面板控制器, z-index在10w层级
*
@ -26540,14 +26573,15 @@ BI.LayerController = BI.inherit(BI.Controller, {
});
},
make: function (name, container, op) {
make: function (name, container, op, context) {
if (BI.isWidget(container)) {
op = op || {};
op.container = container;
} else {
context = op;
op = container;
}
return this.create(name, null, op);
return this.create(name, null, op, context);
},
create: function (name, from, op, context) {
@ -26566,10 +26600,9 @@ BI.LayerController = BI.inherit(BI.Controller, {
if (this.has(name)) {
return this.get(name);
}
var widget = BI.createWidget((op.render || {}), {
type: "bi.layout",
cls: op.cls
}, context);
var widget = BI.createWidget((op.render || {}), BI.extend({
type: "bi.layout"
}, op), context);
var layout = BI.createWidget({
type: "bi.absolute",
items: [{
@ -26596,16 +26629,16 @@ BI.LayerController = BI.inherit(BI.Controller, {
layout.element.css({
left: w.offset().left + (offset.left || 0),
top: w.offset().top + (offset.top || 0),
width: offset.width || (w.outerWidth() - (offset.right || 0)) || "",
height: offset.height || (w.outerHeight() - (offset.bottom || 0)) || ""
width: offset.width || (w.outerWidth() - (offset.left || 0) - (offset.right || 0)) || "",
height: offset.height || (w.outerHeight() - (offset.top || 0) - (offset.bottom || 0)) || ""
});
layout.element.on("__resize__", function () {
w.is(":visible") &&
layout.element.css({
left: w.offset().left + (offset.left || 0),
top: w.offset().top + (offset.top || 0),
width: offset.width || (w.outerWidth() - (offset.right || 0)) || "",
height: offset.height || (w.outerHeight() - (offset.bottom || 0)) || ""
width: offset.width || (w.outerWidth() - (offset.left || 0) - (offset.right || 0)) || "",
height: offset.height || (w.outerHeight() - (offset.top || 0) - (offset.bottom || 0)) || ""
});
});
}
@ -26683,6 +26716,147 @@ BI.MaskersController = BI.inherit(BI.LayerController, {
BI.MaskersController.superclass._init.apply(this, arguments);
this.zindex = BI.zIndex_masker;
}
});/**
* guy
* popover弹出层控制器, z-index在100w层级
* @class BI.popoverController
* @extends BI.Controller
*/
BI.PopoverController = BI.inherit(BI.Controller, {
_defaultConfig: function () {
return BI.extend(BI.PopoverController.superclass._defaultConfig.apply(this, arguments), {
modal: true, // 模态窗口
render: "body"
});
},
_init: function () {
BI.PopoverController.superclass._init.apply(this, arguments);
this.modal = this.options.modal;
this.floatManager = {};
this.floatLayer = {};
this.floatContainer = {};
this.floatOpened = {};
this.zindex = BI.zIndex_popover;
this.zindexMap = {};
},
_check: function (name) {
return BI.isNotNull(this.floatManager[name]);
},
create: function (name, options, context) {
if (this._check(name)) {
return this;
}
var popover = BI.createWidget(options || {}, {
type: "bi.popover"
}, context);
this.add(name, popover, options, context);
return this;
},
add: function (name, popover, options, context) {
var self = this;
options || (options = {});
if (this._check(name)) {
return this;
}
this.floatContainer[name] = BI.createWidget({
type: "bi.absolute",
cls: "bi-popup-view",
items: [{
el: (this.floatLayer[name] = BI.createWidget({
type: "bi.absolute",
items: [popover]
}, context)),
left: 0,
right: 0,
top: 0,
bottom: 0
}]
});
this.floatManager[name] = popover;
(function (key) {
popover.on(BI.Popover.EVENT_CLOSE, function () {
self.close(key);
});
})(name);
BI.createWidget({
type: "bi.absolute",
element: options.container || this.options.render,
items: [{
el: this.floatContainer[name],
left: 0,
right: 0,
top: 0,
bottom: 0
}]
});
return this;
},
open: function (name) {
if (!this._check(name)) {
return this;
}
if (!this.floatOpened[name]) {
this.floatOpened[name] = true;
var container = this.floatContainer[name];
container.element.css("zIndex", this.zindex++);
this.modal && container.element.__hasZIndexMask__(this.zindexMap[name]) && container.element.__releaseZIndexMask__(this.zindexMap[name]);
this.zindexMap[name] = this.zindex;
this.modal && container.element.__buildZIndexMask__(this.zindex++);
this.get(name).setZindex(this.zindex++);
this.floatContainer[name].visible();
var popover = this.get(name);
popover.show && popover.show();
var W = $(this.options.render).width(), H = $(this.options.render).height();
var w = popover.element.width(), h = popover.element.height();
var left = (W - w) / 2, top = (H - h) / 2;
if (left < 0) {
left = 0;
}
if (top < 0) {
top = 0;
}
popover.element.css({
left: left + "px",
top: top + "px"
});
}
return this;
},
close: function (name) {
if (!this._check(name)) {
return this;
}
if (this.floatOpened[name]) {
delete this.floatOpened[name];
this.floatContainer[name].invisible();
this.modal && this.floatContainer[name].element.__releaseZIndexMask__(this.zindexMap[name]);
}
return this;
},
get: function (name) {
return this.floatManager[name];
},
remove: function (name) {
if (!this._check(name)) {
return this;
}
this.floatContainer[name].destroy();
this.modal && this.floatContainer[name].element.__releaseZIndexMask__(this.zindexMap[name]);
delete this.floatManager[name];
delete this.floatLayer[name];
delete this.zindexMap[name];
delete this.floatContainer[name];
delete this.floatOpened[name];
return this;
}
});/**
* window.resize 控制器
*
@ -29889,7 +30063,7 @@ _.extend(BI, {
MIN: -0xfffffffffffffff,
EVENT_RESPONSE_TIME: 200,
zIndex_layer: 1e5,
zIndex_floatbox: 1e6,
zIndex_popover: 1e6,
zIndex_popup: 1e7,
zIndex_masker: 1e8,
zIndex_tip: 1e9,

462
dist/demo.js vendored

@ -5483,6 +5483,10 @@ Demo.COMPONENT_CONFIG = [{
pId: 102,
id: 10202,
text: "弹出层"
}, {
pId: 10202,
text: "layer",
value: "demo.layer"
}, {
pId: 10202,
text: "bi.popover",
@ -5497,23 +5501,23 @@ Demo.COMPONENT_CONFIG = [{
value: "demo.searcher_view"
}, {
pId: 1,
text: "Widget",
text: "Widget(继承)",
value: "demo.widget"
}, {
pId: 1,
text: "Single",
text: "Single(继承)",
value: "demo.single"
}, {
pId: 1,
text: "BasicButton",
text: "BasicButton(继承)",
value: "demo.basic_button"
}, {
pId: 1,
text: "NodeButton",
text: "NodeButton(继承)",
value: "demo.node_button"
}, {
pId: 1,
text: "Pane",
text: "Pane(继承)",
value: "demo.pane"
}];// 定义Model路由
var modelRouter = new (BI.inherit(BI.WRouter, {
@ -5757,6 +5761,10 @@ Demo.FIX_CONFIG = [{
pId: 406,
text: "bi.multi_select_combo",
value: "demo.multi_select_combo"
}, {
pId: 406,
text: "bi.multi_select_list",
value: "demo.multi_select_list"
}, {
pId: 4,
id: 407,
@ -5797,6 +5805,10 @@ Demo.FIX_CONFIG = [{
pId: 411,
text: "bi.multi_tree_combo",
value: "demo.multi_tree_combo"
}, {
pId: 411,
text: "bi.multi_select_tree",
value: "demo.multi_select_tree"
}, {
pId: 4,
id: 412,
@ -8458,53 +8470,104 @@ Demo.Func = BI.inherit(BI.Widget, {
baseCls: "demo-func"
},
render: function () {
var id = BI.UUID();
var self = this, id1 = BI.UUID(), id2 = BI.UUID();
return {
type: "bi.text_button",
text: "点击弹出Popover",
width: 200,
height: 80,
type: "bi.vertical",
vgap: 10,
items: [{
type: "bi.button",
text: "create形式创建layer, 遮住当前面板, 返回创建的面板对象",
height: 30,
handler: function () {
BI.Popovers.remove(id);
BI.Popovers.create(id, new Demo.ExamplePopoverSection()).open(id);
BI.Layers.create(id1, self, {
//偏移量
offset: {
left: 10,
right: 10,
top: 10,
bottom: 10
},
type: "bi.center_adapt",
cls: "bi-card",
items: [{
type: "bi.button",
text: "点击关闭",
handler: function () {
BI.Layers.hide(id1);
}
}]
});
BI.Layers.show(id1);
}
}, {
type: "bi.button",
text: "make形式创建layer,可以指定放到哪个面板内,这里指定当前面板(默认放在body下撑满), 返回创建的面板对象",
height: 30,
handler: function () {
BI.Layers.make(id2, self, {
//偏移量
offset: {
left: 10,
right: 10,
top: 10,
bottom: 10
},
type: "bi.center_adapt",
cls: "bi-card",
items: [{
type: "bi.button",
text: "点击关闭",
handler: function () {
BI.Layers.remove(id2);
}
}]
});
BI.Layers.show(id2);
}
}]
};
}
});
Demo.ExamplePopoverSection = BI.inherit(BI.PopoverSection, {
rebuildSouth: function (south) {
var self = this, o = this.options;
this.sure = BI.createWidget({
type: 'bi.button',
text: "确定",
warningTitle: o.warningTitle,
BI.shortcut("demo.layer", Demo.Func);/**
* Created by Windy on 2017/12/13.
*/
Demo.Func = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-func"
},
render: function () {
var id = BI.UUID();
return {
type: "bi.vertical",
vgap: 10,
items: [{
type: "bi.text_button",
text: "点击弹出Popover",
height: 30,
value: 0,
handler: function (v) {
self.end();
self.close(v);
handler: function () {
BI.Popovers.remove(id);
BI.Popovers.create(id, {
type: "bi.bar_popover",
header: {
type: "bi.label",
text: "这个是header"
},
body: {
type: "bi.label",
text: "这个是body"
}
});
this.cancel = BI.createWidget({
type: 'bi.button',
text: "取消",
height: 30,
value: 1,
level: 'ignore',
handler: function (v) {
self.close(v);
// footer: {
// type: "bi.label",
// text: "这个是footer"
// }
}).open(id);
}
});
BI.createWidget({
type: 'bi.right_vertical_adapt',
element: south,
lgap: 10,
items: [this.cancel, this.sure]
});
}]
};
}
});
BI.shortcut("demo.popover", Demo.Func);/**
* Created by Windy on 2017/12/13.
*/
@ -12070,6 +12133,10 @@ Demo.Downlist = BI.inherit(BI.Widget, {
mounted: function () {
var downlist = this.downlist;
var label = this.label;
this.downlist.setValue([{
value: [11, 6],
childValue: 67
}]);
downlist.on(BI.DownListCombo.EVENT_CHANGE, function (value, fatherValue) {
label.setValue(JSON.stringify(downlist.getValue()));
});
@ -12090,95 +12157,106 @@ Demo.Downlist = BI.inherit(BI.Widget, {
self.downlist = _ref;
},
cls: "layout-bg3",
value: [{"childValue":22,"value":11},{"value":18},{"value":20}],
// value: [{"childValue":22,"value":11},{"value":18},{"value":20}],
height: 30,
width: 100,
items: [[{text: "temp", value: 1111111}],
items: [
[{
el: {
text: "column 1111",
iconCls1: "check-mark-e-font",
value: 11
iconCls1: "dot-e-font",
value: 12
},
children: [{
text: "column 1.1",
value: 21,
cls: "dot-e-font"
}, {
text: "column 1.222222222222222222222222222222222222",
cls: "dot-e-font",
value: 22
text: "column 1.2",
value: 22,
cls: "dot-e-font"
}]
}],
[{
el: {
type: "bi.icon_text_icon_item",
text: "column 2",
iconCls1: "chart-type-e-font",
cls: "dot-e-font",
value: 12
text: "column 1111",
iconCls1: "dot-e-font",
value: 11
},
children: [{
type: "bi.icon_text_item",
cls: "dot-e-font",
height: 25,
text: "column 2.1",
value: 11
text: "column 1.1",
value: 21,
cls: "dot-e-font"
}, {
text: "column 2.2",
value: 12,
text: "column 1.2",
value: 22,
cls: "dot-e-font"
}]
}],
[{
text: "column 8",
value: 18,
cls: "dot-e-font"
},
{
text: "column 9",
cls: "dot-e-font",
value: 19
}
],
[{
text: "column 10",
value: 20,
cls: "dot-e-font"
},
{
text: "column 11",
cls: "dot-e-font",
value: 21
},
{
text: "column 12",
cls: "dot-e-font",
value: 22
},
{
text: "column 13",
cls: "dot-e-font",
value: 23
},
{
text: "column 14",
cls: "dot-e-font",
value: 24
},
{
text: "column 15",
cls: "dot-e-font",
value: 25,
bubble: "hahahaha"
}
]
// children: [{
// text: BI.i18nText("BI-Basic_None"),
// cls: "dot-e-font",
// value: 1
// }, {
// text: BI.i18nText("BI-Basic_Calculate_Same_Period"),
// cls: "dot-e-font",
// value: 2
// }, {
// text: BI.i18nText("BI-Basic_Calculate_Same_Ring"),
// cls: "dot-e-font",
// value: 3
// }, {
// text: BI.i18nText("BI-Basic_Calculate_Same_Period_Rate"),
// cls: "dot-e-font",
// value: 4
// }, {
// text: BI.i18nText("BI-Basic_Calculate_Same_Ring_Rate"),
// cls: "dot-e-font",
// value: 5
// }, {
// el: {
// text: BI.i18nText("BI-Basic_Rank"),
// iconCls1: "dot-e-font",
// value: 6
// },
// children: [{
// text: "test1",
// cls: "dot-e-font",
// value: 67
// }, {
// text: "test2",
// cls: "dot-e-font",
// value: 68
// }]
// }, {
// text: BI.i18nText("BI-Basic_Rank_In_Group"),
// cls: "dot-e-font",
// value: 7
// }, {
// text: BI.i18nText("BI-Basic_Sum_Of_All"),
// cls: "dot-e-font",
// value: 8
// }, {
// text: BI.i18nText("BI-Basic_Sum_Of_All_In_Group"),
// cls: "dot-e-font",
// value: 9
// }, {
// text: BI.i18nText("BI-Basic_Sum_Of_Above"),
// cls: "dot-e-font",
// value: 10
// }, {
// text: BI.i18nText("BI-Basic_Sum_Of_Above_In_Group"),
// cls: "dot-e-font",
// value: 11
// }, {
// text: BI.i18nText("BI-Design_Current_Dimension_Percent"),
// cls: "dot-e-font",
// value: 12
// }, {
// text: BI.i18nText("BI-Design_Current_Target_Percent"),
// cls: "dot-e-font",
// value: 13
// }]
}]
]
}, {
@ -12192,7 +12270,7 @@ Demo.Downlist = BI.inherit(BI.Widget, {
}],
vgap: 20
};
}
},
});
BI.shortcut("demo.down_list", Demo.Downlist);/**
@ -12432,6 +12510,100 @@ Demo.MultiSelectCombo = BI.inherit(BI.Widget, {
}
});
BI.shortcut("demo.multi_select_combo", Demo.MultiSelectCombo);/**
* Created by User on 2017/3/22.
*/
Demo.MultiSelectList = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-multi-select-combo"
},
mounted: function () {
this.list.populate();
},
_createMultiSelectCombo: function () {
var self = this;
var widget = BI.createWidget({
type: "bi.multi_select_list",
ref: function (ref) {
self.list = ref;
},
itemsCreator: BI.bind(this._itemsCreator, this),
value: {
type: 1,
value: ["柳州市城贸金属材料有限责任公司", "柳州市建福房屋租赁有限公司", "柳州市迅昌数码办公设备有限责任公司"]
}
});
widget.on(BI.MultiSelectCombo.EVENT_CONFIRM, function () {
BI.Msg.toast(JSON.stringify(this.getValue()));
});
return widget;
},
_getItemsByTimes: function (items, times) {
var res = [];
for (var i = (times - 1) * 10; items[i] && i < times * 10; i++) {
res.push(items[i]);
}
return res;
},
_hasNextByTimes: function (items, times) {
return times * 10 < items.length;
},
_itemsCreator: function (options, callback) {
var self = this;
var items = Demo.CONSTANTS.ITEMS;
var keywords = (options.keywords || []).slice();
if (options.keyword) {
keywords.push(options.keyword);
}
BI.each(keywords, function (i, kw) {
var search = BI.Func.getSearchResult(items, kw);
items = search.match.concat(search.find);
});
if (options.selectedValues) {// 过滤
var filter = BI.makeObject(options.selectedValues, true);
items = BI.filter(items, function (i, ob) {
return !filter[ob.value];
});
}
if (options.type == BI.MultiSelectCombo.REQ_GET_ALL_DATA) {
callback({
items: items
});
return;
}
if (options.type == BI.MultiSelectCombo.REQ_GET_DATA_LENGTH) {
callback({count: items.length});
return;
}
BI.delay(function () {
callback({
items: self._getItemsByTimes(items, options.times),
hasNext: self._hasNextByTimes(items, options.times)
});
}, 1000);
},
render: function () {
return {
type: "bi.absolute",
scrolly: false,
items: [{
el: this._createMultiSelectCombo(),
top: 50,
left: 50,
right: 50,
bottom: 50
}]
};
}
});
BI.shortcut("demo.multi_select_list", Demo.MultiSelectList);/**
* Created by Dailer on 2017/7/13.
*/
Demo.MultiTreeCombo = BI.inherit(BI.Widget, {
@ -12485,7 +12657,75 @@ Demo.MultiTreeCombo = BI.inherit(BI.Widget, {
}
});
BI.shortcut("demo.multi_tree_combo", Demo.MultiTreeCombo);/*
BI.shortcut("demo.multi_tree_combo", Demo.MultiTreeCombo);/**
* Created by Dailer on 2017/7/13.
*/
Demo.MultiTreeCombo = BI.inherit(BI.Widget, {
props: {
baseCls: ""
},
mounted: function () {
this.tree.populate();
},
render: function () {
var self = this;
var items = BI.deepClone(Demo.CONSTANTS.TREE);
return {
type: "bi.absolute",
items: [{
el: {
type: "bi.multi_select_tree",
ref: function (_ref) {
self.tree = _ref;
},
itemsCreator: function (options, callback) {
console.log(options);
// 根据不同的类型处理相应的结果
switch (options.type) {
case BI.TreeView.REQ_TYPE_INIT_DATA:
break;
case BI.TreeView.REQ_TYPE_ADJUST_DATA:
break;
case BI.TreeView.REQ_TYPE_SELECT_DATA:
break;
case BI.TreeView.REQ_TYPE_GET_SELECTED_DATA:
break;
default :
break;
}
callback({
items: items
});
},
width: 300,
value: {
"根目录": {}
}
},
top: 50,
bottom: 50,
left: 50,
right: 50
}, {
el: {
type: "bi.button",
height: 30,
text: "getValue",
handler: function () {
BI.Msg.toast(JSON.stringify(self.tree.getValue()));
}
},
left: 50,
right: 50,
bottom: 20
}]
};
}
});
BI.shortcut("demo.multi_select_tree", Demo.MultiTreeCombo);/*
Created by dailer on 2017 / 7 / 21.
*/
Demo.FileManager = BI.inherit(BI.Widget, {

1531
dist/fineui.css vendored

File diff suppressed because it is too large Load Diff

1972
dist/fineui.js vendored

File diff suppressed because it is too large Load Diff

2
dist/fineui.min.css vendored

File diff suppressed because one or more lines are too long

329
dist/fineui.min.js vendored

File diff suppressed because one or more lines are too long

59
dist/resource.css vendored

@ -329,7 +329,8 @@ textarea::-webkit-scrollbar-thumb:hover {
}
@font-face {
font-family: 'bi';
src: url('font/iconfont.eot'), /* IE6-IE8 */ url('font/iconfont.woff') format('woff'), /* chrome、firefox */ url('font/iconfont.ttf') format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/ url('font/iconfont.svg#svgFontName') format('svg');
src: url('font/iconfont.eot');
src: url('font/iconfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('font/iconfont.woff') format('woff'), /* chrome、firefox */ url('font/iconfont.ttf') format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/ url('font/iconfont.svg#svgFontName') format('svg');
/* iOS 4.1- */
}
.b-font {
@ -1415,21 +1416,6 @@ textarea::-webkit-scrollbar-thumb:hover {
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/check_box_normal.png');
_background: none;
}
.check-box-icon:hover .x-icon,
.check-box-icon.hover .x-icon {
display: block;
background: url('images/2x/icon/check_box_normal.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/check_box_normal.png');
background-size: contain;
_background: none;
}
.check-box-icon:hover .x-icon.hack,
.check-box-icon.hover .x-icon.hack {
background: url('images/1x/icon/check_box_normal.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/check_box_normal.png');
_background: none;
}
.check-box-icon:active .x-icon,
.check-box-icon.active .x-icon {
display: block;
background: url('images/2x/icon/check_box_active.png') no-repeat 0 0;
@ -1437,7 +1423,6 @@ textarea::-webkit-scrollbar-thumb:hover {
background-size: contain;
_background: none;
}
.check-box-icon:active .x-icon.hack,
.check-box-icon.active .x-icon.hack {
background: url('images/1x/icon/check_box_active.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/check_box_active.png');
@ -1455,18 +1440,6 @@ textarea::-webkit-scrollbar-thumb:hover {
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/check_box_disable.png');
_background: none;
}
.check-box-icon.disabled.active .x-icon {
display: block;
background: url('images/2x/icon/check_box_disable2.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/check_box_disable2.png');
background-size: contain;
_background: none;
}
.check-box-icon.disabled.active .x-icon.hack {
background: url('images/1x/icon/check_box_disable2.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/check_box_disable2.png');
_background: none;
}
.radio-icon .x-icon {
display: block;
background: url('images/2x/icon/radio_normal.png') no-repeat 0 0;
@ -1479,21 +1452,6 @@ textarea::-webkit-scrollbar-thumb:hover {
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/radio_normal.png');
_background: none;
}
.radio-icon:hover .x-icon,
.radio-icon.hover .x-icon {
display: block;
background: url('images/2x/icon/radio_normal.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/radio_normal.png');
background-size: contain;
_background: none;
}
.radio-icon:hover .x-icon.hack,
.radio-icon.hover .x-icon.hack {
background: url('images/1x/icon/radio_normal.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/radio_normal.png');
_background: none;
}
.radio-icon:active .x-icon,
.radio-icon.active .x-icon {
display: block;
background: url('images/2x/icon/radio_active.png') no-repeat 0 0;
@ -1501,7 +1459,6 @@ textarea::-webkit-scrollbar-thumb:hover {
background-size: contain;
_background: none;
}
.radio-icon:active .x-icon.hack,
.radio-icon.active .x-icon.hack {
background: url('images/1x/icon/radio_active.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/radio_active.png');
@ -1519,18 +1476,6 @@ textarea::-webkit-scrollbar-thumb:hover {
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/radio_disable.png');
_background: none;
}
.radio-icon.disabled.active .x-icon {
display: block;
background: url('images/2x/icon/radio_disable2.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/radio_disable2.png');
background-size: contain;
_background: none;
}
.radio-icon.disabled.active .x-icon.hack {
background: url('images/1x/icon/radio_disable2.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/radio_disable2.png');
_background: none;
}
.check-half-select-icon .x-icon {
display: block;
background: url('images/2x/icon/half_selected.png') no-repeat 0px 0px;

429
dist/widget.js vendored

@ -4307,7 +4307,11 @@ BI.MonthCombo = BI.inherit(BI.Widget, {
},
getValue: function () {
return this.popup.getValue();
if (BI.isNull(this.popup)) {
return this.options.value || "";
} else {
return this.popup.getValue() || "";
}
}
});
@ -5608,6 +5612,418 @@ BI.YearCard = BI.inherit(BI.MultiDateCard, {
BI.YearCard.EVENT_CHANGE = "EVENT_CHANGE";
BI.shortcut("bi.yearcard", BI.YearCard);
/**
* Created by roy on 15/8/14.
*/
BI.DownListCombo = BI.inherit(BI.Widget, {
_defaultConfig: function () {
return BI.extend(BI.DownListCombo.superclass._defaultConfig.apply(this, arguments), {
baseCls: "bi-multilayer-down-list-combo",
height: 24,
items: [],
adjustLength: 0,
direction: "bottom",
trigger: "click",
container: null,
stopPropagation: false,
el: {}
});
},
_init: function () {
BI.DownListCombo.superclass._init.apply(this, arguments);
var self = this, o = this.options;
this.popupview = BI.createWidget({
type: "bi.multi_layer_down_list_popup",
items: o.items,
chooseType: o.chooseType,
value: o.value
});
this.popupview.on(BI.DownListPopup.EVENT_CHANGE, function (value) {
self.fireEvent(BI.DownListCombo.EVENT_CHANGE, value);
self.downlistcombo.hideView();
});
this.popupview.on(BI.DownListPopup.EVENT_SON_VALUE_CHANGE, function (value, fatherValue) {
self.fireEvent(BI.DownListCombo.EVENT_SON_VALUE_CHANGE, value, fatherValue);
self.downlistcombo.hideView();
});
this.downlistcombo = BI.createWidget({
element: this,
type: "bi.combo",
trigger: o.trigger,
isNeedAdjustWidth: false,
container: o.container,
adjustLength: o.adjustLength,
direction: o.direction,
stopPropagation: o.stopPropagation,
el: BI.createWidget(o.el, {
type: "bi.icon_trigger",
extraCls: o.iconCls ? o.iconCls : "pull-down-font",
width: o.width,
height: o.height
}),
popup: {
el: this.popupview,
stopPropagation: true,
maxHeight: 1000
}
});
this.downlistcombo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW, function () {
self.fireEvent(BI.DownListCombo.EVENT_BEFORE_POPUPVIEW);
});
},
hideView: function () {
this.downlistcombo.hideView();
},
showView: function () {
this.downlistcombo.showView();
},
populate: function (items) {
this.popupview.populate(items);
},
setValue: function (v) {
this.popupview.setValue(v);
},
getValue: function () {
return this.popupview.getValue();
}
});
BI.DownListCombo.EVENT_CHANGE = "EVENT_CHANGE";
BI.DownListCombo.EVENT_SON_VALUE_CHANGE = "EVENT_SON_VALUE_CHANGE";
BI.DownListCombo.EVENT_BEFORE_POPUPVIEW = "EVENT_BEFORE_POPUPVIEW";
BI.shortcut("bi.multi_layer_down_list_combo", BI.DownListCombo);/**
* Created by roy on 15/9/8.
* 处理popup中的item分组样式
* 一个item分组中的成员大于一时该分组设置为单选并且默认状态第一个成员设置为已选择项
*/
BI.MultiLayerDownListPopup = BI.inherit(BI.Pane, {
constants: {
nextIcon: "pull-right-e-font",
height: 25,
iconHeight: 12,
iconWidth: 12,
hgap: 0,
vgap: 0,
border: 1
},
_defaultConfig: function () {
var conf = BI.MultiLayerDownListPopup.superclass._defaultConfig.apply(this, arguments);
return BI.extend(conf, {
baseCls: "bi-down-list-popup",
items: [],
chooseType: BI.Selection.Multi
});
},
_init: function () {
BI.MultiLayerDownListPopup.superclass._init.apply(this, arguments);
this.singleValues = [];
this.childValueMap = {};
this.fatherValueMap = {};
var self = this, o = this.options, children = this._createPopupItems(o.items);
this.popup = BI.createWidget({
type: "bi.button_tree",
items: BI.createItems(children,
{}, {
adjustLength: -2
}
),
layouts: [{
type: "bi.vertical",
hgap: this.constants.hgap,
vgap: this.constants.vgap
}],
value: this._digest(o.value),
chooseType: o.chooseType
});
this.popup.on(BI.ButtonTree.EVENT_CHANGE, function (value, object) {
var changedValue = value;
if (BI.isNotNull(self.childValueMap[value])) {
changedValue = self.childValueMap[value];
self.fireEvent(BI.MultiLayerDownListPopup.EVENT_SON_VALUE_CHANGE, changedValue, self.fatherValueMap[value]);
} else {
self.fireEvent(BI.MultiLayerDownListPopup.EVENT_CHANGE, changedValue, object);
}
if (!self.singleValues.contains(changedValue)) {
var item = self.getValue();
var result = [];
BI.each(item, function (i, valueObject) {
if (valueObject.value != changedValue) {
result.push(valueObject);
}
});
self.setValue(result);
}
});
BI.createWidget({
type: "bi.vertical",
element: this,
items: [this.popup]
});
},
_createPopupItems: function (items) {
var self = this, result = [];
BI.each(items, function (i, it) {
var item_done = {
type: "bi.down_list_group",
items: []
};
BI.each(it, function (i, item) {
if (BI.isNotEmptyArray(item.children) && !BI.isEmpty(item.el)) {
item.type = "bi.combo_group";
item.cls = "down-list-group";
item.trigger = "hover";
item.isNeedAdjustWidth = false;
item.el.title = item.el.title || item.el.text;
item.el.type = "bi.down_list_group_item";
item.el.logic = {
dynamic: true
};
item.el.height = self.constants.height;
item.el.iconCls2 = self.constants.nextIcon;
item.popup = {
lgap: 4,
el: {
type: "bi.button_tree",
chooseType: 0,
layouts: [{
type: "bi.vertical"
}]
}
};
item.el.childValues = [];
BI.each(item.children, function (i, child) {
child = child.el ? BI.extend(child.el, {children: child.children}) : child;
var fatherValue = BI.deepClone(item.el.value);
var childValue = BI.deepClone(child.value);
self.singleValues.push(child.value);
child.type = "bi.down_list_item";
child.extraCls = " child-down-list-item";
child.title = child.title || child.text;
child.textRgap = 10;
child.isNeedAdjustWidth = false;
child.logic = {
dynamic: true
};
child.father = fatherValue;
self.fatherValueMap[self._createChildValue(fatherValue, childValue)] = fatherValue;
self.childValueMap[self._createChildValue(fatherValue, childValue)] = childValue;
child.value = self._createChildValue(fatherValue, childValue);
item.el.childValues.push(child.value);
if (BI.isNotEmptyArray(child.children)) {
child.type = "bi.down_list_group_item";
self._createChildren(child);
child.height = self.constants.height;
child.iconCls2 = self.constants.nextIcon;
item.el.childValues = BI.concat(item.el.childValues, child.childValues);
}
});
} else {
item.type = "bi.down_list_item";
item.title = item.title || item.text;
item.textRgap = 10;
item.isNeedAdjustWidth = false;
item.logic = {
dynamic: true
};
}
var el_done = {};
el_done.el = item;
item_done.items.push(el_done);
});
if (self._isGroup(item_done.items)) {
BI.each(item_done.items, function (i, item) {
self.singleValues.push(item.el.value);
});
}
result.push(item_done);
if (self._needSpliter(i, items.length)) {
var spliter_container = BI.createWidget({
type: "bi.vertical",
items: [{
el: {
type: "bi.layout",
cls: "bi-down-list-spliter bi-border-top cursor-pointer",
height: 0
}
}],
cls: "bi-down-list-spliter-container cursor-pointer",
lgap: 10,
rgap: 10
});
result.push(spliter_container);
}
});
return result;
},
_createChildren: function (child) {
var self = this;
child.childValues = [];
BI.each(child.children, function (i, c) {
var fatherValue = BI.deepClone(child.value);
var childValue = BI.deepClone(c.value);
c.type = "bi.down_list_item";
c.title = c.title || c.text;
c.textRgap = 10;
c.isNeedAdjustWidth = false;
c.logic = {
dynamic: true
};
c.father = fatherValue;
self.fatherValueMap[self._createChildValue(fatherValue, childValue)] = fatherValue;
self.childValueMap[self._createChildValue(fatherValue, childValue)] = childValue;
c.value = self._createChildValue(fatherValue, childValue);
child.childValues.push(c.value);
});
},
_isGroup: function (i) {
return i.length > 1;
},
_needSpliter: function (i, itemLength) {
return i < itemLength - 1;
},
_createChildValue: function (fatherValue, childValue) {
var fValue = fatherValue;
if(BI.isArray(fatherValue)) {
fValue = fatherValue.join("_");
}
return fValue + "_" + childValue;
},
_digest: function (valueItem) {
var self = this;
var valueArray = [];
BI.each(valueItem, function (i, item) {
var value;
if (BI.isNotNull(item.childValue)) {
value = self._createChildValue(item.value, item.childValue);
} else {
value = item.value;
}
valueArray.push(value);
}
);
return valueArray;
},
_checkValues: function (values) {
var self = this, o = this.options;
var value = [];
BI.each(o.items, function (idx, itemGroup) {
BI.each(itemGroup, function (id, item) {
if(BI.isNotNull(item.children)) {
var childValues = getChildrenValue(item);
var v = joinValue(childValues, values[idx]);
if(BI.isNotEmptyString(v)) {
value.push(v);
}
}else{
if(item.value === values[idx][0]) {
value.push(values[idx][0]);
}
}
});
});
return value;
function joinValue (sources, targets) {
var value = "";
BI.some(sources, function (idx, s) {
return BI.some(targets, function (id, t) {
if(s === t) {
value = s;
return true;
}
});
});
return value;
}
function getChildrenValue (item) {
var children = [];
if(BI.isNotNull(item.children)) {
BI.each(item.children, function (idx, child) {
children = BI.concat(children, getChildrenValue(child));
});
} else {
children.push(item.value);
}
return children;
}
},
populate: function (items) {
BI.MultiLayerDownListPopup.superclass.populate.apply(this, arguments);
var self = this;
self.childValueMap = {};
self.fatherValueMap = {};
self.singleValues = [];
var children = self._createPopupItems(items);
var popupItem = BI.createItems(children,
{}, {
adjustLength: -2
}
);
self.popup.populate(popupItem);
},
setValue: function (valueItem) {
this.popup.setValue(this._digest(valueItem));
},
_getValue: function () {
var v = [];
BI.each(this.popup.getAllButtons(), function (i, item) {
i % 2 === 0 && v.push(item.getValue());
});
return v;
},
getValue: function () {
var self = this, result = [];
var values = this._checkValues(this._getValue());
BI.each(values, function (i, value) {
var valueItem = {};
if (BI.isNotNull(self.childValueMap[value])) {
var fartherValue = self.fatherValueMap[value];
valueItem.childValue = self.childValueMap[value];
valueItem.value = fartherValue.split("_");
} else {
valueItem.value = value;
}
result.push(valueItem);
});
return result;
}
});
BI.MultiLayerDownListPopup.EVENT_CHANGE = "EVENT_CHANGE";
BI.MultiLayerDownListPopup.EVENT_SON_VALUE_CHANGE = "EVENT_SON_VALUE_CHANGE";
BI.shortcut("bi.multi_layer_down_list_popup", BI.MultiLayerDownListPopup);/**
* @class BI.MultiLayerSelectTreeCombo
* @extends BI.Widget
*/
@ -8421,7 +8837,7 @@ BI.MultiSelectSearchLoader = BI.inherit(BI.Widget, {
});
if (BI.isKey(keyword)) {
var search = BI.Func.getSearchResult(newValues, keyword);
values = search.matched.concat(search.find);
values = search.match.concat(search.find);
}
return BI.map(values, function (i, v) {
return {
@ -11957,8 +12373,12 @@ BI.QuarterCombo = BI.inherit(BI.Widget, {
},
getValue: function () {
if (BI.isNull(this.popup)) {
return this.options.value || "";
} else {
return this.popup.getValue() || "";
}
}
});
BI.QuarterCombo.EVENT_CONFIRM = "EVENT_CONFIRM";
@ -17471,8 +17891,12 @@ BI.YearCombo = BI.inherit(BI.Widget, {
},
getValue: function () {
if (BI.isNull(this.popup)) {
return this.options.value;
} else {
return this.popup.getValue();
}
}
});
BI.YearCombo.EVENT_CONFIRM = "EVENT_CONFIRM";
BI.YearCombo.EVENT_BEFORE_POPUPVIEW = "EVENT_BEFORE_POPUPVIEW";
@ -17731,6 +18155,7 @@ BI.YearMonthCombo = BI.inherit(BI.Widget, {
});
this.month.on(BI.MonthCombo.EVENT_CONFIRM, function () {
self.getValue();
self.fireEvent(BI.YearMonthCombo.EVENT_CONFIRM);
});
this.month.on(BI.MonthCombo.EVENT_BEFORE_POPUPVIEW, function () {

2
lodash.md

@ -1 +1 @@
lodash core plus=debounce,throttle,get,findIndex,findLastIndex,findKey,findLastKey,isArrayLike,invert,invertBy,uniq,uniqBy,omit,omitBy,zip,unzip,rest,range,random,reject,intersection,drop,countBy,union,zipObject
lodash core plus=debounce,throttle,get,findIndex,findLastIndex,findKey,findLastKey,isArrayLike,invert,invertBy,uniq,uniqBy,omit,omitBy,zip,unzip,rest,range,random,reject,intersection,drop,countBy,union,zipObject,initial,cloneDeep,clamp,isPlainObject,take,takeRight,without

3
package.json

@ -18,7 +18,8 @@
"scripts": {
"grunt": "grunt",
"start": "node server.js",
"uglify": "grunt min"
"uglify": "grunt min",
"build": "grunt build"
},
"repository": {
"type": "git",

1583
public/bundle.css

File diff suppressed because it is too large Load Diff

3
public/css/font.css

@ -1,6 +1,7 @@
@font-face {
font-family: 'bi';
src: url('https://fanruan.coding.me/fineui/dist/font/iconfont.eot'), /* IE6-IE8 */ url('https://fanruan.coding.me/fineui/dist/font/iconfont.woff') format('woff'), /* chrome、firefox */ url('https://fanruan.coding.me/fineui/dist/font/iconfont.ttf') format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/ url('https://fanruan.coding.me/fineui/dist/font/iconfont.svg#svgFontName') format('svg');
src: url('https://fanruan.coding.me/fineui/dist/font/iconfont.eot');
src: url('https://fanruan.coding.me/fineui/dist/font/iconfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('https://fanruan.coding.me/fineui/dist/font/iconfont.woff') format('woff'), /* chrome、firefox */ url('https://fanruan.coding.me/fineui/dist/font/iconfont.ttf') format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/ url('https://fanruan.coding.me/fineui/dist/font/iconfont.svg#svgFontName') format('svg');
/* iOS 4.1- */
}
.b-font {

56
public/css/icon.css

@ -274,21 +274,6 @@
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/check_box_normal.png');
_background: none;
}
.check-box-icon:hover .x-icon,
.check-box-icon.hover .x-icon {
display: block;
background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/check_box_normal.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/check_box_normal.png');
background-size: contain;
_background: none;
}
.check-box-icon:hover .x-icon.hack,
.check-box-icon.hover .x-icon.hack {
background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/check_box_normal.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/check_box_normal.png');
_background: none;
}
.check-box-icon:active .x-icon,
.check-box-icon.active .x-icon {
display: block;
background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/check_box_active.png') no-repeat 0 0;
@ -296,7 +281,6 @@
background-size: contain;
_background: none;
}
.check-box-icon:active .x-icon.hack,
.check-box-icon.active .x-icon.hack {
background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/check_box_active.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/check_box_active.png');
@ -314,18 +298,6 @@
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/check_box_disable.png');
_background: none;
}
.check-box-icon.disabled.active .x-icon {
display: block;
background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/check_box_disable2.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/check_box_disable2.png');
background-size: contain;
_background: none;
}
.check-box-icon.disabled.active .x-icon.hack {
background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/check_box_disable2.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/check_box_disable2.png');
_background: none;
}
.radio-icon .x-icon {
display: block;
background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/radio_normal.png') no-repeat 0 0;
@ -338,21 +310,6 @@
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/radio_normal.png');
_background: none;
}
.radio-icon:hover .x-icon,
.radio-icon.hover .x-icon {
display: block;
background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/radio_normal.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/radio_normal.png');
background-size: contain;
_background: none;
}
.radio-icon:hover .x-icon.hack,
.radio-icon.hover .x-icon.hack {
background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/radio_normal.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/radio_normal.png');
_background: none;
}
.radio-icon:active .x-icon,
.radio-icon.active .x-icon {
display: block;
background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/radio_active.png') no-repeat 0 0;
@ -360,7 +317,6 @@
background-size: contain;
_background: none;
}
.radio-icon:active .x-icon.hack,
.radio-icon.active .x-icon.hack {
background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/radio_active.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/radio_active.png');
@ -378,18 +334,6 @@
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/radio_disable.png');
_background: none;
}
.radio-icon.disabled.active .x-icon {
display: block;
background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/radio_disable2.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/radio_disable2.png');
background-size: contain;
_background: none;
}
.radio-icon.disabled.active .x-icon.hack {
background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/radio_disable2.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/radio_disable2.png');
_background: none;
}
.check-half-select-icon .x-icon {
display: block;
background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/half_selected.png') no-repeat 0px 0px;

2
src/base/base.js

@ -3,6 +3,6 @@ BI.Layers = new BI.LayerController();
BI.Maskers = new BI.MaskersController();
BI.Bubbles = new BI.BubblesController();
BI.Tooltips = new BI.TooltipsController();
BI.Popovers = new BI.FloatBoxController();
BI.Popovers = new BI.PopoverController();
BI.Broadcasts = new BI.BroadcastController();
BI.StyleLoaders = new BI.StyleLoaderManager();

152
src/base/layer/layer.floatbox.js

@ -1,152 +0,0 @@
/**
* floatBox弹出层
* @class BI.FloatBox
* @extends BI.Widget
*/
BI.FloatBox = BI.inherit(BI.Widget, {
_defaultConfig: function () {
return BI.extend(BI.FloatBox.superclass._defaultConfig.apply(this, arguments), {
baseCls: "bi-float-box bi-card",
width: 600,
height: 500
});
},
_init: function () {
BI.FloatBox.superclass._init.apply(this, arguments);
var self = this, o = this.options;
this.showAction = new BI.ShowAction({
tar: this
});
this._center = BI.createWidget();
this._north = BI.createWidget();
this.element.draggable && this.element.draggable({
handle: ".bi-message-title",
drag: function (e, ui) {
var W = $("body").width(), H = $("body").height();
if (ui.position.left + o.width > W) {
ui.position.left = W - o.width;
}
if (ui.position.top + o.height > H) {
ui.position.top = H - o.height;
}
if (ui.position.left < 0) {
ui.position.left = 0;
}
if (ui.position.top < 0) {
ui.position.top = 0;
}
// BI-12134 没有什么特别好的方法
BI.Resizers._resize();
}
});
this._south = BI.createWidget();
BI.createWidget({
type: "bi.border",
element: this,
items: {
north: {
el: {
type: "bi.border",
cls: "bi-message-title bi-background",
items: {
center: {
el: {
type: "bi.absolute",
items: [{
el: this._north,
left: 10,
top: 0,
right: 0,
bottom: 0
}]
}
},
east: {
el: {
type: "bi.icon_button",
cls: "bi-message-close close-font",
height: 36,
handler: function () {
self.currentSectionProvider.close();
}
},
width: 60
}
}
},
height: 36
},
center: {
el: {
type: "bi.absolute",
items: [{
el: this._center,
left: 20,
top: 20,
right: 20,
bottom: 0
}]
}
},
south: {
el: {
type: "bi.absolute",
items: [{
el: this._south,
left: 20,
top: 0,
right: 20,
bottom: 0
}]
},
height: 44
}
}
});
},
populate: function (sectionProvider) {
var self = this;
if (this.currentSectionProvider && this.currentSectionProvider !== sectionProvider) {
this.currentSectionProvider.destroy();
}
this.currentSectionProvider = sectionProvider;
sectionProvider.rebuildNorth(this._north);
sectionProvider.rebuildCenter(this._center);
sectionProvider.rebuildSouth(this._south);
sectionProvider.on(BI.PopoverSection.EVENT_CLOSE, function () {
self.close();
});
},
show: function () {
this.showAction.actionPerformed();
},
hide: function () {
this.showAction.actionBack();
},
open: function () {
this.show();
this.fireEvent(BI.FloatBox.EVENT_FLOAT_BOX_OPEN);
},
close: function () {
this.hide();
this.fireEvent(BI.FloatBox.EVENT_FLOAT_BOX_CLOSED);
},
setZindex: function (zindex) {
this.element.css({"z-index": zindex});
},
destroyed: function () {
this.currentSectionProvider && this.currentSectionProvider.destroy();
}
});
BI.shortcut("bi.float_box", BI.FloatBox);
BI.FloatBox.EVENT_FLOAT_BOX_CLOSED = "EVENT_FLOAT_BOX_CLOSED";
BI.FloatBox.EVENT_FLOAT_BOX_OPEN = "EVENT_FLOAT_BOX_CLOSED";

176
src/base/layer/layer.popover.js

@ -0,0 +1,176 @@
/**
* Popover弹出层
* @class BI.Popover
* @extends BI.Widget
*/
BI.Popover = BI.inherit(BI.Widget, {
_defaultConfig: function () {
return BI.extend(BI.Popover.superclass._defaultConfig.apply(this, arguments), {
baseCls: "bi-popover bi-card",
width: 600,
height: 500,
header: null,
body: null,
footer: null
});
},
render: function () {
var self = this, o = this.options;
this.element.draggable && this.element.draggable({
handle: ".bi-message-title",
drag: function (e, ui) {
var W = $("body").width(), H = $("body").height();
if (ui.position.left + o.width > W) {
ui.position.left = W - o.width;
}
if (ui.position.top + o.height > H) {
ui.position.top = H - o.height;
}
if (ui.position.left < 0) {
ui.position.left = 0;
}
if (ui.position.top < 0) {
ui.position.top = 0;
}
// BI-12134 没有什么特别好的方法
BI.Resizers._resize();
}
});
var items = {
north: {
el: {
type: "bi.border",
cls: "bi-message-title bi-background",
items: {
center: {
el: {
type: "bi.absolute",
items: [{
el: BI.createWidget(o.header),
left: 10,
top: 0,
right: 0,
bottom: 0
}]
}
},
east: {
el: {
type: "bi.icon_button",
cls: "bi-message-close close-font",
height: 36,
handler: function () {
self.close();
}
},
width: 60
}
}
},
height: 36
},
center: {
el: {
type: "bi.absolute",
items: [{
el: BI.createWidget(o.body),
left: 20,
top: 20,
right: 20,
bottom: 0
}]
}
}
};
if (o.footer) {
items.south = {
el: {
type: "bi.absolute",
items: [{
el: BI.createWidget(o.footer),
left: 20,
top: 0,
right: 20,
bottom: 0
}]
},
height: 44
};
}
BI.createWidget({
type: "bi.border",
element: this,
items: items
});
},
show: function () {
},
hide: function () {
},
open: function () {
this.show();
this.fireEvent(BI.Popover.EVENT_OPEN, arguments);
},
close: function () {
this.hide();
this.fireEvent(BI.Popover.EVENT_CLOSE, arguments);
},
setZindex: function (zindex) {
this.element.css({"z-index": zindex});
},
destroyed: function () {
}
});
BI.shortcut("bi.popover", BI.Popover);
BI.BarPopover = BI.inherit(BI.Popover, {
_defaultConfig: function () {
return BI.extend(BI.BarPopover.superclass._defaultConfig.apply(this, arguments), {
btns: [BI.i18nText(BI.i18nText("BI-Basic_Sure")), BI.i18nText(BI.i18nText("BI-Basic_Cancel"))]
});
},
beforeCreate: function () {
var self = this, o = this.options;
o.footer || (o.footer = {
type: "bi.right_vertical_adapt",
lgap: 10,
items: [{
type: "bi.button",
text: this.options.btns[1],
value: 1,
level: "ignore",
handler: function (v) {
self.fireEvent(BI.Popover.EVENT_CANCEL, v);
self.close(v);
}
}, {
type: "bi.button",
text: this.options.btns[0],
warningTitle: o.warningTitle,
value: 0,
handler: function (v) {
self.fireEvent(BI.Popover.EVENT_CONFIRM, v);
self.close(v);
}
}]
});
}
});
BI.shortcut("bi.bar_popover", BI.BarPopover);
BI.Popover.EVENT_CLOSE = "EVENT_CLOSE";
BI.Popover.EVENT_OPEN = "EVENT_OPEN";
BI.Popover.EVENT_CANCEL = "EVENT_CANCEL";
BI.Popover.EVENT_CONFIRM = "EVENT_CONFIRM";

2
src/case/combo/iconcombo/combo.icon.js

@ -8,7 +8,7 @@ BI.IconCombo = BI.inherit(BI.Widget, {
_defaultConfig: function () {
return BI.extend(BI.IconCombo.superclass._defaultConfig.apply(this, arguments), {
baseCls: "bi-icon-combo",
width: 24,
width: 28,
height: 24,
el: {},
popup: {},

8
src/case/combo/iconcombo/trigger.iconcombo.js

@ -11,8 +11,8 @@ BI.IconComboTrigger = BI.inherit(BI.Trigger, {
el: {},
items: [],
iconCls: "",
width: 25,
height: 25,
width: 28,
height: 24,
isShowDown: true,
value: ""
});
@ -30,7 +30,7 @@ BI.IconComboTrigger = BI.inherit(BI.Trigger, {
cls: "icon-combo-trigger-icon",
iconCls: iconCls,
disableSelected: true,
width: o.width,
width: o.width - 12,
height: o.height,
iconWidth: o.iconWidth,
iconHeight: o.iconHeight,
@ -41,7 +41,7 @@ BI.IconComboTrigger = BI.inherit(BI.Trigger, {
disableSelected: true,
cls: "icon-combo-down-icon trigger-triangle-font",
width: 12,
height: 8,
height: o.height,
selected: BI.isNotEmptyString(iconCls)
});
this.down.setVisible(o.isShowDown);

50
src/case/floatbox/floatboxsection.bar.js

@ -1,50 +0,0 @@
/**
* 有确定取消按钮的弹出层
* @class BI.BarPopoverSection
* @extends BI.PopoverSection
* @abstract
*/
BI.BarPopoverSection = BI.inherit(BI.PopoverSection, {
_defaultConfig: function () {
return BI.extend(BI.BarPopoverSection.superclass._defaultConfig.apply(this, arguments), {
btns: [BI.i18nText(BI.i18nText("BI-Basic_Sure")), BI.i18nText(BI.i18nText("BI-Basic_Cancel"))]
});
},
_init: function () {
BI.BarPopoverSection.superclass._init.apply(this, arguments);
},
rebuildSouth: function (south) {
var self = this, o = this.options;
this.sure = BI.createWidget({
type: "bi.button",
text: this.options.btns[0],
warningTitle: o.warningTitle,
value: 0,
handler: function (v) {
self.end();
self.close(v);
}
});
this.cancel = BI.createWidget({
type: "bi.button",
text: this.options.btns[1],
value: 1,
level: "ignore",
handler: function (v) {
self.close(v);
}
});
BI.createWidget({
type: "bi.right_vertical_adapt",
element: south,
lgap: 10,
items: [this.cancel, this.sure]
});
},
setConfirmButtonEnable: function (v) {
this.sure.setEnable(!!v);
}
});

4
src/case/loader/loader.lazy.js

@ -37,8 +37,8 @@ BI.LazyLoader = BI.inherit(BI.Widget, {
_getNextItems: function (options) {
var self = this, o = this.options;
var lastNum = o.items.length - this._const.PAGE * (options.times - 1);
var lastItems = BI.last(o.items, lastNum);
var nextItems = BI.first(lastItems, this._const.PAGE);
var lastItems = BI.takeRight(o.items, lastNum);
var nextItems = BI.take(lastItems, this._const.PAGE);
return nextItems;
},

26
src/core/adapter/adapter.floatsection.js

@ -1,26 +0,0 @@
/**
* 弹出层
* @class BI.PopoverSection
* @extends BI.Widget
* @abstract
*/
BI.PopoverSection = BI.inherit(BI.Widget, {
_init: function () {
BI.PopoverSection.superclass._init.apply(this, arguments);
},
rebuildNorth: function (north) {
return true;
},
rebuildCenter: function (center) {},
rebuildSouth: function (south) {
return false;
},
close: function () {
this.fireEvent(BI.PopoverSection.EVENT_CLOSE);
},
end: function () {
}
});
BI.PopoverSection.EVENT_CLOSE = "EVENT_CLOSE";

64
src/core/base.js

@ -163,7 +163,7 @@ if (!window.BI) {
BI[name] = _apply(name);
});
_.each(["get", "each", "map", "reduce", "reduceRight", "find", "filter", "reject", "every", "all", "some", "any", "max", "min",
"sortBy", "groupBy", "indexBy", "countBy", "partition"], function (name) {
"sortBy", "groupBy", "indexBy", "countBy", "partition", "clamp"], function (name) {
if (name === "any") {
BI[name] = _applyFunc("some");
} else {
@ -171,15 +171,6 @@ if (!window.BI) {
}
});
_.extend(BI, {
clamp: function (value, minValue, maxValue) {
if (value < minValue) {
value = minValue;
}
if (value > maxValue) {
value = maxValue;
}
return value;
},
// 数数
count: function (from, to, predicate) {
var t;
@ -368,7 +359,7 @@ if (!window.BI) {
// 数组相关的方法
_.each(["first", "initial", "last", "rest", "compact", "flatten", "without", "union", "intersection",
"difference", "zip", "unzip", "object", "indexOf", "lastIndexOf", "sortedIndex", "range"], function (name) {
"difference", "zip", "unzip", "object", "indexOf", "lastIndexOf", "sortedIndex", "range", "take", "takeRight"], function (name) {
BI[name] = _apply(name);
});
_.each(["findIndex", "findLastIndex"], function (name) {
@ -432,8 +423,8 @@ if (!window.BI) {
// 对象相关方法
_.each(["keys", "allKeys", "values", "pairs", "invert", "create", "functions", "extend", "extendOwn",
"defaults", "clone", "property", "propertyOf", "matcher", "isEqual", "isMatch", "isEmpty",
"isElement", "isNumber", "isString", "isArray", "isObject", "isArguments", "isFunction", "isFinite",
"isBoolean", "isDate", "isRegExp", "isError", "isNaN", "isUndefined", "zipObject"], function (name) {
"isElement", "isNumber", "isString", "isArray", "isObject", "isPlainObject", "isArguments", "isFunction", "isFinite",
"isBoolean", "isDate", "isRegExp", "isError", "isNaN", "isUndefined", "zipObject", "cloneDeep"], function (name) {
BI[name] = _apply(name);
});
_.each(["mapObject", "findKey", "pick", "omit", "tap"], function (name) {
@ -500,10 +491,6 @@ if (!window.BI) {
return typeof obj === "undefined" || obj === null;
},
isPlainObject: function () {
return $.isPlainObject.apply($, arguments);
},
isEmptyArray: function (arr) {
return BI.isArray(arr) && BI.isEmpty(arr);
},
@ -535,48 +522,7 @@ if (!window.BI) {
// deep方法
_.extend(BI, {
/**
*完全克隆<EFBFBD>?个js对象
* @param obj
* @returns {*}
*/
deepClone: function (obj) {
if (obj === null || obj === undefined) {
return obj;
}
var type = Object.prototype.toString.call(obj);
// Date
if (type === "[object Date]") {
return BI.getDate(obj.getTime());
}
var i, clone, key;
// Array
if (type === "[object Array]") {
i = obj.length;
clone = [];
while (i--) {
clone[i] = BI.deepClone(obj[i]);
}
}
// Object
else if (type === "[object Object]" && obj.constructor === Object) {
clone = {};
for (var i in obj) {
if (BI.has(obj, i)) {
clone[i] = BI.deepClone(obj[i]);
}
}
}
return clone || obj;
},
deepClone: _.cloneDeep,
isDeepMatch: function (object, attrs) {
var keys = BI.keys(attrs), length = keys.length;

20
src/core/controller/controller.layer.js

@ -27,14 +27,15 @@ BI.LayerController = BI.inherit(BI.Controller, {
});
},
make: function (name, container, op) {
make: function (name, container, op, context) {
if (BI.isWidget(container)) {
op = op || {};
op.container = container;
} else {
context = op;
op = container;
}
return this.create(name, null, op);
return this.create(name, null, op, context);
},
create: function (name, from, op, context) {
@ -53,10 +54,9 @@ BI.LayerController = BI.inherit(BI.Controller, {
if (this.has(name)) {
return this.get(name);
}
var widget = BI.createWidget((op.render || {}), {
type: "bi.layout",
cls: op.cls
}, context);
var widget = BI.createWidget((op.render || {}), BI.extend({
type: "bi.layout"
}, op), context);
var layout = BI.createWidget({
type: "bi.absolute",
items: [{
@ -83,16 +83,16 @@ BI.LayerController = BI.inherit(BI.Controller, {
layout.element.css({
left: w.offset().left + (offset.left || 0),
top: w.offset().top + (offset.top || 0),
width: offset.width || (w.outerWidth() - (offset.right || 0)) || "",
height: offset.height || (w.outerHeight() - (offset.bottom || 0)) || ""
width: offset.width || (w.outerWidth() - (offset.left || 0) - (offset.right || 0)) || "",
height: offset.height || (w.outerHeight() - (offset.top || 0) - (offset.bottom || 0)) || ""
});
layout.element.on("__resize__", function () {
w.is(":visible") &&
layout.element.css({
left: w.offset().left + (offset.left || 0),
top: w.offset().top + (offset.top || 0),
width: offset.width || (w.outerWidth() - (offset.right || 0)) || "",
height: offset.height || (w.outerHeight() - (offset.bottom || 0)) || ""
width: offset.width || (w.outerWidth() - (offset.left || 0) - (offset.right || 0)) || "",
height: offset.height || (w.outerHeight() - (offset.top || 0) - (offset.bottom || 0)) || ""
});
});
}

39
src/core/controller/controller.floatbox.js → src/core/controller/controller.popover.js

@ -1,25 +1,25 @@
/**
* guy
* FloatBox弹出层控制器, z-index在100w层级
* @class BI.FloatBoxController
* popover弹出层控制器, z-index在100w层级
* @class BI.popoverController
* @extends BI.Controller
*/
BI.FloatBoxController = BI.inherit(BI.Controller, {
BI.PopoverController = BI.inherit(BI.Controller, {
_defaultConfig: function () {
return BI.extend(BI.FloatBoxController.superclass._defaultConfig.apply(this, arguments), {
return BI.extend(BI.PopoverController.superclass._defaultConfig.apply(this, arguments), {
modal: true, // 模态窗口
render: "body"
});
},
_init: function () {
BI.FloatBoxController.superclass._init.apply(this, arguments);
BI.PopoverController.superclass._init.apply(this, arguments);
this.modal = this.options.modal;
this.floatManager = {};
this.floatLayer = {};
this.floatContainer = {};
this.floatOpened = {};
this.zindex = BI.zIndex_floatbox;
this.zindex = BI.zIndex_popover;
this.zindexMap = {};
},
@ -27,19 +27,18 @@ BI.FloatBoxController = BI.inherit(BI.Controller, {
return BI.isNotNull(this.floatManager[name]);
},
create: function (name, section, options, context) {
create: function (name, options, context) {
if (this._check(name)) {
return this;
}
var floatbox = BI.createWidget({
type: "bi.float_box"
}, options, context);
floatbox.populate(section);
this.add(name, floatbox, options, context);
var popover = BI.createWidget(options || {}, {
type: "bi.popover"
}, context);
this.add(name, popover, options, context);
return this;
},
add: function (name, floatbox, options, context) {
add: function (name, popover, options, context) {
var self = this;
options || (options = {});
if (this._check(name)) {
@ -51,7 +50,7 @@ BI.FloatBoxController = BI.inherit(BI.Controller, {
items: [{
el: (this.floatLayer[name] = BI.createWidget({
type: "bi.absolute",
items: [floatbox]
items: [popover]
}, context)),
left: 0,
right: 0,
@ -59,9 +58,9 @@ BI.FloatBoxController = BI.inherit(BI.Controller, {
bottom: 0
}]
});
this.floatManager[name] = floatbox;
this.floatManager[name] = popover;
(function (key) {
floatbox.on(BI.FloatBox.EVENT_FLOAT_BOX_CLOSED, function () {
popover.on(BI.Popover.EVENT_CLOSE, function () {
self.close(key);
});
})(name);
@ -92,10 +91,10 @@ BI.FloatBoxController = BI.inherit(BI.Controller, {
this.modal && container.element.__buildZIndexMask__(this.zindex++);
this.get(name).setZindex(this.zindex++);
this.floatContainer[name].visible();
var floatbox = this.get(name);
floatbox.show();
var popover = this.get(name);
popover.show && popover.show();
var W = $(this.options.render).width(), H = $(this.options.render).height();
var w = floatbox.element.width(), h = floatbox.element.height();
var w = popover.element.width(), h = popover.element.height();
var left = (W - w) / 2, top = (H - h) / 2;
if (left < 0) {
left = 0;
@ -103,7 +102,7 @@ BI.FloatBoxController = BI.inherit(BI.Controller, {
if (top < 0) {
top = 0;
}
floatbox.element.css({
popover.element.css({
left: left + "px",
top: top + "px"
});

256
src/core/lodash.js

@ -1,7 +1,7 @@
/**
* @license
* Lodash (Custom Build) <https://lodash.com/>
* Build: `lodash core plus="debounce,throttle,get,findIndex,findLastIndex,findKey,findLastKey,isArrayLike,invert,invertBy,uniq,uniqBy,omit,omitBy,zip,unzip,rest,range,random,reject,intersection,drop,countBy,union,zipObject"`
* Build: `lodash core plus="debounce,throttle,get,findIndex,findLastIndex,findKey,findLastKey,isArrayLike,invert,invertBy,uniq,uniqBy,omit,omitBy,zip,unzip,rest,range,random,reject,intersection,drop,countBy,union,zipObject,initial,cloneDeep,clamp,isPlainObject,take,takeRight,without"`
* Copyright JS Foundation and other contributors <https://js.foundation/>
* Released under MIT license <https://lodash.com/license>
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
@ -1983,6 +1983,27 @@
return result;
}
/**
* The base implementation of `_.clamp` which doesn't coerce arguments.
*
* @private
* @param {number} number The number to clamp.
* @param {number} [lower] The lower bound.
* @param {number} upper The upper bound.
* @returns {number} Returns the clamped number.
*/
function baseClamp(number, lower, upper) {
if (number === number) {
if (upper !== undefined) {
number = number <= upper ? number : upper;
}
if (lower !== undefined) {
number = number >= lower ? number : lower;
}
}
return number;
}
/**
* The base implementation of `_.clone` and `_.cloneDeep` which tracks
* traversed objects.
@ -2098,6 +2119,62 @@
return setTimeout(function() { func.apply(undefined, args); }, wait);
}
/**
* The base implementation of methods like `_.difference` without support
* for excluding multiple arrays or iteratee shorthands.
*
* @private
* @param {Array} array The array to inspect.
* @param {Array} values The values to exclude.
* @param {Function} [iteratee] The iteratee invoked per element.
* @param {Function} [comparator] The comparator invoked per element.
* @returns {Array} Returns the new array of filtered values.
*/
function baseDifference(array, values, iteratee, comparator) {
var index = -1,
includes = arrayIncludes,
isCommon = true,
length = array.length,
result = [],
valuesLength = values.length;
if (!length) {
return result;
}
if (iteratee) {
values = arrayMap(values, baseUnary(iteratee));
}
if (comparator) {
includes = arrayIncludesWith;
isCommon = false;
}
else if (values.length >= LARGE_ARRAY_SIZE) {
includes = cacheHas;
isCommon = false;
values = new SetCache(values);
}
outer:
while (++index < length) {
var value = array[index],
computed = iteratee == null ? value : iteratee(value);
value = (comparator || value !== 0) ? value : 0;
if (isCommon && computed === computed) {
var valuesIndex = valuesLength;
while (valuesIndex--) {
if (values[valuesIndex] === computed) {
continue outer;
}
}
result.push(value);
}
else if (!includes(values, computed, comparator)) {
result.push(value);
}
}
return result;
}
/**
* The base implementation of `_.forEach` without support for iteratee shorthands.
*
@ -5472,6 +5549,25 @@
return baseIndexOf(array, value, index);
}
/**
* Gets all but the last element of `array`.
*
* @static
* @memberOf _
* @since 0.1.0
* @category Array
* @param {Array} array The array to query.
* @returns {Array} Returns the slice of `array`.
* @example
*
* _.initial([1, 2, 3]);
* // => [1, 2]
*/
function initial(array) {
var length = array == null ? 0 : array.length;
return length ? baseSlice(array, 0, -1) : [];
}
/**
* Creates an array of unique values that are included in all given arrays
* using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
@ -5574,6 +5670,74 @@
return baseSlice(array, start, end);
}
/**
* Creates a slice of `array` with `n` elements taken from the beginning.
*
* @static
* @memberOf _
* @since 0.1.0
* @category Array
* @param {Array} array The array to query.
* @param {number} [n=1] The number of elements to take.
* @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
* @returns {Array} Returns the slice of `array`.
* @example
*
* _.take([1, 2, 3]);
* // => [1]
*
* _.take([1, 2, 3], 2);
* // => [1, 2]
*
* _.take([1, 2, 3], 5);
* // => [1, 2, 3]
*
* _.take([1, 2, 3], 0);
* // => []
*/
function take(array, n, guard) {
if (!(array && array.length)) {
return [];
}
n = (guard || n === undefined) ? 1 : toInteger(n);
return baseSlice(array, 0, n < 0 ? 0 : n);
}
/**
* Creates a slice of `array` with `n` elements taken from the end.
*
* @static
* @memberOf _
* @since 3.0.0
* @category Array
* @param {Array} array The array to query.
* @param {number} [n=1] The number of elements to take.
* @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
* @returns {Array} Returns the slice of `array`.
* @example
*
* _.takeRight([1, 2, 3]);
* // => [3]
*
* _.takeRight([1, 2, 3], 2);
* // => [2, 3]
*
* _.takeRight([1, 2, 3], 5);
* // => [1, 2, 3]
*
* _.takeRight([1, 2, 3], 0);
* // => []
*/
function takeRight(array, n, guard) {
var length = array == null ? 0 : array.length;
if (!length) {
return [];
}
n = (guard || n === undefined) ? 1 : toInteger(n);
n = length - n;
return baseSlice(array, n < 0 ? 0 : n, length);
}
/**
* Creates an array of unique values, in order, from all given arrays using
* [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
@ -5678,6 +5842,32 @@
});
}
/**
* Creates an array excluding all given values using
* [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
* for equality comparisons.
*
* **Note:** Unlike `_.pull`, this method returns a new array.
*
* @static
* @memberOf _
* @since 0.1.0
* @category Array
* @param {Array} array The array to inspect.
* @param {...*} [values] The values to exclude.
* @returns {Array} Returns the new array of filtered values.
* @see _.difference, _.xor
* @example
*
* _.without([2, 1, 2, 3], 1, 2);
* // => [3]
*/
var without = baseRest(function(array, values) {
return isArrayLikeObject(array)
? baseDifference(array, values)
: [];
});
/**
* Creates an array of grouped elements, the first of which contains the
* first elements of the given arrays, the second of which contains the
@ -7087,6 +7277,28 @@
return baseClone(value, CLONE_SYMBOLS_FLAG);
}
/**
* This method is like `_.clone` except that it recursively clones `value`.
*
* @static
* @memberOf _
* @since 1.0.0
* @category Lang
* @param {*} value The value to recursively clone.
* @returns {*} Returns the deep cloned value.
* @see _.clone
* @example
*
* var objects = [{ 'a': 1 }, { 'b': 2 }];
*
* var deep = _.cloneDeep(objects);
* console.log(deep[0] === objects[0]);
* // => false
*/
function cloneDeep(value) {
return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);
}
/**
* Performs a
* [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
@ -8592,6 +8804,41 @@
/*------------------------------------------------------------------------*/
/**
* Clamps `number` within the inclusive `lower` and `upper` bounds.
*
* @static
* @memberOf _
* @since 4.0.0
* @category Number
* @param {number} number The number to clamp.
* @param {number} [lower] The lower bound.
* @param {number} upper The upper bound.
* @returns {number} Returns the clamped number.
* @example
*
* _.clamp(-10, -5, 5);
* // => -5
*
* _.clamp(10, -5, 5);
* // => 5
*/
function clamp(number, lower, upper) {
if (upper === undefined) {
upper = lower;
lower = undefined;
}
if (upper !== undefined) {
upper = toNumber(upper);
upper = upper === upper ? upper : 0;
}
if (lower !== undefined) {
lower = toNumber(lower);
lower = lower === lower ? lower : 0;
}
return baseClamp(toNumber(number), lower, upper);
}
/**
* Produces a random number between the inclusive `lower` and `upper` bounds.
* If only one argument is provided a number between `0` and the given number
@ -9131,6 +9378,7 @@
lodash.filter = filter;
lodash.flatten = flatten;
lodash.flattenDeep = flattenDeep;
lodash.initial = initial;
lodash.intersection = intersection;
lodash.invert = invert;
lodash.invertBy = invertBy;
@ -9149,6 +9397,8 @@
lodash.rest = rest;
lodash.slice = slice;
lodash.sortBy = sortBy;
lodash.take = take;
lodash.takeRight = takeRight;
lodash.tap = tap;
lodash.throttle = throttle;
lodash.thru = thru;
@ -9158,6 +9408,7 @@
lodash.uniqBy = uniqBy;
lodash.unzip = unzip;
lodash.values = values;
lodash.without = without;
lodash.zip = zip;
lodash.zipObject = zipObject;
@ -9170,7 +9421,9 @@
/*------------------------------------------------------------------------*/
// Add methods that return unwrapped values in chain sequences.
lodash.clamp = clamp;
lodash.clone = clone;
lodash.cloneDeep = cloneDeep;
lodash.escape = escape;
lodash.every = every;
lodash.find = find;
@ -9197,6 +9450,7 @@
lodash.isNull = isNull;
lodash.isNumber = isNumber;
lodash.isObject = isObject;
lodash.isPlainObject = isPlainObject;
lodash.isRegExp = isRegExp;
lodash.isString = isString;
lodash.isUndefined = isUndefined;

2
src/core/var.js

@ -7,7 +7,7 @@ _.extend(BI, {
MIN: -0xfffffffffffffff,
EVENT_RESPONSE_TIME: 200,
zIndex_layer: 1e5,
zIndex_floatbox: 1e6,
zIndex_popover: 1e6,
zIndex_popup: 1e7,
zIndex_masker: 1e8,
zIndex_tip: 1e9,

1
src/css/base/single/icon.css

@ -1,3 +1,4 @@
.x-icon.b-font {
margin: auto;
width: 100%;
}

1
src/css/base/single/tip/tip.toast.css

@ -1,5 +1,4 @@
.bi-toast {
position: fixed !important;
font-size: 14px;
color: #ffffff;
max-width: 400px;

1
src/css/base/single/tip/tip.tooltip.css

@ -1,5 +1,4 @@
.bi-tooltip {
position: fixed !important;
max-width: 250px;
-webkit-border-radius: 2px;
-moz-border-radius: 2px;

0
src/css/base/view/popover.css

3
src/css/resource/font.css

@ -1,6 +1,7 @@
@font-face {
font-family: 'bi';
src: url('font/iconfont.eot'), /* IE6-IE8 */ url('font/iconfont.woff') format('woff'), /* chrome、firefox */ url('font/iconfont.ttf') format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/ url('font/iconfont.svg#svgFontName') format('svg');
src: url('font/iconfont.eot');
src: url('font/iconfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('font/iconfont.woff') format('woff'), /* chrome、firefox */ url('font/iconfont.ttf') format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/ url('font/iconfont.svg#svgFontName') format('svg');
/* iOS 4.1- */
}
.b-font {

56
src/css/resource/icon.css

@ -274,21 +274,6 @@
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/check_box_normal.png');
_background: none;
}
.check-box-icon:hover .x-icon,
.check-box-icon.hover .x-icon {
display: block;
background: url('images/2x/icon/check_box_normal.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/check_box_normal.png');
background-size: contain;
_background: none;
}
.check-box-icon:hover .x-icon.hack,
.check-box-icon.hover .x-icon.hack {
background: url('images/1x/icon/check_box_normal.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/check_box_normal.png');
_background: none;
}
.check-box-icon:active .x-icon,
.check-box-icon.active .x-icon {
display: block;
background: url('images/2x/icon/check_box_active.png') no-repeat 0 0;
@ -296,7 +281,6 @@
background-size: contain;
_background: none;
}
.check-box-icon:active .x-icon.hack,
.check-box-icon.active .x-icon.hack {
background: url('images/1x/icon/check_box_active.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/check_box_active.png');
@ -314,18 +298,6 @@
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/check_box_disable.png');
_background: none;
}
.check-box-icon.disabled.active .x-icon {
display: block;
background: url('images/2x/icon/check_box_disable2.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/check_box_disable2.png');
background-size: contain;
_background: none;
}
.check-box-icon.disabled.active .x-icon.hack {
background: url('images/1x/icon/check_box_disable2.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/check_box_disable2.png');
_background: none;
}
.radio-icon .x-icon {
display: block;
background: url('images/2x/icon/radio_normal.png') no-repeat 0 0;
@ -338,21 +310,6 @@
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/radio_normal.png');
_background: none;
}
.radio-icon:hover .x-icon,
.radio-icon.hover .x-icon {
display: block;
background: url('images/2x/icon/radio_normal.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/radio_normal.png');
background-size: contain;
_background: none;
}
.radio-icon:hover .x-icon.hack,
.radio-icon.hover .x-icon.hack {
background: url('images/1x/icon/radio_normal.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/radio_normal.png');
_background: none;
}
.radio-icon:active .x-icon,
.radio-icon.active .x-icon {
display: block;
background: url('images/2x/icon/radio_active.png') no-repeat 0 0;
@ -360,7 +317,6 @@
background-size: contain;
_background: none;
}
.radio-icon:active .x-icon.hack,
.radio-icon.active .x-icon.hack {
background: url('images/1x/icon/radio_active.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/radio_active.png');
@ -378,18 +334,6 @@
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/radio_disable.png');
_background: none;
}
.radio-icon.disabled.active .x-icon {
display: block;
background: url('images/2x/icon/radio_disable2.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/radio_disable2.png');
background-size: contain;
_background: none;
}
.radio-icon.disabled.active .x-icon.hack {
background: url('images/1x/icon/radio_disable2.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/radio_disable2.png');
_background: none;
}
.check-half-select-icon .x-icon {
display: block;
background: url('images/2x/icon/half_selected.png') no-repeat 0px 0px;

1
src/less/base/single/icon.less

@ -1,3 +1,4 @@
.x-icon.b-font {
margin: auto;
width: 100%;
}

2
src/less/base/view/floatboxview.less → src/less/base/view/popover.less

@ -1,4 +1,4 @@
@import "../../index";
.bi-float-box {
.bi-popover {
}

10
src/less/image.less

@ -340,7 +340,7 @@
}
}
.icon_custom_select(@class, @iconPath, @hoverPath:none, @activePath, @selectPath) {
.icon_custom_select(@class, @iconPath, @selectPath, @disablePath: @iconPath) {
.@{class} {
& .x-icon {
display: block;
@ -351,16 +351,16 @@
}
&.active .x-icon {
display: block;
.image2xPath(@activePath, 0, 0);
.image2xPath(@selectPath, 0, 0);
&.hack {
.imagePath(@activePath, 0, 0);
.imagePath(@selectPath, 0, 0);
}
}
&.disabled .x-icon {
display: block;
.image2xPath(@iconPath, 0, 0);
.image2xPath(@disablePath, 0, 0);
&.hack {
.imagePath(@iconPath, 0, 0);
.imagePath(@disablePath, 0, 0);
}
}
}

3
src/less/resource/font.less

@ -4,7 +4,8 @@
@font-face {
font-family: 'bi';
src: url('@{fontUrl}iconfont.eot'), /* IE6-IE8 */ url('@{fontUrl}iconfont.woff') format('woff'), /* chrome、firefox */ url('@{fontUrl}iconfont.ttf') format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/ url('@{fontUrl}iconfont.svg#svgFontName') format('svg'); /* iOS 4.1- */
src: url('@{fontUrl}iconfont.eot');
src: url('@{fontUrl}iconfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('@{fontUrl}iconfont.woff') format('woff'), /* chrome、firefox */ url('@{fontUrl}iconfont.ttf') format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/ url('@{fontUrl}iconfont.svg#svgFontName') format('svg'); /* iOS 4.1- */
}
.b-font {

4
src/less/resource/icon.less

@ -59,9 +59,9 @@
}
//CheckBox
.icon_custom(check-box-icon, @icon-checkbox-normal, @icon-checkbox-normal, @icon-checkbox-active, @icon-checkbox-disable, @icon-checkbox-active-disable);
.icon_custom_select(check-box-icon, @icon-checkbox-normal, @icon-checkbox-active, @icon-checkbox-disable);
//Radio
.icon_custom(radio-icon, @icon-radio-normal, @icon-radio-normal, @icon-radio-active, @icon-radio-disable, @icon-radio-active-disable);
.icon_custom_select(radio-icon, @icon-radio-normal, @icon-radio-active, @icon-radio-disable);
//Half Select
.icon(check-half-select-icon, @icon-half-select);

2
src/less/var.less

@ -3,7 +3,7 @@
@image2xUrl: 'images/2x/'; //2x图片的基本地址
@zIndex-layer: 100000;
@zIndex-floatbox: 1000000;
@zIndex-popover: 1000000;
@zIndex-popup: 10000000;
@zIndex-masker: 100000000;
@zIndex-tip: 1000000000;

6
src/widget/month/combo.month.js

@ -78,7 +78,11 @@ BI.MonthCombo = BI.inherit(BI.Widget, {
},
getValue: function () {
return this.popup.getValue();
if (BI.isNull(this.popup)) {
return this.options.value || "";
} else {
return this.popup.getValue() || "";
}
}
});

90
src/widget/multilayerdownlist/combo.downlist.js

@ -0,0 +1,90 @@
/**
* Created by roy on 15/8/14.
*/
BI.DownListCombo = BI.inherit(BI.Widget, {
_defaultConfig: function () {
return BI.extend(BI.DownListCombo.superclass._defaultConfig.apply(this, arguments), {
baseCls: "bi-multilayer-down-list-combo",
height: 24,
items: [],
adjustLength: 0,
direction: "bottom",
trigger: "click",
container: null,
stopPropagation: false,
el: {}
});
},
_init: function () {
BI.DownListCombo.superclass._init.apply(this, arguments);
var self = this, o = this.options;
this.popupview = BI.createWidget({
type: "bi.multi_layer_down_list_popup",
items: o.items,
chooseType: o.chooseType,
value: o.value
});
this.popupview.on(BI.DownListPopup.EVENT_CHANGE, function (value) {
self.fireEvent(BI.DownListCombo.EVENT_CHANGE, value);
self.downlistcombo.hideView();
});
this.popupview.on(BI.DownListPopup.EVENT_SON_VALUE_CHANGE, function (value, fatherValue) {
self.fireEvent(BI.DownListCombo.EVENT_SON_VALUE_CHANGE, value, fatherValue);
self.downlistcombo.hideView();
});
this.downlistcombo = BI.createWidget({
element: this,
type: "bi.combo",
trigger: o.trigger,
isNeedAdjustWidth: false,
container: o.container,
adjustLength: o.adjustLength,
direction: o.direction,
stopPropagation: o.stopPropagation,
el: BI.createWidget(o.el, {
type: "bi.icon_trigger",
extraCls: o.iconCls ? o.iconCls : "pull-down-font",
width: o.width,
height: o.height
}),
popup: {
el: this.popupview,
stopPropagation: true,
maxHeight: 1000
}
});
this.downlistcombo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW, function () {
self.fireEvent(BI.DownListCombo.EVENT_BEFORE_POPUPVIEW);
});
},
hideView: function () {
this.downlistcombo.hideView();
},
showView: function () {
this.downlistcombo.showView();
},
populate: function (items) {
this.popupview.populate(items);
},
setValue: function (v) {
this.popupview.setValue(v);
},
getValue: function () {
return this.popupview.getValue();
}
});
BI.DownListCombo.EVENT_CHANGE = "EVENT_CHANGE";
BI.DownListCombo.EVENT_SON_VALUE_CHANGE = "EVENT_SON_VALUE_CHANGE";
BI.DownListCombo.EVENT_BEFORE_POPUPVIEW = "EVENT_BEFORE_POPUPVIEW";
BI.shortcut("bi.multi_layer_down_list_combo", BI.DownListCombo);

324
src/widget/multilayerdownlist/popup.downlist.js

@ -0,0 +1,324 @@
/**
* Created by roy on 15/9/8.
* 处理popup中的item分组样式
* 一个item分组中的成员大于一时该分组设置为单选并且默认状态第一个成员设置为已选择项
*/
BI.MultiLayerDownListPopup = BI.inherit(BI.Pane, {
constants: {
nextIcon: "pull-right-e-font",
height: 25,
iconHeight: 12,
iconWidth: 12,
hgap: 0,
vgap: 0,
border: 1
},
_defaultConfig: function () {
var conf = BI.MultiLayerDownListPopup.superclass._defaultConfig.apply(this, arguments);
return BI.extend(conf, {
baseCls: "bi-down-list-popup",
items: [],
chooseType: BI.Selection.Multi
});
},
_init: function () {
BI.MultiLayerDownListPopup.superclass._init.apply(this, arguments);
this.singleValues = [];
this.childValueMap = {};
this.fatherValueMap = {};
var self = this, o = this.options, children = this._createPopupItems(o.items);
this.popup = BI.createWidget({
type: "bi.button_tree",
items: BI.createItems(children,
{}, {
adjustLength: -2
}
),
layouts: [{
type: "bi.vertical",
hgap: this.constants.hgap,
vgap: this.constants.vgap
}],
value: this._digest(o.value),
chooseType: o.chooseType
});
this.popup.on(BI.ButtonTree.EVENT_CHANGE, function (value, object) {
var changedValue = value;
if (BI.isNotNull(self.childValueMap[value])) {
changedValue = self.childValueMap[value];
self.fireEvent(BI.MultiLayerDownListPopup.EVENT_SON_VALUE_CHANGE, changedValue, self.fatherValueMap[value]);
} else {
self.fireEvent(BI.MultiLayerDownListPopup.EVENT_CHANGE, changedValue, object);
}
if (!self.singleValues.contains(changedValue)) {
var item = self.getValue();
var result = [];
BI.each(item, function (i, valueObject) {
if (valueObject.value != changedValue) {
result.push(valueObject);
}
});
self.setValue(result);
}
});
BI.createWidget({
type: "bi.vertical",
element: this,
items: [this.popup]
});
},
_createPopupItems: function (items) {
var self = this, result = [];
BI.each(items, function (i, it) {
var item_done = {
type: "bi.down_list_group",
items: []
};
BI.each(it, function (i, item) {
if (BI.isNotEmptyArray(item.children) && !BI.isEmpty(item.el)) {
item.type = "bi.combo_group";
item.cls = "down-list-group";
item.trigger = "hover";
item.isNeedAdjustWidth = false;
item.el.title = item.el.title || item.el.text;
item.el.type = "bi.down_list_group_item";
item.el.logic = {
dynamic: true
};
item.el.height = self.constants.height;
item.el.iconCls2 = self.constants.nextIcon;
item.popup = {
lgap: 4,
el: {
type: "bi.button_tree",
chooseType: 0,
layouts: [{
type: "bi.vertical"
}]
}
};
item.el.childValues = [];
BI.each(item.children, function (i, child) {
child = child.el ? BI.extend(child.el, {children: child.children}) : child;
var fatherValue = BI.deepClone(item.el.value);
var childValue = BI.deepClone(child.value);
self.singleValues.push(child.value);
child.type = "bi.down_list_item";
child.extraCls = " child-down-list-item";
child.title = child.title || child.text;
child.textRgap = 10;
child.isNeedAdjustWidth = false;
child.logic = {
dynamic: true
};
child.father = fatherValue;
self.fatherValueMap[self._createChildValue(fatherValue, childValue)] = fatherValue;
self.childValueMap[self._createChildValue(fatherValue, childValue)] = childValue;
child.value = self._createChildValue(fatherValue, childValue);
item.el.childValues.push(child.value);
if (BI.isNotEmptyArray(child.children)) {
child.type = "bi.down_list_group_item";
self._createChildren(child);
child.height = self.constants.height;
child.iconCls2 = self.constants.nextIcon;
item.el.childValues = BI.concat(item.el.childValues, child.childValues);
}
});
} else {
item.type = "bi.down_list_item";
item.title = item.title || item.text;
item.textRgap = 10;
item.isNeedAdjustWidth = false;
item.logic = {
dynamic: true
};
}
var el_done = {};
el_done.el = item;
item_done.items.push(el_done);
});
if (self._isGroup(item_done.items)) {
BI.each(item_done.items, function (i, item) {
self.singleValues.push(item.el.value);
});
}
result.push(item_done);
if (self._needSpliter(i, items.length)) {
var spliter_container = BI.createWidget({
type: "bi.vertical",
items: [{
el: {
type: "bi.layout",
cls: "bi-down-list-spliter bi-border-top cursor-pointer",
height: 0
}
}],
cls: "bi-down-list-spliter-container cursor-pointer",
lgap: 10,
rgap: 10
});
result.push(spliter_container);
}
});
return result;
},
_createChildren: function (child) {
var self = this;
child.childValues = [];
BI.each(child.children, function (i, c) {
var fatherValue = BI.deepClone(child.value);
var childValue = BI.deepClone(c.value);
c.type = "bi.down_list_item";
c.title = c.title || c.text;
c.textRgap = 10;
c.isNeedAdjustWidth = false;
c.logic = {
dynamic: true
};
c.father = fatherValue;
self.fatherValueMap[self._createChildValue(fatherValue, childValue)] = fatherValue;
self.childValueMap[self._createChildValue(fatherValue, childValue)] = childValue;
c.value = self._createChildValue(fatherValue, childValue);
child.childValues.push(c.value);
});
},
_isGroup: function (i) {
return i.length > 1;
},
_needSpliter: function (i, itemLength) {
return i < itemLength - 1;
},
_createChildValue: function (fatherValue, childValue) {
var fValue = fatherValue;
if(BI.isArray(fatherValue)) {
fValue = fatherValue.join("_");
}
return fValue + "_" + childValue;
},
_digest: function (valueItem) {
var self = this;
var valueArray = [];
BI.each(valueItem, function (i, item) {
var value;
if (BI.isNotNull(item.childValue)) {
value = self._createChildValue(item.value, item.childValue);
} else {
value = item.value;
}
valueArray.push(value);
}
);
return valueArray;
},
_checkValues: function (values) {
var self = this, o = this.options;
var value = [];
BI.each(o.items, function (idx, itemGroup) {
BI.each(itemGroup, function (id, item) {
if(BI.isNotNull(item.children)) {
var childValues = getChildrenValue(item);
var v = joinValue(childValues, values[idx]);
if(BI.isNotEmptyString(v)) {
value.push(v);
}
}else{
if(item.value === values[idx][0]) {
value.push(values[idx][0]);
}
}
});
});
return value;
function joinValue (sources, targets) {
var value = "";
BI.some(sources, function (idx, s) {
return BI.some(targets, function (id, t) {
if(s === t) {
value = s;
return true;
}
});
});
return value;
}
function getChildrenValue (item) {
var children = [];
if(BI.isNotNull(item.children)) {
BI.each(item.children, function (idx, child) {
children = BI.concat(children, getChildrenValue(child));
});
} else {
children.push(item.value);
}
return children;
}
},
populate: function (items) {
BI.MultiLayerDownListPopup.superclass.populate.apply(this, arguments);
var self = this;
self.childValueMap = {};
self.fatherValueMap = {};
self.singleValues = [];
var children = self._createPopupItems(items);
var popupItem = BI.createItems(children,
{}, {
adjustLength: -2
}
);
self.popup.populate(popupItem);
},
setValue: function (valueItem) {
this.popup.setValue(this._digest(valueItem));
},
_getValue: function () {
var v = [];
BI.each(this.popup.getAllButtons(), function (i, item) {
i % 2 === 0 && v.push(item.getValue());
});
return v;
},
getValue: function () {
var self = this, result = [];
var values = this._checkValues(this._getValue());
BI.each(values, function (i, value) {
var valueItem = {};
if (BI.isNotNull(self.childValueMap[value])) {
var fartherValue = self.fatherValueMap[value];
valueItem.childValue = self.childValueMap[value];
valueItem.value = fartherValue.split("_");
} else {
valueItem.value = value;
}
result.push(valueItem);
});
return result;
}
});
BI.MultiLayerDownListPopup.EVENT_CHANGE = "EVENT_CHANGE";
BI.MultiLayerDownListPopup.EVENT_SON_VALUE_CHANGE = "EVENT_SON_VALUE_CHANGE";
BI.shortcut("bi.multi_layer_down_list_popup", BI.MultiLayerDownListPopup);

2
src/widget/multiselect/search/multiselect.search.loader.js

@ -107,7 +107,7 @@ BI.MultiSelectSearchLoader = BI.inherit(BI.Widget, {
});
if (BI.isKey(keyword)) {
var search = BI.Func.getSearchResult(newValues, keyword);
values = search.matched.concat(search.find);
values = search.match.concat(search.find);
}
return BI.map(values, function (i, v) {
return {

4
src/widget/quarter/combo.quarter.js

@ -78,8 +78,12 @@ BI.QuarterCombo = BI.inherit(BI.Widget, {
},
getValue: function () {
if (BI.isNull(this.popup)) {
return this.options.value || "";
} else {
return this.popup.getValue() || "";
}
}
});
BI.QuarterCombo.EVENT_CONFIRM = "EVENT_CONFIRM";

4
src/widget/year/combo.year.js

@ -97,8 +97,12 @@ BI.YearCombo = BI.inherit(BI.Widget, {
},
getValue: function () {
if (BI.isNull(this.popup)) {
return this.options.value;
} else {
return this.popup.getValue();
}
}
});
BI.YearCombo.EVENT_CONFIRM = "EVENT_CONFIRM";
BI.YearCombo.EVENT_BEFORE_POPUPVIEW = "EVENT_BEFORE_POPUPVIEW";

1
src/widget/yearmonth/combo.yearmonth.js

@ -39,6 +39,7 @@ BI.YearMonthCombo = BI.inherit(BI.Widget, {
});
this.month.on(BI.MonthCombo.EVENT_CONFIRM, function () {
self.getValue();
self.fireEvent(BI.YearMonthCombo.EVENT_CONFIRM);
});
this.month.on(BI.MonthCombo.EVENT_BEFORE_POPUPVIEW, function () {

79
ui/css/app.css

@ -0,0 +1,79 @@
html,
button,
input,
select,
textarea,
* {
font-family: "Microsoft YaHei", "Hiragino Sans GB W3";
}
html {
height: 100%;
overflow: hidden;
}
body {
position: absolute;
width: 100%;
height: 100%;
margin: 0;
padding: 0;
top: 0;
left: 0;
background-repeat: repeat;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-o-user-select: none;
user-select: none;
color: #3d4d66;
font: normal 12px "Microsoft YaHei", "Hiragino Sans GB W3";
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-decoration: none;
-kthml-user-focus: normal;
-moz-user-focus: normal;
-moz-outline: 0 none;
outline: 0 none;
}
div::-webkit-scrollbar,
textarea::-webkit-scrollbar {
-webkit-appearance: none;
background-color: rgba(102, 102, 102, 0.05);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#0d666666,endColorstr=#0d666666);
width: 6px;
height: 6px;
}
div::-webkit-scrollbar-thumb,
textarea::-webkit-scrollbar-thumb {
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0;
background-color: rgba(102, 102, 102, 0.3);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#4d666666,endColorstr=#4d666666);
}
div::-webkit-scrollbar-thumb:hover,
textarea::-webkit-scrollbar-thumb:hover {
background-color: rgba(102, 102, 102, 0.7);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#b3666666,endColorstr=#b3666666);
}
.bi-theme-dark div::-webkit-scrollbar,
.bi-theme-dark textarea::-webkit-scrollbar {
-webkit-appearance: none;
background-color: rgba(204, 204, 204, 0.05);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#0dcccccc,endColorstr=#0dcccccc);
width: 6px;
height: 6px;
}
.bi-theme-dark div::-webkit-scrollbar-thumb,
.bi-theme-dark textarea::-webkit-scrollbar-thumb {
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0;
background-color: rgba(204, 204, 204, 0.3);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#4dcccccc,endColorstr=#4dcccccc);
}
.bi-theme-dark div::-webkit-scrollbar-thumb:hover,
.bi-theme-dark textarea::-webkit-scrollbar-thumb:hover {
background-color: rgba(204, 204, 204, 0.7);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#b3cccccc,endColorstr=#b3cccccc);
}

250
ui/css/background.css

@ -0,0 +1,250 @@
.farbtastic .wheel {
background: url('resources?path=/com/fr/web/ui/images/1x/background/wheel.png') no-repeat center center;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/background/wheel.png');
_background: none;
}
.farbtastic .overlay {
background: url('resources?path=/com/fr/web/ui/images/1x/background/mask.png') no-repeat center center;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/background/mask.png');
_background: none;
}
.farbtastic .marker {
background: url('resources?path=/com/fr/web/ui/images/1x/background/marker.png') no-repeat center center;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/background/marker.png');
_background: none;
}
.bi-display-tree .ztree li span.button.switch.center_open {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/tree_vertical_line_3.png') no-repeat center center;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/tree_vertical_line_3.png');
_background: none;
}
.bi-display-tree .ztree li span.button.switch.roots_open {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/tree_vertical_line_2.png') no-repeat center center;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/tree_vertical_line_2.png');
_background: none;
}
.bi-display-tree .ztree li span.button.switch.bottom_open {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/tree_vertical_line_4.png') no-repeat center center;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/tree_vertical_line_4.png');
_background: none;
}
.ztree li ul.line {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/tree_vertical_line_1.png') repeat-y 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/tree_vertical_line_1.png');
_background: none;
}
.bi-theme-dark .ztree li ul.line {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_vertical_line_1.png') repeat-y 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_vertical_line_1.png');
_background: none;
}
.ztree li span.button.chk.checkbox_false_full {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/check_box_normal.png') no-repeat center center;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/check_box_normal.png');
_background: none;
}
.ztree li span.button.chk.checkbox_false_full_focus {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/check_box_normal.png') no-repeat center center;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/check_box_normal.png');
_background: none;
}
.ztree li span.button.chk.checkbox_false_part {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/half_selected.png') no-repeat center center;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/half_selected.png');
_background: none;
}
.ztree li span.button.chk.checkbox_false_part_focus {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/half_selected.png') no-repeat center center;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/half_selected.png');
_background: none;
}
.ztree li span.button.chk.checkbox_true_full {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/check_box_active.png') no-repeat center center;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/check_box_active.png');
_background: none;
}
.ztree li span.button.chk.checkbox_true_full_focus {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/check_box_active.png') no-repeat center center;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/check_box_active.png');
_background: none;
}
.ztree li span.button.chk.checkbox_true_part {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/half_selected.png') no-repeat center center;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/half_selected.png');
_background: none;
}
.ztree li span.button.chk.checkbox_true_part_focus {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/half_selected.png') no-repeat center center;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/half_selected.png');
_background: none;
}
.ztree li span.button.root_open {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/tree_expand_1.png') no-repeat center center;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/tree_expand_1.png');
_background: none;
}
.bi-theme-dark .ztree li span.button.root_open {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_expand_1.png') no-repeat center center;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_expand_1.png');
_background: none;
}
.ztree li span.button.root_close {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/tree_collapse_1.png') no-repeat center center;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/tree_collapse_1.png');
_background: none;
}
.bi-theme-dark .ztree li span.button.root_close {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_collapse_1.png') no-repeat center center;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_collapse_1.png');
_background: none;
}
.ztree li span.button.roots_open {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/tree_expand_2.png') no-repeat center center;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/tree_expand_2.png');
_background: none;
}
.bi-theme-dark .ztree li span.button.roots_open {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_expand_2.png') no-repeat center center;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_expand_2.png');
_background: none;
}
.ztree li span.button.roots_close {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/tree_collapse_2.png') no-repeat center center;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/tree_collapse_2.png');
_background: none;
}
.bi-theme-dark .ztree li span.button.roots_close {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_collapse_2.png') no-repeat center center;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_collapse_2.png');
_background: none;
}
.ztree li span.button.center_open {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/tree_expand_3.png') no-repeat center center;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/tree_expand_3.png');
_background: none;
}
.bi-theme-dark .ztree li span.button.center_open {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_expand_3.png') no-repeat center center;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_expand_3.png');
_background: none;
}
.ztree li span.button.center_close {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/tree_collapse_3.png') no-repeat center center;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/tree_collapse_3.png');
_background: none;
}
.bi-theme-dark .ztree li span.button.center_close {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_collapse_3.png') no-repeat center center;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_collapse_3.png');
_background: none;
}
.ztree li span.button.bottom_open {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/tree_expand_4.png') no-repeat center center;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/tree_expand_4.png');
_background: none;
}
.bi-theme-dark .ztree li span.button.bottom_open {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_expand_4.png') no-repeat center center;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_expand_4.png');
_background: none;
}
.ztree li span.button.bottom_close {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/tree_collapse_4.png') no-repeat center center;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/tree_collapse_4.png');
_background: none;
}
.bi-theme-dark .ztree li span.button.bottom_close {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_collapse_4.png') no-repeat center center;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_collapse_4.png');
_background: none;
}
.ztree li span.button.roots_docu {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/tree_vertical_line_2.png') no-repeat center center;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/tree_vertical_line_2.png');
_background: none;
}
.bi-theme-dark .ztree li span.button.roots_docu {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_vertical_line_2.png') no-repeat center center;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_vertical_line_2.png');
_background: none;
}
.ztree li span.button.center_docu {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/tree_vertical_line_3.png') no-repeat center center;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/tree_vertical_line_3.png');
_background: none;
}
.bi-theme-dark .ztree li span.button.center_docu {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_vertical_line_3.png') no-repeat center center;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_vertical_line_3.png');
_background: none;
}
.ztree li span.button.bottom_docu {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/tree_vertical_line_4.png') no-repeat center center;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/tree_vertical_line_4.png');
_background: none;
}
.bi-theme-dark .ztree li span.button.bottom_docu {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_vertical_line_4.png') no-repeat center center;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_vertical_line_4.png');
_background: none;
}
.ztree li span.button.ico_loading {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/loading.gif') no-repeat center center;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/loading.gif');
_background: none;
}
.base-line-conn-background {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/tree_vertical_line_1.png') repeat-y 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/tree_vertical_line_1.png');
_background: none;
}
.bi-theme-dark .base-line-conn-background {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_vertical_line_1.png') repeat-y 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_vertical_line_1.png');
_background: none;
}
.first-line-conn-background {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/tree_vertical_line_2.png') no-repeat center center;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/tree_vertical_line_2.png');
_background: none;
}
.bi-theme-dark .first-line-conn-background {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_vertical_line_2.png') no-repeat center center;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_vertical_line_2.png');
_background: none;
}
.mid-line-conn-background {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/tree_vertical_line_3.png') no-repeat center center;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/tree_vertical_line_3.png');
_background: none;
}
.bi-theme-dark .mid-line-conn-background {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_vertical_line_3.png') no-repeat center center;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_vertical_line_3.png');
_background: none;
}
.last-line-conn-background {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/tree_vertical_line_4.png') no-repeat center center;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/tree_vertical_line_4.png');
_background: none;
}
.bi-theme-dark .last-line-conn-background {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_vertical_line_4.png') no-repeat center center;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_vertical_line_4.png');
_background: none;
}
.loading-background {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/loading.gif') no-repeat center center;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/loading.gif');
_background: none;
}
.auto-color-background {
background: url('resources?path=/com/fr/web/ui/images/1x/background/auto_color.png') no-repeat center center;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/background/auto_color.png');
_background: none;
}
.trans-color-background {
background: url('resources?path=/com/fr/web/ui/images/1x/background/trans_color.png') no-repeat center center;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/background/trans_color.png');
_background: none;
}

813
ui/css/font.css

@ -0,0 +1,813 @@
@font-face {
font-family: 'bi';
src: url('resources?path=/com/fr/web/ui/font/iconfont.eot');
src: url('resources?path=/com/fr/web/ui/font/iconfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('resources?path=/com/fr/web/ui/font/iconfont.woff') format('woff'), /* chrome、firefox */ url('resources?path=/com/fr/web/ui/font/iconfont.ttf') format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/ url('resources?path=/com/fr/web/ui/font/iconfont.svg#svgFontName') format('svg');
/* iOS 4.1- */
}
.b-font {
font-family: "bi";
font-style: normal;
-webkit-font-smoothing: antialiased;
-webkit-text-stroke-width: 0.2px;
-moz-osx-font-smoothing: grayscale;
}
.close-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe6d0;');
}
.close-font .b-font:before {
content: "\e6d0";
color: inherit;
}
.close-font.disabled .b-font:before {
content: "\e6d0";
color: inherit;
}
.close-h-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe6d0;');
}
.close-h-font .b-font:before {
content: "\e6d0";
color: inherit;
}
.close-h-font:hover .b-font:before,
.close-h-font.hover .b-font:before {
content: "\e6d0";
color: inherit;
}
.close-h-font.disabled .b-font:before {
content: "\e6d0";
color: inherit;
}
.close-ha-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe6d0;');
}
.close-ha-font .b-font:before {
content: "\e6d0";
color: inherit;
}
.close-ha-font:hover .b-font:before,
.close-ha-font.hover .b-font:before {
content: "\e6d0";
color: inherit;
}
.close-ha-font:active .b-font:before,
.close-ha-font.active .b-font:before {
content: "\e6d0";
color: #3f8ce8;
}
.close-ha-font.disabled .b-font:before {
content: "\e6d0";
color: inherit;
}
.search-close-h-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe6d0;');
}
.search-close-h-font .b-font:before {
content: "\e6d0";
color: inherit;
}
.search-close-h-font:hover .b-font:before,
.search-close-h-font.hover .b-font:before {
content: "\e6d0";
color: #ff4949;
}
.search-close-h-font.disabled .b-font:before {
content: "\e6d0";
color: inherit;
}
.pre-page-h-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe70d;');
}
.pre-page-h-font .b-font:before {
content: "\e70d";
color: inherit;
}
.pre-page-h-font:hover .b-font:before,
.pre-page-h-font.hover .b-font:before {
content: "\e70d";
color: inherit;
}
.pre-page-h-font.disabled .b-font:before {
content: "\e70d";
color: inherit;
}
.next-page-h-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe70c;');
}
.next-page-h-font .b-font:before {
content: "\e70c";
color: inherit;
}
.next-page-h-font:hover .b-font:before,
.next-page-h-font.hover .b-font:before {
content: "\e70c";
color: inherit;
}
.next-page-h-font.disabled .b-font:before {
content: "\e70c";
color: inherit;
}
.search-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe6dc;');
}
.search-font .b-font:before {
content: "\e6dc";
color: inherit;
}
.search-font.disabled .b-font:before {
content: "\e6dc";
color: inherit;
}
.date-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe733;');
}
.date-font .b-font:before {
content: "\e733";
color: inherit;
}
.date-font.disabled .b-font:before {
content: "\e733";
color: inherit;
}
.date-change-h-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe72f;');
}
.date-change-h-font .b-font:before {
content: "\e72f";
color: inherit;
}
.date-change-h-font:hover .b-font:before,
.date-change-h-font.hover .b-font:before {
content: "\e72f";
color: inherit;
}
.date-change-h-font.disabled .b-font:before {
content: "\e72f";
color: inherit;
}
.dot-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe762;');
}
.dot-font .b-font:before {
content: "\e762";
color: #1a1a1a;
}
.dot-font.disabled .b-font:before {
content: "\e762";
color: #1a1a1a;
}
.dot-h-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe762;');
}
.dot-h-font .b-font:before {
content: "\e762";
color: #1a1a1a;
}
.dot-h-font:hover .b-font:before,
.dot-h-font.hover .b-font:before {
content: "\e762";
color: inherit;
}
.dot-h-font.disabled .b-font:before {
content: "\e762";
color: #1a1a1a;
}
.dot-ha-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe762;');
}
.dot-ha-font .b-font:before {
content: "\e762";
color: #ffffff;
}
.dot-ha-font:hover .b-font:before,
.dot-ha-font.hover .b-font:before {
content: "\e762";
color: #999999;
}
.dot-ha-font:active .b-font:before,
.dot-ha-font.active .b-font:before {
content: "\e762";
color: #1a1a1a;
}
.dot-ha-font.disabled .b-font:before {
content: "\e762";
color: #ffffff;
}
.dot-e-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe762;');
}
.dot-e-font .b-font:before {
content: "\e762";
color: #ffffff;
}
.dot-e-font:hover .b-font:before,
.dot-e-font.hover .b-font:before {
content: "\e762";
color: #999999;
}
.dot-e-font.active .b-font:before {
content: "\e762";
color: #1a1a1a;
}
.dot-e-font:active .b-font:before {
content: "\e762";
color: #3685f2;
}
.dot-e-font.disabled .b-font:before {
content: "\e762";
color: #ffffff;
}
.pull-right-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe70c;');
}
.pull-right-font .b-font:before {
content: "\e70c";
color: inherit;
}
.pull-right-font.disabled .b-font:before {
content: "\e70c";
color: inherit;
}
.pull-right-h-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe70c;');
}
.pull-right-h-font .b-font:before {
content: "\e70c";
color: inherit;
}
.pull-right-h-font:hover .b-font:before,
.pull-right-h-font.hover .b-font:before {
content: "\e70c";
color: inherit;
}
.pull-right-h-font.disabled .b-font:before {
content: "\e70c";
color: inherit;
}
.pull-right-ha-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe70c;');
}
.pull-right-ha-font .b-font:before {
content: "\e70c";
color: inherit;
}
.pull-right-ha-font:hover .b-font:before,
.pull-right-ha-font.hover .b-font:before {
content: "\e70c";
color: inherit;
}
.pull-right-ha-font:active .b-font:before,
.pull-right-ha-font.active .b-font:before {
content: "\e70c";
color: #3f8ce8;
}
.pull-right-ha-font.disabled .b-font:before {
content: "\e70c";
color: inherit;
}
.pull-right-e-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe70c;');
}
.pull-right-e-font .b-font:before {
content: "\e70c";
color: inherit;
}
.pull-right-e-font:hover .b-font:before,
.pull-right-e-font.hover .b-font:before {
content: "\e70c";
color: inherit;
}
.pull-right-e-font.active .b-font:before {
content: "\e70c";
color: #3f8ce8;
}
.pull-right-e-font:active .b-font:before {
content: "\e70c";
color: #3f8ce8;
}
.pull-right-e-font.disabled .b-font:before {
content: "\e70c";
color: inherit;
}
.copy-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe6bd;');
}
.copy-font .b-font:before {
content: "\e6bd";
color: inherit;
}
.copy-font.disabled .b-font:before {
content: "\e6bd";
color: inherit;
}
.copy-h-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe6bd;');
}
.copy-h-font .b-font:before {
content: "\e6bd";
color: #1a1a1a;
}
.copy-h-font:hover .b-font:before,
.copy-h-font.hover .b-font:before {
content: "\e6bd";
color: inherit;
}
.copy-h-font.disabled .b-font:before {
content: "\e6bd";
color: #1a1a1a;
}
.copy-ha-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe6bd;');
}
.copy-ha-font .b-font:before {
content: "\e6bd";
color: inherit;
}
.copy-ha-font:hover .b-font:before,
.copy-ha-font.hover .b-font:before {
content: "\e6bd";
color: inherit;
}
.copy-ha-font:active .b-font:before,
.copy-ha-font.active .b-font:before {
content: "\e6bd";
color: #3f8ce8;
}
.copy-ha-font.disabled .b-font:before {
content: "\e6bd";
color: inherit;
}
.copy-e-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe6bd;');
}
.copy-e-font .b-font:before {
content: "\e6bd";
color: inherit;
}
.copy-e-font:hover .b-font:before,
.copy-e-font.hover .b-font:before {
content: "\e6bd";
color: inherit;
}
.copy-e-font.active .b-font:before {
content: "\e6bd";
color: #3f8ce8;
}
.copy-e-font:active .b-font:before {
content: "\e6bd";
color: #3f8ce8;
}
.copy-e-font.disabled .b-font:before {
content: "\e6bd";
color: inherit;
}
.check-mark-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe6cf;');
}
.check-mark-font .b-font:before {
content: "\e6cf";
color: inherit;
}
.check-mark-font.disabled .b-font:before {
content: "\e6cf";
color: inherit;
}
.check-mark-h-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe6cf;');
}
.check-mark-h-font .b-font:before {
content: "\e6cf";
color: inherit;
}
.check-mark-h-font:hover .b-font:before,
.check-mark-h-font.hover .b-font:before {
content: "\e6cf";
color: inherit;
}
.check-mark-h-font.disabled .b-font:before {
content: "\e6cf";
color: inherit;
}
.check-mark-ha-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe6cf;');
}
.check-mark-ha-font .b-font:before {
content: "\e6cf";
color: inherit;
}
.check-mark-ha-font:hover .b-font:before,
.check-mark-ha-font.hover .b-font:before {
content: "\e6cf";
color: inherit;
}
.check-mark-ha-font:active .b-font:before,
.check-mark-ha-font.active .b-font:before {
content: "\e6cf";
color: #3f8ce8;
}
.check-mark-ha-font.disabled .b-font:before {
content: "\e6cf";
color: inherit;
}
.check-mark-e-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe6cf;');
}
.check-mark-e-font .b-font:before {
content: "\e6cf";
color: inherit;
}
.check-mark-e-font:hover .b-font:before,
.check-mark-e-font.hover .b-font:before {
content: "\e6cf";
color: inherit;
}
.check-mark-e-font.active .b-font:before {
content: "\e6cf";
color: #3f8ce8;
}
.check-mark-e-font:active .b-font:before {
content: "\e6cf";
color: #3f8ce8;
}
.check-mark-e-font.disabled .b-font:before {
content: "\e6cf";
color: inherit;
}
/** dashboard组件/控件 下拉列表图标字体 ~end~**/
.row-pre-page-h-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe6d9;');
}
.row-pre-page-h-font .b-font:before {
content: "\e6d9";
color: inherit;
}
.row-pre-page-h-font:hover .b-font:before,
.row-pre-page-h-font.hover .b-font:before {
content: "\e6d9";
color: inherit;
}
.row-pre-page-h-font.disabled .b-font:before {
content: "\e6d9";
color: inherit;
}
.row-next-page-h-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe6d8;');
}
.row-next-page-h-font .b-font:before {
content: "\e6d8";
color: inherit;
}
.row-next-page-h-font:hover .b-font:before,
.row-next-page-h-font.hover .b-font:before {
content: "\e6d8";
color: inherit;
}
.row-next-page-h-font.disabled .b-font:before {
content: "\e6d8";
color: inherit;
}
.column-pre-page-h-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe6d6;');
}
.column-pre-page-h-font .b-font:before {
content: "\e6d6";
color: inherit;
}
.column-pre-page-h-font:hover .b-font:before,
.column-pre-page-h-font.hover .b-font:before {
content: "\e6d6";
color: inherit;
}
.column-pre-page-h-font.disabled .b-font:before {
content: "\e6d6";
color: inherit;
}
.column-next-page-h-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe6d7;');
}
.column-next-page-h-font .b-font:before {
content: "\e6d7";
color: inherit;
}
.column-next-page-h-font:hover .b-font:before,
.column-next-page-h-font.hover .b-font:before {
content: "\e6d7";
color: inherit;
}
.column-next-page-h-font.disabled .b-font:before {
content: "\e6d7";
color: inherit;
}
.trigger-triangle-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe6f0;');
}
.trigger-triangle-font .b-font:before {
content: "\e6f0";
color: #999999;
}
.trigger-triangle-font:hover .b-font:before,
.trigger-triangle-font.hover .b-font:before {
content: "\e6f0";
color: #999999;
}
.trigger-triangle-font:active .b-font:before,
.trigger-triangle-font.active .b-font:before {
content: "\e6f0";
color: #3685f2;
}
.trigger-triangle-font.disabled .b-font:before {
content: "\e6f0";
color: #999999;
}
.pull-down-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe70b;');
}
.pull-down-font .b-font:before {
content: "\e70b";
color: inherit;
}
.pull-down-font.disabled .b-font:before {
content: "\e70b";
color: inherit;
}
.pull-down-h-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe70b;');
}
.pull-down-h-font .b-font:before {
content: "\e70b";
color: inherit;
}
.pull-down-h-font:hover .b-font:before,
.pull-down-h-font.hover .b-font:before {
content: "\e70b";
color: inherit;
}
.pull-down-h-font.disabled .b-font:before {
content: "\e70b";
color: inherit;
}
.pull-down-ha-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe70b;');
}
.pull-down-ha-font .b-font:before {
content: "\e70b";
color: inherit;
}
.pull-down-ha-font:hover .b-font:before,
.pull-down-ha-font.hover .b-font:before {
content: "\e70b";
color: inherit;
}
.pull-down-ha-font:active .b-font:before,
.pull-down-ha-font.active .b-font:before {
content: "\e70b";
color: #3f8ce8;
}
.pull-down-ha-font.disabled .b-font:before {
content: "\e70b";
color: inherit;
}
.check-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe6cf;');
}
.check-font .b-font:before {
content: "\e6cf";
color: #3685f2;
}
.check-font.disabled .b-font:before {
content: "\e6cf";
color: #3685f2;
}
.item-check-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe6cf;');
}
.item-check-font .b-font:before {
content: "\e6cf";
color: #ffffff;
}
.item-check-font:hover .b-font:before,
.item-check-font.hover .b-font:before {
content: "\e6cf";
color: #999999;
}
.item-check-font:active .b-font:before,
.item-check-font.active .b-font:before {
content: "\e6cf";
color: #3f8ce8;
}
.item-check-font.disabled .b-font:before {
content: "\e6cf";
color: #ffffff;
}
.primary-key-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe740;');
}
.primary-key-font .b-font:before {
content: "\e740";
color: inherit;
}
.primary-key-font:hover .b-font:before,
.primary-key-font.hover .b-font:before {
content: "\e740";
color: inherit;
}
.primary-key-font.disabled .b-font:before {
content: "\e740";
color: inherit;
}
.drag-tag-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe6d0;');
}
.drag-tag-font .b-font:before {
content: "\e6d0";
color: #faaa39;
}
.drag-tag-font.disabled .b-font:before {
content: "\e6d0";
color: #faaa39;
}
.less-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe75f;');
}
.less-font .b-font:before {
content: "\e75f";
color: inherit;
}
.less-font:hover .b-font:before,
.less-font.hover .b-font:before {
content: "\e75f";
color: inherit;
}
.less-font:active .b-font:before,
.less-font.active .b-font:before {
content: "\e75f";
color: #3f8ce8;
}
.less-font.disabled .b-font:before {
content: "\e75f";
color: inherit;
}
.less-equal-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe760;');
}
.less-equal-font .b-font:before {
content: "\e760";
color: inherit;
}
.less-equal-font:hover .b-font:before,
.less-equal-font.hover .b-font:before {
content: "\e760";
color: inherit;
}
.less-equal-font:active .b-font:before,
.less-equal-font.active .b-font:before {
content: "\e760";
color: #3f8ce8;
}
.less-equal-font.disabled .b-font:before {
content: "\e760";
color: inherit;
}
.text-bold-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe75b;');
}
.text-bold-font .b-font:before {
content: "\e75b";
color: inherit;
}
.text-bold-font.disabled .b-font:before {
content: "\e75b";
color: inherit;
}
.text-italic-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe75c;');
}
.text-italic-font .b-font:before {
content: "\e75c";
color: inherit;
}
.text-italic-font.disabled .b-font:before {
content: "\e75c";
color: inherit;
}
.text-underline-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe75d;');
}
.text-underline-font .b-font:before {
content: "\e75d";
color: inherit;
}
.text-underline-font.disabled .b-font:before {
content: "\e75d";
color: inherit;
}
.text-color-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe75a;');
}
.text-color-font .b-font:before {
content: "\e75a";
color: inherit;
}
.text-color-font.disabled .b-font:before {
content: "\e75a";
color: inherit;
}
.text-background-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe758;');
}
.text-background-font .b-font:before {
content: "\e758";
color: inherit;
}
.text-background-font.disabled .b-font:before {
content: "\e758";
color: inherit;
}
.text-color-underline-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe75d;');
}
.text-color-underline-font .b-font:before {
content: "\e75d";
color: inherit;
}
.text-color-underline-font.disabled .b-font:before {
content: "\e75d";
color: inherit;
}
.text-align-left-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe6ca;');
}
.text-align-left-font .b-font:before {
content: "\e6ca";
color: inherit;
}
.text-align-left-font.disabled .b-font:before {
content: "\e6ca";
color: inherit;
}
.text-align-center-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe6bf;');
}
.text-align-center-font .b-font:before {
content: "\e6bf";
color: inherit;
}
.text-align-center-font.disabled .b-font:before {
content: "\e6bf";
color: inherit;
}
.text-align-right-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe6c8;');
}
.text-align-right-font .b-font:before {
content: "\e6c8";
color: inherit;
}
.text-align-right-font.disabled .b-font:before {
content: "\e6c8";
color: inherit;
}
.toast-error-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe757;');
}
.toast-error-font .b-font:before {
content: "\e757";
color: inherit;
}
.toast-error-font.disabled .b-font:before {
content: "\e757";
color: inherit;
}
.toast-success-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe756;');
}
.toast-success-font .b-font:before {
content: "\e756";
color: inherit;
}
.toast-success-font.disabled .b-font:before {
content: "\e756";
color: inherit;
}
.toast-warning-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe755;');
}
.toast-warning-font .b-font:before {
content: "\e755";
color: inherit;
}
.toast-warning-font.disabled .b-font:before {
content: "\e755";
color: inherit;
}
.toast-message-font .b-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xe74b;');
}
.toast-message-font .b-font:before {
content: "\e74b";
color: inherit;
}
.toast-message-font.disabled .b-font:before {
content: "\e74b";
color: inherit;
}

386
ui/css/icon.css

@ -0,0 +1,386 @@
.tree-collapse-icon-type1 .x-icon {
display: block;
background: url('resources?path=/com/fr/web/ui/images/2x/icon/tree_collapse_1.png') no-repeat 0px 0px;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/2x/icon/tree_collapse_1.png');
background-size: contain;
_background: none;
}
.tree-collapse-icon-type1 .x-icon.hack {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/tree_collapse_1.png') no-repeat 0px 0px;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/tree_collapse_1.png');
_background: none;
}
.tree-collapse-icon-type2 .x-icon {
display: block;
background: url('resources?path=/com/fr/web/ui/images/2x/icon/tree_collapse_2.png') no-repeat 0px 0px;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/2x/icon/tree_collapse_2.png');
background-size: contain;
_background: none;
}
.tree-collapse-icon-type2 .x-icon.hack {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/tree_collapse_2.png') no-repeat 0px 0px;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/tree_collapse_2.png');
_background: none;
}
.tree-collapse-icon-type3 .x-icon {
display: block;
background: url('resources?path=/com/fr/web/ui/images/2x/icon/tree_collapse_3.png') no-repeat 0px 0px;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/2x/icon/tree_collapse_3.png');
background-size: contain;
_background: none;
}
.tree-collapse-icon-type3 .x-icon.hack {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/tree_collapse_3.png') no-repeat 0px 0px;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/tree_collapse_3.png');
_background: none;
}
.tree-collapse-icon-type4 .x-icon {
display: block;
background: url('resources?path=/com/fr/web/ui/images/2x/icon/tree_collapse_4.png') no-repeat 0px 0px;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/2x/icon/tree_collapse_4.png');
background-size: contain;
_background: none;
}
.tree-collapse-icon-type4 .x-icon.hack {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/tree_collapse_4.png') no-repeat 0px 0px;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/tree_collapse_4.png');
_background: none;
}
.tree-expand-icon-type1 .x-icon {
display: block;
background: url('resources?path=/com/fr/web/ui/images/2x/icon/tree_expand_1.png') no-repeat 0px 0px;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/2x/icon/tree_expand_1.png');
background-size: contain;
_background: none;
}
.tree-expand-icon-type1 .x-icon.hack {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/tree_expand_1.png') no-repeat 0px 0px;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/tree_expand_1.png');
_background: none;
}
.tree-expand-icon-type2 .x-icon {
display: block;
background: url('resources?path=/com/fr/web/ui/images/2x/icon/tree_expand_2.png') no-repeat 0px 0px;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/2x/icon/tree_expand_2.png');
background-size: contain;
_background: none;
}
.tree-expand-icon-type2 .x-icon.hack {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/tree_expand_2.png') no-repeat 0px 0px;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/tree_expand_2.png');
_background: none;
}
.tree-expand-icon-type3 .x-icon {
display: block;
background: url('resources?path=/com/fr/web/ui/images/2x/icon/tree_expand_3.png') no-repeat 0px 0px;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/2x/icon/tree_expand_3.png');
background-size: contain;
_background: none;
}
.tree-expand-icon-type3 .x-icon.hack {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/tree_expand_3.png') no-repeat 0px 0px;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/tree_expand_3.png');
_background: none;
}
.tree-expand-icon-type4 .x-icon {
display: block;
background: url('resources?path=/com/fr/web/ui/images/2x/icon/tree_expand_4.png') no-repeat 0px 0px;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/2x/icon/tree_expand_4.png');
background-size: contain;
_background: none;
}
.tree-expand-icon-type4 .x-icon.hack {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/tree_expand_4.png') no-repeat 0px 0px;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/tree_expand_4.png');
_background: none;
}
.tree-vertical-line-type2 .x-icon {
display: block;
background: url('resources?path=/com/fr/web/ui/images/2x/icon/tree_vertical_line_2.png') no-repeat 0px 0px;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/2x/icon/tree_vertical_line_2.png');
background-size: contain;
_background: none;
}
.tree-vertical-line-type2 .x-icon.hack {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/tree_vertical_line_2.png') no-repeat 0px 0px;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/tree_vertical_line_2.png');
_background: none;
}
.tree-vertical-line-type3 .x-icon {
display: block;
background: url('resources?path=/com/fr/web/ui/images/2x/icon/tree_vertical_line_3.png') no-repeat 0px 0px;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/2x/icon/tree_vertical_line_3.png');
background-size: contain;
_background: none;
}
.tree-vertical-line-type3 .x-icon.hack {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/tree_vertical_line_3.png') no-repeat 0px 0px;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/tree_vertical_line_3.png');
_background: none;
}
.tree-vertical-line-type4 .x-icon {
display: block;
background: url('resources?path=/com/fr/web/ui/images/2x/icon/tree_vertical_line_4.png') no-repeat 0px 0px;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/2x/icon/tree_vertical_line_4.png');
background-size: contain;
_background: none;
}
.tree-vertical-line-type4 .x-icon.hack {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/tree_vertical_line_4.png') no-repeat 0px 0px;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/tree_vertical_line_4.png');
_background: none;
}
.bi-theme-dark .tree-collapse-icon-type1 .x-icon {
display: block;
background: url('resources?path=/com/fr/web/ui/images/2x/icon/dark/tree_collapse_1.png') no-repeat 0px 0px;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/2x/icon/dark/tree_collapse_1.png');
background-size: contain;
_background: none;
}
.bi-theme-dark .tree-collapse-icon-type1 .x-icon.hack {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_collapse_1.png') no-repeat 0px 0px;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_collapse_1.png');
_background: none;
}
.bi-theme-dark .tree-collapse-icon-type2 .x-icon {
display: block;
background: url('resources?path=/com/fr/web/ui/images/2x/icon/dark/tree_collapse_2.png') no-repeat 0px 0px;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/2x/icon/dark/tree_collapse_2.png');
background-size: contain;
_background: none;
}
.bi-theme-dark .tree-collapse-icon-type2 .x-icon.hack {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_collapse_2.png') no-repeat 0px 0px;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_collapse_2.png');
_background: none;
}
.bi-theme-dark .tree-collapse-icon-type3 .x-icon {
display: block;
background: url('resources?path=/com/fr/web/ui/images/2x/icon/dark/tree_collapse_3.png') no-repeat 0px 0px;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/2x/icon/dark/tree_collapse_3.png');
background-size: contain;
_background: none;
}
.bi-theme-dark .tree-collapse-icon-type3 .x-icon.hack {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_collapse_3.png') no-repeat 0px 0px;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_collapse_3.png');
_background: none;
}
.bi-theme-dark .tree-collapse-icon-type4 .x-icon {
display: block;
background: url('resources?path=/com/fr/web/ui/images/2x/icon/dark/tree_collapse_4.png') no-repeat 0px 0px;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/2x/icon/dark/tree_collapse_4.png');
background-size: contain;
_background: none;
}
.bi-theme-dark .tree-collapse-icon-type4 .x-icon.hack {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_collapse_4.png') no-repeat 0px 0px;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_collapse_4.png');
_background: none;
}
.bi-theme-dark .tree-expand-icon-type1 .x-icon {
display: block;
background: url('resources?path=/com/fr/web/ui/images/2x/icon/dark/tree_expand_1.png') no-repeat 0px 0px;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/2x/icon/dark/tree_expand_1.png');
background-size: contain;
_background: none;
}
.bi-theme-dark .tree-expand-icon-type1 .x-icon.hack {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_expand_1.png') no-repeat 0px 0px;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_expand_1.png');
_background: none;
}
.bi-theme-dark .tree-expand-icon-type2 .x-icon {
display: block;
background: url('resources?path=/com/fr/web/ui/images/2x/icon/dark/tree_expand_2.png') no-repeat 0px 0px;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/2x/icon/dark/tree_expand_2.png');
background-size: contain;
_background: none;
}
.bi-theme-dark .tree-expand-icon-type2 .x-icon.hack {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_expand_2.png') no-repeat 0px 0px;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_expand_2.png');
_background: none;
}
.bi-theme-dark .tree-expand-icon-type3 .x-icon {
display: block;
background: url('resources?path=/com/fr/web/ui/images/2x/icon/dark/tree_expand_3.png') no-repeat 0px 0px;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/2x/icon/dark/tree_expand_3.png');
background-size: contain;
_background: none;
}
.bi-theme-dark .tree-expand-icon-type3 .x-icon.hack {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_expand_3.png') no-repeat 0px 0px;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_expand_3.png');
_background: none;
}
.bi-theme-dark .tree-expand-icon-type4 .x-icon {
display: block;
background: url('resources?path=/com/fr/web/ui/images/2x/icon/dark/tree_expand_4.png') no-repeat 0px 0px;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/2x/icon/dark/tree_expand_4.png');
background-size: contain;
_background: none;
}
.bi-theme-dark .tree-expand-icon-type4 .x-icon.hack {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_expand_4.png') no-repeat 0px 0px;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_expand_4.png');
_background: none;
}
.bi-theme-dark .tree-vertical-line-type2 .x-icon {
display: block;
background: url('resources?path=/com/fr/web/ui/images/2x/icon/dark/tree_vertical_line_2.png') no-repeat 0px 0px;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/2x/icon/dark/tree_vertical_line_2.png');
background-size: contain;
_background: none;
}
.bi-theme-dark .tree-vertical-line-type2 .x-icon.hack {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_vertical_line_2.png') no-repeat 0px 0px;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_vertical_line_2.png');
_background: none;
}
.bi-theme-dark .tree-vertical-line-type3 .x-icon {
display: block;
background: url('resources?path=/com/fr/web/ui/images/2x/icon/dark/tree_vertical_line_3.png') no-repeat 0px 0px;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/2x/icon/dark/tree_vertical_line_3.png');
background-size: contain;
_background: none;
}
.bi-theme-dark .tree-vertical-line-type3 .x-icon.hack {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_vertical_line_3.png') no-repeat 0px 0px;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_vertical_line_3.png');
_background: none;
}
.bi-theme-dark .tree-vertical-line-type4 .x-icon {
display: block;
background: url('resources?path=/com/fr/web/ui/images/2x/icon/dark/tree_vertical_line_4.png') no-repeat 0px 0px;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/2x/icon/dark/tree_vertical_line_4.png');
background-size: contain;
_background: none;
}
.bi-theme-dark .tree-vertical-line-type4 .x-icon.hack {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_vertical_line_4.png') no-repeat 0px 0px;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/dark/tree_vertical_line_4.png');
_background: none;
}
.check-box-icon .x-icon {
display: block;
background: url('resources?path=/com/fr/web/ui/images/2x/icon/check_box_normal.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/2x/icon/check_box_normal.png');
background-size: contain;
_background: none;
}
.check-box-icon .x-icon.hack {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/check_box_normal.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/check_box_normal.png');
_background: none;
}
.check-box-icon.active .x-icon {
display: block;
background: url('resources?path=/com/fr/web/ui/images/2x/icon/check_box_active.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/2x/icon/check_box_active.png');
background-size: contain;
_background: none;
}
.check-box-icon.active .x-icon.hack {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/check_box_active.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/check_box_active.png');
_background: none;
}
.check-box-icon.disabled .x-icon {
display: block;
background: url('resources?path=/com/fr/web/ui/images/2x/icon/check_box_disable.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/2x/icon/check_box_disable.png');
background-size: contain;
_background: none;
}
.check-box-icon.disabled .x-icon.hack {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/check_box_disable.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/check_box_disable.png');
_background: none;
}
.radio-icon .x-icon {
display: block;
background: url('resources?path=/com/fr/web/ui/images/2x/icon/radio_normal.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/2x/icon/radio_normal.png');
background-size: contain;
_background: none;
}
.radio-icon .x-icon.hack {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/radio_normal.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/radio_normal.png');
_background: none;
}
.radio-icon.active .x-icon {
display: block;
background: url('resources?path=/com/fr/web/ui/images/2x/icon/radio_active.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/2x/icon/radio_active.png');
background-size: contain;
_background: none;
}
.radio-icon.active .x-icon.hack {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/radio_active.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/radio_active.png');
_background: none;
}
.radio-icon.disabled .x-icon {
display: block;
background: url('resources?path=/com/fr/web/ui/images/2x/icon/radio_disable.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/2x/icon/radio_disable.png');
background-size: contain;
_background: none;
}
.radio-icon.disabled .x-icon.hack {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/radio_disable.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/radio_disable.png');
_background: none;
}
.check-half-select-icon .x-icon {
display: block;
background: url('resources?path=/com/fr/web/ui/images/2x/icon/half_selected.png') no-repeat 0px 0px;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/2x/icon/half_selected.png');
background-size: contain;
_background: none;
}
.check-half-select-icon .x-icon.hack {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/half_selected.png') no-repeat 0px 0px;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/half_selected.png');
_background: none;
}
.slider-icon .x-icon {
display: block;
background: url('resources?path=/com/fr/web/ui/images/2x/icon/slider_normal_small.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/2x/icon/slider_normal_small.png');
background-size: contain;
_background: none;
}
.slider-icon .x-icon.hack {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/slider_normal_small.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/slider_normal_small.png');
_background: none;
}
.slider-icon:hover .x-icon,
.slider-icon.hover .x-icon {
display: block;
background: url('resources?path=/com/fr/web/ui/images/2x/icon/slider_active_small.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/2x/icon/slider_active_small.png');
background-size: contain;
_background: none;
}
.slider-icon:hover .x-icon.hack,
.slider-icon.hover .x-icon.hack {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/slider_active_small.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/slider_active_small.png');
_background: none;
}
.slider-icon.disabled .x-icon {
display: block;
background: url('resources?path=/com/fr/web/ui/images/2x/icon/slider_normal_small.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/2x/icon/slider_normal_small.png');
background-size: contain;
_background: none;
}
.slider-icon.disabled .x-icon.hack {
background: url('resources?path=/com/fr/web/ui/images/1x/icon/slider_normal_small.png') no-repeat 0 0;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='resources?path=/com/fr/web/ui/images/1x/icon/slider_normal_small.png');
_background: none;
}

0
ui/css/var.css

5
public/bundle.js → ui/js/index.js

@ -1,5 +1,6 @@
BI.servletURL = "https://fanruan.coding.me/fineui/dist/";
BI.resourceURL = "https://fanruan.coding.me/fineui/dist/resource/";
BI.serverURL = "${serverURL}";
BI.servletURL = "${servletURL}";
BI.resourceURL = "file?path=/com/fr/web/ui/resource";
BI.i18n = {
"BI-Multi_Date_Quarter_End": "季度末",
"BI-Multi_Date_Month_Begin": "月初",

2
ui/less/app.less

@ -0,0 +1,2 @@
@import "../../src/less/resource/app";
@import "var";

2
ui/less/background.less

@ -0,0 +1,2 @@
@import "../../src/less/resource/background";
@import "var";

2
ui/less/font.less

@ -0,0 +1,2 @@
@import "../../src/less/resource/font";
@import "var";

5
ui/less/icon.less

@ -0,0 +1,5 @@
@import "../../src/less/resource/icon";
@import "var";

5
ui/less/var.less

@ -0,0 +1,5 @@
@webUrl: 'resources?path=/com/fr/web/ui/';
@fontUrl: '@{webUrl}font/'; //图片的基本地址
@imageUrl: '@{webUrl}images/1x/'; //图片的基本地址
@image2xUrl: '@{webUrl}images/2x/'; //2倍图片的基本地址

324
utils/utils.js

@ -1,7 +1,7 @@
/**
* @license
* Lodash (Custom Build) <https://lodash.com/>
* Build: `lodash core plus="debounce,throttle,get,findIndex,findLastIndex,findKey,findLastKey,isArrayLike,invert,invertBy,uniq,uniqBy,omit,omitBy,zip,unzip,rest,range,random,reject,intersection,drop,countBy,union,zipObject"`
* Build: `lodash core plus="debounce,throttle,get,findIndex,findLastIndex,findKey,findLastKey,isArrayLike,invert,invertBy,uniq,uniqBy,omit,omitBy,zip,unzip,rest,range,random,reject,intersection,drop,countBy,union,zipObject,initial,cloneDeep,clamp,isPlainObject,take,takeRight,without"`
* Copyright JS Foundation and other contributors <https://js.foundation/>
* Released under MIT license <https://lodash.com/license>
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
@ -1983,6 +1983,27 @@
return result;
}
/**
* The base implementation of `_.clamp` which doesn't coerce arguments.
*
* @private
* @param {number} number The number to clamp.
* @param {number} [lower] The lower bound.
* @param {number} upper The upper bound.
* @returns {number} Returns the clamped number.
*/
function baseClamp(number, lower, upper) {
if (number === number) {
if (upper !== undefined) {
number = number <= upper ? number : upper;
}
if (lower !== undefined) {
number = number >= lower ? number : lower;
}
}
return number;
}
/**
* The base implementation of `_.clone` and `_.cloneDeep` which tracks
* traversed objects.
@ -2098,6 +2119,62 @@
return setTimeout(function() { func.apply(undefined, args); }, wait);
}
/**
* The base implementation of methods like `_.difference` without support
* for excluding multiple arrays or iteratee shorthands.
*
* @private
* @param {Array} array The array to inspect.
* @param {Array} values The values to exclude.
* @param {Function} [iteratee] The iteratee invoked per element.
* @param {Function} [comparator] The comparator invoked per element.
* @returns {Array} Returns the new array of filtered values.
*/
function baseDifference(array, values, iteratee, comparator) {
var index = -1,
includes = arrayIncludes,
isCommon = true,
length = array.length,
result = [],
valuesLength = values.length;
if (!length) {
return result;
}
if (iteratee) {
values = arrayMap(values, baseUnary(iteratee));
}
if (comparator) {
includes = arrayIncludesWith;
isCommon = false;
}
else if (values.length >= LARGE_ARRAY_SIZE) {
includes = cacheHas;
isCommon = false;
values = new SetCache(values);
}
outer:
while (++index < length) {
var value = array[index],
computed = iteratee == null ? value : iteratee(value);
value = (comparator || value !== 0) ? value : 0;
if (isCommon && computed === computed) {
var valuesIndex = valuesLength;
while (valuesIndex--) {
if (values[valuesIndex] === computed) {
continue outer;
}
}
result.push(value);
}
else if (!includes(values, computed, comparator)) {
result.push(value);
}
}
return result;
}
/**
* The base implementation of `_.forEach` without support for iteratee shorthands.
*
@ -5472,6 +5549,25 @@
return baseIndexOf(array, value, index);
}
/**
* Gets all but the last element of `array`.
*
* @static
* @memberOf _
* @since 0.1.0
* @category Array
* @param {Array} array The array to query.
* @returns {Array} Returns the slice of `array`.
* @example
*
* _.initial([1, 2, 3]);
* // => [1, 2]
*/
function initial(array) {
var length = array == null ? 0 : array.length;
return length ? baseSlice(array, 0, -1) : [];
}
/**
* Creates an array of unique values that are included in all given arrays
* using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
@ -5574,6 +5670,74 @@
return baseSlice(array, start, end);
}
/**
* Creates a slice of `array` with `n` elements taken from the beginning.
*
* @static
* @memberOf _
* @since 0.1.0
* @category Array
* @param {Array} array The array to query.
* @param {number} [n=1] The number of elements to take.
* @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
* @returns {Array} Returns the slice of `array`.
* @example
*
* _.take([1, 2, 3]);
* // => [1]
*
* _.take([1, 2, 3], 2);
* // => [1, 2]
*
* _.take([1, 2, 3], 5);
* // => [1, 2, 3]
*
* _.take([1, 2, 3], 0);
* // => []
*/
function take(array, n, guard) {
if (!(array && array.length)) {
return [];
}
n = (guard || n === undefined) ? 1 : toInteger(n);
return baseSlice(array, 0, n < 0 ? 0 : n);
}
/**
* Creates a slice of `array` with `n` elements taken from the end.
*
* @static
* @memberOf _
* @since 3.0.0
* @category Array
* @param {Array} array The array to query.
* @param {number} [n=1] The number of elements to take.
* @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
* @returns {Array} Returns the slice of `array`.
* @example
*
* _.takeRight([1, 2, 3]);
* // => [3]
*
* _.takeRight([1, 2, 3], 2);
* // => [2, 3]
*
* _.takeRight([1, 2, 3], 5);
* // => [1, 2, 3]
*
* _.takeRight([1, 2, 3], 0);
* // => []
*/
function takeRight(array, n, guard) {
var length = array == null ? 0 : array.length;
if (!length) {
return [];
}
n = (guard || n === undefined) ? 1 : toInteger(n);
n = length - n;
return baseSlice(array, n < 0 ? 0 : n, length);
}
/**
* Creates an array of unique values, in order, from all given arrays using
* [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
@ -5678,6 +5842,32 @@
});
}
/**
* Creates an array excluding all given values using
* [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
* for equality comparisons.
*
* **Note:** Unlike `_.pull`, this method returns a new array.
*
* @static
* @memberOf _
* @since 0.1.0
* @category Array
* @param {Array} array The array to inspect.
* @param {...*} [values] The values to exclude.
* @returns {Array} Returns the new array of filtered values.
* @see _.difference, _.xor
* @example
*
* _.without([2, 1, 2, 3], 1, 2);
* // => [3]
*/
var without = baseRest(function(array, values) {
return isArrayLikeObject(array)
? baseDifference(array, values)
: [];
});
/**
* Creates an array of grouped elements, the first of which contains the
* first elements of the given arrays, the second of which contains the
@ -7087,6 +7277,28 @@
return baseClone(value, CLONE_SYMBOLS_FLAG);
}
/**
* This method is like `_.clone` except that it recursively clones `value`.
*
* @static
* @memberOf _
* @since 1.0.0
* @category Lang
* @param {*} value The value to recursively clone.
* @returns {*} Returns the deep cloned value.
* @see _.clone
* @example
*
* var objects = [{ 'a': 1 }, { 'b': 2 }];
*
* var deep = _.cloneDeep(objects);
* console.log(deep[0] === objects[0]);
* // => false
*/
function cloneDeep(value) {
return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);
}
/**
* Performs a
* [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
@ -8592,6 +8804,41 @@
/*------------------------------------------------------------------------*/
/**
* Clamps `number` within the inclusive `lower` and `upper` bounds.
*
* @static
* @memberOf _
* @since 4.0.0
* @category Number
* @param {number} number The number to clamp.
* @param {number} [lower] The lower bound.
* @param {number} upper The upper bound.
* @returns {number} Returns the clamped number.
* @example
*
* _.clamp(-10, -5, 5);
* // => -5
*
* _.clamp(10, -5, 5);
* // => 5
*/
function clamp(number, lower, upper) {
if (upper === undefined) {
upper = lower;
lower = undefined;
}
if (upper !== undefined) {
upper = toNumber(upper);
upper = upper === upper ? upper : 0;
}
if (lower !== undefined) {
lower = toNumber(lower);
lower = lower === lower ? lower : 0;
}
return baseClamp(toNumber(number), lower, upper);
}
/**
* Produces a random number between the inclusive `lower` and `upper` bounds.
* If only one argument is provided a number between `0` and the given number
@ -9131,6 +9378,7 @@
lodash.filter = filter;
lodash.flatten = flatten;
lodash.flattenDeep = flattenDeep;
lodash.initial = initial;
lodash.intersection = intersection;
lodash.invert = invert;
lodash.invertBy = invertBy;
@ -9149,6 +9397,8 @@
lodash.rest = rest;
lodash.slice = slice;
lodash.sortBy = sortBy;
lodash.take = take;
lodash.takeRight = takeRight;
lodash.tap = tap;
lodash.throttle = throttle;
lodash.thru = thru;
@ -9158,6 +9408,7 @@
lodash.uniqBy = uniqBy;
lodash.unzip = unzip;
lodash.values = values;
lodash.without = without;
lodash.zip = zip;
lodash.zipObject = zipObject;
@ -9170,7 +9421,9 @@
/*------------------------------------------------------------------------*/
// Add methods that return unwrapped values in chain sequences.
lodash.clamp = clamp;
lodash.clone = clone;
lodash.cloneDeep = cloneDeep;
lodash.escape = escape;
lodash.every = every;
lodash.find = find;
@ -9197,6 +9450,7 @@
lodash.isNull = isNull;
lodash.isNumber = isNumber;
lodash.isObject = isObject;
lodash.isPlainObject = isPlainObject;
lodash.isRegExp = isRegExp;
lodash.isString = isString;
lodash.isUndefined = isUndefined;
@ -9484,7 +9738,7 @@ _.extend(BI, {
MIN: -0xfffffffffffffff,
EVENT_RESPONSE_TIME: 200,
zIndex_layer: 1e5,
zIndex_floatbox: 1e6,
zIndex_popover: 1e6,
zIndex_popup: 1e7,
zIndex_masker: 1e8,
zIndex_tip: 1e9,
@ -10446,7 +10700,7 @@ if (!window.BI) {
BI[name] = _apply(name);
});
_.each(["get", "each", "map", "reduce", "reduceRight", "find", "filter", "reject", "every", "all", "some", "any", "max", "min",
"sortBy", "groupBy", "indexBy", "countBy", "partition"], function (name) {
"sortBy", "groupBy", "indexBy", "countBy", "partition", "clamp"], function (name) {
if (name === "any") {
BI[name] = _applyFunc("some");
} else {
@ -10454,15 +10708,6 @@ if (!window.BI) {
}
});
_.extend(BI, {
clamp: function (value, minValue, maxValue) {
if (value < minValue) {
value = minValue;
}
if (value > maxValue) {
value = maxValue;
}
return value;
},
// 数数
count: function (from, to, predicate) {
var t;
@ -10651,7 +10896,7 @@ if (!window.BI) {
// 数组相关的方法
_.each(["first", "initial", "last", "rest", "compact", "flatten", "without", "union", "intersection",
"difference", "zip", "unzip", "object", "indexOf", "lastIndexOf", "sortedIndex", "range"], function (name) {
"difference", "zip", "unzip", "object", "indexOf", "lastIndexOf", "sortedIndex", "range", "take", "takeRight"], function (name) {
BI[name] = _apply(name);
});
_.each(["findIndex", "findLastIndex"], function (name) {
@ -10715,8 +10960,8 @@ if (!window.BI) {
// 对象相关方法
_.each(["keys", "allKeys", "values", "pairs", "invert", "create", "functions", "extend", "extendOwn",
"defaults", "clone", "property", "propertyOf", "matcher", "isEqual", "isMatch", "isEmpty",
"isElement", "isNumber", "isString", "isArray", "isObject", "isArguments", "isFunction", "isFinite",
"isBoolean", "isDate", "isRegExp", "isError", "isNaN", "isUndefined", "zipObject"], function (name) {
"isElement", "isNumber", "isString", "isArray", "isObject", "isPlainObject", "isArguments", "isFunction", "isFinite",
"isBoolean", "isDate", "isRegExp", "isError", "isNaN", "isUndefined", "zipObject", "cloneDeep"], function (name) {
BI[name] = _apply(name);
});
_.each(["mapObject", "findKey", "pick", "omit", "tap"], function (name) {
@ -10783,10 +11028,6 @@ if (!window.BI) {
return typeof obj === "undefined" || obj === null;
},
isPlainObject: function () {
return $.isPlainObject.apply($, arguments);
},
isEmptyArray: function (arr) {
return BI.isArray(arr) && BI.isEmpty(arr);
},
@ -10818,48 +11059,7 @@ if (!window.BI) {
// deep方法
_.extend(BI, {
/**
*完全克隆<EFBFBD>?个js对象
* @param obj
* @returns {*}
*/
deepClone: function (obj) {
if (obj === null || obj === undefined) {
return obj;
}
var type = Object.prototype.toString.call(obj);
// Date
if (type === "[object Date]") {
return BI.getDate(obj.getTime());
}
var i, clone, key;
// Array
if (type === "[object Array]") {
i = obj.length;
clone = [];
while (i--) {
clone[i] = BI.deepClone(obj[i]);
}
}
// Object
else if (type === "[object Object]" && obj.constructor === Object) {
clone = {};
for (var i in obj) {
if (BI.has(obj, i)) {
clone[i] = BI.deepClone(obj[i]);
}
}
}
return clone || obj;
},
deepClone: _.cloneDeep,
isDeepMatch: function (object, attrs) {
var keys = BI.keys(attrs), length = keys.length;
@ -12719,6 +12919,8 @@ _.extend(BI.OB.prototype, {
}
if (!points[type][action]) {
points[type][action] = {};
}
if (!points[type][action][after ? "after" : "before"]) {
points[type][action][after ? "after" : "before"] = [];
}
points[type][action][after ? "after" : "before"].push(pointFn);

Loading…
Cancel
Save