Appearance
Search Page
File Information
- Path:
pages/_workspace_id/dam/search.vue - Route:
/:workspace_id/dam/search - Middleware:
authCheck,checkWorkspace,check-if-suspended,can-access-dam-module - Layout:
damLayout
Purpose
The Search page provides comprehensive search functionality across assets, folders, and collages using Typesense search engine. It supports advanced filtering, multiple view modes, and bulk operations.
Key Features
Multi-Tab Search
- Assets tab
- Folders tab
- Collages tab
Advanced Filtering
- File type filters
- Tag filters
- Custom field filters
- Collage filters
- Uploaded by filters
- Date range filters
View Modes
- Grid view
- List view
- Mosaic view (assets only)
Bulk Operations
- Multi-select items
- Bulk download
- Bulk share
- Bulk add to collage
- Bulk tag management
- Bulk custom field updates
Search Features
- Full-text search
- Faceted search
- Filter combination
- Search history
Components Used
SearchFilter- Filter panel componentAddedFilterOption- Active filter chipsSearchBulkActions- Bulk action toolbarSearchAssets- Assets search resultsSearchFolders- Folders search resultsSearchCollages- Collages search resultsViewToggle- View mode switcherSearchTabs- Tab navigation- Various skeleton loaders
Data Properties
javascript
{
tab: number, // Active tab index
tabLabels: string[], // Tab labels
loading: boolean, // Search loading state
searchQuery: string, // Search query text
mainFilterObj: object, // Main filter object
allFilterList: array, // Active filters list
fileTypeList: array, // Available file types
tagsList: array, // Available tags
customFieldsList: array, // Custom fields
collageList: array, // Available collages
uploadedByList: array, // Users list
assetsSelectedItems: array, // Selected assets
assetSelectedCount: number, // Selected assets count
currentTabMode: string, // Current view mode
pagination: object, // Pagination state
noResults: boolean // No results flag
}Computed Properties
canShareDownload- Permission to share/downloadcanMoveContent- Permission to move contentcanDeleteContent- Permission to delete contentshouldShowNoData- Determines if "no data" message should shownoDigitalAssetsResults- No assets results flag
Methods
fetchResults()
Performs search query:
- Builds search parameters
- Calls Typesense API
- Updates results
- Handles errors
updateFilterObj(filterObj)
Updates filter object:
- Merges new filters
- Triggers search
- Updates UI
updateFilterListData(filterList)
Updates active filters list:
- Adds/removes filters
- Updates filter chips
- Triggers search
removeFilterOptn(filter)
Removes specific filter:
- Removes from filter list
- Updates filter object
- Triggers search
updateTabMode(mode)
Changes view mode:
- Updates current mode
- Saves preference
- Refreshes view
assetsRemoveSelection()
Clears asset selection:
- Resets selected items
- Updates UI
assetsDownloadFile(items)
Downloads selected assets:
- Prepares download
- Calls download API
- Handles progress
assetsAddToCollage(items)
Adds assets to collage:
- Opens collage dialog
- Handles selection
- Updates collage
assetsAddToShare(items)
Shares selected assets:
- Opens share dialog
- Configures sharing
- Creates share links
assetsAddToTags(items)
Manages tags for assets:
- Opens tag dialog
- Applies tags
- Updates assets
assetsAddCustomFields(items)
Updates custom fields:
- Opens custom fields dialog
- Applies changes
- Updates assets
API Endpoints
POST /typesense/search-assets- Search assetsPOST /typesense/search-folders- Search foldersPOST /typesense/search-collages- Search collagesGET /dam/file-types- Get file typesGET /dam/tags- Get tags listGET /dam/custom-fields- Get custom fieldsGET /dam/collages- Get collages listGET /dam/users- Get users list
Search Parameters
javascript
{
q: string, // Search query
query_by: string, // Fields to search
filter_by: string, // Filter conditions
sort_by: string, // Sort order
per_page: number, // Results per page
page: number, // Page number
facet_by: string[] // Facet fields
}Filter Types
File Type Filter
- Image, Video, Audio, Document, etc.
- Multiple selection
- Pagination support
Tag Filter
- Tag selection
- Tag search
- Multiple tags
Custom Field Filter
- Field-specific filters
- Value selection
- Type-based filtering
Collage Filter
- Collage selection
- Multiple collages
Uploaded By Filter
- User selection
- Multiple users
Date Range Filter
- Created date
- Modified date
- Upload date
User Interactions
Search
- Type in search box
- Apply filters
- View results
Filtering
- Add filters from filter panel
- Remove filters from chips
- Combine multiple filters
Selection
- Select individual items
- Select all items
- Bulk operations
View Modes
- Switch between grid/list/mosaic
- Preference is saved
Performance Considerations
- Debounced search input
- Lazy loading of results
- Pagination for large result sets
- Cached filter options
- Optimized Typesense queries
Notes for Development
- Search uses Typesense for fast, relevant results
- Filters are combined with AND logic
- View mode preference is persisted
- Bulk operations require proper permissions
- Search history can be implemented for better UX
- Faceted search provides drill-down capabilities
Related Documentation
- API Services - API documentation
- SearchBar Component - Search bar component
- Common Functions Mixin - Common utilities
- Pages Documentation - All pages overview