Browse Source

Merge branch '2.0' of http://www.finedevelop.com:2015/scm/~guy/fineui into 2.0

# Conflicts:
#	demo/config.js
es6
windy 7 years ago
parent
commit
0d2fc46764
  1. 6
      demo/config.js
  2. 26
      demo/js/base/demo.bubble.js
  3. 32
      demo/js/base/demo.svg.js
  4. 96
      demo/js/case/combo/demo.bubble_combo.js
  5. 84
      demo/js/case/demo.calendar.js
  6. 21
      demo/js/case/demo.color_chooser.js
  7. 35
      demo/js/case/demo.complex_canvas.js
  8. 42
      demo/js/case/demo.zclip.js
  9. 177
      demo/js/config/base.js
  10. 61
      demo/js/config/case.js
  11. 184
      demo/js/config/core.js
  12. 76
      demo/js/config/layout.js
  13. 11
      demo/js/core/abstract/combination/demo.combo.js
  14. 24
      demo/js/core/abstract/demo.button_group.js
  15. 26
      demo/js/core/abstract/demo.button_map.js
  16. 26
      demo/js/core/abstract/demo.button_tree.js
  17. 0
      demo/js/core/layout/demo.absolute.js
  18. 0
      demo/js/core/layout/demo.border.js
  19. 0
      demo/js/core/layout/demo.center.js
  20. 0
      demo/js/core/layout/demo.center_adapt.js
  21. 0
      demo/js/core/layout/demo.float_center.js
  22. 0
      demo/js/core/layout/demo.flow.js
  23. 0
      demo/js/core/layout/demo.grid.js
  24. 0
      demo/js/core/layout/demo.horizontal.js
  25. 0
      demo/js/core/layout/demo.horizontal_adapt.js
  26. 0
      demo/js/core/layout/demo.horizontal_auto.js
  27. 0
      demo/js/core/layout/demo.horizontal_float.js
  28. 0
      demo/js/core/layout/demo.htape.js
  29. 0
      demo/js/core/layout/demo.inline.js
  30. 0
      demo/js/core/layout/demo.left_right_vertical_adapt.js
  31. 0
      demo/js/core/layout/demo.table.js
  32. 0
      demo/js/core/layout/demo.td.js
  33. 0
      demo/js/core/layout/demo.vertical.js
  34. 0
      demo/js/core/layout/demo.vertical_adapt.js
  35. 0
      demo/js/core/layout/demo.vtape.js
  36. 56
      demo/js/face.js
  37. 4
      demo/version.js
  38. 57656
      dist/base.js
  39. 3093
      dist/case.js
  40. 48
      dist/core.js
  41. 1595
      dist/widget.js
  42. 3
      src/base/base.js
  43. 6
      src/base/combination/group.button.js
  44. 2
      src/base/combination/map.button.js
  45. 0
      src/base/formula/codemirror/codemirror.js
  46. 0
      src/base/formula/codemirror/formula-hint.js
  47. 0
      src/base/formula/codemirror/formula-mode.js
  48. 0
      src/base/formula/codemirror/show-hint.js
  49. 192
      src/base/reqloading/loading.request.js
  50. 0
      src/base/svg/raphael.js
  51. 117
      src/base/timeouttoast/widget.timeouttoast.js
  52. 0
      src/base/tree/ztree/jquery.ztree.core-3.5.js
  53. 0
      src/base/tree/ztree/jquery.ztree.excheck-3.5.js
  54. 0
      src/case/colorchooser/colorchooser.custom.js
  55. 0
      src/case/colorchooser/colorchooser.js
  56. 2
      src/case/colorchooser/colorchooser.popup.js
  57. 0
      src/case/colorchooser/colorchooser.trigger.js
  58. 0
      src/case/colorchooser/colorpicker/button/button.colorpicker.js
  59. 0
      src/case/colorchooser/colorpicker/colorpicker.js
  60. 0
      src/case/colorchooser/colorpicker/editor.colorpicker.js
  61. 6
      src/case/colorchooser/farbtastic/farbtastic.js
  62. 0
      src/case/colorchooser/farbtastic/jquery.farbtastic.js
  63. 0
      src/case/combo/bubblecombo/combo.bubble.js
  64. 47
      src/case/combo/bubblecombo/popup.bubble.js
  65. 0
      src/case/combo/editoriconcheckcombo/combo.editoriconcheck.js
  66. 2
      src/case/combo/formulacombo/combo.formula.js
  67. 0
      src/case/combo/formulacombo/popup.formulacombo.js
  68. 0
      src/case/combo/formulacombo/trigger.formulacombo.js
  69. 0
      src/case/combo/iconcombo/combo.icon.js
  70. 0
      src/case/combo/iconcombo/popup.iconcombo.js
  71. 0
      src/case/combo/iconcombo/trigger.iconcombo.js
  72. 44
      src/case/combo/popup.bubble.bar.js
  73. 0
      src/case/combo/staticcombo/combo.static.js
  74. 0
      src/case/combo/textvaluecheckcombo/combo.textvaluecheck.js
  75. 0
      src/case/combo/textvaluecheckcombo/combo.textvaluechecksmall.js
  76. 0
      src/case/combo/textvaluecheckcombo/popup.textvaluecheck.js
  77. 0
      src/case/combo/textvaluecombo/combo.textvalue.js
  78. 0
      src/case/combo/textvaluecombo/combo.textvaluesmall.js
  79. 0
      src/case/combo/textvaluecombo/popup.textvalue.js
  80. 0
      src/case/combo/textvaluedownlistcombo/combo.textvaluedownlist.js
  81. 0
      src/case/combo/textvaluedownlistcombo/trigger.textvaluedownlist.js
  82. 242
      src/case/logintimeout/login.timeout.js
  83. 495
      src/case/zclip/jquery.zclip.js
  84. 2
      src/case/zclip/zclip.js
  85. 44
      src/core/controller/controller.bubbles.js
  86. 4
      src/core/wrapper/layout/adapt/float.center.js
  87. 16
      src/widget/pathchooser/pathchooser.js

6
demo/config.js

File diff suppressed because one or more lines are too long

26
demo/js/base/demo.bubble.js

@ -3,22 +3,29 @@ Demo.Bubble = BI.inherit(BI.Widget, {
baseCls: "demo-bubble"
},
render: function () {
var btns = [];
var items = [
{
el: {
ref: function (_ref) {
btns.push(_ref);
},
type: 'bi.button',
text: 'bubble测试',
height : 30,
handler: function(){
height: 30,
handler: function () {
BI.Bubbles.show("singleBubble1", "bubble测试", this);
}
}
}, {
el: {
ref: function (_ref) {
btns.push(_ref);
},
type: 'bi.button',
text: 'bubble测试(居中显示)',
height : 30,
handler: function(){
height: 30,
handler: function () {
BI.Bubbles.show("singleBubble2", "bubble测试", this, {
offsetStyle: "center"
});
@ -26,10 +33,13 @@ Demo.Bubble = BI.inherit(BI.Widget, {
}
}, {
el: {
ref: function (_ref) {
btns.push(_ref);
},
type: 'bi.button',
text: 'bubble测试(右边显示)',
height : 30,
handler: function(){
height: 30,
handler: function () {
BI.Bubbles.show("singleBubble3", "bubble测试", this, {
offsetStyle: "right"
});
@ -39,8 +49,8 @@ Demo.Bubble = BI.inherit(BI.Widget, {
];
return {
type: "bi.left",
vgap : 200,
hgap : 20,
vgap: 200,
hgap: 20,
items: items
}
}

32
demo/js/base/demo.svg.js

@ -0,0 +1,32 @@
Demo.Func = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-func"
},
render: function () {
var svg = BI.createWidget({
type: "bi.svg",
width: 500,
height: 600
});
var circle = svg.circle(100, 100, 10);
circle.animate({fill: "#223fa3", stroke: "#000", "stroke-width": 80, "stroke-opacity": 0.5}, 2000);
var el = svg.rect(10, 200, 300, 200);
el.transform("t100,100r45t-100,0");
svg.path("M10,10L50,50M50,10L10,50")
.attr({stroke: "red"});
BI.createWidget({
type: "bi.absolute",
element: this,
items: [{
el: svg,
left: 100,
top: 50
}]
})
}
});
$.shortcut("demo.svg", Demo.Func);

96
demo/js/case/combo/demo.bubble_combo.js

@ -0,0 +1,96 @@
Demo.Func = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-func"
},
_createNav: function(v){
var m = this.MONTH, y = this.YEAR;
m += v;
while(m < 0){
y--;
m += 12;
}
while(m > 11){
y++;
m -= 12;
}
var calendar = BI.createWidget({
type: "bi.calendar",
logic: {
dynamic: false
},
year: y,
month: m,
day: this.DAY
})
calendar.setValue(this.selectedTime);
return calendar;
},
_stringfyTimeObject: function(timeOb){
return timeOb.year + "-" + (timeOb.month + 1) + "-" + timeOb.day;
},
render: function () {
var self = this;
var combo1 = BI.createWidget({
type: "bi.bubble_combo",
el: {
type: "bi.button",
text: "测试",
height: 25
},
popup: {
el: {
type: "bi.button_group",
items: BI.makeArray(100, {
type: "bi.text_item",
height: 25,
text: "item"
}),
layouts: [{
type: "bi.vertical"
}]
},
maxHeight: 200
}
})
var combo2 = BI.createWidget({
type: "bi.bubble_combo",
el: {
type: "bi.button",
text: "测试",
height: 25
},
popup: {
type: "bi.bubble_bar_popup_view",
el: {
type: "bi.button_group",
items: BI.makeArray(100, {
type: "bi.text_item",
height: 25,
text: "item"
}),
layouts: [{
type: "bi.vertical"
}]
},
maxHeight: 200,
minWidth: 600
}
})
BI.createWidget({
type: "bi.absolute",
element: this,
items: [{
el: combo1,
left: 100,
top: 100
}, {
el: combo2,
left: 100,
bottom: 100
}]
})
}
});
$.shortcut("demo.bubble_combo", Demo.Func);

84
demo/js/case/demo.calendar.js

@ -0,0 +1,84 @@
Demo.Func = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-func"
},
_createNav: function(v){
var m = this.MONTH, y = this.YEAR;
m += v;
while(m < 0){
y--;
m += 12;
}
while(m > 11){
y++;
m -= 12;
}
var calendar = BI.createWidget({
type: "bi.calendar",
logic: {
dynamic: false
},
year: y,
month: m,
day: this.DAY
})
calendar.setValue(this.selectedTime);
return calendar;
},
_stringfyTimeObject: function(timeOb){
return timeOb.year + "-" + (timeOb.month + 1) + "-" + timeOb.day;
},
render: function () {
var self = this, d = new Date();
this.YEAR = d.getFullYear();
this.MONTH = d.getMonth();
this.DAY = d.getDate();
this.selectedTime = {
year: this.YEAR,
month: this.MONTH,
day: this.DAY
};
var tip = BI.createWidget({
type: "bi.label"
});
var nav = BI.createWidget({
type: "bi.navigation",
element: this,
tab: {
height: 30,
items: [{
once: false,
text: "后退",
value: -1,
cls: "mvc-button layout-bg3"
},tip, {
once: false,
text: "前进",
value: 1,
cls: "mvc-button layout-bg4"
}]
},
cardCreator: BI.bind(this._createNav, this),
afterCardCreated: function(){
},
afterCardShow: function(){
this.setValue(self.selectedTime);
}
})
nav.on(BI.Navigation.EVENT_CHANGE, function(){
self.selectedTime = nav.getValue();
tip.setText(self._stringfyTimeObject(self.selectedTime));
});
tip.setText(this._stringfyTimeObject(this.selectedTime));
}
});
$.shortcut("demo.calendar", Demo.Func);

21
demo/js/case/demo.color_chooser.js

@ -0,0 +1,21 @@
Demo.Func = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-func"
},
render: function () {
return {
type: "bi.absolute",
items: [{
el: {
type: "bi.color_chooser",
width: 30,
height: 30
},
left: 100,
top: 250
}]
}
}
});
$.shortcut("demo.color_chooser", Demo.Func);

