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.
45 lines • 6.56 kB
JavaScript
import { Component, Input, ViewChild } from "@angular/core";
import { BaseAngular } from "../../base-angular";
import { AngularComponentFactory } from "../../component-factory";
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
import * as i2 from "../../utils/dynamic.directive";
export class ActionComponent extends BaseAngular {
getModel() {
return this.model;
}
get id() {
return this.model.id || '';
}
ngOnDestroy() {
super.ngOnDestroy();
this.model.updateModeCallback = undefined;
}
ngAfterViewInit() {
this.model.updateModeCallback = (mode, callback) => {
this.model.mode = mode;
queueMicrotask(() => {
var _a;
callback(mode, (_a = this.containerRef) === null || _a === void 0 ? void 0 : _a.nativeElement);
});
};
this.model.afterRender();
}
}
ActionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ActionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
ActionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ActionComponent, selector: "sv-ng-action", inputs: { model: "model" }, viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div [class]=\"model.getActionRootCss()\" [id]=\"id\" #container>\n <div class=\"sv-action__content\">\n <ng-container *ngIf=\"model.needSeparator\">\n <div class=\"sv-action-bar-separator\"></div>\n </ng-container>\n <ng-template [component]=\"{ name: model.component, data: { model }, default: 'sv-action-bar-item'}\"></ng-template>\n </div>\n </div>\n</ng-template>", styles: [":host { display: none; }"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ActionComponent, decorators: [{
type: Component,
args: [{
selector: "sv-ng-action",
templateUrl: "./action.component.html",
styles: [":host { display: none; }"],
}]
}], propDecorators: { model: [{
type: Input
}], containerRef: [{
type: ViewChild,
args: ["container"]
}] } });
AngularComponentFactory.Instance.registerComponent("sv-action", ActionComponent);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2FjdGlvbi1iYXIvYWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2FjdGlvbi1iYXIvYWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFjLEtBQUssRUFBRSxTQUFTLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7OztBQVFsRSxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxXQUFXO0lBRzlDLFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELElBQVcsRUFBRTtRQUNYLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFDZSxXQUFXO1FBQ3pCLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixHQUFHLFNBQWdCLENBQUM7SUFDbkQsQ0FBQztJQUNNLGVBQWU7UUFDcEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsRUFBRTtZQUNqRCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7WUFDdkIsY0FBYyxDQUFDLEdBQUcsRUFBRTs7Z0JBQ2xCLFFBQVEsQ0FBQyxJQUFJLEVBQUUsTUFBQSxJQUFJLENBQUMsWUFBWSwwQ0FBRSxhQUFhLENBQUMsQ0FBQTtZQUNsRCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQTtRQUNELElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7NkdBckJVLGVBQWU7aUdBQWYsZUFBZSxrTkNWNUIsMGFBU2M7NEZEQ0QsZUFBZTtrQkFMM0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsV0FBVyxFQUFFLHlCQUF5QjtvQkFDdEMsTUFBTSxFQUFFLENBQUMsMEJBQTBCLENBQUM7aUJBQ3JDOzhCQUVVLEtBQUs7c0JBQWIsS0FBSztnQkFDa0IsWUFBWTtzQkFBbkMsU0FBUzt1QkFBQyxXQUFXOztBQXNCeEIsdUJBQXVCLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxlQUFlLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIFZpZXdDaGlsZCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBCYXNlQW5ndWxhciB9IGZyb20gXCIuLi8uLi9iYXNlLWFuZ3VsYXJcIjtcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRGYWN0b3J5IH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudC1mYWN0b3J5XCI7XG5pbXBvcnQgeyBBY3Rpb24gfSBmcm9tIFwic3VydmV5LWNvcmVcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN2LW5nLWFjdGlvblwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2FjdGlvbi5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZXM6IFtcIjpob3N0IHsgZGlzcGxheTogbm9uZTsgfVwiXSxcbn0pXG5leHBvcnQgY2xhc3MgQWN0aW9uQ29tcG9uZW50IGV4dGVuZHMgQmFzZUFuZ3VsYXIgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KCkgbW9kZWwhOiBBY3Rpb247XG4gIEBWaWV3Q2hpbGQoXCJjb250YWluZXJcIikgY29udGFpbmVyUmVmITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG4gIGdldE1vZGVsKCkge1xuICAgIHJldHVybiB0aGlzLm1vZGVsO1xuICB9XG4gIHB1YmxpYyBnZXQgaWQoKSB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWwuaWQgfHwgJyc7XG4gIH1cbiAgcHVibGljIG92ZXJyaWRlIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgdGhpcy5tb2RlbC51cGRhdGVNb2RlQ2FsbGJhY2sgPSB1bmRlZmluZWQgYXMgYW55O1xuICB9XG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5tb2RlbC51cGRhdGVNb2RlQ2FsbGJhY2sgPSAobW9kZSwgY2FsbGJhY2spID0+IHtcbiAgICAgIHRoaXMubW9kZWwubW9kZSA9IG1vZGU7XG4gICAgICBxdWV1ZU1pY3JvdGFzaygoKSA9PiB7XG4gICAgICAgIGNhbGxiYWNrKG1vZGUsIHRoaXMuY29udGFpbmVyUmVmPy5uYXRpdmVFbGVtZW50KVxuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMubW9kZWwuYWZ0ZXJSZW5kZXIoKTtcbiAgfVxufVxuXG5Bbmd1bGFyQ29tcG9uZW50RmFjdG9yeS5JbnN0YW5jZS5yZWdpc3RlckNvbXBvbmVudChcInN2LWFjdGlvblwiLCBBY3Rpb25Db21wb25lbnQpOyIsIjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGU+XG4gIDxkaXYgW2NsYXNzXT1cIm1vZGVsLmdldEFjdGlvblJvb3RDc3MoKVwiIFtpZF09XCJpZFwiICNjb250YWluZXI+XG4gICAgPGRpdiBjbGFzcz1cInN2LWFjdGlvbl9fY29udGVudFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGVsLm5lZWRTZXBhcmF0b3JcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInN2LWFjdGlvbi1iYXItc2VwYXJhdG9yXCI+PC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbY29tcG9uZW50XT1cInsgbmFtZTogbW9kZWwuY29tcG9uZW50LCBkYXRhOiB7IG1vZGVsIH0sIGRlZmF1bHQ6ICdzdi1hY3Rpb24tYmFyLWl0ZW0nfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT4iXX0=