{"version":3,"file":"search-items.mjs","sources":["../../../../../../packages/components/page-table-v2/src/search-items.vue"],"sourcesContent":["<template>\n  <div ref=\"root\" class=\"table-toolbar w-full\">\n    <hl-group align=\"items-middle\" gap=\"var(--lg)\" full=\"full-x\" class=\"w-full toolbar-header\">\n      <div class=\"static\">\n        <slot name=\"content-header-left\"></slot>\n      </div>\n      <!--搜索项显示区1-->\n      <div ref=\"search-tags\" class=\"toolbar-tags-wrap\">\n        <search-tag :tags=\"tags\" :show-type=\"'limit'\" :box-width=\"data.searchTagsW\" @hideIt=\"judgeSearchTagHide\" @clearEvent=\"clearSearchTag\" />\n      </div>\n      <div class=\"static\">\n        <slot name=\"content-header-right\"></slot>\n      </div>\n    </hl-group>\n    <!--搜索项显示区2-->\n    <search-tag v-if=\"data.searchTagHide\" :tags=\"tags\" :show-type=\"'all'\" @clearEvent=\"clearSearchTag\" />\n  </div>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, reactive, onMounted, onBeforeUnmount, getCurrentInstance, ComponentInternalInstance, PropType } from 'vue'\nimport { HlGroup } from 'hongluan-ui'\nimport SearchTag from './search-tag.vue'\nimport { TagItem } from './types'\n\nexport interface DataInterface {\n  searchTagHide: boolean\n  myObserver: null | ResizeObserver\n  searchTagsW: number\n}\n\nexport default defineComponent({\n  components: { SearchTag, HlGroup },\n  props: {\n    tags: {\n      type: Array as PropType<TagItem[]>,\n      default: () => [],\n    },\n  },\n  emits: ['tagBoxHeight', 'clearTags'],\n  setup(props, { emit }) {\n    const data: DataInterface = reactive({\n      searchTagHide: false,\n      myObserver: null,\n      searchTagsW: 0,\n    })\n\n    let currentInstance: ComponentInternalInstance | null\n\n    let runResizeObserver = () => {\n      data.myObserver = new ResizeObserver(entries => {\n        // 注意，entres是个数组，数组项为每个需要监听的DOM节点\n        entries.forEach(entry => {\n          // console.log('大小位置 contentRect', entry.contentRect)\n          // console.log('监听的DOM target', entry.target)\n          if (entry.target.className.indexOf('toolbar-tags-wrap') !== -1) {\n            data.searchTagsW = entry.contentRect.width\n          } else if (entry.target.className.indexOf('table-toolbar') !== -1) {\n            emit('tagBoxHeight', entry.contentRect.height)\n          }\n        })\n      })\n      if (currentInstance) {\n        data.myObserver.observe(currentInstance.refs['search-tags'] as Element)\n        data.myObserver.observe(currentInstance.refs['root'] as Element)\n      }\n    }\n\n    let judgeSearchTagHide = (val: boolean) => {\n      data.searchTagHide = val\n    }\n    let clearSearchTag = (val: string | Array<any>) => {\n      // 关闭的搜素标签\n      if (val === 'all') {\n        emit('clearTags', props.tags)\n      } else {\n        emit('clearTags', [val])\n      }\n    }\n\n    onMounted(() => {\n      currentInstance = getCurrentInstance()\n      runResizeObserver()\n    })\n\n    onBeforeUnmount(() => {\n      data.myObserver && data.myObserver.disconnect()\n    })\n\n    return {\n      data,\n      judgeSearchTagHide,\n      clearSearchTag,\n    }\n  },\n})\n</script>\n"],"names":["_openBlock","_createElementBlock","_createVNode","_createElementVNode","_renderSlot","_createCommentVNode","_createBlock"],"mappings":"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"}