@abi-software/scaffoldvuer 0.1.53-beta.2 → 0.1.53-wc

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.53-beta.2",
3
+ "version": "0.1.53-wc",
4
4
  "lockfileVersion": 1,
5
5
  "requires": true,
6
6
  "dependencies": {
@@ -12784,9 +12784,9 @@
12784
12784
  }
12785
12785
  },
12786
12786
  "terser": {
12787
- "version": "5.14.1",
12788
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.1.tgz",
12789
- "integrity": "sha512-+ahUAE+iheqBTDxXhTisdA8hgvbEG1hHOQ9xmNjeUJSoi6DU/gMrKNcfZjHkyY6Alnuyc+ikYJaxxfHkT3+WuQ==",
12787
+ "version": "5.15.0",
12788
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.15.0.tgz",
12789
+ "integrity": "sha512-L1BJiXVmheAQQy+as0oF3Pwtlo4s3Wi1X2zNZ2NxOB4wx9bdS9Vk67XQENLFdLYGCK/Z2di53mTj/hBafR+dTA==",
12790
12790
  "dev": true,
12791
12791
  "requires": {
12792
12792
  "@jridgewell/source-map": "^0.3.2",
@@ -12796,9 +12796,9 @@
12796
12796
  },
12797
12797
  "dependencies": {
12798
12798
  "acorn": {
12799
- "version": "8.7.1",
12800
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz",
12801
- "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==",
12799
+ "version": "8.8.0",
12800
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz",
12801
+ "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==",
12802
12802
  "dev": true
12803
12803
  }
12804
12804
  }
@@ -14728,9 +14728,9 @@
14728
14728
  }
14729
14729
  },
14730
14730
  "terser": {
14731
- "version": "4.8.0",
14732
- "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz",
14733
- "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==",
14731
+ "version": "4.8.1",
14732
+ "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz",
14733
+ "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==",
14734
14734
  "dev": true,
14735
14735
  "requires": {
14736
14736
  "commander": "^2.20.0",
@@ -15645,6 +15645,11 @@
15645
15645
  "webpack-merge": "^4.2.2"
15646
15646
  }
15647
15647
  },
15648
+ "vue-custom-element": {
15649
+ "version": "3.3.0",
15650
+ "resolved": "https://registry.npmjs.org/vue-custom-element/-/vue-custom-element-3.3.0.tgz",
15651
+ "integrity": "sha512-ePuy1EDDJd9/piwXLwsCyMQ964HsdhXPzypM9OX0r4JBa20EVN28U7RXeTWwXkoFKim/b3sP7xT2NEM0Di6tUQ=="
15652
+ },
15648
15653
  "vue-docgen-api": {
15649
15654
  "version": "4.47.0",
15650
15655
  "resolved": "https://registry.npmjs.org/vue-docgen-api/-/vue-docgen-api-4.47.0.tgz",
@@ -17192,9 +17197,9 @@
17192
17197
  }
17193
17198
  },
