@abi-software/scaffoldvuer 0.1.56 → 0.1.58

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/package-lock.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abi-software/scaffoldvuer",
3
- "version": "0.1.55",
3
+ "version": "0.1.57",
4
4
  "lockfileVersion": 1,
5
5
  "requires": true,
6
6
  "dependencies": {
@@ -74,9 +74,9 @@
74
74
  },
75
75
  "dependencies": {
76
76
  "json5": {
77
- "version": "2.2.1",
78
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
79
- "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==",
77
+ "version": "2.2.3",
78
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
79
+ "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
80
80
  "dev": true
81
81
  }
82
82
  }
@@ -1635,9 +1635,9 @@
1635
1635
  "dev": true
1636
1636
  },
1637
1637
  "@types/node": {
1638
- "version": "18.11.9",
1639
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
1640
- "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
1638
+ "version": "18.11.11",
1639
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.11.tgz",
1640
+ "integrity": "sha512-KJ021B1nlQUBLopzZmPBVuGU9un7WJd/W4ya7Ih02B4Uwky5Nja0yGYav2EfYIk0RR2Q9oVhf60S2XR1BCWJ2g==",
1641
1641
  "dev": true
1642
1642
  },
1643
1643
  "@types/normalize-package-data": {
@@ -2952,9 +2952,9 @@
2952
2952
  },
2953
2953
  "dependencies": {
2954
2954
  "json5": {
2955
- "version": "2.2.1",
2956
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
2957
- "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==",
2955
+ "version": "2.2.3",
2956
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
2957
+ "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
2958
2958
  "dev": true
2959
2959
  },
2960
2960
  "loader-utils": {
@@ -3204,9 +3204,9 @@
3204
3204
  "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ=="
3205
3205
  },
3206
3206
  "bignumber.js": {
3207
- "version": "9.1.0",
3208
- "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.0.tgz",
3209
- "integrity": "sha512-4LwHK4nfDOraBCtst+wOWIHbu1vhvAPJK8g8nROd4iuc3PSEjWif/qwbkh8jwCJz6yDBvtU4KPynETgrfh7y3A=="
3207
+ "version": "9.1.1",
3208
+ "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.1.tgz",
3209
+ "integrity": "sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig=="
3210
3210
  },
3211
3211
  "binary-extensions": {
3212
3212
  "version": "2.2.0",
@@ -3819,9 +3819,9 @@
3819
3819
  }
3820
3820
  },
3821
3821
  "caniuse-lite": {
3822
- "version": "1.0.30001434",
3823
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001434.tgz",
3824
- "integrity": "sha512-aOBHrLmTQw//WFa2rcF1If9fa3ypkC1wzqqiKHgfdrXTWcU8C4gKVZT77eQAPWN1APys3+uQ0Df07rKauXGEYA==",
3822
+ "version": "1.0.30001436",
3823
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001436.tgz",
3824
+ "integrity": "sha512-ZmWkKsnC2ifEPoWUvSAIGyOYwT+keAaaWPHiQ9DfMqS1t6tfuyFYoWR78TeZtznkEQ64+vGXH9cZrElwR2Mrxg==",
3825
3825
  "dev": true
3826
3826
  },
3827
3827
  "case-sensitive-paths-webpack-plugin": {
@@ -5132,9 +5132,9 @@
5132
5132
  "dev": true
5133
5133
  },
5134
5134
  "decode-uri-component": {
5135
- "version": "0.2.0",
5136
- "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
5137
- "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og=="
5135
+ "version": "0.2.2",
5136
+ "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz",
5137
+ "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ=="
5138
5138
  },
5139
5139
  "deep-equal": {
5140
5140
  "version": "1.1.1",
@@ -6519,9 +6519,9 @@
6519
6519
  "dev": true
6520
6520
  },
