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(常用颜色,可用于普遍场景) *****/
/**** 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(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
.bi-year-popup .year-popup-navigation {

290
bi/widget.js

@ -5493,7 +5493,10 @@ BI.FineTuningNumberEditor = BI.inherit(BI.Widget, {
_defaultConfig: function () {
return BI.extend(BI.FineTuningNumberEditor.superclass._defaultConfig.apply(this, arguments), {
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({
type: "bi.sign_editor",
height: o.height,
value: this._alertInEditorValue(o.value),
errorText: BI.i18nText("BI-Please_Input_Natural_Number"),
validationChecker: function(v){
return BI.isNaturalNumber(v) || self._alertOutEditorValue(v) === -1;
}
value: o.valueFormatter(o.value),
validationChecker: o.validationChecker,
errorText: o.errorText
});
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(){
self._finetuning(0);
self.fireEvent(BI.FineTuningNumberEditor.EVENT_CONFIRM);
});
this.topBtn = BI.createWidget({
@ -5520,6 +5524,7 @@ BI.FineTuningNumberEditor = BI.inherit(BI.Widget, {
});
this.topBtn.on(BI.IconButton.EVENT_CHANGE, function(){
self._finetuning(1);
self.fireEvent(BI.FineTuningNumberEditor.EVENT_CHANGE);
self.fireEvent(BI.FineTuningNumberEditor.EVENT_CONFIRM);
});
this.bottomBtn = BI.createWidget({
@ -5529,9 +5534,9 @@ BI.FineTuningNumberEditor = BI.inherit(BI.Widget, {
});
this.bottomBtn.on(BI.IconButton.EVENT_CHANGE, function(){
self._finetuning(-1);
self.fireEvent(BI.FineTuningNumberEditor.EVENT_CHANGE);
self.fireEvent(BI.FineTuningNumberEditor.EVENT_CONFIRM);
});
this._finetuning(0);
BI.createWidget({
type: "bi.htape",
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){
return BI.parseInt(v) === -1 ? BI.i18nText("BI-Basic_Auto") : v;
setUpEnable: function (v) {
this.topBtn.setEnable(!!v);
},
//微调
_finetuning: function(add){
var v = BI.parseInt(this._alertOutEditorValue(this.editor.getValue()));
this.editor.setValue(this._alertInEditorValue(v + add));
this.bottomBtn.setEnable((v + add) > -1);
setBottomEnable: function (v) {
this.bottomBtn.setEnable(!!v);
},
getValue: function () {
var v = this.editor.getValue();
return this._alertOutEditorValue(v);
return this.options.value;
},
setValue: function (v) {
this.editor.setValue(this._alertInEditorValue(v));
this._finetuning(0);
var o = this.options;
o.value = v;
this.editor.setValue(o.valueFormatter(v));
}
});
BI.FineTuningNumberEditor.EVENT_CONFIRM = "EVENT_CONFIRM";
BI.FineTuningNumberEditor.EVENT_CHANGE = "EVENT_CHANGE";
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);/**
* 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.

8
demo/js/config/widget.js

@ -252,5 +252,13 @@ Demo.WIDGET_CONFIG = [{
pId: 419,
text: "bi.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
}];
var filemanager = BI.createWidget({
type: "bi.file_manager",
items: items
type: "bi.fine_tuning_number_editor",
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 {
type: "bi.vtape",
type: "bi.vertical",
items: [{
el: filemanager,
height: "fill"
}, {
type: "bi.button",
text: "getValue",
handler: function () {
BI.Msg.alert("", JSON.stringify(filemanager.getValue()));
},
height: 25
height: 24
}]
}
}

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-Load_More": "加载更多",
"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(常用颜色,可用于普遍场景) *****/
/**** 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(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
.bi-year-popup .year-popup-navigation {

295
dist/bundle.js vendored

@ -28,7 +28,8 @@ BI.i18n = {
"BI-Load_More": "加载更多",
"BI-Select_All": "全选",
"BI-Basic_Auto": "自动",
"BI-No_More_Data": "无更多数据"
"BI-No_More_Data": "无更多数据",
"BI-No_Selected_Value": "没有可选项"
};/*!
* jQuery JavaScript Library v1.9.1
* 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 () {
return BI.extend(BI.FineTuningNumberEditor.superclass._defaultConfig.apply(this, arguments), {
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({
type: "bi.sign_editor",
height: o.height,
value: this._alertInEditorValue(o.value),
errorText: BI.i18nText("BI-Please_Input_Natural_Number"),
validationChecker: function(v){
return BI.isNaturalNumber(v) || self._alertOutEditorValue(v) === -1;
}
value: o.valueFormatter(o.value),
validationChecker: o.validationChecker,
errorText: o.errorText
});
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(){
self._finetuning(0);
self.fireEvent(BI.FineTuningNumberEditor.EVENT_CONFIRM);
});
this.topBtn = BI.createWidget({
@ -82576,6 +82581,7 @@ BI.FineTuningNumberEditor = BI.inherit(BI.Widget, {
});
this.topBtn.on(BI.IconButton.EVENT_CHANGE, function(){
self._finetuning(1);
self.fireEvent(BI.FineTuningNumberEditor.EVENT_CHANGE);
self.fireEvent(BI.FineTuningNumberEditor.EVENT_CONFIRM);
});
this.bottomBtn = BI.createWidget({
@ -82585,9 +82591,9 @@ BI.FineTuningNumberEditor = BI.inherit(BI.Widget, {
});
this.bottomBtn.on(BI.IconButton.EVENT_CHANGE, function(){
self._finetuning(-1);
self.fireEvent(BI.FineTuningNumberEditor.EVENT_CHANGE);
self.fireEvent(BI.FineTuningNumberEditor.EVENT_CONFIRM);
});
this._finetuning(0);
BI.createWidget({
type: "bi.htape",
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){
return BI.parseInt(v) === -1 ? BI.i18nText("BI-Basic_Auto") : v;
setUpEnable: function (v) {
this.topBtn.setEnable(!!v);
},
//微调
_finetuning: function(add){
var v = BI.parseInt(this._alertOutEditorValue(this.editor.getValue()));
this.editor.setValue(this._alertInEditorValue(v + add));
this.bottomBtn.setEnable((v + add) > -1);
setBottomEnable: function (v) {
this.bottomBtn.setEnable(!!v);
},
getValue: function () {
var v = this.editor.getValue();
return this._alertOutEditorValue(v);
return this.options.value;
},
setValue: function (v) {
this.editor.setValue(this._alertInEditorValue(v));
this._finetuning(0);
var o = this.options;
o.value = v;
this.editor.setValue(o.valueFormatter(v));
}
});
BI.FineTuningNumberEditor.EVENT_CONFIRM = "EVENT_CONFIRM";
BI.FineTuningNumberEditor.EVENT_CHANGE = "EVENT_CHANGE";
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);/**
* 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.

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,
text: "bi.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, {
props: {
@ -8392,6 +8400,47 @@ Demo.SingleTreeCombo = BI.inherit(BI.Widget, {
})
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.
*/
Demo.ExcelTable = BI.inherit(BI.Widget, {

7
dist/widget.css vendored

@ -392,6 +392,13 @@
}
/****** common 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(常用颜色,可用于普遍场景) *****/
/**** custom color(自定义颜色,用于特定场景) ****/
.bi-year-popup .year-popup-navigation {

290
dist/widget.js vendored

@ -5493,7 +5493,10 @@ BI.FineTuningNumberEditor = BI.inherit(BI.Widget, {
_defaultConfig: function () {
return BI.extend(BI.FineTuningNumberEditor.superclass._defaultConfig.apply(this, arguments), {
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({
type: "bi.sign_editor",
height: o.height,
value: this._alertInEditorValue(o.value),
errorText: BI.i18nText("BI-Please_Input_Natural_Number"),
validationChecker: function(v){
return BI.isNaturalNumber(v) || self._alertOutEditorValue(v) === -1;
}
value: o.valueFormatter(o.value),
validationChecker: o.validationChecker,
errorText: o.errorText
});
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(){
self._finetuning(0);
self.fireEvent(BI.FineTuningNumberEditor.EVENT_CONFIRM);
});
this.topBtn = BI.createWidget({
@ -5520,6 +5524,7 @@ BI.FineTuningNumberEditor = BI.inherit(BI.Widget, {
});
this.topBtn.on(BI.IconButton.EVENT_CHANGE, function(){
self._finetuning(1);
self.fireEvent(BI.FineTuningNumberEditor.EVENT_CHANGE);
self.fireEvent(BI.FineTuningNumberEditor.EVENT_CONFIRM);
});
this.bottomBtn = BI.createWidget({
@ -5529,9 +5534,9 @@ BI.FineTuningNumberEditor = BI.inherit(BI.Widget, {
});
this.bottomBtn.on(BI.IconButton.EVENT_CHANGE, function(){
self._finetuning(-1);
self.fireEvent(BI.FineTuningNumberEditor.EVENT_CHANGE);
self.fireEvent(BI.FineTuningNumberEditor.EVENT_CONFIRM);
});
this._finetuning(0);
BI.createWidget({
type: "bi.htape",
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){
return BI.parseInt(v) === -1 ? BI.i18nText("BI-Basic_Auto") : v;
setUpEnable: function (v) {
this.topBtn.setEnable(!!v);
},
//微调
_finetuning: function(add){
var v = BI.parseInt(this._alertOutEditorValue(this.editor.getValue()));
this.editor.setValue(this._alertInEditorValue(v + add));
this.bottomBtn.setEnable((v + add) > -1);
setBottomEnable: function (v) {
this.bottomBtn.setEnable(!!v);
},
getValue: function () {
var v = this.editor.getValue();
return this._alertOutEditorValue(v);
return this.options.value;
},
setValue: function (v) {
this.editor.setValue(this._alertInEditorValue(v));
this._finetuning(0);
var o = this.options;
o.value = v;
this.editor.setValue(o.valueFormatter(v));
}
});
BI.FineTuningNumberEditor.EVENT_CONFIRM = "EVENT_CONFIRM";
BI.FineTuningNumberEditor.EVENT_CHANGE = "EVENT_CHANGE";
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);/**
* 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.

3
public/js/index.js

@ -28,5 +28,6 @@ BI.i18n = {
"BI-Load_More": "加载更多",
"BI-Select_All": "全选",
"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 () {
return BI.extend(BI.FineTuningNumberEditor.superclass._defaultConfig.apply(this, arguments), {
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({
type: "bi.sign_editor",
height: o.height,
value: this._alertInEditorValue(o.value),
errorText: BI.i18nText("BI-Please_Input_Natural_Number"),
validationChecker: function(v){
return BI.isNaturalNumber(v) || self._alertOutEditorValue(v) === -1;
}
value: o.valueFormatter(o.value),
validationChecker: o.validationChecker,
errorText: o.errorText
});
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(){
self._finetuning(0);
self.fireEvent(BI.FineTuningNumberEditor.EVENT_CONFIRM);
});
this.topBtn = BI.createWidget({
@ -33,6 +37,7 @@ BI.FineTuningNumberEditor = BI.inherit(BI.Widget, {
});
this.topBtn.on(BI.IconButton.EVENT_CHANGE, function(){
self._finetuning(1);
self.fireEvent(BI.FineTuningNumberEditor.EVENT_CHANGE);
self.fireEvent(BI.FineTuningNumberEditor.EVENT_CONFIRM);
});
this.bottomBtn = BI.createWidget({
@ -42,9 +47,9 @@ BI.FineTuningNumberEditor = BI.inherit(BI.Widget, {
});
this.bottomBtn.on(BI.IconButton.EVENT_CHANGE, function(){
self._finetuning(-1);
self.fireEvent(BI.FineTuningNumberEditor.EVENT_CHANGE);
self.fireEvent(BI.FineTuningNumberEditor.EVENT_CONFIRM);
});
this._finetuning(0);
BI.createWidget({
type: "bi.htape",
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){
return BI.parseInt(v) === -1 ? BI.i18nText("BI-Basic_Auto") : v;
setUpEnable: function (v) {
this.topBtn.setEnable(!!v);
},
//微调
_finetuning: function(add){
var v = BI.parseInt(this._alertOutEditorValue(this.editor.getValue()));
this.editor.setValue(this._alertInEditorValue(v + add));
this.bottomBtn.setEnable((v + add) > -1);
setBottomEnable: function (v) {
this.bottomBtn.setEnable(!!v);
},
getValue: function () {
var v = this.editor.getValue();
return this._alertOutEditorValue(v);
return this.options.value;
},
setValue: function (v) {
this.editor.setValue(this._alertInEditorValue(v));
this._finetuning(0);
var o = this.options;
o.value = v;
this.editor.setValue(o.valueFormatter(v));
}
});
BI.FineTuningNumberEditor.EVENT_CONFIRM = "EVENT_CONFIRM";
BI.FineTuningNumberEditor.EVENT_CHANGE = "EVENT_CHANGE";
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.zip
*.log
_book
_book
test

3
uidoc/SUMMARY.md

@ -100,10 +100,9 @@
* [text_trigger](case/trigger/text_trigger.md)
* 下拉框
* [bubble_combo](case/combo/bubble_combo.md)
* [formula_combo](case/combo/formula_combo.md)
* [icon_combo](case/combo/icon_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)
* 树
* [branch_tree](case/tree/branch_tree.md)

8
uidoc/base/bubble.md

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

30
uidoc/base/button/button.md

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

4
uidoc/base/button/icon_button.md

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

6
uidoc/base/button/image_button.md

@ -24,9 +24,9 @@ BI.createWidget({
##### 基础属性
| 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :-----| :----|:----
| src |图片路径 |string | |" " |
| iconWidth | 图标宽度 | number/string| | "100%" |
| iconHeight | 图标高度 | number/string | | "100%"|
| src |图片路径 |string | |" " |
| iconWidth | 图标宽度 | 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 |
| lgap | 效果相当于文本框left-padding值 | number | | 0 |
| rgap | 效果相当于文本框right-padding值 | number | | 0 |
| text|按钮文本内容 | string| | |
| textWidth| 按钮文本宽度 | number| | null |
| textHeight | 按钮文本高度 | number| | null |
| hgap | 效果相当于文本框左右padding值,如果clear属性为true,该属性值置0 | number | | 10 |
| lgap | 效果相当于文本框left-padding值 | number | | 0 |
| rgap | 效果相当于文本框right-padding值 | number | | 0 |
| text|按钮文本内容 | string| | |
| textWidth| 按钮文本宽度 | number| | null |
| textHeight | 按钮文本高度 | number| | null |
##### 高级属性

4
uidoc/base/canvas.md

@ -29,8 +29,8 @@ canvas.stroke();
| line | 绘制线段| (x0, y0, x1, y1) |
| rect | 绘制矩形 | (x,y,w,h,color)分别表示左上角的横坐标、纵坐标,矩形宽、高、以及绘制的颜色|
| circle | 绘制圆形 | (x, y, radius, color)分别表示原点的横坐标,纵坐标,半径以及颜色 |
| hollow | 填充中空的路径 | |
| solid | 填充实心的路径 | |
| hollow | 填充中空的路径 | |
| solid | 填充实心的路径 | |
| gradient | 绘制渐变色 | (x0, y0, x1, y1, start, end) |
| reset | 重置画布 | —|
| 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|
| lineHeight | 行高 | number|— | 2|
| value | 文本框值| string| | " "|
| paramFormatter| 参数显示值构造函数 | function| | value |
| value | 文本框值| string| | " "|
| paramFormatter| 参数显示值构造函数 | function| | value |

22
uidoc/base/editor/editor.md

@ -25,20 +25,20 @@ BI.createWidget({
##### 基础属性
| 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :-----| :----|:----
| 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 | | |
| 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 | | |
| mouseOut | | boolean | true,false | false |
| allowBlank | 是否允许空值 | boolean | true,false | false |
| watermark | 文本框placeholder | string | | " " |
| errorText | 错误提示 | string/function | | " "|
| watermark | 文本框placeholder | string | | " " |
| errorText | 错误提示 | string/function | | " "|
| 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 | | " "|
| watermark | 文本框placeholder| string | | " " |
| fieldTextValueMap | | string| | {}|
| showHint | | | | 2 |
| lineHeight | 行高 | number | | 2|
| value | 文本域的值 | string | | " "|
| watermark | 文本框placeholder| string | | " " |
| fieldTextValueMap | | string| | {}|
| showHint | | | | 2 |
| lineHeight | 行高 | number | | 2|
@ -40,12 +40,12 @@ BI.createWidget({
| disableWaterMark | 设置文本框placeholder不可用 | — |
| focus | 文本框获取焦点| — |
| insertField | 添加字段 | field |
| insertFunction | | fn |
| insertOperator | | op|
| setFunction | | v|
| insertFunction | 插入函数 | fn |
| insertOperator | 插入操作符| op|
| setFunction | 设置函数 | v|
| insertString | 插入字符串 | str|
| getFormulaString | |— |
| getUsedFields | | — |
| getFormulaString | 获取公式 |— |
| getUsedFields | 获取可用字段 | — |
| getCheckString | | — |
| getValue | 获取文本框值|—|
| setValue | 设置文本框值|value|

6
uidoc/base/editor/multifile_editor.md

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

2
uidoc/base/message.md

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

26
uidoc/base/pager.md

@ -27,23 +27,23 @@ BI.createWidget({
##### 基础属性
| 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :-----| :----|:----
| behaviors | | object| | {}|
| layouts | 布局| array | | {type:"bi.horizontal",hgap:10,vgap:0} |
| behaviors | 自定义列表中item项的行为,如高亮,标红等 | object| | {}|
| layouts | 布局| array | | {type:"bi.horizontal",hgap:10,vgap:0} |
| dynamicShow | 是否动态显示上一页、下一页、首页、尾页, 若为false,则指对其设置使能状态 | boolean| true,false | true|
| dynamicShowFirstLast | 是否动态显示首页、尾页,dynamicShow为false时生效| boolean| true,false | false |
| dynamicShowPrevNext | 是否动态显示上一页、下一页,dynamicShow为false时生效 | boolean| true,false | false|
| pages | 是否显示总页数 | boolean| true,false|false|
| curr | 初始化当前页 | function | | function(){return 1;}|
| groups | 连续显示分页数 | number | | 0 |
| jump | 页数跳转| function | | |
| curr | 初始化当前页 | function | | function(){return 1;}|
| groups | 连续显示分页数 | number | | 0 |
| jump | 页数跳转| function | | |
| first | 是否显示首页 | boolean | true,false| false|
| last | 是否显示尾页 | boolean | true,false| false|
| prev | 上一页 | string,object | |"上一页" |
| next | 下一页 | sting,object| | "下一页" |
| firstPage | 第一页 | number| | 1 |
| lastPage | 最后一页,在万不得已时才会调用这个函数获取最后一页的页码, 主要作用于setValue方法 | function | | function(){ return 1;}|
| hasPrev | 判断是否有上一页,pages不可用时有效 | function | | — |
| hasNext | 判断是否有下一页,pages不可用时有效 | function | | — |
| prev | 上一页 | string,object | |"上一页" |
| next | 下一页 | sting,object| | "下一页" |
| firstPage | 第一页 | number| | 1 |
| lastPage | 最后一页,在万不得已时才会调用这个函数获取最后一页的页码, 主要作用于setValue方法 | function | | function(){ return 1;}|
| hasPrev | 判断是否有上一页,pages不可用时有效 | function | | — |
| hasNext | 判断是否有下一页,pages不可用时有效 | function | | — |
## 对外方法
@ -54,9 +54,9 @@ BI.createWidget({
| hasPrev | 判断是否有上一页 | v |
| hasNext | 判断是否有下一页 | v |
| setValue | 设置当前页码 | v |
| getValue | 获取当前页码 | |
| getValue | 获取当前页码 | |
| 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)分别表示原点的横、纵坐标,以及水平半径和垂直半径|
| text | 绘制文本 | (x,y,text)分别表示绘制的原点横、纵坐标以及要绘制的文本内容|
| print | 根据制定参数打印出路径 | (x, y, string, font, size, origin, letter_spacing, line_spacing) |
| setStart | 开始绘制 | |
| setFinish | 结束绘制 | |
| setStart | 开始绘制 | |
| setFinish | 结束绘制 | |
| setSize | 设置画布尺寸 | (width,height)分别表示画布宽高|
| setViewBox | 设置画布可视区域 | (x,y,width,height,fit)分别表示可视区域原点坐标以及可视区域宽高,以及是否根据可视区域进行调整 |
| getById | 根据id返回元素 | id |
| getElementByPoint | 获根据给定的点坐标返回元素 | (x,y)|
| getElementsByPoint | 获根据给定的点坐标返回元素 | (x,y) |
| getFont | 通过给定的参数在已注册的字体中找到字体对象 | (family, weight, style, stretch) |
| set | 绘制形状的集合 | |
| set | 绘制形状的集合 | |
| remove | 设置总页数 | pages |
| clear | 判断是否有上一页 | v |

45
uidoc/base/table/collection_table.md

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

57
uidoc/base/table/grid_table.md

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

69
uidoc/base/table/resizable_table.md

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

64
uidoc/base/table/table_view.md

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

6
uidoc/base/toast.md

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

1
uidoc/case/clipboard.md

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

1
uidoc/case/color_chooser.md

@ -29,3 +29,4 @@ BI.createWidget({
| setValue | 设置颜色值 | color |
| 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 |
| populate | 清空内容 | — |
------

3
uidoc/case/pager/direction_pager.md

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

9
uidoc/case/table/adaptive_table.md

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

26
uidoc/case/table/layer_tree_table.md

@ -7,7 +7,18 @@
{% common %}
```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 %}
@ -15,11 +26,11 @@
## 参数设置
| 参数 | 说明 | 类型 | 默认值 |
| ----------------------- | ------------------------ | -------------------- | ----------------- |
| isNeedResize | 是否需要调整列宽 | bool | false |
| isResizeAdapt | 是否需要在调整列宽或区域宽度的时候它们自适应变化 | bool | true |
| isNeedFreeze | 是否需要冻结表头 | bool | false |
| isNeedResize | 是否需要调整列宽 | boolean | false |
| isResizeAdapt | 是否需要在调整列宽或区域宽度的时候它们自适应变化 | boolean | true |
| isNeedFreeze | 是否需要冻结表头 | boolean | false |
| freezeCols | 冻结的列 | array | [] |
| isNeedMerge | 是否需要合并单元格 | bool | false |
| isNeedMerge | 是否需要合并单元格 | boolean | false |
| mergeCols | 合并的单元格列号 | array | [] |
| mergeRule | 合并规则, 默认相等时合并 | function(row1, row2) | 默认row1 = row2 时合并 |
| columnSize | 单元格宽度集合 | array | [] |
@ -39,7 +50,7 @@
## 方法
| 方法名 | 说明 | 回调参数 |
| 方法名 | 说明 | 参数 |
| ------------------------ | ----------- | ------------------ |
| setWidth | 设置宽度 | width: 宽度 |
| setHeight | 设置高度 | height: 高度 |
@ -58,5 +69,4 @@
| populate | 增加项 | items: array |
| destroy | 摧毁表 | — |
------

29
uidoc/case/table/tree_table.md

@ -3,11 +3,22 @@
### 树状结构的表格
{% method %}
[source](https://jsfiddle.net/fineui/pqyuLoay/)
[source](https://jsfiddle.net/fineui/a0m21ozk/)
{% common %}
```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 %}
@ -15,11 +26,11 @@
## 参数设置
| 参数 | 说明 | 类型 | 默认值 |
| ----------------------- | ------------------------ | -------------------- | ----------------- |
| isNeedResize | 是否需要调整列宽 | bool | false |
| isResizeAdapt | 是否需要在调整列宽或区域宽度的时候它们自适应变化 | bool | true |
| isNeedFreeze | 是否需要冻结表头 | bool | false |
| isNeedResize | 是否需要调整列宽 | boolean | false |
| isResizeAdapt | 是否需要在调整列宽或区域宽度的时候它们自适应变化 | boolean | true |
| isNeedFreeze | 是否需要冻结表头 | boolean | false |
| freezeCols | 冻结的列 | array | [] |
| isNeedMerge | 是否需要合并单元格 | bool | false |
| isNeedMerge | 是否需要合并单元格 | boolean | false |
| mergeCols | 合并的单元格列号 | array | [] |
| mergeRule | 合并规则, 默认相等时合并 | function(row1, row2) | 默认row1 = row2 时合并 |
| columnSize | 单元格宽度集合 | array | [] |
@ -39,7 +50,7 @@
## 方法
| 方法名 | 说明 | 回调参数 |
| 方法名 | 说明 | 参数 |
| ------------------------ | ----------- | ------------------ |
| setWidth | 设置宽度 | width: 宽度 |
| setHeight | 设置高度 | height: 高度 |
@ -58,7 +69,5 @@
| populate | 增加项 | items: array |
| 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 | {} |
| el | | object | {} |
| el | 基础元素 | object | {} |
| items | 子项 | array | [] |
### 方法
| 方法名 | 说明 | 回调参数 |
| 方法名 | 说明 | 参数 |
| -------- | ------ | ---- |
| populate | 去掉所有内容 | — |
| getValue | 获取所选项值 | — |
------

13
uidoc/case/tree/display_tree.md

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

8
uidoc/case/tree/handstand_branch_tree.md

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

5
uidoc/case/tree/level_tree.md

@ -29,14 +29,15 @@ var tree = BI.createWidget({
### 方法
| 方法名 | 说明 | 回调参数 |
| 方法名 | 说明 | 参数 |
| -------------- | -------- | ----------- |
| initTree | 构造树结构 | nodes |
| stroke | 生成树方法 | nodes |
| populate | 刷新内容 | items: 子项数组 |
| populate | 去掉所有内容 | items: 子项数组 |
| setValue | 设置值 | v |
| getValue | 获得值 | — |
| getAllLeaves | 获取所有叶节点 | — |
| getNodeById | 根据Id获取节点 | 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 |
| getValue | 获得值 | — |
| 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
##### 基础属性
###### chooseType可选值为 CHOOSE_TYPE_SINGLE,CHOOSE_TYPE_MULTI,CHOOSE_TYPE_ALL,CHOOSE_TYPE_NONE,CHOOSE_TYPE_DEFAULT
| 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :-----| :----|:----
| behaviors | |object | |{ }|
| items | 子组件数组 | array | | [ ] |
| chooseType | 选择类型 | const |CHOOSE_TYPE_SINGLE,CHOOSE_TYPE_MULTI,CHOOSE_TYPE_ALL,CHOOSE_TYPE_NONE,CHOOSE_TYPE_DEFAULT | CHOOSE_TYPE_SINGLE |
| layouts | 布局 | array | | [{type: "bi.center",hgap: 0,vgap: 0}] |
| behaviors | 自定义列表中item项的行为,如高亮,标红等 |object | |{ }|
| items | 子组件数组 | array | | [ ] |
| chooseType | 选择类型 | const | 见上| BI.ButtonGroup.CHOOSE_TYPE_SINGLE |
| layouts | 布局 | array | | [{type: "bi.center",hgap: 0,vgap: 0}] |
## 对外方法
| 名称 | 说明 | 回调参数
| :------ |:------------- | :-----
| doBehavior | | —|
| doBehavior | 自定义列表中item项的行为,如高亮,标红等 | — |
| prependItems | 内部前插入 | items |
| addItems | 内部后插入 | items |
| 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 |
| overflowY | 是否显示纵向滚动条 | boolean | true,false | true |
| cellSizeAndPositionGetter |设置每个单元格的位置坐标和宽高 | function| | — |
| horizontalOverscanSize | | number | | 0 |
| verticalOverscanSize | | number | | 0 |
| width | 行宽,必设 |number| | — |
| height | 列宽,必设 | number | | — |
| cellSizeAndPositionGetter |设置每个单元格的位置坐标和宽高 | function| | — |
| horizontalOverscanSize | | number | | 0 |
| verticalOverscanSize | | number | | 0 |
| width | 行宽,必设 |number| —ßß | — |
| height | 列宽,必设 | number | | — |
| scrollLeft | 滚动条相对于左边的偏移 | number | — | 0 |
| scrollTop | 滚动条相对于顶部的偏移 | number | — | 0 |

8
uidoc/core/abstract/custom_tree.md

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

19
uidoc/core/abstract/grid_view.md

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

6
uidoc/core/abstract/virtual_group.md

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

6
uidoc/core/abstract/virtual_list.md

@ -30,9 +30,9 @@ BI.createWidget({
##### 基础属性
| 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :-----| :----|:----
| items | 子组件数组 | array | | [ ] |
| blockSize | | number | | 10 |
| overscanHeight | | number | | 100 |
| items | 子组件数组 | array | | [ ] |
| blockSize | | number | | 10 |
| overscanHeight | | number | | 100 |
| 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 |
| stopPropagation | 阻止冒泡 | boolean | true,false| false |
| selected | button的选中状态 | boolean | true,false |false |
@ -17,7 +17,7 @@
| shadow | 是否显示阴影 | boolean| true,false| false|
| isShadowShowingOnSelected| 选中状态下是否显示阴影|boolean| true,false | false|
| 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 |
| 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 |
| destroyWhenHide | 隐藏弹窗层是否销毁 | boolean | true,false | false |
| isNeedAdjustHeight | 是否需要高度调整 | boolean | true,false | true |
| isNeedAdjustWidth | 是否需要宽度调整 | boolean | true,false | true |
| stopEvent | 阻止事件冒泡 | boolean | true,false | false |
| stopEvent | 是否阻止事件 | boolean | true,false | false |
| stopPropagation | 阻止事件冒泡 | boolean | true,false | false |
| adjustLength | 调整的距离 | number | — | 0 |
| adjustXOffset | 调整横向偏移 | number | — | 0 |
| adjustYOffset |调整纵向偏移 | number | — | 0 |
| hideChecker | | function | | —|
| hideChecker | | function | | —|
| offsetStyle | 弹出层显示位置 | string | left,right,center | "left,right,center"|
| el | 开启弹出层的元素 | object | — |{ }|
| popup | 弹出层 | object | — | { }|
| comboClass | | string | | "bi-combo-popup" |
| hoverClass | | string | | "bi-combo-hover" |
| comboClass | combo类 | string | | "bi-combo-popup" |
| hoverClass | hover类 | string | | "bi-combo-hover" |
@ -62,12 +62,12 @@ BI.createWidget({
| setValue |设置combo value值| v |
| getValue | 获取combo value值 | —|
| isViewVisible | 弹窗层是否可见 | —|
| showView | ||
| hideView |||
| getView |||
| getPopupPosition |||
| toggle |||
|destroy |||
| showView | 显示弹出层 ||
| hideView | 隐藏弹出层 ||
| getView | 获取弹出层 ||
| getPopupPosition | 获取弹出层的位置 ||
| toggle | 开启或者隐藏弹出层 ||
| destroy | 销毁组件 ||
## 事件
| 名称 | 说明 |
@ -81,6 +81,8 @@ BI.createWidget({
|BI.Combo.EVENT_AFTER_POPUPVIEW | 下拉列表弹出后触发 |
|BI.Combo.EVENT_BEFORE_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 |
| 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 |
| el | 开启弹出层的元素 | object | — |{ }|
| popup | 弹出层 | object | — | { }|
| expanderClass | | string | | "bi-expander-popup" |
| hoverClass | | string | | "bi-expander-hover" |
| expanderClass | 展开类 | string | | "bi-expander-popup" |
| hoverClass | hover类| string | | "bi-expander-hover" |
@ -25,13 +26,13 @@
| setValue | 设置combo value值| v |
| getValue | 获取combo value值 | —|
| isViewVisible | 弹窗层是否可见 | —|
| showView | ||
| hideView |||
| getView |||
| showView | 显示弹出层||
| hideView | 隐藏弹出层||
| getView | 获取弹出层||
| getAllLeaves | 获取所有的叶子节点 | —|
| getNodeById | 根据id获取节点 | id |
| getNodeByValue | 根据value值获取节点 | value |
| isExpanded | 节点是否展开 | |
| isExpanded | 节点是否展开 | |
| 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 | — | [ ] |
| el | 开启弹出层的元素 | object | — | {type: "bi.text_button", text: "", value: ""}|
| popup | 弹出层 | object | — |{el: {type: "bi.button_tree",chooseType: 0,layouts: [{type: "bi.vertical"}]}}|
| isDefaultInit | 是否默认初始化子节点 |boolean | true,false | false |
| isNeedAdjustHeight | 是否需要高度调整 | 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"|
| isDefaultInit | 是否默认初始化子数据 |boolean | true,false | true |
| logic | | object | | {dynamic:true,scrolly:true} |
| items| | array | | []|
| itemsCreator | | function | | — |
| onLoaded | | function | | — |
| logic | | object | | {dynamic:true,scrolly:true} |
| items| 子组件 | array | | []|
| itemsCreator | 子组件构造器 | function | | — |
| onLoaded | 加载中 | function | | — |
| count | 是否显示总页数 | boolean| true,false|boolean|
| prev | 上一页 | boolean | true,false | boolean |
| next | 下一页 | boolean | true,false | boolean |
| hasPrev | 判断是否有上一页 | function | | — |
| hasNext | 判断是否有下一页 | function | | — |
| hasPrev | 判断是否有上一页 | function | | — |
| hasNext | 判断是否有下一页 | function | | — |

9
uidoc/core/combination/navigation.md

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

18
uidoc/core/combination/searcher.md

@ -40,20 +40,20 @@ BI.createWidget({
##### 基础属性
| 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :-----| :----|:----
| 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 |
| 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 |
| chooseType | 选择类型 | const | | CHOOSE_TYPE_SINGLE |
| isDefaultInit | 是否默认初始化子节点 |boolean | true,false | false |
| isAutoSearch | 是否自动搜索 |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"}|
| popup | 弹出层 | object | — |{type: "bi.searcher_view"}|
| adapter | 弹出层显示的位置元素 | object | - | null|
| adapter | 弹出层显示的位置元素 | object | | null|
| masker | masker层 | object | — | {offset: {}}|
## 对外方法
@ -64,7 +64,7 @@ BI.createWidget({
| getValue | 获取被选中的值 |—|
| empty| 清空组件|—|
| destroy| 销毁组件|—|
| adapter | | |
| adapter | 搜索列表位置 | |
| doSearch | 开始搜索 | — |
| stopSearch | 停止搜索 | —|
| 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 |
| direction | 面板显示的位置 | string | — | BI.Direction.Top |
| el | 开启弹出层的元素 | object | — | { }|
| el | 自定义下拉框trigger | object | — | { }|
| popup | 弹出层 | object | — |{ }|
| adapter | 弹出层的位置 | object | — | null|
| masker | masker层 | | — | { }|
| switcherClass | | string| —| "bi-switcher-popup" |
| hoverClass | - | string | - | "bi-switcher-hover" |
| masker | masker层 | obejct | — | { }|
| switcherClass | 切换类 | string| —| "bi-switcher-popup" |
| hoverClass | hover类 | string | — | "bi-switcher-hover" |
## 对外方法
| 名称 | 说明 | 回调参数

7
uidoc/core/combination/tab.md

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

16
uidoc/core/layer/layer_popup.md

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

18
uidoc/core/layer/layer_searcher.md

@ -1,13 +1,27 @@
# bi.searcher_view
## 搜索面板, [BI.Widget](/core/widget.md)
## 搜索面板, 基类[BI.Widget](/core/widget.md)
{% method %}
[source](https://jsfiddle.net/fineui/k6s24et1/)
[source](https://jsfiddle.net/fineui/qkfns6wm/)
{% common %}
```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 |
| vgap | 效果相当于容器上下padding值 | number | | 0 |
| lgap | 效果相当于容器left-padding值 | number | | 0 |
| rgap | 效果相当于容器right-padding值 | number | | 0 |
| tgap | 效果相当于容器top-padding值 | number | | 0 |
| bgap | 效果相当于容器bottom-padding值 | number | | 0 |
| items | 子控件数组 | array | | | |
| 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 |
---

15
uidoc/core/layout/center_adapt.md

@ -36,13 +36,12 @@ BI.createWidget({
##### 基础属性
| 参数 | 说明 | 类型 | 可选值 | 默认值
| :------ |:------------- | :----- | :----|:----
| 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 |
| items | 子控件数组 | array | | |
| columnSize | 每列宽度所组成的数组 | array | | | |
| 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 |
| columnSize | 每列宽度所组成的数组 | array | — | [ ] |
---

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

Loading…
Cancel
Save