/** * * @class BI.MultiTreeCheckPane * @extends BI.Pane */ BI.MultiTreeCheckPane = BI.inherit(BI.Pane, { constants: { height: 25, lgap: 10, tgap: 5 }, _defaultConfig: function () { return BI.extend(BI.MultiTreeCheckPane.superclass._defaultConfig.apply(this, arguments), { baseCls: "bi-multi-tree-check-pane bi-background", onClickContinueSelect: BI.emptyFn, el: { type: "bi.display_tree" } }); }, _init: function () { BI.MultiTreeCheckPane.superclass._init.apply(this, arguments); var self = this, opts = this.options; this.selectedValues = {}; var continueSelect = BI.createWidget({ type: "bi.text_button", title: BI.i18nText("BI-Continue_Select"), text: BI.i18nText("BI-Continue_Select"), cls: "multi-tree-check-selected" }); continueSelect.on(BI.TextButton.EVENT_CHANGE, function () { opts.onClickContinueSelect(); BI.nextTick(function () { self.empty(); }); }); var backToPopup = BI.createWidget({ type: "bi.vertical_adapt", columnSize: ['fill', 'auto'], cls: "multi-tree-continue-select", items: [ { el: { type: "bi.label", title: BI.i18nText("BI-Selected_Data"), text: BI.i18nText("BI-Selected_Data") }, lgap: this.constants.lgap, tgap: this.constants.tgap }, { el: continueSelect, hgap: this.constants.lgap, tgap: this.constants.tgap }] }); this.display = BI.createWidget(opts.el, { type: "bi.display_tree", cls: "bi-multi-tree-display", itemsCreator: function (op, callback) { op.type = BI.TreeView.REQ_TYPE_GET_SELECTED_DATA; opts.itemsCreator(op, callback); }, value: (opts.value || {}).value }); this.display.on(BI.Events.AFTERINIT, function () { self.fireEvent(BI.Events.AFTERINIT); }); this.display.on(BI.TreeView.EVENT_INIT, function () { backToPopup.setVisible(false); }); this.display.on(BI.TreeView.EVENT_AFTERINIT, function () { backToPopup.setVisible(true); }); BI.createWidget({ type: "bi.vtape", element: this, items: [{ height: this.constants.height, el: backToPopup }, { height: "fill", el: this.display }] }); }, empty: function () { this.display.empty(); }, populate: function (configs) { this.display.stroke(configs); }, setValue: function (v) { v || (v = {}); this.display.setSelectedValue(v.value); }, getValue: function () { } }); BI.MultiTreeCheckPane.EVENT_CONTINUE_CLICK = "EVENT_CONTINUE_CLICK"; BI.shortcut("bi.multi_tree_check_pane", BI.MultiTreeCheckPane);