@sumaris-net/ngx-components 2.6.4 → 2.6.6-rc1

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 (232) hide show
  1. package/doc/changelog.md +6 -0
  2. package/esm2020/public_api.mjs +12 -2
  3. package/esm2020/src/app/admin/services/filter/person.filter.mjs +1 -1
  4. package/esm2020/src/app/admin/services/person.service.mjs +9 -1
  5. package/esm2020/src/app/admin/users/users.mjs +73 -67
  6. package/esm2020/src/app/core/account/account.page.mjs +1 -1
  7. package/esm2020/src/app/core/form/buttons/form-buttons-bar.component.mjs +44 -8
  8. package/esm2020/src/app/core/form/entity/editor.class.mjs +7 -7
  9. package/esm2020/src/app/core/form/entity/entity-editor-modal.class.mjs +4 -3
  10. package/esm2020/src/app/core/form/entity/entity-editor.class.mjs +6 -3
  11. package/esm2020/src/app/core/form/form.class.mjs +7 -2
  12. package/esm2020/src/app/core/form/form.utils.mjs +4 -1
  13. package/esm2020/src/app/core/form/properties/properties.table.mjs +1 -1
  14. package/esm2020/src/app/core/form/properties/testing/properties-form.test.mjs +2 -2
  15. package/esm2020/src/app/core/form/text-popover/text-popover.component.mjs +2 -2
  16. package/esm2020/src/app/core/graphql/graphql.service.mjs +6 -2
  17. package/esm2020/src/app/core/graphql/graphql.utils.mjs +1 -1
  18. package/esm2020/src/app/core/home/home.mjs +12 -10
  19. package/esm2020/src/app/core/install/install-upgrade-card.component.mjs +3 -2
  20. package/esm2020/src/app/core/menu/menu.component.mjs +80 -171
  21. package/esm2020/src/app/core/menu/menu.model.mjs +219 -7
  22. package/esm2020/src/app/core/menu/menu.module.mjs +27 -14
  23. package/esm2020/src/app/core/menu/menu.service.mjs +610 -11
  24. package/esm2020/src/app/core/menu/sub-menu-tab.directive.mjs +98 -0
  25. package/esm2020/src/app/core/menu/testing/menu-other.testing.mjs +48 -0
  26. package/esm2020/src/app/core/menu/testing/menu.testing.mjs +121 -0
  27. package/esm2020/src/app/core/menu/testing/menu.testing.module.mjs +79 -0
  28. package/esm2020/src/app/core/peer/select-peer.modal.mjs +3 -2
  29. package/esm2020/src/app/core/register/register-confirm.page.mjs +3 -3
  30. package/esm2020/src/app/core/register/register.form.mjs +21 -19
  31. package/esm2020/src/app/core/services/account.service.mjs +9 -15
  32. package/esm2020/src/app/core/services/base-entity-service.class.mjs +1 -1
  33. package/esm2020/src/app/core/services/base-graphql-service.class.mjs +2 -4
  34. package/esm2020/src/app/core/services/config.service.mjs +23 -22
  35. package/esm2020/src/app/core/services/crypto.service.mjs +14 -21
  36. package/esm2020/src/app/core/services/local-settings.service.mjs +12 -1
  37. package/esm2020/src/app/core/services/model/account.model.mjs +27 -2
  38. package/esm2020/src/app/core/services/model/config.model.mjs +1 -1
  39. package/esm2020/src/app/core/services/model/department.model.mjs +1 -1
  40. package/esm2020/src/app/core/services/model/entity.decorators.mjs +1 -1
  41. package/esm2020/src/app/core/services/model/entity.model.mjs +20 -35
  42. package/esm2020/src/app/core/services/model/filter.model.mjs +3 -1
  43. package/esm2020/src/app/core/services/model/peer.model.mjs +1 -1
  44. package/esm2020/src/app/core/services/model/person.model.mjs +5 -1
  45. package/esm2020/src/app/core/services/model/referential.model.mjs +3 -3
  46. package/esm2020/src/app/core/services/model/token.model.mjs +1 -1
  47. package/esm2020/src/app/core/services/model/tree-item-entity.model.mjs +199 -0
  48. package/esm2020/src/app/core/services/network.service.mjs +12 -8
  49. package/esm2020/src/app/core/services/network.utils.mjs +1 -1
  50. package/esm2020/src/app/core/services/platform.service.mjs +15 -16
  51. package/esm2020/src/app/core/services/storage/entities-storage.service.mjs +10 -10
  52. package/esm2020/src/app/core/services/testing/referential-filter.model.mjs +1 -1
  53. package/esm2020/src/app/core/services/validator/local-settings.validator.mjs +3 -3
  54. package/esm2020/src/app/core/settings/settings.page.mjs +2 -2
  55. package/esm2020/src/app/core/table/async-table.class.mjs +4 -3
  56. package/esm2020/src/app/core/table/entities-async-table-datasource.class.mjs +1 -1
  57. package/esm2020/src/app/core/table/entities-table-datasource.class.mjs +1 -1
  58. package/esm2020/src/app/core/table/table-select-columns.component.mjs +1 -1
  59. package/esm2020/src/app/core/table/table.class.mjs +19 -14
  60. package/esm2020/src/app/core/table/table.utils.mjs +6 -3
  61. package/esm2020/src/app/core/table/testing/table.testing.mjs +3 -2
  62. package/esm2020/src/app/shared/audio/audio.mjs +5 -5
  63. package/esm2020/src/app/shared/capacitor/plugins.mjs +1 -1
  64. package/esm2020/src/app/shared/dates.mjs +3 -1
  65. package/esm2020/src/app/shared/debug/debug.component.mjs +1 -1
  66. package/esm2020/src/app/shared/directives/autofocus.directive.mjs +5 -4
  67. package/esm2020/src/app/shared/directives/drag-and-drop.directive.mjs +1 -1
  68. package/esm2020/src/app/shared/directives/ng-var.directive.mjs +1 -1
  69. package/esm2020/src/app/shared/directives/resizable/resizable.directive.mjs +1 -1
  70. package/esm2020/src/app/shared/events.mjs +2 -1
  71. package/esm2020/src/app/shared/file/csv.utils.mjs +12 -14
  72. package/esm2020/src/app/shared/file/file.utils.mjs +2 -2
  73. package/esm2020/src/app/shared/file/images.utils.mjs +2 -2
  74. package/esm2020/src/app/shared/file/json.utils.mjs +3 -3
  75. package/esm2020/src/app/shared/file/uri.utils.mjs +2 -1
  76. package/esm2020/src/app/shared/form/field.component.mjs +28 -3
  77. package/esm2020/src/app/shared/forms.mjs +48 -30
  78. package/esm2020/src/app/shared/functions.mjs +7 -2
  79. package/esm2020/src/app/shared/geolocation/geolocation.utils.mjs +1 -1
  80. package/esm2020/src/app/shared/help/help.modal.mjs +1 -1
  81. package/esm2020/src/app/shared/image/gallery/image-gallery.component.mjs +9 -6
  82. package/esm2020/src/app/shared/image/gallery/testing/gallegry.model.testing.mjs +1 -1
  83. package/esm2020/src/app/shared/image/gallery/testing/gallery.service.testing.mjs +1 -1
  84. package/esm2020/src/app/shared/image/gallery/testing/gallery.testing.mjs +2 -2
  85. package/esm2020/src/app/shared/image/gallery/testing/gallery.testing.module.mjs +1 -1
  86. package/esm2020/src/app/shared/interceptors/progess.interceptor.mjs +1 -1
  87. package/esm2020/src/app/shared/logging/logger.model.mjs +1 -1
  88. package/esm2020/src/app/shared/logging/logging-service.class.mjs +2 -2
  89. package/esm2020/src/app/shared/logging/logging-service.config.mjs +1 -1
  90. package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.mjs +10 -10
  91. package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.utils.mjs +4 -6
  92. package/esm2020/src/app/shared/material/autocomplete/testing/autocomplete.test.mjs +1 -1
  93. package/esm2020/src/app/shared/material/badge/badge.directive.mjs +8 -3
  94. package/esm2020/src/app/shared/material/badge/badge.test.mjs +2 -2
  95. package/esm2020/src/app/shared/material/chips/material.chips.mjs +9 -10
  96. package/esm2020/src/app/shared/material/chips/testing/chips.test.mjs +3 -3
  97. package/esm2020/src/app/shared/material/datetime/material.date.mjs +2 -2
  98. package/esm2020/src/app/shared/material/datetime/material.dateshort.mjs +3 -3
  99. package/esm2020/src/app/shared/material/datetime/material.datetime.mjs +3 -3
  100. package/esm2020/src/app/shared/material/datetime/testing/mat-date-time.test.mjs +1 -1
  101. package/esm2020/src/app/shared/material/datetime/testing/mat-date.test.mjs +1 -1
  102. package/esm2020/src/app/shared/material/datetime/testing/mat-dateshort.test.mjs +1 -1
  103. package/esm2020/src/app/shared/material/duration/material.duration.mjs +3 -3
  104. package/esm2020/src/app/shared/material/latlong/material.latlong.mjs +5 -4
  105. package/esm2020/src/app/shared/material/latlong/testing/latlong.test.mjs +1 -1
  106. package/esm2020/src/app/shared/material/material.animations.mjs +41 -2
  107. package/esm2020/src/app/shared/material/material.testing.module.mjs +2 -2
  108. package/esm2020/src/app/shared/material/numpad/testing/numpad.test.mjs +1 -1
  109. package/esm2020/src/app/shared/material/swipe/testing/swipe.test.mjs +1 -1
  110. package/esm2020/src/app/shared/modules.mjs +2 -1
  111. package/esm2020/src/app/shared/named-filter/named-filter.model.mjs +1 -1
  112. package/esm2020/src/app/shared/observables.mjs +3 -2
  113. package/esm2020/src/app/shared/pipes/colors.pipe.mjs +3 -1
  114. package/esm2020/src/app/shared/pipes/date-format.pipe.mjs +1 -1
  115. package/esm2020/src/app/shared/pipes/form.pipes.mjs +1 -1
  116. package/esm2020/src/app/shared/pipes/property.pipes.mjs +1 -1
  117. package/esm2020/src/app/shared/pipes/translate-context.pipe.mjs +1 -1
  118. package/esm2020/src/app/shared/platforms.mjs +1 -1
  119. package/esm2020/src/app/shared/services/memory-entity-service.class.mjs +3 -1
  120. package/esm2020/src/app/shared/services/startable-observable-service.class.mjs +5 -6
  121. package/esm2020/src/app/shared/services/startable-service.class.mjs +1 -1
  122. package/esm2020/src/app/shared/services/translate-context.service.mjs +11 -13
  123. package/esm2020/src/app/shared/services/validator-service.class.mjs +1 -1
  124. package/esm2020/src/app/shared/shared-routing.module.mjs +2 -1
  125. package/esm2020/src/app/shared/shared.testing.module.mjs +16 -8
  126. package/esm2020/src/app/shared/storage/storage-explorer.component.mjs +3 -3
  127. package/esm2020/src/app/shared/storage/storage-explorer.module.mjs +5 -18
  128. package/esm2020/src/app/shared/storage/storage-explorer.testing-routing.module.mjs +35 -0
  129. package/esm2020/src/app/shared/storage/storage-explorer.testing.module.mjs +33 -0
  130. package/esm2020/src/app/shared/storage/storage.service.mjs +3 -3
  131. package/esm2020/src/app/shared/storage/storage.utils.mjs +1 -1
  132. package/esm2020/src/app/shared/testing/observable.test.mjs +2 -2
  133. package/esm2020/src/app/shared/testing/tests.page.mjs +1 -1
  134. package/esm2020/src/app/shared/toast/toast.testing.mjs +1 -1
  135. package/esm2020/src/app/shared/toast/toasts.mjs +2 -2
  136. package/esm2020/src/app/shared/toolbar/toolbar.mjs +1 -1
  137. package/esm2020/src/app/shared/upload-file/testing/upload-file.testing.mjs +2 -1
  138. package/esm2020/src/app/shared/upload-file/upload-file.component.mjs +1 -1
  139. package/esm2020/src/app/shared/validator/form-error-adapter.class.mjs +5 -5
  140. package/esm2020/src/app/shared/validator/validators.mjs +10 -3
  141. package/esm2020/src/app/shared/version/versions.mjs +2 -2
  142. package/esm2020/src/app/social/job/progression/job-progression.icon.mjs +2 -2
  143. package/esm2020/src/app/social/job/progression/job-progression.model.mjs +1 -1
  144. package/esm2020/src/app/social/job/progression/job-progression.service.mjs +1 -1
  145. package/esm2020/src/app/social/job/testing/job-progression.testing.mjs +1 -1
  146. package/esm2020/src/app/social/job/testing/job-progression.testing.service.mjs +3 -3
  147. package/esm2020/src/app/social/message/message.form.mjs +11 -8
  148. package/esm2020/src/app/social/message/message.modal.mjs +1 -1
  149. package/esm2020/src/app/social/message/message.model.mjs +1 -1
  150. package/esm2020/src/app/social/message/message.service.mjs +2 -2
  151. package/esm2020/src/app/social/social.module.mjs +2 -2
  152. package/esm2020/src/app/social/user-event/testing/user-event.testing.mjs +5 -5
  153. package/esm2020/src/app/social/user-event/testing/user-event.testing.model.mjs +1 -1
  154. package/esm2020/src/app/social/user-event/testing/user-event.testing.service.mjs +1 -1
  155. package/esm2020/src/app/social/user-event/user-event.model.mjs +1 -1
  156. package/esm2020/src/app/social/user-event/user-event.service.mjs +4 -3
  157. package/fesm2015/sumaris-net.ngx-components.mjs +2758 -1263
  158. package/fesm2015/sumaris-net.ngx-components.mjs.map +1 -1
  159. package/fesm2020/sumaris-net.ngx-components.mjs +2687 -1223
  160. package/fesm2020/sumaris-net.ngx-components.mjs.map +1 -1
  161. package/package.json +8 -9
  162. package/public_api.d.ts +11 -1
  163. package/src/app/admin/services/person.service.d.ts +5 -0
  164. package/src/app/admin/users/users.d.ts +4 -2
  165. package/src/app/core/form/buttons/form-buttons-bar.component.d.ts +14 -2
  166. package/src/app/core/form/entity/entity-editor-modal.class.d.ts +1 -0
  167. package/src/app/core/form/form.class.d.ts +2 -0
  168. package/src/app/core/form/form.utils.d.ts +4 -1
  169. package/src/app/core/form/text-popover/text-popover.component.d.ts +2 -1
  170. package/src/app/core/graphql/graphql.service.d.ts +5 -4
  171. package/src/app/core/graphql/graphql.utils.d.ts +2 -2
  172. package/src/app/core/home/home.d.ts +11 -10
  173. package/src/app/core/install/install-upgrade-card.component.d.ts +3 -2
  174. package/src/app/core/menu/menu.component.d.ts +29 -26
  175. package/src/app/core/menu/menu.model.d.ts +123 -6
  176. package/src/app/core/menu/menu.module.d.ts +8 -4
  177. package/src/app/core/menu/menu.service.d.ts +76 -5
  178. package/src/app/core/menu/sub-menu-tab.directive.d.ts +29 -0
  179. package/src/app/core/menu/testing/menu-other.testing.d.ts +15 -0
  180. package/src/app/core/menu/testing/menu.testing.d.ts +43 -0
  181. package/src/app/core/menu/testing/menu.testing.module.d.ts +12 -0
  182. package/src/app/core/peer/select-peer.modal.d.ts +4 -3
  183. package/src/app/core/register/register.form.d.ts +3 -2
  184. package/src/app/core/services/account.service.d.ts +4 -3
  185. package/src/app/core/services/config.service.d.ts +5 -3
  186. package/src/app/core/services/crypto.service.d.ts +7 -7
  187. package/src/app/core/services/local-settings.service.d.ts +1 -0
  188. package/src/app/core/services/model/account.model.d.ts +7 -1
  189. package/src/app/core/services/model/entity.model.d.ts +5 -8
  190. package/src/app/core/services/model/filter.model.d.ts +2 -0
  191. package/src/app/core/services/model/person.model.d.ts +1 -0
  192. package/src/app/core/services/model/tree-item-entity.model.d.ts +53 -0
  193. package/src/app/core/services/network.service.d.ts +4 -3
  194. package/src/app/core/services/platform.service.d.ts +4 -5
  195. package/src/app/core/services/storage/entities-storage.service.d.ts +3 -3
  196. package/src/app/core/settings/settings.page.d.ts +5 -5
  197. package/src/app/core/table/async-table.class.d.ts +1 -0
  198. package/src/app/core/table/table.class.d.ts +5 -1
  199. package/src/app/core/table/testing/table.testing.d.ts +1 -0
  200. package/src/app/shared/dates.d.ts +2 -0
  201. package/src/app/shared/events.d.ts +1 -0
  202. package/src/app/shared/file/uri.utils.d.ts +1 -0
  203. package/src/app/shared/form/field.component.d.ts +1 -0
  204. package/src/app/shared/forms.d.ts +4 -1
  205. package/src/app/shared/functions.d.ts +1 -0
  206. package/src/app/shared/material/autocomplete/material.autocomplete.d.ts +1 -0
  207. package/src/app/shared/material/badge/badge.directive.d.ts +1 -1
  208. package/src/app/shared/material/datetime/material.dateshort.d.ts +1 -1
  209. package/src/app/shared/material/latlong/material.latlong.d.ts +1 -0
  210. package/src/app/shared/material/material.animations.d.ts +2 -0
  211. package/src/app/shared/modules.d.ts +1 -0
  212. package/src/app/shared/observables.d.ts +1 -0
  213. package/src/app/shared/pipes/translate-context.pipe.d.ts +1 -1
  214. package/src/app/shared/services/memory-entity-service.class.d.ts +2 -0
  215. package/src/app/shared/services/startable-observable-service.class.d.ts +1 -1
  216. package/src/app/shared/services/translate-context.service.d.ts +2 -2
  217. package/src/app/shared/services/validator-service.class.d.ts +1 -0
  218. package/src/app/shared/shared-routing.module.d.ts +1 -0
  219. package/src/app/shared/shared.testing.module.d.ts +3 -2
  220. package/src/app/shared/storage/storage-explorer.component.d.ts +2 -2
  221. package/src/app/shared/storage/storage-explorer.module.d.ts +5 -8
  222. package/src/app/shared/storage/storage-explorer.testing-routing.module.d.ts +9 -0
  223. package/src/app/shared/storage/storage-explorer.testing.module.d.ts +10 -0
  224. package/src/app/shared/storage/storage.service.d.ts +0 -1
  225. package/src/app/shared/upload-file/testing/upload-file.testing.d.ts +1 -0
  226. package/src/app/shared/validator/validators.d.ts +4 -0
  227. package/src/app/social/user-event/user-event.model.d.ts +1 -2
  228. package/src/assets/i18n/en-US.json +1 -0
  229. package/src/assets/i18n/en.json +1 -0
  230. package/src/assets/i18n/fr.json +10 -1
  231. package/src/assets/manifest.json +1 -1
  232. package/src/theme/_ngx-components.scss +2 -1
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sumaris-net/ngx-components",
3
3
  "description": "SUMARiS Angular components",
