{"version":3,"file":"table-search.mjs","sources":["../../../../../../packages/components/page-table-v2/src/table-search.tsx"],"sourcesContent":["import {\n  defineComponent,\n  reactive,\n  nextTick,\n  getCurrentInstance,\n  onMounted,\n  onBeforeUnmount,\n  onBeforeMount,\n  computed,\n} from 'vue'\nimport { HlForm, HlButton, HlGroup, HlSelect, HlOption } from 'hongluan-ui'\nimport { TagItem } from './types'\n\nexport interface DataInterface {\n  myObserver: null | ResizeObserver\n  simpleOptions: Array<any>\n  btnOpen: number\n  searchForm: object\n  searchType: number\n  simpleOptionVal: string\n  componentOptions: Array<any>\n}\n\nexport default defineComponent({\n  name: 'TableSearch',\n  components: { HlForm, HlButton, HlGroup, HlSelect, HlOption },\n  props: {\n    searchSlots: {\n      type: Function,\n      default: null,\n    },\n    hideHeaderLine: {\n      type: Boolean,\n      default: false,\n    },\n    // 是否显示搜索\n    showSearchBar: {\n      type: Boolean,\n      default: true,\n    },\n    showAdvSearch: {\n      type: Boolean,\n      default: true,\n    },\n  },\n  emits: ['search', 'changeHeight'],\n  setup(props, ctx) {\n    const { slots, emit } = ctx\n\n    const data: DataInterface = reactive({\n      myObserver: null,\n      simpleOptions: [],\n      btnOpen: 0, // 0 不显示  1 底部  2 右侧\n      searchForm: {},\n      searchType: 1, // 1 简单搜索  2 高级搜索\n      simpleOptionVal: '',\n      componentOptions: [],\n    })\n\n    const searchEnabled = computed(() => {\n      const val = data.searchForm[data.simpleOptionVal]\n      return Array.isArray(val) ? val.length : (val || val === 0)\n    })\n\n    let currentInstance: any\n    onBeforeMount(() => {\n      init()\n    })\n    onMounted(() => {\n      currentInstance = getCurrentInstance()\n      runResizeObserver()\n    })\n\n    onBeforeUnmount(() => {\n      data.myObserver && data.myObserver.disconnect()\n    })\n\n    const 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('list-page_header') !== -1) {\n            // 执行内容区的高度变动\n            setListContentHeight(entry.contentRect.height)\n          }\n        })\n      })\n      if (currentInstance) {\n        data.myObserver.observe(currentInstance.refs['root'] as Element)\n      }\n    }\n\n    const setListContentHeight = (val: number) => {\n      emit('changeHeight', val)\n    }\n\n    const resetSearch = () => {\n      Object.keys(data.searchForm).forEach(k => {\n        data.searchForm[k] = Array.isArray(data.searchForm[k]) ? [] : ''\n      })\n      if (data.simpleOptions[0]) {\n        data.simpleOptionVal = data.simpleOptionVal || data.simpleOptions[0].value\n      }\n    }\n    const runSearch = () => {\n      const arr: Array<TagItem> = []\n      Object.keys(data.searchForm).forEach(k => {\n        let getIt = false\n        if (data.searchType === 1) {\n          if (data.simpleOptionVal !== k) {\n            data.searchForm[k] = ''\n          } else if (data.searchForm[k] !== '') {\n            getIt = true\n          }\n        } else {\n          if (data.searchForm[k] !== '') {\n            // 有值\n            getIt = true\n          }\n        }\n\n        if (getIt) {\n          arr.push({\n            key: k,\n            valueName: '',\n            value: data.searchForm[k],\n            label: getSearchLabel(k),\n          })\n        }\n      })\n      emit('search', arr, data.searchType)\n\n      if (arr.length) {\n        resetSearch()\n      }\n    }\n\n    const getSearchLabel = (key: string) => {\n      let str = ''\n      data.simpleOptions.forEach(item => {\n        if (item.value === key) {\n          str = item.label\n        }\n      })\n      return str\n    }\n\n    const setSearchType = () => {\n      data.searchType = data.searchType === 1 ? 2 : 1\n      resetSearch()\n\n      data.btnOpen = 0\n      nextTick(() => {\n        setBtnsPosition()\n      })\n    }\n\n    const setBtnsPosition = () => {\n      if (!currentInstance) return\n\n      if ((currentInstance.refs['root'] as HTMLElement).offsetWidth - currentInstance.refs['form-box'].$el.offsetWidth > 400) {\n        data.btnOpen = 2\n      } else {\n        data.btnOpen = 1\n      }\n    }\n\n    const simpleOptionChange = (val: string) => {\n      Object.keys(data.searchForm).forEach(k => {\n        if (k !== val) {\n          data.searchForm[k] = ''\n        }\n      })\n    }\n\n    const init = () => {\n      data.simpleOptions.length = 0\n      if (slots.default instanceof Function) {\n        // 直接作用域插槽传递\n        data.componentOptions = (slots.default(data.searchForm)?.[0]?.children || []) as any[]\n      } else if (props.searchSlots instanceof Function) {\n        // 通过 props 传递\n        data.componentOptions = props.searchSlots(data.searchForm)\n      } else {\n        return\n      }\n\n      data.componentOptions.forEach(item => {\n        if (item.props) {\n          const i = {\n            value: item.props.prop,\n            label: item.props.label,\n          }\n          data.simpleOptions.push(i)\n        }\n      })\n      if (data.simpleOptions[0] && !data.simpleOptionVal) {\n        data.simpleOptionVal = data.simpleOptions[0].value\n      }\n    }\n\n    const simpleOptionRender = () => {\n      return (\n        <hl-select\n          v-model={data.simpleOptionVal}\n          style=\"width: 168px; margin-right: 8px;\"\n          onChange={simpleOptionChange}\n          placeholder=\"请选择\"\n        >\n          {data.simpleOptions.map(i => {\n            return <hl-option key={i.value} label={i.label} value={i.value}></hl-option>\n          })}\n        </hl-select>\n      )\n    }\n\n    const allItemsRender = i => {\n      return <div class=\"search-form-field\">{i}</div>\n    }\n\n    const simpleItemRender = i => {\n      if (i.children.default) {\n        return (\n          <div v-show={i.props.prop === data.simpleOptionVal} class=\"search-form-field-1\">\n            {i.children.default()[0]}\n          </div>\n        )\n      } else {\n        return ''\n      }\n    }\n\n    return () => {\n      return (\n        <div class={{ 'list-page_header': true, 'no-search-bar': !props.showSearchBar, 'border-top border-primary': !props.hideHeaderLine && props.showSearchBar }} ref=\"root\">\n          <div class=\"search-form-wrap\" v-show={props.showSearchBar}>\n            <hl-form class=\"search-form-box\" ref=\"form-box\">\n              <hl-group>\n                {data.searchType === 1 ? simpleOptionRender() : ''}\n                <span v-show={data.searchType === 1}>\n                  {data.componentOptions.map(i => {\n                    return simpleItemRender(i)\n                  })}\n                </span>\n                <div v-show={data.searchType === 2}>\n                  {data.componentOptions.map(i => {\n                    return allItemsRender(i)\n                  })}\n                </div>\n              </hl-group>\n              <div\n                v-show={data.searchType === 1}\n                class={{\n                  'search-btns-box': true,\n                }}\n              >\n                <hl-button type=\"main\" onClick={runSearch} disabled={!searchEnabled.value}>\n                查询\n                </hl-button>\n                <span class=\"search-type\" onClick={setSearchType} v-show={props.showAdvSearch}>\n                高级搜索\n                </span>\n              </div>\n            </hl-form>\n            <div\n              v-show={data.searchType === 2}\n              class={{\n                'search-btns-box-1': data.btnOpen === 1,\n                'search-btns-box-2': data.btnOpen === 2,\n              }}\n            >\n              <hl-button class=\"reset-btn ordinary\" onClick={resetSearch}>\n              重置\n              </hl-button>\n              <hl-button type=\"main\" onClick={runSearch}>\n              查询\n              </hl-button>\n              <span class=\"search-type\" onClick={setSearchType}>\n              简易搜索\n              </span>\n            </div>\n          </div>\n        </div>\n      )\n    }\n  },\n})\n\n"],"names":["name","components","HlForm","HlButton","HlGroup","HlOption","props","searchSlots","type","default","hideHeaderLine","showSearchBar","showAdvSearch","emits","setup","slots","emit","data","reactive","myObserver","simpleOptions","btnOpen","searchForm","searchType","simpleOptionVal","componentOptions","searchEnabled","val","Array","onBeforeMount","onMounted","runResizeObserver","onBeforeUnmount","entries","className","setListContentHeight","resetSearch","forEach","k","runSearch","arr","getIt","key","valueName","value","getSearchLabel","str","setSearchType","nextTick","setBtnsPosition","currentInstance","simpleOptionChange","init","_resolveComponent","length","_createVNode","item","label","_vShow","simpleOptionRender","_withDirectives","i","allItemsRender","simpleItemRender","_createTextVNode"],"mappings":"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"}