model-manager 0.0.3-1.0

Sign up to get free protection for your applications and to get access to all the features.
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
package/index.html ADDED
@@ -0,0 +1,179 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width,initial-scale=1.0"/>
6
+ <link href="./assets/css/basic.css" rel="stylesheet">
7
+ <link href="./assets/css/dialog.css" rel="stylesheet">
8
+ <title>Browse</title>
9
+ </head>
10
+ <body>
11
+
12
+
13
+ <section id="head">
14
+ <div class="drag-field-head">
15
+ <p class="drag-field-text">ModelManager</p>
16
+ </div>
17
+ <div class="win-btn">
18
+ <a class="btn-win" id="close-button">
19
+ <img src="assets/white/close_white_24dp.svg" style="display: flex;">
20
+ </a>
21
+ </div>
22
+ </section>
23
+
24
+
25
+ <section id="sidebar">
26
+ <section class="title-container">
27
+ <img src="assets/logo.png" width="70px" alt="logo">
28
+ </section>
29
+ <section class="links-container">
30
+ <div class="links active">
31
+ <div class="icon">
32
+ <img src="assets/white/store_white_24dp.svg">
33
+ </div>
34
+ <span>Browse</span>
35
+ </div>
36
+ <div class="links" id="checkout-side">
37
+ <div class="icon">
38
+ <img src="assets/white/receipt_white_24dp.svg">
39
+ </div>
40
+ <span class="underline-hovered">Checkout</span>
41
+ </div>
42
+ </section>
43
+ </section>
44
+
45
+
46
+
47
+ <section id="main-content">
48
+
49
+ <div id="loading">
50
+ <h3 id="loading-text">loading...</h3>
51
+ <img id="loading-image" src="assets/spinner.gif" alt="Loading..." width="70px"/>
52
+ </div>
53
+
54
+
55
+ <section id="top-section">
56
+ <div class="input-box" >
57
+ <div class="input-icon">
58
+ <img src="assets/white/search_white_24dp.svg">
59
+ </div>
60
+ <input placeholder="Search..." data-search>
61
+
62
+ </div>
63
+ <!-- THIS NEEDS TO BE IMPLEMENTED -->
64
+ <!-- <div class="action-icons">
65
+ <div class="action-icon-one">
66
+ <img class="action-icons" src="assets/white/filter_list_white_24dp.svg" width="25px">
67
+ </div>
68
+ </div> -->
69
+ </section>
70
+
71
+ <h3 class="result-headline">Results: </h3>
72
+
73
+ <!-- All items listed in here -->
74
+ <section id="items">
75
+ <template data-item-template>
76
+ <div class="grid-item" id="template">
77
+ <div class="grid-picture">
78
+ <img src="assets/testing.png" width="190px">
79
+ </div>
80
+ <h4 class="grid-label">Testmodel</h4>
81
+ <div class="grid-blur"></div>
82
+ <div class="grid-data">
83
+ <div class="grid-textures">
84
+ <span data-tooltip="Textures" data-flow="bottom">
85
+ <img src="assets/white/brush_white_24dp.svg">
86
+ </span>
87
+ </div>
88
+ <div class="grid-anims">
89
+ <span data-tooltip="Animations" data-flow="bottom">
90
+ <img src="assets/white/emoji_people_white_24dp.svg">
91
+ </span>
92
+ </div>
93
+ <div class="grid-behavior">
94
+ <span data-tooltip="Behavior" data-flow="bottom">
95
+ <img src="assets/white/code_white_24dp.svg">
96
+ </span>
97
+ </div>
98
+ <div class="grid-view-vr">
99
+ <span data-tooltip="3D View" data-flow="bottom" id="">
100
+ <img src="assets/white/view_in_ar_white_24dp.svg">
101
+ </span>
102
+ </div>
103
+ </div>
104
+ </div>
105
+ </template>
106
+ </section>
107
+ </section>
108
+ <!--transition-->
109
+ <main id="swup" class="transition-fade">
110
+ <h1>Cart</h1>
111
+ </main>
112
+ <!--Renderer-->
113
+ <div id="body-overlay"></div>
114
+ <div class="dialog" id="item-dialog">
115
+ <a href="#" role="button" class="dialog-close-button" id="dialog-close-button">
116
+ <image src="assets/white/close_white_24dp.svg"> </image>
117
+ </a>
118
+ <h3 id="item-dialog-name" style="float: left;">MODELNAME</h3>
119
+ <h4 id="item-dialog-creator" style="font-weight: lighter; float: left; margin-left: 5px;">by Tristan</h4>
120
+
121
+ <div class="model-content">
122
+ <div class="model-view-text">
123
+ <div class="multi-textures">
124
+ <h3>Texture Variants:</h3>
125
+ <div class="behavior_list" id="textures_listing">
126
+ <label class="control control-checkbox">
127
+ Idle
128
+ <input type="checkbox" />
129
+ <div class="control_indicator"></div>
130
+ </label>
131
+ </div>
132
+ </div>
133
+ <div class="multi-animations">
134
+ <h3>Animations:</h3>
135
+ <div class="behavior_list" id="animation_listing">
136
+ <label class="control control-checkbox">
137
+ Idle
138
+ <input type="checkbox" />
139
+ <div class="control_indicator"></div>
140
+ </label>
141
+ </div>
142
+ </div>
143
+ <div class="multi-behaviors">
144
+ <h3>Behaviors:</h3>
145
+ <div class="behavior_list" id="behavior_listing">
146
+ </div>
147
+ </div>
148
+ <a class="add-to-cart" id="addtocart">
149
+ Add to cart
150
+ </a>
151
+ </div>
152
+ <div id="model-view" class="model-view">
153
+
154
+ </div>
155
+ </div>
156
+ </div>
157
+ <script>
158
+ document.getElementById("close-button").addEventListener('click', event => {
159
+ window.api.send("toMain", "closeWindow");
160
+ });
161
+ document.getElementById("checkout-side").onclick = function () {
162
+ location.href = "./checkout.html";
163
+ };
164
+ </script>
165
+
166
+ <!-- three.js -->
167
+ <script src="assets/three/three.js"></script>
168
+ <script type="module" src="assets/three/GLTFLoader.js"></script>
169
+ <script type="module">
170
+
171
+
172
+ </script>
173
+
174
+ <script type="module" src="./js/load_items.js">
175
+ </script>
176
+ <script src="./js/dialoges.js">
177
+ </script>
178
+ </body>
179
+ </html>
@@ -0,0 +1,189 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width,initial-scale=1.0"/>
6
+ <link href="./assets/css/basic.css" rel="stylesheet">
7
+ <link href="./assets/css/dialog.css" rel="stylesheet">
8
+ <title>Browse</title>
9
+ </head>
10
+ <body>
11
+
12
+
13
+ <section id="head">
14
+ <div class="drag-field-head">
15
+ <p class="drag-field-text">ModelManager</p>
16
+ </div>
17
+ <div class="win-btn">
18
+ <a class="btn-win" id="close-button">
19
+ <img src="assets/white/close_white_24dp.svg" style="display: flex;">
20
+ </a>
21
+ </div>
22
+ </section>
23
+
24
+
25
+ <section id="sidebar">
26
+ <section class="title-container">
27
+ <img src="assets/logo.png" width="70px" alt="logo">
28
+ </section>
29
+ <section class="links-container">
30
+ <div class="links active">
31
+ <div class="icon">
32
+ <img src="assets/white/store_white_24dp.svg">
33
+ </div>
34
+ <span>Browse</span>
35
+ </div>
36
+ <div class="links" id="checkout-side">
37
+ <div class="icon">
38
+ <img src="assets/white/receipt_white_24dp.svg">
39
+ </div>
40
+ <span class="underline-hovered">Checkout</span>
41
+ </div>
42
+ <div class="links" id="admin_panel">
43
+ <div class="icon">
44
+ <img width="32px" height="37px" src="assets/white/admin.svg">
45
+ </div>
46
+ <span class="underline-hovered">Admin</span>
47
+ </div>
48
+ </section>
49
+ </section>
50
+
51
+
52
+
53
+ <section id="main-content">
54
+
55
+ <div id="loading">
56
+ <h3 id="loading-text">loading...</h3>
57
+ <img id="loading-image" src="assets/spinner.gif" alt="Loading..." width="70px"/>
58
+ </div>
59
+
60
+
61
+ <section id="top-section">
62
+ <div class="input-box" >
63
+ <div class="input-icon">
64
+ <img src="assets/white/search_white_24dp.svg">
65
+ </div>
66
+ <input placeholder="Search..." data-search>
67
+
68
+ </div>
69
+ <!-- THIS NEEDS TO BE IMPLEMENTED -->
70
+ <!-- <div class="action-icons">
71
+ <div class="action-icon-one">
72
+ <img class="action-icons" src="assets/white/filter_list_white_24dp.svg" width="25px">
73
+ </div>
74
+ </div> -->
75
+ </section>
76
+
77
+ <h3 class="result-headline">Results: </h3>
78
+
79
+ <!-- All items listed in here -->
80
+ <section id="items">
81
+ <template data-item-template>
82
+ <div class="grid-item" id="template">
83
+ <div class="grid-picture">
84
+ <img src="assets/testing.png" width="190px">
85
+ </div>
86
+ <h4 class="grid-label">Testmodel</h4>
87
+
88
+ <div class="grid-data">
89
+ <div class="grid-textures">
90
+ <span data-tooltip="Textures" data-flow="bottom">
91
+ <img src="assets/white/brush_white_24dp.svg">
92
+ </span>
93
+ </div>
94
+ <div class="grid-anims">
95
+ <span data-tooltip="Animations" data-flow="bottom">
96
+ <img src="assets/white/emoji_people_white_24dp.svg">
97
+ </span>
98
+ </div>
99
+ <div class="grid-behavior">
100
+ <span data-tooltip="Behavior" data-flow="bottom">
101
+ <img src="assets/white/code_white_24dp.svg">
102
+ </span>
103
+ </div>
104
+ <div class="grid-view-vr">
105
+ <span data-tooltip="3D View" data-flow="bottom" id="">
106
+ <img src="assets/white/view_in_ar_white_24dp.svg">
107
+ </span>
108
+ </div>
109
+ </div>
110
+ </div>
111
+ </template>
112
+ </section>
113
+ </section>
114
+ <!--transition-->
115
+ <main id="swup" class="transition-fade">
116
+ <h1>Cart</h1>
117
+ </main>
118
+ <!--Renderer-->
119
+ <div id="body-overlay"></div>
120
+ <div class="dialog" id="item-dialog">
121
+ <a href="#" role="button" class="dialog-close-button" id="dialog-close-button">
122
+ <image src="assets/white/close_white_24dp.svg"> </image>
123
+ </a>
124
+ <h3 id="item-dialog-name" style="float: left;">MODELNAME</h3>
125
+ <h4 id="item-dialog-creator" style="font-weight: lighter; float: left; margin-left: 5px;">by Tristan</h4>
126
+
127
+ <div class="model-content">
128
+ <div class="model-view-text">
129
+ <div class="multi-textures">
130
+ <h3>Texture Variants:</h3>
131
+ <div class="behavior_list" id="textures_listing">
132
+ <label class="control control-checkbox">
133
+ Idle
134
+ <input type="checkbox" />
135
+ <div class="control_indicator"></div>
136
+ </label>
137
+ </div>
138
+ </div>
139
+ <div class="multi-animations">
140
+ <h3>Animations:</h3>
141
+ <div class="behavior_list" id="animation_listing">
142
+ <label class="control control-checkbox">
143
+ Idle
144
+ <input type="checkbox" />
145
+ <div class="control_indicator"></div>
146
+ </label>
147
+ </div>
148
+ </div>
149
+ <div class="multi-behaviors">
150
+ <h3>Behaviors:</h3>
151
+ <div class="behavior_list" id="behavior_listing">
152
+ </div>
153
+ </div>
154
+ <a class="add-to-cart" id="addtocart">
155
+ Add to cart
156
+ </a>
157
+ </div>
158
+ <div id="model-view" class="model-view">
159
+
160
+ </div>
161
+ </div>
162
+ </div>
163
+ <script>
164
+ document.getElementById("close-button").addEventListener('click', event => {
165
+ window.api.send("toMain", "closeWindow");
166
+ });
167
+ document.getElementById("checkout-side").onclick = function () {
168
+ location.href = "./checkout_admin.html";
169
+ };
170
+
171
+ document.getElementById("admin_panel").onclick = function () {
172
+ location.href = "./administration.html";
173
+ };
174
+ </script>
175
+
176
+ <!-- three.js -->
177
+ <script src="assets/three/three.js"></script>
178
+ <script type="module" src="assets/three/GLTFLoader.js"></script>
179
+ <script type="module">
180
+
181
+
182
+ </script>
183
+
184
+ <script type="module" src="./js/load_items.js">
185
+ </script>
186
+ <script src="./js/dialoges.js">
187
+ </script>
188
+ </body>
189
+ </html>
@@ -0,0 +1,30 @@
1
+ const { MongoClient, ServerApiVersion } = require('mongodb');
2
+ const uri = "mongodb+srv://adminmn:eQJ62Cszrvi7VgD@mnmodeldatabase.zsxqn.mongodb.net/myFirstDatabase?retryWrites=true&w=majority";
3
+ const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true, serverApi: ServerApiVersion.v1 });
4
+
5
+ const database = client.db("modeldatabase");
6
+ const models = database.collection("models");
7
+
8
+
9
+ function push(model_name, model_creator, model_path, thumbnail, has_anims, has_behavior, has_textures, animations, behaviors, textures, tags) {
10
+ client.connect(err => {
11
+ if (err) throw err;
12
+ var modelobj = {
13
+ released: true, model_name: model_name, model_creator: model_creator,
14
+ model_path: model_path, thumbnail: thumbnail, has_anims: has_anims, has_behavior: has_behavior,
15
+ has_textures: has_textures,
16
+ animations: animations,
17
+ behavior: behaviors,
18
+ textures: textures,
19
+ tags: tags
20
+ }
21
+ models.insertOne(modelobj);
22
+
23
+ models.find().forEach( function(item) {
24
+ item.animations.forEach(function (item, index) {
25
+
26
+ });
27
+ });
28
+ });
29
+ client.close();
30
+ }
package/js/dialoges.js ADDED
@@ -0,0 +1,23 @@
1
+ document.getElementById('body-overlay').addEventListener('click', function(e) {
2
+ document.getElementById("item-dialog").classList.remove("visable");
3
+ document.getElementById("body-overlay").classList.remove("visable");
4
+ });
5
+
6
+ document.getElementById('dialog-close-button').addEventListener('click', function(e) {
7
+ document.getElementById("item-dialog").classList.remove("visable");
8
+ document.getElementById("body-overlay").classList.remove("visable");
9
+ });
10
+
11
+ document.onkeydown = function(evt) {
12
+ evt = evt || window.event;
13
+ var isEscape = false;
14
+ if ("key" in evt) {
15
+ isEscape = (evt.key === "Escape" || evt.key === "Esc");
16
+ } else {
17
+ isEscape = (evt.keyCode === 27);
18
+ }
19
+ if (isEscape) {
20
+ document.getElementById("item-dialog").classList.remove("visable");
21
+ document.getElementById("body-overlay").classList.remove("visable");
22
+ }
23
+ };
@@ -0,0 +1,7 @@
1
+ document.querySelectorAll('.grid-item').forEach(function(item) {
2
+ item.addEventListener('click', function() {
3
+ document.getElementById("item-dialog").classList.add("visable");
4
+ document.getElementById("body-overlay").classList.add("visable");
5
+ document.getElementById("item-dialog-name").innerText = item.dataset.identifier;
6
+ });
7
+ });
@@ -0,0 +1,32 @@
1
+ window.api.send("database_request", "rq_orderdata");
2
+
3
+ window.api.receive('admin_channel', function (data, evt) {
4
+ var list = document.getElementById("order-listing")
5
+ var a = document.createElement('a')
6
+ a.id = "finish_order"
7
+ var img_in_a = document.createElement('img')
8
+ img_in_a.src = "./assets/white/admin/check.svg"
9
+ a.appendChild(img_in_a);
10
+ var newLI = document.createElement('li')
11
+ newLI.id = "order-item"
12
+ newLI.dataset.order_id = data[0].order_number
13
+ a.dataset.order_id = data[0].order_number
14
+ newLI.dataset.item_obj = data[0].orders
15
+ newLI.innerHTML = "Ordercode: #" + data[0].order_number + " | Orderer: " + data[0].orderer + " | Items: " + data[0].orders.length
16
+ newLI.appendChild(a);
17
+ list.appendChild(newLI);
18
+ document.querySelectorAll("#finish_order").forEach(function (item) {
19
+ item.addEventListener('click', function() {
20
+ window.api.send("database_request", "delete_order:" + item.dataset.order_id);
21
+ });
22
+ });
23
+ });
24
+
25
+ window.api.receive('renderer', function (data, evt) {
26
+ if(data == "stop-spinner") {
27
+ document.getElementById("loading").remove();
28
+ } else if (data == "reload_side") {
29
+
30
+ location.reload()
31
+ }
32
+ });
@@ -0,0 +1,76 @@
1
+ import { GLTFLoader } from '../assets/three/GLTFLoader.js'
2
+ import { OrbitControls } from '../assets/three/OrbitControls.js'
3
+
4
+ var newCart = [];
5
+ // define cart
6
+ window.api.send("cart_request", "rq")
7
+ window.api.receive('cart_answer', function (data, evt) {
8
+ newCart = [...new Set(data)];;
9
+ });
10
+
11
+
12
+ window.api.send("database_request", "rqID");
13
+
14
+ const items = []
15
+ window.api.receive('item_channel', function (data, evt) {
16
+ items.push(data)
17
+ if (newCart.includes(data[0].modelname)) {
18
+ var item = document.createElement('div');
19
+ item.className = "grid-item";
20
+ item.dataset.identifier = data[0].count;
21
+ // grid picture div
22
+ var grid_pic = document.createElement('div');
23
+ grid_pic.className = "grid-picture";
24
+ var grid_pic_img = document.createElement('img');
25
+ // get img path
26
+ grid_pic_img.src = data[0].thumbnail;
27
+ grid_pic_img.width = 190;
28
+ grid_pic.appendChild(grid_pic_img);
29
+ item.appendChild(grid_pic);
30
+ // grid label
31
+ var grid_label = document.createElement('h4');
32
+ grid_label.className = "grid-label"
33
+ grid_label.innerText = data[0].modelname
34
+ item.appendChild(grid_label)
35
+ // add item to items sections
36
+ document.getElementById('items').appendChild(item);
37
+ item.dataset.modelname = data[0].modelname
38
+ item.dataset.modelcreator = data[0].modelcreator
39
+ item.dataset.modelpath = data[0].model_path
40
+
41
+ // create li
42
+ var catalog_item = document.createElement('li');
43
+ catalog_item.innerHTML = data[0].modelname
44
+ catalog_item.id = data[0].modelname
45
+
46
+ document.getElementById('checkout_catalog').appendChild(catalog_item);
47
+
48
+
49
+ // var catlog_removal = document.createElement('a');
50
+ // catlog_removal.id = "remove_item_from_checkout";
51
+ // catlog_removal.innerHTML = "Remove"
52
+ // document.getElementById(data[0].modelname).appendChild(catlog_removal);
53
+
54
+
55
+ // set item data so we can work with it later
56
+ item.dataset.behaviors = data[0].behaviors
57
+ item.dataset.textures = data[0].textures
58
+ item.dataset.animation = data[0].animations
59
+ item.dataset.tags = data[0].tags
60
+ }
61
+ });
62
+
63
+
64
+ window.api.receive('renderer', function (data, evt) {
65
+ if(data = "stop-spinner") {
66
+ document.getElementById("loading").remove()
67
+ }
68
+ if (newCart.length == 0) {
69
+ let no_results = document.createElement("h2");
70
+ no_results.textContent = "Your Cart is empty!"
71
+ document.getElementById("action-icon-one").remove();
72
+ document.getElementById("items").appendChild(no_results)
73
+ }
74
+
75
+
76
+ });