{"version":3,"file":"utils.mjs","sources":["../../../../../../packages/components/data-filter/src/utils.ts"],"sourcesContent":["import type { SelectorItem, SelectorItemOption } from '@hongluan-business-ui/components/table-searchbar/src/searchbar'\n\nexport interface DisplayItem {\n  display: string\n  value: unknown\n  name: string\n  type: string\n}\n\nconst Utils = {\n  getKey(item: SelectorItem, opt: SelectorItemOption) {\n    return item.prop ? opt[item.prop.value] : opt.value\n  },\n  getLabel(item: SelectorItem, opt: SelectorItemOption) {\n    return item.prop ? opt[item.prop.label] : opt.label\n  },\n  getSelectedOptionLabels(item: SelectorItem) {\n    const result = [] as unknown[]\n    (item.value as Array<unknown>).forEach(v => {\n      result.push(this.getSelectedOptionLabel(item, v))\n    })\n    return result\n  },\n  getSelectedOptionLabel(item: SelectorItem, val: unknown) {\n    const valOpt = item.options.find(opt => this.getKey(item, opt) === val)\n    return valOpt ? this.getLabel(item, valOpt) : ''\n  },\n  getSelectedOptionsLabel(item: SelectorItem, vals: unknown[]) {\n    return vals.map(val => this.getSelectedOptionLabel(item, val))\n  },\n  getDisplayStr(display: unknown, separator = '-') {\n    let val = ''\n    if (typeof display === 'string') {\n      val = display\n    } else if (Array.isArray(display)) {\n      val = display.join(separator)\n    } else {\n      val = JSON.stringify(display)\n    }\n    return val\n  },\n  getDisplayItems(searchItems: SelectorItem[]) {\n    const result = [] as DisplayItem[]\n    const nonSlotItems = searchItems.filter(i => i.type !== 'slot')\n    nonSlotItems\n      .filter(i => !i.display)\n      .filter(i => Array.isArray(i.value) ? i.value.length : i.value)\n      .forEach(item => {\n        if (/range|dates/.test(item.type) || item['is-range']) {\n          result.push({\n            display: this.getDisplayStr(item.value),\n            value: item.value,\n            name: item.name,\n            type: item.type,\n          })\n        } else if (item.type === 'select') {\n          let display: string\n          if (Array.isArray(item.value)) {\n            display = this.getDisplayStr(this.getSelectedOptionsLabel(item, item.value), '，')\n          } else {\n            display = this.getSelectedOptionLabel(item, item.value) as string\n          }\n          result.push({\n            display,\n            value: item.value,\n            name: item.name,\n            type: item.type,\n          })\n        } else {\n          result.push({\n            display: this.getDisplayStr(item.value),\n            value: item.value,\n            name: item.name,\n            type: item.type,\n          })\n        }\n      })\n    nonSlotItems.filter(i => i.display).forEach(item => {\n      const label = typeof item.display === 'function' ? item.display.call(item) : null\n      if (label) {\n        result.push({\n          display: label,\n          value: item.value,\n          name: item.name,\n          type: item.type,\n        })\n      }\n    })\n    return result\n  },\n  syncDisplaySearchItems(displayItems: DisplayItem[], searchItems: SelectorItem[]) {\n    searchItems.forEach(si => {\n      const foundItem = displayItems.find(di => di.name === si.name)\n      if (!foundItem) {\n        if (Array.isArray(si.value)) {\n          si.value = []\n        } else {\n          si.value = ''\n        }\n      }\n    })\n  },\n}\n\nexport { Utils }\n"],"names":[],"mappings":"AAAK,MAAC,KAAK,GAAG;AACd,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;AACpB,IAAI,OAAO,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC;AACxD,GAAG;AACH,EAAE,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE;AACtB,IAAI,OAAO,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC;AACxD,GAAG;AACH,EAAE,uBAAuB,CAAC,IAAI,EAAE;AAChC,IAAI,MAAM,MAAM,GAAG,EAAE,CAAC;AACtB,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;AAC9B,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACxD,KAAK,CAAC,CAAC;AACP,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG;AACH,EAAE,sBAAsB,CAAC,IAAI,EAAE,GAAG,EAAE;AACpC,IAAI,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;AAC9E,IAAI,OAAO,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC;AACrD,GAAG;AACH,EAAE,uBAAuB,CAAC,IAAI,EAAE,IAAI,EAAE;AACtC,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;AACrE,GAAG;AACH,EAAE,aAAa,CAAC,OAAO,EAAE,SAAS,GAAG,GAAG,EAAE;AAC1C,IAAI,IAAI,GAAG,GAAG,EAAE,CAAC;AACjB,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACrC,MAAM,GAAG,GAAG,OAAO,CAAC;AACpB,KAAK,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AACvC,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACpC,KAAK,MAAM;AACX,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AACpC,KAAK;AACL,IAAI,OAAO,GAAG,CAAC;AACf,GAAG;AACH,EAAE,eAAe,CAAC,WAAW,EAAE;AAC/B,IAAI,MAAM,MAAM,GAAG,EAAE,CAAC;AACtB,IAAI,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;AACtE,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK;AAC9H,MAAM,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE;AAC7D,QAAQ,MAAM,CAAC,IAAI,CAAC;AACpB,UAAU,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;AACjD,UAAU,KAAK,EAAE,IAAI,CAAC,KAAK;AAC3B,UAAU,IAAI,EAAE,IAAI,CAAC,IAAI;AACzB,UAAU,IAAI,EAAE,IAAI,CAAC,IAAI;AACzB,SAAS,CAAC,CAAC;AACX,OAAO,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;AACzC,QAAQ,IAAI,OAAO,CAAC;AACpB,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AACvC,UAAU,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC;AACjG,SAAS,MAAM;AACf,UAAU,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AAClE,SAAS;AACT,QAAQ,MAAM,CAAC,IAAI,CAAC;AACpB,UAAU,OAAO;AACjB,UAAU,KAAK,EAAE,IAAI,CAAC,KAAK;AAC3B,UAAU,IAAI,EAAE,IAAI,CAAC,IAAI;AACzB,UAAU,IAAI,EAAE,IAAI,CAAC,IAAI;AACzB,SAAS,CAAC,CAAC;AACX,OAAO,MAAM;AACb,QAAQ,MAAM,CAAC,IAAI,CAAC;AACpB,UAAU,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;AACjD,UAAU,KAAK,EAAE,IAAI,CAAC,KAAK;AAC3B,UAAU,IAAI,EAAE,IAAI,CAAC,IAAI;AACzB,UAAU,IAAI,EAAE,IAAI,CAAC,IAAI;AACzB,SAAS,CAAC,CAAC;AACX,OAAO;AACP,KAAK,CAAC,CAAC;AACP,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK;AAC5D,MAAM,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AACxF,MAAM,IAAI,KAAK,EAAE;AACjB,QAAQ,MAAM,CAAC,IAAI,CAAC;AACpB,UAAU,OAAO,EAAE,KAAK;AACxB,UAAU,KAAK,EAAE,IAAI,CAAC,KAAK;AAC3B,UAAU,IAAI,EAAE,IAAI,CAAC,IAAI;AACzB,UAAU,IAAI,EAAE,IAAI,CAAC,IAAI;AACzB,SAAS,CAAC,CAAC;AACX,OAAO;AACP,KAAK,CAAC,CAAC;AACP,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG;AACH,EAAE,sBAAsB,CAAC,YAAY,EAAE,WAAW,EAAE;AACpD,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK;AAChC,MAAM,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC;AACvE,MAAM,IAAI,CAAC,SAAS,EAAE;AACtB,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE;AACrC,UAAU,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC;AACxB,SAAS,MAAM;AACf,UAAU,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC;AACxB,SAAS;AACT,OAAO;AACP,KAAK,CAAC,CAAC;AACP,GAAG;AACH;;;;"}