{"version":3,"file":"pro-table-tools.mjs","sources":["../../../../../packages/components/pro-table/src/pro-table-tools.tsx"],"sourcesContent":["import { Search, Plus, Minus, Refresh, Operation } from 'icon-ultra'\nimport {\n  cloneVNode,\n  defineComponent,\n  inject,\n  isVNode,\n  nextTick,\n  onBeforeUnmount,\n  onMounted,\n  ref,\n  shallowRef,\n  useSlots,\n  type Component,\n  type VNode,\n  type VNodeNormalizedChildren\n} from 'vue'\nimport ElButton from '@element-ultra/components/button'\nimport { proTableHeightKey, proTableKey } from './token'\nimport { isComment, isFragment, isTemplate } from '@element-ultra/utils'\nimport ElDropdown from '@element-ultra/components/dropdown'\nimport ColumnConfig from './column-config.vue'\nimport ColumnVisible from './column-visible.vue'\n\nexport default defineComponent({\n  emits: {\n    'key-enter': () => true\n  },\n\n  setup(props, { emit }) {\n    const {\n      ns,\n      rootProps,\n      setAutoQuery,\n      fetchData,\n      loading,\n      defaultQuery,\n      currentQueryStr\n    } = inject(proTableKey)!\n\n    const componentWidthMapper: Record<string, any> = {\n      ElDatePicker: '240px'\n    }\n    const proTableSlots = useSlots()\n    const getNodes = () => {\n      let slots = (proTableSlots.searcher?.() || []).filter(\n        slot => !isComment(slot)\n      )\n\n      let wrapClass = ns.e('searcher-wrap')\n      let labelClass = ns.e('searcher-label')\n      let contentClass = ns.e('searcher-content')\n\n      let nodes: VNode[] = []\n\n      const recursive = (slots: VNodeNormalizedChildren) => {\n        if (Array.isArray(slots)) {\n          slots.forEach(node => {\n            if (!isVNode(node) || isComment(node)) return\n\n            if (isFragment(node) || isTemplate(node)) {\n              return recursive(node.children)\n            }\n\n            const { props, type } = node\n            let nodeName = (type as Component)?.name\n            let wrapWidth = nodeName\n              ? componentWidthMapper[nodeName]\n              : undefined\n\n            let clonedNode = cloneVNode(node, {\n              class: contentClass,\n              placeholder: '',\n              style: {\n                width: node.props?.style?.width || wrapWidth\n              }\n            })\n\n            if (props?.placeholder) {\n              nodes.push(\n                <div class={wrapClass}>\n                  <label class={labelClass}>\n                    {props.label || props.placeholder}:\n                  </label>\n                  {clonedNode}\n                </div>\n              )\n            } else {\n              nodes.push(clonedNode)\n            }\n          })\n        } else if (isVNode(slots)) {\n          nodes.push(slots)\n        }\n      }\n      recursive(slots)\n\n      const nodesCount = nodes.length\n      const defaultVisibleNodes = nodes.slice(0, rootProps.searcherLimit)\n      const restNodes = nodes.slice(rootProps.searcherLimit)\n      return {\n        nodesCount,\n        defaultVisibleNodes,\n        restNodes\n      }\n    }\n\n    const handleKeyUp = (e: KeyboardEvent) => {\n      if (e.key === 'Enter') {\n        emit('key-enter')\n      }\n    }\n\n    /**\n     * 查询\n     * 查询的关键点是, 在请求之时对比query和上一次查询的query是否一致\n     */\n    const handleSearch = () => {\n      // 查询条件一致时不再重新重置分页\n      const queryChanged =\n        currentQueryStr.value !== JSON.stringify(rootProps.query)\n      fetchData(queryChanged)\n    }\n\n    /** 重置 */\n    const handleReset = () => {\n      const { query } = rootProps\n      // 点击重置按钮时会改变query的值, 为了使其不和监听的query冲突从而发生多次请求\n      // 因此此处使用变量来控制watch函数中的fetchData不执行\n      setAutoQuery(false)\n      query &&\n        Object.keys(query).forEach(key => {\n          query[key] = defaultQuery.value[key]\n        })\n      fetchData()\n      nextTick(() => setAutoQuery(true))\n    }\n\n    const expanded = ref(false)\n    const handleToggleExpand = () => {\n      expanded.value = !expanded.value\n    }\n\n    const toolsRef = shallowRef<HTMLDivElement | null>(null)\n\n    const { setToolsHeight } = inject(proTableHeightKey)!\n\n    const observer = new ResizeObserver(([entry]) => {\n      setToolsHeight((entry.target as HTMLElement).offsetHeight)\n    })\n\n    onMounted(() => {\n      toolsRef.value && observer.observe(toolsRef.value)\n    })\n\n    onBeforeUnmount(() => {\n      observer?.disconnect()\n    })\n\n    const columnsConfigDropdownRef = ref<InstanceType<typeof ElDropdown>>()\n\n    return () => {\n      const { defaultVisibleNodes, nodesCount, restNodes } = getNodes()\n\n      const showSearchButton = Boolean(\n        rootProps.showSearchButton === undefined\n          ? rootProps.api || nodesCount\n          : rootProps.showSearchButton\n      )\n\n      const searchButton = showSearchButton ? (\n        <>\n          <ElButton\n            loading={loading.value}\n            icon={Search}\n            onClick={handleSearch}\n            title='查询'\n          />\n          {nodesCount || rootProps.pagination ? (\n            <ElButton\n              loading={loading.value}\n              icon={Refresh}\n              title='重置'\n              onClick={handleReset}\n            />\n          ) : null}\n\n          {rootProps.columnsConfigurable ? (\n            <ElDropdown\n              trigger='click'\n              ref={columnsConfigDropdownRef}\n              style='margin-left: 12px'\n            >\n              {{\n                default: () => <ElButton icon={Operation} title='配置列' />,\n                dropdown: () =>\n                  rootProps.columnsConfigurable === 'simple' ? (\n                    <ColumnVisible\n                      onClose={() =>\n                        columnsConfigDropdownRef.value?.handleClose()\n                      }\n                    />\n                  ) : (\n                    <ColumnConfig\n                      onClose={() =>\n                        columnsConfigDropdownRef.value?.handleClose()\n                      }\n                    />\n                  )\n              }}\n            </ElDropdown>\n          ) : null}\n        </>\n      ) : null\n\n      const expandButton =\n        nodesCount > rootProps.searcherLimit ? (\n          <ElButton\n            icon={expanded.value ? Minus : Plus}\n            onClick={handleToggleExpand}\n          >\n            {expanded.value ? '收起' : '展开'}\n          </ElButton>\n        ) : null\n\n      return (\n        <section class={ns.e('tools')} ref={toolsRef}>\n          <div class={ns.e('tools-bar')}>\n            <div class={ns.e('searcher-box')} onKeyup={handleKeyUp}>\n              {defaultVisibleNodes}\n              {searchButton}\n              {expandButton}\n            </div>\n\n            <div class={ns.e('tools-box')}>{proTableSlots.tools?.()}</div>\n          </div>\n\n          {expanded.value ? (\n            <div class={ns.e('searcher-popper')} onKeyup={handleKeyUp}>\n              {restNodes}\n            </div>\n          ) : null}\n\n          {proTableSlots?.['extra-bar'] ? proTableSlots['extra-bar']() : null}\n        </section>\n      )\n    }\n  }\n})\n"],"names":["emits","key-enter","setup","props","emit","ns","rootProps","setAutoQuery","fetchData","loading","defaultQuery","currentQueryStr","inject","proTableKey","componentWidthMapper","ElDatePicker","proTableSlots","useSlots","getNodes","slots","searcher","filter","slot","isComment","wrapClass","e","labelClass","contentClass","nodes","recursive","Array","isArray","forEach","node","isVNode","isFragment","isTemplate","children","type","nodeName","name","wrapWidth","undefined","clonedNode","cloneVNode","class","placeholder","style","width","push","_createVNode","label","_createTextVNode","nodesCount","length","defaultVisibleNodes","slice","searcherLimit","restNodes","handleKeyUp","key","handleSearch","queryChanged","value","JSON","stringify","query","handleReset","Object","keys","nextTick","expanded","ref","handleToggleExpand","toolsRef","shallowRef","setToolsHeight","proTableHeightKey","observer","ResizeObserver","entry","target","offsetHeight","onMounted","observe","onBeforeUnmount","disconnect","columnsConfigDropdownRef","showSearchButton","Boolean","api","searchButton","_Fragment","ElButton","Search","pagination","Refresh","columnsConfigurable","ElDropdown","default","Operation","dropdown","ColumnVisible","onClose","handleClose","ColumnConfig","expandButton","Minus","Plus","tools"],"mappings":"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"}