4
- "version": "2.6.4",
4
+ "version": "2.6.6-rc1",
5
5
  "author": "contact@e-is.pro",
6
6
  "license": "AGPL-3.0",
7
7
  "readmeFilename": "README.md",
@@ -9,18 +9,17 @@
9
9
  "access": "public"
10
10
  },
11
11
  "dependencies": {
12
- "@noble/ed25519": "^1.7.1",
13
- "@rx-angular/cdk": "^14.0.0",
14
- "@rx-angular/state": "^14.0.0",
15
- "@rx-angular/template": "^14.0.0",
12
+ "@noble/ed25519": "^1.7.3",
16
13
  "clone": "~2.1.2",
17
- "tslib": "~2.3.1"
14
+ "tslib": "~2.6.2",
15
+ "@polkadot/util": "~12.5.1",
16
+ "@polkadot/util-crypto": "~12.5.1"
18
17
  },
19
18
  "peerDependencies": {
20
- "@angular-devkit/build-angular": "~14.2.12",
19
+ "@angular-devkit/build-angular": "~14.2.13",
21
20
  "@angular/compiler-cli": "~14.3.0",
22
- "@apollo/client": "~3.7.16",
23
- "@ionic/storage": "~3.0.6",
21
+ "@apollo/client": "~3.8.5",
22
+ "@ionic/storage": "~4.0.0",
24
23
  "d3": "~7.6.1",
25
24
  "localforage": "~1.10.0",
26
25
  "rxjs": "^7.5.7"
package/public_api.d.ts CHANGED
@@ -95,6 +95,8 @@ export * from './src/app/shared/services/translate-context.service';
95
95
  export * from './src/app/shared/services/job.utils';
96
96
  export * from './src/app/shared/storage/storage.service';
97
97
  export * from './src/app/shared/storage/storage.utils';
98
+ export * from './src/app/shared/storage/storage-explorer.component';
99
+ export * from './src/app/shared/storage/storage-explorer.module';
98
100
  export * from './src/app/shared/validator/form-error-adapter.class';
99
101
  export * from './src/app/shared/debug/debug-service.class';
100
102
  export * from './src/app/shared/types';
@@ -134,6 +136,7 @@ export * from './src/app/core/services/model/token.model';
134
136
  export * from './src/app/core/services/model/config.model';
135
137
  export * from './src/app/core/services/model/department.model';
136
138
  export * from './src/app/core/services/model/entity.model';
139
+ export * from './src/app/core/services/model/tree-item-entity.model';
137
140
  export * from './src/app/core/services/model/filter.model';
138
141
  export * from './src/app/core/services/model/history.model';
139
142
  export * from './src/app/core/services/model/model.enum';
@@ -196,6 +199,7 @@ export * from './src/app/core/home/home';
196
199
  export * from './src/app/core/home/home.module';
197
200
  export * from './src/app/core/settings/settings.page';
198
201
  export * from './src/app/core/settings/settings.module';
202
+ export * from './src/app/core/account/account.page';
199
203
  export * from './src/app/core/account/account.module';
200
204
  export * from './src/app/core/account/account.page';
201
205
  export * from './src/app/core/account/token.table';
@@ -217,6 +221,7 @@ export * from './src/app/core/menu/menu.component';
217
221
  export * from './src/app/core/menu/menu.model';
218
222
  export * from './src/app/core/menu/menu.module';
219
223
  export * from './src/app/core/menu/menu.service';
224
+ export * from './src/app/core/menu/sub-menu-tab.directive';
220
225
  export * from './src/app/core/offline/update-offline-mode-card.component';
221
226
  export * from './src/app/core/offline/update-offline-mode-card.module';
222
227
  export { EntityClass, EntityClasses } from './src/app/core/services/model/entity.decorators';
@@ -264,8 +269,13 @@ export * from './src/app/shared/toast/toast.testing.module';
264
269
  export * from './src/app/shared/image/gallery/testing/gallery.service.testing';
265
270
  export * from './src/app/shared/image/gallery/testing/gallery.testing';
266
271
  export * from './src/app/shared/image/gallery/testing/gallery.testing.module';
272
+ export * from './src/app/shared/storage/storage-explorer.testing.module';
273
+ export * from './src/app/shared/storage/storage-explorer.testing-routing.module';
267
274
  export * from './src/app/shared/audio/audio.testing';
268
275
  export * from './src/app/shared/audio/audio.testing.module';
276
+ export * from './src/app/core/menu/testing/menu.testing';
277
+ export * from './src/app/core/menu/testing/menu.testing.module';
278
+ export * from './src/app/core/menu/testing/menu-other.testing';
269
279
  export * from './src/app/core/core.testing.module';
270
280
  export * from './src/app/core/services/testing/referential-filter.model';
271
281
  export * from './src/app/core/services/testing/referential.validator';
@@ -287,8 +297,8 @@ export * from './src/app/social/job/testing/job-progression.testing.service';
287
297
  export { MatAutocompleteConfigHolder } from './src/app/shared/material/autocomplete/material.autocomplete.config';
288
298
  export { MatAutocompleteFieldAddOptions } from './src/app/shared/material/autocomplete/material.autocomplete.config';
289
299
  export { MatAutocompleteFieldConfig } from './src/app/shared/material/autocomplete/material.autocomplete.config';
290
- export { TableValidatorService } from "./src/app/core/table/testing/table-validator.service";
291
300
  export { NamedFilterFilter } from './src/app/shared/named-filter/named-filter.model';
292
301
  export { INamedFilterFilter } from './src/app/shared/named-filter/named-filter.model';
293
302
  export { NamedFilter } from './src/app/shared/named-filter/named-filter.model';
294
303
  export { INamedFilter } from './src/app/shared/named-filter/named-filter.model';
304
+ export { TableValidatorService } from './src/app/core/table/testing/table-validator.service';
@@ -38,6 +38,11 @@ export declare class PersonService extends BaseEntityService<Person, PersonFilte
38
38
  progression?: BehaviorSubject<number>;
39
39
  maxProgression?: number;
40
40
  }): Promise<void>;
