joint events-setter

This commit is contained in:
kangwei 2020-03-16 16:24:45 +08:00
commit ab5bad582e
4 changed files with 24 additions and 15 deletions

View File

@ -116,7 +116,6 @@ export class OutlineSelecting extends Component {
render() { render() {
const selecting = this.selecting; const selecting = this.selecting;
console.info(selecting);
if (!selecting || selecting.length < 1) { if (!selecting || selecting.length < 1) {
// DIRTY FIX, recore has a bug! // DIRTY FIX, recore has a bug!
return <Fragment />; return <Fragment />;

View File

@ -68,7 +68,6 @@
&.dragging { &.dragging {
background: rgba(182, 178, 178, 0.8); background: rgba(182, 178, 178, 0.8);
border: none; border: none;
pointer-events: all;
} }
} }
} }

View File

@ -1,5 +1,6 @@
import { Component, isValidElement, ReactElement, ReactNode } from 'react'; import { Component, isValidElement, ReactElement, ReactNode } from 'react';
import { Radio, Menu, Table, Icon, Dialog } from '@alifd/next'; import { Radio, Menu, Table, Icon, Dialog } from '@alifd/next';
import {SettingField} from './main';
import nativeEvents from './native-events'; import nativeEvents from './native-events';
import './style.less'; import './style.less';
@ -19,7 +20,9 @@ const DEFINITION_EVENT_TYPE = {
LIFE_CYCLE_EVENT: 'lifeCycleEvent', LIFE_CYCLE_EVENT: 'lifeCycleEvent',
}; };
export default class EventsSetter extends Component<{}> { export default class EventsSetter extends Component<{
field:SettingField
}> {
state = { state = {
showEventList: false, showEventList: false,
eventBtns: [], eventBtns: [],
@ -34,6 +37,7 @@ export default class EventsSetter extends Component<{}> {
}; };
componentWillMount() { componentWillMount() {
this.props.field.getValue()
this.initEventBtns(); this.initEventBtns();
this.initEventList(); this.initEventList();
} }
@ -42,8 +46,7 @@ export default class EventsSetter extends Component<{}> {
* *
*/ */
initEventBtns() { initEventBtns() {
const { prop } = this.props; const { definition } = this.props;
const { definition } = prop.extraProps;
let isRoot = false; let isRoot = false;
definition.map(item => { definition.map(item => {
if (item.type === DEFINITION_EVENT_TYPE.LIFE_CYCLE_EVENT) { if (item.type === DEFINITION_EVENT_TYPE.LIFE_CYCLE_EVENT) {
@ -73,7 +76,7 @@ export default class EventsSetter extends Component<{}> {
} }
initEventList() { initEventList() {
const { definition } = this.props.prop.extraProps; const { definition } = this.props;
let nativeEventList = []; let nativeEventList = [];
definition.map(item => { definition.map(item => {
if (item.type === DEFINITION_EVENT_TYPE.EVENTS) { if (item.type === DEFINITION_EVENT_TYPE.EVENTS) {
@ -229,14 +232,19 @@ export default class EventsSetter extends Component<{}> {
}; };
submitDialog = (relatedEventName: String) => { submitDialog = (relatedEventName: String) => {
const { bindEventName } = this.state; const { bindEventName,eventDataList} = this.state;
const { eventDataList } = this.state; const {field} = this.props;
eventDataList.map(item => { eventDataList.map(item => {
if (item.name === bindEventName) { if (item.name === bindEventName) {
item.relatedEventName = relatedEventName; item.relatedEventName = relatedEventName;
} }
}); });
debugger;
field.setValue(eventDataList);
this.closeDialog(); this.closeDialog();
}; };
@ -270,7 +278,7 @@ export default class EventsSetter extends Component<{}> {
{selectType && selectType != EVENT_CONTENTS.NATIVE_EVENT && ( {selectType && selectType != EVENT_CONTENTS.NATIVE_EVENT && (
<Menu defaultOpenKeys="sub-menu" className="event-menu" onItemClick={this.onEventMenuClick}> <Menu defaultOpenKeys="sub-menu" className="event-menu" onItemClick={this.onEventMenuClick}>
{showEventList.map((item, index) => ( {showEventList.map((item, index) => (
<Item key={item.name} helper={item.title} disabled={item.disabled}> <Item key={item.name} helper={item.description} disabled={item.disabled}>
{item.name} {item.name}
</Item> </Item>
))} ))}

View File

@ -309,7 +309,7 @@ registerMetadataTransducer(metadata => {
if (componentName === 'Page' || componentName === 'Component') { if (componentName === 'Page' || componentName === 'Component') {
isRoot = true; isRoot = true;
// 平台配置的,一般只有根节点才会配置 // 平台配置的,一般只有根节点才会配置
eventsDefinition = { eventsDefinition = [{
type: 'lifeCycleEvent', type: 'lifeCycleEvent',
title: '生命周期', title: '生命周期',
list: [ list: [
@ -330,9 +330,9 @@ registerMetadataTransducer(metadata => {
name: 'componentWillUnmount', name: 'componentWillUnmount',
}, },
] ]
}; }];
} else { } else {
eventsDefinition = { eventsDefinition = [{
type: 'events', type: 'events',
title: '事件', title: '事件',
list: (events?.supportEvents || []).map((event: any) => { list: (events?.supportEvents || []).map((event: any) => {
@ -342,7 +342,7 @@ registerMetadataTransducer(metadata => {
} }
: event; : event;
}), }),
}; }];
} }
// 通用设置 // 通用设置
const propsGroup = props || []; const propsGroup = props || [];
@ -419,9 +419,12 @@ registerMetadataTransducer(metadata => {
}, },
getValue(field: SettingField) { getValue(field: SettingField) {
return []; let data = field.getPropValue('eventDataList');
return data;
}, },
setValue(field: SettingField) {}, setValue(field: SettingField, eventDataList: any[]) {
field.setPropValue('eventDataList', eventDataList);
}
}, },
], ],
}); });