17194
17199
  "zincjs": {
17195
- "version": "1.0.4",
17196
- "resolved": "https://registry.npmjs.org/zincjs/-/zincjs-1.0.4.tgz",
17197
- "integrity": "sha512-dJKwUbJSSH3UbBUkG3/5+w+JcPfhp8/tWzZGgPRTkYaFHoO8h2I9oPVqxKMO4h4AL8blbR6ux4zyMtZAMLznUw==",
17200
+ "version": "1.0.3",
17201
+ "resolved": "https://registry.npmjs.org/zincjs/-/zincjs-1.0.3.tgz",
17202
+ "integrity": "sha512-S4ajnPitOO8VD6i9MpLXW4s9p1SBj1hQSxTnIbT6GwHUSDhGXCjkNPSqXhX4Ki/q6/48mbz2hLdDBBJY7qkkxA==",
17198
17203
  "requires": {
17199
17204
  "css-element-queries": "^1.2.2",
17200
17205
  "lodash": "^4.17.19",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abi-software/scaffoldvuer",
3
- "version": "0.1.53-beta.2",
3
+ "version": "0.1.53-wc",
4
4
  "license": "Apache-2.0",
5
5
  "repository": {
6
6
  "type": "git",
@@ -10,10 +10,11 @@
10
10
  "serve": "vue-cli-service serve --port 8081",
11
11
  "lint": "vue-cli-service lint --ext .js,.vue src",
12
12
  "build-bundle": "vue-cli-service build --target lib --name scaffoldvuer ./src/components/index.js",
13
+ "build-wc": "vue-cli-service build --target lib --name scaffoldvuer-wc ./src/ScaffoldVuer-wc.js --mode production --env bundle",
13
14
  "styleguide": "vue-cli-service styleguidist",
14
15
  "styleguide:build": "vue-cli-service styleguidist:build"
15
16
  },
16
- "main": "./dist/scaffoldvuer.common.js",
17
+ "main": "./dist/scaffoldvuer-wc.umd.min.js",
17
18
  "files": [
18
19
  "dist/*",
19
20
  "src/*",
@@ -31,9 +32,10 @@
31
32
  "lodash": "^4.17.21",
32
33
  "query-string": "^6.11.1",
33
34
  "vue": "^2.6.10",
35
+ "vue-custom-element": "^3.3.0",
34
36
  "vue-drag-resize": "^1.3.2",
35
37
  "vue-router": "^3.5.1",
36
- "zincjs": "^1.0.4"
38
+ "zincjs": "^1.0.3"
37
39
  },
38
40
  "devDependencies": {
39
41
  "@vue/cli-plugin-babel": "^4.0.0",
package/src/App.vue CHANGED
@@ -21,7 +21,6 @@
21
21
  :render="render"
22
22
  :region="region"
23
23
  :view-u-r-l="viewURL"
24
- :format="format"
25
24
  @on-ready="onReady"
26
25
  @scaffold-selected="onSelected"
27
26
  @scaffold-navigated="onNavigated"
@@ -289,8 +288,6 @@ export default {
289
288
  rendererInfo: undefined,
290
289
  zoom: 1,
291
290
  pos: [0, 0],
292
- format: "metadata",
293
- sceneSettings: [],
294
291
  };
295
292
  },
296
293
  watch: {
@@ -310,6 +307,7 @@ export default {
310
307
  }
311
308
  },
312
309
  mounted: function() {
310
+ this._sceneSettings = [];
313
311
  this.selectedCoordinates = this.$refs.scaffold.getDynamicSelectedCoordinates();
314
312
  this.rendererInfo = this.$refs.scaffold.getRendererInfo();
315
313
  },
@@ -341,11 +339,11 @@ export default {
341
339
  },
342
340
  saveSettings: function() {
343
341
  const state = this.$refs.scaffold.getState();
344
- this.sceneSettings.push(this.$refs.scaffold.getState());
342
+ this._sceneSettings.push(this.$refs.scaffold.getState());
345
343
  },
346
344
  restoreSettings: function() {
347
- if (this.sceneSettings.length > 0)
348
- this.$refs.scaffold.setState(this.sceneSettings.pop());
345
+ if (this._sceneSettings.length > 0)
346
+ this.$refs.scaffold.setState(this._sceneSettings.pop());
349
347
  },
350
348
  viewModelClicked: function(location) {
351
349
  this.input = location;
@@ -367,10 +365,11 @@ export default {
367
365
  onReady: function() {
368
366
  console.log("ready")
369
367
  this.$refs.dropzone.revokeURLs();
370
- const names = ["left ventricle.mesh2d", "right ventricle.mesh2d"];
371
- this.$refs.scaffold.changeActiveByName(names, "", false);
368
+ //const names = ["left ventricle.mesh2d", "right ventricle.mesh2d"];
369
+ //this.$refs.scaffold.changeActiveByName(names, "", true);
372
370
  },
373
371
  onSelected: function(data) {
372
+ console.log(data)
374
373
  if (data && (data.length > 0) && data[0].data.group) {
375
374
  delete this.$route.query["viewURL"];
376
375
  this.$router.replace({
@@ -383,10 +382,8 @@ export default {
383
382
  this.pos[0] = data.target[0];
384
383
  this.pos[1] = data.target[1];
385
384
  },
386
- onFilesDrop: function(payload) {
387
- if (payload.format == "gltf") this.format = "gltf";
388
- else this.format = "metadata";
389
- this.input = payload.url;
385
+ onFilesDrop: function(metaURL) {
386
+ this.input = metaURL;
390
387
  },
391
388
  parseInput: function() {
392
389
  if (this.$route.query.url !== this.input) {
@@ -408,11 +405,6 @@ export default {
408
405
  this.url =
409
406
  "https://mapcore-bucket1.s3-us-west-2.amazonaws.com/others/29_Jan_2020/heartICN_metadata.json";
410
407
  }
411
- if (this.url.includes(".gltf") || this.url.includes(".glb")) {
412
- this.format = "gltf";
413
- } else if (this.url.includes(".json")) {
414
- this.format = "metadata";
415
- }
416
408
  this.input = this.url;
417
409
  if (query.region) {
418
410
  this.region = query.region;
@@ -0,0 +1,14 @@
1
+ import Vue from 'vue'
2
+ import vueCustomElement from 'vue-custom-element';
3
+
4
+ Vue.use(vueCustomElement);
5
+
6
+ import ScaffoldVuer from "./components/ScaffoldVuer.vue";
7
+
8
+ Vue.customElement("scaffoldvuer-wc", ScaffoldVuer);
9
+
10
+ /*
11
+ const wrappedElement = wrap(Vue, ScaffoldVuer);
12
+
13
+ window.customElements.define("scaffoldvuer-wc", wrappedElement);
14
+ */
@@ -33,7 +33,7 @@ export default {
33
33
  });
34
34
  },
35
35
  methods: {
36
- createMetadataObjectURLs: function (text, list) {
36
+ createObjectURLs: function (text, list) {
37
37
  let content = text;
38
38
  for (const [key, file] of Object.entries(list)) {
39
39
  if (content.includes(key)) {
@@ -45,14 +45,7 @@ export default {
45
45
  let blob = new Blob([content], { type: "application/json" });
46
46
  const metaURL = URL.createObjectURL(blob);
47
47
  this.objectURLs.push(metaURL);
48
- this.$emit("files-drop", { url: metaURL, format : "metadata" } );
49
- },
50
- createGLTFURL: function (content, binary) {
51
- let type = binary ? 'model/gltf+binary' : 'model/gltf+json';
52
- let blob = new Blob([content], { type });
53
- const gltfURL = URL.createObjectURL(blob);
54
- this.objectURLs.push(gltfURL);
55
- this.$emit("files-drop", { url: gltfURL, format : "gltf" });
48
+ this.$emit("files-drop", metaURL);
56
49
  },
57
50
  revokeURLs: function () {
58
51
  this.objectURLs.forEach(objectURL => URL.revokeObjectURL(objectURL));
@@ -62,8 +55,6 @@ export default {
62
55
  const dataMaps = {};
63
56
  let list = {};
64
57
  let metadata = undefined;
65
- let gltf = undefined;
66
- let binary = false;
67
58
  const flatarray = Array.from(fileMap);
68
59
  let rootPath = "";
69
60
  for (let i = 0; i < flatarray.length; i++) {
@@ -72,16 +63,6 @@ export default {
72
63
  metadata = { rootPath, file: flatarray[i][1] };
73
64
  break;
74
65
  }
75
- if (flatarray[i][1].name.includes(".glb")) {
76
- gltf = { rootPath, file: flatarray[i][1] };
77
- binary = true;
78
- break;
79
- }
80
- if (flatarray[i][1].name.includes(".gltf")) {
81
- gltf = { rootPath, file: flatarray[i][1] };
82
- binary = false;
83
- break;
84
- }
85
66
  }
86
67
  if (metadata) {
87
68
  flatarray.forEach(([filePath, file]) => {
@@ -93,12 +74,9 @@ export default {
93
74
  const metaFileURL = URL.createObjectURL(metadata.file);
94
75
  fetch(metaFileURL)
95
76
  .then((response) => response.text())
96
- .then((text) => this.createMetadataObjectURLs(text, list));
77
+ .then((text) => this.createObjectURLs(text, list));
97
78
  URL.revokeObjectURL(metaFileURL);
98
79
  }
99
- if (gltf) {
100
- this.createGLTFURL(gltf.file, binary);
101
- }
102
80
  },
103
81
  },
104
82
  };
@@ -363,13 +363,6 @@ export default {
363
363
  type: Boolean,
364
364
  default: false
365
365
  },
366
- /**
367
- * Format of the input URL
368
- */
369
- format: {
370
- type: String,
371
- default: "metadata"
372
- },
373
366
  /**
374
367
  * Settings for minimap position, size and alignment.
375
368
  */
@@ -480,17 +473,10 @@ export default {
480
473
  visible: false,
481
474
  x: 200,
482
475
  y: 200
483
- },
484
- fileFormat: "metadata",
476
+ }
485
477
  };
486
478
  },
487
479
  watch: {
488
- format: {
489
- handler: function(value) {
490
- this.fileFormat = value;
491
- },
492
- immediate: true
493
- },
494
480
  url: {
495
481
  handler: function(newValue) {
496
482
  if (this.state === undefined || this.state.url === undefined)
@@ -1003,10 +989,9 @@ export default {
1003
989
  */
1004
990
  getState: function() {
1005
991
  let state = {
1006
- format: this.fileFormat,
1007
992
  url: this._currentURL,
1008
993
  viewport: undefined,
1009
- visibility: undefined,
994
+ visibility: undefined
1010
995
  };
1011
996
  if (this.$refs.treeControl)
1012
997
  state.visibility = this.$refs.treeControl.getState();
@@ -1026,7 +1011,6 @@ export default {
1026
1011
  if (state) {
1027
1012
  if (state.url && state.url !== this._currentURL) {
1028
1013
  this.setURLAndState(state.url, {
1029
- fileFormat: state.fileFormat,
1030
1014
  viewport: state.viewport,
1031
1015
  visibility: state.visibility
1032
1016
  });
@@ -1063,7 +1047,6 @@ export default {
1063
1047
  */
1064
1048
  setURLAndState: function(newValue, state) {
1065
1049
  if (newValue != this._currentURL) {
1066
- if (state && state.format) this.fileFormat = state.format;
1067
1050
  let viewport = state && state.viewport ? state.viewport : undefined;
1068
1051
  let visibility =
1069
1052
  state && state.visibility ? state.visibility : undefined;
@@ -1080,18 +1063,13 @@ export default {
1080
1063
  visibility: visibility
1081
1064
  })
1082
1065
  );
1083
- if (this.fileFormat === "gltf") {
1084
- this.$module.loadGLTFFromURL(newValue, "scene", true);
1085
- } else {
1086
- this.$module.loadOrgansFromURL(
1087
- newValue,
1088
- undefined,
1089
- undefined,
1090
- "scene",
1091
- undefined,
1092
- true
1093
- );
1094
- }
1066
+ this.$module.loadOrgansFromURL(
1067
+ newValue,
1068
+ undefined,
1069
+ undefined,
1070
+ "scene",
1071
+ undefined
1072
+ );
1095
1073
  this.$module.scene.displayMarkers = this.displayMarkers;
1096
1074
  this.$module.scene.displayMinimap = this.displayMinimap;
1097
1075
  this.updateMinimapScissor();
@@ -1108,8 +1086,9 @@ export default {
1108
1086
  },
1109
1087
  /**
1110
1088
  * Callback when drawer is toggled.
1089
+ *
1111
1090
  */
1112
- drawerToggled: function(flag) {pppp
1091
+ drawerToggled: function(flag) {
1113
1092
  this.drawerOpen = flag;
1114
1093
  this.adjustLayout();
1115
1094
  },
@@ -474,15 +474,14 @@ const OrgansSceneData = function() {
474
474
  _this.sceneData.currentName = name;
475
475
  }
476
476
 
477
- this.loadOrgansFromURL = function(url, speciesName, systemName, partName, viewURL, clearFirst) {
477
+ this.loadOrgansFromURL = function(url, speciesName, systemName, partName, viewURL) {
478
478
  if (_this.zincRenderer) {
479
479
  if (partName && (_this.sceneData.metaURL !== url)) {
480
480
  setSceneData(speciesName, systemName, partName, undefined);
481
481
  const name = _this.sceneData.currentName;
482
482
  let organScene = _this.zincRenderer.getSceneByName(name);
483
483
  if (organScene) {
484
- if (clearFirst)
485
- organScene.clearAll();
484
+ organScene.clearAll();
486
485
  } else {
487
486
  organScene = _this.zincRenderer.createScene(name);
488
487
  }
@@ -508,36 +507,6 @@ const OrgansSceneData = function() {
508
507
  }
509
508
  }
510
509
  }
511
-
512
- this.loadGLTFFromURL = function(url, partName, clearFirst) {
513
- if (_this.zincRenderer) {
514
- if (partName && (_this.sceneData.metaURL !== url)) {
515
- setSceneData(undefined, undefined, partName, undefined);
516
- const name = _this.sceneData.currentName;
517
- let organScene = _this.zincRenderer.getSceneByName(name);
518
- if (organScene) {
519
- if (clearFirst)
520
- organScene.clearAll();
521
- } else {
522
- organScene = _this.zincRenderer.createScene(name);
523
- }
524
- for (let i = 0; i < sceneChangedCallbacks.length;i++) {
525
- sceneChangedCallbacks[i](_this.sceneData);
526
- }
527
- _this.sceneData.viewURL = undefined;
528
- _this.sceneData.metaURL = url;
529
- organScene.loadGLTF(url, _addOrganPartCallback(undefined, partName, false),
530
- downloadCompletedCallback());
531
- _this.scene = organScene;
532
- _this.zincRenderer.setCurrentScene(organScene);
533
- _this.graphicsHighlight.reset();
534
- const zincCameraControl = organScene.getZincCameraControls();
535
- zincCameraControl.enableRaycaster(organScene, _pickingCallback(), _hoverCallback());
536
- zincCameraControl.setMouseButtonAction("AUXILIARY", "ZOOM");
537
- zincCameraControl.setMouseButtonAction("SECONDARY", "PAN");
538
- }
539
- }
540
- }
541
510
 
542
511
  this.alignCameraWithSelectedObject = function(transitionTime) {
543
512
  const objects = _this.graphicsHighlight.getSelected();
@@ -567,7 +536,7 @@ const OrgansSceneData = function() {
567
536
  _this.setName(settings.name);
568
537
  if (settings.metaURL !== undefined && settings.metaURL != "") {
569
538
  _this.loadOrgansFromURL(settings.metaURL, settings.species,
570
- settings.system, settings.part, settings.viewURL, true);
539
+ settings.system, settings.part, settings.viewURL);
571
540
  } else {
572
541
  _this.loadOrgans(settings.species, settings.system, settings.part);
573
542
  }
package/vue.config.js CHANGED
@@ -1,11 +1,6 @@
1
- const nodeExternals = require('webpack-node-externals');
1
+ //const nodeExternals = require('webpack-node-externals');
2
2
 
3
3
  module.exports = {
4
- configureWebpack: config => {
5
- if(process.env.NODE_ENV === 'production') {
6
- config.externals = [ nodeExternals({allowlist: [/^element-ui/]}) ];
7
- }
8
- },
9
4
  chainWebpack: config => {
10
5
  // GraphQL Loader
11
6
  config.module
@@ -28,6 +23,8 @@ module.exports = {
28
23
  .end()
29
24
  },
30
25
  css: {
26
+ sourceMap: true,
27
+ extract: false,
31
28
  //Import variables into all stylesheets.
32
29
  loaderOptions: {
33
30
  sass: {