@sumaris-net/ngx-components 2.6.4-alpha4 → 2.6.4-alpha5

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 (1179) hide show
  1. package/.editorconfig +24 -0
  2. package/.eslintrc.json +74 -0
  3. package/.gitattribute +1 -0
  4. package/.github/CONTRIBUTING.md +10 -0
  5. package/.github/ISSUE_TEMPLATE.md +6 -0
  6. package/.github/PULL_REQUEST_TEMPLATE.md +10 -0
  7. package/.github/github_disclaimer.md +14 -0
  8. package/.gitlab-ci.yml +46 -0
  9. package/.graphqlconfig +15 -0
  10. package/angular.json +230 -0
  11. package/capacitor.config.json +9 -0
  12. package/ionic.config.json +7 -0
  13. package/karma.conf.js +32 -0
  14. package/ng-package.json +19 -0
  15. package/ngcc.config.js +14 -0
  16. package/package.json +137 -23
  17. package/public_api.ts +343 -0
  18. package/resources/android/build/tools/android-accept-licenses.sh +14 -0
  19. package/resources/android/icon/drawable-hdpi-icon.png +0 -0
  20. package/resources/android/icon/drawable-ldpi-icon.png +0 -0
  21. package/resources/android/icon/drawable-mdpi-icon.png +0 -0
  22. package/resources/android/icon/drawable-xhdpi-icon.png +0 -0
  23. package/resources/android/icon/drawable-xxhdpi-icon.png +0 -0
  24. package/resources/android/icon/drawable-xxxhdpi-icon.png +0 -0
  25. package/resources/android/splash/drawable-land-hdpi-screen.png +0 -0
  26. package/resources/android/splash/drawable-land-ldpi-screen.png +0 -0
  27. package/resources/android/splash/drawable-land-mdpi-screen.png +0 -0
  28. package/resources/android/splash/drawable-land-xhdpi-screen.png +0 -0
  29. package/resources/android/splash/drawable-land-xxhdpi-screen.png +0 -0
  30. package/resources/android/splash/drawable-land-xxxhdpi-screen.png +0 -0
  31. package/resources/android/splash/drawable-port-hdpi-screen.png +0 -0
  32. package/resources/android/splash/drawable-port-ldpi-screen.png +0 -0
  33. package/resources/android/splash/drawable-port-mdpi-screen.png +0 -0
  34. package/resources/android/splash/drawable-port-xhdpi-screen.png +0 -0
  35. package/resources/android/splash/drawable-port-xxhdpi-screen.png +0 -0
  36. package/resources/android/splash/drawable-port-xxxhdpi-screen.png +0 -0
  37. package/resources/android/splash/drawable-xxxhdpi-screen.png +0 -0
  38. package/resources/icon/TODO.md +11 -0
  39. package/resources/icon.png +0 -0
  40. package/resources/icon.png.md5 +1 -0
  41. package/resources/icon.xcf +0 -0
  42. package/resources/ios/icon/icon-1024.png +0 -0
  43. package/resources/ios/icon/icon-108@2x.png +0 -0
  44. package/resources/ios/icon/icon-20.png +0 -0
  45. package/resources/ios/icon/icon-20@2x.png +0 -0
  46. package/resources/ios/icon/icon-20@3x.png +0 -0
  47. package/resources/ios/icon/icon-24@2x.png +0 -0
  48. package/resources/ios/icon/icon-27.5@2x.png +0 -0
  49. package/resources/ios/icon/icon-29.png +0 -0
  50. package/resources/ios/icon/icon-29@2x.png +0 -0
  51. package/resources/ios/icon/icon-29@3x.png +0 -0
  52. package/resources/ios/icon/icon-40.png +0 -0
  53. package/resources/ios/icon/icon-40@2x.png +0 -0
  54. package/resources/ios/icon/icon-40@3x.png +0 -0
  55. package/resources/ios/icon/icon-44@2x.png +0 -0
  56. package/resources/ios/icon/icon-50.png +0 -0
  57. package/resources/ios/icon/icon-50@2x.png +0 -0
  58. package/resources/ios/icon/icon-60.png +0 -0
  59. package/resources/ios/icon/icon-60@2x.png +0 -0
  60. package/resources/ios/icon/icon-60@3x.png +0 -0
  61. package/resources/ios/icon/icon-72.png +0 -0
  62. package/resources/ios/icon/icon-72@2x.png +0 -0
  63. package/resources/ios/icon/icon-76.png +0 -0
  64. package/resources/ios/icon/icon-76@2x.png +0 -0
  65. package/resources/ios/icon/icon-83.5@2x.png +0 -0
  66. package/resources/ios/icon/icon-86@2x.png +0 -0
  67. package/resources/ios/icon/icon-98@2x.png +0 -0
  68. package/resources/ios/icon/icon-small.png +0 -0
  69. package/resources/ios/icon/icon-small@2x.png +0 -0
  70. package/resources/ios/icon/icon-small@3x.png +0 -0
  71. package/resources/ios/icon/icon.png +0 -0
  72. package/resources/ios/icon/icon@2x.png +0 -0
  73. package/resources/ios/splash/Default-1792h~iphone.png +0 -0
  74. package/resources/ios/splash/Default-2436h.png +0 -0
  75. package/resources/ios/splash/Default-2688h~iphone.png +0 -0
  76. package/resources/ios/splash/Default-568h@2x~iphone.png +0 -0
  77. package/resources/ios/splash/Default-667h.png +0 -0
  78. package/resources/ios/splash/Default-736h.png +0 -0
  79. package/resources/ios/splash/Default-Landscape-1792h~iphone.png +0 -0
  80. package/resources/ios/splash/Default-Landscape-2436h.png +0 -0
  81. package/resources/ios/splash/Default-Landscape-2688h~iphone.png +0 -0
  82. package/resources/ios/splash/Default-Landscape-736h.png +0 -0
  83. package/resources/ios/splash/Default-Landscape@2x~ipad.png +0 -0
  84. package/resources/ios/splash/Default-Landscape@~ipadpro.png +0 -0
  85. package/resources/ios/splash/Default-Landscape~ipad.png +0 -0
  86. package/resources/ios/splash/Default-Portrait@2x~ipad.png +0 -0
  87. package/resources/ios/splash/Default-Portrait@~ipadpro.png +0 -0
  88. package/resources/ios/splash/Default-Portrait~ipad.png +0 -0
  89. package/resources/ios/splash/Default@2x~iphone.png +0 -0
  90. package/resources/ios/splash/Default@2x~universal~anyany.png +0 -0
  91. package/resources/ios/splash/Default~iphone.png +0 -0
  92. package/resources/splash.png +0 -0
  93. package/resources/splash.png.md5 +1 -0
  94. package/scripts/build-android.sh +18 -0
  95. package/scripts/build-i18n.js +24 -0
  96. package/scripts/docker-start.sh +6 -0
  97. package/scripts/emulate-android.sh +17 -0
  98. package/scripts/env-android.sh +83 -0
  99. package/scripts/env-clean.sh +23 -0
  100. package/scripts/env-global.sh +156 -0
  101. package/scripts/install-android-sdk-tools.sh +73 -0
  102. package/scripts/ionic-update.sh +24 -0
  103. package/scripts/node/playground.ts +9 -0
  104. package/scripts/node/resources.js +90 -0
  105. package/scripts/release.sh +149 -0
  106. package/scripts/run-android.sh +59 -0
  107. package/scripts/test.sh +19 -0
  108. package/src/app/admin/admin-routing.module.ts +30 -0
  109. package/src/app/admin/admin.module.ts +23 -0
  110. package/src/app/admin/services/filter/person.filter.ts +77 -0
  111. package/src/app/admin/services/person.service.ts +212 -0
  112. package/src/app/admin/services/validator/person.validator.ts +37 -0
  113. package/src/app/admin/users/users.html +427 -0
  114. package/src/app/admin/users/users.module.ts +34 -0
  115. package/src/app/admin/users/users.scss +59 -0
  116. package/src/app/admin/users/users.ts +257 -0
  117. package/src/app/app-routing.module.ts +126 -0
  118. package/src/app/app.component.html +12 -0
  119. package/src/app/app.component.scss +4 -0
  120. package/src/app/app.component.ts +205 -0
  121. package/src/app/app.module.ts +326 -0
  122. package/src/app/core/about/about.modal.html +140 -0
  123. package/src/app/core/about/about.modal.scss +23 -0
  124. package/src/app/core/about/about.modal.ts +71 -0
  125. package/src/app/core/about/about.module.ts +24 -0
  126. package/src/app/core/account/account.module.ts +38 -0
  127. package/src/app/core/account/account.page.html +241 -0
  128. package/src/app/core/account/account.page.scss +21 -0
  129. package/src/app/core/account/account.page.ts +366 -0
  130. package/src/app/core/account/new-token.modal.html +120 -0
  131. package/src/app/core/account/new-token.modal.ts +138 -0
  132. package/src/app/core/account/token.table.html +177 -0
  133. package/src/app/core/account/token.table.scss +7 -0
  134. package/src/app/core/account/token.table.ts +141 -0
  135. package/src/app/core/auth/auth.form.html +77 -0
  136. package/src/app/core/auth/auth.form.scss +1 -0
  137. package/src/app/core/auth/auth.form.ts +145 -0
  138. package/src/app/core/auth/auth.modal.html +57 -0
  139. package/src/app/core/auth/auth.modal.scss +1 -0
  140. package/src/app/core/auth/auth.modal.ts +80 -0
  141. package/src/app/core/auth/auth.module.ts +33 -0
  142. package/src/app/core/core.module.ts +100 -0
  143. package/src/app/core/core.testing.module.ts +64 -0
  144. package/src/app/core/form/buttons/form-buttons-bar.component.html +59 -0
  145. package/src/app/core/form/buttons/form-buttons-bar.component.scss +14 -0
  146. package/src/app/core/form/buttons/form-buttons-bar.component.ts +70 -0
  147. package/src/app/core/form/buttons/form-buttons-bar.module.ts +24 -0
  148. package/src/app/core/form/entity/editor.class.ts +803 -0
  149. package/src/app/core/form/entity/entity-editor-modal.class.ts +537 -0
  150. package/src/app/core/form/entity/entity-editor.class.ts +885 -0
  151. package/src/app/core/form/entity/entity-metadata.component.html +53 -0
  152. package/src/app/core/form/entity/entity-metadata.component.scss +28 -0
  153. package/src/app/core/form/entity/entity-metadata.component.ts +19 -0
  154. package/src/app/core/form/entity/entity.module.ts +25 -0
  155. package/src/app/core/form/form.class.ts +401 -0
  156. package/src/app/core/form/form.module.ts +37 -0
  157. package/src/app/core/form/form.utils.ts +639 -0
  158. package/src/app/core/form/list/list.form.html +67 -0
  159. package/src/app/core/form/list/list.form.scss +40 -0
  160. package/src/app/core/form/list/list.form.ts +278 -0
  161. package/src/app/core/form/list/list.module.ts +25 -0
  162. package/src/app/core/form/properties/properties.form.html +129 -0
  163. package/src/app/core/form/properties/properties.form.ts +147 -0
  164. package/src/app/core/form/properties/properties.module.ts +30 -0
  165. package/src/app/core/form/properties/properties.table.html +219 -0
  166. package/src/app/core/form/properties/properties.table.scss +0 -0
  167. package/src/app/core/form/properties/properties.table.ts +291 -0
  168. package/src/app/core/form/properties/property.validator.ts +22 -0
  169. package/src/app/core/form/properties/testing/properties-form.test.html +21 -0
  170. package/src/app/core/form/properties/testing/properties-form.test.ts +102 -0
  171. package/src/app/core/form/properties/testing/properties-form.testing.module.ts +25 -0
  172. package/src/app/core/form/text-popover/testing/text-popover.testing.html +45 -0
  173. package/src/app/core/form/text-popover/testing/text-popover.testing.module.ts +32 -0
  174. package/src/app/core/form/text-popover/testing/text-popover.testing.ts +77 -0
  175. package/src/app/core/form/text-popover/text-form.component.html +44 -0
  176. package/src/app/core/form/text-popover/text-form.component.scss +8 -0
  177. package/src/app/core/form/text-popover/text-form.component.ts +65 -0
  178. package/src/app/core/form/text-popover/text-popover.component.html +86 -0
  179. package/src/app/core/form/text-popover/text-popover.component.scss +7 -0
  180. package/src/app/core/form/text-popover/text-popover.component.ts +165 -0
  181. package/src/app/core/form/text-popover/text-popover.module.ts +27 -0
  182. package/src/app/core/graphql/graphql.module.ts +17 -0
  183. package/src/app/core/graphql/graphql.service.ts +969 -0
  184. package/src/app/core/graphql/graphql.utils.ts +167 -0
  185. package/src/app/core/home/home.html +211 -0
  186. package/src/app/core/home/home.module.ts +32 -0
  187. package/src/app/core/home/home.scss +242 -0
  188. package/src/app/core/home/home.ts +298 -0
  189. package/src/app/core/icon/icon.component.html +15 -0
  190. package/src/app/core/icon/icon.component.ts +23 -0
  191. package/src/app/core/icon/icon.module.ts +22 -0
  192. package/src/app/core/install/install-upgrade-card.component.html +144 -0
  193. package/src/app/core/install/install-upgrade-card.component.scss +4 -0
  194. package/src/app/core/install/install-upgrade-card.component.ts +412 -0
  195. package/src/app/core/install/install-upgrade-card.module.ts +23 -0
  196. package/src/app/core/menu/menu.component.html +135 -0
  197. package/src/app/core/menu/menu.component.scss +225 -0
  198. package/src/app/core/menu/menu.component.ts +352 -0
  199. package/src/app/core/menu/menu.model.ts +64 -0
  200. package/src/app/core/menu/menu.module.ts +27 -0
  201. package/src/app/core/menu/menu.service.ts +62 -0
  202. package/src/app/core/offline/update-offline-mode-card.component.html +45 -0
  203. package/src/app/core/offline/update-offline-mode-card.component.scss +4 -0
  204. package/src/app/core/offline/update-offline-mode-card.component.ts +28 -0
  205. package/src/app/core/offline/update-offline-mode-card.module.ts +24 -0
  206. package/src/app/core/peer/select-peer.modal.html +123 -0
  207. package/src/app/core/peer/select-peer.modal.scss +20 -0
  208. package/src/app/core/peer/select-peer.modal.ts +197 -0
  209. package/src/app/core/peer/select-peer.module.ts +28 -0
  210. package/src/app/core/register/register-confirm.page.html +55 -0
  211. package/src/app/core/register/register-confirm.page.scss +121 -0
  212. package/src/app/core/register/register-confirm.page.ts +94 -0
  213. package/src/app/core/register/register.form.html +125 -0
  214. package/src/app/core/register/register.form.scss +10 -0
  215. package/src/app/core/register/register.form.ts +213 -0
  216. package/src/app/core/register/register.modal.html +70 -0
  217. package/src/app/core/register/register.modal.ts +52 -0
  218. package/src/app/core/register/register.module.ts +31 -0
  219. package/src/app/core/services/account.service.ts +1431 -0
  220. package/src/app/core/services/auth-guard.service.ts +70 -0
  221. package/src/app/core/services/base-entity-service.class.ts +598 -0
  222. package/src/app/core/services/base-graphql-service.class.ts +298 -0
  223. package/src/app/core/services/base58.ts +83 -0
  224. package/src/app/core/services/config/account.config.ts +35 -0
  225. package/src/app/core/services/config/core.config.ts +180 -0
  226. package/src/app/core/services/config.service.ts +414 -0
  227. package/src/app/core/services/crypto.service.ts +126 -0
  228. package/src/app/core/services/errors.ts +67 -0
  229. package/src/app/core/services/local-settings.service.spec.ts +32 -0
  230. package/src/app/core/services/local-settings.service.ts +548 -0
  231. package/src/app/core/services/model/account.model.ts +141 -0
  232. package/src/app/core/services/model/config.model.ts +122 -0
  233. package/src/app/core/services/model/department.model.ts +34 -0
  234. package/src/app/core/services/model/entity.decorators.ts +112 -0
  235. package/src/app/core/services/model/entity.model.ts +326 -0
  236. package/src/app/core/services/model/filter.model.ts +139 -0
  237. package/src/app/core/services/model/history.model.ts +25 -0
  238. package/src/app/core/services/model/model.enum.ts +11 -0
  239. package/src/app/core/services/model/peer.model.ts +86 -0
  240. package/src/app/core/services/model/person.model.ts +112 -0
  241. package/src/app/core/services/model/referential.model.ts +244 -0
  242. package/src/app/core/services/model/settings.model.ts +32 -0
  243. package/src/app/core/services/model/token.model.ts +54 -0
  244. package/src/app/core/services/network.service.spec.ts +49 -0
  245. package/src/app/core/services/network.service.ts +729 -0
  246. package/src/app/core/services/network.types.ts +26 -0
  247. package/src/app/core/services/network.utils.ts +57 -0
  248. package/src/app/core/services/pipes/account.pipes.ts +25 -0
  249. package/src/app/core/services/pipes/department-to-string.pipe.ts +15 -0
  250. package/src/app/core/services/pipes/person-to-string.pipe.ts +15 -0
  251. package/src/app/core/services/pipes/usage-mode.pipes.ts +26 -0
  252. package/src/app/core/services/platform.service.spec.ts +56 -0
  253. package/src/app/core/services/platform.service.ts +605 -0
  254. package/src/app/core/services/storage/entities-storage.service.ts +542 -0
  255. package/src/app/core/services/storage/entity-store.class.ts +598 -0
  256. package/src/app/core/services/testing/referential-filter.model.ts +28 -0
  257. package/src/app/core/services/testing/referential.validator.ts +57 -0
  258. package/src/app/core/services/validator/account.validator.ts +58 -0
  259. package/src/app/core/services/validator/base.validator.class.ts +54 -0
  260. package/src/app/core/services/validator/local-settings.validator.ts +72 -0
  261. package/src/app/core/services/validator/user-settings.validator.ts +25 -0
  262. package/src/app/core/services/validator/user-token.validator.ts +55 -0
  263. package/src/app/core/settings/settings.module.ts +24 -0
  264. package/src/app/core/settings/settings.page.html +264 -0
  265. package/src/app/core/settings/settings.page.ts +365 -0
  266. package/src/app/core/table/actions-column.component.html +91 -0
  267. package/src/app/core/table/actions-column.component.ts +70 -0
  268. package/src/app/core/table/async-table.class.ts +1934 -0
  269. package/src/app/core/table/entities-async-table-datasource.class.ts +482 -0
  270. package/src/app/core/table/entities-table-datasource.class.ts +496 -0
  271. package/src/app/core/table/memory-table.class.ts +65 -0
  272. package/src/app/core/table/table-select-columns.component.html +58 -0
  273. package/src/app/core/table/table-select-columns.component.ts +50 -0
  274. package/src/app/core/table/table.class.ts +1973 -0
  275. package/src/app/core/table/table.model.ts +35 -0
  276. package/src/app/core/table/table.module.ts +26 -0
  277. package/src/app/core/table/table.utils.ts +38 -0
  278. package/src/app/core/table/testing/multi-table.testing.ts +261 -0
  279. package/src/app/core/table/testing/table-validator.service.ts +25 -0
  280. package/src/app/core/table/testing/table.testing.html +396 -0
  281. package/src/app/core/table/testing/table.testing.module.ts +25 -0
  282. package/src/app/core/table/testing/table.testing.scss +23 -0
  283. package/src/app/core/table/testing/table.testing.ts +292 -0
  284. package/src/app/shared/alerts.ts +292 -0
  285. package/src/app/shared/audio/audio.testing.html +33 -0
  286. package/src/app/shared/audio/audio.testing.module.ts +32 -0
  287. package/src/app/shared/audio/audio.testing.ts +31 -0
  288. package/src/app/shared/audio/audio.ts +278 -0
  289. package/src/app/shared/base64.utils.ts +66 -0
  290. package/src/app/shared/capacitor/keyboard.ts +40 -0
  291. package/src/app/shared/capacitor/plugins.ts +12 -0
  292. package/src/app/shared/constants.ts +12 -0
  293. package/src/app/shared/dates.ts +163 -0
  294. package/src/app/shared/debug/debug-service.class.ts +8 -0
  295. package/src/app/shared/debug/debug.component.html +13 -0
  296. package/src/app/shared/debug/debug.component.scss +24 -0
  297. package/src/app/shared/debug/debug.component.spec.ts +25 -0
  298. package/src/app/shared/debug/debug.component.ts +27 -0
  299. package/src/app/shared/debug/debug.module.ts +28 -0
  300. package/src/app/shared/directives/autofocus.directive.ts +109 -0
  301. package/src/app/shared/directives/autotitle.directive.ts +24 -0
  302. package/src/app/shared/directives/directives.module.ts +29 -0
  303. package/src/app/shared/directives/drag-and-drop.directive.ts +47 -0
  304. package/src/app/shared/directives/ng-var.directive.ts +32 -0
  305. package/src/app/shared/directives/resizable/resizable.component.ts +47 -0
  306. package/src/app/shared/directives/resizable/resizable.directive.ts +43 -0
  307. package/src/app/shared/directives/resizable/resizable.module.ts +9 -0
  308. package/src/app/shared/directives/resizable/resizable.style.scss +44 -0
  309. package/src/app/shared/directives/resizable/resizable.template.html +6 -0
  310. package/src/app/shared/events.ts +96 -0
  311. package/src/app/shared/file/csv.utils.ts +94 -0
  312. package/src/app/shared/file/file.service.ts +132 -0
  313. package/src/app/shared/file/file.utils.ts +138 -0
  314. package/src/app/shared/file/images.utils.ts +198 -0
  315. package/src/app/shared/file/json.utils.ts +73 -0
  316. package/src/app/shared/file/uri.utils.ts +25 -0
  317. package/src/app/shared/focusable.ts +10 -0
  318. package/src/app/shared/form/field.component.html +261 -0
  319. package/src/app/shared/form/field.component.scss +7 -0
  320. package/src/app/shared/form/field.component.ts +318 -0
  321. package/src/app/shared/form/field.model.ts +64 -0
  322. package/src/app/shared/form/loading-spinner.ts +16 -0
  323. package/src/app/shared/forms.ts +458 -0
  324. package/src/app/shared/functions.ts +492 -0
  325. package/src/app/shared/geolocation/geolocation.utils.ts +101 -0
  326. package/src/app/shared/gesture/gesture-config.ts +45 -0
  327. package/src/app/shared/gesture/hammer.utils.ts +14 -0
  328. package/src/app/shared/graph/colors.utils.ts +74 -0
  329. package/src/app/shared/graph/graph-colors.ts +295 -0
  330. package/src/app/shared/guard/component-dirty.guard.ts +70 -0
  331. package/src/app/shared/help/help.modal.html +42 -0
  332. package/src/app/shared/help/help.modal.ts +61 -0
  333. package/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.html +11 -0
  334. package/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.scss +39 -0
  335. package/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.ts +16 -0
  336. package/src/app/shared/hotkeys/hotkeys.service.ts +89 -0
  337. package/src/app/shared/hotkeys/shared-hotkeys.module.ts +27 -0
  338. package/src/app/shared/http/http.utils.ts +89 -0
  339. package/src/app/shared/image/gallery/image-gallery.component.html +231 -0
  340. package/src/app/shared/image/gallery/image-gallery.component.scss +196 -0
  341. package/src/app/shared/image/gallery/image-gallery.component.ts +389 -0
  342. package/src/app/shared/image/gallery/image-gallery.module.ts +34 -0
  343. package/src/app/shared/image/gallery/testing/gallegry.model.testing.ts +27 -0
  344. package/src/app/shared/image/gallery/testing/gallery.service.testing.ts +102 -0
  345. package/src/app/shared/image/gallery/testing/gallery.testing.html +15 -0
  346. package/src/app/shared/image/gallery/testing/gallery.testing.module.ts +39 -0
  347. package/src/app/shared/image/gallery/testing/gallery.testing.ts +38 -0
  348. package/src/app/shared/image/image.model.ts +6 -0
  349. package/src/app/shared/image/image.module.ts +16 -0
  350. package/src/app/shared/image/image.service.ts +94 -0
  351. package/src/app/shared/image/image.testing.module.ts +23 -0
  352. package/src/app/shared/inputs.ts +282 -0
  353. package/src/app/shared/interceptors/progess.interceptor.ts +25 -0
  354. package/src/app/shared/logging/log-level.model.ts +53 -0
  355. package/src/app/shared/logging/logger.model.ts +120 -0
  356. package/src/app/shared/logging/logging-service.class.ts +134 -0
  357. package/src/app/shared/logging/logging-service.config.ts +29 -0
  358. package/src/app/shared/logging/logging-service.module.ts +22 -0
  359. package/src/app/shared/material/autocomplete/material.autocomplete.config.ts +83 -0
  360. package/src/app/shared/material/autocomplete/material.autocomplete.html +262 -0
  361. package/src/app/shared/material/autocomplete/material.autocomplete.module.ts +45 -0
  362. package/src/app/shared/material/autocomplete/material.autocomplete.scss +21 -0
  363. package/src/app/shared/material/autocomplete/material.autocomplete.ts +1022 -0
  364. package/src/app/shared/material/autocomplete/material.autocomplete.utils.ts +20 -0
  365. package/src/app/shared/material/autocomplete/testing/autocomplete.test.html +876 -0
  366. package/src/app/shared/material/autocomplete/testing/autocomplete.test.spec.ts +38 -0
  367. package/src/app/shared/material/autocomplete/testing/autocomplete.test.ts +247 -0
  368. package/src/app/shared/material/badge/badge.directive.ts +164 -0
  369. package/src/app/shared/material/badge/badge.module.ts +22 -0
  370. package/src/app/shared/material/badge/badge.test.html +261 -0
  371. package/src/app/shared/material/badge/badge.test.ts +36 -0
  372. package/src/app/shared/material/boolean/boolean.module.ts +40 -0
  373. package/src/app/shared/material/boolean/material.boolean.html +155 -0
  374. package/src/app/shared/material/boolean/material.boolean.scss +34 -0
  375. package/src/app/shared/material/boolean/material.boolean.ts +239 -0
  376. package/src/app/shared/material/chips/chips.module.ts +44 -0
  377. package/src/app/shared/material/chips/material.chips.html +146 -0
  378. package/src/app/shared/material/chips/material.chips.scss +65 -0
  379. package/src/app/shared/material/chips/material.chips.ts +768 -0
  380. package/src/app/shared/material/chips/testing/chips.test.html +137 -0
  381. package/src/app/shared/material/chips/testing/chips.test.ts +175 -0
  382. package/src/app/shared/material/datetime/datetime.module.ts +52 -0
  383. package/src/app/shared/material/datetime/material.date.html +132 -0
  384. package/src/app/shared/material/datetime/material.date.scss +17 -0
  385. package/src/app/shared/material/datetime/material.date.ts +408 -0
  386. package/src/app/shared/material/datetime/material.dateshort.html +134 -0
  387. package/src/app/shared/material/datetime/material.dateshort.scss +23 -0
  388. package/src/app/shared/material/datetime/material.dateshort.ts +422 -0
  389. package/src/app/shared/material/datetime/material.datetime.html +224 -0
  390. package/src/app/shared/material/datetime/material.datetime.scss +90 -0
  391. package/src/app/shared/material/datetime/material.datetime.ts +575 -0
  392. package/src/app/shared/material/datetime/testing/mat-date-time.test.html +354 -0
  393. package/src/app/shared/material/datetime/testing/mat-date-time.test.ts +134 -0
  394. package/src/app/shared/material/datetime/testing/mat-date.test.html +418 -0
  395. package/src/app/shared/material/datetime/testing/mat-date.test.ts +135 -0
  396. package/src/app/shared/material/datetime/testing/mat-dateshort.test.html +370 -0
  397. package/src/app/shared/material/datetime/testing/mat-dateshort.test.ts +127 -0
  398. package/src/app/shared/material/duration/duration.module.ts +39 -0
  399. package/src/app/shared/material/duration/duration.utils.ts +41 -0
  400. package/src/app/shared/material/duration/material.duration.html +44 -0
  401. package/src/app/shared/material/duration/material.duration.scss +28 -0
  402. package/src/app/shared/material/duration/material.duration.ts +294 -0
  403. package/src/app/shared/material/latlong/latlong.utils.ts +300 -0
  404. package/src/app/shared/material/latlong/material.latlong.html +127 -0
  405. package/src/app/shared/material/latlong/material.latlong.module.ts +40 -0
  406. package/src/app/shared/material/latlong/material.latlong.scss +48 -0
  407. package/src/app/shared/material/latlong/material.latlong.ts +421 -0
  408. package/src/app/shared/material/latlong/testing/latlong.test.html +341 -0
  409. package/src/app/shared/material/latlong/testing/latlong.test.ts +121 -0
  410. package/src/app/shared/material/material.animations.ts +129 -0
  411. package/src/app/shared/material/material.module.ts +94 -0
  412. package/src/app/shared/material/material.testing.module.ts +135 -0
  413. package/src/app/shared/material/memory/memory.utils.ts +54 -0
  414. package/src/app/shared/material/numpad/numpad.animation.ts +1 -0
  415. package/src/app/shared/material/numpad/numpad.append-to-input.directive.ts +109 -0
  416. package/src/app/shared/material/numpad/numpad.component.ts +78 -0
  417. package/src/app/shared/material/numpad/numpad.container.html +32 -0
  418. package/src/app/shared/material/numpad/numpad.container.scss +50 -0
  419. package/src/app/shared/material/numpad/numpad.container.ts +176 -0
  420. package/src/app/shared/material/numpad/numpad.content.html +13 -0
  421. package/src/app/shared/material/numpad/numpad.content.ts +10 -0
  422. package/src/app/shared/material/numpad/numpad.directive.ts +173 -0
  423. package/src/app/shared/material/numpad/numpad.dom-service.ts +46 -0
  424. package/src/app/shared/material/numpad/numpad.model.ts +55 -0
  425. package/src/app/shared/material/numpad/numpad.module.ts +38 -0
  426. package/src/app/shared/material/numpad/testing/numpad.test.html +146 -0
  427. package/src/app/shared/material/numpad/testing/numpad.test.ts +55 -0
  428. package/src/app/shared/material/paginator/material.paginator-i18n.ts +49 -0
  429. package/src/app/shared/material/stepper/material.stepper-i18n.ts +18 -0
  430. package/src/app/shared/material/swipe/material.swipe.html +63 -0
  431. package/src/app/shared/material/swipe/material.swipe.scss +39 -0
  432. package/src/app/shared/material/swipe/material.swipe.ts +350 -0
  433. package/src/app/shared/material/swipe/swipe.module.ts +33 -0
  434. package/src/app/shared/material/swipe/testing/swipe.test.html +128 -0
  435. package/src/app/shared/material/swipe/testing/swipe.test.ts +81 -0
  436. package/src/app/shared/modules.ts +11 -0
  437. package/src/app/shared/observables.ts +132 -0
  438. package/src/app/shared/pipes/arrays.pipe.ts +111 -0
  439. package/src/app/shared/pipes/colors.pipe.ts +19 -0
  440. package/src/app/shared/pipes/date-diff-duration.pipe.ts +48 -0
  441. package/src/app/shared/pipes/date-format.pipe.ts +78 -0
  442. package/src/app/shared/pipes/date-from-now.pipe.ts +20 -0
  443. package/src/app/shared/pipes/duration.pipe.spec.ts +51 -0
  444. package/src/app/shared/pipes/duration.pipe.ts +34 -0
  445. package/src/app/shared/pipes/file-size.pipe.ts +58 -0
  446. package/src/app/shared/pipes/form.pipes.ts +204 -0
  447. package/src/app/shared/pipes/highlight.pipe.ts +37 -0
  448. package/src/app/shared/pipes/latlong-format.pipe.ts +30 -0
  449. package/src/app/shared/pipes/maps.pipe.ts +39 -0
  450. package/src/app/shared/pipes/math.pipes.ts +39 -0
  451. package/src/app/shared/pipes/ng-init.pipe.ts +14 -0
  452. package/src/app/shared/pipes/number-format.pipe.ts +21 -0
  453. package/src/app/shared/pipes/pipes.module.ts +134 -0
  454. package/src/app/shared/pipes/property.pipes.ts +87 -0
  455. package/src/app/shared/pipes/string.pipes.ts +85 -0
  456. package/src/app/shared/pipes/translate-context.pipe.ts +33 -0
  457. package/src/app/shared/pipes/types.pipes.ts +31 -0
  458. package/src/app/shared/platforms.ts +58 -0
  459. package/src/app/shared/services/entity-service.class.ts +127 -0
  460. package/src/app/shared/services/job.utils.ts +121 -0
  461. package/src/app/shared/services/memory-entity-service.class.ts +447 -0
  462. package/src/app/shared/services/progress-bar.service.ts +42 -0
  463. package/src/app/shared/services/startable-observable-service.class.ts +137 -0
  464. package/src/app/shared/services/startable-service.class.ts +131 -0
  465. package/src/app/shared/services/storage.utils.ts +47 -0
  466. package/src/app/shared/services/translate-context.service.ts +116 -0
  467. package/src/app/shared/services/validator-service.class.ts +14 -0
  468. package/src/app/shared/services.ts +91 -0
  469. package/src/app/shared/shared-routing.module.ts +66 -0
  470. package/src/app/shared/shared.module.spec.ts +13 -0
  471. package/src/app/shared/shared.module.ts +146 -0
  472. package/src/app/shared/shared.testing.module.ts +50 -0
  473. package/src/app/shared/storage/storage-explorer.component.html +175 -0
  474. package/src/app/shared/storage/storage-explorer.component.scss +39 -0
  475. package/src/app/shared/storage/storage-explorer.component.spec.ts +24 -0
  476. package/src/app/shared/storage/storage-explorer.component.ts +292 -0
  477. package/src/app/shared/storage/storage-explorer.module.ts +44 -0
  478. package/src/app/shared/storage/storage.service.ts +133 -0
  479. package/src/app/shared/storage/storage.utils.ts +25 -0
  480. package/src/app/shared/testing/observable.test.html +53 -0
  481. package/src/app/shared/testing/observable.test.scss +3 -0
  482. package/src/app/shared/testing/observable.test.ts +117 -0
  483. package/src/app/shared/testing/tests.page.html +30 -0
  484. package/src/app/shared/testing/tests.page.ts +34 -0
  485. package/src/app/shared/toast/toast.testing.html +42 -0
  486. package/src/app/shared/toast/toast.testing.module.ts +32 -0
  487. package/src/app/shared/toast/toast.testing.ts +58 -0
  488. package/src/app/shared/toast/toasts.ts +183 -0
  489. package/src/app/shared/toolbar/modal-toolbar.html +32 -0
  490. package/src/app/shared/toolbar/modal-toolbar.scss +0 -0
  491. package/src/app/shared/toolbar/modal-toolbar.ts +63 -0
  492. package/src/app/shared/toolbar/toolbar.html +71 -0
  493. package/src/app/shared/toolbar/toolbar.module.ts +35 -0
  494. package/src/app/shared/toolbar/toolbar.scss +0 -0
  495. package/src/app/shared/toolbar/toolbar.ts +254 -0
  496. package/src/app/shared/types.ts +31 -0
  497. package/src/app/shared/upload-file/testing/upload-file.testing.html +25 -0
  498. package/src/app/shared/upload-file/testing/upload-file.testing.module.ts +32 -0
  499. package/src/app/shared/upload-file/testing/upload-file.testing.ts +68 -0
  500. package/src/app/shared/upload-file/upload-file-popover.component.html +43 -0
  501. package/src/app/shared/upload-file/upload-file-popover.component.scss +6 -0
  502. package/src/app/shared/upload-file/upload-file-popover.component.ts +115 -0
  503. package/src/app/shared/upload-file/upload-file.component.html +46 -0
  504. package/src/app/shared/upload-file/upload-file.component.scss +130 -0
  505. package/src/app/shared/upload-file/upload-file.component.ts +218 -0
  506. package/src/app/shared/upload-file/upload-file.model.ts +41 -0
  507. package/src/app/shared/validator/form-error-adapter.class.ts +123 -0
  508. package/src/app/shared/validator/validators.ts +639 -0
  509. package/src/app/shared/version/versions.ts +91 -0
  510. package/src/app/social/job/job.module.ts +26 -0
  511. package/src/app/social/job/progression/job-progression.component.html +22 -0
  512. package/src/app/social/job/progression/job-progression.component.scss +15 -0
  513. package/src/app/social/job/progression/job-progression.component.ts +17 -0
  514. package/src/app/social/job/progression/job-progression.icon.html +28 -0
  515. package/src/app/social/job/progression/job-progression.icon.scss +5 -0
  516. package/src/app/social/job/progression/job-progression.icon.ts +238 -0
  517. package/src/app/social/job/progression/job-progression.list.html +21 -0
  518. package/src/app/social/job/progression/job-progression.list.scss +17 -0
  519. package/src/app/social/job/progression/job-progression.list.ts +49 -0
  520. package/src/app/social/job/progression/job-progression.model.ts +28 -0
  521. package/src/app/social/job/progression/job-progression.service.ts +86 -0
  522. package/src/app/social/job/testing/job-progression.testing.html +20 -0
  523. package/src/app/social/job/testing/job-progression.testing.service.ts +60 -0
  524. package/src/app/social/job/testing/job-progression.testing.ts +51 -0
  525. package/src/app/social/job/testing/job.testing.module.ts +22 -0
  526. package/src/app/social/message/message.form.html +60 -0
  527. package/src/app/social/message/message.form.scss +6 -0
  528. package/src/app/social/message/message.form.ts +79 -0
  529. package/src/app/social/message/message.modal.html +65 -0
  530. package/src/app/social/message/message.modal.ts +118 -0
  531. package/src/app/social/message/message.model.ts +81 -0
  532. package/src/app/social/message/message.module.ts +22 -0
  533. package/src/app/social/message/message.service.ts +88 -0
  534. package/src/app/social/social.errors.ts +11 -0
  535. package/src/app/social/social.module.ts +36 -0
  536. package/src/app/social/social.testing.module.ts +40 -0
  537. package/src/app/social/user-event/notification/user-event-notification.icon.html +16 -0
  538. package/src/app/social/user-event/notification/user-event-notification.icon.ts +108 -0
  539. package/src/app/social/user-event/notification/user-event-notification.list.html +135 -0
  540. package/src/app/social/user-event/notification/user-event-notification.list.scss +73 -0
  541. package/src/app/social/user-event/notification/user-event-notification.list.ts +287 -0
  542. package/src/app/social/user-event/testing/user-event.testing.html +27 -0
  543. package/src/app/social/user-event/testing/user-event.testing.model.ts +146 -0
  544. package/src/app/social/user-event/testing/user-event.testing.module.ts +22 -0
  545. package/src/app/social/user-event/testing/user-event.testing.service.ts +141 -0
  546. package/src/app/social/user-event/testing/user-event.testing.ts +253 -0
  547. package/src/app/social/user-event/user-event.model.ts +73 -0
  548. package/src/app/social/user-event/user-event.module.ts +25 -0
  549. package/src/app/social/user-event/user-event.service.ts +679 -0
  550. package/src/browserslist +9 -0
  551. package/src/environments/environment.class.ts +83 -0
  552. package/src/environments/environment.prod.ts +47 -0
  553. package/src/environments/environment.test.ts +90 -0
  554. package/src/environments/environment.ts +108 -0
  555. package/src/favicon.ico +0 -0
  556. package/src/global.scss +27 -0
  557. package/src/index.html +80 -0
  558. package/src/main.ts +17 -0
  559. package/src/polyfills.ts +68 -0
  560. package/src/schema.graphql +3112 -0
  561. package/src/service-worker.js +31 -0
  562. package/src/zone-flags.ts +31 -0
  563. package/tsconfig.app.json +15 -0
  564. package/tsconfig.json +47 -0
  565. package/tsconfig.spec.json +19 -0
  566. package/esm2020/public_api.mjs +0 -313
  567. package/esm2020/src/app/admin/admin-routing.module.mjs +0 -41
  568. package/esm2020/src/app/admin/admin.module.mjs +0 -34
  569. package/esm2020/src/app/admin/services/filter/person.filter.mjs +0 -59
  570. package/esm2020/src/app/admin/services/person.service.mjs +0 -161
  571. package/esm2020/src/app/admin/services/validator/person.validator.mjs +0 -34
  572. package/esm2020/src/app/admin/users/users.mjs +0 -234
  573. package/esm2020/src/app/admin/users/users.module.mjs +0 -54
  574. package/esm2020/src/app/core/about/about.modal.mjs +0 -71
  575. package/esm2020/src/app/core/about/about.module.mjs +0 -34
  576. package/esm2020/src/app/core/account/account.module.mjs +0 -61
  577. package/esm2020/src/app/core/account/account.page.mjs +0 -316
  578. package/esm2020/src/app/core/account/new-token.modal.mjs +0 -115
  579. package/esm2020/src/app/core/account/token.table.mjs +0 -137
  580. package/esm2020/src/app/core/auth/auth.form.mjs +0 -131
  581. package/esm2020/src/app/core/auth/auth.modal.mjs +0 -72
  582. package/esm2020/src/app/core/auth/auth.module.mjs +0 -47
  583. package/esm2020/src/app/core/core.module.mjs +0 -184
  584. package/esm2020/src/app/core/core.testing.module.mjs +0 -86
  585. package/esm2020/src/app/core/form/buttons/form-buttons-bar.component.mjs +0 -71
  586. package/esm2020/src/app/core/form/buttons/form-buttons-bar.module.mjs +0 -35
  587. package/esm2020/src/app/core/form/entity/editor.class.mjs +0 -679
  588. package/esm2020/src/app/core/form/entity/entity-editor-modal.class.mjs +0 -421
  589. package/esm2020/src/app/core/form/entity/entity-editor.class.mjs +0 -687
  590. package/esm2020/src/app/core/form/entity/entity-metadata.component.mjs +0 -25
  591. package/esm2020/src/app/core/form/entity/entity.module.mjs +0 -38
  592. package/esm2020/src/app/core/form/form.class.mjs +0 -340
  593. package/esm2020/src/app/core/form/form.module.mjs +0 -66
  594. package/esm2020/src/app/core/form/form.utils.mjs +0 -473
  595. package/esm2020/src/app/core/form/list/list.form.mjs +0 -222
  596. package/esm2020/src/app/core/form/list/list.module.mjs +0 -35
  597. package/esm2020/src/app/core/form/properties/properties.form.mjs +0 -132
  598. package/esm2020/src/app/core/form/properties/properties.module.mjs +0 -43
  599. package/esm2020/src/app/core/form/properties/properties.table.mjs +0 -264
  600. package/esm2020/src/app/core/form/properties/property.validator.mjs +0 -23
  601. package/esm2020/src/app/core/form/properties/testing/properties-form.test.mjs +0 -90
  602. package/esm2020/src/app/core/form/properties/testing/properties-form.testing.module.mjs +0 -39
  603. package/esm2020/src/app/core/form/text-popover/testing/text-popover.testing.mjs +0 -70
  604. package/esm2020/src/app/core/form/text-popover/testing/text-popover.testing.module.mjs +0 -45
  605. package/esm2020/src/app/core/form/text-popover/text-form.component.mjs +0 -89
  606. package/esm2020/src/app/core/form/text-popover/text-popover.component.mjs +0 -146
  607. package/esm2020/src/app/core/form/text-popover/text-popover.module.mjs +0 -40
  608. package/esm2020/src/app/core/graphql/graphql.module.mjs +0 -22
  609. package/esm2020/src/app/core/graphql/graphql.service.mjs +0 -762
  610. package/esm2020/src/app/core/graphql/graphql.utils.mjs +0 -117
  611. package/esm2020/src/app/core/home/home.mjs +0 -257
  612. package/esm2020/src/app/core/home/home.module.mjs +0 -48
  613. package/esm2020/src/app/core/icon/icon.component.mjs +0 -41
  614. package/esm2020/src/app/core/icon/icon.module.mjs +0 -29
  615. package/esm2020/src/app/core/install/install-upgrade-card.component.mjs +0 -343
  616. package/esm2020/src/app/core/install/install-upgrade-card.module.mjs +0 -35
  617. package/esm2020/src/app/core/menu/menu.component.mjs +0 -329
  618. package/esm2020/src/app/core/menu/menu.model.mjs +0 -35
  619. package/esm2020/src/app/core/menu/menu.module.mjs +0 -44
  620. package/esm2020/src/app/core/menu/menu.service.mjs +0 -55
  621. package/esm2020/src/app/core/offline/update-offline-mode-card.component.mjs +0 -27
  622. package/esm2020/src/app/core/offline/update-offline-mode-card.module.mjs +0 -35
  623. package/esm2020/src/app/core/peer/select-peer.modal.mjs +0 -182
  624. package/esm2020/src/app/core/peer/select-peer.module.mjs +0 -42
  625. package/esm2020/src/app/core/register/register-confirm.page.mjs +0 -81
  626. package/esm2020/src/app/core/register/register.form.mjs +0 -181
  627. package/esm2020/src/app/core/register/register.modal.mjs +0 -52
  628. package/esm2020/src/app/core/register/register.module.mjs +0 -44
  629. package/esm2020/src/app/core/services/account.service.mjs +0 -1212
  630. package/esm2020/src/app/core/services/auth-guard.service.mjs +0 -71
  631. package/esm2020/src/app/core/services/base-entity-service.class.mjs +0 -444
  632. package/esm2020/src/app/core/services/base-graphql-service.class.mjs +0 -219
  633. package/esm2020/src/app/core/services/base58.mjs +0 -78
  634. package/esm2020/src/app/core/services/config/core.config.mjs +0 -175
  635. package/esm2020/src/app/core/services/config.service.mjs +0 -354
  636. package/esm2020/src/app/core/services/crypto.service.mjs +0 -114
  637. package/esm2020/src/app/core/services/errors.mjs +0 -50
  638. package/esm2020/src/app/core/services/local-settings.service.mjs +0 -449
  639. package/esm2020/src/app/core/services/model/account.model.mjs +0 -122
  640. package/esm2020/src/app/core/services/model/config.model.mjs +0 -92
  641. package/esm2020/src/app/core/services/model/department.model.mjs +0 -30
  642. package/esm2020/src/app/core/services/model/entity.decorators.mjs +0 -97
  643. package/esm2020/src/app/core/services/model/entity.model.mjs +0 -240
  644. package/esm2020/src/app/core/services/model/filter.model.mjs +0 -94
  645. package/esm2020/src/app/core/services/model/history.model.mjs +0 -2
  646. package/esm2020/src/app/core/services/model/model.enum.mjs +0 -11
  647. package/esm2020/src/app/core/services/model/peer.model.mjs +0 -68
  648. package/esm2020/src/app/core/services/model/person.model.mjs +0 -83
  649. package/esm2020/src/app/core/services/model/referential.model.mjs +0 -164
  650. package/esm2020/src/app/core/services/model/settings.model.mjs +0 -3
  651. package/esm2020/src/app/core/services/model/token.model.mjs +0 -48
  652. package/esm2020/src/app/core/services/network.service.mjs +0 -589
  653. package/esm2020/src/app/core/services/network.types.mjs +0 -20
  654. package/esm2020/src/app/core/services/network.utils.mjs +0 -15
  655. package/esm2020/src/app/core/services/pipes/account.pipes.mjs +0 -38
  656. package/esm2020/src/app/core/services/pipes/department-to-string.pipe.mjs +0 -23
  657. package/esm2020/src/app/core/services/pipes/person-to-string.pipe.mjs +0 -23
  658. package/esm2020/src/app/core/services/pipes/usage-mode.pipes.mjs +0 -37
  659. package/esm2020/src/app/core/services/platform.service.mjs +0 -525
  660. package/esm2020/src/app/core/services/storage/entities-storage.service.mjs +0 -428
  661. package/esm2020/src/app/core/services/storage/entity-store.class.mjs +0 -449
  662. package/esm2020/src/app/core/services/testing/referential-filter.model.mjs +0 -23
  663. package/esm2020/src/app/core/services/testing/referential.validator.mjs +0 -45
  664. package/esm2020/src/app/core/services/validator/account.validator.mjs +0 -56
  665. package/esm2020/src/app/core/services/validator/base.validator.class.mjs +0 -47
  666. package/esm2020/src/app/core/services/validator/local-settings.validator.mjs +0 -66
  667. package/esm2020/src/app/core/services/validator/user-settings.validator.mjs +0 -27
  668. package/esm2020/src/app/core/services/validator/user-token.validator.mjs +0 -52
  669. package/esm2020/src/app/core/settings/settings.module.mjs +0 -34
  670. package/esm2020/src/app/core/settings/settings.page.mjs +0 -312
  671. package/esm2020/src/app/core/table/actions-column.component.mjs +0 -102
  672. package/esm2020/src/app/core/table/async-table.class.mjs +0 -1697
  673. package/esm2020/src/app/core/table/entities-async-table-datasource.class.mjs +0 -384
  674. package/esm2020/src/app/core/table/entities-table-datasource.class.mjs +0 -399
  675. package/esm2020/src/app/core/table/memory-table.class.mjs +0 -53
  676. package/esm2020/src/app/core/table/table-select-columns.component.mjs +0 -43
  677. package/esm2020/src/app/core/table/table.class.mjs +0 -1728
  678. package/esm2020/src/app/core/table/table.model.mjs +0 -12
  679. package/esm2020/src/app/core/table/table.module.mjs +0 -40
  680. package/esm2020/src/app/core/table/table.utils.mjs +0 -30
  681. package/esm2020/src/app/core/table/testing/table-validator.service.mjs +0 -27
  682. package/esm2020/src/app/core/table/testing/table.testing.mjs +0 -280
  683. package/esm2020/src/app/core/table/testing/table.testing.module.mjs +0 -38
  684. package/esm2020/src/app/shared/alerts.mjs +0 -239
  685. package/esm2020/src/app/shared/audio/audio.mjs +0 -248
  686. package/esm2020/src/app/shared/audio/audio.testing.mjs +0 -31
  687. package/esm2020/src/app/shared/audio/audio.testing.module.mjs +0 -45
  688. package/esm2020/src/app/shared/capacitor/keyboard.mjs +0 -40
  689. package/esm2020/src/app/shared/capacitor/plugins.mjs +0 -9
  690. package/esm2020/src/app/shared/constants.mjs +0 -10
  691. package/esm2020/src/app/shared/dates.mjs +0 -148
  692. package/esm2020/src/app/shared/debug/debug-service.class.mjs +0 -3
  693. package/esm2020/src/app/shared/debug/debug.component.mjs +0 -39
  694. package/esm2020/src/app/shared/debug/debug.module.mjs +0 -44
  695. package/esm2020/src/app/shared/directives/autofocus.directive.mjs +0 -92
  696. package/esm2020/src/app/shared/directives/autotitle.directive.mjs +0 -30
  697. package/esm2020/src/app/shared/directives/directives.module.mjs +0 -43
  698. package/esm2020/src/app/shared/directives/drag-and-drop.directive.mjs +0 -53
  699. package/esm2020/src/app/shared/directives/ng-var.directive.mjs +0 -31
  700. package/esm2020/src/app/shared/directives/resizable/resizable.component.mjs +0 -59
  701. package/esm2020/src/app/shared/directives/resizable/resizable.directive.mjs +0 -40
  702. package/esm2020/src/app/shared/directives/resizable/resizable.module.mjs +0 -17
  703. package/esm2020/src/app/shared/events.mjs +0 -64
  704. package/esm2020/src/app/shared/file/csv.utils.mjs +0 -74
  705. package/esm2020/src/app/shared/file/file.service.mjs +0 -117
  706. package/esm2020/src/app/shared/file/file.utils.mjs +0 -113
  707. package/esm2020/src/app/shared/file/images.utils.mjs +0 -161
  708. package/esm2020/src/app/shared/file/json.utils.mjs +0 -51
  709. package/esm2020/src/app/shared/file/uri.utils.mjs +0 -23
  710. package/esm2020/src/app/shared/focusable.mjs +0 -6
  711. package/esm2020/src/app/shared/form/field.component.mjs +0 -307
  712. package/esm2020/src/app/shared/form/field.model.mjs +0 -25
  713. package/esm2020/src/app/shared/form/loading-spinner.mjs +0 -36
  714. package/esm2020/src/app/shared/forms.mjs +0 -391
  715. package/esm2020/src/app/shared/functions.mjs +0 -477
  716. package/esm2020/src/app/shared/geolocation/geolocation.utils.mjs +0 -80
  717. package/esm2020/src/app/shared/gesture/gesture-config.mjs +0 -49
  718. package/esm2020/src/app/shared/gesture/hammer.utils.mjs +0 -2
  719. package/esm2020/src/app/shared/graph/colors.utils.mjs +0 -64
  720. package/esm2020/src/app/shared/graph/graph-colors.mjs +0 -212
  721. package/esm2020/src/app/shared/guard/component-dirty.guard.mjs +0 -57
  722. package/esm2020/src/app/shared/help/help.modal.mjs +0 -53
  723. package/esm2020/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.mjs +0 -23
  724. package/esm2020/src/app/shared/hotkeys/hotkeys.service.mjs +0 -84
  725. package/esm2020/src/app/shared/hotkeys/shared-hotkeys.module.mjs +0 -42
  726. package/esm2020/src/app/shared/http/http.utils.mjs +0 -52
  727. package/esm2020/src/app/shared/image/gallery/image-gallery.component.mjs +0 -365
  728. package/esm2020/src/app/shared/image/gallery/image-gallery.module.mjs +0 -59
  729. package/esm2020/src/app/shared/image/gallery/testing/gallegry.model.testing.mjs +0 -27
  730. package/esm2020/src/app/shared/image/gallery/testing/gallery.service.testing.mjs +0 -90
  731. package/esm2020/src/app/shared/image/gallery/testing/gallery.testing.mjs +0 -39
  732. package/esm2020/src/app/shared/image/gallery/testing/gallery.testing.module.mjs +0 -56
  733. package/esm2020/src/app/shared/image/image.model.mjs +0 -2
  734. package/esm2020/src/app/shared/image/image.module.mjs +0 -29
  735. package/esm2020/src/app/shared/image/image.service.mjs +0 -98
  736. package/esm2020/src/app/shared/inputs.mjs +0 -231
  737. package/esm2020/src/app/shared/interceptors/progess.interceptor.mjs +0 -27
  738. package/esm2020/src/app/shared/logging/log-level.model.mjs +0 -48
  739. package/esm2020/src/app/shared/logging/logger.model.mjs +0 -47
  740. package/esm2020/src/app/shared/logging/logging-service.class.mjs +0 -121
  741. package/esm2020/src/app/shared/logging/logging-service.config.mjs +0 -2
  742. package/esm2020/src/app/shared/logging/logging-service.module.mjs +0 -30
  743. package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.config.mjs +0 -47
  744. package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.mjs +0 -916
  745. package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.module.mjs +0 -78
  746. package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.utils.mjs +0 -19
  747. package/esm2020/src/app/shared/material/autocomplete/testing/autocomplete.test.mjs +0 -209
  748. package/esm2020/src/app/shared/material/badge/badge.directive.mjs +0 -194
  749. package/esm2020/src/app/shared/material/badge/badge.module.mjs +0 -32
  750. package/esm2020/src/app/shared/material/badge/badge.test.mjs +0 -41
  751. package/esm2020/src/app/shared/material/boolean/boolean.module.mjs +0 -68
  752. package/esm2020/src/app/shared/material/boolean/material.boolean.mjs +0 -253
  753. package/esm2020/src/app/shared/material/chips/chips.module.mjs +0 -76
  754. package/esm2020/src/app/shared/material/chips/material.chips.mjs +0 -697
  755. package/esm2020/src/app/shared/material/chips/testing/chips.test.mjs +0 -143
  756. package/esm2020/src/app/shared/material/datetime/datetime.module.mjs +0 -91
  757. package/esm2020/src/app/shared/material/datetime/material.date.mjs +0 -376
  758. package/esm2020/src/app/shared/material/datetime/material.dateshort.mjs +0 -385
  759. package/esm2020/src/app/shared/material/datetime/material.datetime.mjs +0 -499
  760. package/esm2020/src/app/shared/material/datetime/testing/mat-date-time.test.mjs +0 -108
  761. package/esm2020/src/app/shared/material/datetime/testing/mat-date.test.mjs +0 -110
  762. package/esm2020/src/app/shared/material/datetime/testing/mat-dateshort.test.mjs +0 -103
  763. package/esm2020/src/app/shared/material/duration/duration.module.mjs +0 -67
  764. package/esm2020/src/app/shared/material/duration/duration.utils.mjs +0 -36
  765. package/esm2020/src/app/shared/material/duration/material.duration.mjs +0 -257
  766. package/esm2020/src/app/shared/material/latlong/latlong.utils.mjs +0 -266
  767. package/esm2020/src/app/shared/material/latlong/material.latlong.mjs +0 -381
  768. package/esm2020/src/app/shared/material/latlong/material.latlong.module.mjs +0 -67
  769. package/esm2020/src/app/shared/material/latlong/testing/latlong.test.mjs +0 -102
  770. package/esm2020/src/app/shared/material/material.animations.mjs +0 -104
  771. package/esm2020/src/app/shared/material/material.module.mjs +0 -224
  772. package/esm2020/src/app/shared/material/material.testing.module.mjs +0 -168
  773. package/esm2020/src/app/shared/material/numpad/numpad.append-to-input.directive.mjs +0 -98
  774. package/esm2020/src/app/shared/material/numpad/numpad.component.mjs +0 -80
  775. package/esm2020/src/app/shared/material/numpad/numpad.container.mjs +0 -190
  776. package/esm2020/src/app/shared/material/numpad/numpad.content.mjs +0 -17
  777. package/esm2020/src/app/shared/material/numpad/numpad.directive.mjs +0 -162
  778. package/esm2020/src/app/shared/material/numpad/numpad.dom-service.mjs +0 -37
  779. package/esm2020/src/app/shared/material/numpad/numpad.model.mjs +0 -15
  780. package/esm2020/src/app/shared/material/numpad/numpad.module.mjs +0 -60
  781. package/esm2020/src/app/shared/material/numpad/testing/numpad.test.mjs +0 -46
  782. package/esm2020/src/app/shared/material/paginator/material.paginator-i18n.mjs +0 -46
  783. package/esm2020/src/app/shared/material/stepper/material.stepper-i18n.mjs +0 -22
  784. package/esm2020/src/app/shared/material/swipe/material.swipe.mjs +0 -344
  785. package/esm2020/src/app/shared/material/swipe/swipe.module.mjs +0 -52
  786. package/esm2020/src/app/shared/material/swipe/testing/swipe.test.mjs +0 -64
  787. package/esm2020/src/app/shared/modules.mjs +0 -11
  788. package/esm2020/src/app/shared/observables.mjs +0 -103
  789. package/esm2020/src/app/shared/pipes/arrays.pipe.mjs +0 -141
  790. package/esm2020/src/app/shared/pipes/colors.pipe.mjs +0 -23
  791. package/esm2020/src/app/shared/pipes/date-diff-duration.pipe.mjs +0 -48
  792. package/esm2020/src/app/shared/pipes/date-format.pipe.mjs +0 -66
  793. package/esm2020/src/app/shared/pipes/date-from-now.pipe.mjs +0 -27
  794. package/esm2020/src/app/shared/pipes/duration.pipe.mjs +0 -34
  795. package/esm2020/src/app/shared/pipes/file-size.pipe.mjs +0 -62
  796. package/esm2020/src/app/shared/pipes/form.pipes.mjs +0 -187
  797. package/esm2020/src/app/shared/pipes/highlight.pipe.mjs +0 -48
  798. package/esm2020/src/app/shared/pipes/latlong-format.pipe.mjs +0 -46
  799. package/esm2020/src/app/shared/pipes/maps.pipe.mjs +0 -63
  800. package/esm2020/src/app/shared/pipes/math.pipes.mjs +0 -59
  801. package/esm2020/src/app/shared/pipes/ng-init.pipe.mjs +0 -21
  802. package/esm2020/src/app/shared/pipes/number-format.pipe.mjs +0 -30
  803. package/esm2020/src/app/shared/pipes/pipes.module.mjs +0 -239
  804. package/esm2020/src/app/shared/pipes/property.pipes.mjs +0 -93
  805. package/esm2020/src/app/shared/pipes/string.pipes.mjs +0 -121
  806. package/esm2020/src/app/shared/pipes/translate-context.pipe.mjs +0 -43
  807. package/esm2020/src/app/shared/pipes/types.pipes.mjs +0 -45
  808. package/esm2020/src/app/shared/platforms.mjs +0 -43
  809. package/esm2020/src/app/shared/services/entity-service.class.mjs +0 -7
  810. package/esm2020/src/app/shared/services/job.utils.mjs +0 -92
  811. package/esm2020/src/app/shared/services/memory-entity-service.class.mjs +0 -337
  812. package/esm2020/src/app/shared/services/progress-bar.service.mjs +0 -33
  813. package/esm2020/src/app/shared/services/startable-observable-service.class.mjs +0 -119
  814. package/esm2020/src/app/shared/services/startable-service.class.mjs +0 -110
  815. package/esm2020/src/app/shared/services/translate-context.service.mjs +0 -105
  816. package/esm2020/src/app/shared/services/validator-service.class.mjs +0 -2
  817. package/esm2020/src/app/shared/services.mjs +0 -62
  818. package/esm2020/src/app/shared/shared-routing.module.mjs +0 -70
  819. package/esm2020/src/app/shared/shared.module.mjs +0 -208
  820. package/esm2020/src/app/shared/shared.testing.module.mjs +0 -84
  821. package/esm2020/src/app/shared/storage/storage-explorer.component.mjs +0 -268
  822. package/esm2020/src/app/shared/storage/storage-explorer.module.mjs +0 -60
  823. package/esm2020/src/app/shared/storage/storage.service.mjs +0 -132
  824. package/esm2020/src/app/shared/storage/storage.utils.mjs +0 -13
  825. package/esm2020/src/app/shared/testing/observable.test.mjs +0 -95
  826. package/esm2020/src/app/shared/testing/tests.page.mjs +0 -33
  827. package/esm2020/src/app/shared/toast/toast.testing.mjs +0 -51
  828. package/esm2020/src/app/shared/toast/toast.testing.module.mjs +0 -45
  829. package/esm2020/src/app/shared/toast/toasts.mjs +0 -144
  830. package/esm2020/src/app/shared/toolbar/modal-toolbar.mjs +0 -58
  831. package/esm2020/src/app/shared/toolbar/toolbar.mjs +0 -251
  832. package/esm2020/src/app/shared/toolbar/toolbar.module.mjs +0 -53
  833. package/esm2020/src/app/shared/types.mjs +0 -2
  834. package/esm2020/src/app/shared/upload-file/testing/upload-file.testing.mjs +0 -57
  835. package/esm2020/src/app/shared/upload-file/testing/upload-file.testing.module.mjs +0 -45
  836. package/esm2020/src/app/shared/upload-file/upload-file-popover.component.mjs +0 -97
  837. package/esm2020/src/app/shared/upload-file/upload-file.component.mjs +0 -204
  838. package/esm2020/src/app/shared/upload-file/upload-file.model.mjs +0 -20
  839. package/esm2020/src/app/shared/validator/form-error-adapter.class.mjs +0 -104
  840. package/esm2020/src/app/shared/validator/validators.mjs +0 -573
  841. package/esm2020/src/app/shared/version/versions.mjs +0 -81
  842. package/esm2020/src/app/social/job/job.module.mjs +0 -42
  843. package/esm2020/src/app/social/job/progression/job-progression.component.mjs +0 -20
  844. package/esm2020/src/app/social/job/progression/job-progression.icon.mjs +0 -216
  845. package/esm2020/src/app/social/job/progression/job-progression.list.mjs +0 -43
  846. package/esm2020/src/app/social/job/progression/job-progression.model.mjs +0 -23
  847. package/esm2020/src/app/social/job/progression/job-progression.service.mjs +0 -71
  848. package/esm2020/src/app/social/job/testing/job-progression.testing.mjs +0 -52
  849. package/esm2020/src/app/social/job/testing/job-progression.testing.service.mjs +0 -55
  850. package/esm2020/src/app/social/job/testing/job.testing.module.mjs +0 -35
  851. package/esm2020/src/app/social/message/message.form.mjs +0 -81
  852. package/esm2020/src/app/social/message/message.modal.mjs +0 -93
  853. package/esm2020/src/app/social/message/message.model.mjs +0 -65
  854. package/esm2020/src/app/social/message/message.module.mjs +0 -35
  855. package/esm2020/src/app/social/message/message.service.mjs +0 -84
  856. package/esm2020/src/app/social/social.errors.mjs +0 -10
  857. package/esm2020/src/app/social/social.module.mjs +0 -47
  858. package/esm2020/src/app/social/social.testing.module.mjs +0 -51
  859. package/esm2020/src/app/social/user-event/notification/user-event-notification.icon.mjs +0 -114
  860. package/esm2020/src/app/social/user-event/notification/user-event-notification.list.mjs +0 -246
  861. package/esm2020/src/app/social/user-event/testing/user-event.testing.mjs +0 -227
  862. package/esm2020/src/app/social/user-event/testing/user-event.testing.model.mjs +0 -112
  863. package/esm2020/src/app/social/user-event/testing/user-event.testing.module.mjs +0 -35
  864. package/esm2020/src/app/social/user-event/testing/user-event.testing.service.mjs +0 -111
  865. package/esm2020/src/app/social/user-event/user-event.model.mjs +0 -2
  866. package/esm2020/src/app/social/user-event/user-event.module.mjs +0 -39
  867. package/esm2020/src/app/social/user-event/user-event.service.mjs +0 -487
  868. package/esm2020/src/environments/environment.class.mjs +0 -5
  869. package/esm2020/src/environments/environment.mjs +0 -94
  870. package/esm2020/sumaris-net.ngx-components.mjs +0 -5
  871. package/fesm2015/sumaris-net.ngx-components.mjs +0 -38843
  872. package/fesm2015/sumaris-net.ngx-components.mjs.map +0 -1
  873. package/fesm2020/sumaris-net.ngx-components.mjs +0 -37942
  874. package/fesm2020/sumaris-net.ngx-components.mjs.map +0 -1
  875. package/index.d.ts +0 -5
  876. package/public_api.d.ts +0 -286
  877. package/src/app/admin/admin-routing.module.d.ts +0 -9
  878. package/src/app/admin/admin.module.d.ts +0 -10
  879. package/src/app/admin/services/filter/person.filter.d.ts +0 -21
  880. package/src/app/admin/services/person.service.d.ts +0 -44
  881. package/src/app/admin/services/validator/person.validator.d.ts +0 -14
  882. package/src/app/admin/users/users.d.ts +0 -44
  883. package/src/app/admin/users/users.module.d.ts +0 -13
  884. package/src/app/core/about/about.modal.d.ts +0 -32
  885. package/src/app/core/about/about.module.d.ts +0 -10
  886. package/src/app/core/account/account.module.d.ts +0 -15
  887. package/src/app/core/account/account.page.d.ts +0 -68
  888. package/src/app/core/account/new-token.modal.d.ts +0 -41
  889. package/src/app/core/account/token.table.d.ts +0 -25
  890. package/src/app/core/auth/auth.form.d.ts +0 -36
  891. package/src/app/core/auth/auth.modal.d.ts +0 -24
  892. package/src/app/core/auth/auth.module.d.ts +0 -11
  893. package/src/app/core/core.module.d.ts +0 -31
  894. package/src/app/core/core.testing.module.d.ts +0 -14
  895. package/src/app/core/form/buttons/form-buttons-bar.component.d.ts +0 -26
  896. package/src/app/core/form/buttons/form-buttons-bar.module.d.ts +0 -9
  897. package/src/app/core/form/entity/editor.class.d.ts +0 -243
  898. package/src/app/core/form/entity/entity-editor-modal.class.d.ts +0 -128
  899. package/src/app/core/form/entity/entity-editor.class.d.ts +0 -205
  900. package/src/app/core/form/entity/entity-metadata.component.d.ts +0 -13
  901. package/src/app/core/form/entity/entity.module.d.ts +0 -10
  902. package/src/app/core/form/form.class.d.ts +0 -155
  903. package/src/app/core/form/form.module.d.ts +0 -13
  904. package/src/app/core/form/form.utils.d.ts +0 -336
  905. package/src/app/core/form/list/list.form.d.ts +0 -81
  906. package/src/app/core/form/list/list.module.d.ts +0 -9
  907. package/src/app/core/form/properties/properties.form.d.ts +0 -44
  908. package/src/app/core/form/properties/properties.module.d.ts +0 -11
  909. package/src/app/core/form/properties/properties.table.d.ts +0 -78
  910. package/src/app/core/form/properties/property.validator.d.ts +0 -13
  911. package/src/app/core/form/properties/testing/properties-form.test.d.ts +0 -19
  912. package/src/app/core/form/properties/testing/properties-form.testing.module.d.ts +0 -12
  913. package/src/app/core/form/text-popover/testing/text-popover.testing.d.ts +0 -14
  914. package/src/app/core/form/text-popover/testing/text-popover.testing.module.d.ts +0 -11
  915. package/src/app/core/form/text-popover/text-form.component.d.ts +0 -32
  916. package/src/app/core/form/text-popover/text-popover.component.d.ts +0 -70
  917. package/src/app/core/form/text-popover/text-popover.module.d.ts +0 -10
  918. package/src/app/core/graphql/graphql.module.d.ts +0 -8
  919. package/src/app/core/graphql/graphql.service.d.ts +0 -148
  920. package/src/app/core/graphql/graphql.utils.d.ts +0 -42
  921. package/src/app/core/home/home.d.ts +0 -74
  922. package/src/app/core/home/home.module.d.ts +0 -12
  923. package/src/app/core/icon/icon.component.d.ts +0 -13
  924. package/src/app/core/icon/icon.module.d.ts +0 -9
  925. package/src/app/core/install/install-upgrade-card.component.d.ts +0 -63
  926. package/src/app/core/install/install-upgrade-card.module.d.ts +0 -9
  927. package/src/app/core/menu/menu.component.d.ts +0 -62
  928. package/src/app/core/menu/menu.model.d.ts +0 -28
  929. package/src/app/core/menu/menu.module.d.ts +0 -10
  930. package/src/app/core/menu/menu.service.d.ts +0 -21
  931. package/src/app/core/offline/update-offline-mode-card.component.d.ts +0 -11
  932. package/src/app/core/offline/update-offline-mode-card.module.d.ts +0 -9
  933. package/src/app/core/peer/select-peer.modal.d.ts +0 -53
  934. package/src/app/core/peer/select-peer.module.d.ts +0 -11
  935. package/src/app/core/register/register-confirm.page.d.ts +0 -24
  936. package/src/app/core/register/register.form.d.ts +0 -48
  937. package/src/app/core/register/register.modal.d.ts +0 -14
  938. package/src/app/core/register/register.module.d.ts +0 -12
  939. package/src/app/core/services/account.service.d.ts +0 -191
  940. package/src/app/core/services/auth-guard.service.d.ts +0 -17
  941. package/src/app/core/services/base-entity-service.class.d.ts +0 -104
  942. package/src/app/core/services/base-graphql-service.class.d.ts +0 -77
  943. package/src/app/core/services/base58.d.ts +0 -7
  944. package/src/app/core/services/config/core.config.d.ts +0 -29
  945. package/src/app/core/services/config.service.d.ts +0 -60
  946. package/src/app/core/services/crypto.service.d.ts +0 -44
  947. package/src/app/core/services/errors.d.ts +0 -51
  948. package/src/app/core/services/local-settings.service.d.ts +0 -90
  949. package/src/app/core/services/model/account.model.d.ts +0 -35
  950. package/src/app/core/services/model/config.model.d.ts +0 -36
  951. package/src/app/core/services/model/department.model.d.ts +0 -11
  952. package/src/app/core/services/model/entity.decorators.d.ts +0 -17
  953. package/src/app/core/services/model/entity.model.d.ts +0 -89
  954. package/src/app/core/services/model/filter.model.d.ts +0 -45
  955. package/src/app/core/services/model/history.model.d.ts +0 -20
  956. package/src/app/core/services/model/model.enum.d.ts +0 -7
  957. package/src/app/core/services/model/peer.model.d.ts +0 -29
  958. package/src/app/core/services/model/person.model.d.ts +0 -31
  959. package/src/app/core/services/model/referential.model.d.ts +0 -77
  960. package/src/app/core/services/model/settings.model.d.ts +0 -26
  961. package/src/app/core/services/model/token.model.d.ts +0 -21
  962. package/src/app/core/services/network.service.d.ts +0 -149
  963. package/src/app/core/services/network.types.d.ts +0 -5
  964. package/src/app/core/services/network.utils.d.ts +0 -31
  965. package/src/app/core/services/pipes/account.pipes.d.ts +0 -15
  966. package/src/app/core/services/pipes/department-to-string.pipe.d.ts +0 -9
  967. package/src/app/core/services/pipes/person-to-string.pipe.d.ts +0 -9
  968. package/src/app/core/services/pipes/usage-mode.pipes.d.ts +0 -15
  969. package/src/app/core/services/platform.service.d.ts +0 -96
  970. package/src/app/core/services/storage/entities-storage.service.d.ts +0 -108
  971. package/src/app/core/services/storage/entity-store.class.d.ts +0 -113
  972. package/src/app/core/services/testing/referential-filter.model.d.ts +0 -9
  973. package/src/app/core/services/testing/referential.validator.d.ts +0 -22
  974. package/src/app/core/services/validator/account.validator.d.ts +0 -17
  975. package/src/app/core/services/validator/base.validator.class.d.ts +0 -21
  976. package/src/app/core/services/validator/local-settings.validator.d.ts +0 -18
  977. package/src/app/core/services/validator/user-settings.validator.d.ts +0 -10
  978. package/src/app/core/services/validator/user-token.validator.d.ts +0 -13
  979. package/src/app/core/settings/settings.module.d.ts +0 -10
  980. package/src/app/core/settings/settings.page.d.ts +0 -68
  981. package/src/app/core/table/actions-column.component.d.ts +0 -48
  982. package/src/app/core/table/async-table.class.d.ts +0 -383
  983. package/src/app/core/table/entities-async-table-datasource.class.d.ts +0 -80
  984. package/src/app/core/table/entities-table-datasource.class.d.ts +0 -94
  985. package/src/app/core/table/memory-table.class.d.ts +0 -25
  986. package/src/app/core/table/table-select-columns.component.d.ts +0 -22
  987. package/src/app/core/table/table.class.d.ts +0 -386
  988. package/src/app/core/table/table.model.d.ts +0 -26
  989. package/src/app/core/table/table.module.d.ts +0 -10
  990. package/src/app/core/table/table.utils.d.ts +0 -11
  991. package/src/app/core/table/testing/table-validator.service.d.ts +0 -17
  992. package/src/app/core/table/testing/table.testing.d.ts +0 -53
  993. package/src/app/core/table/testing/table.testing.module.d.ts +0 -11
  994. package/src/app/shared/alerts.d.ts +0 -53
  995. package/src/app/shared/audio/audio.d.ts +0 -44
  996. package/src/app/shared/audio/audio.testing.d.ts +0 -13
  997. package/src/app/shared/audio/audio.testing.module.d.ts +0 -11
  998. package/src/app/shared/capacitor/keyboard.d.ts +0 -16
  999. package/src/app/shared/capacitor/plugins.d.ts +0 -7
  1000. package/src/app/shared/constants.d.ts +0 -7
  1001. package/src/app/shared/dates.d.ts +0 -39
  1002. package/src/app/shared/debug/debug-service.class.d.ts +0 -5
  1003. package/src/app/shared/debug/debug.component.d.ts +0 -13
  1004. package/src/app/shared/debug/debug.module.d.ts +0 -12
  1005. package/src/app/shared/directives/autofocus.directive.d.ts +0 -19
  1006. package/src/app/shared/directives/autotitle.directive.d.ts +0 -10
  1007. package/src/app/shared/directives/directives.module.d.ts +0 -12
  1008. package/src/app/shared/directives/drag-and-drop.directive.d.ts +0 -17
  1009. package/src/app/shared/directives/ng-var.directive.d.ts +0 -12
  1010. package/src/app/shared/directives/resizable/resizable.component.d.ts +0 -21
  1011. package/src/app/shared/directives/resizable/resizable.directive.d.ts +0 -12
  1012. package/src/app/shared/directives/resizable/resizable.module.d.ts +0 -8
  1013. package/src/app/shared/events.d.ts +0 -27
  1014. package/src/app/shared/file/csv.utils.d.ts +0 -19
  1015. package/src/app/shared/file/file.service.d.ts +0 -23
  1016. package/src/app/shared/file/file.utils.d.ts +0 -20
  1017. package/src/app/shared/file/images.utils.d.ts +0 -19
  1018. package/src/app/shared/file/json.utils.d.ts +0 -16
  1019. package/src/app/shared/file/uri.utils.d.ts +0 -7
  1020. package/src/app/shared/focusable.d.ts +0 -4
  1021. package/src/app/shared/form/field.component.d.ts +0 -71
  1022. package/src/app/shared/form/field.model.d.ts +0 -37
  1023. package/src/app/shared/form/loading-spinner.d.ts +0 -8
  1024. package/src/app/shared/forms.d.ts +0 -89
  1025. package/src/app/shared/functions.d.ts +0 -132
  1026. package/src/app/shared/geolocation/geolocation.utils.d.ts +0 -19
  1027. package/src/app/shared/gesture/gesture-config.d.ts +0 -15
  1028. package/src/app/shared/gesture/hammer.utils.d.ts +0 -16
  1029. package/src/app/shared/graph/colors.utils.d.ts +0 -17
  1030. package/src/app/shared/graph/graph-colors.d.ts +0 -63
  1031. package/src/app/shared/guard/component-dirty.guard.d.ts +0 -19
  1032. package/src/app/shared/help/help.modal.d.ts +0 -33
  1033. package/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.d.ts +0 -10
  1034. package/src/app/shared/hotkeys/hotkeys.service.d.ts +0 -28
  1035. package/src/app/shared/hotkeys/shared-hotkeys.module.d.ts +0 -11
  1036. package/src/app/shared/http/http.utils.d.ts +0 -27
  1037. package/src/app/shared/image/gallery/image-gallery.component.d.ts +0 -98
  1038. package/src/app/shared/image/gallery/image-gallery.module.d.ts +0 -14
  1039. package/src/app/shared/image/gallery/testing/gallegry.model.testing.d.ts +0 -12
  1040. package/src/app/shared/image/gallery/testing/gallery.service.testing.d.ts +0 -33
  1041. package/src/app/shared/image/gallery/testing/gallery.testing.d.ts +0 -16
  1042. package/src/app/shared/image/gallery/testing/gallery.testing.module.d.ts +0 -12
  1043. package/src/app/shared/image/image.model.d.ts +0 -5
  1044. package/src/app/shared/image/image.module.d.ts +0 -8
  1045. package/src/app/shared/image/image.service.d.ts +0 -32
  1046. package/src/app/shared/inputs.d.ts +0 -32
  1047. package/src/app/shared/interceptors/progess.interceptor.d.ts +0 -8
  1048. package/src/app/shared/logging/log-level.model.d.ts +0 -38
  1049. package/src/app/shared/logging/logger.model.d.ts +0 -68
  1050. package/src/app/shared/logging/logging-service.class.d.ts +0 -39
  1051. package/src/app/shared/logging/logging-service.config.d.ts +0 -25
  1052. package/src/app/shared/logging/logging-service.module.d.ts +0 -9
  1053. package/src/app/shared/material/autocomplete/material.autocomplete.config.d.ts +0 -36
  1054. package/src/app/shared/material/autocomplete/material.autocomplete.d.ts +0 -138
  1055. package/src/app/shared/material/autocomplete/material.autocomplete.module.d.ts +0 -21
  1056. package/src/app/shared/material/autocomplete/material.autocomplete.utils.d.ts +0 -4
  1057. package/src/app/shared/material/autocomplete/testing/autocomplete.test.d.ts +0 -45
  1058. package/src/app/shared/material/badge/badge.directive.d.ts +0 -37
  1059. package/src/app/shared/material/badge/badge.module.d.ts +0 -10
  1060. package/src/app/shared/material/badge/badge.test.d.ts +0 -21
  1061. package/src/app/shared/material/boolean/boolean.module.d.ts +0 -19
  1062. package/src/app/shared/material/boolean/material.boolean.d.ts +0 -66
  1063. package/src/app/shared/material/chips/chips.module.d.ts +0 -21
  1064. package/src/app/shared/material/chips/material.chips.d.ts +0 -126
  1065. package/src/app/shared/material/chips/testing/chips.test.d.ts +0 -31
  1066. package/src/app/shared/material/datetime/datetime.module.d.ts +0 -24
  1067. package/src/app/shared/material/datetime/material.date.d.ts +0 -74
  1068. package/src/app/shared/material/datetime/material.dateshort.d.ts +0 -75
  1069. package/src/app/shared/material/datetime/material.datetime.d.ts +0 -100
  1070. package/src/app/shared/material/datetime/testing/mat-date-time.test.d.ts +0 -31
  1071. package/src/app/shared/material/datetime/testing/mat-date.test.d.ts +0 -30
  1072. package/src/app/shared/material/datetime/testing/mat-dateshort.test.d.ts +0 -29
  1073. package/src/app/shared/material/duration/duration.module.d.ts +0 -18
  1074. package/src/app/shared/material/duration/duration.utils.d.ts +0 -3
  1075. package/src/app/shared/material/duration/material.duration.d.ts +0 -57
  1076. package/src/app/shared/material/latlong/latlong.utils.d.ts +0 -13
  1077. package/src/app/shared/material/latlong/material.latlong.d.ts +0 -65
  1078. package/src/app/shared/material/latlong/material.latlong.module.d.ts +0 -19
  1079. package/src/app/shared/material/latlong/testing/latlong.test.d.ts +0 -21
  1080. package/src/app/shared/material/material.animations.d.ts +0 -4
  1081. package/src/app/shared/material/material.module.d.ts +0 -45
  1082. package/src/app/shared/material/material.testing.module.d.ts +0 -25
  1083. package/src/app/shared/material/numpad/numpad.append-to-input.directive.d.ts +0 -22
  1084. package/src/app/shared/material/numpad/numpad.component.d.ts +0 -26
  1085. package/src/app/shared/material/numpad/numpad.container.d.ts +0 -40
  1086. package/src/app/shared/material/numpad/numpad.content.d.ts +0 -7
  1087. package/src/app/shared/material/numpad/numpad.directive.d.ts +0 -35
  1088. package/src/app/shared/material/numpad/numpad.dom-service.d.ts +0 -16
  1089. package/src/app/shared/material/numpad/numpad.model.d.ts +0 -30
  1090. package/src/app/shared/material/numpad/numpad.module.d.ts +0 -16
  1091. package/src/app/shared/material/numpad/testing/numpad.test.d.ts +0 -13
  1092. package/src/app/shared/material/paginator/material.paginator-i18n.d.ts +0 -15
  1093. package/src/app/shared/material/stepper/material.stepper-i18n.d.ts +0 -10
  1094. package/src/app/shared/material/swipe/material.swipe.d.ts +0 -89
  1095. package/src/app/shared/material/swipe/swipe.module.d.ts +0 -15
  1096. package/src/app/shared/material/swipe/testing/swipe.test.d.ts +0 -22
  1097. package/src/app/shared/modules.d.ts +0 -8
  1098. package/src/app/shared/observables.d.ts +0 -29
  1099. package/src/app/shared/pipes/arrays.pipe.d.ts +0 -54
  1100. package/src/app/shared/pipes/colors.pipe.d.ts +0 -9
  1101. package/src/app/shared/pipes/date-diff-duration.pipe.d.ts +0 -23
  1102. package/src/app/shared/pipes/date-format.pipe.d.ts +0 -34
  1103. package/src/app/shared/pipes/date-from-now.pipe.d.ts +0 -12
  1104. package/src/app/shared/pipes/duration.pipe.d.ts +0 -13
  1105. package/src/app/shared/pipes/file-size.pipe.d.ts +0 -30
  1106. package/src/app/shared/pipes/form.pipes.d.ts +0 -59
  1107. package/src/app/shared/pipes/highlight.pipe.d.ts +0 -11
  1108. package/src/app/shared/pipes/latlong-format.pipe.d.ts +0 -20
  1109. package/src/app/shared/pipes/maps.pipe.d.ts +0 -22
  1110. package/src/app/shared/pipes/math.pipes.d.ts +0 -20
  1111. package/src/app/shared/pipes/ng-init.pipe.d.ts +0 -8
  1112. package/src/app/shared/pipes/number-format.pipe.d.ts +0 -10
  1113. package/src/app/shared/pipes/pipes.module.d.ts +0 -27
  1114. package/src/app/shared/pipes/property.pipes.d.ts +0 -26
  1115. package/src/app/shared/pipes/string.pipes.d.ts +0 -47
  1116. package/src/app/shared/pipes/translate-context.pipe.d.ts +0 -17
  1117. package/src/app/shared/pipes/types.pipes.d.ts +0 -18
  1118. package/src/app/shared/platforms.d.ts +0 -8
  1119. package/src/app/shared/services/entity-service.class.d.ts +0 -73
  1120. package/src/app/shared/services/job.utils.d.ts +0 -20
  1121. package/src/app/shared/services/memory-entity-service.class.d.ts +0 -71
  1122. package/src/app/shared/services/progress-bar.service.d.ts +0 -20
  1123. package/src/app/shared/services/startable-observable-service.class.d.ts +0 -33
  1124. package/src/app/shared/services/startable-service.class.d.ts +0 -34
  1125. package/src/app/shared/services/translate-context.service.d.ts +0 -29
  1126. package/src/app/shared/services/validator-service.class.d.ts +0 -10
  1127. package/src/app/shared/services.d.ts +0 -9
  1128. package/src/app/shared/shared-routing.module.d.ts +0 -22
  1129. package/src/app/shared/shared.module.d.ts +0 -31
  1130. package/src/app/shared/shared.testing.module.d.ts +0 -17
  1131. package/src/app/shared/storage/storage-explorer.component.d.ts +0 -58
  1132. package/src/app/shared/storage/storage-explorer.module.d.ts +0 -16
  1133. package/src/app/shared/storage/storage.service.d.ts +0 -23
  1134. package/src/app/shared/storage/storage.utils.d.ts +0 -19
  1135. package/src/app/shared/testing/observable.test.d.ts +0 -25
  1136. package/src/app/shared/testing/tests.page.d.ts +0 -20
  1137. package/src/app/shared/toast/toast.testing.d.ts +0 -15
  1138. package/src/app/shared/toast/toast.testing.module.d.ts +0 -11
  1139. package/src/app/shared/toast/toasts.d.ts +0 -17
  1140. package/src/app/shared/toolbar/modal-toolbar.d.ts +0 -21
  1141. package/src/app/shared/toolbar/toolbar.d.ts +0 -63
  1142. package/src/app/shared/toolbar/toolbar.module.d.ts +0 -15
  1143. package/src/app/shared/types.d.ts +0 -26
  1144. package/src/app/shared/upload-file/testing/upload-file.testing.d.ts +0 -20
  1145. package/src/app/shared/upload-file/testing/upload-file.testing.module.d.ts +0 -11
  1146. package/src/app/shared/upload-file/upload-file-popover.component.d.ts +0 -39
  1147. package/src/app/shared/upload-file/upload-file.component.d.ts +0 -48
  1148. package/src/app/shared/upload-file/upload-file.model.d.ts +0 -30
  1149. package/src/app/shared/validator/form-error-adapter.class.d.ts +0 -27
  1150. package/src/app/shared/validator/validators.d.ts +0 -115
  1151. package/src/app/shared/version/versions.d.ts +0 -26
  1152. package/src/app/social/job/job.module.d.ts +0 -12
  1153. package/src/app/social/job/progression/job-progression.component.d.ts +0 -9
  1154. package/src/app/social/job/progression/job-progression.icon.d.ts +0 -49
  1155. package/src/app/social/job/progression/job-progression.list.d.ts +0 -21
  1156. package/src/app/social/job/progression/job-progression.model.d.ts +0 -11
  1157. package/src/app/social/job/progression/job-progression.service.d.ts +0 -34
  1158. package/src/app/social/job/testing/job-progression.testing.d.ts +0 -17
  1159. package/src/app/social/job/testing/job-progression.testing.service.d.ts +0 -17
  1160. package/src/app/social/job/testing/job.testing.module.d.ts +0 -11
  1161. package/src/app/social/message/message.form.d.ts +0 -30
  1162. package/src/app/social/message/message.modal.d.ts +0 -39
  1163. package/src/app/social/message/message.model.d.ts +0 -31
  1164. package/src/app/social/message/message.module.d.ts +0 -11
  1165. package/src/app/social/message/message.service.d.ts +0 -27
  1166. package/src/app/social/social.errors.d.ts +0 -9
  1167. package/src/app/social/social.module.d.ts +0 -20
  1168. package/src/app/social/social.testing.module.d.ts +0 -13
  1169. package/src/app/social/user-event/notification/user-event-notification.icon.d.ts +0 -31
  1170. package/src/app/social/user-event/notification/user-event-notification.list.d.ts +0 -71
  1171. package/src/app/social/user-event/testing/user-event.testing.d.ts +0 -34
  1172. package/src/app/social/user-event/testing/user-event.testing.model.d.ts +0 -44
  1173. package/src/app/social/user-event/testing/user-event.testing.module.d.ts +0 -11
  1174. package/src/app/social/user-event/testing/user-event.testing.service.d.ts +0 -41
  1175. package/src/app/social/user-event/user-event.model.d.ts +0 -45
  1176. package/src/app/social/user-event/user-event.module.d.ts +0 -12
  1177. package/src/app/social/user-event/user-event.service.d.ts +0 -124
  1178. package/src/environments/environment.class.d.ts +0 -57
  1179. package/src/environments/environment.d.ts +0 -3
