AstronautOO7
6 years ago
166 changed files with 27033 additions and 10077 deletions
@ -0,0 +1,52 @@
|
||||
# 更新日志 |
||||
2.0(2019-05) |
||||
- editor类控件新增EVENT_CHANGE_CONFIRM事件 |
||||
- 复选下拉控件和树下拉控件支持trigger是否可编辑 |
||||
- 时分秒控件支持自定义时间显示格式和是否可编辑 |
||||
- 日期/时间/日期区间/时间区间支持自定义日期选择范围和是否可编辑 |
||||
- 日期/时间/日期区间/时间区间支持自定义日期显示格式和是否可编辑 |
||||
- 增加less函数: 字体资源添加函数addFontRe和字体激活函数activeFont |
||||
|
||||
> @fontList: "dec", "report"; |
||||
> .addFontRes("dec"); |
||||
> .addFontRes("report"); |
||||
> .activateFont(@fontList); |
||||
|
||||
以上即可使用自定义的dec,report字体和fineui的资源字体 |
||||
|
||||
2.0(2019-04) |
||||
- 新增`bi.multi_tree_list_combo`控件, 此下拉树勾选节点时不会影响父子节点的勾选状态 |
||||
- 新增`bi.multi_tree_insert_combo`控件, 此下拉树可以插入不存在的新值 |
||||
- 新增`bi.list_tree_value_chooser_insert_combo`部件, 封装`bi.multi_tree_list_combo`数据处理逻辑 |
||||
- 新增`bi.tree_value_chooser_insert_combo`部件, 封装`bi.multi_tree_insert_combo`数据处理逻辑 |
||||
- 增加BI.DOM.ready方法 |
||||
|
||||
2.0(2019-03) |
||||
- 新增`bi.time_combo`时分秒控件和`bi.time_periods`时间选择区间,时间区间无有效值校验 |
||||
- Label控件增加highlight参数, 可指定初始化标蓝 |
||||
|
||||
2.0(2019-01) |
||||
- 加载更多的单选下拉系列新增allowNoSelect参数配置, 使得可以不选任意一个值 |
||||
|
||||
2.0(2018-12) |
||||
- 增加Button的点击动画和Combo下拉时下拉图标动画 |
||||
|
||||
|
||||
2.0(2018-11) |
||||
- 增加`bi.html`和`bi.html_label`类型,text支持html文本,不支持keyword |
||||
|
||||
|
||||
2.0(2018-10) |
||||
- popover增加高度自适应,即open的时候回根据内容高度调整popover的高度 |
||||
|
||||
|
||||
2.0(2018-09) |
||||
- 增加Fix对configuable为false的对象的不内部构造响应式数据的性能优化处理,例如: |
||||
|
||||
> this.model.json = Object.freeze({name: "zhang"}); |
||||
|
||||
只会对this.model.json进行响应式处理,不会对内部的name进行响应式处理 |
||||
|
||||
|
||||
2.0(2018-08) |
||||
- 增加BI.mount方法,支持同构 |
@ -0,0 +1,590 @@
|
||||
/** |
||||
* 整理所有label场景 |
||||
*/ |
||||
Demo.LabelScene = BI.inherit(BI.Widget, { |
||||
props: { |
||||
baseCls: "demo-label" |
||||
}, |
||||
render: function () { |
||||
var items = []; |
||||
|
||||
items.push(this.createExpander("1.1.1 文字居中,有宽度和高度,有文字宽度,whiteSpace为normal", { |
||||
type: "bi.label", |
||||
cls: "layout-bg6", |
||||
text: "设置了textWidth,则一定是嵌套结构,因此需要用center_adapt布局容纳一下.为了实现不足一行时文字水平居中,超出一行时左对齐,需要设置maxWidth.", |
||||
whiteSpace: "normal", |
||||
height: 50, |
||||
width: 500, |
||||
textWidth: 200, |
||||
textAlign: "center" |
||||
})); |
||||
|
||||
items.push(this.createExpander("1.1.2 居中,有宽度和高度,有文字宽度,whiteSpace为nowrap", { |
||||
type: "bi.label", |
||||
cls: "layout-bg6", |
||||
text: "居中,有宽度高度,有文字宽度,whiteSpace为nowrap,maxWidth会限制文字", |
||||
whiteSpace: "nowrap", |
||||
height: 50, |
||||
width: 500, |
||||
textWidth: 350, |
||||
textAlign: "center" |
||||
})); |
||||
|
||||
items.push((this.createExpander("1.2.1 居中,有宽度无高度,有文字宽度,whiteSpace为normal", { |
||||
type: "bi.label", |
||||
cls: "layout-bg6", |
||||
text: "居中,有宽度无高度,有文字宽度,whiteSpace为normal,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数", |
||||
whiteSpace: "normal", |
||||
width: 500, |
||||
textWidth: 200, |
||||
textAlign: "center" |
||||
}))); |
||||
|
||||
items.push((this.createExpander("1.2.1 居中,有宽度无高度,有文字宽度,whiteSpace为normal,高度被父容器拉满", { |
||||
type: "bi.absolute", |
||||
height: 100, |
||||
items: [ |
||||
{ |
||||
el: { |
||||
type: "bi.label", |
||||
cls: "layout-bg6", |
||||
text: "此时虽然没有对label设置高度,但由于使用了center_adapt布局,依然会垂直方向居中", |
||||
whiteSpace: "normal", |
||||
width: 500, |
||||
textWidth: 200, |
||||
textAlign: "center" |
||||
}, |
||||
top: 0, |
||||
left: 0, |
||||
bottom: 0 |
||||
} |
||||
] |
||||
}))); |
||||
|
||||
items.push((this.createExpander("1.2.2 居中,有宽度无高度,有文字宽度,whiteSpace为nowrap", { |
||||
type: "bi.label", |
||||
cls: "layout-bg6", |
||||
text: "居中,有宽度无高度,有文字宽度,whiteSpace为nowrap,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数", |
||||
whiteSpace: "nowrap", |
||||
width: 500, |
||||
textWidth: 350, |
||||
textAlign: "center" |
||||
}))); |
||||
|
||||
items.push((this.createExpander("1.3.1 居中,有宽度和高度,无文字宽度,whiteSpace为normal", { |
||||
type: "bi.label", |
||||
cls: "layout-bg3", |
||||
text: "居中,有宽度高度,无文字宽度,whiteSpace为normal,只需用center_adapt布局包一下即可.度,下即可.居中,有宽度,无文字宽度,whiteSpace为normal居中,有宽度,无文字宽度,下即可.居中,有宽度,无文字宽度,whiteSpace为normal居中,有宽度,无文字宽度,下即可.居中,有宽度,无文字宽度,whiteSpace为normal居中,有宽度,无文字宽度,度,无文字宽度,whiteSpace为normal居中,有宽度,无文字宽度,whiteSpace为normal", |
||||
width: 500, |
||||
whiteSpace: "normal", |
||||
textAlign: "center", |
||||
height: 50 |
||||
}))); |
||||
|
||||
items.push((this.createExpander("1.3.2 居中,有宽度无高度,无文字宽度,whiteSpace为normal", { |
||||
type: "bi.absolute", |
||||
height: 100, |
||||
items: [ |
||||
{ |
||||
el: { |
||||
type: "bi.label", |
||||
cls: "layout-bg3", |
||||
text: "居中,有宽度无高度,无文字宽度,whiteSpace为normal,只需用center_adapt布局包一下即可.度,下即可.居中,有宽度,无文字宽度,whiteSpace为normal居中,有宽度,无文字宽度,下即可.居中,有宽度,无文字宽度,whiteSpace为normal居中,有宽度,无文字宽度,下即可.居中,有宽度,无文字宽度,whiteSpace为normal居中,有宽度,无文字宽度,度,无文字宽度,whiteSpace为normal居中,有宽度,无文字宽度,whiteSpace为normal", |
||||
width: 500, |
||||
whiteSpace: "normal", |
||||
textAlign: "center" |
||||
}, |
||||
top: 0, |
||||
left: 0, |
||||
bottom: 0 |
||||
} |
||||
] |
||||
}))); |
||||
|
||||
items.push((this.createExpander("1.4 居中,有宽度和高度,无文字宽度,whiteSpace为nowrap", { |
||||
type: "bi.label", |
||||
cls: "layout-bg3", |
||||
text: "居中,有宽度500有高度50,无文字宽度,whiteSpace为nowrap,此处无需两层div,设置text即可,然后设置line-height为传入高度即可实现垂直方向居中", |
||||
width: 500, |
||||
whiteSpace: "nowrap", |
||||
textAlign: "center", |
||||
height: 50 |
||||
}))); |
||||
|
||||
items.push((this.createExpander("1.5.1 居中,有宽度无高度,无文字宽度,whiteSpace为nowrap", { |
||||
type: "bi.label", |
||||
cls: "layout-bg3", |
||||
text: "居中,有宽度500无高度,无文字宽度,whiteSpace为nowrap,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数", |
||||
width: 500, |
||||
whiteSpace: "nowrap", |
||||
textAlign: "center" |
||||
}))); |
||||
|
||||
items.push((this.createExpander("1.5.2 居中,有宽度无高度,无文字宽度,whiteSpace为nowrap,高度被父级拉满", { |
||||
type: "bi.absolute", |
||||
height: 50, |
||||
items: [ |
||||
{ |
||||
el: { |
||||
type: "bi.label", |
||||
cls: "layout-bg3", |
||||
text: "居中,有宽度500无高度,无文字宽度,whiteSpace为nowrap,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数", |
||||
width: 500, |
||||
whiteSpace: "nowrap", |
||||
textAlign: "center" |
||||
}, |
||||
top: 0, |
||||
left: 0, |
||||
bottom: 0 |
||||
} |
||||
] |
||||
}))); |
||||
|
||||
items.push((this.createExpander("1.6.1 居中,无宽度无高度,有文字宽度,whiteSpace为nowrap", { |
||||
type: "bi.label", |
||||
cls: "layout-bg3", |
||||
text: "居中,无宽度,有文字宽度,whiteSpace为nowrap,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数", |
||||
textWidth: 500, |
||||
whiteSpace: "nowrap", |
||||
textAlign: "center" |
||||
}))); |
||||
|
||||
items.push((this.createExpander("1.6.2 居中,无宽度无高度,有文字宽度,whiteSpace为normal", { |
||||
type: "bi.label", |
||||
cls: "layout-bg3", |
||||
text: "居中,无宽度,有文字宽度,whiteSpace为normal,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数", |
||||
textWidth: 500, |
||||
whiteSpace: "normal", |
||||
textAlign: "center" |
||||
}))); |
||||
|
||||
items.push((this.createExpander("1.6.3 居中,无宽度无,有文字宽度,whiteSpace为normal,被父级拉满", { |
||||
type: "bi.absolute", |
||||
height: 100, |
||||
items: [ |
||||
{ |
||||
el: { |
||||
type: "bi.label", |
||||
cls: "layout-bg3", |
||||
text: "居中,无宽度,有文字宽度,whiteSpace为normal,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数", |
||||
textWidth: 500, |
||||
whiteSpace: "normal", |
||||
textAlign: "center" |
||||
}, |
||||
left: 0, |
||||
right: 0, |
||||
top: 0, |
||||
bottom: 0 |
||||
} |
||||
] |
||||
}))); |
||||
|
||||
items.push((this.createExpander("1.7.1 居中,无宽度无高度,无文字宽度,whiteSpace为normal", { |
||||
type: "bi.label", |
||||
cls: "layout-bg3", |
||||
text: "居中,无宽度无高度,无文字宽度,whiteSpace为normal,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数", |
||||
whiteSpace: "normal", |
||||
textAlign: "center" |
||||
}))); |
||||
|
||||
items.push((this.createExpander("1.7.2 居中,无宽度无高度,无文字宽度,whiteSpace为normal,被父级拉满", { |
||||
type: "bi.absolute", |
||||
height: 100, |
||||
items: [ |
||||
{ |
||||
el: { |
||||
type: "bi.label", |
||||
cls: "layout-bg3", |
||||
text: "居中,无宽度无高度,无文字宽度,whiteSpace为normal,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数", |
||||
whiteSpace: "normal", |
||||
textAlign: "center" |
||||
}, |
||||
left: 0, |
||||
right: 0, |
||||
top: 0, |
||||
bottom: 0 |
||||
} |
||||
] |
||||
}))); |
||||
|
||||
items.push((this.createExpander("1.7.3 居中,无宽度有高度,无文字宽度,whiteSpace为normal", { |
||||
type: "bi.label", |
||||
cls: "layout-bg3", |
||||
text: "居中,无宽度有高度,无文字宽度,whiteSpace为normal,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数", |
||||
whiteSpace: "normal", |
||||
height: 50, |
||||
textAlign: "center" |
||||
}))); |
||||
|
||||
items.push((this.createExpander("1.8 居中,无宽度有高度,无文字宽度,whiteSpace为nowrap", { |
||||
type: "bi.label", |
||||
cls: "layout-bg3", |
||||
text: "居中,无宽度有高度,无文字宽度,whiteSpace为nowrap,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数", |
||||
whiteSpace: "nowrap", |
||||
height: 50, |
||||
textAlign: "center" |
||||
}))); |
||||
|
||||
items.push((this.createExpander("1.9 居中,无宽度无高度,无文字宽度,whiteSpace为nowrap", { |
||||
type: "bi.label", |
||||
cls: "layout-bg3", |
||||
text: "居中,无宽度无高度,无文字宽度,whiteSpace为nowrap,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数", |
||||
whiteSpace: "nowrap", |
||||
textAlign: "center" |
||||
}))); |
||||
|
||||
items.push((this.createExpander("1.9.1 居中,无宽度无高度,无文字宽度,whiteSpace为nowrap,高度被父级拉满", { |
||||
type: "bi.absolute", |
||||
height: 50, |
||||
items: [ |
||||
{ |
||||
el: { |
||||
type: "bi.label", |
||||
cls: "layout-bg3", |
||||
text: "居中,无宽度无高度,无文字宽度,whiteSpace为nowrap,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数", |
||||
whiteSpace: "nowrap", |
||||
textAlign: "center" |
||||
}, |
||||
top: 0, |
||||
left: 0, |
||||
right: 0, |
||||
bottom: 0 |
||||
} |
||||
] |
||||
}))); |
||||
|
||||
items.push((this.createExpander("2.1.1 居左,有宽度有高度,有文字宽度,whiteSpace为normal", { |
||||
type: "bi.label", |
||||
cls: "layout-bg2", |
||||
text: "居左,有宽度有高度,有文字宽度,whiteSpace为normal,为了演示这个是真的是normal的我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数", |
||||
whiteSpace: "normal", |
||||
textAlign: "left", |
||||
textWidth: 300, |
||||
height: 50, |
||||
width: 500 |
||||
}))); |
||||
|
||||
items.push((this.createExpander("2.1.2 居左,有宽度有高度,有文字宽度,whiteSpace为nowrap", { |
||||
type: "bi.label", |
||||
cls: "layout-bg2", |
||||
text: "居左,有宽度有高度,有文字宽度,whiteSpace为normal,为了演示这个是真的是normal的我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数", |
||||
whiteSpace: "nowrap", |
||||
textAlign: "left", |
||||
textWidth: 300, |
||||
height: 50, |
||||
width: 500 |
||||
}))); |
||||
|
||||
items.push((this.createExpander("2.2.1 居左,有宽度无高度,有文字宽度,whiteSpace为normal", { |
||||
type: "bi.label", |
||||
cls: "layout-bg2", |
||||
text: "居左,有宽度无高度,有文字宽度,whiteSpace为normal,不设置高度,为了演示这个是真的是normal的我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数", |
||||
whiteSpace: "normal", |
||||
textAlign: "left", |
||||
textWidth: 300, |
||||
width: 500 |
||||
}))); |
||||
|
||||
items.push((this.createExpander("2.2.2 居左,有宽度无高度,有文字宽度,whiteSpace为normal,高度被父级拉满", { |
||||
type: "bi.absolute", |
||||
height: 100, |
||||
items: [ |
||||
{ |
||||
el: { |
||||
type: "bi.label", |
||||
cls: "layout-bg2", |
||||
text: "居左,有宽度无高度,有文字宽度,whiteSpace为normal,不设置高度,为了演示这个是真的是normal的我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数", |
||||
whiteSpace: "normal", |
||||
textAlign: "left", |
||||
textWidth: 300, |
||||
width: 500 |
||||
}, |
||||
top: 0, |
||||
bottom: 0, |
||||
left: 0 |
||||
} |
||||
] |
||||
}))); |
||||
|
||||
items.push((this.createExpander("2.2.3 居左,有宽度无高度,有文字宽度,whiteSpace为nowrap", { |
||||
type: "bi.label", |
||||
cls: "layout-bg2", |
||||
text: "居左,有宽度无高度,有文字宽度,whiteSpace为nowrap,不设置高度,为了演示这个是真的是normal的我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数", |
||||
whiteSpace: "nowrap", |
||||
textAlign: "left", |
||||
textWidth: 300, |
||||
width: 500 |
||||
}))); |
||||
|
||||
items.push((this.createExpander("2.2.4 居左,有宽度无高度,有文字宽度,whiteSpace为nowrap,高度被父级拉满", { |
||||
type: "bi.absolute", |
||||
height: 100, |
||||
items: [ |
||||
{ |
||||
el: { |
||||
type: "bi.label", |
||||
cls: "layout-bg2", |
||||
text: "居左,有宽度无高度,有文字宽度,whiteSpace为nowrap,不设置高度,为了演示这个是真的是normal的我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数", |
||||
whiteSpace: "nowrap", |
||||
textAlign: "left", |
||||
textWidth: 300, |
||||
width: 500 |
||||
}, |
||||
top: 0, |
||||
bottom: 0, |
||||
left: 0 |
||||
} |
||||
] |
||||
}))); |
||||
|
||||
items.push((this.createExpander("2.3.1 居左,有宽度有高度,无文字宽度,whiteSpace为nowrap", { |
||||
type: "bi.label", |
||||
cls: "layout-bg2", |
||||
text: "居左,有宽度有高度,无文字宽度,whiteSpace为nowrap,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数", |
||||
whiteSpace: "nowrap", |
||||
textAlign: "left", |
||||
height: 50, |
||||
vgap: 5, |
||||
width: 500 |
||||
}))); |
||||
|
||||
items.push((this.createExpander("2.3.2 居左,有宽度有高度,无文字宽度,whiteSpace为normal", { |
||||
type: "bi.label", |
||||
cls: "layout-bg2", |
||||
text: "居左,有宽度有高度,无文字宽度,whiteSpace为normal,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数", |
||||
whiteSpace: "normal", |
||||
textAlign: "left", |
||||
height: 50, |
||||
width: 500 |
||||
}))); |
||||
|
||||
items.push((this.createExpander("2.4.1 居左,有宽度无高度,无文字宽度,whiteSpace为normal", { |
||||
type: "bi.label", |
||||
cls: "layout-bg2", |
||||
text: "居左,有宽度无高度,无文字宽度,whiteSpace为normal,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数", |
||||
whiteSpace: "normal", |
||||
textAlign: "left", |
||||
width: 500 |
||||
}))); |
||||
|
||||
items.push((this.createExpander("2.4.2 居左,有宽度无高度,无文字宽度,whiteSpace为normal,高度被父级拉满", { |
||||
type: "bi.absolute", |
||||
height: 100, |
||||
items: [ |
||||
{ |
||||
el: { |
||||
type: "bi.label", |
||||
cls: "layout-bg1", |
||||
text: "居左,有宽度无高度,无文字宽度,whiteSpace为normal,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数", |
||||
whiteSpace: "normal", |
||||
textAlign: "left", |
||||
width: 500 |
||||
}, |
||||
top: 0, |
||||
left: 0, |
||||
bottom: 0 |
||||
} |
||||
] |
||||
}))); |
||||
|
||||
items.push((this.createExpander("2.5.1 居左,无宽度无高度,有文字宽度,whiteSpace为normal", { |
||||
type: "bi.label", |
||||
cls: "layout-bg2", |
||||
text: "居左,无宽度无高度,有文字宽度,whiteSpace为normal,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数", |
||||
whiteSpace: "normal", |
||||
textAlign: "left", |
||||
textWidth: 300 |
||||
}))); |
||||
|
||||
items.push((this.createExpander("2.5.2 居左,无宽度无高度,有文字宽度,whiteSpace为normal,高度被父级拉满", { |
||||
type: "bi.absolute", |
||||
height: 100, |
||||
items: [ |
||||
{ |
||||
el: { |
||||
type: "bi.label", |
||||
cls: "layout-bg2", |
||||
text: "居左,无宽度无高度,有文字宽度,whiteSpace为normal,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数", |
||||
whiteSpace: "normal", |
||||
textAlign: "left", |
||||
textWidth: 300 |
||||
}, |
||||
top: 0, |
||||
left: 0, |
||||
bottom: 0, |
||||
right: 0 |
||||
} |
||||
] |
||||
}))); |
||||
|
||||
items.push((this.createExpander("2.5.3 居左,无宽度无高度,有文字宽度,whiteSpace为nowrap", { |
||||
type: "bi.label", |
||||
cls: "layout-bg2", |
||||
text: "居左,无宽度无高度,有文字宽度,whiteSpace为normal,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数", |
||||
whiteSpace: "nowrap", |
||||
textAlign: "left", |
||||
textWidth: 300 |
||||
}))); |
||||
|
||||
items.push((this.createExpander("2.5.4 居左,无宽度无高度,有文字宽度,whiteSpace为nowrap,高度被父级拉满", { |
||||
type: "bi.absolute", |
||||
height: 100, |
||||
items: [ |
||||
{ |
||||
el: { |
||||
type: "bi.label", |
||||
cls: "layout-bg2", |
||||
text: "居左,无宽度无高度,有文字宽度,whiteSpace为normal,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数", |
||||
whiteSpace: "nowrap", |
||||
textAlign: "left", |
||||
textWidth: 300 |
||||
}, |
||||
top: 0, |
||||
left: 0, |
||||
bottom: 0, |
||||
right: 0 |
||||
} |
||||
] |
||||
}))); |
||||
|
||||
items.push((this.createExpander("2.6.1 居左,无宽度有高度,无文字宽度,whiteSpace为nowrap", { |
||||
type: "bi.label", |
||||
cls: "layout-bg2", |
||||
text: "居左,无宽度有高度,无文字宽度,whiteSpace为nowrap,注意这个是设置了vgap的,为了实现居中,lineHeight要做计算,才能准确的垂直居中", |
||||
whiteSpace: "nowrap", |
||||
textAlign: "left", |
||||
vgap: 10, |
||||
height: 50 |
||||
}))); |
||||
|
||||
items.push((this.createExpander("2.6.2 居左,无宽度有高度,无文字宽度,whiteSpace为normal", { |
||||
type: "bi.label", |
||||
cls: "layout-bg2", |
||||
text: "居左,无宽度有高度,无文字宽度,whiteSpace为normal,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数", |
||||
whiteSpace: "normal", |
||||
textAlign: "left", |
||||
height: 50 |
||||
}))); |
||||
|
||||
items.push((this.createExpander("2.7.1 居左,无宽度无高度,无文字宽度,whiteSpace为normal", { |
||||
type: "bi.label", |
||||
cls: "layout-bg2", |
||||
text: "居左,无宽度无高度,无文字宽度,whiteSpace为normal,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,我凑点字数,凑点字数,凑点字数,字数,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数", |
||||
whiteSpace: "normal", |
||||
textAlign: "left" |
||||
}))); |
||||
|
||||
items.push((this.createExpander("2.7.2 居左,无宽度无高度,无文字宽度,whiteSpace为normal,高度被父级拉满", { |
||||
type: "bi.absolute", |
||||
height: 100, |
||||
items: [ |
||||
{ |
||||
el: { |
||||
type: "bi.label", |
||||
cls: "layout-bg2", |
||||
text: "居左,无宽度无高度,无文字宽度,whiteSpace为normal,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,我凑点字数,凑点字数,凑点字数,字数,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数", |
||||
whiteSpace: "normal", |
||||
textAlign: "left" |
||||
}, |
||||
top: 0, |
||||
left: 0, |
||||
bottom: 0, |
||||
right: 0 |
||||
} |
||||
] |
||||
}))); |
||||
|
||||
items.push((this.createExpander("2.7.3 居左,无宽度无高度,无文字宽度,whiteSpace为nowrap", { |
||||
type: "bi.label", |
||||
cls: "layout-bg2", |
||||
text: "居左,无宽度无高度,无文字宽度,whiteSpace为nowrap,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,我凑点字数,凑点字数,凑点字数,字数,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数", |
||||
whiteSpace: "nowrap", |
||||
textAlign: "left" |
||||
}))); |
||||
|
||||
items.push((this.createExpander("2.7.4 居左,无宽度无高度,无文字宽度,whiteSpace为nowrap,高度被父级拉满", { |
||||
type: "bi.absolute", |
||||
height: 100, |
||||
items: [ |
||||
{ |
||||
el: { |
||||
type: "bi.label", |
||||
cls: "layout-bg2", |
||||
text: "居左,无宽度无高度,无文字宽度,whiteSpace为nowrap,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,我凑点字数,凑点字数,凑点字数,字数,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数", |
||||
whiteSpace: "nowrap", |
||||
textAlign: "left" |
||||
}, |
||||
top: 0, |
||||
left: 0, |
||||
bottom: 0, |
||||
right: 0 |
||||
} |
||||
] |
||||
}))); |
||||
|
||||
items.push((this.createExpander("2.8 居左,无宽度无高度,无文字宽度,whiteSpace为nowrap,高度被父级拉满", { |
||||
type: "bi.absolute", |
||||
height: 100, |
||||
items: [ |
||||
{ |
||||
el: { |
||||
type: "bi.label", |
||||
cls: "layout-bg2", |
||||
text: "居左,无宽度无高度,无文字宽度,whiteSpace为nowrap,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,我凑点字数,凑点字数,凑点字数,字数,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数", |
||||
whiteSpace: "nowrap", |
||||
textAlign: "left" |
||||
}, |
||||
top: 0, |
||||
left: 0, |
||||
bottom: 0, |
||||
right: 0 |
||||
} |
||||
] |
||||
}))); |
||||
|
||||
items.push((this.createExpander("2.8.2 居左,无宽度无高度,无文字宽度,whiteSpace为normal,高度被父级拉满", { |
||||
type: "bi.absolute", |
||||
height: 100, |
||||
items: [ |
||||
{ |
||||
el: { |
||||
type: "bi.label", |
||||
cls: "layout-bg2", |
||||
text: "居左,无宽度无高度,无文字宽度,whiteSpace为normal,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,我凑点字数,凑点字数,凑点字数,字数,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,我凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数,凑点字数", |
||||
whiteSpace: "normal", |
||||
textAlign: "left" |
||||
}, |
||||
top: 0, |
||||
left: 0, |
||||
bottom: 0, |
||||
right: 0 |
||||
} |
||||
] |
||||
}))); |
||||
|
||||
return { |
||||
type: "bi.vertical", |
||||
items: items, |
||||
hgap: 300, |
||||
vgap: 20 |
||||
}; |
||||
}, |
||||
|
||||
createExpander: function (text, popup) { |
||||
return { |
||||
type: "bi.vertical", |
||||
items: [ |
||||
{ |
||||
type: "bi.label", |
||||
cls: "demo-font-weight-bold", |
||||
textAlign: "left", |
||||
text: text, |
||||
height: 30 |
||||
}, { |
||||
el: popup |
||||
} |
||||
] |
||||
}; |
||||
} |
||||
}); |
||||
BI.shortcut("demo.label_scene", Demo.LabelScene); |
@ -0,0 +1,48 @@
|
||||
/** |
||||
* Created by Dailer on 2017/7/13. |
||||
*/ |
||||
Demo.TimeCombo = BI.inherit(BI.Widget, { |
||||
props: { |
||||
baseCls: "" |
||||
}, |
||||
|
||||
render: function () { |
||||
var self = this; |
||||
return { |
||||
type: "bi.horizontal_auto", |
||||
items: [{ |
||||
type: "bi.time_combo", |
||||
ref: function (_ref) { |
||||
self.timeCombo = _ref; |
||||
}, |
||||
// allowEdit: true,
|
||||
// format: "%H:%M:%S", // HH:mm:ss
|
||||
// format: "%I:%M:%S", // hh:mm:ss
|
||||
// format: "%l:%M:%S", // h:mm:ss
|
||||
// format: "%k:%M:%S", // H:mm:ss
|
||||
// format: "%l:%M:%S %p", // h:mm:ss a
|
||||
// format: "%l:%M", // h:mm
|
||||
// format: "%k:%M", // H:mm
|
||||
// format: "%I:%M", // hh:mm
|
||||
// format: "%H:%M", // HH:mm
|
||||
// format: "%M:%S", // mm:ss
|
||||
value: { |
||||
hour: 12, |
||||
minute: 0, |
||||
second: 0 |
||||
}, |
||||
width: 300 |
||||
}, { |
||||
type: "bi.button", |
||||
text: "getValue", |
||||
handler: function () { |
||||
BI.Msg.toast(JSON.stringify(self.timeCombo.getValue())); |
||||
}, |
||||
width: 300 |
||||
}], |
||||
vgap: 20 |
||||
}; |
||||
} |
||||
}); |
||||
|
||||
BI.shortcut("demo.time_combo", Demo.TimeCombo); |
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Before Width: | Height: | Size: 281 KiB After Width: | Height: | Size: 288 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
@ -0,0 +1,123 @@
|
||||
/** |
||||
* author: windy |
||||
* 继承自treeView, 此树的父子节点的勾选状态互不影响, 此树不会有半选节点 |
||||
* 返回value格式为["A", ["A", "a"]]表示勾选了A且勾选了a |
||||
* @class BI.ListListAsyncTree |
||||
* @extends BI.TreeView |
||||
*/ |
||||
BI.ListAsyncTree = BI.inherit(BI.ListTreeView, { |
||||
_defaultConfig: function () { |
||||
return BI.extend(BI.ListAsyncTree.superclass._defaultConfig.apply(this, arguments), {}); |
||||
}, |
||||
_init: function () { |
||||
BI.ListAsyncTree.superclass._init.apply(this, arguments); |
||||
}, |
||||
|
||||
// 配置属性
|
||||
_configSetting: function () { |
||||
var paras = this.options.paras; |
||||
var self = this; |
||||
var setting = { |
||||
async: { |
||||
enable: false, // 很明显这棵树把异步请求关掉了,所有的异步请求都是手动控制的
|
||||
otherParam: BI.cjkEncodeDO(paras) |
||||
}, |
||||
check: { |
||||
enable: true, |
||||
chkboxType: {Y: "", N: ""} |
||||
}, |
||||
data: { |
||||
key: { |
||||
title: "title", |
||||
name: "text" |
||||
}, |
||||
simpleData: { |
||||
enable: true |
||||
} |
||||
}, |
||||
view: { |
||||
showIcon: false, |
||||
expandSpeed: "", |
||||
nameIsHTML: true, |
||||
dblClickExpand: false |
||||
}, |
||||
callback: { |
||||
onCheck: onCheck, |
||||
beforeExpand: beforeExpand, |
||||
beforeCheck: beforeCheck, |
||||
onClick: onClick |
||||
} |
||||
}; |
||||
|
||||
function beforeCheck (treeId, treeNode) { |
||||
treeNode.half = false; |
||||
} |
||||
|
||||
function onClick (event, treeId, treeNode) { |
||||
var zTree = $.fn.zTree.getZTreeObj(treeId); |
||||
var checked = treeNode.checked; |
||||
self._checkValue(treeNode, !checked); |
||||
zTree.checkNode(treeNode, !checked, true, true); |
||||
} |
||||
|
||||
function beforeExpand (treeId, treeNode) { |
||||
self._beforeExpandNode(treeId, treeNode); |
||||
} |
||||
|
||||
function onCheck (event, treeId, treeNode) { |
||||
self._selectTreeNode(treeId, treeNode); |
||||
} |
||||
|
||||
return setting; |
||||
}, |
||||
|
||||
// 展开节点
|
||||
_beforeExpandNode: function (treeId, treeNode) { |
||||
var self = this, o = this.options; |
||||
var parentValues = treeNode.parentValues || self._getParentValues(treeNode); |
||||
var op = BI.extend({}, o.paras, { |
||||
id: treeNode.id, |
||||
times: 1, |
||||
parentValues: parentValues.concat(this._getNodeValue(treeNode)) |
||||
}); |
||||
var complete = function (d) { |
||||
var nodes = d.items || []; |
||||
if (nodes.length > 0) { |
||||
callback(self._dealWidthNodes(nodes), !!d.hasNext); |
||||
} |
||||
}; |
||||
var times = 1; |
||||
|
||||
function callback (nodes, hasNext) { |
||||
self.nodes.addNodes(treeNode, nodes); |
||||
// 展开节点是没有分页的
|
||||
if (hasNext === true) { |
||||
BI.delay(function () { |
||||
times++; |
||||
op.times = times; |
||||
o.itemsCreator(op, complete); |
||||
}, 100); |
||||
} |
||||
} |
||||
|
||||
if (!treeNode.children) { |
||||
setTimeout(function () { |
||||
o.itemsCreator(op, complete); |
||||
}, 17); |
||||
} |
||||
}, |
||||
|
||||
hasChecked: function () { |
||||
return !BI.isEmpty(this.options.paras.selectedValues) || BI.ListAsyncTree.superclass.hasChecked.apply(this, arguments); |
||||
}, |
||||
|
||||
// 生成树方法
|
||||
stroke: function (config) { |
||||
delete this.options.keyword; |
||||
BI.extend(this.options.paras, config); |
||||
var setting = this._configSetting(); |
||||
this._initTree(setting); |
||||
} |
||||
}); |
||||
|
||||
BI.shortcut("bi.list_async_tree", BI.ListAsyncTree); |
@ -0,0 +1,92 @@
|
||||
/** |
||||
* guy |
||||
* 局部树,两个请求树, 第一个请求构造树,第二个请求获取节点 |
||||
* @class BI.ListPartTree |
||||
* @extends BI.AsyncTree |
||||
*/ |
||||
BI.ListPartTree = BI.inherit(BI.ListAsyncTree, { |
||||
_defaultConfig: function () { |
||||
return BI.extend(BI.ListPartTree.superclass._defaultConfig.apply(this, arguments), {}); |
||||
}, |
||||
|
||||
_init: function () { |
||||
BI.ListPartTree.superclass._init.apply(this, arguments); |
||||
}, |
||||
|
||||
_loadMore: function () { |
||||
var self = this, o = this.options; |
||||
var op = BI.extend({}, o.paras, { |
||||
type: BI.TreeView.REQ_TYPE_INIT_DATA, |
||||
times: ++this.times |
||||
}); |
||||
this.tip.setLoading(); |
||||
o.itemsCreator(op, function (d) { |
||||
var hasNext = !!d.hasNext, nodes = d.items || []; |
||||
o.paras.lastSearchValue = d.lastSearchValue; |
||||
if (self._stop === true) { |
||||
return; |
||||
} |
||||
if (!hasNext) { |
||||
self.tip.setEnd(); |
||||
} else { |
||||
self.tip.setLoaded(); |
||||
} |
||||
if (nodes.length > 0) { |
||||
self.nodes.addNodes(null, self._dealWidthNodes(nodes)); |
||||
} |
||||
}); |
||||
}, |
||||
|
||||
_initTree: function (setting, keyword) { |
||||
var self = this, o = this.options; |
||||
this.times = 1; |
||||
var tree = this.tree; |
||||
tree.empty(); |
||||
self.tip.setVisible(false); |
||||
this.loading(); |
||||
var op = BI.extend({}, o.paras, { |
||||
type: BI.TreeView.REQ_TYPE_INIT_DATA, |
||||
times: this.times |
||||
}); |
||||
var complete = function (d) { |
||||
if (self._stop === true || keyword != o.paras.keyword) { |
||||
return; |
||||
} |
||||
var hasNext = !!d.hasNext, nodes = d.items || []; |
||||
o.paras.lastSearchValue = d.lastSearchValue; |
||||
// 没有请求到数据也要初始化空树, 如果不初始化, 树就是上一次构造的树, 节点信息都是过期的
|
||||
callback(nodes.length > 0 ? self._dealWidthNodes(nodes) : []); |
||||
self.setTipVisible(nodes.length <= 0); |
||||
self.loaded(); |
||||
if (!hasNext) { |
||||
self.tip.invisible(); |
||||
} else { |
||||
self.tip.setLoaded(); |
||||
} |
||||
self.fireEvent(BI.Events.AFTERINIT); |
||||
}; |
||||
|
||||
function callback (nodes) { |
||||
if (self._stop === true) { |
||||
return; |
||||
} |
||||
self.nodes = $.fn.zTree.init(tree.element, setting, nodes); |
||||
} |
||||
|
||||
BI.delay(function () { |
||||
o.itemsCreator(op, complete); |
||||
}, 100); |
||||
}, |
||||
|
||||
// 生成树方法
|
||||
stroke: function (config) { |
||||
var o = this.options; |
||||
delete o.paras.keyword; |
||||
BI.extend(o.paras, config); |
||||
delete o.paras.lastSearchValue; |
||||
var setting = this._configSetting(); |
||||
this._initTree(setting, o.paras.keyword); |
||||
} |
||||
}); |
||||
|
||||
BI.shortcut("bi.list_part_tree", BI.ListPartTree); |
@ -0,0 +1,114 @@
|
||||
/** |
||||
* author: windy |
||||
* 继承自treeView, 此树的父子节点的勾选状态互不影响, 此树不会有半选节点 |
||||
* 返回value格式为[["A"], ["A", "a"]]表示勾选了A且勾选了a |
||||
* @class BI.ListTreeView |
||||
* @extends BI.TreeView |
||||
*/ |
||||
BI.ListTreeView = BI.inherit(BI.TreeView, { |
||||
|
||||
_constants: { |
||||
SPLIT: "<|>" |
||||
}, |
||||
|
||||
_defaultConfig: function () { |
||||
return BI.extend(BI.ListTreeView.superclass._defaultConfig.apply(this, arguments), {}); |
||||
}, |
||||
_init: function () { |
||||
BI.ListTreeView.superclass._init.apply(this, arguments); |
||||
var o = this.options; |
||||
this.storeValue = o.value || {}; |
||||
}, |
||||
|
||||
// 配置属性
|
||||
_configSetting: function () { |
||||
var paras = this.options.paras; |
||||
var self = this; |
||||
var setting = { |
||||
async: { |
||||
enable: false |
||||
}, |
||||
check: { |
||||
enable: true, |
||||
chkboxType: {Y: "", N: ""} |
||||
}, |
||||
data: { |
||||
key: { |
||||
title: "title", |
||||
name: "text" |
||||
}, |
||||
simpleData: { |
||||
enable: true |
||||
} |
||||
}, |
||||
view: { |
||||
showIcon: false, |
||||
expandSpeed: "", |
||||
nameIsHTML: true, |
||||
dblClickExpand: false |
||||
}, |
||||
callback: { |
||||
onCheck: onCheck, |
||||
onClick: onClick |
||||
} |
||||
}; |
||||
|
||||
function onClick (event, treeId, treeNode) { |
||||
var zTree = $.fn.zTree.getZTreeObj(treeId); |
||||
var checked = treeNode.checked; |
||||
self._checkValue(treeNode, !checked); |
||||
zTree.checkNode(treeNode, !checked, true, true); |
||||
} |
||||
|
||||
function onCheck (event, treeId, treeNode) { |
||||
self._selectTreeNode(treeId, treeNode); |
||||
} |
||||
|
||||
return setting; |
||||
}, |
||||
|
||||
_selectTreeNode: function (treeId, treeNode) { |
||||
this._checkValue(treeNode, treeNode.checked); |
||||
BI.ListTreeView.superclass._selectTreeNode.apply(this, arguments); |
||||
}, |
||||
|
||||
_transArrayToMap: function (treeArrays) { |
||||
var self = this; |
||||
var map = {}; |
||||
BI.each(treeArrays, function (idx, array) { |
||||
var key = array.join(self._constants.SPLIT); |
||||
map[key] = true; |
||||
}); |
||||
return map; |
||||
}, |
||||
|
||||
_transMapToArray: function (treeMap) { |
||||
var self = this; |
||||
var array = []; |
||||
BI.each(treeMap, function (key) { |
||||
var item = key.split(self._constants.SPLIT); |
||||
array.push(item); |
||||
}); |
||||
return array; |
||||
}, |
||||
|
||||
_checkValue: function (treeNode, checked) { |
||||
var key = BI.concat(this._getParentValues(treeNode), this._getNodeValue(treeNode)).join(this._constants.SPLIT); |
||||
if(checked) { |
||||
this.storeValue[key] = true; |
||||
} else { |
||||
delete this.storeValue[key]; |
||||
} |
||||
}, |
||||
|
||||
setSelectedValue: function (value) { |
||||
this.options.paras.selectedValues = value || []; |
||||
this.storeValue = this._transArrayToMap(value); |
||||
}, |
||||
|
||||
getValue: function () { |
||||
return this._transMapToArray(this.storeValue); |
||||
} |
||||
}); |
||||
|
||||
BI.shortcut("bi.list_tree_view", BI.ListTreeView); |
@ -0,0 +1,78 @@
|
||||
/** |
||||
* guy |
||||
* 异步树 |
||||
* @class BI.ListListDisplayTree |
||||
* @extends BI.TreeView |
||||
*/ |
||||
BI.ListDisplayTree = BI.inherit(BI.ListTreeView, { |
||||
_defaultConfig: function () { |
||||
return BI.extend(BI.ListDisplayTree.superclass._defaultConfig.apply(this, arguments), { |
||||
extraCls: "bi-list-display-tree" |
||||
}); |
||||
}, |
||||
_init: function () { |
||||
BI.ListDisplayTree.superclass._init.apply(this, arguments); |
||||
}, |
||||
|
||||
// 配置属性
|
||||
_configSetting: function () { |
||||
var setting = { |
||||
view: { |
||||
selectedMulti: false, |
||||
dblClickExpand: false, |
||||
showIcon: false, |
||||
nameIsHTML: true, |
||||
showTitle: false, |
||||
fontCss: getFont |
||||
}, |
||||
data: { |
||||
key: { |
||||
title: "title", |
||||
name: "text" |
||||
}, |
||||
simpleData: { |
||||
enable: true |
||||
} |
||||
}, |
||||
callback: { |
||||
beforeCollapse: beforeCollapse |
||||
} |
||||
}; |
||||
|
||||
function beforeCollapse(treeId, treeNode) { |
||||
return false; |
||||
} |
||||
|
||||
function getFont(treeId, node) { |
||||
return node.isLeaf ? {} : {color: "#999999"}; |
||||
} |
||||
|
||||
return setting; |
||||
}, |
||||
|
||||
_dealWidthNodes: function (nodes) { |
||||
nodes = BI.ListDisplayTree.superclass._dealWidthNodes.apply(this, arguments); |
||||
var self = this, o = this.options; |
||||
BI.each(nodes, function (i, node) { |
||||
node.isParent = node.isParent || node.parent; |
||||
if (node.text == null) { |
||||
if (node.count > 0) { |
||||
node.text = node.value + "(" + BI.i18nText("BI-Basic_Altogether") + node.count + BI.i18nText("BI-Basic_Count") + ")"; |
||||
} |
||||
} |
||||
}); |
||||
return nodes; |
||||
}, |
||||
|
||||
initTree: function (nodes, setting) { |
||||
var setting = setting || this._configSetting(); |
||||
this.nodes = $.fn.zTree.init(this.tree.element, setting, nodes); |
||||
}, |
||||
|
||||
destroy: function () { |
||||
BI.ListDisplayTree.superclass.destroy.apply(this, arguments); |
||||
} |
||||
}); |
||||
BI.ListDisplayTree.EVENT_CHANGE = "EVENT_CHANGE"; |
||||
|
||||
BI.shortcut("bi.list_display_tree", BI.ListDisplayTree); |
@ -0,0 +1,261 @@
|
||||
BI.AbstractListTreeValueChooser = BI.inherit(BI.AbstractTreeValueChooser, { |
||||
|
||||
_reqDisplayTreeNode: function (op, callback) { |
||||
var self = this; |
||||
var result = {}; |
||||
var selectedValues = op.selectedValues; |
||||
|
||||
if (selectedValues == null || BI.isEmpty(selectedValues)) { |
||||
callback({}); |
||||
return; |
||||
} |
||||
|
||||
doCheck([], this.tree.getRoot(), selectedValues); |
||||
|
||||
callback({ |
||||
items: BI.values(result) |
||||
}); |
||||
|
||||
function doCheck(parentValues, node, selected) { |
||||
BI.each(selected, function (idx, path) { |
||||
BI.each(path, function (id, value) { |
||||
var nodeValue = value; |
||||
var node = self._getTreeNode(path.slice(0, id), nodeValue); |
||||
// 找不到就是新增值
|
||||
if (BI.isNull(node)) { |
||||
createOneJson({ |
||||
id: BI.UUID(), |
||||
text: nodeValue, |
||||
value: nodeValue, |
||||
isLeaf: true |
||||
}, BI.UUID()); |
||||
} else { |
||||
if(!BI.has(result, node.id)) { |
||||
createOneJson(node, node.parent && node.parent.id); |
||||
} |
||||
result[node.id].isLeaf !== true && (result[node.id].isLeaf = id === path.length - 1); |
||||
} |
||||
}); |
||||
}); |
||||
} |
||||
|
||||
function createOneJson(node, pId) { |
||||
result[node.id] = { |
||||
id: node.id, |
||||
pId: pId, |
||||
text: node.text, |
||||
value: node.value, |
||||
open: true, |
||||
isLeaf: node.isLeaf |
||||
}; |
||||
} |
||||
}, |
||||
|
||||
_reqInitTreeNode: function (op, callback) { |
||||
var self = this; |
||||
var result = []; |
||||
var keyword = op.keyword || ""; |
||||
var selectedValues = op.selectedValues; |
||||
var lastSearchValue = op.lastSearchValue || ""; // 一次请求100个,但是搜索是拿全部的,lastSearchValue是上一次遍历到的节点索引
|
||||
var output = search(); |
||||
BI.nextTick(function () { |
||||
callback({ |
||||
hasNext: output.length > self._const.perPage, |
||||
items: result, |
||||
lastSearchValue: BI.last(output) |
||||
}); |
||||
}); |
||||
|
||||
function search() { |
||||
var children = self._getChildren([]); |
||||
var start = children.length; |
||||
if (lastSearchValue !== "") { |
||||
for (var j = 0, len = start; j < len; j++) { |
||||
if (children[j].value === lastSearchValue) { |
||||
start = j + 1; |
||||
break; |
||||
} |
||||
} |
||||
} else { |
||||
start = 0; |
||||
} |
||||
var output = []; |
||||
for (var i = start, len = children.length; i < len; i++) { |
||||
if (output.length < self._const.perPage) { |
||||
var find = nodeSearch(1, [], children[i].value, result); |
||||
} else if (output.length === self._const.perPage) { |
||||
var find = nodeSearch(1, [], children[i].value, []); |
||||
} |
||||
if (find[0] === true) { |
||||
output.push(children[i].value); |
||||
} |
||||
if (output.length > self._const.perPage) { |
||||
break; |
||||
} |
||||
} |
||||
|
||||
// 深层嵌套的比较麻烦,这边先实现的是在根节点添加
|
||||
if (op.times === 1) { |
||||
var nodes = self._getAddedValueNode([], selectedValues); |
||||
result = BI.concat(BI.filter(nodes, function (idx, node) { |
||||
var find = BI.Func.getSearchResult([node.text || node.value], keyword); |
||||
return find.find.length > 0 || find.match.length > 0; |
||||
}), result); |
||||
} |
||||
return output; |
||||
} |
||||
|
||||
function nodeSearch(deep, parentValues, current, result) { |
||||
if (self._isMatch(parentValues, current, keyword)) { |
||||
var checked = isSelected(current); |
||||
createOneJson(parentValues, current, false, checked, true, result); |
||||
return [true, checked]; |
||||
} |
||||
var newParents = BI.clone(parentValues); |
||||
newParents.push(current); |
||||
var children = self._getChildren(newParents); |
||||
|
||||
var can = false, checked = false; |
||||
|
||||
BI.each(children, function (i, child) { |
||||
var state = nodeSearch(deep + 1, newParents, child.value, result); |
||||
if (state[1] === true) { |
||||
checked = true; |
||||
} |
||||
if (state[0] === true) { |
||||
can = true; |
||||
} |
||||
}); |
||||
if (can === true) { |
||||
checked = isSelected(current); |
||||
createOneJson(parentValues, current, true, checked, false, result); |
||||
} |
||||
return [can, checked]; |
||||
} |
||||
|
||||
function createOneJson(parentValues, value, isOpen, checked, flag, result) { |
||||
var node = self._getTreeNode(parentValues, value); |
||||
result.push({ |
||||
id: node.id, |
||||
pId: node.pId, |
||||
text: node.text, |
||||
value: node.value, |
||||
title: node.title, |
||||
isParent: node.getChildrenLength() > 0, |
||||
open: isOpen, |
||||
checked: checked, |
||||
halfCheck: false, |
||||
flag: flag |
||||
}); |
||||
} |
||||
|
||||
function isHalf(parentValues, value) { |
||||
var find = findSelectedObj(parentValues); |
||||
if (find == null) { |
||||
return null; |
||||
} |
||||
return BI.any(find, function (v, ob) { |
||||
if (v === value) { |
||||
if (ob != null && !BI.isEmpty(ob)) { |
||||
return true; |
||||
} |
||||
} |
||||
}); |
||||
} |
||||
|
||||
function isAllSelected(parentValues, value) { |
||||
var find = findSelectedObj(parentValues); |
||||
if (find == null) { |
||||
return null; |
||||
} |
||||
return BI.any(find, function (v, ob) { |
||||
if (v === value) { |
||||
if (ob != null && BI.isEmpty(ob)) { |
||||
return true; |
||||
} |
||||
} |
||||
}); |
||||
} |
||||
|
||||
function isSelected(value) { |
||||
return BI.any(selectedValues, function (idx, array) { |
||||
return BI.last(array) === value; |
||||
}); |
||||
} |
||||
|
||||
function findSelectedObj(parentValues) { |
||||
var find = selectedValues; |
||||
if (find == null) { |
||||
return null; |
||||
} |
||||
BI.every(parentValues, function (i, v) { |
||||
find = find[v]; |
||||
if (find == null) { |
||||
return false; |
||||
} |
||||
return true; |
||||
}); |
||||
return find; |
||||
} |
||||
}, |
||||
|
||||
_reqTreeNode: function (op, callback) { |
||||
var self = this; |
||||
var result = []; |
||||
var times = op.times; |
||||
var parentValues = op.parentValues || []; |
||||
var selectedValues = op.selectedValues || []; |
||||
var valueMap = dealWidthSelectedValue(selectedValues); |
||||
var nodes = this._getChildren(parentValues); |
||||
for (var i = (times - 1) * this._const.perPage; nodes[i] && i < times * this._const.perPage; i++) { |
||||
var checked = BI.has(valueMap, nodes[i].value); |
||||
result.push({ |
||||
id: nodes[i].id, |
||||
pId: nodes[i].pId, |
||||
value: nodes[i].value, |
||||
text: nodes[i].text, |
||||
times: 1, |
||||
isParent: nodes[i].getChildrenLength() > 0, |
||||
checked: checked, |
||||
halfCheck: false |
||||
}); |
||||
} |
||||
// 深层嵌套的比较麻烦,这边先实现的是在根节点添加
|
||||
if (parentValues.length === 0 && times === 1) { |
||||
result = BI.concat(self._getAddedValueNode(parentValues, selectedValues), result); |
||||
} |
||||
BI.nextTick(function () { |
||||
callback({ |
||||
items: result, |
||||
hasNext: nodes.length > times * self._const.perPage |
||||
}); |
||||
}); |
||||
|
||||
function dealWidthSelectedValue(selectedValues) { |
||||
var valueMap = {}; |
||||
BI.each(selectedValues, function (idx, v) { |
||||
valueMap[BI.last(v)] = [2, 0]; |
||||
}); |
||||
return valueMap; |
||||
} |
||||
}, |
||||
|
||||
_getAddedValueNode: function (parentValues, selectedValues) { |
||||
var nodes = this._getChildren(parentValues); |
||||
var values = BI.flatten(BI.filter(selectedValues, function (idx, array) { |
||||
return array.length === 1; |
||||
})); |
||||
return BI.map(BI.difference(values, BI.map(nodes, "value")), function (idx, v) { |
||||
return { |
||||
id: BI.UUID(), |
||||
pId: nodes.length > 0 ? nodes[0].pId : BI.UUID(), |
||||
value: v, |
||||
text: v, |
||||
times: 1, |
||||
isParent: false, |
||||
checked: true, |
||||
halfCheck: false |
||||
}; |
||||
}); |
||||
} |
||||
}); |
@ -0,0 +1,54 @@
|
||||
/** |
||||
* 简单的复选下拉树控件, 适用于数据量少的情况, 可以自增值 |
||||
* |
||||
* Created by GUY on 2015/10/29. |
||||
* @class BI.ListTreeValueChooserInsertCombo |
||||
* @extends BI.Widget |
||||
*/ |
||||
BI.ListTreeValueChooserInsertCombo = BI.inherit(BI.AbstractListTreeValueChooser, { |
||||
|
||||
_defaultConfig: function () { |
||||
return BI.extend(BI.ListTreeValueChooserInsertCombo.superclass._defaultConfig.apply(this, arguments), { |
||||
baseCls: "bi-list-tree-value-chooser-insert-combo", |
||||
width: 200, |
||||
height: 24, |
||||
items: null, |
||||
itemsCreator: BI.emptyFn |
||||
}); |
||||
}, |
||||
|
||||
_init: function () { |
||||
BI.ListTreeValueChooserInsertCombo.superclass._init.apply(this, arguments); |
||||
var self = this, o = this.options; |
||||
if (BI.isNotNull(o.items)) { |
||||
this._initData(o.items); |
||||
} |
||||
this.combo = BI.createWidget({ |
||||
type: "bi.multi_tree_list_combo", |
||||
element: this, |
||||
itemsCreator: BI.bind(this._itemsCreator, this), |
||||
valueFormatter: BI.bind(this._valueFormatter, this), |
||||
width: o.width, |
||||
height: o.height |
||||
}); |
||||
|
||||
this.combo.on(BI.MultiTreeListCombo.EVENT_CONFIRM, function () { |
||||
self.fireEvent(BI.ListTreeValueChooserInsertCombo.EVENT_CONFIRM); |
||||
}); |
||||
}, |
||||
|
||||
setValue: function (v) { |
||||
this.combo.setValue(v); |
||||
}, |
||||
|
||||
getValue: function () { |
||||
return this.combo.getValue(); |
||||
}, |
||||
|
||||
populate: function (items) { |
||||
this._initData(items); |
||||
this.combo.populate.apply(this.combo, arguments); |
||||
} |
||||
}); |
||||
BI.ListTreeValueChooserInsertCombo.EVENT_CONFIRM = "ListTreeValueChooserInsertCombo.EVENT_CONFIRM"; |
||||
BI.shortcut("bi.list_tree_value_chooser_insert_combo", BI.ListTreeValueChooserInsertCombo); |
@ -0,0 +1,54 @@
|
||||
/** |
||||
* 简单的复选下拉树控件, 适用于数据量少的情况, 可以自增值 |
||||
* |
||||
* Created by GUY on 2015/10/29. |
||||
* @class BI.TreeValueChooserInsertCombo |
||||
* @extends BI.Widget |
||||
*/ |
||||
BI.TreeValueChooserInsertCombo = BI.inherit(BI.AbstractTreeValueChooser, { |
||||
|
||||
_defaultConfig: function () { |
||||
return BI.extend(BI.TreeValueChooserInsertCombo.superclass._defaultConfig.apply(this, arguments), { |
||||
baseCls: "bi-tree-value-chooser-insert-combo", |
||||
width: 200, |
||||
height: 24, |
||||
items: null, |
||||
itemsCreator: BI.emptyFn |
||||
}); |
||||
}, |
||||
|
||||
_init: function () { |
||||
BI.TreeValueChooserInsertCombo.superclass._init.apply(this, arguments); |
||||
var self = this, o = this.options; |
||||
if (BI.isNotNull(o.items)) { |
||||
this._initData(o.items); |
||||
} |
||||
this.combo = BI.createWidget({ |
||||
type: "bi.multi_tree_insert_combo", |
||||
element: this, |
||||
itemsCreator: BI.bind(this._itemsCreator, this), |
||||
valueFormatter: BI.bind(this._valueFormatter, this), |
||||
width: o.width, |
||||
height: o.height |
||||
}); |
||||
|
||||
this.combo.on(BI.MultiTreeInsertCombo.EVENT_CONFIRM, function () { |
||||
self.fireEvent(BI.TreeValueChooserInsertCombo.EVENT_CONFIRM); |
||||
}); |
||||
}, |
||||
|
||||
setValue: function (v) { |
||||
this.combo.setValue(v); |
||||
}, |
||||
|
||||
getValue: function () { |
||||
return this.combo.getValue(); |
||||
}, |
||||
|
||||
populate: function (items) { |
||||
this._initData(items); |
||||
this.combo.populate.apply(this.combo, arguments); |
||||
} |
||||
}); |
||||
BI.TreeValueChooserInsertCombo.EVENT_CONFIRM = "TreeValueChooserInsertCombo.EVENT_CONFIRM"; |
||||
BI.shortcut("bi.tree_value_chooser_insert_combo", BI.TreeValueChooserInsertCombo); |
@ -1,22 +0,0 @@
|
||||
// BI请求
|
||||
_.extend(BI, { |
||||
|
||||
ajax: function (option) { |
||||
option || (option = {}); |
||||
var async = option.async; |
||||
option.data = BI.cjkEncodeDO(option.data || {}); |
||||
|
||||
$.ajax({ |
||||
url: option.url, |
||||
type: "POST", |
||||
data: option.data, |
||||
async: async, |
||||
error: option.error, |
||||
complete: function (res, status) { |
||||
if (BI.isFunction(option.complete)) { |
||||
option.complete(BI.jsonDecode(res.responseText), status); |
||||
} |
||||
} |
||||
}); |
||||
} |
||||
}); |
@ -1,344 +1,212 @@
|
||||
.bi-farbtastic .wheel { |
||||
background: url('images/1x/background/wheel.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/background/wheel.png'); |
||||
_background: none; |
||||
} |
||||
.bi-farbtastic .overlay { |
||||
background: url('images/1x/background/mask.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/background/mask.png'); |
||||
_background: none; |
||||
} |
||||
.bi-farbtastic .marker { |
||||
background: url('images/1x/background/marker.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/background/marker.png'); |
||||
_background: none; |
||||
} |
||||
.bi-display-tree .ztree li span.button.switch.center_open { |
||||
background: url('images/1x/icon/tree_vertical_line_3.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree_vertical_line_3.png'); |
||||
_background: none; |
||||
} |
||||
.bi-display-tree .ztree li span.button.switch.roots_open { |
||||
background: url('images/1x/icon/tree_vertical_line_2.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree_vertical_line_2.png'); |
||||
_background: none; |
||||
} |
||||
.bi-display-tree .ztree li span.button.switch.bottom_open { |
||||
background: url('images/1x/icon/tree_vertical_line_4.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree_vertical_line_4.png'); |
||||
_background: none; |
||||
} |
||||
.ztree li ul.line { |
||||
background: url('images/1x/icon/tree_vertical_line_1.png') repeat-y 1px 0; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree_vertical_line_1.png'); |
||||
_background: none; |
||||
} |
||||
.bi-theme-dark .ztree li ul.line { |
||||
background: url('images/1x/icon/dark/tree_vertical_line_1.png') repeat-y 1px 0; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree_vertical_line_1.png'); |
||||
_background: none; |
||||
} |
||||
.ztree li span.button.chk.checkbox_false_full { |
||||
background: url('images/2x/icon/check_box_normal.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/check_box_normal.png'); |
||||
background-size: contain; |
||||
_background: none; |
||||
} |
||||
.ztree li span.button.chk.checkbox_false_full_focus { |
||||
background: url('images/2x/icon/check_box_normal.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/check_box_normal.png'); |
||||
background-size: contain; |
||||
_background: none; |
||||
} |
||||
.ztree li span.button.chk.checkbox_false_part { |
||||
background: url('images/2x/icon/half_selected.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/half_selected.png'); |
||||
background: url('images/2x/icon/check_box_normal.png') no-repeat center center; |
||||
background-size: contain; |
||||
_background: none; |
||||
} |
||||
.ztree li span.button.chk.checkbox_false_part_focus { |
||||
background: url('images/2x/icon/half_selected.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/half_selected.png'); |
||||
background-size: contain; |
||||
_background: none; |
||||
} |
||||
.ztree li span.button.chk.checkbox_true_full { |
||||
background: url('images/2x/icon/check_box_active.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/check_box_active.png'); |
||||
background-size: contain; |
||||
_background: none; |
||||
} |
||||
.ztree li span.button.chk.checkbox_true_full_focus { |
||||
background: url('images/2x/icon/check_box_active.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/check_box_active.png'); |
||||
background-size: contain; |
||||
_background: none; |
||||
} |
||||
.ztree li span.button.chk.checkbox_true_part { |
||||
background: url('images/2x/icon/half_selected.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/half_selected.png'); |
||||
background-size: contain; |
||||
_background: none; |
||||
} |
||||
.ztree li span.button.chk.checkbox_true_part_focus { |
||||
background: url('images/2x/icon/half_selected.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/half_selected.png'); |
||||
background-size: contain; |
||||
_background: none; |
||||
} |
||||
.ztree.hack li span.button.chk.checkbox_false_full { |
||||
background: url('images/1x/icon/check_box_normal.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/check_box_normal.png'); |
||||
_background: none; |
||||
} |
||||
.ztree.hack li span.button.chk.checkbox_false_full_focus { |
||||
background: url('images/1x/icon/check_box_normal.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/check_box_normal.png'); |
||||
_background: none; |
||||
} |
||||
.ztree.hack li span.button.chk.checkbox_false_part { |
||||
background: url('images/1x/icon/half_selected.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/half_selected.png'); |
||||
_background: none; |
||||
background: url('images/1x/icon/check_box_normal.png') no-repeat center center; |
||||
} |
||||
.ztree.hack li span.button.chk.checkbox_false_part_focus { |
||||
background: url('images/1x/icon/half_selected.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/half_selected.png'); |
||||
_background: none; |
||||
} |
||||
.ztree.hack li span.button.chk.checkbox_true_full { |
||||
background: url('images/1x/icon/check_box_active.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/check_box_active.png'); |
||||
_background: none; |
||||
} |
||||
.ztree.hack li span.button.chk.checkbox_true_full_focus { |
||||
background: url('images/1x/icon/check_box_active.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/check_box_active.png'); |
||||
_background: none; |
||||
} |
||||
.ztree.hack li span.button.chk.checkbox_true_part { |
||||
background: url('images/1x/icon/half_selected.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/half_selected.png'); |
||||
_background: none; |
||||
} |
||||
.ztree.hack li span.button.chk.checkbox_true_part_focus { |
||||
background: url('images/1x/icon/half_selected.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/half_selected.png'); |
||||
_background: none; |
||||
} |
||||
.ztree li span.button.root_open { |
||||
background: url('images/1x/icon/tree_expand_1.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree_expand_1.png'); |
||||
_background: none; |
||||
} |
||||
.bi-theme-dark .ztree li span.button.root_open { |
||||
background: url('images/1x/icon/dark/tree_expand_1.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree_expand_1.png'); |
||||
_background: none; |
||||
} |
||||
.ztree li span.button.root_close { |
||||
background: url('images/1x/icon/tree_collapse_1.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree_collapse_1.png'); |
||||
_background: none; |
||||
} |
||||
.bi-theme-dark .ztree li span.button.root_close { |
||||
background: url('images/1x/icon/dark/tree_collapse_1.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree_collapse_1.png'); |
||||
_background: none; |
||||
} |
||||
.ztree li span.button.roots_open { |
||||
background: url('images/1x/icon/tree_expand_2.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree_expand_2.png'); |
||||
_background: none; |
||||
} |
||||
.bi-theme-dark .ztree li span.button.roots_open { |
||||
background: url('images/1x/icon/dark/tree_expand_2.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree_expand_2.png'); |
||||
_background: none; |
||||
} |
||||
.ztree li span.button.roots_close { |
||||
background: url('images/1x/icon/tree_collapse_2.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree_collapse_2.png'); |
||||
_background: none; |
||||
} |
||||
.bi-theme-dark .ztree li span.button.roots_close { |
||||
background: url('images/1x/icon/dark/tree_collapse_2.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree_collapse_2.png'); |
||||
_background: none; |
||||
} |
||||
.ztree li span.button.center_open { |
||||
background: url('images/1x/icon/tree_expand_3.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree_expand_3.png'); |
||||
_background: none; |
||||
} |
||||
.bi-theme-dark .ztree li span.button.center_open { |
||||
background: url('images/1x/icon/dark/tree_expand_3.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree_expand_3.png'); |
||||
_background: none; |
||||
} |
||||
.ztree li span.button.center_close { |
||||
background: url('images/1x/icon/tree_collapse_3.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree_collapse_3.png'); |
||||
_background: none; |
||||
} |
||||
.bi-theme-dark .ztree li span.button.center_close { |
||||
background: url('images/1x/icon/dark/tree_collapse_3.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree_collapse_3.png'); |
||||
_background: none; |
||||
} |
||||
.ztree li span.button.bottom_open { |
||||
background: url('images/1x/icon/tree_expand_4.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree_expand_4.png'); |
||||
_background: none; |
||||
} |
||||
.bi-theme-dark .ztree li span.button.bottom_open { |
||||
background: url('images/1x/icon/dark/tree_expand_4.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree_expand_4.png'); |
||||
_background: none; |
||||
} |
||||
.ztree li span.button.bottom_close { |
||||
background: url('images/1x/icon/tree_collapse_4.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree_collapse_4.png'); |
||||
_background: none; |
||||
} |
||||
.bi-theme-dark .ztree li span.button.bottom_close { |
||||
background: url('images/1x/icon/dark/tree_collapse_4.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree_collapse_4.png'); |
||||
_background: none; |
||||
} |
||||
.ztree li span.button.roots_docu { |
||||
background: url('images/1x/icon/tree_vertical_line_2.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree_vertical_line_2.png'); |
||||
_background: none; |
||||
} |
||||
.bi-theme-dark .ztree li span.button.roots_docu { |
||||
background: url('images/1x/icon/dark/tree_vertical_line_2.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree_vertical_line_2.png'); |
||||
_background: none; |
||||
} |
||||
.ztree li span.button.center_docu { |
||||
background: url('images/1x/icon/tree_vertical_line_3.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree_vertical_line_3.png'); |
||||
_background: none; |
||||
} |
||||
.bi-theme-dark .ztree li span.button.center_docu { |
||||
background: url('images/1x/icon/dark/tree_vertical_line_3.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree_vertical_line_3.png'); |
||||
_background: none; |
||||
} |
||||
.ztree li span.button.bottom_docu { |
||||
background: url('images/1x/icon/tree_vertical_line_4.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree_vertical_line_4.png'); |
||||
_background: none; |
||||
} |
||||
.bi-theme-dark .ztree li span.button.bottom_docu { |
||||
background: url('images/1x/icon/dark/tree_vertical_line_4.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree_vertical_line_4.png'); |
||||
_background: none; |
||||
} |
||||
.ztree li span.button.ico_loading { |
||||
background: url('images/1x/icon/loading.gif') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/loading.gif'); |
||||
_background: none; |
||||
} |
||||
.base-line-conn-background { |
||||
background: url('images/1x/icon/tree_vertical_line_1.png') repeat-y 0 0; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree_vertical_line_1.png'); |
||||
_background: none; |
||||
} |
||||
.bi-theme-dark .base-line-conn-background { |
||||
background: url('images/1x/icon/dark/tree_vertical_line_1.png') repeat-y 0 0; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree_vertical_line_1.png'); |
||||
_background: none; |
||||
} |
||||
.first-line-conn-background { |
||||
background: url('images/1x/icon/tree_vertical_line_2.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree_vertical_line_2.png'); |
||||
_background: none; |
||||
} |
||||
.bi-theme-dark .first-line-conn-background { |
||||
background: url('images/1x/icon/dark/tree_vertical_line_2.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree_vertical_line_2.png'); |
||||
_background: none; |
||||
} |
||||
.mid-line-conn-background { |
||||
background: url('images/1x/icon/tree_vertical_line_3.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree_vertical_line_3.png'); |
||||
_background: none; |
||||
} |
||||
.bi-theme-dark .mid-line-conn-background { |
||||
background: url('images/1x/icon/dark/tree_vertical_line_3.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree_vertical_line_3.png'); |
||||
_background: none; |
||||
} |
||||
.last-line-conn-background { |
||||
background: url('images/1x/icon/tree_vertical_line_4.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree_vertical_line_4.png'); |
||||
_background: none; |
||||
} |
||||
.bi-theme-dark .last-line-conn-background { |
||||
background: url('images/1x/icon/dark/tree_vertical_line_4.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree_vertical_line_4.png'); |
||||
_background: none; |
||||
} |
||||
.loading-background { |
||||
background: url('images/2x/icon/loading.gif') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/loading.gif'); |
||||
background-size: contain; |
||||
_background: none; |
||||
} |
||||
.auto-color-background { |
||||
background: url('images/2x/background/auto_color.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/background/auto_color.png'); |
||||
background-size: contain; |
||||
_background: none; |
||||
} |
||||
.auto-color-normal-background { |
||||
background: url('images/2x/background/auto_color_normal.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/background/auto_color_normal.png'); |
||||
background-size: contain; |
||||
_background: none; |
||||
} |
||||
.auto-color-normal-disabled-background { |
||||
background: url('images/2x/background/auto_color_normal_disable.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/background/auto_color_normal_disable.png'); |
||||
background-size: contain; |
||||
_background: none; |
||||
} |
||||
.trans-color-background { |
||||
background: url('images/2x/background/trans_normal.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/background/trans_normal.png'); |
||||
background-size: contain; |
||||
_background: none; |
||||
} |
||||
.trans-color-disabled-background { |
||||
background: url('images/2x/background/trans_disable.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/background/trans_disable.png'); |
||||
background-size: contain; |
||||
_background: none; |
||||
} |
||||
.auto-color-background.hack { |
||||
background: url('images/1x/background/auto_color.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/background/auto_color.png'); |
||||
_background: none; |
||||
} |
||||
.auto-color-normal-background.hack { |
||||
background: url('images/1x/background/auto_color_normal.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/background/auto_color_normal.png'); |
||||
_background: none; |
||||
} |
||||
.auto-color-normal-disabled-background.hack { |
||||
background: url('images/1x/background/auto_color_normal_disable.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/background/auto_color_normal_disable.png'); |
||||
_background: none; |
||||
} |
||||
.trans-color-background.hack { |
||||
background: url('images/1x/background/trans_normal.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/background/trans_normal.png'); |
||||
_background: none; |
||||
} |
||||
.trans-color-disabled-background.hack { |
||||
background: url('images/1x/background/trans_disable.png') no-repeat center center; |
||||
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/background/trans_disable.png'); |
||||
_background: none; |
||||
} |
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue