UNPKG

tav-ui

Version:
182 lines (179 loc) 6.48 kB
import { shallowRef, computed, unref } from 'vue'; import '../../../../../locales/index2.mjs'; import '../../utils/index2.mjs'; import { tavI18n } from '../../../../../locales/transfer2.mjs'; import { validateDataSourceIsStringArray, validateDataSourceIsObjectArray } from '../../utils/validate2.mjs'; 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 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 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 = shallowRef([]); async function handleDataSource() { if (mergedProps.value.mode === "read") { if (mergedProps.value.dataSource) { if (validateDataSourceIsStringArray(mergedProps.value.dataSource)) { await handleStringArrayDataSource(); } else if (validateDataSourceIsObjectArray(mergedProps.value.dataSource)) { handleObjectArrayDataSource(); } else { setDataSource(mergedProps.value.dataSource); } } else { await handleApiDataSource(); } } else if (mergedProps.value.mode === "create") { if (mergedProps.value.dataSource) { if (validateDataSourceIsStringArray(mergedProps.value.dataSource)) { await handleStringArrayDataSource(); } else if (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 (validateDataSourceIsStringArray(mergedProps.value.dataSource)) { await handleStringArrayDataSource(); } else if (validateDataSourceIsObjectArray(mergedProps.value.dataSource)) { handleObjectArrayDataSource(); } else { setDataSource(mergedProps.value.dataSource); } } else { await handleApiDataSource(); } } else { if (mergedProps.value.dataSource) { if (validateDataSourceIsStringArray(mergedProps.value.dataSource)) { await handleStringArrayDataSource(); } else if (validateDataSourceIsObjectArray(mergedProps.value.dataSource)) { handleObjectArrayDataSource(); } else { setDataSource(mergedProps.value.dataSource); } } else { await handleApiDataSource(); } } } function setDataSource(data) { dataSourceRef.value = [...data]; } const dataSource = computed(() => unref(dataSourceRef)); return { apiActions: { apiQueryFileOptions, apiQueryFileByActualIdsOptions }, dataSource, handleDataSource, setDataSource, handleApiDataSource }; } export { useHandleDataSource }; //# sourceMappingURL=use-handle-data-source2.mjs.map