fix(editor): 设置配置时使用的key统一转换成kebab-cased形式

fix #576
This commit is contained in:
roymondchen 2024-03-05 15:07:27 +08:00
parent 16e45cb45d
commit 8e18336fa3
3 changed files with 19 additions and 17 deletions

View File

@ -5,7 +5,7 @@ import { Writable } from 'type-fest';
import type { EventOption } from '@tmagic/core'; import type { EventOption } from '@tmagic/core';
import type { FormConfig } from '@tmagic/form'; import type { FormConfig } from '@tmagic/form';
import type { DataSourceSchema } from '@tmagic/schema'; import type { DataSourceSchema } from '@tmagic/schema';
import { guid } from '@tmagic/utils'; import { guid, toLine } from '@tmagic/utils';
import type { DatasourceTypeOption, SyncHookPlugin } from '@editor/type'; import type { DatasourceTypeOption, SyncHookPlugin } from '@editor/type';
import { getFormConfig, getFormValue } from '@editor/utils/data-source'; import { getFormConfig, getFormValue } from '@editor/utils/data-source';
@ -68,35 +68,35 @@ class DataSource extends BaseService {
} }
public getFormConfig(type = 'base') { public getFormConfig(type = 'base') {
return getFormConfig(type, this.get('configs')); return getFormConfig(toLine(type), this.get('configs'));
} }
public setFormConfig(type: string, config: FormConfig) { public setFormConfig(type: string, config: FormConfig) {
this.get('configs')[type] = config; this.get('configs')[toLine(type)] = config;
} }
public getFormValue(type = 'base') { public getFormValue(type = 'base') {
return getFormValue(type, this.get('values')[type]); return getFormValue(toLine(type), this.get('values')[type]);
} }
public setFormValue(type: string, value: Partial<DataSourceSchema>) { public setFormValue(type: string, value: Partial<DataSourceSchema>) {
this.get('values')[type] = value; this.get('values')[toLine(type)] = value;
} }
public getFormEvent(type = 'base') { public getFormEvent(type = 'base') {
return this.get('events')[type] || []; return this.get('events')[toLine(type)] || [];
} }
public setFormEvent(type: string, value: EventOption[] = []) { public setFormEvent(type: string, value: EventOption[] = []) {
this.get('events')[type] = value; this.get('events')[toLine(type)] = value;
} }
public getFormMethod(type = 'base') { public getFormMethod(type = 'base') {
return this.get('methods')[type] || []; return this.get('methods')[toLine(type)] || [];
} }
public setFormMethod(type: string, value: EventOption[] = []) { public setFormMethod(type: string, value: EventOption[] = []) {
this.get('methods')[type] = value; this.get('methods')[toLine(type)] = value;
} }
public add(config: DataSourceSchema) { public add(config: DataSourceSchema) {

View File

@ -55,11 +55,11 @@ class Events extends BaseService {
} }
public setEvent(type: string, events: EventOption[]) { public setEvent(type: string, events: EventOption[]) {
eventMap[type] = [...DEFAULT_EVENTS, ...events]; eventMap[toLine(type)] = [...DEFAULT_EVENTS, ...events];
} }
public getEvent(type: string): EventOption[] { public getEvent(type: string): EventOption[] {
return cloneDeep(eventMap[type] || DEFAULT_EVENTS); return cloneDeep(eventMap[toLine(type)] || DEFAULT_EVENTS);
} }
public setMethods(methods: Record<string, EventOption[]>) { public setMethods(methods: Record<string, EventOption[]>) {
@ -69,11 +69,11 @@ class Events extends BaseService {
} }
public setMethod(type: string, method: EventOption[]) { public setMethod(type: string, method: EventOption[]) {
methodMap[type] = [...DEFAULT_METHODS, ...method]; methodMap[toLine(type)] = [...DEFAULT_METHODS, ...method];
} }
public getMethod(type: string) { public getMethod(type: string) {
return cloneDeep(methodMap[type] || DEFAULT_METHODS); return cloneDeep(methodMap[toLine(type)] || DEFAULT_METHODS);
} }
public resetState() { public resetState() {

View File

@ -73,7 +73,7 @@ class Props extends BaseService {
} }
public async setPropsConfig(type: string, config: FormConfig) { public async setPropsConfig(type: string, config: FormConfig) {
this.state.propsConfigMap[type] = await this.fillConfig(Array.isArray(config) ? config : [config]); this.state.propsConfigMap[toLine(type)] = await this.fillConfig(Array.isArray(config) ? config : [config]);
} }
/** /**
@ -86,7 +86,7 @@ class Props extends BaseService {
return await this.getPropsConfig('button'); return await this.getPropsConfig('button');
} }
return cloneDeep(this.state.propsConfigMap[type] || (await this.fillConfig([]))); return cloneDeep(this.state.propsConfigMap[toLine(type)] || (await this.fillConfig([])));
} }
public setPropsValues(values: Record<string, Partial<MNode>>) { public setPropsValues(values: Record<string, Partial<MNode>>) {
@ -101,7 +101,7 @@ class Props extends BaseService {
* @param value * @param value
*/ */
public async setPropsValue(type: string, value: Partial<MNode>) { public async setPropsValue(type: string, value: Partial<MNode>) {
this.state.propsValueMap[type] = value; this.state.propsValueMap[toLine(type)] = value;
} }
/** /**
@ -109,7 +109,9 @@ class Props extends BaseService {
* @param type * @param type
* @returns * @returns
*/ */
public async getPropsValue(type: string, { inputEvent, ...defaultValue }: Record<string, any> = {}) { public async getPropsValue(componentType: string, { inputEvent, ...defaultValue }: Record<string, any> = {}) {
const type = toLine(componentType);
if (type === 'area') { if (type === 'area') {
const value = (await this.getPropsValue('button')) as MComponent; const value = (await this.getPropsValue('button')) as MComponent;
value.className = 'action-area'; value.className = 'action-area';