@sinequa/atomic-angular 1.15.1 → 1.17.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 +4 -2
- package/document-workspaces/i18n/en.json +4 -2
- package/document-workspaces/i18n/fr.json +4 -2
- package/document-workspaces/i18n/ja.json +4 -2
- package/document-workspaces/index.d.ts +84 -24
- package/fesm2022/sinequa-atomic-angular-document-workspaces.mjs +457 -236
- package/fesm2022/sinequa-atomic-angular-document-workspaces.mjs.map +1 -1
- package/fesm2022/sinequa-atomic-angular-workspace-elements.mjs +2 -2
- package/fesm2022/sinequa-atomic-angular-workspace-elements.mjs.map +1 -1
- package/package.json +1 -5
- package/elements/index.d.ts +0 -346
- package/fesm2022/sinequa-atomic-angular-elements.mjs +0 -7526
- package/fesm2022/sinequa-atomic-angular-elements.mjs.map +0 -1
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"roleShared": "Geteilt",
|
|
43
43
|
"searchPlaceholder": "Arbeitsbereich suchen...",
|
|
44
44
|
"selectedCount": "{count, plural, one {{count} ausgewählt} other {{count} ausgewählt}}",
|
|
45
|
-
"subtitle": "
|
|
45
|
+
"subtitle": "Laden Sie Ihre Dokumente hoch, indizieren und teilen Sie sie.",
|
|
46
46
|
"tabAll": "Alle Arbeitsbereiche",
|
|
47
47
|
"tabEditor": "Bearbeiter",
|
|
48
48
|
"tabReader": "Leser",
|
|
@@ -126,7 +126,7 @@
|
|
|
126
126
|
},
|
|
127
127
|
"share": {
|
|
128
128
|
"accessCount": "{count, plural, one {{count} Person hat Zugriff} other {{count} Personen haben Zugriff}}",
|
|
129
|
-
"accessNotice": "
|
|
129
|
+
"accessNotice": "Benutzer, die zu diesem Arbeitsbereich hinzugefügt werden, erhalten Zugriff auf alle hochgeladenen Dokumente, die auch in ihren Suchergebnissen erscheinen.",
|
|
130
130
|
"addPeople": "Personen hinzufügen",
|
|
131
131
|
"adding": "Wird hinzugefügt…",
|
|
132
132
|
"changeRole": "Rolle von {name} ändern",
|
|
@@ -197,6 +197,8 @@
|
|
|
197
197
|
"cancelUpload": "Hochladen abbrechen",
|
|
198
198
|
"retryUpload": "Hochladen erneut versuchen",
|
|
199
199
|
"retryAll": "Alle erneut versuchen",
|
|
200
|
+
"remoteUpload": "Upload eines anderen Benutzers",
|
|
201
|
+
"ownUpload": "Ihr Upload",
|
|
200
202
|
"workspaceIndexed": "{name}: indiziert"
|
|
201
203
|
},
|
|
202
204
|
"picker": {
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"roleShared": "Shared",
|
|
43
43
|
"searchPlaceholder": "Search workspace...",
|
|
44
44
|
"selectedCount": "{count, plural, one {{count} selected} other {{count} selected}}",
|
|
45
|
-
"subtitle": "
|
|
45
|
+
"subtitle": "Upload, index and share your documents.",
|
|
46
46
|
"tabAll": "All Workspaces",
|
|
47
47
|
"tabEditor": "Editor",
|
|
48
48
|
"tabReader": "Reader",
|
|
@@ -126,7 +126,7 @@
|
|
|
126
126
|
},
|
|
127
127
|
"share": {
|
|
128
128
|
"accessCount": "{count, plural, one {{count} person has access} other {{count} people have access}}",
|
|
129
|
-
"accessNotice": "
|
|
129
|
+
"accessNotice": "Users added to this workspace get access to all its uploaded documents, which will also appear in their search results.",
|
|
130
130
|
"addPeople": "Add people",
|
|
131
131
|
"adding": "Adding…",
|
|
132
132
|
"changeRole": "Change the role of {name}",
|
|
@@ -197,6 +197,8 @@
|
|
|
197
197
|
"cancelUpload": "Cancel upload",
|
|
198
198
|
"retryUpload": "Retry upload",
|
|
199
199
|
"retryAll": "Retry all",
|
|
200
|
+
"remoteUpload": "Upload by another user",
|
|
201
|
+
"ownUpload": "Your upload",
|
|
200
202
|
"workspaceIndexed": "{name}: indexed"
|
|
201
203
|
},
|
|
202
204
|
"picker": {
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"roleShared": "Partagée",
|
|
43
43
|
"searchPlaceholder": "Rechercher un espace de travail...",
|
|
44
44
|
"selectedCount": "{count, plural, one {{count} sélectionnée} many {{count} sélectionnées} other {{count} sélectionnées}}",
|
|
45
|
-
"subtitle": "
|
|
45
|
+
"subtitle": "Téléversez, indexez et partagez vos documents.",
|
|
46
46
|
"tabAll": "Tous les espaces de travail",
|
|
47
47
|
"tabEditor": "Éditeur",
|
|
48
48
|
"tabReader": "Lecteur",
|
|
@@ -126,7 +126,7 @@
|
|
|
126
126
|
},
|
|
127
127
|
"share": {
|
|
128
128
|
"accessCount": "{count, plural, one {{count} personne a accès} many {{count} personnes ont accès} other {{count} personnes ont accès}}",
|
|
129
|
-
"accessNotice": "
|
|
129
|
+
"accessNotice": "Les utilisateurs ajoutés à cet espace de travail ont accès à tous ses documents téléversés, qui apparaîtront aussi dans leurs résultats de recherche.",
|
|
130
130
|
"addPeople": "Ajouter des personnes",
|
|
131
131
|
"adding": "Ajout…",
|
|
132
132
|
"changeRole": "Changer le rôle de {name}",
|
|
@@ -197,6 +197,8 @@
|
|
|
197
197
|
"cancelUpload": "Annuler le téléversement",
|
|
198
198
|
"retryUpload": "Réessayer le téléversement",
|
|
199
199
|
"retryAll": "Tout réessayer",
|
|
200
|
+
"remoteUpload": "Envoi d'un autre utilisateur",
|
|
201
|
+
"ownUpload": "Votre envoi",
|
|
200
202
|
"workspaceIndexed": "{name} : indexé"
|
|
201
203
|
},
|
|
202
204
|
"picker": {
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"roleShared": "共有",
|
|
43
43
|
"searchPlaceholder": "ワークスペースを検索...",
|
|
44
44
|
"selectedCount": "{count, plural, other {{count} 件選択中}}",
|
|
45
|
-
"subtitle": "
|
|
45
|
+
"subtitle": "ドキュメントをアップロードし、インデックス化して共有します。",
|
|
46
46
|
"tabAll": "すべてのワークスペース",
|
|
47
47
|
"tabEditor": "編集者",
|
|
48
48
|
"tabReader": "閲覧者",
|
|
@@ -126,7 +126,7 @@
|
|
|
126
126
|
},
|
|
127
127
|
"share": {
|
|
128
128
|
"accessCount": "{count, plural, other {{count} 人がアクセスできます}}",
|
|
129
|
-
"accessNotice": "
|
|
129
|
+
"accessNotice": "このワークスペースに追加されたユーザーは、アップロードされたすべてのドキュメントにアクセスでき、それらは検索結果にも表示されます。",
|
|
130
130
|
"addPeople": "ユーザーを追加",
|
|
131
131
|
"adding": "追加しています…",
|
|
132
132
|
"changeRole": "{name} のロールを変更",
|
|
@@ -197,6 +197,8 @@
|
|
|
197
197
|
"cancelUpload": "アップロードをキャンセル",
|
|
198
198
|
"retryUpload": "アップロードを再試行",
|
|
199
199
|
"retryAll": "すべて再試行",
|
|
200
|
+
"remoteUpload": "他のユーザーによるアップロード",
|
|
201
|
+
"ownUpload": "あなたのアップロード",
|
|
200
202
|
"workspaceIndexed": "{name}: インデックス済み"
|
|
201
203
|
},
|
|
202
204
|
"picker": {
|
|
@@ -39,9 +39,8 @@ interface WorkspaceDocument {
|
|
|
39
39
|
*/
|
|
40
40
|
createdAt?: string;
|
|
41
41
|
/**
|
|
42
|
-
* Bytes.
|
|
43
|
-
*
|
|
44
|
-
* serves a size (swagger `ContainerDocumentViewModel`, checked 2026-09-30).
|
|
42
|
+
* Bytes. Neither the documents listing nor the upload-status endpoint serves a
|
|
43
|
+
* size (swagger `ContainerDocumentViewModel`, checked 2026-09-30): unset for now.
|
|
45
44
|
*/
|
|
46
45
|
size?: number;
|
|
47
46
|
/** Not served by the listing either; kept for a "source" column when a backend provides one. */
|
|
@@ -105,6 +104,18 @@ interface TrackedUpload {
|
|
|
105
104
|
message?: string;
|
|
106
105
|
/** An `error` that sending the file again could fix (a lost connection), as opposed to one the server will keep refusing. */
|
|
107
106
|
retryable: boolean;
|
|
107
|
+
/**
|
|
108
|
+
* Set on a row that does not come from this client's own transfers but from the
|
|
109
|
+
* status API: a job (or one of its failed files) started elsewhere. A job row is
|
|
110
|
+
* the whole job — the API gives no list of its files — so it has no `name`, and
|
|
111
|
+
* nothing here can cancel or retry it.
|
|
112
|
+
*/
|
|
113
|
+
remote?: RemoteUpload;
|
|
114
|
+
}
|
|
115
|
+
/** What the tracker knows about a row it only learned from the status API. */
|
|
116
|
+
interface RemoteUpload {
|
|
117
|
+
/** The current user started this job (from another tab, or before a page reload). */
|
|
118
|
+
mine: boolean;
|
|
108
119
|
}
|
|
109
120
|
/** What to tell the tracker when files start. */
|
|
110
121
|
interface TrackFileInput {
|
|
@@ -186,8 +197,8 @@ interface RemoveWorkspacesResult {
|
|
|
186
197
|
* touches the cache once the server has answered, so a rejected call leaves
|
|
187
198
|
* the state as it was — the call site reports the error.
|
|
188
199
|
*
|
|
189
|
-
* `addDocuments`
|
|
190
|
-
*
|
|
200
|
+
* `addDocuments`, `discardDocuments` and `patchDocument` stay purely local. The upload
|
|
201
|
+
* flow no longer uses them: the list is the index, and only the listing writes to it.
|
|
191
202
|
*/
|
|
192
203
|
declare const WorkspacesStore: _angular_core.Type<{
|
|
193
204
|
workspaces: _angular_core.Signal<Workspace[]>;
|
|
@@ -211,7 +222,8 @@ declare const WorkspacesStore: _angular_core.Type<{
|
|
|
211
222
|
create: ({ name, description, tags, owners, readers }: CreateWorkspaceInput) => Promise<Workspace>;
|
|
212
223
|
update: (id: string, patch: UpdateContainerInput) => Promise<Workspace | null>;
|
|
213
224
|
remove: (ids: string[]) => Promise<RemoveWorkspacesResult>;
|
|
214
|
-
|
|
225
|
+
forget: (id: string) => void;
|
|
226
|
+
loadDocuments: (workspaceId: string, signal?: AbortSignal) => Promise<WorkspaceDocument[]>;
|
|
215
227
|
loadMoreDocuments: (workspaceId: string) => Promise<WorkspaceDocument[]>;
|
|
216
228
|
addDocuments: (workspaceId: string, documents: WorkspaceDocument[]) => void;
|
|
217
229
|
discardDocuments: (workspaceId: string, documentIds: string[]) => void;
|
|
@@ -244,6 +256,20 @@ interface UploadTrackerState {
|
|
|
244
256
|
clearedCount: number;
|
|
245
257
|
/** What the server last said about each job's indexing, 0-100: indexed files / files of the job. */
|
|
246
258
|
jobIndexing: Record<string, number>;
|
|
259
|
+
/**
|
|
260
|
+
* Jobs the user got rid of — closed, cancelled, cleared. The status API keeps listing a
|
|
261
|
+
* job for a while after it ends, so without this a job closed by hand would come
|
|
262
|
+
* straight back as an upload started elsewhere. Survives `reset()`, on purpose.
|
|
263
|
+
*/
|
|
264
|
+
ignoredJobs: Record<string, true>;
|
|
265
|
+
}
|
|
266
|
+
/** A job the status API reports that this client did not start — or no longer remembers starting. */
|
|
267
|
+
interface RemoteJobEntry {
|
|
268
|
+
job: UploadJobStatus;
|
|
269
|
+
workspaceId: string;
|
|
270
|
+
workspaceName: string;
|
|
271
|
+
/** The current user started the job (`initiatedBy` is the current user's id). */
|
|
272
|
+
mine: boolean;
|
|
247
273
|
}
|
|
248
274
|
declare const isFinished: (upload: TrackedUpload) => boolean;
|
|
249
275
|
declare const isFailed: (upload: TrackedUpload) => boolean;
|
|
@@ -267,10 +293,13 @@ declare const UploadTrackerStore: _angular_core.Type<{
|
|
|
267
293
|
connection: _angular_core.Signal<ConnectionNotice | null>;
|
|
268
294
|
clearedCount: _angular_core.Signal<number>;
|
|
269
295
|
jobIndexing: _angular_core.Signal<Record<string, number>>;
|
|
296
|
+
ignoredJobs: _angular_core.Signal<Record<string, true>>;
|
|
270
297
|
active: _angular_core.Signal<boolean>;
|
|
271
298
|
failed: _angular_core.Signal<TrackedUpload[]>;
|
|
272
299
|
byStatus: _angular_core.Signal<Record<UploadStatus, TrackedUpload[]>>;
|
|
273
300
|
allDone: _angular_core.Signal<boolean>;
|
|
301
|
+
settled: _angular_core.Signal<boolean>;
|
|
302
|
+
authorFailed: _angular_core.Signal<boolean>;
|
|
274
303
|
progress: _angular_core.Signal<Record<string, PhaseProgress>>;
|
|
275
304
|
indexedCount: _angular_core.Signal<number>;
|
|
276
305
|
track: (files: TrackFileInput[], workspaceId: string, workspaceName: string) => void;
|
|
@@ -283,6 +312,7 @@ declare const UploadTrackerStore: _angular_core.Type<{
|
|
|
283
312
|
}) => void;
|
|
284
313
|
restart: (id: string) => void;
|
|
285
314
|
applyJobs: (jobs: UploadJobStatus[]) => boolean;
|
|
315
|
+
applyRemoteJobs: (entries: RemoteJobEntry[]) => boolean;
|
|
286
316
|
setConnection: (connection: ConnectionNotice | null) => void;
|
|
287
317
|
remove: (id: string) => void;
|
|
288
318
|
removeWorkspace: (workspaceId: string) => void;
|
|
@@ -293,6 +323,7 @@ declare const UploadTrackerStore: _angular_core.Type<{
|
|
|
293
323
|
connection: ConnectionNotice | null;
|
|
294
324
|
clearedCount: number;
|
|
295
325
|
jobIndexing: Record<string, number>;
|
|
326
|
+
ignoredJobs: Record<string, true>;
|
|
296
327
|
}>>;
|
|
297
328
|
|
|
298
329
|
interface UploadTarget {
|
|
@@ -317,6 +348,10 @@ interface AddFilesOptions {
|
|
|
317
348
|
* speaks for both. What the user sees lives in `UploadTrackerStore`; this
|
|
318
349
|
* service only writes to it.
|
|
319
350
|
*
|
|
351
|
+
* It never writes a file into a workspace's list: the list is the index, and a file
|
|
352
|
+
* enters it only once the container listing returns it. What the service does for the
|
|
353
|
+
* list is re-read that listing while something is in progress.
|
|
354
|
+
*
|
|
320
355
|
* Root-scoped: an upload must outlive the view that started it. It registers its
|
|
321
356
|
* window and auth listeners once, and removes them when the application is destroyed.
|
|
322
357
|
*/
|
|
@@ -358,7 +393,7 @@ declare class UploadService {
|
|
|
358
393
|
addFiles(workspace: UploadTarget, files: File[], options: AddFilesOptions): string[];
|
|
359
394
|
/**
|
|
360
395
|
* Abandons a transfer and forgets it: stops it, and drops the file from the
|
|
361
|
-
* tracker
|
|
396
|
+
* tracker. Works while it is sending
|
|
362
397
|
* and once it has failed; once the bytes are in, indexing is the server's and
|
|
363
398
|
* there is nothing left to cancel.
|
|
364
399
|
*
|
|
@@ -378,32 +413,33 @@ declare class UploadService {
|
|
|
378
413
|
resumeStalled(): void;
|
|
379
414
|
/**
|
|
380
415
|
* Tells the service which workspace is open, so the status polling can be
|
|
381
|
-
* scoped to it (the API documents that as the cheaper lookup) and
|
|
382
|
-
*
|
|
383
|
-
*
|
|
384
|
-
*
|
|
416
|
+
* scoped to it (the API documents that as the cheaper lookup) and re-read its
|
|
417
|
+
* listing. `null` when none is. Starts the polling: a page reload loses every
|
|
418
|
+
* local tus handle and the listing no longer says what is in progress, so the
|
|
419
|
+
* status API is the only way to know. The loop stops by itself after one tick
|
|
420
|
+
* when nothing is.
|
|
385
421
|
*/
|
|
386
422
|
watch(workspaceId: string | null): void;
|
|
387
423
|
startPolling(): void;
|
|
388
424
|
stopPolling(): void;
|
|
389
425
|
private startUpload;
|
|
390
|
-
/** The key a cached document is followed by in the tracker. */
|
|
391
|
-
private keyOf;
|
|
392
|
-
/** The id the workspace store holds for the file followed under `key`. */
|
|
393
|
-
private storedId;
|
|
394
|
-
private patchStored;
|
|
395
426
|
private markIndexing;
|
|
396
|
-
private markComplete;
|
|
397
427
|
private markError;
|
|
398
428
|
private pollUploadStatus;
|
|
399
429
|
private runPollTick;
|
|
400
430
|
/**
|
|
401
|
-
* The
|
|
402
|
-
*
|
|
403
|
-
*
|
|
431
|
+
* The jobs of the response the panel should show although this client did not send
|
|
432
|
+
* them. The server decides which ones the response holds — those in progress or just
|
|
433
|
+
* ended, on the workspaces the user can write to — so none is filtered by role or date
|
|
434
|
+
* here; only, with a workspace open, those that belong to it are kept. Whether the user
|
|
435
|
+
* started one is read from `initiatedBy`, which is their `userId`, so it holds after a
|
|
436
|
+
* page reload too.
|
|
404
437
|
*/
|
|
438
|
+
private remoteJobs;
|
|
439
|
+
/** Re-reads the workspace's listing. @returns Whether it differs from what was shown. */
|
|
440
|
+
private refreshListing;
|
|
441
|
+
/** The job-level status can finish a file this client was still holding the poller for: release it. */
|
|
405
442
|
private settleFinishedUploads;
|
|
406
|
-
private applyDocumentStatuses;
|
|
407
443
|
/** Transfers that spent their whole budget and are parked in the error state: what "N uploads paused" counts once retrying has stopped. */
|
|
408
444
|
private stalledUploadCount;
|
|
409
445
|
private publishConnection;
|
|
@@ -868,7 +904,9 @@ type ViewMode$1 = "grid" | "list";
|
|
|
868
904
|
* Each time it is shown it refreshes: workspaces created by others since the last
|
|
869
905
|
* time appear, and the document counts match the server. The list already on
|
|
870
906
|
* screen stays until the answer lands, and a failure leaves it untouched behind
|
|
871
|
-
* an inline error.
|
|
907
|
+
* an inline error. While it stays shown, it keeps polling in the background
|
|
908
|
+
* (`injectLiveRefresh`) so a workspace created by someone else — one the current
|
|
909
|
+
* user only reads, say — appears on its own, with no action needed.
|
|
872
910
|
*/
|
|
873
911
|
declare class WorkspaceList {
|
|
874
912
|
/** A workspace was chosen for opening. */
|
|
@@ -897,7 +935,8 @@ declare class WorkspaceList {
|
|
|
897
935
|
create: ({ name, description, tags, owners, readers }: _sinequa_atomic_angular_document_workspaces.CreateWorkspaceInput) => Promise<Workspace>;
|
|
898
936
|
update: (id: string, patch: _sinequa_atomic.UpdateContainerInput) => Promise<Workspace | null>;
|
|
899
937
|
remove: (ids: string[]) => Promise<_sinequa_atomic_angular_document_workspaces.RemoveWorkspacesResult>;
|
|
900
|
-
|
|
938
|
+
forget: (id: string) => void;
|
|
939
|
+
loadDocuments: (workspaceId: string, signal?: AbortSignal) => Promise<_sinequa_atomic_angular_document_workspaces.WorkspaceDocument[]>;
|
|
901
940
|
loadMoreDocuments: (workspaceId: string) => Promise<_sinequa_atomic_angular_document_workspaces.WorkspaceDocument[]>;
|
|
902
941
|
addDocuments: (workspaceId: string, documents: _sinequa_atomic_angular_document_workspaces.WorkspaceDocument[]) => void;
|
|
903
942
|
discardDocuments: (workspaceId: string, documentIds: string[]) => void;
|
|
@@ -917,6 +956,7 @@ declare class WorkspaceList {
|
|
|
917
956
|
selectedIds: string[];
|
|
918
957
|
}>;
|
|
919
958
|
private readonly dialogs;
|
|
959
|
+
private readonly uploads;
|
|
920
960
|
private readonly transloco;
|
|
921
961
|
protected readonly tabs: readonly {
|
|
922
962
|
tab: WorkspaceTab;
|
|
@@ -936,6 +976,7 @@ declare class WorkspaceList {
|
|
|
936
976
|
clearQuery: () => void;
|
|
937
977
|
};
|
|
938
978
|
protected readonly selection: _sinequa_atomic_angular_document_workspaces.Selection<Workspace>;
|
|
979
|
+
private readonly liveRefresh;
|
|
939
980
|
constructor();
|
|
940
981
|
/** Shows what is cached at once and refreshes behind it, or loads for the first time. */
|
|
941
982
|
protected load(): Promise<void>;
|
|
@@ -1123,6 +1164,9 @@ type ViewMode = "grid" | "list";
|
|
|
1123
1164
|
* shown: it says what the user asked for (`back`, `deleted`, `askFollowUp`) and whoever
|
|
1124
1165
|
* hosts it decides. The document open in the preview is the `previewedDocumentId` model.
|
|
1125
1166
|
*
|
|
1167
|
+
* While a workspace stays open, it keeps polling its documents in the background
|
|
1168
|
+
* (`injectLiveRefresh`), so a document another user adds to it shows up on its own.
|
|
1169
|
+
*
|
|
1126
1170
|
* Only someone who can write sees the edit, share, delete, upload and select controls.
|
|
1127
1171
|
*/
|
|
1128
1172
|
declare class WorkspaceDetail {
|
|
@@ -1153,6 +1197,8 @@ declare class WorkspaceDetail {
|
|
|
1153
1197
|
protected readonly refreshing: _angular_core.WritableSignal<boolean>;
|
|
1154
1198
|
protected readonly loadingMore: _angular_core.WritableSignal<boolean>;
|
|
1155
1199
|
protected readonly loadMoreError: _angular_core.WritableSignal<string | null>;
|
|
1200
|
+
/** The background refresh found the workspace gone from the server (deleted elsewhere). */
|
|
1201
|
+
protected readonly deletedElsewhere: _angular_core.WritableSignal<boolean>;
|
|
1156
1202
|
protected readonly workspace: _angular_core.Signal<Workspace | undefined>;
|
|
1157
1203
|
protected readonly documents: _angular_core.Signal<WorkspaceDocument[]>;
|
|
1158
1204
|
protected readonly previewed: _angular_core.Signal<WorkspaceDocument | null>;
|
|
@@ -1167,8 +1213,15 @@ declare class WorkspaceDetail {
|
|
|
1167
1213
|
protected readonly filtered: _angular_core.Signal<WorkspaceDocument[]>;
|
|
1168
1214
|
private readonly writable;
|
|
1169
1215
|
protected readonly selection: _sinequa_atomic_angular_document_workspaces.Selection<WorkspaceDocument>;
|
|
1216
|
+
private readonly liveRefresh;
|
|
1170
1217
|
constructor();
|
|
1171
1218
|
private open;
|
|
1219
|
+
/**
|
|
1220
|
+
* Leaving from here: once the background refresh found the workspace gone,
|
|
1221
|
+
* the cache still holds it (so its name kept showing) — drop it now, so a
|
|
1222
|
+
* stale card does not show it back on the list.
|
|
1223
|
+
*/
|
|
1224
|
+
protected leave(): void;
|
|
1172
1225
|
/** Reads the workspace (when it is not cached) and its documents, for the workspace currently shown. */
|
|
1173
1226
|
protected load(): Promise<void>;
|
|
1174
1227
|
/** Reads the documents again without leaving the view; a failure leaves the ones shown as they are. */
|
|
@@ -1854,10 +1907,13 @@ declare class UploadTracker {
|
|
|
1854
1907
|
connection: _angular_core.Signal<_sinequa_atomic_angular_document_workspaces.ConnectionNotice | null>;
|
|
1855
1908
|
clearedCount: _angular_core.Signal<number>;
|
|
1856
1909
|
jobIndexing: _angular_core.Signal<Record<string, number>>;
|
|
1910
|
+
ignoredJobs: _angular_core.Signal<Record<string, true>>;
|
|
1857
1911
|
active: _angular_core.Signal<boolean>;
|
|
1858
1912
|
failed: _angular_core.Signal<TrackedUpload[]>;
|
|
1859
1913
|
byStatus: _angular_core.Signal<Record<UploadStatus, TrackedUpload[]>>;
|
|
1860
1914
|
allDone: _angular_core.Signal<boolean>;
|
|
1915
|
+
settled: _angular_core.Signal<boolean>;
|
|
1916
|
+
authorFailed: _angular_core.Signal<boolean>;
|
|
1861
1917
|
progress: _angular_core.Signal<Record<string, PhaseProgress>>;
|
|
1862
1918
|
indexedCount: _angular_core.Signal<number>;
|
|
1863
1919
|
track: (files: _sinequa_atomic_angular_document_workspaces.TrackFileInput[], workspaceId: string, workspaceName: string) => void;
|
|
@@ -1870,6 +1926,7 @@ declare class UploadTracker {
|
|
|
1870
1926
|
}) => void;
|
|
1871
1927
|
restart: (id: string) => void;
|
|
1872
1928
|
applyJobs: (jobs: _sinequa_atomic.UploadJobStatus[]) => boolean;
|
|
1929
|
+
applyRemoteJobs: (entries: RemoteJobEntry[]) => boolean;
|
|
1873
1930
|
setConnection: (connection: _sinequa_atomic_angular_document_workspaces.ConnectionNotice | null) => void;
|
|
1874
1931
|
remove: (id: string) => void;
|
|
1875
1932
|
removeWorkspace: (workspaceId: string) => void;
|
|
@@ -1880,6 +1937,7 @@ declare class UploadTracker {
|
|
|
1880
1937
|
connection: _sinequa_atomic_angular_document_workspaces.ConnectionNotice | null;
|
|
1881
1938
|
clearedCount: number;
|
|
1882
1939
|
jobIndexing: Record<string, number>;
|
|
1940
|
+
ignoredJobs: Record<string, true>;
|
|
1883
1941
|
}>;
|
|
1884
1942
|
private readonly service;
|
|
1885
1943
|
protected readonly mode: _angular_core.WritableSignal<Mode>;
|
|
@@ -1943,7 +2001,7 @@ declare class UploadTracker {
|
|
|
1943
2001
|
protected onTransitionEnd(event: TransitionEvent): void;
|
|
1944
2002
|
private clearHover;
|
|
1945
2003
|
protected toggleExpanded(): void;
|
|
1946
|
-
/** Minimizes while there is work going on; once everything is over, closes for good. */
|
|
2004
|
+
/** Minimizes while there is work going on; once everything is over (failures included), closes for good. */
|
|
1947
2005
|
protected dismiss(): void;
|
|
1948
2006
|
protected moveWorkspace(step: -1 | 1): void;
|
|
1949
2007
|
protected isOpen(status: UploadStatus): boolean;
|
|
@@ -2007,6 +2065,8 @@ declare class UploadTrackerSection {
|
|
|
2007
2065
|
protected readonly failed: _angular_core.Signal<boolean>;
|
|
2008
2066
|
/** The bar: the phase's overall progress, or else the mean progress of the files in the section. */
|
|
2009
2067
|
protected readonly average: _angular_core.Signal<number>;
|
|
2068
|
+
/** The translation key standing for a row with no file name: a job started elsewhere. Only read when `name` is empty. */
|
|
2069
|
+
protected label(upload: TrackedUpload): string;
|
|
2010
2070
|
protected round(value: number): number;
|
|
2011
2071
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<UploadTrackerSection, never>;
|
|
2012
2072
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<UploadTrackerSection, "upload-tracker-section", never, { "status": { "alias": "status"; "required": true; "isSignal": true; }; "uploads": { "alias": "uploads"; "required": true; "isSignal": true; }; "open": { "alias": "open"; "required": false; "isSignal": true; }; "progress": { "alias": "progress"; "required": false; "isSignal": true; }; }, { "toggle": "toggle"; "discard": "discard"; "retry": "retry"; }, never, never, true, never>;
|