@duyanhdev/mvp-ifs-ui-kit 21.0.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 (170) hide show
  1. package/.editorconfig +16 -0
  2. package/.gitmodules +3 -0
  3. package/.postcssrc.json +5 -0
  4. package/.prettierignore +14 -0
  5. package/.prettierrc.json +29 -0
  6. package/LICENSE.md +21 -0
  7. package/README.md +59 -0
  8. package/angular.json +98 -0
  9. package/eslint.config.js +89 -0
  10. package/package.json +59 -0
  11. package/public/demo/images/flag/flag_placeholder.png +0 -0
  12. package/public/demo/images/footer-image.gif +0 -0
  13. package/public/demo/images/galleria/galleria1.jpg +0 -0
  14. package/public/demo/images/galleria/galleria10.jpg +0 -0
  15. package/public/demo/images/galleria/galleria10s.jpg +0 -0
  16. package/public/demo/images/galleria/galleria11.jpg +0 -0
  17. package/public/demo/images/galleria/galleria11s.jpg +0 -0
  18. package/public/demo/images/galleria/galleria12.jpg +0 -0
  19. package/public/demo/images/galleria/galleria12s.jpg +0 -0
  20. package/public/demo/images/galleria/galleria13.jpg +0 -0
  21. package/public/demo/images/galleria/galleria13s.jpg +0 -0
  22. package/public/demo/images/galleria/galleria14.jpg +0 -0
  23. package/public/demo/images/galleria/galleria14s.jpg +0 -0
  24. package/public/demo/images/galleria/galleria15.jpg +0 -0
  25. package/public/demo/images/galleria/galleria15s.jpg +0 -0
  26. package/public/demo/images/galleria/galleria1s.jpg +0 -0
  27. package/public/demo/images/galleria/galleria2.jpg +0 -0
  28. package/public/demo/images/galleria/galleria2s.jpg +0 -0
  29. package/public/demo/images/galleria/galleria3.jpg +0 -0
  30. package/public/demo/images/galleria/galleria3s.jpg +0 -0
  31. package/public/demo/images/galleria/galleria4.jpg +0 -0
  32. package/public/demo/images/galleria/galleria4s.jpg +0 -0
  33. package/public/demo/images/galleria/galleria5.jpg +0 -0
  34. package/public/demo/images/galleria/galleria5s.jpg +0 -0
  35. package/public/demo/images/galleria/galleria6.jpg +0 -0
  36. package/public/demo/images/galleria/galleria6s.jpg +0 -0
  37. package/public/demo/images/galleria/galleria7.jpg +0 -0
  38. package/public/demo/images/galleria/galleria7s.jpg +0 -0
  39. package/public/demo/images/galleria/galleria8.jpg +0 -0
  40. package/public/demo/images/galleria/galleria8s.jpg +0 -0
  41. package/public/demo/images/galleria/galleria9.jpg +0 -0
  42. package/public/demo/images/galleria/galleria9s.jpg +0 -0
  43. package/public/demo/images/product/bamboo-watch.jpg +0 -0
  44. package/public/demo/images/product/black-watch.jpg +0 -0
  45. package/public/demo/images/product/blue-band.jpg +0 -0
  46. package/public/demo/images/product/blue-t-shirt.jpg +0 -0
  47. package/public/demo/images/product/bracelet.jpg +0 -0
  48. package/public/demo/images/product/brown-purse.jpg +0 -0
  49. package/public/demo/images/product/chakra-bracelet.jpg +0 -0
  50. package/public/demo/images/product/galaxy-earrings.jpg +0 -0
  51. package/public/demo/images/product/game-controller.jpg +0 -0
  52. package/public/demo/images/product/gaming-set.jpg +0 -0
  53. package/public/demo/images/product/gold-phone-case.jpg +0 -0
  54. package/public/demo/images/product/green-earbuds.jpg +0 -0
  55. package/public/demo/images/product/green-t-shirt.jpg +0 -0
  56. package/public/demo/images/product/grey-t-shirt.jpg +0 -0
  57. package/public/demo/images/product/headphones.jpg +0 -0
  58. package/public/demo/images/product/light-green-t-shirt.jpg +0 -0
  59. package/public/demo/images/product/lime-band.jpg +0 -0
  60. package/public/demo/images/product/mini-speakers.jpg +0 -0
  61. package/public/demo/images/product/painted-phone-case.jpg +0 -0
  62. package/public/demo/images/product/pink-band.jpg +0 -0
  63. package/public/demo/images/product/pink-purse.jpg +0 -0
  64. package/public/demo/images/product/product-placeholder.svg +10 -0
  65. package/public/demo/images/product/purple-band.jpg +0 -0
  66. package/public/demo/images/product/purple-gemstone-necklace.jpg +0 -0
  67. package/public/demo/images/product/purple-t-shirt.jpg +0 -0
  68. package/public/demo/images/product/shoes.jpg +0 -0
  69. package/public/demo/images/product/sneakers.jpg +0 -0
  70. package/public/demo/images/product/teal-t-shirt.jpg +0 -0
  71. package/public/demo/images/product/yellow-earbuds.jpg +0 -0
  72. package/public/demo/images/product/yoga-mat.jpg +0 -0
  73. package/public/demo/images/product/yoga-set.jpg +0 -0
  74. package/src/app/layout/component/configurator/app.configurator.html +48 -0
  75. package/src/app/layout/component/configurator/app.configurator.ts +396 -0
  76. package/src/app/layout/component/floatingconfigurator/app.floatingconfigurator.ts +31 -0
  77. package/src/app/layout/component/footer/app.footer.scss +52 -0
  78. package/src/app/layout/component/footer/app.footer.ts +26 -0
  79. package/src/app/layout/component/layout/app.layout.ts +50 -0
  80. package/src/app/layout/component/menu/app.menu.html +7 -0
  81. package/src/app/layout/component/menu/app.menu.scss +13 -0
  82. package/src/app/layout/component/menu/app.menu.ts +90 -0
  83. package/src/app/layout/component/menuitem/app.menuitem.html +56 -0
  84. package/src/app/layout/component/menuitem/app.menuitem.scss +218 -0
  85. package/src/app/layout/component/menuitem/app.menuitem.ts +126 -0
  86. package/src/app/layout/component/sidebar/app.sidebar.html +3 -0
  87. package/src/app/layout/component/sidebar/app.sidebar.scss +0 -0
  88. package/src/app/layout/component/sidebar/app.sidebar.ts +106 -0
  89. package/src/app/layout/component/topbar/app.topbar.html +190 -0
  90. package/src/app/layout/component/topbar/app.topbar.scss +8 -0
  91. package/src/app/layout/component/topbar/app.topbar.ts +68 -0
  92. package/src/app/layout/service/layout.service.ts +117 -0
  93. package/src/app/pages/auth/access.ts +32 -0
  94. package/src/app/pages/auth/auth.routes.ts +10 -0
  95. package/src/app/pages/auth/error.ts +32 -0
  96. package/src/app/pages/auth/login.ts +71 -0
  97. package/src/app/pages/crud/crud.ts +387 -0
  98. package/src/app/pages/dashboard/dashboard.css +778 -0
  99. package/src/app/pages/dashboard/dashboard.html +191 -0
  100. package/src/app/pages/dashboard/dashboard.ts +348 -0
  101. package/src/app/pages/documentation/documentation.ts +73 -0
  102. package/src/app/pages/empty/empty.ts +11 -0
  103. package/src/app/pages/landing/components/featureswidget.ts +139 -0
  104. package/src/app/pages/landing/components/footerwidget.ts +73 -0
  105. package/src/app/pages/landing/components/herowidget.ts +25 -0
  106. package/src/app/pages/landing/components/highlightswidget.ts +46 -0
  107. package/src/app/pages/landing/components/pricingwidget.ts +119 -0
  108. package/src/app/pages/landing/components/topbarwidget.component.ts +68 -0
  109. package/src/app/pages/landing/landing.ts +31 -0
  110. package/src/app/pages/notfound/notfound.ts +68 -0
  111. package/src/app/pages/pages.routes.ts +17 -0
  112. package/src/app/pages/profile/profile.html +57 -0
  113. package/src/app/pages/profile/profile.scss +145 -0
  114. package/src/app/pages/profile/profile.ts +19 -0
  115. package/src/app/pages/service/country.service.ts +255 -0
  116. package/src/app/pages/service/customer.service.ts +9057 -0
  117. package/src/app/pages/service/icon.service.ts +23 -0
  118. package/src/app/pages/service/node.service.ts +816 -0
  119. package/src/app/pages/service/photo.service.ts +103 -0
  120. package/src/app/pages/service/product.service.ts +1322 -0
  121. package/src/app/pages/tickets/tickets-create/tickets-create.html +140 -0
  122. package/src/app/pages/tickets/tickets-create/tickets-create.scss +617 -0
  123. package/src/app/pages/tickets/tickets-create/tickets-create.ts +104 -0
  124. package/src/app/pages/tickets/tickets-list/ticket-list.html +150 -0
  125. package/src/app/pages/tickets/tickets-list/ticket-list.scss +392 -0
  126. package/src/app/pages/tickets/tickets-list/ticket-list.ts +178 -0
  127. package/src/app/pages/uikit/buttondemo.ts +254 -0
  128. package/src/app/pages/uikit/chartdemo.ts +290 -0
  129. package/src/app/pages/uikit/filedemo.ts +52 -0
  130. package/src/app/pages/uikit/formlayoutdemo.ts +129 -0
  131. package/src/app/pages/uikit/inputdemo.ts +339 -0
  132. package/src/app/pages/uikit/listdemo.ts +217 -0
  133. package/src/app/pages/uikit/mediademo.ts +1021 -0
  134. package/src/app/pages/uikit/menudemo.ts +540 -0
  135. package/src/app/pages/uikit/messagesdemo.ts +101 -0
  136. package/src/app/pages/uikit/miscdemo.ts +192 -0
  137. package/src/app/pages/uikit/overlaydemo.ts +235 -0
  138. package/src/app/pages/uikit/panelsdemo.ts +235 -0
  139. package/src/app/pages/uikit/tabledemo.ts +568 -0
  140. package/src/app/pages/uikit/timelinedemo.ts +141 -0
  141. package/src/app/pages/uikit/treedemo.ts +75 -0
  142. package/src/app/pages/uikit/uikit.routes.ts +35 -0
  143. package/src/app.component.ts +22 -0
  144. package/src/app.config.ts +23 -0
  145. package/src/app.routes.ts +23 -0
  146. package/src/assets/demo/code.scss +17 -0
  147. package/src/assets/demo/demo.scss +2 -0
  148. package/src/assets/demo/flags/flags.css +984 -0
  149. package/src/assets/layout/_core.scss +24 -0
  150. package/src/assets/layout/_footer.scss +8 -0
  151. package/src/assets/layout/_main.scss +21 -0
  152. package/src/assets/layout/_menu.scss +159 -0
  153. package/src/assets/layout/_mixins.scss +15 -0
  154. package/src/assets/layout/_preloading.scss +47 -0
  155. package/src/assets/layout/_responsive.scss +111 -0
  156. package/src/assets/layout/_topbar.scss +201 -0
  157. package/src/assets/layout/_typography.scss +68 -0
  158. package/src/assets/layout/_utils.scss +25 -0
  159. package/src/assets/layout/layout.scss +13 -0
  160. package/src/assets/layout/variables/_common.scss +21 -0
  161. package/src/assets/layout/variables/_dark.scss +5 -0
  162. package/src/assets/layout/variables/_light.scss +5 -0
  163. package/src/assets/styles.scss +4 -0
  164. package/src/assets/tailwind.css +32 -0
  165. package/src/index.html +15 -0
  166. package/src/main.ts +5 -0
  167. package/tsconfig.app.json +15 -0
  168. package/tsconfig.json +33 -0
  169. package/tsconfig.spec.json +15 -0
  170. package/vercel.json +9 -0
