42 lines
1.3 KiB
Markdown
42 lines
1.3 KiB
Markdown
# Saved Views
|
|
|
|
## User Perspective
|
|
Saved Views are named filter presets for the video list. Users can create a view from their current filter state and quickly reapply it later. Views can optionally be pinned as tabs in the video list tab bar.
|
|
|
|
### Creating a View
|
|
From the Videos page, apply filters, then click the save icon or the "+" in the tab bar. Give the view a name and optionally pin it as a tab.
|
|
|
|
### Pinned Tabs
|
|
Pinned saved views appear in the tab bar after the system tabs. Clicking a tab applies that view's query.
|
|
|
|
### Global vs Personal
|
|
- `isGlobal: true` — visible to all team members
|
|
- `isGlobal: false` — private to the owner
|
|
|
|
## Developer Perspective
|
|
|
|
### Data Model
|
|
```
|
|
SavedView {
|
|
queryJson // filter state — mirrors VideosQuery
|
|
columnsJson // column visibility/order
|
|
sortJson // sort state
|
|
pinnedAsTab // show in tab bar
|
|
tabOrder // ordering among pinned tabs
|
|
isGlobal
|
|
ownerId
|
|
}
|
|
```
|
|
|
|
### Endpoints
|
|
- `GET /saved-views` — list all views for team
|
|
- `GET /saved-views/tabs` — pinned-as-tab views ordered by tabOrder
|
|
- `POST /saved-views` — create
|
|
- `PATCH /saved-views/:id` — update
|
|
- `DELETE /saved-views/:id` — delete (ADMIN+)
|
|
- `POST /saved-views/:id/execute` — returns matching video IDs
|
|
|
|
## Related
|
|
- [[08 - Saved Views API]]
|
|
- [[01 - Video Management]]
|