Browse Source

Merge pull request #94 in FUI/fineui from ~GUY/fineui:master to master

* commit 'a35fe9305a6793de99f522b300e7cfa9ebd93439':
  控件抽象
  文档修改
  更新
  实例组件文档
  finish first wave
  update mds
  remove several node_modules
  advance few mds
  BI.Slider已被注册
  BI-8895 slider控件
  change bool to boolean
  update list
  自定义规则数值微调
  unfinish list
  实例控件文档
  shortcut
  update ignore
  update trigger
es6
guy 7 years ago
parent
commit
36ab5818f5
  1. 2
      bi/case.js
  2. 7
      bi/widget.css
  3. 290
      bi/widget.js
  4. 8
      demo/js/config/widget.js
  5. 27
      demo/js/widget/filemanager/demo.file.manager.js
  6. 42
      demo/js/widget/slider/demo.slider.js
  7. 3
      demo/version.js
  8. 7
      dist/bundle.css
  9. 295
      dist/bundle.js
  10. 16
      dist/bundle.min.js
  11. 2
      dist/case.js
  12. 49
      dist/demo.js
  13. 7
      dist/widget.css
  14. 290
      dist/widget.js
  15. 3
      public/js/index.js
  16. 2
      src/case/table/table.layertree.cell.js
  17. 7
      src/css/widget/slider/slider.css
  18. 8
      src/less/widget/slider/slider.less
  19. 47
      src/widget/finetuningnumbereditor/finetuning.number.editor.js
  20. 44
      src/widget/slider/slider.button.js
  21. 201
      src/widget/slider/slider.js
  22. 3
      uidoc/.gitignore
  23. 3
      uidoc/SUMMARY.md
  24. 8
      uidoc/base/bubble.md
  25. 30
      uidoc/base/button/button.md
  26. 4
      uidoc/base/button/icon_button.md
  27. 6
      uidoc/base/button/image_button.md
  28. 12
      uidoc/base/button/text_button.md
  29. 4
      uidoc/base/canvas.md
  30. 6
      uidoc/base/editor/code_editor.md
  31. 22
      uidoc/base/editor/editor.md
  32. 20
      uidoc/base/editor/formula_editor.md
  33. 6
      uidoc/base/editor/multifile_editor.md
  34. 2
      uidoc/base/editor/textarea_editor.md
  35. 30
      uidoc/base/label.md
  36. 2
      uidoc/base/message.md
  37. 26
      uidoc/base/pager.md
  38. 6
      uidoc/base/svg.md
  39. 45
      uidoc/base/table/collection_table.md
  40. 57
      uidoc/base/table/grid_table.md
  41. 69
      uidoc/base/table/resizable_table.md
  42. 64
      uidoc/base/table/table_view.md
  43. 6
      uidoc/base/toast.md
  44. 53
      uidoc/case/button/multi_select_item.md
  45. 54
      uidoc/case/button/single_select_item.md
  46. 55
      uidoc/case/button/single_select_radio_item.md
  47. 1
      uidoc/case/calendar.md
  48. 1
      uidoc/case/clipboard.md
  49. 1
      uidoc/case/color_chooser.md
  50. 86
      uidoc/case/combo/bubble_combo.md
  51. 38
      uidoc/case/combo/formula_combo.md
  52. 68
      uidoc/case/combo/icon_combo.md
  53. 58
      uidoc/case/combo/static_combo.md
  54. 65
      uidoc/case/combo/text_value_downlist_combo.md
  55. 96
      uidoc/case/editor/shelter_editor.md
  56. 91
      uidoc/case/editor/sign_editor.md
  57. 92
      uidoc/case/editor/sign_initial_editor.md
  58. 89
      uidoc/case/editor/state_editor.md
  59. 69
      uidoc/case/layer/layer_panel.md
  60. 34
      uidoc/case/layer/multi_popup_layer.md
  61. 74
      uidoc/case/layer/pane_list.md
  62. 54
      uidoc/case/layer/panel.md
  63. 59
      uidoc/case/list/list.select.md
  64. 43
      uidoc/case/loader/lazy_loader.md
  65. 54
      uidoc/case/loader/list_loader.md
  66. 54
      uidoc/case/loader/sort_list.md
  67. 1
      uidoc/case/pager/all_count_pager.md
  68. 3
      uidoc/case/pager/direction_pager.md
  69. 9
      uidoc/case/table/adaptive_table.md
  70. 26
      uidoc/case/table/layer_tree_table.md
  71. 29
      uidoc/case/table/tree_table.md
  72. 5
      uidoc/case/tree/branch_relation.md
  73. 5
      uidoc/case/tree/branch_tree.md
  74. 13
      uidoc/case/tree/display_tree.md
  75. 8
      uidoc/case/tree/handstand_branch_tree.md
  76. 5
      uidoc/case/tree/level_tree.md
  77. 5
      uidoc/case/tree/simple_tree.md
  78. 44
      uidoc/case/trigger/editor_trigger.md
  79. 21
      uidoc/case/trigger/icon_trigger.md
  80. 28
      uidoc/case/trigger/text_trigger.md
  81. 11
      uidoc/core/abstract/button_group.md
  82. 12
      uidoc/core/abstract/collection_view.md
  83. 8
      uidoc/core/abstract/custom_tree.md
  84. 19
      uidoc/core/abstract/grid_view.md
  85. 6
      uidoc/core/abstract/virtual_group.md
  86. 6
      uidoc/core/abstract/virtual_list.md
  87. 4
      uidoc/core/basic_button.md
  88. 30
      uidoc/core/combination/bi.combo.md
  89. 19
      uidoc/core/combination/bi.expander.md
  90. 8
      uidoc/core/combination/group_combo.md
  91. 12
      uidoc/core/combination/loader.md
  92. 9
      uidoc/core/combination/navigation.md
  93. 18
      uidoc/core/combination/searcher.md
  94. 10
      uidoc/core/combination/switcher.md
  95. 7
      uidoc/core/combination/tab.md
  96. 16
      uidoc/core/layer/layer_popup.md
  97. 18
      uidoc/core/layer/layer_searcher.md
  98. 2
      uidoc/core/layout/border.md
  99. 14
      uidoc/core/layout/center.md
  100. 15
      uidoc/core/layout/center_adapt.md
  101. Some files were not shown because too many files have changed in this diff Show More

2
bi/case.js

