model-manager 0.0.3-1.0

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.
Files changed (187) hide show
  1. package/administration/insert.js +179 -0
  2. package/administration/insert_one.js +33 -0
  3. package/administration/test_data.js +46 -0
  4. package/administration.html +149 -0
  5. package/assets/css/admin.css +247 -0
  6. package/assets/css/basic.css +474 -0
  7. package/assets/css/checkout.css +517 -0
  8. package/assets/css/dialog.css +158 -0
  9. package/assets/css/dialog_admin.css +73 -0
  10. package/assets/css/dialog_checkout.css +177 -0
  11. package/assets/css/info.css +10 -0
  12. package/assets/logo.png +0 -0
  13. package/assets/partnerart.png +0 -0
  14. package/assets/spinner.gif +0 -0
  15. package/assets/spinner_2.gif +0 -0
  16. package/assets/three/GLTFLoader.js +4448 -0
  17. package/assets/three/ModelLoader.js +58 -0
  18. package/assets/three/OrbitControls.js +1252 -0
  19. package/assets/three/three.js +36819 -0
  20. package/assets/three/three.module.js +50708 -0
  21. package/assets/white/add_white_24dp.svg +1 -0
  22. package/assets/white/admin/check.svg +1 -0
  23. package/assets/white/admin/person_add_FILL0_wght400_GRAD0_opsz48.svg +1 -0
  24. package/assets/white/admin/person_remove_FILL0_wght400_GRAD0_opsz48.svg +1 -0
  25. package/assets/white/admin.svg +1 -0
  26. package/assets/white/arrow_forward.svg +1 -0
  27. package/assets/white/brush_white_24dp.svg +1 -0
  28. package/assets/white/close_white_24dp.svg +1 -0
  29. package/assets/white/code_white_24dp.svg +1 -0
  30. package/assets/white/dashboard_white_24dp.svg +1 -0
  31. package/assets/white/done_white_24dp.svg +1 -0
  32. package/assets/white/emoji_people_white_24dp.svg +1 -0
  33. package/assets/white/filter_list_white_24dp.svg +1 -0
  34. package/assets/white/info_white_24dp.svg +1 -0
  35. package/assets/white/minimize_white_24dp.svg +1 -0
  36. package/assets/white/receipt_white_24dp.svg +1 -0
  37. package/assets/white/rocket_launch_white_24dp.svg +1 -0
  38. package/assets/white/search_black_24dp.svg +1 -0
  39. package/assets/white/search_white_24dp.svg +1 -0
  40. package/assets/white/settings_white_24dp.svg +1 -0
  41. package/assets/white/shopping_cart_white_24dp.svg +1 -0
  42. package/assets/white/store_white_24dp.svg +1 -0
  43. package/assets/white/timeline_white_24dp.svg +1 -0
  44. package/assets/white/view_in_ar_white_24dp.svg +1 -0
  45. package/checkout.html +132 -0
  46. package/checkout_admin.html +141 -0
  47. package/icon.png +0 -0
  48. package/imgs/armchair.png +0 -0
  49. package/imgs/arrow_tnt.png +0 -0
  50. package/imgs/bed_wnm.png +0 -0
  51. package/imgs/big_bed.png +0 -0
  52. package/imgs/birdscythe.png +0 -0
  53. package/imgs/blue_tnt.png +0 -0
  54. package/imgs/bull.png +0 -0
  55. package/imgs/carpet.png +0 -0
  56. package/imgs/chest.png +0 -0
  57. package/imgs/coin_stash.png +0 -0
  58. package/imgs/creeper_tnt.png +0 -0
  59. package/imgs/garbage_can.png +0 -0
  60. package/imgs/generator.png +0 -0
  61. package/imgs/golden_sword.png +0 -0
  62. package/imgs/highbed.png +0 -0
  63. package/imgs/jetpack1.png +0 -0
  64. package/imgs/jetpack2.png +0 -0
  65. package/imgs/jetpack3.png +0 -0
  66. package/imgs/jetpack4.png +0 -0
  67. package/imgs/jetpack5.png +0 -0
  68. package/imgs/jetpack6.png +0 -0
  69. package/imgs/karmincross.png +0 -0
  70. package/imgs/light_tnt.png +0 -0
  71. package/imgs/lucky_block.png +0 -0
  72. package/imgs/lucky_block_2.png +0 -0
  73. package/imgs/mega_tnt.png +0 -0
  74. package/imgs/modern_lamp.png +0 -0
  75. package/imgs/multiply_tnt.png +0 -0
  76. package/imgs/nuke.png +0 -0
  77. package/imgs/oak_tree.png +0 -0
  78. package/imgs/oak_tree_2.png +0 -0
  79. package/imgs/old_globe.png +0 -0
  80. package/imgs/scificannon_1.png +0 -0
  81. package/imgs/scificannon_10.png +0 -0
  82. package/imgs/scificannon_11.png +0 -0
  83. package/imgs/scificannon_12.png +0 -0
  84. package/imgs/scificannon_13.png +0 -0
  85. package/imgs/scificannon_14.png +0 -0
  86. package/imgs/scificannon_2.png +0 -0
  87. package/imgs/scificannon_3.png +0 -0
  88. package/imgs/scificannon_4.png +0 -0
  89. package/imgs/scificannon_5.png +0 -0
  90. package/imgs/scificannon_6.png +0 -0
  91. package/imgs/scificannon_7.png +0 -0
  92. package/imgs/scificannon_8.png +0 -0
  93. package/imgs/scificannon_9.png +0 -0
  94. package/imgs/simple_chair.png +0 -0
  95. package/imgs/small_car.png +0 -0
  96. package/imgs/small_modern_lamp.png +0 -0
  97. package/imgs/small_wardrobe.png +0 -0
  98. package/imgs/small_wooden_table.png +0 -0
  99. package/imgs/spike_sword.png +0 -0
  100. package/imgs/stone_holder.png +0 -0
  101. package/imgs/stone_sword.png +0 -0
  102. package/imgs/street_lamp.png +0 -0
  103. package/imgs/sword_1.png +0 -0
  104. package/imgs/sword_with_hole.png +0 -0
  105. package/imgs/testing.png +0 -0
  106. package/imgs/timer_tnt.png +0 -0
  107. package/imgs/tiny_tnt.png +0 -0
  108. package/imgs/tnt_cannon.png +0 -0
  109. package/imgs/wing_tnt.png +0 -0
  110. package/imgs/wooden_stool.png +0 -0
  111. package/imgs/wooden_wardrobe.png +0 -0
  112. package/index.html +179 -0
  113. package/index_admin.html +189 -0
  114. package/js/db/push_model.js +30 -0
  115. package/js/dialoges.js +23 -0
  116. package/js/item_functionality.js +7 -0
  117. package/js/load_admin.js +32 -0
  118. package/js/load_cart.js +76 -0
  119. package/js/load_items.js +467 -0
  120. package/js/update.js +35 -0
  121. package/login.html +287 -0
  122. package/main.js +306 -0
  123. package/models/armchair.gltf +1 -0
  124. package/models/arrow_tnt.gltf +1 -0
  125. package/models/bedwnm.gltf +1 -0
  126. package/models/big_bed.gltf +1 -0
  127. package/models/birdscythe.gltf +1 -0
  128. package/models/blue_tnt.gltf +1 -0
  129. package/models/bull.gltf +1 -0
  130. package/models/carpet.gltf +1 -0
  131. package/models/chest.gltf +1 -0
  132. package/models/coin_stash.gltf +1 -0
  133. package/models/creeper_tnt.gltf +1 -0
  134. package/models/garbage_can.gltf +1 -0
  135. package/models/generator.gltf +1 -0
  136. package/models/golden_sword.gltf +1 -0
  137. package/models/highbed.gltf +1 -0
  138. package/models/jetpack1.gltf +1 -0
  139. package/models/jetpack2.gltf +1 -0
  140. package/models/jetpack3.gltf +1 -0
  141. package/models/jetpack4.gltf +1 -0
  142. package/models/jetpack5.gltf +1 -0
  143. package/models/jetpack6.gltf +1 -0
  144. package/models/karmincross.gltf +1 -0
  145. package/models/light_tnt.gltf +1 -0
  146. package/models/lucky_block.gltf +1 -0
  147. package/models/lucky_block_2.gltf +1 -0
  148. package/models/mega_tnt.gltf +1 -0
  149. package/models/modern_lamp.gltf +1 -0
  150. package/models/multiply_tnt.gltf +1 -0
  151. package/models/nuke.gltf +1 -0
  152. package/models/oak_tree.gltf +1 -0
  153. package/models/oak_tree_2.gltf +1 -0
  154. package/models/old globe.gltf +1 -0
  155. package/models/scificannon_1.gltf +1 -0
  156. package/models/scificannon_10.gltf +1 -0
  157. package/models/scificannon_11.gltf +1 -0
  158. package/models/scificannon_12.gltf +1 -0
  159. package/models/scificannon_13.gltf +1 -0
  160. package/models/scificannon_14.gltf +1 -0
  161. package/models/scificannon_2.gltf +1 -0
  162. package/models/scificannon_3.gltf +1 -0
  163. package/models/scificannon_4.gltf +1 -0
  164. package/models/scificannon_5.gltf +1 -0
  165. package/models/scificannon_6.gltf +1 -0
  166. package/models/scificannon_7.gltf +1 -0
  167. package/models/scificannon_8.gltf +1 -0
  168. package/models/scificannon_9.gltf +1 -0
  169. package/models/simple_chair.gltf +1 -0
  170. package/models/small_car.gltf +1 -0
  171. package/models/small_modern_lamp.gltf +1 -0
  172. package/models/small_wardrobe.gltf +1 -0
  173. package/models/small_wooden_table.gltf +1 -0
  174. package/models/spike_sword.gltf +1 -0
  175. package/models/stone_holder.gltf +1 -0
  176. package/models/stone_sword.gltf +1 -0
  177. package/models/street_lamp.gltf +1 -0
  178. package/models/sword_1.gltf +1 -0
  179. package/models/sword_with_hole.gltf +1 -0
  180. package/models/timer_tnt.gltf +1 -0
  181. package/models/tiny_tnt.gltf +1 -0
  182. package/models/tnt_cannon.gltf +1 -0
  183. package/models/wing_tnt.gltf +1 -0
  184. package/models/wooden_stool.gltf +1 -0
  185. package/models/wooden_wardrobe.gltf +1 -0
  186. package/package.json +42 -0
  187. package/preload.js +26 -0
