@kalisio/kdk 2.1.6 → 2.1.7

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 (799) hide show
  1. package/.codeclimate.yml +34 -34
  2. package/.nycrc +5 -5
  3. package/.travis.doc.sh +8 -8
  4. package/.travis.test.sh +40 -40
  5. package/CHANGELOG.md +727 -727
  6. package/LICENSE +21 -21
  7. package/README.md +32 -32
  8. package/core/api/application.js +591 -591
  9. package/core/api/authentication.js +203 -203
  10. package/core/api/db.js +226 -226
  11. package/core/api/hooks/hooks.authentication.js +73 -73
  12. package/core/api/hooks/hooks.authorisations.js +376 -376
  13. package/core/api/hooks/hooks.groups.js +48 -48
  14. package/core/api/hooks/hooks.logger.js +26 -26
  15. package/core/api/hooks/hooks.model.js +290 -290
  16. package/core/api/hooks/hooks.organisations.js +156 -156
  17. package/core/api/hooks/hooks.push.js +56 -56
  18. package/core/api/hooks/hooks.query.js +246 -246
  19. package/core/api/hooks/hooks.schemas.js +73 -73
  20. package/core/api/hooks/hooks.service.js +78 -78
  21. package/core/api/hooks/hooks.storage.js +36 -36
  22. package/core/api/hooks/hooks.users.js +261 -261
  23. package/core/api/hooks/index.js +12 -12
  24. package/core/api/index.js +21 -21
  25. package/core/api/marshall.js +90 -90
  26. package/core/api/models/groups.model.mongodb.js +8 -8
  27. package/core/api/models/organisations.model.mongodb.js +3 -3
  28. package/core/api/models/tags.model.mongodb.js +10 -10
  29. package/core/api/models/users.model.mongodb.js +10 -10
  30. package/core/api/services/account/account.hooks.js +37 -37
  31. package/core/api/services/account/account.service.js +117 -117
  32. package/core/api/services/authorisations/authorisations.hooks.js +33 -33
  33. package/core/api/services/authorisations/authorisations.service.js +139 -139
  34. package/core/api/services/databases/databases.hooks.js +36 -36
  35. package/core/api/services/databases/databases.service.js +5 -5
  36. package/core/api/services/groups/groups.hooks.js +31 -31
  37. package/core/api/services/index.js +126 -126
  38. package/core/api/services/mailer/mailer.hooks.js +35 -35
  39. package/core/api/services/mailer/mailer.service.js +11 -11
  40. package/core/api/services/organisations/organisations.hooks.js +31 -31
  41. package/core/api/services/organisations/organisations.service.js +86 -86
  42. package/core/api/services/push/push.hooks.js +35 -35
  43. package/core/api/services/push/push.service.js +12 -12
  44. package/core/api/services/storage/storage.hooks.js +35 -35
  45. package/core/api/services/storage/storage.service.js +29 -29
  46. package/core/api/services/tags/tags.hooks.js +31 -31
  47. package/core/api/services/users/users.hooks.js +75 -75
  48. package/core/api/utils.js +11 -11
  49. package/core/client/api.js +293 -293
  50. package/core/client/capabilities.js +22 -22
  51. package/core/client/components/KAction.vue +393 -393
  52. package/core/client/components/KAvatar.vue +129 -129
  53. package/core/client/components/KBlock.vue +67 -67
  54. package/core/client/components/KChip.vue +68 -68
  55. package/core/client/components/KChipsPane.vue +103 -103
  56. package/core/client/components/KContent.vue +105 -105
  57. package/core/client/components/KDialog.vue +160 -160
  58. package/core/client/components/KExpandable.vue +49 -49
  59. package/core/client/components/KLogo.vue +32 -32
  60. package/core/client/components/KModal.vue +173 -173
  61. package/core/client/components/KPanel.vue +64 -64
  62. package/core/client/components/KScrollArea.vue +88 -88
  63. package/core/client/components/KSponsor.vue +40 -40
  64. package/core/client/components/KStamp.vue +65 -65
  65. package/core/client/components/KStore.vue +102 -102
  66. package/core/client/components/KTextArea.vue +143 -143
  67. package/core/client/components/KTree.vue +31 -31
  68. package/core/client/components/KVersion.vue +19 -19
  69. package/core/client/components/account/KAccount.vue +68 -68
  70. package/core/client/components/account/KDeleteAccountManager.vue +62 -62
  71. package/core/client/components/account/KEmailManager.vue +128 -128
  72. package/core/client/components/account/KPasswordManager.vue +90 -90
  73. package/core/client/components/account/KProfile.vue +109 -109
  74. package/core/client/components/account/KResetPassword.vue +120 -120
  75. package/core/client/components/account/KSendResetPassword.vue +97 -97
  76. package/core/client/components/account/KSubscription.vue +71 -71
  77. package/core/client/components/account/KSubscriptionsManager.vue +46 -46
  78. package/core/client/components/account/KVerifyEmailManager.vue +105 -105
  79. package/core/client/components/account/index.js +7 -7
  80. package/core/client/components/app/KAbout.vue +98 -98
  81. package/core/client/components/app/KHome.vue +12 -12
  82. package/core/client/components/app/KPlatform.vue +55 -55
  83. package/core/client/components/app/KSettings.vue +42 -42
  84. package/core/client/components/app/KTerms.vue +41 -41
  85. package/core/client/components/app/KTour.vue +448 -448
  86. package/core/client/components/app/KWelcome.vue +133 -133
  87. package/core/client/components/app/index.js +11 -11
  88. package/core/client/components/chart/KChart.vue +197 -197
  89. package/core/client/components/chart/KDataTable.vue +183 -183
  90. package/core/client/components/chart/KStatisticsChart.vue +94 -94
  91. package/core/client/components/chart/KTimeSeriesChart.vue +431 -431
  92. package/core/client/components/chart/index.js +9 -9
  93. package/core/client/components/collection/KBoard.vue +65 -65
  94. package/core/client/components/collection/KCard.vue +196 -196
  95. package/core/client/components/collection/KCardSection.vue +52 -52
  96. package/core/client/components/collection/KColumn.vue +229 -225
  97. package/core/client/components/collection/KFilter.vue +158 -158
  98. package/core/client/components/collection/KGrid.vue +121 -121
  99. package/core/client/components/collection/KHistory.vue +118 -112
  100. package/core/client/components/collection/KHistoryEntry.vue +111 -111
  101. package/core/client/components/collection/KItem.vue +128 -128
  102. package/core/client/components/collection/KList.vue +135 -135
  103. package/core/client/components/collection/KSorter.vue +46 -46
  104. package/core/client/components/collection/KTable.vue +238 -238
  105. package/core/client/components/collection/index.js +19 -19
  106. package/core/client/components/editor/KEditor.vue +52 -52
  107. package/core/client/components/editor/KModalEditor.vue +96 -96
  108. package/core/client/components/editor/index.js +7 -7
  109. package/core/client/components/form/KChipsField.vue +162 -162
  110. package/core/client/components/form/KColorField.vue +69 -69
  111. package/core/client/components/form/KColorScaleField.vue +86 -86
  112. package/core/client/components/form/KDateTimeRangeField.vue +65 -65
  113. package/core/client/components/form/KDatetimeField.vue +70 -70
  114. package/core/client/components/form/KEmailField.vue +33 -33
  115. package/core/client/components/form/KFileField.vue +161 -161
  116. package/core/client/components/form/KForm.vue +247 -247
  117. package/core/client/components/form/KIconField.vue +101 -101
  118. package/core/client/components/form/KItemField.vue +123 -123
  119. package/core/client/components/form/KNumberField.vue +33 -33
  120. package/core/client/components/form/KOptionsField.vue +63 -63
  121. package/core/client/components/form/KPasswordField.vue +57 -57
  122. package/core/client/components/form/KPhoneField.vue +32 -32
  123. package/core/client/components/form/KPropertyItemField.vue +119 -119
  124. package/core/client/components/form/KRoleField.vue +60 -60
  125. package/core/client/components/form/KSelectField.vue +143 -143
  126. package/core/client/components/form/KTextField.vue +48 -48
  127. package/core/client/components/form/KTextareaField.vue +88 -88
  128. package/core/client/components/form/KToggleField.vue +46 -46
  129. package/core/client/components/form/KTokenField.vue +80 -80
  130. package/core/client/components/form/KUnitField.vue +57 -57
  131. package/core/client/components/form/KUrlField.vue +32 -32
  132. package/core/client/components/form/KView.vue +118 -118
  133. package/core/client/components/form/index.js +7 -7
  134. package/core/client/components/index.js +48 -48
  135. package/core/client/components/input/KColorChooser.vue +63 -63
  136. package/core/client/components/input/KIconChooser.vue +308 -308
  137. package/core/client/components/input/KOptionsChooser.vue +122 -122
  138. package/core/client/components/input/KPalette.vue +40 -40
  139. package/core/client/components/input/index.js +11 -11
  140. package/core/client/components/layout/KFab.vue +113 -113
  141. package/core/client/components/layout/KLayout.vue +64 -64
  142. package/core/client/components/layout/KOpener.vue +140 -140
  143. package/core/client/components/layout/KPage.vue +320 -320
  144. package/core/client/components/layout/KPageSticky.vue +53 -53
  145. package/core/client/components/layout/KWindow.vue +443 -443
  146. package/core/client/components/layout/index.js +13 -13
  147. package/core/client/components/media/KColorScale.vue +254 -254
  148. package/core/client/components/media/KImageViewer.vue +44 -44
  149. package/core/client/components/media/KMarkdownViewer.vue +55 -55
  150. package/core/client/components/media/KMediaBrowser.vue +340 -340
  151. package/core/client/components/media/KShape.vue +120 -120
  152. package/core/client/components/media/index.js +13 -13
  153. package/core/client/components/menu/KMenu.vue +147 -147
  154. package/core/client/components/menu/KRadialFab.vue +122 -122
  155. package/core/client/components/menu/KRadialFabItem.vue +73 -73
  156. package/core/client/components/menu/index.js +9 -9
  157. package/core/client/components/screen/KEndpointScreen.vue +80 -80
  158. package/core/client/components/screen/KErrorScreen.vue +24 -24
  159. package/core/client/components/screen/KLoginScreen.vue +84 -84
  160. package/core/client/components/screen/KLogoutScreen.vue +20 -20
  161. package/core/client/components/screen/KRegisterScreen.vue +114 -114
  162. package/core/client/components/screen/KScreen.vue +106 -106
  163. package/core/client/components/screen/KScreenFooter.vue +32 -32
  164. package/core/client/components/screen/KScreenHeader.vue +17 -17
  165. package/core/client/components/screen/index.js +5 -5
  166. package/core/client/components/team/KAddMember.vue +375 -375
  167. package/core/client/components/team/KAddTag.vue +121 -121
  168. package/core/client/components/team/KChangeRole.vue +118 -118
  169. package/core/client/components/team/KGroupCard.vue +110 -110
  170. package/core/client/components/team/KGroupsActivity.vue +66 -66
  171. package/core/client/components/team/KJoinGroup.vue +132 -132
  172. package/core/client/components/team/KMemberCard.vue +328 -328
  173. package/core/client/components/team/KMemberFilter.vue +49 -49
  174. package/core/client/components/team/KMembersActivity.vue +126 -126
  175. package/core/client/components/team/KOrganisationsActivity.vue +53 -53
  176. package/core/client/components/team/KTagCard.vue +72 -72
  177. package/core/client/components/team/KTagsActivity.vue +61 -61
  178. package/core/client/components/team/index.js +9 -9
  179. package/core/client/components/time/KAbsoluteTimeRange.vue +183 -183
  180. package/core/client/components/time/KDate.vue +75 -75
  181. package/core/client/components/time/KDateTime.vue +172 -172
  182. package/core/client/components/time/KDateTimeRange.vue +118 -118
  183. package/core/client/components/time/KRelativeTimeRanges.vue +193 -193
  184. package/core/client/components/time/KTime.vue +74 -74
  185. package/core/client/components/time/index.js +7 -7
  186. package/core/client/components/viewer/KModalViewer.vue +47 -47
  187. package/core/client/components/viewer/KViewer.vue +30 -30
  188. package/core/client/composables/activity.js +67 -67
  189. package/core/client/composables/collection.js +181 -181
  190. package/core/client/composables/index.js +8 -8
  191. package/core/client/composables/pwa.js +71 -71
  192. package/core/client/composables/schema.js +64 -64
  193. package/core/client/composables/selection.js +88 -88
  194. package/core/client/composables/session.js +172 -172
  195. package/core/client/composables/store.js +49 -49
  196. package/core/client/composables/version.js +47 -47
  197. package/core/client/events.js +3 -3
  198. package/core/client/filter.js +60 -60
  199. package/core/client/guards.js +101 -101
  200. package/core/client/hooks/hooks.events.js +7 -7
  201. package/core/client/hooks/hooks.logger.js +24 -24
  202. package/core/client/hooks/hooks.users.js +22 -22
  203. package/core/client/hooks/index.js +3 -3
  204. package/core/client/i18n/core_en.json +845 -845
  205. package/core/client/i18n/core_fr.json +843 -843
  206. package/core/client/i18n.js +88 -88
  207. package/core/client/index.js +84 -84
  208. package/core/client/layout.js +323 -323
  209. package/core/client/local-storage.js +28 -28
  210. package/core/client/mixins/index.js +12 -12
  211. package/core/client/mixins/mixin.account.js +61 -61
  212. package/core/client/mixins/mixin.base-activity.js +232 -232
  213. package/core/client/mixins/mixin.base-collection.js +162 -162
  214. package/core/client/mixins/mixin.base-context.js +54 -54
  215. package/core/client/mixins/mixin.base-editor.js +194 -194
  216. package/core/client/mixins/mixin.base-field.js +105 -105
  217. package/core/client/mixins/mixin.base-item.js +166 -166
  218. package/core/client/mixins/mixin.base-modal.js +36 -36
  219. package/core/client/mixins/mixin.base-viewer.js +43 -43
  220. package/core/client/mixins/mixin.object-proxy.js +46 -46
  221. package/core/client/mixins/mixin.schema-proxy.js +97 -97
  222. package/core/client/mixins/mixin.service.js +22 -22
  223. package/core/client/reader.js +65 -65
  224. package/core/client/readers/index.js +3 -3
  225. package/core/client/readers/reader.blob.js +39 -39
  226. package/core/client/readers/reader.csv.js +36 -36
  227. package/core/client/readers/reader.json.js +34 -34
  228. package/core/client/search.js +47 -47
  229. package/core/client/services/index.js +49 -49
  230. package/core/client/services/local-settings.service.js +67 -67
  231. package/core/client/sorter.js +31 -31
  232. package/core/client/storage.js +102 -102
  233. package/core/client/store.js +39 -39
  234. package/core/client/theme.js +40 -40
  235. package/core/client/time.js +167 -167
  236. package/core/client/units.js +218 -218
  237. package/core/client/utils/index.js +203 -203
  238. package/core/client/utils/utils.account.js +52 -52
  239. package/core/client/utils/utils.colors.js +36 -36
  240. package/core/client/utils/utils.content.js +185 -185
  241. package/core/client/utils/utils.locale.js +28 -28
  242. package/core/client/utils/utils.platform.js +11 -11
  243. package/core/client/utils/utils.push.js +53 -53
  244. package/core/client/utils/utils.pwa.js +62 -62
  245. package/core/client/utils/utils.session.js +89 -89
  246. package/core/common/errors.js +1 -1
  247. package/core/common/index.js +10 -10
  248. package/core/common/permissions.js +318 -318
  249. package/core/common/schema.js +35 -35
  250. package/core/common/schemas/groups.create.json +28 -28
  251. package/core/common/schemas/groups.update.json +28 -28
  252. package/core/common/schemas/organisations.create.json +28 -28
  253. package/core/common/schemas/organisations.update.json +49 -49
  254. package/core/common/schemas/settings.update.json +234 -234
  255. package/core/common/schemas/tags.create.json +35 -35
  256. package/core/common/schemas/tags.update.json +35 -35
  257. package/core/common/schemas/users.update-profile.json +33 -33
  258. package/core/common/utils.js +45 -45
  259. package/core.api.js +5 -5
  260. package/core.client.js +5 -5
  261. package/core.common.js +1 -1
  262. package/coverage/core/api/application.js.html +272 -332
  263. package/coverage/core/api/authentication.js.html +56 -56
  264. package/coverage/core/api/db.js.html +132 -144
  265. package/coverage/core/api/hooks/hooks.account.js.html +1 -1
  266. package/coverage/core/api/hooks/hooks.authentication.js.html +12 -12
  267. package/coverage/core/api/hooks/hooks.authorisations.js.html +187 -199
  268. package/coverage/core/api/hooks/{hooks.push.js.html → hooks.devices.js.html} +56 -77
  269. package/coverage/core/api/hooks/hooks.groups.js.html +7 -7
  270. package/coverage/core/api/hooks/hooks.logger.js.html +18 -18
  271. package/coverage/core/api/hooks/hooks.model.js.html +160 -166
  272. package/coverage/core/api/hooks/hooks.organisations.js.html +406 -136
  273. package/coverage/core/api/hooks/hooks.pusher.js.html +730 -0
  274. package/coverage/core/api/hooks/hooks.query.js.html +129 -129
  275. package/coverage/core/api/hooks/hooks.schemas.js.html +22 -82
  276. package/coverage/core/api/hooks/hooks.service.js.html +13 -13
  277. package/coverage/core/api/hooks/hooks.storage.js.html +7 -7
  278. package/coverage/core/api/hooks/hooks.tags.js.html +1 -1
  279. package/coverage/core/api/hooks/hooks.users.js.html +126 -63
  280. package/coverage/core/api/hooks/index.html +119 -74
  281. package/coverage/core/api/hooks/index.js.html +26 -17
  282. package/coverage/core/api/index.html +26 -41
  283. package/coverage/core/api/index.js.html +17 -17
  284. package/coverage/core/api/marshall.js.html +21 -21
  285. package/coverage/core/api/models/groups.model.mongodb.js.html +8 -8
  286. package/coverage/core/api/models/index.html +1 -1
  287. package/coverage/core/api/models/organisations.model.mongodb.js.html +1 -1
  288. package/coverage/core/api/models/tags.model.mongodb.js.html +10 -10
  289. package/coverage/core/api/models/users.model.mongodb.js.html +1 -1
  290. package/coverage/core/api/oauth2-handler.js.html +202 -0
  291. package/coverage/core/api/oauth2-verifier.js.html +355 -0
  292. package/coverage/core/api/services/account/account.hooks.js.html +4 -4
  293. package/coverage/core/api/services/account/account.service.js.html +15 -12
  294. package/coverage/core/api/services/account/index.html +10 -10
  295. package/coverage/core/api/services/authorisations/authorisations.hooks.js.html +1 -1
  296. package/coverage/core/api/services/authorisations/authorisations.service.js.html +77 -77
  297. package/coverage/core/api/services/authorisations/index.html +1 -1
  298. package/coverage/core/api/services/databases/databases.hooks.js.html +1 -1
  299. package/coverage/core/api/services/databases/databases.service.js.html +1 -1
  300. package/coverage/core/api/services/databases/index.html +1 -1
  301. package/coverage/core/api/services/devices/devices.hooks.js.html +190 -0
  302. package/coverage/core/api/services/devices/devices.service.js.html +382 -0
  303. package/coverage/core/api/services/devices/index.html +131 -0
  304. package/coverage/core/api/services/groups/groups.hooks.js.html +13 -7
  305. package/coverage/core/api/services/groups/index.html +5 -5
  306. package/coverage/core/api/services/index.html +19 -19
  307. package/coverage/core/api/services/index.js.html +80 -83
  308. package/coverage/core/api/services/mailer/index.html +1 -1
  309. package/coverage/core/api/services/mailer/mailer.hooks.js.html +1 -1
  310. package/coverage/core/api/services/mailer/mailer.service.js.html +1 -1
  311. package/coverage/core/api/services/organisations/index.html +11 -11
  312. package/coverage/core/api/services/organisations/organisations.hooks.js.html +1 -1
  313. package/coverage/core/api/services/organisations/organisations.service.js.html +32 -56
  314. package/coverage/{lcov-report/core/api/services/push → core/api/services/pusher}/index.html +36 -21
  315. package/coverage/{lcov-report/core/api/services/push/push.service.js.html → core/api/services/pusher/pusher.channels.js.html} +11 -38
  316. package/coverage/{lcov-report/core/api/services/push/push.hooks.js.html → core/api/services/pusher/pusher.hooks.js.html} +8 -8
  317. package/coverage/core/api/services/pusher/pusher.service.js.html +1420 -0
  318. package/coverage/core/api/services/storage/index.html +1 -1
  319. package/coverage/core/api/services/storage/storage.hooks.js.html +1 -1
  320. package/coverage/core/api/services/storage/storage.service.js.html +22 -22
  321. package/coverage/core/api/services/tags/index.html +7 -7
  322. package/coverage/core/api/services/tags/tags.hooks.js.html +54 -12
  323. package/coverage/core/api/services/users/index.html +1 -1
  324. package/coverage/core/api/services/users/users.hooks.js.html +3 -3
  325. package/coverage/core/common/errors.js.html +2 -2
  326. package/coverage/core/common/index.html +19 -19
  327. package/coverage/core/common/index.js.html +11 -11
  328. package/coverage/core/common/permissions.js.html +249 -273
  329. package/coverage/core/common/schema.js.html +23 -23
  330. package/coverage/core/common/utils.js.html +14 -14
  331. package/coverage/index.html +131 -116
  332. package/coverage/lcov-report/core/api/application.js.html +272 -332
  333. package/coverage/lcov-report/core/api/authentication.js.html +56 -56
  334. package/coverage/lcov-report/core/api/db.js.html +132 -144
  335. package/coverage/lcov-report/core/api/hooks/hooks.account.js.html +1 -1
  336. package/coverage/lcov-report/core/api/hooks/hooks.authentication.js.html +12 -12
  337. package/coverage/lcov-report/core/api/hooks/hooks.authorisations.js.html +187 -199
  338. package/coverage/lcov-report/core/api/hooks/{hooks.push.js.html → hooks.devices.js.html} +56 -77
  339. package/coverage/lcov-report/core/api/hooks/hooks.groups.js.html +7 -7
  340. package/coverage/lcov-report/core/api/hooks/hooks.logger.js.html +18 -18
  341. package/coverage/lcov-report/core/api/hooks/hooks.model.js.html +160 -166
  342. package/coverage/lcov-report/core/api/hooks/hooks.organisations.js.html +406 -136
  343. package/coverage/lcov-report/core/api/hooks/hooks.pusher.js.html +730 -0
  344. package/coverage/lcov-report/core/api/hooks/hooks.query.js.html +129 -129
  345. package/coverage/lcov-report/core/api/hooks/hooks.schemas.js.html +22 -82
  346. package/coverage/lcov-report/core/api/hooks/hooks.service.js.html +13 -13
  347. package/coverage/lcov-report/core/api/hooks/hooks.storage.js.html +7 -7
  348. package/coverage/lcov-report/core/api/hooks/hooks.tags.js.html +1 -1
  349. package/coverage/lcov-report/core/api/hooks/hooks.users.js.html +126 -63
  350. package/coverage/lcov-report/core/api/hooks/index.html +119 -74
  351. package/coverage/lcov-report/core/api/hooks/index.js.html +26 -17
  352. package/coverage/lcov-report/core/api/index.html +26 -41
  353. package/coverage/lcov-report/core/api/index.js.html +17 -17
  354. package/coverage/lcov-report/core/api/marshall.js.html +21 -21
  355. package/coverage/lcov-report/core/api/models/groups.model.mongodb.js.html +8 -8
  356. package/coverage/lcov-report/core/api/models/index.html +1 -1
  357. package/coverage/lcov-report/core/api/models/organisations.model.mongodb.js.html +1 -1
  358. package/coverage/lcov-report/core/api/models/tags.model.mongodb.js.html +10 -10
  359. package/coverage/lcov-report/core/api/models/users.model.mongodb.js.html +1 -1
  360. package/coverage/lcov-report/core/api/oauth2-handler.js.html +202 -0
  361. package/coverage/lcov-report/core/api/oauth2-verifier.js.html +355 -0
  362. package/coverage/lcov-report/core/api/services/account/account.hooks.js.html +4 -4
  363. package/coverage/lcov-report/core/api/services/account/account.service.js.html +15 -12
  364. package/coverage/lcov-report/core/api/services/account/index.html +10 -10
  365. package/coverage/lcov-report/core/api/services/authorisations/authorisations.hooks.js.html +1 -1
  366. package/coverage/lcov-report/core/api/services/authorisations/authorisations.service.js.html +77 -77
  367. package/coverage/lcov-report/core/api/services/authorisations/index.html +1 -1
  368. package/coverage/lcov-report/core/api/services/databases/databases.hooks.js.html +1 -1
  369. package/coverage/lcov-report/core/api/services/databases/databases.service.js.html +1 -1
  370. package/coverage/lcov-report/core/api/services/databases/index.html +1 -1
  371. package/coverage/lcov-report/core/api/services/devices/devices.hooks.js.html +190 -0
  372. package/coverage/lcov-report/core/api/services/devices/devices.service.js.html +382 -0
  373. package/coverage/lcov-report/core/api/services/devices/index.html +131 -0
  374. package/coverage/lcov-report/core/api/services/groups/groups.hooks.js.html +13 -7
  375. package/coverage/lcov-report/core/api/services/groups/index.html +5 -5
  376. package/coverage/lcov-report/core/api/services/index.html +19 -19
  377. package/coverage/lcov-report/core/api/services/index.js.html +80 -83
  378. package/coverage/lcov-report/core/api/services/mailer/index.html +1 -1
  379. package/coverage/lcov-report/core/api/services/mailer/mailer.hooks.js.html +1 -1
  380. package/coverage/lcov-report/core/api/services/mailer/mailer.service.js.html +1 -1
  381. package/coverage/lcov-report/core/api/services/organisations/index.html +11 -11
  382. package/coverage/lcov-report/core/api/services/organisations/organisations.hooks.js.html +1 -1
  383. package/coverage/lcov-report/core/api/services/organisations/organisations.service.js.html +32 -56
  384. package/coverage/{core/api/services/push → lcov-report/core/api/services/pusher}/index.html +36 -21
  385. package/coverage/{core/api/services/push/push.service.js.html → lcov-report/core/api/services/pusher/pusher.channels.js.html} +11 -38
  386. package/coverage/{core/api/services/push/push.hooks.js.html → lcov-report/core/api/services/pusher/pusher.hooks.js.html} +8 -8
  387. package/coverage/lcov-report/core/api/services/pusher/pusher.service.js.html +1420 -0
  388. package/coverage/lcov-report/core/api/services/storage/index.html +1 -1
  389. package/coverage/lcov-report/core/api/services/storage/storage.hooks.js.html +1 -1
  390. package/coverage/lcov-report/core/api/services/storage/storage.service.js.html +22 -22
  391. package/coverage/lcov-report/core/api/services/tags/index.html +7 -7
  392. package/coverage/lcov-report/core/api/services/tags/tags.hooks.js.html +54 -12
  393. package/coverage/lcov-report/core/api/services/users/index.html +1 -1
  394. package/coverage/lcov-report/core/api/services/users/users.hooks.js.html +3 -3
  395. package/coverage/lcov-report/core/common/errors.js.html +2 -2
  396. package/coverage/lcov-report/core/common/index.html +19 -19
  397. package/coverage/lcov-report/core/common/index.js.html +11 -11
  398. package/coverage/lcov-report/core/common/permissions.js.html +249 -273
  399. package/coverage/lcov-report/core/common/schema.js.html +23 -23
  400. package/coverage/lcov-report/core/common/utils.js.html +14 -14
  401. package/coverage/lcov-report/index.html +131 -116
  402. package/coverage/lcov-report/map/api/hooks/hooks.catalog.js.html +48 -48
  403. package/coverage/lcov-report/map/api/hooks/hooks.features.js.html +51 -51
  404. package/coverage/lcov-report/map/api/hooks/hooks.query.js.html +40 -46
  405. package/coverage/lcov-report/map/api/hooks/index.html +49 -49
  406. package/coverage/lcov-report/map/api/hooks/index.js.html +16 -16
  407. package/coverage/lcov-report/map/api/index.html +26 -26
  408. package/coverage/lcov-report/map/api/index.js.html +38 -38
  409. package/coverage/lcov-report/map/api/marshall.js.html +17 -17
  410. package/coverage/lcov-report/map/api/models/alerts.model.mongodb.js.html +1 -1
  411. package/coverage/lcov-report/map/api/models/catalog.model.mongodb.js.html +1 -1
  412. package/coverage/lcov-report/map/api/models/features.model.mongodb.js.html +11 -5
  413. package/coverage/lcov-report/map/api/models/index.html +5 -5
  414. package/coverage/lcov-report/map/api/services/alerts/alerts.hooks.js.html +1 -1
  415. package/coverage/lcov-report/map/api/services/alerts/alerts.service.js.html +1 -1
  416. package/coverage/lcov-report/map/api/services/alerts/index.html +1 -1
  417. package/coverage/lcov-report/map/api/services/catalog/catalog.hooks.js.html +1 -1
  418. package/coverage/lcov-report/map/api/services/catalog/index.html +1 -1
  419. package/coverage/lcov-report/map/api/services/daptiles/daptiles.service.js.html +1 -1
  420. package/coverage/lcov-report/map/api/services/daptiles/index.html +1 -1
  421. package/coverage/lcov-report/map/api/services/features/features.hooks.js.html +1 -1
  422. package/coverage/lcov-report/map/api/services/features/features.service.js.html +1 -1
  423. package/coverage/lcov-report/map/api/services/features/index.html +1 -1
  424. package/coverage/lcov-report/map/api/services/geocoder/geocoder.hooks.js.html +1 -1
  425. package/coverage/lcov-report/map/api/services/geocoder/geocoder.service.js.html +1 -1
  426. package/coverage/lcov-report/map/api/services/geocoder/index.html +1 -1
  427. package/coverage/lcov-report/map/api/services/index.html +17 -17
  428. package/coverage/lcov-report/map/api/services/index.js.html +81 -90
  429. package/coverage/lcov-report/map/common/dynamic-grid-source.js.html +68 -68
  430. package/coverage/lcov-report/map/common/errors.js.html +16 -16
  431. package/coverage/lcov-report/map/common/geotiff-grid-source.js.html +53 -53
  432. package/coverage/lcov-report/map/common/grid.js.html +298 -298
  433. package/coverage/lcov-report/map/common/index.html +148 -148
  434. package/coverage/lcov-report/map/common/index.js.html +67 -67
  435. package/coverage/lcov-report/map/common/meteo-model-grid-source.js.html +68 -68
  436. package/coverage/lcov-report/map/common/moment-utils.js.html +18 -18
  437. package/coverage/lcov-report/map/common/opendap-grid-source.js.html +60 -60
  438. package/coverage/lcov-report/map/common/opendap-utils.js.html +113 -113
  439. package/coverage/lcov-report/map/common/permissions.js.html +11 -11
  440. package/coverage/lcov-report/map/common/time-based-grid-source.js.html +54 -54
  441. package/coverage/lcov-report/map/common/tms-utils.js.html +1 -1
  442. package/coverage/lcov-report/map/common/wcs-grid-source.js.html +42 -42
  443. package/coverage/lcov-report/map/common/wcs-utils.js.html +211 -211
  444. package/coverage/lcov-report/map/common/weacast-grid-source.js.html +72 -72
  445. package/coverage/lcov-report/map/common/wfs-utils.js.html +1 -1
  446. package/coverage/lcov-report/map/common/wms-utils.js.html +1 -1
  447. package/coverage/lcov-report/map/common/wmts-utils.js.html +1 -1
  448. package/coverage/lcov.info +5502 -3743
  449. package/coverage/map/api/hooks/hooks.catalog.js.html +48 -48
  450. package/coverage/map/api/hooks/hooks.features.js.html +51 -51
  451. package/coverage/map/api/hooks/hooks.query.js.html +40 -46
  452. package/coverage/map/api/hooks/index.html +49 -49
  453. package/coverage/map/api/hooks/index.js.html +16 -16
  454. package/coverage/map/api/index.html +26 -26
  455. package/coverage/map/api/index.js.html +38 -38
  456. package/coverage/map/api/marshall.js.html +17 -17
  457. package/coverage/map/api/models/alerts.model.mongodb.js.html +1 -1
  458. package/coverage/map/api/models/catalog.model.mongodb.js.html +1 -1
  459. package/coverage/map/api/models/features.model.mongodb.js.html +11 -5
  460. package/coverage/map/api/models/index.html +5 -5
  461. package/coverage/map/api/services/alerts/alerts.hooks.js.html +1 -1
  462. package/coverage/map/api/services/alerts/alerts.service.js.html +1 -1
  463. package/coverage/map/api/services/alerts/index.html +1 -1
  464. package/coverage/map/api/services/catalog/catalog.hooks.js.html +1 -1
  465. package/coverage/map/api/services/catalog/index.html +1 -1
  466. package/coverage/map/api/services/daptiles/daptiles.service.js.html +1 -1
  467. package/coverage/map/api/services/daptiles/index.html +1 -1
  468. package/coverage/map/api/services/features/features.hooks.js.html +1 -1
  469. package/coverage/map/api/services/features/features.service.js.html +1 -1
  470. package/coverage/map/api/services/features/index.html +1 -1
  471. package/coverage/map/api/services/geocoder/geocoder.hooks.js.html +1 -1
  472. package/coverage/map/api/services/geocoder/geocoder.service.js.html +1 -1
  473. package/coverage/map/api/services/geocoder/index.html +1 -1
  474. package/coverage/map/api/services/index.html +17 -17
  475. package/coverage/map/api/services/index.js.html +81 -90
  476. package/coverage/map/common/dynamic-grid-source.js.html +68 -68
  477. package/coverage/map/common/errors.js.html +16 -16
  478. package/coverage/map/common/geotiff-grid-source.js.html +53 -53
  479. package/coverage/map/common/grid.js.html +298 -298
  480. package/coverage/map/common/index.html +148 -148
  481. package/coverage/map/common/index.js.html +67 -67
  482. package/coverage/map/common/meteo-model-grid-source.js.html +68 -68
  483. package/coverage/map/common/moment-utils.js.html +18 -18
  484. package/coverage/map/common/opendap-grid-source.js.html +60 -60
  485. package/coverage/map/common/opendap-utils.js.html +113 -113
  486. package/coverage/map/common/permissions.js.html +11 -11
  487. package/coverage/map/common/time-based-grid-source.js.html +54 -54
  488. package/coverage/map/common/tms-utils.js.html +1 -1
  489. package/coverage/map/common/wcs-grid-source.js.html +42 -42
  490. package/coverage/map/common/wcs-utils.js.html +211 -211
  491. package/coverage/map/common/weacast-grid-source.js.html +72 -72
  492. package/coverage/map/common/wfs-utils.js.html +1 -1
  493. package/coverage/map/common/wms-utils.js.html +1 -1
  494. package/coverage/map/common/wmts-utils.js.html +1 -1
  495. package/coverage/tmp/coverage-19264-1684834146599-0.json +1 -0
  496. package/coverage/tmp/coverage-2508-1684834182408-0.json +1 -0
  497. package/coverage/tmp/coverage-25908-1684834189369-0.json +1 -0
  498. package/coverage/tmp/coverage-32364-1684834189420-0.json +1 -0
  499. package/coverage/tmp/coverage-36604-1684834189485-0.json +1 -0
  500. package/coverage/tmp/coverage-40652-1684834182272-0.json +1 -0
  501. package/coverage/tmp/coverage-48484-1684834182342-0.json +1 -0
  502. package/coverage/tmp/coverage-51652-1684834189584-0.json +1 -0
  503. package/coverage/tmp/coverage-9776-1684834189519-0.json +1 -0
  504. package/extras/css/core.variables.scss +38 -38
  505. package/extras/icons/center-on-feature.svg +315 -315
  506. package/extras/icons/json.svg +83 -83
  507. package/extras/icons/map-legend.svg +251 -251
  508. package/extras/icons/target.svg +37 -37
  509. package/extras/tours/core/account-profile.js +32 -32
  510. package/extras/tours/core/account.js +143 -143
  511. package/extras/tours/core/add-member.js +74 -74
  512. package/extras/tours/core/add-tag.js +12 -12
  513. package/extras/tours/core/create-group.js +19 -19
  514. package/extras/tours/core/create-organisation.js +19 -19
  515. package/extras/tours/core/create-tag.js +26 -26
  516. package/extras/tours/core/edit-member-role.js +13 -13
  517. package/extras/tours/core/groups.js +65 -65
  518. package/extras/tours/core/join-group.js +13 -13
  519. package/extras/tours/core/login.js +41 -41
  520. package/extras/tours/core/members.js +108 -108
  521. package/extras/tours/core/register.js +61 -61
  522. package/extras/tours/core/send-reset-password.js +14 -14
  523. package/extras/tours/core/tags.js +65 -65
  524. package/extras/tours/map/add-layer.js +28 -28
  525. package/extras/tours/map/catalog-categories.js +59 -59
  526. package/extras/tours/map/catalog-panel.js +112 -112
  527. package/extras/tours/map/connect-layer.js +39 -39
  528. package/extras/tours/map/create-layer.js +33 -33
  529. package/extras/tours/map/create-view.js +25 -25
  530. package/extras/tours/map/fab.js +26 -26
  531. package/extras/tours/map/import-layer.js +33 -33
  532. package/extras/tours/map/navigation-bar.js +185 -185
  533. package/extras/tours/map/side-nav.js +35 -35
  534. package/extras/tours/map/timeline.js +77 -77
  535. package/map/api/config/categories.cjs +42 -42
  536. package/map/api/config/layers.cjs +43 -43
  537. package/map/api/config/sublegends.cjs +42 -42
  538. package/map/api/hooks/hooks.catalog.js +85 -85
  539. package/map/api/hooks/hooks.features.js +84 -84
  540. package/map/api/hooks/hooks.query.js +361 -361
  541. package/map/api/hooks/index.js +3 -3
  542. package/map/api/index.js +18 -18
  543. package/map/api/marshall.js +31 -31
  544. package/map/api/models/alerts.model.mongodb.js +7 -7
  545. package/map/api/models/catalog.model.mongodb.js +14 -14
  546. package/map/api/models/features.model.mongodb.js +37 -37
  547. package/map/api/services/alerts/alerts.hooks.js +63 -63
  548. package/map/api/services/alerts/alerts.service.js +175 -175
  549. package/map/api/services/catalog/catalog.hooks.js +76 -76
  550. package/map/api/services/daptiles/daptiles.service.js +475 -475
  551. package/map/api/services/features/features.hooks.js +40 -40
  552. package/map/api/services/features/features.service.js +52 -52
  553. package/map/api/services/geocoder/geocoder.hooks.js +31 -31
  554. package/map/api/services/geocoder/geocoder.service.js +79 -79
  555. package/map/api/services/index.js +228 -228
  556. package/map/client/canvas-draw-context.js +16 -16
  557. package/map/client/cesium/utils.js +133 -133
  558. package/map/client/components/KCaptureToolbar.vue +155 -155
  559. package/map/client/components/KColorLegend.vue +349 -349
  560. package/map/client/components/KCompass.vue +143 -143
  561. package/map/client/components/KEditLayerData.vue +85 -85
  562. package/map/client/components/KFeatureActionButton.vue +119 -119
  563. package/map/client/components/KFeatureEditor.vue +92 -92
  564. package/map/client/components/KFeaturesChart.vue +285 -285
  565. package/map/client/components/KFeaturesFilter.vue +259 -259
  566. package/map/client/components/KFeaturesTable.vue +99 -99
  567. package/map/client/components/KLayerEditionToolbar.vue +54 -54
  568. package/map/client/components/KLayerEditor.vue +48 -48
  569. package/map/client/components/KLayerStyleEditor.vue +118 -118
  570. package/map/client/components/KLayerStyleForm.vue +906 -906
  571. package/map/client/components/KLevelSlider.vue +100 -100
  572. package/map/client/components/KMeasureTool.vue +568 -568
  573. package/map/client/components/KPositionIndicator.vue +90 -90
  574. package/map/client/components/KTimeline.vue +293 -293
  575. package/map/client/components/KTimezoneMap.vue +158 -158
  576. package/map/client/components/KUrlLegend.vue +122 -122
  577. package/map/client/components/catalog/KAddLayer.vue +66 -66
  578. package/map/client/components/catalog/KBaseLayersSelector.vue +114 -114
  579. package/map/client/components/catalog/KConnectLayer.vue +323 -323
  580. package/map/client/components/catalog/KCreateLayer.vue +184 -184
  581. package/map/client/components/catalog/KCreateView.vue +108 -108
  582. package/map/client/components/catalog/KFilteredLayerItem.vue +53 -53
  583. package/map/client/components/catalog/KImportLayer.vue +168 -168
  584. package/map/client/components/catalog/KLayerCategories.vue +274 -274
  585. package/map/client/components/catalog/KLayerItem.vue +70 -70
  586. package/map/client/components/catalog/KLayersPanel.vue +137 -137
  587. package/map/client/components/catalog/KLayersSelector.vue +78 -78
  588. package/map/client/components/catalog/KViewSelector.vue +46 -46
  589. package/map/client/components/catalog/KViewsPanel.vue +123 -123
  590. package/map/client/components/catalog/KWeatherLayersSelector.vue +129 -129
  591. package/map/client/components/form/KDirectionField.vue +113 -113
  592. package/map/client/components/form/KLayerCategoryField.vue +46 -46
  593. package/map/client/components/form/KLocationField.vue +189 -189
  594. package/map/client/components/form/KOwsLayerField.vue +130 -130
  595. package/map/client/components/form/KOwsServiceField.vue +238 -238
  596. package/map/client/components/form/KTimezoneField.vue +142 -142
  597. package/map/client/components/index.js +1 -1
  598. package/map/client/components/legend/KColorScaleLegend.vue +31 -31
  599. package/map/client/components/legend/KImageLegend.vue +52 -52
  600. package/map/client/components/legend/KLegend.vue +191 -191
  601. package/map/client/components/legend/KLegendRenderer.vue +20 -20
  602. package/map/client/components/legend/KSymbolsLegend.vue +101 -101
  603. package/map/client/components/location/KGeocodersFilter.vue +44 -44
  604. package/map/client/components/location/KLocationCardSection.vue +61 -61
  605. package/map/client/components/location/KLocationMap.vue +280 -280
  606. package/map/client/components/location/KLocationSearch.vue +144 -144
  607. package/map/client/components/location/KLocationTip.vue +29 -29
  608. package/map/client/components/tools/KGeolocateTool.vue +46 -46
  609. package/map/client/components/tools/KSearchTool.vue +93 -93
  610. package/map/client/components/widget/KElevationProfile.vue +454 -454
  611. package/map/client/components/widget/KInformationBox.vue +145 -145
  612. package/map/client/components/widget/KMapillaryViewer.vue +178 -178
  613. package/map/client/components/widget/KStackableTimeSeries.vue +214 -214
  614. package/map/client/components/widget/KTimeSeries.vue +500 -500
  615. package/map/client/composables/activity.js +88 -88
  616. package/map/client/composables/highlight.js +214 -214
  617. package/map/client/composables/index.js +7 -7
  618. package/map/client/composables/location.js +53 -53
  619. package/map/client/composables/measure.js +42 -42
  620. package/map/client/composables/probe.js +133 -133
  621. package/map/client/composables/selection.js +300 -300
  622. package/map/client/composables/weather.js +213 -213
  623. package/map/client/elevation-utils.js +258 -258
  624. package/map/client/geolocation.js +119 -119
  625. package/map/client/globe.js +13 -13
  626. package/map/client/i18n/map_en.json +645 -645
  627. package/map/client/i18n/map_fr.json +646 -646
  628. package/map/client/index.js +18 -18
  629. package/map/client/init.js +80 -80
  630. package/map/client/leaflet/GSMaPLayer.js +55 -55
  631. package/map/client/leaflet/GradientPath.js +180 -180
  632. package/map/client/leaflet/MaskLayer.js +57 -57
  633. package/map/client/leaflet/TiledFeatureLayer.js +572 -572
  634. package/map/client/leaflet/TiledMeshLayer.js +486 -486
  635. package/map/client/leaflet/TiledWindLayer.js +384 -384
  636. package/map/client/leaflet/utils.js +246 -246
  637. package/map/client/map.js +15 -15
  638. package/map/client/mixins/globe/index.js +8 -8
  639. package/map/client/mixins/globe/mixin.base-globe.js +462 -462
  640. package/map/client/mixins/globe/mixin.file-layers.js +40 -40
  641. package/map/client/mixins/globe/mixin.geojson-layers.js +314 -314
  642. package/map/client/mixins/globe/mixin.globe-activity.js +52 -52
  643. package/map/client/mixins/globe/mixin.opendap-layers.js +51 -51
  644. package/map/client/mixins/globe/mixin.popup.js +82 -82
  645. package/map/client/mixins/globe/mixin.style.js +110 -110
  646. package/map/client/mixins/globe/mixin.tooltip.js +101 -101
  647. package/map/client/mixins/index.js +9 -9
  648. package/map/client/mixins/map/index.js +16 -16
  649. package/map/client/mixins/map/mixin.base-map.js +592 -592
  650. package/map/client/mixins/map/mixin.canvas-layers.js +529 -529
  651. package/map/client/mixins/map/mixin.edit-layers.js +474 -474
  652. package/map/client/mixins/map/mixin.file-layers.js +49 -49
  653. package/map/client/mixins/map/mixin.forecast-layers.js +79 -79
  654. package/map/client/mixins/map/mixin.geojson-layers.js +557 -557
  655. package/map/client/mixins/map/mixin.georaster-layers.js +114 -114
  656. package/map/client/mixins/map/mixin.gsmap-layers.js +27 -27
  657. package/map/client/mixins/map/mixin.heatmap-layers.js +116 -116
  658. package/map/client/mixins/map/mixin.map-activity.js +38 -38
  659. package/map/client/mixins/map/mixin.mapillary-layers.js +45 -45
  660. package/map/client/mixins/map/mixin.popup.js +53 -53
  661. package/map/client/mixins/map/mixin.style.js +73 -73
  662. package/map/client/mixins/map/mixin.tiled-mesh-layers.js +120 -120
  663. package/map/client/mixins/map/mixin.tiled-wind-layers.js +126 -126
  664. package/map/client/mixins/map/mixin.tooltip.js +47 -47
  665. package/map/client/mixins/mixin.activity.js +477 -477
  666. package/map/client/mixins/mixin.catalog-panel.js +26 -26
  667. package/map/client/mixins/mixin.context.js +262 -262
  668. package/map/client/mixins/mixin.feature-selection.js +28 -28
  669. package/map/client/mixins/mixin.feature-service.js +403 -403
  670. package/map/client/mixins/mixin.infobox.js +29 -29
  671. package/map/client/mixins/mixin.levels.js +66 -66
  672. package/map/client/mixins/mixin.style.js +29 -29
  673. package/map/client/mixins/mixin.weacast.js +212 -212
  674. package/map/client/pixi-utils.js +256 -256
  675. package/map/client/readers/index.js +4 -4
  676. package/map/client/readers/reader.geojson.js +64 -64
  677. package/map/client/readers/reader.gpx.js +36 -36
  678. package/map/client/readers/reader.kml.js +36 -36
  679. package/map/client/readers/reader.shp.js +82 -82
  680. package/map/client/utils/index.js +3 -3
  681. package/map/client/utils/utils.js +228 -228
  682. package/map/client/utils/utils.location.js +45 -45
  683. package/map/client/utils/utils.schema.js +75 -75
  684. package/map/client/utils.all.js +3 -3
  685. package/map/client/utils.globe.js +2 -2
  686. package/map/client/utils.js +4 -4
  687. package/map/client/utils.map.js +2 -2
  688. package/map/common/dynamic-grid-source.js +127 -127
  689. package/map/common/errors.js +3 -3
  690. package/map/common/geotiff-grid-source.js +150 -150
  691. package/map/common/grid.js +509 -509
  692. package/map/common/index.js +29 -29
  693. package/map/common/meteo-model-grid-source.js +157 -157
  694. package/map/common/moment-utils.js +24 -24
  695. package/map/common/opendap-grid-source.js +261 -261
  696. package/map/common/opendap-utils.js +247 -247
  697. package/map/common/permissions.js +11 -11
  698. package/map/common/schemas/catalog.update.json +28 -28
  699. package/map/common/time-based-grid-source.js +111 -111
  700. package/map/common/tms-utils.js +63 -63
  701. package/map/common/wcs-grid-source.js +93 -93
  702. package/map/common/wcs-utils.js +167 -167
  703. package/map/common/weacast-grid-source.js +316 -316
  704. package/map/common/wfs-utils.js +163 -163
  705. package/map/common/wms-utils.js +117 -117
  706. package/map/common/wmts-utils.js +154 -154
  707. package/map.api.js +5 -5
  708. package/map.client.globe.js +5 -5
  709. package/map.client.js +5 -5
  710. package/map.client.map.js +5 -5
  711. package/map.common.js +1 -1
  712. package/map.config.cjs +9 -9
  713. package/package.json +161 -161
  714. package/test/api/core/account.test.js +485 -485
  715. package/test/api/core/client.test.js.skip +37 -37
  716. package/test/api/core/config/default.cjs +118 -118
  717. package/test/api/core/config/email-templates/confirmInvitation/html.ejs +18 -18
  718. package/test/api/core/config/email-templates/identityChange/html.ejs +14 -14
  719. package/test/api/core/config/email-templates/newDevice/html.ejs +7 -7
  720. package/test/api/core/config/email-templates/newSubscription/html.ejs +7 -7
  721. package/test/api/core/config/email-templates/passwordChange/html.ejs +5 -5
  722. package/test/api/core/config/email-templates/resendVerifySignup/html.ejs +12 -12
  723. package/test/api/core/config/email-templates/resetPwd/html.ejs +5 -5
  724. package/test/api/core/config/email-templates/sendResetPwd/html.ejs +12 -12
  725. package/test/api/core/config/email-templates/verifySignup/html.ejs +3 -3
  726. package/test/api/core/data/invalid-objects.json +59 -59
  727. package/test/api/core/data/schema.json +57 -57
  728. package/test/api/core/data/valid-objects.json +37 -37
  729. package/test/api/core/hooks.test.js +330 -330
  730. package/test/api/core/index.js +1 -1
  731. package/test/api/core/index.test.js +478 -478
  732. package/test/api/core/push.test.js +197 -197
  733. package/test/api/core/schemas.test.js +82 -82
  734. package/test/api/core/storage.test.js +153 -153
  735. package/test/api/core/team.test.js +670 -670
  736. package/test/api/core/utils.js +92 -92
  737. package/test/api/index.js +3 -3
  738. package/test/api/map/alerts.test.js +560 -560
  739. package/test/api/map/config/default.cjs +125 -125
  740. package/test/api/map/config/layers.json +38 -38
  741. package/test/api/map/data/DescribeCoverage.xml +54 -54
  742. package/test/api/map/data/adsb.observations.json +131 -131
  743. package/test/api/map/data/dataset.grb.das +55 -55
  744. package/test/api/map/data/dataset.grb.dds +17 -17
  745. package/test/api/map/data/vigicrues.observations.json +47041 -47041
  746. package/test/api/map/data/vigicrues.stations.json +15421 -15421
  747. package/test/api/map/data/zones.json +1227 -1227
  748. package/test/api/map/grid-sources.test.js +313 -313
  749. package/test/api/map/hooks.test.js +98 -98
  750. package/test/api/map/index.test.js +563 -563
  751. package/test/api/map/test-log-2022-12-01.log +19 -0
  752. package/test/api/map/test-log-2023-01-05.log +4 -0
  753. package/test/api/map/test-log-2023-01-09.log +3 -0
  754. package/test/api/map/{test-log-2023-09-21.log → test-log-2023-02-05.log} +11 -12
  755. package/test/api/map/test-log-2023-02-14.log +82 -0
  756. package/test/api/map/test-log-2023-02-28.log +28 -0
  757. package/test/api/map/{test-log-2023-07-19.log → test-log-2023-03-02.log} +11 -13
  758. package/test/api/map/test-log-2023-03-06.log +11 -0
  759. package/test/api/map/test-log-2023-03-07.log +61 -0
  760. package/test/api/map/test-log-2023-03-31.log +11 -0
  761. package/test/api/map/test-log-2023-05-23.log +11 -0
  762. package/test/api/map/test-log-2023-05-24.log +11 -0
  763. package/test/client/core/account.js +36 -36
  764. package/test/client/core/api.js +361 -361
  765. package/test/client/core/collection.js +64 -64
  766. package/test/client/core/index.js +8 -8
  767. package/test/client/core/layout.js +116 -116
  768. package/test/client/core/runner.js +224 -224
  769. package/test/client/core/screens.js +35 -35
  770. package/test/client/core/time.js +10 -10
  771. package/test/client/core/utils.js +260 -260
  772. package/test/client/index.js +3 -3
  773. package/test/client/map/catalog.js +193 -193
  774. package/test/client/map/controls.js +41 -41
  775. package/test/client/map/index.js +4 -4
  776. package/test/client/map/time.js +24 -24
  777. package/test/client/map/utils.js +27 -27
  778. package/coverage/core/api/utils.js.html +0 -118
  779. package/coverage/lcov-report/core/api/utils.js.html +0 -118
  780. package/coverage/tmp/coverage-59096-1692631696256-0.json +0 -1
  781. package/coverage/tmp/coverage-59108-1692631696233-0.json +0 -1
  782. package/coverage/tmp/coverage-59119-1692631696222-0.json +0 -1
  783. package/coverage/tmp/coverage-59131-1692631696200-0.json +0 -1
  784. package/coverage/tmp/coverage-59138-1692631696175-0.json +0 -1
  785. package/test/api/core/test-log-2023-07-10.log +0 -2
  786. package/test/api/core/test-log-2023-07-12.log +0 -0
  787. package/test/api/core/test-log-2023-07-18.log +0 -78
  788. package/test/api/core/test-log-2023-07-19.log +0 -44
  789. package/test/api/core/test-log-2023-08-01.log +0 -162
  790. package/test/api/core/test-log-2023-08-21.log +0 -66
  791. package/test/api/core/test-log-2023-08-22.log +0 -96
  792. package/test/api/core/test-log-2023-08-23.log +0 -22
  793. package/test/api/core/test-log-2023-09-20.log +0 -22
  794. package/test/api/core/test-log-2023-09-21.log +0 -105
  795. package/test/api/core/test-log-2023-10-04.log +0 -22
  796. package/test/api/map/test-log-2023-07-18.log +0 -62
  797. package/test/api/map/test-log-2023-08-21.log +0 -65
  798. package/test/api/map/test-log-2023-09-20.log +0 -60
  799. /package/test/api/core/{test-log-2023-07-04.log → test-log-2023-06-05.log} +0 -0
