survey-angular-ui
Version:
survey.js is a JavaScript Survey Library. It is a modern way to add a survey to your website. It uses JSON for survey metadata and results.
26 lines • 3.45 kB
JavaScript
export class AngularComponentFactory {
constructor() {
this.creatorHash = {};
}
registerComponent(typeName, componentType) {
this.creatorHash[typeName] = componentType;
}
getAllTypes() {
var result = new Array();
for (var key in this.creatorHash) {
result.push(key);
}
return result.sort();
}
isComponentRegistered(elementType) {
return !!this.creatorHash[elementType];
}
create(containerRef, elementType, resolver) {
var componentType = this.creatorHash[elementType];
if (!componentType)
return null;
return containerRef.createComponent(resolver.resolveComponentFactory(componentType));
}
}
AngularComponentFactory.Instance = new AngularComponentFactory();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LWZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50LWZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLHVCQUF1QjtJQUFwQztRQUVVLGdCQUFXLEdBQXlDLEVBQUUsQ0FBQztJQXVCakUsQ0FBQztJQXJCUSxpQkFBaUIsQ0FDdEIsUUFBZ0IsRUFDaEIsYUFBd0I7UUFFeEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxhQUFhLENBQUM7SUFDN0MsQ0FBQztJQUNNLFdBQVc7UUFDaEIsSUFBSSxNQUFNLEdBQUcsSUFBSSxLQUFLLEVBQVUsQ0FBQztRQUNqQyxLQUFLLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDaEMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNsQjtRQUNELE9BQU8sTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFDTSxxQkFBcUIsQ0FBQyxXQUFtQjtRQUM5QyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFDTSxNQUFNLENBQUMsWUFBOEIsRUFBRSxXQUFtQixFQUFFLFFBQWtDO1FBQ25HLElBQUksYUFBYSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLGFBQWE7WUFBRSxPQUFRLElBQVksQ0FBQztRQUN6QyxPQUFPLFlBQVksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLHVCQUF1QixDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7SUFDdkYsQ0FBQzs7QUF2QmEsZ0NBQVEsR0FBNEIsSUFBSSx1QkFBdUIsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIENvbXBvbmVudFJlZiwgVHlwZSwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmV4cG9ydCBjbGFzcyBBbmd1bGFyQ29tcG9uZW50RmFjdG9yeSB7XG4gIHB1YmxpYyBzdGF0aWMgSW5zdGFuY2U6IEFuZ3VsYXJDb21wb25lbnRGYWN0b3J5ID0gbmV3IEFuZ3VsYXJDb21wb25lbnRGYWN0b3J5KCk7XG4gIHByaXZhdGUgY3JlYXRvckhhc2g6IHsgW2luZGV4OiBzdHJpbmddOiBUeXBlPENvbXBvbmVudD4gfSA9IHt9O1xuXG4gIHB1YmxpYyByZWdpc3RlckNvbXBvbmVudChcbiAgICB0eXBlTmFtZTogc3RyaW5nLFxuICAgIGNvbXBvbmVudFR5cGU6IFR5cGU8YW55PlxuICApOiB2b2lkIHtcbiAgICB0aGlzLmNyZWF0b3JIYXNoW3R5cGVOYW1lXSA9IGNvbXBvbmVudFR5cGU7XG4gIH1cbiAgcHVibGljIGdldEFsbFR5cGVzKCk6IEFycmF5PHN0cmluZz4ge1xuICAgIHZhciByZXN1bHQgPSBuZXcgQXJyYXk8c3RyaW5nPigpO1xuICAgIGZvciAodmFyIGtleSBpbiB0aGlzLmNyZWF0b3JIYXNoKSB7XG4gICAgICByZXN1bHQucHVzaChrZXkpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0LnNvcnQoKTtcbiAgfVxuICBwdWJsaWMgaXNDb21wb25lbnRSZWdpc3RlcmVkKGVsZW1lbnRUeXBlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmNyZWF0b3JIYXNoW2VsZW1lbnRUeXBlXTtcbiAgfVxuICBwdWJsaWMgY3JlYXRlKGNvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZiwgZWxlbWVudFR5cGU6IHN0cmluZywgcmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcik6IENvbXBvbmVudFJlZjxDb21wb25lbnQ+IHtcbiAgICB2YXIgY29tcG9uZW50VHlwZSA9IHRoaXMuY3JlYXRvckhhc2hbZWxlbWVudFR5cGVdO1xuICAgIGlmICghY29tcG9uZW50VHlwZSkgcmV0dXJuIChudWxsIGFzIGFueSk7XG4gICAgcmV0dXJuIGNvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQocmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoY29tcG9uZW50VHlwZSkpO1xuICB9XG59XG4iXX0=