UNPKG

tav-ui

Version:
116 lines (111 loc) 4.56 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var vue = require('vue'); require('../../../../../locales/index2.js'); require('../../../../../utils/index2.js'); require('../../utils/index2.js'); var transfer = require('../../../../../locales/transfer2.js'); var visibile = require('../../utils/visibile2.js'); var validate = require('../../utils/validate2.js'); var is = require('../../../../../utils/is2.js'); function defaultActionsBuilder(mode, enabledPreview, enabledUpdate, enabledOwner, enabledVersion, row, handleViewBtnClick, handleUpdateBtnClick, handleDownloadWatermarkBtnClick, handleDownloadBtnClick, handleDeleteBtnClick, handleLogBtnClick, globalConfigUserInfo, VersionCachesController) { const DEFAULT_ACTIONS = [...enabledPreview ? [{ field: "view", label: transfer.tavI18n("Tav.file.actions.1"), enabled: visibile.isViewBtnVisible(row.hyperlink), icon: "ant-design:eye-outlined", onClick: () => { handleViewBtnClick(row); } }] : [], { field: "delete", label: transfer.tavI18n("Tav.file.actions.6"), enabled: visibile.isDeleteBtnVisible(mode, enabledOwner, globalConfigUserInfo.value, row.owner), icon: "ant-design:delete-outlined", popConfirm: { title: transfer.tavI18n("Tav.file.message.9"), confirm: async () => { try { await handleDeleteBtnClick(row); return true; } catch (error) { console.warn("[tavui TaFileCard] delete has error: ", error); return true; } } } }, ...visibile.isUpdateBtnVisible(enabledUpdate, mode, row.hyperlink, row.auto, enabledOwner, globalConfigUserInfo.value, row.owner) ? [{ field: "update", label: transfer.tavI18n("Tav.file.actions.5"), enabled: visibile.isUpdateBtnVisible(enabledUpdate, mode, row.hyperlink, row.auto, enabledOwner, globalConfigUserInfo.value, row.owner), disabled: mode === "create" && !validate.validateVersionCachesHasApiFile(VersionCachesController["caches"][row.actualId]), icon: "ant-design:upload-outlined", onClick: async () => { await handleUpdateBtnClick(row); } }] : [], { field: "downloadWatermark", label: transfer.tavI18n("Tav.file.actions.4"), enabled: visibile.isDownloadWatermarkBtnVisible(row.hyperlink, row.watermarkFileDownload), icon: "ant-design:cloud-download-outlined", onClick: async () => { await handleDownloadWatermarkBtnClick(row); } }, { field: "download", label: transfer.tavI18n("Tav.file.actions.3"), enabled: visibile.isDownloadBtnVisible(row.hyperlink, row.sourceFileDownload), icon: "ant-design:download-outlined", onClick: async () => { await handleDownloadBtnClick(row); } }, { field: "log", label: transfer.tavI18n("Tav.file.actions.7"), enabled: visibile.isLogBtnVisible(enabledOwner, globalConfigUserInfo.value, row.owner), icon: "ant-design:file-text-outlined", onClick: async () => { await handleLogBtnClick(row); } }, { field: "version", label: transfer.tavI18n("Tav.file.columns.4"), enabled: visibile.isVersionColVisible(enabledVersion, row.hyperlink, row.auto), icon: "ant-design:interaction-outlined", onClick: async () => { await handleLogBtnClick(row); } }]; return DEFAULT_ACTIONS; } function useActions(options) { const { mergedProps, handleViewBtnClick, handleUpdateBtnClick, handleDownloadWatermarkBtnClick, handleDownloadBtnClick, handleDeleteBtnClick, handleLogBtnClick, globalConfigUserInfo, VersionCachesController } = options; return vue.computed(() => (row) => { const actions = mergedProps.value.actions; const mode = mergedProps.value.mode; const enabledPreview = mergedProps.value.enabledPreview; const enabledUpdate = mergedProps.value.enabledUpdate; const enabledOwner = mergedProps.value.enabledOwner; const enabledVersion = mergedProps.value.enabledVersion; let result = defaultActionsBuilder(mode, enabledPreview, enabledUpdate, enabledOwner, enabledVersion, row, handleViewBtnClick, handleUpdateBtnClick, handleDownloadWatermarkBtnClick, handleDownloadBtnClick, handleDeleteBtnClick, handleLogBtnClick, globalConfigUserInfo, VersionCachesController); if (actions && is.isFunction(actions)) { result = actions(result, { row }); } return result; }); } exports.defaultActionsBuilder = defaultActionsBuilder; exports.useActions = useActions; //# sourceMappingURL=use-actions2.js.map