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
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
+ });