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.
34 lines • 6.18 kB
JavaScript
import { Component, Input } from "@angular/core";
import { BaseAngular } from "../../base-angular";
import { AngularComponentFactory } from "../../component-factory";
import * as i0 from "@angular/core";
import * as i1 from "../svg-icon/svg-icon.component";
export class RatingItemSmileyComponent extends BaseAngular {
onClick(event) {
this.model.setValueFromClick(event.target.value);
event.stopPropagation();
}
getModel() {
return this.item;
}
}
RatingItemSmileyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RatingItemSmileyComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
RatingItemSmileyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: RatingItemSmileyComponent, selector: "sv-ng-rating-item-smiley", inputs: { element: "element", model: "model", item: "item", index: "index" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <label [style]=\"item.style\" [class]=\"item.className\" (mouseover)=\"model.onItemMouseIn(item)\" (mouseout)=\"model.onItemMouseOut(item)\" (mousedown)=\"model.onMouseDown()\" [title]=\"item.text\">\n <input type=\"radio\"\n class=\"sv-visuallyhidden\"\n [attr.name]=\"model.questionName\" [attr.id]=\"model.getInputId(index)\" [value]=\"item.value\" [attr.aria-label]=\"model.ariaLabel\"\n [disabled]=\"model.isDisabledAttr\" [readonly]=\"model.isReadOnlyAttr\" [checked]=\"model.value === item.value\" (click)=\"onClick($event)\"\n />\n <svg [iconName]=\"model.getItemSmileyIconName(item)\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </label>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RatingItemSmileyComponent, decorators: [{
type: Component,
args: [{
selector: "sv-ng-rating-item-smiley",
templateUrl: "./rating-item-smiley.component.html",
styleUrls: ["../../hide-host.scss"],
}]
}], propDecorators: { element: [{
type: Input
}], model: [{
type: Input
}], item: [{
type: Input
}], index: [{
type: Input
}] } });
AngularComponentFactory.Instance.registerComponent("sv-rating-item-smiley", RatingItemSmileyComponent);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF0aW5nLWl0ZW0tc21pbGV5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3JhdGluZy9yYXRpbmctaXRlbS1zbWlsZXkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcmF0aW5nL3JhdGluZy1pdGVtLXNtaWxleS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7QUFRbEUsTUFBTSxPQUFPLHlCQUEwQixTQUFRLFdBQStCO0lBTTVFLE9BQU8sQ0FBQyxLQUFVO1FBQ2hCLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqRCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQzs7dUhBYlUseUJBQXlCOzJHQUF6Qix5QkFBeUIscUtDWHRDLDhzQkFTYzs0RkRFRCx5QkFBeUI7a0JBTnJDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDBCQUEwQjtvQkFDcEMsV0FBVyxFQUFFLHFDQUFxQztvQkFDbEQsU0FBUyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ3BDOzhCQUdVLE9BQU87c0JBQWYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSzs7QUFZUix1QkFBdUIsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsdUJBQXVCLEVBQUUseUJBQXlCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTGlzdE1vZGVsLCBBY3Rpb24sIFF1ZXN0aW9uUmF0aW5nTW9kZWwsIFJlbmRlcmVkUmF0aW5nSXRlbSB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuaW1wb3J0IHsgQmFzZUFuZ3VsYXIgfSBmcm9tIFwiLi4vLi4vYmFzZS1hbmd1bGFyXCI7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50RmFjdG9yeSB9IGZyb20gXCIuLi8uLi9jb21wb25lbnQtZmFjdG9yeVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwic3YtbmctcmF0aW5nLWl0ZW0tc21pbGV5XCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vcmF0aW5nLWl0ZW0tc21pbGV5LmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi4vLi4vaGlkZS1ob3N0LnNjc3NcIl0sXG59KVxuXG5leHBvcnQgY2xhc3MgUmF0aW5nSXRlbVNtaWxleUNvbXBvbmVudCBleHRlbmRzIEJhc2VBbmd1bGFyPFJlbmRlcmVkUmF0aW5nSXRlbT4ge1xuICBASW5wdXQoKSBlbGVtZW50OiBhbnk7XG4gIEBJbnB1dCgpIG1vZGVsITogUXVlc3Rpb25SYXRpbmdNb2RlbDtcbiAgQElucHV0KCkgaXRlbSE6IFJlbmRlcmVkUmF0aW5nSXRlbTtcbiAgQElucHV0KCkgaW5kZXghOiBudW1iZXI7XG5cbiAgb25DbGljayhldmVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5tb2RlbC5zZXRWYWx1ZUZyb21DbGljayhldmVudC50YXJnZXQudmFsdWUpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgZ2V0TW9kZWwoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbTtcbiAgfVxufVxuXG5Bbmd1bGFyQ29tcG9uZW50RmFjdG9yeS5JbnN0YW5jZS5yZWdpc3RlckNvbXBvbmVudChcInN2LXJhdGluZy1pdGVtLXNtaWxleVwiLCBSYXRpbmdJdGVtU21pbGV5Q29tcG9uZW50KTsiLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlPlxuICA8bGFiZWwgW3N0eWxlXT1cIml0ZW0uc3R5bGVcIiBbY2xhc3NdPVwiaXRlbS5jbGFzc05hbWVcIiAobW91c2VvdmVyKT1cIm1vZGVsLm9uSXRlbU1vdXNlSW4oaXRlbSlcIiAobW91c2VvdXQpPVwibW9kZWwub25JdGVtTW91c2VPdXQoaXRlbSlcIiAobW91c2Vkb3duKT1cIm1vZGVsLm9uTW91c2VEb3duKClcIiBbdGl0bGVdPVwiaXRlbS50ZXh0XCI+XG4gICAgPGlucHV0IHR5cGU9XCJyYWRpb1wiXG4gICAgICBjbGFzcz1cInN2LXZpc3VhbGx5aGlkZGVuXCJcbiAgICAgIFthdHRyLm5hbWVdPVwibW9kZWwucXVlc3Rpb25OYW1lXCIgW2F0dHIuaWRdPVwibW9kZWwuZ2V0SW5wdXRJZChpbmRleClcIiBbdmFsdWVdPVwiaXRlbS52YWx1ZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwibW9kZWwuYXJpYUxhYmVsXCJcbiAgICAgIFtkaXNhYmxlZF09XCJtb2RlbC5pc0Rpc2FibGVkQXR0clwiIFtyZWFkb25seV09XCJtb2RlbC5pc1JlYWRPbmx5QXR0clwiIFtjaGVja2VkXT1cIm1vZGVsLnZhbHVlID09PSBpdGVtLnZhbHVlXCIgKGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiXG4gICAgICAvPlxuICAgICAgPHN2ZyBbaWNvbk5hbWVdPVwibW9kZWwuZ2V0SXRlbVNtaWxleUljb25OYW1lKGl0ZW0pXCIgW3NpemVdPVwiJ2F1dG8nXCIgc3Ytbmctc3ZnLWljb24+PC9zdmc+XG4gIDwvbGFiZWw+XG48L25nLXRlbXBsYXRlPiJdfQ==