mirror of
https://github.com/alibaba/lowcode-engine.git
synced 2026-06-02 05:30:53 +00:00
fix: componentsMap 中加入低代码组件信息
This commit is contained in:
parent
dcca86780f
commit
b7c1183460
@ -21,11 +21,12 @@ export type GetDataType<T, NodeType> = T extends undefined
|
|||||||
|
|
||||||
export interface ComponentMap {
|
export interface ComponentMap {
|
||||||
componentName: string;
|
componentName: string;
|
||||||
package: string;
|
package?: string;
|
||||||
version?: string;
|
version?: string;
|
||||||
destructuring?: boolean;
|
destructuring?: boolean;
|
||||||
exportName?: string;
|
exportName?: string;
|
||||||
subName?: string;
|
subName?: string;
|
||||||
|
devMode?: 'lowcode' | 'procode';
|
||||||
}
|
}
|
||||||
|
|
||||||
export class DocumentModel {
|
export class DocumentModel {
|
||||||
@ -637,26 +638,33 @@ export class DocumentModel {
|
|||||||
getComponentsMap(extraComps?: string[]) {
|
getComponentsMap(extraComps?: string[]) {
|
||||||
const componentsMap: ComponentMap[] = [];
|
const componentsMap: ComponentMap[] = [];
|
||||||
// 组件去重
|
// 组件去重
|
||||||
const map: any = {};
|
const exsitingMap: { [componentName: string]: boolean } = {};
|
||||||
for (const node of this._nodesMap.values()) {
|
for (const node of this._nodesMap.values()) {
|
||||||
const { componentName } = node || {};
|
const { componentName } = node || {};
|
||||||
if (!map[componentName] && node.componentMeta?.npm?.package) {
|
if (!exsitingMap[componentName]) {
|
||||||
map[componentName] = true;
|
exsitingMap[componentName] = true;
|
||||||
componentsMap.push({
|
if (node.componentMeta?.npm?.package) {
|
||||||
...node.componentMeta.npm,
|
componentsMap.push({
|
||||||
componentName,
|
...node.componentMeta.npm,
|
||||||
});
|
componentName,
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
componentsMap.push({
|
||||||
|
devMode: 'lowcode',
|
||||||
|
componentName,
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 合并外界传入的自定义渲染的组件
|
// 合并外界传入的自定义渲染的组件
|
||||||
if (Array.isArray(extraComps)) {
|
if (Array.isArray(extraComps)) {
|
||||||
extraComps.forEach(c => {
|
extraComps.forEach(c => {
|
||||||
if (c && !map[c]) {
|
if (c && !exsitingMap[c]) {
|
||||||
const m = this.getComponentMeta(c);
|
const m = this.getComponentMeta(c);
|
||||||
if (m && m.npm?.package) {
|
if (m && m.npm?.package) {
|
||||||
componentsMap.push({
|
componentsMap.push({
|
||||||
|
...m?.npm,
|
||||||
componentName: c,
|
componentName: c,
|
||||||
package: m.npm?.package,
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -215,4 +215,4 @@ export interface Callbacks {
|
|||||||
},
|
},
|
||||||
currentNode: any,
|
currentNode: any,
|
||||||
) => void;
|
) => void;
|
||||||
}
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user