@lucca-front/ng 21.2.2 → 21.2.3-rc.4

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 (219) hide show
  1. package/fesm2022/lucca-front-ng-a11y.mjs +4 -4
  2. package/fesm2022/lucca-front-ng-a11y.mjs.map +1 -1
  3. package/fesm2022/lucca-front-ng-activity-feed.mjs +18 -18
  4. package/fesm2022/lucca-front-ng-activity-feed.mjs.map +1 -1
  5. package/fesm2022/lucca-front-ng-api.mjs +40 -40
  6. package/fesm2022/lucca-front-ng-api.mjs.map +1 -1
  7. package/fesm2022/lucca-front-ng-app-layout.mjs +4 -4
  8. package/fesm2022/lucca-front-ng-app-layout.mjs.map +1 -1
  9. package/fesm2022/lucca-front-ng-box.mjs +7 -7
  10. package/fesm2022/lucca-front-ng-box.mjs.map +1 -1
  11. package/fesm2022/lucca-front-ng-breadcrumbs.mjs +10 -10
  12. package/fesm2022/lucca-front-ng-breadcrumbs.mjs.map +1 -1
  13. package/fesm2022/lucca-front-ng-bubble-icon.mjs +11 -11
  14. package/fesm2022/lucca-front-ng-bubble-icon.mjs.map +1 -1
  15. package/fesm2022/lucca-front-ng-bubble-illustration.mjs +9 -9
  16. package/fesm2022/lucca-front-ng-bubble-illustration.mjs.map +1 -1
  17. package/fesm2022/lucca-front-ng-callout.mjs +68 -68
  18. package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
  19. package/fesm2022/lucca-front-ng-chip.mjs +15 -15
  20. package/fesm2022/lucca-front-ng-chip.mjs.map +1 -1
  21. package/fesm2022/lucca-front-ng-clear.mjs +9 -9
  22. package/fesm2022/lucca-front-ng-clear.mjs.map +1 -1
  23. package/fesm2022/lucca-front-ng-code.mjs +4 -4
  24. package/fesm2022/lucca-front-ng-code.mjs.map +1 -1
  25. package/fesm2022/lucca-front-ng-color.mjs +7 -7
  26. package/fesm2022/lucca-front-ng-color.mjs.map +1 -1
  27. package/fesm2022/lucca-front-ng-comment.mjs +30 -30
  28. package/fesm2022/lucca-front-ng-comment.mjs.map +1 -1
  29. package/fesm2022/lucca-front-ng-container.mjs +7 -7
  30. package/fesm2022/lucca-front-ng-container.mjs.map +1 -1
  31. package/fesm2022/lucca-front-ng-core-select-api.mjs +13 -13
  32. package/fesm2022/lucca-front-ng-core-select-api.mjs.map +1 -1
  33. package/fesm2022/lucca-front-ng-core-select-department.mjs +21 -15
  34. package/fesm2022/lucca-front-ng-core-select-department.mjs.map +1 -1
  35. package/fesm2022/lucca-front-ng-core-select-establishment.mjs +15 -15
  36. package/fesm2022/lucca-front-ng-core-select-establishment.mjs.map +1 -1
  37. package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs +9 -9
  38. package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs.map +1 -1
  39. package/fesm2022/lucca-front-ng-core-select-occupation-category.mjs +6 -6
  40. package/fesm2022/lucca-front-ng-core-select-occupation-category.mjs.map +1 -1
  41. package/fesm2022/lucca-front-ng-core-select-user.mjs +36 -36
  42. package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
  43. package/fesm2022/lucca-front-ng-core-select.mjs +90 -90
  44. package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
  45. package/fesm2022/lucca-front-ng-core.mjs +18 -18
  46. package/fesm2022/lucca-front-ng-core.mjs.map +1 -1
  47. package/fesm2022/lucca-front-ng-data-table.mjs +74 -74
  48. package/fesm2022/lucca-front-ng-data-table.mjs.map +1 -1
  49. package/fesm2022/lucca-front-ng-date.mjs +42 -42
  50. package/fesm2022/lucca-front-ng-date.mjs.map +1 -1
  51. package/fesm2022/lucca-front-ng-date2.mjs +121 -121
  52. package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
  53. package/fesm2022/lucca-front-ng-department.mjs +25 -25
  54. package/fesm2022/lucca-front-ng-department.mjs.map +1 -1
  55. package/fesm2022/lucca-front-ng-dialog.mjs +55 -43
  56. package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
  57. package/fesm2022/lucca-front-ng-divider.mjs +8 -8
  58. package/fesm2022/lucca-front-ng-divider.mjs.map +1 -1
  59. package/fesm2022/lucca-front-ng-dropdown.mjs +43 -43
  60. package/fesm2022/lucca-front-ng-dropdown.mjs.map +1 -1
  61. package/fesm2022/lucca-front-ng-empty-state.mjs +34 -34
  62. package/fesm2022/lucca-front-ng-empty-state.mjs.map +1 -1
  63. package/fesm2022/lucca-front-ng-error-page.mjs +6 -6
  64. package/fesm2022/lucca-front-ng-error-page.mjs.map +1 -1
  65. package/fesm2022/lucca-front-ng-establishment.mjs +34 -34
  66. package/fesm2022/lucca-front-ng-establishment.mjs.map +1 -1
  67. package/fesm2022/lucca-front-ng-fancy-box.mjs +10 -10
  68. package/fesm2022/lucca-front-ng-fancy-box.mjs.map +1 -1
  69. package/fesm2022/lucca-front-ng-file-upload.mjs +55 -55
  70. package/fesm2022/lucca-front-ng-file-upload.mjs.map +1 -1
  71. package/fesm2022/lucca-front-ng-filter-pills.mjs +53 -53
  72. package/fesm2022/lucca-front-ng-filter-pills.mjs.map +1 -1
  73. package/fesm2022/lucca-front-ng-footer.mjs +10 -10
  74. package/fesm2022/lucca-front-ng-footer.mjs.map +1 -1
  75. package/fesm2022/lucca-front-ng-form-field.mjs +65 -65
  76. package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
  77. package/fesm2022/lucca-front-ng-form-header.mjs +4 -4
  78. package/fesm2022/lucca-front-ng-form-header.mjs.map +1 -1
  79. package/fesm2022/lucca-front-ng-form-label.mjs +12 -12
  80. package/fesm2022/lucca-front-ng-form-label.mjs.map +1 -1
  81. package/fesm2022/lucca-front-ng-form.mjs +5 -5
  82. package/fesm2022/lucca-front-ng-form.mjs.map +1 -1
  83. package/fesm2022/lucca-front-ng-formly.mjs +58 -58
  84. package/fesm2022/lucca-front-ng-formly.mjs.map +1 -1
  85. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs +20 -20
  86. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs.map +1 -1
  87. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-html.mjs +3 -3
  88. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-html.mjs.map +1 -1
  89. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-markdown.mjs +6 -6
  90. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-markdown.mjs.map +1 -1
  91. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-plain-text.mjs +3 -3
  92. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-plain-text.mjs.map +1 -1
  93. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs +91 -89
  94. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs.map +1 -1
  95. package/fesm2022/lucca-front-ng-forms.mjs +146 -145
  96. package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
  97. package/fesm2022/lucca-front-ng-gauge.mjs +19 -19
  98. package/fesm2022/lucca-front-ng-gauge.mjs.map +1 -1
  99. package/fesm2022/lucca-front-ng-grid.mjs +23 -23
  100. package/fesm2022/lucca-front-ng-grid.mjs.map +1 -1
  101. package/fesm2022/lucca-front-ng-highlight-data.mjs +16 -16
  102. package/fesm2022/lucca-front-ng-highlight-data.mjs.map +1 -1
  103. package/fesm2022/lucca-front-ng-horizontal-navigation.mjs +11 -11
  104. package/fesm2022/lucca-front-ng-horizontal-navigation.mjs.map +1 -1
  105. package/fesm2022/lucca-front-ng-index-table.mjs +60 -60
  106. package/fesm2022/lucca-front-ng-index-table.mjs.map +1 -1
  107. package/fesm2022/lucca-front-ng-inline-message.mjs +7 -7
  108. package/fesm2022/lucca-front-ng-inline-message.mjs.map +1 -1
  109. package/fesm2022/lucca-front-ng-input.mjs +22 -22
  110. package/fesm2022/lucca-front-ng-input.mjs.map +1 -1
  111. package/fesm2022/lucca-front-ng-link.mjs +12 -12
  112. package/fesm2022/lucca-front-ng-link.mjs.map +1 -1
  113. package/fesm2022/lucca-front-ng-listbox.mjs +26 -26
  114. package/fesm2022/lucca-front-ng-listbox.mjs.map +1 -1
  115. package/fesm2022/lucca-front-ng-listing.mjs +19 -19
  116. package/fesm2022/lucca-front-ng-listing.mjs.map +1 -1
  117. package/fesm2022/lucca-front-ng-loading.mjs +8 -8
  118. package/fesm2022/lucca-front-ng-loading.mjs.map +1 -1
  119. package/fesm2022/lucca-front-ng-main-layout.mjs +9 -9
  120. package/fesm2022/lucca-front-ng-main-layout.mjs.map +1 -1
  121. package/fesm2022/lucca-front-ng-mobile-push.mjs +4 -4
  122. package/fesm2022/lucca-front-ng-mobile-push.mjs.map +1 -1
  123. package/fesm2022/lucca-front-ng-modal.mjs +23 -23
  124. package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
  125. package/fesm2022/lucca-front-ng-multi-select.mjs +61 -61
  126. package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
  127. package/fesm2022/lucca-front-ng-new-badge.mjs +4 -4
  128. package/fesm2022/lucca-front-ng-new-badge.mjs.map +1 -1
  129. package/fesm2022/lucca-front-ng-number-format.mjs +10 -10
  130. package/fesm2022/lucca-front-ng-number-format.mjs.map +1 -1
  131. package/fesm2022/lucca-front-ng-number.mjs +7 -7
  132. package/fesm2022/lucca-front-ng-number.mjs.map +1 -1
  133. package/fesm2022/lucca-front-ng-numeric-badge.mjs +12 -12
  134. package/fesm2022/lucca-front-ng-numeric-badge.mjs.map +1 -1
  135. package/fesm2022/lucca-front-ng-option.mjs +130 -130
  136. package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
  137. package/fesm2022/lucca-front-ng-page-header.mjs +9 -9
  138. package/fesm2022/lucca-front-ng-page-header.mjs.map +1 -1
  139. package/fesm2022/lucca-front-ng-pagination.mjs +10 -10
  140. package/fesm2022/lucca-front-ng-pagination.mjs.map +1 -1
  141. package/fesm2022/lucca-front-ng-plg-push.mjs +7 -7
  142. package/fesm2022/lucca-front-ng-plg-push.mjs.map +1 -1
  143. package/fesm2022/lucca-front-ng-popover.mjs +17 -17
  144. package/fesm2022/lucca-front-ng-popover.mjs.map +1 -1
  145. package/fesm2022/lucca-front-ng-popover2.mjs +15 -15
  146. package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
  147. package/fesm2022/lucca-front-ng-popup.mjs +10 -10
  148. package/fesm2022/lucca-front-ng-popup.mjs.map +1 -1
  149. package/fesm2022/lucca-front-ng-progress-bar.mjs +7 -7
  150. package/fesm2022/lucca-front-ng-progress-bar.mjs.map +1 -1
  151. package/fesm2022/lucca-front-ng-progress-stepper.mjs +12 -12
  152. package/fesm2022/lucca-front-ng-progress-stepper.mjs.map +1 -1
  153. package/fesm2022/lucca-front-ng-read-more.mjs +17 -17
  154. package/fesm2022/lucca-front-ng-read-more.mjs.map +1 -1
  155. package/fesm2022/lucca-front-ng-resource-card.mjs +21 -21
  156. package/fesm2022/lucca-front-ng-resource-card.mjs.map +1 -1
  157. package/fesm2022/lucca-front-ng-safe-content.mjs +10 -10
  158. package/fesm2022/lucca-front-ng-safe-content.mjs.map +1 -1
  159. package/fesm2022/lucca-front-ng-scroll-box.mjs +6 -6
  160. package/fesm2022/lucca-front-ng-scroll-box.mjs.map +1 -1
  161. package/fesm2022/lucca-front-ng-scroll.mjs +8 -8
  162. package/fesm2022/lucca-front-ng-scroll.mjs.map +1 -1
  163. package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs +14 -14
  164. package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs.map +1 -1
  165. package/fesm2022/lucca-front-ng-segmented-control.mjs +11 -11
  166. package/fesm2022/lucca-front-ng-segmented-control.mjs.map +1 -1
  167. package/fesm2022/lucca-front-ng-select.mjs +14 -14
  168. package/fesm2022/lucca-front-ng-select.mjs.map +1 -1
  169. package/fesm2022/lucca-front-ng-sidepanel.mjs +7 -7
  170. package/fesm2022/lucca-front-ng-sidepanel.mjs.map +1 -1
  171. package/fesm2022/lucca-front-ng-simple-select.mjs +17 -17
  172. package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
  173. package/fesm2022/lucca-front-ng-skeleton.mjs +54 -50
  174. package/fesm2022/lucca-front-ng-skeleton.mjs.map +1 -1
  175. package/fesm2022/lucca-front-ng-software-icon-wrapper.mjs +84 -0
  176. package/fesm2022/lucca-front-ng-software-icon-wrapper.mjs.map +1 -0
  177. package/fesm2022/lucca-front-ng-software-icon.mjs +20 -13
  178. package/fesm2022/lucca-front-ng-software-icon.mjs.map +1 -1
  179. package/fesm2022/lucca-front-ng-sortable-list.mjs +14 -14
  180. package/fesm2022/lucca-front-ng-sortable-list.mjs.map +1 -1
  181. package/fesm2022/lucca-front-ng-status-badge.mjs +7 -7
  182. package/fesm2022/lucca-front-ng-status-badge.mjs.map +1 -1
  183. package/fesm2022/lucca-front-ng-table-of-content.mjs +7 -7
  184. package/fesm2022/lucca-front-ng-table-of-content.mjs.map +1 -1
  185. package/fesm2022/lucca-front-ng-tag.mjs +12 -12
  186. package/fesm2022/lucca-front-ng-tag.mjs.map +1 -1
  187. package/fesm2022/lucca-front-ng-text-flow.mjs +3 -3
  188. package/fesm2022/lucca-front-ng-text-flow.mjs.map +1 -1
  189. package/fesm2022/lucca-front-ng-time.mjs +70 -69
  190. package/fesm2022/lucca-front-ng-time.mjs.map +1 -1
  191. package/fesm2022/lucca-front-ng-title.mjs +10 -10
  192. package/fesm2022/lucca-front-ng-title.mjs.map +1 -1
  193. package/fesm2022/lucca-front-ng-toast.mjs +13 -13
  194. package/fesm2022/lucca-front-ng-toast.mjs.map +1 -1
  195. package/fesm2022/lucca-front-ng-tooltip.mjs +35 -35
  196. package/fesm2022/lucca-front-ng-tooltip.mjs.map +1 -1
  197. package/fesm2022/lucca-front-ng-tree-select.mjs +16 -16
  198. package/fesm2022/lucca-front-ng-tree-select.mjs.map +1 -1
  199. package/fesm2022/lucca-front-ng-user-popover.mjs +21 -21
  200. package/fesm2022/lucca-front-ng-user-popover.mjs.map +1 -1
  201. package/fesm2022/lucca-front-ng-user.mjs +78 -78
  202. package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
  203. package/fesm2022/lucca-front-ng-vertical-navigation.mjs +27 -27
  204. package/fesm2022/lucca-front-ng-vertical-navigation.mjs.map +1 -1
  205. package/package.json +9 -4
  206. package/types/lucca-front-ng-core-select-department.d.ts +4 -0
  207. package/types/lucca-front-ng-core-select-user.d.ts +1 -1
  208. package/types/lucca-front-ng-core-select.d.ts +5 -5
  209. package/types/lucca-front-ng-core.d.ts +1 -1
  210. package/types/lucca-front-ng-dialog.d.ts +7 -2
  211. package/types/lucca-front-ng-filter-pills.d.ts +4 -4
  212. package/types/lucca-front-ng-form-field.d.ts +2 -2
  213. package/types/lucca-front-ng-forms-rich-text-input.d.ts +1 -0
  214. package/types/lucca-front-ng-forms.d.ts +25 -14
  215. package/types/lucca-front-ng-multi-select.d.ts +1 -1
  216. package/types/lucca-front-ng-skeleton.d.ts +5 -1
  217. package/types/lucca-front-ng-software-icon-wrapper.d.ts +31 -0
  218. package/types/lucca-front-ng-software-icon.d.ts +10 -4
  219. package/types/lucca-front-ng-time.d.ts +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-core-select-department.mjs","sources":["../../../packages/ng/core-select/department/noop-tree-select.directive.ts","../../../packages/ng/core-select/department/departments.directive.ts","../../../packages/ng/core-select/department/lucca-front-ng-core-select-department.ts"],"sourcesContent":["import { Directive, inject, input, linkedSignal } from '@angular/core';\nimport { ALuSelectInputComponent, TreeGenerator, TreeGroupingFn, TreeNode } from '@lucca-front/ng/core-select';\n\n@Directive({\n\t// eslint-disable-next-line @angular-eslint/directive-selector\n\tselector: 'lu-simple-select[noopTreeSelect],lu-multi-select[noopTreeSelect]',\n})\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport class NoopTreeSelectDirective<T extends TreeNode<any>, V> implements TreeGenerator<T, T> {\n\t#select = inject<ALuSelectInputComponent<T, V>>(ALuSelectInputComponent);\n\n\tgroupingFnInput = input<TreeGroupingFn<T>>(() => null, { alias: 'noopTreeSelect' });\n\n\tgroupingFn = linkedSignal(() => this.groupingFnInput());\n\n\tconstructor() {\n\t\tthis.#select.treeGenerator = this;\n\t}\n\n\tgenerateTrees(items: T[]): T[] {\n\t\treturn items;\n\t}\n}\n","import { HttpClient } from '@angular/common/http';\nimport { computed, Directive, forwardRef, inject, input, OnInit } from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { CORE_SELECT_API_TOTAL_COUNT_PROVIDER, CoreSelectApiTotalCountProvider, TreeNode } from '@lucca-front/ng/core-select';\nimport { ALuCoreSelectApiDirective } from '@lucca-front/ng/core-select/api';\nimport { ILuDepartment } from '@lucca-front/ng/department';\nimport { combineLatest, map, Observable } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { NoopTreeSelectDirective } from './noop-tree-select.directive';\n\n@Directive({\n\t// The attribute is already prefixed with \"lu-simple-select\" / \"lu-multi-select\"\n\t// eslint-disable-next-line @angular-eslint/directive-selector\n\tselector: 'lu-simple-select[departments],lu-multi-select[departments]',\n\texportAs: 'luDepartments',\n\tproviders: [\n\t\t{\n\t\t\tprovide: CORE_SELECT_API_TOTAL_COUNT_PROVIDER,\n\t\t\tuseExisting: forwardRef(() => LuCoreSelectDepartmentsDirective),\n\t\t},\n\t],\n\thostDirectives: [NoopTreeSelectDirective],\n})\nexport class LuCoreSelectDepartmentsDirective<T extends ILuDepartment = ILuDepartment> extends ALuCoreSelectApiDirective<TreeNode<T>> implements OnInit, CoreSelectApiTotalCountProvider {\n\tprotected httpClient = inject(HttpClient);\n\n\turl = input<string>('/organization/structure/api/departments/tree');\n\tfilters = input<Record<string, string | number | boolean> | null>(null);\n\toperationIds = input<readonly number[] | null>(null);\n\tuniqueOperationIds = input<readonly number[] | null>(null);\n\tappInstanceId = input<number | null>(null);\n\tsearchDelimiter = input<string>(' ');\n\n\tpublic override ngOnInit(): void {\n\t\tsuper.ngOnInit();\n\t}\n\n\tprotected override buildOptions(): Observable<TreeNode<T>[]> {\n\t\treturn combineLatest([super.buildOptions(), this.clue$]).pipe(\n\t\t\tmap(([data, clue]) => {\n\t\t\t\treturn this.trim(data, clue);\n\t\t\t}),\n\t\t);\n\t}\n\n\tprotected override getOptions(params: Record<string, string | number | boolean> | null): Observable<TreeNode<T>[]> {\n\t\treturn this.httpClient\n\t\t\t.get<TreeNode<T>>(this.url(), {\n\t\t\t\tparams,\n\t\t\t})\n\t\t\t.pipe(\n\t\t\t\tmap((data) => {\n\t\t\t\t\treturn data.children;\n\t\t\t\t}),\n\t\t\t);\n\t}\n\n\ttrim(options: TreeNode<T>[], clue: string): TreeNode<T>[] {\n\t\treturn options\n\t\t\t.map((option) => {\n\t\t\t\tif (option.node.name.toLowerCase().includes(clue.toLowerCase())) {\n\t\t\t\t\treturn { ...option };\n\t\t\t\t}\n\t\t\t\tconst trimmedChildren = option.children ? this.trim(option.children, clue) : [];\n\t\t\t\tif (trimmedChildren.length) {\n\t\t\t\t\treturn { ...option, children: trimmedChildren };\n\t\t\t\t}\n\t\t\t\treturn undefined;\n\t\t\t})\n\t\t\t.filter((o) => !!o);\n\t}\n\n\tprotected override params$: Observable<Record<string, string | number | boolean>> = toObservable(\n\t\tcomputed(() => {\n\t\t\tconst operationIds = this.operationIds();\n\t\t\tconst uniqueOperationIds = this.uniqueOperationIds();\n\t\t\tconst appInstanceId = this.appInstanceId();\n\t\t\treturn {\n\t\t\t\t...this.filters(),\n\t\t\t\t...(operationIds ? { operations: operationIds.join(',') } : {}),\n\t\t\t\t...(uniqueOperationIds ? { uniqueOperations: uniqueOperationIds.join(',') } : {}),\n\t\t\t\t...(appInstanceId ? { appInstanceId } : {}),\n\t\t\t};\n\t\t}),\n\t);\n\n\tpublic totalCount$ = this.select.options$.pipe(\n\t\tfilter((opts) => opts.length > 0),\n\t\tmap((opts) => {\n\t\t\treturn opts.map((branch) => this.flattenTree(branch)).flat().length;\n\t\t}),\n\t);\n\n\tprotected flattenTree(branch: TreeNode<T>): T[] {\n\t\tconst result: T[] = [branch.node];\n\t\tif (branch.children.length > 0) {\n\t\t\tresult.push(...branch.children.map((child) => this.flattenTree(child)).flat());\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected override optionKey = (option: TreeNode<T> | T) => {\n\t\tif (!option) {\n\t\t\treturn null;\n\t\t}\n\t\treturn 'node' in option ? option.node.id : option.id;\n\t};\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.NoopTreeSelectDirective"],"mappings":"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"}
1
+ {"version":3,"file":"lucca-front-ng-core-select-department.mjs","sources":["../../../packages/ng/core-select/department/noop-tree-select.directive.ts","../../../packages/ng/core-select/department/departments.directive.ts","../../../packages/ng/core-select/department/lucca-front-ng-core-select-department.ts"],"sourcesContent":["import { Directive, inject, input, linkedSignal } from '@angular/core';\nimport { ALuSelectInputComponent, TreeGenerator, TreeGroupingFn, TreeNode } from '@lucca-front/ng/core-select';\n\n@Directive({\n\t// eslint-disable-next-line @angular-eslint/directive-selector\n\tselector: 'lu-simple-select[noopTreeSelect],lu-multi-select[noopTreeSelect]',\n})\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport class NoopTreeSelectDirective<T extends TreeNode<any>, V> implements TreeGenerator<T, T> {\n\t#select = inject<ALuSelectInputComponent<T, V>>(ALuSelectInputComponent);\n\n\tgroupingFnInput = input<TreeGroupingFn<T>>(() => null, { alias: 'noopTreeSelect' });\n\n\tgroupingFn = linkedSignal(() => this.groupingFnInput());\n\n\tconstructor() {\n\t\tthis.#select.treeGenerator = this;\n\t}\n\n\tgenerateTrees(items: T[]): T[] {\n\t\treturn items;\n\t}\n}\n","import { HttpClient } from '@angular/common/http';\nimport { computed, Directive, forwardRef, inject, input, OnInit } from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { CORE_SELECT_API_TOTAL_COUNT_PROVIDER, CoreSelectApiTotalCountProvider, TreeNode } from '@lucca-front/ng/core-select';\nimport { ALuCoreSelectApiDirective } from '@lucca-front/ng/core-select/api';\nimport { ILuDepartment } from '@lucca-front/ng/department';\nimport { combineLatest, map, Observable, of } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { NoopTreeSelectDirective } from './noop-tree-select.directive';\n\n@Directive({\n\t// The attribute is already prefixed with \"lu-simple-select\" / \"lu-multi-select\"\n\t// eslint-disable-next-line @angular-eslint/directive-selector\n\tselector: 'lu-simple-select[departments],lu-multi-select[departments]',\n\texportAs: 'luDepartments',\n\tproviders: [\n\t\t{\n\t\t\tprovide: CORE_SELECT_API_TOTAL_COUNT_PROVIDER,\n\t\t\tuseExisting: forwardRef(() => LuCoreSelectDepartmentsDirective),\n\t\t},\n\t],\n\thostDirectives: [NoopTreeSelectDirective],\n})\nexport class LuCoreSelectDepartmentsDirective<T extends ILuDepartment = ILuDepartment> extends ALuCoreSelectApiDirective<TreeNode<T>> implements OnInit, CoreSelectApiTotalCountProvider {\n\tprotected httpClient = inject(HttpClient);\n\n\turl = input<string>('/organization/structure/api/departments/tree');\n\tfilters = input<Record<string, string | number | boolean> | null>(null);\n\toperationIds = input<readonly number[] | null>(null);\n\tuniqueOperationIds = input<readonly number[] | null>(null);\n\tappInstanceId = input<number | null>(null);\n\tsearchDelimiter = input<string>(' ');\n\n\tpublic override ngOnInit(): void {\n\t\tsuper.ngOnInit();\n\t}\n\n\tprotected override buildOptions(): Observable<TreeNode<T>[]> {\n\t\treturn combineLatest([super.buildOptions(), this.clue$]).pipe(\n\t\t\tmap(([data, clue]) => {\n\t\t\t\treturn this.trim(data, clue);\n\t\t\t}),\n\t\t);\n\t}\n\n\tprotected override getOptionsPage(params: Record<string, string | number | boolean> | null, page: number): Observable<{ items: TreeNode<T>[]; isLastPage: boolean }> {\n\t\tif (page > 0) {\n\t\t\treturn of({ items: [], isLastPage: true });\n\t\t}\n\n\t\treturn super.getOptionsPage(params, page).pipe(map((result) => ({ ...result, isLastPage: true })));\n\t}\n\n\tprotected override getOptions(params: Record<string, string | number | boolean> | null): Observable<TreeNode<T>[]> {\n\t\treturn this.httpClient\n\t\t\t.get<TreeNode<T>>(this.url(), {\n\t\t\t\tparams,\n\t\t\t})\n\t\t\t.pipe(\n\t\t\t\tmap((data) => {\n\t\t\t\t\treturn data.children;\n\t\t\t\t}),\n\t\t\t);\n\t}\n\n\ttrim(options: TreeNode<T>[], clue: string): TreeNode<T>[] {\n\t\treturn options\n\t\t\t.map((option) => {\n\t\t\t\tif (option.node.name.toLowerCase().includes(clue.toLowerCase())) {\n\t\t\t\t\treturn { ...option };\n\t\t\t\t}\n\t\t\t\tconst trimmedChildren = option.children ? this.trim(option.children, clue) : [];\n\t\t\t\tif (trimmedChildren.length) {\n\t\t\t\t\treturn { ...option, children: trimmedChildren };\n\t\t\t\t}\n\t\t\t\treturn undefined;\n\t\t\t})\n\t\t\t.filter((o) => !!o);\n\t}\n\n\tprotected override params$: Observable<Record<string, string | number | boolean>> = toObservable(\n\t\tcomputed(() => {\n\t\t\tconst operationIds = this.operationIds();\n\t\t\tconst uniqueOperationIds = this.uniqueOperationIds();\n\t\t\tconst appInstanceId = this.appInstanceId();\n\t\t\treturn {\n\t\t\t\t...this.filters(),\n\t\t\t\t...(operationIds ? { operations: operationIds.join(',') } : {}),\n\t\t\t\t...(uniqueOperationIds ? { uniqueOperations: uniqueOperationIds.join(',') } : {}),\n\t\t\t\t...(appInstanceId ? { appInstanceId } : {}),\n\t\t\t};\n\t\t}),\n\t);\n\n\tpublic totalCount$ = this.select.options$.pipe(\n\t\tfilter((opts) => opts.length > 0),\n\t\tmap((opts) => {\n\t\t\treturn opts.map((branch) => this.flattenTree(branch)).flat().length;\n\t\t}),\n\t);\n\n\tprotected flattenTree(branch: TreeNode<T>): T[] {\n\t\tconst result: T[] = [branch.node];\n\t\tif (branch.children.length > 0) {\n\t\t\tresult.push(...branch.children.map((child) => this.flattenTree(child)).flat());\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected override optionKey = (option: TreeNode<T> | T) => {\n\t\tif (!option) {\n\t\t\treturn null;\n\t\t}\n\t\treturn 'node' in option ? option.node.id : option.id;\n\t};\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.NoopTreeSelectDirective"],"mappings":"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"}
@@ -17,10 +17,10 @@ class EstablishmentGroupingService {
17
17
  this.legalUnitsCount$ = this.http.get(this.legalUnitsUrl, { params: this.countParams }).pipe(map((res) => res.count));
18
18
  this.useGrouping$ = combineLatest([this.legalUnitsCount$, this.establishmentsCount$]).pipe(map(([luCount, establishmentCount]) => luCount > 1 && establishmentCount > 1 && luCount !== establishmentCount), shareReplay());
19
19
  }
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: EstablishmentGroupingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
21
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: EstablishmentGroupingService, providedIn: 'root' }); }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: EstablishmentGroupingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
21
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: EstablishmentGroupingService, providedIn: 'root' }); }
22
22
  }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: EstablishmentGroupingService, decorators: [{
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: EstablishmentGroupingService, decorators: [{
24
24
  type: Injectable,
25
25
  args: [{ providedIn: 'root' }]
26
26
  }] });