35
demo/js/case/demo.complex_canvas.js

@ -0,0 +1,35 @@
Demo.Func = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-func"
},
render: function () {
var canvas = BI.createWidget({
type: "bi.complex_canvas",
width: 500,
height: 600
});
canvas.branch(55, 100, 10, 10, 100, 10, 200, 10, {
offset: 20,
strokeStyle: "red",
lineWidth: 2
});
canvas.branch(220, 155, 120, 110, 150, 200, {
offset: 40
});
canvas.stroke();
BI.createWidget({
type: "bi.absolute",
element: this,
items: [{
el: canvas,
left: 100,
top: 50
}]
})
}
});
$.shortcut("demo.complex_canvas", Demo.Func);

42
demo/js/case/demo.zclip.js

@ -0,0 +1,42 @@
Demo.Func = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-func"
},
render: function () {
var editor = BI.createWidget({
type: "bi.text_editor",
width: 200,
height: 30,
value: "这是复制的内容"
});
var zclip = BI.createWidget({
type: 'bi.zero_clip',
width: 100,
height: 100,
cls: 'layout-bg1',
copy: function () {
return editor.getValue();
},
afterCopy: function () {
BI.Msg.toast(editor.getValue());
}
});
BI.createWidget({
type: "bi.absolute",
element: this,
items: [{
el: editor,
left: 100,
top: 50,
}, {
el: zclip,
left: 100,
top: 100
}]
})
}
});
$.shortcut("demo.zclip", Demo.Func);

177
demo/js/config/base.js

@ -1,7 +1,6 @@
Demo.BASE_CONFIG = [{
id: 2,
text: "基础控件",
open: true,
}, {
pId: 2,
text: "bi.label",
@ -66,134 +65,48 @@ Demo.BASE_CONFIG = [{
pId: 202,
text: "bi.formula_editor",
value: "demo.formula_editor"
},
{
pId: 2,
id: 5,
text: "组合控件"
}, {
pId: 2,
id: 8,
text: "树控件"
}, {
pId: 2,
id: 7,
text: "按钮"
}, {
pId: 2,
id: 9,
text: "listitem"
}, {
pId: 2,
text: "bi.canvas",
value: "demo.canvas"
}, {
pId: 2,
text: "bi.collection",
value: "demo.collection"
}, {
pId: 2,
text: "bi.farbtastic",
value: "demo.farbtastic"
}, {
pId: 2,
text: "bi.message",
value: "demo.message"
}, {
pId: 2,
text: "bi.grid_view",
value: "demo.grid_view"
}, {
pId: 2,
id: 6,
text: "弹出层"
}, {
pId: 2,
text: "bi.pager",
value: "demo.pager"
}, {
pId: 2,
text: "bi.svg",
value: "demo.svg"
}, {
pId: 2,
text: "bi.table",
value: "demo.table"
}, {
pId: 5,
text: "bi.combo",
value: "demo.combo"
}, {
pId: 5,
text: "bi.expander",
value: "demo.expander"
}, {
pId: 5,
text: "bi.group_button",
value: "demo.group_button"
}, {
pId: 5,
text: "bi.group_combo",
value: "demo.group_combo"
}, {
pId: 5,
text: "bi.loader",
value: "demo.loader"
}, {
pId: 5,
text: "bi.navigation",
value: "demo.navigation"
}, {
pId: 5,
text: "bi.searcher",
value: "demo.searcher"
}, {
pId: 5,
text: "bi.switcher",
value: "demo.switcher"
}, {
pId: 5,
text: "bi.tab",
value: "demo.tab"
}, {
pId: 5,
text: "bi.tree_button",
value: "demo.tree_button"
}, {
pId: 6,
text: "bi.layer_float_box",
value: "demo.layer_float_box"
}, {
pId: 6,
text: "bi.layer_popup",
value: "demo.layer_popup"
}, {
pId: 6,
text: "bi.layer_scroll",
value: "demo.layer_scroll"
}, {
pId: 6,
text: "bi.layer_searcher",
value: "demo.layer_searcher"
}, {
pId: 8,
text: "bi.treeview",
value: "demo.treeview"
}, {
pId: 8,
text: "bi.synctree",
value: "demo.synctree"
}, {
pId: 8,
text: "bi.parttree",
value: "demo.parttree"
}, {
pId: 8,
text: "bi.customtree",
value: "demo.customtree"
}, {
pId: 9,
text: "bi.list_items",
value: "demo.list_items"
},];
}, {
pId: 2,
id: 203,
text: "树控件"
}, {
pId: 203,
text: "bi.treeview",
value: "demo.treeview"
}, {
pId: 203,
text: "bi.synctree",
value: "demo.synctree"
}, {
pId: 203,
text: "bi.parttree",
value: "demo.parttree"
}, {
pId: 2,
id: 204,
text: "表格"
}, {
pId: 204,
text: "bi.table_view",
value: "demo.table_view"
}, {
pId: 204,
text: "bi.table_grid",
value: "demo.table_grid"
}, {
pId: 204,
text: "bi.table_collection",
value: "demo.table_collection"
}, {
pId: 2,
text: "bi.canvas",
value: "demo.canvas"
}, {
pId: 2,
text: "bi.pager",
value: "demo.pager"
}, {
pId: 2,
text: "bi.svg",
value: "demo.svg"
}];

61
demo/js/config/case.js

