forked from fanruan/fineui
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
1.6 KiB
62 lines
1.6 KiB
import { shortcut, Widget, extend, emptyFn, createWidget } from "@/core"; |
|
import { TreeView, Asynctree } from "@/case"; |
|
|
|
@shortcut() |
|
export class MultiSelectTreePopup extends Widget { |
|
static xtype = "bi.multi_select_tree_popup"; |
|
|
|
static EVENT_AFTER_INIT = "EVENT_AFTER_INIT"; |
|
static EVENT_CHANGE = "EVENT_CHANGE"; |
|
|
|
_defaultConfig() { |
|
return extend(super._defaultConfig(...arguments), { |
|
baseCls: "bi-multi-select-tree-popup bi-border-left bi-border-right bi-border-bottom", |
|
itemsCreator: emptyFn, |
|
}); |
|
} |
|
|
|
_init() { |
|
super._init(...arguments); |
|
const self = this, |
|
o = this.options; |
|
this.popup = createWidget({ |
|
type: Asynctree.xtype, |
|
showLine: o.showLine, |
|
element: this, |
|
itemsCreator: o.itemsCreator, |
|
}); |
|
this.popup.on(TreeView.EVENT_AFTERINIT, () => { |
|
self.fireEvent(MultiSelectTreePopup.EVENT_AFTER_INIT); |
|
}); |
|
this.popup.on(TreeView.EVENT_CHANGE, () => { |
|
self.fireEvent(MultiSelectTreePopup.EVENT_CHANGE); |
|
}); |
|
} |
|
|
|
hasChecked() { |
|
return this.popup.hasChecked(); |
|
} |
|
|
|
getValue() { |
|
return this.popup.getValue(); |
|
} |
|
|
|
setValue(v) { |
|
v || (v = {}); |
|
this.popup.setValue(v); |
|
} |
|
|
|
setSelectedValue(v) { |
|
v || (v = {}); |
|
this.popup.setSelectedValue(v); |
|
} |
|
|
|
updateValue(v) { |
|
this.popup.updateValue(v); |
|
this.popup.refresh(); |
|
} |
|
|
|
populate(config) { |
|
this.popup.stroke(config); |
|
} |
|
}
|
|
|