@@ -0,0 +1,467 @@
1
+ import { GLTFLoader } from '../assets/three/GLTFLoader.js'
2
+ import { OrbitControls } from '../assets/three/OrbitControls.js'
3
+ window.api.send("database_request", "rqID");
4
+
5
+ const items = []
6
+ window.api.receive('item_channel', function (data, evt) {
7
+
8
+ items.push(data)
9
+ var item = document.createElement('div');
10
+ item.className = "grid-item";
11
+ item.dataset.identifier = data[0].count;
12
+ // grid picture div
13
+ var grid_pic = document.createElement('div');
14
+ grid_pic.className = "grid-picture";
15
+ var grid_pic_img = document.createElement('img');
16
+ // get img path
17
+ grid_pic_img.src = data[0].thumbnail;
18
+ grid_pic_img.width = 190;
19
+ grid_pic.appendChild(grid_pic_img);
20
+ item.appendChild(grid_pic);
21
+
22
+
23
+ // grid label
24
+ var grid_label = document.createElement('h4');
25
+ grid_label.className = "grid-label"
26
+ grid_label.innerText = data[0].modelname
27
+ item.appendChild(grid_label)
28
+ // grid data
29
+ var grid_data = document.createElement('div');
30
+ grid_data.className = "grid-data"
31
+ // span textures
32
+ var grid_textures = document.createElement('div');
33
+ grid_textures.className = "grid-textures";
34
+ var span_textures = document.createElement('span');
35
+ // span_textures.dataset.tooltip = "Textures";
36
+ span_textures.dataset.flow = "bottom";
37
+ var img_textures = document.createElement('img');
38
+ if (data[0].has_textures === true) {
39
+
40
+ img_textures.src = "assets/white/brush_white_24dp.svg";
41
+ span_textures.appendChild(img_textures);
42
+ grid_textures.appendChild(span_textures);
43
+ grid_data.appendChild(grid_textures);
44
+ }
45
+ // span anims
46
+ var grid_anims = document.createElement('div');
47
+ grid_anims.className = "grid-anims";
48
+ var span_anims = document.createElement('span');
49
+ // span_anims.dataset.tooltip = "Animations";
50
+ span_anims.dataset.flow = "bottom";
51
+ var img_anims = document.createElement('img');
52
+ if (data[0].has_animations === true) {
53
+ img_anims.src = "assets/white/emoji_people_white_24dp.svg";
54
+ span_anims.appendChild(img_anims);
55
+ grid_anims.appendChild(span_anims);
56
+ grid_data.appendChild(grid_anims);
57
+ }
58
+ var grid_behavior = document.createElement('div');
59
+ grid_behavior.className = "grid-behavior";
60
+ var span_behavior = document.createElement('span');
61
+ // span_behavior.dataset.tooltip = "Behavior";
62
+ span_behavior.dataset.flow = "bottom";
63
+ var img_behavior = document.createElement('img');
64
+ // span behavior
65
+ if (data[0].bp === true) {
66
+ img_behavior.src = "assets/white/code_white_24dp.svg";
67
+
68
+ }
69
+ span_behavior.appendChild(img_behavior);
70
+ grid_behavior.appendChild(span_behavior);
71
+ grid_data.appendChild(grid_behavior);
72
+ // span vr
73
+ var grid_view_vr = document.createElement('div');
74
+ grid_view_vr.className = "grid-view-vr";
75
+ var span_vr = document.createElement('span');
76
+ // span_vr.dataset.tooltip = "3D View";
77
+ span_vr.dataset.flow = "bottom";
78
+ var img_vr = document.createElement('img');
79
+ img_vr.src = "assets/white/view_in_ar_white_24dp.svg";
80
+ span_vr.appendChild(img_vr);
81
+ grid_view_vr.appendChild(span_vr);
82
+ grid_data.appendChild(grid_view_vr);
83
+ // finalize
84
+ grid_data.appendChild(grid_textures);
85
+ grid_data.appendChild(grid_anims);
86
+ grid_data.appendChild(grid_behavior);
87
+ grid_data.appendChild(grid_view_vr);
88
+ item.appendChild(grid_data);
89
+ // add item to items sections
90
+ document.getElementById('items').appendChild(item);
91
+ item.dataset.modelname = data[0].modelname
92
+ item.dataset.modelcreator = data[0].modelcreator
93
+ item.dataset.modelpath = data[0].model_path
94
+
95
+
96
+ // set item data so we can work with it later
97
+ item.dataset.behaviors = data[0].behaviors
98
+ item.dataset.textures = data[0].textures
99
+ item.dataset.animation = data[0].animations
100
+ item.dataset.tags = data[0].tags
101
+
102
+ document.querySelectorAll('.grid-item').forEach(function(item) {
103
+ item.addEventListener('click', function() {
104
+ document.getElementById("item-dialog").classList.add("visable");
105
+ document.getElementById("body-overlay").classList.add("visable");
106
+
107
+ // iterate over dataset array and place all the checklist items
108
+ var animationsArray = item.dataset.animation.split(",");
109
+ // clear the list first
110
+ document.getElementById("animation_listing").innerHTML = ""
111
+ animationsArray.forEach(function (animation) {
112
+ // create elements
113
+ var checkListItem = document.createElement('label');
114
+ checkListItem.classList = "control control-checkbox";
115
+ checkListItem.innerHTML = animation;
116
+ var inputCheckbox = document.createElement('input');
117
+ inputCheckbox.type = "checkbox";
118
+ var control_indicator = document.createElement("div");
119
+ control_indicator.classList = "control_indicator";
120
+
121
+ // append items
122
+ checkListItem.append(inputCheckbox);
123
+ checkListItem.append(control_indicator);
124
+
125
+ // append behavior item to behavior list
126
+ document.getElementById("animation_listing").append(checkListItem)
127
+ });
128
+
129
+ // iterate over dataset array and place all the checklist items
130
+ var texturesArray = item.dataset.textures.split(",");
131
+ // clear the list first
132
+ document.getElementById("textures_listing").innerHTML = ""
133
+ texturesArray.forEach(function (textures) {
134
+ // create elements
135
+ var checkListItem = document.createElement('label');
136
+ checkListItem.classList = "control control-checkbox";
137
+ checkListItem.innerHTML = textures;
138
+ var inputCheckbox = document.createElement('input');
139
+ inputCheckbox.type = "checkbox";
140
+ var control_indicator = document.createElement("div");
141
+ control_indicator.classList = "control_indicator";
142
+
143
+ // append items
144
+ checkListItem.append(inputCheckbox);
145
+ checkListItem.append(control_indicator);
146
+
147
+ // append behavior item to behavior list
148
+ document.getElementById("textures_listing").append(checkListItem)
149
+ });
150
+
151
+ // iterate over dataset array and place all the checklist items
152
+ var behaviorsArray = item.dataset.behaviors.split(",");
153
+ // clear the list first
154
+ document.getElementById("behavior_listing").innerHTML = ""
155
+ behaviorsArray.forEach(function (behavior) {
156
+ // create elements
157
+ var checkListItem = document.createElement('label');
158
+ checkListItem.classList = "control control-checkbox";
159
+ checkListItem.innerHTML = behavior;
160
+ var inputCheckbox = document.createElement('input');
161
+ inputCheckbox.type = "checkbox";
162
+ var control_indicator = document.createElement("div");
163
+ control_indicator.classList = "control_indicator";
164
+
165
+ // append items
166
+ checkListItem.append(inputCheckbox);
167
+ checkListItem.append(control_indicator);
168
+
169
+ // append behavior item to behavior list
170
+ document.getElementById("behavior_listing").append(checkListItem)
171
+ });
172
+
173
+
174
+
175
+
176
+
177
+
178
+
179
+
180
+ // reset the button
181
+ document.getElementById("addtocart").dataset.id = item.dataset.modelname;
182
+ document.getElementById("addtocart").addEventListener('click', event => {
183
+ window.api.send("storage_request", document.getElementById("addtocart").dataset.id)
184
+ //! close dialog
185
+ document.getElementById("item-dialog").classList.remove("visable");
186
+ document.getElementById("body-overlay").classList.remove("visable");
187
+ });
188
+
189
+
190
+
191
+
192
+
193
+
194
+
195
+
196
+
197
+
198
+
199
+
200
+
201
+
202
+
203
+
204
+ document.getElementById("item-dialog-name").innerText = item.dataset.modelname
205
+ document.getElementById("item-dialog-creator").innerText = "by " + item.dataset.modelcreator
206
+
207
+ var scene = new THREE.Scene();
208
+ var camera = new THREE.PerspectiveCamera(
209
+ 70,
210
+ 350/350,
211
+ .03,
212
+ 1000
213
+ );
214
+ var renderer = new THREE.WebGLRenderer();
215
+ renderer.setSize(350,350);
216
+ document.getElementById("model-view").innerHTML = ""
217
+
218
+ // text here
219
+ var model_view_text = document.createElement('div');
220
+ document.getElementById("model-view").appendChild(model_view_text)
221
+ document.getElementById("model-view").appendChild(renderer.domElement)
222
+
223
+
224
+ var loader = new GLTFLoader();
225
+ var obj;
226
+ loader.load(item.dataset.modelpath, function(gltf) {
227
+ obj = gltf.scene;
228
+ obj.position.y = -1.3
229
+ obj.rotation.y = -1.57
230
+ scene.add(obj);
231
+ });
232
+
233
+
234
+ const size = 10;
235
+ const divisions = 10;
236
+
237
+ const gridHelper = new THREE.GridHelper( size, divisions );
238
+ gridHelper.position.set(0, -1.3, 0)
239
+ scene.add( gridHelper );
240
+
241
+ var ambient = new THREE.AmbientLight(0xffffff, 1);
242
+ ambient.position.set(0,1,0);
243
+ ambient.castShadow = true;
244
+ scene.add(ambient);
245
+ renderer.outputEncoding = THREE.sRGBEncoding;
246
+ scene.background = new THREE.Color("rgb(45, 48, 52);")
247
+
248
+ const controls = new OrbitControls(camera,renderer.domElement);
249
+
250
+
251
+
252
+
253
+ camera.position.y = 1;
254
+ camera.position.x = 3;
255
+ function animate() {
256
+ requestAnimationFrame(animate);
257
+ renderer.render(scene,camera);
258
+ //obj.rotation.y += 0.003;
259
+ controls.update()
260
+ }
261
+ animate();
262
+ });
263
+ });
264
+ });
265
+
266
+
267
+ window.api.receive('renderer', function (data, evt) {
268
+ if(data = "stop-spinner") {
269
+ document.getElementById("loading").remove()
270
+ }
271
+ });
272
+
273
+
274
+ document.querySelector("[data-search]").addEventListener("input", (e) => {
275
+ const value = e.target.value;
276
+
277
+ var itemCopy = [...items];
278
+ if (value != "") {
279
+ for(var i = 0; i < items.length; i++) {
280
+ var cube = items[i];
281
+ for(var j = 0; j < cube.length; j++) {
282
+ var obj = cube[j];
283
+ if (obj.modelname.toLowerCase().includes(value.toLowerCase())) {
284
+ } else {
285
+ itemCopy[i] = undefined;
286
+ }
287
+ }
288
+ }
289
+ }
290
+
291
+ var filtered = itemCopy.filter(function (el) {
292
+ return el != null;
293
+ });
294
+
295
+
296
+ // display filtered
297
+ document.getElementById("items").innerHTML = "";
298
+ for(var i = 0; i < filtered.length; i++) {
299
+ var cube = filtered[i];
300
+ if (cube == undefined) {
301
+ break;
302
+ }
303
+ for(var j = 0; j < cube.length; j++) {
304
+ var obj = cube[j];
305
+ var item = document.createElement('div');
306
+ item.className = "grid-item";
307
+ item.dataset.identifier = obj.count;
308
+ // grid picture div
309
+ var grid_pic = document.createElement('div');
310
+ grid_pic.className = "grid-picture";
311
+ var grid_pic_img = document.createElement('img');
312
+ grid_pic_img.src = obj.thumbnail;
313
+ grid_pic_img.width = 190;
314
+ grid_pic.appendChild(grid_pic_img);
315
+ item.appendChild(grid_pic);
316
+ // grid label
317
+ var grid_label = document.createElement('h4');
318
+ grid_label.className = "grid-label"
319
+ grid_label.innerText = obj.modelname
320
+ item.appendChild(grid_label)
321
+ // grid data
322
+ var grid_data = document.createElement('div');
323
+ grid_data.className = "grid-data"
324
+ // span textures
325
+ var grid_textures = document.createElement('div');
326
+ grid_textures.className = "grid-textures";
327
+ var span_textures = document.createElement('span');
328
+ // span_textures.dataset.tooltip = "Textures";
329
+ span_textures.dataset.flow = "bottom";
330
+ var img_textures = document.createElement('img');
331
+ if (obj.has_textures === true) {
332
+
333
+ img_textures.src = "assets/white/brush_white_24dp.svg";
334
+ span_textures.appendChild(img_textures);
335
+ grid_textures.appendChild(span_textures);
336
+ grid_data.appendChild(grid_textures);
337
+ }
338
+ // span anims
339
+ var grid_anims = document.createElement('div');
340
+ grid_anims.className = "grid-anims";
341
+ var span_anims = document.createElement('span');
342
+ // span_anims.dataset.tooltip = "Animations";
343
+ span_anims.dataset.flow = "bottom";
344
+ var img_anims = document.createElement('img');
345
+ if (obj.has_animations === true) {
346
+ img_anims.src = "assets/white/emoji_people_white_24dp.svg";
347
+ span_anims.appendChild(img_anims);
348
+ grid_anims.appendChild(span_anims);
349
+ grid_data.appendChild(grid_anims);
350
+ }
351
+ var grid_behavior = document.createElement('div');
352
+ grid_behavior.className = "grid-behavior";
353
+ var span_behavior = document.createElement('span');
354
+ // span_behavior.dataset.tooltip = "Behavior";
355
+ span_behavior.dataset.flow = "bottom";
356
+ var img_behavior = document.createElement('img');
357
+ // span behavior
358
+ if (obj.bp === true) {
359
+ img_behavior.src = "assets/white/code_white_24dp.svg";
360
+
361
+ }
362
+ span_behavior.appendChild(img_behavior);
363
+ grid_behavior.appendChild(span_behavior);
364
+ grid_data.appendChild(grid_behavior);
365
+ // span vr
366
+ var grid_view_vr = document.createElement('div');
367
+ grid_view_vr.className = "grid-view-vr";
368
+ var span_vr = document.createElement('span');
369
+ // span_vr.dataset.tooltip = "3D View";
370
+ span_vr.dataset.flow = "bottom";
371
+ var img_vr = document.createElement('img');
372
+ img_vr.src = "assets/white/view_in_ar_white_24dp.svg";
373
+ span_vr.appendChild(img_vr);
374
+ grid_view_vr.appendChild(span_vr);
375
+ grid_data.appendChild(grid_view_vr);
376
+ // finalize
377
+ grid_data.appendChild(grid_textures);
378
+ grid_data.appendChild(grid_anims);
379
+ grid_data.appendChild(grid_behavior);
380
+ grid_data.appendChild(grid_view_vr);
381
+ item.appendChild(grid_data);
382
+ // add item to items sections
383
+ document.getElementById('items').appendChild(item);
384
+ item.dataset.modelname = obj.modelname
385
+ item.dataset.modelcreator = obj.modelcreator
386
+ item.dataset.modelpath = obj.model_path
387
+
388
+ document.querySelectorAll('.grid-item').forEach(function(item) {
389
+ item.addEventListener('click', function() {
390
+ document.getElementById("item-dialog").classList.add("visable");
391
+ document.getElementById("body-overlay").classList.add("visable");
392
+ document.getElementById("item-dialog-name").innerText = item.dataset.modelname
393
+ document.getElementById("item-dialog-creator").innerText = "by " + item.dataset.modelcreator
394
+
395
+ var scene = new THREE.Scene();
396
+ var camera = new THREE.PerspectiveCamera(
397
+ 70,
398
+ 350/350,
399
+ .03,
400
+ 1000
401
+ );
402
+ var renderer = new THREE.WebGLRenderer();
403
+ renderer.setSize(350,350);
404
+ document.getElementById("model-view").innerHTML = ""
405
+
406
+ // text here
407
+ var model_view_text = document.createElement('div');
408
+
409
+ document.getElementById("model-view").appendChild(model_view_text)
410
+ document.getElementById("model-view").appendChild(renderer.domElement)
411
+
412
+
413
+ var loader = new GLTFLoader();
414
+ var obj;
415
+ loader.load(item.dataset.modelpath, function(gltf) {
416
+ obj = gltf.scene;
417
+ obj.position.y = -1.3
418
+ obj.rotation.y = -1.57
419
+ scene.add(obj);
420
+ });
421
+
422
+
423
+ var ambient = new THREE.AmbientLight(0xffffff, 1);
424
+ ambient.position.set(0,1,0);
425
+ ambient.castShadow = true;
426
+ scene.add(ambient);
427
+ renderer.outputEncoding = THREE.sRGBEncoding;
428
+ scene.background = new THREE.Color("rgb(45, 48, 52);");
429
+
430
+ const controls = new OrbitControls(camera,renderer.domElement);
431
+
432
+ const size = 10;
433
+ const divisions = 10;
434
+
435
+ const gridHelper = new THREE.GridHelper( size, divisions );
436
+ gridHelper.position.set(0, -1.3, 0)
437
+ scene.add( gridHelper );
438
+
439
+ function resizeCanvasToDisplaySize() {
440
+ const canvas = renderer.domElement;
441
+ const width = canvas.clientWidth;
442
+ const height = canvas.clientHeight;
443
+ if (canvas.width !== width ||canvas.height !== height) {
444
+ // you must pass false here or three.js sadly fights the browser
445
+ renderer.setSize(width, height, false);
446
+ camera.aspect = width / height;
447
+ camera.updateProjectionMatrix();
448
+
449
+ // set render target sizes here
450
+ }
451
+ }
452
+
453
+
454
+ camera.position.y = 1;
455
+ camera.position.x = 3;
456
+ function animate() {
457
+ requestAnimationFrame(animate);
458
+ renderer.render(scene,camera);
459
+ //obj.rotation.y += 0.003;
460
+ controls.update()
461
+ }
462
+ animate();
463
+ });
464
+ });
465
+ }
466
+ }
467
+ });
package/js/update.js ADDED
@@ -0,0 +1,35 @@
1
+ const uaup = require('uaup-js');
2
+
3
+ const defaultStages = {
4
+ Checking: "Checking For Updates!", // When Checking For Updates.
5
+ Found: "Update Found!", // If an Update is Found.
6
+ NotFound: "No Update Found.", // If an Update is Not Found.
7
+ Downloading: "Downloading...", // When Downloading Update.
8
+ Unzipping: "Installing...", // When Unzipping the Archive into the Application Directory.
9
+ Cleaning: "Finalizing...", // When Removing Temp Directories and Files (ex: update archive and tmp directory).
10
+ Launch: "Launching..." // When Launching the Application.
11
+ };
12
+
13
+
14
+ const updateOptions = {
15
+ useGithub: true,
16
+ gitRepo: "Mine-North-Model-Tool",
17
+ gitUsername: "Mine-North",
18
+ isGitRepoPrivate: true,
19
+ gitRepoToken: "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",
20
+
21
+ appName: "model-tool",
22
+ appExecutableName: "model-manager.exe",
23
+
24
+ progressBar: document.getElementById("download"),
25
+ label: document.getElementById("download-label"),
26
+ stageTitles: defaultStages
27
+ };
28
+
29
+ uaup.Update(updateOptions);
30
+
31
+ const progressbar = document.getElementById("download");
32
+
33
+ while (progressbar.value == 100) {
34
+ alert("t")
35
+ }