tav-ui
Version:
116 lines (111 loc) • 4.56 kB
JavaScript
;
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