feat(core): support for external XML UI compilers (#10008)

This commit is contained in:
Dimitris-Rafail Katsampas
2022-11-08 19:23:17 +02:00
committed by GitHub
parent 40b9e3578f
commit 75503ef110
2 changed files with 18 additions and 10 deletions

View File

@ -55,9 +55,19 @@ export class Builder {
return view;
} else {
let componentView;
if (__UI_USE_XML_PARSER__) {
const componentModule = loadInternal(moduleName, moduleExports);
const componentView = componentModule && componentModule.component;
componentView = componentModule && componentModule.component;
} else {
const resolvedXmlModuleName = resolveModuleName(moduleName, 'xml');
const componentModule = resolvedXmlModuleName ? global.loadModule(resolvedXmlModuleName, true) : null;
if (componentModule?.default) {
componentView = new componentModule.default();
} else {
throw new Error('Failed to load component from module: ' + moduleName);
}
}
return componentView;
}
}
@ -244,5 +254,3 @@ function parseInternal(value: string, context: any, xmlModule?: string, moduleNa
return null;
}
}

View File

@ -130,7 +130,7 @@ export class Repeater extends CustomLayoutView {
if (!viewToAdd) {
if (__UI_USE_EXTERNAL_RENDERER__) {
viewToAdd = this._getDefaultItemContent(i)
viewToAdd = this._getDefaultItemContent(i);
} else {
viewToAdd = this.itemTemplate ? Builder.parse(this.itemTemplate, this) : this._getDefaultItemContent(i);
}