UNPKG

tav-ui

Version:
1 lines 11.4 kB
{"version":3,"file":"use-actions2.mjs","sources":["../../../../../../../../../packages/components/file/src/FileCard/hooks/use-actions.tsx"],"sourcesContent":["import { type ComputedRef, type Ref, computed } from 'vue'\nimport { tavI18n } from '@tav-ui/locales'\nimport { isFunction } from '@tav-ui/utils'\nimport { type FileCardListItemAction, type FileCardProps } from '../types'\nimport { type FileActionUploadApiResponseRecord, type GlobalConfigFileProps } from '../../typings'\nimport {\n isDeleteBtnVisible,\n isDownloadBtnVisible,\n isDownloadWatermarkBtnVisible,\n isLogBtnVisible,\n isUpdateBtnVisible,\n isVersionColVisible,\n isViewBtnVisible,\n validateVersionCachesHasApiFile,\n} from '../../utils'\nimport { type VersionCaches } from '../../hooks'\n\nexport function defaultActionsBuilder(\n mode: FileCardProps['mode'],\n enabledPreview: FileCardProps['enabledPreview'],\n enabledUpdate: FileCardProps['enabledUpdate'],\n enabledOwner: FileCardProps['enabledOwner'],\n enabledVersion: FileCardProps['enabledVersion'],\n row: FileActionUploadApiResponseRecord,\n handleViewBtnClick: (row: FileActionUploadApiResponseRecord) => void,\n handleUpdateBtnClick: (row: FileActionUploadApiResponseRecord) => Promise<void>,\n handleDownloadWatermarkBtnClick: (row: FileActionUploadApiResponseRecord) => Promise<void>,\n handleDownloadBtnClick: (row: FileActionUploadApiResponseRecord) => Promise<void>,\n handleDeleteBtnClick: (row: FileActionUploadApiResponseRecord) => Promise<void>,\n handleLogBtnClick: (row: FileActionUploadApiResponseRecord) => Promise<void>,\n globalConfigUserInfo: Ref<Record<string, any>>,\n VersionCachesController: VersionCaches\n) {\n const DEFAULT_ACTIONS: FileCardListItemAction[] = [\n ...(enabledPreview\n ? [\n {\n field: 'view',\n label: tavI18n('Tav.file.actions.1'),\n enabled: isViewBtnVisible(row.hyperlink!),\n icon: 'ant-design:eye-outlined',\n onClick: () => {\n handleViewBtnClick(row)\n },\n },\n ]\n : []),\n {\n field: 'delete',\n label: tavI18n('Tav.file.actions.6'),\n enabled: isDeleteBtnVisible(mode, enabledOwner, globalConfigUserInfo.value, row.owner),\n icon: 'ant-design:delete-outlined',\n popConfirm: {\n title: tavI18n('Tav.file.message.9'),\n confirm: async () => {\n try {\n await handleDeleteBtnClick(row)\n return true\n } catch (error) {\n console.warn('[tavui TaFileCard] delete has error: ', error)\n return true\n }\n },\n },\n },\n ...(isUpdateBtnVisible(\n enabledUpdate,\n mode,\n row.hyperlink!,\n row.auto!,\n enabledOwner,\n globalConfigUserInfo.value,\n row.owner\n )\n ? [\n {\n field: 'update',\n label: tavI18n('Tav.file.actions.5'),\n enabled: isUpdateBtnVisible(\n enabledUpdate,\n mode,\n row.hyperlink!,\n row.auto!,\n enabledOwner,\n globalConfigUserInfo.value,\n row.owner\n ),\n disabled:\n mode === 'create' &&\n !validateVersionCachesHasApiFile(VersionCachesController['caches'][row.actualId!]),\n icon: 'ant-design:upload-outlined',\n onClick: async () => {\n await handleUpdateBtnClick(row)\n },\n },\n ]\n : []),\n {\n field: 'downloadWatermark',\n label: tavI18n('Tav.file.actions.4'),\n enabled: isDownloadWatermarkBtnVisible(row.hyperlink!, row.watermarkFileDownload!),\n icon: 'ant-design:cloud-download-outlined',\n onClick: async () => {\n await handleDownloadWatermarkBtnClick(row)\n },\n },\n {\n field: 'download',\n label: tavI18n('Tav.file.actions.3'),\n enabled: isDownloadBtnVisible(row.hyperlink!, row.sourceFileDownload!),\n icon: 'ant-design:download-outlined',\n onClick: async () => {\n await handleDownloadBtnClick(row)\n },\n },\n {\n field: 'log',\n label: tavI18n('Tav.file.actions.7'),\n enabled: isLogBtnVisible(enabledOwner, globalConfigUserInfo.value, row.owner),\n icon: 'ant-design:file-text-outlined',\n onClick: async () => {\n await handleLogBtnClick(row)\n },\n },\n {\n field: 'version',\n label: tavI18n('Tav.file.columns.4'),\n enabled: isVersionColVisible(enabledVersion, row.hyperlink, row.auto),\n icon: 'ant-design:interaction-outlined',\n onClick: async () => {\n await handleLogBtnClick(row)\n },\n },\n ]\n\n return DEFAULT_ACTIONS\n}\n\nexport function useActions(options: {\n mergedProps: ComputedRef<GlobalConfigFileProps & FileCardProps>\n handleViewBtnClick: (row: FileActionUploadApiResponseRecord) => void\n handleUpdateBtnClick: (row: FileActionUploadApiResponseRecord) => Promise<void>\n handleDownloadWatermarkBtnClick: (row: FileActionUploadApiResponseRecord) => Promise<void>\n handleDownloadBtnClick: (row: FileActionUploadApiResponseRecord) => Promise<void>\n handleDeleteBtnClick: (row: FileActionUploadApiResponseRecord) => Promise<void>\n handleLogBtnClick: (row: FileActionUploadApiResponseRecord) => Promise<void>\n globalConfigUserInfo: Ref<Record<string, any>>\n VersionCachesController: VersionCaches\n}) {\n const {\n mergedProps,\n handleViewBtnClick,\n handleUpdateBtnClick,\n handleDownloadWatermarkBtnClick,\n handleDownloadBtnClick,\n handleDeleteBtnClick,\n handleLogBtnClick,\n globalConfigUserInfo,\n VersionCachesController,\n } = options\n\n return computed(() => (row: FileActionUploadApiResponseRecord) => {\n const actions = mergedProps.value.actions\n const mode = mergedProps.value.mode\n const enabledPreview = mergedProps.value.enabledPreview\n const enabledUpdate = mergedProps.value.enabledUpdate\n const enabledOwner = mergedProps.value.enabledOwner\n const enabledVersion = mergedProps.value.enabledVersion\n\n let result = defaultActionsBuilder(\n mode,\n enabledPreview,\n enabledUpdate,\n enabledOwner,\n enabledVersion,\n row,\n handleViewBtnClick,\n handleUpdateBtnClick,\n handleDownloadWatermarkBtnClick,\n handleDownloadBtnClick,\n handleDeleteBtnClick,\n handleLogBtnClick,\n globalConfigUserInfo,\n VersionCachesController\n )\n\n if (actions && isFunction(actions)) {\n result = actions(result, { row })\n }\n\n return result\n })\n}\n"],"names":["defaultActionsBuilder","mode","enabledPreview","enabledUpdate","enabledOwner","enabledVersion","row","handleViewBtnClick","handleUpdateBtnClick","handleDownloadWatermarkBtnClick","handleDownloadBtnClick","handleDeleteBtnClick","handleLogBtnClick","globalConfigUserInfo","VersionCachesController","DEFAULT_ACTIONS","field","label","tavI18n","enabled","isViewBtnVisible","hyperlink","icon","onClick","isDeleteBtnVisible","value","owner","popConfirm","title","confirm","error","console","warn","isUpdateBtnVisible","auto","disabled","validateVersionCachesHasApiFile","actualId","isDownloadWatermarkBtnVisible","watermarkFileDownload","isDownloadBtnVisible","sourceFileDownload","isLogBtnVisible","isVersionColVisible","useActions","options","mergedProps","computed","actions","result","isFunction"],"mappings":"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"}