@ -1,50 +1,51 @@
Demo.CASE_CONFIG = [{
id: 3,
text: "实例控件"
text: "实例控件",
open: true,
}, {
pId: 3,
text: "bi.calendar",
value: "demo.calendar"
}, {
pId: 3,
text: "bi.zclip",
value: "demo.zclip"
}, {
pId: 3,
text: "bi.complex_calendar",
value: "demo.complex_calendar"
}, {
pId: 3,
text: "bi.calendar",
value: "demo.calendar"
}, {
pId: 3,
text: "bi.colorpicker",
value: "demo.colorpicker"
}, {
pId: 3,
text: "bi.bubble_combo",
value: "demo.bubble_combo"
}, {
pId: 3,
id: 11,
id: 301,
text: "editors"
}, {
pId: 11,
pId: 301,
text: "bi.record_editor",
value: "demo.record_editor"
}, {
pId: 11,
pId: 301,
text: "bi.shelter_editor",
value: "demo.shelter_editor"
}, {
pId: 11,
pId: 301,
text: "bi.sign_editor",
value: "demo.sign_editor"
}, {
pId: 11,
pId: 301,
text: "bi.state_editor",
value: "demo.state_editor"
}, {
pId: 3,
id: 302,
text: "combo"
}, {
pId: 302,
text: "bi.bubble_combo",
value: "demo.bubble_combo"
}, {
pId: 3,
text: "bi.calendar",
value: "demo.calendar"
}, {
pId: 3,
text: "bi.zclip",
value: "demo.zclip"
}, {
pId: 3,
text: "bi.complex_canvas",
value: "demo.complex_canvas"
}, {
pId: 3,
text: "bi.color_chooser",
value: "demo.color_chooser"
}, {
pId: 3,
text: "各种checkbox",

184
demo/js/config/core.js

@ -0,0 +1,184 @@
Demo.CORE_CONFIG = [{
id: 1,
text: "核心控件",
}, {
id: 101,
pId: 1,
text: "布局"
}, {
pId: 101,
text: "bi.center_adapt",
value: "demo.center_adapt"
}, {
pId: 101,
text: "bi.vertical_adapt",
value: "demo.vertical_adapt"
}, {
pId: 101,
text: "bi.horizontal_adapt",
value: "demo.horizontal_adapt"
}, {
pId: 101,
text: "bi.horizontal_auto",
value: "demo.horizontal_auto"
}, {
pId: 101,
text: "bi.horizontal_float",
value: "demo.horizontal_float"
}, {
pId: 101,
text: "bi.left_right_vertical_adapt",
value: "demo.left_right_vertical_adapt"
}, {
pId: 101,
text: "bi.center",
value: "demo.center_layout"
}, {
pId: 101,
text: "bi.float_center",
value: "demo.float_center"
}, {
pId: 101,
text: "bi.vertical",
value: "demo.vertical"
}, {
pId: 101,
text: "bi.horizontal",
value: "demo.horizontal"
}, {
pId: 101,
text: "bi.border",
value: "demo.border"
}, {
pId: 101,
text: "bi.left, bi.right",
value: "demo.flow"
}, {
pId: 101,
text: "bi.inline",
value: "demo.inline"
}, {
pId: 101,
text: "bi.htape",
value: "demo.htape"
}, {
pId: 101,
text: "bi.vtape",
value: "demo.vtape"
}, {
pId: 101,
text: "bi.grid",
value: "demo.grid"
}, {
pId: 101,
text: "bi.table",
value: "demo.table_layout"
}, {
pId: 101,
text: "bi.td",
value: "demo.td"
}, {
pId: 1,
id: 102,
text: "抽象控件"
}, {
pId: 102,
text: "bi.button_group",
value: "demo.button_group"
}, {
pId: 102,
text: "bi.button_tree",
value: "demo.button_tree"
}, {
pId: 102,
text: "bi.button_map",
value: "demo.button_map"
}, {
pId: 102,
id: 10201,
text: "组合控件"
}, {
pId: 10201,
text: "bi.combo",
value: "demo.combo"
}, {
pId: 10201,
text: "bi.expander",
value: "demo.expander"
}, {
pId: 10201,
text: "bi.group_combo",
value: "demo.group_combo"
}, {
pId: 10201,
text: "bi.loader",
value: "demo.loader"
}, {
pId: 10201,
text: "bi.navigation",
value: "demo.navigation"
}, {
pId: 10201,
text: "bi.searcher",
value: "demo.searcher"
}, {
pId: 10201,
text: "bi.switcher",
value: "demo.switcher"
}, {
pId: 10201,
text: "bi.tab",
value: "demo.tab"
}, {
pId: 102,
id: 10202,
text: "弹出层"
}, {
pId: 10202,
text: "bi.layer_float_box",
value: "demo.layer_float_box"
}, {
pId: 10202,
text: "bi.layer_popup",
value: "demo.layer_popup"
}, {
pId: 10202,
text: "bi.layer_scroll",
value: "demo.layer_scroll"
}, {
pId: 10202,
text: "bi.layer_searcher",
value: "demo.layer_searcher"
}, {
pId: 102,
text: "bi.customtree",
value: "demo.customtree"
}, {
pId: 102,
text: "bi.grid_view",
value: "demo.grid_view"
}, {
pId: 102,
text: "bi.collection",
value: "demo.collection"
}, {
pId: 1,
text: "widget",
value: "demo.widget"
}, {
pId: 1,
text: "single",
value: "demo.single"
}, {
pId: 1,
text: "BasicButton",
value: "demo.basic_button"
}, {
pId: 1,
text: "NodeButton",
value: "demo.node_button"
}, {
pId: 1,
text: "pane",
value: "demo.pane"
}];

76
demo/js/config/layout.js

@ -1,76 +0,0 @@
Demo.LAYOUT_CONFIG = [{
id: 1,
text: "布局"
}, {
pId: 1,
text: "bi.center_adapt",
value: "demo.center_adapt"
}, {
pId: 1,
text: "bi.vertical_adapt",
value: "demo.vertical_adapt"
}, {
pId: 1,
text: "bi.horizontal_adapt",
value: "demo.horizontal_adapt"
}, {
pId: 1,
text: "bi.horizontal_auto",
value: "demo.horizontal_auto"
}, {
pId: 1,
text: "bi.horizontal_float",
value: "demo.horizontal_float"
}, {
pId: 1,
text: "bi.left_right_vertical_adapt",
value: "demo.left_right_vertical_adapt"
}, {
pId: 1,
text: "bi.center",
value: "demo.center_layout"
}, {
pId: 1,
text: "bi.float_center",
value: "demo.float_center"
}, {
pId: 1,
text: "bi.vertical",
value: "demo.vertical"
}, {
pId: 1,
text: "bi.horizontal",
value: "demo.horizontal"
}, {
pId: 1,
text: "bi.border",
value: "demo.border"
}, {
pId: 1,
text: "bi.left, bi.right",
value: "demo.flow"
}, {
pId: 1,
text: "bi.inline",
value: "demo.inline"
}, {
pId: 1,
text: "bi.htape",
value: "demo.htape"
}, {
pId: 1,
text: "bi.vtape",
value: "demo.vtape"
}, {
pId: 1,
text: "bi.grid",
value: "demo.grid"
}, {
pId: 1,
text: "bi.table",
value: "demo.table_layout"
}, {
pId: 1,
text: "bi.td",
value: "demo.td"
}];

11
demo/js/core/abstract/combination/demo.combo.js

@ -0,0 +1,11 @@
Demo.Func = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-func"
},
render: function () {
return {
type: "bi.layout",
}
}
});
$.shortcut("demo.combo", Demo.Func);

24
demo/js/core/abstract/demo.button_group.js

@ -0,0 +1,24 @@
Demo.Func = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-func"
},
render: function () {
return {
type: "bi.button_group",
chooseType: BI.ButtonGroup.CHOOSE_TYPE_NONE,
layouts: [{
type: "bi.vertical"
}, {
type: "bi.center_adapt",
}],
items: [{
type: "bi.label",
text: "button_group是一类具有相同属性或相似属性的抽象, 本案例实现的是布局的嵌套(vertical布局下内嵌center_adapt布局)"
}, {
type: "bi.button",
text: "1"
}]
}
}
});
$.shortcut("demo.button_group", Demo.Func);

26
demo/js/core/abstract/demo.button_map.js

@ -0,0 +1,26 @@
Demo.Func = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-func"
},
render: function () {
return {
type: "bi.button_map",
chooseType: BI.ButtonGroup.CHOOSE_TYPE_MULTI,
layouts: [{
type: "bi.vertical"
}, {
type: "bi.center_adapt",
}],
items: [{
type: "bi.label",
text: "0",
value: 0
}, {
type: "bi.button",
text: "1",
value: 1
}]
}
}
});
$.shortcut("demo.button_map", Demo.Func);

26
demo/js/core/abstract/demo.button_tree.js

@ -0,0 +1,26 @@
Demo.Func = BI.inherit(BI.Widget, {
props: {
baseCls: "demo-func"
},
render: function () {
return {
type: "bi.button_tree",
chooseType: BI.ButtonGroup.CHOOSE_TYPE_MULTI,
layouts: [{
type: "bi.vertical"
}, {
type: "bi.center_adapt",
}],
items: [{
type: "bi.label",
text: "0",
value: 0
}, {
type: "bi.button",
text: "1",
value: 1
}]
}
}
});
$.shortcut("demo.button_tree", Demo.Func);

0
demo/js/layout/demo.absolute.js → demo/js/core/layout/demo.absolute.js

0
demo/js/layout/demo.border.js → demo/js/core/layout/demo.border.js

0
demo/js/layout/demo.center.js → demo/js/core/layout/demo.center.js

0
demo/js/layout/demo.center_adapt.js → demo/js/core/layout/demo.center_adapt.js

0
demo/js/layout/demo.float_center.js → demo/js/core/layout/demo.float_center.js

0
demo/js/layout/demo.flow.js → demo/js/core/layout/demo.flow.js

0
demo/js/layout/demo.grid.js → demo/js/core/layout/demo.grid.js

0
demo/js/layout/demo.horizontal.js → demo/js/core/layout/demo.horizontal.js

0
demo/js/layout/demo.horizontal_adapt.js → demo/js/core/layout/demo.horizontal_adapt.js

0
demo/js/layout/demo.horizontal_auto.js → demo/js/core/layout/demo.horizontal_auto.js

0
demo/js/layout/demo.horizontal_float.js → demo/js/core/layout/demo.horizontal_float.js

0
demo/js/layout/demo.htape.js → demo/js/core/layout/demo.htape.js

0
demo/js/layout/demo.inline.js → demo/js/core/layout/demo.inline.js

0
demo/js/layout/demo.left_right_vertical_adapt.js → demo/js/core/layout/demo.left_right_vertical_adapt.js

0
demo/js/layout/demo.table.js → demo/js/core/layout/demo.table.js

0
demo/js/layout/demo.td.js → demo/js/core/layout/demo.td.js

0
demo/js/layout/demo.vertical.js → demo/js/core/layout/demo.vertical.js

0
demo/js/layout/demo.vertical_adapt.js → demo/js/core/layout/demo.vertical_adapt.js

0
demo/js/layout/demo.vtape.js → demo/js/core/layout/demo.vtape.js

56
demo/js/face.js

