tav-ui
Version:
1 lines • 10.6 kB
Source Map (JSON)
{"version":3,"file":"TreeHeader2.mjs","sources":["../../../../../../../packages/components/tree/src/TreeHeader.vue"],"sourcesContent":["<template>\n <div class=\"flex px-2 py-1.5 items-center basic-tree-header\">\n <slot v-if=\"$slots.headerTitle\" name=\"headerTitle\" />\n <BasicTitle v-if=\"!$slots.headerTitle && title\" :help-message=\"helpMessage\">\n {{ title }}\n </BasicTitle>\n <div\n v-if=\"search || toolbar\"\n class=\"flex flex-1 justify-self-stretch items-center cursor-pointer\"\n >\n <div v-if=\"search\" :class=\"getInputSearchCls\">\n <InputSearch\n v-model:value=\"searchValue\"\n :placeholder=\"tavI18n('Tav.common.searchText')\"\n allow-clear\n @search=\"handleSearch\"\n />\n </div>\n <Dropdown v-if=\"toolbar\" @click.prevent>\n <Icon icon=\"ion:ellipsis-vertical\" />\n <template #overlay>\n <Menu @click=\"handleMenuClick\">\n <template v-for=\"item in toolbarList\" :key=\"item.value\">\n <MenuItem v-bind=\"{ key: item.value }\">\n {{ item.label }}\n </MenuItem>\n <MenuDivider v-if=\"item.divider\" />\n </template>\n </Menu>\n </template>\n </Dropdown>\n </div>\n </div>\n</template>\n<script lang=\"ts\">\nimport { computed, defineComponent, ref, watch } from 'vue'\nimport { Dropdown, Input, Menu } from 'ant-design-vue'\nimport { useDebounceFn } from '@vueuse/core'\nimport { propTypes } from '@tav-ui/utils/propTypes'\nimport BasicTitle from '@tav-ui/components/basic-title'\nimport Icon from '@tav-ui/components/icon'\nimport { tavI18n } from '@tav-ui/locales'\nimport type { PropType } from 'vue'\nenum ToolbarEnum {\n SELECT_ALL,\n UN_SELECT_ALL,\n EXPAND_ALL,\n UN_EXPAND_ALL,\n CHECK_STRICTLY,\n CHECK_UN_STRICTLY,\n}\n\ninterface MenuInfo {\n key: ToolbarEnum\n}\nexport default defineComponent({\n name: 'BasicTreeHeader',\n components: {\n BasicTitle,\n Icon,\n Dropdown,\n Menu,\n MenuItem: Menu.Item,\n MenuDivider: Menu.Divider,\n InputSearch: Input.Search,\n },\n props: {\n helpMessage: {\n type: [String, Array] as PropType<string | string[]>,\n default: '',\n },\n title: propTypes.string,\n toolbar: propTypes.bool,\n checkable: propTypes.bool,\n search: propTypes.bool,\n checkAll: propTypes.func,\n expandAll: propTypes.func,\n searchText: propTypes.string,\n onStrictlyChange: propTypes.func,\n },\n emits: ['strictly-change', 'search'],\n setup(props, { emit, slots }) {\n const searchValue = ref('')\n\n const getInputSearchCls = computed(() => {\n const titleExists = slots.headerTitle || props.title\n return [\n 'mr-1',\n 'w-full',\n // titleExists ? 'w-2/3' : 'w-full',\n {\n ['ml-5']: titleExists,\n },\n ]\n })\n\n const toolbarList = computed(() => {\n const { checkable } = props\n const defaultToolbarList = [\n { label: tavI18n('Tav.tree.1'), value: ToolbarEnum.EXPAND_ALL },\n {\n label: tavI18n('Tav.tree.2'),\n value: ToolbarEnum.UN_EXPAND_ALL,\n divider: checkable,\n },\n ]\n\n return checkable\n ? [\n { label: tavI18n('Tav.tree.3'), value: ToolbarEnum.SELECT_ALL },\n {\n label: tavI18n('Tav.tree.4'),\n value: ToolbarEnum.UN_SELECT_ALL,\n divider: checkable,\n },\n ...defaultToolbarList,\n { label: tavI18n('Tav.tree.5'), value: ToolbarEnum.CHECK_STRICTLY },\n { label: tavI18n('Tav.tree.6'), value: ToolbarEnum.CHECK_UN_STRICTLY },\n ]\n : defaultToolbarList\n })\n\n function handleMenuClick(e: MenuInfo) {\n const { key } = e\n switch (key) {\n case ToolbarEnum.SELECT_ALL:\n props.checkAll?.(true)\n break\n case ToolbarEnum.UN_SELECT_ALL:\n props.checkAll?.(false)\n break\n case ToolbarEnum.EXPAND_ALL:\n props.expandAll?.(true)\n break\n case ToolbarEnum.UN_EXPAND_ALL:\n props.expandAll?.(false)\n break\n case ToolbarEnum.CHECK_STRICTLY:\n emit('strictly-change', false)\n break\n case ToolbarEnum.CHECK_UN_STRICTLY:\n emit('strictly-change', true)\n break\n }\n }\n\n function emitChange(value?: string): void {\n emit('search', value)\n }\n const debounceEmitChange = useDebounceFn(emitChange, 200)\n\n // watch(\n // () => searchValue.value,\n // (v) => {\n // debounceEmitChange(v)\n // }\n // )\n watch(\n () => props.searchText,\n (v) => {\n if (v !== searchValue.value) {\n searchValue.value = v\n }\n }\n )\n function handleSearch(e: any): void {\n debounceEmitChange(e)\n }\n\n return { tavI18n, toolbarList, handleMenuClick, searchValue, getInputSearchCls, handleSearch }\n },\n})\n</script>\n"],"names":["ToolbarEnum","BasicTitle","Icon","_resolveComponent","_withCtx","_createTextVNode","_toDisplayString","_createCommentVNode","_openBlock","_createElementBlock","_normalizeClass","_createVNode","_createBlock","_Fragment","_renderList"],"mappings":"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"}