@@ -29,10 +29,10 @@ class LuEstablishmentGroupingComponent {
29
29
  constructor() {
30
30
  this.group = inject(PORTAL_CONTEXT).$implicit;
31
31
  }
32
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: LuEstablishmentGroupingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
33
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: LuEstablishmentGroupingComponent, isStandalone: true, selector: "lu-establishment-grouping", ngImport: i0, template: `{{ group.options[0].legalUnit.name }}`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuEstablishmentGroupingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
33
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.14", type: LuEstablishmentGroupingComponent, isStandalone: true, selector: "lu-establishment-grouping", ngImport: i0, template: `{{ group.options[0].legalUnit.name }}`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
34
34
  }
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: LuEstablishmentGroupingComponent, decorators: [{
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuEstablishmentGroupingComponent, decorators: [{
36
36
  type: Component,
37
37
  args: [{
38
38
  selector: 'lu-establishment-grouping',
@@ -47,12 +47,12 @@ class LuCoreSelectEstablishmentsDirective extends ALuCoreSelectApiDirective {
47
47
  this.#groupingService = inject(EstablishmentGroupingService);
48
48
  this.#destroyRef = inject(DestroyRef);
49
49
  this.httpClient = inject(HttpClient);
50
- this.url = input('/organization/structure/api/establishments', ...(ngDevMode ? [{ debugName: "url" }] : []));
51
- this.filters = input(null, ...(ngDevMode ? [{ debugName: "filters" }] : []));
52
- this.operationIds = input(null, ...(ngDevMode ? [{ debugName: "operationIds" }] : []));
53
- this.uniqueOperationIds = input(null, ...(ngDevMode ? [{ debugName: "uniqueOperationIds" }] : []));
54
- this.appInstanceId = input(null, ...(ngDevMode ? [{ debugName: "appInstanceId" }] : []));
55
- this.searchDelimiter = input(' ', ...(ngDevMode ? [{ debugName: "searchDelimiter" }] : []));
50
+ this.url = input('/organization/structure/api/establishments', ...(ngDevMode ? [{ debugName: "url" }] : /* istanbul ignore next */ []));
51
+ this.filters = input(null, ...(ngDevMode ? [{ debugName: "filters" }] : /* istanbul ignore next */ []));
52
+ this.operationIds = input(null, ...(ngDevMode ? [{ debugName: "operationIds" }] : /* istanbul ignore next */ []));
53
+ this.uniqueOperationIds = input(null, ...(ngDevMode ? [{ debugName: "uniqueOperationIds" }] : /* istanbul ignore next */ []));
54
+ this.appInstanceId = input(null, ...(ngDevMode ? [{ debugName: "appInstanceId" }] : /* istanbul ignore next */ []));
55
+ this.searchDelimiter = input(' ', ...(ngDevMode ? [{ debugName: "searchDelimiter" }] : /* istanbul ignore next */ []));
56
56
  this.clue = toSignal(this.clue$);
57
57
  this.params$ = toObservable(computed(() => {
58
58
  const operationIds = this.operationIds();
@@ -106,15 +106,15 @@ class LuCoreSelectEstablishmentsDirective extends ALuCoreSelectApiDirective {
106
106
  .pipe(map((res) => (Array.isArray(res) ? res : res?.items) ?? []));
107
107
  return this.#groupingService.useGrouping$.pipe(switchMap(() => options$));
108
108
  }
109
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: LuCoreSelectEstablishmentsDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
110
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.8", type: LuCoreSelectEstablishmentsDirective, isStandalone: true, selector: "lu-simple-select[establishments],lu-multi-select[establishments]", inputs: { url: { classPropertyName: "url", publicName: "url", isSignal: true, isRequired: false, transformFunction: null }, filters: { classPropertyName: "filters", publicName: "filters", isSignal: true, isRequired: false, transformFunction: null }, operationIds: { classPropertyName: "operationIds", publicName: "operationIds", isSignal: true, isRequired: false, transformFunction: null }, uniqueOperationIds: { classPropertyName: "uniqueOperationIds", publicName: "uniqueOperationIds", isSignal: true, isRequired: false, transformFunction: null }, appInstanceId: { classPropertyName: "appInstanceId", publicName: "appInstanceId", isSignal: true, isRequired: false, transformFunction: null }, searchDelimiter: { classPropertyName: "searchDelimiter", publicName: "searchDelimiter", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
109
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuCoreSelectEstablishmentsDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
110
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.14", type: LuCoreSelectEstablishmentsDirective, isStandalone: true, selector: "lu-simple-select[establishments],lu-multi-select[establishments]", inputs: { url: { classPropertyName: "url", publicName: "url", isSignal: true, isRequired: false, transformFunction: null }, filters: { classPropertyName: "filters", publicName: "filters", isSignal: true, isRequired: false, transformFunction: null }, operationIds: { classPropertyName: "operationIds", publicName: "operationIds", isSignal: true, isRequired: false, transformFunction: null }, uniqueOperationIds: { classPropertyName: "uniqueOperationIds", publicName: "uniqueOperationIds", isSignal: true, isRequired: false, transformFunction: null }, appInstanceId: { classPropertyName: "appInstanceId", publicName: "appInstanceId", isSignal: true, isRequired: false, transformFunction: null }, searchDelimiter: { classPropertyName: "searchDelimiter", publicName: "searchDelimiter", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
111
111
  {
112
112
  provide: CORE_SELECT_API_TOTAL_COUNT_PROVIDER,
113
113
  useExisting: forwardRef(() => LuCoreSelectEstablishmentsDirective),
114
114
  },
115
115
  ], exportAs: ["luEstablishments"], usesInheritance: true, ngImport: i0 }); }
116
116
  }
117
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: LuCoreSelectEstablishmentsDirective, decorators: [{
117
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuCoreSelectEstablishmentsDirective, decorators: [{
118
118
  type: Directive,
119
119
  args: [{
120
120
  // The attribute is already prefixed with "lu-simple-select" / "lu-multi-select"
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-core-select-establishment.mjs","sources":["../../../packages/ng/core-select/establishment/establishment-grouping.service.ts","../../../packages/ng/core-select/establishment/establishment-grouping.component.ts","../../../packages/ng/core-select/establishment/establishments.directive.ts","../../../packages/ng/core-select/establishment/lucca-front-ng-core-select-establishment.ts"],"sourcesContent":["import { HttpClient, HttpParams } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { combineLatest, map, shareReplay } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class EstablishmentGroupingService {\n\tprotected http = inject(HttpClient);\n\tprotected establishmentsUrl = '/organization/structure/api/establishments';\n\tprotected legalUnitsUrl = '/organization/structure/api/legal-units';\n\n\tprotected countParams: HttpParams = new HttpParams().set('fields.root', 'count').set('limit', 0);\n\tprotected establishmentsCount$ = this.http.get<{ count: number }>(this.establishmentsUrl, { params: this.countParams }).pipe(map((res) => res.count));\n\tprotected legalUnitsCount$ = this.http.get<{ count: number }>(this.legalUnitsUrl, { params: this.countParams }).pipe(map((res) => res.count));\n\n\tpublic useGrouping$ = combineLatest([this.legalUnitsCount$, this.establishmentsCount$]).pipe(\n\t\tmap(([luCount, establishmentCount]) => luCount > 1 && establishmentCount > 1 && luCount !== establishmentCount),\n\t\tshareReplay(),\n\t);\n}\n","import { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { PORTAL_CONTEXT } from '@lucca-front/ng/core';\nimport { LuOptionGroupByContext } from '@lucca-front/ng/core-select';\nimport { LuCoreSelectEstablishment } from './models';\n\n@Component({\n\tselector: 'lu-establishment-grouping',\n\ttemplate: `{{ group.options[0].legalUnit.name }}`,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LuEstablishmentGroupingComponent {\n\tgroup = inject<LuOptionGroupByContext<LuCoreSelectEstablishment, number>>(PORTAL_CONTEXT).$implicit;\n}\n","import { HttpClient } from '@angular/common/http';\nimport { DestroyRef, Directive, OnInit, computed, forwardRef, inject, input } from '@angular/core';\nimport { takeUntilDestroyed, toObservable, toSignal } from '@angular/core/rxjs-interop';\nimport { CORE_SELECT_API_TOTAL_COUNT_PROVIDER, CoreSelectApiTotalCountProvider, applySearchDelimiter } from '@lucca-front/ng/core-select';\nimport { ALuCoreSelectApiDirective } from '@lucca-front/ng/core-select/api';\nimport { Observable, debounceTime, filter, map, switchMap } from 'rxjs';\nimport { LuEstablishmentGroupingComponent } from './establishment-grouping.component';\nimport { EstablishmentGroupingService } from './establishment-grouping.service';\nimport { LuCoreSelectEstablishment } from './models';\n\n@Directive({\n\t// The attribute is already prefixed with \"lu-simple-select\" / \"lu-multi-select\"\n\t// eslint-disable-next-line @angular-eslint/directive-selector\n\tselector: 'lu-simple-select[establishments],lu-multi-select[establishments]',\n\texportAs: 'luEstablishments',\n\tproviders: [\n\t\t{\n\t\t\tprovide: CORE_SELECT_API_TOTAL_COUNT_PROVIDER,\n\t\t\tuseExisting: forwardRef(() => LuCoreSelectEstablishmentsDirective),\n\t\t},\n\t],\n})\nexport class LuCoreSelectEstablishmentsDirective<T extends LuCoreSelectEstablishment = LuCoreSelectEstablishment>\n\textends ALuCoreSelectApiDirective<T>\n\timplements OnInit, CoreSelectApiTotalCountProvider\n{\n\t#groupingService = inject(EstablishmentGroupingService);\n\t#destroyRef = inject(DestroyRef);\n\n\tprotected httpClient = inject(HttpClient);\n\n\turl = input<string>('/organization/structure/api/establishments');\n\tfilters = input<Record<string, string | number | boolean> | null>(null);\n\toperationIds = input<readonly number[] | null>(null);\n\tuniqueOperationIds = input<readonly number[] | null>(null);\n\tappInstanceId = input<number | null>(null);\n\tsearchDelimiter = input<string>(' ');\n\n\tprotected clue = toSignal(this.clue$);\n\n\tpublic override ngOnInit(): void {\n\t\tsuper.ngOnInit();\n\t\tthis.initGrouping();\n\t}\n\n\tprotected initGrouping() {\n\t\tthis.#groupingService.useGrouping$.pipe(filter(Boolean), takeUntilDestroyed(this.#destroyRef)).subscribe(() => {\n\t\t\tthis.select.groupingSignal.set({\n\t\t\t\tselector: (option) => option.legalUnitId,\n\t\t\t\tcontent: LuEstablishmentGroupingComponent,\n\t\t\t});\n\t\t});\n\t}\n\n\tprotected override getOptions(params: Record<string, string | number | boolean> | null, page: number): Observable<T[]> {\n\t\tconst options$ = this.httpClient\n\t\t\t.get<T[] | { items: T[] }>(this.url(), {\n\t\t\t\tparams: {\n\t\t\t\t\t...params,\n\t\t\t\t\tpage: page + 1,\n\t\t\t\t\tlimit: this.pageSize,\n\t\t\t\t},\n\t\t\t})\n\t\t\t.pipe(map((res) => (Array.isArray(res) ? res : res?.items) ?? []));\n\n\t\treturn this.#groupingService.useGrouping$.pipe(switchMap(() => options$));\n\t}\n\n\tprotected override params$: Observable<Record<string, string | number | boolean>> = toObservable(\n\t\tcomputed(() => {\n\t\t\tconst operationIds = this.operationIds();\n\t\t\tconst uniqueOperationIds = this.uniqueOperationIds();\n\t\t\tconst appInstanceId = this.appInstanceId();\n\t\t\tconst clue = this.clue();\n\t\t\tconst searchDelimiter = this.searchDelimiter();\n\t\t\treturn {\n\t\t\t\t...this.filters(),\n\t\t\t\t...(clue\n\t\t\t\t\t? // When the clue is not empty, sort establishments by name\n\t\t\t\t\t\t{ search: applySearchDelimiter(clue, searchDelimiter), sort: 'name' }\n\t\t\t\t\t: // When the clue is empty, establishments are grouped by legal unit, so sort them by legal unit name and then by name\n\t\t\t\t\t\t{ sort: 'legalunit.name,name' }),\n\t\t\t\t...(operationIds ? { operations: operationIds.join(',') } : {}),\n\t\t\t\t...(uniqueOperationIds ? { uniqueOperations: uniqueOperationIds.join(',') } : {}),\n\t\t\t\t...(appInstanceId ? { appInstanceId } : {}),\n\t\t\t};\n\t\t}),\n\t);\n\n\tpublic totalCount$ = toObservable(computed(() => ({ url: this.url(), filters: this.filters() }))).pipe(\n\t\tdebounceTime(250),\n\t\tswitchMap(({ url, filters }) =>\n\t\t\tthis.httpClient.get<{ count: number }>(url, {\n\t\t\t\tparams: {\n\t\t\t\t\t...filters,\n\t\t\t\t\t['fields.root']: 'count',\n\t\t\t\t},\n\t\t\t}),\n\t\t),\n\t\tmap((res) => res?.count ?? 0),\n\t);\n\n\tprotected override optionKey = (option: T) => option.id;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lucca-front-ng-core-select-establishment.mjs","sources":["../../../packages/ng/core-select/establishment/establishment-grouping.service.ts","../../../packages/ng/core-select/establishment/establishment-grouping.component.ts","../../../packages/ng/core-select/establishment/establishments.directive.ts","../../../packages/ng/core-select/establishment/lucca-front-ng-core-select-establishment.ts"],"sourcesContent":["import { HttpClient, HttpParams } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { combineLatest, map, shareReplay } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class EstablishmentGroupingService {\n\tprotected http = inject(HttpClient);\n\tprotected establishmentsUrl = '/organization/structure/api/establishments';\n\tprotected legalUnitsUrl = '/organization/structure/api/legal-units';\n\n\tprotected countParams: HttpParams = new HttpParams().set('fields.root', 'count').set('limit', 0);\n\tprotected establishmentsCount$ = this.http.get<{ count: number }>(this.establishmentsUrl, { params: this.countParams }).pipe(map((res) => res.count));\n\tprotected legalUnitsCount$ = this.http.get<{ count: number }>(this.legalUnitsUrl, { params: this.countParams }).pipe(map((res) => res.count));\n\n\tpublic useGrouping$ = combineLatest([this.legalUnitsCount$, this.establishmentsCount$]).pipe(\n\t\tmap(([luCount, establishmentCount]) => luCount > 1 && establishmentCount > 1 && luCount !== establishmentCount),\n\t\tshareReplay(),\n\t);\n}\n","import { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { PORTAL_CONTEXT } from '@lucca-front/ng/core';\nimport { LuOptionGroupByContext } from '@lucca-front/ng/core-select';\nimport { LuCoreSelectEstablishment } from './models';\n\n@Component({\n\tselector: 'lu-establishment-grouping',\n\ttemplate: `{{ group.options[0].legalUnit.name }}`,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LuEstablishmentGroupingComponent {\n\tgroup = inject<LuOptionGroupByContext<LuCoreSelectEstablishment, number>>(PORTAL_CONTEXT).$implicit;\n}\n","import { HttpClient } from '@angular/common/http';\nimport { DestroyRef, Directive, OnInit, computed, forwardRef, inject, input } from '@angular/core';\nimport { takeUntilDestroyed, toObservable, toSignal } from '@angular/core/rxjs-interop';\nimport { CORE_SELECT_API_TOTAL_COUNT_PROVIDER, CoreSelectApiTotalCountProvider, applySearchDelimiter } from '@lucca-front/ng/core-select';\nimport { ALuCoreSelectApiDirective } from '@lucca-front/ng/core-select/api';\nimport { Observable, debounceTime, filter, map, switchMap } from 'rxjs';\nimport { LuEstablishmentGroupingComponent } from './establishment-grouping.component';\nimport { EstablishmentGroupingService } from './establishment-grouping.service';\nimport { LuCoreSelectEstablishment } from './models';\n\n@Directive({\n\t// The attribute is already prefixed with \"lu-simple-select\" / \"lu-multi-select\"\n\t// eslint-disable-next-line @angular-eslint/directive-selector\n\tselector: 'lu-simple-select[establishments],lu-multi-select[establishments]',\n\texportAs: 'luEstablishments',\n\tproviders: [\n\t\t{\n\t\t\tprovide: CORE_SELECT_API_TOTAL_COUNT_PROVIDER,\n\t\t\tuseExisting: forwardRef(() => LuCoreSelectEstablishmentsDirective),\n\t\t},\n\t],\n})\nexport class LuCoreSelectEstablishmentsDirective<T extends LuCoreSelectEstablishment = LuCoreSelectEstablishment>\n\textends ALuCoreSelectApiDirective<T>\n\timplements OnInit, CoreSelectApiTotalCountProvider\n{\n\t#groupingService = inject(EstablishmentGroupingService);\n\t#destroyRef = inject(DestroyRef);\n\n\tprotected httpClient = inject(HttpClient);\n\n\turl = input<string>('/organization/structure/api/establishments');\n\tfilters = input<Record<string, string | number | boolean> | null>(null);\n\toperationIds = input<readonly number[] | null>(null);\n\tuniqueOperationIds = input<readonly number[] | null>(null);\n\tappInstanceId = input<number | null>(null);\n\tsearchDelimiter = input<string>(' ');\n\n\tprotected clue = toSignal(this.clue$);\n\n\tpublic override ngOnInit(): void {\n\t\tsuper.ngOnInit();\n\t\tthis.initGrouping();\n\t}\n\n\tprotected initGrouping() {\n\t\tthis.#groupingService.useGrouping$.pipe(filter(Boolean), takeUntilDestroyed(this.#destroyRef)).subscribe(() => {\n\t\t\tthis.select.groupingSignal.set({\n\t\t\t\tselector: (option) => option.legalUnitId,\n\t\t\t\tcontent: LuEstablishmentGroupingComponent,\n\t\t\t});\n\t\t});\n\t}\n\n\tprotected override getOptions(params: Record<string, string | number | boolean> | null, page: number): Observable<T[]> {\n\t\tconst options$ = this.httpClient\n\t\t\t.get<T[] | { items: T[] }>(this.url(), {\n\t\t\t\tparams: {\n\t\t\t\t\t...params,\n\t\t\t\t\tpage: page + 1,\n\t\t\t\t\tlimit: this.pageSize,\n\t\t\t\t},\n\t\t\t})\n\t\t\t.pipe(map((res) => (Array.isArray(res) ? res : res?.items) ?? []));\n\n\t\treturn this.#groupingService.useGrouping$.pipe(switchMap(() => options$));\n\t}\n\n\tprotected override params$: Observable<Record<string, string | number | boolean>> = toObservable(\n\t\tcomputed(() => {\n\t\t\tconst operationIds = this.operationIds();\n\t\t\tconst uniqueOperationIds = this.uniqueOperationIds();\n\t\t\tconst appInstanceId = this.appInstanceId();\n\t\t\tconst clue = this.clue();\n\t\t\tconst searchDelimiter = this.searchDelimiter();\n\t\t\treturn {\n\t\t\t\t...this.filters(),\n\t\t\t\t...(clue\n\t\t\t\t\t? // When the clue is not empty, sort establishments by name\n\t\t\t\t\t\t{ search: applySearchDelimiter(clue, searchDelimiter), sort: 'name' }\n\t\t\t\t\t: // When the clue is empty, establishments are grouped by legal unit, so sort them by legal unit name and then by name\n\t\t\t\t\t\t{ sort: 'legalunit.name,name' }),\n\t\t\t\t...(operationIds ? { operations: operationIds.join(',') } : {}),\n\t\t\t\t...(uniqueOperationIds ? { uniqueOperations: uniqueOperationIds.join(',') } : {}),\n\t\t\t\t...(appInstanceId ? { appInstanceId } : {}),\n\t\t\t};\n\t\t}),\n\t);\n\n\tpublic totalCount$ = toObservable(computed(() => ({ url: this.url(), filters: this.filters() }))).pipe(\n\t\tdebounceTime(250),\n\t\tswitchMap(({ url, filters }) =>\n\t\t\tthis.httpClient.get<{ count: number }>(url, {\n\t\t\t\tparams: {\n\t\t\t\t\t...filters,\n\t\t\t\t\t['fields.root']: 'count',\n\t\t\t\t},\n\t\t\t}),\n\t\t),\n\t\tmap((res) => res?.count ?? 0),\n\t);\n\n\tprotected override optionKey = (option: T) => option.id;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -11,10 +11,10 @@ class LuJobQualificationGroupingComponent {
11
11
  constructor() {
12
12
  this.group = inject(PORTAL_CONTEXT).$implicit;
13
13
  }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: LuJobQualificationGroupingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: LuJobQualificationGroupingComponent, isStandalone: true, selector: "lu-job-qualification-grouping", ngImport: i0, template: `{{ group.options[0].job.name }}`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuJobQualificationGroupingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.14", type: LuJobQualificationGroupingComponent, isStandalone: true, selector: "lu-job-qualification-grouping", ngImport: i0, template: `{{ group.options[0].job.name }}`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
16
16
  }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: LuJobQualificationGroupingComponent, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuJobQualificationGroupingComponent, decorators: [{
18
18
  type: Component,
19
19
  args: [{
20
20
  selector: 'lu-job-qualification-grouping',
@@ -27,9 +27,9 @@ class LuCoreSelectJobQualificationsDirective extends ALuCoreSelectApiDirective {
27
27
  constructor() {
28
28
  super();
29
29
  this.httpClient = inject(HttpClient);
30
- this.url = input('/organization/structure/api/job-qualifications', ...(ngDevMode ? [{ debugName: "url" }] : []));
31
- this.filters = input(null, ...(ngDevMode ? [{ debugName: "filters" }] : []));
32
- this.searchDelimiter = input(' ', ...(ngDevMode ? [{ debugName: "searchDelimiter" }] : []));
30
+ this.url = input('/organization/structure/api/job-qualifications', ...(ngDevMode ? [{ debugName: "url" }] : /* istanbul ignore next */ []));
31
+ this.filters = input(null, ...(ngDevMode ? [{ debugName: "filters" }] : /* istanbul ignore next */ []));
32
+ this.searchDelimiter = input(' ', ...(ngDevMode ? [{ debugName: "searchDelimiter" }] : /* istanbul ignore next */ []));
33
33
  this.clue = toSignal(this.clue$);
34
34
  this.params$ = toObservable(computed(() => {
35
35
  const filters = this.filters();
@@ -67,15 +67,15 @@ class LuCoreSelectJobQualificationsDirective extends ALuCoreSelectApiDirective {
67
67
  })
68
68
  .pipe(map((res) => (Array.isArray(res) ? res : res?.items) ?? []));
69
69
  }
70
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: LuCoreSelectJobQualificationsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
71
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.8", type: LuCoreSelectJobQualificationsDirective, isStandalone: true, selector: "lu-simple-select[jobQualifications],lu-multi-select[jobQualifications]", inputs: { url: { classPropertyName: "url", publicName: "url", isSignal: true, isRequired: false, transformFunction: null }, filters: { classPropertyName: "filters", publicName: "filters", isSignal: true, isRequired: false, transformFunction: null }, searchDelimiter: { classPropertyName: "searchDelimiter", publicName: "searchDelimiter", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
70
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuCoreSelectJobQualificationsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
71
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.14", type: LuCoreSelectJobQualificationsDirective, isStandalone: true, selector: "lu-simple-select[jobQualifications],lu-multi-select[jobQualifications]", inputs: { url: { classPropertyName: "url", publicName: "url", isSignal: true, isRequired: false, transformFunction: null }, filters: { classPropertyName: "filters", publicName: "filters", isSignal: true, isRequired: false, transformFunction: null }, searchDelimiter: { classPropertyName: "searchDelimiter", publicName: "searchDelimiter", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
72
72
  {
73
73
  provide: CORE_SELECT_API_TOTAL_COUNT_PROVIDER,
74
74
  useExisting: forwardRef(() => LuCoreSelectJobQualificationsDirective),
75
75
  },
76
76
  ], exportAs: ["jobQualifications"], usesInheritance: true, ngImport: i0 }); }
77
77
  }
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: LuCoreSelectJobQualificationsDirective, decorators: [{
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuCoreSelectJobQualificationsDirective, decorators: [{
79
79
  type: Directive,
80
80
  args: [{
81
81
  // The attribute is already prefixed with "lu-simple-select" / "lu-multi-select"
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-core-select-job-qualification.mjs","sources":["../../../packages/ng/core-select/job-qualification/job-qualification-grouping.component.ts","../../../packages/ng/core-select/job-qualification/job-qualifications.directive.ts","../../../packages/ng/core-select/job-qualification/lucca-front-ng-core-select-job-qualification.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { PORTAL_CONTEXT } from '@lucca-front/ng/core';\nimport { LuOptionGroupByContext } from '@lucca-front/ng/core-select';\nimport { LuCoreSelectJobQualification } from './models';\n\n@Component({\n\tselector: 'lu-job-qualification-grouping',\n\ttemplate: `{{ group.options[0].job.name }}`,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LuJobQualificationGroupingComponent {\n\tgroup = inject<LuOptionGroupByContext<LuCoreSelectJobQualification, number>>(PORTAL_CONTEXT).$implicit;\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Directive, OnInit, computed, forwardRef, inject, input } from '@angular/core';\nimport { toObservable, toSignal } from '@angular/core/rxjs-interop';\nimport { CORE_SELECT_API_TOTAL_COUNT_PROVIDER, CoreSelectApiTotalCountProvider, applySearchDelimiter } from '@lucca-front/ng/core-select';\nimport { ALuCoreSelectApiDirective } from '@lucca-front/ng/core-select/api';\nimport { Observable, debounceTime, map, switchMap } from 'rxjs';\nimport { LuJobQualificationGroupingComponent } from './job-qualification-grouping.component';\nimport { LuCoreSelectJobQualification } from './models';\n\n@Directive({\n\t// The attribute is already prefixed with \"lu-simple-select\" / \"lu-multi-select\"\n\t// eslint-disable-next-line @angular-eslint/directive-selector\n\tselector: 'lu-simple-select[jobQualifications],lu-multi-select[jobQualifications]',\n\texportAs: 'jobQualifications',\n\tproviders: [\n\t\t{\n\t\t\tprovide: CORE_SELECT_API_TOTAL_COUNT_PROVIDER,\n\t\t\tuseExisting: forwardRef(() => LuCoreSelectJobQualificationsDirective),\n\t\t},\n\t],\n})\nexport class LuCoreSelectJobQualificationsDirective<T extends LuCoreSelectJobQualification = LuCoreSelectJobQualification>\n\textends ALuCoreSelectApiDirective<T>\n\timplements OnInit, CoreSelectApiTotalCountProvider\n{\n\tprotected httpClient = inject(HttpClient);\n\n\turl = input<string>('/organization/structure/api/job-qualifications');\n\tfilters = input<Record<string, string | number | boolean> | null>(null);\n\tsearchDelimiter = input<string>(' ');\n\n\tprotected clue = toSignal(this.clue$);\n\n\tpublic constructor() {\n\t\tsuper();\n\n\t\tthis.select.groupingSignal.set({\n\t\t\tselector: (option) => option.job.id,\n\t\t\tcontent: LuJobQualificationGroupingComponent,\n\t\t});\n\t}\n\n\tprotected override getOptions(params: Record<string, string | number | boolean> | null, page: number): Observable<T[]> {\n\t\treturn this.httpClient\n\t\t\t.get<T[] | { items: T[] }>(this.url(), {\n\t\t\t\tparams: {\n\t\t\t\t\t...params,\n\t\t\t\t\tpage: page + 1,\n\t\t\t\t\tlimit: this.pageSize,\n\t\t\t\t},\n\t\t\t})\n\t\t\t.pipe(map((res) => (Array.isArray(res) ? res : res?.items) ?? []));\n\t}\n\n\tprotected override params$: Observable<Record<string, string | number | boolean>> = toObservable(\n\t\tcomputed(() => {\n\t\t\tconst filters = this.filters();\n\t\t\tconst clue = this.clue();\n\t\t\treturn {\n\t\t\t\t...filters,\n\t\t\t\t...(clue\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tsearch: applySearchDelimiter(clue, this.searchDelimiter()),\n\t\t\t\t\t\t\tsort: 'name',\n\t\t\t\t\t\t}\n\t\t\t\t\t: { sort: 'job.name,level.position' }),\n\t\t\t};\n\t\t}),\n\t);\n\n\tpublic totalCount$ = toObservable(computed(() => ({ url: this.url(), filters: this.filters() }))).pipe(\n\t\tdebounceTime(250),\n\t\tswitchMap(({ url, filters }) =>\n\t\t\tthis.httpClient.get<{ count: number }>(url, {\n\t\t\t\tparams: {\n\t\t\t\t\t...filters,\n\t\t\t\t\t['fields.root']: 'count',\n\t\t\t\t},\n\t\t\t}),\n\t\t),\n\t\tmap((res) => res?.count ?? 0),\n\t);\n\n\tprotected override optionKey = (option: T) => option.id;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lucca-front-ng-core-select-job-qualification.mjs","sources":["../../../packages/ng/core-select/job-qualification/job-qualification-grouping.component.ts","../../../packages/ng/core-select/job-qualification/job-qualifications.directive.ts","../../../packages/ng/core-select/job-qualification/lucca-front-ng-core-select-job-qualification.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { PORTAL_CONTEXT } from '@lucca-front/ng/core';\nimport { LuOptionGroupByContext } from '@lucca-front/ng/core-select';\nimport { LuCoreSelectJobQualification } from './models';\n\n@Component({\n\tselector: 'lu-job-qualification-grouping',\n\ttemplate: `{{ group.options[0].job.name }}`,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LuJobQualificationGroupingComponent {\n\tgroup = inject<LuOptionGroupByContext<LuCoreSelectJobQualification, number>>(PORTAL_CONTEXT).$implicit;\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Directive, OnInit, computed, forwardRef, inject, input } from '@angular/core';\nimport { toObservable, toSignal } from '@angular/core/rxjs-interop';\nimport { CORE_SELECT_API_TOTAL_COUNT_PROVIDER, CoreSelectApiTotalCountProvider, applySearchDelimiter } from '@lucca-front/ng/core-select';\nimport { ALuCoreSelectApiDirective } from '@lucca-front/ng/core-select/api';\nimport { Observable, debounceTime, map, switchMap } from 'rxjs';\nimport { LuJobQualificationGroupingComponent } from './job-qualification-grouping.component';\nimport { LuCoreSelectJobQualification } from './models';\n\n@Directive({\n\t// The attribute is already prefixed with \"lu-simple-select\" / \"lu-multi-select\"\n\t// eslint-disable-next-line @angular-eslint/directive-selector\n\tselector: 'lu-simple-select[jobQualifications],lu-multi-select[jobQualifications]',\n\texportAs: 'jobQualifications',\n\tproviders: [\n\t\t{\n\t\t\tprovide: CORE_SELECT_API_TOTAL_COUNT_PROVIDER,\n\t\t\tuseExisting: forwardRef(() => LuCoreSelectJobQualificationsDirective),\n\t\t},\n\t],\n})\nexport class LuCoreSelectJobQualificationsDirective<T extends LuCoreSelectJobQualification = LuCoreSelectJobQualification>\n\textends ALuCoreSelectApiDirective<T>\n\timplements OnInit, CoreSelectApiTotalCountProvider\n{\n\tprotected httpClient = inject(HttpClient);\n\n\turl = input<string>('/organization/structure/api/job-qualifications');\n\tfilters = input<Record<string, string | number | boolean> | null>(null);\n\tsearchDelimiter = input<string>(' ');\n\n\tprotected clue = toSignal(this.clue$);\n\n\tpublic constructor() {\n\t\tsuper();\n\n\t\tthis.select.groupingSignal.set({\n\t\t\tselector: (option) => option.job.id,\n\t\t\tcontent: LuJobQualificationGroupingComponent,\n\t\t});\n\t}\n\n\tprotected override getOptions(params: Record<string, string | number | boolean> | null, page: number): Observable<T[]> {\n\t\treturn this.httpClient\n\t\t\t.get<T[] | { items: T[] }>(this.url(), {\n\t\t\t\tparams: {\n\t\t\t\t\t...params,\n\t\t\t\t\tpage: page + 1,\n\t\t\t\t\tlimit: this.pageSize,\n\t\t\t\t},\n\t\t\t})\n\t\t\t.pipe(map((res) => (Array.isArray(res) ? res : res?.items) ?? []));\n\t}\n\n\tprotected override params$: Observable<Record<string, string | number | boolean>> = toObservable(\n\t\tcomputed(() => {\n\t\t\tconst filters = this.filters();\n\t\t\tconst clue = this.clue();\n\t\t\treturn {\n\t\t\t\t...filters,\n\t\t\t\t...(clue\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tsearch: applySearchDelimiter(clue, this.searchDelimiter()),\n\t\t\t\t\t\t\tsort: 'name',\n\t\t\t\t\t\t}\n\t\t\t\t\t: { sort: 'job.name,level.position' }),\n\t\t\t};\n\t\t}),\n\t);\n\n\tpublic totalCount$ = toObservable(computed(() => ({ url: this.url(), filters: this.filters() }))).pipe(\n\t\tdebounceTime(250),\n\t\tswitchMap(({ url, filters }) =>\n\t\t\tthis.httpClient.get<{ count: number }>(url, {\n\t\t\t\tparams: {\n\t\t\t\t\t...filters,\n\t\t\t\t\t['fields.root']: 'count',\n\t\t\t\t},\n\t\t\t}),\n\t\t),\n\t\tmap((res) => res?.count ?? 0),\n\t);\n\n\tprotected override optionKey = (option: T) => option.id;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -10,9 +10,9 @@ class LuCoreSelectOccupationCategoriesDirective extends ALuCoreSelectApiDirectiv
10
10
  constructor() {
11
11
  super(...arguments);
12
12
  this.httpClient = inject(HttpClient);
13
- this.url = input('/organization/structure/api/occupation-categories', ...(ngDevMode ? [{ debugName: "url" }] : []));
14
- this.filters = input(null, ...(ngDevMode ? [{ debugName: "filters" }] : []));
15
- this.searchDelimiter = input(' ', ...(ngDevMode ? [{ debugName: "searchDelimiter" }] : []));
13
+ this.url = input('/organization/structure/api/occupation-categories', ...(ngDevMode ? [{ debugName: "url" }] : /* istanbul ignore next */ []));
14
+ this.filters = input(null, ...(ngDevMode ? [{ debugName: "filters" }] : /* istanbul ignore next */ []));
15
+ this.searchDelimiter = input(' ', ...(ngDevMode ? [{ debugName: "searchDelimiter" }] : /* istanbul ignore next */ []));
16
16
  this.clue = toSignal(this.clue$);
17
17
  this.params$ = toObservable(computed(() => {
18
18
  const filters = this.filters();
@@ -46,15 +46,15 @@ class LuCoreSelectOccupationCategoriesDirective extends ALuCoreSelectApiDirectiv
46
46
  })
47
47
  .pipe(map((res) => (Array.isArray(res) ? res : res?.items) ?? []));
48
48
  }
49
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: LuCoreSelectOccupationCategoriesDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
50
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.8", type: LuCoreSelectOccupationCategoriesDirective, isStandalone: true, selector: "lu-simple-select[occupationCategories],lu-multi-select[occupationCategories]", inputs: { url: { classPropertyName: "url", publicName: "url", isSignal: true, isRequired: false, transformFunction: null }, filters: { classPropertyName: "filters", publicName: "filters", isSignal: true, isRequired: false, transformFunction: null }, searchDelimiter: { classPropertyName: "searchDelimiter", publicName: "searchDelimiter", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
49
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuCoreSelectOccupationCategoriesDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
50
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.14", type: LuCoreSelectOccupationCategoriesDirective, isStandalone: true, selector: "lu-simple-select[occupationCategories],lu-multi-select[occupationCategories]", inputs: { url: { classPropertyName: "url", publicName: "url", isSignal: true, isRequired: false, transformFunction: null }, filters: { classPropertyName: "filters", publicName: "filters", isSignal: true, isRequired: false, transformFunction: null }, searchDelimiter: { classPropertyName: "searchDelimiter", publicName: "searchDelimiter", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
51
51
  {
52
52
  provide: CORE_SELECT_API_TOTAL_COUNT_PROVIDER,
53
53
  useExisting: forwardRef(() => LuCoreSelectOccupationCategoriesDirective),
54
54
  },
55
55
  ], exportAs: ["occupationCategories"], usesInheritance: true, ngImport: i0 }); }
56
56
  }
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: LuCoreSelectOccupationCategoriesDirective, decorators: [{
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuCoreSelectOccupationCategoriesDirective, decorators: [{
58
58
  type: Directive,
59
59
  args: [{
60
60
  // The attribute is already prefixed with "lu-simple-select" / "lu-multi-select"
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-core-select-occupation-category.mjs","sources":["../../../packages/ng/core-select/occupation-category/occupation-category.directive.ts","../../../packages/ng/core-select/occupation-category/lucca-front-ng-core-select-occupation-category.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { Directive, OnInit, computed, forwardRef, inject, input } from '@angular/core';\nimport { toObservable, toSignal } from '@angular/core/rxjs-interop';\nimport { CORE_SELECT_API_TOTAL_COUNT_PROVIDER, CoreSelectApiTotalCountProvider, applySearchDelimiter } from '@lucca-front/ng/core-select';\nimport { ALuCoreSelectApiDirective } from '@lucca-front/ng/core-select/api';\nimport { Observable, debounceTime, map, switchMap } from 'rxjs';\nimport { LuCoreSelectOccupationCategory } from './models';\n\n@Directive({\n\t// The attribute is already prefixed with \"lu-simple-select\" / \"lu-multi-select\"\n\t// eslint-disable-next-line @angular-eslint/directive-selector\n\tselector: 'lu-simple-select[occupationCategories],lu-multi-select[occupationCategories]',\n\tstandalone: true,\n\texportAs: 'occupationCategories',\n\tproviders: [\n\t\t{\n\t\t\tprovide: CORE_SELECT_API_TOTAL_COUNT_PROVIDER,\n\t\t\tuseExisting: forwardRef(() => LuCoreSelectOccupationCategoriesDirective),\n\t\t},\n\t],\n})\nexport class LuCoreSelectOccupationCategoriesDirective<T extends LuCoreSelectOccupationCategory = LuCoreSelectOccupationCategory>\n\textends ALuCoreSelectApiDirective<T>\n\timplements OnInit, CoreSelectApiTotalCountProvider\n{\n\tprotected httpClient = inject(HttpClient);\n\n\turl = input<string>('/organization/structure/api/occupation-categories');\n\tfilters = input<Record<string, string | number | boolean> | null>(null);\n\tsearchDelimiter = input<string>(' ');\n\n\tprotected clue = toSignal(this.clue$);\n\n\tprotected override getOptions(params: Record<string, string | number | boolean> | null, page: number): Observable<T[]> {\n\t\treturn this.httpClient\n\t\t\t.get<T[] | { items: T[] }>(this.url(), {\n\t\t\t\tparams: {\n\t\t\t\t\t...params,\n\t\t\t\t\tpage: page + 1,\n\t\t\t\t\tlimit: this.pageSize,\n\t\t\t\t},\n\t\t\t})\n\t\t\t.pipe(map((res) => (Array.isArray(res) ? res : res?.items) ?? []));\n\t}\n\n\tprotected override params$: Observable<Record<string, string | number | boolean>> = toObservable(\n\t\tcomputed(() => {\n\t\t\tconst filters = this.filters();\n\t\t\tconst clue = this.clue();\n\t\t\treturn {\n\t\t\t\t...filters,\n\t\t\t\t...(clue\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tsearch: applySearchDelimiter(clue, this.searchDelimiter()),\n\t\t\t\t\t\t\tsort: 'name',\n\t\t\t\t\t\t}\n\t\t\t\t\t: { sort: 'name' }),\n\t\t\t};\n\t\t}),\n\t);\n\n\tpublic totalCount$ = toObservable(computed(() => ({ url: this.url(), filters: this.filters() }))).pipe(\n\t\tdebounceTime(250),\n\t\tswitchMap(({ url, filters }) =>\n\t\t\tthis.httpClient.get<{ count: number }>(url, {\n\t\t\t\tparams: {\n\t\t\t\t\t...filters,\n\t\t\t\t\t['fields.root']: 'count',\n\t\t\t\t},\n\t\t\t}),\n\t\t),\n\t\tmap((res) => res?.count ?? 0),\n\t);\n\n\tprotected override optionKey = (option: T) => option.id;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lucca-front-ng-core-select-occupation-category.mjs","sources":["../../../packages/ng/core-select/occupation-category/occupation-category.directive.ts","../../../packages/ng/core-select/occupation-category/lucca-front-ng-core-select-occupation-category.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { Directive, OnInit, computed, forwardRef, inject, input } from '@angular/core';\nimport { toObservable, toSignal } from '@angular/core/rxjs-interop';\nimport { CORE_SELECT_API_TOTAL_COUNT_PROVIDER, CoreSelectApiTotalCountProvider, applySearchDelimiter } from '@lucca-front/ng/core-select';\nimport { ALuCoreSelectApiDirective } from '@lucca-front/ng/core-select/api';\nimport { Observable, debounceTime, map, switchMap } from 'rxjs';\nimport { LuCoreSelectOccupationCategory } from './models';\n\n@Directive({\n\t// The attribute is already prefixed with \"lu-simple-select\" / \"lu-multi-select\"\n\t// eslint-disable-next-line @angular-eslint/directive-selector\n\tselector: 'lu-simple-select[occupationCategories],lu-multi-select[occupationCategories]',\n\tstandalone: true,\n\texportAs: 'occupationCategories',\n\tproviders: [\n\t\t{\n\t\t\tprovide: CORE_SELECT_API_TOTAL_COUNT_PROVIDER,\n\t\t\tuseExisting: forwardRef(() => LuCoreSelectOccupationCategoriesDirective),\n\t\t},\n\t],\n})\nexport class LuCoreSelectOccupationCategoriesDirective<T extends LuCoreSelectOccupationCategory = LuCoreSelectOccupationCategory>\n\textends ALuCoreSelectApiDirective<T>\n\timplements OnInit, CoreSelectApiTotalCountProvider\n{\n\tprotected httpClient = inject(HttpClient);\n\n\turl = input<string>('/organization/structure/api/occupation-categories');\n\tfilters = input<Record<string, string | number | boolean> | null>(null);\n\tsearchDelimiter = input<string>(' ');\n\n\tprotected clue = toSignal(this.clue$);\n\n\tprotected override getOptions(params: Record<string, string | number | boolean> | null, page: number): Observable<T[]> {\n\t\treturn this.httpClient\n\t\t\t.get<T[] | { items: T[] }>(this.url(), {\n\t\t\t\tparams: {\n\t\t\t\t\t...params,\n\t\t\t\t\tpage: page + 1,\n\t\t\t\t\tlimit: this.pageSize,\n\t\t\t\t},\n\t\t\t})\n\t\t\t.pipe(map((res) => (Array.isArray(res) ? res : res?.items) ?? []));\n\t}\n\n\tprotected override params$: Observable<Record<string, string | number | boolean>> = toObservable(\n\t\tcomputed(() => {\n\t\t\tconst filters = this.filters();\n\t\t\tconst clue = this.clue();\n\t\t\treturn {\n\t\t\t\t...filters,\n\t\t\t\t...(clue\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tsearch: applySearchDelimiter(clue, this.searchDelimiter()),\n\t\t\t\t\t\t\tsort: 'name',\n\t\t\t\t\t\t}\n\t\t\t\t\t: { sort: 'name' }),\n\t\t\t};\n\t\t}),\n\t);\n\n\tpublic totalCount$ = toObservable(computed(() => ({ url: this.url(), filters: this.filters() }))).pipe(\n\t\tdebounceTime(250),\n\t\tswitchMap(({ url, filters }) =>\n\t\t\tthis.httpClient.get<{ count: number }>(url, {\n\t\t\t\tparams: {\n\t\t\t\t\t...filters,\n\t\t\t\t\t['fields.root']: 'count',\n\t\t\t\t},\n\t\t\t}),\n\t\t),\n\t\tmap((res) => res?.count ?? 0),\n\t);\n\n\tprotected override optionKey = (option: T) => option.id;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -63,7 +63,7 @@ const FORMER_EMPLOYEES_CONTEXT = new InjectionToken('FormerEmployeesContext');
63
63
  class LuCoreSelectFormerEmployeesComponent {
64
64
  #selectableItem;
65
65
  constructor() {
66
- this.intl = input(...intlInputOptions(LU_CORE_SELECT_USER_TRANSLATIONS), ...(ngDevMode ? [{ debugName: "intl" }] : []));
66
+ this.intl = input(...intlInputOptions(LU_CORE_SELECT_USER_TRANSLATIONS), ...(ngDevMode ? [{ debugName: "intl" }] : /* istanbul ignore next */ []));
67
67
  this.context = inject(FORMER_EMPLOYEES_CONTEXT);
68
68
  this.#selectableItem = inject(_CoreSelectPanelElement);
69
69
  this.#selectableItem.id.set('select-former-employees');
@@ -78,8 +78,8 @@ class LuCoreSelectFormerEmployeesComponent {
78
78
  $event.preventDefault();
79
79
  $event.stopPropagation();
80
80
  }
81
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: LuCoreSelectFormerEmployeesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
82
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.8", type: LuCoreSelectFormerEmployeesComponent, isStandalone: true, selector: "lu-core-select-former-employees", inputs: { intl: { classPropertyName: "intl", publicName: "intl", isSignal: true, isRequired: false, transformFunction: null } }, hostDirectives: [{ directive: i1.ɵCoreSelectPanelElement }], ngImport: i0, template: `
81
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuCoreSelectFormerEmployeesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
82
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.14", type: LuCoreSelectFormerEmployeesComponent, isStandalone: true, selector: "lu-core-select-former-employees", inputs: { intl: { classPropertyName: "intl", publicName: "intl", isSignal: true, isRequired: false, transformFunction: null } }, hostDirectives: [{ directive: i1.ɵCoreSelectPanelElement }], ngImport: i0, template: `
83
83
  <div class="formerEmployeeDisplayer optionItem">
84
84
  <div class="optionItem-value" [class.is-selected]="context.includeFormerEmployees()" (mousedown)="onMouseDown($event)">
85
85
  {{ intl().includeFormerEmployees }}
@@ -87,7 +87,7 @@ class LuCoreSelectFormerEmployeesComponent {
87
87
  </div>
88
88
  `, isInline: true, styles: ["@charset \"UTF-8\";@layer base{:root{--components-options-item-padding-vertical: var(--pr-t-spacings-50);--components-options-item-padding-horizontal: var(--pr-t-spacings-100);--components-options-item-multiple-padding: 2.25rem;--components-options-item-icon-color: var(--palettes-neutral-800);--components-options-checkbox-size: 1.25rem;--components-options-checkbox-color: var(--palettes-700, var(--palettes-product-700));--components-options-checkbox-border-radius: var(--pr-t-border-radius-small);--components-options-checkbox-border-color: var(--palettes-neutral-700);--components-options-establishment-multiple-padding: 2rem}}@layer reset,base,components,mods,product,utils;@layer components{:host{--components-options-checkbox-color: var(--palettes-700, var(--palettes-product-700));display:block;scroll-margin:var(--pr-t-spacings-50)}.lu-picker-content-group :host{scroll-margin-block-start:var(--pr-t-spacings-400)}}@layer mods{:host.withAddOption{scroll-margin-block-end:var(--pr-t-spacings-600)}}@layer components{.optionItem{position:relative}}@layer components{.optionItem-value{position:relative;border-radius:var(--pr-t-border-radius-default);display:block;padding-block:var(--components-options-item-padding-vertical);padding-inline:var(--components-options-item-padding-horizontal);transition:background-color 50ms;cursor:pointer;overflow-wrap:anywhere}.optionItem-value ::ng-deep .avatar{margin-inline-end:var(--pr-t-spacings-75)}}@layer mods{.optionItem-value.is-selected,:host-context([aria-selected=true]) .optionItem-value{background-color:var(--palettes-50, var(--palettes-product-50))}.optionItem-value.is-selected:before,:host-context([aria-selected=true]) .optionItem-value:before{content:\"\";position:absolute;inset-block:0;inset-inline-start:calc(var(--pr-t-spacings-50) * -1);inline-size:2px;background-color:var(--palettes-700, var(--palettes-product-700));border-start-end-radius:var(--pr-t-border-radius-default);border-end-end-radius:var(--pr-t-border-radius-default)}.optionItem-value.is-selected:hover,:host-context([aria-selected=true]) .optionItem-value:hover{background-color:var(--palettes-100, var(--palettes-product-100))}.optionItem-value.is-selected:active,:host-context([aria-selected=true]) .optionItem-value:active{background-color:var(--palettes-200, var(--palettes-product-200))}:host-context(.is-highlighted) .optionItem-value.is-selected,:host-context(.is-highlighted) :host-context([aria-selected=true]) .optionItem-value{background-color:var(--palettes-100, var(--palettes-product-100))}:host-context(.is-highlighted) .optionItem-value.is-selected:hover,:host-context(.is-highlighted) :host-context([aria-selected=true]) .optionItem-value:hover{background-color:var(--palettes-200, var(--palettes-product-200))}.optionItem-value:hover{background-color:var(--palettes-neutral-50)}:host-context(.is-highlighted) .optionItem-value{background-color:var(--palettes-neutral-50)}:host-context(.is-highlighted) .optionItem-value:hover{background-color:var(--palettes-neutral-50)}:host-context(.is-highlighted) .optionItem-value:active{background-color:var(--palettes-neutral-100)}.optionItem-value:active{background-color:var(--palettes-neutral-100)}}@layer components{.optionItem-value-group{color:var(--palettes-neutral-600);font:var(--pr-t-font-body-S)}}@layer components{:host-context(.lu-select-value) .optionItem-value{padding:0;overflow:hidden;text-overflow:ellipsis}}@layer mods{:host-context(.lu-select-value) .optionItem-value:hover,:host-context(.is-highlighted) :host-context(.lu-select-value) .optionItem-value{background-color:inherit}}@layer mods{:host-context(.mod-multiple) .optionItem-value,.formerEmployeeDisplayer .optionItem-value{position:relative;padding-inline-start:var(--components-options-item-multiple-padding)}:host-context(.mod-multiple) .optionItem-value:after,:host-context(.mod-multiple) .optionItem-value:before,.formerEmployeeDisplayer .optionItem-value:after,.formerEmployeeDisplayer .optionItem-value:before{display:block;position:absolute;inset-inline-start:var(--pr-t-spacings-100);inset-block-start:var(--pr-t-spacings-75)}:host-context(.mod-multiple) .optionItem-value:before,.formerEmployeeDisplayer .optionItem-value:before{content:\"\";background-color:var(--palettes-neutral-0);border-radius:var(--components-options-checkbox-border-radius);box-shadow:inset 0 0 0 2px var(--components-options-checkbox-border-color);display:block;block-size:var(--components-options-checkbox-size);transition-property:background-color,box-shadow;transition-duration:var(--commons-animations-durations-fast);inline-size:var(--components-options-checkbox-size)}:host-context(.mod-multiple) .optionItem-value:after,.formerEmployeeDisplayer .optionItem-value:after{--icon-content: \"\\e97d\";font-weight:var(--pr-t-font-fontWeight-regular);display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:var(--icon-fontFamily);content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none;color:transparent;font-size:var(--pr-t-font-body-S-lineHeight);line-height:var(--components-options-checkbox-size);position:absolute;text-align:center;transform:scale(0);transition:all .1s;inline-size:var(--components-options-checkbox-size)}:host-context(.mod-multiple) .optionItem-value.is-selected:before,:host-context([aria-selected=true]) :host-context(.mod-multiple) .optionItem-value:before,.formerEmployeeDisplayer .optionItem-value.is-selected:before,:host-context([aria-selected=true]) .formerEmployeeDisplayer .optionItem-value:before{background-color:var(--components-options-checkbox-color);box-shadow:inset 0 0 0 2px var(--components-options-checkbox-color)}:host-context(.mod-multiple) .optionItem-value.is-selected:after,:host-context([aria-selected=true]) :host-context(.mod-multiple) .optionItem-value:after,.formerEmployeeDisplayer .optionItem-value.is-selected:after,:host-context([aria-selected=true]) .formerEmployeeDisplayer .optionItem-value:after{color:var(--palettes-neutral-0);transform:scale(1)}:host-context(.mod-multiple) .optionItem-value.is-selected.is-disabled,:host-context([aria-selected=true]) :host-context(.mod-multiple) .optionItem-value.is-disabled,.formerEmployeeDisplayer .optionItem-value.is-selected.is-disabled,:host-context([aria-selected=true]) .formerEmployeeDisplayer .optionItem-value.is-disabled{--components-options-checkbox-color: var(--commons-disabled-background);background-color:transparent}:host-context(.mod-multiple) .optionItem-value.is-selected.is-disabled:after,:host-context([aria-selected=true]) :host-context(.mod-multiple) .optionItem-value.is-disabled:after,.formerEmployeeDisplayer .optionItem-value.is-selected.is-disabled:after,:host-context([aria-selected=true]) .formerEmployeeDisplayer .optionItem-value.is-disabled:after{color:var(--palettes-neutral-500)}:host-context(.mod-multiple) .optionItem-value.is-disabled,.formerEmployeeDisplayer .optionItem-value.is-disabled{--components-options-checkbox-border-color: var(--palettes-neutral-500)}:host-context(.mod-multiple) .optionItem-value:not(.is-disabled):hover:before,.formerEmployeeDisplayer .optionItem-value:not(.is-disabled):hover:before{box-shadow:inset 0 0 0 2px var(--components-options-checkbox-color)}}@layer components{:host-context(.mod-multiple).establishmentOption .optionItem-value,.formerEmployeeDisplayer.establishmentOption .optionItem-value{position:relative;padding-inline-start:calc(var(--components-options-checkbox-size) + var(--pr-t-spacings-100) * 2)}:host-context(.mod-multiple).establishmentOption .optionItem-value:before,:host-context(.mod-multiple).establishmentOption .optionItem-value:after,.formerEmployeeDisplayer.establishmentOption .optionItem-value:before,.formerEmployeeDisplayer.establishmentOption .optionItem-value:after{inset-inline-start:var(--pr-t-spacings-100)}}@layer components{:host{display:block;background-color:var(--palettes-neutral-0);border-block-end:1px solid var(--commons-border-200);padding-block:0 var(--components-options-item-padding-vertical);padding-inline:var(--pr-t-spacings-50);margin-block:0 var(--components-options-item-padding-vertical);margin-inline:calc(-1 * var(--pr-t-spacings-50))}}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
89
89
  }
90
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: LuCoreSelectFormerEmployeesComponent, decorators: [{
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuCoreSelectFormerEmployeesComponent, decorators: [{
91
91
  type: Component,
92
92
  args: [{ selector: 'lu-core-select-former-employees', imports: [FormsModule], hostDirectives: [_CoreSelectPanelElement], template: `
93
93
  <div class="formerEmployeeDisplayer optionItem">
@@ -103,14 +103,14 @@ class LuUserDisplayerComponent {
103
103
  this.context = inject(LU_OPTION_CONTEXT);
104
104
  this.userDirective = inject(LuCoreSelectUsersDirective);
105
105
  }
106
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: LuUserDisplayerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
107
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: LuUserDisplayerComponent, isStandalone: true, selector: "lu-user-displayer", ngImport: i0, template: `
106
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuUserDisplayerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
107
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.14", type: LuUserDisplayerComponent, isStandalone: true, selector: "lu-user-displayer", ngImport: i0, template: `
108
108
  @if (context.option$ | async; as user) {
109
109
  <span translate="no">{{ user | luUserDisplay: userDirective.displayFormat() }}</span>
110
110
  }
111
111
  `, isInline: true, dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: LuUserDisplayPipe, name: "luUserDisplay" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
112
112
  }
113
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: LuUserDisplayerComponent, decorators: [{
113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuUserDisplayerComponent, decorators: [{
114
114
  type: Component,
115
115
  args: [{
116
116
  selector: 'lu-user-displayer',
@@ -174,10 +174,10 @@ class LuCoreSelectUserHomonymsService {
174
174
  };
175
175
  }));
176
176
  }
177
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: LuCoreSelectUserHomonymsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
178
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: LuCoreSelectUserHomonymsService, providedIn: 'root' }); }
177
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuCoreSelectUserHomonymsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
178
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuCoreSelectUserHomonymsService, providedIn: 'root' }); }
179
179
  }
180
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: LuCoreSelectUserHomonymsService, decorators: [{
180
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuCoreSelectUserHomonymsService, decorators: [{
181
181
  type: Injectable,
182
182
  args: [{ providedIn: 'root' }]
183
183
  }] });
@@ -186,12 +186,12 @@ class LuUserOptionComponent {
186
186
  constructor() {
187
187
  this.context = inject(LU_OPTION_CONTEXT);
188
188
  this.userDirective = inject(LuCoreSelectUsersDirective);
189
- this.intl = input(...intlInputOptions(LU_CORE_SELECT_USER_TRANSLATIONS), ...(ngDevMode ? [{ debugName: "intl" }] : []));
189
+ this.intl = input(...intlInputOptions(LU_CORE_SELECT_USER_TRANSLATIONS), ...(ngDevMode ? [{ debugName: "intl" }] : /* istanbul ignore next */ []));
190
190
  this.hasEmptyClue$ = this.userDirective.select.clueChange$.pipe(startWith(this.userDirective.select.clue), map((clue) => !clue));
191
191
  this.customUserOptionTpl = this.userDirective.customUserOptionTpl;
192
192
  }
193
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: LuUserOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
194
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: LuUserOptionComponent, isStandalone: true, selector: "lu-user-option", inputs: { intl: { classPropertyName: "intl", publicName: "intl", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
193
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuUserOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
194
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.14", type: LuUserOptionComponent, isStandalone: true, selector: "lu-user-option", inputs: { intl: { classPropertyName: "intl", publicName: "intl", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
195
195
  @if (context.option$ | async; as user) {
196
196
  @if (userDirective.displayMeOption() && user.id === userDirective.currentUserId && hasEmptyClue$ | async) {
197
197
  <div>
@@ -212,7 +212,7 @@ class LuUserOptionComponent {
212
212
  </ng-template>
213
213
  `, isInline: true, styles: [".lu-select-additionalInformation{font-size:80%;font-style:italic;margin-block-start:-.25em}\n"], dependencies: [{ kind: "directive", type: _LuOptionOutletDirective, selector: "[luOptionOutlet]", inputs: ["luOptionOutlet", "luOptionOutletValue", "luOptionShowNull"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: LuUserDisplayPipe, name: "luUserDisplay" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
214
214
  }
215
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: LuUserOptionComponent, decorators: [{
215
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuUserOptionComponent, decorators: [{
216
216
  type: Component,
217
217
  args: [{ selector: 'lu-user-option', imports: [AsyncPipe, LuUserDisplayPipe, _LuOptionOutletDirective], template: `
218
218
  @if (context.option$ | async; as user) {
@@ -272,20 +272,20 @@ class LuCoreSelectUsersDirective extends ALuCoreSelectApiDirective {
272
272
  this.#userFields = 'id,firstName,lastName,picture.href';
273
273
  this.httpClient = inject(HttpClient);
274
274
  this.currentUserId = inject(LU_CORE_SELECT_CURRENT_USER_ID);
275
- this.displayFormat = input(LuDisplayFullname.lastfirst, ...(ngDevMode ? [{ debugName: "displayFormat" }] : []));
276
- this.filters = input({}, ...(ngDevMode ? [{ debugName: "filters" }] : []));
277
- this.url = input(null, ...(ngDevMode ? [{ debugName: "url" }] : []));
278
- this.orderBy = input(null, ...(ngDevMode ? [{ debugName: "orderBy" }] : []));
279
- this.operationIds = input(null, ...(ngDevMode ? [{ debugName: "operationIds" }] : []));
280
- this.uniqueOperationIds = input(null, ...(ngDevMode ? [{ debugName: "uniqueOperationIds" }] : []));
281
- this.appInstanceId = input(null, ...(ngDevMode ? [{ debugName: "appInstanceId" }] : []));
282
- this.enableFormerEmployees = input(false, { ...(ngDevMode ? { debugName: "enableFormerEmployees" } : {}), transform: booleanAttribute });
283
- this.displayMeOption = input(true, ...(ngDevMode ? [{ debugName: "displayMeOption" }] : []));
284
- this.customUserOptionTpl = model(...(ngDevMode ? [undefined, { debugName: "customUserOptionTpl" }] : []));
285
- this.includeFormerEmployees = signal(false, ...(ngDevMode ? [{ debugName: "includeFormerEmployees" }] : []));
286
- this.searchDelimiter = input(' ', ...(ngDevMode ? [{ debugName: "searchDelimiter" }] : []));
287
- this.defaultUrl = computed(() => (this.uniqueOperationIds()?.length || (this.appInstanceId() && this.operationIds()?.length) ? this.#defaultScopedSearchUrl : this.#defaultSearchUrl), ...(ngDevMode ? [{ debugName: "defaultUrl" }] : []));
288
- this.urlOrDefault = computed(() => this.url() ?? this.defaultUrl(), ...(ngDevMode ? [{ debugName: "urlOrDefault" }] : []));
275
+ this.displayFormat = input(LuDisplayFullname.lastfirst, ...(ngDevMode ? [{ debugName: "displayFormat" }] : /* istanbul ignore next */ []));
276
+ this.filters = input({}, ...(ngDevMode ? [{ debugName: "filters" }] : /* istanbul ignore next */ []));
277
+ this.url = input(null, ...(ngDevMode ? [{ debugName: "url" }] : /* istanbul ignore next */ []));
278
+ this.orderBy = input(null, ...(ngDevMode ? [{ debugName: "orderBy" }] : /* istanbul ignore next */ []));
279
+ this.operationIds = input(null, ...(ngDevMode ? [{ debugName: "operationIds" }] : /* istanbul ignore next */ []));
280
+ this.uniqueOperationIds = input(null, ...(ngDevMode ? [{ debugName: "uniqueOperationIds" }] : /* istanbul ignore next */ []));
281
+ this.appInstanceId = input(null, ...(ngDevMode ? [{ debugName: "appInstanceId" }] : /* istanbul ignore next */ []));
282
+ this.enableFormerEmployees = input(false, { ...(ngDevMode ? { debugName: "enableFormerEmployees" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
283
+ this.displayMeOption = input(true, ...(ngDevMode ? [{ debugName: "displayMeOption" }] : /* istanbul ignore next */ []));
284
+ this.customUserOptionTpl = model(...(ngDevMode ? [undefined, { debugName: "customUserOptionTpl" }] : /* istanbul ignore next */ []));
285
+ this.includeFormerEmployees = signal(false, ...(ngDevMode ? [{ debugName: "includeFormerEmployees" }] : /* istanbul ignore next */ []));
286
+ this.searchDelimiter = input(' ', ...(ngDevMode ? [{ debugName: "searchDelimiter" }] : /* istanbul ignore next */ []));
287
+ this.defaultUrl = computed(() => (this.uniqueOperationIds()?.length || (this.appInstanceId() && this.operationIds()?.length) ? this.#defaultScopedSearchUrl : this.#defaultSearchUrl), ...(ngDevMode ? [{ debugName: "defaultUrl" }] : /* istanbul ignore next */ []));
288
+ this.urlOrDefault = computed(() => this.url() ?? this.defaultUrl(), ...(ngDevMode ? [{ debugName: "urlOrDefault" }] : /* istanbul ignore next */ []));
289
289
  this.clue = toSignal(this.clue$);
290
290
  this.params$ = toObservable(computed(() => {
291
291
  const orderBy = this.orderBy();
@@ -366,10 +366,10 @@ class LuCoreSelectUsersDirective extends ALuCoreSelectApiDirective {
366
366
  isLastPage: page.isLastPage,
367
367
  })))));
368
368
  }
369
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: LuCoreSelectUsersDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
370
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.8", type: LuCoreSelectUsersDirective, isStandalone: true, selector: "lu-simple-select[users],lu-multi-select[users]", inputs: { displayFormat: { classPropertyName: "displayFormat", publicName: "displayFormat", isSignal: true, isRequired: false, transformFunction: null }, filters: { classPropertyName: "filters", publicName: "filters", isSignal: true, isRequired: false, transformFunction: null }, url: { classPropertyName: "url", publicName: "url", isSignal: true, isRequired: false, transformFunction: null }, orderBy: { classPropertyName: "orderBy", publicName: "orderBy", isSignal: true, isRequired: false, transformFunction: null }, operationIds: { classPropertyName: "operationIds", publicName: "operationIds", isSignal: true, isRequired: false, transformFunction: null }, uniqueOperationIds: { classPropertyName: "uniqueOperationIds", publicName: "uniqueOperationIds", isSignal: true, isRequired: false, transformFunction: null }, appInstanceId: { classPropertyName: "appInstanceId", publicName: "appInstanceId", isSignal: true, isRequired: false, transformFunction: null }, enableFormerEmployees: { classPropertyName: "enableFormerEmployees", publicName: "enableFormerEmployees", isSignal: true, isRequired: false, transformFunction: null }, displayMeOption: { classPropertyName: "displayMeOption", publicName: "displayMeOption", isSignal: true, isRequired: false, transformFunction: null }, customUserOptionTpl: { classPropertyName: "customUserOptionTpl", publicName: "customUserOptionTpl", isSignal: true, isRequired: false, transformFunction: null }, searchDelimiter: { classPropertyName: "searchDelimiter", publicName: "searchDelimiter", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { customUserOptionTpl: "customUserOptionTplChange" }, providers: [provideBaseCoreSelectUsersContext(() => LuCoreSelectUsersDirective)], exportAs: ["luUsers"], usesInheritance: true, ngImport: i0 }); }
369
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuCoreSelectUsersDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
370
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.14", type: LuCoreSelectUsersDirective, isStandalone: true, selector: "lu-simple-select[users],lu-multi-select[users]", inputs: { displayFormat: { classPropertyName: "displayFormat", publicName: "displayFormat", isSignal: true, isRequired: false, transformFunction: null }, filters: { classPropertyName: "filters", publicName: "filters", isSignal: true, isRequired: false, transformFunction: null }, url: { classPropertyName: "url", publicName: "url", isSignal: true, isRequired: false, transformFunction: null }, orderBy: { classPropertyName: "orderBy", publicName: "orderBy", isSignal: true, isRequired: false, transformFunction: null }, operationIds: { classPropertyName: "operationIds", publicName: "operationIds", isSignal: true, isRequired: false, transformFunction: null }, uniqueOperationIds: { classPropertyName: "uniqueOperationIds", publicName: "uniqueOperationIds", isSignal: true, isRequired: false, transformFunction: null }, appInstanceId: { classPropertyName: "appInstanceId", publicName: "appInstanceId", isSignal: true, isRequired: false, transformFunction: null }, enableFormerEmployees: { classPropertyName: "enableFormerEmployees", publicName: "enableFormerEmployees", isSignal: true, isRequired: false, transformFunction: null }, displayMeOption: { classPropertyName: "displayMeOption", publicName: "displayMeOption", isSignal: true, isRequired: false, transformFunction: null }, customUserOptionTpl: { classPropertyName: "customUserOptionTpl", publicName: "customUserOptionTpl", isSignal: true, isRequired: false, transformFunction: null }, searchDelimiter: { classPropertyName: "searchDelimiter", publicName: "searchDelimiter", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { customUserOptionTpl: "customUserOptionTplChange" }, providers: [provideBaseCoreSelectUsersContext(() => LuCoreSelectUsersDirective)], exportAs: ["luUsers"], usesInheritance: true, ngImport: i0 }); }
371
371
  }
372
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: LuCoreSelectUsersDirective, decorators: [{
372
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuCoreSelectUsersDirective, decorators: [{
373
373
  type: Directive,
374
374
  args: [{
375
375
  // The attribute is already prefixed with "lu-simple-select"
@@ -383,20 +383,20 @@ class LuCoreSelectUserOptionDirective {
383
383
  #templateRef;
384
384
  constructor() {
385
385
  this.#templateRef = inject((TemplateRef));
386
- this.usersDirective = input(null, { ...(ngDevMode ? { debugName: "usersDirective" } : {}), alias: 'luUserOptionUsersRef' });
386
+ this.usersDirective = input(null, { ...(ngDevMode ? { debugName: "usersDirective" } : /* istanbul ignore next */ {}), alias: 'luUserOptionUsersRef' });
387
387
  _effectWithDeps([this.usersDirective], (usersDirective) => {
388
388
  if (usersDirective) {
389
389
  usersDirective.customUserOptionTpl.set(this.#templateRef);
390
390
  }
391
391
  });
392
392
  }
393
- static ngTemplateContextGuard(_dir, ctx) {
393
+ static ngTemplateContextGuard(_dir, _ctx) {
394
394
  return true;
395
395
  }
396
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: LuCoreSelectUserOptionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
397
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.8", type: LuCoreSelectUserOptionDirective, isStandalone: true, selector: "[luUserOption]", inputs: { usersDirective: { classPropertyName: "usersDirective", publicName: "luUserOptionUsersRef", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
396
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuCoreSelectUserOptionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
397
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.14", type: LuCoreSelectUserOptionDirective, isStandalone: true, selector: "[luUserOption]", inputs: { usersDirective: { classPropertyName: "usersDirective", publicName: "luUserOptionUsersRef", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
398
398
  }
399
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: LuCoreSelectUserOptionDirective, decorators: [{
399
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuCoreSelectUserOptionDirective, decorators: [{
400
400
  type: Directive,
401
401
  args: [{
402
402
  selector: '[luUserOption]',