@kalisio/kdk 2.6.4 → 2.7.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 (398) hide show
  1. package/core/api/application.js +2 -4
  2. package/core/api/authentication.js +2 -3
  3. package/core/api/db.js +10 -2
  4. package/core/api/hooks/hooks.authorisations.js +4 -2
  5. package/core/api/hooks/hooks.push.js +6 -2
  6. package/core/api/hooks/hooks.query.js +29 -12
  7. package/core/api/hooks/hooks.users.js +30 -17
  8. package/core/api/models/configurations.model.mongodb.js +4 -0
  9. package/core/api/services/authorisations/authorisations.service.js +1 -1
  10. package/core/api/services/configurations/configurations.hooks.js +33 -0
  11. package/core/api/services/index.js +41 -7
  12. package/core/api/services/messages/messages.hooks.js +9 -3
  13. package/core/client/api.js +14 -1
  14. package/core/client/capabilities.js +1 -6
  15. package/core/client/components/KAvatar.vue +24 -20
  16. package/core/client/components/account/KProfile.vue +10 -71
  17. package/core/client/components/account/index.js +0 -2
  18. package/core/client/components/app/KSettings.vue +1 -0
  19. package/core/client/components/collection/KBoard.vue +4 -3
  20. package/core/client/components/collection/KCardSection.vue +1 -0
  21. package/core/client/components/collection/KGrid.vue +2 -0
  22. package/core/client/components/collection/KTable.vue +5 -1
  23. package/core/client/components/collection/KTimeLine.vue +9 -1
  24. package/core/client/components/collection/index.js +0 -2
  25. package/core/client/components/form/KChipsField.vue +2 -1
  26. package/core/client/components/form/KEmailField.vue +1 -0
  27. package/core/client/components/form/KFileField.vue +22 -1
  28. package/core/client/components/form/KForm.vue +2 -0
  29. package/core/client/components/form/KItemField.vue +1 -0
  30. package/core/client/components/form/KNumberField.vue +1 -0
  31. package/core/client/components/form/KPasswordField.vue +1 -0
  32. package/core/client/components/form/KPhoneField.vue +1 -0
  33. package/core/client/components/form/KPropertyItemField.vue +1 -0
  34. package/core/client/components/form/KResolutionField.vue +1 -0
  35. package/core/client/components/form/KSelectField.vue +31 -0
  36. package/core/client/components/form/KTagField.vue +1 -0
  37. package/core/client/components/form/KTextField.vue +1 -0
  38. package/core/client/components/form/KTokenField.vue +1 -0
  39. package/core/client/components/form/KUnitField.vue +1 -0
  40. package/core/client/components/form/KUrlField.vue +1 -0
  41. package/core/client/components/graphics/KIcon.vue +3 -4
  42. package/core/client/components/layout/KPage.vue +1 -0
  43. package/core/client/components/layout/KWindow.vue +6 -3
  44. package/core/client/components/messages/KMessageComposer.vue +2 -1
  45. package/core/client/components/messages/KMessagesTimeLine.vue +1 -1
  46. package/core/client/components/time/KDate.vue +1 -2
  47. package/core/client/components/time/KDateTime.vue +11 -11
  48. package/core/client/components/time/KTime.vue +1 -1
  49. package/core/client/composables/collection.js +33 -8
  50. package/core/client/composables/errors.js +1 -1
  51. package/core/client/composables/layout.js +9 -9
  52. package/core/client/configurations.js +50 -0
  53. package/core/client/exporter.js +1 -1
  54. package/core/client/i18n/core_en.json +6 -39
  55. package/core/client/i18n/core_fr.json +6 -39
  56. package/core/client/index.js +2 -0
  57. package/core/client/layout.js +8 -8
  58. package/core/client/mixins/mixin.base-activity.js +5 -2
  59. package/core/client/mixins/mixin.base-field.js +3 -3
  60. package/core/client/search.js +2 -1
  61. package/core/client/utils/utils.collection.js +8 -8
  62. package/core/client/utils/utils.items.js +4 -0
  63. package/core/client/utils/utils.push.js +3 -3
  64. package/core/client/utils/utils.session.js +7 -5
  65. package/core/client/utils/utils.shapes.js +38 -7
  66. package/core/client/utils/utils.time.js +21 -22
  67. package/core/common/schemas/users.update-profile.json +3 -2
  68. package/coverage/core/api/application.js.html +392 -398
  69. package/coverage/core/api/authentication.js.html +352 -187
  70. package/coverage/core/api/db.js.html +165 -126
  71. package/coverage/core/api/hooks/hooks.authentication.js.html +22 -196
  72. package/coverage/core/api/hooks/hooks.authorisations.js.html +383 -662
  73. package/coverage/core/api/hooks/hooks.logger.js.html +41 -41
  74. package/coverage/core/api/hooks/hooks.model.js.html +113 -101
  75. package/coverage/core/api/hooks/hooks.push.js.html +124 -97
  76. package/coverage/core/api/hooks/hooks.query.js.html +292 -217
  77. package/coverage/core/api/hooks/hooks.schemas.js.html +123 -123
  78. package/coverage/core/api/hooks/hooks.service.js.html +1 -1
  79. package/coverage/core/api/hooks/hooks.storage.js.html +1 -1
  80. package/coverage/core/api/hooks/{hooks.groups.js.html → hooks.tags.js.html} +100 -76
  81. package/coverage/core/api/hooks/hooks.users.js.html +255 -447
  82. package/coverage/core/api/hooks/index.html +107 -122
  83. package/coverage/core/api/hooks/index.js.html +4 -10
  84. package/coverage/core/api/index.html +46 -61
  85. package/coverage/core/api/index.js.html +9 -9
  86. package/coverage/core/api/marshall.js.html +9 -9
  87. package/coverage/core/api/models/{organisations.model.mongodb.js.html → configurations.model.mongodb.js.html} +10 -7
  88. package/coverage/core/api/models/index.html +35 -50
  89. package/coverage/core/api/models/messages.model.mongodb.js.html +39 -27
  90. package/coverage/core/api/models/tags.model.mongodb.js.html +26 -32
  91. package/coverage/core/api/models/users.model.mongodb.js.html +10 -10
  92. package/coverage/core/api/services/account/account.hooks.js.html +5 -5
  93. package/coverage/core/api/services/account/account.service.js.html +127 -127
  94. package/coverage/core/api/services/account/index.html +22 -22
  95. package/coverage/core/api/services/authorisations/authorisations.hooks.js.html +1 -1
  96. package/coverage/core/api/services/authorisations/authorisations.service.js.html +213 -222
  97. package/coverage/core/api/services/authorisations/index.html +21 -21
  98. package/coverage/core/api/services/{organisations/organisations.hooks.js.html → configurations/configurations.hooks.js.html} +16 -10
  99. package/coverage/core/api/services/{groups → configurations}/index.html +8 -8
  100. package/coverage/core/api/services/databases/databases.hooks.js.html +1 -1
  101. package/coverage/core/api/services/databases/databases.service.js.html +1 -1
  102. package/coverage/core/api/services/databases/index.html +1 -1
  103. package/coverage/core/api/services/import-export/import-export.hooks.js.html +76 -76
  104. package/coverage/core/api/services/import-export/import-export.service.js.html +32 -32
  105. package/coverage/core/api/services/import-export/index.html +32 -32
  106. package/coverage/core/api/services/index.html +21 -21
  107. package/coverage/core/api/services/index.js.html +313 -142
  108. package/coverage/core/api/services/mailer/index.html +32 -32
  109. package/coverage/core/api/services/mailer/mailer.hooks.js.html +80 -80
  110. package/coverage/core/api/services/mailer/mailer.service.js.html +32 -32
  111. package/coverage/core/api/services/messages/index.html +21 -21
  112. package/coverage/core/api/services/messages/messages.hooks.js.html +112 -76
  113. package/coverage/core/api/services/push/index.html +32 -32
  114. package/coverage/core/api/services/push/push.hooks.js.html +80 -80
  115. package/coverage/core/api/services/push/push.service.js.html +34 -34
  116. package/coverage/core/api/services/storage/index.html +29 -29
  117. package/coverage/core/api/services/storage/storage.hooks.js.html +80 -80
  118. package/coverage/core/api/services/storage/storage.service.js.html +29 -29
  119. package/coverage/core/api/services/tags/index.html +21 -21
  120. package/coverage/core/api/services/tags/tags.hooks.js.html +119 -71
  121. package/coverage/core/api/services/users/index.html +27 -12
  122. package/coverage/core/api/services/users/users.hooks.js.html +14 -11
  123. package/coverage/core/api/services/users/users.service.js.html +100 -0
  124. package/coverage/core/common/errors.js.html +1 -1
  125. package/coverage/core/common/index.html +42 -27
  126. package/coverage/core/common/index.js.html +1 -1
  127. package/coverage/core/common/permissions.js.html +166 -472
  128. package/coverage/core/common/schema.js.html +4 -4
  129. package/coverage/core/common/utils.js.html +31 -25
  130. package/coverage/core/common/utils.offline.js.html +199 -0
  131. package/coverage/index.html +192 -192
  132. package/coverage/lcov-report/core/api/application.js.html +392 -398
  133. package/coverage/lcov-report/core/api/authentication.js.html +352 -187
  134. package/coverage/lcov-report/core/api/db.js.html +165 -126
  135. package/coverage/lcov-report/core/api/hooks/hooks.authentication.js.html +22 -196
  136. package/coverage/lcov-report/core/api/hooks/hooks.authorisations.js.html +383 -662
  137. package/coverage/lcov-report/core/api/hooks/hooks.logger.js.html +41 -41
  138. package/coverage/lcov-report/core/api/hooks/hooks.model.js.html +113 -101
  139. package/coverage/lcov-report/core/api/hooks/hooks.push.js.html +124 -97
  140. package/coverage/lcov-report/core/api/hooks/hooks.query.js.html +292 -217
  141. package/coverage/lcov-report/core/api/hooks/hooks.schemas.js.html +123 -123
  142. package/coverage/lcov-report/core/api/hooks/hooks.service.js.html +1 -1
  143. package/coverage/lcov-report/core/api/hooks/hooks.storage.js.html +1 -1
  144. package/coverage/lcov-report/core/api/hooks/{hooks.groups.js.html → hooks.tags.js.html} +100 -76
  145. package/coverage/lcov-report/core/api/hooks/hooks.users.js.html +255 -447
  146. package/coverage/lcov-report/core/api/hooks/index.html +107 -122
  147. package/coverage/lcov-report/core/api/hooks/index.js.html +4 -10
  148. package/coverage/lcov-report/core/api/index.html +46 -61
  149. package/coverage/lcov-report/core/api/index.js.html +9 -9
  150. package/coverage/lcov-report/core/api/marshall.js.html +9 -9
  151. package/coverage/lcov-report/core/api/models/{organisations.model.mongodb.js.html → configurations.model.mongodb.js.html} +10 -7
  152. package/coverage/lcov-report/core/api/models/index.html +35 -50
  153. package/coverage/lcov-report/core/api/models/messages.model.mongodb.js.html +39 -27
  154. package/coverage/lcov-report/core/api/models/tags.model.mongodb.js.html +26 -32
  155. package/coverage/lcov-report/core/api/models/users.model.mongodb.js.html +10 -10
  156. package/coverage/lcov-report/core/api/services/account/account.hooks.js.html +5 -5
  157. package/coverage/lcov-report/core/api/services/account/account.service.js.html +127 -127
  158. package/coverage/lcov-report/core/api/services/account/index.html +22 -22
  159. package/coverage/lcov-report/core/api/services/authorisations/authorisations.hooks.js.html +1 -1
  160. package/coverage/lcov-report/core/api/services/authorisations/authorisations.service.js.html +213 -222
  161. package/coverage/lcov-report/core/api/services/authorisations/index.html +21 -21
  162. package/coverage/lcov-report/core/api/services/{groups/groups.hooks.js.html → configurations/configurations.hooks.js.html} +16 -10
  163. package/coverage/lcov-report/core/api/services/{groups → configurations}/index.html +8 -8
  164. package/coverage/lcov-report/core/api/services/databases/databases.hooks.js.html +1 -1
  165. package/coverage/lcov-report/core/api/services/databases/databases.service.js.html +1 -1
  166. package/coverage/lcov-report/core/api/services/databases/index.html +1 -1
  167. package/coverage/lcov-report/core/api/services/import-export/import-export.hooks.js.html +76 -76
  168. package/coverage/lcov-report/core/api/services/import-export/import-export.service.js.html +32 -32
  169. package/coverage/lcov-report/core/api/services/import-export/index.html +32 -32
  170. package/coverage/lcov-report/core/api/services/index.html +21 -21
  171. package/coverage/lcov-report/core/api/services/index.js.html +313 -142
  172. package/coverage/lcov-report/core/api/services/mailer/index.html +32 -32
  173. package/coverage/lcov-report/core/api/services/mailer/mailer.hooks.js.html +80 -80
  174. package/coverage/lcov-report/core/api/services/mailer/mailer.service.js.html +32 -32
  175. package/coverage/lcov-report/core/api/services/messages/index.html +21 -21
  176. package/coverage/lcov-report/core/api/services/messages/messages.hooks.js.html +112 -76
  177. package/coverage/lcov-report/core/api/services/push/index.html +32 -32
  178. package/coverage/lcov-report/core/api/services/push/push.hooks.js.html +80 -80
  179. package/coverage/lcov-report/core/api/services/push/push.service.js.html +34 -34
  180. package/coverage/lcov-report/core/api/services/storage/index.html +29 -29
  181. package/coverage/lcov-report/core/api/services/storage/storage.hooks.js.html +80 -80
  182. package/coverage/lcov-report/core/api/services/storage/storage.service.js.html +29 -29
  183. package/coverage/lcov-report/core/api/services/tags/index.html +21 -21
  184. package/coverage/lcov-report/core/api/services/tags/tags.hooks.js.html +119 -71
  185. package/coverage/lcov-report/core/api/services/users/index.html +27 -12
  186. package/coverage/lcov-report/core/api/services/users/users.hooks.js.html +14 -11
  187. package/coverage/lcov-report/core/api/services/users/users.service.js.html +100 -0
  188. package/coverage/lcov-report/core/common/errors.js.html +1 -1
  189. package/coverage/lcov-report/core/common/index.html +42 -27
  190. package/coverage/lcov-report/core/common/index.js.html +1 -1
  191. package/coverage/lcov-report/core/common/permissions.js.html +166 -472
  192. package/coverage/lcov-report/core/common/schema.js.html +4 -4
  193. package/coverage/lcov-report/core/common/utils.js.html +31 -25
  194. package/coverage/lcov-report/core/common/utils.offline.js.html +199 -0
  195. package/coverage/lcov-report/index.html +192 -192
  196. package/coverage/lcov-report/map/api/hooks/hooks.catalog.js.html +169 -31
  197. package/coverage/lcov-report/map/api/hooks/hooks.features.js.html +1 -1
  198. package/coverage/lcov-report/map/api/hooks/hooks.query.js.html +215 -35
  199. package/coverage/lcov-report/map/api/hooks/index.html +7 -7
  200. package/coverage/lcov-report/map/api/hooks/index.js.html +1 -1
  201. package/coverage/lcov-report/map/api/index.html +1 -1
  202. package/coverage/lcov-report/map/api/index.js.html +1 -1
  203. package/coverage/lcov-report/map/api/marshall.js.html +1 -1
  204. package/coverage/lcov-report/map/api/models/alerts.model.mongodb.js.html +1 -1
  205. package/coverage/lcov-report/map/api/models/catalog.model.mongodb.js.html +82 -7
  206. package/coverage/lcov-report/map/api/models/features.model.mongodb.js.html +1 -1
  207. package/coverage/lcov-report/map/api/models/index.html +22 -7
  208. package/coverage/lcov-report/map/api/models/projects.model.mongodb.js.html +1 -1
  209. package/coverage/lcov-report/{core/api/models/groups.model.mongodb.js.html → map/api/models/styles.model.mongodb.js.html} +10 -7
  210. package/coverage/lcov-report/map/api/services/alerts/alerts.hooks.js.html +1 -1
  211. package/coverage/lcov-report/map/api/services/alerts/alerts.service.js.html +1 -1
  212. package/coverage/lcov-report/map/api/services/alerts/index.html +1 -1
  213. package/coverage/lcov-report/map/api/services/catalog/catalog.hooks.js.html +39 -12
  214. package/coverage/lcov-report/map/api/services/catalog/index.html +5 -5
  215. package/coverage/lcov-report/map/api/services/daptiles/daptiles.service.js.html +1 -1
  216. package/coverage/lcov-report/map/api/services/daptiles/index.html +1 -1
  217. package/coverage/lcov-report/map/api/services/features/features.hooks.js.html +86 -11
  218. package/coverage/lcov-report/map/api/services/features/features.service.js.html +307 -4
  219. package/coverage/lcov-report/map/api/services/features/index.html +7 -7
  220. package/coverage/lcov-report/map/api/services/index.html +5 -5
  221. package/coverage/lcov-report/map/api/services/index.js.html +326 -50
  222. package/coverage/lcov-report/map/api/services/projects/index.html +1 -1
  223. package/coverage/lcov-report/map/api/services/projects/projects.hooks.js.html +1 -1
  224. package/coverage/{core/api/services/organisations → lcov-report/map/api/services/styles}/index.html +10 -25
  225. package/coverage/lcov-report/{core/api/services/organisations/organisations.hooks.js.html → map/api/services/styles/styles.hooks.js.html} +45 -12
  226. package/coverage/lcov-report/map/common/dynamic-grid-source.js.html +1 -1
  227. package/coverage/lcov-report/map/common/errors.js.html +1 -1
  228. package/coverage/lcov-report/map/common/geotiff-grid-source.js.html +7 -10
  229. package/coverage/lcov-report/map/common/grid.js.html +1 -1
  230. package/coverage/lcov-report/map/common/index.html +19 -19
  231. package/coverage/lcov-report/map/common/index.js.html +1 -1
  232. package/coverage/lcov-report/map/common/meteo-model-grid-source.js.html +1 -1
  233. package/coverage/lcov-report/map/common/moment-utils.js.html +1 -1
  234. package/coverage/lcov-report/map/common/opendap-grid-source.js.html +1 -1
  235. package/coverage/lcov-report/map/common/opendap-utils.js.html +4 -7
  236. package/coverage/lcov-report/map/common/permissions.js.html +10 -4
  237. package/coverage/lcov-report/map/common/time-based-grid-source.js.html +1 -1
  238. package/coverage/lcov-report/map/common/tms-utils.js.html +9 -12
  239. package/coverage/lcov-report/map/common/wcs-grid-source.js.html +3 -3
  240. package/coverage/lcov-report/map/common/wcs-utils.js.html +12 -15
  241. package/coverage/lcov-report/map/common/weacast-grid-source.js.html +2 -2
  242. package/coverage/lcov-report/map/common/wfs-utils.js.html +14 -17
  243. package/coverage/lcov-report/map/common/wms-utils.js.html +30 -12
  244. package/coverage/lcov-report/map/common/wmts-utils.js.html +10 -13
  245. package/coverage/lcov.info +4157 -3816
  246. package/coverage/map/api/hooks/hooks.catalog.js.html +169 -31
  247. package/coverage/map/api/hooks/hooks.features.js.html +1 -1
  248. package/coverage/map/api/hooks/hooks.query.js.html +215 -35
  249. package/coverage/map/api/hooks/index.html +7 -7
  250. package/coverage/map/api/hooks/index.js.html +1 -1
  251. package/coverage/map/api/index.html +1 -1
  252. package/coverage/map/api/index.js.html +1 -1
  253. package/coverage/map/api/marshall.js.html +1 -1
  254. package/coverage/map/api/models/alerts.model.mongodb.js.html +1 -1
  255. package/coverage/map/api/models/catalog.model.mongodb.js.html +82 -7
  256. package/coverage/map/api/models/features.model.mongodb.js.html +1 -1
  257. package/coverage/map/api/models/index.html +22 -7
  258. package/coverage/map/api/models/projects.model.mongodb.js.html +1 -1
  259. package/coverage/{core/api/models/groups.model.mongodb.js.html → map/api/models/styles.model.mongodb.js.html} +10 -7
  260. package/coverage/map/api/services/alerts/alerts.hooks.js.html +1 -1
  261. package/coverage/map/api/services/alerts/alerts.service.js.html +1 -1
  262. package/coverage/map/api/services/alerts/index.html +1 -1
  263. package/coverage/map/api/services/catalog/catalog.hooks.js.html +39 -12
  264. package/coverage/map/api/services/catalog/index.html +5 -5
  265. package/coverage/map/api/services/daptiles/daptiles.service.js.html +1 -1
  266. package/coverage/map/api/services/daptiles/index.html +1 -1
  267. package/coverage/map/api/services/features/features.hooks.js.html +86 -11
  268. package/coverage/map/api/services/features/features.service.js.html +307 -4
  269. package/coverage/map/api/services/features/index.html +7 -7
  270. package/coverage/map/api/services/index.html +5 -5
  271. package/coverage/map/api/services/index.js.html +326 -50
  272. package/coverage/map/api/services/projects/index.html +1 -1
  273. package/coverage/map/api/services/projects/projects.hooks.js.html +1 -1
  274. package/coverage/{lcov-report/core/api/services/organisations → map/api/services/styles}/index.html +10 -25
  275. package/coverage/{core/api/services/groups/groups.hooks.js.html → map/api/services/styles/styles.hooks.js.html} +45 -12
  276. package/coverage/map/common/dynamic-grid-source.js.html +1 -1
  277. package/coverage/map/common/errors.js.html +1 -1
  278. package/coverage/map/common/geotiff-grid-source.js.html +7 -10
  279. package/coverage/map/common/grid.js.html +1 -1
  280. package/coverage/map/common/index.html +19 -19
  281. package/coverage/map/common/index.js.html +1 -1
  282. package/coverage/map/common/meteo-model-grid-source.js.html +1 -1
  283. package/coverage/map/common/moment-utils.js.html +1 -1
  284. package/coverage/map/common/opendap-grid-source.js.html +1 -1
  285. package/coverage/map/common/opendap-utils.js.html +4 -7
  286. package/coverage/map/common/permissions.js.html +10 -4
  287. package/coverage/map/common/time-based-grid-source.js.html +1 -1
  288. package/coverage/map/common/tms-utils.js.html +9 -12
  289. package/coverage/map/common/wcs-grid-source.js.html +3 -3
  290. package/coverage/map/common/wcs-utils.js.html +12 -15
  291. package/coverage/map/common/weacast-grid-source.js.html +2 -2
  292. package/coverage/map/common/wfs-utils.js.html +14 -17
  293. package/coverage/map/common/wms-utils.js.html +30 -12
  294. package/coverage/map/common/wmts-utils.js.html +10 -13
  295. package/coverage/tmp/coverage-1028514-1773134124472-0.json +1 -0
  296. package/coverage/tmp/coverage-1028526-1773134124448-0.json +1 -0
  297. package/coverage/tmp/coverage-1028537-1773134124431-0.json +1 -0
  298. package/coverage/tmp/coverage-1028549-1773134124401-0.json +1 -0
  299. package/coverage/tmp/coverage-1028556-1773134124353-0.json +1 -0
  300. package/extras/configs/widgets.top.js +3 -3
  301. package/extras/tests/core/collection.mjs +2 -9
  302. package/extras/tours/pane.top.js +0 -9
  303. package/map/api/hooks/hooks.catalog.js +18 -4
  304. package/map/api/services/catalog/catalog.hooks.js +3 -0
  305. package/map/api/services/features/features.hooks.js +3 -1
  306. package/map/api/services/index.js +2 -6
  307. package/map/api/services/styles/styles.hooks.js +6 -1
  308. package/map/client/components/KFeatureActionButton.vue +9 -3
  309. package/map/client/components/KFeaturesFilterManager.vue +5 -5
  310. package/map/client/components/KFilterCondition.vue +17 -10
  311. package/map/client/components/KLayerEditor.vue +49 -39
  312. package/map/client/components/KMeasureTool.vue +7 -1
  313. package/map/client/components/KTimezoneMap.vue +29 -9
  314. package/map/client/components/catalog/KLayersPanel.vue +26 -16
  315. package/map/client/components/catalog/KLayersSelector.vue +13 -2
  316. package/map/client/components/catalog/KViewsPanel.vue +5 -4
  317. package/map/client/components/form/KSelectLayersField.vue +28 -17
  318. package/map/client/components/form/KSelectViewsField.vue +18 -9
  319. package/map/client/components/form/KTimezoneField.vue +1 -2
  320. package/map/client/components/legend/KVariablesLegend.vue +10 -1
  321. package/map/client/components/location/KLocationCardSection.vue +7 -2
  322. package/map/client/components/location/KLocationMap.vue +31 -7
  323. package/map/client/components/selection/KSelectedLayerFeatures.vue +2 -2
  324. package/map/client/components/stickies/KZoomControl.vue +1 -1
  325. package/map/client/components/styles/KStyleManager.vue +4 -1
  326. package/map/client/components/widget/KTimeSeries.vue +174 -497
  327. package/map/client/components/widget/KTimeSeriesSelector.vue +72 -0
  328. package/map/client/components/widget/KTimeSeriesToolbar.vue +83 -0
  329. package/map/client/composables/catalog.js +6 -10
  330. package/map/client/composables/highlight.js +12 -9
  331. package/map/client/composables/project.js +1 -1
  332. package/map/client/composables/selection.js +8 -7
  333. package/map/client/composables/weather.js +9 -2
  334. package/map/client/geolocation.js +8 -5
  335. package/map/client/i18n/map_en.json +11 -10
  336. package/map/client/i18n/map_fr.json +10 -9
  337. package/map/client/leaflet/TiledFeatureLayer.js +85 -82
  338. package/map/client/leaflet/utils/utils.geojson.js +3 -3
  339. package/map/client/mixins/globe/mixin.base-globe.js +15 -6
  340. package/map/client/mixins/globe/mixin.geojson-layers.js +27 -18
  341. package/map/client/mixins/map/mixin.edit-layers.js +9 -1
  342. package/map/client/mixins/map/mixin.pmtiles-layers.js +118 -29
  343. package/map/client/mixins/map/mixin.tiled-mesh-layers.js +12 -5
  344. package/map/client/mixins/map/mixin.tiled-wind-layers.js +19 -10
  345. package/map/client/mixins/mixin.activity.js +23 -30
  346. package/map/client/mixins/mixin.feature-selection.js +41 -5
  347. package/map/client/planets.js +1 -1
  348. package/map/client/readers/reader.kml.js +2 -3
  349. package/map/client/utils/utils.catalog.js +36 -10
  350. package/map/client/utils/utils.layers.js +39 -8
  351. package/map/client/utils/utils.project.js +4 -0
  352. package/map/client/utils/utils.style.js +37 -7
  353. package/map/client/utils/utils.time-series.js +215 -6
  354. package/map/common/schemas/catalog.update.json +1 -1
  355. package/map/common/weacast-grid-source.js +1 -1
  356. package/package.json +3 -3
  357. package/scripts/kash/CHANGELOG.md +0 -4
  358. package/scripts/kash/README.md +0 -9
  359. package/scripts/kash/kash.sh +45 -40
  360. package/scripts/kash/scripts/run_tests.sh +1 -4
  361. package/test/api/core/authentication.test.js +9 -4
  362. package/test/api/core/config/default.cjs +1 -0
  363. package/test/api/core/hooks.test.js +6 -0
  364. package/test/api/core/index.test.js +43 -18
  365. package/test/api/core/push.test.js +8 -8
  366. package/test/api/core/test-log-2026-03-10.log +60 -0
  367. package/test/api/core/users.test.js +384 -0
  368. package/test/api/map/grid-sources.test.js +1 -1
  369. package/test/api/map/test-log-2026-03-10.log +56 -0
  370. package/vite/package.json +11 -2
  371. package/vite/test/core/composables.test.js +77 -0
  372. package/vite/vitest.config.js +13 -0
  373. package/vite/yarn.lock +1096 -18
  374. package/.vscode/settings.json +0 -5
  375. package/core/client/components/account/KAccount.vue +0 -68
  376. package/core/client/components/account/KDeleteAccountManager.vue +0 -62
  377. package/core/client/components/account/KEmailManager.vue +0 -128
  378. package/core/client/components/account/KPasswordManager.vue +0 -90
  379. package/core/client/components/account/KVerifyEmailManager.vue +0 -105
  380. package/core/client/components/collection/KColumn.vue +0 -227
  381. package/core/client/components/collection/KHistory.vue +0 -113
  382. package/core/client/components/collection/KHistoryEntry.vue +0 -109
  383. package/coverage/core/api/hooks/hooks.organisations.js.html +0 -541
  384. package/coverage/core/api/services/organisations/organisations.service.js.html +0 -343
  385. package/coverage/core/api/utils.js.html +0 -118
  386. package/coverage/lcov-report/core/api/hooks/hooks.organisations.js.html +0 -541
  387. package/coverage/lcov-report/core/api/services/organisations/organisations.service.js.html +0 -343
  388. package/coverage/lcov-report/core/api/utils.js.html +0 -118
  389. package/coverage/tmp/coverage-151166-1723543324307-0.json +0 -1
  390. package/coverage/tmp/coverage-151178-1723543324283-0.json +0 -1
  391. package/coverage/tmp/coverage-151189-1723543324271-0.json +0 -1
  392. package/coverage/tmp/coverage-151201-1723543324248-0.json +0 -1
  393. package/coverage/tmp/coverage-151208-1723543324227-0.json +0 -1
  394. package/scripts/kash/LICENSE +0 -21
  395. package/test/api/core/test-log-2024-04-22.log +0 -84
  396. package/test/api/core/test-log-2024-04-23.log +0 -23
  397. package/test/api/core/test-log-2024-08-13.log +0 -3
  398. package/test/api/map/test-log-2025-03-08.log +0 -0
