mirror of
https://github.com/alibaba/lowcode-engine.git
synced 2025-12-16 23:02:50 +00:00
45 lines
905 B
TypeScript
45 lines
905 B
TypeScript
import { Component } from "react";
|
|
import { FieldConfig, SettingField } from '../../main';
|
|
|
|
class ObjectSetter extends Component<{
|
|
mode?: 'popup' | 'row' | 'form';
|
|
forceInline?: number;
|
|
}> {
|
|
render() {
|
|
const { mode, forceInline = 0 } = this.props;
|
|
if (forceInline || (mode === 'popup' || mode === 'row')) {
|
|
if (forceInline < 2 || mode === 'row') {
|
|
// row
|
|
} else {
|
|
// popup
|
|
}
|
|
} else {
|
|
// form
|
|
}
|
|
}
|
|
}
|
|
|
|
interface ObjectSetterConfig {
|
|
items?: FieldConfig[];
|
|
extraConfig?: {
|
|
setter?: SetterType;
|
|
defaultValue?: any | ((field: SettingField, editor: any) => any);
|
|
};
|
|
}
|
|
|
|
// for table|list row
|
|
class RowSetter extends Component<{
|
|
decriptor?: string | ((rowField: SettingField) => string);
|
|
config: ObjectSetterConfig;
|
|
columnsLimit?: number;
|
|
}> {
|
|
render() {
|
|
|
|
}
|
|
}
|
|
|
|
// form-field setter
|
|
class FormSetter extends Component<{}> {
|
|
|
|
}
|