fix dynamic setter

This commit is contained in:
kangwei 2020-04-25 15:17:51 +08:00
parent 7c3e7e315e
commit 50bc2bd7c2
7 changed files with 10 additions and 9 deletions

View File

@ -21,7 +21,7 @@ export class SettingField extends SettingPropEntry implements SettingEntry {
return null; return null;
} }
if (isDynamicSetter(this._setter)) { if (isDynamicSetter(this._setter)) {
return this._setter(this); return this._setter.call(this,this);
} }
return this._setter; return this._setter;
} }

View File

@ -150,10 +150,8 @@ export class Node<Schema extends NodeSchema = NodeSchema> {
private transformProps(props: any): any { private transformProps(props: any): any {
// FIXME! support PropsList // FIXME! support PropsList
const x = this.document.designer.transformProps(props, this, TransformStage.Init); return this.document.designer.transformProps(props, this, TransformStage.Init);
// TODO: run transducers in metadata.experimental // TODO: run transducers in metadata.experimental
console.info(x);
return x;
} }
private initialChildren(children: any): NodeData[] { private initialChildren(children: any): NodeData[] {
@ -567,6 +565,9 @@ export class Node<Schema extends NodeSchema = NodeSchema> {
getNode() { getNode() {
return this; return this;
} }
getRoot() {
return this.document.rootNode;
}
getProps() { getProps() {
return this.props; return this.props;
} }

View File

@ -1,11 +1,11 @@
import { Component, Fragment } from 'react'; import { Component, Fragment } from 'react';
import { Icon, Button, Message } from '@alifd/next'; import { Icon, Button, Message } from '@alifd/next';
import { Title, SetterType, FieldConfig, SetterConfig } from '@ali/lowcode-globals'; import { Title, SetterType, FieldConfig, SetterConfig } from '@ali/lowcode-globals';
import { SettingField } from '../../settings/setting-field';
import { createSettingFieldView } from '../../settings/settings-pane'; import { createSettingFieldView } from '../../settings/settings-pane';
import { PopupContext, PopupPipe } from '../../popup'; import { PopupContext, PopupPipe } from '../../popup';
import Sortable from './sortable'; import Sortable from './sortable';
import './style.less'; import './style.less';
import { SettingField } from '@ali/lowcode-designer';
interface ArraySetterState { interface ArraySetterState {
items: SettingField[]; items: SettingField[];

View File

@ -20,10 +20,10 @@ import {
EmbedTip, EmbedTip,
isI18nData, isI18nData,
} from '@ali/lowcode-globals'; } from '@ali/lowcode-globals';
import { SettingField } from '../../settings/setting-field';
import { IconConvert } from '../../icons/convert'; import { IconConvert } from '../../icons/convert';
import './style.less'; import './style.less';
import { SettingField } from '@ali/lowcode-designer';
export interface SetterItem { export interface SetterItem {
name: string; name: string;
@ -180,7 +180,7 @@ export default class MixedSetter extends Component<{
let setterProps: any = {}; let setterProps: any = {};
let setterType: any; let setterType: any;
if (isDynamicSetter(setter)) { if (isDynamicSetter(setter)) {
setterType = setter(field); setterType = setter.call(field, field);
} else { } else {
setterType = setter; setterType = setter;
} }

View File

@ -2,8 +2,8 @@ import { Component, Fragment } from 'react';
import { Icon, Button } from '@alifd/next'; import { Icon, Button } from '@alifd/next';
import { Title, SetterType, FieldConfig } from '@ali/lowcode-globals'; import { Title, SetterType, FieldConfig } from '@ali/lowcode-globals';
import { createSettingFieldView } from '../../settings/settings-pane'; import { createSettingFieldView } from '../../settings/settings-pane';
import { SettingField } from '../../settings/setting-field';
import { PopupContext, PopupPipe } from '../../popup'; import { PopupContext, PopupPipe } from '../../popup';
import { SettingField } from '@ali/lowcode-designer';
import './style.less'; import './style.less';
export default class ObjectSetter extends Component<{ export default class ObjectSetter extends Component<{

View File

@ -41,6 +41,7 @@ class Renderer extends Component<{ renderer: SimulatorRenderer }> {
} }
render() { render() {
const { renderer } = this.props; const { renderer } = this.props;
console.info(renderer.components)
return ( return (
<LowCodeRenderer <LowCodeRenderer
schema={renderer.schema} schema={renderer.schema}

View File

@ -673,7 +673,6 @@ export function upgradeMetadata(oldConfig: OldPrototypeConfig) {
const styles = {}; const styles = {};
meta.configure = { props, component, events, styles }; meta.configure = { props, component, events, styles };
meta.experimental = experimental; meta.experimental = experimental;
console.info(meta);
return meta; return meta;
} }