@sinequa/atomic-angular 2.15.0 → 2.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/document-workspaces/i18n/de.json +2 -0
- package/document-workspaces/i18n/en.json +2 -0
- package/document-workspaces/i18n/fr.json +2 -0
- package/document-workspaces/i18n/ja.json +2 -0
- package/features/auth/i18n/de.json +1 -0
- package/features/auth/i18n/en.json +1 -0
- package/features/auth/i18n/fr.json +1 -0
- package/features/collections/i18n/de.json +39 -1
- package/features/collections/i18n/en.json +39 -1
- package/features/collections/i18n/fr.json +39 -1
- package/features/user-profile/i18n/de.json +12 -3
- package/features/user-profile/i18n/en.json +12 -3
- package/features/user-profile/i18n/fr.json +12 -3
- package/fesm2022/sinequa-atomic-angular-charts.mjs.map +1 -1
- package/fesm2022/sinequa-atomic-angular-document-workspaces.mjs +263 -54
- package/fesm2022/sinequa-atomic-angular-document-workspaces.mjs.map +1 -1
- package/fesm2022/sinequa-atomic-angular.mjs +6350 -1241
- package/fesm2022/sinequa-atomic-angular.mjs.map +1 -1
- package/package.json +2 -2
- package/types/sinequa-atomic-angular-document-workspaces.d.ts +68 -18
- package/types/sinequa-atomic-angular.d.ts +868 -257
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sinequa/atomic-angular",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.16.0",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"@angular/core": "^22.0.0",
|
|
36
36
|
"@angular/aria": "^22.2.0",
|
|
37
37
|
"@sinequa/galactik": "^2.0.0",
|
|
38
|
-
"@sinequa/atomic": ">=2.
|
|
38
|
+
"@sinequa/atomic": ">=2.16.0",
|
|
39
39
|
"vanilla-calendar-pro": "^3.4.0",
|
|
40
40
|
"chart.js": "^4.4.0",
|
|
41
41
|
"chartjs-chart-matrix": "^3.0.0",
|
|
@@ -16,11 +16,21 @@ interface Workspace {
|
|
|
16
16
|
color: WorkspaceColor;
|
|
17
17
|
description: string;
|
|
18
18
|
tags: string[];
|
|
19
|
-
|
|
19
|
+
/**
|
|
20
|
+
* Documents in the workspace. `undefined` until known: the search that lists the workspaces
|
|
21
|
+
* does not count them, the one that lists a workspace's content does.
|
|
22
|
+
*/
|
|
23
|
+
documentCount?: number;
|
|
20
24
|
creatorId: string;
|
|
21
25
|
ownerIds: string[];
|
|
22
26
|
readerIds: string[];
|
|
23
27
|
currentUserRole: WorkspaceRole;
|
|
28
|
+
/**
|
|
29
|
+
* Whether `creatorId`, `ownerIds` and `readerIds` hold the real lists. The search that lists
|
|
30
|
+
* workspaces does not return them (only the create/update calls do), so a workspace read that
|
|
31
|
+
* way has them empty: sending those empty lists back would wipe the real ones.
|
|
32
|
+
*/
|
|
33
|
+
membersKnown: boolean;
|
|
24
34
|
}
|
|
25
35
|
/** Lifecycle of a document being added: `null` (or absent) once it is indexed. */
|
|
26
36
|
type DocumentStatus = "uploading" | "indexing" | "error";
|
|
@@ -148,6 +158,11 @@ interface ConnectionNotice {
|
|
|
148
158
|
*/
|
|
149
159
|
retry?(): void;
|
|
150
160
|
}
|
|
161
|
+
/**
|
|
162
|
+
* Query web service the agent-workspace search runs on. The server answers with its own
|
|
163
|
+
* document-upload query whatever name is sent, but the request still has to carry one.
|
|
164
|
+
*/
|
|
165
|
+
declare const WORKSPACES_QUERY_NAME = "query_Web";
|
|
151
166
|
/**
|
|
152
167
|
* Most workspaces the list keeps loaded: "load more" stops there, so the list never puts an
|
|
153
168
|
* unbounded number of cards in the DOM. Past it, {@link WorkspacesStore.truncated} is true.
|
|
@@ -168,6 +183,10 @@ interface WorkspacesState {
|
|
|
168
183
|
documentPagination: Record<string, Pagination>;
|
|
169
184
|
/** Ids ticked in the "+"/"@" mention pickers — shared between every picker instance. */
|
|
170
185
|
selectedIds: string[];
|
|
186
|
+
/** What the list's search box asked the server for ("" = every workspace). Reloads and "load more" keep it. */
|
|
187
|
+
searchText: string;
|
|
188
|
+
/** What each open workspace's search box asked the server for, by workspace id. Refreshes keep it. */
|
|
189
|
+
documentSearch: Record<string, string>;
|
|
171
190
|
}
|
|
172
191
|
interface CreateWorkspaceInput {
|
|
173
192
|
name: string;
|
|
@@ -185,8 +204,9 @@ interface RemoveWorkspacesResult {
|
|
|
185
204
|
}[];
|
|
186
205
|
}
|
|
187
206
|
/**
|
|
188
|
-
* Workspaces and their documents
|
|
189
|
-
* (`@sinequa/atomic`
|
|
207
|
+
* Workspaces and their documents. They are read through the agent-workspace search
|
|
208
|
+
* (`fetchWorkspaces`, `fetchWorkspace`, `fetchWorkspaceContent` of `@sinequa/atomic`) and written
|
|
209
|
+
* through the workspace management endpoints (create, update, delete, documents).
|
|
190
210
|
*
|
|
191
211
|
* Root-scoped on purpose: the workspace list, the mention picker and the
|
|
192
212
|
* save/move picker are separate components that have to see the same cache and
|
|
@@ -207,6 +227,8 @@ export declare const WorkspacesStore: import("@angular/core").Type<{
|
|
|
207
227
|
documents: import("@angular/core").Signal<Record<string, WorkspaceDocument[]>>;
|
|
208
228
|
documentPagination: import("@angular/core").Signal<Record<string, Pagination>>;
|
|
209
229
|
selectedIds: import("@angular/core").Signal<string[]>;
|
|
230
|
+
searchText: import("@angular/core").Signal<string>;
|
|
231
|
+
documentSearch: import("@angular/core").Signal<Record<string, string>>;
|
|
210
232
|
hasMore: import("@angular/core").Signal<boolean>;
|
|
211
233
|
truncated: import("@angular/core").Signal<boolean>;
|
|
212
234
|
selectedCount: import("@angular/core").Signal<number>;
|
|
@@ -216,6 +238,7 @@ export declare const WorkspacesStore: import("@angular/core").Type<{
|
|
|
216
238
|
hasMoreDocuments: (workspaceId: string) => boolean;
|
|
217
239
|
ensureLoaded: () => Promise<Workspace[]>;
|
|
218
240
|
reload: () => Promise<Workspace[]>;
|
|
241
|
+
search: (text: string) => Promise<Workspace[]>;
|
|
219
242
|
loadMore: () => Promise<Workspace[]>;
|
|
220
243
|
fetch: (id: string) => Promise<Workspace>;
|
|
221
244
|
create: ({ name, description, tags, owners, readers }: CreateWorkspaceInput) => Promise<Workspace>;
|
|
@@ -223,6 +246,8 @@ export declare const WorkspacesStore: import("@angular/core").Type<{
|
|
|
223
246
|
remove: (ids: string[]) => Promise<RemoveWorkspacesResult>;
|
|
224
247
|
forget: (id: string) => void;
|
|
225
248
|
loadDocuments: (workspaceId: string, signal?: AbortSignal) => Promise<WorkspaceDocument[]>;
|
|
249
|
+
searchDocuments: (workspaceId: string, text: string, signal?: AbortSignal) => Promise<WorkspaceDocument[]>;
|
|
250
|
+
resetDocumentSearch: (workspaceId: string) => void;
|
|
226
251
|
loadMoreDocuments: (workspaceId: string) => Promise<WorkspaceDocument[]>;
|
|
227
252
|
addDocuments: (workspaceId: string, documents: WorkspaceDocument[]) => void;
|
|
228
253
|
discardDocuments: (workspaceId: string, documentIds: string[]) => void;
|
|
@@ -240,6 +265,8 @@ export declare const WorkspacesStore: import("@angular/core").Type<{
|
|
|
240
265
|
documents: Record<string, WorkspaceDocument[]>;
|
|
241
266
|
documentPagination: Record<string, Pagination>;
|
|
242
267
|
selectedIds: string[];
|
|
268
|
+
searchText: string;
|
|
269
|
+
documentSearch: Record<string, string>;
|
|
243
270
|
}>>;
|
|
244
271
|
interface TrackerWorkspace {
|
|
245
272
|
id: string;
|
|
@@ -968,6 +995,11 @@ type WorkspaceSearchFields = "name" | "name+description";
|
|
|
968
995
|
interface WorkspaceFilterOptions {
|
|
969
996
|
/** What the query is matched against. Read reactively; the name only when absent. */
|
|
970
997
|
fields?: () => WorkspaceSearchFields;
|
|
998
|
+
/**
|
|
999
|
+
* The server does the searching: `filtered` then keeps only the tab and does not narrow by the query itself
|
|
1000
|
+
* (the list it reads is already the answer). The query is still there for the search box and the highlighting.
|
|
1001
|
+
*/
|
|
1002
|
+
serverSide?: boolean;
|
|
971
1003
|
}
|
|
972
1004
|
/**
|
|
973
1005
|
* The workspace list's tab and search box, and the list they produce.
|
|
@@ -1509,6 +1541,8 @@ export declare class WorkspaceList {
|
|
|
1509
1541
|
documents: import("@angular/core").Signal<Record<string, import("@sinequa/atomic-angular/document-workspaces").WorkspaceDocument[]>>;
|
|
1510
1542
|
documentPagination: import("@angular/core").Signal<Record<string, import("@sinequa/atomic-angular/document-workspaces").Pagination>>;
|
|
1511
1543
|
selectedIds: import("@angular/core").Signal<string[]>;
|
|
1544
|
+
searchText: import("@angular/core").Signal<string>;
|
|
1545
|
+
documentSearch: import("@angular/core").Signal<Record<string, string>>;
|
|
1512
1546
|
hasMore: import("@angular/core").Signal<boolean>;
|
|
1513
1547
|
truncated: import("@angular/core").Signal<boolean>;
|
|
1514
1548
|
selectedCount: import("@angular/core").Signal<number>;
|
|
@@ -1518,6 +1552,7 @@ export declare class WorkspaceList {
|
|
|
1518
1552
|
hasMoreDocuments: (workspaceId: string) => boolean;
|
|
1519
1553
|
ensureLoaded: () => Promise<Workspace[]>;
|
|
1520
1554
|
reload: () => Promise<Workspace[]>;
|
|
1555
|
+
search: (text: string) => Promise<Workspace[]>;
|
|
1521
1556
|
loadMore: () => Promise<Workspace[]>;
|
|
1522
1557
|
fetch: (id: string) => Promise<Workspace>;
|
|
1523
1558
|
create: ({ name, description, tags, owners, readers }: import("@sinequa/atomic-angular/document-workspaces").CreateWorkspaceInput) => Promise<Workspace>;
|
|
@@ -1525,6 +1560,8 @@ export declare class WorkspaceList {
|
|
|
1525
1560
|
remove: (ids: string[]) => Promise<import("@sinequa/atomic-angular/document-workspaces").RemoveWorkspacesResult>;
|
|
1526
1561
|
forget: (id: string) => void;
|
|
1527
1562
|
loadDocuments: (workspaceId: string, signal?: AbortSignal) => Promise<import("@sinequa/atomic-angular/document-workspaces").WorkspaceDocument[]>;
|
|
1563
|
+
searchDocuments: (workspaceId: string, text: string, signal?: AbortSignal) => Promise<import("@sinequa/atomic-angular/document-workspaces").WorkspaceDocument[]>;
|
|
1564
|
+
resetDocumentSearch: (workspaceId: string) => void;
|
|
1528
1565
|
loadMoreDocuments: (workspaceId: string) => Promise<import("@sinequa/atomic-angular/document-workspaces").WorkspaceDocument[]>;
|
|
1529
1566
|
addDocuments: (workspaceId: string, documents: import("@sinequa/atomic-angular/document-workspaces").WorkspaceDocument[]) => void;
|
|
1530
1567
|
discardDocuments: (workspaceId: string, documentIds: string[]) => void;
|
|
@@ -1542,6 +1579,8 @@ export declare class WorkspaceList {
|
|
|
1542
1579
|
documents: Record<string, import("@sinequa/atomic-angular/document-workspaces").WorkspaceDocument[]>;
|
|
1543
1580
|
documentPagination: Record<string, import("@sinequa/atomic-angular/document-workspaces").Pagination>;
|
|
1544
1581
|
selectedIds: string[];
|
|
1582
|
+
searchText: string;
|
|
1583
|
+
documentSearch: Record<string, string>;
|
|
1545
1584
|
}>;
|
|
1546
1585
|
private readonly uploads;
|
|
1547
1586
|
private readonly injector;
|
|
@@ -1551,7 +1590,7 @@ export declare class WorkspaceList {
|
|
|
1551
1590
|
labelKey: string;
|
|
1552
1591
|
}[];
|
|
1553
1592
|
protected readonly viewMode: import("@angular/core").WritableSignal<ViewMode$1>;
|
|
1554
|
-
protected readonly status: import("@angular/core").WritableSignal<"
|
|
1593
|
+
protected readonly status: import("@angular/core").WritableSignal<"error" | "loading" | "ready">;
|
|
1555
1594
|
protected readonly loadError: import("@angular/core").WritableSignal<Message | null>;
|
|
1556
1595
|
protected readonly refreshError: import("@angular/core").WritableSignal<string | null>;
|
|
1557
1596
|
protected readonly loadingMore: import("@angular/core").WritableSignal<boolean>;
|
|
@@ -1568,6 +1607,7 @@ export declare class WorkspaceList {
|
|
|
1568
1607
|
protected readonly selection: import("@sinequa/atomic-angular/document-workspaces").Selection<Workspace>;
|
|
1569
1608
|
private readonly liveRefresh;
|
|
1570
1609
|
constructor();
|
|
1610
|
+
private search;
|
|
1571
1611
|
/** Shows what is cached at once and refreshes behind it, or loads for the first time. */
|
|
1572
1612
|
protected load(): Promise<void>;
|
|
1573
1613
|
private refresh;
|
|
@@ -2005,8 +2045,17 @@ export declare class ShareDialog {
|
|
|
2005
2045
|
protected readonly staged: import("@angular/core").WritableSignal<PickedPrincipal[]>;
|
|
2006
2046
|
protected readonly adding: import("@angular/core").WritableSignal<boolean>;
|
|
2007
2047
|
protected readonly busy: import("@angular/core").WritableSignal<boolean>;
|
|
2048
|
+
/** The people with access are being read: the search that lists workspaces does not return them. */
|
|
2049
|
+
protected readonly loadingMembers: import("@angular/core").WritableSignal<boolean>;
|
|
2008
2050
|
protected readonly error: import("@angular/core").WritableSignal<WorkspaceErrorMessage | null>;
|
|
2009
2051
|
constructor();
|
|
2052
|
+
/**
|
|
2053
|
+
* The search that lists the workspaces returns who the caller is, not who else has access. An update
|
|
2054
|
+
* that changes nothing answers with the whole workspace: that is where the people come from.
|
|
2055
|
+
* Until then the dialog writes nothing, since the API replaces the owners and readers wholesale.
|
|
2056
|
+
*/
|
|
2057
|
+
private loadMembers;
|
|
2058
|
+
protected reloadMembers(): void;
|
|
2010
2059
|
protected add(): Promise<void>;
|
|
2011
2060
|
protected change(id: string, role: AssignableRole | "remove"): Promise<void>;
|
|
2012
2061
|
/** One write at a time: the arrays it sends are built from the workspace as it is now. */
|
|
@@ -2135,7 +2184,7 @@ export declare class WorkspaceEditDialog {
|
|
|
2135
2184
|
protected readonly busy: import("@angular/core").WritableSignal<boolean>;
|
|
2136
2185
|
protected readonly error: import("@angular/core").WritableSignal<WorkspaceErrorMessage | null>;
|
|
2137
2186
|
protected readonly descriptionTooLong: import("@angular/core").Signal<boolean>;
|
|
2138
|
-
protected readonly saveLabel: import("@angular/core").Signal<"documentWorkspaces.
|
|
2187
|
+
protected readonly saveLabel: import("@angular/core").Signal<"documentWorkspaces.common.save" | "documentWorkspaces.edit.creating" | "documentWorkspaces.edit.saving" | "documentWorkspaces.common.create">;
|
|
2139
2188
|
/** What to resolve with once the native dialog has closed: the saved workspace, or the plain dismissal. */
|
|
2140
2189
|
private outcome;
|
|
2141
2190
|
constructor();
|
|
@@ -2192,7 +2241,7 @@ export declare class WorkspaceDetail {
|
|
|
2192
2241
|
protected readonly query: import("@angular/core").WritableSignal<string>;
|
|
2193
2242
|
/** The search box, bound to `query`. */
|
|
2194
2243
|
protected readonly searchForm: import("@angular/forms/signals").FieldTree<string, string | number, "writable">;
|
|
2195
|
-
protected readonly status: import("@angular/core").WritableSignal<"
|
|
2244
|
+
protected readonly status: import("@angular/core").WritableSignal<"error" | "loading" | "ready">;
|
|
2196
2245
|
protected readonly loadError: import("@angular/core").WritableSignal<Message | null>;
|
|
2197
2246
|
protected readonly refreshError: import("@angular/core").WritableSignal<string | null>;
|
|
2198
2247
|
protected readonly refreshing: import("@angular/core").WritableSignal<boolean>;
|
|
@@ -2216,6 +2265,7 @@ export declare class WorkspaceDetail {
|
|
|
2216
2265
|
protected readonly selection: import("@sinequa/atomic-angular/document-workspaces").Selection<WorkspaceDocument>;
|
|
2217
2266
|
private readonly liveRefresh;
|
|
2218
2267
|
constructor();
|
|
2268
|
+
private search;
|
|
2219
2269
|
private open;
|
|
2220
2270
|
/**
|
|
2221
2271
|
* Leaving from here: once the background refresh found the workspace gone,
|
|
@@ -2278,7 +2328,7 @@ interface MentionItem {
|
|
|
2278
2328
|
name: string;
|
|
2279
2329
|
description: string;
|
|
2280
2330
|
color: WorkspaceColor;
|
|
2281
|
-
documentCount
|
|
2331
|
+
documentCount?: number;
|
|
2282
2332
|
/** The current user's role on it: a host can mark the read-only rows (`reader`) without hiding them. */
|
|
2283
2333
|
currentUserRole: WorkspaceRole;
|
|
2284
2334
|
selected: boolean;
|
|
@@ -2327,7 +2377,7 @@ export declare function injectWorkspaceMention(options?: WorkspaceMentionOptions
|
|
|
2327
2377
|
/** The workspaces in each category — the whole list, not what the search left. */
|
|
2328
2378
|
counts: import("@angular/core").Signal<import("@sinequa/atomic-angular/document-workspaces").WorkspaceTabCounts>;
|
|
2329
2379
|
/** Whether the first page is loading, ready or failed. */
|
|
2330
|
-
status: import("@angular/core").Signal<"
|
|
2380
|
+
status: import("@angular/core").Signal<"error" | "loading" | "ready">;
|
|
2331
2381
|
/** More workspaces than the loaded ones exist on the server: `loadMore()` fetches the next page. */
|
|
2332
2382
|
hasMore: import("@angular/core").Signal<boolean>;
|
|
2333
2383
|
/** The loading cap is reached: some workspaces will never be offered, search included. */
|
|
@@ -2374,7 +2424,7 @@ export declare const WORKSPACE_MENTION: InjectionToken<{
|
|
|
2374
2424
|
/** The workspaces in each category — the whole list, not what the search left. */
|
|
2375
2425
|
counts: import("@angular/core").Signal<import("@sinequa/atomic-angular/document-workspaces").WorkspaceTabCounts>;
|
|
2376
2426
|
/** Whether the first page is loading, ready or failed. */
|
|
2377
|
-
status: import("@angular/core").Signal<"
|
|
2427
|
+
status: import("@angular/core").Signal<"error" | "loading" | "ready">;
|
|
2378
2428
|
/** More workspaces than the loaded ones exist on the server: `loadMore()` fetches the next page. */
|
|
2379
2429
|
hasMore: import("@angular/core").Signal<boolean>;
|
|
2380
2430
|
/** The loading cap is reached: some workspaces will never be offered, search included. */
|
|
@@ -2525,7 +2575,7 @@ export declare class WorkspaceMention implements WorkspaceMentionApi, AfterConte
|
|
|
2525
2575
|
labelKey: string;
|
|
2526
2576
|
}[];
|
|
2527
2577
|
readonly counts: import("@angular/core").Signal<import("@sinequa/atomic-angular/document-workspaces").WorkspaceTabCounts>;
|
|
2528
|
-
readonly status: import("@angular/core").Signal<"
|
|
2578
|
+
readonly status: import("@angular/core").Signal<"error" | "loading" | "ready">;
|
|
2529
2579
|
readonly hasMore: import("@angular/core").Signal<boolean>;
|
|
2530
2580
|
readonly truncated: import("@angular/core").Signal<boolean>;
|
|
2531
2581
|
readonly loadingMore: import("@angular/core").Signal<boolean>;
|
|
@@ -2595,7 +2645,7 @@ export declare class WorkspaceMentionNew implements AfterContentInit {
|
|
|
2595
2645
|
/** The button's colour scheme. */
|
|
2596
2646
|
readonly scheme: import("@angular/core").InputSignal<"default" | "neutral" | null | undefined>;
|
|
2597
2647
|
/** The button's size. */
|
|
2598
|
-
readonly size: import("@angular/core").InputSignal<"
|
|
2648
|
+
readonly size: import("@angular/core").InputSignal<"small" | "medium" | "md" | "lg" | "sm" | "xs" | "xsmall" | "large" | null | undefined>;
|
|
2599
2649
|
private readonly mention;
|
|
2600
2650
|
private readonly slot;
|
|
2601
2651
|
/** Whether the host put its own content inside: the icon and the label then stay out. */
|
|
@@ -2638,7 +2688,7 @@ export declare class WorkspaceMentionRows {
|
|
|
2638
2688
|
labelKey: string;
|
|
2639
2689
|
}[];
|
|
2640
2690
|
counts: import("@angular/core").Signal<import("@sinequa/atomic-angular/document-workspaces").WorkspaceTabCounts>;
|
|
2641
|
-
status: import("@angular/core").Signal<"
|
|
2691
|
+
status: import("@angular/core").Signal<"error" | "loading" | "ready">;
|
|
2642
2692
|
hasMore: import("@angular/core").Signal<boolean>;
|
|
2643
2693
|
truncated: import("@angular/core").Signal<boolean>;
|
|
2644
2694
|
loadingMore: import("@angular/core").Signal<boolean>;
|
|
@@ -2660,9 +2710,9 @@ export declare class WorkspaceMentionRows {
|
|
|
2660
2710
|
/** The search box of the enclosing `<workspace-mention>`: it narrows what the menu offers. */
|
|
2661
2711
|
export declare class WorkspaceMentionSearch {
|
|
2662
2712
|
/** The size of the box, as `<SearchInput>` sizes it. */
|
|
2663
|
-
readonly size: import("@angular/core").InputSignal<"
|
|
2713
|
+
readonly size: import("@angular/core").InputSignal<"md" | "lg" | "sm" | null | undefined>;
|
|
2664
2714
|
/** The size of the text, as `<SearchInput>` sizes it; follows `size` when absent. */
|
|
2665
|
-
readonly textSize: import("@angular/core").InputSignal<"
|
|
2715
|
+
readonly textSize: import("@angular/core").InputSignal<"base" | "sm" | null | undefined>;
|
|
2666
2716
|
/** The hint shown in the empty box; the translated "Search workspace..." when absent. */
|
|
2667
2717
|
readonly placeholder: import("@angular/core").InputSignal<string | undefined>;
|
|
2668
2718
|
/** The accessible name of the box; the placeholder when absent. */
|
|
@@ -2709,7 +2759,7 @@ export declare class WorkspaceMentionSelectAll {
|
|
|
2709
2759
|
labelKey: string;
|
|
2710
2760
|
}[];
|
|
2711
2761
|
counts: import("@angular/core").Signal<import("@sinequa/atomic-angular/document-workspaces").WorkspaceTabCounts>;
|
|
2712
|
-
status: import("@angular/core").Signal<"
|
|
2762
|
+
status: import("@angular/core").Signal<"error" | "loading" | "ready">;
|
|
2713
2763
|
hasMore: import("@angular/core").Signal<boolean>;
|
|
2714
2764
|
truncated: import("@angular/core").Signal<boolean>;
|
|
2715
2765
|
loadingMore: import("@angular/core").Signal<boolean>;
|
|
@@ -2745,7 +2795,7 @@ export declare class WorkspaceMentionTabs {
|
|
|
2745
2795
|
labelKey: string;
|
|
2746
2796
|
}[];
|
|
2747
2797
|
counts: import("@angular/core").Signal<import("@sinequa/atomic-angular/document-workspaces").WorkspaceTabCounts>;
|
|
2748
|
-
status: import("@angular/core").Signal<"
|
|
2798
|
+
status: import("@angular/core").Signal<"error" | "loading" | "ready">;
|
|
2749
2799
|
hasMore: import("@angular/core").Signal<boolean>;
|
|
2750
2800
|
truncated: import("@angular/core").Signal<boolean>;
|
|
2751
2801
|
loadingMore: import("@angular/core").Signal<boolean>;
|
|
@@ -2790,14 +2840,14 @@ export declare const NEW_WORKSPACE_NAME_MAX = 50;
|
|
|
2790
2840
|
*/
|
|
2791
2841
|
export declare class WorkspacePicker {
|
|
2792
2842
|
/** `save` attaches `documents` to the chosen workspace; `move` takes `documentIds` from `fromWorkspaceId` to it. */
|
|
2793
|
-
readonly mode: import("@angular/core").InputSignal<"
|
|
2843
|
+
readonly mode: import("@angular/core").InputSignal<"move" | "save">;
|
|
2794
2844
|
readonly documents: import("@angular/core").InputSignal<readonly PickerDocument[]>;
|
|
2795
2845
|
readonly fromWorkspaceId: import("@angular/core").InputSignal<string | null>;
|
|
2796
2846
|
readonly documentIds: import("@angular/core").InputSignal<readonly string[]>;
|
|
2797
2847
|
/** The documents are in the workspace, and the check mark has been seen. */
|
|
2798
2848
|
readonly completed: import("@angular/core").OutputEmitterRef<Workspace>;
|
|
2799
2849
|
private readonly store;
|
|
2800
|
-
protected readonly status: import("@angular/core").WritableSignal<"
|
|
2850
|
+
protected readonly status: import("@angular/core").WritableSignal<"error" | "loading" | "ready">;
|
|
2801
2851
|
protected readonly busyId: import("@angular/core").WritableSignal<string | null>;
|
|
2802
2852
|
protected readonly doneId: import("@angular/core").WritableSignal<string | null>;
|
|
2803
2853
|
protected readonly error: import("@angular/core").WritableSignal<Message | null>;
|