@sinequa/atomic-angular 0.0.140 → 0.1.3

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 (207) hide show
  1. package/README.md +145 -0
  2. package/components/no-result/i18n/en.json +5 -0
  3. package/components/no-result/i18n/fr.json +5 -0
  4. package/components/sort-selector/i18n/en.json +3 -0
  5. package/components/sort-selector/i18n/fr.json +3 -0
  6. package/components/source/i18n/en.json +3 -0
  7. package/components/source/i18n/fr.json +3 -0
  8. package/features/alerts/i18n/en.json +33 -0
  9. package/features/alerts/i18n/fr.json +33 -0
  10. package/features/bookmarks/i18n/en.json +11 -0
  11. package/features/bookmarks/i18n/fr.json +11 -0
  12. package/features/collections/i18n/en.json +17 -0
  13. package/features/collections/i18n/fr.json +16 -0
  14. package/features/dialogs/i18n/en.json +15 -0
  15. package/features/dialogs/i18n/fr.json +15 -0
  16. package/features/did-you-mean/i18n/en.json +5 -0
  17. package/features/did-you-mean/i18n/fr.json +5 -0
  18. package/features/drawer/i18n/en.json +22 -0
  19. package/features/drawer/i18n/fr.json +22 -0
  20. package/features/export/i18n/en.json +7 -0
  21. package/features/export/i18n/fr.json +7 -0
  22. package/features/feedback/i18n/en.json +26 -0
  23. package/features/feedback/i18n/fr.json +26 -0
  24. package/features/filters/i18n/en.json +14 -0
  25. package/features/filters/i18n/fr.json +14 -0
  26. package/features/labels/i18n/en.json +8 -0
  27. package/features/labels/i18n/fr.json +8 -0
  28. package/features/recent-searches/i18n/en.json +6 -0
  29. package/features/recent-searches/i18n/fr.json +6 -0
  30. package/features/saved-searches/i18n/en.json +8 -0
  31. package/features/saved-searches/i18n/fr.json +8 -0
  32. package/features/sign-in/i18n/en.json +12 -0
  33. package/features/sign-in/i18n/fr.json +14 -0
  34. package/fesm2022/sinequa-atomic-angular.mjs +7948 -2383
  35. package/fesm2022/sinequa-atomic-angular.mjs.map +1 -1
  36. package/index.d.ts +6036 -3
  37. package/package.json +68 -10
  38. package/assets/tailwind.css +0 -248
  39. package/esm2022/lib/assistant/index.mjs +0 -2
  40. package/esm2022/lib/assistant/signalR.web.service.mjs +0 -81
  41. package/esm2022/lib/components/dropdown.mjs +0 -127
  42. package/esm2022/lib/components/index.mjs +0 -5
  43. package/esm2022/lib/components/menu/index.mjs +0 -3
  44. package/esm2022/lib/components/menu/menu-item.mjs +0 -22
  45. package/esm2022/lib/components/menu/menu.mjs +0 -99
  46. package/esm2022/lib/components/metadata/index.mjs +0 -2
  47. package/esm2022/lib/components/metadata/metadata.component.mjs +0 -65
  48. package/esm2022/lib/components/theme/index.mjs +0 -3
  49. package/esm2022/lib/components/theme/theme-selector.component.mjs +0 -67
  50. package/esm2022/lib/components/theme/theme-toggle.component.mjs +0 -67
  51. package/esm2022/lib/directives/index.mjs +0 -5
  52. package/esm2022/lib/directives/infinite-scroll.directive.mjs +0 -47
  53. package/esm2022/lib/directives/select-article-on-click.directive.mjs +0 -39
  54. package/esm2022/lib/directives/show-bookmark.directive.mjs +0 -55
  55. package/esm2022/lib/directives/theme-provider.directive.mjs +0 -31
  56. package/esm2022/lib/guards/auth.guard.mjs +0 -27
  57. package/esm2022/lib/guards/index.mjs +0 -3
  58. package/esm2022/lib/guards/initialization.guard.mjs +0 -41
  59. package/esm2022/lib/interceptors/audit.interceptor.mjs +0 -23
  60. package/esm2022/lib/interceptors/auth.interceptor.mjs +0 -49
  61. package/esm2022/lib/interceptors/body.interceptor.mjs +0 -24
  62. package/esm2022/lib/interceptors/error.interceptor.mjs +0 -35
  63. package/esm2022/lib/interceptors/index.mjs +0 -7
  64. package/esm2022/lib/interceptors/toast.interceptor.mjs +0 -27
  65. package/esm2022/lib/models/aggregation.mjs +0 -2
  66. package/esm2022/lib/models/article-metadata.mjs +0 -2
  67. package/esm2022/lib/models/autocomplete.mjs +0 -2
  68. package/esm2022/lib/models/custom-json.mjs +0 -2
  69. package/esm2022/lib/models/filter-dropdown.mjs +0 -2
  70. package/esm2022/lib/models/index.mjs +0 -7
  71. package/esm2022/lib/models/user-settings.mjs +0 -2
  72. package/esm2022/lib/pipes/highlight-word.pipe.mjs +0 -33
  73. package/esm2022/lib/pipes/index.mjs +0 -3
  74. package/esm2022/lib/pipes/source-icon.pipe.mjs +0 -43
  75. package/esm2022/lib/providers/eager-provider.mjs +0 -24
  76. package/esm2022/lib/providers/index.mjs +0 -2
  77. package/esm2022/lib/public-api.mjs +0 -19
  78. package/esm2022/lib/resolvers/index.mjs +0 -2
  79. package/esm2022/lib/resolvers/query-name-resolver.mjs +0 -14
  80. package/esm2022/lib/resources/index.mjs +0 -2
  81. package/esm2022/lib/resources/themes.mjs +0 -53
  82. package/esm2022/lib/services/application.service.mjs +0 -245
  83. package/esm2022/lib/services/autocomplete.service.mjs +0 -85
  84. package/esm2022/lib/services/drawer/backdrop.service.mjs +0 -23
  85. package/esm2022/lib/services/drawer/drawer-stack.service.mjs +0 -152
  86. package/esm2022/lib/services/drawer/drawer.service.mjs +0 -38
  87. package/esm2022/lib/services/index.mjs +0 -12
  88. package/esm2022/lib/services/label.service.mjs +0 -161
  89. package/esm2022/lib/services/navigation.service.mjs +0 -59
  90. package/esm2022/lib/services/saved-searches.service.mjs +0 -75
  91. package/esm2022/lib/services/search.service.mjs +0 -89
  92. package/esm2022/lib/services/selection-history.service.mjs +0 -92
  93. package/esm2022/lib/services/selection.service.mjs +0 -87
  94. package/esm2022/lib/stores/aggregations.store.mjs +0 -62
  95. package/esm2022/lib/stores/app.store.mjs +0 -265
  96. package/esm2022/lib/stores/application.store.mjs +0 -93
  97. package/esm2022/lib/stores/index.mjs +0 -9
  98. package/esm2022/lib/stores/principal.store.mjs +0 -47
  99. package/esm2022/lib/stores/query-params.store.mjs +0 -208
  100. package/esm2022/lib/stores/selection.store.mjs +0 -46
  101. package/esm2022/lib/stores/theme.store.mjs +0 -116
  102. package/esm2022/lib/stores/user-settings.store.mjs +0 -272
  103. package/esm2022/lib/tokens/highlights.mjs +0 -32
  104. package/esm2022/lib/tokens/index.mjs +0 -2
  105. package/esm2022/lib/utils/debounced-signal.mjs +0 -38
  106. package/esm2022/lib/utils/index.mjs +0 -8
  107. package/esm2022/lib/utils/inline-worker.mjs +0 -40
  108. package/esm2022/lib/utils/query.mjs +0 -58
  109. package/esm2022/lib/utils/routes.mjs +0 -28
  110. package/esm2022/lib/utils/tailwind-utils.mjs +0 -6
  111. package/esm2022/lib/utils/theme-body-hook.mjs +0 -18
  112. package/esm2022/lib/utils/theme-registry.mjs +0 -6
  113. package/esm2022/lib/web-services/aggregations.service.mjs +0 -104
  114. package/esm2022/lib/web-services/app.service.mjs +0 -48
  115. package/esm2022/lib/web-services/audit.service.mjs +0 -122
  116. package/esm2022/lib/web-services/index.mjs +0 -10
  117. package/esm2022/lib/web-services/json-method-plugin.service.mjs +0 -54
  118. package/esm2022/lib/web-services/preview.service.mjs +0 -327
  119. package/esm2022/lib/web-services/principal.service.mjs +0 -46
  120. package/esm2022/lib/web-services/query.service.mjs +0 -123
  121. package/esm2022/lib/web-services/text-chunck.service.mjs +0 -46
  122. package/esm2022/public-api.mjs +0 -5
  123. package/esm2022/sinequa-atomic-angular.mjs +0 -5
  124. package/lib/assistant/index.d.ts +0 -1
  125. package/lib/assistant/signalR.web.service.d.ts +0 -46
  126. package/lib/components/dropdown.d.ts +0 -50
  127. package/lib/components/index.d.ts +0 -4
  128. package/lib/components/menu/index.d.ts +0 -2
  129. package/lib/components/menu/menu-item.d.ts +0 -8
  130. package/lib/components/menu/menu.d.ts +0 -24
  131. package/lib/components/metadata/index.d.ts +0 -1
  132. package/lib/components/metadata/metadata.component.d.ts +0 -24
  133. package/lib/components/theme/index.d.ts +0 -2
  134. package/lib/components/theme/theme-selector.component.d.ts +0 -70
  135. package/lib/components/theme/theme-toggle.component.d.ts +0 -10
  136. package/lib/directives/index.d.ts +0 -4
  137. package/lib/directives/infinite-scroll.directive.d.ts +0 -30
  138. package/lib/directives/select-article-on-click.directive.d.ts +0 -14
  139. package/lib/directives/show-bookmark.directive.d.ts +0 -52
  140. package/lib/directives/theme-provider.directive.d.ts +0 -20
  141. package/lib/guards/auth.guard.d.ts +0 -7
  142. package/lib/guards/index.d.ts +0 -2
  143. package/lib/guards/initialization.guard.d.ts +0 -20
  144. package/lib/interceptors/audit.interceptor.d.ts +0 -13
  145. package/lib/interceptors/auth.interceptor.d.ts +0 -14
  146. package/lib/interceptors/body.interceptor.d.ts +0 -11
  147. package/lib/interceptors/error.interceptor.d.ts +0 -9
  148. package/lib/interceptors/index.d.ts +0 -5
  149. package/lib/interceptors/toast.interceptor.d.ts +0 -13
  150. package/lib/models/aggregation.d.ts +0 -12
  151. package/lib/models/article-metadata.d.ts +0 -5
  152. package/lib/models/autocomplete.d.ts +0 -5
  153. package/lib/models/custom-json.d.ts +0 -58
  154. package/lib/models/filter-dropdown.d.ts +0 -10
  155. package/lib/models/index.d.ts +0 -6
  156. package/lib/models/user-settings.d.ts +0 -32
  157. package/lib/pipes/highlight-word.pipe.d.ts +0 -22
  158. package/lib/pipes/index.d.ts +0 -2
  159. package/lib/pipes/source-icon.pipe.d.ts +0 -54
  160. package/lib/providers/eager-provider.d.ts +0 -11
  161. package/lib/providers/index.d.ts +0 -1
  162. package/lib/public-api.d.ts +0 -15
  163. package/lib/resolvers/index.d.ts +0 -1
  164. package/lib/resolvers/query-name-resolver.d.ts +0 -9
  165. package/lib/resources/index.d.ts +0 -1
  166. package/lib/resources/themes.d.ts +0 -51
  167. package/lib/services/application.service.d.ts +0 -178
  168. package/lib/services/autocomplete.service.d.ts +0 -91
  169. package/lib/services/drawer/backdrop.service.d.ts +0 -9
  170. package/lib/services/drawer/drawer-stack.service.d.ts +0 -70
  171. package/lib/services/drawer/drawer.service.d.ts +0 -15
  172. package/lib/services/index.d.ts +0 -11
  173. package/lib/services/label.service.d.ts +0 -117
  174. package/lib/services/navigation.service.d.ts +0 -33
  175. package/lib/services/saved-searches.service.d.ts +0 -145
  176. package/lib/services/search.service.d.ts +0 -155
  177. package/lib/services/selection-history.service.d.ts +0 -50
  178. package/lib/services/selection.service.d.ts +0 -127
  179. package/lib/stores/aggregations.store.d.ts +0 -50
  180. package/lib/stores/app.store.d.ts +0 -208
  181. package/lib/stores/application.store.d.ts +0 -106
  182. package/lib/stores/index.d.ts +0 -8
  183. package/lib/stores/principal.store.d.ts +0 -53
  184. package/lib/stores/query-params.store.d.ts +0 -187
  185. package/lib/stores/selection.store.d.ts +0 -62
  186. package/lib/stores/theme.store.d.ts +0 -55
  187. package/lib/stores/user-settings.store.d.ts +0 -161
  188. package/lib/tokens/highlights.d.ts +0 -8
  189. package/lib/tokens/index.d.ts +0 -1
  190. package/lib/utils/debounced-signal.d.ts +0 -25
  191. package/lib/utils/index.d.ts +0 -7
  192. package/lib/utils/inline-worker.d.ts +0 -11
  193. package/lib/utils/query.d.ts +0 -26
  194. package/lib/utils/routes.d.ts +0 -16
  195. package/lib/utils/tailwind-utils.d.ts +0 -2
  196. package/lib/utils/theme-body-hook.d.ts +0 -6
  197. package/lib/utils/theme-registry.d.ts +0 -3
  198. package/lib/web-services/aggregations.service.d.ts +0 -60
  199. package/lib/web-services/app.service.d.ts +0 -30
  200. package/lib/web-services/audit.service.d.ts +0 -75
  201. package/lib/web-services/index.d.ts +0 -9
  202. package/lib/web-services/json-method-plugin.service.d.ts +0 -41
  203. package/lib/web-services/preview.service.d.ts +0 -295
  204. package/lib/web-services/principal.service.d.ts +0 -28
  205. package/lib/web-services/query.service.d.ts +0 -29
  206. package/lib/web-services/text-chunck.service.d.ts +0 -22
  207. package/public-api.d.ts +0 -1
