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.
- package/administration/insert.js +179 -0
- package/administration/insert_one.js +33 -0
- package/administration/test_data.js +46 -0
- package/administration.html +149 -0
- package/assets/css/admin.css +247 -0
- package/assets/css/basic.css +474 -0
- package/assets/css/checkout.css +517 -0
- package/assets/css/dialog.css +158 -0
- package/assets/css/dialog_admin.css +73 -0
- package/assets/css/dialog_checkout.css +177 -0
- package/assets/css/info.css +10 -0
- package/assets/logo.png +0 -0
- package/assets/partnerart.png +0 -0
- package/assets/spinner.gif +0 -0
- package/assets/spinner_2.gif +0 -0
- package/assets/three/GLTFLoader.js +4448 -0
- package/assets/three/ModelLoader.js +58 -0
- package/assets/three/OrbitControls.js +1252 -0
- package/assets/three/three.js +36819 -0
- package/assets/three/three.module.js +50708 -0
- package/assets/white/add_white_24dp.svg +1 -0
- package/assets/white/admin/check.svg +1 -0
- package/assets/white/admin/person_add_FILL0_wght400_GRAD0_opsz48.svg +1 -0
- package/assets/white/admin/person_remove_FILL0_wght400_GRAD0_opsz48.svg +1 -0
- package/assets/white/admin.svg +1 -0
- package/assets/white/arrow_forward.svg +1 -0
- package/assets/white/brush_white_24dp.svg +1 -0
- package/assets/white/close_white_24dp.svg +1 -0
- package/assets/white/code_white_24dp.svg +1 -0
- package/assets/white/dashboard_white_24dp.svg +1 -0
- package/assets/white/done_white_24dp.svg +1 -0
- package/assets/white/emoji_people_white_24dp.svg +1 -0
- package/assets/white/filter_list_white_24dp.svg +1 -0
- package/assets/white/info_white_24dp.svg +1 -0
- package/assets/white/minimize_white_24dp.svg +1 -0
- package/assets/white/receipt_white_24dp.svg +1 -0
- package/assets/white/rocket_launch_white_24dp.svg +1 -0
- package/assets/white/search_black_24dp.svg +1 -0
- package/assets/white/search_white_24dp.svg +1 -0
- package/assets/white/settings_white_24dp.svg +1 -0
- package/assets/white/shopping_cart_white_24dp.svg +1 -0
- package/assets/white/store_white_24dp.svg +1 -0
- package/assets/white/timeline_white_24dp.svg +1 -0
- package/assets/white/view_in_ar_white_24dp.svg +1 -0
- package/checkout.html +132 -0
- package/checkout_admin.html +141 -0
- package/icon.png +0 -0
- package/imgs/armchair.png +0 -0
- package/imgs/arrow_tnt.png +0 -0
- package/imgs/bed_wnm.png +0 -0
- package/imgs/big_bed.png +0 -0
- package/imgs/birdscythe.png +0 -0
- package/imgs/blue_tnt.png +0 -0
- package/imgs/bull.png +0 -0
- package/imgs/carpet.png +0 -0
- package/imgs/chest.png +0 -0
- package/imgs/coin_stash.png +0 -0
- package/imgs/creeper_tnt.png +0 -0
- package/imgs/garbage_can.png +0 -0
- package/imgs/generator.png +0 -0
- package/imgs/golden_sword.png +0 -0
- package/imgs/highbed.png +0 -0
- package/imgs/jetpack1.png +0 -0
- package/imgs/jetpack2.png +0 -0
- package/imgs/jetpack3.png +0 -0
- package/imgs/jetpack4.png +0 -0
- package/imgs/jetpack5.png +0 -0
- package/imgs/jetpack6.png +0 -0
- package/imgs/karmincross.png +0 -0
- package/imgs/light_tnt.png +0 -0
- package/imgs/lucky_block.png +0 -0
- package/imgs/lucky_block_2.png +0 -0
- package/imgs/mega_tnt.png +0 -0
- package/imgs/modern_lamp.png +0 -0
- package/imgs/multiply_tnt.png +0 -0
- package/imgs/nuke.png +0 -0
- package/imgs/oak_tree.png +0 -0
- package/imgs/oak_tree_2.png +0 -0
- package/imgs/old_globe.png +0 -0
- package/imgs/scificannon_1.png +0 -0
- package/imgs/scificannon_10.png +0 -0
- package/imgs/scificannon_11.png +0 -0
- package/imgs/scificannon_12.png +0 -0
- package/imgs/scificannon_13.png +0 -0
- package/imgs/scificannon_14.png +0 -0
- package/imgs/scificannon_2.png +0 -0
- package/imgs/scificannon_3.png +0 -0
- package/imgs/scificannon_4.png +0 -0
- package/imgs/scificannon_5.png +0 -0
- package/imgs/scificannon_6.png +0 -0
- package/imgs/scificannon_7.png +0 -0
- package/imgs/scificannon_8.png +0 -0
- package/imgs/scificannon_9.png +0 -0
- package/imgs/simple_chair.png +0 -0
- package/imgs/small_car.png +0 -0
- package/imgs/small_modern_lamp.png +0 -0
- package/imgs/small_wardrobe.png +0 -0
- package/imgs/small_wooden_table.png +0 -0
- package/imgs/spike_sword.png +0 -0
- package/imgs/stone_holder.png +0 -0
- package/imgs/stone_sword.png +0 -0
- package/imgs/street_lamp.png +0 -0
- package/imgs/sword_1.png +0 -0
- package/imgs/sword_with_hole.png +0 -0
- package/imgs/testing.png +0 -0
- package/imgs/timer_tnt.png +0 -0
- package/imgs/tiny_tnt.png +0 -0
- package/imgs/tnt_cannon.png +0 -0
- package/imgs/wing_tnt.png +0 -0
- package/imgs/wooden_stool.png +0 -0
- package/imgs/wooden_wardrobe.png +0 -0
- package/index.html +179 -0
- package/index_admin.html +189 -0
- package/js/db/push_model.js +30 -0
- package/js/dialoges.js +23 -0
- package/js/item_functionality.js +7 -0
- package/js/load_admin.js +32 -0
- package/js/load_cart.js +76 -0
- package/js/load_items.js +467 -0
- package/js/update.js +35 -0
- package/login.html +287 -0
- package/main.js +306 -0
- package/models/armchair.gltf +1 -0
- package/models/arrow_tnt.gltf +1 -0
- package/models/bedwnm.gltf +1 -0
- package/models/big_bed.gltf +1 -0
- package/models/birdscythe.gltf +1 -0
- package/models/blue_tnt.gltf +1 -0
- package/models/bull.gltf +1 -0
- package/models/carpet.gltf +1 -0
- package/models/chest.gltf +1 -0
- package/models/coin_stash.gltf +1 -0
- package/models/creeper_tnt.gltf +1 -0
- package/models/garbage_can.gltf +1 -0
- package/models/generator.gltf +1 -0
- package/models/golden_sword.gltf +1 -0
- package/models/highbed.gltf +1 -0
- package/models/jetpack1.gltf +1 -0
- package/models/jetpack2.gltf +1 -0
- package/models/jetpack3.gltf +1 -0
- package/models/jetpack4.gltf +1 -0
- package/models/jetpack5.gltf +1 -0
- package/models/jetpack6.gltf +1 -0
- package/models/karmincross.gltf +1 -0
- package/models/light_tnt.gltf +1 -0
- package/models/lucky_block.gltf +1 -0
- package/models/lucky_block_2.gltf +1 -0
- package/models/mega_tnt.gltf +1 -0
- package/models/modern_lamp.gltf +1 -0
- package/models/multiply_tnt.gltf +1 -0
- package/models/nuke.gltf +1 -0
- package/models/oak_tree.gltf +1 -0
- package/models/oak_tree_2.gltf +1 -0
- package/models/old globe.gltf +1 -0
- package/models/scificannon_1.gltf +1 -0
- package/models/scificannon_10.gltf +1 -0
- package/models/scificannon_11.gltf +1 -0
- package/models/scificannon_12.gltf +1 -0
- package/models/scificannon_13.gltf +1 -0
- package/models/scificannon_14.gltf +1 -0
- package/models/scificannon_2.gltf +1 -0
- package/models/scificannon_3.gltf +1 -0
- package/models/scificannon_4.gltf +1 -0
- package/models/scificannon_5.gltf +1 -0
- package/models/scificannon_6.gltf +1 -0
- package/models/scificannon_7.gltf +1 -0
- package/models/scificannon_8.gltf +1 -0
- package/models/scificannon_9.gltf +1 -0
- package/models/simple_chair.gltf +1 -0
- package/models/small_car.gltf +1 -0
- package/models/small_modern_lamp.gltf +1 -0
- package/models/small_wardrobe.gltf +1 -0
- package/models/small_wooden_table.gltf +1 -0
- package/models/spike_sword.gltf +1 -0
- package/models/stone_holder.gltf +1 -0
- package/models/stone_sword.gltf +1 -0
- package/models/street_lamp.gltf +1 -0
- package/models/sword_1.gltf +1 -0
- package/models/sword_with_hole.gltf +1 -0
- package/models/timer_tnt.gltf +1 -0
- package/models/tiny_tnt.gltf +1 -0
- package/models/tnt_cannon.gltf +1 -0
- package/models/wing_tnt.gltf +1 -0
- package/models/wooden_stool.gltf +1 -0
- package/models/wooden_wardrobe.gltf +1 -0
- package/package.json +42 -0
- package/preload.js +26 -0
package/js/load_items.js
ADDED
|
@@ -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
|
+
}
|