41
+ loadByPubkey(pubkey: string, opts?: {
42
+ [key: string]: any;
43
+ fetchPolicy?: FetchPolicy;
44
+ toEntity?: boolean;
45
+ }): Promise<Person>;
41
46
  protected asObject(source: Person | any): any;
42
47
  static ɵfac: i0.ɵɵFactoryDeclaration<PersonService, never>;
43
48
  static ɵprov: i0.ɵɵInjectableDeclaration<PersonService>;
@@ -10,6 +10,7 @@ import { PersonFilter } from '../services/filter/person.filter';
10
10
  import { ConfigService } from '../../core/services/config.service';
11
11
  import { MatExpansionPanel } from '@angular/material/expansion';
12
12
  import { MessageService } from '../../social/message/message.service';
13
+ import { MenuService } from '../../core/menu/menu.service';
13
14
  import * as i0 from "@angular/core";
14
15
  export declare class UsersPage extends AppTable<Person, PersonFilter> implements OnInit {
15
16
  protected accountService: AccountService;
@@ -17,6 +18,7 @@ export declare class UsersPage extends AppTable<Person, PersonFilter> implements
17
18
  protected configService: ConfigService;
18
19
  protected dataService: PersonService;
19
20
  protected messageService: MessageService;
21
+ protected menuService: MenuService;
20
22
  protected cd: ChangeDetectorRef;
21
23
  readonly canEdit: boolean;
22
24
  readonly canSendMessage: boolean;
@@ -29,10 +31,10 @@ export declare class UsersPage extends AppTable<Person, PersonFilter> implements
29
31
  set showUsernameColumn(value: boolean);
30
32
  set showUsernameExtranetColumn(value: boolean);
31
33
  useSticky: boolean;
32
- constructor(injector: Injector, formBuilder: UntypedFormBuilder, accountService: AccountService, validatorService: ValidatorService, configService: ConfigService, dataService: PersonService, messageService: MessageService, cd: ChangeDetectorRef, environment: any);
34
+ constructor(injector: Injector, formBuilder: UntypedFormBuilder, accountService: AccountService, validatorService: ValidatorService, configService: ConfigService, dataService: PersonService, messageService: MessageService, menuService: MenuService, cd: ChangeDetectorRef, environment: any);
33
35
  filterExpansionPanel: MatExpansionPanel;
34
36
  get firstUserColumn(): string;
35
- ngOnInit(): void;
37
+ ngOnInit(): Promise<void>;
36
38
  applyFilterAndClosePanel(event?: Event): void;
37
39
  resetFilter(event?: Event): void;
38
40
  protected restoreFilterOrLoad(): Promise<void>;
@@ -1,6 +1,7 @@
1
1
  import { EventEmitter, OnDestroy } from '@angular/core';
2
2
  import { Hotkeys } from '../../../shared/hotkeys/hotkeys.service';
3
3
  import { MenuService } from '../../menu/menu.service';
4
+ import { PredefinedColors } from '@ionic/core';
4
5
  import * as i0 from "@angular/core";
5
6
  export declare abstract class FormButtonsBarToken {
6
7
  abstract onCancel: EventEmitter<Event>;
@@ -9,18 +10,29 @@ export declare abstract class FormButtonsBarToken {
9
10
  abstract onBack: EventEmitter<Event>;
10
11
  }
11
12
  export declare class FormButtonsBarComponent implements FormButtonsBarToken, OnDestroy {
12
- private hotkeys;
13
13
  menu: MenuService;
14
14
  private _subscription;
15
15
  disabled: boolean;
16
16
  disabledCancel: boolean;
17
17
  classList: string;
18
+ saveButtonColor: PredefinedColors;
19
+ backText: string;
20
+ cancelText: string;
21
+ nextText: string;
22
+ showBack: boolean;
23
+ showCancel: boolean;
24
+ showNext: boolean;
25
+ showSave: boolean;
26
+ showSaveAndClose: boolean;
27
+ showSaveAndNext: boolean;
18
28
  onCancel: EventEmitter<Event>;
19
29
  onSave: EventEmitter<Event>;
20
30
  onNext: EventEmitter<Event>;
21
31
  onBack: EventEmitter<Event>;
32
+ onSaveAndClose: EventEmitter<Event>;
33
+ onSaveAndNext: EventEmitter<Event>;
22
34
  constructor(hotkeys: Hotkeys, menu: MenuService);
23
35
  ngOnDestroy(): void;
24
36
  static ɵfac: i0.ɵɵFactoryDeclaration<FormButtonsBarComponent, never>;
25
- static ɵcmp: i0.ɵɵComponentDeclaration<FormButtonsBarComponent, "app-form-buttons-bar", never, { "disabled": "disabled"; "disabledCancel": "disabledCancel"; "classList": "classList"; }, { "onCancel": "onCancel"; "onSave": "onSave"; "onNext": "onNext"; "onBack": "onBack"; }, never, ["*", "[slot=end]"], false>;
37
+ static ɵcmp: i0.ɵɵComponentDeclaration<FormButtonsBarComponent, "app-form-buttons-bar", never, { "disabled": "disabled"; "disabledCancel": "disabledCancel"; "classList": "classList"; "saveButtonColor": "saveButtonColor"; "backText": "backText"; "cancelText": "cancelText"; "nextText": "nextText"; "showBack": "showBack"; "showCancel": "showCancel"; "showNext": "showNext"; "showSave": "showSave"; "showSaveAndClose": "showSaveAndClose"; "showSaveAndNext": "showSaveAndNext"; }, { "onCancel": "onCancel"; "onSave": "onSave"; "onNext": "onNext"; "onBack": "onBack"; "onSaveAndClose": "onSaveAndClose"; "onSaveAndNext": "onSaveAndNext"; }, never, ["*", "[slot=end]"], false>;
26
38
  }
@@ -87,6 +87,7 @@ export declare abstract class AppEntityEditorModal<T extends Entity<T, ID>, ID =
87
87
  /**
88
88
  * Save the editor, by calling the dataService.save().
89
89
  * Ensure that editor if valid. If not, display an error
90
+ *
90
91
  * @param event
91
92
  * @param opts
92
93
  */
@@ -127,11 +127,13 @@ export declare class AppForm<T> implements IAppForm, OnInit, OnDestroy, IFormCon
127
127
  }): void;
