survey-angular-ui
Version:
A free MIT-licensed Angular UI component that renders dynamic, interactive JSON-based forms and surveys. You can use it to collect responses from users and send them to your own database.
26 lines • 7.58 kB
JavaScript
import { Component, Input } from "@angular/core";
import { AngularComponentFactory } from "./../../component-factory";
import * as i0 from "@angular/core";
import * as i1 from "../../survey-string.component";
import * as i2 from "../svg-icon/svg-icon.component";
import * as i3 from "@angular/common";
import * as i4 from "../../utils/dynamic.directive";
export class SingleInputSummaryComponent {
get placeholderComponent() { return "sv-ng-placeholder-" + this.model.question.getTemplate(); }
get componentRegistered() { return AngularComponentFactory.Instance.isComponentRegistered(this.placeholderComponent); }
}
SingleInputSummaryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SingleInputSummaryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
SingleInputSummaryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SingleInputSummaryComponent, selector: "sv-single-input-summary", inputs: { model: "model", css: "css" }, ngImport: i0, template: "<div *ngIf=\"!model.isEmpty()\" [class]=\"css.summary\">\n <div *ngFor=\"let item of model.items; index as index\" [class]=\"css.summaryRow\">\n <div [class]=\"css.summaryRowContent\">\n <sv-ng-string [model]=\"item.locText\"></sv-ng-string>\n </div>\n <div [class]=\"css.summaryRowActions\">\n <button\n *ngIf=\"item.btnEdit\"\n [class]=\"css.summaryRowActionEdit\"\n (click)=\"item.btnEdit.action()\"\n [title]=\"item.btnEdit.title\"\n >\n <svg [iconName]=\"'icon-editsmall-16x16'\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </button>\n <button\n *ngIf=\"item.showRemove && item.btnRemove\"\n [class]=\"css.summaryRowActionDelete\"\n (click)=\"item.btnRemove.action()\"\n [title]=\"item.btnRemove.title\"\n >\n <svg [iconName]=\"'icon-delete-16x16'\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </button>\n </div>\n </div>\n</div>\n<div *ngIf=\"model.isEmpty()\">\n <ng-template\n [component]=\"{ \n name: placeholderComponent,\n data: {\n question: model.question,\n cssClasses: css \n }\n }\"\n *ngIf=\"componentRegistered\"\n ></ng-template>\n <div *ngIf=\"!componentRegistered\">\n <sv-ng-string [model]=\"model.noEntry\"></sv-ng-string>\n </div>\n</div>", components: [{ type: i1.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: i2.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SingleInputSummaryComponent, decorators: [{
type: Component,
args: [{
selector: "sv-single-input-summary",
templateUrl: "./single-input-summary.component.html"
}]
}], propDecorators: { model: [{
type: Input
}], css: [{
type: Input
}] } });
AngularComponentFactory.Instance.registerComponent("sv-single-input-summary", SingleInputSummaryComponent);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlLWlucHV0LXN1bW1hcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvc2luZ2xlLWlucHV0LXN1bW1hcnkvc2luZ2xlLWlucHV0LXN1bW1hcnkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvc2luZ2xlLWlucHV0LXN1bW1hcnkvc2luZ2xlLWlucHV0LXN1bW1hcnkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHakQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7OztBQU1wRSxNQUFNLE9BQU8sMkJBQTJCO0lBSXRDLElBQUksb0JBQW9CLEtBQUssT0FBTyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDL0YsSUFBSSxtQkFBbUIsS0FBTSxPQUFPLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUM7O3lIQUw3RywyQkFBMkI7NkdBQTNCLDJCQUEyQix1R0NUeEMsNHlDQXVDTTs0RkQ5Qk8sMkJBQTJCO2tCQUp2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx5QkFBeUI7b0JBQ25DLFdBQVcsRUFBRSx1Q0FBdUM7aUJBQ3JEOzhCQUVVLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7O0FBTVIsdUJBQXVCLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLHlCQUF5QixFQUFFLDJCQUEyQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEJhc2VBbmd1bGFyIH0gZnJvbSBcIi4uLy4uL2Jhc2UtYW5ndWxhclwiO1xuaW1wb3J0IHsgUXVlc3Rpb25TaW5nbGVJbnB1dFN1bW1hcnkgfSBmcm9tIFwic3VydmV5LWNvcmVcIjtcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRGYWN0b3J5IH0gZnJvbSBcIi4vLi4vLi4vY29tcG9uZW50LWZhY3RvcnlcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN2LXNpbmdsZS1pbnB1dC1zdW1tYXJ5XCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vc2luZ2xlLWlucHV0LXN1bW1hcnkuY29tcG9uZW50Lmh0bWxcIlxufSlcbmV4cG9ydCBjbGFzcyBTaW5nbGVJbnB1dFN1bW1hcnlDb21wb25lbnQge1xuICBASW5wdXQoKSBtb2RlbCE6IFF1ZXN0aW9uU2luZ2xlSW5wdXRTdW1tYXJ5O1xuICBASW5wdXQoKSBjc3MhOiBhbnk7XG5cbiAgZ2V0IHBsYWNlaG9sZGVyQ29tcG9uZW50KCkgeyByZXR1cm4gXCJzdi1uZy1wbGFjZWhvbGRlci1cIiArIHRoaXMubW9kZWwucXVlc3Rpb24uZ2V0VGVtcGxhdGUoKTsgfVxuICBnZXQgY29tcG9uZW50UmVnaXN0ZXJlZCAoKSB7IHJldHVybiBBbmd1bGFyQ29tcG9uZW50RmFjdG9yeS5JbnN0YW5jZS5pc0NvbXBvbmVudFJlZ2lzdGVyZWQodGhpcy5wbGFjZWhvbGRlckNvbXBvbmVudCk7IH1cbn1cblxuQW5ndWxhckNvbXBvbmVudEZhY3RvcnkuSW5zdGFuY2UucmVnaXN0ZXJDb21wb25lbnQoXCJzdi1zaW5nbGUtaW5wdXQtc3VtbWFyeVwiLCBTaW5nbGVJbnB1dFN1bW1hcnlDb21wb25lbnQpOyIsIjxkaXYgKm5nSWY9XCIhbW9kZWwuaXNFbXB0eSgpXCIgW2NsYXNzXT1cImNzcy5zdW1tYXJ5XCI+XG4gIDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbW9kZWwuaXRlbXM7IGluZGV4IGFzIGluZGV4XCIgW2NsYXNzXT1cImNzcy5zdW1tYXJ5Um93XCI+XG4gICAgPGRpdiBbY2xhc3NdPVwiY3NzLnN1bW1hcnlSb3dDb250ZW50XCI+XG4gICAgICA8c3Ytbmctc3RyaW5nIFttb2RlbF09XCJpdGVtLmxvY1RleHRcIj48L3N2LW5nLXN0cmluZz5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IFtjbGFzc109XCJjc3Muc3VtbWFyeVJvd0FjdGlvbnNcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKm5nSWY9XCJpdGVtLmJ0bkVkaXRcIlxuICAgICAgICBbY2xhc3NdPVwiY3NzLnN1bW1hcnlSb3dBY3Rpb25FZGl0XCJcbiAgICAgICAgKGNsaWNrKT1cIml0ZW0uYnRuRWRpdC5hY3Rpb24oKVwiXG4gICAgICAgIFt0aXRsZV09XCJpdGVtLmJ0bkVkaXQudGl0bGVcIlxuICAgICAgPlxuICAgICAgICA8c3ZnIFtpY29uTmFtZV09XCInaWNvbi1lZGl0c21hbGwtMTZ4MTYnXCIgW3NpemVdPVwiJ2F1dG8nXCIgc3Ytbmctc3ZnLWljb24+PC9zdmc+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKm5nSWY9XCJpdGVtLnNob3dSZW1vdmUgJiYgaXRlbS5idG5SZW1vdmVcIlxuICAgICAgICBbY2xhc3NdPVwiY3NzLnN1bW1hcnlSb3dBY3Rpb25EZWxldGVcIlxuICAgICAgICAoY2xpY2spPVwiaXRlbS5idG5SZW1vdmUuYWN0aW9uKClcIlxuICAgICAgICBbdGl0bGVdPVwiaXRlbS5idG5SZW1vdmUudGl0bGVcIlxuICAgICAgPlxuICAgICAgICA8c3ZnIFtpY29uTmFtZV09XCInaWNvbi1kZWxldGUtMTZ4MTYnXCIgW3NpemVdPVwiJ2F1dG8nXCIgc3Ytbmctc3ZnLWljb24+PC9zdmc+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgKm5nSWY9XCJtb2RlbC5pc0VtcHR5KClcIj5cbiAgPG5nLXRlbXBsYXRlXG4gICAgW2NvbXBvbmVudF09XCJ7IFxuICAgICAgbmFtZTogcGxhY2Vob2xkZXJDb21wb25lbnQsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIHF1ZXN0aW9uOiBtb2RlbC5xdWVzdGlvbixcbiAgICAgICAgY3NzQ2xhc3NlczogY3NzIFxuICAgICAgfVxuICAgIH1cIlxuICAgICpuZ0lmPVwiY29tcG9uZW50UmVnaXN0ZXJlZFwiXG4gID48L25nLXRlbXBsYXRlPlxuICA8ZGl2ICpuZ0lmPVwiIWNvbXBvbmVudFJlZ2lzdGVyZWRcIj5cbiAgICA8c3Ytbmctc3RyaW5nIFttb2RlbF09XCJtb2RlbC5ub0VudHJ5XCI+PC9zdi1uZy1zdHJpbmc+XG4gIDwvZGl2PlxuPC9kaXY+Il19