Skip to content

Sharing Page

File Information

  • Path: pages/_workspace_id/dam/sharing/index.vue
  • Route: /:workspace_id/dam/sharing
  • Middleware: authCheck, checkWorkspace, check-if-suspended, can-access-dam-module
  • Layout: damLayout

Purpose

The Sharing page allows users to manage shared URLs and embedded codes for digital assets. Users can view, copy, revoke, and manage sharing settings for assets, folders, and collages.

Key Features

  1. Dual View Modes

    • Shares View: Displays shared URLs
    • Embeds View: Displays embedded codes
  2. Share Management

    • View all shared URLs
    • Copy share links
    • Revoke access
    • Set expiration dates
    • Configure permissions
  3. Embed Management

    • View embedded codes
    • Copy embed codes
    • Delete embeds
    • View embed usage
  4. Filtering & Sorting

    • Filter shares by status (Active, Revoked, Expired)
    • Sort by title, date, views, creator
    • Search functionality
  5. Bulk Operations

    • Select multiple items
    • Bulk revoke/delete
    • Select all functionality
  6. Advanced Settings

    • Password protection
    • Expiration dates
    • Access permissions
    • View analytics

Components Used

  • v-btn-toggle - Toggle between Shares/Embeds
  • v-autocomplete - Filter dropdown
  • ShareTableListItem - Share item display
  • EmbedTableListItem - Embed item display
  • DeleteDialog - Confirmation dialogs
  • AdvanceShareDialog - Advanced settings dialog
  • Skeleton loaders for loading states

Data Properties

javascript
{
  activeTab: string,         // 'shares' or 'embeds'
  sharesList: array,        // Shared URLs list
  embedsList: array,       // Embedded codes list
  selectedItems: array,   // Selected items
  filterStatus: string,   // Current filter
  sortField: string,     // Sort field
  sortOrder: string,    // Sort order (ASC/DESC)
  loading: boolean,      // Loading state
  currentPage: number,  // Pagination
  lastPage: number     // Last page
}

Methods

fetchShareUrls(flag = 'no-sort')

Fetches shared URLs from API

fetchEmbeddedUrls(flag = 'no-sort')

Fetches embedded codes from API

handleScroll(flag = 'main')

Handles infinite scroll loading

toggleSelect(file)

Toggles item selection

toggleSelectAll(val)

Selects/deselects all items

getShareUrl(file)

Generates share URL

openRevokeDialog(file)

Opens revoke confirmation dialog

openDeleteAll()

Opens bulk delete dialog

openAdvOptn(file)

Opens advanced settings dialog

openDelEmbed(file)

Opens delete embed dialog

updateFile(file)

Updates file sharing settings

deleteFn()

Executes deletion/revocation

shareEmbedSort(payload)

Handles sorting for shares/embeds

shareFilterUpdate(payload)

Updates filter settings

API Endpoints

  • GET /dam/shares - Fetch shared URLs
  • GET /dam/embeds - Fetch embedded codes
  • POST /dam/shares/:id/revoke - Revoke share
  • DELETE /dam/embeds/:id - Delete embed
  • PUT /dam/shares/:id - Update share settings
  • GET /dam/shares/:id/analytics - Get share analytics

User Interactions

  1. View Shares/Embeds

    • Toggle between views
    • Browse shared items
    • Scroll to load more
  2. Manage Shares

    • Copy share link
    • Revoke access
    • Configure settings
    • View analytics
  3. Manage Embeds

    • Copy embed code
    • Delete embed
    • View usage
  4. Bulk Operations

    • Select multiple items
    • Bulk revoke/delete
    • Select all