6521
6521
  "fastq": {
6522
- "version": "1.13.0",
6523
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz",
6524
- "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==",
6522
+ "version": "1.14.0",
6523
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.14.0.tgz",
6524
+ "integrity": "sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg==",
6525
6525
  "dev": true,
6526
6526
  "requires": {
6527
6527
  "reusify": "^1.0.4"
@@ -11976,9 +11976,9 @@
11976
11976
  "dev": true
11977
11977
  },
11978
11978
  "promise-polyfill": {
11979
- "version": "8.2.3",
11980
- "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.2.3.tgz",
11981
- "integrity": "sha512-Og0+jCRQetV84U8wVjMNccfGCnMQ9mGs9Hv78QFe+pSDD3gWTpz0y+1QCuxy5d/vBFuZ3iwP2eycAkvqIMPmWg=="
11979
+ "version": "8.3.0",
11980
+ "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.3.0.tgz",
11981
+ "integrity": "sha512-H5oELycFml5yto/atYqmjyigJoAo3+OXwolYiH7OfQuYlAqhxNvTfiNMbV9hsC6Yp83yE5r2KTVmtrG6R9i6Pg=="
11982
11982
  },
11983
11983
  "prompts": {
11984
11984
  "version": "2.4.2",
@@ -13037,9 +13037,9 @@
13037
13037
  "dev": true
13038
13038
  },
13039
13039
  "json5": {
13040
- "version": "2.2.1",
13041
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
13042
- "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==",
13040
+ "version": "2.2.3",
13041
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
13042
+ "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
13043
13043
  "dev": true
13044
13044
  },
13045
13045
  "kleur": {
@@ -13275,9 +13275,9 @@
13275
13275
  }
13276
13276
  },
