{"version":3,"file":"formats2.mjs","sources":["../../../../../../../../packages/components/table-pro/src/utils/formats.ts"],"sourcesContent":["import {\n  ProvinceCityRecord,\n  formatNumber,\n  formatToDate,\n  isArray,\n  isFunction,\n  isString,\n} from '@tav-ui/utils'\nimport type { VxeGlobalRendererHandles } from 'vxe-table'\n\nfunction number({ cellValue }, format: number | 'auto' = 'auto') {\n  return formatNumber(cellValue, format)\n}\nfunction date({ cellValue }, format = 'YYYY-MM-DD') {\n  return formatToDate(cellValue, format)\n}\nfunction geo(\n  { cellValue, row },\n  { hideProvince, hideCity, hideDistrict, hideTwoLevelDistrict } = {\n    hideProvince: false,\n    hideCity: false,\n    hideDistrict: true,\n    hideTwoLevelDistrict: false,\n  },\n  joinChar = '-'\n) {\n  const res: string[] = []\n\n  if (!row) return ''\n  const { province = cellValue, city, district } = row\n  /**\n   * 直辖市\n   */\n  const IS_TWO_LEVEL = province == city\n\n  // #region province\n  if (!province) {\n    return ''\n  }\n\n  // 省\n  !hideProvince &&\n    !IS_TWO_LEVEL &&\n    ProvinceCityRecord[province] &&\n    res.push(ProvinceCityRecord[province])\n\n  // 直辖市不重复 市: 北京-北京市-东城区 -> 北京市-东城区\n  if (city && !hideCity) {\n    ProvinceCityRecord[city] && res.push(ProvinceCityRecord[city])\n  }\n  if (district) {\n    const districtLabel = ProvinceCityRecord[district]\n    if (districtLabel) {\n      if (IS_TWO_LEVEL) {\n        hideTwoLevelDistrict || res.push(districtLabel)\n      } else {\n        hideDistrict || res.push(districtLabel)\n      }\n    }\n  }\n\n  return res.join(joinChar)\n}\n\nexport const formats = {\n  number,\n  date,\n  geo,\n}\n\nexport function useFormats(params: VxeGlobalRendererHandles.RenderEditParams): string | void {\n  const { row, column } = params\n  const formatter = column.params?.formatter\n\n  if (formatter) {\n    if (isFunction(formatter)) {\n      return formatter({ cellValue: row[column.field], ...params })\n    }\n\n    let formatFn: undefined | ((...args: any[]) => any) = undefined\n    let formatterArgs: any[] = []\n\n    if (isString(formatter)) {\n      formatFn = formats[formatter]\n    } else if (isArray(formatter)) {\n      const [name, ...args] = formatter\n      formatFn = formats[name]\n      formatterArgs = args\n    }\n\n    return formatFn?.({ cellValue: row[column.field], ...params }, ...formatterArgs)\n  }\n}\n"],"names":[],"mappings":";;;;;;AAQA,SAAS,MAAM,CAAC,EAAE,SAAS,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE;AAChD,EAAE,OAAO,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AACzC,CAAC;AACD,SAAS,IAAI,CAAC,EAAE,SAAS,EAAE,EAAE,MAAM,GAAG,YAAY,EAAE;AACpD,EAAE,OAAO,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AACzC,CAAC;AACD,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,oBAAoB,EAAE,GAAG;AAClG,EAAE,YAAY,EAAE,KAAK;AACrB,EAAE,QAAQ,EAAE,KAAK;AACjB,EAAE,YAAY,EAAE,IAAI;AACpB,EAAE,oBAAoB,EAAE,KAAK;AAC7B,CAAC,EAAE,QAAQ,GAAG,GAAG,EAAE;AACnB,EAAE,MAAM,GAAG,GAAG,EAAE,CAAC;AACjB,EAAE,IAAI,CAAC,GAAG;AACV,IAAI,OAAO,EAAE,CAAC;AACd,EAAE,MAAM,EAAE,QAAQ,GAAG,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC;AACvD,EAAE,MAAM,YAAY,GAAG,QAAQ,IAAI,IAAI,CAAC;AACxC,EAAE,IAAI,CAAC,QAAQ,EAAE;AACjB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,CAAC,YAAY,IAAI,CAAC,YAAY,IAAI,kBAAkB,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC3G,EAAE,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;AACzB,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;AACnE,GAAG;AACH,EAAE,IAAI,QAAQ,EAAE;AAChB,IAAI,MAAM,aAAa,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;AACvD,IAAI,IAAI,aAAa,EAAE;AACvB,MAAM,IAAI,YAAY,EAAE;AACxB,QAAQ,oBAAoB,IAAI,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACxD,OAAO,MAAM;AACb,QAAQ,YAAY,IAAI,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAChD,OAAO;AACP,KAAK;AACL,GAAG;AACH,EAAE,OAAO,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC5B,CAAC;AACW,MAAC,OAAO,GAAG;AACvB,EAAE,MAAM;AACR,EAAE,IAAI;AACN,EAAE,GAAG;AACL,EAAE;AACK,SAAS,UAAU,CAAC,MAAM,EAAE;AACnC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;AACjC,EAAE,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC;AAC7C,EAAE,IAAI,SAAS,EAAE;AACjB,IAAI,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE;AAC/B,MAAM,OAAO,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;AACpE,KAAK;AACL,IAAI,IAAI,QAAQ,GAAG,KAAK,CAAC,CAAC;AAC1B,IAAI,IAAI,aAAa,GAAG,EAAE,CAAC;AAC3B,IAAI,IAAI,QAAQ,CAAC,SAAS,CAAC,EAAE;AAC7B,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AACpC,KAAK,MAAM,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE;AACnC,MAAM,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;AACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAC/B,MAAM,aAAa,GAAG,IAAI,CAAC;AAC3B,KAAK;AACL,IAAI,OAAO,QAAQ,GAAG,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,MAAM,EAAE,EAAE,GAAG,aAAa,CAAC,CAAC;AACrF,GAAG;AACH;;;;"}