diff --git a/dist/bundle.js b/dist/bundle.js index 4f5279df9..8e5f37c84 100644 --- a/dist/bundle.js +++ b/dist/bundle.js @@ -80551,7 +80551,109 @@ BI.Panel = BI.inherit(BI.Widget, { }); BI.Panel.EVENT_CHANGE = "Panel.EVENT_CHANGE"; -BI.shortcut("bi.panel", BI.Panel);/** +BI.shortcut("bi.panel", BI.Panel);BI.LinearSegmentButton = BI.inherit(BI.BasicButton, { + + props: { + extraCls: "bi-line-segment-button bi-list-item-effect", + once: true, + readonly: true, + hgap: 10, + height: 25 + }, + + render: function () { + var self = this, o = this.options; + + return [{ + type: "bi.label", + text: o.text, + height: o.height, + value: o.value, + hgap: o.hgap, + ref: function () { + self.text = this; + } + }, { + type: "bi.absolute", + items: [{ + el: { + type: "bi.layout", + cls: "line-segment-button-line", + height: 3, + ref: function () { + self.line = this; + } + }, + left: 0, + right: 0, + bottom: 0 + }] + }]; + }, + + setSelected: function (v) { + BI.LinearSegmentButton.superclass.setSelected.apply(this, arguments); + if (v) { + this.line.element.addClass("bi-high-light-background"); + } else { + this.line.element.removeClass("bi-high-light-background"); + } + }, + + setText: function (text) { + this.text.setText(text); + } +}); +BI.shortcut("bi.linear_segment_button", BI.LinearSegmentButton);BI.LinearSegment = BI.inherit(BI.Widget, { + + props: { + baseCls: "bi-linear-segment bi-border-bottom", + items: [], + height: 29 + }, + + render: function () { + var self = this, o = this.options; + return { + type: "bi.button_group", + items: BI.createItems(o.items, { + type: "bi.linear_segment_button", + height: o.height - 1 + }), + layout: [{ + type: "bi.center" + }], + listeners: [{ + eventName: "__EVENT_CHANGE__", + action: function () { + self.fireEvent("__EVENT_CHANGE__", arguments); + } + }, { + eventName: "EVENT_CHANGE", + action: function () { + self.fireEvent("EVENT_CHANGE"); + } + }], + ref: function () { + self.buttonGroup = this; + } + }; + }, + + setValue: function (v) { + this.buttonGroup.setValue(v); + }, + + setEnabledValue: function (v) { + this.buttonGroup.setEnabledValue(v); + }, + + + getValue: function () { + return this.buttonGroup.getValue(); + } +}); +BI.shortcut("bi.linear_segment", BI.LinearSegment);/** * 选择列表 * * Created by GUY on 2015/11/1. diff --git a/dist/case.js b/dist/case.js index a8dc0a7c5..5fdf73748 100644 --- a/dist/case.js +++ b/dist/case.js @@ -8384,7 +8384,109 @@ BI.Panel = BI.inherit(BI.Widget, { }); BI.Panel.EVENT_CHANGE = "Panel.EVENT_CHANGE"; -BI.shortcut("bi.panel", BI.Panel);/** +BI.shortcut("bi.panel", BI.Panel);BI.LinearSegmentButton = BI.inherit(BI.BasicButton, { + + props: { + extraCls: "bi-line-segment-button bi-list-item-effect", + once: true, + readonly: true, + hgap: 10, + height: 25 + }, + + render: function () { + var self = this, o = this.options; + + return [{ + type: "bi.label", + text: o.text, + height: o.height, + value: o.value, + hgap: o.hgap, + ref: function () { + self.text = this; + } + }, { + type: "bi.absolute", + items: [{ + el: { + type: "bi.layout", + cls: "line-segment-button-line", + height: 3, + ref: function () { + self.line = this; + } + }, + left: 0, + right: 0, + bottom: 0 + }] + }]; + }, + + setSelected: function (v) { + BI.LinearSegmentButton.superclass.setSelected.apply(this, arguments); + if (v) { + this.line.element.addClass("bi-high-light-background"); + } else { + this.line.element.removeClass("bi-high-light-background"); + } + }, + + setText: function (text) { + this.text.setText(text); + } +}); +BI.shortcut("bi.linear_segment_button", BI.LinearSegmentButton);BI.LinearSegment = BI.inherit(BI.Widget, { + + props: { + baseCls: "bi-linear-segment bi-border-bottom", + items: [], + height: 29 + }, + + render: function () { + var self = this, o = this.options; + return { + type: "bi.button_group", + items: BI.createItems(o.items, { + type: "bi.linear_segment_button", + height: o.height - 1 + }), + layout: [{ + type: "bi.center" + }], + listeners: [{ + eventName: "__EVENT_CHANGE__", + action: function () { + self.fireEvent("__EVENT_CHANGE__", arguments); + } + }, { + eventName: "EVENT_CHANGE", + action: function () { + self.fireEvent("EVENT_CHANGE"); + } + }], + ref: function () { + self.buttonGroup = this; + } + }; + }, + + setValue: function (v) { + this.buttonGroup.setValue(v); + }, + + setEnabledValue: function (v) { + this.buttonGroup.setEnabledValue(v); + }, + + + getValue: function () { + return this.buttonGroup.getValue(); + } +}); +BI.shortcut("bi.linear_segment", BI.LinearSegment);/** * 选择列表 * * Created by GUY on 2015/11/1. diff --git a/src/case/linearsegment/button.linear.segment.js b/src/case/linearsegment/button.linear.segment.js new file mode 100644 index 000000000..90ecb579a --- /dev/null +++ b/src/case/linearsegment/button.linear.segment.js @@ -0,0 +1,54 @@ +BI.LinearSegmentButton = BI.inherit(BI.BasicButton, { + + props: { + extraCls: "bi-line-segment-button bi-list-item-effect", + once: true, + readonly: true, + hgap: 10, + height: 25 + }, + + render: function () { + var self = this, o = this.options; + + return [{ + type: "bi.label", + text: o.text, + height: o.height, + value: o.value, + hgap: o.hgap, + ref: function () { + self.text = this; + } + }, { + type: "bi.absolute", + items: [{ + el: { + type: "bi.layout", + cls: "line-segment-button-line", + height: 3, + ref: function () { + self.line = this; + } + }, + left: 0, + right: 0, + bottom: 0 + }] + }]; + }, + + setSelected: function (v) { + BI.LinearSegmentButton.superclass.setSelected.apply(this, arguments); + if (v) { + this.line.element.addClass("bi-high-light-background"); + } else { + this.line.element.removeClass("bi-high-light-background"); + } + }, + + setText: function (text) { + this.text.setText(text); + } +}); +BI.shortcut("bi.linear_segment_button", BI.LinearSegmentButton); \ No newline at end of file diff --git a/src/case/linearsegment/linear.segment.js b/src/case/linearsegment/linear.segment.js new file mode 100644 index 000000000..0374d9690 --- /dev/null +++ b/src/case/linearsegment/linear.segment.js @@ -0,0 +1,50 @@ +BI.LinearSegment = BI.inherit(BI.Widget, { + + props: { + baseCls: "bi-linear-segment bi-border-bottom", + items: [], + height: 29 + }, + + render: function () { + var self = this, o = this.options; + return { + type: "bi.button_group", + items: BI.createItems(o.items, { + type: "bi.linear_segment_button", + height: o.height - 1 + }), + layout: [{ + type: "bi.center" + }], + listeners: [{ + eventName: "__EVENT_CHANGE__", + action: function () { + self.fireEvent("__EVENT_CHANGE__", arguments); + } + }, { + eventName: "EVENT_CHANGE", + action: function () { + self.fireEvent("EVENT_CHANGE"); + } + }], + ref: function () { + self.buttonGroup = this; + } + }; + }, + + setValue: function (v) { + this.buttonGroup.setValue(v); + }, + + setEnabledValue: function (v) { + this.buttonGroup.setEnabledValue(v); + }, + + + getValue: function () { + return this.buttonGroup.getValue(); + } +}); +BI.shortcut("bi.linear_segment", BI.LinearSegment); \ No newline at end of file