UNPKG

tav-ui

Version:
186 lines (181 loc) 6.59 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var vue = require('vue'); require('../../../../../locales/index2.js'); require('../../utils/index2.js'); var transfer = require('../../../../../locales/transfer2.js'); var validate = require('../../utils/validate2.js'); function useHandleDataSource(options) { const { mergedProps, ApiResult, ApiError, handleApi } = options; function apiQueryFileOptions(apiParams) { if (!mergedProps.value.apiQueryFileList) { console.warn("[tavui TaFileCard] apiQueryFileList is undefined"); return; } const modeQueryApiTypeListConfig = { api: mergedProps.value.apiQueryFileList, beforeApi: mergedProps.value.beforeApiQueryFileList, afterApi: mergedProps.value.afterApiQueryFileList, apiParams: { appId: apiParams.appId, businessCheck: apiParams.businessCheck, ...apiParams.businessDisplayItem ? { businessDisplayItem: apiParams.businessDisplayItem } : {}, ...apiParams.businessIds ? { businessIds: apiParams.businessIds } : {}, businessKey: apiParams.businessKey, ...apiParams.businessSearchItems ? { businessSearchItems: apiParams.businessSearchItems } : {}, endTime: apiParams.endTime, ...typeof apiParams.excludeDeleted !== "undefined" ? { excludeDeleted: apiParams.excludeDeleted } : {}, ...typeof apiParams.excludeStaging !== "undefined" ? { excludeStaging: apiParams.excludeStaging } : {}, ...apiParams.ids ? { ids: apiParams.ids } : {}, moduleCode: apiParams.moduleCode, owners: apiParams.owners, permissionControl: apiParams.permissionControl, ...apiParams.searchValue ? { searchValue: apiParams.searchValue } : {}, ...apiParams.startTime ? { startTime: apiParams.startTime } : {}, ...apiParams.suffix ? { suffix: apiParams.suffix } : {}, ...apiParams.typeCodes ? { typeCodes: apiParams.typeCodes } : {}, ...apiParams.visibleSubModules ? { visibleSubModules: apiParams.visibleSubModules } : {} } }; const options2 = { ...modeQueryApiTypeListConfig, failureMessage: () => { return transfer.tavI18n("Tav.common.httpError"); } }; if (mergedProps.value.mode === "read") { } else if (mergedProps.value.mode === "create") { } else if (mergedProps.value.mode === "update") { } else { } return options2; } function apiQueryFileByActualIdsOptions(apiParams) { if (!mergedProps.value.apiQueryFileByActualIds) { console.warn("[tavui TaFileCard] apiQueryFileByActualIds is undefined"); return; } const options2 = { api: mergedProps.value.apiQueryFileByActualIds, beforeApi: mergedProps.value.beforeApiQueryFileByActualIds, afterApi: mergedProps.value.afterApiQueryFileByActualIds, apiParams: { fileActualIds: apiParams.actualIds }, failureMessage: () => { return transfer.tavI18n("Tav.common.httpError"); } }; return options2; } async function handleStringArrayDataSource() { const options2 = apiQueryFileByActualIdsOptions({ actualIds: mergedProps.value.dataSource }); if (!options2) { setDataSource([]); return; } await handleApi(options2); if (!ApiError.value) { setDataSource(ApiResult.value); return; } else { setDataSource([]); return; } } function handleObjectArrayDataSource() { setDataSource(mergedProps.value.dataSource.map((row) => row.versionList.at(-1)).filter(Boolean)); } async function handleApiDataSource(params) { const options2 = apiQueryFileOptions({ ...mergedProps.value.apiParams, ...params ?? {} }); if (!options2) { setDataSource([]); return; } await handleApi(options2); if (!ApiError.value && ApiResult.value.length > 0) { setDataSource(ApiResult.value); return; } else { setDataSource([]); return; } } const dataSourceRef = vue.shallowRef([]); async function handleDataSource() { if (mergedProps.value.mode === "read") { if (mergedProps.value.dataSource) { if (validate.validateDataSourceIsStringArray(mergedProps.value.dataSource)) { await handleStringArrayDataSource(); } else if (validate.validateDataSourceIsObjectArray(mergedProps.value.dataSource)) { handleObjectArrayDataSource(); } else { setDataSource(mergedProps.value.dataSource); } } else { await handleApiDataSource(); } } else if (mergedProps.value.mode === "create") { if (mergedProps.value.dataSource) { if (validate.validateDataSourceIsStringArray(mergedProps.value.dataSource)) { await handleStringArrayDataSource(); } else if (validate.validateDataSourceIsObjectArray(mergedProps.value.dataSource)) { handleObjectArrayDataSource(); } else { setDataSource([]); } } else { console.warn('[tavui TaFileCard] "create" mode force "api" empty'); setDataSource([]); } } else if (mergedProps.value.mode === "update") { if (mergedProps.value.dataSource) { if (validate.validateDataSourceIsStringArray(mergedProps.value.dataSource)) { await handleStringArrayDataSource(); } else if (validate.validateDataSourceIsObjectArray(mergedProps.value.dataSource)) { handleObjectArrayDataSource(); } else { setDataSource(mergedProps.value.dataSource); } } else { await handleApiDataSource(); } } else { if (mergedProps.value.dataSource) { if (validate.validateDataSourceIsStringArray(mergedProps.value.dataSource)) { await handleStringArrayDataSource(); } else if (validate.validateDataSourceIsObjectArray(mergedProps.value.dataSource)) { handleObjectArrayDataSource(); } else { setDataSource(mergedProps.value.dataSource); } } else { await handleApiDataSource(); } } } function setDataSource(data) { dataSourceRef.value = [...data]; } const dataSource = vue.computed(() => vue.unref(dataSourceRef)); return { apiActions: { apiQueryFileOptions, apiQueryFileByActualIdsOptions }, dataSource, handleDataSource, setDataSource, handleApiDataSource }; } exports.useHandleDataSource = useHandleDataSource; //# sourceMappingURL=use-handle-data-source2.js.map