{"version":3,"file":"SearchPage.mjs","sources":["../../../../../packages/service/search/components/SearchPage.ts"],"sourcesContent":["import { computed, defineComponent, h } from \"vue\";\r\nimport \"../styles/search-page.scss\";\r\n\r\nexport const SearchPage = defineComponent({\r\n  props: {\r\n    /** 当前页码 */\r\n    current: { type: Number, default: 1 },\r\n    /** 每页条数 */\r\n    size: { type: Number, default: 10 },\r\n    /** 总条数 */\r\n    total: { type: Number, default: 0 }\r\n  },\r\n  emits: {\r\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n    \"update:current\": (e: number) => true\r\n  },\r\n  setup(props, { emit }) {\r\n    // 总页数\r\n    const pageCount = computed(() => {\r\n      return Math.ceil(Number(props.total) / Number(props.size));\r\n    });\r\n\r\n    const pageCurrent = computed({\r\n      get() {\r\n        return props.current;\r\n      },\r\n      set(val: number) {\r\n        let current = val;\r\n        if (val < 1) current = 1;\r\n        if (val > pageCount.value) current = pageCount.value;\r\n        emit(\"update:current\", current);\r\n      }\r\n    });\r\n\r\n    return () =>\r\n      h(\r\n        \"div\",\r\n        {\r\n          class: \"tdt-search-page\"\r\n        },\r\n        [\r\n          h(\r\n            \"span\",\r\n            {\r\n              class: \"tdt-search-page__btn first-page\",\r\n              onClick: () => (pageCurrent.value = 1)\r\n            },\r\n            \"«\"\r\n          ),\r\n          h(\r\n            \"span\",\r\n            {\r\n              class: \"tdt-search-page__btn prev-page\",\r\n              onClick: () => pageCurrent.value--\r\n            },\r\n            \"‹\"\r\n          ),\r\n          h(\"span\", null, pageCurrent.value),\r\n          h(\"span\", null, \" / \"),\r\n          h(\"span\", null, pageCount.value),\r\n          h(\r\n            \"span\",\r\n            {\r\n              class: \"tdt-search-page__btn next-page\",\r\n              onClick: () => pageCurrent.value++\r\n            },\r\n            \"›\"\r\n          ),\r\n          h(\r\n            \"span\",\r\n            {\r\n              class: \"tdt-search-page__btn last-page\",\r\n              onClick: () => (pageCurrent.value = pageCount.value)\r\n            },\r\n            \"»\"\r\n          )\r\n        ]\r\n      );\r\n  }\r\n});\r\n"],"names":["SearchPage","defineComponent","e","props","emit","pageCount","computed","pageCurrent","val","current","h"],"mappings":";;AAGO,MAAMA,IAAaC,EAAgB;AAAA,EACxC,OAAO;AAAA;AAAA,IAEL,SAAS,EAAE,MAAM,QAAQ,SAAS,EAAE;AAAA;AAAA,IAEpC,MAAM,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA;AAAA,IAElC,OAAO,EAAE,MAAM,QAAQ,SAAS,EAAE;AAAA,EACpC;AAAA,EACA,OAAO;AAAA;AAAA,IAEL,kBAAkB,CAACC,MAAc;AAAA,EACnC;AAAA,EACA,MAAMC,GAAO,EAAE,MAAAC,KAAQ;AAEf,UAAAC,IAAYC,EAAS,MAClB,KAAK,KAAK,OAAOH,EAAM,KAAK,IAAI,OAAOA,EAAM,IAAI,CAAC,CAC1D,GAEKI,IAAcD,EAAS;AAAA,MAC3B,MAAM;AACJ,eAAOH,EAAM;AAAA,MACf;AAAA,MACA,IAAIK,GAAa;AACf,YAAIC,IAAUD;AACV,QAAAA,IAAM,MAAaC,IAAA,IACnBD,IAAMH,EAAU,UAAOI,IAAUJ,EAAU,QAC/CD,EAAK,kBAAkBK,CAAO;AAAA,MAAA;AAAA,IAChC,CACD;AAED,WAAO,MACLC;AAAA,MACE;AAAA,MACA;AAAA,QACE,OAAO;AAAA,MACT;AAAA,MACA;AAAA,QACEA;AAAA,UACE;AAAA,UACA;AAAA,YACE,OAAO;AAAA,YACP,SAAS,MAAOH,EAAY,QAAQ;AAAA,UACtC;AAAA,UACA;AAAA,QACF;AAAA,QACAG;AAAA,UACE;AAAA,UACA;AAAA,YACE,OAAO;AAAA,YACP,SAAS,MAAMH,EAAY;AAAA,UAC7B;AAAA,UACA;AAAA,QACF;AAAA,QACAG,EAAE,QAAQ,MAAMH,EAAY,KAAK;AAAA,QACjCG,EAAE,QAAQ,MAAM,KAAK;AAAA,QACrBA,EAAE,QAAQ,MAAML,EAAU,KAAK;AAAA,QAC/BK;AAAA,UACE;AAAA,UACA;AAAA,YACE,OAAO;AAAA,YACP,SAAS,MAAMH,EAAY;AAAA,UAC7B;AAAA,UACA;AAAA,QACF;AAAA,QACAG;AAAA,UACE;AAAA,UACA;AAAA,YACE,OAAO;AAAA,YACP,SAAS,MAAOH,EAAY,QAAQF,EAAU;AAAA,UAChD;AAAA,UACA;AAAA,QAAA;AAAA,MACF;AAAA,IAEJ;AAAA,EAAA;AAEN,CAAC;"}