@@ -1,231 +0,0 @@
1
- import { isFocusableElement } from './focusable';
2
- import { isNil, isNilOrBlank, isNotEmptyArray, isNotNil, toBoolean, toNumber } from './functions';
3
- export function selectInputContent(event) {
4
- if (event.defaultPrevented)
5
- return false;
6
- const input = event.target;
7
- if (!input)
8
- return true;
9
- // Nothing to select
10
- if (isNilOrBlank(input.value))
11
- return false;
12
- if (typeof input.selectRange === 'function') {
13
- try {
14
- input.selectRange(input.value.length, 0);
15
- return true;
16
- }
17
- catch (err) {
18
- console.error('Could not select input content, using selectRange()', err);
19
- return false;
20
- }
21
- }
22
- if (input && typeof input.select === 'function') {
23
- try {
24
- input.select();
25
- return true;
26
- }
27
- catch (err) {
28
- console.error('Could not select input content, using select()', err);
29
- return false;
30
- }
31
- }
32
- return true;
33
- }
34
- export function selectInputRange(input, startIndex, endIndex) {
35
- if (input && typeof input.setSelectionRange === 'function') {
36
- // No content
37
- if (isNilOrBlank(input.value))
38
- return false;
39
- try {
40
- input.setSelectionRange(startIndex, isNotNil(endIndex) ? endIndex : startIndex);
41
- }
42
- catch (err) {
43
- console.error('Could not select input range', err);
44
- return false;
45
- }
46
- }
47
- return true;
48
- }
49
- export function getCaretPosition(input) {
50
- if (input && input.selectionStart) {
51
- return input.selectionDirection ?
52
- (input.selectionDirection === 'backward' ? input.selectionStart : input.selectionEnd) : input.selectionStart;
53
- }
54
- return -1;
55
- }
56
- export function moveInputCaretToSeparator(event, separator, forward) {
57
- if (event.defaultPrevented || !separator)
58
- return false;
59
- const input = event.target;
60
- if (!input)
61
- return true;
62
- const caretPosition = getCaretPosition(input);
63
- // DEBUG
64
- //console.debug('caretPosition=', caretPosition);
65
- if (caretPosition === -1)
66
- return true; // Caret pos not found: skip
67
- // Get input value
68
- const value = input.value;
69
- // No content: skip
70
- if (isNilOrBlank(value))
71
- return false;
72
- try {
73
- if (value && caretPosition <= value.length) {
74
- // DEBUG
75
- //console.debug("Input text value: ", value);
76
- //console.debug("Cursor at: ", caretPosition);
77
- //console.debug("Text after cursor: ", value.substr(caretPosition));
78
- //console.debug("Next separator at: ", value.indexOf(separator, caretPosition));
79
- forward = forward !== false;
80
- const separatorIndex = (forward ? value.indexOf(separator, caretPosition) : value.lastIndexOf(separator, caretPosition));
81
- if (separatorIndex !== -1 && ((forward && separatorIndex + 1 < value.length)
82
- || (!forward && separatorIndex > 0))) {
83
- if (input.setSelectionRange) {
84
- // Move after the next separator
85
- if (selectInputRange(input, separatorIndex + (forward ? 1 : -1))) {
86
- // Stop the keyboard event
87
- event.preventDefault();
88
- event.stopPropagation();
89
- }
90
- }
91
- }
92
- }
93
- }
94
- catch (err) {
95
- console.error('Could not move caret to next separator', err);
96
- return false;
97
- }
98
- return true;
99
- }
100
- export function filterNumberInput(event, allowDecimals, decimalSeparator) {
101
- //input number entered or one of the 4 direction up, down, left and right
102
- if ((event.which >= 48 && event.which <= 57) || (event.which >= 37 && event.which <= 40)) {
103
- //console.debug('input number entered :' + event.which + ' ' + event.keyCode + ' ' + event.charCode);
104
- // OK
105
- }
106
- // Decimal separator
107
- else if (allowDecimals && ((!decimalSeparator && (event.key === '.' || event.key === ','))
108
- || (decimalSeparator && event.key === decimalSeparator))) {
109
- //console.debug('input decimal separator entered :' + event.code);
110
- // OK
111
- }
112
- else {
113
- //input command entered of delete, backspace or one of the 4 direction up, down, left and right, or negative sign
114
- if ((event.keyCode >= 37 && event.keyCode <= 40) || event.keyCode == 46 || event.which == 8 || event.keyCode == 9 || event.keyCode == 45) {
115
- //console.debug('input command entered :' + event.which + ' ' + event.keyCode + ' ' + event.charCode);
116
- // OK
117
- }
118
- // Cancel other keyboard events
119
- else {
120
- //console.debug('input not number entered :' + event.which + ' ' + event.keyCode + ' ' + event.charCode + ' ' + event.code );
121
- event.preventDefault();
122
- }
123
- }
124
- }
125
- export function focusInput(element) {
126
- const inputElement = asInputElement(element);
127
- if (inputElement)
128
- inputElement.focus();
129
- else {
130
- console.warn('Trying to focus on this element:', element);
131
- }
132
- }
133
- export function setTabIndex(element, tabIndex) {
134
- if (isInputElement(element)) {
135
- element.tabindex = tabIndex;
136
- }
137
- else if (element && isInputElement(element.nativeElement)) {
138
- element.nativeElement.tabIndex = tabIndex;
139
- }
140
- else {
141
- console.warn('Trying to change tabindex on this element:', element);
142
- }
143
- }
144
- export function isInputElement(object) {
145
- return isFocusableElement(object)
146
- && ('value' in object
147
- // has value is not always set (neither tabindex) check on 2 properties with a logical OR
148
- || ('tabindex' in object || 'tabIndex' in object));
149
- }
150
- export function asInputElement(object) {
151
- if (object) {
152
- if (isInputElement(object))
153
- return object;
154
- if (object.nativeElement && isInputElement(object.nativeElement))
155
- return object.nativeElement;
156
- }
157
- return undefined;
158
- }
159
- export function tabindexComparator(a, b) {
160
- const valueA = a.tabindex || a.tabIndex;
161
- const valueB = b.tabindex || b.tabIndex;
162
- return valueA === valueB ? 0 : (valueA > valueB ? 1 : -1);
163
- }
164
- export function canHaveFocus(input, opts) {
165
- if (!input)
166
- return false;
167
- // Exclude disabled element
168
- return !toBoolean(input.disabled, false)
169
- // Exclude hidden element
170
- && !toBoolean(input.hidden, false)
171
- // Exclude minTabIndex < element.tabIndex
172
- && (isNil(opts.minTabindex) || toNumber(input.tabIndex, input.tabindex) > opts.minTabindex)
173
- // Exclude maxTabIndex > element.tabIndex
174
- && (isNil(opts.maxTabindex) || toNumber(input.tabIndex, input.tabindex) < opts.maxTabindex)
175
- // Exclude nil input value
176
- && (!opts.excludeEmptyInput || isNilOrBlank(input.value));
177
- }
178
- export function getFocusableInputElements(elements, opts) {
179
- opts = { sortByTabIndex: false, excludeEmptyInput: false, ...opts };
180
- // Focus to first input
181
- const filteredElements = elements
182
- // Transform to input
183
- .map(asInputElement)
184
- .filter(input => {
185
- const included = canHaveFocus(input, opts);
186
- // DEBUG
187
- if (input && opts.debug)
188
- console.debug(`[inputs] Focusable input {canFocus: ${included}, tabIndex: ${input.tabIndex || input.tabindex}}`, input);
189
- return included;
190
- });
191
- // Sort by tabIndex
192
- if (opts.sortByTabIndex) {
193
- return filteredElements.sort(tabindexComparator);
194
- }
195
- return filteredElements;
196
- }
197
- export function focusNextInput(event, elements, opts) {
198
- // Cancelling event (e.g. when emitted by (keydown.tab) )
199
- if (event) {
200
- event.preventDefault();
201
- event.stopPropagation();
202
- }
203
- // Get current index
204
- const minTabindex = event && isInputElement(event.target) ? (event.target.tabIndex || event.target.tabindex) : undefined;
205
- // Get focusable input elements
206
- const focusableInputs = getFocusableInputElements(elements, { minTabindex, ...opts });
207
- if (isNotEmptyArray(focusableInputs)) {
208
- // Focus on first inputs
209
- focusableInputs[0].focus();
210
- return true;
211
- }
212
- return false;
213
- }
214
- export function focusPreviousInput(event, elements, opts) {
215
- // Cancelling event (e.g. when emitted by (keydown.tab) )
216
- if (event) {
217
- event.preventDefault();
218
- event.stopPropagation();
219
- }
220
- // Get current index
221
- const maxTabindex = event && isInputElement(event.target) ? (event.target.tabIndex || event.target.tabindex) : undefined;
222
- // Get focusable input elements
223
- const focusableInputs = getFocusableInputElements(elements, { maxTabindex, ...opts });
224
- if (isNotEmptyArray(focusableInputs)) {
225
- // Focus on last inputs
226
- focusableInputs[focusableInputs.length - 1].focus();
227
- return true;
228
- }
229
- return false;
230
- }
231
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvaW5wdXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBbUIsa0JBQWtCLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFDakUsT0FBTyxFQUFDLEtBQUssRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFDLE1BQU0sYUFBYSxDQUFDO0FBS2hHLE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxLQUFZO0lBQzdDLElBQUksS0FBSyxDQUFDLGdCQUFnQjtRQUFFLE9BQU8sS0FBSyxDQUFDO0lBQ3pDLE1BQU0sS0FBSyxHQUFJLEtBQUssQ0FBQyxNQUFjLENBQUM7SUFDcEMsSUFBSSxDQUFDLEtBQUs7UUFBRSxPQUFPLElBQUksQ0FBQztJQUV4QixvQkFBb0I7SUFDcEIsSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUFFLE9BQU8sS0FBSyxDQUFDO0lBRTVDLElBQUksT0FBTyxLQUFLLENBQUMsV0FBVyxLQUFLLFVBQVUsRUFBRTtRQUMzQyxJQUFJO1lBQ0YsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN6QyxPQUFPLElBQUksQ0FBQztTQUNiO1FBQUMsT0FBTyxHQUFHLEVBQUU7WUFDWixPQUFPLENBQUMsS0FBSyxDQUFDLHFEQUFxRCxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQzFFLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7S0FDRjtJQUVELElBQUksS0FBSyxJQUFJLE9BQU8sS0FBSyxDQUFDLE1BQU0sS0FBSyxVQUFVLEVBQUU7UUFDL0MsSUFBSTtZQUNGLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNmLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFBQyxPQUFPLEdBQUcsRUFBRTtZQUNaLE9B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ZUFBZSxHQUFtQix5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsRUFBQyxXQUFXLEVBQUUsR0FBRyxJQUFJLEVBQUMsQ0FBQyxDQUFDO0lBRXBHLElBQUksZUFBZSxDQUFDLGVBQWUsQ0FBQyxFQUFFO1FBQ3BDLHVCQUF1QjtRQUN2QixlQUFlLENBQUMsZUFBZSxDQUFDLE1BQU0sR0FBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNuRCxPQUFPLElBQUksQ0FBQztLQUNiO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFbGVtZW50UmVmLCBRdWVyeUxpc3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb2N1c2FibGVFbGVtZW50LCBpc0ZvY3VzYWJsZUVsZW1lbnR9IGZyb20gJy4vZm9jdXNhYmxlJztcbmltcG9ydCB7aXNOaWwsIGlzTmlsT3JCbGFuaywgaXNOb3RFbXB0eUFycmF5LCBpc05vdE5pbCwgdG9Cb29sZWFuLCB0b051bWJlcn0gZnJvbSAnLi9mdW5jdGlvbnMnO1xuXG5cblxuXG5leHBvcnQgZnVuY3Rpb24gc2VsZWN0SW5wdXRDb250ZW50KGV2ZW50OiBFdmVudCkge1xuICBpZiAoZXZlbnQuZGVmYXVsdFByZXZlbnRlZCkgcmV0dXJuIGZhbHNlO1xuICBjb25zdCBpbnB1dCA9IChldmVudC50YXJnZXQgYXMgYW55KTtcbiAgaWYgKCFpbnB1dCkgcmV0dXJuIHRydWU7XG5cbiAgLy8gTm90aGluZyB0byBzZWxlY3RcbiAgaWYgKGlzTmlsT3JCbGFuayhpbnB1dC52YWx1ZSkpIHJldHVybiBmYWxzZTtcblxuICBpZiAodHlwZW9mIGlucHV0LnNlbGVjdFJhbmdlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgdHJ5IHtcbiAgICAgIGlucHV0LnNlbGVjdFJhbmdlKGlucHV0LnZhbHVlLmxlbmd0aCwgMCk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0NvdWxkIG5vdCBzZWxlY3QgaW5wdXQgY29udGVudCwgdXNpbmcgc2VsZWN0UmFuZ2UoKScsIGVycik7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgaWYgKGlucHV0ICYmIHR5cGVvZiBpbnB1dC5zZWxlY3QgPT09ICdmdW5jdGlvbicpIHtcbiAgICB0cnkge1xuICAgICAgaW5wdXQuc2VsZWN0KCk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0NvdWxkIG5vdCBzZWxlY3QgaW5wdXQgY29udGVudCwgdXNpbmcgc2VsZWN0KCknLCBlcnIpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdHJ1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNlbGVjdElucHV0UmFuZ2UoaW5wdXQ6IGFueSwgc3RhcnRJbmRleDogbnVtYmVyLCBlbmRJbmRleD86IG51bWJlcikge1xuICBpZiAoaW5wdXQgJiYgdHlwZW9mIGlucHV0LnNldFNlbGVjdGlvblJhbmdlID09PSAnZnVuY3Rpb24nKSB7XG5cbiAgICAvLyBObyBjb250ZW50XG4gICAgaWYgKGlzTmlsT3JCbGFuayhpbnB1dC52YWx1ZSkpIHJldHVybiBmYWxzZTtcblxuICAgIHRyeSB7XG4gICAgICBpbnB1dC5zZXRTZWxlY3Rpb25SYW5nZShzdGFydEluZGV4LCBpc05vdE5pbChlbmRJbmRleCkgPyBlbmRJbmRleCA6IHN0YXJ0SW5kZXgpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgY29uc29sZS5lcnJvcignQ291bGQgbm90IHNlbGVjdCBpbnB1dCByYW5nZScsIGVycik7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG4gIHJldHVybiB0cnVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2FyZXRQb3NpdGlvbihpbnB1dDogYW55KTogbnVtYmVyIHtcbiAgaWYgKGlucHV0ICYmIGlucHV0LnNlbGVjdGlvblN0YXJ0KSB7XG4gICAgcmV0dXJuIGlucHV0LnNlbGVjdGlvbkRpcmVjdGlvbiA/XG4gICAgICAoaW5wdXQuc2VsZWN0aW9uRGlyZWN0aW9uID09PSAnYmFja3dhcmQnID8gaW5wdXQuc2VsZWN0aW9uU3RhcnQgOiBpbnB1dC5zZWxlY3Rpb25FbmQpIDogaW5wdXQuc2VsZWN0aW9uU3RhcnQ7XG4gIH1cbiAgcmV0dXJuIC0xO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbW92ZUlucHV0Q2FyZXRUb1NlcGFyYXRvcihldmVudDogS2V5Ym9hcmRFdmVudCwgc2VwYXJhdG9yOiBzdHJpbmcsIGZvcndhcmQ/OiBib29sZWFuKSB7XG4gIGlmIChldmVudC5kZWZhdWx0UHJldmVudGVkIHx8ICFzZXBhcmF0b3IpIHJldHVybiBmYWxzZTtcbiAgY29uc3QgaW5wdXQgPSAoZXZlbnQudGFyZ2V0IGFzIGFueSk7XG4gIGlmICghaW5wdXQpIHJldHVybiB0cnVlO1xuXG4gIGNvbnN0IGNhcmV0UG9zaXRpb24gPSBnZXRDYXJldFBvc2l0aW9uKGlucHV0KTtcblxuICAvLyBERUJVR1xuICAvL2NvbnNvbGUuZGVidWcoJ2NhcmV0UG9zaXRpb249JywgY2FyZXRQb3NpdGlvbik7XG5cbiAgaWYgKGNhcmV0UG9zaXRpb24gPT09IC0xKSByZXR1cm4gdHJ1ZTsgLy8gQ2FyZXQgcG9zIG5vdCBmb3VuZDogc2tpcFxuXG4gIC8vIEdldCBpbnB1dCB2YWx1ZVxuICBjb25zdCB2YWx1ZSA9IGlucHV0LnZhbHVlIGFzIHN0cmluZztcblxuICAvLyBObyBjb250ZW50OiBza2lwXG4gIGlmIChpc05pbE9yQmxhbmsodmFsdWUpKSByZXR1cm4gZmFsc2U7XG5cbiAgdHJ5IHtcblxuXG4gICAgaWYgKHZhbHVlICYmIGNhcmV0UG9zaXRpb24gPD0gdmFsdWUubGVuZ3RoKSB7XG4gICAgICAvLyBERUJVR1xuICAgICAgLy9jb25zb2xlLmRlYnVnKFwiSW5wdXQgdGV4dCB2YWx1ZTogXCIsIHZhbHVlKTtcbiAgICAgIC8vY29uc29sZS5kZWJ1ZyhcIkN1cnNvciBhdDogXCIsIGNhcmV0UG9zaXRpb24pO1xuICAgICAgLy9jb25zb2xlLmRlYnVnKFwiVGV4dCBhZnRlciBjdXJzb3I6IFwiLCB2YWx1ZS5zdWJzdHIoY2FyZXRQb3NpdGlvbikpO1xuICAgICAgLy9jb25zb2xlLmRlYnVnKFwiTmV4dCBzZXBhcmF0b3IgYXQ6IFwiLCB2YWx1ZS5pbmRleE9mKHNlcGFyYXRvciwgY2FyZXRQb3NpdGlvbikpO1xuXG4gICAgICBmb3J3YXJkID0gZm9yd2FyZCAhPT0gZmFsc2U7XG5cbiAgICAgIGNvbnN0IHNlcGFyYXRvckluZGV4ID0gKGZvcndhcmQgPyB2YWx1ZS5pbmRleE9mKHNlcGFyYXRvciwgY2FyZXRQb3NpdGlvbikgOiB2YWx1ZS5sYXN0SW5kZXhPZihzZXBhcmF0b3IsIGNhcmV0UG9zaXRpb24pKTtcbiAgICAgIGlmIChzZXBhcmF0b3JJbmRleCAhPT0gLTEgJiYgKChmb3J3YXJkICYmIHNlcGFyYXRvckluZGV4ICsgMSA8IHZhbHVlLmxlbmd0aClcbiAgICAgICAgfHwgKCFmb3J3YXJkICYmIHNlcGFyYXRvckluZGV4ID4gMCkpKSB7XG4gICAgICAgIGlmIChpbnB1dC5zZXRTZWxlY3Rpb25SYW5nZSkge1xuICAgICAgICAgIC8vIE1vdmUgYWZ0ZXIgdGhlIG5leHQgc2VwYXJhdG9yXG4gICAgICAgICAgaWYgKHNlbGVjdElucHV0UmFuZ2UoaW5wdXQsIHNlcGFyYXRvckluZGV4ICsgKGZvcndhcmQgPyAxIDogLTEpKSkge1xuICAgICAgICAgICAgLy8gU3RvcCB0aGUga2V5Ym9hcmQgZXZlbnRcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGNvbnNvbGUuZXJyb3IoJ0NvdWxkIG5vdCBtb3ZlIGNhcmV0IHRvIG5leHQgc2VwYXJhdG9yJywgZXJyKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgcmV0dXJuIHRydWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJOdW1iZXJJbnB1dChldmVudDogS2V5Ym9hcmRFdmVudCwgYWxsb3dEZWNpbWFsczogYm9vbGVhbiwgZGVjaW1hbFNlcGFyYXRvcj86IHN0cmluZykge1xuICAvL2lucHV0IG51bWJlciBlbnRlcmVkIG9yIG9uZSBvZiB0aGUgNCBkaXJlY3Rpb24gdXAsIGRvd24sIGxlZnQgYW5kIHJpZ2h0XG4gIGlmICgoZXZlbnQud2hpY2ggPj0gNDggJiYgZXZlbnQud2hpY2ggPD0gNTcpIHx8IChldmVudC53aGljaCA+PSAzNyAmJiBldmVudC53aGljaCA8PSA0MCkpIHtcbiAgICAvL2NvbnNvbGUuZGVidWcoJ2lucHV0IG51bWJlciBlbnRlcmVkIDonICsgZXZlbnQud2hpY2ggKyAnICcgKyBldmVudC5rZXlDb2RlICsgJyAnICsgZXZlbnQuY2hhckNvZGUpO1xuICAgIC8vIE9LXG4gIH1cbiAgLy8gRGVjaW1hbCBzZXBhcmF0b3JcbiAgZWxzZSBpZiAoYWxsb3dEZWNpbWFscyAmJiAoKCFkZWNpbWFsU2VwYXJhdG9yICYmIChldmVudC5rZXkgPT09ICcuJyB8fCBldmVudC5rZXkgPT09ICcsJykpXG4gICAgfHwgKGRlY2ltYWxTZXBhcmF0b3IgJiYgZXZlbnQua2V5ID09PSBkZWNpbWFsU2VwYXJhdG9yKSkpIHtcbiAgICAvL2NvbnNvbGUuZGVidWcoJ2lucHV0IGRlY2ltYWwgc2VwYXJhdG9yIGVudGVyZWQgOicgKyBldmVudC5jb2RlKTtcbiAgICAvLyBPS1xuICB9IGVsc2Uge1xuICAgIC8vaW5wdXQgY29tbWFuZCBlbnRlcmVkIG9mIGRlbGV0ZSwgYmFja3NwYWNlIG9yIG9uZSBvZiB0aGUgNCBkaXJlY3Rpb24gdXAsIGRvd24sIGxlZnQgYW5kIHJpZ2h0LCBvciBuZWdhdGl2ZSBzaWduXG4gICAgaWYgKChldmVudC5rZXlDb2RlID49IDM3ICYmIGV2ZW50LmtleUNvZGUgPD0gNDApIHx8IGV2ZW50LmtleUNvZGUgPT0gNDYgfHwgZXZlbnQud2hpY2ggPT0gOCB8fCBldmVudC5rZXlDb2RlID09IDkgfHwgZXZlbnQua2V5Q29kZSA9PSA0NSkge1xuICAgICAgLy9jb25zb2xlLmRlYnVnKCdpbnB1dCBjb21tYW5kIGVudGVyZWQgOicgKyBldmVudC53aGljaCArICcgJyArIGV2ZW50LmtleUNvZGUgKyAnICcgKyBldmVudC5jaGFyQ29kZSk7XG4gICAgICAvLyBPS1xuICAgIH1cbiAgICAvLyBDYW5jZWwgb3RoZXIga2V5Ym9hcmQgZXZlbnRzXG4gICAgZWxzZSB7XG4gICAgICAvL2NvbnNvbGUuZGVidWcoJ2lucHV0IG5vdCBudW1iZXIgZW50ZXJlZCA6JyArIGV2ZW50LndoaWNoICsgJyAnICsgZXZlbnQua2V5Q29kZSArICcgJyArIGV2ZW50LmNoYXJDb2RlICsgJyAnICsgZXZlbnQuY29kZSApO1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvY3VzSW5wdXQoZWxlbWVudDogRWxlbWVudFJlZikge1xuICBjb25zdCBpbnB1dEVsZW1lbnQgPSBhc0lucHV0RWxlbWVudChlbGVtZW50KTtcbiAgaWYgKGlucHV0RWxlbWVudClcbiAgICBpbnB1dEVsZW1lbnQuZm9jdXMoKTtcbiAgZWxzZSB7XG4gICAgY29uc29sZS53YXJuKCdUcnlpbmcgdG8gZm9jdXMgb24gdGhpcyBlbGVtZW50OicsIGVsZW1lbnQpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRUYWJJbmRleChlbGVtZW50OiBFbGVtZW50UmVmLCB0YWJJbmRleDogbnVtYmVyKSB7XG4gIGlmKGlzSW5wdXRFbGVtZW50KGVsZW1lbnQpKSB7XG4gICAgZWxlbWVudC50YWJpbmRleCA9IHRhYkluZGV4O1xuICB9XG4gIGVsc2UgaWYgKGVsZW1lbnQgJiYgaXNJbnB1dEVsZW1lbnQoZWxlbWVudC5uYXRpdmVFbGVtZW50KSkge1xuICAgIGVsZW1lbnQubmF0aXZlRWxlbWVudC50YWJJbmRleCA9IHRhYkluZGV4O1xuICB9XG4gIGVsc2Uge1xuICAgIGNvbnNvbGUud2FybignVHJ5aW5nIHRvIGNoYW5nZSB0YWJpbmRleCBvbiB0aGlzIGVsZW1lbnQ6JywgZWxlbWVudCk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbnB1dEVsZW1lbnQgZXh0ZW5kcyBGb2N1c2FibGVFbGVtZW50IHtcbiAgdGFiaW5kZXg/OiBudW1iZXI7XG4gIHRhYkluZGV4PzogbnVtYmVyO1xuICBoaWRkZW4/OiBib29sZWFuO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIHZhbHVlOiBhbnk7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNJbnB1dEVsZW1lbnQob2JqZWN0OiBhbnkpOiBvYmplY3QgaXMgSW5wdXRFbGVtZW50IHtcbiAgcmV0dXJuIGlzRm9jdXNhYmxlRWxlbWVudChvYmplY3QpXG4gICAgJiYgKCd2YWx1ZScgaW4gb2JqZWN0XG4gICAgICAvLyBoYXMgdmFsdWUgaXMgbm90IGFsd2F5cyBzZXQgKG5laXRoZXIgdGFiaW5kZXgpIGNoZWNrIG9uIDIgcHJvcGVydGllcyB3aXRoIGEgbG9naWNhbCBPUlxuICAgICAgfHwgKCd0YWJpbmRleCcgaW4gb2JqZWN0IHx8ICd0YWJJbmRleCcgaW4gb2JqZWN0KSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhc0lucHV0RWxlbWVudChvYmplY3Q6IEVsZW1lbnRSZWYpOiBJbnB1dEVsZW1lbnR8dW5kZWZpbmVkIHtcbiAgaWYgKG9iamVjdCkge1xuICAgIGlmIChpc0lucHV0RWxlbWVudChvYmplY3QpKSByZXR1cm4gb2JqZWN0O1xuICAgIGlmIChvYmplY3QubmF0aXZlRWxlbWVudCAmJiBpc0lucHV0RWxlbWVudChvYmplY3QubmF0aXZlRWxlbWVudCkpIHJldHVybiBvYmplY3QubmF0aXZlRWxlbWVudDtcbiAgfVxuICByZXR1cm4gdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdGFiaW5kZXhDb21wYXJhdG9yKGE6IElucHV0RWxlbWVudCwgYjogSW5wdXRFbGVtZW50KSB7XG4gIGNvbnN0IHZhbHVlQSA9IGEudGFiaW5kZXggfHwgYS50YWJJbmRleDtcbiAgY29uc3QgdmFsdWVCID0gYi50YWJpbmRleCB8fCBiLnRhYkluZGV4O1xuICByZXR1cm4gdmFsdWVBID09PSB2YWx1ZUIgPyAwIDogKHZhbHVlQSA+IHZhbHVlQiA/IDEgOiAtMSk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FuR2FpbkZvY3VzT3B0aW9ucyB7XG4gIG1pblRhYmluZGV4PzogbnVtYmVyO1xuICBtYXhUYWJpbmRleD86IG51bWJlcjtcbiAgZXhjbHVkZUVtcHR5SW5wdXQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldEZvY3VzYWJsZUlucHV0T3B0aW9ucyBleHRlbmRzIENhbkdhaW5Gb2N1c09wdGlvbnMge1xuICBzb3J0QnlUYWJJbmRleD86IGJvb2xlYW47XG4gIGRlYnVnPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNhbkhhdmVGb2N1cyhpbnB1dDogSW5wdXRFbGVtZW50LCBvcHRzPzogQ2FuR2FpbkZvY3VzT3B0aW9ucyk6IGJvb2xlYW4ge1xuICBpZiAoIWlucHV0KSByZXR1cm4gZmFsc2U7XG4gIC8vIEV4Y2x1ZGUgZGlzYWJsZWQgZWxlbWVudFxuICByZXR1cm4gIXRvQm9vbGVhbihpbnB1dC5kaXNhYmxlZCwgZmFsc2UpXG4gICAgLy8gRXhjbHVkZSBoaWRkZW4gZWxlbWVudFxuICAgICYmICF0b0Jvb2xlYW4oaW5wdXQuaGlkZGVuLCBmYWxzZSlcbiAgICAvLyBFeGNsdWRlIG1pblRhYkluZGV4IDwgZWxlbWVudC50YWJJbmRleFxuICAgICYmIChpc05pbChvcHRzLm1pblRhYmluZGV4KSB8fCB0b051bWJlcihpbnB1dC50YWJJbmRleCwgaW5wdXQudGFiaW5kZXgpID4gb3B0cy5taW5UYWJpbmRleClcbiAgICAvLyBFeGNsdWRlIG1heFRhYkluZGV4ID4gZWxlbWVudC50YWJJbmRleFxuICAgICYmIChpc05pbChvcHRzLm1heFRhYmluZGV4KSB8fCB0b051bWJlcihpbnB1dC50YWJJbmRleCwgaW5wdXQudGFiaW5kZXgpIDwgb3B0cy5tYXhUYWJpbmRleClcbiAgICAvLyBFeGNsdWRlIG5pbCBpbnB1dCB2YWx1ZVxuICAgICYmICghb3B0cy5leGNsdWRlRW1wdHlJbnB1dCB8fCBpc05pbE9yQmxhbmsoaW5wdXQudmFsdWUpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZvY3VzYWJsZUlucHV0RWxlbWVudHMoZWxlbWVudHM6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPiwgb3B0cz86IEdldEZvY3VzYWJsZUlucHV0T3B0aW9ucyk6IElucHV0RWxlbWVudFtdIHtcbiAgb3B0cyA9IHtzb3J0QnlUYWJJbmRleDogZmFsc2UsIGV4Y2x1ZGVFbXB0eUlucHV0OiBmYWxzZSwgLi4ub3B0c307XG5cbiAgLy8gRm9jdXMgdG8gZmlyc3QgaW5wdXRcbiAgY29uc3QgZmlsdGVyZWRFbGVtZW50czogSW5wdXRFbGVtZW50W10gPSBlbGVtZW50c1xuXG4gICAgLy8gVHJhbnNmb3JtIHRvIGlucHV0XG4gICAgLm1hcChhc0lucHV0RWxlbWVudClcblxuICAgIC5maWx0ZXIoaW5wdXQgPT4ge1xuICAgICAgY29uc3QgaW5jbHVkZWQgPSBjYW5IYXZlRm9jdXMoaW5wdXQsIG9wdHMpO1xuICAgICAgLy8gREVCVUdcbiAgICAgIGlmIChpbnB1dCAmJiBvcHRzLmRlYnVnKSBjb25zb2xlLmRlYnVnKGBbaW5wdXRzXSBGb2N1c2FibGUgaW5wdXQge2NhbkZvY3VzOiAke2luY2x1ZGVkfSwgdGFiSW5kZXg6ICR7aW5wdXQudGFiSW5kZXh8fGlucHV0LnRhYmluZGV4fX1gLCBpbnB1dCk7XG4gICAgICByZXR1cm4gaW5jbHVkZWQ7XG4gICAgfSk7XG5cbiAgLy8gU29ydCBieSB0YWJJbmRleFxuICBpZiAob3B0cy5zb3J0QnlUYWJJbmRleCkge1xuICAgIHJldHVybiBmaWx0ZXJlZEVsZW1lbnRzLnNvcnQodGFiaW5kZXhDb21wYXJhdG9yKTtcbiAgfVxuXG4gIHJldHVybiBmaWx0ZXJlZEVsZW1lbnRzO1xuXG59XG5cblxuZXhwb3J0IGZ1bmN0aW9uIGZvY3VzTmV4dElucHV0KGV2ZW50OiBFdmVudHx1bmRlZmluZWQsIGVsZW1lbnRzOiBRdWVyeUxpc3Q8RWxlbWVudFJlZj4sIG9wdHM/OiBHZXRGb2N1c2FibGVJbnB1dE9wdGlvbnMpOiBib29sZWFuIHtcblxuICAvLyBDYW5jZWxsaW5nIGV2ZW50IChlLmcuIHdoZW4gZW1pdHRlZCBieSAoa2V5ZG93bi50YWIpIClcbiAgaWYgKGV2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIC8vIEdldCBjdXJyZW50IGluZGV4XG4gIGNvbnN0IG1pblRhYmluZGV4ID0gZXZlbnQgJiYgaXNJbnB1dEVsZW1lbnQoZXZlbnQudGFyZ2V0KSA/IChldmVudC50YXJnZXQudGFiSW5kZXggfHwgZXZlbnQudGFyZ2V0LnRhYmluZGV4KSA6IHVuZGVmaW5lZDtcblxuICAvLyBHZXQgZm9jdXNhYmxlIGlucHV0IGVsZW1lbnRzXG4gIGNvbnN0IGZvY3VzYWJsZUlucHV0czogSW5wdXRFbGVtZW50W10gPSBnZXRGb2N1c2FibGVJbnB1dEVsZW1lbnRzKGVsZW1lbnRzLCB7bWluVGFiaW5kZXgsIC4uLm9wdHN9KTtcblxuICBpZiAoaXNOb3RFbXB0eUFycmF5KGZvY3VzYWJsZUlucHV0cykpIHtcbiAgICAvLyBGb2N1cyBvbiBmaXJzdCBpbnB1dHNcbiAgICBmb2N1c2FibGVJbnB1dHNbMF0uZm9jdXMoKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvY3VzUHJldmlvdXNJbnB1dChldmVudDogRXZlbnR8dW5kZWZpbmVkLCBlbGVtZW50czogUXVlcnlMaXN0PEVsZW1lbnRSZWY+LCBvcHRzPzogR2V0Rm9jdXNhYmxlSW5wdXRPcHRpb25zKTogYm9vbGVhbiB7XG5cbiAgLy8gQ2FuY2VsbGluZyBldmVudCAoZS5nLiB3aGVuIGVtaXR0ZWQgYnkgKGtleWRvd24udGFiKSApXG4gIGlmIChldmVudCkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICAvLyBHZXQgY3VycmVudCBpbmRleFxuICBjb25zdCBtYXhUYWJpbmRleCA9IGV2ZW50ICYmIGlzSW5wdXRFbGVtZW50KGV2ZW50LnRhcmdldCkgPyAoZXZlbnQudGFyZ2V0LnRhYkluZGV4IHx8IGV2ZW50LnRhcmdldC50YWJpbmRleCkgOiB1bmRlZmluZWQ7XG5cbiAgLy8gR2V0IGZvY3VzYWJsZSBpbnB1dCBlbGVtZW50c1xuICBjb25zdCBmb2N1c2FibGVJbnB1dHM6IElucHV0RWxlbWVudFtdID0gZ2V0Rm9jdXNhYmxlSW5wdXRFbGVtZW50cyhlbGVtZW50cywge21heFRhYmluZGV4LCAuLi5vcHRzfSk7XG5cbiAgaWYgKGlzTm90RW1wdHlBcnJheShmb2N1c2FibGVJbnB1dHMpKSB7XG4gICAgLy8gRm9jdXMgb24gbGFzdCBpbnB1dHNcbiAgICBmb2N1c2FibGVJbnB1dHNbZm9jdXNhYmxlSW5wdXRzLmxlbmd0aCAtMV0uZm9jdXMoKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuIl19
@@ -1,27 +0,0 @@
1
- import { __decorate, __param } from "tslib";
2
- import { catchError, tap } from 'rxjs/operators';
3
- import { HttpResponse } from '@angular/common/http';
4
- import { APP_PROGRESS_BAR_SERVICE } from '../services/progress-bar.service';
5
- import { Inject } from '@angular/core';
6
- let ProgressInterceptor = class ProgressInterceptor {
7
- constructor(progressBarService) {
8
- this.progressBarService = progressBarService;
9
- }
10
- intercept(req, next) {
11
- this.progressBarService.increase();
12
- return next.handle(req)
13
- .pipe(tap(event => {
14
- if (event instanceof HttpResponse) {
15
- this.progressBarService.decrease();
16
- }
17
- }), catchError((err, event) => {
18
- this.progressBarService.decrease();
19
- throw err;
20
- }));
21
- }
22
- };
23
- ProgressInterceptor = __decorate([
24
- __param(0, Inject(APP_PROGRESS_BAR_SERVICE))
25
- ], ProgressInterceptor);
26
- export { ProgressInterceptor };
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ2Vzcy5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL2ludGVyY2VwdG9ycy9wcm9nZXNzLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBd0QsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFMUcsT0FBTyxFQUFFLHdCQUF3QixFQUF1QixNQUFNLGtDQUFrQyxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkMsSUFBYSxtQkFBbUIsR0FBaEMsTUFBYSxtQkFBbUI7SUFDNUIsWUFBc0Qsa0JBQXVDO1FBQXZDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBcUI7SUFDN0YsQ0FBQztJQUVELFNBQVMsQ0FBQyxHQUFxQixFQUFFLElBQWlCO1FBQzlDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO2FBQ3BCLElBQUksQ0FDSCxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDUixJQUFJLEtBQUssWUFBWSxZQUFZLEVBQUU7Z0JBQ2pDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQzthQUNwQztRQUNMLENBQUMsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUN4QixJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbkMsTUFBTSxHQUFHLENBQUM7UUFDWixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ1osQ0FBQztDQUNKLENBQUE7QUFsQlksbUJBQW1CO0lBQ2YsV0FBQSxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQTtHQURwQyxtQkFBbUIsQ0FrQi9CO1NBbEJZLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNhdGNoRXJyb3IsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEh0dHBFdmVudCwgSHR0cEhhbmRsZXIsIEh0dHBJbnRlcmNlcHRvciwgSHR0cFJlcXVlc3QsIEh0dHBSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFQUF9QUk9HUkVTU19CQVJfU0VSVklDRSwgSVByb2dyZXNzQmFyU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3Byb2dyZXNzLWJhci5zZXJ2aWNlJztcbmltcG9ydCB7IEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgUHJvZ3Jlc3NJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG4gICAgY29uc3RydWN0b3IoQEluamVjdChBUFBfUFJPR1JFU1NfQkFSX1NFUlZJQ0UpIHByaXZhdGUgcHJvZ3Jlc3NCYXJTZXJ2aWNlOiBJUHJvZ3Jlc3NCYXJTZXJ2aWNlKSB7XG4gICAgfVxuXG4gICAgaW50ZXJjZXB0KHJlcTogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7XG4gICAgICAgIHRoaXMucHJvZ3Jlc3NCYXJTZXJ2aWNlLmluY3JlYXNlKCk7XG4gICAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXEpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICB0YXAoZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIEh0dHBSZXNwb25zZSkge1xuICAgICAgICAgICAgICAgICAgdGhpcy5wcm9ncmVzc0JhclNlcnZpY2UuZGVjcmVhc2UoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVyciwgZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5wcm9ncmVzc0JhclNlcnZpY2UuZGVjcmVhc2UoKTtcbiAgICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICAgICAgfSkpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,48 +0,0 @@
1
- /**
2
- * Logging levels.
3
- * Based on https://github.com/Ritzlgrmft/ionic-logging-service/blob/main/projects/ionic-logging-service/src/lib/log-level.model.ts
4
- */
5
- export var LogLevel;
6
- (function (LogLevel) {
7
- /**
8
- * All events should be logged.
9
- */
10
- // eslint-disable-next-line @typescript-eslint/naming-convention
11
- LogLevel[LogLevel["ALL"] = 0] = "ALL";
12
- /**
13
- * A fine-grained debug message, typically capturing the flow through the application.
14
- */
15
- // eslint-disable-next-line @typescript-eslint/naming-convention
16
- LogLevel[LogLevel["TRACE"] = 1] = "TRACE";
17
- /**
18
- * A general debugging event.
19
- */
20
- // eslint-disable-next-line @typescript-eslint/naming-convention
21
- LogLevel[LogLevel["DEBUG"] = 2] = "DEBUG";
22
- /**
23
- * An event for informational purposes.
24
- */
25
- // eslint-disable-next-line @typescript-eslint/naming-convention
26
- LogLevel[LogLevel["INFO"] = 3] = "INFO";
27
- /**
28
- * An event that might possible lead to an error.
29
- */
30
- // eslint-disable-next-line @typescript-eslint/naming-convention
31
- LogLevel[LogLevel["WARN"] = 4] = "WARN";
32
- /**
33
- * An error in the application, possibly recoverable.
34
- */
35
- // eslint-disable-next-line @typescript-eslint/naming-convention
36
- LogLevel[LogLevel["ERROR"] = 5] = "ERROR";
37
- /**
38
- * A severe error that will prevent the application from continuing.
39
- */
40
- // eslint-disable-next-line @typescript-eslint/naming-convention
41
- LogLevel[LogLevel["FATAL"] = 6] = "FATAL";
42
- /**
43
- * No events will be logged.
44
- */
45
- // eslint-disable-next-line @typescript-eslint/naming-convention
46
- LogLevel[LogLevel["OFF"] = 7] = "OFF";
47
- })(LogLevel || (LogLevel = {}));
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLWxldmVsLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvbG9nZ2luZy9sb2ctbGV2ZWwubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBQ0gsTUFBTSxDQUFOLElBQVksUUFnRFg7QUFoREQsV0FBWSxRQUFRO0lBQ2xCOztPQUVHO0lBQ0QsZ0VBQWdFO0lBQ2xFLHFDQUFHLENBQUE7SUFFSDs7T0FFRztJQUNELGdFQUFnRTtJQUNsRSx5Q0FBSyxDQUFBO0lBRUw7O09BRUc7SUFDRCxnRUFBZ0U7SUFDbEUseUNBQUssQ0FBQTtJQUVMOztPQUVHO0lBQ0QsZ0VBQWdFO0lBQ2xFLHVDQUFJLENBQUE7SUFFSjs7T0FFRztJQUNELGdFQUFnRTtJQUNsRSx1Q0FBSSxDQUFBO0lBRUo7O09BRUc7SUFDRCxnRUFBZ0U7SUFDbEUseUNBQUssQ0FBQTtJQUVMOztPQUVHO0lBQ0QsZ0VBQWdFO0lBQ2xFLHlDQUFLLENBQUE7SUFFTDs7T0FFRztJQUNELGdFQUFnRTtJQUNsRSxxQ0FBRyxDQUFBO0FBQ0wsQ0FBQyxFQWhEVyxRQUFRLEtBQVIsUUFBUSxRQWdEbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIExvZ2dpbmcgbGV2ZWxzLlxuICogQmFzZWQgb24gaHR0cHM6Ly9naXRodWIuY29tL1JpdHpsZ3JtZnQvaW9uaWMtbG9nZ2luZy1zZXJ2aWNlL2Jsb2IvbWFpbi9wcm9qZWN0cy9pb25pYy1sb2dnaW5nLXNlcnZpY2Uvc3JjL2xpYi9sb2ctbGV2ZWwubW9kZWwudHNcbiAqL1xuZXhwb3J0IGVudW0gTG9nTGV2ZWwge1xuICAvKipcbiAgICogQWxsIGV2ZW50cyBzaG91bGQgYmUgbG9nZ2VkLlxuICAgKi9cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gIEFMTCxcblxuICAvKipcbiAgICogQSBmaW5lLWdyYWluZWQgZGVidWcgbWVzc2FnZSwgdHlwaWNhbGx5IGNhcHR1cmluZyB0aGUgZmxvdyB0aHJvdWdoIHRoZSBhcHBsaWNhdGlvbi5cbiAgICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICBUUkFDRSxcblxuICAvKipcbiAgICogQSBnZW5lcmFsIGRlYnVnZ2luZyBldmVudC5cbiAgICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICBERUJVRyxcblxuICAvKipcbiAgICogQW4gZXZlbnQgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMuXG4gICAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgSU5GTyxcblxuICAvKipcbiAgICogQW4gZXZlbnQgdGhhdCBtaWdodCBwb3NzaWJsZSBsZWFkIHRvIGFuIGVycm9yLlxuICAgKi9cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gIFdBUk4sXG5cbiAgLyoqXG4gICAqIEFuIGVycm9yIGluIHRoZSBhcHBsaWNhdGlvbiwgcG9zc2libHkgcmVjb3ZlcmFibGUuXG4gICAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgRVJST1IsXG5cbiAgLyoqXG4gICAqIEEgc2V2ZXJlIGVycm9yIHRoYXQgd2lsbCBwcmV2ZW50IHRoZSBhcHBsaWNhdGlvbiBmcm9tIGNvbnRpbnVpbmcuXG4gICAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgRkFUQUwsXG5cbiAgLyoqXG4gICAqIE5vIGV2ZW50cyB3aWxsIGJlIGxvZ2dlZC5cbiAgICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICBPRkYsXG59XG4iXX0=
@@ -1,47 +0,0 @@
1
- import { LogLevel } from './log-level.model';
2
- import { fromDateISOString, toDateISOString } from '../dates';
3
- export class LogUtils {
4
- static fromObject(source) {
5
- const date = fromDateISOString(source.date);
6
- return {
7
- loggerName: source.loggerName,
8
- date,
9
- level: source.level || LogLevel.INFO,
10
- message: source.message,
11
- };
12
- }
13
- static asObject(source) {
14
- const date = toDateISOString(source.date);
15
- return {
16
- loggerName: source.loggerName,
17
- date,
18
- level: +source.level,
19
- message: source.message
20
- };
21
- }
22
- static fromObjects(sources) {
23
- return (sources || []).map(this.fromObject);
24
- }
25
- static levelToString(level) {
26
- return LogLevel[level].toUpperCase();
27
- }
28
- static levelToColor(level) {
29
- switch (level) {
30
- case LogLevel.TRACE:
31
- return 'primary';
32
- case LogLevel.DEBUG:
33
- return 'secondary';
34
- case LogLevel.INFO:
35
- return 'tertiary';
36
- case LogLevel.WARN:
37
- return 'warning';
38
- case LogLevel.ERROR:
39
- return 'accent';
40
- case LogLevel.FATAL:
41
- return 'danger';
42
- default:
43
- return 'medium';
44
- }
45
- }
46
- }
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvbG9nZ2luZy9sb2dnZXIubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBRzNDLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxlQUFlLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFxRTVELE1BQU0sT0FBTyxRQUFRO0lBQ25CLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBVztRQUMzQixNQUFNLElBQUksR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUMsT0FBWTtZQUNWLFVBQVUsRUFBRSxNQUFNLENBQUMsVUFBVTtZQUM3QixJQUFJO1lBQ0osS0FBSyxFQUFHLE1BQU0sQ0FBQyxLQUFrQixJQUFJLFFBQVEsQ0FBQyxJQUFJO1lBQ2xELE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTztTQUN4QixDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBVztRQUN6QixNQUFNLElBQUksR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFDLE9BQU87WUFDTCxVQUFVLEVBQUUsTUFBTSxDQUFDLFVBQVU7WUFDN0IsSUFBSTtZQUNKLEtBQUssRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLO1lBQ3BCLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTztTQUN4QixDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxXQUFXLENBQUMsT0FBYztRQUMvQixPQUFPLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBZTtRQUNsQyxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFlO1FBQ2pDLFFBQVEsS0FBSyxFQUFFO1lBQ2IsS0FBSyxRQUFRLENBQUMsS0FBSztnQkFDakIsT0FBTyxTQUFTLENBQUM7WUFDbkIsS0FBSyxRQUFRLENBQUMsS0FBSztnQkFDakIsT0FBTyxXQUFXLENBQUM7WUFDckIsS0FBSyxRQUFRLENBQUMsSUFBSTtnQkFDaEIsT0FBTyxVQUFVLENBQUM7WUFDcEIsS0FBSyxRQUFRLENBQUMsSUFBSTtnQkFDaEIsT0FBTyxTQUFTLENBQUM7WUFDbkIsS0FBSyxRQUFRLENBQUMsS0FBSztnQkFDakIsT0FBTyxRQUFRLENBQUM7WUFDbEIsS0FBSyxRQUFRLENBQUMsS0FBSztnQkFDakIsT0FBTyxRQUFRLENBQUM7WUFDbEI7Z0JBQ0UsT0FBTyxRQUFRLENBQUM7U0FDbkI7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0xvZ0xldmVsfSBmcm9tICcuL2xvZy1sZXZlbC5tb2RlbCc7XG5pbXBvcnQge01vbWVudH0gZnJvbSAnbW9tZW50JztcbmltcG9ydCB7TG9nZ2luZ1NlcnZpY2VDb25maWd9IGZyb20gJy4vbG9nZ2luZy1zZXJ2aWNlLmNvbmZpZyc7XG5pbXBvcnQge2Zyb21EYXRlSVNPU3RyaW5nLCB0b0RhdGVJU09TdHJpbmd9IGZyb20gJy4uL2RhdGVzJztcbmltcG9ydCB7QXBwQ29sb3JzfSBmcm9tICcuLi90eXBlcyc7XG5cblxuZXhwb3J0IGludGVyZmFjZSBJTG9nZ2luZ1NlcnZpY2Uge1xuICBjb25maWd1cmUoY29uZmlndXJhdGlvbjogTG9nZ2luZ1NlcnZpY2VDb25maWcpOiBQcm9taXNlPHZvaWQ+O1xuXG4gIGdldExvZ2dlcihsb2dnZXJOYW1lOiBzdHJpbmcpOiBJTG9nZ2VyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElMb2dnaW5nQXBwZW5kZXIge1xuICBhcHBlbmQobG9nZ2VyTmFtZTogc3RyaW5nLCBsZXZlbDogTG9nTGV2ZWwsIG1lc3NhZ2U6IHN0cmluZylcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJTG9nZ2VyIHtcbiAgLyoqXG4gICAqIExvZ3MgYSBtZXNzYWdlIGF0IGxldmVsIFRSQUNFLlxuICAgKlxuICAgKiBAcGFyYW0gbWV0aG9kTmFtZSBuYW1lIG9mIHRoZSBtZXRob2RcbiAgICogQHBhcmFtIHBhcmFtcyBvcHRpb25hbCBwYXJhbWV0ZXJzIHRvIGJlIGxvZ2dlZDsgb2JqZWN0cyB3aWxsIGJlIGZvcm1hdHRlZCBhcyBKU09OXG4gICAqL1xuICB0cmFjZShtZXRob2ROYW1lOiBzdHJpbmcsIC4uLnBhcmFtczogYW55W10pOiB2b2lkO1xuICAvKipcbiAgICogTG9ncyBhIG1lc3NhZ2UgYXQgbGV2ZWwgREVCVUcuXG4gICAqXG4gICAqIEBwYXJhbSBtZXRob2ROYW1lIG5hbWUgb2YgdGhlIG1ldGhvZFxuICAgKiBAcGFyYW0gcGFyYW1zIG9wdGlvbmFsIHBhcmFtZXRlcnMgdG8gYmUgbG9nZ2VkOyBvYmplY3RzIHdpbGwgYmUgZm9ybWF0dGVkIGFzIEpTT05cbiAgICovXG4gIGRlYnVnKG1ldGhvZE5hbWU6IHN0cmluZywgLi4ucGFyYW1zOiBhbnlbXSk6IHZvaWQ7XG4gIC8qKlxuICAgKiBMb2dzIGEgbWVzc2FnZSBhdCBsZXZlbCBJTkZPLlxuICAgKlxuICAgKiBAcGFyYW0gbWV0aG9kTmFtZSBuYW1lIG9mIHRoZSBtZXRob2RcbiAgICogQHBhcmFtIHBhcmFtcyBvcHRpb25hbCBwYXJhbWV0ZXJzIHRvIGJlIGxvZ2dlZDsgb2JqZWN0cyB3aWxsIGJlIGZvcm1hdHRlZCBhcyBKU09OXG4gICAqL1xuICBpbmZvKG1ldGhvZE5hbWU6IHN0cmluZywgLi4ucGFyYW1zOiBhbnlbXSk6IHZvaWQ7XG4gIC8qKlxuICAgKiBMb2dzIGEgbWVzc2FnZSBhdCBsZXZlbCBXQVJOLlxuICAgKlxuICAgKiBAcGFyYW0gbWV0aG9kTmFtZSBuYW1lIG9mIHRoZSBtZXRob2RcbiAgICogQHBhcmFtIHBhcmFtcyBvcHRpb25hbCBwYXJhbWV0ZXJzIHRvIGJlIGxvZ2dlZDsgb2JqZWN0cyB3aWxsIGJlIGZvcm1hdHRlZCBhcyBKU09OXG4gICAqL1xuICB3YXJuKG1ldGhvZE5hbWU6IHN0cmluZywgLi4ucGFyYW1zOiBhbnlbXSk6IHZvaWQ7XG4gIC8qKlxuICAgKiBMb2dzIGEgbWVzc2FnZSBhdCBsZXZlbCBFUlJPUi5cbiAgICpcbiAgICogQHBhcmFtIG1ldGhvZE5hbWUgbmFtZSBvZiB0aGUgbWV0aG9kXG4gICAqIEBwYXJhbSBwYXJhbXMgb3B0aW9uYWwgcGFyYW1ldGVycyB0byBiZSBsb2dnZWQ7IG9iamVjdHMgd2lsbCBiZSBmb3JtYXR0ZWQgYXMgSlNPTlxuICAgKi9cbiAgZXJyb3IobWV0aG9kTmFtZTogc3RyaW5nLCAuLi5wYXJhbXM6IGFueVtdKTtcblxuICAvKipcbiAgICogTG9ncyBhIG1lc3NhZ2UgYXQgbGV2ZWwgRkFUQUwuXG4gICAqXG4gICAqIEBwYXJhbSBtZXRob2ROYW1lIG5hbWUgb2YgdGhlIG1ldGhvZFxuICAgKiBAcGFyYW0gcGFyYW1zIG9wdGlvbmFsIHBhcmFtZXRlcnMgdG8gYmUgbG9nZ2VkOyBvYmplY3RzIHdpbGwgYmUgZm9ybWF0dGVkIGFzIEpTT05cbiAgICovXG4gIGZhdGFsKG1ldGhvZE5hbWU6IHN0cmluZywgLi4ucGFyYW1zOiBhbnlbXSk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9nIHtcblxuICBsb2dnZXJOYW1lOiBzdHJpbmc7XG4gIGxldmVsOiBMb2dMZXZlbDtcbiAgbWVzc2FnZTogc3RyaW5nO1xuICBkYXRlOiBNb21lbnQ7XG5cbn1cblxuZXhwb3J0IGNsYXNzIExvZ1V0aWxzIHtcbiAgc3RhdGljIGZyb21PYmplY3Qoc291cmNlOiBhbnkpOiBMb2cge1xuICAgIGNvbnN0IGRhdGUgPSBmcm9tRGF0ZUlTT1N0cmluZyhzb3VyY2UuZGF0ZSk7XG4gICAgcmV0dXJuIDxMb2c+e1xuICAgICAgbG9nZ2VyTmFtZTogc291cmNlLmxvZ2dlck5hbWUsXG4gICAgICBkYXRlLFxuICAgICAgbGV2ZWw6IChzb3VyY2UubGV2ZWwgYXMgTG9nTGV2ZWwpIHx8IExvZ0xldmVsLklORk8sXG4gICAgICBtZXNzYWdlOiBzb3VyY2UubWVzc2FnZSxcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIGFzT2JqZWN0KHNvdXJjZTogTG9nKTogYW55IHtcbiAgICBjb25zdCBkYXRlID0gdG9EYXRlSVNPU3RyaW5nKHNvdXJjZS5kYXRlKTtcbiAgICByZXR1cm4ge1xuICAgICAgbG9nZ2VyTmFtZTogc291cmNlLmxvZ2dlck5hbWUsXG4gICAgICBkYXRlLFxuICAgICAgbGV2ZWw6ICtzb3VyY2UubGV2ZWwsXG4gICAgICBtZXNzYWdlOiBzb3VyY2UubWVzc2FnZVxuICAgIH07XG4gIH1cblxuICBzdGF0aWMgZnJvbU9iamVjdHMoc291cmNlczogYW55W10pOiBMb2dbXSB7XG4gICAgcmV0dXJuIChzb3VyY2VzIHx8IFtdKS5tYXAodGhpcy5mcm9tT2JqZWN0KTtcbiAgfVxuXG4gIHN0YXRpYyBsZXZlbFRvU3RyaW5nKGxldmVsOiBMb2dMZXZlbCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIExvZ0xldmVsW2xldmVsXS50b1VwcGVyQ2FzZSgpO1xuICB9XG5cbiAgc3RhdGljIGxldmVsVG9Db2xvcihsZXZlbDogTG9nTGV2ZWwpOiBBcHBDb2xvcnMge1xuICAgIHN3aXRjaCAobGV2ZWwpIHtcbiAgICAgIGNhc2UgTG9nTGV2ZWwuVFJBQ0U6XG4gICAgICAgIHJldHVybiAncHJpbWFyeSc7XG4gICAgICBjYXNlIExvZ0xldmVsLkRFQlVHOlxuICAgICAgICByZXR1cm4gJ3NlY29uZGFyeSc7XG4gICAgICBjYXNlIExvZ0xldmVsLklORk86XG4gICAgICAgIHJldHVybiAndGVydGlhcnknO1xuICAgICAgY2FzZSBMb2dMZXZlbC5XQVJOOlxuICAgICAgICByZXR1cm4gJ3dhcm5pbmcnO1xuICAgICAgY2FzZSBMb2dMZXZlbC5FUlJPUjpcbiAgICAgICAgcmV0dXJuICdhY2NlbnQnO1xuICAgICAgY2FzZSBMb2dMZXZlbC5GQVRBTDpcbiAgICAgICAgcmV0dXJuICdkYW5nZXInO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICdtZWRpdW0nO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,121 +0,0 @@
1
- import { LogUtils } from './logger.model';
2
- import { Inject, Injectable, InjectionToken } from '@angular/core';
3
- import { BehaviorSubject } from 'rxjs';
4
- import { DateUtils } from '../dates';
5
- import { APP_STORAGE } from '../storage/storage.utils';
6
- import { ENVIRONMENT } from '../../../environments/environment.class';
7
- import { debounceTime } from 'rxjs/operators';
8
- import { isEmptyArray, isNotEmptyArray } from '../functions';
9
- import { LogLevel } from './log-level.model';
10
- import { StartableService } from '../services/startable-service.class';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "../../../environments/environment.class";
13
- export class Logger {
14
- constructor(_name, _appender) {
15
- this._name = _name;
16
- this._appender = _appender;
17
- }
18
- trace(methodName, ...params) {
19
- this._appender.append(this._name, LogLevel.TRACE, this.toString(methodName, ...params));
20
- }
21
- debug(methodName, ...params) {
22
- this._appender.append(this._name, LogLevel.DEBUG, this.toString(methodName, ...params));
23
- }
24
- info(methodName, ...params) {
25
- this._appender.append(this._name, LogLevel.INFO, this.toString(methodName, ...params));
26
- }
27
- warn(methodName, ...params) {
28
- this._appender.append(this._name, LogLevel.WARN, this.toString(methodName, ...params));
29
- }
30
- error(methodName, ...params) {
31
- this._appender.append(this._name, LogLevel.ERROR, this.toString(methodName, ...params));
32
- }
33
- fatal(methodName, ...params) {
34
- this._appender.append(this._name, LogLevel.FATAL, this.toString(methodName, ...params));
35
- }
36
- toString(methodName, ...params) {
37
- return `[${methodName}] ` + (params || []).map(p => {
38
- if (typeof p === 'string')
39
- return p;
40
- if (typeof p === 'number')
41
- return '' + p;
42
- return JSON.stringify(p);
43
- }).join(' ');
44
- }
45
- }
46
- export const APP_LOGGING_SERVICE = new InjectionToken('LoggingService');
47
- export class LoggingService extends StartableService {
48
- constructor(storage, environment) {
49
- super(storage);
50
- this.storage = storage;
51
- this.environment = environment;
52
- this._dataSubject = new BehaviorSubject([]);
53
- this._saving = false;
54
- this.configure(environment.logging);
55
- }
56
- async configure(config) {
57
- await this.restart(config);
58
- }
59
- async ngOnStart(opts) {
60
- this._debounceTimeMs = opts?.localStorageAppender?.debounceTimeMs || 1000 /* = 1s */;
61
- this._maxMessages = opts?.localStorageAppender?.maxMessages || 250;
62
- this._storageKey = opts?.localStorageAppender?.localStorageKey || 'log';
63
- console.info(`[logging] Configuring logging... {localStorageKey: '${this._storageKey}', maxMessages: ${this._maxMessages}, savePeriodMs: ${this._debounceTimeMs}}`);
64
- // Save timer
65
- this.registerSubscription(this._dataSubject
66
- // Avoid to many call
67
- .pipe(debounceTime(this._debounceTimeMs))
68
- .subscribe(() => this.storeLocally()));
69
- }
70
- getLogger(loggerName) {
71
- return new Logger(loggerName, this);
72
- }
73
- append(loggerName, level, message) {
74
- this._dataSubject.next([
75
- ...this._dataSubject.value,
76
- { loggerName: loggerName, level, message, date: DateUtils.moment() }
77
- ]);
78
- }
79
- async storeLocally() {
80
- if (this._saving)
81
- return;
82
- this._saving = true;
83
- try {
84
- const newMessages = (this._dataSubject.value || []).map(LogUtils.asObject);
85
- if (isEmptyArray(newMessages))
86
- return; // Skip if no data
87
- this._dataSubject.next([]); // Reset log
88
- const oldValue = await this.storage.get(this._storageKey);
89
- const oldMessages = (typeof oldValue === 'string') ? JSON.parse(oldValue) : (oldValue || []);
90
- let lastMessages = [
91
- ...(oldMessages || []),
92
- ...newMessages
93
- ];
94
- if (lastMessages.length > this._maxMessages) {
95
- lastMessages = lastMessages.slice(lastMessages.length - this._maxMessages);
96
- }
97
- if (isNotEmptyArray(lastMessages)) {
98
- console.info(`[logging] Saving ${newMessages.length} messages to storage...`);
99
- await this.storage.set(this._storageKey, lastMessages);
100
- }
101
- }
102
- catch (err) {
103
- console.error(err);
104
- }
105
- finally {
106
- this._saving = false;
107
- }
108
- }
109
- }
110
- LoggingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: LoggingService, deps: [{ token: APP_STORAGE }, { token: ENVIRONMENT }], target: i0.ɵɵFactoryTarget.Injectable });
111
- LoggingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: LoggingService });
112
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: LoggingService, decorators: [{
113
- type: Injectable
114
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
115
- type: Inject,
116
- args: [APP_STORAGE]
117
- }] }, { type: i1.Environment, decorators: [{
118
- type: Inject,
119
- args: [ENVIRONMENT]
120
- }] }]; } });
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2luZy1zZXJ2aWNlLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvbG9nZ2luZy9sb2dnaW5nLXNlcnZpY2UuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFrRCxRQUFRLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RixPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFDLGVBQWUsRUFBMEIsTUFBTSxNQUFNLENBQUM7QUFDOUQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUNuQyxPQUFPLEVBQUMsV0FBVyxFQUFXLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFjLFdBQVcsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ2pGLE9BQU8sRUFBQyxZQUFZLEVBQWtDLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0UsT0FBTyxFQUFDLFlBQVksRUFBRSxlQUFlLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFFM0QsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFDQUFxQyxDQUFDOzs7QUFHckUsTUFBTSxPQUFPLE1BQU07SUFDakIsWUFBb0IsS0FBYSxFQUNiLFNBQTJCO1FBRDNCLFVBQUssR0FBTCxLQUFLLENBQVE7UUFDYixjQUFTLEdBQVQsU0FBUyxDQUFrQjtJQUMvQyxDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQWtCLEVBQUUsR0FBRyxNQUFhO1FBQ3hDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENB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dEI7SUFDSCxDQUFDOzsyR0E5RVUsY0FBYyxrQkFRTCxXQUFXLGFBQ1gsV0FBVzsrR0FUcEIsY0FBYzsyRkFBZCxjQUFjO2tCQUQxQixVQUFVOzswQkFTSSxNQUFNOzJCQUFDLFdBQVc7OzBCQUNsQixNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0lMb2dnZXIsIElMb2dnaW5nQXBwZW5kZXIsIElMb2dnaW5nU2VydmljZSwgTG9nLCBMb2dVdGlsc30gZnJvbSAnLi9sb2dnZXIubW9kZWwnO1xuaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBvZiwgU3Vic2NyaXB0aW9uLCB0aW1lcn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0RhdGVVdGlsc30gZnJvbSAnLi4vZGF0ZXMnO1xuaW1wb3J0IHtBUFBfU1RPUkFHRSwgSVN0b3JhZ2V9IGZyb20gJy4uL3N0b3JhZ2Uvc3RvcmFnZS51dGlscyc7XG5pbXBvcnQge0Vudmlyb25tZW50LCBFTlZJUk9OTUVOVH0gZnJvbSAnLi4vLi4vLi4vZW52aXJvbm1lbnRzL2Vudmlyb25tZW50LmNsYXNzJztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBmaWx0ZXIsIHN3aXRjaE1hcCwgdGhyb3R0bGVUaW1lfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge2lzRW1wdHlBcnJheSwgaXNOb3RFbXB0eUFycmF5fSBmcm9tICcuLi9mdW5jdGlvbnMnO1xuaW1wb3J0IHtMb2dnaW5nU2VydmljZUNvbmZpZ30gZnJvbSAnLi9sb2dnaW5nLXNlcnZpY2UuY29uZmlnJztcbmltcG9ydCB7TG9nTGV2ZWx9IGZyb20gJy4vbG9nLWxldmVsLm1vZGVsJztcbmltcG9ydCB7U3RhcnRhYmxlU2VydmljZX0gZnJvbSAnLi4vc2VydmljZXMvc3RhcnRhYmxlLXNlcnZpY2UuY2xhc3MnO1xuXG5cbmV4cG9ydCBjbGFzcyBMb2dnZXIgaW1wbGVtZW50cyBJTG9nZ2VyIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfbmFtZTogc3RyaW5nLFxuICAgICAgICAgICAgICBwcml2YXRlIF9hcHBlbmRlcjogSUxvZ2dpbmdBcHBlbmRlcikge1xuICB9XG5cbiAgdHJhY2UobWV0aG9kTmFtZTogc3RyaW5nLCAuLi5wYXJhbXM6IGFueVtdKTogdm9pZCB7XG4gICAgdGhpcy5fYXBwZW5kZXIuYXBwZW5kKHRoaXMuX25hbWUsIExvZ0xldmVsLlRSQUNFLCB0aGlzLnRvU3RyaW5nKG1ldGhvZE5hbWUsIC4uLnBhcmFtcykpO1xuICB9XG5cbiAgZGVidWcobWV0aG9kTmFtZTogc3RyaW5nLCAuLi5wYXJhbXM6IGFueVtdKTogdm9pZCB7XG4gICAgdGhpcy5fYXBwZW5kZXIuYXBwZW5kKHRoaXMuX25hbWUsIExvZ0xldmVsLkRFQlVHLCB0aGlzLnRvU3RyaW5nKG1ldGhvZE5hbWUsIC4uLnBhcmFtcykpO1xuICB9XG5cbiAgaW5mbyhtZXRob2ROYW1lOiBzdHJpbmcsIC4uLnBhcmFtczogYW55W10pOiB2b2lkIHtcbiAgICB0aGlzLl9hcHBlbmRlci5hcHBlbmQodGhpcy5fbmFtZSwgTG9nTGV2ZWwuSU5GTywgdGhpcy50b1N0cmluZyhtZXRob2ROYW1lLCAuLi5wYXJhbXMpKTtcbiAgfVxuXG4gIHdhcm4obWV0aG9kTmFtZTogc3RyaW5nLCAuLi5wYXJhbXM6IGFueVtdKTogdm9pZCB7XG4gICAgdGhpcy5fYXBwZW5kZXIuYXBwZW5kKHRoaXMuX25hbWUsIExvZ0xldmVsLldBUk4sIHRoaXMudG9TdHJpbmcobWV0aG9kTmFtZSwgLi4ucGFyYW1zKSk7XG4gIH1cblxuICBlcnJvcihtZXRob2ROYW1lOiBzdHJpbmcsIC4uLnBhcmFtczogYW55W10pIHtcbiAgICB0aGlzLl9hcHBlbmRlci5hcHBlbmQodGhpcy5fbmFtZSwgTG9nTGV2ZWwuRVJST1IsIHRoaXMudG9TdHJpbmcobWV0aG9kTmFtZSwgLi4ucGFyYW1zKSk7XG4gIH1cblxuICBmYXRhbChtZXRob2ROYW1lOiBzdHJpbmcsIC4uLnBhcmFtczogYW55W10pIHtcbiAgICB0aGlzLl9hcHBlbmRlci5hcHBlbmQodGhpcy5fbmFtZSwgTG9nTGV2ZWwuRkFUQUwsIHRoaXMudG9TdHJpbmcobWV0aG9kTmFtZSwgLi4ucGFyYW1zKSk7XG4gIH1cblxuICBwcml2YXRlIHRvU3RyaW5nKG1ldGhvZE5hbWUsIC4uLnBhcmFtczogYW55W10pIHtcbiAgICByZXR1cm4gYFske21ldGhvZE5hbWV9XSBgICsgKHBhcmFtcyB8fCBbXSkubWFwKHAgPT4ge1xuICAgICAgaWYgKHR5cGVvZiBwID09PSAnc3RyaW5nJykgcmV0dXJuIHA7XG4gICAgICBpZiAodHlwZW9mIHAgPT09ICdudW1iZXInKSByZXR1cm4gJycgKyBwO1xuICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHApO1xuICAgIH0pLmpvaW4oJyAnKTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgQVBQX0xPR0dJTkdfU0VSVklDRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxJTG9nZ2luZ1NlcnZpY2U+KCdMb2dnaW5nU2VydmljZScpO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTG9nZ2luZ1NlcnZpY2UgZXh0ZW5kcyBTdGFydGFibGVTZXJ2aWNlPHZvaWQ+IGltcGxlbWVudHMgSUxvZ2dpbmdTZXJ2aWNlLCBJTG9nZ2luZ0FwcGVuZGVyIHtcblxuICBfZGF0YVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PExvZ1tdPihbXSk7XG4gIF9kZWJvdW5jZVRpbWVNczogbnVtYmVyO1xuICBfc3RvcmFnZUtleTogc3RyaW5nO1xuICBfbWF4TWVzc2FnZXM6IG51bWJlcjtcbiAgX3NhdmluZyA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoQVBQX1NUT1JBR0UpIHByaXZhdGUgc3RvcmFnZTogSVN0b3JhZ2UsXG4gICAgICAgICAgICAgIEBJbmplY3QoRU5WSVJPTk1FTlQpIHByb3RlY3RlZCBlbnZpcm9ubWVudDogRW52aXJvbm1lbnRcbiAgKSB7XG4gICAgc3VwZXIoc3RvcmFnZSk7XG4gICAgdGhpcy5jb25maWd1cmUoZW52aXJvbm1lbnQubG9nZ2luZylcbiAgfVxuXG4gIGFzeW5jIGNvbmZpZ3VyZShjb25maWc6IExvZ2dpbmdTZXJ2aWNlQ29uZmlnKSB7XG4gICAgYXdhaXQgdGhpcy5yZXN0YXJ0KGNvbmZpZyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgbmdPblN0YXJ0KG9wdHM/OiBMb2dnaW5nU2VydmljZUNvbmZpZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuX2RlYm91bmNlVGltZU1zID0gb3B0cz8ubG9jYWxTdG9yYWdlQXBwZW5kZXI/LmRlYm91bmNlVGltZU1zIHx8IDEwMDAgLyogPSAxcyAqLztcbiAgICB0aGlzLl9tYXhNZXNzYWdlcyA9IG9wdHM/LmxvY2FsU3RvcmFnZUFwcGVuZGVyPy5tYXhNZXNzYWdlcyB8fCAyNTA7XG4gICAgdGhpcy5fc3RvcmFnZUtleSA9IG9wdHM/LmxvY2FsU3RvcmFnZUFwcGVuZGVyPy5sb2NhbFN0b3JhZ2VLZXkgfHwgJ2xvZyc7XG5cbiAgICBjb25zb2xlLmluZm8oYFtsb2dnaW5nXSBDb25maWd1cmluZyBsb2dnaW5nLi4uIHtsb2NhbFN0b3JhZ2VLZXk6ICcke3RoaXMuX3N0b3JhZ2VLZXl9JywgbWF4TWVzc2FnZXM6ICR7dGhpcy5fbWF4TWVzc2FnZXN9LCBzYXZlUGVyaW9kTXM6ICR7dGhpcy5fZGVib3VuY2VUaW1lTXN9fWApO1xuXG4gICAgLy8gU2F2ZSB0aW1lclxuICAgIHRoaXMucmVnaXN0ZXJTdWJzY3JpcHRpb24oXG4gICAgICB0aGlzLl9kYXRhU3ViamVjdFxuICAgICAgLy8gQXZvaWQgdG8gbWFueSBjYWxsXG4gICAgICAucGlwZShcbiAgICAgICAgZGVib3VuY2VUaW1lKHRoaXMuX2RlYm91bmNlVGltZU1zKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnN0b3JlTG9jYWxseSgpKVxuICAgICk7XG4gIH1cblxuICBnZXRMb2dnZXIobG9nZ2VyTmFtZTogc3RyaW5nKTogSUxvZ2dlciB7XG4gICAgcmV0dXJuIG5ldyBMb2dnZXIobG9nZ2VyTmFtZSwgdGhpcyk7XG4gIH1cblxuICBhcHBlbmQobG9nZ2VyTmFtZTogc3RyaW5nLCBsZXZlbDogTG9nTGV2ZWwsIG1lc3NhZ2U6IHN0cmluZykge1xuICAgIHRoaXMuX2RhdGFTdWJqZWN0Lm5leHQoW1xuICAgICAgLi4udGhpcy5fZGF0YVN1YmplY3QudmFsdWUsXG4gICAgICA8TG9nPntsb2dnZXJOYW1lOiBsb2dnZXJOYW1lLCBsZXZlbCwgbWVzc2FnZSwgZGF0ZTogRGF0ZVV0aWxzLm1vbWVudCgpfVxuICAgIF0pXG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgc3RvcmVMb2NhbGx5KCkge1xuICAgIGlmICh0aGlzLl9zYXZpbmcpIHJldHVybjtcbiAgICB0aGlzLl9zYXZpbmcgPSB0cnVlO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBuZXdNZXNzYWdlczogYW55W10gPSAodGhpcy5fZGF0YVN1YmplY3QudmFsdWUgfHwgW10pLm1hcChMb2dVdGlscy5hc09iamVjdCk7XG5cbiAgICAgIGlmIChpc0VtcHR5QXJyYXkobmV3TWVzc2FnZXMpKSByZXR1cm47IC8vIFNraXAgaWYgbm8gZGF0YVxuICAgICAgdGhpcy5fZGF0YVN1YmplY3QubmV4dChbXSk7IC8vIFJlc2V0IGxvZ1xuXG4gICAgICBjb25zdCBvbGRWYWx1ZSA9IGF3YWl0IHRoaXMuc3RvcmFnZS5nZXQodGhpcy5fc3RvcmFnZUtleSk7XG4gICAgICBjb25zdCBvbGRNZXNzYWdlczogYW55W10gPSAodHlwZW9mIG9sZFZhbHVlID09PSAnc3RyaW5nJykgPyBKU09OLnBhcnNlKG9sZFZhbHVlKSA6IChvbGRWYWx1ZSB8fCBbXSk7XG4gICAgICBsZXQgbGFzdE1lc3NhZ2VzID0gW1xuICAgICAgICAuLi4ob2xkTWVzc2FnZXMgfHwgW10pLFxuICAgICAgICAuLi5uZXdNZXNzYWdlc1xuICAgICAgXTtcbiAgICAgIGlmIChsYXN0TWVzc2FnZXMubGVuZ3RoID4gdGhpcy5fbWF4TWVzc2FnZXMpIHtcbiAgICAgICAgbGFzdE1lc3NhZ2VzID0gbGFzdE1lc3NhZ2VzLnNsaWNlKGxhc3RNZXNzYWdlcy5sZW5ndGggLSB0aGlzLl9tYXhNZXNzYWdlcylcbiAgICAgIH1cblxuICAgICAgaWYgKGlzTm90RW1wdHlBcnJheShsYXN0TWVzc2FnZXMpKSB7XG4gICAgICAgIGNvbnNvbGUuaW5mbyhgW2xvZ2dpbmddIFNhdmluZyAke25ld01lc3NhZ2VzLmxlbmd0aH0gbWVzc2FnZXMgdG8gc3RvcmFnZS4uLmApO1xuICAgICAgICBhd2FpdCB0aGlzLnN0b3JhZ2Uuc2V0KHRoaXMuX3N0b3JhZ2VLZXksIGxhc3RNZXNzYWdlcyk7XG4gICAgICB9XG4gICAgfVxuICAgIGNhdGNoKGVycikge1xuICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgIH1cbiAgICBmaW5hbGx5IHtcbiAgICAgIHRoaXMuX3NhdmluZyA9IGZhbHNlO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2luZy1zZXJ2aWNlLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL2xvZ2dpbmcvbG9nZ2luZy1zZXJ2aWNlLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQmFzZWQgb24gaHR0cHM6Ly9naXRodWIuY29tL1JpdHpsZ3JtZnQvaW9uaWMtbG9nZ2luZy1zZXJ2aWNlL2Jsb2IvbWFpbi9wcm9qZWN0cy9pb25pYy1sb2dnaW5nLXNlcnZpY2Uvc3JjL2xpYi9sb2dnaW5nLXNlcnZpY2UuY29uZmlndXJhdGlvbi50c1xuZXhwb3J0IGludGVyZmFjZSBMb2dnaW5nU2VydmljZUNvbmZpZyB7XG4gIGxvY2FsU3RvcmFnZUFwcGVuZGVyPzoge1xuICAgIC8qKlxuICAgICAqIEtleSB3aGljaCBpcyB1c2VkIHRvIHN0b3JlIHRoZSBtZXNzYWdlcyBpbiB0aGUgbG9jYWwgc3RvcmFnZS5cbiAgICAgKlxuICAgICAqIERlZmF1bHQ6ICdsb2cnLlxuICAgICAqL1xuICAgIGxvY2FsU3RvcmFnZUtleTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogTWF4aW11bSBudW1iZXIgb2YgbG9nIG1lc3NhZ2VzIHN0b3JlZCBieSB0aGUgYXBwZW5kZXIuXG4gICAgICpcbiAgICAgKiBEZWZhdWx0OiAyNTAuXG4gICAgICovXG4gICAgbWF4TWVzc2FnZXM/OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBUaHJlc2hvbGQuXG4gICAgICpcbiAgICAgKiBWYWxpZCB2YWx1ZXMgYXJlOiBBTEwsIERFQlVHLCBFUlJPUiwgRkFUQUwsIElORk8sIE9GRiwgVFJBQ0UsIFdBUk5cbiAgICAgKlxuICAgICAqIERlZmF1bHQ6IFdBUk4uXG4gICAgICovXG4gICAgdGhyZXNob2xkPzogc3RyaW5nO1xuXG4gICAgZGVib3VuY2VUaW1lTXM/OiBudW1iZXI7XG4gIH1cbn1cbiJdfQ==
@@ -1,30 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { IonicModule } from '@ionic/angular';
4
- import { TranslateModule } from '@ngx-translate/core';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@ngx-translate/core";
7
- export class LoggingServiceModule {
8
- }
9
- LoggingServiceModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: LoggingServiceModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
- LoggingServiceModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: LoggingServiceModule, imports: [CommonModule,
11
- IonicModule, i1.TranslateModule] });
12
- LoggingServiceModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: LoggingServiceModule, imports: [CommonModule,
13
- IonicModule,
14
- TranslateModule.forChild()] });
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: LoggingServiceModule, decorators: [{
16
- type: NgModule,
17
- args: [{
18
- imports: [
19
- CommonModule,
20
- IonicModule,
21
- TranslateModule.forChild(),
22
- // Testing sub-modules
23
- ],
24
- declarations: [],
25
- exports: [
26
- // Testing sub-modules
27
- ]
28
- }]
29
- }] });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2luZy1zZXJ2aWNlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL2xvZ2dpbmcvbG9nZ2luZy1zZXJ2aWNlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDOzs7QUFpQnBELE1BQU0sT0FBTyxvQkFBb0I7O2lIQUFwQixvQkFBb0I7a0hBQXBCLG9CQUFvQixZQWI3QixZQUFZO1FBQ1osV0FBVztrSEFZRixvQkFBb0IsWUFiN0IsWUFBWTtRQUNaLFdBQVc7UUFDWCxlQUFlLENBQUMsUUFBUSxFQUFFOzJGQVdqQixvQkFBb0I7a0JBZmhDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxlQUFlLENBQUMsUUFBUSxFQUFFO3dCQUUxQixzQkFBc0I7cUJBQ3ZCO29CQUNELFlBQVksRUFBRSxFQUViO29CQUNELE9BQU8sRUFBRTtvQkFDUCxzQkFBc0I7cUJBQ3ZCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7SW9uaWNNb2R1bGV9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBJb25pY01vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUuZm9yQ2hpbGQoKSxcblxuICAgIC8vIFRlc3Rpbmcgc3ViLW1vZHVsZXNcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG5cbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIC8vIFRlc3Rpbmcgc3ViLW1vZHVsZXNcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBMb2dnaW5nU2VydmljZU1vZHVsZSB7XG59XG4iXX0=