@ -11083,7 +11083,7 @@ BI.LayerTreeTableCell = BI.inherit(BI.Widget, {
} }
}); });
$.shortcut("bi.layer_tree_table_cell", BI.LayerTreeTableCell);/** BI.shortcut("bi.layer_tree_table_cell", BI.LayerTreeTableCell);/**
* *
* 层级树状结构的表格 * 层级树状结构的表格
* *

7
bi/widget.css

@ -392,6 +392,13 @@
} }
/****** common color(常用颜色,可用于普遍场景) *****/ /****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/ /**** custom color(自定义颜色,用于特定场景) ****/
.bi-slider .bi-slider-track {
background-color: rgba(153, 153, 153, 0.3);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#4d999999,endColorstr=#4d999999);
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
}
/****** common color(常用颜色,可用于普遍场景) *****/ /****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/ /**** custom color(自定义颜色,用于特定场景) ****/
.bi-year-popup .year-popup-navigation { .bi-year-popup .year-popup-navigation {

290
bi/widget.js

@ -5493,7 +5493,10 @@ BI.FineTuningNumberEditor = BI.inherit(BI.Widget, {
_defaultConfig: function () { _defaultConfig: function () {
return BI.extend(BI.FineTuningNumberEditor.superclass._defaultConfig.apply(this, arguments), { return BI.extend(BI.FineTuningNumberEditor.superclass._defaultConfig.apply(this, arguments), {
baseCls: "bi-fine-tuning-number-editor bi-border", baseCls: "bi-fine-tuning-number-editor bi-border",
value: -1 validationChecker: function () {return true;},
valueFormatter: function (v) {return v;},
value: 0,
errorText: ""
}) })
}, },
@ -5503,14 +5506,15 @@ BI.FineTuningNumberEditor = BI.inherit(BI.Widget, {
this.editor = BI.createWidget({ this.editor = BI.createWidget({
type: "bi.sign_editor", type: "bi.sign_editor",
height: o.height, height: o.height,
value: this._alertInEditorValue(o.value), value: o.valueFormatter(o.value),
errorText: BI.i18nText("BI-Please_Input_Natural_Number"), validationChecker: o.validationChecker,
validationChecker: function(v){ errorText: o.errorText
return BI.isNaturalNumber(v) || self._alertOutEditorValue(v) === -1; });
} this.editor.on(BI.TextEditor.EVENT_CHANGE, function () {
o.value = this.getValue();
self.fireEvent(BI.FineTuningNumberEditor.EVENT_CHANGE);
}); });
this.editor.on(BI.TextEditor.EVENT_CONFIRM, function(){ this.editor.on(BI.TextEditor.EVENT_CONFIRM, function(){
self._finetuning(0);
self.fireEvent(BI.FineTuningNumberEditor.EVENT_CONFIRM); self.fireEvent(BI.FineTuningNumberEditor.EVENT_CONFIRM);
}); });
this.topBtn = BI.createWidget({ this.topBtn = BI.createWidget({
@ -5520,6 +5524,7 @@ BI.FineTuningNumberEditor = BI.inherit(BI.Widget, {
}); });
this.topBtn.on(BI.IconButton.EVENT_CHANGE, function(){ this.topBtn.on(BI.IconButton.EVENT_CHANGE, function(){
self._finetuning(1); self._finetuning(1);
self.fireEvent(BI.FineTuningNumberEditor.EVENT_CHANGE);
self.fireEvent(BI.FineTuningNumberEditor.EVENT_CONFIRM); self.fireEvent(BI.FineTuningNumberEditor.EVENT_CONFIRM);
}); });
this.bottomBtn = BI.createWidget({ this.bottomBtn = BI.createWidget({
@ -5529,9 +5534,9 @@ BI.FineTuningNumberEditor = BI.inherit(BI.Widget, {
}); });
this.bottomBtn.on(BI.IconButton.EVENT_CHANGE, function(){ this.bottomBtn.on(BI.IconButton.EVENT_CHANGE, function(){
self._finetuning(-1); self._finetuning(-1);
self.fireEvent(BI.FineTuningNumberEditor.EVENT_CHANGE);
self.fireEvent(BI.FineTuningNumberEditor.EVENT_CONFIRM); self.fireEvent(BI.FineTuningNumberEditor.EVENT_CONFIRM);
}); });
this._finetuning(0);
BI.createWidget({ BI.createWidget({
type: "bi.htape", type: "bi.htape",
element: this, element: this,
@ -5555,33 +5560,33 @@ BI.FineTuningNumberEditor = BI.inherit(BI.Widget, {
}); });
}, },
_alertOutEditorValue: function(v){ //微调
return v === BI.i18nText("BI-Basic_Auto") ? -1 : v; _finetuning: function(add){
var v = BI.parseFloat(this.getValue());
this.setValue(v.add(add));
}, },
_alertInEditorValue: function(v){ setUpEnable: function (v) {
return BI.parseInt(v) === -1 ? BI.i18nText("BI-Basic_Auto") : v; this.topBtn.setEnable(!!v);
}, },
//微调 setBottomEnable: function (v) {
_finetuning: function(add){ this.bottomBtn.setEnable(!!v);
var v = BI.parseInt(this._alertOutEditorValue(this.editor.getValue()));
this.editor.setValue(this._alertInEditorValue(v + add));
this.bottomBtn.setEnable((v + add) > -1);
}, },
getValue: function () { getValue: function () {
var v = this.editor.getValue(); return this.options.value;
return this._alertOutEditorValue(v);
}, },
setValue: function (v) { setValue: function (v) {
this.editor.setValue(this._alertInEditorValue(v)); var o = this.options;
this._finetuning(0); o.value = v;
this.editor.setValue(o.valueFormatter(v));
} }
}); });
BI.FineTuningNumberEditor.EVENT_CONFIRM = "EVENT_CONFIRM"; BI.FineTuningNumberEditor.EVENT_CONFIRM = "EVENT_CONFIRM";
BI.FineTuningNumberEditor.EVENT_CHANGE = "EVENT_CHANGE";
BI.shortcut("bi.fine_tuning_number_editor", BI.FineTuningNumberEditor);/** BI.shortcut("bi.fine_tuning_number_editor", BI.FineTuningNumberEditor);/**
* 交互行为布局 * 交互行为布局
* *
@ -14936,6 +14941,249 @@ BI.SingleTreeTrigger = BI.inherit(BI.Trigger, {
}); });
BI.shortcut("bi.single_tree_trigger", BI.SingleTreeTrigger);/** BI.shortcut("bi.single_tree_trigger", BI.SingleTreeTrigger);/**
* Created by Urthur on 2017/9/4.
*/
BI.SliderButton = BI.inherit(BI.Widget, {
_defaultConfig: function () {
return BI.extend(BI.SliderButton.superclass._defaultConfig.apply(this, arguments), {
baseCls: "bi-slider-button"
});
},
_init: function () {
BI.extend(BI.SliderButton.superclass._init.apply(this, arguments));
var self = this;
var sliderButton = BI.createWidget({
type: "bi.icon_button",
cls: "column-next-page-h-font",
iconWidth: 16,
iconHeight: 16,
height: 16,
width: 16
});
BI.createWidget({
type: "bi.absolute",
element: this,
items: [{
el: sliderButton,
left: -8
}, {
el: {
type: "bi.label",
ref: function (_ref) {
self.label = _ref;
}
},
left: -8,
top: -10
}]
});
},
setValue: function (v) {
this.label.setText(v);
}
});
BI.shortcut("bi.slider_button", BI.SliderButton);/**
* Created by Urthur on 2017/9/4.
*/
BI.SliderNormal = BI.inherit(BI.Widget, {
_constant: {
HEIGHT: 28,
SLIDER_WIDTH_HALF: 10,
SLIDER_WIDTH: 25,
SLIDER_HEIGHT: 30,
TRACK_HEIGHT: 24
},
_defaultConfig: function () {
return BI.extend(BI.SliderNormal.superclass._defaultConfig.apply(this, arguments), {
baseCls: "bi-slider",
min: 10,
max: 50
})
},
_init: function () {
BI.SliderNormal.superclass._init.apply(this, arguments);
var self = this;
var c = this._constant, o = this.options;
this.enable = false;
this.value = o.min;
this.min = o.min;
this.max = o.max;
this.rightTrack = BI.createWidget({
type: "bi.layout",
cls: "bi-slider-track",
height: 5
});
this.track = this._createTrack();
this.slider = BI.createWidget({
type: "bi.slider_button"
});
this.slider.setValue(this.getValue());
this.slider.element.draggable({
axis: "x",
containment: this.rightTrack.element,
scroll: false,
drag: function (e, ui) {
var percent = (ui.position.left) * 100 / (self._getRightTrackLength());
var significantPercent = BI.parseFloat(percent.toFixed(1));//直接对计算出来的百分数保留到小数点后一位,相当于分成了1000份。
var v = self._getValueByPercent(significantPercent);
self.value = BI.parseInt(v) + 1;
self.slider.setValue(self.getValue());
self.fireEvent(BI.SliderNormal.EVENT_CHANGE);
},
stop: function (e, ui) {
var percent = (ui.position.left) * 100 / (self._getRightTrackLength());
var significantPercent = BI.parseFloat(percent.toFixed(1));
self._setSliderPosition(significantPercent);
self.fireEvent(BI.SliderNormal.EVENT_CHANGE);
}
});
var sliderVertical = BI.createWidget({
type: "bi.vertical",
items: [{
type: "bi.absolute",
items: [{
el: this.slider,
top: 10
}]
}],
hgap: c.SLIDER_WIDTH_HALF,
height: c.SLIDER_HEIGHT
});
sliderVertical.element.click(function (e) {
if (self.enable) {
var offset = e.clientX - self.element.offset().left - c.SLIDER_WIDTH_HALF;
var trackLength = self.track.element[0].scrollWidth;
var percent = 0;
if (offset < 0) {
percent = 0
}
if (offset > 0 && offset < (trackLength - c.SLIDER_WIDTH)) {
percent = offset * 100 / self._getRightTrackLength();
}
if (offset > (trackLength - c.SLIDER_WIDTH)) {
percent = 100
}
var significantPercent = BI.parseFloat(percent.toFixed(1));
self._setSliderPosition(significantPercent);
var v = self._getValueByPercent(significantPercent);
self.value = BI.parseInt(v);
self.slider.setValue(self.getValue());
self.fireEvent(BI.SliderNormal.EVENT_CHANGE);
}
});
BI.createWidget({
type: "bi.absolute",
element: this,
items: [{
el: {
type: "bi.vertical",
items: [{
type: "bi.absolute",
items: [{
el: this.track,
width: "100%",
height: c.TRACK_HEIGHT
}]
}],
height: c.TRACK_HEIGHT
},
top: 33,
left: 0,
width: "100%"
}, {
el: sliderVertical,
top: 15,
left: 0,
width: "100%"
}]
});
},
_createTrack: function () {
return BI.createWidget({
type: "bi.absolute",
items: [{
el: {
type: "bi.vertical",
items: [{
type: "bi.absolute",
items: [{
el: this.rightTrack,
top: 0,
left: 0,
width: "100%"
}]
}],
hgap: 8,
height: 5
},
top: 5,
left: 0,
width: "100%"
}]
})
},
_checkValidation: function (v) {
return !(BI.isNull(v) || v < this.min || v > this.max)
},
_setSliderPosition: function (percent) {
this.slider.element.css({"left": percent + "%"});
},
_getRightTrackLength: function () {
return this.rightTrack.element[0].scrollWidth
},
_getValueByPercent: function (percent) {
var thousandth = BI.parseInt(percent * 10);
return (((this.max - this.min) * thousandth) / 1000 + this.min);
},
_getPercentByValue: function (v) {
return (v - this.min) * 100 / (this.max - this.min);
},
getValue: function () {
return this.value;
},
setValue: function (v) {
var value = BI.parseFloat(v);
if ((!isNaN(value))) {
if (this._checkValidation(value)) {
this.value = value;
}
if (value > this.max) {
this.value = this.max;
}
if (value < this.min) {
this.value = this.min;
}
}
if (!isNaN(this.min) && !isNaN(this.max)) {
this.enable = true;
if (BI.isNumeric(this.value) || BI.isNotEmptyString(this.value)) {
this.slider.setValue(BI.parseInt(this.value));
this._setSliderPosition(this._getPercentByValue(this.value));
} else {
this.slider.setValue(this.max);
this._setSliderPosition(100);
}
}
}
});
BI.SliderNormal.EVENT_CHANGE = "EVENT_CHANGE";
BI.shortcut("bi.slider", BI.SliderNormal);/**
* 可以单选多选切换的树 * 可以单选多选切换的树
* *
* Created by GUY on 2015/12/21. * Created by GUY on 2015/12/21.

8
demo/js/config/widget.js

@ -252,5 +252,13 @@ Demo.WIDGET_CONFIG = [{
pId: 419, pId: 419,
text: "bi.file_manager", text: "bi.file_manager",
value: "demo.file_manager" value: "demo.file_manager"
}, {
pId: 4,
id: 421,
text: "滚动调节"
}, {
pId: 421,
text: "bi.slider",
value: "demo.slider"
} }
]; ];

27
demo/js/widget/filemanager/demo.file.manager.js

@ -46,21 +46,26 @@ Demo.FileManager = BI.inherit(BI.Widget, {
lastModify: 1454316355142 lastModify: 1454316355142
}]; }];
var filemanager = BI.createWidget({ var filemanager = BI.createWidget({
type: "bi.file_manager", type: "bi.fine_tuning_number_editor",
items: items validationChecker: function (v) {
return BI.parseFloat(v) <= 100 && BI.parseFloat(v) >= 0
},
height: 24,
width: 150,
errorText: "hahah"
});
filemanager.on(BI.FineTuningNumberEditor.EVENT_CHANGE, function () {
if(BI.parseFloat(this.getValue()) < 1){
filemanager.setBottomEnable(false);
}else{
filemanager.setBottomEnable(true);
}
}); });
return { return {
type: "bi.vtape", type: "bi.vertical",
items: [{ items: [{
el: filemanager, el: filemanager,
height: "fill" height: 24
}, {
type: "bi.button",
text: "getValue",
handler: function () {
BI.Msg.alert("", JSON.stringify(filemanager.getValue()));
},
height: 25
}] }]
} }
} }

42
demo/js/widget/slider/demo.slider.js

@ -0,0 +1,42 @@
/**
* Created by Urthur on 2017/9/4.
*/
Demo.Slider = BI.inherit(BI.Widget, {
_defaultConfig: function () {
return BI.extend(Demo.Slider.superclass._defaultConfig.apply(this, arguments), {
baseCls: "demo-slider",
min: 10,
max: 50
})
},
_init: function () {
Demo.Slider.superclass._init.apply(this, arguments);
var self = this;
BI.createWidget({
type: "bi.vertical_adapt",
element: this,
width: 100,
items: [{
type: "bi.htape",
items: [{
el: {
type: "bi.slider",
min: 16,
max: 50,
ref: function (_ref) {
self.slider = _ref;
}
}
}],
height: 30,
width: 100
}]
});
this.slider.setValue("30");
this.slider.on(BI.SliderNormal.EVENT_CHANGE, function () {
console.log(this.getValue());
})
}
});
BI.shortcut("demo.slider", Demo.Slider);

3
demo/version.js

@ -29,5 +29,6 @@ BI.i18n = {
"BI-Basic_Value": "值", "BI-Basic_Value": "值",
"BI-Load_More": "加载更多", "BI-Load_More": "加载更多",
"BI-Select_All": "全选", "BI-Select_All": "全选",
"BI-No_More_Data": "无更多数据" "BI-No_More_Data": "无更多数据",
"BI-No_Selected_Value": "没有可选项"
}; };

7
dist/bundle.css vendored

@ -3161,6 +3161,13 @@ li.CodeMirror-hint-active {
} }
/****** common color(常用颜色,可用于普遍场景) *****/ /****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/ /**** custom color(自定义颜色,用于特定场景) ****/
.bi-slider .bi-slider-track {
background-color: rgba(153, 153, 153, 0.3);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#4d999999,endColorstr=#4d999999);
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
}
/****** common color(常用颜色,可用于普遍场景) *****/ /****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/ /**** custom color(自定义颜色,用于特定场景) ****/
.bi-year-popup .year-popup-navigation { .bi-year-popup .year-popup-navigation {

295
dist/bundle.js vendored

@ -28,7 +28,8 @@ BI.i18n = {
"BI-Load_More": "加载更多", "BI-Load_More": "加载更多",
"BI-Select_All": "全选", "BI-Select_All": "全选",
"BI-Basic_Auto": "自动", "BI-Basic_Auto": "自动",
"BI-No_More_Data": "无更多数据" "BI-No_More_Data": "无更多数据",
"BI-No_Selected_Value": "没有可选项"
};/*! };/*!
* jQuery JavaScript Library v1.9.1 * jQuery JavaScript Library v1.9.1
* http://jquery.com/ * http://jquery.com/
@ -75370,7 +75371,7 @@ BI.LayerTreeTableCell = BI.inherit(BI.Widget, {
} }
}); });
$.shortcut("bi.layer_tree_table_cell", BI.LayerTreeTableCell);/** BI.shortcut("bi.layer_tree_table_cell", BI.LayerTreeTableCell);/**
* *
* 层级树状结构的表格 * 层级树状结构的表格
* *
@ -82549,7 +82550,10 @@ BI.FineTuningNumberEditor = BI.inherit(BI.Widget, {
_defaultConfig: function () { _defaultConfig: function () {
return BI.extend(BI.FineTuningNumberEditor.superclass._defaultConfig.apply(this, arguments), { return BI.extend(BI.FineTuningNumberEditor.superclass._defaultConfig.apply(this, arguments), {
baseCls: "bi-fine-tuning-number-editor bi-border", baseCls: "bi-fine-tuning-number-editor bi-border",
value: -1 validationChecker: function () {return true;},
valueFormatter: function (v) {return v;},
value: 0,
errorText: ""
}) })
}, },
@ -82559,14 +82563,15 @@ BI.FineTuningNumberEditor = BI.inherit(BI.Widget, {
this.editor = BI.createWidget({ this.editor = BI.createWidget({
type: "bi.sign_editor", type: "bi.sign_editor",
height: o.height, height: o.height,
value: this._alertInEditorValue(o.value), value: o.valueFormatter(o.value),
errorText: BI.i18nText("BI-Please_Input_Natural_Number"), validationChecker: o.validationChecker,
validationChecker: function(v){ errorText: o.errorText
return BI.isNaturalNumber(v) || self._alertOutEditorValue(v) === -1; });
} this.editor.on(BI.TextEditor.EVENT_CHANGE, function () {
o.value = this.getValue();
self.fireEvent(BI.FineTuningNumberEditor.EVENT_CHANGE);
}); });
this.editor.on(BI.TextEditor.EVENT_CONFIRM, function(){ this.editor.on(BI.TextEditor.EVENT_CONFIRM, function(){
self._finetuning(0);
self.fireEvent(BI.FineTuningNumberEditor.EVENT_CONFIRM); self.fireEvent(BI.FineTuningNumberEditor.EVENT_CONFIRM);
}); });
this.topBtn = BI.createWidget({ this.topBtn = BI.createWidget({
@ -82576,6 +82581,7 @@ BI.FineTuningNumberEditor = BI.inherit(BI.Widget, {
}); });
this.topBtn.on(BI.IconButton.EVENT_CHANGE, function(){ this.topBtn.on(BI.IconButton.EVENT_CHANGE, function(){
self._finetuning(1); self._finetuning(1);
self.fireEvent(BI.FineTuningNumberEditor.EVENT_CHANGE);
self.fireEvent(BI.FineTuningNumberEditor.EVENT_CONFIRM); self.fireEvent(BI.FineTuningNumberEditor.EVENT_CONFIRM);
}); });
this.bottomBtn = BI.createWidget({ this.bottomBtn = BI.createWidget({
@ -82585,9 +82591,9 @@ BI.FineTuningNumberEditor = BI.inherit(BI.Widget, {
}); });
this.bottomBtn.on(BI.IconButton.EVENT_CHANGE, function(){ this.bottomBtn.on(BI.IconButton.EVENT_CHANGE, function(){
self._finetuning(-1); self._finetuning(-1);
self.fireEvent(BI.FineTuningNumberEditor.EVENT_CHANGE);
self.fireEvent(BI.FineTuningNumberEditor.EVENT_CONFIRM); self.fireEvent(BI.FineTuningNumberEditor.EVENT_CONFIRM);
}); });
this._finetuning(0);
BI.createWidget({ BI.createWidget({
type: "bi.htape", type: "bi.htape",
element: this, element: this,
@ -82611,33 +82617,33 @@ BI.FineTuningNumberEditor = BI.inherit(BI.Widget, {
}); });
}, },
_alertOutEditorValue: function(v){ //微调
return v === BI.i18nText("BI-Basic_Auto") ? -1 : v; _finetuning: function(add){
var v = BI.parseFloat(this.getValue());
this.setValue(v.add(add));
}, },
_alertInEditorValue: function(v){ setUpEnable: function (v) {
return BI.parseInt(v) === -1 ? BI.i18nText("BI-Basic_Auto") : v; this.topBtn.setEnable(!!v);
}, },
//微调 setBottomEnable: function (v) {
_finetuning: function(add){ this.bottomBtn.setEnable(!!v);
var v = BI.parseInt(this._alertOutEditorValue(this.editor.getValue()));
this.editor.setValue(this._alertInEditorValue(v + add));
this.bottomBtn.setEnable((v + add) > -1);
}, },
getValue: function () { getValue: function () {
var v = this.editor.getValue(); return this.options.value;
return this._alertOutEditorValue(v);
}, },
setValue: function (v) { setValue: function (v) {
this.editor.setValue(this._alertInEditorValue(v)); var o = this.options;
this._finetuning(0); o.value = v;
this.editor.setValue(o.valueFormatter(v));
} }
}); });
BI.FineTuningNumberEditor.EVENT_CONFIRM = "EVENT_CONFIRM"; BI.FineTuningNumberEditor.EVENT_CONFIRM = "EVENT_CONFIRM";
BI.FineTuningNumberEditor.EVENT_CHANGE = "EVENT_CHANGE";
BI.shortcut("bi.fine_tuning_number_editor", BI.FineTuningNumberEditor);/** BI.shortcut("bi.fine_tuning_number_editor", BI.FineTuningNumberEditor);/**
* 交互行为布局 * 交互行为布局
* *
@ -91992,6 +91998,249 @@ BI.SingleTreeTrigger = BI.inherit(BI.Trigger, {
}); });
BI.shortcut("bi.single_tree_trigger", BI.SingleTreeTrigger);/** BI.shortcut("bi.single_tree_trigger", BI.SingleTreeTrigger);/**
* Created by Urthur on 2017/9/4.
*/
BI.SliderButton = BI.inherit(BI.Widget, {
_defaultConfig: function () {
return BI.extend(BI.SliderButton.superclass._defaultConfig.apply(this, arguments), {
baseCls: "bi-slider-button"
});
},
_init: function () {
BI.extend(BI.SliderButton.superclass._init.apply(this, arguments));
var self = this;
var sliderButton = BI.createWidget({
type: "bi.icon_button",
cls: "column-next-page-h-font",
iconWidth: 16,
iconHeight: 16,
height: 16,
width: 16
});
BI.createWidget({
type: "bi.absolute",
element: this,
items: [{
el: sliderButton,
left: -8
}, {
el: {
type: "bi.label",
ref: function (_ref) {
self.label = _ref;
}
},
left: -8,
top: -10
}]
});
},
setValue: function (v) {
this.label.setText(v);
}
});
BI.shortcut("bi.slider_button", BI.SliderButton);/**
* Created by Urthur on 2017/9/4.
*/
BI.SliderNormal = BI.inherit(BI.Widget, {
_constant: {
HEIGHT: 28,
SLIDER_WIDTH_HALF: 10,
SLIDER_WIDTH: 25,
SLIDER_HEIGHT: 30,
TRACK_HEIGHT: 24
},
_defaultConfig: function () {
return BI.extend(BI.SliderNormal.superclass._defaultConfig.apply(this, arguments), {
baseCls: "bi-slider",
min: 10,
max: 50
})
},
_init: function () {
BI.SliderNormal.superclass._init.apply(this, arguments);
var self = this;
var c = this._constant, o = this.options;
this.enable = false;
this.value = o.min;
this.min = o.min;
this.max = o.max;
this.rightTrack = BI.createWidget({
type: "bi.layout",
cls: "bi-slider-track",
height: 5
});
this.track = this._createTrack();
this.slider = BI.createWidget({
type: "bi.slider_button"
});
this.slider.setValue(this.getValue());
this.slider.element.draggable({
axis: "x",
containment: this.rightTrack.element,
scroll: false,
drag: function (e, ui) {
var percent = (ui.position.left) * 100 / (self._getRightTrackLength());
var significantPercent = BI.parseFloat(percent.toFixed(1));//直接对计算出来的百分数保留到小数点后一位,相当于分成了1000份。
var v = self._getValueByPercent(significantPercent);
self.value = BI.parseInt(v) + 1;
self.slider.setValue(self.getValue());
self.fireEvent(BI.SliderNormal.EVENT_CHANGE);
},
stop: function (e, ui) {
var percent = (ui.position.left) * 100 / (self._getRightTrackLength());
var significantPercent = BI.parseFloat(percent.toFixed(1));
self._setSliderPosition(significantPercent);
self.fireEvent(BI.SliderNormal.EVENT_CHANGE);
}
});
var sliderVertical = BI.createWidget({
type: "bi.vertical",
items: [{
type: "bi.absolute",
items: [{
el: this.slider,
top: 10
}]
}],
hgap: c.SLIDER_WIDTH_HALF,
height: c.SLIDER_HEIGHT
});
sliderVertical.element.click(function (e) {
if (self.enable) {
var offset = e.clientX - self.element.offset().left - c.SLIDER_WIDTH_HALF;
var trackLength = self.track.element[0].scrollWidth;
var percent = 0;
if (offset < 0) {
percent = 0
}
if (offset > 0 && offset < (trackLength - c.SLIDER_WIDTH)) {
percent = offset * 100 / self._getRightTrackLength();
}
if (offset > (trackLength - c.SLIDER_WIDTH)) {
percent = 100
}
var significantPercent = BI.parseFloat(percent.toFixed(1));
self._setSliderPosition(significantPercent);
var v = self._getValueByPercent(significantPercent);
self.value = BI.parseInt(v);
self.slider.setValue(self.getValue());
self.fireEvent(BI.SliderNormal.EVENT_CHANGE);
}
});
BI.createWidget({
type: "bi.absolute",
element: this,
items: [{
el: {
type: "bi.vertical",
items: [{
type: "bi.absolute",
items: [{
el: this.track,
width: "100%",
height: c.TRACK_HEIGHT
}]
}],
height: c.TRACK_HEIGHT
},
top: 33,
left: 0,
width: "100%"
}, {
el: sliderVertical,
top: 15,
left: 0,
width: "100%"
}]
});
},
_createTrack: function () {
return BI.createWidget({
type: "bi.absolute",
items: [{
el: {
type: "bi.vertical",
items: [{
type: "bi.absolute",
items: [{
el: this.rightTrack,
top: 0,
left: 0,
width: "100%"
}]
}],
hgap: 8,
height: 5
},
top: 5,
left: 0,
width: "100%"
}]
})
},
_checkValidation: function (v) {
return !(BI.isNull(v) || v < this.min || v > this.max)
},
_setSliderPosition: function (percent) {
this.slider.element.css({"left": percent + "%"});
},
_getRightTrackLength: function () {
return this.rightTrack.element[0].scrollWidth
},
_getValueByPercent: function (percent) {
var thousandth = BI.parseInt(percent * 10);
return (((this.max - this.min) * thousandth) / 1000 + this.min);
},
_getPercentByValue: function (v) {
return (v - this.min) * 100 / (this.max - this.min);
},
getValue: function () {
return this.value;
},
setValue: function (v) {
var value = BI.parseFloat(v);
if ((!isNaN(value))) {
if (this._checkValidation(value)) {
this.value = value;
}
if (value > this.max) {
this.value = this.max;
}
if (value < this.min) {
this.value = this.min;
}
}
if (!isNaN(this.min) && !isNaN(this.max)) {
this.enable = true;
if (BI.isNumeric(this.value) || BI.isNotEmptyString(this.value)) {
this.slider.setValue(BI.parseInt(this.value));
this._setSliderPosition(this._getPercentByValue(this.value));
} else {
this.slider.setValue(this.max);
this._setSliderPosition(100);
}
}
}
});
BI.SliderNormal.EVENT_CHANGE = "EVENT_CHANGE";
BI.shortcut("bi.slider", BI.SliderNormal);/**
* 可以单选多选切换的树 * 可以单选多选切换的树
* *
* Created by GUY on 2015/12/21. * Created by GUY on 2015/12/21.

16
dist/bundle.min.js vendored

File diff suppressed because one or more lines are too long

2
dist/case.js vendored

@ -11083,7 +11083,7 @@ BI.LayerTreeTableCell = BI.inherit(BI.Widget, {
} }
}); });
$.shortcut("bi.layer_tree_table_cell", BI.LayerTreeTableCell);/** BI.shortcut("bi.layer_tree_table_cell", BI.LayerTreeTableCell);/**
* *
* 层级树状结构的表格 * 层级树状结构的表格
* *

49
dist/demo.js vendored

@ -3729,6 +3729,14 @@ Demo.COMPONENT_CONFIG = [{
pId: 419, pId: 419,
text: "bi.file_manager", text: "bi.file_manager",
value: "demo.file_manager" value: "demo.file_manager"
}, {
pId: 4,
id: 421,
text: "滚动调节"
}, {
pId: 421,
text: "bi.slider",
value: "demo.slider"
} }
];Demo.Func = BI.inherit(BI.Widget, { ];Demo.Func = BI.inherit(BI.Widget, {
props: { props: {
@ -8392,6 +8400,47 @@ Demo.SingleTreeCombo = BI.inherit(BI.Widget, {
}) })
BI.shortcut("demo.single_tree_combo", Demo.SingleTreeCombo);/** BI.shortcut("demo.single_tree_combo", Demo.SingleTreeCombo);/**
* Created by Urthur on 2017/9/4.
*/
Demo.Slider = BI.inherit(BI.Widget, {
_defaultConfig: function () {
return BI.extend(Demo.Slider.superclass._defaultConfig.apply(this, arguments), {
baseCls: "demo-slider",
min: 10,
max: 50
})
},
_init: function () {
Demo.Slider.superclass._init.apply(this, arguments);
var self = this;
BI.createWidget({
type: "bi.vertical_adapt",
element: this,
width: 100,
items: [{
type: "bi.htape",
items: [{
el: {
type: "bi.slider",
min: 16,
max: 50,
ref: function (_ref) {
self.slider = _ref;
}
}
}],
height: 30,
width: 100
}]
});
this.slider.setValue("30");
this.slider.on(BI.SliderNormal.EVENT_CHANGE, function () {
console.log(this.getValue());
})
}
});
BI.shortcut("demo.slider", Demo.Slider);/**
* Created by Dailer on 2017/7/12. * Created by Dailer on 2017/7/12.
*/ */
Demo.ExcelTable = BI.inherit(BI.Widget, { Demo.ExcelTable = BI.inherit(BI.Widget, {

7
dist/widget.css vendored

@ -392,6 +392,13 @@
} }
/****** common color(常用颜色,可用于普遍场景) *****/ /****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/ /**** custom color(自定义颜色,用于特定场景) ****/
.bi-slider .bi-slider-track {
background-color: rgba(153, 153, 153, 0.3);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#4d999999,endColorstr=#4d999999);
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
}
/****** common color(常用颜色,可用于普遍场景) *****/ /****** common color(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/ /**** custom color(自定义颜色,用于特定场景) ****/
.bi-year-popup .year-popup-navigation { .bi-year-popup .year-popup-navigation {

290
dist/widget.js vendored

@ -5493,7 +5493,10 @@ BI.FineTuningNumberEditor = BI.inherit(BI.Widget, {
_defaultConfig: function () { _defaultConfig: function () {
return BI.extend(BI.FineTuningNumberEditor.superclass._defaultConfig.apply(this, arguments), { return BI.extend(BI.FineTuningNumberEditor.superclass._defaultConfig.apply(this, arguments), {
baseCls: "bi-fine-tuning-number-editor bi-border", baseCls: "bi-fine-tuning-number-editor bi-border",
value: -1 validationChecker: function () {return true;},
valueFormatter: function (v) {return v;},
value: 0,
errorText: ""
}) })
}, },
@ -5503,14 +5506,15 @@ BI.FineTuningNumberEditor = BI.inherit(BI.Widget, {
this.editor = BI.createWidget({ this.editor = BI.createWidget({
type: "bi.sign_editor", type: "bi.sign_editor",
height: o.height, height: o.height,
value: this._alertInEditorValue(o.value), value: o.valueFormatter(o.value),
errorText: BI.i18nText("BI-Please_Input_Natural_Number"), validationChecker: o.validationChecker,
validationChecker: function(v){ errorText: o.errorText
return BI.isNaturalNumber(v) || self._alertOutEditorValue(v) === -1; });
} this.editor.on(BI.TextEditor.EVENT_CHANGE, function () {
o.value = this.getValue();
self.fireEvent(BI.FineTuningNumberEditor.EVENT_CHANGE);
}); });
this.editor.on(BI.TextEditor.EVENT_CONFIRM, function(){ this.editor.on(BI.TextEditor.EVENT_CONFIRM, function(){
self._finetuning(0);
self.fireEvent(BI.FineTuningNumberEditor.EVENT_CONFIRM); self.fireEvent(BI.FineTuningNumberEditor.EVENT_CONFIRM);
}); });
this.topBtn = BI.createWidget({ this.topBtn = BI.createWidget({
@ -5520,6 +5524,7 @@ BI.FineTuningNumberEditor = BI.inherit(BI.Widget, {
}); });
this.topBtn.on(BI.IconButton.EVENT_CHANGE, function(){ this.topBtn.on(BI.IconButton.EVENT_CHANGE, function(){
self._finetuning(1); self._finetuning(1);
self.fireEvent(BI.FineTuningNumberEditor.EVENT_CHANGE);
self.fireEvent(BI.FineTuningNumberEditor.EVENT_CONFIRM); self.fireEvent(BI.FineTuningNumberEditor.EVENT_CONFIRM);
}); });
this.bottomBtn = BI.createWidget({ this.bottomBtn = BI.createWidget({
@ -5529,9 +5534,9 @@ BI.FineTuningNumberEditor = BI.inherit(BI.Widget, {
}); });
this.bottomBtn.on(BI.IconButton.EVENT_CHANGE, function(){ this.bottomBtn.on(BI.IconButton.EVENT_CHANGE, function(){
self._finetuning(-1); self._finetuning(-1);
self.fireEvent(BI.FineTuningNumberEditor.EVENT_CHANGE);
self.fireEvent(BI.FineTuningNumberEditor.EVENT_CONFIRM); self.fireEvent(BI.FineTuningNumberEditor.EVENT_CONFIRM);
}); });
this._finetuning(0);
BI.createWidget({ BI.createWidget({
type: "bi.htape", type: "bi.htape",
element: this, element: this,
@ -5555,33 +5560,33 @@ BI.FineTuningNumberEditor = BI.inherit(BI.Widget, {
}); });
}, },
_alertOutEditorValue: function(v){ //微调
return v === BI.i18nText("BI-Basic_Auto") ? -1 : v; _finetuning: function(add){
var v = BI.parseFloat(this.getValue());
this.setValue(v.add(add));
}, },
_alertInEditorValue: function(v){ setUpEnable: function (v) {
return BI.parseInt(v) === -1 ? BI.i18nText("BI-Basic_Auto") : v; this.topBtn.setEnable(!!v);
}, },
//微调 setBottomEnable: function (v) {
_finetuning: function(add){ this.bottomBtn.setEnable(!!v);
var v = BI.parseInt(this._alertOutEditorValue(this.editor.getValue()));
this.editor.setValue(this._alertInEditorValue(v + add));
this.bottomBtn.setEnable((v + add) > -1);
}, },
getValue: function () { getValue: function () {
var v = this.editor.getValue(); return this.options.value;
return this._alertOutEditorValue(v);
}, },
setValue: function (v) { setValue: function (v) {
this.editor.setValue(this._alertInEditorValue(v)); var o = this.options;
this._finetuning(0); o.value = v;
this.editor.setValue(o.valueFormatter(v));
} }
}); });
BI.FineTuningNumberEditor.EVENT_CONFIRM = "EVENT_CONFIRM"; BI.FineTuningNumberEditor.EVENT_CONFIRM = "EVENT_CONFIRM";
BI.FineTuningNumberEditor.EVENT_CHANGE = "EVENT_CHANGE";
BI.shortcut("bi.fine_tuning_number_editor", BI.FineTuningNumberEditor);/** BI.shortcut("bi.fine_tuning_number_editor", BI.FineTuningNumberEditor);/**
* 交互行为布局 * 交互行为布局
* *
@ -14936,6 +14941,249 @@ BI.SingleTreeTrigger = BI.inherit(BI.Trigger, {
}); });
BI.shortcut("bi.single_tree_trigger", BI.SingleTreeTrigger);/** BI.shortcut("bi.single_tree_trigger", BI.SingleTreeTrigger);/**
* Created by Urthur on 2017/9/4.
*/
BI.SliderButton = BI.inherit(BI.Widget, {
_defaultConfig: function () {
return BI.extend(BI.SliderButton.superclass._defaultConfig.apply(this, arguments), {
baseCls: "bi-slider-button"
});
},
_init: function () {
BI.extend(BI.SliderButton.superclass._init.apply(this, arguments));
var self = this;
var sliderButton = BI.createWidget({
type: "bi.icon_button",
cls: "column-next-page-h-font",
iconWidth: 16,
iconHeight: 16,
height: 16,
width: 16
});
BI.createWidget({
type: "bi.absolute",
element: this,
items: [{
el: sliderButton,
left: -8
}, {
el: {
type: "bi.label",
ref: function (_ref) {
self.label = _ref;
}
},
left: -8,
top: -10
}]
});
},
setValue: function (v) {
this.label.setText(v);
}
});
BI.shortcut("bi.slider_button", BI.SliderButton);/**
* Created by Urthur on 2017/9/4.
*/
BI.SliderNormal = BI.inherit(BI.Widget, {
_constant: {
HEIGHT: 28,
SLIDER_WIDTH_HALF: 10,
SLIDER_WIDTH: 25,
SLIDER_HEIGHT: 30,
TRACK_HEIGHT: 24
},
_defaultConfig: function () {
return BI.extend(BI.SliderNormal.superclass._defaultConfig.apply(this, arguments), {
baseCls: "bi-slider",
min: 10,
max: 50
})
},
_init: function () {
BI.SliderNormal.superclass._init.apply(this, arguments);
var self = this;
var c = this._constant, o = this.options;
this.enable = false;
this.value = o.min;
this.min = o.min;
this.max = o.max;
this.rightTrack = BI.createWidget({
type: "bi.layout",
cls: "bi-slider-track",
height: 5
});
this.track = this._createTrack();
this.slider = BI.createWidget({
type: "bi.slider_button"
});
this.slider.setValue(this.getValue());
this.slider.element.draggable({
axis: "x",
containment: this.rightTrack.element,
scroll: false,
drag: function (e, ui) {
var percent = (ui.position.left) * 100 / (self._getRightTrackLength());
var significantPercent = BI.parseFloat(percent.toFixed(1));//直接对计算出来的百分数保留到小数点后一位,相当于分成了1000份。
var v = self._getValueByPercent(significantPercent);
self.value = BI.parseInt(v) + 1;
self.slider.setValue(self.getValue());
self.fireEvent(BI.SliderNormal.EVENT_CHANGE);
},
stop: function (e, ui) {
var percent = (ui.position.left) * 100 / (self._getRightTrackLength());
var significantPercent = BI.parseFloat(percent.toFixed(1));
self._setSliderPosition(significantPercent);
self.fireEvent(BI.SliderNormal.EVENT_CHANGE);
}
});
var sliderVertical = BI.createWidget({
type: "bi.vertical",
items: [{
type: "bi.absolute",
items: [{
el: this.slider,
top: 10
}]
}],
hgap: c.SLIDER_WIDTH_HALF,
height: c.SLIDER_HEIGHT
});
sliderVertical.element.click(function (e) {
if (self.enable) {
var offset = e.clientX - self.element.offset().left - c.SLIDER_WIDTH_HALF;
var trackLength = self.track.element[0].scrollWidth;
var percent = 0;
if (offset < 0) {
percent = 0
}
if (offset > 0 && offset < (trackLength - c.SLIDER_WIDTH)) {
percent = offset * 100 / self._getRightTrackLength();
}
if (offset > (trackLength - c.SLIDER_WIDTH)) {
percent = 100
}
var significantPercent = BI.parseFloat(percent.toFixed(1));
self._setSliderPosition(significantPercent);
var v = self._getValueByPercent(significantPercent);
self.value = BI.parseInt(v);
self.slider.setValue(self.getValue());
self.fireEvent(BI.SliderNormal.EVENT_CHANGE);
}
});
BI.createWidget({
type: "bi.absolute",
element: this,
items: [{
el: {
type: "bi.vertical",
items: [{
type: "bi.absolute",
items: [{
el: this.track,
width: "100%",
height: c.TRACK_HEIGHT
}]
}],
height: c.TRACK_HEIGHT
},
top: 33,
left: 0,
width: "100%"
}, {
el: sliderVertical,
top: 15,
left: 0,
width: "100%"
}]
});
},
_createTrack: function () {
return BI.createWidget({
type: "bi.absolute",
items: [{
el: {
type: "bi.vertical",
items: [{
type: "bi.absolute",
items: [{
el: this.rightTrack,
top: 0,
left: 0,
width: "100%"
}]
}],
hgap: 8,
height: 5
},
top: 5,
left: 0,
width: "100%"
}]
})
},
_checkValidation: function (v) {
return !(BI.isNull(v) || v < this.min || v > this.max)
},
_setSliderPosition: function (percent) {
this.slider.element.css({"left": percent + "%"});
},
_getRightTrackLength: function () {
return this.rightTrack.element[0].scrollWidth
},
_getValueByPercent: function (percent) {
var thousandth = BI.parseInt(percent * 10);
return (((this.max - this.min) * thousandth) / 1000 + this.min);
},
_getPercentByValue: function (v) {
return (v - this.min) * 100 / (this.max - this.min);
},
getValue: function () {
return this.value;
},
setValue: function (v) {
var value = BI.parseFloat(v);
if ((!isNaN(value))) {
if (this._checkValidation(value)) {
this.value = value;
}
if (value > this.max) {
this.value = this.max;
}
if (value < this.min) {
this.value = this.min;
}
}
if (!isNaN(this.min) && !isNaN(this.max)) {
this.enable = true;
if (BI.isNumeric(this.value) || BI.isNotEmptyString(this.value)) {
this.slider.setValue(BI.parseInt(this.value));
this._setSliderPosition(this._getPercentByValue(this.value));
} else {
this.slider.setValue(this.max);
this._setSliderPosition(100);
}
}
}
});
BI.SliderNormal.EVENT_CHANGE = "EVENT_CHANGE";
BI.shortcut("bi.slider", BI.SliderNormal);/**
* 可以单选多选切换的树 * 可以单选多选切换的树
* *
* Created by GUY on 2015/12/21. * Created by GUY on 2015/12/21.

3
public/js/index.js

@ -28,5 +28,6 @@ BI.i18n = {
"BI-Load_More": "加载更多", "BI-Load_More": "加载更多",
"BI-Select_All": "全选", "BI-Select_All": "全选",
"BI-Basic_Auto": "自动", "BI-Basic_Auto": "自动",
"BI-No_More_Data": "无更多数据" "BI-No_More_Data": "无更多数据",
"BI-No_Selected_Value": "没有可选项"
}; };

2
src/case/table/table.layertree.cell.js

@ -29,4 +29,4 @@ BI.LayerTreeTableCell = BI.inherit(BI.Widget, {
} }
}); });
$.shortcut("bi.layer_tree_table_cell", BI.LayerTreeTableCell); BI.shortcut("bi.layer_tree_table_cell", BI.LayerTreeTableCell);

7
src/css/widget/slider/slider.css

@ -0,0 +1,7 @@
.bi-slider .bi-slider-track {
background-color: rgba(153, 153, 153, 0.3);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#4d999999,endColorstr=#4d999999);
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
}

8
src/less/widget/slider/slider.less

@ -0,0 +1,8 @@
@import "../../bibase";
.bi-slider {
.bi-slider-track {
.background-color(@color-bi-background-gray, 30%);
.border-radius(3px);
}
}

47
src/widget/finetuningnumbereditor/finetuning.number.editor.js

@ -6,7 +6,10 @@ BI.FineTuningNumberEditor = BI.inherit(BI.Widget, {
_defaultConfig: function () { _defaultConfig: function () {
return BI.extend(BI.FineTuningNumberEditor.superclass._defaultConfig.apply(this, arguments), { return BI.extend(BI.FineTuningNumberEditor.superclass._defaultConfig.apply(this, arguments), {
baseCls: "bi-fine-tuning-number-editor bi-border", baseCls: "bi-fine-tuning-number-editor bi-border",
value: -1 validationChecker: function () {return true;},
valueFormatter: function (v) {return v;},
value: 0,
errorText: ""
}) })
}, },
@ -16,14 +19,15 @@ BI.FineTuningNumberEditor = BI.inherit(BI.Widget, {
this.editor = BI.createWidget({ this.editor = BI.createWidget({
type: "bi.sign_editor", type: "bi.sign_editor",
height: o.height, height: o.height,
value: this._alertInEditorValue(o.value), value: o.valueFormatter(o.value),
errorText: BI.i18nText("BI-Please_Input_Natural_Number"), validationChecker: o.validationChecker,
validationChecker: function(v){ errorText: o.errorText
return BI.isNaturalNumber(v) || self._alertOutEditorValue(v) === -1; });
} this.editor.on(BI.TextEditor.EVENT_CHANGE, function () {
o.value = this.getValue();
self.fireEvent(BI.FineTuningNumberEditor.EVENT_CHANGE);
}); });
this.editor.on(BI.TextEditor.EVENT_CONFIRM, function(){ this.editor.on(BI.TextEditor.EVENT_CONFIRM, function(){
self._finetuning(0);
self.fireEvent(BI.FineTuningNumberEditor.EVENT_CONFIRM); self.fireEvent(BI.FineTuningNumberEditor.EVENT_CONFIRM);
}); });
this.topBtn = BI.createWidget({ this.topBtn = BI.createWidget({
@ -33,6 +37,7 @@ BI.FineTuningNumberEditor = BI.inherit(BI.Widget, {
}); });
this.topBtn.on(BI.IconButton.EVENT_CHANGE, function(){ this.topBtn.on(BI.IconButton.EVENT_CHANGE, function(){
self._finetuning(1); self._finetuning(1);
self.fireEvent(BI.FineTuningNumberEditor.EVENT_CHANGE);
self.fireEvent(BI.FineTuningNumberEditor.EVENT_CONFIRM); self.fireEvent(BI.FineTuningNumberEditor.EVENT_CONFIRM);
}); });
this.bottomBtn = BI.createWidget({ this.bottomBtn = BI.createWidget({
@ -42,9 +47,9 @@ BI.FineTuningNumberEditor = BI.inherit(BI.Widget, {
}); });
this.bottomBtn.on(BI.IconButton.EVENT_CHANGE, function(){ this.bottomBtn.on(BI.IconButton.EVENT_CHANGE, function(){
self._finetuning(-1); self._finetuning(-1);
self.fireEvent(BI.FineTuningNumberEditor.EVENT_CHANGE);
self.fireEvent(BI.FineTuningNumberEditor.EVENT_CONFIRM); self.fireEvent(BI.FineTuningNumberEditor.EVENT_CONFIRM);
}); });
this._finetuning(0);
BI.createWidget({ BI.createWidget({
type: "bi.htape", type: "bi.htape",
element: this, element: this,
@ -68,31 +73,31 @@ BI.FineTuningNumberEditor = BI.inherit(BI.Widget, {
}); });
}, },
_alertOutEditorValue: function(v){ //微调
return v === BI.i18nText("BI-Basic_Auto") ? -1 : v; _finetuning: function(add){
var v = BI.parseFloat(this.getValue());
this.setValue(v.add(add));
}, },
_alertInEditorValue: function(v){ setUpEnable: function (v) {
return BI.parseInt(v) === -1 ? BI.i18nText("BI-Basic_Auto") : v; this.topBtn.setEnable(!!v);
}, },
//微调 setBottomEnable: function (v) {
_finetuning: function(add){ this.bottomBtn.setEnable(!!v);
var v = BI.parseInt(this._alertOutEditorValue(this.editor.getValue()));
this.editor.setValue(this._alertInEditorValue(v + add));
this.bottomBtn.setEnable((v + add) > -1);
}, },
getValue: function () { getValue: function () {
var v = this.editor.getValue(); return this.options.value;
return this._alertOutEditorValue(v);
}, },
setValue: function (v) { setValue: function (v) {
this.editor.setValue(this._alertInEditorValue(v)); var o = this.options;
this._finetuning(0); o.value = v;
this.editor.setValue(o.valueFormatter(v));
} }
}); });
BI.FineTuningNumberEditor.EVENT_CONFIRM = "EVENT_CONFIRM"; BI.FineTuningNumberEditor.EVENT_CONFIRM = "EVENT_CONFIRM";
BI.FineTuningNumberEditor.EVENT_CHANGE = "EVENT_CHANGE";
BI.shortcut("bi.fine_tuning_number_editor", BI.FineTuningNumberEditor); BI.shortcut("bi.fine_tuning_number_editor", BI.FineTuningNumberEditor);

44
src/widget/slider/slider.button.js

@ -0,0 +1,44 @@
/**
* Created by Urthur on 2017/9/4.
*/
BI.SliderButton = BI.inherit(BI.Widget, {
_defaultConfig: function () {
return BI.extend(BI.SliderButton.superclass._defaultConfig.apply(this, arguments), {
baseCls: "bi-slider-button"
});
},
_init: function () {
BI.extend(BI.SliderButton.superclass._init.apply(this, arguments));
var self = this;
var sliderButton = BI.createWidget({
type: "bi.icon_button",
cls: "column-next-page-h-font",
iconWidth: 16,
iconHeight: 16,
height: 16,
width: 16
});
BI.createWidget({
type: "bi.absolute",
element: this,
items: [{
el: sliderButton,
left: -8
}, {
el: {
type: "bi.label",
ref: function (_ref) {
self.label = _ref;
}
},
left: -8,
top: -10
}]
});
},
setValue: function (v) {
this.label.setText(v);
}
});
BI.shortcut("bi.slider_button", BI.SliderButton);

201
src/widget/slider/slider.js

@ -0,0 +1,201 @@
/**
* Created by Urthur on 2017/9/4.
*/
BI.SliderNormal = BI.inherit(BI.Widget, {
_constant: {
HEIGHT: 28,
SLIDER_WIDTH_HALF: 10,
SLIDER_WIDTH: 25,
SLIDER_HEIGHT: 30,
TRACK_HEIGHT: 24
},
_defaultConfig: function () {
return BI.extend(BI.SliderNormal.superclass._defaultConfig.apply(this, arguments), {
baseCls: "bi-slider",
min: 10,
max: 50
})
},
_init: function () {
BI.SliderNormal.superclass._init.apply(this, arguments);
var self = this;
var c = this._constant, o = this.options;
this.enable = false;
this.value = o.min;
this.min = o.min;
this.max = o.max;
this.rightTrack = BI.createWidget({
type: "bi.layout",
cls: "bi-slider-track",
height: 5
});
this.track = this._createTrack();
this.slider = BI.createWidget({
type: "bi.slider_button"
});
this.slider.setValue(this.getValue());
this.slider.element.draggable({
axis: "x",
containment: this.rightTrack.element,
scroll: false,
drag: function (e, ui) {
var percent = (ui.position.left) * 100 / (self._getRightTrackLength());
var significantPercent = BI.parseFloat(percent.toFixed(1));//直接对计算出来的百分数保留到小数点后一位,相当于分成了1000份。
var v = self._getValueByPercent(significantPercent);
self.value = BI.parseInt(v) + 1;
self.slider.setValue(self.getValue());
self.fireEvent(BI.SliderNormal.EVENT_CHANGE);
},
stop: function (e, ui) {
var percent = (ui.position.left) * 100 / (self._getRightTrackLength());
var significantPercent = BI.parseFloat(percent.toFixed(1));
self._setSliderPosition(significantPercent);
self.fireEvent(BI.SliderNormal.EVENT_CHANGE);
}
});
var sliderVertical = BI.createWidget({
type: "bi.vertical",
items: [{
type: "bi.absolute",
items: [{
el: this.slider,
top: 10
}]
}],
hgap: c.SLIDER_WIDTH_HALF,
height: c.SLIDER_HEIGHT
});
sliderVertical.element.click(function (e) {
if (self.enable) {
var offset = e.clientX - self.element.offset().left - c.SLIDER_WIDTH_HALF;
var trackLength = self.track.element[0].scrollWidth;
var percent = 0;
if (offset < 0) {
percent = 0
}
if (offset > 0 && offset < (trackLength - c.SLIDER_WIDTH)) {
percent = offset * 100 / self._getRightTrackLength();
}
if (offset > (trackLength - c.SLIDER_WIDTH)) {
percent = 100
}
var significantPercent = BI.parseFloat(percent.toFixed(1));
self._setSliderPosition(significantPercent);
var v = self._getValueByPercent(significantPercent);
self.value = BI.parseInt(v);
self.slider.setValue(self.getValue());
self.fireEvent(BI.SliderNormal.EVENT_CHANGE);
}
});
BI.createWidget({
type: "bi.absolute",
element: this,
items: [{
el: {
type: "bi.vertical",
items: [{
type: "bi.absolute",
items: [{
el: this.track,
width: "100%",
height: c.TRACK_HEIGHT
}]
}],
height: c.TRACK_HEIGHT
},
top: 33,
left: 0,
width: "100%"
}, {
el: sliderVertical,
top: 15,
left: 0,
width: "100%"
}]
});
},
_createTrack: function () {
return BI.createWidget({
type: "bi.absolute",
items: [{
el: {
type: "bi.vertical",
items: [{
type: "bi.absolute",
items: [{
el: this.rightTrack,
top: 0,
left: 0,
width: "100%"
}]
}],
hgap: 8,
height: 5
},
top: 5,
left: 0,
width: "100%"
}]
})
},
_checkValidation: function (v) {
return !(BI.isNull(v) || v < this.min || v > this.max)
},
_setSliderPosition: function (percent) {
this.slider.element.css({"left": percent + "%"});
},
_getRightTrackLength: function () {
return this.rightTrack.element[0].scrollWidth
},
_getValueByPercent: function (percent) {
var thousandth = BI.parseInt(percent * 10);
return (((this.max - this.min) * thousandth) / 1000 + this.min);
},
_getPercentByValue: function (v) {
return (v - this.min) * 100 / (this.max - this.min);
},
getValue: function () {
return this.value;
},
setValue: function (v) {
var value = BI.parseFloat(v);
if ((!isNaN(value))) {
if (this._checkValidation(value)) {
this.value = value;
}
if (value > this.max) {
this.value = this.max;
}
if (value < this.min) {
this.value = this.min;
}
}
if (!isNaN(this.min) && !isNaN(this.max)) {
this.enable = true;
if (BI.isNumeric(this.value) || BI.isNotEmptyString(this.value)) {
this.slider.setValue(BI.parseInt(this.value));
this._setSliderPosition(this._getPercentByValue(this.value));
} else {
this.slider.setValue(this.max);
this._setSliderPosition(100);
}
}
}
});
BI.SliderNormal.EVENT_CHANGE = "EVENT_CHANGE";
BI.shortcut("bi.slider", BI.SliderNormal);

3
uidoc/.gitignore vendored

@ -10,4 +10,5 @@ dist
archive archive
archive.zip archive.zip
*.log *.log
_book _book
test

3
uidoc/SUMMARY.md

@ -100,10 +100,9 @@
* [text_trigger](case/trigger/text_trigger.md) * [text_trigger](case/trigger/text_trigger.md)
* 下拉框 * 下拉框
* [bubble_combo](case/combo/bubble_combo.md) * [bubble_combo](case/combo/bubble_combo.md)
* [formula_combo](case/combo/formula_combo.md)
* [icon_combo](case/combo/icon_combo.md) * [icon_combo](case/combo/icon_combo.md)
* [static_combo](case/combo/static_combo.md) * [static_combo](case/combo/static_combo.md)
* [text_value_combo](case/combo/static_combo.md) * [text_value_combo](case/combo/text_value_combo.md)
* [text_value_downlist_combo](case/combo/text_value_downlist_combo.md) * [text_value_downlist_combo](case/combo/text_value_downlist_combo.md)
* 树 * 树
* [branch_tree](case/tree/branch_tree.md) * [branch_tree](case/tree/branch_tree.md)

8
uidoc/base/bubble.md

@ -25,9 +25,9 @@ BI.createWidget({
| 参数 | 说明 | 类型 | 可选值 | 默认值 | 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :----- | :---- |:---- | :------ |:------------- | :----- | :---- |:----
| direction | 气泡显示位置 | string | | "top" | | direction | 气泡显示位置 | string | | "top" |
| height | 气泡高度 | number | | 35 | | height | 气泡高度 | number | | 35 |
| text | 气泡显示内容 | string | | " " | | text | 气泡显示内容 | string | | " " |
@ -36,5 +36,5 @@ BI.createWidget({
| :------ |:------------- | :----- | :------ |:------------- | :-----
| setText | 设置文本值 | 需要设置的文本值text| | setText | 设置文本值 | 需要设置的文本值text|
---
--- ---

30
uidoc/base/button/button.md

@ -25,35 +25,33 @@ BI.createWidget({
##### 基础属性 ##### 基础属性
| 参数 | 说明 | 类型 | 可选值 | 默认值 | 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :-----| :----|:---- | :------ |:------------- | :-----| :----|:----
| hgap | 效果相当于文本框左右padding值,如果clear属性为true,该属性值置0 | number | | 10 | | hgap | 效果相当于文本框左右padding值,如果clear属性为true,该属性值置0 | number | | 10 |
| vgap | 效果相当于文本框上下padding值 | number | | 0 | | vgap | 效果相当于文本框上下padding值 | number | | 0 |
| lgap | 效果相当于文本框left-padding值 | number | | 0 | | lgap | 效果相当于文本框left-padding值 | number | | 0 |
| rgap | 效果相当于文本框right-padding值 | number | | 0 | | rgap | 效果相当于文本框right-padding值 | number | | 0 |
| tgap |效果相当于文本框top-padding值 | number | | 0 | | tgap |效果相当于文本框top-padding值 | number | | 0 |
| bgap | 效果相当于文本框bottom-padding值 | number | | 0 | | bgap | 效果相当于文本框bottom-padding值 | number | | 0 |
| items | 子控件数组 | array | | | | items | 子控件数组 | array | | [ ] |
| width | 宽度 | number | | | | width | 宽度 | number | | |
| height | 高度 | number | | | | | height | 高度 | number | | |
##### 高级属性 ##### 高级属性
| 参数 | 说明 | 类型 | 可选值 | 默认值 | 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :-----| :----|:---- | :------ |:------------- | :-----| :----|:----
| level |按钮类型 | string| common,success,warning,ignore | common | | level |按钮类型 | string| common,success,warning,ignore | common |
| text|按钮文本内容 | string| | | | minWidth | 最小宽度,如果block/clear中某一项为true,此项值为0,否则为90 | number | — | 90 |
| disabled|灰化 | boolean| true,false | | | shadow | | boolean| true,false | |
| minWidth | 最小宽度,如果block/clear中某一项为true,此项值为0,否则为90 | number | | 90 |
| shadow | | boolean| true,false | |
| isShadowShowingOnSelected|选中状态下是否显示阴影 | boolean| true,false | true | | isShadowShowingOnSelected|选中状态下是否显示阴影 | boolean| true,false | true |
| readonly | 是否只读 | boolean | true,false | true | | readonly | 是否只读 | boolean | true,false | true |
| iconClass | 图标类型 | string| | " "| | iconClass | 图标类型 | string| | " "|
| block| 是否块状显示,即不显示边框,没有最小宽度的限制 | boolean| true,false | false | | block| 是否块状显示,即不显示边框,没有最小宽度的限制 | boolean| true,false | false |
| clear| 是否去掉边框和背景 |boolean| true,false | false | | clear| 是否去掉边框和背景 |boolean| true,false | false |
| textAlign | 文字布局 | string | left,center,right | cneter | | textAlign | 文字布局 | string | left,center,right | cneter |
| whiteSpace | 元素内的空白处理方式 | string | normal,nowrap | nowrap| | whiteSpace | 元素内的空白处理方式 | string | normal,nowrap | nowrap|
| forceCenter | 是否无论如何都要居中, 不考虑超出边界的情况, 在未知宽度和高度时有效 | boolean | true,false | false | | forceCenter | 是否无论如何都要居中, 不考虑超出边界的情况, 在未知宽度和高度时有效 | boolean | true,false | false |
| textWidth| 按钮文本宽度 | number| | null | | textWidth| 按钮文本宽度 | number| | null |
| textHeight | 按钮文本高度 | number| | null | | textHeight | 按钮文本高度 | number| | null |
## 对外方法 ## 对外方法
| 名称 | 说明 | 回调参数 | 名称 | 说明 | 回调参数

4
uidoc/base/button/icon_button.md

@ -24,8 +24,8 @@ BI.createWidget({
##### 基础属性 ##### 基础属性
| 参数 | 说明 | 类型 | 可选值 | 默认值 | 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :-----| :----|:---- | :------ |:------------- | :-----| :----|:----
| iconWidth | 图标宽度 | number| | null | | iconWidth | 图标宽度 | number| | null |
| iconHeight | 图标高度 | number| | null | | iconHeight | 图标高度 | number| | null |
## 对外方法 ## 对外方法

6
uidoc/base/button/image_button.md

@ -24,9 +24,9 @@ BI.createWidget({
##### 基础属性 ##### 基础属性
| 参数 | 说明 | 类型 | 可选值 | 默认值 | 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :-----| :----|:---- | :------ |:------------- | :-----| :----|:----
| src |图片路径 |string | |" " | | src |图片路径 |string | |" " |
| iconWidth | 图标宽度 | number/string| | "100%" | | iconWidth | 图标宽度 | number/string| | "100%" |
| iconHeight | 图标高度 | number/string | | "100%"| | iconHeight | 图标高度 | number/string | | "100%"|
## 对外方法 ## 对外方法

12
uidoc/base/button/text_button.md

@ -23,12 +23,12 @@ BI.createWidget({
##### 基础属性 ##### 基础属性
| 参数 | 说明 | 类型 | 可选值 | 默认值 | 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :-----| :----|:---- | :------ |:------------- | :-----| :----|:----
| hgap | 效果相当于文本框左右padding值,如果clear属性为true,该属性值置0 | number | | 10 | | hgap | 效果相当于文本框左右padding值,如果clear属性为true,该属性值置0 | number | | 10 |
| lgap | 效果相当于文本框left-padding值 | number | | 0 | | lgap | 效果相当于文本框left-padding值 | number | | 0 |
| rgap | 效果相当于文本框right-padding值 | number | | 0 | | rgap | 效果相当于文本框right-padding值 | number | | 0 |
| text|按钮文本内容 | string| | | | text|按钮文本内容 | string| | |
| textWidth| 按钮文本宽度 | number| | null | | textWidth| 按钮文本宽度 | number| | null |
| textHeight | 按钮文本高度 | number| | null | | textHeight | 按钮文本高度 | number| | null |
##### 高级属性 ##### 高级属性

4
uidoc/base/canvas.md

@ -29,8 +29,8 @@ canvas.stroke();
| line | 绘制线段| (x0, y0, x1, y1) | | line | 绘制线段| (x0, y0, x1, y1) |
| rect | 绘制矩形 | (x,y,w,h,color)分别表示左上角的横坐标、纵坐标,矩形宽、高、以及绘制的颜色| | rect | 绘制矩形 | (x,y,w,h,color)分别表示左上角的横坐标、纵坐标,矩形宽、高、以及绘制的颜色|
| circle | 绘制圆形 | (x, y, radius, color)分别表示原点的横坐标,纵坐标,半径以及颜色 | | circle | 绘制圆形 | (x, y, radius, color)分别表示原点的横坐标,纵坐标,半径以及颜色 |
| hollow | 填充中空的路径 | | | hollow | 填充中空的路径 | |
| solid | 填充实心的路径 | | | solid | 填充实心的路径 | |
| gradient | 绘制渐变色 | (x0, y0, x1, y1, start, end) | | gradient | 绘制渐变色 | (x0, y0, x1, y1, start, end) |
| reset | 重置画布 | —| | reset | 重置画布 | —|
| stroke | 绘制 | callback | | stroke | 绘制 | callback |

6
uidoc/base/editor/code_editor.md

@ -24,11 +24,11 @@ BI.createWidget({
##### 基础属性 ##### 基础属性
| 参数 | 说明 | 类型 | 可选值 | 默认值 | 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :-----| :----|:---- | :------ |:------------- | :-----| :----|:----
| watermark | 文本框placeholder | string | | " " | | watermark | 文本框placeholder | string | | " " |
| readOnly | 是否只读 | boolean | true,false | false| | readOnly | 是否只读 | boolean | true,false | false|
| lineHeight | 行高 | number|— | 2| | lineHeight | 行高 | number|— | 2|
| value | 文本框值| string| | " "| | value | 文本框值| string| | " "|
| paramFormatter| 参数显示值构造函数 | function| | value | | paramFormatter| 参数显示值构造函数 | function| | value |

22
uidoc/base/editor/editor.md

@ -25,20 +25,20 @@ BI.createWidget({
##### 基础属性 ##### 基础属性
| 参数 | 说明 | 类型 | 可选值 | 默认值 | 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :-----| :----|:---- | :------ |:------------- | :-----| :----|:----
| hgap | 效果相当于文本框左右padding值 | number | | 4 | | hgap | 效果相当于文本框左右padding值 | number | | 4 |
| vgap | 效果相当于文本框上下padding值 | number | | 2 | | vgap | 效果相当于文本框上下padding值 | number | | 2 |
| lgap | 效果相当于文本框left-padding值 | number | | 0 | | lgap | 效果相当于文本框left-padding值 | number | | 0 |
| rgap | 效果相当于文本框right-padding值 | number | | 0 | | rgap | 效果相当于文本框right-padding值 | number | | 0 |
| tgap |效果相当于文本框top-padding值 | number | | 0 | | tgap |效果相当于文本框top-padding值 | number | | 0 |
| bgap | 效果相当于文本框bottom-padding值 | number | | 0 | | bgap | 效果相当于文本框bottom-padding值 | number | | 0 |
| validationChecker | 输入较验函数 |function| | | | validationChecker | 输入较验函数 |function| | |
| quitChecker | 是否允许退出编辑函数 | function | | | | quitChecker | 是否允许退出编辑函数 | function | | |
| mouseOut | | boolean | true,false | false | | mouseOut | | boolean | true,false | false |
| allowBlank | 是否允许空值 | boolean | true,false | false | | allowBlank | 是否允许空值 | boolean | true,false | false |
| watermark | 文本框placeholder | string | | " " | | watermark | 文本框placeholder | string | | " " |
| errorText | 错误提示 | string/function | | " "| | errorText | 错误提示 | string/function | | " "|
| tipType| 提示类型 | string |success,warning | "warning"| | tipType| 提示类型 | string |success,warning | "warning"|
| inputType| 输入框类型| string| | "text"| | inputType| 输入框类型| string| 参考input输入框类型 | "text"|

20
uidoc/base/editor/formula_editor.md

@ -26,11 +26,11 @@ BI.createWidget({
##### 基础属性 ##### 基础属性
| 参数 | 说明 | 类型 | 可选值 | 默认值 | 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :-----| :----|:---- | :------ |:------------- | :-----| :----|:----
| value | 文本域的值 | string | | " "| | value | 文本域的值 | string | | " "|
| watermark | 文本框placeholder| string | | " " | | watermark | 文本框placeholder| string | | " " |
| fieldTextValueMap | | string| | {}| | fieldTextValueMap | | string| | {}|
| showHint | | | | 2 | | showHint | | | | 2 |
| lineHeight | 行高 | number | | 2| | lineHeight | 行高 | number | | 2|
@ -40,12 +40,12 @@ BI.createWidget({
| disableWaterMark | 设置文本框placeholder不可用 | — | | disableWaterMark | 设置文本框placeholder不可用 | — |
| focus | 文本框获取焦点| — | | focus | 文本框获取焦点| — |
| insertField | 添加字段 | field | | insertField | 添加字段 | field |
| insertFunction | | fn | | insertFunction | 插入函数 | fn |
| insertOperator | | op| | insertOperator | 插入操作符| op|
| setFunction | | v| | setFunction | 设置函数 | v|
| insertString | 插入字符串 | str| | insertString | 插入字符串 | str|
| getFormulaString | |— | | getFormulaString | 获取公式 |— |
| getUsedFields | | — | | getUsedFields | 获取可用字段 | — |
| getCheckString | | — | | getCheckString | | — |
| getValue | 获取文本框值|—| | getValue | 获取文本框值|—|
| setValue | 设置文本框值|value| | setValue | 设置文本框值|value|

6
uidoc/base/editor/multifile_editor.md

@ -24,9 +24,9 @@ BI.createWidget({
| 参数 | 说明 | 类型 | 可选值 | 默认值 | 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :-----| :----|:---- | :------ |:------------- | :-----| :----|:----
| multiple | 是否支持多选 | boolean | true,false| false | | multiple | 是否支持多选 | boolean | true,false| false |
| maxSize | 最大可选数量 | number | | -1 | | maxSize | 最大可选数量 | number | | -1 |
| accept | | string | | " "| | accept | | string | | " "|
| url | 文件路径 | string | | " "| | url | 文件路径 | string | | " "|

2
uidoc/base/editor/textarea_editor.md

@ -23,7 +23,7 @@ BI.createWidget({
##### 基础属性 ##### 基础属性
| 参数 | 说明 | 类型 | 可选值 | 默认值 | 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :-----| :----|:---- | :------ |:------------- | :-----| :----|:----
| value | 文本域的值 | string | | " "| | value | 文本域的值 | string | | " "|

30
uidoc/base/label.md

@ -26,15 +26,15 @@ BI.createWidget({
| 参数 | 说明 | 类型 | 可选值 | 默认值 | 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :----- | :----|:---- | :------ |:------------- | :----- | :----|:----
| hgap | 效果相当于容器左右padding值 | number | | 0 | | hgap | 效果相当于容器左右padding值 | number | | 0 |
| vgap | 效果相当于容器上下padding值 | number | | 0 | | vgap | 效果相当于容器上下padding值 | number | | 0 |
| lgap | 效果相当于容器left-padding值 | number | | 0 | | lgap | 效果相当于容器left-padding值 | number | | 0 |
| rgap | 效果相当于容器right-padding值 | number | | 0 | | rgap | 效果相当于容器right-padding值 | number | | 0 |
| tgap | 效果相当于容器top-padding值 | number | | 0 | | tgap | 效果相当于容器top-padding值 | number | | 0 |
| bgap | 效果相当于容器bottom-padding值 | number | | 0 | | bgap | 效果相当于容器bottom-padding值 | number | | 0 |
| textWidth | 文本标签宽度 | number| | null | | textWidth | 文本标签宽度 | number| | null |
| textHeight | 文本标签宽度 | number| | null | | textHeight | 文本标签宽度 | number| | null |
| text | 文本内容 | string | | " " | | text | 文本内容 | string | | " " |
##### 高级属性 ##### 高级属性
@ -44,11 +44,11 @@ BI.createWidget({
| textAlign | 文本对齐方式 | string | left,center,right | center | | textAlign | 文本对齐方式 | string | left,center,right | center |
| whiteSpace | 元素内空白处理方式 | string| normal,nowrap | nowrap| | whiteSpace | 元素内空白处理方式 | string| normal,nowrap | nowrap|
| forceCenter | 是否无论如何都要居中, 不考虑超出边界的情况, 在未知宽度和高度时有效 | boolean | true,false | true | | forceCenter | 是否无论如何都要居中, 不考虑超出边界的情况, 在未知宽度和高度时有效 | boolean | true,false | true |
| py | | string | | 空 | | py | | string | | 空 |
| keyword | | string | | 空 | | keyword | | string | | 空 |
| disabled | 灰化 | boolean| true,false | 无 | | disabled | 灰化 | boolean| true,false | 无 |
| title | 提示title | string | | 空 | | title | 提示title | string | | 空 |
| warningTitle | 错误提示title | string | | 空 | | warningTitle | 错误提示title | string | | 空 |
## 对外方法 ## 对外方法
| 名称 | 说明 | 回调参数 | 名称 | 说明 | 回调参数
@ -64,8 +64,4 @@ BI.createWidget({
| populate| | —| | populate| | —|
--- ---

2
uidoc/base/message.md

@ -3,7 +3,7 @@
#### 消息提示 #### 消息提示
{% method %} {% method %}
[source]() [source](https://jsfiddle.net/fineui/feu8kf4u/)
{% common %} {% common %}
```javascript ```javascript

26
uidoc/base/pager.md

@ -27,23 +27,23 @@ BI.createWidget({
##### 基础属性 ##### 基础属性
| 参数 | 说明 | 类型 | 可选值 | 默认值 | 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :-----| :----|:---- | :------ |:------------- | :-----| :----|:----
| behaviors | | object| | {}| | behaviors | 自定义列表中item项的行为,如高亮,标红等 | object| | {}|
| layouts | 布局| array | | {type:"bi.horizontal",hgap:10,vgap:0} | | layouts | 布局| array | | {type:"bi.horizontal",hgap:10,vgap:0} |
| dynamicShow | 是否动态显示上一页、下一页、首页、尾页, 若为false,则指对其设置使能状态 | boolean| true,false | true| | dynamicShow | 是否动态显示上一页、下一页、首页、尾页, 若为false,则指对其设置使能状态 | boolean| true,false | true|
| dynamicShowFirstLast | 是否动态显示首页、尾页,dynamicShow为false时生效| boolean| true,false | false | | dynamicShowFirstLast | 是否动态显示首页、尾页,dynamicShow为false时生效| boolean| true,false | false |
| dynamicShowPrevNext | 是否动态显示上一页、下一页,dynamicShow为false时生效 | boolean| true,false | false| | dynamicShowPrevNext | 是否动态显示上一页、下一页,dynamicShow为false时生效 | boolean| true,false | false|
| pages | 是否显示总页数 | boolean| true,false|false| | pages | 是否显示总页数 | boolean| true,false|false|
| curr | 初始化当前页 | function | | function(){return 1;}| | curr | 初始化当前页 | function | | function(){return 1;}|
| groups | 连续显示分页数 | number | | 0 | | groups | 连续显示分页数 | number | | 0 |
| jump | 页数跳转| function | | | | jump | 页数跳转| function | | |
| first | 是否显示首页 | boolean | true,false| false| | first | 是否显示首页 | boolean | true,false| false|
| last | 是否显示尾页 | boolean | true,false| false| | last | 是否显示尾页 | boolean | true,false| false|
| prev | 上一页 | string,object | |"上一页" | | prev | 上一页 | string,object | |"上一页" |
| next | 下一页 | sting,object| | "下一页" | | next | 下一页 | sting,object| | "下一页" |
| firstPage | 第一页 | number| | 1 | | firstPage | 第一页 | number| | 1 |
| lastPage | 最后一页,在万不得已时才会调用这个函数获取最后一页的页码, 主要作用于setValue方法 | function | | function(){ return 1;}| | lastPage | 最后一页,在万不得已时才会调用这个函数获取最后一页的页码, 主要作用于setValue方法 | function | | function(){ return 1;}|
| hasPrev | 判断是否有上一页,pages不可用时有效 | function | | — | | hasPrev | 判断是否有上一页,pages不可用时有效 | function | | — |
| hasNext | 判断是否有下一页,pages不可用时有效 | function | | — | | hasNext | 判断是否有下一页,pages不可用时有效 | function | | — |
## 对外方法 ## 对外方法
@ -54,9 +54,9 @@ BI.createWidget({
| hasPrev | 判断是否有上一页 | v | | hasPrev | 判断是否有上一页 | v |
| hasNext | 判断是否有下一页 | v | | hasNext | 判断是否有下一页 | v |
| setValue | 设置当前页码 | v | | setValue | 设置当前页码 | v |
| getValue | 获取当前页码 | | | getValue | 获取当前页码 | |
| attr | 设置属性 | key,value | | attr | 设置属性 | key,value |
| populate | | —| | populate | 刷新或者清空列表| —|
## 事件 ## 事件
| 名称 | 说明 | | 名称 | 说明 |

6
uidoc/base/svg.md

@ -34,15 +34,15 @@ svg.path("M10,10L50,50M50,10L10,50")
| ellipse | 绘制椭圆 |(x,y,rx,ry)分别表示原点的横、纵坐标,以及水平半径和垂直半径| | ellipse | 绘制椭圆 |(x,y,rx,ry)分别表示原点的横、纵坐标,以及水平半径和垂直半径|
| text | 绘制文本 | (x,y,text)分别表示绘制的原点横、纵坐标以及要绘制的文本内容| | text | 绘制文本 | (x,y,text)分别表示绘制的原点横、纵坐标以及要绘制的文本内容|
| print | 根据制定参数打印出路径 | (x, y, string, font, size, origin, letter_spacing, line_spacing) | | print | 根据制定参数打印出路径 | (x, y, string, font, size, origin, letter_spacing, line_spacing) |
| setStart | 开始绘制 | | | setStart | 开始绘制 | |
| setFinish | 结束绘制 | | | setFinish | 结束绘制 | |
| setSize | 设置画布尺寸 | (width,height)分别表示画布宽高| | setSize | 设置画布尺寸 | (width,height)分别表示画布宽高|
| setViewBox | 设置画布可视区域 | (x,y,width,height,fit)分别表示可视区域原点坐标以及可视区域宽高,以及是否根据可视区域进行调整 | | setViewBox | 设置画布可视区域 | (x,y,width,height,fit)分别表示可视区域原点坐标以及可视区域宽高,以及是否根据可视区域进行调整 |
| getById | 根据id返回元素 | id | | getById | 根据id返回元素 | id |
| getElementByPoint | 获根据给定的点坐标返回元素 | (x,y)| | getElementByPoint | 获根据给定的点坐标返回元素 | (x,y)|
| getElementsByPoint | 获根据给定的点坐标返回元素 | (x,y) | | getElementsByPoint | 获根据给定的点坐标返回元素 | (x,y) |
| getFont | 通过给定的参数在已注册的字体中找到字体对象 | (family, weight, style, stretch) | | getFont | 通过给定的参数在已注册的字体中找到字体对象 | (family, weight, style, stretch) |
| set | 绘制形状的集合 | | | set | 绘制形状的集合 | |
| remove | 设置总页数 | pages | | remove | 设置总页数 | pages |
| clear | 判断是否有上一页 | v | | clear | 判断是否有上一页 | v |

45
uidoc/base/table/collection_table.md

@ -3,7 +3,7 @@
### 继承BI.Widget ### 继承BI.Widget
{% method %} {% method %}
[source](https://jsfiddle.net/fineui/0e7p2ezc/) [source](https://jsfiddle.net/fineui/x2zxfzhp/)
{% common %} {% common %}
```javascript ```javascript
@ -39,9 +39,9 @@ BI.createWidget({
## 参数设置 ## 参数设置
| 参数 | 说明 | 类型 | 默认值 | | 参数 | 说明 | 类型 | 默认值 |
| ---------------- | ------------- | -------------------- | ----------------- | | ---------------- | ------------- | -------------------- | ----------------- |
| isNeedFreeze | 是否冻结列 | bool | false | | isNeedFreeze | 是否冻结列 | boolean | false |
| freezeCols | 冻结的列 | array | [] | | freezeCols | 冻结的列 | array | [] |
| isNeedMerge | 是否需要合并单元格 | bool | false | | isNeedMerge | 是否需要合并单元格 | boolean | false |
| mergeCols | 合并的单元格列号 | array | [] | | mergeCols | 合并的单元格列号 | array | [] |
| mergeRule | 合并规则, 默认相等时合并 | function(row1, row2) | 默认row1 = row2 时合并 | | mergeRule | 合并规则, 默认相等时合并 | function(row1, row2) | 默认row1 = row2 时合并 |
| columnSize | 单元格宽度集合 | array | [] | | columnSize | 单元格宽度集合 | array | [] |
@ -51,21 +51,24 @@ BI.createWidget({
| items | 子组件 | array | [] | | items | 子组件 | array | [] |
## 方法 ## 方法
| 方法名 | 说明 | 用法 | | 方法名 | 说明 | 参数 |
| ------------------------- | ----------- | ------------------------------------ | | ------------------------- | ----------- | ---------- |
| setWidth | 设置宽度 | setWidth(width) | | setWidth | 设置宽度 | width |
| setHeight | 设置高度 | setHeight(height) | | setHeight | 设置高度 | height |
| setColumnSize | 设置列宽 | setColumnSize(columnSize) | | setColumnSize | 设置列宽 | columnSize |
| getColumnSize | 得到列宽 | getColumnSize() | | getColumnSize | 得到列宽 | — |
| setRegionColumnSize | 设置列项之间的间隙 | setRegionColumnSize(columnSize) | | setRegionColumnSize | 设置列项之间的间隙 | columnSize |
| getRegionColumnSize | 获得列项之间的间隙 | getRegionColumnSize() | | getRegionColumnSize | 获得列项之间的间隙 | — |
| getScrollRegionColumnSize | 获取横向滚动条宽度 | getScrollRegionColumnSize() | | getScrollRegionColumnSize | 获取横向滚动条宽度 | — |
| setVerticalScroll | 设置纵向滚动距离 | setVerticalScroll(scrollTop) | | setVerticalScroll | 设置纵向滚动距离 | scrollTop |
| setLeftHorizontalScroll | 设置左到右横向滚动距离 | setLeftHorizontalScroll(scrollLeft) | | setLeftHorizontalScroll | 设置左到右横向滚动距离 | scrollLeft |
| setRightHorizontalScroll | 设置右往左横向滚动距离 | setRightHorizontalScroll(scrollLeft) | | setRightHorizontalScroll | 设置右往左横向滚动距离 | scrollLeft |
| getVerticalScroll | 获取纵向滚动距离 | getVerticalScroll() | | getVerticalScroll | 获取纵向滚动距离 | — |
| getLeftHorizontalScroll | 获取左到右横向滚动距离 | getLeftHorizontalScroll() | | getLeftHorizontalScroll | 获取左到右横向滚动距离 | — |
| getRightHorizontalScroll | 获取右往左横向滚动距离 | getRightHorizontalScroll() | | getRightHorizontalScroll | 获取右往左横向滚动距离 | — |
| getColumns | 获取列项 | getColumns() | | getColumns | 获取列项 | — |
| populate | 增加行 | populate(rows) | | populate | 增加行 | rows |
| restore | 存储数据 | restore() | | restore | 存储数据 | — |
------

57
uidoc/base/table/grid_table.md

@ -25,32 +25,35 @@ BI.createWidget({
{% endmethod %} {% endmethod %}
## 参数设置 ## 参数设置
| 参数 | 说明 | 类型 | 默认值 | | 参数 | 说明 | 类型 | 默认值 |
| ---------------- | ------- | ------ | ----- | | ---------------- | ------- | ------- | ----- |
| isNeedFreeze | 是否需要冻结 | bool | false | | isNeedFreeze | 是否需要冻结 | boolean | false |
| freezeCols | 冻结列 | array | [] | | freezeCols | 冻结列 | array | [] |
| columnSize | 单元格宽度集合 | array | [] | | columnSize | 单元格宽度集合 | array | [] |
| headerRowSize | 表头高度 | number | 25 | | headerRowSize | 表头高度 | number | 25 |
| rowSize | 普通单元格高度 | number | 25 | | rowSize | 普通单元格高度 | number | 25 |
| regionColumnSize | 列项间的 | array | [] | | regionColumnSize | 列项间的 | array | [] |
| header | 表头 | array | [] | | header | 表头 | array | [] |
| items | 子组件 | array | [] | | items | 子组件 | array | [] |
## 方法 ## 方法
| 方法名 | 说明 | 用法 | | 方法名 | 说明 | 参数 |
| ------------------------ | ----------- | ------------------------------------ | | ------------------------ | ----------- | ---------- |
| setWidth | 设置宽度 | setWidth(width) | | setWidth | 设置宽度 | width |
| setHeight | 设置高度 | setHeight(height) | | setHeight | 设置高度 | height |
| getRegionSize | 获取间隙大小 | getRegionSize() | | getRegionSize | 获取间隙大小 | — |
| setColumnSize | 设置列宽 | setColumnSize(columnSize) | | setColumnSize | 设置列宽 | columnSize |
| getColumnSize | 得到列宽 | getColumnSize() | | getColumnSize | 得到列宽 | — |
| setRegionColumnSize | 设置列项之间的间隙 | setRegionColumnSize(columnSize) | | setRegionColumnSize | 设置列项之间的间隙 | columnSize |
| getRegionColumnSize | 获得列项之间的间隙 | getRegionColumnSize() | | getRegionColumnSize | 获得列项之间的间隙 | — |
| setVerticalScroll | 设置纵向滚动距离 | setVerticalScroll(scrollTop) | | setVerticalScroll | 设置纵向滚动距离 | scrollTop |
| setLeftHorizontalScroll | 设置左到右横向滚动距离 | setLeftHorizontalScroll(scrollLeft) | | setLeftHorizontalScroll | 设置左到右横向滚动距离 | scrollLeft |
| setRightHorizontalScroll | 设置右往左横向滚动距离 | setRightHorizontalScroll(scrollLeft) | | setRightHorizontalScroll | 设置右往左横向滚动距离 | scrollLeft |
| getVerticalScroll | 获取纵向滚动距离 | getVerticalScroll() | | getVerticalScroll | 获取纵向滚动距离 | — |
| getLeftHorizontalScroll | 获取左到右横向滚动距离 | getLeftHorizontalScroll() | | getLeftHorizontalScroll | 获取左到右横向滚动距离 | — |
| getRightHorizontalScroll | 获取右往左横向滚动距离 | getRightHorizontalScroll() | | getRightHorizontalScroll | 获取右往左横向滚动距离 | — |
| populate | 增加行 | populate(rows) | | populate | 刷新内容 | rows |
| restore | 储存 | restore() | | restore | 储存 | — |
------

69
uidoc/base/table/resizable_table.md

@ -37,38 +37,41 @@ BI.createWidget({
{% endmethod %} {% endmethod %}
## 参数设置 ## 参数设置
| 参数 | 说明 | 类型 | 默认值 | | 参数 | 说明 | 类型 | 默认值 |
| ---------------- | --------- | ------ | ----- | | ---------------- | --------- | ------- | ----- |
| isNeedFreeze | 是否需要冻结列 | bool | false | | isNeedFreeze | 是否需要冻结列 | boolean | false |
| freezeCols | 冻结的列 | array | [] | | freezeCols | 冻结的列 | array | [] |
| isNeedResize | 是否需要调整大小 | bool | false | | isNeedResize | 是否需要调整大小 | boolean | false |
| isResizeAdapt | 是否调整时自适应 | bool | true | | isResizeAdapt | 是否调整时自适应 | boolean | true |
| isNeedMerge | 是否需要合并单元格 | bool | false | | isNeedMerge | 是否需要合并单元格 | boolean | false |
| mergeCols | 合并的单元格列号 | array | [] | | mergeCols | 合并的单元格列号 | array | [] |
| columnSize | 单元格宽度集合 | array | [] | | columnSize | 单元格宽度集合 | array | [] |
| minColumnSize | 最小列宽 | array | [] | | minColumnSize | 最小列宽 | array | [] |
| maxColumnSize | 最大列宽 | array | [] | | maxColumnSize | 最大列宽 | array | [] |
| headerRowSize | 表头高度 | number | 25 | | headerRowSize | 表头高度 | number | 25 |
| rowSize | 普通单元格高度 | number | 25 | | rowSize | 普通单元格高度 | number | 25 |
| header | 表头 | array | [] | | header | 表头 | array | [] |
| regionColumnSize | 列项间的 | array | [] | | regionColumnSize | 列项间的 | array | [] |
| items | 子组件 | array | [] | | items | 子组件 | array | [] |
## 方法 ## 方法
| 方法名 | 说明 | 用法 | | 方法名 | 说明 | 参数 |
| ------------------------ | ----------- | ------------------------------------ | | ------------------------ | ----------- | ------------- |
| setWidth | 设置宽度 | setWidth() | | setWidth | 设置宽度 | — |
| setHeight | 设置高度 | setHeight() | | setHeight | 设置高度 | — |
| setColumnSize | 设置列宽 | setColumnSize(columnSize) | | setColumnSize | 设置列宽 | columnSize |
| getColumnSize | 得到列宽 | getColumnSize() | | getColumnSize | 得到列宽 | — |
| setRegionColumnSize | 设置列项之间的间隙 | setRegionColumnSize(columnSize) | | setRegionColumnSize | 设置列项之间的间隙 | columnSize |
| getRegionColumnSize | 获得列项之间的间隙 | getRegionColumnSize() | | getRegionColumnSize | 获得列项之间的间隙 | — |
| setVerticalScroll | 设置纵向滚动距离 | setVerticalScroll(scrollTop) | | setVerticalScroll | 设置纵向滚动距离 | scrollTop |
| setLeftHorizontalScroll | 设置左到右横向滚动距离 | setLeftHorizontalScroll(scrollLeft) | | setLeftHorizontalScroll | 设置左到右横向滚动距离 | scrollLeft |
| setRightHorizontalScroll | 设置右往左横向滚动距离 | setRightHorizontalScroll(scrollLeft) | | setRightHorizontalScroll | 设置右往左横向滚动距离 | scrollLeft |
| getVerticalScroll | 获取纵向滚动距离 | getVerticalScroll() | | getVerticalScroll | 获取纵向滚动距离 | — |
| getLeftHorizontalScroll | 获取左到右横向滚动距离 | getLeftHorizontalScroll() | | getLeftHorizontalScroll | 获取左到右横向滚动距离 | — |
| getRightHorizontalScroll | 获取右往左横向滚动距离 | getRightHorizontalScroll() | | getRightHorizontalScroll | 获取右往左横向滚动距离 | — |
| attr | 设置属性 | attr(key, value) | | attr | 设置属性 | key:键,value:值 |
| populate | 增加行 | populate(rows) | | populate | 刷新内容 | rows |
| restore | 保存表 | restore() | | restore | 保存表 | — |
------

64
uidoc/base/table/table_view.md

@ -1,6 +1,6 @@
# bi.table_view # bi.table_view
### 表格展示控件 ### 能处理静态宽度以及动态宽度的
{% method %} {% method %}
[source](https://jsfiddle.net/fineui/mbazb80a/) [source](https://jsfiddle.net/fineui/mbazb80a/)
@ -25,8 +25,7 @@ BI.createWidget({
## 参数设置 ## 参数设置
| 参数 | 说明 | 类型 | 默认值 | | 参数 | 说明 | 类型 | 默认值 |
| ---------------- | ------------- | -------------------- | ----------------- | | ---------------- | ------------- | -------------------- | ----------------- |
| isNeedResize | 是否需要调整大小 | bool | false | | isNeedMerge | 是否需要合并单元格 | boolean | false |
| isNeedMerge | 是否需要合并单元格 | bool | false |
| mergeCols | 合并的单元格列号 | array | [] | | mergeCols | 合并的单元格列号 | array | [] |
| mergeRule | 合并规则, 默认相等时合并 | function(row1, row2) | 默认row1 = row2 时合并 | | mergeRule | 合并规则, 默认相等时合并 | function(row1, row2) | 默认row1 = row2 时合并 |
| columnSize | 单元格宽度集合 | array | [] | | columnSize | 单元格宽度集合 | array | [] |
@ -39,35 +38,36 @@ BI.createWidget({
| items | 子组件 | array | [] | | items | 子组件 | array | [] |
## 方法 ## 方法
| 方法名 | 说明 | 用法 | | 方法名 | 说明 | 参数 |
| ---------------------------- | ---------------- | ------------------------------------ | | ---------------------------- | ---------------- | ---------- |
| resize | 调整表格 | resize() | | resize | 调整表格 | |
| setColumnSize | 设置列宽 | setColumnSize(columnSize) | | setColumnSize | 设置列宽 | columnSize |
| getColumnSize | 得到列宽 | getColumnSize() | | getColumnSize | 得到列宽 | |
| getCalculateColumnSize | 获得计算后的列宽 | getCalculateColumnSize() | | getCalculateColumnSize | 获得计算后的列宽 | |
| setHeaderColumnSize | 设置表头的列宽 | setHeaderColumnSize(columnSize) | | setHeaderColumnSize | 设置表头的列宽 | columnSize |
| setRegionColumnSize | 设置列项之间的间隙 | setRegionColumnSize(columnSize) | | setRegionColumnSize | 设置列项之间的间隙 | columnSize |
| getRegionColumnSize | 获得列项之间的间隙 | getRegionColumnSize() | | getRegionColumnSize | 获得列项之间的间隙 | |
| getCalculateRegionColumnSize | 获取计算后的列项之间的间隙 | getCalculateRegionColumnSize() | | getCalculateRegionColumnSize | 获取计算后的列项之间的间隙 | |
| getCalculateRegionRowSize | 获取计算后的列项上下之间的间隙 | getCalculateRegionRowSize() | | getCalculateRegionRowSize | 获取计算后的列项上下之间的间隙 | |
| getClientRegionColumnSize | 获取浏览器中显示的列项之间的间隙 | getClientRegionColumnSize() | | getClientRegionColumnSize | 获取浏览器中显示的列项之间的间隙 | |
| getScrollRegionColumnSize | 获取横向滚动条宽度 | getScrollRegionColumnSize() | | getScrollRegionColumnSize | 获取横向滚动条宽度 | |
| getScrollRegionRowSize | 获取纵向滚动条宽度 | getScrollRegionRowSize() | | getScrollRegionRowSize | 获取纵向滚动条宽度 | |
| hasVerticalScroll | 是否含有数值滚动条 | hasVerticalScroll() | | hasVerticalScroll | 是否含有数值滚动条 | |
| setVerticalScroll | 设置纵向滚动距离 | setVerticalScroll(scrollTop) | | setVerticalScroll | 设置纵向滚动距离 | scrollTop |
| setLeftHorizontalScroll | 设置左到右横向滚动距离 | setLeftHorizontalScroll(scrollLeft) | | setLeftHorizontalScroll | 设置左到右横向滚动距离 | scrollLeft |
| setRightHorizontalScroll | 设置右往左横向滚动距离 | setRightHorizontalScroll(scrollLeft) | | setRightHorizontalScroll | 设置右往左横向滚动距离 | scrollLeft |
| getVerticalScroll | 获取纵向滚动距离 | getVerticalScroll() | | getVerticalScroll | 获取纵向滚动距离 | |
| getLeftHorizontalScroll | 获取左到右横向滚动距离 | getLeftHorizontalScroll() | | getLeftHorizontalScroll | 获取左到右横向滚动距离 | |
| getRightHorizontalScroll | 获取右往左横向滚动距离 | getRightHorizontalScroll() | | getRightHorizontalScroll | 获取右往左横向滚动距离 | |
| getColumns | 获取列项 | getColumns() | | getColumns | 获取列项 | |
| populate | 增加行 | populate(rows) | | populate | 刷新内容 | rows |
## 事件 ## 事件
| 事件 | 说明 | | 事件 | 说明 |
| :------ |:------------- | | :------------------------------ | :------------------ |
|BI.Table.EVENT_TABLE_AFTER_INIT | table初始化完成后触发 | | BI.Table.EVENT_TABLE_AFTER_INIT | table初始化完成后触发 |
|BI.Table.EVENT_TABLE_RESIZE | table大小调整时触发(窗口变化等) | | BI.Table.EVENT_TABLE_RESIZE | table大小调整时触发(窗口变化等) |
|BI.Table.EVENT_TABLE_SCROLL | 滚动事件 | | BI.Table.EVENT_TABLE_SCROLL | 滚动事件 |
---
---

6
uidoc/base/toast.md

@ -3,7 +3,7 @@
#### toast提示 #### toast提示
{% method %} {% method %}
[source]() [source](https://jsfiddle.net/fineui/wop751sg/)
{% common %} {% common %}
```javascript ```javascript
@ -28,8 +28,8 @@ BI.createWidget({
| 参数 | 说明 | 类型 | 可选值 | 默认值 | 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :----- | :---- |:---- | :------ |:------------- | :----- | :---- |:----
| level | 提示类型 | string | success,warning | "success" | | level | 提示类型 | string | success,warning | "success" |
| height | 高度 | number | | 30 | | height | 高度 | number | | 30 |
| text | 显示内容 | string | | " " | | text | 显示内容 | string | | " " |

53
uidoc/case/button/multi_select_item.md

@ -1,2 +1,53 @@
# multi_select_item # bi.multi_select_item
## 复选框item,基类[BI.BasicButton](/core/basic_button.md)
{% method %}
[source](https://jsfiddle.net/fineui/0z1fud88/)
{% common %}
```javascript
BI.createWidget({
type: 'bi.vertical',
element: "#wrapper",
items: [{
type: "bi.label",
height: 30,
text: "复选item"
}, {
type: "bi.multi_select_item",
text: "复选项"
}]
});
```
{% endmethod %}
## API
##### 基础属性
| 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :-----| :----|:----
| height | 高度 | number | — | 30
| logic | | object | | {dynamic:false} |
## 对外方法
| 名称 | 说明 | 回调参数
| :------ |:------------- | :-----
| setSelected| 设置选中值| v |
| doRedMark | 标红 |—|
| unRedMark | 取消标红 | — |
| doClick | 点击事件| —
---

54
uidoc/case/button/single_select_item.md

@ -1,2 +1,54 @@
# single_select_item # bi.single_select_item
## 复选框item,基类[BI.BasicButton](/core/basic_button.md)
{% method %}
[source](https://jsfiddle.net/fineui/19qqcej4/)
{% common %}
```javascript
BI.createWidget({
type: 'bi.vertical',
element: "#wrapper",
items: [{
type: "bi.label",
height: 30,
text: "复选item"
}, {
type: "bi.single_select_item",
text: "复选项"
}]
});
```
{% endmethod %}
## API
##### 基础属性
| 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :-----| :----|:----
| height | 高度 | number | — | 25
| hgap | 效果相当于文本框左右padding值 |number | —| 10 |
|textAlign |文本对齐方式 |string |left,center,right |"left"
## 对外方法
| 名称 | 说明 | 回调参数
| :------ |:------------- | :-----
| setSelected| 设置选中值| v |
| doRedMark | 标红 |—|
| unRedMark | 取消标红 | — |
| doClick | 点击事件| —
---

55
uidoc/case/button/single_select_radio_item.md

@ -1,2 +1,55 @@
# single_select_radio_item # bi.single_select_radio_item
## 单选框item,基类[BI.BasicButton](/core/basic_button.md)
{% method %}
[source](https://jsfiddle.net/fineui/d3vw4438/)
{% common %}
```javascript
BI.createWidget({
type: 'bi.vertical',
element: "#wrapper",
items: [{
type: "bi.label",
height: 30,
text: "单选item"
}, {
type: "bi.single_select_radio_item",
text: "单选项"
}]
});
```
{% endmethod %}
## API
##### 基础属性
| 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :-----| :----|:----
| height | 高度 | number | — | 25
| hgap | 效果相当于文本框左右padding值 |number | —| 10 |
|textAlign |文本对齐方式 |string |left,center,right |"left"
## 对外方法
| 名称 | 说明 | 回调参数
| :------ |:------------- | :-----
| setSelected| 设置选中值| v |
| doRedMark | 标红 |—|
| unRedMark | 取消标红 | — |
| doClick | 点击事件| —
---

1
uidoc/case/calendar.md

@ -44,3 +44,4 @@ BI.createWidget({
| setValue | 设置日期 | object: {year, month, day} | | setValue | 设置日期 | object: {year, month, day} |
| getVlaue | 获得日期 | — | | getVlaue | 获得日期 | — |
------

1
uidoc/case/clipboard.md

@ -30,3 +30,4 @@ BI.createWidget({
| copy | 获取需要拷贝的值 | function | BI.emptyFn | | copy | 获取需要拷贝的值 | function | BI.emptyFn |
| afterCopy | 完成拷贝后执行的方法 | function | BI.emptyFn | | afterCopy | 完成拷贝后执行的方法 | function | BI.emptyFn |
------

1
uidoc/case/color_chooser.md

@ -29,3 +29,4 @@ BI.createWidget({
| setValue | 设置颜色值 | color | | setValue | 设置颜色值 | color |
| getValue | 获取颜色值 | — | | getValue | 获取颜色值 | — |
------

86
uidoc/case/combo/bubble_combo.md

@ -1,2 +1,86 @@
# bubble_combo # bi.bubble_combo
## 表示一个可以展开的节点, 不仅有选中状态而且有展开状态, 基类[BI.Widget](/core/widget.md)
{% method %}
[source](https://jsfiddle.net/fineui/urvt04so/)
{% common %}
```javascript
BI.createWidget({
type: "bi.bubble_combo",
element:"#wrapper",
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
}
})
```
{% endmethod %}
## API
##### 基础属性
| 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :-----| :----|:----
| text | 组件text值 | string | —| "" |
| value | 组件value值 | string |— |""|
| stopEvent | 阻止事件 |boolean | true,false | false |
| stopPropagation | 阻止冒泡 | boolean | true,false| false |
| selected | button的选中状态 | boolean | true,false |false |
| once | 点击一次选中有效,再点无效 | boolean | true,false | false|
| forceSelected | 点击即选中, 选中了就不会被取消,与once的区别是forceSelected不影响事件的触发| boolean | true,false| false|
| forceNotSelected | 无论怎么点击都不会被选中 | boolean| true,false | false|
| disableSelected | 使能选中| boolean | true,false| false|
| shadow | 是否显示阴影 | boolean| true,false| false|
| isShadowShowingOnSelected| 选中状态下是否显示阴影|boolean| true,false | false|
| trigger | 被选元素要触发的事件 | string | mousedown, mouseup, click, dblclick, lclick | null|
| handler | 点击事件回调 | function | —| BI.emptyFn |
## 对外方法
| 名称 | 说明 | 回调参数
| :------ |:------------- | :-----
| bindEvent | 绑定事件| —|
| beforeClick | 点击事件之前 | —|
| doClick | 点击事件 | — |
| handle | 返回该对象 | —|
| hover | hover事件| —|
| dishover | 取消hover事件| —|
|setSelected | 设置选中的文本| b|
| isSelected | 是否被选中| —|
| isOnce | 是否只允许点击一次| —|
| isForceSelected| 判断是否点击即选中| —|
| isForceNotSelected| 判断是否怎么点击都不会被选中|—|
| isDisableSelected| 判断是否让选中|—|
| setText| 设置文本值|—|
| getText| 获取文本值|—|
| empty| 清空组件|—|
| destroy| 销毁组件|—|
---

38
uidoc/case/combo/formula_combo.md

@ -1,2 +1,38 @@
# formula_combo # bi.formula_combo_trigger
## 基类[BI.Widget](/core/widget.md)
{% method %}
[source]()
{% common %}
```javascript
```
{% endmethod %}
## API
##### 基础属性
| 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :-----| :----|:----
| height | 高度 | number | —| 30
| items | 子组件 | array | — |[ ]|
## 对外方法
| 名称 | 说明 | 回调参数
| :------ |:------------- | :-----
| setValue| 设置value值|—|
| getValue| 获取value值|—|
---

68
uidoc/case/combo/icon_combo.md

@ -1,2 +1,68 @@
# icon_combo # bi.icon_combo
## 基类[BI.Widget](/core/widget.md)
{% method %}
[source](https://jsfiddle.net/fineui/z02vzvtb/)
{% common %}
```javascript
BI.createWidget({
type: "bi.icon_combo",
element: "#wrapper",
iconClass: "rename-font",
items: [{
value: "第一项",
iconClass: "delete-font"
}, {
value: "第二项",
iconClass: "rename-font"
}, {
value: "第三项",
iconClass: "move-font"
}]
});
```
{% endmethod %}
## API
##### 基础属性
| 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :-----| :----|:----
| width | 宽度 | number | — | 24
| height | 高度 | number | — | 24
| iconClass | icon的类名 | string | —|" "|
| el | 自定义下拉框trigger| object | —|{ } |
| popup | 弹出层| object | —| { }
| minWidth| 最小宽度| number | —|100|
| maxWidth | 最大宽度 | string/number | — | "auto"|
| maxHeight | 最大高度 | number | —| 300
| adjustLength | 弹出列表和trigger的距离 | number | — | 0 |
| adjustXOffset | 调整横向偏移 | number | — | 0 |
| adjustYOffset |调整纵向偏移 | number | — | 0 |
| offsetStyle | 弹出层显示位置 | string | left,right,center | "left,right,center"|
| chooseType | 选择类型 | const | 参考button_group | BI.ButtonGroup.CHOOSE_TYPE_SINGLE |
## 对外方法
| 名称 | 说明 | 回调参数
| :------ |:------------- | :-----
| setValue| 设置value值|—|
| getValue| 获取value值|—|
| showView | 显示弹出层 | —|
| hideView | 隐藏弹出层 |—|
| populate | 刷新列表 | items |
---

58
uidoc/case/combo/static_combo.md

@ -1,2 +1,58 @@
# static_combo # bi.static_combo
## 单选combo,基类[BI.Widget](/core/widget.md)
{% method %}
[source](https://jsfiddle.net/fineui/kn64gfzn/)
{% common %}
```javascript
BI.createWidget({
type: "bi.static_combo",
element: "#wrapper",
text: "Value 不变",
items: [{
text: "1",
value: 1
}, {
text: "2",
value: 2
}, {
text: "3",
value: 3
}]
});
```
{% endmethod %}
## API
##### 基础属性
| 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :-----| :----|:----
| height | 高度 | number | — | 24
| el | 自定义下拉框trigger| object | —|{ } |
| items | 子组件 | array | — | [ ]
| text | 文本内容 | string | — | " " |
| chooseType | 选择类型 | const |参考button_group | BI.ButtonGroup.CHOOSE_TYPE_SINGLE |
## 对外方法
| 名称 | 说明 | 回调参数
| :------ |:------------- | :-----
| setValue| 设置value值|—|
| getValue| 获取value值|—|
| populate | 刷新列表 | items |
---

65
uidoc/case/combo/text_value_downlist_combo.md

@ -1,2 +1,65 @@
# text_value_downlist_combo # bi.text_value_down_list_combo
## 基类[BI.Widget](/core/widget.md)
{% method %}
[source](https://jsfiddle.net/fineui/xtxmfgx1/)
{% common %}
```javascript
BI.createWidget({
type: "bi.text_value_down_list_combo",
element: "#wrapper",
text: "text",
items: [
[{
el: {
text: "1",
value: 1
},
children: [{
text: "11",
value: 11
}]
}],
[{
text: "2",
value: 2
}, {
text: "3",
value: 3
}]
]
});
```
{% endmethod %}
## API
##### 基础属性
| 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :-----| :----|:----
| height | 高度 | number | — | 30
| text | 文本内容 | string | — | " " |
## 对外方法
| 名称 | 说明 | 回调参数
| :------ |:------------- | :-----
| setValue| 设置value值|—|
| getValue| 获取value值|—|
| populate | 刷新列表 | items |
---

96
uidoc/case/editor/shelter_editor.md

@ -1,2 +1,96 @@
# shelter_editor # bi.shelter_editor
## 带标记的文本框,基类[BI.Widget](/core/widget.md)
{% method %}
[source](https://jsfiddle.net/fineui/9Lbx6kga/)
{% common %}
```javascript
BI.createWidget({
element: "#wrapper",
type: "bi.shelter_editor",
cls: "bi-border",
ref:function(_ref){
editor=_ref;
},
width: 300,
watermark: "这个是带标记的"
});
```
{% endmethod %}
## API
##### 基础属性
| 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :-----| :----|:----
| hgap | 效果相当于文本框左右padding值 | number | — | 4 |
| vgap | 效果相当于文本框上下padding值 | number | — | 2 |
| lgap | 效果相当于文本框left-padding值 | number | — | 0 |
| rgap | 效果相当于文本框right-padding值 | number | — | 0 |
| tgap |效果相当于文本框top-padding值 | number | — | 0 |
| bgap | 效果相当于文本框bottom-padding值 | number | — | 0 |
| validationChecker | 输入较验函数 |function| — | — |
| quitChecker | 是否允许退出编辑函数 | function | — | — |
| allowBlank | 是否允许空值 | boolean | true,false | true |
| watermark | 文本框placeholder | string | — | " " |
| errorText | 错误提示 | string/function | —| " "|
| height| 高度| number |— | 30|
| textAlign| 对齐方式 | string |left,center,right |"left"|
## 对外方法
| 名称 | 说明 | 回调参数
| :------ |:------------- | :-----
| setErrorText | 设置错误文本 | text |
| getErrorText | 获取错误文本 | —|
| focus | 文本框获取焦点| — |
| blur | 文本框失焦|—|
| onKeyDown |按键事件|key|
| setValue | 设置文本框值|value|
| getLastValidValue | 获取文本框最后一次输入的有效值| —|
| setTextStyle| 设置文本框样式| style |
| getValue | 获取文本框值|—|
| isEditing | 文本框是否处于编辑状态|—|
| isValid | 文本框值是否有效|—|
| doRedMark | 文本标红 | — |
| unRedMark | 取消文本标红| —|
| doHighLight | 文本高亮 | —|
| unHighLight | 取消文本高亮 | —|
| setTitle| 设置title | title|
| setWarningTitle| 设置错误title | title |
| setState | 设置文本框值 |—
| getState | 获取文本框值 | —
## 事件
| 事件 | 说明 |
| :------ |:------------- |
|BI.Editor.EVENT_CHANGE | editor的value发生改变触发 |
|BI.Editor.EVENT_FOCUS | focus事件 |
|BI.Editor.EVENT_BLUR | blur事件 |
|BI.Editor.EVENT_CLICK | 点击编辑框触发(不在编辑状态时) |
|BI.Editor.EVENT_KEY_DOWN | keyDown时触发 |
|BI.Editor.EVENT_SPACE | 按下空格触发 |
|BI.Editor.EVENT_BACKSPACE | 按下Backspace触发 |
|BI.Editor.EVENT_START | 开始输入触发 |
|BI.Editor.EVENT_PAUSE | 暂停输入触发(输入空白字符) |
|BI.Editor.EVENT_STOP | 停止输入触发 |
|BI.Editor.EVENT_CONFIRM | 确定输入触发(blur时且输入值有效) |
|BI.Editor.EVENT_VALID | 输入值有效的状态事件 |
|BI.Editor.EVENT_ERROR | 输入值无效的状态事件 |
|BI.Editor.EVENT_ENTER | 回车事件 |
|BI.Editor.EVENT_RESTRICT | 回车但是值不合法 |
|BI.Editor.EVENT_REMOVE | 输入为空时按下backspace |
|BI.Editor.EVENT_EMPTY | 输入框为空时触发 |
---

91
uidoc/case/editor/sign_editor.md

@ -1,2 +1,91 @@
# sign_editor # bi.sign_editor
## 带标记的文本框,基类[BI.Widget](/core/widget.md)
{% method %}
[source](https://jsfiddle.net/fineui/tmdedu5t/)
{% common %}
```javascript
BI.createWidget({
element: "#wrapper",
type: "bi.sign_editor",
cls:"layout-bg5",
value: "123",
text: "456",
width: 300
});
```
{% endmethod %}
## API
##### 基础属性
| 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :-----| :----|:----
| hgap | 效果相当于文本框左右padding值 | number | — | 4 |
| vgap | 效果相当于文本框上下padding值 | number | —| 2 |
| lgap | 效果相当于文本框left-padding值 | number | — | 0 |
| rgap | 效果相当于文本框right-padding值 | number | — | 0 |
| tgap |效果相当于文本框top-padding值 | number | — | 0 |
| bgap | 效果相当于文本框bottom-padding值 | number | — | 0 |
| validationChecker | 输入较验函数 |function| — | — |
| quitChecker | 是否允许退出编辑函数 | function | — | — |
| allowBlank | 是否允许空值 | boolean | true,false | true |
| watermark | 文本框placeholder | string | — | " " |
| errorText | 错误提示 | string/function | —| " "|
| height| 高度| number |— | 30|
## 对外方法
| 名称 | 说明 | 回调参数
| :------ |:------------- | :-----
| setErrorText | 设置错误文本 | text |
| getErrorText | 获取错误文本 | —|
| focus | 文本框获取焦点| — |
| blur | 文本框失焦|—|
| setValue | 设置文本框值|value|
| getLastValidValue | 获取文本框最后一次输入的有效值| —|
| getValue | 获取文本框值|—|
| isEditing | 文本框是否处于编辑状态|—|
| isValid | 文本框值是否有效|—|
| doRedMark | 文本标红 | — |
| unRedMark | 取消文本标红| —|
| doHighLight | 文本高亮 | —|
| unHighLight | 取消文本高亮 | —|
| setTitle| 设置title | title|
| setWarningTitle| 设置错误title | title |
| setState | 设置文本框值 |—
| getState | 获取文本框值 | —
## 事件
| 事件 | 说明 |
| :------ |:------------- |
|BI.Editor.EVENT_CHANGE | editor的value发生改变触发 |
|BI.Editor.EVENT_FOCUS | focus事件 |
|BI.Editor.EVENT_BLUR | blur事件 |
|BI.Editor.EVENT_CLICK | 点击编辑框触发(不在编辑状态时) |
|BI.Editor.EVENT_KEY_DOWN | keyDown时触发 |
|BI.Editor.EVENT_SPACE | 按下空格触发 |
|BI.Editor.EVENT_BACKSPACE | 按下Backspace触发 |
|BI.Editor.EVENT_START | 开始输入触发 |
|BI.Editor.EVENT_PAUSE | 暂停输入触发(输入空白字符) |
|BI.Editor.EVENT_STOP | 停止输入触发 |
|BI.Editor.EVENT_CONFIRM | 确定输入触发(blur时且输入值有效) |
|BI.Editor.EVENT_VALID | 输入值有效的状态事件 |
|BI.Editor.EVENT_ERROR | 输入值无效的状态事件 |
|BI.Editor.EVENT_ENTER | 回车事件 |
|BI.Editor.EVENT_RESTRICT | 回车但是值不合法 |
|BI.Editor.EVENT_REMOVE | 输入为空时按下backspace |
|BI.Editor.EVENT_EMPTY | 输入框为空时触发 |
---

92
uidoc/case/editor/sign_initial_editor.md

@ -1,2 +1,92 @@
# sign_initial_editor # bi.sign_initial_editor
## 基类[BI.Widget](/core/widget.md)
{% method %}
[source](https://jsfiddle.net/fineui/9vjghevp/)
{% common %}
```javascript
BI.createWidget({
element: "#wrapper",
type: "bi.sign_initial_editor",
cls: "layout-bg5",
text: "原始值",
width: 300
});
```
{% endmethod %}
## API
##### 基础属性
| 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :-----| :----|:----
| hgap | 效果相当于文本框左右padding值 | number | — | 4 |
| vgap | 效果相当于文本框上下padding值 | number | — | 2 |
| lgap | 效果相当于文本框left-padding值 | number | — | 0 |
| rgap | 效果相当于文本框right-padding值 | number | — | 0 |
| tgap |效果相当于文本框top-padding值 | number | —| 0 |
| bgap | 效果相当于文本框bottom-padding值 | number | | 0 |
| validationChecker | 输入较验函数 |function| — | — |
| quitChecker | 是否允许退出编辑函数 | function | — | — |
| allowBlank | 是否允许空值 | boolean | true,false | true |
| watermark | 文本框placeholder | string | — | " " |
| errorText | 错误提示 | string/function | —| " "|
| height| 高度| number |— | 30|
| text | 文本内容 | string | —| " " |
| value | 文本value值 | string | — | " " |
## 对外方法
| 名称 | 说明 | 回调参数
| :------ |:------------- | :-----
| setErrorText | 设置错误文本 | text |
| getErrorText | 获取错误文本 | —|
| focus | 文本框获取焦点| — |
| blur | 文本框失焦|—|
| setValue | 设置文本框值|value|
| getLastValidValue | 获取文本框最后一次输入的有效值| —|
| getValue | 获取文本框值|—|
| isEditing | 文本框是否处于编辑状态|—|
| isValid | 文本框值是否有效|—|
| doRedMark | 文本标红 | — |
| unRedMark | 取消文本标红| —|
| doHighLight | 文本高亮 | —|
| unHighLight | 取消文本高亮 | —|
| setTitle| 设置title | title|
| setWarningTitle| 设置错误title | title |
| setState | 设置文本框值 |—
| getState | 获取文本框值 | —
## 事件
| 事件 | 说明 |
| :------ |:------------- |
|BI.Editor.EVENT_CHANGE | editor的value发生改变触发 |
|BI.Editor.EVENT_FOCUS | focus事件 |
|BI.Editor.EVENT_BLUR | blur事件 |
|BI.Editor.EVENT_CLICK | 点击编辑框触发(不在编辑状态时) |
|BI.Editor.EVENT_KEY_DOWN | keyDown时触发 |
|BI.Editor.EVENT_SPACE | 按下空格触发 |
|BI.Editor.EVENT_BACKSPACE | 按下Backspace触发 |
|BI.Editor.EVENT_START | 开始输入触发 |
|BI.Editor.EVENT_PAUSE | 暂停输入触发(输入空白字符) |
|BI.Editor.EVENT_STOP | 停止输入触发 |
|BI.Editor.EVENT_CONFIRM | 确定输入触发(blur时且输入值有效) |
|BI.Editor.EVENT_VALID | 输入值有效的状态事件 |
|BI.Editor.EVENT_ERROR | 输入值无效的状态事件 |
|BI.Editor.EVENT_ENTER | 回车事件 |
|BI.Editor.EVENT_RESTRICT | 回车但是值不合法 |
|BI.Editor.EVENT_REMOVE | 输入为空时按下backspace |
|BI.Editor.EVENT_EMPTY | 输入框为空时触发 |
---

89
uidoc/case/editor/state_editor.md

@ -1,2 +1,89 @@
# state_editor # bi.state_editor
## 记录状态的输入框,基类[BI.Widget](/core/widget.md)
{% method %}
[source](https://jsfiddle.net/fineui/p68bwkmv/)
{% common %}
```javascript
BI.createWidget({
element: "#wrapper",
type: "bi.state_editor",
value: "123",
text: "456",
width: 300
});
```
{% endmethod %}
## API
##### 基础属性
| 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :-----| :----|:----
| hgap | 效果相当于文本框左右padding值 | number | — | 4 |
| vgap | 效果相当于文本框上下padding值 | number | — | 2 |
| lgap | 效果相当于文本框left-padding值 | number | — | 0 |
| rgap | 效果相当于文本框right-padding值 | number | — | 0 |
| tgap |效果相当于文本框top-padding值 | number | —| 0 |
| bgap | 效果相当于文本框bottom-padding值 | number | — | 0 |
| validationChecker | 输入较验函数 |function| — | — |
| quitChecker | 是否允许退出编辑函数 | function |— | — |
| allowBlank | 是否允许空值 | boolean | true,false | true |
| watermark | 文本框placeholder | string | —| " " |
| errorText | 错误提示 | string/function |— | " "|
| height| 高度| number |— | 30|
## 对外方法
| 名称 | 说明 | 回调参数
| :------ |:------------- | :-----
| setErrorText | 设置错误文本 | text |
| getErrorText | 获取错误文本 | —|
| focus | 文本框获取焦点| — |
| blur | 文本框失焦|—|
| setValue | 设置文本框值|value|
| getLastValidValue | 获取文本框最后一次输入的有效值| —|
| getValue | 获取文本框值|—|
| isEditing | 文本框是否处于编辑状态|—|
| isValid | 文本框值是否有效|—|
| doRedMark | 文本标红 | — |
| unRedMark | 取消文本标红| —|
| doHighLight | 文本高亮 | —|
| unHighLight | 取消文本高亮 | —|
| setState | 设置文本框值 |—
| getState | 获取文本框值 | —
## 事件
| 事件 | 说明 |
| :------ |:------------- |
|BI.Editor.EVENT_CHANGE | editor的value发生改变触发 |
|BI.Editor.EVENT_FOCUS | focus事件 |
|BI.Editor.EVENT_BLUR | blur事件 |
|BI.Editor.EVENT_CLICK | 点击编辑框触发(不在编辑状态时) |
|BI.Editor.EVENT_KEY_DOWN | keyDown时触发 |
|BI.Editor.EVENT_SPACE | 按下空格触发 |
|BI.Editor.EVENT_BACKSPACE | 按下Backspace触发 |
|BI.Editor.EVENT_START | 开始输入触发 |
|BI.Editor.EVENT_PAUSE | 暂停输入触发(输入空白字符) |
|BI.Editor.EVENT_STOP | 停止输入触发 |
|BI.Editor.EVENT_CONFIRM | 确定输入触发(blur时且输入值有效) |
|BI.Editor.EVENT_VALID | 输入值有效的状态事件 |
|BI.Editor.EVENT_ERROR | 输入值无效的状态事件 |
|BI.Editor.EVENT_ENTER | 回车事件 |
|BI.Editor.EVENT_RESTRICT | 回车但是值不合法 |
|BI.Editor.EVENT_REMOVE | 输入为空时按下backspace |
|BI.Editor.EVENT_EMPTY | 输入框为空时触发 |
---

69
uidoc/case/layer/layer_panel.md

@ -1,2 +1,69 @@
# layer_panel # bi.popup_panel
## 可以理解为MultiPopupView和Panel两个面板的结合体,基类[BI.MultiPopupView](case/layer/multi_popup_layer.md)
{% method %}
[source](https://jsfiddle.net/fineui/zhnqvera/)
{% common %}
```javascript
BI.createWidget({
element: "#wrapper",
type: "bi.popup_panel",
title: "测试",
width: 300
});
```
{% endmethod %}
## API
##### 基础属性
| 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :-----| :----|:----
| title | 标题 | string | — | " "
## 对外方法
| 名称 | 说明 | 回调参数
| :------ |:------------- | :-----
| prependItems | 内部前插入 | items |
| addItems | 内部后插入 | items |
| removeItemAt | 移除指定索引处的item | indexs |
| populate | 刷新列表 | items |
| setNotSelectedValue| 设置未被选中的值 | value,可以是单个值也可以是个数组|
| setValue | 设置value值 | value,可以是单个值也可以是个数组 |
| getNotSelectedValue | 获取没有被选中的值 | —|
| getValue | 获取被选中的值 |—|
| getAllButtons | 获取所有button |—|
| getAllLeaves | 获取所有的叶子节点 | —|
| getSelectedButtons | 获取所有被选中的元素 | —|
| getNotSelectedButtons | 获取所有未被选中的元素 | —|
| getIndexByValue | 根据value值获取value在数组中的索引 | value|
| getNodeById | 根据id获取节点 | id |
| getNodeByValue | 根据value值获取节点 | value |
| empty| 清空组件|—|
| hasPrev| 是否有上一页|—|
| hasNext | 是否有下一页 | —
## 事件
| 事件 | 说明 |
| :------ |:------------- |
|BI.PopupPanel.EVENT_CHANGE | panel的value发生改变触发 |
| BI.PopupPanel.EVENT_CLOSE | panel的关闭事件
| BI.PopupPanel.EVENT_CLICK_TOOLBAR_BUTTON | 点击工具栏事件
---

34
uidoc/case/layer/multi_popup_layer.md

@ -1,2 +1,34 @@
# multi_popup_layer # bi.multi_popup_view
## 下拉框弹出层的多选版本,toolbar带有若干按钮, zIndex在1000w,基类[BI.MultiPopupView](case/layer/multi_popup_layer.md)
{% method %}
[source](https://jsfiddle.net/fineui/8of9a7cy/)
{% common %}
```javascript
BI.createWidget({
element: "#wrapper",
type: "bi.multi_popup_view",
width: 300
});
```
{% endmethod %}
## API
##### 基础属性
| 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :-----| :----|:----
| buttons | 按钮组 |array | — | BI.i18nText("BI-Basic_Sure")
---

74
uidoc/case/layer/pane_list.md

@ -1,2 +1,74 @@
# pane_list # bi.list_pane
## list面板,基类[BI.Widget](/core/widget.md)
{% method %}
[source](https://jsfiddle.net/fineui/7Lv8q9p9/)
{% common %}
```javascript
BI.createWidget({
type: 'bi.list_pane',
element: "#wrapper",
cls: "bi-border",
items: []
});
```
{% endmethod %}
## API
##### 基础属性
| 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :-----| :----|:----
| items | 列表 | array | — | [ ]
| itemsCreator | 列表创建器| function | — | —
| hasNext | 是否有下一页 | function | —| —
| onLoad | 正在加载 | function | —| —
| el | 开启panel的元素 | object | —|{type: "bi.button_group" }|
| logic | | object |— | { dynamic:true}
| hgap | 效果相当于容器左右padding值 | number | — | 0 |
| vgap | 效果相当于容器上下padding值 | number | —| 0 |
| lgap | 效果相当于容器left-padding值 | number | —| 0 |
| rgap | 效果相当于容器right-padding值 | number | — | 0 |
| tgap | 效果相当于容器top-padding值 | number | — | 0 |
| bgap | 效果相当于容器bottom-padding值 | number | — | 0 |
## 对外方法
| 名称 | 说明 | 回调参数
| :------ |:------------- | :-----
| prependItems | 内部前插入 | items |
| addItems | 内部后插入 | items |
| removeItemAt | 移除指定索引处的item | indexs |
| populate | 刷新列表 | items |
| setNotSelectedValue| 设置未被选中的值 | value,可以是单个值也可以是个数组|
| setValue | 设置value值 | value,可以是单个值也可以是个数组 |
| getNotSelectedValue | 获取没有被选中的值 | —|
| getValue | 获取被选中的值 |—|
| getAllButtons | 获取所有button |—|
| getAllLeaves | 获取所有的叶子节点 | —|
| getSelectedButtons | 获取所有被选中的元素 | —|
| getNotSelectedButtons | 获取所有未被选中的元素 | —|
| getIndexByValue | 根据value值获取value在数组中的索引 | value|
| getNodeById | 根据id获取节点 | id |
| getNodeByValue | 根据value值获取节点 | value |
| empty| 清空组件|—|
| hasPrev| 是否有上一页|—|
| hasNext | 是否有下一页 | —
---

54
uidoc/case/layer/panel.md

@ -1,2 +1,54 @@
# panel # bi.panel
## 带有标题栏的panel,基类[BI.Widget](/core/widget.md)
{% method %}
[source](https://jsfiddle.net/fineui/3m1q3857/)
{% common %}
```javascript
BI.createWidget({
element: "#wrapper",
type: "bi.panel",
title: "标题",
titleButtons: [{
type: "bi.button",
text: "+"
}],
el: this.button_group,
logic: {
dynamic: true
}
});
```
{% endmethod %}
## API
##### 基础属性
| 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :-----| :----|:----
| title | 标题 | string | — | " "
| titleButton | | array | —| [ ]
| el | 开启panel的元素 | object | —|{ }|
| logic | | object |— | { dynamic:false}
## 对外方法
| 名称 | 说明 | 回调参数
| :------ |:------------- | :-----
| setTitle |设置标题| title
---

59
uidoc/case/list/list.select.md

@ -1,2 +1,59 @@
# select_list # bi.select_list
### 选择列表
{% method %}
[source](https://jsfiddle.net/fineui/c3azpxss/)
{% common %}
```javascript
BI.createWidget({
type: "bi.select_list",
items: [{
text: '1',
}, {
text: '2',
}]
});
```
{% endmethod %}
### 参数
| 参数 | 说明 | 类型 | 默认值 |
| ------------ | --------------- | -------- | ---------------- |
| direction | toolbar位置 | string | BI.Direction.Top |
| onLoaded | 加载完成的回调(测试了无效果) | function | BI.emptyFn |
| items | 子项 | array | [] |
| itemsCreator | 元素创造器 | function | BI.emptyFn |
### 方法
| 方法名 | 说明 | 参数 |
| --------------------- | ------------- | ------- |
| setAllSelected | 设置全选 | v: boolean |
| setToolBarVisible | 设置toolbar是否可见 | b: boolean |
| isAllSelected | 是否全选中 | — |
| hasPrev | 是否有上一页 | — |
| hasNext | 是否有下一页 | — |
| prependItems | 列表最前添加元素 | items |
| addItems | 列表最后添加元素 | items |
| setValue | 设置值 | data |
| getVlaue | 获得值 | — |
| empty | 清空 | — |
| populate | 替换内容 | items |
| resetHeight | 重新设置高度 | h |
| setNotSelectedValue | 设置未选中值 | — |
| getNotSelectedValue | 获取未选中植 | — |
| getAllButtons | 获得所以根节点 | — |
| getAllLeaves | 获得所有叶节点 | — |
| getSelectedButtons | 获取选中的根节点 | — |
| getNotSelectedButtons | 获取未选中的根节点 | — |
| getIndexByValue | 根据值获取索引 | value |
| getNodeById | 根据id获取node | id |
| getNodeByValue | 根据值获取node | value |
------

43
uidoc/case/loader/lazy_loader.md

@ -1,2 +1,43 @@
# lazy_loader # bi.lazy_loader
### 懒加载
{% method %}
[source](https://jsfiddle.net/fineui/n710yphc/)
{% common %}
```javascript
BI.createWidget({
type: "bi.lazy_loader",
width: 100,
element: 'body',
items: items,
});
```
{% endmethod %}
### 方法
| 方法名 | 说明 | 参数 |
| --------------------- | ---------- | ----- |
| addItems | 列表最后添加元素 | items |
| setValue | 设置值 | data |
| getVlaue | 获得值 | — |
| empty | 清空 | — |
| populate | 替换内容 | items |
| setNotSelectedValue | 设置未选中值 | — |
| getNotSelectedValue | 获取未选中植 | — |
| getAllButtons | 获得所以根节点 | — |
| getAllLeaves | 获得所有叶节点 | — |
| getSelectedButtons | 获取选中的根节点 | — |
| getNotSelectedButtons | 获取未选中的根节点 | — |
| getIndexByValue | 根据值获取索引 | value |
| getNodeById | 根据id获取node | id |
| getNodeByValue | 根据值获取node | value |
------

54
uidoc/case/loader/list_loader.md

@ -1,2 +1,54 @@
# list_loader # bi.list_loader
### 恶心的加载控件, 为解决排序问题引入的控件
{% method %}
[source](https://jsfiddle.net/fineui/8wa7rvcd/)
{% common %}
```javascript
BI.createWidget({
type: "bi.list_loader",
width: 100,
element: 'body',
items: items,
});
```
{% endmethod %}
### 参数
| 参数 | 说明 | 类型 | 默认值 |
| ------------ | ------ | -------- | ---------- |
| count | 分页计数 | number | false |
| next | | object | {} |
| hasNext | 是否有下一页 | function | BI.emptyFn |
| items | 子项 | array | [] |
| itemsCreator | 元素创造器 | function | BI.emptyFn |
| onLoaded | 加载完成回调 | function | BI.emptyFn |
### 方法
| 方法名 | 说明 | 参数 |
| --------------------- | ---------- | ----- |
| hasNext | 是否有下一页 | — |
| addItems | 列表最后添加元素 | items |
| setValue | 设置值 | data |
| getVlaue | 获得值 | — |
| empty | 清空 | — |
| populate | 替换内容 | items |
| resetHeight | 重新设置高度 | h |
| setNotSelectedValue | 设置未选中值 | — |
| getNotSelectedValue | 获取未选中植 | — |
| getAllButtons | 获得所以根节点 | — |
| getAllLeaves | 获得所有叶节点 | — |
| getSelectedButtons | 获取选中的根节点 | — |
| getNotSelectedButtons | 获取未选中的根节点 | — |
| getIndexByValue | 根据值获取索引 | value |
| getNodeById | 根据id获取node | id |
| getNodeByValue | 根据值获取node | value |
------

54
uidoc/case/loader/sort_list.md

@ -1,2 +1,54 @@
# sort_list # bi.sort_list
### 排序列表
{% method %}
[source](https://jsfiddle.net/fineui/wj68tdvx/)
{% common %}
```javascript
BI.createWidget({
type: "bi.sort_list",
width: 100,
element: 'body',
items: items,
});
```
{% endmethod %}
### 参数
| 参数 | 说明 | 类型 | 默认值 |
| ------------ | ------ | -------- | ---------- |
| count | 分页计数 | number | false |
| next | | object | {} |
| hasNext | 是否有下一页 | function | BI.emptyFn |
| items | 子项 | array | [] |
| itemsCreator | 元素创造器 | function | BI.emptyFn |
| onLoaded | 加载完成回调 | function | BI.emptyFn |
### 方法
| 方法名 | 说明 | 参数 |
| --------------------- | ---------- | ----- |
| hasNext | 是否有下一页 | — |
| addItems | 列表最后添加元素 | items |
| setValue | 设置值 | data |
| getVlaue | 获得值 | — |
| empty | 清空 | — |
| populate | 替换内容 | items |
| resetHeight | 重新设置高度 | h |
| setNotSelectedValue | 设置未选中值 | — |
| getNotSelectedValue | 获取未选中植 | — |
| getAllButtons | 获得所以根节点 | — |
| getAllLeaves | 获得所有叶节点 | — |
| getSelectedButtons | 获取选中的根节点 | — |
| getNotSelectedButtons | 获取未选中的根节点 | — |
| getIndexByValue | 根据值获取索引 | value |
| getNodeById | 根据id获取node | id |
| getNodeByValue | 根据值获取node | value |
------

1
uidoc/case/pager/all_count_pager.md

@ -45,3 +45,4 @@ BI.createWidget({
| setPagerVisible | 设置页码是否可见 | true/false | | setPagerVisible | 设置页码是否可见 | true/false |
| populate | 清空内容 | — | | populate | 清空内容 | — |
------

3
uidoc/case/pager/direction_pager.md

@ -36,7 +36,7 @@ var pager = BI.createWidget({
| ---------- | --------- | ---------------------- | --------------- | ---------- | | ---------- | --------- | ---------------------- | --------------- | ---------- |
| height | | 控件高度 | number | 30 | | height | | 控件高度 | number | 30 |
| horizontal | | 横向翻页设置 | object | — | | horizontal | | 横向翻页设置 | object | — |
| | pages | 总页数 | number/bool | false | | | pages | 总页数 | number/boolean | false |
| | curr | 当前页, pages为数字时可用 | number | 1 | | | curr | 当前页, pages为数字时可用 | number | 1 |
| | hasPrev | 判断是否有前一页的方法 | function | BI.emptyFn | | | hasPrev | 判断是否有前一页的方法 | function | BI.emptyFn |
| | hasNext | 判断是否有后一页的方法 | function | BI.emptyFn | | | hasNext | 判断是否有后一页的方法 | function | BI.emptyFn |
@ -62,3 +62,4 @@ var pager = BI.createWidget({
| setVPagerVisible | 设置纵向分页键可见 | — | | setVPagerVisible | 设置纵向分页键可见 | — |
| populate | 清空内容 | — | | populate | 清空内容 | — |
------

9
uidoc/case/table/adaptive_table.md

@ -27,10 +27,10 @@ BI.createWidget({
## 参数设置 ## 参数设置
| 参数 | 说明 | 类型 | 默认值 | | 参数 | 说明 | 类型 | 默认值 |
| ---------------- | ------------- | -------------------- | ----------------- | | ---------------- | ------------- | -------------------- | ----------------- |
| isNeedResize | 是否可改变列大小 | bool | true | | isNeedResize | 是否可改变列大小 | boolean | true |
| isNeedFreeze | 是否需要冻结表头 | bool | false | | isNeedFreeze | 是否需要冻结表头 | boolean | false |
| freezeCols | 冻结的列 | array | [] | | freezeCols | 冻结的列 | array | [] |
| isNeedMerge | 是否需要合并单元格 | bool | false | | isNeedMerge | 是否需要合并单元格 | boolean | false |
| mergeCols | 合并的单元格列号 | array | [] | | mergeCols | 合并的单元格列号 | array | [] |
| mergeRule | 合并规则, 默认相等时合并 | function(row1, row2) | 默认row1 = row2 时合并 | | mergeRule | 合并规则, 默认相等时合并 | function(row1, row2) | 默认row1 = row2 时合并 |
| columnSize | 单元格宽度集合 | array | [] | | columnSize | 单元格宽度集合 | array | [] |
@ -47,7 +47,7 @@ BI.createWidget({
## 方法 ## 方法
| 方法名 | 说明 | 回调参数 | | 方法名 | 说明 | 参数 |
| ------------------------ | ----------- | ------------------ | | ------------------------ | ----------- | ------------------ |
| setWidth | 设置宽度 | width: 宽度 | | setWidth | 设置宽度 | width: 宽度 |
| setHeight | 设置高度 | height: 高度 | | setHeight | 设置高度 | height: 高度 |
@ -66,3 +66,4 @@ BI.createWidget({
| populate | 增加项 | items: array | | populate | 增加项 | items: array |
| destroy | 摧毁表 | — | | destroy | 摧毁表 | — |
------

26
uidoc/case/table/layer_tree_table.md

@ -7,7 +7,18 @@
{% common %} {% common %}
```javascript ```javascript
// More coming... var table = BI.createWidget({
type: "bi.layer_tree_table",
width: 600,
height: 400,
columnSize: [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
minColumnSize: [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
header: header,
items: items,
crossHeader: crossHeader,
crossItems: crossItems,
element: 'body',
});
``` ```
{% endmethod %} {% endmethod %}
@ -15,11 +26,11 @@
## 参数设置 ## 参数设置
| 参数 | 说明 | 类型 | 默认值 | | 参数 | 说明 | 类型 | 默认值 |
| ----------------------- | ------------------------ | -------------------- | ----------------- | | ----------------------- | ------------------------ | -------------------- | ----------------- |
| isNeedResize | 是否需要调整列宽 | bool | false | | isNeedResize | 是否需要调整列宽 | boolean | false |
| isResizeAdapt | 是否需要在调整列宽或区域宽度的时候它们自适应变化 | bool | true | | isResizeAdapt | 是否需要在调整列宽或区域宽度的时候它们自适应变化 | boolean | true |
| isNeedFreeze | 是否需要冻结表头 | bool | false | | isNeedFreeze | 是否需要冻结表头 | boolean | false |
| freezeCols | 冻结的列 | array | [] | | freezeCols | 冻结的列 | array | [] |
| isNeedMerge | 是否需要合并单元格 | bool | false | | isNeedMerge | 是否需要合并单元格 | boolean | false |
| mergeCols | 合并的单元格列号 | array | [] | | mergeCols | 合并的单元格列号 | array | [] |
| mergeRule | 合并规则, 默认相等时合并 | function(row1, row2) | 默认row1 = row2 时合并 | | mergeRule | 合并规则, 默认相等时合并 | function(row1, row2) | 默认row1 = row2 时合并 |
| columnSize | 单元格宽度集合 | array | [] | | columnSize | 单元格宽度集合 | array | [] |
@ -39,7 +50,7 @@
## 方法 ## 方法
| 方法名 | 说明 | 回调参数 | | 方法名 | 说明 | 参数 |
| ------------------------ | ----------- | ------------------ | | ------------------------ | ----------- | ------------------ |
| setWidth | 设置宽度 | width: 宽度 | | setWidth | 设置宽度 | width: 宽度 |
| setHeight | 设置高度 | height: 高度 | | setHeight | 设置高度 | height: 高度 |
@ -58,5 +69,4 @@
| populate | 增加项 | items: array | | populate | 增加项 | items: array |
| destroy | 摧毁表 | — | | destroy | 摧毁表 | — |
------

29
uidoc/case/table/tree_table.md

@ -3,11 +3,22 @@
### 树状结构的表格 ### 树状结构的表格
{% method %} {% method %}
[source](https://jsfiddle.net/fineui/pqyuLoay/) [source](https://jsfiddle.net/fineui/a0m21ozk/)
{% common %} {% common %}
```javascript ```javascript
// More coming... var table = BI.createWidget({
type: "bi.tree_table",
width: 600,
height: 400,
columnSize: [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
minColumnSize: [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
header: header,
items: items,
crossHeader: crossHeader,
crossItems: crossItems,
element: 'body',
});
``` ```
{% endmethod %} {% endmethod %}
@ -15,11 +26,11 @@
## 参数设置 ## 参数设置
| 参数 | 说明 | 类型 | 默认值 | | 参数 | 说明 | 类型 | 默认值 |
| ----------------------- | ------------------------ | -------------------- | ----------------- | | ----------------------- | ------------------------ | -------------------- | ----------------- |
| isNeedResize | 是否需要调整列宽 | bool | false | | isNeedResize | 是否需要调整列宽 | boolean | false |
| isResizeAdapt | 是否需要在调整列宽或区域宽度的时候它们自适应变化 | bool | true | | isResizeAdapt | 是否需要在调整列宽或区域宽度的时候它们自适应变化 | boolean | true |
| isNeedFreeze | 是否需要冻结表头 | bool | false | | isNeedFreeze | 是否需要冻结表头 | boolean | false |
| freezeCols | 冻结的列 | array | [] | | freezeCols | 冻结的列 | array | [] |
| isNeedMerge | 是否需要合并单元格 | bool | false | | isNeedMerge | 是否需要合并单元格 | boolean | false |
| mergeCols | 合并的单元格列号 | array | [] | | mergeCols | 合并的单元格列号 | array | [] |
| mergeRule | 合并规则, 默认相等时合并 | function(row1, row2) | 默认row1 = row2 时合并 | | mergeRule | 合并规则, 默认相等时合并 | function(row1, row2) | 默认row1 = row2 时合并 |
| columnSize | 单元格宽度集合 | array | [] | | columnSize | 单元格宽度集合 | array | [] |
@ -39,7 +50,7 @@
## 方法 ## 方法
| 方法名 | 说明 | 回调参数 | | 方法名 | 说明 | 参数 |
| ------------------------ | ----------- | ------------------ | | ------------------------ | ----------- | ------------------ |
| setWidth | 设置宽度 | width: 宽度 | | setWidth | 设置宽度 | width: 宽度 |
| setHeight | 设置高度 | height: 高度 | | setHeight | 设置高度 | height: 高度 |
@ -58,7 +69,5 @@
| populate | 增加项 | items: array | | populate | 增加项 | items: array |
| destroy | 摧毁表 | — | | destroy | 摧毁表 | — |
------
# tree_table

5
uidoc/case/tree/branch_relation.md

@ -34,7 +34,8 @@ var tree = BI.createWidget({
### 方法 ### 方法
| 方法名 | 说明 | 回调参数 | | 方法名 | 说明 | 参数 |
| -------- | ---- | ----------- | | -------- | ---- | ----------- |
| populate | 刷新内容 | items: 子项数组 | | populate | 去掉所有内容 | items: 子项数组 |
------

5
uidoc/case/tree/branch_tree.md

@ -29,15 +29,16 @@ BI.createWidget({
| 参数 | 说明 | 类型 | 默认值 | | 参数 | 说明 | 类型 | 默认值 |
| -------- | -------------------- | ------ | ---- | | -------- | -------------------- | ------ | ---- |
| expander | branch_expander组件配置项 | object | {} | | expander | branch_expander组件配置项 | object | {} |
| el | | object | {} | | el | 基础元素 | object | {} |
| items | 子项 | array | [] | | items | 子项 | array | [] |
### 方法 ### 方法
| 方法名 | 说明 | 回调参数 | | 方法名 | 说明 | 参数 |
| -------- | ------ | ---- | | -------- | ------ | ---- |
| populate | 去掉所有内容 | — | | populate | 去掉所有内容 | — |
| getValue | 获取所选项值 | — | | getValue | 获取所选项值 | — |
------

13
uidoc/case/tree/display_tree.md

@ -22,21 +22,12 @@ tree.initTree({
{% endmethod %} {% endmethod %}
### 参数设置
| 参数 | 说明 | 类型 | 默认值 |
| -------- | -------------------- | ------ | ---- |
| — | — | — | — |
### 方法 ### 方法
| 方法名 | 说明 | 回调参数 | | 方法名 | 说明 | 参数 |
| -------- | ------ | ---- | | -------- | ------ | ---- |
| initTree | 加载tree结构 | node: 节点数组 settings: 配置项 | | initTree | 加载tree结构 | node: 节点数组 settings: 配置项 |
| destroy | 摧毁元素 | — | | destroy | 摧毁元素 | — |
------

8
uidoc/case/tree/handstand_branch_tree.md

@ -1,4 +1,4 @@
# bi.branch_tree # bi.handstand_branch_tree
### 纵向分支的树 ### 纵向分支的树
{% method %} {% method %}
@ -30,17 +30,17 @@ BI.createWidget({
| 参数 | 说明 | 类型 | 默认值 | | 参数 | 说明 | 类型 | 默认值 |
| -------- | -------------------- | ------ | ---- | | -------- | -------------------- | ------ | ---- |
| expander | branch_expander组件配置项 | object | {} | | expander | branch_expander组件配置项 | object | {} |
| el | | object | {} | | el | 基础元素 | object | {} |
| items | 子项 | array | [] | | items | 子项 | array | [] |
### 方法 ### 方法
| 方法名 | 说明 | 回调参数 | | 方法名 | 说明 | 参数 |
| -------- | ------ | ---- | | -------- | ------ | ---- |
| populate | 去掉所有内容 | — | | populate | 去掉所有内容 | — |
| getValue | 获取所选项值 | — | | getValue | 获取所选项值 | — |
------

5
uidoc/case/tree/level_tree.md

@ -29,14 +29,15 @@ var tree = BI.createWidget({
### 方法 ### 方法
| 方法名 | 说明 | 回调参数 | | 方法名 | 说明 | 参数 |
| -------------- | -------- | ----------- | | -------------- | -------- | ----------- |
| initTree | 构造树结构 | nodes | | initTree | 构造树结构 | nodes |
| stroke | 生成树方法 | nodes | | stroke | 生成树方法 | nodes |
| populate | 刷新内容 | items: 子项数组 | | populate | 去掉所有内容 | items: 子项数组 |
| setValue | 设置值 | v | | setValue | 设置值 | v |
| getValue | 获得值 | — | | getValue | 获得值 | — |
| getAllLeaves | 获取所有叶节点 | — | | getAllLeaves | 获取所有叶节点 | — |
| getNodeById | 根据Id获取节点 | id | | getNodeById | 根据Id获取节点 | id |
| getNodeByValue | 根据值获取节点 | id | | getNodeByValue | 根据值获取节点 | id |
------

5
uidoc/case/tree/simple_tree.md

@ -30,10 +30,11 @@ tree.populate(items);
### 方法 ### 方法
| 方法名 | 说明 | 回调参数 | | 方法名 | 说明 | 参数 |
| -------- | ---- | ------------------------------ | | -------- | ---- | ------------------------------ |
| populate | 刷新内容 | items: 子项数组 keywords: 关键字标红字符串 | | populate | 去掉所有内容 | items: 子项数组 keywords: 关键字标红字符串 |
| setValue | 设置值 | v | | setValue | 设置值 | v |
| getValue | 获得值 | — | | getValue | 获得值 | — |
| empty | 清空树 | — | | empty | 清空树 | — |
------

44
uidoc/case/trigger/editor_trigger.md

@ -1,2 +1,44 @@
# editor_trigger # bi.editor_trigger
### 文本输入框trigger
{% method %}
[source](https://jsfiddle.net/fineui/8ttm4g1u/)
{% common %}
```javascript
BI.createWidget({
type: "bi.editor_trigger",
element: "body",
});
```
{% endmethod %}
### 参数
| 参数 | 说明 | 类型 | 默认值 |
| ----------------- | ------- | -------- | ---------- |
| validationChecker | 验证函数 | function | BI.emptyFn |
| quitChecker | 退出时验证函数 | function | BI.emptyFn |
| allowBlank | 是否允许为空 | boolean | false |
| watermark | 水印 | string | "" |
| errorText | 错误信息 | string | "" |
| triggerWidth | 触发器宽度 | number | 30 |
### 方法
| 方法名 | 说明 | 参数 |
| -------- | ---- | ----- |
| setValue | 设置值 | value |
| getVlaue | 获得值 | — |
| setText | | text |
------

21
uidoc/case/trigger/icon_trigger.md

@ -1,2 +1,21 @@
# icon_trigger # bi.icon_trigger
### 图标按钮trigger
{% method %}
[source](https://jsfiddle.net/fineui/qs44h1xy/)
{% common %}
```javascript
BI.createWidget({
type: "bi.icon_trigger",
element: "body",
});
```
{% endmethod %}
------

28
uidoc/case/trigger/text_trigger.md

@ -1,2 +1,28 @@
# text_trigger # bi.text_trigger
### 文本输入框trigger
{% method %}
[source](https://jsfiddle.net/fineui/6pz5pjp6/)
{% common %}
```javascript
BI.createWidget({
type: "bi.editor_trigger",
element: "body",
});
```
{% endmethod %}
### 方法
| 方法名 | 说明 | 参数 |
| -------- | ---- | ----- |
| setValue | 设置值 | value |
| getVlaue | 获得值 | — |
------

11
uidoc/core/abstract/button_group.md

@ -30,17 +30,18 @@ BI.createWidget({
## API ## API
##### 基础属性 ##### 基础属性
###### chooseType可选值为 CHOOSE_TYPE_SINGLE,CHOOSE_TYPE_MULTI,CHOOSE_TYPE_ALL,CHOOSE_TYPE_NONE,CHOOSE_TYPE_DEFAULT
| 参数 | 说明 | 类型 | 可选值 | 默认值 | 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :-----| :----|:---- | :------ |:------------- | :-----| :----|:----
| behaviors | |object | |{ }| | behaviors | 自定义列表中item项的行为,如高亮,标红等 |object | |{ }|
| items | 子组件数组 | array | | [ ] | | items | 子组件数组 | array | | [ ] |
| chooseType | 选择类型 | const |CHOOSE_TYPE_SINGLE,CHOOSE_TYPE_MULTI,CHOOSE_TYPE_ALL,CHOOSE_TYPE_NONE,CHOOSE_TYPE_DEFAULT | CHOOSE_TYPE_SINGLE | | chooseType | 选择类型 | const | 见上| BI.ButtonGroup.CHOOSE_TYPE_SINGLE |
| layouts | 布局 | array | | [{type: "bi.center",hgap: 0,vgap: 0}] | | layouts | 布局 | array | | [{type: "bi.center",hgap: 0,vgap: 0}] |
## 对外方法 ## 对外方法
| 名称 | 说明 | 回调参数 | 名称 | 说明 | 回调参数
| :------ |:------------- | :----- | :------ |:------------- | :-----
| doBehavior | | —| | doBehavior | 自定义列表中item项的行为,如高亮,标红等 | — |
| prependItems | 内部前插入 | items | | prependItems | 内部前插入 | items |
| addItems | 内部后插入 | items | | addItems | 内部后插入 | items |
| removeItemAt | 移除指定索引处的item | indexs | | removeItemAt | 移除指定索引处的item | indexs |

12
uidoc/core/abstract/collection_view.md

@ -34,14 +34,14 @@ BI.createWidget({
##### 基础属性 ##### 基础属性
| 参数 | 说明 | 类型 | 可选值 | 默认值 | 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :-----| :----|:---- | :------ |:------------- | :-----| :----|:----
| items | 子组件数组 | array | | [ ] | | items | 子组件数组 | array | | [ ] |
| overflowX | 是否显示横向滚动条| boolean | true,false | true | | overflowX | 是否显示横向滚动条| boolean | true,false | true |
| overflowY | 是否显示纵向滚动条 | boolean | true,false | true | | overflowY | 是否显示纵向滚动条 | boolean | true,false | true |
| cellSizeAndPositionGetter |设置每个单元格的位置坐标和宽高 | function| | — | | cellSizeAndPositionGetter |设置每个单元格的位置坐标和宽高 | function| | — |
| horizontalOverscanSize | | number | | 0 | | horizontalOverscanSize | | number | | 0 |
| verticalOverscanSize | | number | | 0 | | verticalOverscanSize | | number | | 0 |
| width | 行宽,必设 |number| | — | | width | 行宽,必设 |number| —ßß | — |
| height | 列宽,必设 | number | | — | | height | 列宽,必设 | number | | — |
| scrollLeft | 滚动条相对于左边的偏移 | number | — | 0 | | scrollLeft | 滚动条相对于左边的偏移 | number | — | 0 |
| scrollTop | 滚动条相对于顶部的偏移 | number | — | 0 | | scrollTop | 滚动条相对于顶部的偏移 | number | — | 0 |

8
uidoc/core/abstract/custom_tree.md

@ -53,9 +53,9 @@ BI.createWidget({
##### 基础属性 ##### 基础属性
| 参数 | 说明 | 类型 | 可选值 | 默认值 | 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :-----| :----|:---- | :------ |:------------- | :-----| :----|:----
| items | 子组件数组 | array | | [ ] | | items | 子组件数组 | array | | [ ] |
| itemsCreator| | | | | | itemsCreator| 子组件构造器 | object | | { } |
| expander | | object | | {el: {},popup: {type: "bi.custom_tree"}}| | expander | | object | | {el: {},popup: {type: "bi.custom_tree"}}|
| el | | object | | {type: "bi.button_tree",chooseType: 0,layouts: [{type: "bi.vertical"}]}| | el | | object | | {type: "bi.button_tree",chooseType: 0,layouts: [{type: "bi.vertical"}]}|
@ -68,7 +68,7 @@ BI.createWidget({
| prependItems | 内部前插入 | items | | prependItems | 内部前插入 | items |
| addItems | 内部后插入 | items | | addItems | 内部后插入 | items |
| populate | 刷新列表 | nodes| | populate | 刷新列表 | nodes|
| render | 渲染列表 | | | render | 渲染列表 | |
| setValue | 设置value值 | value,可以是单个值也可以是个数组 | | setValue | 设置value值 | value,可以是单个值也可以是个数组 |
| getValue | 获取被选中的值 |—| | getValue | 获取被选中的值 |—|
| getAllButtons | 获取所有button |—| | getAllButtons | 获取所有button |—|

19
uidoc/core/abstract/grid_view.md

@ -34,17 +34,17 @@ BI.createWidget({
##### 基础属性 ##### 基础属性
| 参数 | 说明 | 类型 | 可选值 | 默认值 | 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :-----| :----|:---- | :------ |:------------- | :-----| :----|:----
| items | 子组件数组 | array | | [ ] | | items | 子组件数组 | array | | [ ] |
| overflowX | 是否显示横向滚动条| boolean | true,false | true | | overflowX | 是否显示横向滚动条| boolean | true,false | true |
| overflowY | 是否显示纵向滚动条 | boolean | true,false | true | | overflowY | 是否显示纵向滚动条 | boolean | true,false | true |
| overscanColumnCount| | number| | 0 | | overscanColumnCount| | number| | 0 |
| overscanRowCount| | number | | 0 | | overscanRowCount| | number | | 0 |
| width | 行宽,必设 |number| | — | | width | 行宽,必设 |number| | — |
| height | 列宽,必设 | number | | — | | height | 列宽,必设 | number | | — |
| rowHeightGetter| 每格行宽 |number,function | | function | | rowHeightGetter| 每格行宽 |number,function | | function |
| columnWidthGetter| 每格列宽 | number,function | | function | | columnWidthGetter| 每格列宽 | number,function | | function |
| estimatedColumnSize| 每格行宽,columnWidthGetter为function时必设 |number,function | | function | | estimatedColumnSize| 每格行宽,columnWidthGetter为function时必设 |number,function | | function |
| estimatedRowSize | 每格列宽,rowHeightGetter为function时必设 | number,function | | function | | estimatedRowSize | 每格列宽,rowHeightGetter为function时必设 | number,function | | function |
| scrollLeft | 滚动条相对于左边的偏移 | number | — | 0 | | scrollLeft | 滚动条相对于左边的偏移 | number | — | 0 |
| scrollTop | 滚动条相对于顶部的偏移 | number | —|0 | | scrollTop | 滚动条相对于顶部的偏移 | number | —|0 |
@ -72,6 +72,7 @@ BI.createWidget({
| :------ |:------------- |:----------| | :------ |:------------- |:----------|
|BI.CollectionView.EVENT_SCROLL| 滚动时触发的事件 | {scrollLeft: scrollLeft, scrollTop: scrollTop} | |BI.CollectionView.EVENT_SCROLL| 滚动时触发的事件 | {scrollLeft: scrollLeft, scrollTop: scrollTop} |
--- ---

6
uidoc/core/abstract/virtual_group.md

@ -29,8 +29,8 @@ BI.createWidget({
##### 基础属性 ##### 基础属性
| 参数 | 说明 | 类型 | 可选值 | 默认值 | 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :-----| :----|:---- | :------ |:------------- | :-----| :----|:----
| items | 子组件数组 | array | | [ ] | | items | 子组件数组 | array | | [ ] |
| layouts | 布局 | array | | [{type: "bi.center",hgap: 0,vgap: 0}] | | layouts | 布局 | array | | [{type: "bi.center",hgap: 0,vgap: 0}] |
@ -42,7 +42,7 @@ BI.createWidget({
| prependItems | 内部前插入 | items | | prependItems | 内部前插入 | items |
| addItems | 内部后插入 | items | | addItems | 内部后插入 | items |
| populate | 刷新列表 | items | | populate | 刷新列表 | items |
| render | 渲染列表 | | | render | 渲染列表 | |

6
uidoc/core/abstract/virtual_list.md

@ -30,9 +30,9 @@ BI.createWidget({
##### 基础属性 ##### 基础属性
| 参数 | 说明 | 类型 | 可选值 | 默认值 | 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :-----| :----|:---- | :------ |:------------- | :-----| :----|:----
| items | 子组件数组 | array | | [ ] | | items | 子组件数组 | array | | [ ] |
| blockSize | | number | | 10 | | blockSize | | number | | 10 |
| overscanHeight | | number | | 100 | | overscanHeight | | number | | 100 |
| scrollTop | 滚动条相对于顶部的偏移 | number | — | 0 | | scrollTop | 滚动条相对于顶部的偏移 | number | — | 0 |

4
uidoc/core/basic_button.md

@ -6,7 +6,7 @@
##### 基础属性 ##### 基础属性
| 参数 | 说明 | 类型 | 可选值 | 默认值 | 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :-----| :----|:---- | :------ |:------------- | :-----| :----|:----
| value | 组件value值 | string | | null| | value | 组件value值 | string | | null|
| stopEvent | 阻止事件 |boolean | true,false | false | | stopEvent | 阻止事件 |boolean | true,false | false |
| stopPropagation | 阻止冒泡 | boolean | true,false| false | | stopPropagation | 阻止冒泡 | boolean | true,false| false |
| selected | button的选中状态 | boolean | true,false |false | | selected | button的选中状态 | boolean | true,false |false |
@ -17,7 +17,7 @@
| shadow | 是否显示阴影 | boolean| true,false| false| | shadow | 是否显示阴影 | boolean| true,false| false|
| isShadowShowingOnSelected| 选中状态下是否显示阴影|boolean| true,false | false| | isShadowShowingOnSelected| 选中状态下是否显示阴影|boolean| true,false | false|
| trigger | 被选元素要触发的事件 | string | mousedown, mouseup, click, dblclick, lclick | null| | trigger | 被选元素要触发的事件 | string | mousedown, mouseup, click, dblclick, lclick | null|
| handler | 点击事件回调 | function | | BI.emptyFn | | handler | 点击事件回调 | function | | BI.emptyFn |
## 对外方法 ## 对外方法

30
uidoc/core/combination/bi.combo.md

@ -30,24 +30,24 @@ BI.createWidget({
##### 基础属性 ##### 基础属性
| 参数 | 说明 | 类型 | 可选值 | 默认值 | 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :-----| :----|:---- | :------ |:------------- | :-----| :----|:----
| trigger | 事件类型 | string | | "click" | | el | 自定义下拉框trigger | object | — |{ }|
| trigger | 下拉列表的弹出方式 | string | click,hover | "click" |
| adjustLength | 弹出列表和trigger的距离 | number | — | 0 |
| toggle | 切换状态 | boolean | true,false | true | | toggle | 切换状态 | boolean | true,false | true |
| direction | combo弹出层位置 | string | top,bottom,left,right,(top,left),(top,right),(bottom,left),(bottom,right) | "bottom"| | direction | 弹出列表和trigger的位置关系 | string | top &#124; bottom &#124; left &#124; right &#124; top,left &#124; top,right &#124; bottom,left &#124; bottom,right | "bottom"|
| isDefaultInit | 是否默认初始化子节点 |boolean | true,false | false | | isDefaultInit | 是否默认初始化子节点 |boolean | true,false | false |
| destroyWhenHide | 隐藏弹窗层是否销毁 | boolean | true,false | false | | destroyWhenHide | 隐藏弹窗层是否销毁 | boolean | true,false | false |
| isNeedAdjustHeight | 是否需要高度调整 | boolean | true,false | true | | isNeedAdjustHeight | 是否需要高度调整 | boolean | true,false | true |
| isNeedAdjustWidth | 是否需要宽度调整 | boolean | true,false | true | | isNeedAdjustWidth | 是否需要宽度调整 | boolean | true,false | true |
| stopEvent | 阻止事件冒泡 | boolean | true,false | false | | stopEvent | 是否阻止事件 | boolean | true,false | false |
| stopPropagation | 阻止事件冒泡 | boolean | true,false | false | | stopPropagation | 阻止事件冒泡 | boolean | true,false | false |
| adjustLength | 调整的距离 | number | — | 0 |
| adjustXOffset | 调整横向偏移 | number | — | 0 | | adjustXOffset | 调整横向偏移 | number | — | 0 |
| adjustYOffset |调整纵向偏移 | number | — | 0 | | adjustYOffset |调整纵向偏移 | number | — | 0 |
| hideChecker | | function | | —| | hideChecker | | function | | —|
| offsetStyle | 弹出层显示位置 | string | left,right,center | "left,right,center"| | offsetStyle | 弹出层显示位置 | string | left,right,center | "left,right,center"|
| el | 开启弹出层的元素 | object | — |{ }|
| popup | 弹出层 | object | — | { }| | popup | 弹出层 | object | — | { }|
| comboClass | | string | | "bi-combo-popup" | | comboClass | combo类 | string | | "bi-combo-popup" |
| hoverClass | | string | | "bi-combo-hover" | | hoverClass | hover类 | string | | "bi-combo-hover" |
@ -62,12 +62,12 @@ BI.createWidget({
| setValue |设置combo value值| v | | setValue |设置combo value值| v |
| getValue | 获取combo value值 | —| | getValue | 获取combo value值 | —|
| isViewVisible | 弹窗层是否可见 | —| | isViewVisible | 弹窗层是否可见 | —|
| showView | || | showView | 显示弹出层 ||
| hideView ||| | hideView | 隐藏弹出层 ||
| getView ||| | getView | 获取弹出层 ||
| getPopupPosition ||| | getPopupPosition | 获取弹出层的位置 ||
| toggle ||| | toggle | 开启或者隐藏弹出层 ||
|destroy ||| | destroy | 销毁组件 ||
## 事件 ## 事件
| 名称 | 说明 | | 名称 | 说明 |
@ -81,6 +81,8 @@ BI.createWidget({
|BI.Combo.EVENT_AFTER_POPUPVIEW | 下拉列表弹出后触发 | |BI.Combo.EVENT_AFTER_POPUPVIEW | 下拉列表弹出后触发 |
|BI.Combo.EVENT_BEFORE_HIDEVIEW | 下拉列表收起前触发 | |BI.Combo.EVENT_BEFORE_HIDEVIEW | 下拉列表收起前触发 |
|BI.Combo.EVENT_AFTER_HIDEVIEW | 下拉列表收起后触发 | |BI.Combo.EVENT_AFTER_HIDEVIEW | 下拉列表收起后触发 |
--- ---

19
uidoc/core/combination/bi.expander.md

@ -7,14 +7,15 @@
##### 基础属性 ##### 基础属性
| 参数 | 说明 | 类型 | 可选值 | 默认值 | 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :-----| :----|:---- | :------ |:------------- | :-----| :----|:----
| trigger | 事件类型 | string | | "click" | | el | 自定义下拉框trigger | object | — |{ }|
| trigger | 下拉列表的弹出方式 | string | click,hover | "click" |
| adjustLength | 弹出列表和trigger的距离 | number | — | 0 |
| toggle | 切换状态 | boolean | true,false | true | | toggle | 切换状态 | boolean | true,false | true |
| direction | combo弹出层位置 | string | top,bottom,left,right,(top,left),(top,right),(bottom,left),(bottom,right) | "bottom"| | direction | 弹出列表和trigger的位置关系 | string | top &#124; bottom &#124; left &#124; right &#124; top,left &#124; top,right &#124; bottom,left &#124; bottom,right | "bottom"|
| isDefaultInit | 是否默认初始化子节点 |boolean | true,false | false | | isDefaultInit | 是否默认初始化子节点 |boolean | true,false | false |
| el | 开启弹出层的元素 | object | — |{ }|
| popup | 弹出层 | object | — | { }| | popup | 弹出层 | object | — | { }|
| expanderClass | | string | | "bi-expander-popup" | | expanderClass | 展开类 | string | | "bi-expander-popup" |
| hoverClass | | string | | "bi-expander-hover" | | hoverClass | hover类| string | | "bi-expander-hover" |
@ -25,13 +26,13 @@
| setValue | 设置combo value值| v | | setValue | 设置combo value值| v |
| getValue | 获取combo value值 | —| | getValue | 获取combo value值 | —|
| isViewVisible | 弹窗层是否可见 | —| | isViewVisible | 弹窗层是否可见 | —|
| showView | || | showView | 显示弹出层||
| hideView ||| | hideView | 隐藏弹出层||
| getView ||| | getView | 获取弹出层||
| getAllLeaves | 获取所有的叶子节点 | —| | getAllLeaves | 获取所有的叶子节点 | —|
| getNodeById | 根据id获取节点 | id | | getNodeById | 根据id获取节点 | id |
| getNodeByValue | 根据value值获取节点 | value | | getNodeByValue | 根据value值获取节点 | value |
| isExpanded | 节点是否展开 | | | isExpanded | 节点是否展开 | |
| destroy | 销毁组件| — | | destroy | 销毁组件| — |
## 事件 ## 事件

8
uidoc/core/combination/group_combo.md

@ -7,15 +7,15 @@
##### 基础属性 ##### 基础属性
| 参数 | 说明 | 类型 | 可选值 | 默认值 | 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :-----| :----|:---- | :------ |:------------- | :-----| :----|:----
| trigger | 事件类型 | string | | "click,hover" |
| direction | combo弹出层位置 | string | top,bottom,left,right,(top,left),(top,right),(bottom,left),(bottom,right) | "right"|
| childern | 子组件 | array | — | [ ] | | childern | 子组件 | array | — | [ ] |
| el | 开启弹出层的元素 | object | — | {type: "bi.text_button", text: "", value: ""}|
| popup | 弹出层 | object | — |{el: {type: "bi.button_tree",chooseType: 0,layouts: [{type: "bi.vertical"}]}}| | popup | 弹出层 | object | — |{el: {type: "bi.button_tree",chooseType: 0,layouts: [{type: "bi.vertical"}]}}|
| isDefaultInit | 是否默认初始化子节点 |boolean | true,false | false | | isDefaultInit | 是否默认初始化子节点 |boolean | true,false | false |
| isNeedAdjustHeight | 是否需要高度调整 | boolean | true,false | false | | isNeedAdjustHeight | 是否需要高度调整 | boolean | true,false | false |
| isNeedAdjustWidth | 是否需要宽度调整 | boolean | true,false | false | | isNeedAdjustWidth | 是否需要宽度调整 | boolean | true,false | false |
| adjustLength | 调整的距离 | number | — | 0 | | el | 自定义下拉框trigger | object | — |{type: "bi.text_button", text: "", value: ""}|
| trigger | 下拉列表的弹出方式 | string | click,hover | "click" |
| adjustLength | 弹出列表和trigger的距离 | number | — | 0 |
| direction | 弹出列表和trigger的位置关系 | string | top &#124; bottom &#124; left &#124; right &#124; top,left &#124; top,right &#124; bottom,left &#124; bottom,right | "bottom"|

12
uidoc/core/combination/loader.md

@ -9,15 +9,15 @@
| :------ |:------------- | :-----| :----|:---- | :------ |:------------- | :-----| :----|:----
| direction | combo弹出层位置 | string | top,bottom,left,right,(top,left),(top,right),(bottom,left),(bottom,right) | "top"| | direction | combo弹出层位置 | string | top,bottom,left,right,(top,left),(top,right),(bottom,left),(bottom,right) | "top"|
| isDefaultInit | 是否默认初始化子数据 |boolean | true,false | true | | isDefaultInit | 是否默认初始化子数据 |boolean | true,false | true |
| logic | | object | | {dynamic:true,scrolly:true} | | logic | | object | | {dynamic:true,scrolly:true} |
| items| | array | | []| | items| 子组件 | array | | []|
| itemsCreator | | function | | — | | itemsCreator | 子组件构造器 | function | | — |
| onLoaded | | function | | — | | onLoaded | 加载中 | function | | — |
| count | 是否显示总页数 | boolean| true,false|boolean| | count | 是否显示总页数 | boolean| true,false|boolean|
| prev | 上一页 | boolean | true,false | boolean | | prev | 上一页 | boolean | true,false | boolean |
| next | 下一页 | boolean | true,false | boolean | | next | 下一页 | boolean | true,false | boolean |
| hasPrev | 判断是否有上一页 | function | | — | | hasPrev | 判断是否有上一页 | function | | — |
| hasNext | 判断是否有下一页 | function | | — | | hasNext | 判断是否有下一页 | function | | — |

9
uidoc/core/combination/navigation.md

@ -48,11 +48,10 @@ BI.createWidget({
| single | 是否为单页 | boolean | true,false | true | | single | 是否为单页 | boolean | true,false | true |
| defaultShowIndex | 是否默认显示 |boolean | true,false | true | | defaultShowIndex | 是否默认显示 |boolean | true,false | true |
| tab | tab页元素 | boolean | true,false | true | | tab | tab页元素 | boolean | true,false | true |
| defaultShowIndex | 是否默认显示 | boolean | true,false | false |
| logic | | object | | {dynamic:true} | | logic | | object | | {dynamic:true} |
| cardCreator | 面板构造器 | function | — | v | | cardCreator | 面板构造器 | function | — | v |
| afterCardCreated | 面板构造之后 | function | — | — | | afterCardCreated | 面板构造之后 | function | — | — |
| afterCardShow | 面板显示之后 | function | - | — | | afterCardShow | 面板显示之后 | function | | — |
@ -61,11 +60,11 @@ BI.createWidget({
| :------ |:------------- | :----- | :------ |:------------- | :-----
| render | 渲染组件 | — | | render | 渲染组件 | — |
| mounted | 挂载组件 | —| | mounted | 挂载组件 | —|
| afterCardCreated | | v | | afterCardCreated | 创建卡导航页页之后 | v |
| afterCardShow | | v | | afterCardShow | 导航页展示之后 | v |
| setSelect | 设置选中的index | v | | setSelect | 设置选中的index | v |
| getSelect | 获取选中的index| —| | getSelect | 获取选中的index| —|
| getSelectedCard | | —| | getSelectedCard | 获取选中的导航页| —|
| populate | 刷新列表 | items | | populate | 刷新列表 | items |
| setValue | 设置value值 | value | | setValue | 设置value值 | value |
| getValue | 获取被选中的值 |—| | getValue | 获取被选中的值 |—|

18
uidoc/core/combination/searcher.md

@ -40,20 +40,20 @@ BI.createWidget({
##### 基础属性 ##### 基础属性
| 参数 | 说明 | 类型 | 可选值 | 默认值 | 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :-----| :----|:---- | :------ |:------------- | :-----| :----|:----
| hgap | 效果相当于容器左右padding值 | number | | 0 | | hgap | 效果相当于容器左右padding值 | number | | 0 |
| vgap | 效果相当于容器上下padding值 | number | | 0 | | vgap | 效果相当于容器上下padding值 | number | | 0 |
| lgap | 效果相当于容器left-padding值 | number | | 0 | | lgap | 效果相当于容器left-padding值 | number | | 0 |
| rgap | 效果相当于容器right-padding值 | number | | 0 | | rgap | 效果相当于容器right-padding值 | number | | 0 |
| tgap | 效果相当于容器top-padding值 | number | | 0 | | tgap | 效果相当于容器top-padding值 | number | | 0 |
| bgap | 效果相当于容器bottom-padding值 | number | | 0 | | bgap | 效果相当于容器bottom-padding值 | number | | 0 |
| chooseType | 选择类型 | const | | CHOOSE_TYPE_SINGLE | | chooseType | 选择类型 | const | | CHOOSE_TYPE_SINGLE |
| isDefaultInit | 是否默认初始化子节点 |boolean | true,false | false | | isDefaultInit | 是否默认初始化子节点 |boolean | true,false | false |
| isAutoSearch | 是否自动搜索 |boolean | true,false | true | | isAutoSearch | 是否自动搜索 |boolean | true,false | true |
| isAutoSync | 是否自动同步数据, 即是否保持搜索面板和adapter面板状态值的统一 |boolean | true,false | true | | isAutoSync | 是否自动同步数据, 即是否保持搜索面板和adapter面板状态值的统一 |boolean | true,false | true |
| onSearch | isAutoSearch为false时启用 | function(op.callback) | | | | onSearch | isAutoSearch为false时启用 | function(op.callback) | | |
| el | 开启弹出层的元素 | object | — | {type: "bi.search_editor"}| | el | 开启弹出层的元素 | object | — | {type: "bi.search_editor"}|
| popup | 弹出层 | object | — |{type: "bi.searcher_view"}| | popup | 弹出层 | object | — |{type: "bi.searcher_view"}|
| adapter | 弹出层显示的位置元素 | object | - | null| | adapter | 弹出层显示的位置元素 | object | | null|
| masker | masker层 | object | — | {offset: {}}| | masker | masker层 | object | — | {offset: {}}|
## 对外方法 ## 对外方法
@ -64,7 +64,7 @@ BI.createWidget({
| getValue | 获取被选中的值 |—| | getValue | 获取被选中的值 |—|
| empty| 清空组件|—| | empty| 清空组件|—|
| destroy| 销毁组件|—| | destroy| 销毁组件|—|
| adapter | | | | adapter | 搜索列表位置 | |
| doSearch | 开始搜索 | — | | doSearch | 开始搜索 | — |
| stopSearch | 停止搜索 | —| | stopSearch | 停止搜索 | —|
| isSearching | 是否正在搜索 | —| | isSearching | 是否正在搜索 | —|

10
uidoc/core/combination/switcher.md

@ -35,15 +35,15 @@ BI.createWidget({
##### 基础属性 ##### 基础属性
| 参数 | 说明 | 类型 | 可选值 | 默认值 | 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :-----| :----|:---- | :------ |:------------- | :-----| :----|:----
| trigger | 事件类型 | string | | "click" | | trigger | 下拉列表的弹出方式 | string | click,hover | "click" |
| toggle | 切换状态 | boolean | true,false | true | | toggle | 切换状态 | boolean | true,false | true |
| direction | 面板显示的位置 | string | — | BI.Direction.Top | | direction | 面板显示的位置 | string | — | BI.Direction.Top |
| el | 开启弹出层的元素 | object | — | { }| | el | 自定义下拉框trigger | object | — | { }|
| popup | 弹出层 | object | — |{ }| | popup | 弹出层 | object | — |{ }|
| adapter | 弹出层的位置 | object | — | null| | adapter | 弹出层的位置 | object | — | null|
| masker | masker层 | | — | { }| | masker | masker层 | obejct | — | { }|
| switcherClass | | string| —| "bi-switcher-popup" | | switcherClass | 切换类 | string| —| "bi-switcher-popup" |
| hoverClass | - | string | - | "bi-switcher-hover" | | hoverClass | hover类 | string | — | "bi-switcher-hover" |
## 对外方法 ## 对外方法
| 名称 | 说明 | 回调参数 | 名称 | 说明 | 回调参数

7
uidoc/core/combination/tab.md

@ -3,7 +3,7 @@
## 切换显示或隐藏面板,[BI.Widget](/core/widget.md) ## 切换显示或隐藏面板,[BI.Widget](/core/widget.md)
{% method %} {% method %}
[source](https://jsfiddle.net/fineui/72gp1n0p/) [source](https://jsfiddle.net/fineui/pdo5s8pq/)
{% common %} {% common %}
```javascript ```javascript
@ -57,9 +57,8 @@ BI.createWidget({
| single | 是否为单页 | boolean | true,false | false | | single | 是否为单页 | boolean | true,false | false |
| defaultShowIndex | 是否默认显示tab页 | boolean | true,false | false | | defaultShowIndex | 是否默认显示tab页 | boolean | true,false | false |
| tab | tab标签页 | object | — | { } | | tab | tab标签页 | object | — | { } |
| defaultShowIndex ||boolean | true,false | false | | logic | | object | — | {dynamic:false} |
| logic | | object | | {dynamic:false} | | cardCreator | 面板构造器| function | — | function (v) {return BI.createWidget();} |
| cardCreator | 面板构造器| function | | function (v) {return BI.createWidget();} |
## 对外方法 ## 对外方法
| 名称 | 说明 | 回调参数 | 名称 | 说明 | 回调参数

16
uidoc/core/layer/layer_popup.md

@ -40,17 +40,17 @@ BI.createWidget({
| minWidth | 弹出层最小宽度 | number | — | 100 | | minWidth | 弹出层最小宽度 | number | — | 100 |
| maxHeight | 弹出层最大高度 | number/string | — | — | | maxHeight | 弹出层最大高度 | number/string | — | — |
| minHeight | 弹出层最小高度 | number | — | 25 | | minHeight | 弹出层最小高度 | number | — | 25 |
| hgap | 效果相当于容器左右padding值 | number | | 0 | | hgap | 效果相当于容器左右padding值 | number | | 0 |
| vgap | 效果相当于容器上下padding值 | number | | 0 | | vgap | 效果相当于容器上下padding值 | number | | 0 |
| lgap | 效果相当于容器left-padding值 | number | | 0 | | lgap | 效果相当于容器left-padding值 | number | | 0 |
| rgap | 效果相当于容器right-padding值 | number | | 0 | | rgap | 效果相当于容器right-padding值 | number | | 0 |
| tgap | 效果相当于容器top-padding值 | number | | 0 | | tgap | 效果相当于容器top-padding值 | number | | 0 |
| bgap | 效果相当于容器bottom-padding值 | number | | 0 | | bgap | 效果相当于容器bottom-padding值 | number | | 0 |
| direction| 工具栏的方向| const | | BI.Direction.Top | | direction| 工具栏的方向| const | | BI.Direction.Top |
| stopEvent | 是否停止mousedown、mouseup事件 | boolean | true,false | false | | stopEvent | 是否停止mousedown、mouseup事件 | boolean | true,false | false |
| stopPropagation | 是否停止mousedown、mouseup向上冒泡 | boolean | true,false | false | | stopPropagation | 是否停止mousedown、mouseup向上冒泡 | boolean | true,false | false |
| tabs | 导航栏 | array | — | [] | | tabs | 导航栏 | array | — | [] |
| logic | | object | | {dynamic:true} | | logic | | object | | {dynamic:true} |
| tools | 自定义工具栏 |boolean | true,false | false | | tools | 自定义工具栏 |boolean | true,false | false |
| buttons | toolbar栏 | array | — | [] | | buttons | toolbar栏 | array | — | [] |
| el | 子组件 | object | — |{ type: "bi.button_group",items: [], chooseType: 0,behaviors: {},layouts: [{type: "bi.vertical"}]} | | el | 子组件 | object | — |{ type: "bi.button_group",items: [], chooseType: 0,behaviors: {},layouts: [{type: "bi.vertical"}]} |
@ -64,7 +64,7 @@ BI.createWidget({
| resetHeight | 重置高度 | height| | resetHeight | 重置高度 | height|
| setValue | 设置value 值 | value | | setValue | 设置value 值 | value |
| getValue| 获取value值 | —| | getValue| 获取value值 | —|
| setZindex | 设置z-inex| z-index | | setZindex | 设置z-index| z-index |
| getView | 获取弹出层 | —| | getView | 获取弹出层 | —|

18
uidoc/core/layer/layer_searcher.md

@ -1,13 +1,27 @@
# bi.searcher_view # bi.searcher_view
## 搜索面板, [BI.Widget](/core/widget.md) ## 搜索面板, 基类[BI.Widget](/core/widget.md)
{% method %} {% method %}
[source](https://jsfiddle.net/fineui/k6s24et1/) [source](https://jsfiddle.net/fineui/qkfns6wm/)
{% common %} {% common %}
```javascript ```javascript
var searcher = BI.createWidget({
element: "#wrapper",
type: "bi.searcher_view",
});
searcher.populate([{
text: "aba",
value: "aba"
},{
text: "acc",
value: "acc"
}], [{
text: "a",
value: "a"
}], "a");

2
uidoc/core/layout/border.md

@ -49,6 +49,6 @@ BI.createWidget({
| 参数 | 说明 | 类型 | 可选值 | 默认值 | 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :----- | :----|:---- | :------ |:------------- | :----- | :----|:----
| items | 子控件对象 | object | north,east,west,south,center | | | | items | 子控件对象 | object | north,east,west,south,center | [ ] |
--- ---

14
uidoc/core/layout/center.md

@ -44,12 +44,12 @@ BI.createWidget({
##### 基础属性 ##### 基础属性
| 参数 | 说明 | 类型 | 可选值 | 默认值 | 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :----- | :----|:---- | :------ |:------------- | :----- | :----|:----
| hgap | 效果相当于容器左右padding值 | number | | 0 | | hgap | 效果相当于容器左右padding值 | number | | 0 |
| vgap | 效果相当于容器上下padding值 | number | | 0 | | vgap | 效果相当于容器上下padding值 | number | | 0 |
| lgap | 效果相当于容器left-padding值 | number | | 0 | | lgap | 效果相当于容器left-padding值 | number | | 0 |
| rgap | 效果相当于容器right-padding值 | number | | 0 | | rgap | 效果相当于容器right-padding值 | number | | 0 |
| tgap | 效果相当于容器top-padding值 | number | | 0 | | tgap | 效果相当于容器top-padding值 | number | | 0 |
| bgap | 效果相当于容器bottom-padding值 | number | | 0 | | bgap | 效果相当于容器bottom-padding值 | number | | 0 |
| items | 子控件数组 | array | | | |
--- ---

15
uidoc/core/layout/center_adapt.md

@ -36,13 +36,12 @@ BI.createWidget({
##### 基础属性 ##### 基础属性
| 参数 | 说明 | 类型 | 可选值 | 默认值 | 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :----- | :----|:---- | :------ |:------------- | :----- | :----|:----
| hgap | 效果相当于容器左右padding值 | number | | 0 | | hgap | 效果相当于容器左右padding值 | number | — | 0 |
| vgap | 效果相当于容器上下padding值 | number | | 0 | | vgap | 效果相当于容器上下padding值 | number | — | 0 |
| lgap | 效果相当于容器left-padding值 | number | | 0 | | lgap | 效果相当于容器left-padding值 | number | — | 0 |
| rgap | 效果相当于容器right-padding值 | number | | 0 | | rgap | 效果相当于容器right-padding值 | number | — | 0 |
| tgap | 效果相当于容器top-padding值 | number | | 0 | | tgap | 效果相当于容器top-padding值 | number | — | 0 |
| bgap | 效果相当于容器bottom-padding值 | number | | 0 | | bgap | 效果相当于容器bottom-padding值 | number | — | 0 |
| items | 子控件数组 | array | | | | columnSize | 每列宽度所组成的数组 | array | — | [ ] |
| columnSize | 每列宽度所组成的数组 | array | | | |
--- ---

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save