@kalisio/kdk 2.3.1 → 2.4.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 (416) hide show
  1. package/.eslintignore +2 -1
  2. package/.github/workflows/main.yaml +3 -3
  3. package/README.md +1 -0
  4. package/core/api/db.js +6 -1
  5. package/core/api/hooks/hooks.model.js +1 -1
  6. package/core/api/hooks/hooks.schemas.js +0 -2
  7. package/core/api/models/messages.model.mongodb.js +13 -0
  8. package/core/api/services/authorisations/authorisations.service.js +13 -4
  9. package/core/api/services/index.js +19 -0
  10. package/core/api/services/messages/messages.hooks.js +38 -0
  11. package/core/client/api.js +7 -32
  12. package/core/client/capabilities.js +2 -2
  13. package/core/client/components/KActivity.vue +29 -6
  14. package/core/client/components/KContent.vue +2 -2
  15. package/core/client/components/KDialog.vue +4 -7
  16. package/core/client/components/KStamp.vue +3 -9
  17. package/core/client/components/KStore.vue +2 -4
  18. package/core/client/components/KTab.vue +95 -0
  19. package/core/client/components/action/KAction.vue +15 -2
  20. package/core/client/components/action/KBugReportAction.vue +4 -2
  21. package/core/client/components/action/KToggleFullscreenAction.vue +25 -0
  22. package/core/client/components/app/KSettings.vue +17 -13
  23. package/core/client/components/chart/KDataTable.vue +6 -9
  24. package/core/client/components/chart/KTimeSeriesChart.vue +74 -56
  25. package/core/client/components/collection/KBoard.vue +22 -33
  26. package/core/client/components/collection/KCard.vue +71 -56
  27. package/core/client/components/collection/KCardSection.vue +20 -10
  28. package/core/client/components/collection/KDescriptionCardSection.vue +47 -0
  29. package/core/client/components/collection/KGrid.vue +234 -54
  30. package/core/client/components/collection/KScrollDown.vue +97 -0
  31. package/core/client/components/collection/KScrollToTop.vue +93 -0
  32. package/core/client/components/collection/KTable.vue +87 -33
  33. package/core/client/components/collection/KTimeLine.vue +406 -0
  34. package/core/client/components/collection/index.js +1 -5
  35. package/core/client/components/document/KDocument.vue +20 -55
  36. package/core/client/components/document/KHtml.vue +17 -7
  37. package/core/client/components/document/KImage.vue +78 -0
  38. package/core/client/components/document/KMarkdown.vue +12 -16
  39. package/core/client/components/document/KPdf.vue +69 -0
  40. package/core/client/components/form/KFileField.vue +2 -2
  41. package/core/client/components/form/KSelectField.vue +2 -1
  42. package/core/client/components/form/KUnitField.vue +3 -1
  43. package/core/client/components/layout/KFab.vue +9 -10
  44. package/core/client/components/layout/KLayout.vue +104 -6
  45. package/core/client/components/layout/KOpener.vue +14 -19
  46. package/core/client/components/layout/KPage.vue +195 -105
  47. package/core/client/components/layout/KWindow.vue +62 -45
  48. package/core/client/components/layout/index.js +0 -2
  49. package/core/client/components/media/KRibbon.vue +95 -0
  50. package/core/client/components/menu/KMenu.vue +4 -4
  51. package/core/client/components/team/KGroupsActivity.vue +25 -27
  52. package/core/client/components/team/KMembersActivity.vue +21 -23
  53. package/core/client/components/team/KOrganisationsActivity.vue +20 -22
  54. package/core/client/components/team/KTagsActivity.vue +21 -23
  55. package/core/client/components/time/KAbsoluteTimeRange.vue +70 -170
  56. package/core/client/composables/activity.js +14 -12
  57. package/core/client/composables/collection.js +3 -1
  58. package/core/client/composables/counter.js +51 -0
  59. package/core/client/composables/index.js +3 -0
  60. package/core/client/composables/layout.js +13 -2
  61. package/core/client/composables/messages.js +15 -0
  62. package/core/client/composables/pwa.js +1 -1
  63. package/core/client/composables/schema.js +6 -6
  64. package/core/client/composables/screen.js +23 -0
  65. package/core/client/directives/index.js +1 -0
  66. package/core/client/directives/v-hover.js +23 -0
  67. package/core/client/document.js +61 -0
  68. package/core/client/exporter.js +1 -1
  69. package/core/client/filter.js +0 -1
  70. package/core/client/guards.js +1 -1
  71. package/core/client/i18n/core_en.json +14 -8
  72. package/core/client/i18n/core_fr.json +15 -9
  73. package/core/client/index.js +9 -3
  74. package/core/client/layout.js +129 -29
  75. package/core/client/local-storage.js +1 -1
  76. package/core/client/mixins/index.js +0 -1
  77. package/core/client/mixins/mixin.base-activity.js +23 -13
  78. package/core/client/mixins/mixin.base-item.js +6 -3
  79. package/core/client/services/index.js +4 -1
  80. package/core/client/services/local-settings.service.js +4 -0
  81. package/core/client/storage.js +1 -1
  82. package/core/client/store.js +1 -1
  83. package/core/client/template-context.js +17 -0
  84. package/core/client/units.js +49 -27
  85. package/core/client/utils/index.js +3 -2
  86. package/core/client/utils/utils.actions.js +4 -0
  87. package/core/client/utils/utils.colors.js +155 -2
  88. package/core/client/utils/utils.items.js +26 -0
  89. package/core/client/utils/utils.math.js +3 -0
  90. package/core/client/utils/utils.platform.js +3 -1
  91. package/core/client/utils/utils.screen.js +82 -0
  92. package/core/client/utils/utils.time.js +0 -1
  93. package/core/common/schemas/settings.update.json +12 -0
  94. package/coverage/core/api/application.js.html +1 -1
  95. package/coverage/core/api/authentication.js.html +1 -1
  96. package/coverage/core/api/db.js.html +51 -36
  97. package/coverage/core/api/hooks/hooks.authentication.js.html +1 -1
  98. package/coverage/core/api/hooks/hooks.authorisations.js.html +1 -1
  99. package/coverage/core/api/hooks/hooks.groups.js.html +1 -1
  100. package/coverage/core/api/hooks/hooks.logger.js.html +1 -1
  101. package/coverage/core/api/hooks/hooks.model.js.html +2 -2
  102. package/coverage/core/api/hooks/hooks.organisations.js.html +1 -1
  103. package/coverage/core/api/hooks/hooks.push.js.html +1 -1
  104. package/coverage/core/api/hooks/hooks.query.js.html +1 -1
  105. package/coverage/core/api/hooks/hooks.schemas.js.html +6 -12
  106. package/coverage/core/api/hooks/hooks.service.js.html +1 -1
  107. package/coverage/core/api/hooks/hooks.storage.js.html +1 -1
  108. package/coverage/core/api/hooks/hooks.users.js.html +2 -2
  109. package/coverage/core/api/hooks/index.html +10 -10
  110. package/coverage/core/api/hooks/index.js.html +1 -1
  111. package/coverage/core/api/index.html +14 -14
  112. package/coverage/core/api/index.js.html +1 -1
  113. package/coverage/core/api/marshall.js.html +1 -1
  114. package/coverage/core/api/models/groups.model.mongodb.js.html +1 -1
  115. package/coverage/core/api/models/index.html +25 -10
  116. package/coverage/core/api/models/messages.model.mongodb.js.html +121 -0
  117. package/coverage/core/api/models/organisations.model.mongodb.js.html +1 -1
  118. package/coverage/core/api/models/tags.model.mongodb.js.html +1 -1
  119. package/coverage/core/api/models/users.model.mongodb.js.html +1 -1
  120. package/coverage/core/api/services/account/account.hooks.js.html +1 -1
  121. package/coverage/core/api/services/account/account.service.js.html +1 -1
  122. package/coverage/core/api/services/account/index.html +1 -1
  123. package/coverage/core/api/services/authorisations/authorisations.hooks.js.html +1 -1
  124. package/coverage/core/api/services/authorisations/authorisations.service.js.html +43 -16
  125. package/coverage/core/api/services/authorisations/index.html +19 -19
  126. package/coverage/core/api/services/databases/databases.hooks.js.html +1 -1
  127. package/coverage/core/api/services/databases/databases.service.js.html +1 -1
  128. package/coverage/core/api/services/databases/index.html +1 -1
  129. package/coverage/core/api/services/groups/groups.hooks.js.html +1 -1
  130. package/coverage/core/api/services/groups/index.html +1 -1
  131. package/coverage/core/api/services/import-export/import-export.hooks.js.html +1 -1
  132. package/coverage/core/api/services/import-export/import-export.service.js.html +1 -1
  133. package/coverage/core/api/services/import-export/index.html +1 -1
  134. package/coverage/core/api/services/index.html +19 -19
  135. package/coverage/core/api/services/index.js.html +67 -10
  136. package/coverage/core/api/services/mailer/index.html +1 -1
  137. package/coverage/core/api/services/mailer/mailer.hooks.js.html +1 -1
  138. package/coverage/core/api/services/mailer/mailer.service.js.html +1 -1
  139. package/coverage/core/api/services/messages/index.html +116 -0
  140. package/coverage/core/api/services/messages/messages.hooks.js.html +199 -0
  141. package/coverage/core/api/services/organisations/index.html +1 -1
  142. package/coverage/core/api/services/organisations/organisations.hooks.js.html +1 -1
  143. package/coverage/core/api/services/organisations/organisations.service.js.html +1 -1
  144. package/coverage/core/api/services/push/index.html +1 -1
  145. package/coverage/core/api/services/push/push.hooks.js.html +1 -1
  146. package/coverage/core/api/services/push/push.service.js.html +1 -1
  147. package/coverage/core/api/services/storage/index.html +1 -1
  148. package/coverage/core/api/services/storage/storage.hooks.js.html +1 -1
  149. package/coverage/core/api/services/storage/storage.service.js.html +1 -1
  150. package/coverage/core/api/services/tags/index.html +1 -1
  151. package/coverage/core/api/services/tags/tags.hooks.js.html +1 -1
  152. package/coverage/core/api/services/users/index.html +1 -1
  153. package/coverage/core/api/services/users/users.hooks.js.html +1 -1
  154. package/coverage/core/api/utils.js.html +1 -1
  155. package/coverage/core/common/errors.js.html +1 -1
  156. package/coverage/core/common/index.html +1 -1
  157. package/coverage/core/common/index.js.html +1 -1
  158. package/coverage/core/common/permissions.js.html +1 -1
  159. package/coverage/core/common/schema.js.html +1 -1
  160. package/coverage/core/common/utils.js.html +1 -1
  161. package/coverage/index.html +69 -54
  162. package/coverage/lcov-report/core/api/application.js.html +1 -1
  163. package/coverage/lcov-report/core/api/authentication.js.html +1 -1
  164. package/coverage/lcov-report/core/api/db.js.html +51 -36
  165. package/coverage/lcov-report/core/api/hooks/hooks.authentication.js.html +1 -1
  166. package/coverage/lcov-report/core/api/hooks/hooks.authorisations.js.html +1 -1
  167. package/coverage/lcov-report/core/api/hooks/hooks.groups.js.html +1 -1
  168. package/coverage/lcov-report/core/api/hooks/hooks.logger.js.html +1 -1
  169. package/coverage/lcov-report/core/api/hooks/hooks.model.js.html +2 -2
  170. package/coverage/lcov-report/core/api/hooks/hooks.organisations.js.html +1 -1
  171. package/coverage/lcov-report/core/api/hooks/hooks.push.js.html +1 -1
  172. package/coverage/lcov-report/core/api/hooks/hooks.query.js.html +1 -1
  173. package/coverage/lcov-report/core/api/hooks/hooks.schemas.js.html +6 -12
  174. package/coverage/lcov-report/core/api/hooks/hooks.service.js.html +1 -1
  175. package/coverage/lcov-report/core/api/hooks/hooks.storage.js.html +1 -1
  176. package/coverage/lcov-report/core/api/hooks/hooks.users.js.html +2 -2
  177. package/coverage/lcov-report/core/api/hooks/index.html +10 -10
  178. package/coverage/lcov-report/core/api/hooks/index.js.html +1 -1
  179. package/coverage/lcov-report/core/api/index.html +14 -14
  180. package/coverage/lcov-report/core/api/index.js.html +1 -1
  181. package/coverage/lcov-report/core/api/marshall.js.html +1 -1
  182. package/coverage/lcov-report/core/api/models/groups.model.mongodb.js.html +1 -1
  183. package/coverage/lcov-report/core/api/models/index.html +25 -10
  184. package/coverage/lcov-report/core/api/models/messages.model.mongodb.js.html +121 -0
  185. package/coverage/lcov-report/core/api/models/organisations.model.mongodb.js.html +1 -1
  186. package/coverage/lcov-report/core/api/models/tags.model.mongodb.js.html +1 -1
  187. package/coverage/lcov-report/core/api/models/users.model.mongodb.js.html +1 -1
  188. package/coverage/lcov-report/core/api/services/account/account.hooks.js.html +1 -1
  189. package/coverage/lcov-report/core/api/services/account/account.service.js.html +1 -1
  190. package/coverage/lcov-report/core/api/services/account/index.html +1 -1
  191. package/coverage/lcov-report/core/api/services/authorisations/authorisations.hooks.js.html +1 -1
  192. package/coverage/lcov-report/core/api/services/authorisations/authorisations.service.js.html +43 -16
  193. package/coverage/lcov-report/core/api/services/authorisations/index.html +19 -19
  194. package/coverage/lcov-report/core/api/services/databases/databases.hooks.js.html +1 -1
  195. package/coverage/lcov-report/core/api/services/databases/databases.service.js.html +1 -1
  196. package/coverage/lcov-report/core/api/services/databases/index.html +1 -1
  197. package/coverage/lcov-report/core/api/services/groups/groups.hooks.js.html +1 -1
  198. package/coverage/lcov-report/core/api/services/groups/index.html +1 -1
  199. package/coverage/lcov-report/core/api/services/import-export/import-export.hooks.js.html +1 -1
  200. package/coverage/lcov-report/core/api/services/import-export/import-export.service.js.html +1 -1
  201. package/coverage/lcov-report/core/api/services/import-export/index.html +1 -1
  202. package/coverage/lcov-report/core/api/services/index.html +19 -19
  203. package/coverage/lcov-report/core/api/services/index.js.html +67 -10
  204. package/coverage/lcov-report/core/api/services/mailer/index.html +1 -1
  205. package/coverage/lcov-report/core/api/services/mailer/mailer.hooks.js.html +1 -1
  206. package/coverage/lcov-report/core/api/services/mailer/mailer.service.js.html +1 -1
  207. package/coverage/lcov-report/core/api/services/messages/index.html +116 -0
  208. package/coverage/lcov-report/core/api/services/messages/messages.hooks.js.html +199 -0
  209. package/coverage/lcov-report/core/api/services/organisations/index.html +1 -1
  210. package/coverage/lcov-report/core/api/services/organisations/organisations.hooks.js.html +1 -1
  211. package/coverage/lcov-report/core/api/services/organisations/organisations.service.js.html +1 -1
  212. package/coverage/lcov-report/core/api/services/push/index.html +1 -1
  213. package/coverage/lcov-report/core/api/services/push/push.hooks.js.html +1 -1
  214. package/coverage/lcov-report/core/api/services/push/push.service.js.html +1 -1
  215. package/coverage/lcov-report/core/api/services/storage/index.html +1 -1
  216. package/coverage/lcov-report/core/api/services/storage/storage.hooks.js.html +1 -1
  217. package/coverage/lcov-report/core/api/services/storage/storage.service.js.html +1 -1
  218. package/coverage/lcov-report/core/api/services/tags/index.html +1 -1
  219. package/coverage/lcov-report/core/api/services/tags/tags.hooks.js.html +1 -1
  220. package/coverage/lcov-report/core/api/services/users/index.html +1 -1
  221. package/coverage/lcov-report/core/api/services/users/users.hooks.js.html +1 -1
  222. package/coverage/lcov-report/core/api/utils.js.html +1 -1
  223. package/coverage/lcov-report/core/common/errors.js.html +1 -1
  224. package/coverage/lcov-report/core/common/index.html +1 -1
  225. package/coverage/lcov-report/core/common/index.js.html +1 -1
  226. package/coverage/lcov-report/core/common/permissions.js.html +1 -1
  227. package/coverage/lcov-report/core/common/schema.js.html +1 -1
  228. package/coverage/lcov-report/core/common/utils.js.html +1 -1
  229. package/coverage/lcov-report/index.html +69 -54
  230. package/coverage/lcov-report/map/api/hooks/hooks.catalog.js.html +1 -1
  231. package/coverage/lcov-report/map/api/hooks/hooks.features.js.html +1 -1
  232. package/coverage/lcov-report/map/api/hooks/hooks.query.js.html +1 -1
  233. package/coverage/lcov-report/map/api/hooks/index.html +1 -1
  234. package/coverage/lcov-report/map/api/hooks/index.js.html +1 -1
  235. package/coverage/lcov-report/map/api/index.html +1 -1
  236. package/coverage/lcov-report/map/api/index.js.html +1 -1
  237. package/coverage/lcov-report/map/api/marshall.js.html +1 -1
  238. package/coverage/lcov-report/map/api/models/alerts.model.mongodb.js.html +1 -1
  239. package/coverage/lcov-report/map/api/models/catalog.model.mongodb.js.html +1 -1
  240. package/coverage/lcov-report/map/api/models/features.model.mongodb.js.html +1 -1
  241. package/coverage/lcov-report/map/api/models/index.html +1 -1
  242. package/coverage/lcov-report/map/api/models/projects.model.mongodb.js.html +1 -1
  243. package/coverage/lcov-report/map/api/services/alerts/alerts.hooks.js.html +1 -1
  244. package/coverage/lcov-report/map/api/services/alerts/alerts.service.js.html +1 -1
  245. package/coverage/lcov-report/map/api/services/alerts/index.html +1 -1
  246. package/coverage/lcov-report/map/api/services/catalog/catalog.hooks.js.html +9 -15
  247. package/coverage/lcov-report/map/api/services/catalog/index.html +5 -5
  248. package/coverage/lcov-report/map/api/services/daptiles/daptiles.service.js.html +1 -1
  249. package/coverage/lcov-report/map/api/services/daptiles/index.html +1 -1
  250. package/coverage/lcov-report/map/api/services/features/features.hooks.js.html +2 -2
  251. package/coverage/lcov-report/map/api/services/features/features.service.js.html +1 -1
  252. package/coverage/lcov-report/map/api/services/features/index.html +1 -1
  253. package/coverage/lcov-report/map/api/services/index.html +1 -1
  254. package/coverage/lcov-report/map/api/services/index.js.html +1 -1
  255. package/coverage/lcov-report/map/api/services/projects/index.html +1 -1
  256. package/coverage/lcov-report/map/api/services/projects/projects.hooks.js.html +1 -1
  257. package/coverage/lcov-report/map/common/dynamic-grid-source.js.html +1 -1
  258. package/coverage/lcov-report/map/common/errors.js.html +1 -1
  259. package/coverage/lcov-report/map/common/geotiff-grid-source.js.html +1 -1
  260. package/coverage/lcov-report/map/common/grid.js.html +1 -1
  261. package/coverage/lcov-report/map/common/index.html +1 -1
  262. package/coverage/lcov-report/map/common/index.js.html +1 -1
  263. package/coverage/lcov-report/map/common/meteo-model-grid-source.js.html +1 -1
  264. package/coverage/lcov-report/map/common/moment-utils.js.html +1 -1
  265. package/coverage/lcov-report/map/common/opendap-grid-source.js.html +1 -1
  266. package/coverage/lcov-report/map/common/opendap-utils.js.html +1 -1
  267. package/coverage/lcov-report/map/common/permissions.js.html +1 -1
  268. package/coverage/lcov-report/map/common/time-based-grid-source.js.html +1 -1
  269. package/coverage/lcov-report/map/common/tms-utils.js.html +1 -1
  270. package/coverage/lcov-report/map/common/wcs-grid-source.js.html +1 -1
  271. package/coverage/lcov-report/map/common/wcs-utils.js.html +1 -1
  272. package/coverage/lcov-report/map/common/weacast-grid-source.js.html +1 -1
  273. package/coverage/lcov-report/map/common/wfs-utils.js.html +1 -1
  274. package/coverage/lcov-report/map/common/wms-utils.js.html +1 -1
  275. package/coverage/lcov-report/map/common/wmts-utils.js.html +1 -1
  276. package/coverage/lcov.info +487 -370
  277. package/coverage/map/api/hooks/hooks.catalog.js.html +1 -1
  278. package/coverage/map/api/hooks/hooks.features.js.html +1 -1
  279. package/coverage/map/api/hooks/hooks.query.js.html +1 -1
  280. package/coverage/map/api/hooks/index.html +1 -1
  281. package/coverage/map/api/hooks/index.js.html +1 -1
  282. package/coverage/map/api/index.html +1 -1
  283. package/coverage/map/api/index.js.html +1 -1
  284. package/coverage/map/api/marshall.js.html +1 -1
  285. package/coverage/map/api/models/alerts.model.mongodb.js.html +1 -1
  286. package/coverage/map/api/models/catalog.model.mongodb.js.html +1 -1
  287. package/coverage/map/api/models/features.model.mongodb.js.html +1 -1
  288. package/coverage/map/api/models/index.html +1 -1
  289. package/coverage/map/api/models/projects.model.mongodb.js.html +1 -1
  290. package/coverage/map/api/services/alerts/alerts.hooks.js.html +1 -1
  291. package/coverage/map/api/services/alerts/alerts.service.js.html +1 -1
  292. package/coverage/map/api/services/alerts/index.html +1 -1
  293. package/coverage/map/api/services/catalog/catalog.hooks.js.html +9 -15
  294. package/coverage/map/api/services/catalog/index.html +5 -5
  295. package/coverage/map/api/services/daptiles/daptiles.service.js.html +1 -1
  296. package/coverage/map/api/services/daptiles/index.html +1 -1
  297. package/coverage/map/api/services/features/features.hooks.js.html +2 -2
  298. package/coverage/map/api/services/features/features.service.js.html +1 -1
  299. package/coverage/map/api/services/features/index.html +1 -1
  300. package/coverage/map/api/services/index.html +1 -1
  301. package/coverage/map/api/services/index.js.html +1 -1
  302. package/coverage/map/api/services/projects/index.html +1 -1
  303. package/coverage/map/api/services/projects/projects.hooks.js.html +1 -1
  304. package/coverage/map/common/dynamic-grid-source.js.html +1 -1
  305. package/coverage/map/common/errors.js.html +1 -1
  306. package/coverage/map/common/geotiff-grid-source.js.html +1 -1
  307. package/coverage/map/common/grid.js.html +1 -1
  308. package/coverage/map/common/index.html +1 -1
  309. package/coverage/map/common/index.js.html +1 -1
  310. package/coverage/map/common/meteo-model-grid-source.js.html +1 -1
  311. package/coverage/map/common/moment-utils.js.html +1 -1
  312. package/coverage/map/common/opendap-grid-source.js.html +1 -1
  313. package/coverage/map/common/opendap-utils.js.html +1 -1
  314. package/coverage/map/common/permissions.js.html +1 -1
  315. package/coverage/map/common/time-based-grid-source.js.html +1 -1
  316. package/coverage/map/common/tms-utils.js.html +1 -1
  317. package/coverage/map/common/wcs-grid-source.js.html +1 -1
  318. package/coverage/map/common/wcs-utils.js.html +1 -1
  319. package/coverage/map/common/weacast-grid-source.js.html +1 -1
  320. package/coverage/map/common/wfs-utils.js.html +1 -1
  321. package/coverage/map/common/wms-utils.js.html +1 -1
  322. package/coverage/map/common/wmts-utils.js.html +1 -1
  323. package/coverage/tmp/coverage-280506-1731704745613-0.json +1 -0
  324. package/coverage/tmp/coverage-280518-1731704745599-0.json +1 -0
  325. package/coverage/tmp/coverage-280529-1731704745588-0.json +1 -0
  326. package/coverage/tmp/{coverage-137470-1719398750728-0.json → coverage-280541-1731704745574-0.json} +1 -1
  327. package/coverage/tmp/{coverage-137477-1719398750691-0.json → coverage-280548-1731704745545-0.json} +1 -1
  328. package/extras/css/core.variables.scss +32 -8
  329. package/extras/icons/attribution.png +0 -0
  330. package/map/api/services/catalog/catalog.hooks.js +5 -7
  331. package/map/api/services/features/features.hooks.js +1 -1
  332. package/map/client/cesium/utils/utils.style.js +11 -2
  333. package/map/client/components/KAttribution.vue +108 -0
  334. package/map/client/components/KPositionIndicator.vue +11 -18
  335. package/map/client/components/KProjectMenu.vue +4 -4
  336. package/map/client/components/catalog/KCategoryItem.vue +74 -0
  337. package/map/client/components/catalog/KLayerCategories.vue +24 -12
  338. package/map/client/components/catalog/KLayersPanel.vue +139 -116
  339. package/map/client/components/catalog/KProjectSelector.vue +29 -17
  340. package/map/client/components/catalog/KProjectsPanel.vue +19 -35
  341. package/map/client/components/catalog/KViewSelector.vue +37 -25
  342. package/map/client/components/catalog/KViewsPanel.vue +19 -35
  343. package/map/client/components/form/KLocationField.vue +1 -2
  344. package/map/client/components/legend/KLegend.vue +34 -34
  345. package/map/client/components/location/KLocationCardSection.vue +18 -22
  346. package/map/client/components/location/KLocationMap.vue +36 -38
  347. package/map/client/components/location/KLocationTimeLineCard.vue +147 -0
  348. package/map/client/components/location/KLocationTip.vue +12 -2
  349. package/map/client/components/widget/KInformationBox.vue +0 -4
  350. package/map/client/components/widget/KStackableTimeSeries.vue +8 -1
  351. package/map/client/components/widget/KTimeSeries.vue +1 -1
  352. package/map/client/composables/highlight.js +29 -31
  353. package/map/client/composables/probe.js +7 -3
  354. package/map/client/composables/weather.js +71 -31
  355. package/map/client/i18n/map_en.json +3 -0
  356. package/map/client/i18n/map_fr.json +3 -0
  357. package/map/client/init.js +4 -3
  358. package/map/client/leaflet/ShapeMarker.js +1 -1
  359. package/map/client/leaflet/utils/utils.events.js +1 -1
  360. package/map/client/leaflet/utils/utils.style.js +20 -8
  361. package/map/client/mixins/globe/mixin.base-globe.js +111 -13
  362. package/map/client/mixins/globe/mixin.file-layers.js +10 -10
  363. package/map/client/mixins/globe/mixin.geojson-layers.js +90 -15
  364. package/map/client/mixins/globe/mixin.style.js +2 -0
  365. package/map/client/mixins/index.js +0 -1
  366. package/map/client/mixins/map/index.js +1 -0
  367. package/map/client/mixins/map/mixin.base-map.js +21 -2
  368. package/map/client/mixins/map/mixin.canvas-layers.js +7 -2
  369. package/map/client/mixins/map/mixin.edit-layers.js +12 -4
  370. package/map/client/mixins/map/mixin.file-layers.js +3 -0
  371. package/map/client/mixins/map/mixin.geojson-layers.js +90 -5
  372. package/map/client/mixins/map/mixin.pmtiles-layers.js +106 -0
  373. package/map/client/mixins/mixin.activity.js +8 -3
  374. package/map/client/mixins/mixin.feature-service.js +73 -32
  375. package/map/client/mixins/mixin.levels.js +1 -0
  376. package/map/client/mixins/mixin.weacast.js +10 -87
  377. package/map/client/utils/index.js +1 -0
  378. package/map/client/utils/utils.capture.js +1 -1
  379. package/map/client/utils/utils.catalog.js +7 -7
  380. package/map/client/utils/utils.features.js +59 -1
  381. package/map/client/utils/utils.layers.js +8 -0
  382. package/map/client/utils/utils.time-series.js +121 -0
  383. package/map/client/utils/utils.weacast.js +102 -0
  384. package/package.json +6 -6
  385. package/scripts/init_runner.sh +2 -2
  386. package/scripts/kash/CHANGELOG.md +12 -0
  387. package/scripts/kash/README.md +2 -0
  388. package/scripts/kash/kash.sh +34 -32
  389. package/scripts/run_tests.sh +2 -2
  390. package/scripts/setup_workspace.sh +24 -6
  391. package/test/api/core/hooks.test.js +6 -3
  392. package/test/api/core/test-log-2024-07-09.log +0 -0
  393. package/test/api/core/test-log-2024-08-13.log +69 -0
  394. package/test/api/core/test-log-2024-10-28.log +53 -0
  395. package/test/api/core/test-log-2024-11-05.log +30 -0
  396. package/test/api/core/test-log-2024-11-15.log +23 -0
  397. package/test/api/map/alerts.test.js +3 -1
  398. package/test/api/map/config/layers.json +3 -1
  399. package/test/api/map/index.test.js +18 -1
  400. package/test/api/map/test-log-2024-08-13.log +13 -0
  401. package/test/api/map/test-log-2024-08-20.log +55 -0
  402. package/test/api/map/test-log-2024-09-09.log +92 -0
  403. package/test/api/map/test-log-2024-10-28.log +11 -0
  404. package/test/client/core/utils.js +13 -0
  405. package/test/client/map/api.js +34 -0
  406. package/test/client/map/catalog.js +6 -2
  407. package/test/client/map/index.js +1 -0
  408. package/test/client/map/utils.js +4 -2
  409. package/core/client/components/collection/KList.vue +0 -135
  410. package/core/client/components/layout/KPageSticky.vue +0 -53
  411. package/core/client/mixins/mixin.base-collection.js +0 -162
  412. package/core/client/utils/utils.data.js +0 -22
  413. package/coverage/tmp/coverage-137435-1719398750767-0.json +0 -1
  414. package/coverage/tmp/coverage-137447-1719398750752-0.json +0 -1
  415. package/coverage/tmp/coverage-137458-1719398750740-0.json +0 -1
  416. package/map/client/mixins/mixin.catalog-panel.js +0 -26