@@ -3,7 +3,7 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for core/api/services/organisations</title>
6
+ <title>Code coverage report for map/api/services/styles</title>
7
7
  <meta charset="utf-8" />
8
8
  <link rel="stylesheet" href="../../../../prettify.css" />
9
9
  <link rel="stylesheet" href="../../../../base.css" />
@@ -19,34 +19,34 @@
19
19
  <body>
20
20
  <div class='wrapper'>
21
21
  <div class='pad1'>
22
- <h1><a href="../../../../index.html">All files</a> core/api/services/organisations</h1>
22
+ <h1><a href="../../../../index.html">All files</a> map/api/services/styles</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">0% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>0/117</span>
28
+ <span class='fraction'>0/42</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
33
  <span class="strong">0% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>0/2</span>
35
+ <span class='fraction'>0/1</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">0% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>0/2</span>
42
+ <span class='fraction'>0/1</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">0% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>0/117</span>
49
+ <span class='fraction'>0/42</span>
50
50
  </div>
51
51
 
52
52
 
@@ -79,33 +79,18 @@
79
79
  </tr>
80
80
  </thead>
81
81
  <tbody><tr>
82
- <td class="file low" data-value="organisations.hooks.js"><a href="organisations.hooks.js.html">organisations.hooks.js</a></td>
82
+ <td class="file low" data-value="styles.hooks.js"><a href="styles.hooks.js.html">styles.hooks.js</a></td>
83
83
  <td data-value="0" class="pic low">
