mirror of
https://github.com/datahub-project/datahub.git
synced 2025-08-01 22:05:47 +00:00
59 lines
1.9 KiB
TypeScript
59 lines
1.9 KiB
TypeScript
![]() |
import YAML from 'yamljs';
|
||
|
import { CheckCircleOutlined, CloseCircleOutlined, LoadingOutlined } from '@ant-design/icons';
|
||
|
import { ANTD_GRAY, REDESIGN_COLORS } from '../../entity/shared/constants';
|
||
|
import { SOURCE_TEMPLATE_CONFIGS } from './conf/sources';
|
||
|
|
||
|
export const sourceTypeToIconUrl = (type: string) => {
|
||
|
return SOURCE_TEMPLATE_CONFIGS.find((config) => config.type === type)?.logoUrl;
|
||
|
};
|
||
|
|
||
|
export const getSourceConfigs = (sourceType: string) => {
|
||
|
const sourceConfigs = SOURCE_TEMPLATE_CONFIGS.find((configs) => configs.type === sourceType);
|
||
|
if (!sourceConfigs) {
|
||
|
throw new Error(`Failed to find source configs with source type ${sourceType}`);
|
||
|
}
|
||
|
return sourceConfigs;
|
||
|
};
|
||
|
|
||
|
export const yamlToJson = (yaml: string): string => {
|
||
|
const obj = YAML.parse(yaml);
|
||
|
const jsonStr = JSON.stringify(obj);
|
||
|
return jsonStr;
|
||
|
};
|
||
|
|
||
|
export const jsonToYaml = (json: string): string => {
|
||
|
const obj = JSON.parse(json);
|
||
|
const yamlStr = YAML.stringify(obj, 6);
|
||
|
return yamlStr;
|
||
|
};
|
||
|
|
||
|
export const getExecutionRequestStatusIcon = (status: string) => {
|
||
|
return (
|
||
|
(status === 'RUNNING' && LoadingOutlined) ||
|
||
|
(status === 'SUCCESS' && CheckCircleOutlined) ||
|
||
|
(status === 'FAILURE' && CloseCircleOutlined) ||
|
||
|
(status === 'CANCELLED' && CloseCircleOutlined) ||
|
||
|
undefined
|
||
|
);
|
||
|
};
|
||
|
|
||
|
export const getExecutionRequestStatusDisplayText = (status: string) => {
|
||
|
return (
|
||
|
(status === 'RUNNING' && 'Running') ||
|
||
|
(status === 'SUCCESS' && 'Succeeded') ||
|
||
|
(status === 'FAILURE' && 'Failed') ||
|
||
|
(status === 'CANCELLED' && 'Cancelled') ||
|
||
|
status
|
||
|
);
|
||
|
};
|
||
|
|
||
|
export const getExecutionRequestStatusDisplayColor = (status: string) => {
|
||
|
return (
|
||
|
(status === 'RUNNING' && REDESIGN_COLORS.BLUE) ||
|
||
|
(status === 'SUCCESS' && 'green') ||
|
||
|
(status === 'FAILURE' && 'red') ||
|
||
|
(status === 'CANCELLED' && ANTD_GRAY[9]) ||
|
||
|
ANTD_GRAY[7]
|
||
|
);
|
||
|
};
|