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.38 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]=\"model.getItemStyle(item.itemValue, item.highlight)\" [class]=\"model.getItemClass(item.itemValue, item.highlight)\" (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.itemValue)\" [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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF0aW5nLWl0ZW0tc21pbGV5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3JhdGluZy9yYXRpbmctaXRlbS1zbWlsZXkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcmF0aW5nL3JhdGluZy1pdGVtLXNtaWxleS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7QUFRbEUsTUFBTSxPQUFPLHlCQUEwQixTQUFRLFdBQStCO0lBTTVFLE9BQU8sQ0FBQyxLQUFVO1FBQ2hCLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqRCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQzs7dUhBYlUseUJBQXlCOzJHQUF6Qix5QkFBeUIscUtDWHRDLG95QkFTYzs0RkRFRCx5QkFBeUI7a0JBTnJDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDBCQUEwQjtvQkFDcEMsV0FBVyxFQUFFLHFDQUFxQztvQkFDbEQsU0FBUyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ3BDOzhCQUdVLE9BQU87c0JBQWYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSzs7QUFZUix1QkFBdUIsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsdUJBQXVCLEVBQUUseUJBQXlCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTGlzdE1vZGVsLCBBY3Rpb24sIFF1ZXN0aW9uUmF0aW5nTW9kZWwsIFJlbmRlcmVkUmF0aW5nSXRlbSB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuaW1wb3J0IHsgQmFzZUFuZ3VsYXIgfSBmcm9tIFwiLi4vLi4vYmFzZS1hbmd1bGFyXCI7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50RmFjdG9yeSB9IGZyb20gXCIuLi8uLi9jb21wb25lbnQtZmFjdG9yeVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwic3YtbmctcmF0aW5nLWl0ZW0tc21pbGV5XCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vcmF0aW5nLWl0ZW0tc21pbGV5LmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi4vLi4vaGlkZS1ob3N0LnNjc3NcIl0sXG59KVxuXG5leHBvcnQgY2xhc3MgUmF0aW5nSXRlbVNtaWxleUNvbXBvbmVudCBleHRlbmRzIEJhc2VBbmd1bGFyPFJlbmRlcmVkUmF0aW5nSXRlbT4ge1xuICBASW5wdXQoKSBlbGVtZW50OiBhbnk7XG4gIEBJbnB1dCgpIG1vZGVsITogUXVlc3Rpb25SYXRpbmdNb2RlbDtcbiAgQElucHV0KCkgaXRlbSE6IFJlbmRlcmVkUmF0aW5nSXRlbTtcbiAgQElucHV0KCkgaW5kZXghOiBudW1iZXI7XG5cbiAgb25DbGljayhldmVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5tb2RlbC5zZXRWYWx1ZUZyb21DbGljayhldmVudC50YXJnZXQudmFsdWUpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgZ2V0TW9kZWwoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbTtcbiAgfVxufVxuXG5Bbmd1bGFyQ29tcG9uZW50RmFjdG9yeS5JbnN0YW5jZS5yZWdpc3RlckNvbXBvbmVudChcInN2LXJhdGluZy1pdGVtLXNtaWxleVwiLCBSYXRpbmdJdGVtU21pbGV5Q29tcG9uZW50KTsiLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlPlxuICA8bGFiZWwgW3N0eWxlXT1cIm1vZGVsLmdldEl0ZW1TdHlsZShpdGVtLml0ZW1WYWx1ZSwgaXRlbS5oaWdobGlnaHQpXCIgW2NsYXNzXT1cIm1vZGVsLmdldEl0ZW1DbGFzcyhpdGVtLml0ZW1WYWx1ZSwgaXRlbS5oaWdobGlnaHQpXCIgKG1vdXNlb3Zlcik9XCJtb2RlbC5vbkl0ZW1Nb3VzZUluKGl0ZW0pXCIgKG1vdXNlb3V0KT1cIm1vZGVsLm9uSXRlbU1vdXNlT3V0KGl0ZW0pXCIgKG1vdXNlZG93bik9XCJtb2RlbC5vbk1vdXNlRG93bigpXCIgW3RpdGxlXT1cIml0ZW0udGV4dFwiPlxuICAgIDxpbnB1dCB0eXBlPVwicmFkaW9cIlxuICAgICAgY2xhc3M9XCJzdi12aXN1YWxseWhpZGRlblwiXG4gICAgICBbYXR0ci5uYW1lXT1cIm1vZGVsLnF1ZXN0aW9uTmFtZVwiIFthdHRyLmlkXT1cIm1vZGVsLmdldElucHV0SWQoaW5kZXgpXCIgW3ZhbHVlXT1cIml0ZW0udmFsdWVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIm1vZGVsLmFyaWFMYWJlbFwiXG4gICAgICBbZGlzYWJsZWRdPVwibW9kZWwuaXNEaXNhYmxlZEF0dHJcIiBbcmVhZG9ubHldPVwibW9kZWwuaXNSZWFkT25seUF0dHJcIiBbY2hlY2tlZF09XCJtb2RlbC52YWx1ZSA9PT0gaXRlbS52YWx1ZVwiIChjbGljayk9XCJvbkNsaWNrKCRldmVudClcIlxuICAgICAgLz5cbiAgICAgIDxzdmcgW2ljb25OYW1lXT1cIm1vZGVsLmdldEl0ZW1TbWlsZXlJY29uTmFtZShpdGVtLml0ZW1WYWx1ZSlcIiBbc2l6ZV09XCInYXV0bydcIiBzdi1uZy1zdmctaWNvbj48L3N2Zz5cbiAgPC9sYWJlbD5cbjwvbmctdGVtcGxhdGU+Il19