Skip to content

Asset Permission Dialog

File Information

  • Path: components/dam/Dialogs/AssetPermissionDialog.vue
  • Purpose: Confirmation dialog for asset permission changes with warnings

Overview

The Asset Permission Dialog component provides a confirmation interface specifically for asset permission changes. It displays warnings and confirms permission changes before applying them to assets.

Key Features

  1. Permission Confirmation

    • Confirm permission change
    • Display current and new permission
    • Confirmation buttons
    • Cancel option
  2. Warning Messages

    • Public permission warnings
    • Asset-specific warnings
    • Impact warnings
    • Security warnings
  3. Asset Information

    • Asset name display
    • Asset type display
    • Current permission display
    • New permission display

Props

javascript
{
  dialog: {
    type: Boolean,
    default: false
  },
  asset: {
    type: Object,
    required: true
  },
  newPermission: {
    type: String,
    required: true
    // 'public' or 'private'
  },
  currentPermission: {
    type: String,
    default: 'private'
    // 'public' or 'private'
  }
}

Data Properties

javascript
{
  confirming: false    // Confirmation state
}

Computed Properties

warningMessage

Returns warning message based on permission change

isMakingPublic

Checks if changing to public

assetName

Returns asset name for display

Methods

confirmChange()

Confirms permission change:

  • Emits confirm event
  • Closes dialog
  • Handles confirmation

cancelChange()

Cancels permission change:

  • Emits cancel event
  • Closes dialog
  • Handles cancellation

Events

  • close - Dialog closed
  • confirm - Permission change confirmed
  • cancel - Permission change cancelled

Usage Examples

Basic Usage

vue
<template>
  <AssetPermissionDialog
    :dialog="showAssetPermissionDialog"
    :asset="selectedAsset"
    :new-permission="newPermission"
    :current-permission="currentPermission"
    @confirm="handlePermissionConfirm"
    @cancel="handlePermissionCancel"
  />
</template>

<script>
import AssetPermissionDialog from '~/components/dam/Dialogs/AssetPermissionDialog.vue'

export default {
  components: {
    AssetPermissionDialog
  },
  methods: {
    handlePermissionConfirm() {
      // Proceed with permission change
      this.changeAssetPermission()
    },
    handlePermissionCancel() {
      // Cancel permission change
      this.showAssetPermissionDialog = false
    }
  }
}
</script>

Integration Points

  • Permission Dialog: Used as confirmation step
  • Asset Components: Asset permission changes
  • Permission System: Permission workflow

Notes for Development

  • Dialog used for confirmation only
  • Warning messages contextual
  • Confirmation required for public changes
  • Cancellation supported
  • Asset-specific warnings