84
84
  <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
85
85
  </td>
86
86
  <td data-value="0" class="pct low">0%</td>
87
- <td data-value="31" class="abs low">0/31</td>
87
+ <td data-value="42" class="abs low">0/42</td>
88
88
  <td data-value="0" class="pct low">0%</td>
89
89
  <td data-value="1" class="abs low">0/1</td>
90
90
  <td data-value="0" class="pct low">0%</td>
91
91
  <td data-value="1" class="abs low">0/1</td>
92
92
  <td data-value="0" class="pct low">0%</td>
93
- <td data-value="31" class="abs low">0/31</td>
94
- </tr>
95
-
96
- <tr>
97
- <td class="file low" data-value="organisations.service.js"><a href="organisations.service.js.html">organisations.service.js</a></td>
98
- <td data-value="0" class="pic low">
99
- <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
100
- </td>
101
- <td data-value="0" class="pct low">0%</td>
102
- <td data-value="86" class="abs low">0/86</td>
103
- <td data-value="0" class="pct low">0%</td>
104
- <td data-value="1" class="abs low">0/1</td>
105
- <td data-value="0" class="pct low">0%</td>
106
- <td data-value="1" class="abs low">0/1</td>
107
- <td data-value="0" class="pct low">0%</td>
108
- <td data-value="86" class="abs low">0/86</td>
93
+ <td data-value="42" class="abs low">0/42</td>
109
94
  </tr>