13277
13277
  "terser": {
13278
- "version": "5.16.0",
13279
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.0.tgz",
13280
- "integrity": "sha512-KjTV81QKStSfwbNiwlBXfcgMcOloyuRdb62/iLFPGBcVNF4EXjhdYBhYHmbJpiBrVxZhDvltE11j+LBQUxEEJg==",
13278
+ "version": "5.16.1",
13279
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.1.tgz",
13280
+ "integrity": "sha512-xvQfyfA1ayT0qdK47zskQgRZeWLoOQ8JQ6mIgRGVNwZKdQMU+5FkCBjmv4QjcrTzyZquRw2FVtlJSRUmMKQslw==",
13281
13281
  "dev": true,
13282
13282
  "requires": {
13283
13283
  "@jridgewell/source-map": "^0.3.2",
@@ -15044,9 +15044,9 @@
15044
15044
  },
15045
15045
  "dependencies": {
15046
15046
  "json5": {
15047
- "version": "2.2.1",
15048
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
15049
- "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==",
15047
+ "version": "2.2.3",
15048
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
15049
+ "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
15050
15050
  "dev": true
15051
15051
  },
15052
15052
  "loader-utils": {
@@ -15380,9 +15380,9 @@
15380
15380
  "integrity": "sha512-OSPPKcGvFSiGkG3jFrwwC76PBV/ZSrGxpBbg28bW8s9GU8r/y2spNGtEXHEb/CVqo0Ctf5Lx2rVaxQZB6OasaA=="
15381
15381
  },
15382
15382
  "three-spritetext": {
15383
- "version": "1.6.5",
15384
- "resolved": "https://registry.npmjs.org/three-spritetext/-/three-spritetext-1.6.5.tgz",
15385
- "integrity": "sha512-ttA1ce3tJz6OFojLGY3VjtqF9johetq50TztYcPFWqdEUrwPmej5XXcHahVyQGd88FHRDzJmW2rW3zSifUsdYA=="
15383
+ "version": "1.8.0",
15384
+ "resolved": "https://registry.npmjs.org/three-spritetext/-/three-spritetext-1.8.0.tgz",
15385
+ "integrity": "sha512-ehiATMfR1guCk+knjCxDWp2zikxRbxQaKXJyjXwuZKqjIbKtsCh7BQ00JHaESjzaXXhG5LJV7rXTJ78M/EYWyQ=="
15386
15386
  },
15387
15387
  "throttle-debounce": {
15388
15388
  "version": "1.1.0",
@@ -16141,9 +16141,9 @@
16141
16141
  "integrity": "sha512-ePuy1EDDJd9/piwXLwsCyMQ964HsdhXPzypM9OX0r4JBa20EVN28U7RXeTWwXkoFKim/b3sP7xT2NEM0Di6tUQ=="
16142
16142
  },
16143
16143
  "vue-docgen-api": {
16144
- "version": "4.54.2",
16145
- "resolved": "https://registry.npmjs.org/vue-docgen-api/-/vue-docgen-api-4.54.2.tgz",
16146
- "integrity": "sha512-KWFjSfoD/mJ8wQX1vvj0IvJCyRFGo+Fymy3J5qzOeYLIQfknkZ7ssZX4cqH25ks4TD0OIBrZI4D5ZiyKlMK2YQ==",
16144
+ "version": "4.56.0",
16145
+ "resolved": "https://registry.npmjs.org/vue-docgen-api/-/vue-docgen-api-4.56.0.tgz",
16146
+ "integrity": "sha512-ab/Scb0DCjm4YVLf+AFa/R7XMFl8TVwUsvh26fFT5iaURih1m2hdd5Y8NveA7NQDcycpWavkFZj9eVbQdp2VGQ==",
16147
16147
  "dev": true,
16148
16148
  "requires": {
16149
16149
  "@babel/parser": "^7.13.12",
@@ -16788,9 +16788,9 @@
16788
16788
  }
16789
16789
  },
16790
16790
  "terser": {
16791
- "version": "5.16.0",
16792
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.0.tgz",
16793
- "integrity": "sha512-KjTV81QKStSfwbNiwlBXfcgMcOloyuRdb62/iLFPGBcVNF4EXjhdYBhYHmbJpiBrVxZhDvltE11j+LBQUxEEJg==",
16791
+ "version": "5.16.1",
16792
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.1.tgz",
16793
+ "integrity": "sha512-xvQfyfA1ayT0qdK47zskQgRZeWLoOQ8JQ6mIgRGVNwZKdQMU+5FkCBjmv4QjcrTzyZquRw2FVtlJSRUmMKQslw==",
16794
16794
  "dev": true,
16795
16795
  "requires": {
16796
16796
  "@jridgewell/source-map": "^0.3.2",
@@ -17813,9 +17813,9 @@
17813
17813
  }
17814
17814
  },
17815
17815
  "zincjs": {
17816
- "version": "1.0.9",
17817
- "resolved": "https://registry.npmjs.org/zincjs/-/zincjs-1.0.9.tgz",
17818
- "integrity": "sha512-N8Jexto6vmLVu4X8UX1Xes+BbPOxYmrutI4vNXsKspoGNY2Rq2Ffys5GnVV9ZBYWq/Jfm/cvznPlaBBWk3jXdw==",
17816
+ "version": "1.0.15",
17817
+ "resolved": "https://registry.npmjs.org/zincjs/-/zincjs-1.0.15.tgz",
17818
+ "integrity": "sha512-Csnbvrgin7Ebo9kfFr071KzKDFcoDX03MoBz41h1hq6lG8MHJXjTHLP/EhF5kwbNhThH21rgz718D8rBvwTALA==",
17819
17819
  "requires": {
17820
17820
  "css-element-queries": "^1.2.2",
17821
17821
  "lodash": "^4.17.19",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abi-software/scaffoldvuer",
3
- "version": "0.1.56",
3
+ "version": "0.1.58",
4
4
  "license": "Apache-2.0",
5
5
  "repository": {
6
6
  "type": "git",
@@ -36,7 +36,7 @@
36
36
  "vue-custom-element": "^3.3.0",
37
37
  "vue-drag-resize": "^1.3.2",
38
38
  "vue-router": "^3.5.1",
39
- "zincjs": "^1.0.9"
39
+ "zincjs": "^1.0.15"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@vue/cli-plugin-babel": "^4.0.0",
package/src/App.vue CHANGED
@@ -26,6 +26,7 @@
26
26
  @scaffold-selected="onSelected"
27
27
  @scaffold-navigated="onNavigated"
28
28
  @timeChanged="updateCurrentTime"
29
+ @zinc-object-added="objectAdded"
29
30
  />
30
31
  </drop-zone>
31
32
  <el-popover
@@ -103,6 +104,18 @@
103
104
  >
104
105
  Capture
105
106
  </el-button>
107
+ <el-button
108
+ size="mini"
109
+ @click="featureTesting()"
110
+ >
111
+ Test 1
112
+ </el-button>
113
+ <el-button
114
+ size="mini"
115
+ @click="featureTesting2()"
116
+ >
117
+ Test 2
118
+ </el-button>
106
119
  </el-row>
107
120
  <el-row :gutter="10">
108
121
  <el-button
@@ -253,6 +266,9 @@ import Vue from "vue";
253
266
  import { Button, Col, Icon, Input, InputNumber, Popover, Row, Switch } from "element-ui";
254
267
  import lang from "element-ui/lib/locale/lang/en";
255
268
  import locale from "element-ui/lib/locale";
269
+ import taShader from "zincjs/src/shaders/textureArray.js"
270
+ import volumeRender from "zincjs/src/shaders/volumeRender.js"
271
+ import volumeTexture from "zincjs/src/shaders/volumeTexture.js"
256
272
 
257
273
  locale.use(lang);
258
274
  Vue.use(Button);
@@ -264,6 +280,111 @@ Vue.use(Popover);
264
280
  Vue.use(Row);
265
281
  Vue.use(Switch);
266
282
 
283
+ let texture_prefix = undefined;
284
+
285
+ const getVolumeRender = (texture) => {
286
+ const myUniforms = volumeRender.getUniforms();
287
+ console.log(myUniforms)
288
+ myUniforms.u_size.value.set(texture.size.width, texture.size.height, texture.size.depth);
289
+ myUniforms.u_data.value = texture.impl;
290
+ const options = {
291
+ fs: volumeRender.fs,
292
+ vs: volumeRender.vs,
293
+ uniforms: myUniforms,
294
+ glslVersion: volumeRender.glslVersion
295
+ };
296
+ return options;
297
+ }
298
+
299
+ const getVolumeTexture = (texture) => {
300
+ const myUniforms = volumeTexture.getUniforms();
301
+ console.log(myUniforms)
302
+ myUniforms.volume_scale.value.set(texture.size.width / texture.size.depth, texture.size.height / texture.size.depth, 1);
303
+ myUniforms.diffuse.value = texture.impl;
304
+ myUniforms.depth.value = texture.size.depth;
305
+ myUniforms.volume_dims.value = [200, 200, 200];
306
+ const options = {
307
+ fs: volumeTexture.fs,
308
+ vs: volumeTexture.vs,
309
+ uniforms: myUniforms,
310
+ glslVersion: volumeTexture.glslVersion
311
+ };
312
+ return options;
313
+ }
314
+
315
+ const getTestShader = (texture) => {
316
+ const myUniforms = taShader.getUniforms();
317
+ myUniforms.depth.value = texture.size.depth;
318
+ myUniforms.diffuse.value = texture.impl;
319
+ const options = {
320
+ fs: taShader.fs,
321
+ vs: taShader.vs,
322
+ uniforms: myUniforms,
323
+ glslVersion: taShader.glslVersion
324
+ };
325
+ console.log(options)
326
+ return options;
327
+ }
328
+
329
+ const getTexture = async (scaffoldModule) => {
330
+ const imgArray = [];
331
+ const texture = new scaffoldModule.Zinc.TextureArray();
332
+ for (let i = 1733; i < 1860; i++) {
333
+ imgArray.push(`${texture_prefix}/foot${i}.jpg`);
334
+ //imgArray.push(`${process.env.VUE_APP_TEXTURE_FOOT_PREFIX}/foot${i}.jpg`);
335
+ }
336
+ await texture.loadFromImages(imgArray);
337
+ return texture;
338
+ }
339
+
340
+ const testVolume = async (scaffoldModule, objects) => {
341
+ if (objects) {
342
+ const texture = await getTexture(scaffoldModule);
343
+ //const options = getTestShader(texture);
344
+ const options = getVolumeTexture(texture);
345
+ const material = texture.getMaterial(options);
346
+ console.log(material, texture, objects);
347
+ objects[0].morph.material = material;
348
+ }
349
+ }
350
+
351
+ const testSlides = async (scaffoldModule) => {
352
+ const texture = await getTexture(scaffoldModule);
353
+ const textureSlides = new scaffoldModule.Zinc.TextureSlides(texture);
354
+ textureSlides.createSlides([
355
+ {
356
+ direction: "y",
357
+ value: 0.1
358
+ },
359
+ {
360
+ direction: "y",
361
+ value: 0.3
362
+ },
363
+ {
364
+ direction: "y",
365
+ value: 0.5
366
+ },
367
+ {
368
+ direction: "y",
369
+ value: 0.7
370
+ },
371
+ {
372
+ direction: "y",
373
+ value: 0.9
374
+ },
375
+ {
376
+ direction: "x",
377
+ value: 0.5
378
+ },
379
+ {
380
+ direction: "z",
381
+ value: 0.5
382
+ },
383
+ ]);
384
+ scaffoldModule.scene.addZincObject(textureSlides);
385
+ }
386
+
387
+
267
388
  export default {
268
389
  name: "App",
269
390
  components: {
@@ -271,6 +392,9 @@ export default {
271
392
  ScaffoldVuer,
272
393
  ModelsTable
273
394
  },
395
+ created: function() {
396
+ texture_prefix = process.env.VUE_APP_TEXTURE_FOOT_PREFIX;
397
+ },
274
398
  data: function() {
275
399
  return {
276
400
  url: undefined,
@@ -300,6 +424,7 @@ export default {
300
424
  pos: [0, 0],
301
425
  format: "metadata",
302
426
  sceneSettings: [],
427
+
303
428
  };
304
429
  },
305
430
  watch: {
@@ -319,6 +444,7 @@ export default {
319
444
  }
320
445
  },
321
446
  mounted: function() {
447
+ this._objects = [];
322
448
  this.selectedCoordinates = this.$refs.scaffold.getDynamicSelectedCoordinates();
323
449
  this.rendererInfo = this.$refs.scaffold.getRendererInfo();
324
450
  },
@@ -348,6 +474,21 @@ export default {
348
474
  hrefElement.remove();
349
475
  })
350
476
  },
477
+ objectAdded: function(zincObject) {
478
+ console.log(zincObject)
479
+ this._objects.push(zincObject);
480
+ },
481
+ featureTesting: async function() {
482
+ //Test texture
483
+ testVolume(this.$refs.scaffold.$module, this._objects);
484
+
485
+
486
+ },
487
+ featureTesting2: async function() {
488
+ //Test texture
489
+ //testVolume(this.$refs.scaffold.$module, this._objects);
490
+ testSlides(this.$refs.scaffold.$module);
491
+ },
351
492
  saveSettings: function() {
352
493
  this.sceneSettings.push(this.$refs.scaffold.getState());
353
494
  },
@@ -374,9 +515,10 @@ export default {
374
515
  },
375
516
  onReady: function() {
376
517
  console.log("ready")
518
+ //window.scaffoldvuer = this.$refs.scaffold;
377
519
  this.$refs.dropzone.revokeURLs();
378
- //const names = ["left ventricle.mesh2d", "right ventricle.mesh2d"];
379
- //this.$refs.scaffold.changeActiveByName(names, "", false);
520
+ const names = ["left ventricle.mesh2d", "right ventricle.mesh2d"];
521
+ this.$refs.scaffold.changeActiveByName(names, "", false);
380
522
  },
381
523
  onSelected: function(data) {
382
524
  if (data && (data.length > 0) && data[0].data.group) {
@@ -410,6 +552,9 @@ export default {
410
552
  this.currentTime = val;
411
553
  },
412
554
  parseQuery: function(query) {
555
+ if (query.url != this.url) {
556
+ this._objects = [];
557
+ }
413
558
  if (query.url) {
414
559
  this.url = query.url;
415
560
  } else {
@@ -59,7 +59,12 @@ export default {
59
59
  },
60
60
  computed: {
61
61
  position: function () {
62
- return { left: this.x + "px", top: this.y - 30 + "px" };
62
+ let yOffset = 30;
63
+ if (this.region) {
64
+ yOffset = 45;
65
+ }
66
+
67
+ return { left: this.x + "px", top: this.y - yOffset + "px" };
63
68
  },
64
69
  },
65
70
  watch: {