@spuermomonga/vue3-bmapgl 0.0.2 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -12,7 +12,7 @@
12
12
  addCalToWindow = true,
13
13
  timeout = 1e4
14
14
  } = options;
15
- if (isScriptLoaded || window.BMapGL) {
15
+ if (isScriptLoaded && window.BMapGL) {
16
16
  return Promise.resolve();
17
17
  }
18
18
  return new Promise((resolve, reject) => {
@@ -217,11 +217,13 @@
217
217
  });
218
218
  vue.watch(() => mergedMapSetRef.value.enableScrollWheelZoom, setScrollWheelZoom);
219
219
  };
220
- vue.watchEffect(() => {
221
- if (mergedStatusRef?.value === "loaded") {
220
+ vue.watch(() => mergedStatusRef?.value, (value) => {
221
+ if (value === "loaded" && !map) {
222
222
  vue.nextTick(init);
223
223
  startWatchProps();
224
224
  }
225
+ }, {
226
+ immediate: true
225
227
  });
226
228
  vue.onUnmounted(() => {
227
229
  if (map) {
@@ -243,10 +245,45 @@
243
245
  }
244
246
  });
245
247
 
248
+ function create({
249
+ componentPrefix = "B",
250
+ components = []
251
+ } = {}) {
252
+ const installTargets = [];
253
+ function registerComponent(app, name, component) {
254
+ const registered = app.component(componentPrefix + name);
255
+ if (!registered) {
256
+ app.component(
257
+ componentPrefix + name,
258
+ component
259
+ );
260
+ }
261
+ }
262
+ function install(app) {
263
+ if (installTargets.includes(app))
264
+ return;
265
+ installTargets.push(app);
266
+ components.forEach((component) => {
267
+ const { name, alias } = component;
268
+ registerComponent(app, name, component);
269
+ if (alias) {
270
+ alias.forEach((aliasName) => {
271
+ registerComponent(app, aliasName, component);
272
+ });
273
+ }
274
+ });
275
+ }
276
+ return {
277
+ componentPrefix,
278
+ install
279
+ };
280
+ }
281
+
246
282
  exports.BConfigProvider = configProvider;
247
283
  exports.BMap = map;
248
284
  exports.configProviderInjectionKey = configProviderInjectionKey;
249
285
  exports.configProviderProps = configProviderProps;
286
+ exports.create = create;
250
287
  exports.mapProps = mapProps;
251
288
 
252
289
  }));
