Appearance
Collage Header Component ​
File Information ​
- Path:
components/theme/global/CollageHeader.vue - Purpose: Main application header with alert notifications and search bar
- Type: Global Theme Component
Overview ​
The Collage Header component provides the main application header functionality, including uncategorized assets alert, search bar integration, and header skeleton loading states. It's used across all DAM pages to provide consistent header functionality.
Key Features ​
Uncategorized Assets Alert
- Displays alert when uncategorized assets exist
- Shows count of uncategorized assets
- Links to uploaded assets page
- Dismissible alert with close button
Search Bar Integration
- Conditionally displays search bar based on permissions
- Uses SearchBarTypeSense component
- Permission-based visibility
Loading States
- Skeleton loader when instance is loading
- Conditional rendering based on instance availability
Props ​
This component does not accept props. It uses computed properties and data from the Vuex store and authentication.
Data Properties ​
javascript
{
alertMsg: string, // Alert message text
alertReceived: boolean, // Alert visibility state
alertType: string, // Alert type
alertObj: object // Alert object with workspace_id and uncategoryCount
}Computed Properties ​
hasInstance ​
Checks if DAM instance is available:
- Returns
truewhen instance is loaded and not fetching - Uses
dam.fetchingInstancesanddam.damInstance?.idfrom store
canViewUncategorizedBar ​
Checks if user can view uncategorized assets alert:
- Validates workspace access
- Checks user permissions using
$canViewUncategorizedAssetsBar - Returns
falseif workspace not found or no access
canUseSearchBar ​
Checks if user can use search bar:
- Validates workspace access
- Checks user permissions using
$canUseSearchBar - Returns
falseif workspace not found or no access
Methods ​
closeAlert() ​
Closes the uncategorized assets alert:
- Sets
alertReceivedtofalse - Clears
alertMsgandalertObj - Emits
alertCloseevent via EventBus
Components Used ​
SearchBarTypeSense- Main search bar componentCloseIcon- Close icon SVG componentv-alert- Vuetify alert componentv-skeleton-loader- Vuetify skeleton loader
Event Handling ​
EventBus Events ​
Listens for:
- Alert events (handled via EventBus)
Emits:
alertClose- When alert is dismissed
Usage Examples ​
Basic Usage ​
vue
<template>
<CollageHeader />
</template>
<script>
import CollageHeader from '~/components/theme/global/CollageHeader.vue'
export default {
components: {
CollageHeader
}
}
</script>In Layout ​
vue
<template>
<div>
<CollageHeader />
<main>
<!-- Page content -->
</main>
</div>
</template>Alert Object Structure ​
javascript
{
workspace_id: number, // Workspace ID
uncategoryCount: number // Count of uncategorized assets
}Styling ​
Uses CSS classes:
.collage-header- Main header container.headerAlert- Applied when alert is visible.alert-box-header- Alert box styling.headerMainSkeleton- Skeleton loader styling
Integration Points ​
- Layout Components: Used in main application layout
- SearchBar Component: Integrates SearchBarTypeSense
- EventBus: Communicates alert state
- Store: Accesses DAM instance state
- Auth: Checks user permissions
Notes for Development ​
- Alert visibility depends on permissions
- Search bar visibility depends on permissions
- Uses EventBus for alert communication
- Skeleton loader shown during instance loading
- Alert automatically links to uploaded assets page
Related Documentation ​
- SearchBarTypeSense Component - Search bar component
- Left Menu Component - Navigation menu
- Styles - Collage Header - Header styles