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.

66 lines 10.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; } 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: { model: model, listModel: listModel } }\"></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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2xpc3QvbGlzdC1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2xpc3QvbGlzdC1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFjLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7QUFRbEUsTUFBTSxPQUFPLGlCQUFrQixTQUFRLFdBQVc7SUFNaEQsSUFBSSxTQUFTOztRQUNYLE9BQU8sTUFBQyxJQUFJLENBQUMsS0FBaUIsMENBQUUsU0FBUyxDQUFDO0lBQzVDLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFDRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFDRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBQ0QsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUNELEtBQUssQ0FBQyxLQUFVO1FBQ2QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBQ0QsV0FBVyxDQUFDLEtBQVU7UUFDcEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBQ0QsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQztJQUM5RCxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQsZUFBZTs7UUFDYixJQUFJLENBQUMsQ0FBQyxDQUFBLE1BQUEsSUFBSSxDQUFDLFVBQVUsMENBQUUsYUFBYSxDQUFBLEVBQUU7WUFDcEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ3hFO0lBQ0gsQ0FBQzs7K0dBekNVLGlCQUFpQjttR0FBakIsaUJBQWlCLHFSQ1g5Qiw0M0JBWWM7NEZEREQsaUJBQWlCO2tCQU43QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQ0FBc0M7b0JBQ2hELFdBQVcsRUFBRSw0QkFBNEI7b0JBQ3pDLFNBQVMsRUFBRSxDQUFDLHNCQUFzQixDQUFDO2lCQUNwQzs4QkFHVSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ21CLFVBQVU7c0JBQWxDLFNBQVM7dUJBQUMsWUFBWTs7QUF3Q3pCLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLEVBQUUsaUJBQWlCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBMaXN0TW9kZWwsIEFjdGlvbiwgSUFjdGlvbiB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuaW1wb3J0IHsgQmFzZUFuZ3VsYXIgfSBmcm9tIFwiLi4vLi4vYmFzZS1hbmd1bGFyXCI7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50RmFjdG9yeSB9IGZyb20gXCIuLi8uLi9jb21wb25lbnQtZmFjdG9yeVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwic3YtbmctbGlzdC1pdGVtLCAnW3N2LW5nLWxpc3QtaXRlbV0nXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vbGlzdC1pdGVtLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi4vLi4vaGlkZS1ob3N0LnNjc3NcIl0sXG59KVxuXG5leHBvcnQgY2xhc3MgTGlzdEl0ZW1Db21wb25lbnQgZXh0ZW5kcyBCYXNlQW5ndWxhciBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBASW5wdXQoKSBlbGVtZW50OiBhbnk7XG4gIEBJbnB1dCgpIG1vZGVsITogQWN0aW9uO1xuICBASW5wdXQoKSBsaXN0TW9kZWwhOiBMaXN0TW9kZWw7XG4gIEBWaWV3Q2hpbGQoXCJlbGVtZW50UmVmXCIpIGVsZW1lbnRSZWYhOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICBnZXQgZWxlbWVudElkKCkge1xuICAgIHJldHVybiAodGhpcy5tb2RlbCBhcyBJQWN0aW9uKT8uZWxlbWVudElkO1xuICB9XG5cbiAgZ2V0IGFyaWFTZWxlY3RlZCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmxpc3RNb2RlbC5nZXRBMTF5SXRlbUFyaWFTZWxlY3RlZCh0aGlzLm1vZGVsKTtcbiAgfVxuICBnZXQgYXJpYUNoZWNrZWQoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5saXN0TW9kZWwuZ2V0QTExeUl0ZW1BcmlhQ2hlY2tlZCh0aGlzLm1vZGVsKTtcbiAgfVxuICBnZXQgY2xhc3MoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5saXN0TW9kZWwuZ2V0SXRlbUNsYXNzKHRoaXMubW9kZWwpO1xuICB9XG4gIGdldCBpdGVtU3R5bGUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5saXN0TW9kZWwuZ2V0SXRlbVN0eWxlKHRoaXMubW9kZWwpO1xuICB9XG4gIGNsaWNrKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RNb2RlbC5vbkl0ZW1DbGljayh0aGlzLm1vZGVsKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuICBwb2ludGVyZG93bihldmVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5saXN0TW9kZWwub25Qb2ludGVyRG93bihldmVudCwgdGhpcy5tb2RlbCk7XG4gIH1cbiAgZ2V0IGl0ZW1Db21wb25lbnQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbC5jb21wb25lbnQgfHwgdGhpcy5saXN0TW9kZWwuaXRlbUNvbXBvbmVudDtcbiAgfVxuXG4gIGdldE1vZGVsKCkge1xuICAgIHJldHVybiB0aGlzLm1vZGVsO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICghIXRoaXMuZWxlbWVudFJlZj8ubmF0aXZlRWxlbWVudCkge1xuICAgICAgdGhpcy5saXN0TW9kZWwub25JdGVtUmVuZGVkKHRoaXMubW9kZWwsIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG4gIH1cbn1cblxuQW5ndWxhckNvbXBvbmVudEZhY3RvcnkuSW5zdGFuY2UucmVnaXN0ZXJDb21wb25lbnQoXCJzdi1saXN0LWl0ZW1cIiwgTGlzdEl0ZW1Db21wb25lbnQpOyIsIjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGU+XG4gIDxsaSAjZWxlbWVudFJlZiBbYXR0ci5yb2xlXT1cImxpc3RNb2RlbC5saXN0SXRlbVJvbGVcIiBba2V5MmNsaWNrXT1cInsgcHJvY2Vzc0VzYzogZmFsc2UsIGRpc2FibGVUYWJTdG9wOiBtb2RlbC5kaXNhYmxlVGFiU3RvcCB9XCIgW3Zpc2libGVdPVwibGlzdE1vZGVsLmlzSXRlbVZpc2libGUobW9kZWwpXCIgW2NsYXNzXT1cImNsYXNzXCIgXG4gIFthdHRyLmlkXT1cImVsZW1lbnRJZFwiIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwiYXJpYVNlbGVjdGVkXCIgW2F0dHIuYXJpYS1jaGVja2VkXT1cImFyaWFDaGVja2VkXCIgKGNsaWNrKT1cImNsaWNrKCRldmVudClcIiAocG9pbnRlcmRvd24pPVwicG9pbnRlcmRvd24oJGV2ZW50KVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlbC5uZWVkU2VwYXJhdG9yXCI+XG4gICAgPGRpdiBbY2xhc3NdPVwibGlzdE1vZGVsLmNzc0NsYXNzZXMuaXRlbVNlcGFyYXRvclwiPjwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxkaXYgW2NsYXNzXT1cImxpc3RNb2RlbC5jc3NDbGFzc2VzLml0ZW1Cb2R5XCIgW3N0eWxlXT1cIml0ZW1TdHlsZVwiIFthdHRyLnRpdGxlXT1cIm1vZGVsLmdldFRvb2x0aXAoKVwiXG4gICAgKG1vdXNlb3Zlcik9XCJsaXN0TW9kZWwub25JdGVtSG92ZXIobW9kZWwpXCJcbiAgICAobW91c2VsZWF2ZSk9XCJsaXN0TW9kZWwub25JdGVtTGVhdmUobW9kZWwpXCI+XG4gICAgPG5nLXRlbXBsYXRlIFtjb21wb25lbnRdPVwieyBuYW1lOiBpdGVtQ29tcG9uZW50LCBkYXRhOiB7IG1vZGVsOiBtb2RlbCwgbGlzdE1vZGVsOiBsaXN0TW9kZWwgfSB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgPC9saT5cbjwvbmctdGVtcGxhdGU+Il19