{"version":3,"file":"search-tag.mjs","sources":["../../../../../../packages/components/page-table-v2/src/search-tag.vue"],"sourcesContent":["<template>\n  <div ref=\"root\" class=\"search-page-tag_wrap max-w-100\" :class=\"{ 'search-page-tag_wrap-hide': data.showHide }\">\n    <div\n      v-for=\"item in tags\"\n      :key=\"item.key\"\n      :class=\"{\n        'max-w-100': true,\n        'search-tag': true,\n        'search-tag-all': showType === 'all'\n      }\"\n    >\n      <span class=\"text-ellipsis self-full\">{{ item.label + '：' + item.valueName }}</span>\n      <div class=\"white-line\"></div>\n      <hl-icon class=\"tag-close\" @click=\"clear(item)\">\n        <SystemClose />\n      </hl-icon>\n    </div>\n    <div\n      v-if=\"tags.length\"\n      class=\"clear-all\"\n      :class=\"{ 'clear-all-bottom': showType === 'all' }\"\n      @click=\"clear('all')\"\n    >\n      清空\n    </div>\n  </div>\n</template>\n<script lang=\"ts\">\nimport {\n  defineComponent,\n  reactive,\n  watch,\n  nextTick,\n  onMounted,\n  onBeforeUnmount,\n  getCurrentInstance,\n  ComponentInternalInstance,\n  PropType,\n} from 'vue'\nimport { HlIcon, SystemClose } from 'hongluan-ui'\n\n\nimport { TagItem } from './types'\n\nexport interface DataInterface {\n  showHide: boolean\n  timer: null | ReturnType<typeof setTimeout>\n}\n\nexport default defineComponent({\n  components: { HlIcon, SystemClose },\n  props: {\n    showType: {\n      type: String, // 未设置默认值，为 undefined\n      default: 'limit',\n    },\n    tags: {\n      type: Array as PropType<TagItem[]>,\n      default: () => [],\n    },\n    boxWidth: {\n      type: Number,\n      default: 0,\n    },\n  },\n  emits: ['hideIt', 'clearEvent'],\n  setup(props, { emit }) {\n    const data: DataInterface = reactive({\n      showHide: false,\n      timer: null,\n    })\n    let currentInstance: ComponentInternalInstance | null\n\n    watch(\n      () => props.boxWidth,\n      () => {\n        if (data.timer) {\n          clearTimeout(data.timer)\n        }\n        data.timer = setTimeout(() => {\n          nextTick(() => {\n            computedWidth()\n            data.timer = null\n          })\n        }, 50)\n      },\n    )\n    watch(\n      () => props.tags,\n      () => {\n        nextTick(() => {\n          computedWidth()\n        })\n      },\n      { deep: true, immediate: true },\n    )\n    // 对比自己的宽度\n    let computedWidth = () => {\n      if (!currentInstance || !currentInstance.refs['root']) return\n      let $el: any = currentInstance.refs['root']\n      data.showHide = $el.parentNode.offsetWidth - $el.offsetWidth <= 48 && props.showType === 'limit'\n      emit('hideIt', data.showHide)\n    }\n    let clear = (item: TagItem | string) => {\n      emit('clearEvent', item)\n    }\n\n    onMounted(() => {\n      currentInstance = getCurrentInstance()\n    })\n    onBeforeUnmount(() => {\n      data.timer && clearTimeout(data.timer)\n    })\n\n    return {\n      data,\n      clear,\n    }\n  },\n})\n</script>\n"],"names":["_createElementVNode","_createElementBlock","_normalizeClass","_Fragment","_renderList","_toDisplayString","_createVNode","_createCommentVNode"],"mappings":"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"}