{"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    showResetAtSimpleMode: Boolean,\n  },\n  emits: ['search', 'reset', '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 = (isEmitting = false) => {\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      isEmitting && emit('reset', data.searchForm)\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                <hl-button v-show={props.showResetAtSimpleMode} class=\"simple reset-btn ordinary\" onClick={() => resetSearch(true)}>\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":["s","Object","prototype","toString","call","_isVNode","defineComponent","name","components","HlForm","HlButton","HlGroup","HlSelect","HlOption","props","searchSlots","type","Function","default","hideHeaderLine","Boolean","showSearchBar","showAdvSearch","showResetAtSimpleMode","emits","setup","ctx","slots","emit","data","reactive","myObserver","simpleOptions","btnOpen","searchForm","searchType","simpleOptionVal","componentOptions","searchEnabled","computed","val","Array","isArray","length","currentInstance","onBeforeMount","init","onMounted","getCurrentInstance","runResizeObserver","onBeforeUnmount","disconnect","ResizeObserver","entries","forEach","entry","target","className","indexOf","setListContentHeight","contentRect","height","observe","refs","resetSearch","isEmitting","keys","k","value","runSearch","arr","getIt","push","key","valueName","label","getSearchLabel","str","item","setSearchType","nextTick","setBtnsPosition","offsetWidth","$el","simpleOptionChange","children","i","prop","simpleOptionRender","_slot","_createVNode","_resolveComponent","$event","_isSlot","map","allItemsRender","simpleItemRender","_withDirectives","_vShow","_createTextVNode","onClick"],"mappings":"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"}