@@ -0,0 +1,1322 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { Injectable } from '@angular/core';
3
+
4
+ interface InventoryStatus {
5
+ label: string;
6
+ value: string;
7
+ }
8
+
9
+ export interface Product {
10
+ id?: string;
11
+ code?: string;
12
+ name?: string;
13
+ description?: string;
14
+ price?: number;
15
+ quantity?: number;
16
+ inventoryStatus?: string;
17
+ category?: string;
18
+ image?: string;
19
+ rating?: number;
20
+ }
21
+
22
+ @Injectable()
23
+ export class ProductService {
24
+ getProductsData() {
25
+ return [
26
+ {
27
+ id: '1000',
28
+ code: 'f230fh0g3',
29
+ name: 'Bamboo Watch',
30
+ description: 'Product Description',
31
+ image: 'bamboo-watch.jpg',
32
+ price: 65,
33
+ category: 'Accessories',
34
+ quantity: 24,
35
+ inventoryStatus: 'INSTOCK',
36
+ rating: 5
37
+ },
38
+ {
39
+ id: '1001',
40
+ code: 'nvklal433',
41
+ name: 'Black Watch',
42
+ description: 'Product Description',
43
+ image: 'black-watch.jpg',
44
+ price: 72,
45
+ category: 'Accessories',
46
+ quantity: 61,
47
+ inventoryStatus: 'INSTOCK',
48
+ rating: 4
49
+ },
50
+ {
51
+ id: '1002',
52
+ code: 'zz21cz3c1',
53
+ name: 'Blue Band',
54
+ description: 'Product Description',
55
+ image: 'blue-band.jpg',
56
+ price: 79,
57
+ category: 'Fitness',
58
+ quantity: 2,
59
+ inventoryStatus: 'LOWSTOCK',
60
+ rating: 3
61
+ },
62
+ {
63
+ id: '1003',
64
+ code: '244wgerg2',
65
+ name: 'Blue T-Shirt',
66
+ description: 'Product Description',
67
+ image: 'blue-t-shirt.jpg',
68
+ price: 29,
69
+ category: 'Clothing',
70
+ quantity: 25,
71
+ inventoryStatus: 'INSTOCK',
72
+ rating: 5
73
+ },
74
+ {
75
+ id: '1004',
76
+ code: 'h456wer53',
77
+ name: 'Bracelet',
78
+ description: 'Product Description',
79
+ image: 'bracelet.jpg',
80
+ price: 15,
81
+ category: 'Accessories',
82
+ quantity: 73,
83
+ inventoryStatus: 'INSTOCK',
84
+ rating: 4
85
+ },
86
+ {
87
+ id: '1005',
88
+ code: 'av2231fwg',
89
+ name: 'Brown Purse',
90
+ description: 'Product Description',
91
+ image: 'brown-purse.jpg',
92
+ price: 120,
93
+ category: 'Accessories',
94
+ quantity: 0,
95
+ inventoryStatus: 'OUTOFSTOCK',
96
+ rating: 4
97
+ },
98
+ {
99
+ id: '1006',
100
+ code: 'bib36pfvm',
101
+ name: 'Chakra Bracelet',
102
+ description: 'Product Description',
103
+ image: 'chakra-bracelet.jpg',
104
+ price: 32,
105
+ category: 'Accessories',
106
+ quantity: 5,
107
+ inventoryStatus: 'LOWSTOCK',
108
+ rating: 3
109
+ },
110
+ {
111
+ id: '1007',
112
+ code: 'mbvjkgip5',
113
+ name: 'Galaxy Earrings',
114
+ description: 'Product Description',
115
+ image: 'galaxy-earrings.jpg',
116
+ price: 34,
117
+ category: 'Accessories',
118
+ quantity: 23,
119
+ inventoryStatus: 'INSTOCK',
120
+ rating: 5
121
+ },
122
+ {
123
+ id: '1008',
124
+ code: 'vbb124btr',
125
+ name: 'Game Controller',
126
+ description: 'Product Description',
127
+ image: 'game-controller.jpg',
128
+ price: 99,
129
+ category: 'Electronics',
130
+ quantity: 2,
131
+ inventoryStatus: 'LOWSTOCK',
132
+ rating: 4
133
+ },
134
+ {
135
+ id: '1009',
136
+ code: 'cm230f032',
137
+ name: 'Gaming Set',
138
+ description: 'Product Description',
139
+ image: 'gaming-set.jpg',
140
+ price: 299,
141
+ category: 'Electronics',
142
+ quantity: 63,
143
+ inventoryStatus: 'INSTOCK',
144
+ rating: 3
145
+ },
146
+ {
147
+ id: '1010',
148
+ code: 'plb34234v',
149
+ name: 'Gold Phone Case',
150
+ description: 'Product Description',
151
+ image: 'gold-phone-case.jpg',
152
+ price: 24,
153
+ category: 'Accessories',
154
+ quantity: 0,
155
+ inventoryStatus: 'OUTOFSTOCK',
156
+ rating: 4
157
+ },
158
+ {
159
+ id: '1011',
160
+ code: '4920nnc2d',
161
+ name: 'Green Earbuds',
162
+ description: 'Product Description',
163
+ image: 'green-earbuds.jpg',
164
+ price: 89,
165
+ category: 'Electronics',
166
+ quantity: 23,
167
+ inventoryStatus: 'INSTOCK',
168
+ rating: 4
169
+ },
170
+ {
171
+ id: '1012',
172
+ code: '250vm23cc',
173
+ name: 'Green T-Shirt',
174
+ description: 'Product Description',
175
+ image: 'green-t-shirt.jpg',
176
+ price: 49,
177
+ category: 'Clothing',
178
+ quantity: 74,
179
+ inventoryStatus: 'INSTOCK',
180
+ rating: 5
181
+ },
182
+ {
183
+ id: '1013',
184
+ code: 'fldsmn31b',
185
+ name: 'Grey T-Shirt',
186
+ description: 'Product Description',
187
+ image: 'grey-t-shirt.jpg',
188
+ price: 48,
189
+ category: 'Clothing',
190
+ quantity: 0,
191
+ inventoryStatus: 'OUTOFSTOCK',
192
+ rating: 3
193
+ },
194
+ {
195
+ id: '1014',
196
+ code: 'waas1x2as',
197
+ name: 'Headphones',
198
+ description: 'Product Description',
199
+ image: 'headphones.jpg',
200
+ price: 175,
201
+ category: 'Electronics',
202
+ quantity: 8,
203
+ inventoryStatus: 'LOWSTOCK',
204
+ rating: 5
205
+ },
206
+ {
207
+ id: '1015',
208
+ code: 'vb34btbg5',
209
+ name: 'Light Green T-Shirt',
210
+ description: 'Product Description',
211
+ image: 'light-green-t-shirt.jpg',
212
+ price: 49,
213
+ category: 'Clothing',
214
+ quantity: 34,
215
+ inventoryStatus: 'INSTOCK',
216
+ rating: 4
217
+ },
218
+ {
219
+ id: '1016',
220
+ code: 'k8l6j58jl',
221
+ name: 'Lime Band',
222
+ description: 'Product Description',
223
+ image: 'lime-band.jpg',
224
+ price: 79,
225
+ category: 'Fitness',
226
+ quantity: 12,
227
+ inventoryStatus: 'INSTOCK',
228
+ rating: 3
229
+ },
230
+ {
231
+ id: '1017',
232
+ code: 'v435nn85n',
233
+ name: 'Mini Speakers',
234
+ description: 'Product Description',
235
+ image: 'mini-speakers.jpg',
236
+ price: 85,
237
+ category: 'Clothing',
238
+ quantity: 42,
239
+ inventoryStatus: 'INSTOCK',
240
+ rating: 4
241
+ },
242
+ {
243
+ id: '1018',
244
+ code: '09zx9c0zc',
245
+ name: 'Painted Phone Case',
246
+ description: 'Product Description',
247
+ image: 'painted-phone-case.jpg',
248
+ price: 56,
249
+ category: 'Accessories',
250
+ quantity: 41,
251
+ inventoryStatus: 'INSTOCK',
252
+ rating: 5
253
+ },
254
+ {
255
+ id: '1019',
256
+ code: 'mnb5mb2m5',
257
+ name: 'Pink Band',
258
+ description: 'Product Description',
259
+ image: 'pink-band.jpg',
260
+ price: 79,
261
+ category: 'Fitness',
262
+ quantity: 63,
263
+ inventoryStatus: 'INSTOCK',
264
+ rating: 4
265
+ },
266
+ {
267
+ id: '1020',
268
+ code: 'r23fwf2w3',
269
+ name: 'Pink Purse',
270
+ description: 'Product Description',
271
+ image: 'pink-purse.jpg',
272
+ price: 110,
273
+ category: 'Accessories',
274
+ quantity: 0,
275
+ inventoryStatus: 'OUTOFSTOCK',
276
+ rating: 4
277
+ },
278
+ {
279
+ id: '1021',
280
+ code: 'pxpzczo23',
281
+ name: 'Purple Band',
282
+ description: 'Product Description',
283
+ image: 'purple-band.jpg',
284
+ price: 79,
285
+ category: 'Fitness',
286
+ quantity: 6,
287
+ inventoryStatus: 'LOWSTOCK',
288
+ rating: 3
289
+ },
290
+ {
291
+ id: '1022',
292
+ code: '2c42cb5cb',
293
+ name: 'Purple Gemstone Necklace',
294
+ description: 'Product Description',
295
+ image: 'purple-gemstone-necklace.jpg',
296
+ price: 45,
297
+ category: 'Accessories',
298
+ quantity: 62,
299
+ inventoryStatus: 'INSTOCK',
300
+ rating: 4
301
+ },
302
+ {
303
+ id: '1023',
304
+ code: '5k43kkk23',
305
+ name: 'Purple T-Shirt',
306
+ description: 'Product Description',
307
+ image: 'purple-t-shirt.jpg',
308
+ price: 49,
309
+ category: 'Clothing',
310
+ quantity: 2,
311
+ inventoryStatus: 'LOWSTOCK',
312
+ rating: 5
313
+ },
314
+ {
315
+ id: '1024',
316
+ code: 'lm2tny2k4',
317
+ name: 'Shoes',
318
+ description: 'Product Description',
319
+ image: 'shoes.jpg',
320
+ price: 64,
321
+ category: 'Clothing',
322
+ quantity: 0,
323
+ inventoryStatus: 'INSTOCK',
324
+ rating: 4
325
+ },
326
+ {
327
+ id: '1025',
328
+ code: 'nbm5mv45n',
329
+ name: 'Sneakers',
330
+ description: 'Product Description',
331
+ image: 'sneakers.jpg',
332
+ price: 78,
333
+ category: 'Clothing',
334
+ quantity: 52,
335
+ inventoryStatus: 'INSTOCK',
336
+ rating: 4
337
+ },
338
+ {
339
+ id: '1026',
340
+ code: 'zx23zc42c',
341
+ name: 'Teal T-Shirt',
342
+ description: 'Product Description',
343
+ image: 'teal-t-shirt.jpg',
344
+ price: 49,
345
+ category: 'Clothing',
346
+ quantity: 3,
347
+ inventoryStatus: 'LOWSTOCK',
348
+ rating: 3
349
+ },
350
+ {
351
+ id: '1027',
352
+ code: 'acvx872gc',
353
+ name: 'Yellow Earbuds',
354
+ description: 'Product Description',
355
+ image: 'yellow-earbuds.jpg',
356
+ price: 89,
357
+ category: 'Electronics',
358
+ quantity: 35,
359
+ inventoryStatus: 'INSTOCK',
360
+ rating: 3
361
+ },
362
+ {
363
+ id: '1028',
364
+ code: 'tx125ck42',
365
+ name: 'Yoga Mat',
366
+ description: 'Product Description',
367
+ image: 'yoga-mat.jpg',
368
+ price: 20,
369
+ category: 'Fitness',
370
+ quantity: 15,
371
+ inventoryStatus: 'INSTOCK',
372
+ rating: 5
373
+ },
374
+ {
375
+ id: '1029',
376
+ code: 'gwuby345v',
377
+ name: 'Yoga Set',
378
+ description: 'Product Description',
379
+ image: 'yoga-set.jpg',
380
+ price: 20,
381
+ category: 'Fitness',
382
+ quantity: 25,
383
+ inventoryStatus: 'INSTOCK',
384
+ rating: 8
385
+ }
386
+ ];
387
+ }
388
+
389
+ getProductsWithOrdersData() {
390
+ return [
391
+ {
392
+ id: '1000',
393
+ code: 'f230fh0g3',
394
+ name: 'Bamboo Watch',
395
+ description: 'Product Description',
396
+ image: 'bamboo-watch.jpg',
397
+ price: 65,
398
+ category: 'Accessories',
399
+ quantity: 24,
400
+ inventoryStatus: 'INSTOCK',
401
+ rating: 5,
402
+ orders: [
403
+ {
404
+ id: '1000-0',
405
+ productCode: 'f230fh0g3',
406
+ date: '2020-09-13',
407
+ amount: 65,
408
+ quantity: 1,
409
+ customer: 'David James',
410
+ status: 'PENDING'
411
+ },
412
+ {
413
+ id: '1000-1',
414
+ productCode: 'f230fh0g3',
415
+ date: '2020-05-14',
416
+ amount: 130,
417
+ quantity: 2,
418
+ customer: 'Leon Rodrigues',
419
+ status: 'DELIVERED'
420
+ },
421
+ {
422
+ id: '1000-2',
423
+ productCode: 'f230fh0g3',
424
+ date: '2019-01-04',
425
+ amount: 65,
426
+ quantity: 1,
427
+ customer: 'Juan Alejandro',
428
+ status: 'RETURNED'
429
+ },
430
+ {
431
+ id: '1000-3',
432
+ productCode: 'f230fh0g3',
433
+ date: '2020-09-13',
434
+ amount: 195,
435
+ quantity: 3,
436
+ customer: 'Claire Morrow',
437
+ status: 'CANCELLED'
438
+ }
439
+ ]
440
+ },
441
+ {
442
+ id: '1001',
443
+ code: 'nvklal433',
444
+ name: 'Black Watch',
445
+ description: 'Product Description',
446
+ image: 'black-watch.jpg',
447
+ price: 72,
448
+ category: 'Accessories',
449
+ quantity: 61,
450
+ inventoryStatus: 'INSTOCK',
451
+ rating: 4,
452
+ orders: [
453
+ {
454
+ id: '1001-0',
455
+ productCode: 'nvklal433',
456
+ date: '2020-05-14',
457
+ amount: 72,
458
+ quantity: 1,
459
+ customer: 'Maisha Jefferson',
460
+ status: 'DELIVERED'
461
+ },
462
+ {
463
+ id: '1001-1',
464
+ productCode: 'nvklal433',
465
+ date: '2020-02-28',
466
+ amount: 144,
467
+ quantity: 2,
468
+ customer: 'Octavia Murillo',
469
+ status: 'PENDING'
470
+ }
471
+ ]
472
+ },
473
+ {
474
+ id: '1002',
475
+ code: 'zz21cz3c1',
476
+ name: 'Blue Band',
477
+ description: 'Product Description',
478
+ image: 'blue-band.jpg',
479
+ price: 79,
480
+ category: 'Fitness',
481
+ quantity: 2,
482
+ inventoryStatus: 'LOWSTOCK',
483
+ rating: 3,
484
+ orders: [
485
+ {
486
+ id: '1002-0',
487
+ productCode: 'zz21cz3c1',
488
+ date: '2020-07-05',
489
+ amount: 79,
490
+ quantity: 1,
491
+ customer: 'Stacey Leja',
492
+ status: 'DELIVERED'
493
+ },
494
+ {
495
+ id: '1002-1',
496
+ productCode: 'zz21cz3c1',
497
+ date: '2020-02-06',
498
+ amount: 79,
499
+ quantity: 1,
500
+ customer: 'Ashley Wickens',
501
+ status: 'DELIVERED'
502
+ }
503
+ ]
504
+ },
505
+ {
506
+ id: '1003',
507
+ code: '244wgerg2',
508
+ name: 'Blue T-Shirt',
509
+ description: 'Product Description',
510
+ image: 'blue-t-shirt.jpg',
511
+ price: 29,
512
+ category: 'Clothing',
513
+ quantity: 25,
514
+ inventoryStatus: 'INSTOCK',
515
+ rating: 5,
516
+ orders: []
517
+ },
518
+ {
519
+ id: '1004',
520
+ code: 'h456wer53',
521
+ name: 'Bracelet',
522
+ description: 'Product Description',
523
+ image: 'bracelet.jpg',
524
+ price: 15,
525
+ category: 'Accessories',
526
+ quantity: 73,
527
+ inventoryStatus: 'INSTOCK',
528
+ rating: 4,
529
+ orders: [
530
+ {
531
+ id: '1004-0',
532
+ productCode: 'h456wer53',
533
+ date: '2020-09-05',
534
+ amount: 60,
535
+ quantity: 4,
536
+ customer: 'Mayumi Misaki',
537
+ status: 'PENDING'
538
+ },
539
+ {
540
+ id: '1004-1',
541
+ productCode: 'h456wer53',
542
+ date: '2019-04-16',
543
+ amount: 2,
544
+ quantity: 30,
545
+ customer: 'Francesco Salvatore',
546
+ status: 'DELIVERED'
547
+ }
548
+ ]
549
+ },
550
+ {
551
+ id: '1005',
552
+ code: 'av2231fwg',
553
+ name: 'Brown Purse',
554
+ description: 'Product Description',
555
+ image: 'brown-purse.jpg',
556
+ price: 120,
557
+ category: 'Accessories',
558
+ quantity: 0,
559
+ inventoryStatus: 'OUTOFSTOCK',
560
+ rating: 4,
561
+ orders: [
562
+ {
563
+ id: '1005-0',
564
+ productCode: 'av2231fwg',
565
+ date: '2020-01-25',
566
+ amount: 120,
567
+ quantity: 1,
568
+ customer: 'Isabel Sinclair',
569
+ status: 'RETURNED'
570
+ },
571
+ {
572
+ id: '1005-1',
573
+ productCode: 'av2231fwg',
574
+ date: '2019-03-12',
575
+ amount: 240,
576
+ quantity: 2,
577
+ customer: 'Lionel Clifford',
578
+ status: 'DELIVERED'
579
+ },
580
+ {
581
+ id: '1005-2',
582
+ productCode: 'av2231fwg',
583
+ date: '2019-05-05',
584
+ amount: 120,
585
+ quantity: 1,
586
+ customer: 'Cody Chavez',
587
+ status: 'DELIVERED'
588
+ }
589
+ ]
590
+ },
591
+ {
592
+ id: '1006',
593
+ code: 'bib36pfvm',
594
+ name: 'Chakra Bracelet',
595
+ description: 'Product Description',
596
+ image: 'chakra-bracelet.jpg',
597
+ price: 32,
598
+ category: 'Accessories',
599
+ quantity: 5,
600
+ inventoryStatus: 'LOWSTOCK',
601
+ rating: 3,
602
+ orders: [
603
+ {
604
+ id: '1006-0',
605
+ productCode: 'bib36pfvm',
606
+ date: '2020-02-24',
607
+ amount: 32,
608
+ quantity: 1,
609
+ customer: 'Arvin Darci',
610
+ status: 'DELIVERED'
611
+ },
612
+ {
613
+ id: '1006-1',
614
+ productCode: 'bib36pfvm',
615
+ date: '2020-01-14',
616
+ amount: 64,
617
+ quantity: 2,
618
+ customer: 'Izzy Jones',
619
+ status: 'PENDING'
620
+ }
621
+ ]
622
+ },
623
+ {
624
+ id: '1007',
625
+ code: 'mbvjkgip5',
626
+ name: 'Galaxy Earrings',
627
+ description: 'Product Description',
628
+ image: 'galaxy-earrings.jpg',
629
+ price: 34,
630
+ category: 'Accessories',
631
+ quantity: 23,
632
+ inventoryStatus: 'INSTOCK',
633
+ rating: 5,
634
+ orders: [
635
+ {
636
+ id: '1007-0',
637
+ productCode: 'mbvjkgip5',
638
+ date: '2020-06-19',
639
+ amount: 34,
640
+ quantity: 1,
641
+ customer: 'Jennifer Smith',
642
+ status: 'DELIVERED'
643
+ }
644
+ ]
645
+ },
646
+ {
647
+ id: '1008',
648
+ code: 'vbb124btr',
649
+ name: 'Game Controller',
650
+ description: 'Product Description',
651
+ image: 'game-controller.jpg',
652
+ price: 99,
653
+ category: 'Electronics',
654
+ quantity: 2,
655
+ inventoryStatus: 'LOWSTOCK',
656
+ rating: 4,
657
+ orders: [
658
+ {
659
+ id: '1008-0',
660
+ productCode: 'vbb124btr',
661
+ date: '2020-01-05',
662
+ amount: 99,
663
+ quantity: 1,
664
+ customer: 'Jeanfrancois David',
665
+ status: 'DELIVERED'
666
+ },
667
+ {
668
+ id: '1008-1',
669
+ productCode: 'vbb124btr',
670
+ date: '2020-01-19',
671
+ amount: 198,
672
+ quantity: 2,
673
+ customer: 'Ivar Greenwood',
674
+ status: 'RETURNED'
675
+ }
676
+ ]
677
+ },
678
+ {
679
+ id: '1009',
680
+ code: 'cm230f032',
681
+ name: 'Gaming Set',
682
+ description: 'Product Description',
683
+ image: 'gaming-set.jpg',
684
+ price: 299,
685
+ category: 'Electronics',
686
+ quantity: 63,
687
+ inventoryStatus: 'INSTOCK',
688
+ rating: 3,
689
+ orders: [
690
+ {
691
+ id: '1009-0',
692
+ productCode: 'cm230f032',
693
+ date: '2020-06-24',
694
+ amount: 299,
695
+ quantity: 1,
696
+ customer: 'Kadeem Mujtaba',
697
+ status: 'PENDING'
698
+ },
699
+ {
700
+ id: '1009-1',
701
+ productCode: 'cm230f032',
702
+ date: '2020-05-11',
703
+ amount: 299,
704
+ quantity: 1,
705
+ customer: 'Ashley Wickens',
706
+ status: 'DELIVERED'
707
+ },
708
+ {
709
+ id: '1009-2',
710
+ productCode: 'cm230f032',
711
+ date: '2019-02-07',
712
+ amount: 299,
713
+ quantity: 1,
714
+ customer: 'Julie Johnson',
715
+ status: 'DELIVERED'
716
+ },
717
+ {
718
+ id: '1009-3',
719
+ productCode: 'cm230f032',
720
+ date: '2020-04-26',
721
+ amount: 299,
722
+ quantity: 1,
723
+ customer: 'Tony Costa',
724
+ status: 'CANCELLED'
725
+ }
726
+ ]
727
+ },
728
+ {
729
+ id: '1010',
730
+ code: 'plb34234v',
731
+ name: 'Gold Phone Case',
732
+ description: 'Product Description',
733
+ image: 'gold-phone-case.jpg',
734
+ price: 24,
735
+ category: 'Accessories',
736
+ quantity: 0,
737
+ inventoryStatus: 'OUTOFSTOCK',
738
+ rating: 4,
739
+ orders: [
740
+ {
741
+ id: '1010-0',
742
+ productCode: 'plb34234v',
743
+ date: '2020-02-04',
744
+ amount: 24,
745
+ quantity: 1,
746
+ customer: 'James Butt',
747
+ status: 'DELIVERED'
748
+ },
749
+ {
750
+ id: '1010-1',
751
+ productCode: 'plb34234v',
752
+ date: '2020-05-05',
753
+ amount: 48,
754
+ quantity: 2,
755
+ customer: 'Josephine Darakjy',
756
+ status: 'DELIVERED'
757
+ }
758
+ ]
759
+ },
760
+ {
761
+ id: '1011',
762
+ code: '4920nnc2d',
763
+ name: 'Green Earbuds',
764
+ description: 'Product Description',
765
+ image: 'green-earbuds.jpg',
766
+ price: 89,
767
+ category: 'Electronics',
768
+ quantity: 23,
769
+ inventoryStatus: 'INSTOCK',
770
+ rating: 4,
771
+ orders: [
772
+ {
773
+ id: '1011-0',
774
+ productCode: '4920nnc2d',
775
+ date: '2020-06-01',
776
+ amount: 89,
777
+ quantity: 1,
778
+ customer: 'Art Venere',
779
+ status: 'DELIVERED'
780
+ }
781
+ ]
782
+ },
783
+ {
784
+ id: '1012',
785
+ code: '250vm23cc',
786
+ name: 'Green T-Shirt',
787
+ description: 'Product Description',
788
+ image: 'green-t-shirt.jpg',
789
+ price: 49,
790
+ category: 'Clothing',
791
+ quantity: 74,
792
+ inventoryStatus: 'INSTOCK',
793
+ rating: 5,
794
+ orders: [
795
+ {
796
+ id: '1012-0',
797
+ productCode: '250vm23cc',
798
+ date: '2020-02-05',
799
+ amount: 49,
800
+ quantity: 1,
801
+ customer: 'Lenna Paprocki',
802
+ status: 'DELIVERED'
803
+ },
804
+ {
805
+ id: '1012-1',
806
+ productCode: '250vm23cc',
807
+ date: '2020-02-15',
808
+ amount: 49,
809
+ quantity: 1,
810
+ customer: 'Donette Foller',
811
+ status: 'PENDING'
812
+ }
813
+ ]
814
+ },
815
+ {
816
+ id: '1013',
817
+ code: 'fldsmn31b',
818
+ name: 'Grey T-Shirt',
819
+ description: 'Product Description',
820
+ image: 'grey-t-shirt.jpg',
821
+ price: 48,
822
+ category: 'Clothing',
823
+ quantity: 0,
824
+ inventoryStatus: 'OUTOFSTOCK',
825
+ rating: 3,
826
+ orders: [
827
+ {
828
+ id: '1013-0',
829
+ productCode: 'fldsmn31b',
830
+ date: '2020-04-01',
831
+ amount: 48,
832
+ quantity: 1,
833
+ customer: 'Simona Morasca',
834
+ status: 'DELIVERED'
835
+ }
836
+ ]
837
+ },
838
+ {
839
+ id: '1014',
840
+ code: 'waas1x2as',
841
+ name: 'Headphones',
842
+ description: 'Product Description',
843
+ image: 'headphones.jpg',
844
+ price: 175,
845
+ category: 'Electronics',
846
+ quantity: 8,
847
+ inventoryStatus: 'LOWSTOCK',
848
+ rating: 5,
849
+ orders: [
850
+ {
851
+ id: '1014-0',
852
+ productCode: 'waas1x2as',
853
+ date: '2020-05-15',
854
+ amount: 175,
855
+ quantity: 1,
856
+ customer: 'Lenna Paprocki',
857
+ status: 'DELIVERED'
858
+ },
859
+ {
860
+ id: '1014-1',
861
+ productCode: 'waas1x2as',
862
+ date: '2020-01-02',
863
+ amount: 175,
864
+ quantity: 1,
865
+ customer: 'Donette Foller',
866
+ status: 'CANCELLED'
867
+ }
868
+ ]
869
+ },
870
+ {
871
+ id: '1015',
872
+ code: 'vb34btbg5',
873
+ name: 'Light Green T-Shirt',
874
+ description: 'Product Description',
875
+ image: 'light-green-t-shirt.jpg',
876
+ price: 49,
877
+ category: 'Clothing',
878
+ quantity: 34,
879
+ inventoryStatus: 'INSTOCK',
880
+ rating: 4,
881
+ orders: [
882
+ {
883
+ id: '1015-0',
884
+ productCode: 'vb34btbg5',
885
+ date: '2020-07-02',
886
+ amount: 98,
887
+ quantity: 2,
888
+ customer: 'Mitsue Tollner',
889
+ status: 'DELIVERED'
890
+ }
891
+ ]
892
+ },
893
+ {
894
+ id: '1016',
895
+ code: 'k8l6j58jl',
896
+ name: 'Lime Band',
897
+ description: 'Product Description',
898
+ image: 'lime-band.jpg',
899
+ price: 79,
900
+ category: 'Fitness',
901
+ quantity: 12,
902
+ inventoryStatus: 'INSTOCK',
903
+ rating: 3,
904
+ orders: []
905
+ },
906
+ {
907
+ id: '1017',
908
+ code: 'v435nn85n',
909
+ name: 'Mini Speakers',
910
+ description: 'Product Description',
911
+ image: 'mini-speakers.jpg',
912
+ price: 85,
913
+ category: 'Clothing',
914
+ quantity: 42,
915
+ inventoryStatus: 'INSTOCK',
916
+ rating: 4,
917
+ orders: [
918
+ {
919
+ id: '1017-0',
920
+ productCode: 'v435nn85n',
921
+ date: '2020-07-12',
922
+ amount: 85,
923
+ quantity: 1,
924
+ customer: 'Minna Amigon',
925
+ status: 'DELIVERED'
926
+ }
927
+ ]
928
+ },
929
+ {
930
+ id: '1018',
931
+ code: '09zx9c0zc',
932
+ name: 'Painted Phone Case',
933
+ description: 'Product Description',
934
+ image: 'painted-phone-case.jpg',
935
+ price: 56,
936
+ category: 'Accessories',
937
+ quantity: 41,
938
+ inventoryStatus: 'INSTOCK',
939
+ rating: 5,
940
+ orders: [
941
+ {
942
+ id: '1018-0',
943
+ productCode: '09zx9c0zc',
944
+ date: '2020-07-01',
945
+ amount: 56,
946
+ quantity: 1,
947
+ customer: 'Abel Maclead',
948
+ status: 'DELIVERED'
949
+ },
950
+ {
951
+ id: '1018-1',
952
+ productCode: '09zx9c0zc',
953
+ date: '2020-05-02',
954
+ amount: 56,
955
+ quantity: 1,
956
+ customer: 'Minna Amigon',
957
+ status: 'RETURNED'
958
+ }
959
+ ]
960
+ },
961
+ {
962
+ id: '1019',
963
+ code: 'mnb5mb2m5',
964
+ name: 'Pink Band',
965
+ description: 'Product Description',
966
+ image: 'pink-band.jpg',
967
+ price: 79,
968
+ category: 'Fitness',
969
+ quantity: 63,
970
+ inventoryStatus: 'INSTOCK',
971
+ rating: 4,
972
+ orders: []
973
+ },
974
+ {
975
+ id: '1020',
976
+ code: 'r23fwf2w3',
977
+ name: 'Pink Purse',
978
+ description: 'Product Description',
979
+ image: 'pink-purse.jpg',
980
+ price: 110,
981
+ category: 'Accessories',
982
+ quantity: 0,
983
+ inventoryStatus: 'OUTOFSTOCK',
984
+ rating: 4,
985
+ orders: [
986
+ {
987
+ id: '1020-0',
988
+ productCode: 'r23fwf2w3',
989
+ date: '2020-05-29',
990
+ amount: 110,
991
+ quantity: 1,
992
+ customer: 'Kiley Caldarera',
993
+ status: 'DELIVERED'
994
+ },
995
+ {
996
+ id: '1020-1',
997
+ productCode: 'r23fwf2w3',
998
+ date: '2020-02-11',
999
+ amount: 220,
1000
+ quantity: 2,
1001
+ customer: 'Graciela Ruta',
1002
+ status: 'DELIVERED'
1003
+ }
1004
+ ]
1005
+ },
1006
+ {
1007
+ id: '1021',
1008
+ code: 'pxpzczo23',
1009
+ name: 'Purple Band',
1010
+ description: 'Product Description',
1011
+ image: 'purple-band.jpg',
1012
+ price: 79,
1013
+ category: 'Fitness',
1014
+ quantity: 6,
1015
+ inventoryStatus: 'LOWSTOCK',
1016
+ rating: 3,
1017
+ orders: [
1018
+ {
1019
+ id: '1021-0',
1020
+ productCode: 'pxpzczo23',
1021
+ date: '2020-02-02',
1022
+ amount: 79,
1023
+ quantity: 1,
1024
+ customer: 'Cammy Albares',
1025
+ status: 'DELIVERED'
1026
+ }
1027
+ ]
1028
+ },
1029
+ {
1030
+ id: '1022',
1031
+ code: '2c42cb5cb',
1032
+ name: 'Purple Gemstone Necklace',
1033
+ description: 'Product Description',
1034
+ image: 'purple-gemstone-necklace.jpg',
1035
+ price: 45,
1036
+ category: 'Accessories',
1037
+ quantity: 62,
1038
+ inventoryStatus: 'INSTOCK',
1039
+ rating: 4,
1040
+ orders: [
1041
+ {
1042
+ id: '1022-0',
1043
+ productCode: '2c42cb5cb',
1044
+ date: '2020-06-29',
1045
+ amount: 45,
1046
+ quantity: 1,
1047
+ customer: 'Mattie Poquette',
1048
+ status: 'DELIVERED'
1049
+ },
1050
+ {
1051
+ id: '1022-1',
1052
+ productCode: '2c42cb5cb',
1053
+ date: '2020-02-11',
1054
+ amount: 135,
1055
+ quantity: 3,
1056
+ customer: 'Meaghan Garufi',
1057
+ status: 'DELIVERED'
1058
+ }
1059
+ ]
1060
+ },
1061
+ {
1062
+ id: '1023',
1063
+ code: '5k43kkk23',
1064
+ name: 'Purple T-Shirt',
1065
+ description: 'Product Description',
1066
+ image: 'purple-t-shirt.jpg',
1067
+ price: 49,
1068
+ category: 'Clothing',
1069
+ quantity: 2,
1070
+ inventoryStatus: 'LOWSTOCK',
1071
+ rating: 5,
1072
+ orders: [
1073
+ {
1074
+ id: '1023-0',
1075
+ productCode: '5k43kkk23',
1076
+ date: '2020-04-15',
1077
+ amount: 49,
1078
+ quantity: 1,
1079
+ customer: 'Gladys Rim',
1080
+ status: 'RETURNED'
1081
+ }
1082
+ ]
1083
+ },
1084
+ {
1085
+ id: '1024',
1086
+ code: 'lm2tny2k4',
1087
+ name: 'Shoes',
1088
+ description: 'Product Description',
1089
+ image: 'shoes.jpg',
1090
+ price: 64,
1091
+ category: 'Clothing',
1092
+ quantity: 0,
1093
+ inventoryStatus: 'INSTOCK',
1094
+ rating: 4,
1095
+ orders: []
1096
+ },
1097
+ {
1098
+ id: '1025',
1099
+ code: 'nbm5mv45n',
1100
+ name: 'Sneakers',
1101
+ description: 'Product Description',
1102
+ image: 'sneakers.jpg',
1103
+ price: 78,
1104
+ category: 'Clothing',
1105
+ quantity: 52,
1106
+ inventoryStatus: 'INSTOCK',
1107
+ rating: 4,
1108
+ orders: [
1109
+ {
1110
+ id: '1025-0',
1111
+ productCode: 'nbm5mv45n',
1112
+ date: '2020-02-19',
1113
+ amount: 78,
1114
+ quantity: 1,
1115
+ customer: 'Yuki Whobrey',
1116
+ status: 'DELIVERED'
1117
+ },
1118
+ {
1119
+ id: '1025-1',
1120
+ productCode: 'nbm5mv45n',
1121
+ date: '2020-05-21',
1122
+ amount: 78,
1123
+ quantity: 1,
1124
+ customer: 'Fletcher Flosi',
1125
+ status: 'PENDING'
1126
+ }
1127
+ ]
1128
+ },
1129
+ {
1130
+ id: '1026',
1131
+ code: 'zx23zc42c',
1132
+ name: 'Teal T-Shirt',
1133
+ description: 'Product Description',
1134
+ image: 'teal-t-shirt.jpg',
1135
+ price: 49,
1136
+ category: 'Clothing',
1137
+ quantity: 3,
1138
+ inventoryStatus: 'LOWSTOCK',
1139
+ rating: 3,
1140
+ orders: [
1141
+ {
1142
+ id: '1026-0',
1143
+ productCode: 'zx23zc42c',
1144
+ date: '2020-04-24',
1145
+ amount: 98,
1146
+ quantity: 2,
1147
+ customer: 'Bette Nicka',
1148
+ status: 'DELIVERED'
1149
+ }
1150
+ ]
1151
+ },
1152
+ {
1153
+ id: '1027',
1154
+ code: 'acvx872gc',
1155
+ name: 'Yellow Earbuds',
1156
+ description: 'Product Description',
1157
+ image: 'yellow-earbuds.jpg',
1158
+ price: 89,
1159
+ category: 'Electronics',
1160
+ quantity: 35,
1161
+ inventoryStatus: 'INSTOCK',
1162
+ rating: 3,
1163
+ orders: [
1164
+ {
1165
+ id: '1027-0',
1166
+ productCode: 'acvx872gc',
1167
+ date: '2020-01-29',
1168
+ amount: 89,
1169
+ quantity: 1,
1170
+ customer: 'Veronika Inouye',
1171
+ status: 'DELIVERED'
1172
+ },
1173
+ {
1174
+ id: '1027-1',
1175
+ productCode: 'acvx872gc',
1176
+ date: '2020-06-11',
1177
+ amount: 89,
1178
+ quantity: 1,
1179
+ customer: 'Willard Kolmetz',
1180
+ status: 'DELIVERED'
1181
+ }
1182
+ ]
1183
+ },
1184
+ {
1185
+ id: '1028',
1186
+ code: 'tx125ck42',
1187
+ name: 'Yoga Mat',
1188
+ description: 'Product Description',
1189
+ image: 'yoga-mat.jpg',
1190
+ price: 20,
1191
+ category: 'Fitness',
1192
+ quantity: 15,
1193
+ inventoryStatus: 'INSTOCK',
1194
+ rating: 5,
1195
+ orders: []
1196
+ },
1197
+ {
1198
+ id: '1029',
1199
+ code: 'gwuby345v',
1200
+ name: 'Yoga Set',
1201
+ description: 'Product Description',
1202
+ image: 'yoga-set.jpg',
1203
+ price: 20,
1204
+ category: 'Fitness',
1205
+ quantity: 25,
1206
+ inventoryStatus: 'INSTOCK',
1207
+ rating: 8,
1208
+ orders: [
1209
+ {
1210
+ id: '1029-0',
1211
+ productCode: 'gwuby345v',
1212
+ date: '2020-02-14',
1213
+ amount: 4,
1214
+ quantity: 80,
1215
+ customer: 'Maryann Royster',
1216
+ status: 'DELIVERED'
1217
+ }
1218
+ ]
1219
+ }
1220
+ ];
1221
+ }
1222
+
1223
+ status: string[] = ['OUTOFSTOCK', 'INSTOCK', 'LOWSTOCK'];
1224
+
1225
+ productNames: string[] = [
1226
+ 'Bamboo Watch',
1227
+ 'Black Watch',
1228
+ 'Blue Band',
1229
+ 'Blue T-Shirt',
1230
+ 'Bracelet',
1231
+ 'Brown Purse',
1232
+ 'Chakra Bracelet',
1233
+ 'Galaxy Earrings',
1234
+ 'Game Controller',
1235
+ 'Gaming Set',
1236
+ 'Gold Phone Case',
1237
+ 'Green Earbuds',
1238
+ 'Green T-Shirt',
1239
+ 'Grey T-Shirt',
1240
+ 'Headphones',
1241
+ 'Light Green T-Shirt',
1242
+ 'Lime Band',
1243
+ 'Mini Speakers',
1244
+ 'Painted Phone Case',
1245
+ 'Pink Band',
1246
+ 'Pink Purse',
1247
+ 'Purple Band',
1248
+ 'Purple Gemstone Necklace',
1249
+ 'Purple T-Shirt',
1250
+ 'Shoes',
1251
+ 'Sneakers',
1252
+ 'Teal T-Shirt',
1253
+ 'Yellow Earbuds',
1254
+ 'Yoga Mat',
1255
+ 'Yoga Set'
1256
+ ];
1257
+
1258
+ constructor(private http: HttpClient) {}
1259
+
1260
+ getProductsMini() {
1261
+ return Promise.resolve(this.getProductsData().slice(0, 5));
1262
+ }
1263
+
1264
+ getProductsSmall() {
1265
+ return Promise.resolve(this.getProductsData().slice(0, 10));
1266
+ }
1267
+
1268
+ getProducts() {
1269
+ return Promise.resolve(this.getProductsData());
1270
+ }
1271
+
1272
+ getProductsWithOrdersSmall() {
1273
+ return Promise.resolve(this.getProductsWithOrdersData().slice(0, 10));
1274
+ }
1275
+
1276
+ generatePrduct(): Product {
1277
+ const product: Product = {
1278
+ id: this.generateId(),
1279
+ name: this.generateName(),
1280
+ description: 'Product Description',
1281
+ price: this.generatePrice(),
1282
+ quantity: this.generateQuantity(),
1283
+ category: 'Product Category',
1284
+ inventoryStatus: this.generateStatus(),
1285
+ rating: this.generateRating()
1286
+ };
1287
+
1288
+ product.image = product.name?.toLocaleLowerCase().split(/[ ,]+/).join('-') + '.jpg';
1289
+ return product;
1290
+ }
1291
+
1292
+ generateId() {
1293
+ let text = '';
1294
+ let possible = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
1295
+
1296
+ for (var i = 0; i < 5; i++) {
1297
+ text += possible.charAt(Math.floor(Math.random() * possible.length));
1298
+ }
1299
+
1300
+ return text;
1301
+ }
1302
+
1303
+ generateName() {
1304
+ return this.productNames[Math.floor(Math.random() * Math.floor(30))];
1305
+ }
1306
+
1307
+ generatePrice() {
1308
+ return Math.floor(Math.random() * Math.floor(299) + 1);
1309
+ }
1310
+
1311
+ generateQuantity() {
1312
+ return Math.floor(Math.random() * Math.floor(75) + 1);
1313
+ }
1314
+
1315
+ generateStatus() {
1316
+ return this.status[Math.floor(Math.random() * Math.floor(3))];
1317
+ }
1318
+
1319
+ generateRating() {
1320
+ return Math.floor(Math.random() * Math.floor(5) + 1);
1321
+ }
1322
+ }