110
95
 
111
96
  </tbody>
@@ -116,7 +101,7 @@
116
101
  <div class='footer quiet pad2 space-top1 center small'>
117
102
  Code coverage generated by
118
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at 2024-08-13T10:02:04.843Z
104
+ at 2026-03-10T09:15:24.774Z
120
105
  </div>
121
106
  <script src="../../../../prettify.js"></script>
122
107
  <script>
@@ -3,7 +3,7 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for core/api/services/organisations/organisations.hooks.js</title>
6
+ <title>Code coverage report for map/api/services/styles/styles.hooks.js</title>
7
7
  <meta charset="utf-8" />
8
8
  <link rel="stylesheet" href="../../../../prettify.css" />
9
9
  <link rel="stylesheet" href="../../../../base.css" />
@@ -19,13 +19,13 @@
19
19
  <body>
20
20
  <div class='wrapper'>
21
21
  <div class='pad1'>
22
- <h1><a href="../../../../index.html">All files</a> / <a href="index.html">core/api/services/organisations</a> organisations.hooks.js</h1>
22
+ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">map/api/services/styles</a> styles.hooks.js</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">0% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>0/31</span>
28
+ <span class='fraction'>0/42</span>
29
29
  </div>
30
30
 
31
31
 
@@ -46,7 +46,7 @@
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">0% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>0/31</span>
49
+ <span class='fraction'>0/42</span>
50
50
  </div>
