tdesign-vue-next
Version:
TDesign Component for vue-next
1 lines • 3.48 kB
Source Map (JSON)
{"version":3,"file":"useTreeState.mjs","sources":["../../../../components/tree/hooks/useTreeState.ts"],"sourcesContent":["import { ref, TypeRef, TreeNode, useVModel, toRefs, TypeSetupContext } from '../utils/adapt';\nimport { TreeProps, TypeTreeStore, TypeTreeState } from '../types';\n\n// 提供公共对象\nexport default function useTreeState(props: TreeProps, context: TypeSetupContext) {\n const treeContentRef = ref<HTMLDivElement>();\n const nodes: TypeRef<TreeNode[]> = ref([]);\n const allNodes: TypeRef<TreeNode[]> = ref([]);\n const isScrolling: TypeRef<boolean> = ref(false);\n\n const refProps = toRefs(props);\n const vmValue = useVModel(props, refProps, 'value', 'defaultValue', 'onChange', 'change');\n const vmActived = useVModel(props, refProps, 'actived', 'defaultActived', 'onActive', 'active');\n const vmExpanded = useVModel(props, refProps, 'expanded', 'defaultExpanded', 'onExpand', 'expand');\n\n function setStore(store: TypeTreeStore) {\n state.store = store;\n state.scope.store = store;\n allNodes.value = store.getNodes();\n }\n\n const state: TypeTreeState = {\n props,\n context,\n // tree 数据对象\n store: null,\n // 内容根节点\n treeContentRef,\n // 渲染节点\n nodes,\n // 所有节点\n allNodes,\n // 是否正在滚动\n isScrolling,\n // 缓存点击事件\n mouseEvent: null,\n // 虚拟滚动对象\n virtualConfig: null,\n // 缓存与节点共享的关联对象\n scope: {\n store: null,\n treeContentRef,\n treeProps: props,\n scopedSlots: {},\n virtualConfig: null,\n },\n setStore,\n refProps,\n vmValue,\n vmActived,\n vmExpanded,\n };\n\n return {\n state,\n };\n}\n"],"names":["useTreeState","props","context","treeContentRef","ref","nodes","allNodes","isScrolling","refProps","toRefs","vmValue","useVModel","vmActived","vmExpanded","setStore","store","state","scope","value","getNodes","mouseEvent","virtualConfig","treeProps","scopedSlots"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIwB,SAAAA,YAAAA,CAAaC,OAAkBC,OAA2B,EAAA;AAChF,EAAA,IAAMC,iBAAiBC,GAAoB,EAAA,CAAA;AACrC,EAAA,IAAAC,KAAA,GAA6BD,GAAI,CAAA,EAAE,CAAA,CAAA;AACnC,EAAA,IAAAE,QAAA,GAAgCF,GAAI,CAAA,EAAE,CAAA,CAAA;AACtC,EAAA,IAAAG,WAAA,GAAgCH,IAAI,KAAK,CAAA,CAAA;AAEzC,EAAA,IAAAI,QAAA,GAAWC,OAAOR,KAAK,CAAA,CAAA;AAC7B,EAAA,IAAMS,UAAUC,SAAU,CAAAV,KAAA,EAAOO,UAAU,OAAS,EAAA,cAAA,EAAgB,YAAY,QAAQ,CAAA,CAAA;AACxF,EAAA,IAAMI,YAAYD,SAAU,CAAAV,KAAA,EAAOO,UAAU,SAAW,EAAA,gBAAA,EAAkB,YAAY,QAAQ,CAAA,CAAA;AAC9F,EAAA,IAAMK,aAAaF,SAAU,CAAAV,KAAA,EAAOO,UAAU,UAAY,EAAA,iBAAA,EAAmB,YAAY,QAAQ,CAAA,CAAA;EAEjG,SAASM,SAASC,KAAsB,EAAA;IACtCC,KAAA,CAAMD,KAAQ,GAAAA,KAAA,CAAA;AACdC,IAAAA,KAAA,CAAMC,MAAMF,KAAQ,GAAAA,KAAA,CAAA;AACXT,IAAAA,QAAA,CAAAY,KAAA,GAAQH,MAAMI,QAAS,EAAA,CAAA;AAClC,GAAA;AAEA,EAAA,IAAMH,KAAuB,GAAA;AAC3Bf,IAAAA,KAAA,EAAAA,KAAA;AACAC,IAAAA,OAAA,EAAAA,OAAA;AAEAa,IAAAA,KAAO,EAAA,IAAA;AAEPZ,IAAAA,cAAA,EAAAA,cAAA;AAEAE,IAAAA,KAAA,EAAAA,KAAA;AAEAC,IAAAA,QAAA,EAAAA,QAAA;AAEAC,IAAAA,WAAA,EAAAA,WAAA;AAEAa,IAAAA,UAAY,EAAA,IAAA;AAEZC,IAAAA,aAAe,EAAA,IAAA;AAEfJ,IAAAA,KAAO,EAAA;AACLF,MAAAA,KAAO,EAAA,IAAA;AACPZ,MAAAA,cAAA,EAAAA,cAAA;AACAmB,MAAAA,SAAW,EAAArB,KAAA;MACXsB,aAAa,EAAC;AACdF,MAAAA,aAAe,EAAA,IAAA;KACjB;AACAP,IAAAA,QAAA,EAAAA,QAAA;AACAN,IAAAA,QAAA,EAAAA,QAAA;AACAE,IAAAA,OAAA,EAAAA,OAAA;AACAE,IAAAA,SAAA,EAAAA,SAAA;AACAC,IAAAA,UAAA,EAAAA,UAAAA;GACF,CAAA;EAEO,OAAA;AACLG,IAAAA,KAAA,EAAAA,KAAAA;GACF,CAAA;AACF;;;;"}