Document workspaces
A user-managed set of documents — listed, opened, uploaded into, shared and previewed — as Angular components, with a custom-element build for pages that are not Angular.
A workspace is a named set of documents that a user creates, fills by uploading files, shares with other
people and previews. It is backed by the Agent Workspace API of @sinequa/atomic (api/v2/agent-workspace/*).
Two entry points
The components ship from @sinequa/atomic-angular/document-workspaces. The custom elements built on them
(<lexiq-workspaces>, <lexiq-workspace-picker>, <lexiq-workspace-mention-list>) ship from
@sinequa/atomic-angular/workspace-elements, whose @angular/elements peer is optional — an Angular application
never needs it.
How the parts fit
WorkspacesShell is the whole view in one component. Every part it is made of is exported too, for a host that
wants its own layout. None of the parts navigates or opens a dialog it does not own: each one says what the user
asked for, and whoever hosts it decides.
All of them read the same WorkspacesStore, so a change made in one — a role changed from "Manage access", a
status patched by the upload flow — shows in the others without anything being pushed.
Prerequisites
@sinequa/atomic2.9 or later, which carries the Agent Workspace API the store calls (listWorkspaces,createWorkspace,addWorkspaceDocuments…), a backend that exposesapi/v2/agent-workspace/*, and a configured client (setGlobalConfig, or the application's own bootstrap).- Transloco, with the
document-workspacestranslation scope the package ships, andprovideTranslocoMessageformat(): the plurals ("3 people have access") are written in ICU. - The styles: the components are styled with galactik tokens and Tailwind utilities, so the application's Tailwind
build scans the library, as it does for the rest of
@sinequa/atomic-angular.
What's next
WorkspacesShell
The whole view in one component.
List and detail
The parts the shell is made of, to lay out yourself.
Upload documents
Staging files, sending them as one batch, and following their progress.
Mention workspaces
Tick workspaces from a menu: search, select all, categories.
Custom elements
The same view for a page that is not Angular.
Labels
Public and private labels on a document — an autosuggest multi-select field, and a bulk-edit dialog that shows both fields side by side, gated by the labels web service's own configuration.
WorkspacesShell
Show the whole workspaces view — the list, a workspace with its documents and preview, the dialogs they open and the upload tracker — from one component.