@ -3,50 +3,26 @@ Demo.Face = BI.inherit(BI.Widget, {
baseCls: "demo-face"
},
render: function () {
var self = this;
return {
type: "bi.vertical",
hgap: 50,
vgap: 20,
type: "bi.absolute",
items: [{
type: "bi.label",
text: "栅格布局",
height: 50
}, {
type: "bi.lattice",
columnSize: [0.1, 0.1, 0.3, 0.4, 0.1],
items: [{
type: "bi.label",
height: 30,
text: "Left-1",
cls: "layout-bg1 lattice-item",
hgap: 20
}, {
type: "bi.label",
height: 30,
text: "Left-2",
cls: "layout-bg2 lattice-item",
hgap: 20
}, {
type: "bi.label",
height: 30,
text: "Left-3",
cls: "layout-bg3 lattice-item",
hgap: 20
}, {
type: "bi.label",
height: 30,
text: "Left-4",
cls: "layout-bg4 lattice-item",
hgap: 20
}, {
type: "bi.label",
height: 30,
text: "Left-5",
cls: "layout-bg5 lattice-item",
hgap: 20
}]
el: {
type: "bi.svg",
ref: function () {
self.svg = this;
}
},
left: 0,
right: 0,
top: 0,
bottom: 0
}]
}
},
mounted: function () {
var circle = this.svg.circle(this.element.width() / 2, this.element.height() / 2, 20);
circle.animate({fill: "#223fa3", stroke: "#000", "stroke-width": 80, "stroke-opacity": 0.5}, 2000);
}
});
$.shortcut("demo.face", Demo.Face);

4
demo/version.js

@ -1,3 +1,7 @@
Demo = {
version: 1.0
};
BI.i18n = {
"BI-Basic_OK": "确定"
};

57656
dist/base.js vendored

File diff suppressed because it is too large Load Diff

3093
dist/case.js vendored

File diff suppressed because it is too large Load Diff

48
dist/core.js vendored