@@ -1 +1 @@
1
- !function(e,o){"object"==typeof exports&&"undefined"!=typeof module?o(exports,require("vue")):"function"==typeof define&&define.amd?define(["exports","vue"],o):o((e="undefined"!=typeof globalThis?globalThis:e||self).Vue3Bmapgl={},e.vue)}(this,function(e,o){"use strict";let t=!1;function a(e){return e.some(e=>!o.isVNode(e)||e.type!==Comment&&!(e.type===o.Fragment&&!a(e.children)))?e:null}function n(e,o){return o(e&&a(e())||null)}const r={ak:String,apiUrl:String,plugins:Array,mapConfig:Object},l=Symbol("b-config-provider");var d=o.defineComponent({name:"ConfigProvider",props:r,setup(e,{slots:a}){const n=o.ref("notload"),r=e.apiUrl?"_initBMap_":`_initBMap_${e.ak}`,d=e.apiUrl?`${e.apiUrl.replace(/&$/,"")}&callback=${r}`:`//api.map.baidu.com/api?type=webgl&v=1.0&ak=${e.ak}&callback=${r}`;n.value="pending",function(e){const{key:o,src:a,addCalToWindow:n=!0,timeout:r=1e4}=e;return t||window.BMapGL?Promise.resolve():new Promise((e,l)=>{const d=document.createElement("script");d.src=a,d.type="text/javascript",d.defer=!0;const i=()=>{d.onload=null,d.onerror=null,document.body.contains(d)&&document.body.removeChild(d)},m=setTimeout(()=>{i(),l(new Error(`Script load timeout: ${a}`))},r),c=()=>{clearTimeout(m),t=!0,i(),e()};n?window[o]=c:d.onload=c,d.onerror=()=>{clearTimeout(m),i(),l(new Error(`Failed to load script: ${a}`))},document.body.appendChild(d)})}({key:r,src:d}).then(()=>{n.value="loaded"}).catch(()=>{n.value="failed"});const i=o.computed(()=>{const{mapConfig:o}=e;return o??{}});return o.provide(l,{mergedStatusRef:n,mergedMapSetRef:i}),()=>o.renderSlot(a,"default")}});const i={maxZoom:{type:Number,default:21},minZoom:{type:Number,default:0},center:{type:Object,default:[116.403901,39.915185]},zoom:{type:Number,default:14},class:String,enableScrollWheelZoom:{type:Boolean,default:!1}};var m="map-module_b-map-content__sMaJG",c="map-module_b-map-loading__qc4a8",p="map-module_b-map-failed__-w-tX";!function(e,o){void 0===o&&(o={});var t=o.insertAt;if("undefined"!=typeof document){var a=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===t&&a.firstChild?a.insertBefore(n,a.firstChild):a.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}}(".map-module_b-map-content__sMaJG{height:100%;overflow:hidden;position:relative;width:100%}.map-module_b-map-failed__-w-tX,.map-module_b-map-loading__qc4a8{color:#999;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}");var u=o.defineComponent({name:"Map",props:i,slots:Object,setup(e,{slots:t}){const{mergedMapSetRef:a,mergedStatusRef:r}=function(e={}){const t=o.inject(l,null);return{mergedStatusRef:t?.mergedStatusRef,mergedMapSetRef:o.computed(()=>{const{zoom:o,center:a,minZoom:n,maxZoom:r}=e;return{zoom:o??t?.mergedMapSetRef.value?.zoom,center:a??t?.mergedMapSetRef.value?.center,minZoom:n??t?.mergedMapSetRef.value?.minZoom,maxZoom:r??t?.mergedMapSetRef.value?.maxZoom}})}}(e),d=o.ref();let i=null;const u=e=>{"string"==typeof e?i.centerAndZoom(e,a.value.zoom):Array.isArray(e)?i.centerAndZoom(new BMapGL.Point(e[0],e[1]),a.value.zoom):i.centerAndZoom(new BMapGL.Point(e.lng,e.lat),a.value.zoom)},s=e=>{e?i.enableScrollWheelZoom():i.disableScrollWheelZoom()},f=()=>{const{center:e,maxZoom:o,minZoom:t,enableScrollWheelZoom:n}=a.value;i=new BMapGL.Map(d.value,{maxZoom:o,minZoom:t}),u(e),s(n)};return o.watchEffect(()=>{"loaded"===r?.value&&(o.nextTick(f),o.watch(()=>a.value.center,u,{deep:!0}),o.watch(()=>a.value.enableScrollWheelZoom,s))}),o.onUnmounted(()=>{if(i)try{i.destroy()}catch(e){console.error(`[Vue3 BMapGL]: ${e.message}`)}}),()=>o.createVNode("div",{ref:d,class:[m,e.class]},["pending"===r?.value&&n(t.loading,()=>o.createVNode("div",{class:[c]},[o.createTextVNode("map loading...")])),"failed"===r?.value&&n(t.failed,()=>o.createVNode("div",{class:[p]},[o.createTextVNode("map failed")])),t.default?.()])}});e.BConfigProvider=d,e.BMap=u,e.configProviderInjectionKey=l,e.configProviderProps=r,e.mapProps=i});
1
+ !function(e,o){"object"==typeof exports&&"undefined"!=typeof module?o(exports,require("vue")):"function"==typeof define&&define.amd?define(["exports","vue"],o):o((e="undefined"!=typeof globalThis?globalThis:e||self).Vue3Bmapgl={},e.vue)}(this,function(e,o){"use strict";let t=!1;function n(e){return e.some(e=>!o.isVNode(e)||e.type!==Comment&&!(e.type===o.Fragment&&!n(e.children)))?e:null}function a(e,o){return o(e&&n(e())||null)}const r={ak:String,apiUrl:String,plugins:Array,mapConfig:Object},l=Symbol("b-config-provider");var i=o.defineComponent({name:"ConfigProvider",props:r,setup(e,{slots:n}){const a=o.ref("notload"),r=e.apiUrl?"_initBMap_":`_initBMap_${e.ak}`,i=e.apiUrl?`${e.apiUrl.replace(/&$/,"")}&callback=${r}`:`//api.map.baidu.com/api?type=webgl&v=1.0&ak=${e.ak}&callback=${r}`;a.value="pending",function(e){const{key:o,src:n,addCalToWindow:a=!0,timeout:r=1e4}=e;return t&&window.BMapGL?Promise.resolve():new Promise((e,l)=>{const i=document.createElement("script");i.src=n,i.type="text/javascript",i.defer=!0;const m=()=>{i.onload=null,i.onerror=null,document.body.contains(i)&&document.body.removeChild(i)},d=setTimeout(()=>{m(),l(new Error(`Script load timeout: ${n}`))},r),c=()=>{clearTimeout(d),t=!0,m(),e()};a?window[o]=c:i.onload=c,i.onerror=()=>{clearTimeout(d),m(),l(new Error(`Failed to load script: ${n}`))},document.body.appendChild(i)})}({key:r,src:i}).then(()=>{a.value="loaded"}).catch(()=>{a.value="failed"});const m=o.computed(()=>{const{mapConfig:o}=e;return o??{}});return o.provide(l,{mergedStatusRef:a,mergedMapSetRef:m}),()=>o.renderSlot(n,"default")}});const m={maxZoom:{type:Number,default:21},minZoom:{type:Number,default:0},center:{type:Object,default:[116.403901,39.915185]},zoom:{type:Number,default:14},class:String,enableScrollWheelZoom:{type:Boolean,default:!1}};var d="map-module_b-map-content__sMaJG",c="map-module_b-map-loading__qc4a8",p="map-module_b-map-failed__-w-tX";!function(e,o){void 0===o&&(o={});var t=o.insertAt;if("undefined"!=typeof document){var n=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css","top"===t&&n.firstChild?n.insertBefore(a,n.firstChild):n.appendChild(a),a.styleSheet?a.styleSheet.cssText=e:a.appendChild(document.createTextNode(e))}}(".map-module_b-map-content__sMaJG{height:100%;overflow:hidden;position:relative;width:100%}.map-module_b-map-failed__-w-tX,.map-module_b-map-loading__qc4a8{color:#999;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}");var u=o.defineComponent({name:"Map",props:m,slots:Object,setup(e,{slots:t}){const{mergedMapSetRef:n,mergedStatusRef:r}=function(e={}){const t=o.inject(l,null);return{mergedStatusRef:t?.mergedStatusRef,mergedMapSetRef:o.computed(()=>{const{zoom:o,center:n,minZoom:a,maxZoom:r}=e;return{zoom:o??t?.mergedMapSetRef.value?.zoom,center:n??t?.mergedMapSetRef.value?.center,minZoom:a??t?.mergedMapSetRef.value?.minZoom,maxZoom:r??t?.mergedMapSetRef.value?.maxZoom}})}}(e),i=o.ref();let m=null;const u=e=>{"string"==typeof e?m.centerAndZoom(e,n.value.zoom):Array.isArray(e)?m.centerAndZoom(new BMapGL.Point(e[0],e[1]),n.value.zoom):m.centerAndZoom(new BMapGL.Point(e.lng,e.lat),n.value.zoom)},s=e=>{e?m.enableScrollWheelZoom():m.disableScrollWheelZoom()},f=()=>{const{center:e,maxZoom:o,minZoom:t,enableScrollWheelZoom:a}=n.value;m=new BMapGL.Map(i.value,{maxZoom:o,minZoom:t}),u(e),s(a)};return o.watch(()=>r?.value,e=>{"loaded"!==e||m||(o.nextTick(f),o.watch(()=>n.value.center,u,{deep:!0}),o.watch(()=>n.value.enableScrollWheelZoom,s))},{immediate:!0}),o.onUnmounted(()=>{if(m)try{m.destroy()}catch(e){console.error(`[Vue3 BMapGL]: ${e.message}`)}}),()=>o.createVNode("div",{ref:i,class:[d,e.class]},["pending"===r?.value&&a(t.loading,()=>o.createVNode("div",{class:[c]},[o.createTextVNode("map loading...")])),"failed"===r?.value&&a(t.failed,()=>o.createVNode("div",{class:[p]},[o.createTextVNode("map failed")])),t.default?.()])}});e.BConfigProvider=i,e.BMap=u,e.configProviderInjectionKey=l,e.configProviderProps=r,e.create=function({componentPrefix:e="B",components:o=[]}={}){const t=[];function n(o,t,n){o.component(e+t)||o.component(e+t,n)}return{componentPrefix:e,install:function(e){t.includes(e)||(t.push(e),o.forEach(o=>{const{name:t,alias:a}=o;n(e,t,o),a&&a.forEach(t=>{n(e,t,o)})}))}}},e.mapProps=m});
package/es/_utils/map.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  let isScriptLoaded = false;
2
2
  function loader(options) {
3
3
  const { key, src, addCalToWindow = true, timeout = 1e4 } = options;
4
- if (isScriptLoaded || window.BMapGL) {
4
+ if (isScriptLoaded && window.BMapGL) {
5
5
  return Promise.resolve();
6
6
  }
7
7
  return new Promise((resolve, reject) => {
@@ -1 +1 @@
1
- {"version":3,"file":"map.mjs","sources":["../../src/_utils/file:/D:/workspaces/personal-project/vue3-bmapgl/packages/vue3-bmapgl/src/_utils/map.ts"],"sourcesContent":["export interface LoaderOptions {\r\n key: string\r\n src: string\r\n addCalToWindow?: boolean\r\n timeout?: number\r\n}\r\n\r\nlet isScriptLoaded = false\r\n\r\nexport function loader(options: LoaderOptions): Promise<void> {\r\n const {\r\n key,\r\n src,\r\n addCalToWindow = true,\r\n timeout = 10000,\r\n } = options\r\n\r\n if (isScriptLoaded || window.BMapGL) {\r\n return Promise.resolve()\r\n }\r\n\r\n return new Promise((resolve, reject) => {\r\n const script = document.createElement('script')\r\n script.src = src\r\n script.type = 'text/javascript'\r\n script.defer = true\r\n\r\n const cleanup = () => {\r\n script.onload = null\r\n script.onerror = null\r\n if (document.body.contains(script)) {\r\n document.body.removeChild(script)\r\n }\r\n }\r\n\r\n const timer = setTimeout(() => {\r\n cleanup()\r\n reject(new Error(`Script load timeout: ${src}`))\r\n }, timeout)\r\n\r\n const handleLoad = () => {\r\n clearTimeout(timer)\r\n isScriptLoaded = true\r\n cleanup()\r\n resolve()\r\n }\r\n\r\n if (addCalToWindow) {\r\n (window as any)[key] = handleLoad\r\n } else {\r\n script.onload = handleLoad\r\n }\r\n\r\n script.onerror = () => {\r\n clearTimeout(timer)\r\n cleanup()\r\n reject(new Error(`Failed to load script: ${src}`))\r\n }\r\n\r\n document.body.appendChild(script)\r\n })\r\n}\r\n"],"names":[],"mappings":"AAOA,IAAI,cAAA,GAAiB,KAAA;AAEf,SAAU,OAAO,OAAA,EAAsB;AAC3C,EAAA,MAAM,EACJ,GAAA,EACA,GAAA,EACA,iBAAiB,IAAA,EACjB,OAAA,GAAU,KAAK,GACb,OAAA;AAEJ,EAAA,IAAI,cAAA,IAAkB,OAAO,MAAA,EAAQ;AACnC,IAAA,OAAO,QAAQ,OAAA,EAAO;AAAA,EACxB;AAEA,EAAA,OAAO,IAAI,OAAA,CAAQ,CAAC,OAAA,EAAS,MAAA,KAAU;AACrC,IAAA,MAAM,MAAA,GAAS,QAAA,CAAS,aAAA,CAAc,QAAQ,CAAA;AAC9C,IAAA,MAAA,CAAO,GAAA,GAAM,GAAA;AACb,IAAA,MAAA,CAAO,IAAA,GAAO,iBAAA;AACd,IAAA,MAAA,CAAO,KAAA,GAAQ,IAAA;AAEf,IAAA,MAAM,UAAU,MAAK;AACnB,MAAA,MAAA,CAAO,MAAA,GAAS,IAAA;AAChB,MAAA,MAAA,CAAO,OAAA,GAAU,IAAA;AACjB,MAAA,IAAI,QAAA,CAAS,IAAA,CAAK,QAAA,CAAS,MAAM,CAAA,EAAG;AAClC,QAAA,QAAA,CAAS,IAAA,CAAK,YAAY,MAAM,CAAA;AAAA,MAClC;AAAA,IACF,CAAA;AAEA,IAAA,MAAM,KAAA,GAAQ,WAAW,MAAK;AAC5B,MAAA,OAAA;AACA,MAAA,MAAA,CAAO,IAAI,KAAA,CAAM,CAAA,qBAAA,EAAwB,GAAG,EAAE,CAAC,CAAA;AAAA,IACjD,GAAG,OAAO,CAAA;AAEV,IAAA,MAAM,aAAa,MAAK;AACtB,MAAA,YAAA,CAAa,KAAK,CAAA;AAClB,MAAA,cAAA,GAAiB,IAAA;AACjB,MAAA,OAAA;AACA,MAAA,OAAA;IACF,CAAA;AAEA,IAAA,IAAI,cAAA,EAAgB;AACjB,MAAA,MAAA,CAAe,GAAG,CAAA,GAAI,UAAA;AAAA,IACzB,CAAA,MAAO;AACL,MAAA,MAAA,CAAO,MAAA,GAAS,UAAA;AAAA,IAClB;AAEA,IAAA,MAAA,CAAO,UAAU,MAAK;AACpB,MAAA,YAAA,CAAa,KAAK,CAAA;AAClB,MAAA,OAAA;AACA,MAAA,MAAA,CAAO,IAAI,KAAA,CAAM,CAAA,uBAAA,EAA0B,GAAG,EAAE,CAAC,CAAA;AAAA,IACnD,CAAA;AAEA,IAAA,QAAA,CAAS,IAAA,CAAK,YAAY,MAAM,CAAA;AAAA,EAClC,CAAC,CAAA;AACH;;;;"}
1
+ {"version":3,"file":"map.mjs","sources":["../../src/_utils/file:/D:/workspaces/personal-project/vue3-bmapgl/packages/vue3-bmapgl/src/_utils/map.ts"],"sourcesContent":["export interface LoaderOptions {\r\n key: string\r\n src: string\r\n addCalToWindow?: boolean\r\n timeout?: number\r\n}\r\n\r\nlet isScriptLoaded = false\r\n\r\nexport function loader(options: LoaderOptions): Promise<void> {\r\n const {\r\n key,\r\n src,\r\n addCalToWindow = true,\r\n timeout = 10000,\r\n } = options\r\n\r\n if (isScriptLoaded && window.BMapGL) {\r\n return Promise.resolve()\r\n }\r\n\r\n return new Promise((resolve, reject) => {\r\n const script = document.createElement('script')\r\n script.src = src\r\n script.type = 'text/javascript'\r\n script.defer = true\r\n\r\n const cleanup = () => {\r\n script.onload = null\r\n script.onerror = null\r\n if (document.body.contains(script)) {\r\n document.body.removeChild(script)\r\n }\r\n }\r\n\r\n const timer = setTimeout(() => {\r\n cleanup()\r\n reject(new Error(`Script load timeout: ${src}`))\r\n }, timeout)\r\n\r\n const handleLoad = () => {\r\n clearTimeout(timer)\r\n isScriptLoaded = true\r\n cleanup()\r\n resolve()\r\n }\r\n\r\n if (addCalToWindow) {\r\n (window as any)[key] = handleLoad\r\n } else {\r\n script.onload = handleLoad\r\n }\r\n\r\n script.onerror = () => {\r\n clearTimeout(timer)\r\n cleanup()\r\n reject(new Error(`Failed to load script: ${src}`))\r\n }\r\n\r\n document.body.appendChild(script)\r\n })\r\n}\r\n"],"names":[],"mappings":"AAOA,IAAI,cAAA,GAAiB,KAAA;AAEf,SAAU,OAAO,OAAA,EAAsB;AAC3C,EAAA,MAAM,EACJ,GAAA,EACA,GAAA,EACA,iBAAiB,IAAA,EACjB,OAAA,GAAU,KAAK,GACb,OAAA;AAEJ,EAAA,IAAI,cAAA,IAAkB,OAAO,MAAA,EAAQ;AACnC,IAAA,OAAO,QAAQ,OAAA,EAAO;AAAA,EACxB;AAEA,EAAA,OAAO,IAAI,OAAA,CAAQ,CAAC,OAAA,EAAS,MAAA,KAAU;AACrC,IAAA,MAAM,MAAA,GAAS,QAAA,CAAS,aAAA,CAAc,QAAQ,CAAA;AAC9C,IAAA,MAAA,CAAO,GAAA,GAAM,GAAA;AACb,IAAA,MAAA,CAAO,IAAA,GAAO,iBAAA;AACd,IAAA,MAAA,CAAO,KAAA,GAAQ,IAAA;AAEf,IAAA,MAAM,UAAU,MAAK;AACnB,MAAA,MAAA,CAAO,MAAA,GAAS,IAAA;AAChB,MAAA,MAAA,CAAO,OAAA,GAAU,IAAA;AACjB,MAAA,IAAI,QAAA,CAAS,IAAA,CAAK,QAAA,CAAS,MAAM,CAAA,EAAG;AAClC,QAAA,QAAA,CAAS,IAAA,CAAK,YAAY,MAAM,CAAA;AAAA,MAClC;AAAA,IACF,CAAA;AAEA,IAAA,MAAM,KAAA,GAAQ,WAAW,MAAK;AAC5B,MAAA,OAAA;AACA,MAAA,MAAA,CAAO,IAAI,KAAA,CAAM,CAAA,qBAAA,EAAwB,GAAG,EAAE,CAAC,CAAA;AAAA,IACjD,GAAG,OAAO,CAAA;AAEV,IAAA,MAAM,aAAa,MAAK;AACtB,MAAA,YAAA,CAAa,KAAK,CAAA;AAClB,MAAA,cAAA,GAAiB,IAAA;AACjB,MAAA,OAAA;AACA,MAAA,OAAA;IACF,CAAA;AAEA,IAAA,IAAI,cAAA,EAAgB;AACjB,MAAA,MAAA,CAAe,GAAG,CAAA,GAAI,UAAA;AAAA,IACzB,CAAA,MAAO;AACL,MAAA,MAAA,CAAO,MAAA,GAAS,UAAA;AAAA,IAClB;AAEA,IAAA,MAAA,CAAO,UAAU,MAAK;AACpB,MAAA,YAAA,CAAa,KAAK,CAAA;AAClB,MAAA,OAAA;AACA,MAAA,MAAA,CAAO,IAAI,KAAA,CAAM,CAAA,uBAAA,EAA0B,GAAG,EAAE,CAAC,CAAA;AAAA,IACnD,CAAA;AAEA,IAAA,QAAA,CAAS,IAAA,CAAK,YAAY,MAAM,CAAA;AAAA,EAClC,CAAC,CAAA;AACH;;;;"}
package/es/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  export * from './components';
2
- export * from './create';
2
+ export { default as create } from './create';
package/es/index.mjs CHANGED
@@ -1,3 +1,4 @@
1
+ export { default as create } from './create.mjs';
1
2
  export { default as BConfigProvider } from './config-provider/src/config-provider.mjs';
2
3
  export { configProviderProps } from './config-provider/src/config-provider-props.mjs';
3
4
  export { configProviderInjectionKey } from './config-provider/src/constants.mjs';
package/es/index.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
@@ -1,4 +1,4 @@
1
- import { defineComponent, ref, watchEffect, nextTick, onUnmounted, createVNode, watch, createTextVNode } from 'vue';
1
+ import { defineComponent, ref, watch, nextTick, onUnmounted, createVNode, createTextVNode } from 'vue';
2
2
  import { mapProps } from './map-props.mjs';
3
3
  import styles from './style/map.module.css.mjs';
4
4
  import useConfig from '../../_mixins/use-config.mjs';
@@ -49,11 +49,13 @@ var map = /* @__PURE__ */ defineComponent({
49
49
  });
50
50
  watch(() => mergedMapSetRef.value.enableScrollWheelZoom, setScrollWheelZoom);
51
51
  };
52
- watchEffect(() => {
53
- if ((mergedStatusRef === null || mergedStatusRef === void 0 ? void 0 : mergedStatusRef.value) === "loaded") {
52
+ watch(() => mergedStatusRef === null || mergedStatusRef === void 0 ? void 0 : mergedStatusRef.value, (value) => {
53
+ if (value === "loaded" && !map) {
54
54
  nextTick(init);
55
55
  startWatchProps();
56
56
  }
57
+ }, {
58
+ immediate: true
57
59
  });
58
60
  onUnmounted(() => {
59
61
  if (map) {
@@ -1 +1 @@
1
- {"version":3,"file":"map.mjs","sources":["../../../src/map/src/file:/D:/workspaces/personal-project/vue3-bmapgl/packages/vue3-bmapgl/src/map/src/map.tsx"],"sourcesContent":["import type { SlotsType, VNode } from 'vue'\r\nimport { defineComponent, nextTick, onUnmounted, ref, watch, watchEffect } from 'vue'\r\nimport { useConfig } from '../../_mixins'\r\nimport { resolveWrappedSlot } from '../../_utils'\r\nimport { mapProps } from './map-props'\r\nimport styles from './style/map.module.css'\r\n\r\nexport interface MapSlots {\r\n default?: () => VNode[]\r\n loading?: () => VNode[]\r\n failed?: () => VNode[]\r\n}\r\n\r\nexport default defineComponent({\r\n name: 'Map',\r\n props: mapProps,\r\n slots: Object as SlotsType<MapSlots>,\r\n setup(props, { slots }) {\r\n const { mergedMapSetRef, mergedStatusRef } = useConfig(props)\r\n\r\n const contentRef = ref<HTMLDivElement | null>()\r\n let map: BMapGL.Map | null = null\r\n\r\n const setCenterAndZoom = (center: BMapGL.Point | string | [number, number]) => {\r\n if (typeof center === 'string') {\r\n map!.centerAndZoom(center, mergedMapSetRef.value.zoom!)\r\n } else if (Array.isArray(center)) {\r\n map!.centerAndZoom(new BMapGL.Point(center[0], center[1]), mergedMapSetRef.value.zoom!)\r\n } else {\r\n map!.centerAndZoom(new BMapGL.Point(center.lng, center.lat), mergedMapSetRef.value.zoom!)\r\n }\r\n }\r\n\r\n const setScrollWheelZoom = (enableScrollWheelZoom?: boolean) => {\r\n enableScrollWheelZoom ? map!.enableScrollWheelZoom() : map!.disableScrollWheelZoom()\r\n }\r\n\r\n const init = () => {\r\n const { center, maxZoom, minZoom, enableScrollWheelZoom } = mergedMapSetRef.value\r\n map = new BMapGL.Map(contentRef.value!, {\r\n maxZoom,\r\n minZoom,\r\n })\r\n setCenterAndZoom(center!)\r\n setScrollWheelZoom(enableScrollWheelZoom)\r\n }\r\n\r\n const startWatchProps = () => {\r\n watch(() => mergedMapSetRef.value.center!, setCenterAndZoom, { deep: true })\r\n watch(() => mergedMapSetRef.value.enableScrollWheelZoom, setScrollWheelZoom)\r\n }\r\n\r\n watchEffect(() => {\r\n if (mergedStatusRef?.value === 'loaded') {\r\n nextTick(init)\r\n startWatchProps()\r\n }\r\n })\r\n\r\n onUnmounted(() => {\r\n if (map) {\r\n try {\r\n map.destroy()\r\n } catch (error: any) {\r\n console.error(`[Vue3 BMapGL]: ${error.message}`)\r\n }\r\n }\r\n })\r\n\r\n return () => (\r\n <div ref={contentRef} class={[styles['b-map-content'], props.class]}>\r\n {mergedStatusRef?.value === 'pending'\r\n && resolveWrappedSlot(slots.loading, () =>\r\n (<div class={[styles['b-map-loading']]}>map loading...</div>))}\r\n {mergedStatusRef?.value === 'failed'\r\n && resolveWrappedSlot(slots.failed, () =>\r\n (<div class={[styles['b-map-failed']]}>map failed</div>))}\r\n {slots.default?.()}\r\n </div>\r\n )\r\n },\r\n})\r\n"],"names":["name","props","mapProps","slots","Object","setup","mergedMapSetRef","mergedStatusRef","useConfig","contentRef","ref","map","setCenterAndZoom","center","centerAndZoom","value","zoom","Array","isArray","BMapGL","Point","lng","lat","setScrollWheelZoom","enableScrollWheelZoom","disableScrollWheelZoom","init","maxZoom","minZoom","Map","startWatchProps","watch","deep","watchEffect","nextTick","onUnmounted","destroy","error","console","message","_createVNode","styles","class","resolveWrappedSlot","loading","_createTextVNode","failed","_a","default"],"mappings":"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"}
1
+ {"version":3,"file":"map.mjs","sources":["../../../src/map/src/file:/D:/workspaces/personal-project/vue3-bmapgl/packages/vue3-bmapgl/src/map/src/map.tsx"],"sourcesContent":["import type { SlotsType, VNode } from 'vue'\r\nimport { defineComponent, nextTick, onUnmounted, ref, watch, watchEffect } from 'vue'\r\nimport { useConfig } from '../../_mixins'\r\nimport { resolveWrappedSlot } from '../../_utils'\r\nimport { mapProps } from './map-props'\r\nimport styles from './style/map.module.css'\r\n\r\nexport interface MapSlots {\r\n default?: () => VNode[]\r\n loading?: () => VNode[]\r\n failed?: () => VNode[]\r\n}\r\n\r\nexport default defineComponent({\r\n name: 'Map',\r\n props: mapProps,\r\n slots: Object as SlotsType<MapSlots>,\r\n setup(props, { slots }) {\r\n const { mergedMapSetRef, mergedStatusRef } = useConfig(props)\r\n\r\n const contentRef = ref<HTMLDivElement | null>()\r\n let map: BMapGL.Map | null = null\r\n\r\n const setCenterAndZoom = (center: BMapGL.Point | string | [number, number]) => {\r\n if (typeof center === 'string') {\r\n map!.centerAndZoom(center, mergedMapSetRef.value.zoom!)\r\n } else if (Array.isArray(center)) {\r\n map!.centerAndZoom(new BMapGL.Point(center[0], center[1]), mergedMapSetRef.value.zoom!)\r\n } else {\r\n map!.centerAndZoom(new BMapGL.Point(center.lng, center.lat), mergedMapSetRef.value.zoom!)\r\n }\r\n }\r\n\r\n const setScrollWheelZoom = (enableScrollWheelZoom?: boolean) => {\r\n enableScrollWheelZoom ? map!.enableScrollWheelZoom() : map!.disableScrollWheelZoom()\r\n }\r\n\r\n const init = () => {\r\n const { center, maxZoom, minZoom, enableScrollWheelZoom } = mergedMapSetRef.value\r\n map = new BMapGL.Map(contentRef.value!, {\r\n maxZoom,\r\n minZoom,\r\n })\r\n setCenterAndZoom(center!)\r\n setScrollWheelZoom(enableScrollWheelZoom)\r\n }\r\n\r\n const startWatchProps = () => {\r\n watch(() => mergedMapSetRef.value.center!, setCenterAndZoom, { deep: true })\r\n watch(() => mergedMapSetRef.value.enableScrollWheelZoom, setScrollWheelZoom)\r\n }\r\n\r\n watch(() => mergedStatusRef?.value, (value) => {\r\n if (value === 'loaded' && !map) {\r\n nextTick(init)\r\n startWatchProps()\r\n }\r\n }, { immediate: true })\r\n\r\n onUnmounted(() => {\r\n if (map) {\r\n try {\r\n map.destroy()\r\n } catch (error: any) {\r\n console.error(`[Vue3 BMapGL]: ${error.message}`)\r\n }\r\n }\r\n })\r\n\r\n return () => (\r\n <div ref={contentRef} class={[styles['b-map-content'], props.class]}>\r\n {mergedStatusRef?.value === 'pending'\r\n && resolveWrappedSlot(slots.loading, () =>\r\n (<div class={[styles['b-map-loading']]}>map loading...</div>))}\r\n {mergedStatusRef?.value === 'failed'\r\n && resolveWrappedSlot(slots.failed, () =>\r\n (<div class={[styles['b-map-failed']]}>map failed</div>))}\r\n {slots.default?.()}\r\n </div>\r\n )\r\n },\r\n})\r\n"],"names":["name","props","mapProps","slots","Object","setup","mergedMapSetRef","mergedStatusRef","useConfig","contentRef","ref","map","setCenterAndZoom","center","centerAndZoom","value","zoom","Array","isArray","BMapGL","Point","lng","lat","setScrollWheelZoom","enableScrollWheelZoom","disableScrollWheelZoom","init","maxZoom","minZoom","Map","startWatchProps","watch","deep","nextTick","immediate","onUnmounted","destroy","error","console","message","_createVNode","styles","class","resolveWrappedSlot","loading","_createTextVNode","failed","_a","default"],"mappings":"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"}
package/lib/_utils/map.js CHANGED
@@ -3,7 +3,7 @@
3
3
  let isScriptLoaded = false;
4
4
  function loader(options) {
5
5
  const { key, src, addCalToWindow = true, timeout = 1e4 } = options;
6
- if (isScriptLoaded || window.BMapGL) {
6
+ if (isScriptLoaded && window.BMapGL) {
7
7
  return Promise.resolve();
8
8
  }
9
9
  return new Promise((resolve, reject) => {
@@ -1 +1 @@
1
- {"version":3,"file":"map.js","sources":["../../src/_utils/file:/D:/workspaces/personal-project/vue3-bmapgl/packages/vue3-bmapgl/src/_utils/map.ts"],"sourcesContent":["export interface LoaderOptions {\r\n key: string\r\n src: string\r\n addCalToWindow?: boolean\r\n timeout?: number\r\n}\r\n\r\nlet isScriptLoaded = false\r\n\r\nexport function loader(options: LoaderOptions): Promise<void> {\r\n const {\r\n key,\r\n src,\r\n addCalToWindow = true,\r\n timeout = 10000,\r\n } = options\r\n\r\n if (isScriptLoaded || window.BMapGL) {\r\n return Promise.resolve()\r\n }\r\n\r\n return new Promise((resolve, reject) => {\r\n const script = document.createElement('script')\r\n script.src = src\r\n script.type = 'text/javascript'\r\n script.defer = true\r\n\r\n const cleanup = () => {\r\n script.onload = null\r\n script.onerror = null\r\n if (document.body.contains(script)) {\r\n document.body.removeChild(script)\r\n }\r\n }\r\n\r\n const timer = setTimeout(() => {\r\n cleanup()\r\n reject(new Error(`Script load timeout: ${src}`))\r\n }, timeout)\r\n\r\n const handleLoad = () => {\r\n clearTimeout(timer)\r\n isScriptLoaded = true\r\n cleanup()\r\n resolve()\r\n }\r\n\r\n if (addCalToWindow) {\r\n (window as any)[key] = handleLoad\r\n } else {\r\n script.onload = handleLoad\r\n }\r\n\r\n script.onerror = () => {\r\n clearTimeout(timer)\r\n cleanup()\r\n reject(new Error(`Failed to load script: ${src}`))\r\n }\r\n\r\n document.body.appendChild(script)\r\n })\r\n}\r\n"],"names":[],"mappings":";;AAOA,IAAI,cAAA,GAAiB,KAAA;AAEf,SAAU,OAAO,OAAA,EAAsB;AAC3C,EAAA,MAAM,EACJ,GAAA,EACA,GAAA,EACA,iBAAiB,IAAA,EACjB,OAAA,GAAU,KAAK,GACb,OAAA;AAEJ,EAAA,IAAI,cAAA,IAAkB,OAAO,MAAA,EAAQ;AACnC,IAAA,OAAO,QAAQ,OAAA,EAAO;AAAA,EACxB;AAEA,EAAA,OAAO,IAAI,OAAA,CAAQ,CAAC,OAAA,EAAS,MAAA,KAAU;AACrC,IAAA,MAAM,MAAA,GAAS,QAAA,CAAS,aAAA,CAAc,QAAQ,CAAA;AAC9C,IAAA,MAAA,CAAO,GAAA,GAAM,GAAA;AACb,IAAA,MAAA,CAAO,IAAA,GAAO,iBAAA;AACd,IAAA,MAAA,CAAO,KAAA,GAAQ,IAAA;AAEf,IAAA,MAAM,UAAU,MAAK;AACnB,MAAA,MAAA,CAAO,MAAA,GAAS,IAAA;AAChB,MAAA,MAAA,CAAO,OAAA,GAAU,IAAA;AACjB,MAAA,IAAI,QAAA,CAAS,IAAA,CAAK,QAAA,CAAS,MAAM,CAAA,EAAG;AAClC,QAAA,QAAA,CAAS,IAAA,CAAK,YAAY,MAAM,CAAA;AAAA,MAClC;AAAA,IACF,CAAA;AAEA,IAAA,MAAM,KAAA,GAAQ,WAAW,MAAK;AAC5B,MAAA,OAAA;AACA,MAAA,MAAA,CAAO,IAAI,KAAA,CAAM,CAAA,qBAAA,EAAwB,GAAG,EAAE,CAAC,CAAA;AAAA,IACjD,GAAG,OAAO,CAAA;AAEV,IAAA,MAAM,aAAa,MAAK;AACtB,MAAA,YAAA,CAAa,KAAK,CAAA;AAClB,MAAA,cAAA,GAAiB,IAAA;AACjB,MAAA,OAAA;AACA,MAAA,OAAA;IACF,CAAA;AAEA,IAAA,IAAI,cAAA,EAAgB;AACjB,MAAA,MAAA,CAAe,GAAG,CAAA,GAAI,UAAA;AAAA,IACzB,CAAA,MAAO;AACL,MAAA,MAAA,CAAO,MAAA,GAAS,UAAA;AAAA,IAClB;AAEA,IAAA,MAAA,CAAO,UAAU,MAAK;AACpB,MAAA,YAAA,CAAa,KAAK,CAAA;AAClB,MAAA,OAAA;AACA,MAAA,MAAA,CAAO,IAAI,KAAA,CAAM,CAAA,uBAAA,EAA0B,GAAG,EAAE,CAAC,CAAA;AAAA,IACnD,CAAA;AAEA,IAAA,QAAA,CAAS,IAAA,CAAK,YAAY,MAAM,CAAA;AAAA,EAClC,CAAC,CAAA;AACH;;;;"}
1
+ {"version":3,"file":"map.js","sources":["../../src/_utils/file:/D:/workspaces/personal-project/vue3-bmapgl/packages/vue3-bmapgl/src/_utils/map.ts"],"sourcesContent":["export interface LoaderOptions {\r\n key: string\r\n src: string\r\n addCalToWindow?: boolean\r\n timeout?: number\r\n}\r\n\r\nlet isScriptLoaded = false\r\n\r\nexport function loader(options: LoaderOptions): Promise<void> {\r\n const {\r\n key,\r\n src,\r\n addCalToWindow = true,\r\n timeout = 10000,\r\n } = options\r\n\r\n if (isScriptLoaded && window.BMapGL) {\r\n return Promise.resolve()\r\n }\r\n\r\n return new Promise((resolve, reject) => {\r\n const script = document.createElement('script')\r\n script.src = src\r\n script.type = 'text/javascript'\r\n script.defer = true\r\n\r\n const cleanup = () => {\r\n script.onload = null\r\n script.onerror = null\r\n if (document.body.contains(script)) {\r\n document.body.removeChild(script)\r\n }\r\n }\r\n\r\n const timer = setTimeout(() => {\r\n cleanup()\r\n reject(new Error(`Script load timeout: ${src}`))\r\n }, timeout)\r\n\r\n const handleLoad = () => {\r\n clearTimeout(timer)\r\n isScriptLoaded = true\r\n cleanup()\r\n resolve()\r\n }\r\n\r\n if (addCalToWindow) {\r\n (window as any)[key] = handleLoad\r\n } else {\r\n script.onload = handleLoad\r\n }\r\n\r\n script.onerror = () => {\r\n clearTimeout(timer)\r\n cleanup()\r\n reject(new Error(`Failed to load script: ${src}`))\r\n }\r\n\r\n document.body.appendChild(script)\r\n })\r\n}\r\n"],"names":[],"mappings":";;AAOA,IAAI,cAAA,GAAiB,KAAA;AAEf,SAAU,OAAO,OAAA,EAAsB;AAC3C,EAAA,MAAM,EACJ,GAAA,EACA,GAAA,EACA,iBAAiB,IAAA,EACjB,OAAA,GAAU,KAAK,GACb,OAAA;AAEJ,EAAA,IAAI,cAAA,IAAkB,OAAO,MAAA,EAAQ;AACnC,IAAA,OAAO,QAAQ,OAAA,EAAO;AAAA,EACxB;AAEA,EAAA,OAAO,IAAI,OAAA,CAAQ,CAAC,OAAA,EAAS,MAAA,KAAU;AACrC,IAAA,MAAM,MAAA,GAAS,QAAA,CAAS,aAAA,CAAc,QAAQ,CAAA;AAC9C,IAAA,MAAA,CAAO,GAAA,GAAM,GAAA;AACb,IAAA,MAAA,CAAO,IAAA,GAAO,iBAAA;AACd,IAAA,MAAA,CAAO,KAAA,GAAQ,IAAA;AAEf,IAAA,MAAM,UAAU,MAAK;AACnB,MAAA,MAAA,CAAO,MAAA,GAAS,IAAA;AAChB,MAAA,MAAA,CAAO,OAAA,GAAU,IAAA;AACjB,MAAA,IAAI,QAAA,CAAS,IAAA,CAAK,QAAA,CAAS,MAAM,CAAA,EAAG;AAClC,QAAA,QAAA,CAAS,IAAA,CAAK,YAAY,MAAM,CAAA;AAAA,MAClC;AAAA,IACF,CAAA;AAEA,IAAA,MAAM,KAAA,GAAQ,WAAW,MAAK;AAC5B,MAAA,OAAA;AACA,MAAA,MAAA,CAAO,IAAI,KAAA,CAAM,CAAA,qBAAA,EAAwB,GAAG,EAAE,CAAC,CAAA;AAAA,IACjD,GAAG,OAAO,CAAA;AAEV,IAAA,MAAM,aAAa,MAAK;AACtB,MAAA,YAAA,CAAa,KAAK,CAAA;AAClB,MAAA,cAAA,GAAiB,IAAA;AACjB,MAAA,OAAA;AACA,MAAA,OAAA;IACF,CAAA;AAEA,IAAA,IAAI,cAAA,EAAgB;AACjB,MAAA,MAAA,CAAe,GAAG,CAAA,GAAI,UAAA;AAAA,IACzB,CAAA,MAAO;AACL,MAAA,MAAA,CAAO,MAAA,GAAS,UAAA;AAAA,IAClB;AAEA,IAAA,MAAA,CAAO,UAAU,MAAK;AACpB,MAAA,YAAA,CAAa,KAAK,CAAA;AAClB,MAAA,OAAA;AACA,MAAA,MAAA,CAAO,IAAI,KAAA,CAAM,CAAA,uBAAA,EAA0B,GAAG,EAAE,CAAC,CAAA;AAAA,IACnD,CAAA;AAEA,IAAA,QAAA,CAAS,IAAA,CAAK,YAAY,MAAM,CAAA;AAAA,EAClC,CAAC,CAAA;AACH;;;;"}
package/lib/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  export * from './components';
2
- export * from './create';
2
+ export { default as create } from './create';
package/lib/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
 
3
+ var create = require('./create.js');
3
4
  var configProvider = require('./config-provider/src/config-provider.js');
4
5
  var configProviderProps = require('./config-provider/src/config-provider-props.js');
5
6
  var constants = require('./config-provider/src/constants.js');
@@ -8,6 +9,7 @@ var mapProps = require('./map/src/map-props.js');
8
9
 
9
10
 
10
11
 
12
+ exports.create = create;
11
13
  exports.BConfigProvider = configProvider;
12
14
  exports.configProviderProps = configProviderProps.configProviderProps;
13
15
  exports.configProviderInjectionKey = constants.configProviderInjectionKey;
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
@@ -51,11 +51,13 @@ var map = /* @__PURE__ */ vue.defineComponent({
51
51
  });
52
52
  vue.watch(() => mergedMapSetRef.value.enableScrollWheelZoom, setScrollWheelZoom);
53
53
  };
54
- vue.watchEffect(() => {
55
- if ((mergedStatusRef === null || mergedStatusRef === void 0 ? void 0 : mergedStatusRef.value) === "loaded") {
54
+ vue.watch(() => mergedStatusRef === null || mergedStatusRef === void 0 ? void 0 : mergedStatusRef.value, (value) => {
55
+ if (value === "loaded" && !map) {
56
56
  vue.nextTick(init);
57
57
  startWatchProps();
58
58
  }
59
+ }, {
60
+ immediate: true
59
61
  });
60
62
  vue.onUnmounted(() => {
61
63
  if (map) {
@@ -1 +1 @@
1
- {"version":3,"file":"map.js","sources":["../../../src/map/src/file:/D:/workspaces/personal-project/vue3-bmapgl/packages/vue3-bmapgl/src/map/src/map.tsx"],"sourcesContent":["import type { SlotsType, VNode } from 'vue'\r\nimport { defineComponent, nextTick, onUnmounted, ref, watch, watchEffect } from 'vue'\r\nimport { useConfig } from '../../_mixins'\r\nimport { resolveWrappedSlot } from '../../_utils'\r\nimport { mapProps } from './map-props'\r\nimport styles from './style/map.module.css'\r\n\r\nexport interface MapSlots {\r\n default?: () => VNode[]\r\n loading?: () => VNode[]\r\n failed?: () => VNode[]\r\n}\r\n\r\nexport default defineComponent({\r\n name: 'Map',\r\n props: mapProps,\r\n slots: Object as SlotsType<MapSlots>,\r\n setup(props, { slots }) {\r\n const { mergedMapSetRef, mergedStatusRef } = useConfig(props)\r\n\r\n const contentRef = ref<HTMLDivElement | null>()\r\n let map: BMapGL.Map | null = null\r\n\r\n const setCenterAndZoom = (center: BMapGL.Point | string | [number, number]) => {\r\n if (typeof center === 'string') {\r\n map!.centerAndZoom(center, mergedMapSetRef.value.zoom!)\r\n } else if (Array.isArray(center)) {\r\n map!.centerAndZoom(new BMapGL.Point(center[0], center[1]), mergedMapSetRef.value.zoom!)\r\n } else {\r\n map!.centerAndZoom(new BMapGL.Point(center.lng, center.lat), mergedMapSetRef.value.zoom!)\r\n }\r\n }\r\n\r\n const setScrollWheelZoom = (enableScrollWheelZoom?: boolean) => {\r\n enableScrollWheelZoom ? map!.enableScrollWheelZoom() : map!.disableScrollWheelZoom()\r\n }\r\n\r\n const init = () => {\r\n const { center, maxZoom, minZoom, enableScrollWheelZoom } = mergedMapSetRef.value\r\n map = new BMapGL.Map(contentRef.value!, {\r\n maxZoom,\r\n minZoom,\r\n })\r\n setCenterAndZoom(center!)\r\n setScrollWheelZoom(enableScrollWheelZoom)\r\n }\r\n\r\n const startWatchProps = () => {\r\n watch(() => mergedMapSetRef.value.center!, setCenterAndZoom, { deep: true })\r\n watch(() => mergedMapSetRef.value.enableScrollWheelZoom, setScrollWheelZoom)\r\n }\r\n\r\n watchEffect(() => {\r\n if (mergedStatusRef?.value === 'loaded') {\r\n nextTick(init)\r\n startWatchProps()\r\n }\r\n })\r\n\r\n onUnmounted(() => {\r\n if (map) {\r\n try {\r\n map.destroy()\r\n } catch (error: any) {\r\n console.error(`[Vue3 BMapGL]: ${error.message}`)\r\n }\r\n }\r\n })\r\n\r\n return () => (\r\n <div ref={contentRef} class={[styles['b-map-content'], props.class]}>\r\n {mergedStatusRef?.value === 'pending'\r\n && resolveWrappedSlot(slots.loading, () =>\r\n (<div class={[styles['b-map-loading']]}>map loading...</div>))}\r\n {mergedStatusRef?.value === 'failed'\r\n && resolveWrappedSlot(slots.failed, () =>\r\n (<div class={[styles['b-map-failed']]}>map failed</div>))}\r\n {slots.default?.()}\r\n </div>\r\n )\r\n },\r\n})\r\n"],"names":["name","props","mapProps","slots","Object","setup","mergedMapSetRef","mergedStatusRef","useConfig","contentRef","ref","map","setCenterAndZoom","center","centerAndZoom","value","zoom","Array","isArray","BMapGL","Point","lng","lat","setScrollWheelZoom","enableScrollWheelZoom","disableScrollWheelZoom","init","maxZoom","minZoom","Map","startWatchProps","watch","deep","watchEffect","nextTick","onUnmounted","destroy","error","console","message","_createVNode","styles","class","resolveWrappedSlot","loading","_createTextVNode","failed","_a","default"],"mappings":";;;;;;;;AAaA,8CAA+B;AAAA,EAC7BA,IAAAA,EAAM,KAAA;AAAA,EACNC,KAAAA,EAAOC,iBAAAA;AAAAA,EACPC,KAAAA,EAAOC,MAAAA;AAAAA,EACPC,MAAMJ,KAAAA,EAAO;AAAA,IAAEE;AAAAA,GAAK,EAAE;AACpB,IAAA,MAAM;AAAA,MAAEG,eAAAA;AAAAA,MAAiBC;AAAAA,KAAe,GAAKC,UAAUP,KAAK,CAAA;AAE5D,IAAA,MAAMQ,aAAaC,OAAAA,EAAG;AACtB,IAAA,IAAIC,GAAAA,GAAyB,IAAA;AAE7B,IAAA,MAAMC,mBAAoBC,CAAAA,MAAAA,KAAoD;AAC5E,MAAA,IAAI,OAAOA,WAAW,QAAA,EAAU;AAC9BF,QAAAA,GAAAA,CAAKG,aAAAA,CAAcD,MAAAA,EAAQP,eAAAA,CAAgBS,KAAAA,CAAMC,IAAK,CAAA;AAAA,MACxD,CAAA,MAAA,IAAWC,KAAAA,CAAMC,OAAAA,CAAQL,MAAM,CAAA,EAAG;AAChCF,QAAAA,GAAAA,CAAKG,aAAAA,CAAc,IAAIK,MAAAA,CAAOC,KAAAA,CAAMP,MAAAA,CAAO,CAAC,CAAA,EAAGA,MAAAA,CAAO,CAAC,CAAC,CAAA,EAAGP,eAAAA,CAAgBS,MAAMC,IAAK,CAAA;AAAA,MACxF,CAAA,MAAO;AACLL,QAAAA,GAAAA,CAAKG,aAAAA,CAAc,IAAIK,MAAAA,CAAOC,KAAAA,CAAMP,MAAAA,CAAOQ,GAAAA,EAAKR,MAAAA,CAAOS,GAAG,CAAA,EAAGhB,eAAAA,CAAgBS,KAAAA,CAAMC,IAAK,CAAA;AAAA,MAC1F;AAAA,IACF,CAAA;AAEA,IAAA,MAAMO,qBAAsBC,CAAAA,qBAAAA,KAAmC;AAC7DA,MAAAA,qBAAAA,GAAwBb,GAAAA,CAAKa,qBAAAA,EAAqB,GAAKb,GAAAA,CAAKc,sBAAAA;IAC9D,CAAA;AAEA,IAAA,MAAMC,OAAOA,MAAK;AAChB,MAAA,MAAM;AAAA,QAAEb,MAAAA;AAAAA,QAAQc,OAAAA;AAAAA,QAASC,OAAAA;AAAAA,QAASJ;AAAAA,UAA0BlB,eAAAA,CAAgBS,KAAAA;AAC5EJ,MAAAA,GAAAA,GAAM,IAAIQ,MAAAA,CAAOU,GAAAA,CAAIpB,UAAAA,CAAWM,KAAAA,EAAQ;AAAA,QACtCY,OAAAA;AAAAA,QACAC;AAAAA,OACD,CAAA;AACDhB,MAAAA,gBAAAA,CAAiBC,MAAO,CAAA;AACxBU,MAAAA,kBAAAA,CAAmBC,qBAAqB,CAAA;AAAA,IAC1C,CAAA;AAEA,IAAA,MAAMM,kBAAkBA,MAAK;AAC3BC,MAAAA,SAAAA,CAAM,MAAMzB,eAAAA,CAAgBS,KAAAA,CAAMF,MAAAA,EAASD,gBAAAA,EAAkB;AAAA,QAAEoB,IAAAA,EAAM;AAAA,OAAM,CAAA;AAC3ED,MAAAA,SAAAA,CAAM,MAAMzB,eAAAA,CAAgBS,KAAAA,CAAMS,qBAAAA,EAAuBD,kBAAkB,CAAA;AAAA,IAC7E,CAAA;AAEAU,IAAAA,eAAAA,CAAY,MAAK;AACf,MAAA,IAAA,CAAI1B,oBAAe,IAAA,IAAfA,eAAAA,KAAe,SAAA,MAAA,GAAfA,eAAAA,CAAiBQ,WAAU,QAAA,EAAU;AACvCmB,QAAAA,YAAAA,CAASR,IAAI,CAAA;AACbI,QAAAA,eAAAA;MACF;AAAA,IACF,CAAC,CAAA;AAEDK,IAAAA,eAAAA,CAAY,MAAK;AACf,MAAA,IAAIxB,GAAAA,EAAK;AACP,QAAA,IAAI;AACFA,UAAAA,GAAAA,CAAIyB,OAAAA,EAAO;AAAA,QACb,SAASC,KAAAA,EAAY;AACnBC,UAAAA,OAAAA,CAAQD,KAAAA,CAAM,CAAA,eAAA,EAAkBA,KAAAA,CAAME,OAAO,CAAA,CAAE,CAAA;AAAA,QACjD;AAAA,MACF;AAAA,IACF,CAAC,CAAA;AAED,IAAA,OAAO,MAAK;;AAAC,MAAA,OAAAC,gBAAA,KAAA,EAAA;AAAA,QAAA,KAAA,EACD/B,UAAAA;AAAAA,QAAU,SAAS,CAACgC,UAAAA,CAAO,eAAe,CAAA,EAAGxC,MAAMyC,KAAK;AAAA,OAAC,EAAA,CAAA,CAChEnC,eAAAA,KAAe,IAAA,IAAfA,sCAAAA,eAAAA,CAAiBQ,KAAAA,MAAU,aACvB4B,8BAAAA,CAAmBxC,KAAAA,CAAMyC,OAAAA,EAAS,MAAAJ,gBAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EACtB,CAACC,UAAAA,CAAO,eAAe,CAAC;AAAA,OAAC,EAAA,CAAAI,mBAAAA,CAAA,gBAAA,CAAA,CAAA,CAAuB,IAChEtC,eAAAA,KAAe,IAAA,IAAfA,sCAAAA,gBAAiBQ,KAAAA,MAAU,QAAA,IACvB4B,+BAAmBxC,KAAAA,CAAM2C,MAAAA,EAAQ,MAAAN,eAAAA,CAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EACrB,CAACC,UAAAA,CAAO,cAAc,CAAC;AAAA,SAAC,CAAAI,mBAAAA,CAAA,YAAA,CAAA,CAAA,CAAmB,CAAA,EAAA,CAC3DE,EAAAA,GAAA5C,MAAM6C,OAAAA,qDAAW,CAAA,CAAA;AAAA;EAGxB;AACD,CAAA,CAAA;;;;"}
1
+ {"version":3,"file":"map.js","sources":["../../../src/map/src/file:/D:/workspaces/personal-project/vue3-bmapgl/packages/vue3-bmapgl/src/map/src/map.tsx"],"sourcesContent":["import type { SlotsType, VNode } from 'vue'\r\nimport { defineComponent, nextTick, onUnmounted, ref, watch, watchEffect } from 'vue'\r\nimport { useConfig } from '../../_mixins'\r\nimport { resolveWrappedSlot } from '../../_utils'\r\nimport { mapProps } from './map-props'\r\nimport styles from './style/map.module.css'\r\n\r\nexport interface MapSlots {\r\n default?: () => VNode[]\r\n loading?: () => VNode[]\r\n failed?: () => VNode[]\r\n}\r\n\r\nexport default defineComponent({\r\n name: 'Map',\r\n props: mapProps,\r\n slots: Object as SlotsType<MapSlots>,\r\n setup(props, { slots }) {\r\n const { mergedMapSetRef, mergedStatusRef } = useConfig(props)\r\n\r\n const contentRef = ref<HTMLDivElement | null>()\r\n let map: BMapGL.Map | null = null\r\n\r\n const setCenterAndZoom = (center: BMapGL.Point | string | [number, number]) => {\r\n if (typeof center === 'string') {\r\n map!.centerAndZoom(center, mergedMapSetRef.value.zoom!)\r\n } else if (Array.isArray(center)) {\r\n map!.centerAndZoom(new BMapGL.Point(center[0], center[1]), mergedMapSetRef.value.zoom!)\r\n } else {\r\n map!.centerAndZoom(new BMapGL.Point(center.lng, center.lat), mergedMapSetRef.value.zoom!)\r\n }\r\n }\r\n\r\n const setScrollWheelZoom = (enableScrollWheelZoom?: boolean) => {\r\n enableScrollWheelZoom ? map!.enableScrollWheelZoom() : map!.disableScrollWheelZoom()\r\n }\r\n\r\n const init = () => {\r\n const { center, maxZoom, minZoom, enableScrollWheelZoom } = mergedMapSetRef.value\r\n map = new BMapGL.Map(contentRef.value!, {\r\n maxZoom,\r\n minZoom,\r\n })\r\n setCenterAndZoom(center!)\r\n setScrollWheelZoom(enableScrollWheelZoom)\r\n }\r\n\r\n const startWatchProps = () => {\r\n watch(() => mergedMapSetRef.value.center!, setCenterAndZoom, { deep: true })\r\n watch(() => mergedMapSetRef.value.enableScrollWheelZoom, setScrollWheelZoom)\r\n }\r\n\r\n watch(() => mergedStatusRef?.value, (value) => {\r\n if (value === 'loaded' && !map) {\r\n nextTick(init)\r\n startWatchProps()\r\n }\r\n }, { immediate: true })\r\n\r\n onUnmounted(() => {\r\n if (map) {\r\n try {\r\n map.destroy()\r\n } catch (error: any) {\r\n console.error(`[Vue3 BMapGL]: ${error.message}`)\r\n }\r\n }\r\n })\r\n\r\n return () => (\r\n <div ref={contentRef} class={[styles['b-map-content'], props.class]}>\r\n {mergedStatusRef?.value === 'pending'\r\n && resolveWrappedSlot(slots.loading, () =>\r\n (<div class={[styles['b-map-loading']]}>map loading...</div>))}\r\n {mergedStatusRef?.value === 'failed'\r\n && resolveWrappedSlot(slots.failed, () =>\r\n (<div class={[styles['b-map-failed']]}>map failed</div>))}\r\n {slots.default?.()}\r\n </div>\r\n )\r\n },\r\n})\r\n"],"names":["name","props","mapProps","slots","Object","setup","mergedMapSetRef","mergedStatusRef","useConfig","contentRef","ref","map","setCenterAndZoom","center","centerAndZoom","value","zoom","Array","isArray","BMapGL","Point","lng","lat","setScrollWheelZoom","enableScrollWheelZoom","disableScrollWheelZoom","init","maxZoom","minZoom","Map","startWatchProps","watch","deep","nextTick","immediate","onUnmounted","destroy","error","console","message","_createVNode","styles","class","resolveWrappedSlot","loading","_createTextVNode","failed","_a","default"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spuermomonga/vue3-bmapgl",
3
- "version": "0.0.2",
3
+ "version": "0.0.4",
4
4
  "description": "Baidu Map GL encapsulation for Vue 3",
5
5
  "author": "SpuerMomonga <spuermomonga@qq.com>",
6
6
  "license": "MIT",