@@ -1,127 +0,0 @@
1
- import { Article } from '@sinequa/atomic';
2
- import * as i0 from "@angular/core";
3
- export declare class SelectionService {
4
- private readonly route;
5
- private readonly router;
6
- private readonly location;
7
- private readonly selectionStore;
8
- queryParamsStore: {
9
- id?: import("@angular/core").Signal<string | undefined> | undefined;
10
- text?: import("@angular/core").Signal<string | undefined> | undefined;
11
- filters?: import("@angular/core").Signal<import("@sinequa/atomic").LegacyFilter[] | undefined> | undefined;
12
- name?: import("@angular/core").Signal<string | undefined> | undefined;
13
- action?: import("@angular/core").Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
14
- select?: import("@angular/core").Signal<import("@sinequa/atomic").Select[] | undefined> | undefined;
15
- open?: import("@angular/core").Signal<import("@sinequa/atomic").Open[] | undefined> | undefined;
16
- page?: import("@angular/core").Signal<number | undefined> | undefined;
17
- pageSize?: import("@angular/core").Signal<number | undefined> | undefined;
18
- tab?: import("@angular/core").Signal<string | undefined> | undefined;
19
- scope?: import("@angular/core").Signal<string | undefined> | undefined;
20
- sort?: import("@angular/core").Signal<string | undefined> | undefined;
21
- basket?: import("@angular/core").Signal<string | undefined> | undefined;
22
- isFirstPage?: import("@angular/core").Signal<boolean | undefined> | undefined;
23
- strictRefine?: import("@angular/core").Signal<boolean | undefined> | undefined;
24
- globalRelevance?: import("@angular/core").Signal<number | undefined> | undefined;
25
- questionLanguage?: import("@angular/core").Signal<string | undefined> | undefined;
26
- questionDefaultLanguage?: import("@angular/core").Signal<string | undefined> | undefined;
27
- spellingCorrectionMode?: import("@angular/core").Signal<import("@sinequa/atomic").SpellingCorrectionMode | undefined> | undefined;
28
- spellingCorrectionFilter?: import("@angular/core").Signal<string | undefined> | undefined;
29
- documentWeight?: import("@angular/core").Signal<string | undefined> | undefined;
30
- textPartWeights?: import("@angular/core").Signal<string | undefined> | undefined;
31
- relevanceTransforms?: import("@angular/core").Signal<string | undefined> | undefined;
32
- removeDuplicates?: import("@angular/core").Signal<boolean | undefined> | undefined;
33
- queryId?: import("@angular/core").Signal<string | undefined> | undefined;
34
- aggregations?: import("@angular/core").Signal<Record<string, import("@sinequa/atomic").AggregationOptions> | string[] | undefined> | undefined;
35
- orderBy?: import("@angular/core").Signal<string | undefined> | undefined;
36
- groupBy?: import("@angular/core").Signal<string | undefined> | undefined;
37
- neuralSearch?: import("@angular/core").Signal<boolean | undefined> | undefined;
38
- path?: import("@angular/core").Signal<string | undefined> | undefined;
39
- setFromUrl: (url: string) => void;
40
- addFilter: (filter: import("@sinequa/atomic").LegacyFilter) => void;
41
- updateFilter: (filter: import("@sinequa/atomic").LegacyFilter) => void;
42
- removeFilter: (field?: string) => void;
43
- removeFilterByName: (name?: string) => void;
44
- clearFilters: () => void;
45
- patch: (params: Partial<Partial<Omit<import("@sinequa/atomic").Query, "filters">> & {
46
- path?: string;
47
- filters?: import("@sinequa/atomic").LegacyFilter[];
48
- id?: string;
49
- }>) => void;
50
- getFilter: (fieldOrName?: string) => Partial<import("@sinequa/atomic").LegacyFilter & {
51
- count: number;
52
- }> | null;
53
- getQuery: () => import("@sinequa/atomic").Query;
54
- } & import("@ngrx/signals").StateSignal<{
55
- id?: string | undefined;
56
- text?: string | undefined;
57
- filters?: import("@sinequa/atomic").LegacyFilter[] | undefined;
58
- name?: string | undefined;
59
- action?: ("" | "search" | "open" | "aggregate") | undefined;
60
- select?: import("@sinequa/atomic").Select[] | undefined;
61
- open?: import("@sinequa/atomic").Open[] | undefined;
62
- page?: number | undefined;
63
- pageSize?: number | undefined;
64
- tab?: string | undefined;
65
- scope?: string | undefined;
66
- sort?: string | undefined;
67
- basket?: string | undefined;
68
- isFirstPage?: boolean | undefined;
69
- strictRefine?: boolean | undefined;
70
- globalRelevance?: number | undefined;
71
- questionLanguage?: string | undefined;
72
- questionDefaultLanguage?: string | undefined;
73
- spellingCorrectionMode?: import("@sinequa/atomic").SpellingCorrectionMode | undefined;
74
- spellingCorrectionFilter?: string | undefined;
75
- documentWeight?: string | undefined;
76
- textPartWeights?: string | undefined;
77
- relevanceTransforms?: string | undefined;
78
- removeDuplicates?: boolean | undefined;
79
- queryId?: string | undefined;
80
- aggregations?: (Record<string, import("@sinequa/atomic").AggregationOptions> | string[]) | undefined;
81
- orderBy?: string | undefined;
82
- groupBy?: string | undefined;
83
- neuralSearch?: boolean | undefined;
84
- path?: string | undefined;
85
- }>;
86
- /**
87
- * Sets the current article in the selection store and optionally updates the query text.
88
- * If the provided article is undefined, it clears the current article.
89
- *
90
- * @param article - The article to set as the current article. If undefined, the current article is cleared.
91
- * @param withQueryText - A boolean indicating whether to update the query text in the selection store. Defaults to true.
92
- *
93
- * @returns void
94
- */
95
- setCurrentArticle(article?: Article, withQueryText?: boolean): void;
96
- /**
97
- * Clears the current article selection from the selection store and
98
- * removes the article ID from the query parameters.
99
- *
100
- * @remarks
101
- * This method performs two main actions:
102
- * 1. Clears the current selection from the `selectionStore`.
103
- * 2. Removes the article ID from the query parameters to ensure
104
- * the URL does not reference the cleared article.
105
- *
106
- * @public
107
- */
108
- clearCurrentArticle(): void;
109
- /**
110
- * Updates the article ID in the query parameters of the current route.
111
- * If the provided ID is undefined, it will remove the ID from the query parameters.
112
- *
113
- * @param id - The article ID to be set in the query parameters. If undefined, the ID will be removed.
114
- */
115
- private updateArticleIdInQueryParams;
116
- /**
117
- * Clears the 'id' parameter from the current route's query parameters.
118
- *
119
- * This method creates a copy of the current query parameters, removes the 'id' parameter,
120
- * and then updates the browser's URL to reflect the change without reloading the page.
121
- *
122
- * @private
123
- */
124
- private clearArticleIdFromQueryParams;
125
- static ɵfac: i0.ɵɵFactoryDeclaration<SelectionService, never>;
126
- static ɵprov: i0.ɵɵInjectableDeclaration<SelectionService>;
127
- }
@@ -1,50 +0,0 @@
1
- import { Aggregation } from "@sinequa/atomic";
2
- type AggregationsState = {
3
- aggregations: Aggregation[];
4
- };
5
- export declare const AggregationsStore: import("@angular/core").Type<{
6
- aggregations: import("@angular/core").Signal<Aggregation[]>;
7
- update: (aggregations: Aggregation[]) => void;
8
- updateAggregation: (aggregation: Aggregation) => void;
9
- clear: () => void;
10
- getAggregation: (name: string, kind?: "column" | "name") => Aggregation | undefined;
11
- } & import("@ngrx/signals").StateSignal<{
12
- aggregations: Aggregation[];
13
- }>>;
14
- export declare function WithAggregationsFeatures(): import("@ngrx/signals").SignalStoreFeature<import("@ngrx/signals/src/signal-store-models").EmptyFeatureResult, {
15
- state: Omit<AggregationsState, "update" | "clear" | "updateAggregation" | "getAggregation">;
16
- signals: Omit<{}, "update" | "clear" | "updateAggregation" | "getAggregation">;
17
- methods: Omit<{}, "update" | "clear" | "updateAggregation" | "getAggregation">;
18
- } & import("@ngrx/signals/src/signal-store-models").EmptyFeatureResult & {
19
- methods: {
20
- /**
21
- * Updates the state with the provided aggregations.
22
- *
23
- * @param {Aggregation[]} aggregations - The new aggregations to update the state with.
24
- */
25
- update(aggregations: Aggregation[]): void;
26
- /**
27
- * Updates an existing aggregation in the store.
28
- *
29
- * @param aggregation - The aggregation object to update.
30
- * @returns void
31
- */
32
- updateAggregation(aggregation: Aggregation): void;
33
- /**
34
- * Clears the aggregations in the store by setting the `aggregations` property to an empty array.
35
- *
36
- * @remarks
37
- * This method uses the `patchState` function to update the state of the store.
38
- */
39
- clear(): void;
40
- /**
41
- * Retrieves an aggregation by name or column.
42
- *
43
- * @param name - The name or column of the aggregation to retrieve.
44
- * @param kind - The kind of aggregation to retrieve. Defaults to "name".
45
- * @returns The matching aggregation, or undefined if not found.
46
- */
47
- getAggregation(name: string, kind?: "column" | "name"): Aggregation | undefined;
48
- };
49
- }>;
50
- export {};
@@ -1,208 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- import { ActivatedRoute } from '@angular/router';
3
- import { Aggregation, CCApp, CCQuery, CCWebService } from '@sinequa/atomic';
4
- import { CFilter, CFilterItem, CJ, CJson } from '../models/custom-json';
5
- /**
6
- * Injection token for a list of facet names to display in the application.
7
- *
8
- * This token provides a default list of facet names including:
9
- * - Geo
10
- * - Company
11
- * - Person
12
- * - DocFormat
13
- * - Modified
14
- * - Size
15
- * - DocumentLanguages
16
- * - Concepts
17
- *
18
- * @constant
19
- * @type {InjectionToken<string[]>}
20
- */
21
- export declare const AGGREGATIONS_NAMES_PRESET_DEFAULT: string[];
22
- export declare const AGGREGATIONS_NAMES: InjectionToken<string[]>;
23
- export type CCAppState = {
24
- webServices: Record<string, CCWebService>;
25
- data: CJson;
26
- queries: Record<string, CCQuery>;
27
- customJSONs: CJ[];
28
- };
29
- export declare const AppStore: import("@angular/core").Type<{
30
- webServices: import("@angular/core").Signal<Record<string, CCWebService>>;
31
- data: import("@ngrx/signals/src/deep-signal").DeepSignal<CJson>;
32
- queries: import("@angular/core").Signal<Record<string, CCQuery>>;
33
- customJSONs: import("@angular/core").Signal<CJ[]>;
34
- filters: import("@angular/core").Signal<CFilter[]>;
35
- sources: import("@angular/core").Signal<import("../models/custom-json").CSources | {
36
- routes?: [];
37
- filters?: CFilter[];
38
- }>;
39
- customizationJson: import("@angular/core").Signal<CJson>;
40
- update: (app: CCApp) => void;
41
- initialize: () => Promise<void>;
42
- initializeWithAppName: (appName: string) => Promise<void>;
43
- getWebServiceByType: (type: CCWebService["webServiceType"]) => CCWebService | undefined;
44
- getLabels: () => {
45
- private: string;
46
- public: string;
47
- };
48
- getQueryByName: (name: string) => CCQuery | undefined;
49
- getQueryByIndex: (index: number) => CCQuery | undefined;
50
- getDefaultQuery: () => CCQuery | undefined;
51
- allowEmptySearch: (queryName: string) => boolean;
52
- getNamedCustomizationJson: (name: string) => any | undefined;
53
- getColumnAlias: (column: string) => string;
54
- getAggregationIcon: (column: string) => string | undefined;
55
- getAggregationItemsCustomization: (column: string) => CFilterItem[] | undefined;
56
- getAggregationCustomization: (column: string) => CFilter | undefined;
57
- getAuthorizedFilters: (route: ActivatedRoute) => Aggregation[];
58
- } & import("@ngrx/signals").StateSignal<{
59
- webServices: Record<string, CCWebService>;
60
- data: CJson;
61
- queries: Record<string, CCQuery>;
62
- customJSONs: CJ[];
63
- }>>;
64
- /**
65
- * Enhances the application store with various features and methods.
66
- *
67
- * This function integrates state management, computed properties, and methods
68
- * to interact with the CCApp state, including initialization, updates,
69
- * and retrieval of specific data such as web services, queries, and customization JSONs.
70
- *
71
- * Features:
72
- * - State management with initial data.
73
- * - Computed properties for customization JSON, sources, and filters.
74
- * - Methods for initializing and updating the application state.
75
- * - Methods for retrieving web services, labels, queries, and customization JSONs.
76
- * - Methods for retrieving aggregation icons and customization items.
77
- *
78
- * @returns The enhanced application store with additional features and methods.
79
- */
80
- export declare function withAppFeatures(): import("@ngrx/signals").SignalStoreFeature<import("@ngrx/signals/src/signal-store-models").EmptyFeatureResult, {
81
- state: Omit<Omit<Omit<CCAppState, "filters" | "sources" | "customizationJson">, "update" | "initialize" | "initializeWithAppName" | "getWebServiceByType" | "getLabels" | "getQueryByName" | "getQueryByIndex" | "getDefaultQuery" | "allowEmptySearch" | "getNamedCustomizationJson" | "getColumnAlias">, "getAggregationIcon" | "getAggregationItemsCustomization" | "getAggregationCustomization" | "getAuthorizedFilters">;
82
- signals: Omit<Omit<Omit<{}, "filters" | "sources" | "customizationJson"> & {
83
- customizationJson: import("@angular/core").Signal<CJson>;
84
- sources: import("@angular/core").Signal<import("../models/custom-json").CSources | {
85
- routes?: [];
86
- filters?: CFilter[];
87
- }>;
88
- filters: import("@angular/core").Signal<CFilter[]>;
89
- }, "update" | "initialize" | "initializeWithAppName" | "getWebServiceByType" | "getLabels" | "getQueryByName" | "getQueryByIndex" | "getDefaultQuery" | "allowEmptySearch" | "getNamedCustomizationJson" | "getColumnAlias">, "getAggregationIcon" | "getAggregationItemsCustomization" | "getAggregationCustomization" | "getAuthorizedFilters">;
90
- methods: Omit<Omit<Omit<{}, "filters" | "sources" | "customizationJson">, "update" | "initialize" | "initializeWithAppName" | "getWebServiceByType" | "getLabels" | "getQueryByName" | "getQueryByIndex" | "getDefaultQuery" | "allowEmptySearch" | "getNamedCustomizationJson" | "getColumnAlias"> & {
91
- /**
92
- * Initializes the application state by fetching the app data from the appService
93
- * and updating the store with the retrieved data.
94
- *
95
- * @returns A promise that resolves when the app data has been fetched and the store has been updated.
96
- */
97
- initialize(): Promise<void>;
98
- /**
99
- * Initializes the application state with the provided app name.
100
- *
101
- * @param appName - The name of the application to fetch the configuration for.
102
- *
103
- * @returns A promise that resolves when the app data has been fetched and the store has been updated.
104
- */
105
- initializeWithAppName(appName: string): Promise<void>;
106
- /**
107
- * Updates the application state with the provided CCApp object.
108
- *
109
- * @param {CCApp} app - The application object containing the new state values.
110
- */
111
- update(app: CCApp): void;
112
- /**
113
- * Returns the web service by type name
114
- *
115
- * @param type Web service type name
116
- * @returns A {@link CCWebService} object or undefined if not found
117
- */
118
- getWebServiceByType(type: CCWebService["webServiceType"]): CCWebService | undefined;
119
- /**
120
- * Retrieves the labels from the web service of type 'Labels'.
121
- *
122
- * @returns An object containing the private and public labels.
123
- * If the labels are not found, returns an object with empty strings for both fields.
124
- */
125
- getLabels(): {
126
- private: string;
127
- public: string;
128
- };
129
- /**
130
- * Retrieves a query by its name from the store.
131
- *
132
- * @param name - The name of the query to retrieve.
133
- * @returns The query object if found, otherwise `undefined`.
134
- */
135
- getQueryByName(name: string): CCQuery | undefined;
136
- /**
137
- * Retrieves a query by its index from the store.
138
- *
139
- * @param index - The index of the query to retrieve.
140
- * @returns The query at the specified index, or `undefined` if the index is out of bounds.
141
- */
142
- getQueryByIndex(index: number): CCQuery | undefined;
143
- /**
144
- * Retrieves the default query.
145
- * The default query is always the first query in the list of queries.
146
- *
147
- * @returns {CCQuery | undefined} The default query if it exists, otherwise undefined.
148
- */
149
- getDefaultQuery(): CCQuery | undefined;
150
- /**
151
- * Retrieves the allowEmptySearch property for a specific query.
152
- * @param queryName - The name of the query for which to retrieve allow empty serach property.
153
- * @returns The allowEmptySearch property for the specified query, or false if not found.
154
- */
155
- allowEmptySearch(queryName: string): boolean;
156
- /**
157
- * Retrieves the customization json by name
158
- * @param name - The name of the customization json
159
- * @returns The customization json object or undefined if not found
160
- */
161
- getNamedCustomizationJson(name: string): any | undefined;
162
- /**
163
- * Retrieves the alias for a given column name from the application's state.
164
- * If the column has aliases defined, the first alias is returned. Otherwise,
165
- * the original column name is returned.
166
- *
167
- * @param column - The name of the column for which to retrieve the alias.
168
- * @returns The alias of the column if it exists, otherwise the original column name.
169
- */
170
- getColumnAlias(column: string): string;
171
- }, "getAggregationIcon" | "getAggregationItemsCustomization" | "getAggregationCustomization" | "getAuthorizedFilters">;
172
- } & import("@ngrx/signals/src/signal-store-models").EmptyFeatureResult & {
173
- methods: {
174
- /**
175
- * Retrieves the icon associated with a given column's aggregation.
176
- *
177
- * This method searches through the store's filters to find an aggregation
178
- * that matches the specified column. If a matching aggregation is found,
179
- * its associated icon is returned. If no matching aggregation is found in
180
- * the store's filters, the method falls back to searching in the
181
- * customizationJson's filters.
182
- *
183
- * @param column - The name of the column for which to retrieve the aggregation icon.
184
- * @returns The icon associated with the specified column's aggregation, or undefined if no matching aggregation is found.
185
- */
186
- getAggregationIcon(column: string): string | undefined;
187
- /**
188
- * Retrieves the customization items for a given column from the store's filters.
189
- * If no items are found in the store's filters, it falls back to the customization JSON.
190
- *
191
- * @param column - The name of the column for which to retrieve customization items.
192
- * @returns An array of `CFilterItem` objects if found, otherwise `undefined`.
193
- */
194
- getAggregationItemsCustomization(column: string): CFilterItem[] | undefined;
195
- /**
196
- * Retrieves the customization for a specific aggregation column.
197
- * @param column - The column name for which to retrieve the customization.
198
- * @returns The customization object for the specified column, or undefined if not found.
199
- */
200
- getAggregationCustomization(column: string): CFilter | undefined;
201
- /**
202
- * Retrieves the sorted aggregations based on the provided query name.
203
- * @param queryName - The name of the query.
204
- * @returns An array of sorted aggregations.
205
- */
206
- getAuthorizedFilters(route: ActivatedRoute): Aggregation[];
207
- };
208
- }>;
@@ -1,106 +0,0 @@
1
- import { SafeHtml } from '@angular/platform-browser';
2
- export type Extract = {
3
- id: string;
4
- text: SafeHtml;
5
- startIndex: number;
6
- relevanceIndex: number;
7
- textIndex: number;
8
- };
9
- export type ApplicationState = {
10
- assistantReady: boolean;
11
- ready: boolean;
12
- extracts: Map<string, Extract[]>;
13
- hasLabelsAccess: boolean;
14
- };
15
- export declare const ApplicationStore: import("@angular/core").Type<{
16
- assistantReady: import("@angular/core").Signal<boolean>;
17
- ready: import("@angular/core").Signal<boolean>;
18
- extracts: import("@angular/core").Signal<Map<string, Extract[]>>;
19
- hasLabelsAccess: import("@angular/core").Signal<boolean>;
20
- extractsCount: import("@angular/core").Signal<number>;
21
- updateAssistantReady: () => void;
22
- updateReadyState: (value?: boolean) => void;
23
- updateHasLabelsAccess: (value?: boolean) => void;
24
- updateExtracts: (id: string, extracts: Extract[]) => void;
25
- getExtracts: (id: string) => Extract[] | undefined;
26
- } & import("@ngrx/signals").StateSignal<{
27
- assistantReady: boolean;
28
- ready: boolean;
29
- extracts: Map<string, Extract[]>;
30
- hasLabelsAccess: boolean;
31
- }>>;
32
- /**
33
- * Enhances the application store with additional features.
34
- *
35
- * This function integrates several features into the application store, including state management,
36
- * computed properties, and various methods for updating and retrieving application state.
37
- *
38
- * Features included:
39
- * - State initialization with `intialState`.
40
- * - Methods for updating the application state:
41
- * - `updateAssistantReady`: Marks the assistant as ready.
42
- * - `updateReadyState`: Sets the application store's ready state to true.
43
- *
44
- * @returns A configured signal store feature with state, computed properties, and methods.
45
- */
46
- export declare function withApplicationFeatures(): import("@ngrx/signals").SignalStoreFeature<import("@ngrx/signals/src/signal-store-models").EmptyFeatureResult, {
47
- state: Omit<ApplicationState, "updateAssistantReady" | "updateReadyState" | "updateHasLabelsAccess">;
48
- signals: Omit<{}, "updateAssistantReady" | "updateReadyState" | "updateHasLabelsAccess">;
49
- methods: Omit<{}, "updateAssistantReady" | "updateReadyState" | "updateHasLabelsAccess">;
50
- } & import("@ngrx/signals/src/signal-store-models").EmptyFeatureResult & {
51
- methods: {
52
- /**
53
- * Updates the application state to indicate that the assistant is ready.
54
- * This function patches the current state by setting the `assistantReady` property to `true`.
55
- */
56
- updateAssistantReady(): void;
57
- /**
58
- * Updates the ready state of the application store to true.
59
- * This function patches the current state of the store by setting the `ready` property to `true`.
60
- */
61
- updateReadyState(value?: boolean): void;
62
- /**
63
- * Updates the `hasLabelsAccess` property in the application store state.
64
- *
65
- * @param value - A boolean value indicating whether the user has access to labels. Defaults to `true`.
66
- */
67
- updateHasLabelsAccess(value?: boolean): void;
68
- };
69
- }>;
70
- /**
71
- * Provides features related to extracts within the application store.
72
- *
73
- * This function integrates state management, computed properties, and methods
74
- * for handling extracts in the application store.
75
- *
76
- * Features:
77
- * - State management for extracts.
78
- * - Computed property to get the count of extracts.
79
- * - Methods to update and retrieve extracts.
80
- *
81
- * @returns A configured signal store feature with state, computed properties, and methods for extracts.
82
- */
83
- export declare function withExtractsFeatures(): import("@ngrx/signals").SignalStoreFeature<import("@ngrx/signals/src/signal-store-models").EmptyFeatureResult, {
84
- state: Omit<Omit<ApplicationState, "extractsCount">, "updateExtracts" | "getExtracts">;
85
- signals: Omit<Omit<{}, "extractsCount"> & {
86
- extractsCount: import("@angular/core").Signal<number>;
87
- }, "updateExtracts" | "getExtracts">;
88
- methods: Omit<Omit<{}, "extractsCount">, "updateExtracts" | "getExtracts">;
89
- } & import("@ngrx/signals/src/signal-store-models").EmptyFeatureResult & {
90
- methods: {
91
- /**
92
- * Updates the extracts for a given ID in the application store.
93
- *
94
- * @param id - The unique identifier for the extracts to be updated.
95
- * @param extracts - An array of Extract objects to be associated with the given ID.
96
- */
97
- updateExtracts(id: string, extracts: Extract[]): void;
98
- /**
99
- * Retrieves extracts from the store based on the provided ID.
100
- *
101
- * @param id - The unique identifier for the extracts to retrieve.
102
- * @returns The extracts associated with the given ID.
103
- */
104
- getExtracts(id: string): Extract[] | undefined;
105
- };
106
- }>;
@@ -1,8 +0,0 @@
1
- export * from "./aggregations.store";
2
- export * from "./app.store";
3
- export * from "./application.store";
4
- export * from "./principal.store";
5
- export * from "./query-params.store";
6
- export * from "./selection.store";
7
- export * from "./theme.store";
8
- export * from "./user-settings.store";
@@ -1,53 +0,0 @@
1
- import { Principal } from "@sinequa/atomic";
2
- type PrincipalState = {
3
- principal: Principal;
4
- userOverrideActive: boolean;
5
- };
6
- export declare const PrincipalStore: import("@angular/core").Type<{
7
- userOverrideActive: import("@angular/core").Signal<boolean>;
8
- principal: import("@ngrx/signals/src/deep-signal").DeepSignal<Principal>;
9
- allowUserOverride: import("@angular/core").Signal<boolean>;
10
- isOverridingUser: import("@angular/core").Signal<boolean>;
11
- initialize: () => Promise<void>;
12
- } & import("@ngrx/signals").StateSignal<{
13
- userOverrideActive: boolean;
14
- principal: Principal;
15
- }>>;
16
- /**
17
- * Enhances the store with principal-related features.
18
- *
19
- * This function integrates state, methods, and computed properties related to the principal.
20
- *
21
- * @returns A feature that can be added to a signal store.
22
- *
23
- * @feature
24
- * - State:
25
- * - `principal`: An object representing the principal.
26
- * - `userOverrideActive`: A boolean indicating if user override is active.
27
- *
28
- * - Methods:
29
- * - `initialize()`: Initializes the principal state by fetching the principal data from the `PrincipalService`.
30
- *
31
- * - Computed Properties:
32
- * - `allowUserOverride`: A computed boolean indicating if user override is allowed based on the principal's administrator status and the `userOverrideActive` state.
33
- * - `isOverridingUser`: A computed boolean indicating if the user override is currently active.
34
- */
35
- export declare function withPrincipalFeatures(): import("@ngrx/signals").SignalStoreFeature<import("@ngrx/signals/src/signal-store-models").EmptyFeatureResult, {
36
- state: Omit<Omit<PrincipalState, "initialize">, "allowUserOverride" | "isOverridingUser">;
37
- signals: Omit<Omit<{}, "initialize">, "allowUserOverride" | "isOverridingUser">;
38
- methods: Omit<Omit<{}, "initialize"> & {
39
- /**
40
- * Initializes the principal store by fetching the principal data from the principal service.
41
- * It patches the store with the fetched principal data and a user override active flag from the global configuration.
42
- *
43
- * @returns A promise that resolves when the principal data has been fetched and the store has been patched.
44
- */
45
- initialize(): Promise<void>;
46
- }, "allowUserOverride" | "isOverridingUser">;
47
- } & import("@ngrx/signals/src/signal-store-models").EmptyFeatureResult & {
48
- signals: {
49
- allowUserOverride: import("@angular/core").Signal<boolean>;
50
- isOverridingUser: import("@angular/core").Signal<boolean>;
51
- };
52
- }>;
53
- export {};