@@ -421,7 +421,7 @@ export default function (name, app, options) {
421
421
  <div class='footer quiet pad2 space-top1 center small'>
422
422
  Code coverage generated by
423
423
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
424
- at 2024-06-26T10:45:51.147Z
424
+ at 2024-11-15T21:05:45.905Z
425
425
  </div>
426
426
  <script src="../../../../prettify.js"></script>
427
427
  <script>
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at 2024-06-26T10:45:51.147Z
119
+ at 2024-11-15T21:05:45.905Z
120
120
  </div>
121
121
  <script src="../../../../prettify.js"></script>
122
122
  <script>
@@ -169,7 +169,7 @@ export default {
169
169
  <div class='footer quiet pad2 space-top1 center small'>
170
170
  Code coverage generated by
171
171
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
172
- at 2024-06-26T10:45:51.147Z
172
+ at 2024-11-15T21:05:45.905Z
173
173
  </div>
174
174
  <script src="../../../../prettify.js"></script>
175
175
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">98.56% </span>
26
+ <span class="strong">97.29% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>137/139</span>
28
+ <span class='fraction'>144/148</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">86.11% </span>
33
+ <span class="strong">87.17% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>31/36</span>
35
+ <span class='fraction'>34/39</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">100% </span>
40
+ <span class="strong">83.33% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>5/5</span>
42
+ <span class='fraction'>5/6</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">98.56% </span>
47
+ <span class="strong">97.29% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>137/139</span>
49
+ <span class='fraction'>144/148</span>
50
50
  </div>
51
51
 
52
52
 
@@ -202,7 +202,16 @@
202
202
  <a name='L137'></a><a href='#L137'>137</a>
203
203
  <a name='L138'></a><a href='#L138'>138</a>
204
204
  <a name='L139'></a><a href='#L139'>139</a>
205
- <a name='L140'></a><a href='#L140'>140</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
205
+ <a name='L140'></a><a href='#L140'>140</a>
206
+ <a name='L141'></a><a href='#L141'>141</a>
207
+ <a name='L142'></a><a href='#L142'>142</a>
208
+ <a name='L143'></a><a href='#L143'>143</a>
209
+ <a name='L144'></a><a href='#L144'>144</a>
210
+ <a name='L145'></a><a href='#L145'>145</a>
211
+ <a name='L146'></a><a href='#L146'>146</a>
212
+ <a name='L147'></a><a href='#L147'>147</a>
213
+ <a name='L148'></a><a href='#L148'>148</a>
214
+ <a name='L149'></a><a href='#L149'>149</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
206
215
  <span class="cline-any cline-yes">1x</span>
207
216
  <span class="cline-any cline-yes">1x</span>
208
217
  <span class="cline-any cline-yes">1x</span>
@@ -299,6 +308,10 @@
299
308
  <span class="cline-any cline-yes">6x</span>
300
309
  <span class="cline-any cline-yes">6x</span>
301
310
  <span class="cline-any cline-yes">6x</span>
311
+ <span class="cline-any cline-yes">6x</span>
312
+ <span class="cline-any cline-yes">6x</span>
313
+ <span class="cline-any cline-yes">6x</span>
314
+ <span class="cline-any cline-yes">6x</span>
302
315
  <span class="cline-any cline-no">&nbsp;</span>
303
316
  <span class="cline-any cline-no">&nbsp;</span>
304
317
  <span class="cline-any cline-yes">1x</span>
@@ -339,10 +352,15 @@
339
352
  <span class="cline-any cline-yes">44x</span>
340
353
  <span class="cline-any cline-yes">44x</span>
341
354
  <span class="cline-any cline-yes">44x</span>
342
- <span class="cline-any cline-yes">44x</span>
355
+ <span class="cline-any cline-yes">1x</span>
356
+ <span class="cline-any cline-yes">1x</span>
357
+ <span class="cline-any cline-yes">1x</span>
358
+ <span class="cline-any cline-yes">1x</span>
359
+ <span class="cline-any cline-no">&nbsp;</span>
360
+ <span class="cline-any cline-no">&nbsp;</span>
343
361
  <span class="cline-any cline-yes">1x</span>
344
362
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import _ from 'lodash'
345
- import LruCache from 'lru-cache'
363
+ import { LRUCache } from 'lru-cache'
346
364
  import makeDebug from 'debug'
347
365
  import { defineAbilities } from '../../../common/permissions.js'
348
366
  &nbsp;
@@ -435,7 +453,11 @@ export default {
435
453
  const config = app.get('authorisation')
436
454
  if (config &amp;&amp; config.cache) {
437
455
  // Store abilities of the N most active users in LRU cache (defaults to 1000)
438
- this.cache = new LruCache(config.cache.maxUsers <span class="branch-0 cbranch-no" title="branch not covered" >|| 1000)</span>
456
+ const max = config.cache.maxUsers <span class="branch-0 cbranch-no" title="branch not covered" >|| 1000</span>
457
+ // LRU cache lib switched from positional parameters to options object at some point
458
+ // so that now we directly pass the options to it while before we used the max argument
459
+ if (!config.cache.max &amp;&amp; !config.cache.ttl &amp;&amp; !config.cache.maxSize) config.cache.max = max
460
+ this.cache = new LRUCache(config.cache)
439
461
  debug('Using LRU cache for user abilities')
440
462
  }<span class="branch-0 cbranch-no" title="branch not covered" > else {</span>
441
463
  <span class="cstat-no" title="statement not covered" > debug('Do not use LRU cache for user abilities')</span>
@@ -470,15 +492,20 @@ export default {
470
492
  async updateAbilities (subject) {
471
493
  if (this.cache) {
472
494
  if (subject &amp;&amp; subject._id) {
473
- this.cache.del(subject._id.toString())
495
+ this.cache.delete(subject._id.toString())
474
496
  } else {
475
- this.cache.del(ANONYMOUS_USER)
497
+ this.cache.delete(ANONYMOUS_USER)
476
498
  }
477
499
  }
478
500
  &nbsp;
479
501
  const abilities = await this.getAbilities(subject)
480
502
  return abilities
481
- }
503
+ },
504
+ &nbsp;
505
+ // Clear abilities
506
+ <span class="fstat-no" title="function not covered" > clearAbilities() {</span>
507
+ <span class="cstat-no" title="statement not covered" > if (this.cache) this.cache.clear()</span>
508
+ <span class="cstat-no" title="statement not covered" > }</span>
482
509
  }
483
510
  &nbsp;</pre></td></tr></table></pre>
484
511
 
@@ -487,7 +514,7 @@ export default {
487
514
  <div class='footer quiet pad2 space-top1 center small'>
488
515
  Code coverage generated by
489
516
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
490
- at 2024-06-26T10:45:51.147Z
517
+ at 2024-11-15T21:05:45.905Z
491
518
  </div>
492
519
  <script src="../../../../prettify.js"></script>
493
520
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">98.83% </span>
26
+ <span class="strong">97.79% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>170/172</span>
28
+ <span class='fraction'>177/181</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">86.48% </span>
33
+ <span class="strong">87.5% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>32/37</span>
35
+ <span class='fraction'>35/40</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">100% </span>
40
+ <span class="strong">83.33% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>5/5</span>
42
+ <span class='fraction'>5/6</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">98.83% </span>
47
+ <span class="strong">97.79% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>170/172</span>
49
+ <span class='fraction'>177/181</span>
50
50
  </div>
51
51
 
52
52
 
@@ -95,17 +95,17 @@
95
95
 
96
96
  <tr>
97
97
  <td class="file high" data-value="authorisations.service.js"><a href="authorisations.service.js.html">authorisations.service.js</a></td>
98
- <td data-value="98.56" class="pic high">
99
- <div class="chart"><div class="cover-fill" style="width: 98%"></div><div class="cover-empty" style="width: 2%"></div></div>
98
+ <td data-value="97.29" class="pic high">
99
+ <div class="chart"><div class="cover-fill" style="width: 97%"></div><div class="cover-empty" style="width: 3%"></div></div>
100
100
  </td>
101
- <td data-value="98.56" class="pct high">98.56%</td>
102
- <td data-value="139" class="abs high">137/139</td>
103
- <td data-value="86.11" class="pct high">86.11%</td>
104
- <td data-value="36" class="abs high">31/36</td>
105
- <td data-value="100" class="pct high">100%</td>
106
- <td data-value="5" class="abs high">5/5</td>
107
- <td data-value="98.56" class="pct high">98.56%</td>
108
- <td data-value="139" class="abs high">137/139</td>
101
+ <td data-value="97.29" class="pct high">97.29%</td>
102
+ <td data-value="148" class="abs high">144/148</td>
103
+ <td data-value="87.17" class="pct high">87.17%</td>
104
+ <td data-value="39" class="abs high">34/39</td>
105
+ <td data-value="83.33" class="pct high">83.33%</td>
106
+ <td data-value="6" class="abs high">5/6</td>
107
+ <td data-value="97.29" class="pct high">97.29%</td>
108
+ <td data-value="148" class="abs high">144/148</td>
109
109
  </tr>
110
110
 
111
111
  </tbody>
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at 2024-06-26T10:45:51.147Z
119
+ at 2024-11-15T21:05:45.905Z
120
120
  </div>
121
121
  <script src="../../../../prettify.js"></script>
122
122
  <script>
@@ -178,7 +178,7 @@ export default {
178
178
  <div class='footer quiet pad2 space-top1 center small'>
179
179
  Code coverage generated by
180
180
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
181
- at 2024-06-26T10:45:51.147Z
181
+ at 2024-11-15T21:05:45.905Z
182
182
  </div>
183
183
  <script src="../../../../prettify.js"></script>
184
184
  <script>
@@ -85,7 +85,7 @@ export default function (name, app, options) {
85
85
  <div class='footer quiet pad2 space-top1 center small'>
86
86
  Code coverage generated by
87
87
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
88
- at 2024-06-26T10:45:51.147Z
88
+ at 2024-11-15T21:05:45.905Z
89
89
  </div>
90
90
  <script src="../../../../prettify.js"></script>
91
91
  <script>
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at 2024-06-26T10:45:51.147Z
119
+ at 2024-11-15T21:05:45.905Z
120
120
  </div>
121
121
  <script src="../../../../prettify.js"></script>
122
122
  <script>
@@ -163,7 +163,7 @@
163
163
  <div class='footer quiet pad2 space-top1 center small'>
164
164
  Code coverage generated by
165
165
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
166
- at 2024-06-26T10:45:51.147Z
166
+ at 2024-11-15T21:05:45.905Z
167
167
  </div>
168
168
  <script src="../../../../prettify.js"></script>
169
169
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2024-06-26T10:45:51.147Z
104
+ at 2024-11-15T21:05:45.905Z
105
105
  </div>
106
106
  <script src="../../../../prettify.js"></script>
107
107
  <script>
@@ -169,7 +169,7 @@ export default {
169
169
  <div class='footer quiet pad2 space-top1 center small'>
170
170
  Code coverage generated by
171
171
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
172
- at 2024-06-26T10:45:51.147Z
172
+ at 2024-11-15T21:05:45.905Z
173
173
  </div>
174
174
  <script src="../../../../prettify.js"></script>
175
175
  <script>
@@ -103,7 +103,7 @@ export default function (name, app, options) {
103
103
  <div class='footer quiet pad2 space-top1 center small'>
104
104
  Code coverage generated by
105
105
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
106
- at 2024-06-26T10:45:51.147Z
106
+ at 2024-11-15T21:05:45.905Z
107
107
  </div>
108
108
  <script src="../../../../prettify.js"></script>
109
109
  <script>
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at 2024-06-26T10:45:51.147Z
119
+ at 2024-11-15T21:05:45.905Z
120
120
  </div>
121
121
  <script src="../../../../prettify.js"></script>
122
122
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">94.2% </span>
26
+ <span class="strong">87.26% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>130/138</span>
28
+ <span class='fraction'>137/157</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">86.66% </span>
33
+ <span class="strong">81.25% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>13/15</span>
35
+ <span class='fraction'>13/16</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">87.5% </span>
40
+ <span class="strong">70% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>7/8</span>
42
+ <span class='fraction'>7/10</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">94.2% </span>
47
+ <span class="strong">87.26% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>130/138</span>
49
+ <span class='fraction'>137/157</span>
50
50
  </div>
51
51
 
52
52
 
@@ -80,17 +80,17 @@
80
80
  </thead>
81
81
  <tbody><tr>
82
82
  <td class="file high" data-value="index.js"><a href="index.js.html">index.js</a></td>
83
- <td data-value="94.2" class="pic high">
84
- <div class="chart"><div class="cover-fill" style="width: 94%"></div><div class="cover-empty" style="width: 6%"></div></div>
83
+ <td data-value="87.26" class="pic high">
84
+ <div class="chart"><div class="cover-fill" style="width: 87%"></div><div class="cover-empty" style="width: 13%"></div></div>
85
85
  </td>
86
- <td data-value="94.2" class="pct high">94.2%</td>
87
- <td data-value="138" class="abs high">130/138</td>
88
- <td data-value="86.66" class="pct high">86.66%</td>
89
- <td data-value="15" class="abs high">13/15</td>
90
- <td data-value="87.5" class="pct high">87.5%</td>
91
- <td data-value="8" class="abs high">7/8</td>
92
- <td data-value="94.2" class="pct high">94.2%</td>
93
- <td data-value="138" class="abs high">130/138</td>
86
+ <td data-value="87.26" class="pct high">87.26%</td>
87
+ <td data-value="157" class="abs high">137/157</td>
88
+ <td data-value="81.25" class="pct high">81.25%</td>
89
+ <td data-value="16" class="abs high">13/16</td>
90
+ <td data-value="70" class="pct medium">70%</td>
91
+ <td data-value="10" class="abs medium">7/10</td>
92
+ <td data-value="87.26" class="pct high">87.26%</td>
93
+ <td data-value="157" class="abs high">137/157</td>
94
94
  </tr>
95
95
 
96
96
  </tbody>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2024-06-26T10:45:51.147Z
104
+ at 2024-11-15T21:05:45.905Z
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
107
107
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">94.2% </span>
26
+ <span class="strong">87.26% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>130/138</span>
28
+ <span class='fraction'>137/157</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">86.66% </span>
33
+ <span class="strong">81.25% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>13/15</span>
35
+ <span class='fraction'>13/16</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">87.5% </span>
40
+ <span class="strong">70% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>7/8</span>
42
+ <span class='fraction'>7/10</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">94.2% </span>
47
+ <span class="strong">87.26% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>130/138</span>
49
+ <span class='fraction'>137/157</span>
50
50
  </div>
51
51
 
52
52
 
@@ -201,7 +201,26 @@
201
201
  <a name='L136'></a><a href='#L136'>136</a>
202
202
  <a name='L137'></a><a href='#L137'>137</a>
203
203
  <a name='L138'></a><a href='#L138'>138</a>
204
- <a name='L139'></a><a href='#L139'>139</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
204
+ <a name='L139'></a><a href='#L139'>139</a>
205
+ <a name='L140'></a><a href='#L140'>140</a>
206
+ <a name='L141'></a><a href='#L141'>141</a>
207
+ <a name='L142'></a><a href='#L142'>142</a>
208
+ <a name='L143'></a><a href='#L143'>143</a>
209
+ <a name='L144'></a><a href='#L144'>144</a>
210
+ <a name='L145'></a><a href='#L145'>145</a>
211
+ <a name='L146'></a><a href='#L146'>146</a>
212
+ <a name='L147'></a><a href='#L147'>147</a>
213
+ <a name='L148'></a><a href='#L148'>148</a>
214
+ <a name='L149'></a><a href='#L149'>149</a>
215
+ <a name='L150'></a><a href='#L150'>150</a>
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>
219
+ <a name='L154'></a><a href='#L154'>154</a>
220
+ <a name='L155'></a><a href='#L155'>155</a>
221
+ <a name='L156'></a><a href='#L156'>156</a>
222
+ <a name='L157'></a><a href='#L157'>157</a>
223
+ <a name='L158'></a><a href='#L158'>158</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
205
224
  <span class="cline-any cline-yes">1x</span>
206
225
  <span class="cline-any cline-yes">1x</span>
207
226
  <span class="cline-any cline-yes">1x</span>
@@ -242,6 +261,19 @@
242
261
  <span class="cline-any cline-yes">2x</span>
243
262
  <span class="cline-any cline-yes">1x</span>
244
263
  <span class="cline-any cline-yes">1x</span>
264
+ <span class="cline-any cline-no">&nbsp;</span>
265
+ <span class="cline-any cline-no">&nbsp;</span>
266
+ <span class="cline-any cline-no">&nbsp;</span>
267
+ <span class="cline-any cline-no">&nbsp;</span>
268
+ <span class="cline-any cline-no">&nbsp;</span>
269
+ <span class="cline-any cline-no">&nbsp;</span>
270
+ <span class="cline-any cline-yes">1x</span>
271
+ <span class="cline-any cline-yes">1x</span>
272
+ <span class="cline-any cline-no">&nbsp;</span>
273
+ <span class="cline-any cline-no">&nbsp;</span>
274
+ <span class="cline-any cline-no">&nbsp;</span>
275
+ <span class="cline-any cline-yes">1x</span>
276
+ <span class="cline-any cline-yes">1x</span>
245
277
  <span class="cline-any cline-yes">7x</span>
246
278
  <span class="cline-any cline-yes">7x</span>
247
279
  <span class="cline-any cline-yes">7x</span>
@@ -323,6 +355,12 @@
323
355
  <span class="cline-any cline-yes">7x</span>
324
356
  <span class="cline-any cline-yes">7x</span>
325
357
  <span class="cline-any cline-yes">7x</span>
358
+ <span class="cline-any cline-no">&nbsp;</span>
359
+ <span class="cline-any cline-no">&nbsp;</span>
360
+ <span class="cline-any cline-no">&nbsp;</span>
361
+ <span class="cline-any cline-yes">7x</span>
362
+ <span class="cline-any cline-yes">7x</span>
363
+ <span class="cline-any cline-yes">7x</span>
326
364
  <span class="cline-any cline-yes">7x</span>
327
365
  <span class="cline-any cline-yes">7x</span>
328
366
  <span class="cline-any cline-yes">7x</span>
@@ -379,6 +417,19 @@ export function removeStorageService (options = {}) {
379
417
  return app.removeService(app.getService('storage', options.context))
380
418
  }
381
419
  &nbsp;
420
+ export <span class="fstat-no" title="function not covered" >function createMessagesService (options = {}) {</span>
421
+ <span class="cstat-no" title="statement not covered" > const app = this</span>
422
+ <span class="cstat-no" title="statement not covered" > return app.createService('messages', Object.assign({</span>
423
+ <span class="cstat-no" title="statement not covered" > servicesPath,</span>
424
+ <span class="cstat-no" title="statement not covered" > modelsPath</span>
425
+ <span class="cstat-no" title="statement not covered" > }, options))</span>
426
+ <span class="cstat-no" title="statement not covered" >}</span>
427
+ &nbsp;
428
+ export <span class="fstat-no" title="function not covered" >function removeMessagesService (options = {}) {</span>
429
+ <span class="cstat-no" title="statement not covered" > const app = this</span>
430
+ <span class="cstat-no" title="statement not covered" > return app.removeService(app.getService('messages', options.context))</span>
431
+ <span class="cstat-no" title="statement not covered" >}</span>
432
+ &nbsp;
382
433
  export function createDatabasesService (options = {}) {
383
434
  const app = this
384
435
  &nbsp;
@@ -458,6 +509,12 @@ export default async function () {
458
509
  }, app)
459
510
  debug('\'import-export\' service created')
460
511
  }
512
+ &nbsp;
513
+ const messagesConfig = app.get('messages')
514
+ if (messagesConfig) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
515
+ <span class="cstat-no" title="statement not covered" > await createMessagesService.call(app)</span>
516
+ <span class="cstat-no" title="statement not covered" > debug('\'messages\' service created')</span>
517
+ <span class="cstat-no" title="statement not covered" > }</span>
461
518
  &nbsp;
462
519
  const orgConfig = app.get('organisations')
463
520
  if (orgConfig) {
@@ -484,7 +541,7 @@ export default async function () {
484
541
  <div class='footer quiet pad2 space-top1 center small'>
485
542
  Code coverage generated by
486
543
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
487
- at 2024-06-26T10:45:51.147Z
544
+ at 2024-11-15T21:05:45.905Z
488
545
  </div>
489
546
  <script src="../../../prettify.js"></script>
490
547
  <script>
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at 2024-06-26T10:45:51.147Z
119
+ at 2024-11-15T21:05:45.905Z
120
120
  </div>
121
121
  <script src="../../../../prettify.js"></script>
122
122
  <script>
@@ -175,7 +175,7 @@ export default {
175
175
  <div class='footer quiet pad2 space-top1 center small'>
176
176
  Code coverage generated by
177
177
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
178
- at 2024-06-26T10:45:51.147Z
178
+ at 2024-11-15T21:05:45.905Z
179
179
  </div>
180
180
  <script src="../../../../prettify.js"></script>
181
181
  <script>
@@ -103,7 +103,7 @@ export default function (name, app, options) {
103
103
  <div class='footer quiet pad2 space-top1 center small'>
104
104
  Code coverage generated by
105
105
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
106
- at 2024-06-26T10:45:51.147Z
106
+ at 2024-11-15T21:05:45.905Z
107
107
  </div>
108
108
  <script src="../../../../prettify.js"></script>
109
109
  <script>