{"version":3,"file":"methods.mjs","sources":["../../../../../packages/service/search/use/methods.ts"],"sourcesContent":["import { toLngLat, toLonLatNumberArray } from \"~/utils/converter\";\nimport { debounce } from \"~/utils/tool\";\nimport type { PageProps } from \"../components\";\nimport type { SearchState } from \"../types\";\n\nexport function useMethods(state: SearchState, emit: any) {\n  function onSearch(type = state.queryType, keyword = state.keyword, gbCode = 0) {\n    state.queryType = type;\n    state.keyword = keyword;\n    state.current = 1;\n    state.localSearch?.setSpecifyAdminCode(gbCode);\n    if (state.keyword) {\n      state.localSearch?.search(state.keyword, state.queryType);\n    } else {\n      state.localSearch?.clearResults();\n      state.target = null;\n      state.pois = false;\n      state.statistics = false;\n      state.area = false;\n      state.suggests = false;\n      state.prompt = false;\n      state.lineData = false;\n    }\n  }\n\n  function onSearchComplete(result: T.LocalSearchResult) {\n    state.target = null;\n    state.pois = result.pois;\n    state.statistics = result.statistics;\n    state.area = result.area;\n    state.suggests = result.suggests;\n    state.prompt = result.prompt;\n    state.lineData = result.lineData;\n    state.total = Number(result.count);\n    emit(\"search-complete\", result);\n  }\n\n  function onPoiClick(poi: T.LocalSearchPoi) {\n    const position = toLonLatNumberArray(poi.lonlat);\n    state.tdtMap?.panTo(toLngLat(position));\n    state.target = position;\n    state.content = `\n      <strong>${poi.name}</strong>\n      <div>地址：${poi.address}</div>\n      <div>坐标：${poi.lonlat}</div>\n      `;\n    emit(\"poi-click\", poi);\n  }\n\n  function onSuggestClick(suggest: T.LocalSearchSuggest) {\n    onSearch(1, suggest.name, Number(suggest.gbCode));\n    emit(\"suggest-click\", suggest);\n  }\n\n  function onPageChange(page: PageProps) {\n    state.current = page.current || 1;\n    state.localSearch?.gotoPage(state.current);\n  }\n\n  return {\n    onSearch: debounce(onSearch, 100),\n    onSearchComplete,\n    onPoiClick,\n    onSuggestClick,\n    onPageChange\n  };\n}\n"],"names":["useMethods","state","emit","onSearch","type","keyword","gbCode","_a","_b","_c","onSearchComplete","result","onPoiClick","poi","position","toLonLatNumberArray","toLngLat","onSuggestClick","suggest","onPageChange","page","debounce"],"mappings":";;AAKgB,SAAAA,EAAWC,GAAoBC,GAAW;AAC/C,WAAAC,EAASC,IAAOH,EAAM,WAAWI,IAAUJ,EAAM,SAASK,IAAS,GAAG;;AAC7E,IAAAL,EAAM,YAAYG,GAClBH,EAAM,UAAUI,GAChBJ,EAAM,UAAU,IACVM,IAAAN,EAAA,gBAAA,QAAAM,EAAa,oBAAoBD,IACnCL,EAAM,WACRO,IAAAP,EAAM,gBAAN,QAAAO,EAAmB,OAAOP,EAAM,SAASA,EAAM,eAE/CQ,IAAAR,EAAM,gBAAN,QAAAQ,EAAmB,gBACnBR,EAAM,SAAS,MACfA,EAAM,OAAO,IACbA,EAAM,aAAa,IACnBA,EAAM,OAAO,IACbA,EAAM,WAAW,IACjBA,EAAM,SAAS,IACfA,EAAM,WAAW;AAAA,EACnB;AAGF,WAASS,EAAiBC,GAA6B;AACrD,IAAAV,EAAM,SAAS,MACfA,EAAM,OAAOU,EAAO,MACpBV,EAAM,aAAaU,EAAO,YAC1BV,EAAM,OAAOU,EAAO,MACpBV,EAAM,WAAWU,EAAO,UACxBV,EAAM,SAASU,EAAO,QACtBV,EAAM,WAAWU,EAAO,UAClBV,EAAA,QAAQ,OAAOU,EAAO,KAAK,GACjCT,EAAK,mBAAmBS,CAAM;AAAA,EAAA;AAGhC,WAASC,EAAWC,GAAuB;;AACnC,UAAAC,IAAWC,EAAoBF,EAAI,MAAM;AAC/C,KAAAN,IAAAN,EAAM,WAAN,QAAAM,EAAc,MAAMS,EAASF,CAAQ,IACrCb,EAAM,SAASa,GACfb,EAAM,UAAU;AAAA,gBACJY,EAAI,IAAI;AAAA,gBACRA,EAAI,OAAO;AAAA,gBACXA,EAAI,MAAM;AAAA,SAEtBX,EAAK,aAAaW,CAAG;AAAA,EAAA;AAGvB,WAASI,EAAeC,GAA+B;AACrD,IAAAf,EAAS,GAAGe,EAAQ,MAAM,OAAOA,EAAQ,MAAM,CAAC,GAChDhB,EAAK,iBAAiBgB,CAAO;AAAA,EAAA;AAG/B,WAASC,EAAaC,GAAiB;;AAC/B,IAAAnB,EAAA,UAAUmB,EAAK,WAAW,IAC1Bb,IAAAN,EAAA,gBAAA,QAAAM,EAAa,SAASN,EAAM;AAAA,EAAO;AAGpC,SAAA;AAAA,IACL,UAAUoB,EAASlB,GAAU,GAAG;AAAA,IAChC,kBAAAO;AAAA,IACA,YAAAE;AAAA,IACA,gBAAAK;AAAA,IACA,cAAAE;AAAA,EACF;AACF;"}