@@ -1,203 +1,203 @@
1
- import _ from 'lodash'
2
- import logger from 'loglevel'
3
- import moment from 'moment'
4
- import emailValidator from 'email-validator'
5
- import { Notify, Dialog, Loading, exportFile } from 'quasar'
6
- import { defineAsyncComponent, markRaw } from 'vue'
7
-
8
- export * from './utils.account.js'
9
- export * from './utils.colors.js'
10
- export * from './utils.content.js'
11
- export * from './utils.locale.js'
12
- export * from './utils.platform.js'
13
- export * from './utils.push.js'
14
- export * from './utils.pwa.js'
15
- export * from './utils.session.js'
16
-
17
- Notify.setDefaults({
18
- position: 'bottom-left',
19
- timeout: 5000,
20
- textColor: 'white'
21
- })
22
-
23
- Loading.setDefaults({
24
- spinnerColor: 'primary',
25
- spinnerSize: 140,
26
- messageColor: 'white',
27
- customClass: 'full-width'
28
- })
29
-
30
- /**
31
- * This function allow you to modify a JS Promise by adding some status properties.
32
- * Based on: http://stackoverflow.com/questions/21485545/is-there-a-way-to-tell-if-an-es6-promise-is-fulfilled-rejected-resolved
33
- * But modified according to the specs of promises : https://promisesaplus.com/
34
- */
35
- export function createQuerablePromise (promiseOrExecutor) {
36
- let promise = promiseOrExecutor
37
- if (typeof promiseOrExecutor === 'function') {
38
- promise = new Promise(promiseOrExecutor)
39
- }
40
- // Don't modify any promise that has been already modified.
41
- if (promise.isResolved) return promise
42
-
43
- // Set initial state
44
- let isPending = true
45
- let isRejected = false
46
- let isFulfilled = false
47
-
48
- // Observe the promise, saving the fulfillment in a closure scope.
49
- const result = promise.then(
50
- (value) => {
51
- isFulfilled = true
52
- isPending = false
53
- return value
54
- },
55
- (error) => {
56
- isRejected = true
57
- isPending = false
58
- throw error
59
- }
60
- )
61
-
62
- result.isFulfilled = () => { return isFulfilled }
63
- result.isPending = () => { return isPending }
64
- result.isRejected = () => { return isRejected }
65
-
66
- return result
67
- }
68
-
69
- export function getInitials (name) {
70
- const initials = name.toUpperCase().match(/\b\w/g) || []
71
- return initials.join('')
72
- }
73
-
74
- export function isEmailValid (email) {
75
- return emailValidator.validate(email)
76
- }
77
-
78
- export function createThumbnail (imageDataUri, width, height, quality, callback) {
79
- const image = document.createElement('img')
80
- image.onload = function () {
81
- const canvas = document.createElement('canvas')
82
- const ctx = canvas.getContext('2d')
83
- // set its dimension to target size
84
- canvas.width = width
85
- canvas.height = height
86
- ctx.drawImage(this, 0, 0, width, height)
87
- callback(canvas.toDataURL('image/jpeg', quality))
88
- }
89
- image.src = imageDataUri
90
- }
91
-
92
- export function dataUriToBlob (dataUri) {
93
- // convert base64 to raw binary data held in a string
94
- // doesn't handle URLEncoded DataURIs - see SO answer #6850276 for code that does this
95
- const byteString = atob(dataUri.split(',')[1])
96
- // separate out the mime component
97
- const mimeType = dataUri.split(',')[0].split(':')[1].split(';')[0]
98
- // write the bytes of the string to an ArrayBuffer
99
- const ab = new ArrayBuffer(byteString.length)
100
- // create a view into the buffer
101
- const ia = new Uint8Array(ab)
102
- // set the bytes of the buffer to the correct values
103
- for (let i = 0; i < byteString.length; i++) {
104
- ia[i] = byteString.charCodeAt(i)
105
- }
106
- // write the ArrayBuffer to a blob, and you're done
107
- return new Blob([ab], { type: mimeType })
108
- }
109
-
110
- export function downloadAsBlob (data, filename, mimeType) {
111
- const blob = new Blob([data], { type: mimeType })
112
- exportFile(filename, blob)
113
- }
114
-
115
- // Simplify Quasar dialog plugin usage with async/await
116
- export async function dialog (options) {
117
- return new Promise((resolve, reject) => {
118
- Dialog.create(options)
119
- .onOk((data) => resolve({ ok: true, data }))
120
- .onCancel(() => resolve({ cancel: true }))
121
- .onDismiss(() => resolve({ dismiss: true }))
122
- })
123
- }
124
-
125
- // Extract icon name from a given icon property on a given target object
126
- export function getIconName (object, path = 'icon.name') {
127
- // Make function work in a generic way, sometimes the provided input is directly the icon name
128
- const icon = (typeof object === 'object' ? _.get(object, path, '') : object)
129
- // Check whether the returned icon is an object (can be true in some cases)
130
- if (typeof icon === 'object') return ''
131
- // Name icons to ensure backward compatibility with font awesome 4
132
- return (icon.startsWith('fa-') ? `fas ${icon}` : icon)
133
- }
134
-
135
- export function processIcon (object, path = 'icon.name') {
136
- // Process icons for backward compatibility with font awesome 4
137
- _.set(object, path, getIconName(object, path))
138
- }
139
-
140
- // Function to map kdk icons with QIcon from Quasar
141
- // https://quasar.dev/vue-components/icon#custom-mapping
142
- export function mapIconFunction (iconName) {
143
- if (iconName.startsWith('kdk:') === true) {
144
- // we strip the "kdk:" part
145
- const name = iconName.substring(4)
146
- // Return the inlined icon
147
- return { icon: 'img:icons/kdk/' + name }
148
- }
149
- }
150
-
151
- // Transform nested object to dot notation
152
- export function dotify (object) {
153
- const dotifiedObject = {}
154
- function recurse (object, current) {
155
- _.forOwn(object, (value, key) => {
156
- const newKey = (current ? current + '.' + key : key) // joined key with dot
157
- if (value && typeof value === 'object') {
158
- recurse(value, newKey) // it's a nested object, so do it again
159
- } else {
160
- dotifiedObject[newKey] = value // it's not an object, so set the property
161
- }
162
- })
163
- }
164
-
165
- recurse(object)
166
- return dotifiedObject
167
- }
168
-
169
- // Regular expression that checks for hex value
170
- const checkForHexRegExp = /^[0-9a-fA-F]{24}$/
171
-
172
- // Check if a string is a valid MongoDB Object ID
173
- export function isObjectID (id) {
174
- return (id.length === 24 && checkForHexRegExp.test(id))
175
- }
176
-
177
- // Add UTC offset to timezone name
178
- export function getTimezoneLabel (timezone) {
179
- const offset = moment().tz(timezone).format('Z')
180
- return `${timezone} (${offset})`
181
- }
182
-
183
- // Helper function to load a schema
184
- // @schema alias shoud be added in the quasar.config build section
185
- export async function loadSchema (schemaName) {
186
- try {
187
- const schemaModule = await import(`@schemas/${schemaName}.json`)
188
- return schemaModule.default
189
- } catch (error) {
190
- logger.error(error)
191
- }
192
- }
193
-
194
- // Helper function to load a component
195
- // https://vuejs.org/guide/components/async.html
196
- // @components alias shoud be added in the quasar.config build section
197
- export function loadComponent (componentName) {
198
- try {
199
- return markRaw(defineAsyncComponent(() => import(`@components/${componentName}.vue`)))
200
- } catch (error) {
201
- logger.error(error)
202
- }
203
- }
1
+ import _ from 'lodash'
2
+ import logger from 'loglevel'
3
+ import moment from 'moment'
4
+ import emailValidator from 'email-validator'
5
+ import { Notify, Dialog, Loading, exportFile } from 'quasar'
6
+ import { defineAsyncComponent, markRaw } from 'vue'
7
+
8
+ export * from './utils.account.js'
9
+ export * from './utils.colors.js'
10
+ export * from './utils.content.js'
11
+ export * from './utils.locale.js'
12
+ export * from './utils.platform.js'
13
+ export * from './utils.push.js'
14
+ export * from './utils.pwa.js'
15
+ export * from './utils.session.js'
16
+
17
+ Notify.setDefaults({
18
+ position: 'bottom-left',
19
+ timeout: 5000,
20
+ textColor: 'white'
21
+ })
22
+
23
+ Loading.setDefaults({
24
+ spinnerColor: 'primary',
25
+ spinnerSize: 140,
26
+ messageColor: 'white',
27
+ customClass: 'full-width'
28
+ })
29
+
30
+ /**
31
+ * This function allow you to modify a JS Promise by adding some status properties.
32
+ * Based on: http://stackoverflow.com/questions/21485545/is-there-a-way-to-tell-if-an-es6-promise-is-fulfilled-rejected-resolved
33
+ * But modified according to the specs of promises : https://promisesaplus.com/
34
+ */
35
+ export function createQuerablePromise (promiseOrExecutor) {
36
+ let promise = promiseOrExecutor
37
+ if (typeof promiseOrExecutor === 'function') {
38
+ promise = new Promise(promiseOrExecutor)
39
+ }
40
+ // Don't modify any promise that has been already modified.
41
+ if (promise.isResolved) return promise
42
+
43
+ // Set initial state
44
+ let isPending = true
45
+ let isRejected = false
46
+ let isFulfilled = false
47
+
48
+ // Observe the promise, saving the fulfillment in a closure scope.
49
+ const result = promise.then(
50
+ (value) => {
51
+ isFulfilled = true
52
+ isPending = false
53
+ return value
54
+ },
55
+ (error) => {
56
+ isRejected = true
57
+ isPending = false
58
+ throw error
59
+ }
60
+ )
61
+
62
+ result.isFulfilled = () => { return isFulfilled }
63
+ result.isPending = () => { return isPending }
64
+ result.isRejected = () => { return isRejected }
65
+
66
+ return result
67
+ }
68
+
69
+ export function getInitials (name) {
70
+ const initials = name.toUpperCase().match(/\b\w/g) || []
71
+ return initials.join('')
72
+ }
73
+
74
+ export function isEmailValid (email) {
75
+ return emailValidator.validate(email)
76
+ }
77
+
78
+ export function createThumbnail (imageDataUri, width, height, quality, callback) {
79
+ const image = document.createElement('img')
80
+ image.onload = function () {
81
+ const canvas = document.createElement('canvas')
82
+ const ctx = canvas.getContext('2d')
83
+ // set its dimension to target size
84
+ canvas.width = width
85
+ canvas.height = height
86
+ ctx.drawImage(this, 0, 0, width, height)
87
+ callback(canvas.toDataURL('image/jpeg', quality))
88
+ }
89
+ image.src = imageDataUri
90
+ }
91
+
92
+ export function dataUriToBlob (dataUri) {
93
+ // convert base64 to raw binary data held in a string
94
+ // doesn't handle URLEncoded DataURIs - see SO answer #6850276 for code that does this
95
+ const byteString = atob(dataUri.split(',')[1])
96
+ // separate out the mime component
97
+ const mimeType = dataUri.split(',')[0].split(':')[1].split(';')[0]
98
+ // write the bytes of the string to an ArrayBuffer
99
+ const ab = new ArrayBuffer(byteString.length)
100
+ // create a view into the buffer
101
+ const ia = new Uint8Array(ab)
102
+ // set the bytes of the buffer to the correct values
103
+ for (let i = 0; i < byteString.length; i++) {
104
+ ia[i] = byteString.charCodeAt(i)
105
+ }
106
+ // write the ArrayBuffer to a blob, and you're done
107
+ return new Blob([ab], { type: mimeType })
108
+ }
109
+
110
+ export function downloadAsBlob (data, filename, mimeType) {
111
+ const blob = new Blob([data], { type: mimeType })
112
+ exportFile(filename, blob)
113
+ }
114
+
115
+ // Simplify Quasar dialog plugin usage with async/await
116
+ export async function dialog (options) {
117
+ return new Promise((resolve, reject) => {
118
+ Dialog.create(options)
119
+ .onOk((data) => resolve({ ok: true, data }))
120
+ .onCancel(() => resolve({ cancel: true }))
121
+ .onDismiss(() => resolve({ dismiss: true }))
122
+ })
123
+ }
124
+
125
+ // Extract icon name from a given icon property on a given target object
126
+ export function getIconName (object, path = 'icon.name') {
127
+ // Make function work in a generic way, sometimes the provided input is directly the icon name
128
+ const icon = (typeof object === 'object' ? _.get(object, path, '') : object)
129
+ // Check whether the returned icon is an object (can be true in some cases)
130
+ if (typeof icon === 'object') return ''
131
+ // Name icons to ensure backward compatibility with font awesome 4
132
+ return (icon.startsWith('fa-') ? `fas ${icon}` : icon)
133
+ }
134
+
135
+ export function processIcon (object, path = 'icon.name') {
136
+ // Process icons for backward compatibility with font awesome 4
137
+ _.set(object, path, getIconName(object, path))
138
+ }
139
+
140
+ // Function to map kdk icons with QIcon from Quasar
141
+ // https://quasar.dev/vue-components/icon#custom-mapping
142
+ export function mapIconFunction (iconName) {
143
+ if (iconName.startsWith('kdk:') === true) {
144
+ // we strip the "kdk:" part
145
+ const name = iconName.substring(4)
146
+ // Return the inlined icon
147
+ return { icon: 'img:icons/kdk/' + name }
148
+ }
149
+ }
150
+
151
+ // Transform nested object to dot notation
152
+ export function dotify (object) {
153
+ const dotifiedObject = {}
154
+ function recurse (object, current) {
155
+ _.forOwn(object, (value, key) => {
156
+ const newKey = (current ? current + '.' + key : key) // joined key with dot
157
+ if (value && typeof value === 'object') {
158
+ recurse(value, newKey) // it's a nested object, so do it again
159
+ } else {
160
+ dotifiedObject[newKey] = value // it's not an object, so set the property
161
+ }
162
+ })
163
+ }
164
+
165
+ recurse(object)
166
+ return dotifiedObject
167
+ }
168
+
169
+ // Regular expression that checks for hex value
170
+ const checkForHexRegExp = /^[0-9a-fA-F]{24}$/
171
+
172
+ // Check if a string is a valid MongoDB Object ID
173
+ export function isObjectID (id) {
174
+ return (id.length === 24 && checkForHexRegExp.test(id))
175
+ }
176
+
177
+ // Add UTC offset to timezone name
178
+ export function getTimezoneLabel (timezone) {
179
+ const offset = moment().tz(timezone).format('Z')
180
+ return `${timezone} (${offset})`
181
+ }
182
+
183
+ // Helper function to load a schema
184
+ // @schema alias shoud be added in the quasar.config build section
185
+ export async function loadSchema (schemaName) {
186
+ try {
187
+ const schemaModule = await import(`@schemas/${schemaName}.json`)
188
+ return schemaModule.default
189
+ } catch (error) {
190
+ logger.error(error)
191
+ }
192
+ }
193
+
194
+ // Helper function to load a component
195
+ // https://vuejs.org/guide/components/async.html
196
+ // @components alias shoud be added in the quasar.config build section
197
+ export function loadComponent (componentName) {
198
+ try {
199
+ return markRaw(defineAsyncComponent(() => import(`@components/${componentName}.vue`)))
200
+ } catch (error) {
201
+ logger.error(error)
202
+ }
203
+ }
@@ -1,52 +1,52 @@
1
- import { api } from '../api.js'
2
-
3
- export async function verifyEmail (email) {
4
- const response = await api.getService('account').verifyEmail({ email })
5
- return response.status === 200 ? true : false
6
- }
7
-
8
- export function resendVerifySignup (email) {
9
- return api.getService('account').create({
10
- action: 'resendVerifySignup',
11
- value: { email }
12
- })
13
- }
14
-
15
- export function verifySignup (token, email) {
16
- return api.getService('account').create({
17
- action: 'verifySignupShort',
18
- value: { user: { email }, token }
19
- })
20
- }
21
-
22
- export function sendResetPassword (email) {
23
- return api.getService('account').create({
24
- action: 'sendResetPwd',
25
- value: { email }
26
- })
27
- }
28
-
29
- export function resetPassword (email, token, password) {
30
- return api.getService('account').create({
31
- action: 'resetPwdShort',
32
- value: { user: { email }, token, password }
33
- })
34
- }
35
-
36
- export function changePassword (email, oldPassword, password) {
37
- return api.getService('account').create({
38
- action: 'passwordChange',
39
- value: { user: { email }, oldPassword, password }
40
- })
41
- }
42
-
43
- export function sendChangeIdentity (oldEmail, email, password) {
44
- return api.getService('account').create({
45
- action: 'identityChange',
46
- value: { user: { email: oldEmail }, changes: { email }, password }
47
- })
48
- }
49
-
50
- export function changeIdentity (token) {
51
- return verifySignup(token)
52
- }
1
+ import { api } from '../api.js'
2
+
3
+ export async function verifyEmail (email) {
4
+ const response = await api.getService('account').verifyEmail({ email })
5
+ return response.status === 200 ? true : false
6
+ }
7
+
8
+ export function resendVerifySignup (email) {
9
+ return api.getService('account').create({
10
+ action: 'resendVerifySignup',
11
+ value: { email }
12
+ })
13
+ }
14
+
15
+ export function verifySignup (token, email) {
16
+ return api.getService('account').create({
17
+ action: 'verifySignupShort',
18
+ value: { user: { email }, token }
19
+ })
20
+ }
21
+
22
+ export function sendResetPassword (email) {
23
+ return api.getService('account').create({
24
+ action: 'sendResetPwd',
25
+ value: { email }
26
+ })
27
+ }
28
+
29
+ export function resetPassword (email, token, password) {
30
+ return api.getService('account').create({
31
+ action: 'resetPwdShort',
32
+ value: { user: { email }, token, password }
33
+ })
34
+ }
35
+
36
+ export function changePassword (email, oldPassword, password) {
37
+ return api.getService('account').create({
38
+ action: 'passwordChange',
39
+ value: { user: { email }, oldPassword, password }
40
+ })
41
+ }
42
+
43
+ export function sendChangeIdentity (oldEmail, email, password) {
44
+ return api.getService('account').create({
45
+ action: 'identityChange',
46
+ value: { user: { email: oldEmail }, changes: { email }, password }
47
+ })
48
+ }
49
+
50
+ export function changeIdentity (token) {
51
+ return verifySignup(token)
52
+ }
@@ -1,36 +1,36 @@
1
- import _ from 'lodash'
2
-
3
- export const Colors = {
4
- dark: '#333',
5
- red: '#f44336',
6
- pink: '#e91e63',
7
- purple: '#9c27b0',
8
- 'deep-purple': '#673ab7',
9
- indigo: '#3f51b5',
10
- blue: '#2196f3',
11
- 'light-blue': '#03a9f4',
12
- cyan: '#00bcd4',
13
- teal: '#009688',
14
- green: '#4caf50',
15
- 'light-green': '#8bc34a',
16
- lime: '#cddc39',
17
- yellow: '#ffeb3b',
18
- amber: '#ffc107',
19
- orange: '#ff9800',
20
- 'deep-orange': '#ff5722',
21
- brown: '#795548',
22
- grey: '#9e9e9e',
23
- 'blue-grey': '#607d8b'
24
- }
25
-
26
- export function getPaletteFromColor (color) {
27
- // Check if already a color of the palette
28
- if (Colors[color]) return color
29
- else return _.findKey(Colors, item => item === color) || 'white'
30
- }
31
-
32
- export function getColorFromPalette (color) {
33
- // Check if already a RGB color
34
- if (color.startsWith('#')) return color
35
- else return Colors[color] || '#ffffff'
36
- }
1
+ import _ from 'lodash'
2
+
3
+ export const Colors = {
4
+ dark: '#333',
5
+ red: '#f44336',
6
+ pink: '#e91e63',
7
+ purple: '#9c27b0',
8
+ 'deep-purple': '#673ab7',
9
+ indigo: '#3f51b5',
10
+ blue: '#2196f3',
11
+ 'light-blue': '#03a9f4',
12
+ cyan: '#00bcd4',
13
+ teal: '#009688',
14
+ green: '#4caf50',
15
+ 'light-green': '#8bc34a',
16
+ lime: '#cddc39',
17
+ yellow: '#ffeb3b',
18
+ amber: '#ffc107',
19
+ orange: '#ff9800',
20
+ 'deep-orange': '#ff5722',
21
+ brown: '#795548',
22
+ grey: '#9e9e9e',
23
+ 'blue-grey': '#607d8b'
24
+ }
25
+
26
+ export function getPaletteFromColor (color) {
27
+ // Check if already a color of the palette
28
+ if (Colors[color]) return color
29
+ else return _.findKey(Colors, item => item === color) || 'white'
30
+ }
31
+
32
+ export function getColorFromPalette (color) {
33
+ // Check if already a RGB color
34
+ if (color.startsWith('#')) return color
35
+ else return Colors[color] || '#ffffff'
36
+ }