import { cloneDeep } from 'lodash-es' import { ParameterSettingsConfig } from '.' import { ModeEnum } from '@/enums/modeEnum' import type { ConfigPresetOptionsType, CreateComponentParamsType, CreateComponentType } from '@/core/Library/types' export const options: ConfigPresetOptionsType = { publicFormSetting: { dataSourceSetting: true, eventSetting: { SINGLE: true, }, actSetting: false, }, } export default class Config implements CreateComponentType { public key: string = ParameterSettingsConfig.key public presetOption = cloneDeep(options) public mode = ModeEnum.EDIT public category = ParameterSettingsConfig.category constructor(params: CreateComponentParamsType = {} as CreateComponentParamsType) { type Keys = keyof CreateComponentParamsType const keys = Object.keys(params) as Keys[] for (const key of keys) ((this as CreateComponentParamsType)[key] as CreateComponentParamsType[typeof key]) = params[key] } }