51
51
 
52
52
 
@@ -94,7 +94,18 @@
94
94
  <a name='L29'></a><a href='#L29'>29</a>
95
95
  <a name='L30'></a><a href='#L30'>30</a>
96
96
  <a name='L31'></a><a href='#L31'>31</a>
97
- <a name='L32'></a><a href='#L32'>32</a></td><td class="line-coverage quiet"><span class="cline-any cline-no">&nbsp;</span>
97
+ <a name='L32'></a><a href='#L32'>32</a>
98
+ <a name='L33'></a><a href='#L33'>33</a>
99
+ <a name='L34'></a><a href='#L34'>34</a>
100
+ <a name='L35'></a><a href='#L35'>35</a>
101
+ <a name='L36'></a><a href='#L36'>36</a>
102
+ <a name='L37'></a><a href='#L37'>37</a>
103
+ <a name='L38'></a><a href='#L38'>38</a>
104
+ <a name='L39'></a><a href='#L39'>39</a>
105
+ <a name='L40'></a><a href='#L40'>40</a>
106
+ <a name='L41'></a><a href='#L41'>41</a>
107
+ <a name='L42'></a><a href='#L42'>42</a>
108
+ <a name='L43'></a><a href='#L43'>43</a></td><td class="line-coverage quiet"><span class="cline-any cline-no">&nbsp;</span>
98
109
  <span class="cline-any cline-no">&nbsp;</span>
99
110
  <span class="cline-any cline-no">&nbsp;</span>
100
111
  <span class="cline-any cline-no">&nbsp;</span>
@@ -125,14 +136,36 @@
125
136
  <span class="cline-any cline-no">&nbsp;</span>
126
137
  <span class="cline-any cline-no">&nbsp;</span>
127
138
  <span class="cline-any cline-no">&nbsp;</span>