128
128
  /**
129
129
  * Wait form is ready
130
+ *
130
131
  * @param opts
131
132
  */
132
133
  ready(opts?: WaitForOptions): Promise<void>;
133
134
  /**
134
135
  * Wait form is not busy (=loaded)
136
+ *
135
137
  * @param opts
136
138
  */
137
139
  waitIdle(opts?: WaitForOptions): Promise<void>;
@@ -212,6 +212,7 @@ export declare class FormArrayHelper<T = Entity<any>, C extends AbstractControl
212
212
  at(index: number): C;
213
213
  /**
214
214
  * Resize the FormArray, then set values
215
+ *
215
216
  * @param values
216
217
  * @param options
217
218
  */
@@ -221,6 +222,7 @@ export declare class FormArrayHelper<T = Entity<any>, C extends AbstractControl
221
222
  }): void;
222
223
  /**
223
224
  * Resize the FormArray, then patch values
225
+ *
224
226
  * @param values
225
227
  * @param options
226
228
  */
@@ -244,7 +246,7 @@ export declare interface AppFormArrayOptions extends AbstractControlOptions {
244
246
  allowReuseControls?: boolean;
245
247
  }
246
248
  export declare class AppFormArray<T extends Entity<T>, C extends AbstractControl> extends UntypedFormArray {
247
- private createControl;
249
+ createControl: (value?: T) => C;
248
250
  private equals;
249
251
  private isEmpty;
250
252
  private options?;
@@ -253,6 +255,7 @@ export declare class AppFormArray<T extends Entity<T>, C extends AbstractControl
253
255
  constructor(createControl: (value?: T) => C, equals: (v1: T, v2: T) => boolean, isEmpty: (value: T) => boolean, options?: AppFormArrayOptions | undefined | null);
254
256
  /**
255
257
  * WIll rebuild the array, using the given values
258
+ *
256
259
  * @param values
257
260
  * @param options
258
261
  */
@@ -19,6 +19,7 @@ export interface TextPopoverOptions {
19
19
  showHeader?: boolean;
20
20
  headerColor?: Color;
21
21
  headerButtons?: TextPopoverButton[];
22
+ showFooter?: boolean;
22
23
  }
23
24
  export interface TextPopoverButton {
24
25
  text?: string;
@@ -33,7 +34,7 @@ export interface TextPopoverButton {
33
34
  export declare class TextPopover implements OnInit, AfterViewInit, OnDestroy, TextPopoverOptions {
34
35
  protected popoverController: PopoverController;
35
36
  protected translate: TranslateService;
36
- static show(ctrl: PopoverController, event: Event, opts: TextPopoverOptions, popoverOpts?: PopoverOptions): Promise<OverlayEventDetail>;
37
+ static show(ctrl: PopoverController, event: Event, opts: TextPopoverOptions, popoverOpts?: Partial<PopoverOptions>): Promise<OverlayEventDetail>;
37
38
  form: TextForm;
38
39
  showHeader: boolean;
39
40
  headerColor: Color;
@@ -11,6 +11,7 @@ import { Resolvers } from '@apollo/client/core/types';
11
11
  import { HttpLink } from 'apollo-angular/http';
12
12
  import { ErrorPolicy, MutationBaseOptions } from '@apollo/client/core/watchQueryOptions';
13
13
  import { Cache } from '@apollo/client/cache/core/types/Cache';
14
+ import { Environment } from '../../../environments/environment.class';
14
15
  import { CryptoService } from '../services/crypto.service';
15
16
  import { PropertiesMap } from '../../shared/types';
16
17
  import { StartableService } from '../../shared/services/startable-service.class';
@@ -39,10 +40,10 @@ export interface MutateQueryOptions<T, V = OperationVariables> extends MutationB
39
40
  }
40
41
  export declare const APP_GRAPHQL_TYPE_POLICIES: InjectionToken<TypePolicies>;
41
42
  export declare const APP_GRAPHQL_FRAGMENTS: InjectionToken<DocumentNode[]>;
42
- export declare type ConnectionParams = {
43
+ export interface ConnectionParams extends Record<string, string> {
43
44
  authToken?: string;
44
45
  authBasic?: string;
45
- };
46
+ }
46
47
  export declare class GraphqlService extends StartableService<ApolloClient<any>> {
47
48
  private platform;
48
49
  private apollo;
@@ -50,7 +51,7 @@ export declare class GraphqlService extends StartableService<ApolloClient<any>>
50
51
  private network;
51
52
  private storage;
52
53
  private cryptoService;
53
- protected environment: any;
54
+ protected environment: Environment;
54
55
  private typePolicies;
55
56
  private fragments;
56
57
  private readonly _networkStatusChanged$;
@@ -64,7 +65,7 @@ export declare class GraphqlService extends StartableService<ApolloClient<any>>
64
65
  get client(): ApolloClient<any>;
65
66
  get cache(): ApolloCache<any>;
66
67
  get defaultFetchPolicy(): WatchQueryFetchPolicy;
67
- constructor(platform: Platform, apollo: Apollo, httpLink: HttpLink, network: NetworkService, storage: StorageService, cryptoService: CryptoService, environment: any, typePolicies: TypePolicies, fragments: DocumentNode[]);
68
+ constructor(platform: Platform, apollo: Apollo, httpLink: HttpLink, network: NetworkService, storage: StorageService, cryptoService: CryptoService, environment: Environment, typePolicies: TypePolicies, fragments: DocumentNode[]);
68
69
  setAuthToken(token: string): Promise<void>;
69
70
  setAuthBasic(basic: string): Promise<void>;
70
71
  /**
@@ -4,9 +4,9 @@ import { PersistentStorage } from 'apollo3-cache-persist';
4
4
  import { ConnectionType } from '../services/network.types';
5
5
  import { StorageService } from '../../shared/storage/storage.service';
6
6
  export declare const NativeWebSocket: any;
7
- export declare type EmptyObject = {
7
+ export interface EmptyObject {
8
8
  [key: string]: any;
9
- };
9
+ }
10
10
  /**
11
11
  * AppWebSocket class.
12
12
  * With a hack on default Websocket, to avoid the use of protocol
@@ -11,13 +11,13 @@ import { ConfigService } from '../services/config.service';
11
11
  import { PlatformService } from '../services/platform.service';
12
12
  import { LocalSettingsService } from '../services/local-settings.service';
13
13
  import { NetworkService } from '../services/network.service';
14
- import { MenuItem } from '../menu/menu.model';
14
+ import { IMenuItem } from '../menu/menu.model';
15
15
  import { ShowToastOptions } from '../../shared/toast/toasts';
16
16
  import { Environment } from '../../../environments/environment.class';
17
17
  import { HistoryPageReference } from '../services/model/history.model';
18
18
  import * as i0 from "@angular/core";
19
- export declare function getRandomImage(files: String[]): String;
20
- export declare const APP_HOME_BUTTONS: InjectionToken<MenuItem[]>;
19
+ export declare const getRandomImage: (files: string[]) => string;
20
+ export declare const APP_HOME_BUTTONS: InjectionToken<IMenuItem[]>;
21
21
  export declare class HomePage implements OnDestroy {
22
22
  private accountService;
23
23
  private modalCtrl;
@@ -30,7 +30,7 @@ export declare class HomePage implements OnDestroy {
30
30
  settings: LocalSettingsService;
31
31
  protected environment: Environment;
32
32
  locales: LocaleConfig[];
33
- buttons: MenuItem[];
33
+ buttons: IMenuItem[];
34
34
  private readonly _debug;
35
35
  private _started;
36
36
  private _subscription;
@@ -38,22 +38,23 @@ export declare class HomePage implements OnDestroy {
38
38
  loading: boolean;
39
39
  waitingNetwork: boolean;
40
40
  showSpinner: boolean;
41
- accountName: String;
41
+ accountName: string;
42
42
  isLogin: boolean;
43
43
  $partners: BehaviorSubject<Department[]>;
44
44
  loadingBanner: boolean;
45
- logo: String;
46
- description: String;
45
+ logo: string;
46
+ description: string;
47
47
  appName: string;
48
48
  isWeb: boolean;
49
49
  canRegister: boolean;
50
50
  contentStyle: any;
51
+ contentCredits: string;
51
52
  pageHistory: HistoryPageReference[];
52
53
  offline: boolean;
53
- $filteredButtons: BehaviorSubject<MenuItem[]>;
54
+ $filteredButtons: BehaviorSubject<IMenuItem[]>;
54
55
  readonly showAccountButton: boolean;
55
56
  get currentLocaleCode(): string;
56
- constructor(accountService: AccountService, modalCtrl: ModalController, translate: TranslateService, toastController: ToastController, configService: ConfigService, platform: PlatformService, cd: ChangeDetectorRef, network: NetworkService, settings: LocalSettingsService, environment: Environment, locales: LocaleConfig[], buttons: MenuItem[]);
57
+ constructor(accountService: AccountService, modalCtrl: ModalController, translate: TranslateService, toastController: ToastController, configService: ConfigService, platform: PlatformService, cd: ChangeDetectorRef, network: NetworkService, settings: LocalSettingsService, environment: Environment, locales: LocaleConfig[], buttons: IMenuItem[]);
57
58
  ngOnDestroy(): void;
58
59
  login(): Promise<void>;
59
60
  register(): Promise<void>;
@@ -67,7 +68,7 @@ export declare class HomePage implements OnDestroy {
67
68
  protected onSettingsChanged(settings: LocalSettings): void;
68
69
  protected onLogin(account: Account): void;
69
70
  protected onLogout(): void;
70
- protected refreshButtons(): void;
71
+ protected refreshButtons(account?: Account): void;
71
72
  protected markForCheck(): void;
72
73
  static ɵfac: i0.ɵɵFactoryDeclaration<HomePage, [null, null, null, null, null, null, null, null, null, null, null, { optional: true; }]>;
73
74
  static ɵcmp: i0.ɵɵComponentDeclaration<HomePage, "app-page-home", never, {}, {}, never, never, false>;
@@ -3,6 +3,7 @@ import { AlertController, ModalController, ToastController } from '@ionic/angula
3
3
  import { ConfigService } from '../services/config.service';
4
4
  import { PlatformService } from '../services/platform.service';
5
5
  import { NetworkService } from '../services/network.service';
6
+ import { Environment } from '../../../environments/environment.class';
6
7
  import { TranslateService } from '@ngx-translate/core';
7
8
  import * as i0 from "@angular/core";
8
9
  export declare interface InstallAppLink {
@@ -26,7 +27,7 @@ export declare class AppInstallUpgradeCard implements OnInit, OnDestroy {
26
27
  private cd;
27
28
  platform: PlatformService;
28
29
  network: NetworkService;
29
- protected environment: any;
30
+ protected environment: Environment;
30
31
  private _subscription;
31
32
  loading: boolean;
32
33
  hasDownloader: boolean;
@@ -40,7 +41,7 @@ export declare class AppInstallUpgradeCard implements OnInit, OnDestroy {
40
41
  showUpgradeWarning: boolean;
41
42
  showOfflineWarning: boolean;
42
43
  showInstallButton: boolean;
43
- constructor(modalCtrl: ModalController, configService: ConfigService, toastController: ToastController, alertController: AlertController, translate: TranslateService, cd: ChangeDetectorRef, platform: PlatformService, network: NetworkService, environment: any);
44
+ constructor(modalCtrl: ModalController, configService: ConfigService, toastController: ToastController, alertController: AlertController, translate: TranslateService, cd: ChangeDetectorRef, platform: PlatformService, network: NetworkService, environment: Environment);
44
45
  ngOnInit(): void;
45
46
  ngOnDestroy(): void;
46
47
  download(event: Event, link: InstallAppLink): Promise<void>;
@@ -1,16 +1,15 @@
1
- import { ChangeDetectorRef, InjectionToken, OnInit } from '@angular/core';
1
+ import { ChangeDetectorRef, OnInit } from '@angular/core';
2
2
  import { AlertController, IonSplitPane, MenuController, ModalController, NavController } from '@ionic/angular';
3
3
  import { Account } from '../services/model/account.model';
4
4
  import { AccountService } from '../services/account.service';
5
5
  import { TranslateService } from '@ngx-translate/core';
6
- import { BehaviorSubject } from 'rxjs';
7
- import { ConfigService } from '../services/config.service';
8
6
  import { PlatformService } from '../services/platform.service';
7
+ import { Environment } from '../../../environments/environment.class';
9
8
  import { MenuService, SplitPaneShowWhen } from './menu.service';
10
- import { MenuItem, MenuOptions } from './menu.model';
9
+ import { IMenuItem, MenuItem } from './menu.model';
10
+ import { ActivatedRoute, Router } from '@angular/router';
11
+ import { RxStrategyNames } from '@rx-angular/cdk/render-strategies';
11
12
  import * as i0 from "@angular/core";
12
- export declare const APP_MENU_ITEMS: InjectionToken<MenuItem[]>;
13
- export declare const APP_MENU_OPTIONS: InjectionToken<MenuOptions>;
14
13
  export declare class MenuComponent implements OnInit {
15
14
  protected platformService: PlatformService;
16
15
  protected accountService: AccountService;
@@ -19,21 +18,11 @@ export declare class MenuComponent implements OnInit {
19
18
  protected modalCtrl: ModalController;
20
19
  protected alertController: AlertController;
21
20
  protected translate: TranslateService;
22
- protected configService: ConfigService;
23
21
  protected cd: ChangeDetectorRef;
24
22
  protected menuService: MenuService;
25
- protected environment: any;
26
- protected options: MenuOptions;
27
- protected items: MenuItem[];
28
- private readonly _debug;
29
- private _subscription;
30
- private _config;
31
- loading: boolean;
32
- isLogin: boolean;
33
- accountName: string;
34
- accountAvatar: string;
35
- accountEmail: string;
36
- $items: BehaviorSubject<MenuItem[]>;
23
+ protected router: Router;
24
+ protected environment: Environment;
25
+ protected route: ActivatedRoute;
37
26
  id: string;
38
27
  menuId: string;
39
28
  side: string;
@@ -41,22 +30,36 @@ export declare class MenuComponent implements OnInit {
41
30
  logo: string;
42
31
  appName: string;
43
32
  appVersion: string;
33
+ rxStrategy: RxStrategyNames;
44
34
  splitPane: IonSplitPane;
45
- constructor(platformService: PlatformService, accountService: AccountService, navController: NavController, menu: MenuController, modalCtrl: ModalController, alertController: AlertController, translate: TranslateService, configService: ConfigService, cd: ChangeDetectorRef, menuService: MenuService, environment: any, options: MenuOptions, items: MenuItem[]);
35
+ loading: boolean;
36
+ isLogin: boolean;
37
+ accountName: string;
38
+ accountAvatar: string;
39
+ accountEmail: string;
40
+ private readonly _debug;
41
+ private _subscription;
42
+ constructor(platformService: PlatformService, accountService: AccountService, navController: NavController, menu: MenuController, modalCtrl: ModalController, alertController: AlertController, translate: TranslateService, cd: ChangeDetectorRef, menuService: MenuService, router: Router, environment: Environment, route: ActivatedRoute);
46
43
  ngOnInit(): Promise<void>;
47
44
  onLogin(account: Account): Promise<void>;
48
45
  onLogout(skipRedirect?: boolean): Promise<void>;
49
- logout(): Promise<void>;
46
+ trackByFn(index: number, item: IMenuItem): string;
50
47
  enable(value: boolean): Promise<void>;
51
48
  open(): Promise<boolean>;
52
49
  close(): Promise<boolean>;
53
- openAboutModal(event?: Event): Promise<void>;
54
50
  setSplitPaneWhen(value: SplitPaneShowWhen): Promise<void>;
55
51
  toggleSplitPaneShow(event?: Event): Promise<void>;
56
- doAction(action: string, event: Event): Promise<void>;
52
+ executeAction(event: Event, item: MenuItem): Promise<void>;
57
53
  onSwipeRight(event: any): boolean;
58
- protected refreshMenuItems(): void;
54
+ protected markAsLoaded(opts?: {
55
+ emitEvent?: boolean;
56
+ }): void;
57
+ protected markAsLoading(opts?: {
58
+ emitEvent?: boolean;
59
+ }): void;
59
60
  protected detectChanges(): void;
60
- static ɵfac: i0.ɵɵFactoryDeclaration<MenuComponent, [null, null, null, null, null, null, null, null, null, null, null, { optional: true; }, { optional: true; }]>;
61
- static ɵcmp: i0.ɵɵComponentDeclaration<MenuComponent, "app-menu", never, { "id": "id"; "menuId": "menuId"; "side": "side"; "contentId": "contentId"; "logo": "logo"; "appName": "appName"; "appVersion": "appVersion"; }, {}, never, ["*", "[headerBottomRight]"], false>;
61
+ protected markForCheck(): void;
62
+ protected togglePinned(event: Event, item: IMenuItem): void;
63
+ static ɵfac: i0.ɵɵFactoryDeclaration<MenuComponent, [null, null, null, null, null, null, null, null, null, null, null, { optional: true; }]>;
64
+ static ɵcmp: i0.ɵɵComponentDeclaration<MenuComponent, "app-menu", never, { "id": "id"; "menuId": "menuId"; "side": "side"; "contentId": "contentId"; "logo": "logo"; "appName": "appName"; "appVersion": "appVersion"; "rxStrategy": "rxStrategy"; }, {}, never, ["*", "[headerBottomRight]"], false>;
62
65
  }
@@ -1,28 +1,145 @@
1
1
  import { UserProfileLabel } from '../services/model/person.model';
2
2
  import { Configuration } from '../services/model/config.model';
3
- import { AccountService } from '../services/account.service';
4
- import { IconRef } from '../../shared/types';
5
- export interface MenuItem extends IconRef {
3
+ import { AppColors, IconRef } from '../../shared/types';
4
+ import { BehaviorSubject } from 'rxjs';
5
+ import { MenuPathParam } from './menu.service';
6
+ import { Account } from '../services/model/account.model';
7
+ import { Entity, EntityAsObjectOptions } from '../services/model/entity.model';
8
+ import { ITreeItemEntity } from '../services/model/tree-item-entity.model';
9
+ export interface IMenuItem extends IconRef {
10
+ id?: number;
11
+ parent?: IMenuItem;
12
+ children?: IMenuItem[];
6
13
  title: string;
7
14
  path?: string;
15
+ after?: string;
16
+ before?: string;
17
+ static?: boolean;
8
18
  action?: string | any;
9
19
  profile?: UserProfileLabel;
10
20
  exactProfile?: UserProfileLabel;
11
- color?: string;
21
+ color?: string | AppColors;
12
22
  cssClass?: string;
13
23
  ifProperty?: string;
14
24
  titleProperty?: string;
15
25
  titleArgs?: {
16
26
  [key: string]: string;
17
27
  };
18
- children?: MenuItem[];
28
+ pathParams?: {
29
+ [key: string]: string;
30
+ };
31
+ parentPath?: string;
32
+ parentPathParams?: {
33
+ [key: string]: string;
34
+ };
35
+ pinned?: boolean;
36
+ }
37
+ export declare class MenuItem extends Entity<MenuItem> implements IMenuItem, ITreeItemEntity<MenuItem> {
38
+ static fromObject: (source: any, opts?: {
39
+ withChildren?: boolean;
40
+ }) => MenuItem;
41
+ id: number;
42
+ parent: MenuItem;
43
+ parentId: number;
44
+ $children: BehaviorSubject<MenuItem[]>;
45
+ static: boolean;
46
+ $title: BehaviorSubject<string>;
47
+ titleProperty?: string;
48
+ titleArgs?: {
49
+ [key: string]: string;
50
+ };
51
+ path?: string;
52
+ pathParams?: {
53
+ [key: string]: string;
54
+ };
55
+ parentPath?: string;
56
+ parentPathParams?: {
57
+ [key: string]: string;
58
+ };
59
+ after?: string;
60
+ before?: string;
61
+ action?: string | any;
62
+ profile?: UserProfileLabel;
63
+ exactProfile?: UserProfileLabel;
64
+ color?: string | AppColors;
65
+ cssClass?: string;
66
+ ifProperty?: string;
67
+ pinned?: boolean;
68
+ icon?: string;
69
+ matIcon?: string;
70
+ matSvgIcon?: string;
71
+ fromObject(source: any, opts?: {
72
+ withChildren?: boolean;
73
+ }): void;
74
+ asObject(opts?: {
75
+ withChildren?: boolean;
76
+ } & EntityAsObjectOptions): any;
77
+ get children(): MenuItem[];
78
+ set children(value: MenuItem[]);
79
+ get title(): string;
80
+ set title(value: string);
81
+ get detached(): boolean;
82
+ get visible(): boolean;
83
+ get expanded(): boolean;
84
+ get ancestor(): MenuItem;
85
+ get divider(): boolean;
86
+ get pinnable(): boolean;
87
+ isPinned(): any;
19
88
  }
20
89
  export declare class MenuItems {
21
- static checkIfVisible(item: MenuItem, accountService: AccountService, config: Configuration, opts?: {
90
+ /**
91
+ * Compare, without checking the children
92
+ *
93
+ * @param mainItem
94
+ * @param otherItem
95
+ */
96
+ static isSame(mainItem: IMenuItem, otherItem: IMenuItem): boolean;
97
+ /**
98
+ * Compare, without checking the children and the title
99
+ *
100
+ * @param mainItem
101
+ * @param otherItem
102
+ */
103
+ static isSameIdOrPathAndParams(mainItem: IMenuItem, otherItem: IMenuItem): boolean;
104
+ /**
105
+ * Compare, without checking the children
106
+ *
107
+ * @param mainItem
108
+ * @param otherItem
109
+ */
110
+ static isSamePathAndParams(mainItem: IMenuItem, otherItem: IMenuItem): boolean;
111
+ /**
112
+ * All key/value of the mainParams should exist (and be equals) in the other params
113
+ *
114
+ * @param mainParams
115
+ * @param otherParams
116
+ */
117
+ static isSameParams(mainParams: {
118
+ [key: string]: string;
119
+ }, otherParams: {
120
+ [key: string]: string;
121
+ }): boolean;
122
+ static isParent(child: IMenuItem, parent: IMenuItem | MenuPathParam): boolean;
123
+ static checkIfVisible(item: IMenuItem, account: Account, config: Configuration, opts?: {
22
124
  isLogin?: boolean;
23
125
  debug?: boolean;
24
126
  logPrefix?: string;
25
127
  }): boolean;
128
+ static checkIfSubMenuVisible(item: MenuItem, currentPathParam: MenuPathParam): boolean;
129
+ static parsePathWithQuery(pathWithQuery: string): MenuPathParam;
130
+ static getUrl(item: IMenuItem): string;
131
+ static getUrlFromPathAndParams(path: string, params?: any): string;
132
+ static sortByParamOrIdComparator(paramName?: string): (n1: IMenuItem, n2: IMenuItem) => number;
133
+ static sortByTabOrId: (n1: IMenuItem, n2: IMenuItem) => number;
26
134
  }
135
+ /**
136
+ * Options to configure specific behavior on projects
137
+ */
27
138
  export declare class MenuOptions {
139
+ subMenu?: {
140
+ enable?: boolean;
141
+ showPinButton?: boolean;
142
+ disableIcon?: boolean;
143
+ savePinned?: boolean;
144
+ };
28
145
  }