|
@@ -4,6 +4,7 @@ import {baseConfig} from "./base";
|
|
|
import {lookupFn, lookupScope} from "../lib/lib";
|
|
|
import {serverInvokeUrlTransform} from "../lib/config";
|
|
|
import {calcObject, calcObjectFlat, invokeServer} from "../lib/systemLib";
|
|
|
+import {msg} from "../message";
|
|
|
|
|
|
export default function () {
|
|
|
Ext.define('Yvan.Tree', {
|
|
@@ -20,6 +21,84 @@ export default function () {
|
|
|
this.superclass.constructor.call(this, newConfig)
|
|
|
},
|
|
|
|
|
|
+ /**
|
|
|
+ * 在根节点上增加一个节点,会触发 addNode 事件
|
|
|
+ * @param props
|
|
|
+ */
|
|
|
+ addRoot(props) {
|
|
|
+ const me = this
|
|
|
+ const tableNode = me.getRootNode()
|
|
|
+ const fieldNode = tableNode.createNode(new Ext.data.NodeInterface({}))
|
|
|
+ if (_.isFunction(props)) {
|
|
|
+ props = props.call(this, parent)
|
|
|
+ }
|
|
|
+ _.forOwn(props, (value, key) => {
|
|
|
+ fieldNode.set(key, value)
|
|
|
+ })
|
|
|
+ const node = tableNode.appendChild(fieldNode)
|
|
|
+
|
|
|
+ me.ensureVisible(node)
|
|
|
+ me.setSelection(node)
|
|
|
+
|
|
|
+ me.fireEvent('addNode', me, {
|
|
|
+ parent: tableNode,
|
|
|
+ node: node,
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ addLast(props) {
|
|
|
+ const me = this
|
|
|
+ const sel = me.selModel.getSelection()
|
|
|
+ if (!sel || sel.length <= 0) {
|
|
|
+ msg('请选择一个要添加的同级节点路径')
|
|
|
+ return
|
|
|
+ }
|
|
|
+ const parent = sel[0].parentNode ? sel[0].parentNode : me.getRootNode()
|
|
|
+ const fieldNode = parent.createNode(new Ext.data.NodeInterface({}))
|
|
|
+ if (_.isFunction(props)) {
|
|
|
+ props = props.call(this, parent)
|
|
|
+ }
|
|
|
+ _.forOwn(props, (value, key) => {
|
|
|
+ fieldNode.set(key, value)
|
|
|
+ })
|
|
|
+ const node = parent.appendChild(fieldNode)
|
|
|
+ me.ensureVisible(node)
|
|
|
+ me.setSelection(node)
|
|
|
+
|
|
|
+ me.fireEvent('addNode', me, {
|
|
|
+ parent: parent,
|
|
|
+ node: node,
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ addChildren(props) {
|
|
|
+ const me = this
|
|
|
+ const sel = me.selModel.getSelection()
|
|
|
+ if (!sel || sel.length <= 0) {
|
|
|
+ msg('请选择一个要添加子节点的路径')
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ const parent = sel[0]
|
|
|
+ if (_.isFunction(props)) {
|
|
|
+ props = props.call(this, parent)
|
|
|
+ }
|
|
|
+ const fieldNode = parent.createNode(new Ext.data.NodeInterface({}))
|
|
|
+ _.forOwn(props, (value, key) => {
|
|
|
+ fieldNode.set(key, value)
|
|
|
+ })
|
|
|
+ const node = parent.appendChild(fieldNode)
|
|
|
+ parent.expand()
|
|
|
+
|
|
|
+ me.ensureVisible(node)
|
|
|
+ me.setSelection(node)
|
|
|
+
|
|
|
+ me.fireEvent('addNode', me, {
|
|
|
+ parent: parent,
|
|
|
+ node: node,
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
initComponent() {
|
|
|
const me = this
|
|
|
const {config} = me
|