survey-creator-angular
Version:
A white-label drag-and-drop form builder for Angular that lets you design complex, interactive forms and surveys without writing code. It generates JSON schemas used by the SurveyJS Form Library to render dynamic forms in your Angular app.
41 lines • 9.53 kB
JavaScript
import { Component } from "@angular/core";
import { AngularComponentFactory, QuestionAngular } from "survey-angular-ui";
import { DropdownListModel, RendererFactory } from "survey-core";
import { initLogicOperator } from "survey-creator-core";
import * as i0 from "@angular/core";
import * as i1 from "survey-angular-ui";
import * as i2 from "@angular/common";
export class LogicOperatorComponent extends QuestionAngular {
get dropdownModel() {
if (!this.dropdownListModel) {
this.dropdownListModel = new DropdownListModel(this.model);
}
return this.dropdownListModel;
}
click(event) {
var _a;
(_a = this.dropdownListModel) === null || _a === void 0 ? void 0 : _a.onClick(event);
}
keyup(event) {
var _a;
(_a = this.dropdownListModel) === null || _a === void 0 ? void 0 : _a.keyHandler(event);
}
ngOnInit() {
super.ngOnInit();
this.dropdownListModel = this.model.dropdownListModel || new DropdownListModel(this.model);
initLogicOperator(this.model);
}
}
LogicOperatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LogicOperatorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
LogicOperatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: LogicOperatorComponent, selector: "svc-logic-operator", usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div [class]=\"model.cssClasses.selectWrapper\">\n <ng-container *ngIf=\"!model.isReadOnly\">\n <div [class]=\"model.getControlClass()\" (click)=\"click($event)\" (keyup)=\"keyup($event)\"\n [attr.id]=\"model.inputId\" \n [attr.required]=\"model.isRequired\" \n [attr.tabindex]= \"model.isInputReadOnly ? undefined : 0\"\n [attr.disabled]=\"model.isInputReadOnly\"\n [attr.role]=\"dropdownModel.ariaQuestionRole\"\n [attr.aria-required]=\"dropdownModel.ariaQuestionRequired\"\n [attr.aria-invalid]=\"dropdownModel.ariaQuestionInvalid\"\n [attr.aria-errormessage]=\"dropdownModel.ariaQuestionErrorMessage\" \n [attr.aria-expanded]=\"dropdownModel.ariaQuestionExpanded\"\n [attr.aria-label]=\"dropdownModel.ariaQuestionLabel\" \n [attr.aria-labelledby]=\"dropdownModel.ariaQuestionLabelledby\"\n [attr.aria-controls]=\"dropdownModel.ariaQuestionControls\"\n >\n <div [class]=\"model.cssClasses.controlValue\">\n <sv-ng-string *ngIf=\"model.locReadOnlyText\" [model]=\"model.locReadOnlyText\"></sv-ng-string>\n </div>\n </div>\n <sv-ng-popup [popupModel]=\"model.popupModel\"></sv-ng-popup>\n </ng-container>\n <div disabled *ngIf=\"model.isReadOnly\" [class]=\"model.getControlClass()\" [attr.id]=\"model.inputId\">\n <sv-ng-string *ngIf=\"model.locReadOnlyText\" [model]=\"model.locReadOnlyText\"></sv-ng-string>\n </div>\n </div>\n</ng-template>\n", styles: [":host { display: none; }"], components: [{ type: i1.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: i1.PopupComponent, selector: "sv-ng-popup, '[sv-ng-popup]'", inputs: ["popupModel"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LogicOperatorComponent, decorators: [{
type: Component,
args: [{
selector: "svc-logic-operator",
templateUrl: "./logic-operator.component.html",
styles: [":host { display: none; }"]
}]
}] });
AngularComponentFactory.Instance.registerComponent("sv-logic-operator", LogicOperatorComponent);
RendererFactory.Instance.registerRenderer("dropdown", "logicoperator", "sv-logic-operator");
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naWMtb3BlcmF0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3F1ZXN0aW9ucy9sb2dpYy1vcGVyYXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi9zcmMvcXVlc3Rpb25zL2xvZ2ljLW9wZXJhdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxpQkFBaUIsRUFBeUIsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7O0FBT3hELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxlQUFzQztJQUVoRixJQUFJLGFBQWE7UUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQzNCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUM1RDtRQUNELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ2hDLENBQUM7SUFDRCxLQUFLLENBQUMsS0FBVTs7UUFDZCxNQUFBLElBQUksQ0FBQyxpQkFBaUIsMENBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFDRCxLQUFLLENBQUMsS0FBVTs7UUFDZCxNQUFBLElBQUksQ0FBQyxpQkFBaUIsMENBQUUsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFDUSxRQUFRO1FBQ2YsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixJQUFJLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNGLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDOztvSEFsQlUsc0JBQXNCO3dHQUF0QixzQkFBc0IsaUZDVm5DLG8vQ0E0QkE7NEZEbEJhLHNCQUFzQjtrQkFMbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixXQUFXLEVBQUUsaUNBQWlDO29CQUM5QyxNQUFNLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztpQkFDckM7O0FBcUJELHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBbUIsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO0FBRWhHLGVBQWUsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLGVBQWUsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRGYWN0b3J5LCBRdWVzdGlvbkFuZ3VsYXIgfSBmcm9tIFwic3VydmV5LWFuZ3VsYXItdWlcIjtcbmltcG9ydCB7IERyb3Bkb3duTGlzdE1vZGVsLCBRdWVzdGlvbkRyb3Bkb3duTW9kZWwsIFJlbmRlcmVyRmFjdG9yeSB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuaW1wb3J0IHsgaW5pdExvZ2ljT3BlcmF0b3IgfSBmcm9tIFwic3VydmV5LWNyZWF0b3ItY29yZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwic3ZjLWxvZ2ljLW9wZXJhdG9yXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vbG9naWMtb3BlcmF0b3IuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVzOiBbXCI6aG9zdCB7IGRpc3BsYXk6IG5vbmU7IH1cIl1cbn0pXG5leHBvcnQgY2xhc3MgTG9naWNPcGVyYXRvckNvbXBvbmVudCBleHRlbmRzIFF1ZXN0aW9uQW5ndWxhcjxRdWVzdGlvbkRyb3Bkb3duTW9kZWw+IHtcbiAgcHJpdmF0ZSBkcm9wZG93bkxpc3RNb2RlbD86IERyb3Bkb3duTGlzdE1vZGVsO1xuICBnZXQgZHJvcGRvd25Nb2RlbCgpOiBEcm9wZG93bkxpc3RNb2RlbCB7XG4gICAgaWYgKCF0aGlzLmRyb3Bkb3duTGlzdE1vZGVsKSB7XG4gICAgICB0aGlzLmRyb3Bkb3duTGlzdE1vZGVsID0gbmV3IERyb3Bkb3duTGlzdE1vZGVsKHRoaXMubW9kZWwpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5kcm9wZG93bkxpc3RNb2RlbDtcbiAgfVxuICBjbGljayhldmVudDogYW55KSB7XG4gICAgdGhpcy5kcm9wZG93bkxpc3RNb2RlbD8ub25DbGljayhldmVudCk7XG4gIH1cbiAga2V5dXAoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuZHJvcGRvd25MaXN0TW9kZWw/LmtleUhhbmRsZXIoZXZlbnQpO1xuICB9XG4gIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgdGhpcy5kcm9wZG93bkxpc3RNb2RlbCA9IHRoaXMubW9kZWwuZHJvcGRvd25MaXN0TW9kZWwgfHwgbmV3IERyb3Bkb3duTGlzdE1vZGVsKHRoaXMubW9kZWwpO1xuICAgIGluaXRMb2dpY09wZXJhdG9yKHRoaXMubW9kZWwpO1xuICB9XG59XG5Bbmd1bGFyQ29tcG9uZW50RmFjdG9yeS5JbnN0YW5jZS5yZWdpc3RlckNvbXBvbmVudChcInN2LWxvZ2ljLW9wZXJhdG9yXCIsIExvZ2ljT3BlcmF0b3JDb21wb25lbnQpO1xuXG5SZW5kZXJlckZhY3RvcnkuSW5zdGFuY2UucmVnaXN0ZXJSZW5kZXJlcihcImRyb3Bkb3duXCIsIFwibG9naWNvcGVyYXRvclwiLCBcInN2LWxvZ2ljLW9wZXJhdG9yXCIpOyIsIjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGU+XG4gIDxkaXYgW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMuc2VsZWN0V3JhcHBlclwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbW9kZWwuaXNSZWFkT25seVwiPlxuICAgICAgPGRpdiBbY2xhc3NdPVwibW9kZWwuZ2V0Q29udHJvbENsYXNzKClcIiAgKGNsaWNrKT1cImNsaWNrKCRldmVudClcIiAoa2V5dXApPVwia2V5dXAoJGV2ZW50KVwiXG4gICAgICAgIFthdHRyLmlkXT1cIm1vZGVsLmlucHV0SWRcIiBcbiAgICAgICAgW2F0dHIucmVxdWlyZWRdPVwibW9kZWwuaXNSZXF1aXJlZFwiIFxuICAgICAgICBbYXR0ci50YWJpbmRleF09IFwibW9kZWwuaXNJbnB1dFJlYWRPbmx5ID8gdW5kZWZpbmVkIDogMFwiXG4gICAgICAgIFthdHRyLmRpc2FibGVkXT1cIm1vZGVsLmlzSW5wdXRSZWFkT25seVwiXG4gICAgICAgIFthdHRyLnJvbGVdPVwiZHJvcGRvd25Nb2RlbC5hcmlhUXVlc3Rpb25Sb2xlXCJcbiAgICAgICAgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJkcm9wZG93bk1vZGVsLmFyaWFRdWVzdGlvblJlcXVpcmVkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImRyb3Bkb3duTW9kZWwuYXJpYVF1ZXN0aW9uSW52YWxpZFwiXG4gICAgICAgIFthdHRyLmFyaWEtZXJyb3JtZXNzYWdlXT1cImRyb3Bkb3duTW9kZWwuYXJpYVF1ZXN0aW9uRXJyb3JNZXNzYWdlXCIgXG4gICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiZHJvcGRvd25Nb2RlbC5hcmlhUXVlc3Rpb25FeHBhbmRlZFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZHJvcGRvd25Nb2RlbC5hcmlhUXVlc3Rpb25MYWJlbFwiIFxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiZHJvcGRvd25Nb2RlbC5hcmlhUXVlc3Rpb25MYWJlbGxlZGJ5XCJcbiAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJkcm9wZG93bk1vZGVsLmFyaWFRdWVzdGlvbkNvbnRyb2xzXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5jb250cm9sVmFsdWVcIj5cbiAgICAgICAgICA8c3Ytbmctc3RyaW5nICpuZ0lmPVwibW9kZWwubG9jUmVhZE9ubHlUZXh0XCIgW21vZGVsXT1cIm1vZGVsLmxvY1JlYWRPbmx5VGV4dFwiPjwvc3Ytbmctc3RyaW5nPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgICA8c3YtbmctcG9wdXAgW3BvcHVwTW9kZWxdPVwibW9kZWwucG9wdXBNb2RlbFwiPjwvc3YtbmctcG9wdXA+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPGRpdiBkaXNhYmxlZCAqbmdJZj1cIm1vZGVsLmlzUmVhZE9ubHlcIiBbY2xhc3NdPVwibW9kZWwuZ2V0Q29udHJvbENsYXNzKClcIiBbYXR0ci5pZF09XCJtb2RlbC5pbnB1dElkXCI+XG4gICAgICA8c3Ytbmctc3RyaW5nICpuZ0lmPVwibW9kZWwubG9jUmVhZE9ubHlUZXh0XCIgW21vZGVsXT1cIm1vZGVsLmxvY1JlYWRPbmx5VGV4dFwiPjwvc3Ytbmctc3RyaW5nPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=