{"version":3,"file":"methods.mjs","sources":["../../../../../packages/service/search/use/methods.ts"],"sourcesContent":["import { toLngLat, toLonLatNumberArray } from \"~/utils/converter\";\r\nimport { debounce } from \"~/utils/tool\";\r\nimport type { PageProps } from \"../components\";\r\nimport type { SearchState } from \"../types\";\r\n\r\nexport function useMethods(state: SearchState, emit: any) {\r\n  function onSearch(type = state.queryType, keyword = state.keyword, gbCode = 0) {\r\n    state.queryType = type;\r\n    state.keyword = keyword;\r\n    state.current = 1;\r\n    state.localSearch?.setSpecifyAdminCode(gbCode);\r\n    if (state.keyword) {\r\n      state.localSearch?.search(state.keyword, state.queryType);\r\n    } else {\r\n      state.localSearch?.clearResults();\r\n      state.target = null;\r\n      state.pois = false;\r\n      state.statistics = false;\r\n      state.area = false;\r\n      state.suggests = false;\r\n      state.prompt = false;\r\n      state.lineData = false;\r\n    }\r\n  }\r\n\r\n  function onSearchComplete(result: T.LocalSearchResult) {\r\n    state.target = null;\r\n    state.pois = result.pois;\r\n    state.statistics = result.statistics;\r\n    state.area = result.area;\r\n    state.suggests = result.suggests;\r\n    state.prompt = result.prompt;\r\n    state.lineData = result.lineData;\r\n    state.total = Number(result.count);\r\n    emit(\"search-complete\", result);\r\n  }\r\n\r\n  function onPoiClick(poi: T.LocalSearchPoi) {\r\n    const position = toLonLatNumberArray(poi.lonlat);\r\n    state.tdtMap?.panTo(toLngLat(position));\r\n    state.target = position;\r\n    state.content = `\r\n      <strong>${poi.name}</strong>\r\n      <div>地址：${poi.address}</div>\r\n      <div>坐标：${poi.lonlat}</div>\r\n      `;\r\n    emit(\"poi-click\", poi);\r\n  }\r\n\r\n  function onSuggestClick(suggest: T.LocalSearchSuggest) {\r\n    onSearch(1, suggest.name, Number(suggest.gbCode));\r\n    emit(\"suggest-click\", suggest);\r\n  }\r\n\r\n  function onPageChange(page: PageProps) {\r\n    state.current = page.current || 1;\r\n    state.localSearch?.gotoPage(state.current);\r\n  }\r\n\r\n  return {\r\n    onSearch: debounce(onSearch, 100),\r\n    onSearchComplete,\r\n    onPoiClick,\r\n    onSuggestClick,\r\n    onPageChange\r\n  };\r\n}\r\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;"}