128
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" ><span class="branch-0 cbranch-no" title="branch not covered" >export default {</span></span></span>
139
+ <span class="cline-any cline-no">&nbsp;</span>
140
+ <span class="cline-any cline-no">&nbsp;</span>
141
+ <span class="cline-any cline-no">&nbsp;</span>
142
+ <span class="cline-any cline-no">&nbsp;</span>
143
+ <span class="cline-any cline-no">&nbsp;</span>
144
+ <span class="cline-any cline-no">&nbsp;</span>
145
+ <span class="cline-any cline-no">&nbsp;</span>
146
+ <span class="cline-any cline-no">&nbsp;</span>
147
+ <span class="cline-any cline-no">&nbsp;</span>
148
+ <span class="cline-any cline-no">&nbsp;</span>
149
+ <span class="cline-any cline-no">&nbsp;</span>
150
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" ><span class="branch-0 cbranch-no" title="branch not covered" >import fuzzySearch from 'feathers-mongodb-fuzzy-search'</span></span></span>
151
+ <span class="cstat-no" title="statement not covered" >import { hooks as kdkCoreHooks } from '../../../../core/api/index.js'</span>
152
+ <span class="cstat-no" title="statement not covered" ></span>
153
+ <span class="cstat-no" title="statement not covered" >export default {</span>
129
154
  <span class="cstat-no" title="statement not covered" > before: {</span>
130
- <span class="cstat-no" title="statement not covered" > all: [],</span>
131
- <span class="cstat-no" title="statement not covered" > find: [],</span>
155
+ <span class="cstat-no" title="statement not covered" > all: [kdkCoreHooks.marshallHttpQuery],</span>
156
+ <span class="cstat-no" title="statement not covered" > find: [</span>
157
+ <span class="cstat-no" title="statement not covered" > fuzzySearch({ fields: ['name'] }),</span>
158
+ <span class="cstat-no" title="statement not covered" > kdkCoreHooks.diacriticSearch()</span>
159
+ <span class="cstat-no" title="statement not covered" > ],</span>
132
160
  <span class="cstat-no" title="statement not covered" > get: [],</span>
133
- <span class="cstat-no" title="statement not covered" > create: [],</span>
134
- <span class="cstat-no" title="statement not covered" > update: [],</span>
135
- <span class="cstat-no" title="statement not covered" > patch: [],</span>
161
+ <span class="cstat-no" title="statement not covered" > create: [</span>
162
+ <span class="cstat-no" title="statement not covered" > // Usually conversion of _id to ObjectID is performed by an app-evel hook, which is not yet setup when creating the service.</span>
163
+ <span class="cstat-no" title="statement not covered" > // As we can create features when initializing layer service/data we add it here as well to ensure it will work fine anyway.</span>
164
+ <span class="cstat-no" title="statement not covered" > kdkCoreHooks.convertObjectIDs(['_id']),</span>
165
+ <span class="cstat-no" title="statement not covered" > kdkCoreHooks.checkUnique({ field: 'name' })</span>
166
+ <span class="cstat-no" title="statement not covered" > ],</span>
167
+ <span class="cstat-no" title="statement not covered" > update: [kdkCoreHooks.checkUnique({ field: 'name' })],</span>
168
+ <span class="cstat-no" title="statement not covered" > patch: [kdkCoreHooks.checkUnique({ field: 'name' })],</span>
136
169
  <span class="cstat-no" title="statement not covered" > remove: []</span>
137
170
  <span class="cstat-no" title="statement not covered" > },</span>
138
171
  <span class="cstat-no" title="statement not covered" ></span>
@@ -163,7 +196,7 @@
163
196
  <div class='footer quiet pad2 space-top1 center small'>
164
197
  Code coverage generated by
165
198
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
166
- at 2024-08-13T10:02:04.872Z
199
+ at 2026-03-10T09:15:24.774Z
167
200
  </div>
168
201
  <script src="../../../../prettify.js"></script>
169
202
  <script>
@@ -451,7 +451,7 @@
451
451
  <div class='footer quiet pad2 space-top1 center small'>
452
452
  Code coverage generated by
453
453
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
454
- at 2024-08-13T10:02:04.872Z
454
+ at 2026-03-10T09:15:24.774Z
455
455
  </div>
456
456
  <script src="../../prettify.js"></script>
457
457
  <script>
@@ -79,7 +79,7 @@
79
79
  <div class='footer quiet pad2 space-top1 center small'>
80
80
  Code coverage generated by
81
81
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
82
- at 2024-08-13T10:02:04.872Z
82
+ at 2026-03-10T09:15:24.774Z
83
83
  </div>
84
84
  <script src="../../prettify.js"></script>
85
85
  <script>
@@ -25,7 +25,7 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">0% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>0/152</span>
28
+ <span class='fraction'>0/151</span>
29
29
  </div>
30
30
 
31
31
 
@@ -46,7 +46,7 @@
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">0% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>0/152</span>
49
+ <span class='fraction'>0/151</span>
50
50
  </div>
51
51
 
52
52
 
@@ -214,9 +214,7 @@
214
214
  <a name='L149'></a><a href='#L149'>149</a>
215
215
  <a name='L150'></a><a href='#L150'>150</a>
216
216
  <a name='L151'></a><a href='#L151'>151</a>
217
- <a name='L152'></a><a href='#L152'>152</a>
218
- <a name='L153'></a><a href='#L153'>153</a></td><td class="line-coverage quiet"><span class="cline-any cline-no">&nbsp;</span>
219
- <span class="cline-any cline-no">&nbsp;</span>
217
+ <a name='L152'></a><a href='#L152'>152</a></td><td class="line-coverage quiet"><span class="cline-any cline-no">&nbsp;</span>
220
218
  <span class="cline-any cline-no">&nbsp;</span>
221
219
  <span class="cline-any cline-no">&nbsp;</span>
222
220
  <span class="cline-any cline-no">&nbsp;</span>
@@ -368,12 +366,12 @@
368
366
  <span class="cline-any cline-no">&nbsp;</span>
369
367
  <span class="cline-any cline-no">&nbsp;</span>
370
368
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" ><span class="branch-0 cbranch-no" title="branch not covered" >import * as GeoTIFF from 'geotiff'</span></span></span>
371
- <span class="cstat-no" title="statement not covered" >import _ from 'lodash'</span>
372
369
  <span class="cstat-no" title="statement not covered" >import { unitConverters, SortOrder, GridSource, Grid1D } from './grid.js'</span>
373
370
  <span class="cstat-no" title="statement not covered" ></span>
374
371
  <span class="cstat-no" title="statement not covered" >// pack r,g,b in an uint32</span>
375
372
  <span class="cstat-no" title="statement not covered" >function packRgb (r, g, b) {</span>
376
- <span class="cstat-no" title="statement not covered" > return r | (g &lt;&lt; 8) | (b &lt;&lt; 16) | (0xFF &lt;&lt; 24)</span>
373
+ <span class="cstat-no" title="statement not covered" > // Using 0x3E as high bits to make float interpretation (IEEE-754) of values between [0.125, 0.5]</span>
374
+ <span class="cstat-no" title="statement not covered" > return r | (g &lt;&lt; 8) | (b &lt;&lt; 16) | (0x3E &lt;&lt; 24)</span>
377
375
  <span class="cstat-no" title="statement not covered" >}</span>
378
376
  <span class="cstat-no" title="statement not covered" ></span>
379
377
  <span class="cstat-no" title="statement not covered" >// return packed rgb as a float value</span>
@@ -426,8 +424,7 @@
426
424
  <span class="cstat-no" title="statement not covered" > this.rgb = config.rgb</span>
427
425
  <span class="cstat-no" title="statement not covered" ></span>
428
426
  <span class="cstat-no" title="statement not covered" > try {</span>
429
- <span class="cstat-no" title="statement not covered" > // forceXHR is useful for tests because nock doesn't know how to intercept fetch</span>
430
- <span class="cstat-no" title="statement not covered" > this.geotiff = await GeoTIFF.fromUrl(config.url, { forceXHR: _.get(config, 'forceXHR', false) })</span>
427
+ <span class="cstat-no" title="statement not covered" > this.geotiff = await GeoTIFF.fromUrl(config.url)</span>
431
428
  <span class="cstat-no" title="statement not covered" > } catch (error) {</span>
432
429
  <span class="cstat-no" title="statement not covered" > // fetching may fail, in this case the source</span>
433
430
  <span class="cstat-no" title="statement not covered" > // will remain in unusable state</span>
@@ -526,7 +523,7 @@
526
523
  <div class='footer quiet pad2 space-top1 center small'>
527
524
  Code coverage generated by
528
525
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
529
- at 2024-08-13T10:02:04.872Z
526
+ at 2026-03-10T09:15:24.774Z
530
527
  </div>
531
528
  <script src="../../prettify.js"></script>
532
529
  <script>
@@ -1597,7 +1597,7 @@
1597
1597
  <div class='footer quiet pad2 space-top1 center small'>
1598
1598
  Code coverage generated by
1599
1599
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1600
- at 2024-08-13T10:02:04.872Z
1600
+ at 2026-03-10T09:15:24.774Z
1601
1601
  </div>
1602
1602
  <script src="../../prettify.js"></script>
1603
1603
  <script>
@@ -25,7 +25,7 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">0% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>0/2711</span>
28
+ <span class='fraction'>0/2713</span>
29
29
  </div>
30
30
 
31
31
 
@@ -46,7 +46,7 @@
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">0% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>0/2711</span>
49
+ <span class='fraction'>0/2713</span>
50
50
  </div>
51
51
 
52
52
 
@@ -114,13 +114,13 @@
114
114
  <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
115
115
  </td>
116
116
  <td data-value="0" class="pct low">0%</td>
117
- <td data-value="152" class="abs low">0/152</td>
117
+ <td data-value="151" class="abs low">0/151</td>
118
118
  <td data-value="0" class="pct low">0%</td>
119
119
  <td data-value="1" class="abs low">0/1</td>
120
120
  <td data-value="0" class="pct low">0%</td>
121
121
  <td data-value="1" class="abs low">0/1</td>
122
122
  <td data-value="0" class="pct low">0%</td>
123
- <td data-value="152" class="abs low">0/152</td>
123
+ <td data-value="151" class="abs low">0/151</td>
124
124
  </tr>
125
125
 
126
126
  <tr>
@@ -204,13 +204,13 @@
204
204
  <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
205
205
  </td>
206
206
  <td data-value="0" class="pct low">0%</td>
207
- <td data-value="247" class="abs low">0/247</td>
207
+ <td data-value="246" class="abs low">0/246</td>
208
208
  <td data-value="0" class="pct low">0%</td>
209
209
  <td data-value="1" class="abs low">0/1</td>
210
210
  <td data-value="0" class="pct low">0%</td>
211
211
  <td data-value="1" class="abs low">0/1</td>
212
212
  <td data-value="0" class="pct low">0%</td>
213
- <td data-value="247" class="abs low">0/247</td>
213
+ <td data-value="246" class="abs low">0/246</td>
214
214
  </tr>
215
215
 
216
216
  <tr>
@@ -219,13 +219,13 @@
219
219
  <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
220
220
  </td>
221
221
  <td data-value="0" class="pct low">0%</td>
222
- <td data-value="13" class="abs low">0/13</td>
222
+ <td data-value="15" class="abs low">0/15</td>
223
223
  <td data-value="0" class="pct low">0%</td>
224
224
  <td data-value="1" class="abs low">0/1</td>
225
225
  <td data-value="0" class="pct low">0%</td>
226
226
  <td data-value="1" class="abs low">0/1</td>
227
227
  <td data-value="0" class="pct low">0%</td>
228
- <td data-value="13" class="abs low">0/13</td>
228
+ <td data-value="15" class="abs low">0/15</td>
229
229
  </tr>
230
230
 
231
231
  <tr>
@@ -249,13 +249,13 @@
249
249
  <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
250
250
  </td>
251
251
  <td data-value="0" class="pct low">0%</td>
252
- <td data-value="63" class="abs low">0/63</td>
252
+ <td data-value="62" class="abs low">0/62</td>
253
253
  <td data-value="0" class="pct low">0%</td>
254
254
  <td data-value="1" class="abs low">0/1</td>
255
255
  <td data-value="0" class="pct low">0%</td>
256
256
  <td data-value="1" class="abs low">0/1</td>
257
257
  <td data-value="0" class="pct low">0%</td>
258
- <td data-value="63" class="abs low">0/63</td>
258
+ <td data-value="62" class="abs low">0/62</td>
259
259
  </tr>
260
260
 
261
261
  <tr>
@@ -279,13 +279,13 @@
279
279
  <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
280
280
  </td>
281
281
  <td data-value="0" class="pct low">0%</td>
282
- <td data-value="167" class="abs low">0/167</td>
282
+ <td data-value="166" class="abs low">0/166</td>
283
283
  <td data-value="0" class="pct low">0%</td>
284
284
  <td data-value="1" class="abs low">0/1</td>
285
285
  <td data-value="0" class="pct low">0%</td>
286
286
  <td data-value="1" class="abs low">0/1</td>
287
287
  <td data-value="0" class="pct low">0%</td>
288
- <td data-value="167" class="abs low">0/167</td>
288
+ <td data-value="166" class="abs low">0/166</td>
289
289
  </tr>
290
290
 
291
291
  <tr>
@@ -309,13 +309,13 @@
309
309
  <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
310
310
  </td>
311
311
  <td data-value="0" class="pct low">0%</td>
312
- <td data-value="163" class="abs low">0/163</td>
312
+ <td data-value="162" class="abs low">0/162</td>
313
313
  <td data-value="0" class="pct low">0%</td>
314
314
  <td data-value="1" class="abs low">0/1</td>
315
315
  <td data-value="0" class="pct low">0%</td>
316
316
  <td data-value="1" class="abs low">0/1</td>
317
317
  <td data-value="0" class="pct low">0%</td>
318
- <td data-value="163" class="abs low">0/163</td>
318
+ <td data-value="162" class="abs low">0/162</td>
319
319
  </tr>
320
320
 
321
321
  <tr>
@@ -324,13 +324,13 @@
324
324
  <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
325
325
  </td>
326
326
  <td data-value="0" class="pct low">0%</td>
327
- <td data-value="122" class="abs low">0/122</td>
327
+ <td data-value="128" class="abs low">0/128</td>
328
328
  <td data-value="0" class="pct low">0%</td>
329
329
  <td data-value="1" class="abs low">0/1</td>
330
330
  <td data-value="0" class="pct low">0%</td>
331
331
  <td data-value="1" class="abs low">0/1</td>
332
332
  <td data-value="0" class="pct low">0%</td>
333
- <td data-value="122" class="abs low">0/122</td>
333
+ <td data-value="128" class="abs low">0/128</td>
334
334
  </tr>
335
335
 
336
336
  <tr>
@@ -339,13 +339,13 @@
339
339
  <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
340
340
  </td>
341
341
  <td data-value="0" class="pct low">0%</td>
342
- <td data-value="154" class="abs low">0/154</td>
342
+ <td data-value="153" class="abs low">0/153</td>
343
343
  <td data-value="0" class="pct low">0%</td>
344
344
  <td data-value="1" class="abs low">0/1</td>
345
345
  <td data-value="0" class="pct low">0%</td>
346
346
  <td data-value="1" class="abs low">0/1</td>
347
347
  <td data-value="0" class="pct low">0%</td>
348
- <td data-value="154" class="abs low">0/154</td>
348
+ <td data-value="153" class="abs low">0/153</td>
349
349
  </tr>
350
350
 
351
351
  </tbody>
@@ -356,7 +356,7 @@
356
356
  <div class='footer quiet pad2 space-top1 center small'>
357
357
  Code coverage generated by
358
358
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
359
- at 2024-08-13T10:02:04.872Z
359
+ at 2026-03-10T09:15:24.774Z
360
360
  </div>
361
361
  <script src="../../prettify.js"></script>
362
362
  <script>
@@ -157,7 +157,7 @@
157
157
  <div class='footer quiet pad2 space-top1 center small'>
158
158
  Code coverage generated by
159
159
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
160
- at 2024-08-13T10:02:04.872Z
160
+ at 2026-03-10T09:15:24.774Z
161
161
  </div>
162
162
  <script src="../../prettify.js"></script>
163
163
  <script>
@@ -541,7 +541,7 @@
541
541
  <div class='footer quiet pad2 space-top1 center small'>
542
542
  Code coverage generated by
543
543
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
544
- at 2024-08-13T10:02:04.872Z
544
+ at 2026-03-10T09:15:24.774Z
545
545
  </div>
546
546
  <script src="../../prettify.js"></script>
547
547
  <script>
@@ -142,7 +142,7 @@
142
142
  <div class='footer quiet pad2 space-top1 center small'>
143
143
  Code coverage generated by
144
144
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
145
- at 2024-08-13T10:02:04.872Z
145
+ at 2026-03-10T09:15:24.774Z
146
146
  </div>
147
147
  <script src="../../prettify.js"></script>
148
148
  <script>
@@ -853,7 +853,7 @@
853
853
  <div class='footer quiet pad2 space-top1 center small'>
854
854
  Code coverage generated by
855
855
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
856
- at 2024-08-13T10:02:04.872Z
856
+ at 2026-03-10T09:15:24.774Z
857
857
  </div>
858
858
  <script src="../../prettify.js"></script>
859
859
  <script>
@@ -25,7 +25,7 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">0% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>0/247</span>
28
+ <span class='fraction'>0/246</span>
29
29
  </div>
30
30
 
31
31
 
@@ -46,7 +46,7 @@
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">0% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>0/247</span>
49
+ <span class='fraction'>0/246</span>
50
50
  </div>
51
51
 
52
52
 
@@ -309,9 +309,7 @@
309
309
  <a name='L244'></a><a href='#L244'>244</a>
310
310
  <a name='L245'></a><a href='#L245'>245</a>
311
311
  <a name='L246'></a><a href='#L246'>246</a>
312
- <a name='L247'></a><a href='#L247'>247</a>
313
- <a name='L248'></a><a href='#L248'>248</a></td><td class="line-coverage quiet"><span class="cline-any cline-no">&nbsp;</span>
314
- <span class="cline-any cline-no">&nbsp;</span>
312
+ <a name='L247'></a><a href='#L247'>247</a></td><td class="line-coverage quiet"><span class="cline-any cline-no">&nbsp;</span>
315
313
  <span class="cline-any cline-no">&nbsp;</span>
316
314
  <span class="cline-any cline-no">&nbsp;</span>
317
315
  <span class="cline-any cline-no">&nbsp;</span>
@@ -558,7 +556,6 @@
558
556
  <span class="cline-any cline-no">&nbsp;</span>
559
557
  <span class="cline-any cline-no">&nbsp;</span>
560
558
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" ><span class="branch-0 cbranch-no" title="branch not covered" >import _ from 'lodash'</span></span></span>
561
- <span class="cstat-no" title="statement not covered" >import fetch from 'node-fetch'</span>
562
559
  <span class="cstat-no" title="statement not covered" >import parser from 'jsdap/src/parser.js'</span>
563
560
  <span class="cstat-no" title="statement not covered" >import xdr from 'jsdap/src/xdr.js'</span>
564
561
  <span class="cstat-no" title="statement not covered" >import { BaseGrid } from './grid.js'</span>
@@ -811,7 +808,7 @@
811
808
  <div class='footer quiet pad2 space-top1 center small'>
812
809
  Code coverage generated by
813
810
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
814
- at 2024-08-13T10:02:04.872Z
811
+ at 2026-03-10T09:15:24.774Z
815
812
  </div>
816
813
  <script src="../../prettify.js"></script>
817
814
  <script>
@@ -25,7 +25,7 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">0% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>0/13</span>
28
+ <span class='fraction'>0/15</span>
29
29
  </div>
30
30
 
31
31
 
@@ -46,7 +46,7 @@
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">0% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>0/13</span>
49
+ <span class='fraction'>0/15</span>
50
50
  </div>
51
51
 
52
52
 
@@ -76,7 +76,11 @@
76
76
  <a name='L11'></a><a href='#L11'>11</a>
77
77
  <a name='L12'></a><a href='#L12'>12</a>
78
78
  <a name='L13'></a><a href='#L13'>13</a>
79
- <a name='L14'></a><a href='#L14'>14</a></td><td class="line-coverage quiet"><span class="cline-any cline-no">&nbsp;</span>
79
+ <a name='L14'></a><a href='#L14'>14</a>
80
+ <a name='L15'></a><a href='#L15'>15</a>
81
+ <a name='L16'></a><a href='#L16'>16</a></td><td class="line-coverage quiet"><span class="cline-any cline-no">&nbsp;</span>
82
+ <span class="cline-any cline-no">&nbsp;</span>
83
+ <span class="cline-any cline-no">&nbsp;</span>
80
84
  <span class="cline-any cline-no">&nbsp;</span>
81
85
  <span class="cline-any cline-no">&nbsp;</span>
82
86
  <span class="cline-any cline-no">&nbsp;</span>
@@ -99,6 +103,8 @@
99
103
  <span class="cstat-no" title="statement not covered" > can('read', 'projects')</span>
100
104
  <span class="cstat-no" title="statement not covered" > can('service', 'alerts')</span>
101
105
  <span class="cstat-no" title="statement not covered" > can('read', 'alerts')</span>
106
+ <span class="cstat-no" title="statement not covered" > can('service', 'styles')</span>
107
+ <span class="cstat-no" title="statement not covered" > can('read', 'styles')</span>
102
108
  <span class="cstat-no" title="statement not covered" > // can('service', 'daptiles')</span>
103
109
  <span class="cstat-no" title="statement not covered" > // can('get', 'daptiles')</span>
104
110
  <span class="cstat-no" title="statement not covered" >}</span>
@@ -109,7 +115,7 @@
109
115
  <div class='footer quiet pad2 space-top1 center small'>
110
116
  Code coverage generated by
111
117
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
112
- at 2024-08-13T10:02:04.872Z
118
+ at 2026-03-10T09:15:24.774Z
113
119
  </div>
114
120
  <script src="../../prettify.js"></script>
115
121
  <script>
@@ -403,7 +403,7 @@
403
403
  <div class='footer quiet pad2 space-top1 center small'>
404
404
  Code coverage generated by
405
405
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
406
- at 2024-08-13T10:02:04.872Z
406
+ at 2026-03-10T09:15:24.774Z
407
407
  </div>
408
408
  <script src="../../prettify.js"></script>
409
409
  <script>