UNPKG

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.

76 lines 11.1 kB
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 "../../utils/ng-key2click.directive"; import * as i2 from "../../utils/ng-show.directive"; import * as i3 from "@angular/common"; import * as i4 from "../../utils/dynamic.directive"; export class ListItemComponent extends BaseAngular { get elementId() { var _a; return (_a = this.model) === null || _a === void 0 ? void 0 : _a.elementId; } get ariaSelected() { return this.listModel.getA11yItemAriaSelected(this.model); } get ariaChecked() { return this.listModel.getA11yItemAriaChecked(this.model); } get class() { return this.listModel.getItemClass(this.model); } get itemStyle() { return this.listModel.getItemStyle(this.model); } click(event) { this.listModel.onItemClick(this.model); event.stopPropagation(); } pointerdown(event) { this.listModel.onPointerDown(event, this.model); } get itemComponent() { return this.model.component || this.listModel.itemComponent; } get itemComponentData() { const itemData = this.model.data; return { model: this.model, listModel: this.listModel, itemData, survey: itemData === null || itemData === void 0 ? void 0 : itemData.survey, page: itemData === null || itemData === void 0 ? void 0 : itemData.page }; } getModel() { return this.model; } ngAfterViewInit() { var _a; if (!!((_a = this.elementRef) === null || _a === void 0 ? void 0 : _a.nativeElement)) { this.listModel.onItemRended(this.model, this.elementRef.nativeElement); } } } ListItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ListItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); ListItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ListItemComponent, selector: "sv-ng-list-item, '[sv-ng-list-item]'", inputs: { element: "element", model: "model", listModel: "listModel" }, viewQueries: [{ propertyName: "elementRef", first: true, predicate: ["elementRef"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <li #elementRef [attr.role]=\"listModel.listItemRole\" [key2click]=\"{ processEsc: false, disableTabStop: model.disableTabStop }\" [visible]=\"listModel.isItemVisible(model)\" [class]=\"class\" \n [attr.id]=\"elementId\" [attr.aria-selected]=\"ariaSelected\" [attr.aria-checked]=\"ariaChecked\" (click)=\"click($event)\" (pointerdown)=\"pointerdown($event)\">\n <ng-container *ngIf=\"model.needSeparator\">\n <div [class]=\"listModel.cssClasses.itemSeparator\"></div>\n </ng-container>\n <div [class]=\"listModel.cssClasses.itemBody\" [style]=\"itemStyle\" [attr.title]=\"model.getTooltip()\"\n (mouseover)=\"listModel.onItemHover(model)\"\n (mouseleave)=\"listModel.onItemLeave(model)\">\n <ng-template [component]=\"{ name: itemComponent, data: itemComponentData }\"></ng-template>\n </div>\n </li>\n</ng-template>", styles: [":host{display:none}\n"], directives: [{ type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }, { type: i2.VisibleDirective, selector: "[visible]", inputs: ["visible"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ListItemComponent, decorators: [{ type: Component, args: [{ selector: "sv-ng-list-item, '[sv-ng-list-item]'", templateUrl: "./list-item.component.html", styleUrls: ["../../hide-host.scss"], }] }], propDecorators: { element: [{ type: Input }], model: [{ type: Input }], listModel: [{ type: Input }], elementRef: [{ type: ViewChild, args: ["elementRef"] }] } }); AngularComponentFactory.Instance.registerComponent("sv-list-item", ListItemComponent); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2xpc3QvbGlzdC1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2xpc3QvbGlzdC1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFjLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7QUFRbEUsTUFBTSxPQUFPLGlCQUFrQixTQUFRLFdBQVc7SUFNaEQsSUFBSSxTQUFTOztRQUNYLE9BQU8sTUFBQyxJQUFJLENBQUMsS0FBaUIsMENBQUUsU0FBUyxDQUFDO0lBQzVDLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFDRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFDRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBQ0QsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUNELEtBQUssQ0FBQyxLQUFVO1FBQ2QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBQ0QsV0FBVyxDQUFDLEtBQVU7UUFDcEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBQ0QsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQztJQUM5RCxDQUFDO0lBQ0QsSUFBSSxpQkFBaUI7UUFDbkIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDakMsT0FBTztZQUNMLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsUUFBUTtZQUNSLE1BQU0sRUFBRSxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsTUFBTTtZQUN4QixJQUFJLEVBQUUsUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFFLElBQUk7U0FDckIsQ0FBQztJQUNKLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxlQUFlOztRQUNiLElBQUksQ0FBQyxDQUFDLENBQUEsTUFBQSxJQUFJLENBQUMsVUFBVSwwQ0FBRSxhQUFhLENBQUEsRUFBRTtZQUNwQyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDeEU7SUFDSCxDQUFDOzsrR0FuRFUsaUJBQWlCO21HQUFqQixpQkFBaUIscVJDWDlCLHUyQkFZYzs0RkRERCxpQkFBaUI7a0JBTjdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHNDQUFzQztvQkFDaEQsV0FBVyxFQUFFLDRCQUE0QjtvQkFDekMsU0FBUyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ3BDOzhCQUdVLE9BQU87c0JBQWYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDbUIsVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZOztBQWtEekIsdUJBQXVCLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IExpc3RNb2RlbCwgQWN0aW9uLCBJQWN0aW9uIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5pbXBvcnQgeyBCYXNlQW5ndWxhciB9IGZyb20gXCIuLi8uLi9iYXNlLWFuZ3VsYXJcIjtcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRGYWN0b3J5IH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudC1mYWN0b3J5XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdi1uZy1saXN0LWl0ZW0sICdbc3YtbmctbGlzdC1pdGVtXSdcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9saXN0LWl0ZW0uY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuLi8uLi9oaWRlLWhvc3Quc2Nzc1wiXSxcbn0pXG5cbmV4cG9ydCBjbGFzcyBMaXN0SXRlbUNvbXBvbmVudCBleHRlbmRzIEJhc2VBbmd1bGFyIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBJbnB1dCgpIGVsZW1lbnQ6IGFueTtcbiAgQElucHV0KCkgbW9kZWwhOiBBY3Rpb247XG4gIEBJbnB1dCgpIGxpc3RNb2RlbCE6IExpc3RNb2RlbDtcbiAgQFZpZXdDaGlsZChcImVsZW1lbnRSZWZcIikgZWxlbWVudFJlZiE6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gIGdldCBlbGVtZW50SWQoKSB7XG4gICAgcmV0dXJuICh0aGlzLm1vZGVsIGFzIElBY3Rpb24pPy5lbGVtZW50SWQ7XG4gIH1cblxuICBnZXQgYXJpYVNlbGVjdGVkKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMubGlzdE1vZGVsLmdldEExMXlJdGVtQXJpYVNlbGVjdGVkKHRoaXMubW9kZWwpO1xuICB9XG4gIGdldCBhcmlhQ2hlY2tlZCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmxpc3RNb2RlbC5nZXRBMTF5SXRlbUFyaWFDaGVja2VkKHRoaXMubW9kZWwpO1xuICB9XG4gIGdldCBjbGFzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmxpc3RNb2RlbC5nZXRJdGVtQ2xhc3ModGhpcy5tb2RlbCk7XG4gIH1cbiAgZ2V0IGl0ZW1TdHlsZSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLmxpc3RNb2RlbC5nZXRJdGVtU3R5bGUodGhpcy5tb2RlbCk7XG4gIH1cbiAgY2xpY2soZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMubGlzdE1vZGVsLm9uSXRlbUNsaWNrKHRoaXMubW9kZWwpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG4gIHBvaW50ZXJkb3duKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RNb2RlbC5vblBvaW50ZXJEb3duKGV2ZW50LCB0aGlzLm1vZGVsKTtcbiAgfVxuICBnZXQgaXRlbUNvbXBvbmVudCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm1vZGVsLmNvbXBvbmVudCB8fCB0aGlzLmxpc3RNb2RlbC5pdGVtQ29tcG9uZW50O1xuICB9XG4gIGdldCBpdGVtQ29tcG9uZW50RGF0YSgpOiBhbnkge1xuICAgIGNvbnN0IGl0ZW1EYXRhID0gdGhpcy5tb2RlbC5kYXRhO1xuICAgIHJldHVybiB7XG4gICAgICBtb2RlbDogdGhpcy5tb2RlbCxcbiAgICAgIGxpc3RNb2RlbDogdGhpcy5saXN0TW9kZWwsXG4gICAgICBpdGVtRGF0YSxcbiAgICAgIHN1cnZleTogaXRlbURhdGE/LnN1cnZleSxcbiAgICAgIHBhZ2U6IGl0ZW1EYXRhPy5wYWdlXG4gICAgfTtcbiAgfVxuXG4gIGdldE1vZGVsKCkge1xuICAgIHJldHVybiB0aGlzLm1vZGVsO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICghIXRoaXMuZWxlbWVudFJlZj8ubmF0aXZlRWxlbWVudCkge1xuICAgICAgdGhpcy5saXN0TW9kZWwub25JdGVtUmVuZGVkKHRoaXMubW9kZWwsIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG4gIH1cbn1cblxuQW5ndWxhckNvbXBvbmVudEZhY3RvcnkuSW5zdGFuY2UucmVnaXN0ZXJDb21wb25lbnQoXCJzdi1saXN0LWl0ZW1cIiwgTGlzdEl0ZW1Db21wb25lbnQpOyIsIjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGU+XG4gIDxsaSAjZWxlbWVudFJlZiBbYXR0ci5yb2xlXT1cImxpc3RNb2RlbC5saXN0SXRlbVJvbGVcIiBba2V5MmNsaWNrXT1cInsgcHJvY2Vzc0VzYzogZmFsc2UsIGRpc2FibGVUYWJTdG9wOiBtb2RlbC5kaXNhYmxlVGFiU3RvcCB9XCIgW3Zpc2libGVdPVwibGlzdE1vZGVsLmlzSXRlbVZpc2libGUobW9kZWwpXCIgW2NsYXNzXT1cImNsYXNzXCIgXG4gIFthdHRyLmlkXT1cImVsZW1lbnRJZFwiIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwiYXJpYVNlbGVjdGVkXCIgW2F0dHIuYXJpYS1jaGVja2VkXT1cImFyaWFDaGVja2VkXCIgKGNsaWNrKT1cImNsaWNrKCRldmVudClcIiAocG9pbnRlcmRvd24pPVwicG9pbnRlcmRvd24oJGV2ZW50KVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlbC5uZWVkU2VwYXJhdG9yXCI+XG4gICAgPGRpdiBbY2xhc3NdPVwibGlzdE1vZGVsLmNzc0NsYXNzZXMuaXRlbVNlcGFyYXRvclwiPjwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxkaXYgW2NsYXNzXT1cImxpc3RNb2RlbC5jc3NDbGFzc2VzLml0ZW1Cb2R5XCIgW3N0eWxlXT1cIml0ZW1TdHlsZVwiIFthdHRyLnRpdGxlXT1cIm1vZGVsLmdldFRvb2x0aXAoKVwiXG4gICAgKG1vdXNlb3Zlcik9XCJsaXN0TW9kZWwub25JdGVtSG92ZXIobW9kZWwpXCJcbiAgICAobW91c2VsZWF2ZSk9XCJsaXN0TW9kZWwub25JdGVtTGVhdmUobW9kZWwpXCI+XG4gICAgPG5nLXRlbXBsYXRlIFtjb21wb25lbnRdPVwieyBuYW1lOiBpdGVtQ29tcG9uZW50LCBkYXRhOiBpdGVtQ29tcG9uZW50RGF0YSB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgPC9saT5cbjwvbmctdGVtcGxhdGU+Il19