@ -20404,16 +20404,7 @@ BI.BubblesController = BI.inherit(BI.Controller, {
});
},
hide: function (name, callback) {
if (!this.has(name)) {
return this;
}
this.get(name).element.hide(0, callback);
this.get(name).invisible();
return this;
},
_getOffsetLeft: function(name, context, offsetStyle){
_getOffsetLeft: function (name, context, offsetStyle) {
var left = 0;
if ("center" === offsetStyle) {
left = context.element.offset().left + (context.element.bounds().width - this.get(name).element.bounds().width) / 2;
@ -20432,7 +20423,7 @@ BI.BubblesController = BI.inherit(BI.Controller, {
return context.element.offset().left;
},
_getOffsetTop: function(name, context, offsetStyle){
_getOffsetTop: function (name, context, offsetStyle) {
var top = 0;
if ("center" === offsetStyle) {
top = context.element.offset().top + (context.element.bounds().height - this.get(name).element.bounds().height) / 2;
@ -20450,25 +20441,25 @@ BI.BubblesController = BI.inherit(BI.Controller, {
return context.element.offset().top;
},
_getLeftPosition: function(name, context, offsetStyle){
_getLeftPosition: function (name, context, offsetStyle) {
var position = $.getLeftPosition(context, this.get(name));
position.top = this._getOffsetTop(name, context, offsetStyle);
return position;
},
_getBottomPosition: function(name, context, offsetStyle){
_getBottomPosition: function (name, context, offsetStyle) {
var position = $.getBottomPosition(context, this.get(name));
position.left = this._getOffsetLeft(name, context, offsetStyle);
return position;
},
_getTopPosition: function(name, context, offsetStyle){
_getTopPosition: function (name, context, offsetStyle) {
var position = $.getTopPosition(context, this.get(name));
position.left = this._getOffsetLeft(name, context, offsetStyle);
return position;
},
_getRightPosition: function(name, context, offsetStyle){
_getRightPosition: function (name, context, offsetStyle) {
var position = $.getRightPosition(context, this.get(name));
position.top = this._getOffsetTop(name, context, offsetStyle);
return position;
@ -20498,8 +20489,8 @@ BI.BubblesController = BI.inherit(BI.Controller, {
items: [{
el: this.storeBubbles[name]["top"]
}]
})
this.set(name, this.storeBubbles[name]["top"])
});
this.set(name, this.storeBubbles[name]["top"]);
var position = this._getTopPosition(name, context, offsetStyle);
this.get(name).element.css({left: position.left, top: position.top});
this.get(name).invisible();
@ -20513,7 +20504,7 @@ BI.BubblesController = BI.inherit(BI.Controller, {
items: [{
el: this.storeBubbles[name]["left"]
}]
})
});
this.set(name, this.storeBubbles[name]["left"]);
var position = this._getLeftPosition(name, context, offsetStyle);
this.get(name).element.css({left: position.left, top: position.top});
@ -20528,8 +20519,8 @@ BI.BubblesController = BI.inherit(BI.Controller, {
items: [{
el: this.storeBubbles[name]["right"]
}]
})
this.set(name, this.storeBubbles[name]["right"])
});
this.set(name, this.storeBubbles[name]["right"]);
var position = this._getRightPosition(name, context, offsetStyle);
this.get(name).element.css({left: position.left, top: position.top});
this.get(name).invisible();
@ -20556,6 +20547,14 @@ BI.BubblesController = BI.inherit(BI.Controller, {
return this;
},
hide: function (name) {
if (!this.has(name)) {
return this;
}
this.get(name).invisible();
return this;
},
add: function (name, bubble) {
if (this.has(name)) {
return this;
@ -20580,7 +20579,10 @@ BI.BubblesController = BI.inherit(BI.Controller, {
if (!this.has(name)) {
return this;
}
this.bubblesManager[name].destroy();
BI.each(this.storeBubbles[name], function (dir, bubble) {
bubble.destroy();
});
delete this.storeBubbles[name];
delete this.bubblesManager[name];
return this;
}
@ -25562,8 +25564,8 @@ BI.FloatCenterAdaptLayout = BI.inherit(BI.Layout, {
},
mounted: function () {
var width = this.left.element.width(),
height = this.left.element.height();
var width = this.left.element.outerWidth(),
height = this.left.element.outerHeight();
this.left.element.width(width).height(height).css("float", "none");
BI.createWidget({
type: "bi.center_adapt",

1595
dist/widget.js vendored

File diff suppressed because it is too large Load Diff

3
src/base/base.js

@ -5,3 +5,6 @@ BI.Bubbles = new BI.BubblesController();
BI.Tooltips = new BI.TooltipsController();
BI.Popovers = new BI.FloatBoxController();
BI.Broadcasts = new BI.BroadcastController();
BI.servletURL = "dist/";
BI.i18n = {};

6
src/base/combination/group.button.js

@ -9,11 +9,7 @@ BI.ButtonGroup = BI.inherit(BI.Widget, {
return BI.extend(BI.ButtonGroup.superclass._defaultConfig.apply(this, arguments), {
baseCls: "bi-button-group",
behaviors: {},
items: [
{
el: {type: "bi.text_button", text: "", value: ""}
}
],
items: [],
chooseType: BI.Selection.Single,
layouts: [{
type: "bi.center",

2
src/base/combination/map.button.js

@ -22,7 +22,7 @@ BI.ButtonMap = BI.inherit(BI.ButtonTree, {
var buttons = BI.createWidgets(BI.createItems(items, {type: "bi.text_button", once: o.chooseType === 0}));
var keys = BI.map(items, function (i, item) {
item = BI.stripEL(item);
if (!(item.id || item.value)) {
if (!(BI.isKey(item.id) || BI.isKey(item.value))) {
throw new Error("item必须包含id或value属性");
}
return item.id || item.value;

0
src/third/codemirror/codemirror.js → src/base/formula/codemirror/codemirror.js

0
src/base/formula/codemirror/addon/formula-hint.js → src/base/formula/codemirror/formula-hint.js

0
src/base/formula/codemirror/addon/formula-mode.js → src/base/formula/codemirror/formula-mode.js

0
src/base/formula/codemirror/addon/show-hint.js → src/base/formula/codemirror/show-hint.js

192
src/base/reqloading/loading.request.js

@ -1,192 +0,0 @@
/**
* Created by Young's on 2016/8/17.
* 加载面板一般只用于 requestAsync
*/
BI.RequstLoading = BI.inherit(BI.Widget, {
_defaultConfig: function () {
return BI.extend(BI.RequstLoading.superclass._defaultConfig.apply(this, arguments), {});
},
_init: function () {
BI.RequstLoading.superclass._init.apply(this, arguments);
var self = this, o = this.options;
var mask = BI.Maskers.create(BI.RequstLoading.MASK_ID);
this.callback = o.callback;
this.paneTab = BI.createWidget({
type: "bi.tab",
cardCreator: BI.bind(this._cardCreator, this),
defaultShowIndex: BI.RequstLoading.ERROR,
width: 400,
height: 300
});
var tempIcon = BI.createWidget({
type: "bi.icon_button",
cls: "data-link-test-fail-icon",
width: 0,
height: 0
});
BI.createWidget({
type: "bi.absolute",
element: $('body'),
items: [{
el: tempIcon,
bottom: 0
}]
});
BI.createWidget({
type: "bi.absolute",
element: mask,
cls: "bi-request-loading",
items: [{
el: {
type: "bi.layout",
cls: "mask-pane"
},
top: 0,
left: 0,
bottom: 0,
right: 0
}, {
el: {
type: "bi.center_adapt",
items: [this.paneTab]
},
top: 0,
left: 0,
right: 0,
bottom: 0
}]
});
},
_cardCreator: function (v) {
var self = this;
var cancel = BI.createWidget({
type: "bi.button",
text: BI.i18nText("BI-Basic_Cancel"),
title: BI.i18nText("BI-Basic_Cancel"),
level: "ignore",
height: 28,
width: 90,
handler: function () {
BI.Maskers.hide(BI.RequstLoading.MASK_ID);
}
});
var retry = BI.createWidget({
type: "bi.button",
text: BI.i18nText("BI-Basic_Retry"),
title: BI.i18nText("BI-Basic_Retry"),
level: "common",
height: 28,
width: 90,
handler: function () {
self.paneTab.setSelect(BI.RequstLoading.LOADING);
self.callback();
}
});
switch (v) {
case BI.RequstLoading.LOADING:
return BI.createWidget({
type: "bi.vertical",
items: [{
type: "bi.center_adapt",
cls: "loading-bar-icon",
items: [{
type: "bi.icon",
width: 208,
height: 15
}]
}, {
type: "bi.label",
cls: "loading-comment",
text: BI.i18nText("BI-Basic_Loading"),
height: 30
}],
width: 208,
height: 200,
vgap: 10
});
case BI.RequstLoading.LOADING_TIMEOUT:
return BI.createWidget({
type: "bi.vertical",
items: [{
type: "bi.center_adapt",
cls: "loading-bar-icon",
items: [{
type: "bi.icon",
width: 208,
height: 15
}]
}, {
type: "bi.label",
cls: "loading-comment",
text: BI.i18nText("BI-Basic_Loading"),
height: 30
}, {
type: "bi.label",
text: BI.i18nText("BI-Request_Time_Out_Toast_Tip"),
cls: "load-timeout-warning"
}, {
type: "bi.left_right_vertical_adapt",
items: {
left: [cancel],
right: [retry]
},
height: 30,
llgap: 100,
rrgap: 100
}],
vgap: 10
});
case BI.RequstLoading.ERROR:
return BI.createWidget({
type: "bi.vertical",
items: [{
type: "bi.center_adapt",
cls: "data-link-test-fail-icon",
items: [{
type: "bi.icon",
width: 126,
height: 126
}]
}, {
type: "bi.label",
text: BI.i18nText("BI-Connection_Lost"),
cls: "load-fail-comment"
}, {
type: "bi.left_right_vertical_adapt",
items: {
left: [cancel],
right: [retry]
},
height: 30,
llgap: 100,
rrgap: 100
}],
vgap: 20
});
}
},
showLoading: function () {
BI.Maskers.show(BI.RequstLoading.MASK_ID);
this.paneTab.setSelect(BI.RequstLoading.LOADING);
},
showError: function () {
BI.Maskers.show(BI.RequstLoading.MASK_ID);
this.paneTab.setSelect(BI.RequstLoading.ERROR);
},
setCallback: function (callback) {
this.callback = callback;
}
});
BI.extend(BI.RequstLoading, {
MASK_ID: "___request__loading___",
LOADING: 1,
LOADING_TIMEOUT: 2,
ERROR: 3
});
$.shortcut("bi.request_loading", BI.RequstLoading);

0
src/third/raphael.js → src/base/svg/raphael.js

117
src/base/timeouttoast/widget.timeouttoast.js

@ -1,117 +0,0 @@
/**
* 组件请求数据超时提示
* Created by Young's on 2017/2/4.
*/
BI.TimeoutToast = BI.inherit(BI.Tip, {
_defaultConfig: function () {
return BI.extend(BI.TimeoutToast.superclass._defaultConfig.apply(this, arguments), {
baseCls: "bi-timeout-toast"
});
},
_init: function () {
BI.TimeoutToast.superclass._init.apply(this, arguments);
var self = this;
this.requests = [];
this.toast = BI.createWidget({
type: "bi.vertical_adapt",
element: this,
items: [{
type: "bi.label",
text: BI.i18nText("BI-Request_Time_Out_Toast_Tip")
}, {
type: "bi.text_button",
cls: "cancel-button",
width: 60,
height: 22,
text: BI.i18nText("BI-Basic_Cancel"),
title: BI.i18nText("BI-Basic_Cancel"),
handler: function () {
self.cancelAllRequests();
}
}, {
type: "bi.text_button",
cls: "retry-button",
width: 60,
height: 22,
text: BI.i18nText("BI-Basic_Retry"),
title: BI.i18nText("BI-Basic_Retry"),
handler: function () {
self.toast.element.slideUp(500);
self._retryAll();
}
}, {
type: "bi.icon_button",
cls: "close-font",
width: 20,
height: 20,
title: BI.i18nText("BI-Basic_Close"),
handler: function () {
self.toast.element.slideUp(500);
}
}],
width: 520,
height: 30,
hgap: 2
});
BI.createWidget({
type: "bi.absolute",
element: $("body"),
items: [{
el: this.toast,
left: "50%",
top: 0
}]
});
this.toast.element.css({"margin-left": -1 * this.toast.element.outerWidth() / 2});
this.toast.setVisible(false);
},
_retryAll: function () {
var self = this;
var clonedRequests = BI.deepClone(this.requests);
this.requests = [];
BI.each(clonedRequests, function (i, options) {
BI.isFunction(self.callback) && self.callback(options);
});
},
cancelAllRequests: function () {
this.toast.element.slideUp(500);
BI.each(this.requests, function (i, reqArgs) {
if (BI.isNotNull(reqArgs) && BI.isFunction(reqArgs.complete)) {
reqArgs.complete();
}
});
this.requests = [];
},
setCallback: function (callback) {
this.callback = callback;
},
addReq: function (options) {
var self = this;
if (this.requests.length === 0) {
setTimeout(function () {
if (self.requests.contains(options)) {
self.toast.element.slideDown(500);
}
}, 5 * 60 * 1000); //5 min
}
this.requests.push(options);
},
removeReq: function (options) {
BI.remove(this.requests, options);
if (this.requests.length === 0) {
this.toast.element.slideUp(500);
}
},
hasReq: function (options) {
return this.requests.contains(options);
}
});
$.shortcut("bi.timeout_toast", BI.TimeoutToast);

0
src/third/ztree/jquery.ztree.core-3.5.js → src/base/tree/ztree/jquery.ztree.core-3.5.js

0
src/third/ztree/jquery.ztree.excheck-3.5.js → src/base/tree/ztree/jquery.ztree.excheck-3.5.js

0
src/widget/colorchooser/colorchooser.custom.js → src/case/colorchooser/colorchooser.custom.js

0
src/widget/colorchooser/colorchooser.js → src/case/colorchooser/colorchooser.js

2
src/widget/colorchooser/colorchooser.popup.js → src/case/colorchooser/colorchooser.popup.js

@ -102,7 +102,7 @@ BI.ColorChooserPopup = BI.inherit(BI.Widget, {
popup: panel
});
this.more.on(BI.Combo.EVENT_BEFORE_POPUPVIEW, function () {
this.more.on(BI.Combo.EVENT_AFTER_POPUPVIEW, function () {
self.customColorChooser.setValue(self.getValue());
});
panel.on(BI.PopupPanel.EVENT_CLICK_TOOLBAR_BUTTON, function (index) {

0
src/widget/colorchooser/colorchooser.trigger.js → src/case/colorchooser/colorchooser.trigger.js

0
src/case/colorpicker/button/button.colorpicker.js → src/case/colorchooser/colorpicker/button/button.colorpicker.js

0
src/case/colorpicker/colorpicker.js → src/case/colorchooser/colorpicker/colorpicker.js

0
src/case/colorpicker/editor.colorpicker.js → src/case/colorchooser/colorpicker/editor.colorpicker.js

6
src/base/farbtastic/farbtastic.js → src/case/colorchooser/farbtastic/farbtastic.js

@ -17,10 +17,10 @@ BI.Farbtastic = BI.inherit(BI.Widget, {
_init: function () {
BI.Farbtastic.superclass._init.apply(this, arguments);
var self = this;
},
mounted: function () {
var self = this;
this.farbtastic = $.farbtastic(this.element, function (v) {
self.fireEvent(BI.Farbtastic.EVENT_CHANGE, self.getValue(), self);
});

0
src/third/farbtastic.js → src/case/colorchooser/farbtastic/jquery.farbtastic.js

0
src/case/combo/combo.bubble.js → src/case/combo/bubblecombo/combo.bubble.js

47
src/case/combo/popup.bubble.js → src/case/combo/bubblecombo/popup.bubble.js

@ -70,4 +70,49 @@ BI.BubblePopupView = BI.inherit(BI.PopupView, {
}
});
$.shortcut("bi.bubble_popup_view", BI.BubblePopupView);
$.shortcut("bi.bubble_popup_view", BI.BubblePopupView);
/**
* Created by GUY on 2017/2/8.
*
* @class BI.BubblePopupBarView
* @extends BI.BubblePopupView
*/
BI.BubblePopupBarView = BI.inherit(BI.BubblePopupView, {
_defaultConfig: function () {
return BI.extend(BI.BubblePopupBarView.superclass._defaultConfig.apply(this, arguments), {
extraCls: "bi-bubble-bar-popup-view",
buttons: [{value: BI.i18nText(BI.i18nText("BI-Basic_Sure"))}, {value: BI.i18nText("BI-Basic_Cancel"), level: "ignore"}]
})
},
_init: function () {
BI.BubblePopupBarView.superclass._init.apply(this, arguments);
},
_createToolBar: function () {
var o = this.options, self = this;
var items = [];
BI.each(o.buttons.reverse(), function (i, buttonOpt) {
if(BI.isWidget(buttonOpt)){
items.push(buttonOpt);
}else{
items.push(BI.extend({
type: 'bi.button',
height: 30,
handler: function (v) {
self.fireEvent(BI.BubblePopupBarView.EVENT_CLICK_TOOLBAR_BUTTON, v);
}
}, buttonOpt))
}
});
return BI.createWidget({
type: 'bi.right_vertical_adapt',
height: 40,
hgap: 10,
bgap: 10,
items: items
});
}
});
BI.BubblePopupBarView.EVENT_CLICK_TOOLBAR_BUTTON = "EVENT_CLICK_TOOLBAR_BUTTON";
$.shortcut("bi.bubble_bar_popup_view", BI.BubblePopupBarView);

0
src/widget/base/combo/editoriconcheckcombo/combo.editoriconcheck.js → src/case/combo/editoriconcheckcombo/combo.editoriconcheck.js

2
src/widget/base/combo/formulacombo/combo.formula.js → src/case/combo/formulacombo/combo.formula.js

@ -45,7 +45,7 @@ BI.FormulaCombo = BI.inherit(BI.Widget, {
element: this,
isNeedAdjustHeight: true,
isNeedAdjustWidth: false,
adjustLength: this._constant.CONDITION_TYPE_COMBO_ADJUST,
adjustLength: this._constant.ADJUST_LENGTH,
el: this.input,
popup: {
el: {

0
src/widget/base/combo/formulacombo/popup.formulacombo.js → src/case/combo/formulacombo/popup.formulacombo.js

0
src/widget/base/combo/formulacombo/trigger.formulacombo.js → src/case/combo/formulacombo/trigger.formulacombo.js

0
src/widget/base/combo/iconcombo/combo.icon.js → src/case/combo/iconcombo/combo.icon.js

0
src/widget/base/combo/iconcombo/popup.iconcombo.js → src/case/combo/iconcombo/popup.iconcombo.js

0
src/widget/base/combo/iconcombo/trigger.iconcombo.js → src/case/combo/iconcombo/trigger.iconcombo.js

44
src/case/combo/popup.bubble.bar.js

@ -1,44 +0,0 @@
/**
* Created by GUY on 2017/2/8.
*
* @class BI.BubblePopupBarView
* @extends BI.BubblePopupView
*/
BI.BubblePopupBarView = BI.inherit(BI.BubblePopupView, {
_defaultConfig: function () {
return BI.extend(BI.BubblePopupBarView.superclass._defaultConfig.apply(this, arguments), {
extraCls: "bi-bubble-bar-popup-view",
buttons: [{value: BI.i18nText(BI.i18nText("BI-Basic_Sure"))}, {value: BI.i18nText("BI-Basic_Cancel"), level: "ignore"}]
})
},
_init: function () {
BI.BubblePopupBarView.superclass._init.apply(this, arguments);
},
_createToolBar: function () {
var o = this.options, self = this;
var items = [];
BI.each(o.buttons.reverse(), function (i, buttonOpt) {
if(BI.isWidget(buttonOpt)){
items.push(buttonOpt);
}else{
items.push(BI.extend({
type: 'bi.button',
height: 30,
handler: function (v) {
self.fireEvent(BI.BubblePopupBarView.EVENT_CLICK_TOOLBAR_BUTTON, v);
}
}, buttonOpt))
}
});
return BI.createWidget({
type: 'bi.right_vertical_adapt',
height: 40,
hgap: 10,
bgap: 10,
items: items
});
}
});
BI.BubblePopupBarView.EVENT_CLICK_TOOLBAR_BUTTON = "EVENT_CLICK_TOOLBAR_BUTTON";
$.shortcut("bi.bubble_bar_popup_view", BI.BubblePopupBarView);

0
src/widget/base/combo/staticcombo/combo.static.js → src/case/combo/staticcombo/combo.static.js

0
src/widget/base/combo/textvaluecheckcombo/combo.textvaluecheck.js → src/case/combo/textvaluecheckcombo/combo.textvaluecheck.js

0
src/widget/base/combo/textvaluecheckcombo/combo.textvaluechecksmall.js → src/case/combo/textvaluecheckcombo/combo.textvaluechecksmall.js

0
src/widget/base/combo/textvaluecheckcombo/popup.textvaluecheck.js → src/case/combo/textvaluecheckcombo/popup.textvaluecheck.js

0
src/widget/base/combo/textvaluecombo/combo.textvalue.js → src/case/combo/textvaluecombo/combo.textvalue.js

0
src/widget/base/combo/textvaluecombo/combo.textvaluesmall.js → src/case/combo/textvaluecombo/combo.textvaluesmall.js

0
src/widget/base/combo/textvaluecombo/popup.textvalue.js → src/case/combo/textvaluecombo/popup.textvalue.js

0
src/widget/base/combo/textvaluedownlistcombo/combo.textvaluedownlist.js → src/case/combo/textvaluedownlistcombo/combo.textvaluedownlist.js

0
src/widget/base/combo/textvaluedownlistcombo/trigger.textvaluedownlist.js → src/case/combo/textvaluedownlistcombo/trigger.textvaluedownlist.js

242
src/case/logintimeout/login.timeout.js

@ -1,242 +0,0 @@
/**
* Created by Young's on 2016/8/30.
*/
BI.LoginTimeOut = BI.inherit(BI.BarPopoverSection, {
_defaultConfig: function () {
return BI.extend(BI.LoginTimeOut.superclass._defaultConfig.apply(this, arguments), {})
},
_init: function () {
BI.LoginTimeOut.superclass._init.apply(this, arguments);
},
rebuildNorth: function (north) {
BI.createWidget({
type: "bi.label",
element: north,
text: BI.i18nText("BI-Login_Timeout"),
height: 50,
textAlign: "left"
})
},
rebuildCenter: function (center) {
var self = this, o = this.options;
var userNameInput = BI.createWidget({
type: "bi.editor",
watermark: BI.i18nText("BI-Username"),
cls: "login-input",
allowBlank: true,
width: 300,
height: 30
});
var userNameMask = BI.createWidget({
type: "bi.text_button",
width: 330,
height: 56,
cls: "error-mask"
});
userNameMask.setVisible(false);
userNameMask.on(BI.TextButton.EVENT_CHANGE, function () {
userNameInput.focus();
this.element.fadeOut();
});
var userNameWrapper = BI.createWidget({
type: "bi.absolute",
cls: "input-wrapper login-username-icon",
items: [{
el: {
type: "bi.icon",
width: 26,
height: 26
},
top: 10,
left: 0
}, {
el: userNameInput,
top: 8,
left: 30
}, {
el: userNameMask,
top: 0,
left: 0
}],
width: 330,
height: 56
});
var passwordInput = BI.createWidget({
type: "bi.editor",
inputType: "password",
cls: "login-input",
allowBlank: true,
watermark: BI.i18nText("BI-Basic_Password"),
width: 300,
height: 30
});
var passwordMask = BI.createWidget({
type: "bi.text_button",
width: 330,
height: 56,
cls: "error-mask"
});
passwordMask.setVisible(false);
passwordMask.on(BI.TextButton.EVENT_CHANGE, function () {
passwordInput.focus();
this.element.fadeOut();
});
var passwordWrapper = BI.createWidget({
type: "bi.absolute",
cls: "input-wrapper login-password-icon",
items: [{
el: {
type: "bi.icon",
width: 26,
height: 26
},
top: 10,
left: 0
}, {
el: passwordInput,
top: 8,
left: 30
}, {
el: passwordMask,
top: 0,
left: 0
}],
width: 330,
height: 56
});
var loginButton = BI.createWidget({
type: "bi.text_button",
text: BI.i18nText("BI-Basic_Login"),
cls: "login-button",
width: 330,
height: 50
});
loginButton.on(BI.TextButton.EVENT_CHANGE, function () {
if (BI.isEmptyString(userNameInput.getValue())) {
self._showMes(userNameMask, BI.i18nText("BI-Username_Not_Null"));
return;
}
if (BI.isEmptyString(passwordInput.getValue())) {
self._showMes(passwordMask, BI.i18nText("BI-Password_Not_Null"));
return;
}
//反正是登录直接用FR的登录了
BI.ajax({
url: BI.servletURL + '?op=fs_load&cmd=login',
data: BI.cjkEncodeDO({
fr_username: encodeURIComponent(userNameInput.getValue()),
fr_password: encodeURIComponent(passwordInput.getValue()),
fr_remember: self.keepLoginState.isSelected()
}),
type: 'POST',
async: false,
error: function () {
BI.Msg.toast("Error!");
},
complete: function (res, status) {
if (BI.isEmptyString(res.responseText)) {
self._showMes(userNameMask, BI.i18nText("BI-Authentication_Failed"));
return;
}
var signResult = BI.jsonDecode(res.responseText);
if (signResult.fail) {
//用户名和密码不匹配
self._showMes(userNameMask, BI.i18nText("BI-Username_Password_Not_Correct"));
} else if (signResult.url) {
self.fireEvent(BI.LoginTimeOut.EVENT_LOGIN);
}
}
});
});
var logo;
if (BI.isNotNull(window.top.FS)) {
logo = window.top.FS.config.logoImageID4FS;
}
BI.createWidget({
type: "bi.absolute",
element: center,
cls: "bi-login-timeout-center",
items: [{
el: {
type: "bi.center_adapt",
items: [{
type: "bi.img",
src: BI.servletURL + (logo ?
'?op=fr_attach&cmd=ah_image&id=' + logo + '&isAdjust=false' :
'?op=resource&resource=/com/fr/bi/web/images/login/bi_logo.png'),
width: 120,
height: 120
}],
width: 200,
height: 300
},
left: 0,
top: 0
}, {
el: userNameWrapper,
top: 30,
left: 230
}, {
el: passwordWrapper,
top: 100,
left: 230
}, {
el: loginButton,
top: 200,
left: 230
}]
});
},
_showMes: function (widget, mes) {
widget.setText(mes);
widget.element.fadeIn();
setTimeout(function () {
if (widget.element.isVisible()) {
widget.element.fadeOut();
}
}, 5000);
},
rebuildSouth: function (south) {
this.keepLoginState = BI.createWidget({
type: "bi.checkbox",
width: 16,
height: 16
});
BI.createWidget({
type: "bi.absolute",
element: south,
cls: "bi-login-timeout-south",
items: [{
el: this.keepLoginState,
top: 0,
left: 230
}, {
el: {
type: "bi.label",
text: BI.i18nText("BI-Keep_Login_State"),
cls: "keep-state",
height: 30
},
top: -7,
left: 260
}]
})
}
});
BI.extend(BI.LoginTimeOut, {
POPOVER_ID: "___popover__id___"
});
BI.LoginTimeOut.EVENT_LOGIN = "EVENT_LOGIN";
$.shortcut("bi.login_timeout", BI.LoginTimeOut);

495
src/case/zclip/jquery.zclip.js

@ -0,0 +1,495 @@
/*
* zClip :: jQuery ZeroClipboard v1.1.1
* http://steamdev.com/zclip
*
* Copyright 2011, SteamDev
* Released under the MIT license.
* http://www.opensource.org/licenses/mit-license.php
*
* Date: Wed Jun 01, 2011
*/
(function ($) {
$.fn.zclip = function (params) {
if (typeof params == "object" && !params.length) {
var settings = $.extend({
path: 'ZeroClipboard.swf',
copy: null,
beforeCopy: null,
afterCopy: null,
clickAfter: true,
setHandCursor: true,
setCSSEffects: true
}, params);
return this.each(function () {
var o = $(this);
if (o.is(':visible') && (typeof settings.copy == 'string' || $.isFunction(settings.copy))) {
ZeroClipboard.setMoviePath(settings.path);
var clip = new ZeroClipboard.Client();
if($.isFunction(settings.copy)){
o.bind('zClip_copy',settings.copy);
}
if($.isFunction(settings.beforeCopy)){
o.bind('zClip_beforeCopy',settings.beforeCopy);
}
if($.isFunction(settings.afterCopy)){
o.bind('zClip_afterCopy',settings.afterCopy);
}
clip.setHandCursor(settings.setHandCursor);
clip.setCSSEffects(settings.setCSSEffects);
clip.addEventListener('mouseOver', function (client) {
o.trigger('mouseenter');
});
clip.addEventListener('mouseOut', function (client) {
o.trigger('mouseleave');
});
clip.addEventListener('mouseDown', function (client) {
o.trigger('mousedown');
if(!$.isFunction(settings.copy)){
clip.setText(settings.copy);
} else {
clip.setText(o.triggerHandler('zClip_copy'));
}
if ($.isFunction(settings.beforeCopy)) {
o.trigger('zClip_beforeCopy');
}
});
clip.addEventListener('complete', function (client, text) {
if ($.isFunction(settings.afterCopy)) {
o.trigger('zClip_afterCopy');
} else {
if (text.length > 500) {
text = text.substr(0, 500) + "...\n\n(" + (text.length - 500) + " characters not shown)";
}
o.removeClass('hover');
alert("Copied text to clipboard:\n\n " + text);
}
if (settings.clickAfter) {
o.trigger('click');
}
});
clip.glue(o[0], o.parent()[0]);
$(window).bind('load resize',function(){clip.reposition();});
}
});
} else if (typeof params == "string") {
return this.each(function () {
var o = $(this);
params = params.toLowerCase();
var zclipId = o.data('zclipId');
var clipElm = $('#' + zclipId + '.zclip');
if (params == "remove") {
clipElm.remove();
o.removeClass('active hover');
} else if (params == "hide") {
clipElm.hide();
o.removeClass('active hover');
} else if (params == "show") {
clipElm.show();
}
});
}
}
})(jQuery);
// ZeroClipboard
// Simple Set Clipboard System
// Author: Joseph Huckaby
var ZeroClipboard = {
version: "1.0.7",
clients: {},
// registered upload clients on page, indexed by id
moviePath: 'ZeroClipboard.swf',
// URL to movie
nextId: 1,
// ID of next movie
$: function (thingy) {
// simple DOM lookup utility function
if (typeof(thingy) == 'string') thingy = document.getElementById(thingy);
if (!thingy.addClass) {
// extend element with a few useful methods
thingy.hide = function () {
this.style.display = 'none';
};
thingy.show = function () {
this.style.display = '';
};
thingy.addClass = function (name) {
this.removeClass(name);
this.className += ' ' + name;
};
thingy.removeClass = function (name) {
var classes = this.className.split(/\s+/);
var idx = -1;
for (var k = 0; k < classes.length; k++) {
if (classes[k] == name) {
idx = k;
k = classes.length;
}
}
if (idx > -1) {
classes.splice(idx, 1);
this.className = classes.join(' ');
}
return this;
};
thingy.hasClass = function (name) {
return !!this.className.match(new RegExp("\\s*" + name + "\\s*"));
};
}
return thingy;
},
setMoviePath: function (path) {
// set path to ZeroClipboard.swf
this.moviePath = path;
},
dispatch: function (id, eventName, args) {
// receive event from flash movie, send to client
var client = this.clients[id];
if (client) {
client.receiveEvent(eventName, args);
}
},
register: function (id, client) {
// register new client to receive events
this.clients[id] = client;
},
getDOMObjectPosition: function (obj, stopObj) {
// get absolute coordinates for dom element
var info = {
left: 0,
top: 0,
width: obj.width ? obj.width : obj.offsetWidth,
height: obj.height ? obj.height : obj.offsetHeight
};
if (obj && (obj != stopObj)) {
info.left += obj.offsetLeft;
info.top += obj.offsetTop;
}
return info;
},
Client: function (elem) {
// constructor for new simple upload client
this.handlers = {};
// unique ID
this.id = ZeroClipboard.nextId++;
this.movieId = 'ZeroClipboardMovie_' + this.id;
// register client with singleton to receive flash events
ZeroClipboard.register(this.id, this);
// create movie
if (elem) this.glue(elem);
}
};
ZeroClipboard.Client.prototype = {
id: 0,
// unique ID for us
ready: false,
// whether movie is ready to receive events or not
movie: null,
// reference to movie object
clipText: '',
// text to copy to clipboard
handCursorEnabled: true,
// whether to show hand cursor, or default pointer cursor
cssEffects: true,
// enable CSS mouse effects on dom container
handlers: null,
// user event handlers
glue: function (elem, appendElem, stylesToAdd) {
// glue to DOM element
// elem can be ID or actual DOM element object
this.domElement = ZeroClipboard.$(elem);
// float just above object, or zIndex 99 if dom element isn't set
var zIndex = 99;
if (this.domElement.style.zIndex) {
zIndex = parseInt(this.domElement.style.zIndex, 10) + 1;
}
if (typeof(appendElem) == 'string') {
appendElem = ZeroClipboard.$(appendElem);
} else if (typeof(appendElem) == 'undefined') {
appendElem = document.getElementsByTagName('body')[0];
}
// find X/Y position of domElement
var box = ZeroClipboard.getDOMObjectPosition(this.domElement, appendElem);
// create floating DIV above element
this.div = document.createElement('div');
this.div.className = "zclip";
this.div.id = "zclip-" + this.movieId;
$(this.domElement).data('zclipId', 'zclip-' + this.movieId);
var style = this.div.style;
style.position = 'absolute';
style.left = '' + box.left + 'px';
style.top = '' + box.top + 'px';
style.width = '' + box.width + 'px';
style.height = '' + box.height + 'px';
style.zIndex = zIndex;
if (typeof(stylesToAdd) == 'object') {
for (addedStyle in stylesToAdd) {
style[addedStyle] = stylesToAdd[addedStyle];
}
}
// style.backgroundColor = '#f00'; // debug
appendElem.appendChild(this.div);
this.div.innerHTML = this.getHTML(box.width, box.height);
},
getHTML: function (width, height) {
// return HTML for movie
var html = '';
var flashvars = 'id=' + this.id + '&width=' + width + '&height=' + height;
if (navigator.userAgent.match(/MSIE/)) {
// IE gets an OBJECT tag
var protocol = location.href.match(/^https/i) ? 'https://' : 'http://';
html += '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="' + protocol + 'download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="' + width + '" height="' + height + '" id="' + this.movieId + '" align="middle"><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="false" /><param name="movie" value="' + ZeroClipboard.moviePath + '" /><param name="loop" value="false" /><param name="menu" value="false" /><param name="quality" value="best" /><param name="bgcolor" value="#ffffff" /><param name="flashvars" value="' + flashvars + '"/><param name="wmode" value="transparent"/></object>';
} else {
// all other browsers get an EMBED tag
html += '<embed id="' + this.movieId + '" src="' + ZeroClipboard.moviePath + '" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="' + width + '" height="' + height + '" name="' + this.movieId + '" align="middle" allowScriptAccess="always" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="' + flashvars + '" wmode="transparent" />';
}
return html;
},
hide: function () {
// temporarily hide floater offscreen
if (this.div) {
this.div.style.left = '-2000px';
}
},
show: function () {
// show ourselves after a call to hide()
this.reposition();
},
destroy: function () {
// destroy control and floater
if (this.domElement && this.div) {
this.hide();
this.div.innerHTML = '';
var body = document.getElementsByTagName('body')[0];
try {
body.removeChild(this.div);
} catch (e) {;
}
this.domElement = null;
this.div = null;
}
},
reposition: function (elem) {
// reposition our floating div, optionally to new container
// warning: container CANNOT change size, only position
if (elem) {
this.domElement = ZeroClipboard.$(elem);
if (!this.domElement) this.hide();
}
if (this.domElement && this.div) {
var box = ZeroClipboard.getDOMObjectPosition(this.domElement);
var style = this.div.style;
style.left = '' + box.left + 'px';
style.top = '' + box.top + 'px';
}
},
setText: function (newText) {
// set text to be copied to clipboard
this.clipText = newText;
if (this.ready) {
this.movie.setText(newText);
}
},
addEventListener: function (eventName, func) {
// add user event listener for event
// event types: load, queueStart, fileStart, fileComplete, queueComplete, progress, error, cancel
eventName = eventName.toString().toLowerCase().replace(/^on/, '');
if (!this.handlers[eventName]) {
this.handlers[eventName] = [];
}
this.handlers[eventName].push(func);
},
setHandCursor: function (enabled) {
// enable hand cursor (true), or default arrow cursor (false)
this.handCursorEnabled = enabled;
if (this.ready) {
this.movie.setHandCursor(enabled);
}
},
setCSSEffects: function (enabled) {
// enable or disable CSS effects on DOM container
this.cssEffects = !! enabled;
},
receiveEvent: function (eventName, args) {
// receive event from flash
eventName = eventName.toString().toLowerCase().replace(/^on/, '');
// special behavior for certain events
switch (eventName) {
case 'load':
// movie claims it is ready, but in IE this isn't always the case...
// bug fix: Cannot extend EMBED DOM elements in Firefox, must use traditional function
this.movie = document.getElementById(this.movieId);
if (!this.movie) {
var self = this;
setTimeout(function () {
self.receiveEvent('load', null);
}, 1);
return;
}
// firefox on pc needs a "kick" in order to set these in certain cases
if (!this.ready && navigator.userAgent.match(/Firefox/) && navigator.userAgent.match(/Windows/)) {
var self = this;
setTimeout(function () {
self.receiveEvent('load', null);
}, 100);
this.ready = true;
return;
}
this.ready = true;
try {
this.movie.setText(this.clipText);
} catch (e) {}
try {
this.movie.setHandCursor(this.handCursorEnabled);
} catch (e) {}
break;
case 'mouseover':
if (this.domElement && this.cssEffects) {
this.domElement.addClass('hover');
if (this.recoverActive) {
this.domElement.addClass('active');
}
}
break;
case 'mouseout':
if (this.domElement && this.cssEffects) {
this.recoverActive = false;
if (this.domElement.hasClass('active')) {
this.domElement.removeClass('active');
this.recoverActive = true;
}
this.domElement.removeClass('hover');
}
break;
case 'mousedown':
if (this.domElement && this.cssEffects) {
this.domElement.addClass('active');
}
break;
case 'mouseup':
if (this.domElement && this.cssEffects) {
this.domElement.removeClass('active');
this.recoverActive = false;
}
break;
} // switch eventName
if (this.handlers[eventName]) {
for (var idx = 0, len = this.handlers[eventName].length; idx < len; idx++) {
var func = this.handlers[eventName][idx];
if (typeof(func) == 'function') {
// actual function reference
func(this, args);
} else if ((typeof(func) == 'object') && (func.length == 2)) {
// PHP style object + method, i.e. [myObject, 'myMethod']
func[0][func[1]](this, args);
} else if (typeof(func) == 'string') {
// name of function
window[func](this, args);
}
} // foreach event handler defined
} // user defined handler for event
}
};

2
src/case/zclip/zclip.js

@ -19,7 +19,7 @@ BI.ZeroClip = BI.inherit(BI.BasicButton, {
BI.nextTick(function () {
self.element.zclip({
path: BI.servletURL + "?op=resource&resource=/com/fr/bi/web/resources/ZeroClipboard.swf",
path: BI.servletURL + "resources/ZeroClipboard.swf",
copy: o.copy,
beforeCopy: o.beforeCopy,
afterCopy: o.afterCopy

44
src/core/controller/controller.bubbles.js

@ -29,16 +29,7 @@ BI.BubblesController = BI.inherit(BI.Controller, {
});
},
hide: function (name, callback) {
if (!this.has(name)) {
return this;
}
this.get(name).element.hide(0, callback);
this.get(name).invisible();
return this;
},
_getOffsetLeft: function(name, context, offsetStyle){
_getOffsetLeft: function (name, context, offsetStyle) {
var left = 0;
if ("center" === offsetStyle) {
left = context.element.offset().left + (context.element.bounds().width - this.get(name).element.bounds().width) / 2;
@ -57,7 +48,7 @@ BI.BubblesController = BI.inherit(BI.Controller, {
return context.element.offset().left;
},
_getOffsetTop: function(name, context, offsetStyle){
_getOffsetTop: function (name, context, offsetStyle) {
var top = 0;
if ("center" === offsetStyle) {
top = context.element.offset().top + (context.element.bounds().height - this.get(name).element.bounds().height) / 2;
@ -75,25 +66,25 @@ BI.BubblesController = BI.inherit(BI.Controller, {
return context.element.offset().top;
},
_getLeftPosition: function(name, context, offsetStyle){
_getLeftPosition: function (name, context, offsetStyle) {
var position = $.getLeftPosition(context, this.get(name));
position.top = this._getOffsetTop(name, context, offsetStyle);
return position;
},
_getBottomPosition: function(name, context, offsetStyle){
_getBottomPosition: function (name, context, offsetStyle) {
var position = $.getBottomPosition(context, this.get(name));
position.left = this._getOffsetLeft(name, context, offsetStyle);
return position;
},
_getTopPosition: function(name, context, offsetStyle){
_getTopPosition: function (name, context, offsetStyle) {
var position = $.getTopPosition(context, this.get(name));
position.left = this._getOffsetLeft(name, context, offsetStyle);
return position;
},
_getRightPosition: function(name, context, offsetStyle){
_getRightPosition: function (name, context, offsetStyle) {
var position = $.getRightPosition(context, this.get(name));
position.top = this._getOffsetTop(name, context, offsetStyle);
return position;
@ -123,8 +114,8 @@ BI.BubblesController = BI.inherit(BI.Controller, {
items: [{
el: this.storeBubbles[name]["top"]
}]
})
this.set(name, this.storeBubbles[name]["top"])
});
this.set(name, this.storeBubbles[name]["top"]);
var position = this._getTopPosition(name, context, offsetStyle);
this.get(name).element.css({left: position.left, top: position.top});
this.get(name).invisible();
@ -138,7 +129,7 @@ BI.BubblesController = BI.inherit(BI.Controller, {
items: [{
el: this.storeBubbles[name]["left"]
}]
})
});
this.set(name, this.storeBubbles[name]["left"]);
var position = this._getLeftPosition(name, context, offsetStyle);
this.get(name).element.css({left: position.left, top: position.top});
@ -153,8 +144,8 @@ BI.BubblesController = BI.inherit(BI.Controller, {
items: [{
el: this.storeBubbles[name]["right"]
}]
})
this.set(name, this.storeBubbles[name]["right"])
});
this.set(name, this.storeBubbles[name]["right"]);
var position = this._getRightPosition(name, context, offsetStyle);
this.get(name).element.css({left: position.left, top: position.top});
this.get(name).invisible();
@ -181,6 +172,14 @@ BI.BubblesController = BI.inherit(BI.Controller, {
return this;
},
hide: function (name) {
if (!this.has(name)) {
return this;
}
this.get(name).invisible();
return this;
},
add: function (name, bubble) {
if (this.has(name)) {
return this;
@ -205,7 +204,10 @@ BI.BubblesController = BI.inherit(BI.Controller, {
if (!this.has(name)) {
return this;
}
this.bubblesManager[name].destroy();
BI.each(this.storeBubbles[name], function (dir, bubble) {
bubble.destroy();
});
delete this.storeBubbles[name];
delete this.bubblesManager[name];
return this;
}

4
src/core/wrapper/layout/adapt/float.center.js

@ -29,8 +29,8 @@ BI.FloatCenterAdaptLayout = BI.inherit(BI.Layout, {
},
mounted: function () {
var width = this.left.element.width(),
height = this.left.element.height();
var width = this.left.element.outerWidth(),
height = this.left.element.outerHeight();
this.left.element.width(width).height(height).css("float", "none");
BI.createWidget({
type: "bi.center_adapt",

16
src/widget/pathchooser/pathchooser.js

@ -62,7 +62,7 @@ BI.PathChooser = BI.inherit(BI.Widget, {
_drawPath: function (start, offset, index) {
var self = this;
var starts = [];
if (this.start.contains(start)) {
if (BI.contains(this.start, start)) {
starts = this.start;
} else {
starts = [start];
@ -148,7 +148,7 @@ BI.PathChooser = BI.inherit(BI.Widget, {
var endRegionIndex = self.getRegionIndexById(BI.last(line));
var endOffset = self.regions[endRegionIndex].getIndexByValue(BI.last(line));
var eleft = 50 + 100 * endRegionIndex;
if (self.start.contains(start)) {
if (BI.contains(self.start, start)) {
radioStartX = sleft - 50;
path += "M" + (sleft - 50) + "," + stop;
self.pathes[start][i].push({
@ -211,10 +211,10 @@ BI.PathChooser = BI.inherit(BI.Widget, {
self.lines[start][0].toFront();
}
//第一个元素无论有多少个都要显示radio
if (self.start.contains(start)) {
if (BI.contains(self.start, start)) {
self.lines[self.regions[0].getValueByIndex(0)][0].toFront();
}
if (lines.length > 1 || self.start.contains(start)) {
if (lines.length > 1 || BI.contains(self.start, start)) {
self._drawRadio(start, offset, i, radioStartX, radioStartY);
}
});
@ -258,7 +258,7 @@ BI.PathChooser = BI.inherit(BI.Widget, {
}
break;
}
if (i > 0 || self.start.contains(id)) {
if (i > 0 || BI.contains(self.start, id)) {
region.addItem(id, self.texts[id]);
}
}
@ -317,8 +317,8 @@ BI.PathChooser = BI.inherit(BI.Widget, {
//交换区域
if (index1 > index2) {
var t = regions[index2];
for(var j =index2; j < index1; j++){
regions[j] = regions[j+1];
for (var j = index2; j < index1; j++) {
regions[j] = regions[j + 1];
}
regions[index1] = t;
}
@ -385,7 +385,7 @@ BI.PathChooser = BI.inherit(BI.Widget, {
}
BI.each(s, function (i, n) {
tree._recursion(n, [n.id], function (node, route) {
if (e.contains(node)) {
if (BI.contains(e, node)) {
if (!routes[n.id]) {
routes[n.id] = [];
}

Loading…
Cancel
Save