Appearance
Custom Fields ​
File Information ​
- Path:
pages/_workspace_id/workspace-settings/custom-fields/index.vue - Route:
/:workspace_id/workspace-settings/custom-fields - Purpose: Manage custom field definitions for workspace assets
Overview ​
The Custom Fields page allows workspace administrators to create, edit, delete, and manage custom field definitions. These fields extend asset metadata beyond standard properties, enabling workspace-specific data capture and organization.
Key Features ​
Field Definition Management
- Create new field definitions
- Edit existing field definitions
- Delete field definitions
- Reorder fields
Field Types
- Text fields
- Number fields
- Date fields
- Select (dropdown)
- Multi-select
- Boolean (checkbox)
- URL fields
- Email fields
Field Configuration
- Field name and key
- Field type selection
- Required field option
- Searchable option
- Default values
- Validation rules
- Options (for select fields)
Field Usage
- View field usage statistics
- See which assets use fields
- Field value distribution
Field Organization
- Display order management
- Field grouping
- Field categories
Components Used ​
CustomFieldDialog- Create/edit field dialog- Field list components
- Field type selectors
- Validation rule inputs
Data Properties ​
javascript
{
customFields: [], // List of field definitions
loading: false, // Loading state
saving: false, // Saving state
showDialog: false, // Dialog visibility
editingField: null, // Field being edited
fieldTypes: [ // Available field types
'text', 'number', 'date', 'select',
'multi_select', 'boolean', 'url', 'email'
]
}Computed Properties ​
sortedFields ​
Returns fields sorted by display order
fieldUsageStats ​
Returns field usage statistics
Methods ​
loadCustomFields() ​
Loads custom field definitions:
- Fetches fields from API
- Updates field list
- Handles errors
createField() ​
Opens create field dialog:
- Resets form
- Shows CustomFieldDialog
- Handles field creation
editField(field) ​
Opens edit field dialog:
- Loads field data
- Shows CustomFieldDialog
- Handles field update
deleteField(fieldId) ​
Deletes field definition:
- Confirms deletion
- Calls delete API
- Refreshes field list
- Shows success/error message
reorderFields(newOrder) ​
Reorders fields:
- Updates display order
- Saves new order via API
- Refreshes field list
saveField(fieldData) ​
Saves field definition:
- Validates field data
- Creates or updates field
- Refreshes field list
- Closes dialog
API Endpoints ​
Get Custom Fields ​
- Endpoint:
GET /digital-assets/custom-field/list - Query Parameters:
workspace_id - Response: Array of field definition objects
Create Custom Field ​
- Endpoint:
POST /digital-assets/custom-field/add - Request Body: Field definition data
- Response: Created field object
Update Custom Field ​
- Endpoint:
PUT /digital-assets/custom-field/update - Request Body: Field definition data
- Response: Updated field object
Delete Custom Field ​
- Endpoint:
DELETE /digital-assets/custom-field/delete - Query Parameters:
field_id - Response: Success confirmation
Reorder Fields ​
- Endpoint:
PUT /digital-assets/custom-field/reorder - Request Body: Array of field IDs in new order
- Response: Success confirmation
Field Definition Structure ​
javascript
{
id: 123,
name: "Project Name",
field_key: "project_name",
field_type: "text",
is_required: false,
is_searchable: true,
default_value: null,
options: [], // For select fields
validation_rules: {
min_length: null,
max_length: 100,
pattern: null
},
display_order: 1,
usage_count: 45
}User Flow ​
- User navigates to Custom Fields page
- Page loads existing field definitions
- User creates new field definition
- User configures field properties
- User saves field definition
- Field appears in list
- User can edit/delete fields
- User can reorder fields
Integration Points ​
- Asset Details: Fields displayed on assets
- Search: Fields used in search filters
- Bulk Operations: Fields applied to multiple assets
- Asset Upload: Fields available during upload
Notes for Development ​
- Page requires workspace admin permissions
- Field keys must be unique
- Deleting fields may affect existing assets
- Field type changes require validation
- Display order affects field appearance
Related Documentation ​
- Custom Fields Feature - Complete custom fields system
- Tags & Custom Fields - Metadata management
- Workspace Settings - Main settings page