vue-tianditu2
Version:
1 lines • 6.47 kB
Source Map (JSON)
{"version":3,"file":"index.mjs","sources":["../../../../packages/service/search/index.ts"],"sourcesContent":["import { defineComponent, h, onBeforeMount } from \"vue\";\nimport { useMapRoot } from \"~/use/mapRoot\";\nimport { fixMapPropagation } from \"~/utils/fix\";\nimport { useMethods, useState } from \"./use\";\nimport { IconClose, IconRoute, IconSearch, SearchBox, SearchMapView, SearchPois, SearchSuggests } from \"./components\";\nimport { TdtRoute } from \"../route\";\nimport \"./styles/tdt-search.scss\";\nimport \"../../styles/tdt-icon.scss\";\n\nexport const TdtSearch = defineComponent({\n name: \"TdtSearch\",\n props: {\n placeholder: { type: String, default: \"输入关键字搜索\" },\n searchBtn: { type: Boolean, default: true },\n routeBtn: { type: Boolean, default: true }\n },\n emits: {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n \"poi-click\": (poi: T.LocalSearchPoi) => true,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n \"suggest-click\": (suggest: T.LocalSearchSuggest) => true,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n \"search-complete\": (result: T.LocalSearchResult) => true\n },\n setup(props, { emit }) {\n const state = useState();\n const { onSearchComplete, onPoiClick, onSuggestClick, onSearch, onPageChange } = useMethods(state, emit);\n\n onBeforeMount(async () => {\n state.tdtMap = await useMapRoot();\n state.localSearch = new T.LocalSearch(state.tdtMap, {\n pageCapacity: 10,\n onSearchComplete\n });\n });\n\n return () =>\n h(\n \"div\",\n {\n class: \"tdt-search\",\n // 解决地图的滚动冒泡和点击及双击冒泡\n ...fixMapPropagation(state.tdtMap)\n },\n state.showRoute\n ? [\n h(TdtRoute),\n h(\n \"i\",\n {\n class: \"tdt-search-route__close\",\n onClick: () => (state.showRoute = false)\n },\n [h(IconClose)]\n )\n ]\n : [\n h(\n SearchBox,\n {\n modelValue: state.keyword,\n placeholder: props.placeholder,\n \"onUpdate:modelValue\": (val: string) => {\n state.keyword = val;\n onSearch(4, val);\n },\n onSearch: (val: string) => onSearch(1, val)\n },\n [\n props.searchBtn &&\n h(\n \"button\",\n {\n class: \"tdt-search-box__btn\",\n onClick: () => onSearch(1)\n },\n [h(IconSearch)]\n ),\n props.routeBtn &&\n h(\n \"button\",\n {\n class: \"tdt-search-box__btn\",\n onClick: () => (state.showRoute = true)\n },\n [h(IconRoute)]\n )\n ]\n ),\n h(SearchSuggests, {\n suggests: state.suggests || [],\n onSuggestClick: onSuggestClick\n }),\n h(SearchPois, {\n pois: state.pois || [],\n page: {\n current: state.current,\n size: 10,\n total: state.total\n },\n onPoiClick: onPoiClick,\n \"onUpdate:page\": onPageChange\n }),\n h(SearchMapView, {\n pois: state.pois || [],\n target: state.target,\n content: state.content,\n onPoiClick: onPoiClick,\n \"onUpdate:target\": (e: any) => (state.target = e)\n })\n ]\n );\n }\n});\n\nexport type TdtSearchInstance = InstanceType<typeof TdtSearch>;\n"],"names":["TdtSearch","defineComponent","poi","suggest","result","props","emit","state","useState","onSearchComplete","onPoiClick","onSuggestClick","onSearch","onPageChange","useMethods","onBeforeMount","useMapRoot","h","fixMapPropagation","TdtRoute","IconClose","SearchBox","val","IconSearch","IconRoute","SearchSuggests","SearchPois","SearchMapView","e"],"mappings":";;;;;;;;;;;;;AASO,MAAMA,IAAYC,EAAgB;AAAA,EACvC,MAAM;AAAA,EACN,OAAO;AAAA,IACL,aAAa,EAAE,MAAM,QAAQ,SAAS,UAAU;AAAA,IAChD,WAAW,EAAE,MAAM,SAAS,SAAS,GAAK;AAAA,IAC1C,UAAU,EAAE,MAAM,SAAS,SAAS,GAAK;AAAA,EAC3C;AAAA,EACA,OAAO;AAAA;AAAA,IAEL,aAAa,CAACC,MAA0B;AAAA;AAAA,IAExC,iBAAiB,CAACC,MAAkC;AAAA;AAAA,IAEpD,mBAAmB,CAACC,MAAgC;AAAA,EACtD;AAAA,EACA,MAAMC,GAAO,EAAE,MAAAC,KAAQ;AACrB,UAAMC,IAAQC,EAAS,GACjB,EAAE,kBAAAC,GAAkB,YAAAC,GAAY,gBAAAC,GAAgB,UAAAC,GAAU,cAAAC,MAAiBC,EAAWP,GAAOD,CAAI;AAEvG,WAAAS,EAAc,YAAY;AAClB,MAAAR,EAAA,SAAS,MAAMS,EAAW,GAChCT,EAAM,cAAc,IAAI,EAAE,YAAYA,EAAM,QAAQ;AAAA,QAClD,cAAc;AAAA,QACd,kBAAAE;AAAA,MAAA,CACD;AAAA,IAAA,CACF,GAEM,MACLQ;AAAA,MACE;AAAA,MACA;AAAA,QACE,OAAO;AAAA;AAAA,QAEP,GAAGC,EAAkBX,EAAM,MAAM;AAAA,MACnC;AAAA,MACAA,EAAM,YACF;AAAA,QACEU,EAAEE,CAAQ;AAAA,QACVF;AAAA,UACE;AAAA,UACA;AAAA,YACE,OAAO;AAAA,YACP,SAAS,MAAOV,EAAM,YAAY;AAAA,UACpC;AAAA,UACA,CAACU,EAAEG,CAAS,CAAC;AAAA,QAAA;AAAA,MACf,IAEF;AAAA,QACEH;AAAA,UACEI;AAAA,UACA;AAAA,YACE,YAAYd,EAAM;AAAA,YAClB,aAAaF,EAAM;AAAA,YACnB,uBAAuB,CAACiB,MAAgB;AACtC,cAAAf,EAAM,UAAUe,GAChBV,EAAS,GAAGU,CAAG;AAAA,YACjB;AAAA,YACA,UAAU,CAACA,MAAgBV,EAAS,GAAGU,CAAG;AAAA,UAC5C;AAAA,UACA;AAAA,YACEjB,EAAM,aACJY;AAAA,cACE;AAAA,cACA;AAAA,gBACE,OAAO;AAAA,gBACP,SAAS,MAAML,EAAS,CAAC;AAAA,cAC3B;AAAA,cACA,CAACK,EAAEM,CAAU,CAAC;AAAA,YAChB;AAAA,YACFlB,EAAM,YACJY;AAAA,cACE;AAAA,cACA;AAAA,gBACE,OAAO;AAAA,gBACP,SAAS,MAAOV,EAAM,YAAY;AAAA,cACpC;AAAA,cACA,CAACU,EAAEO,CAAS,CAAC;AAAA,YAAA;AAAA,UACf;AAAA,QAEN;AAAA,QACAP,EAAEQ,GAAgB;AAAA,UAChB,UAAUlB,EAAM,YAAY,CAAC;AAAA,UAC7B,gBAAAI;AAAA,QAAA,CACD;AAAA,QACDM,EAAES,GAAY;AAAA,UACZ,MAAMnB,EAAM,QAAQ,CAAC;AAAA,UACrB,MAAM;AAAA,YACJ,SAASA,EAAM;AAAA,YACf,MAAM;AAAA,YACN,OAAOA,EAAM;AAAA,UACf;AAAA,UACA,YAAAG;AAAA,UACA,iBAAiBG;AAAA,QAAA,CAClB;AAAA,QACDI,EAAEU,GAAe;AAAA,UACf,MAAMpB,EAAM,QAAQ,CAAC;AAAA,UACrB,QAAQA,EAAM;AAAA,UACd,SAASA,EAAM;AAAA,UACf,YAAAG;AAAA,UACA,mBAAmB,CAACkB,MAAYrB,EAAM,SAASqB;AAAA,QAChD,CAAA;AAAA,MAAA;AAAA,IAET;AAAA,EAAA;AAEN,CAAC;"}