Merge commit '87b57ab4f1edee7b2efffab132f39d0049a6d027' into def_releases_2021081610154444_ali-lowcode_ali-lowcode-engine/1.0.63

This commit is contained in:
tbfed 2021-08-17 10:26:40 +08:00
commit 15bc705e56
4 changed files with 18 additions and 4 deletions

View File

@ -55,6 +55,10 @@ export interface EngineOptions {
* false
*/
enableCanvasLock: boolean;
/**
* tab false
*/
stayOnTheSameSettingTab: boolean;
/**
* Vision-polyfill settings
*/

View File

@ -1,6 +1,6 @@
import React, { Component } from 'react';
import { Tab, Breadcrumb } from '@alifd/next';
import { Title, observer, Editor, obx, globalContext } from '@ali/lowcode-editor-core';
import { Title, observer, Editor, obx, globalContext, engineConfig } from '@ali/lowcode-editor-core';
import { Node, isSettingField, SettingField, Designer } from '@ali/lowcode-designer';
import { SettingsMain } from './main';
import { SettingsPane } from './settings-pane';
@ -24,7 +24,9 @@ export class SettingsPrimaryPane extends Component<{ editor: Editor; config: any
this.setShouldIgnoreRoot();
this.props.editor.on('designer.selection.change', () => {
this._activeKey = null;
if (!engineConfig.get('stayOnTheSameSettingTab', false)) {
this._activeKey = null;
}
});
}

View File

@ -175,7 +175,10 @@ plugins.register((ctx: ILowCodePluginContext) => {
},
};
});
let engineInited = false;
export async function init(container?: HTMLElement, options?: EngineOptions) {
if (engineInited) return;
engineInited = true;
let engineOptions = null;
let engineContainer = null;
if (isPlainObject(container)) {

View File

@ -29,6 +29,11 @@ export function reactFindDOMNodes(elem: ReactInstance | null): Array<Element | T
}
const elements: Array<Element | Text> = [];
const fiberNode = (elem as any)[FIBER_KEY];
elementsFromFiber(fiberNode.child, elements);
return elements.length > 0 ? elements : [findDOMNode(elem)];
elementsFromFiber(fiberNode?.child, elements);
if (elements.length > 0) return elements;
try {
return [findDOMNode(elem)];
} catch (e) {
return null;
}
}