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.
30 lines • 7.3 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 "@angular/common";
import * as i2 from "../utils/dynamic.directive";
export class RankingItemComponent extends BaseAngular {
getModel() {
return this.model;
}
}
RankingItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RankingItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
RankingItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: RankingItemComponent, selector: "sv-ng-ranking-item", inputs: { question: "question", model: "model", index: "index", unrankedItem: "unrankedItem" }, usesInheritance: true, ngImport: i0, template: "<div [id]=\"question.getItemId(model)\" [attr.tabindex]=\"question.getItemTabIndex(model)\" [attr.data-sv-drop-target-ranking-item]=\"index\" \n [class]=\"question.getItemClass(model)\"\n (keydown)=\"question.handleKeydown($event, model)\"\n (pointerdown)=\"question.handlePointerDown($event, model, $any($event.currentTarget))\"\n (pointerup)=\"question.handlePointerUp($event, model, $any($event.currentTarget))\">\n <div tabindex=\"-1\" style=\"outline: none;\">\n <div [class]=\"question.cssClasses.itemGhostNode\"></div>\n <div [class]=\"question.cssClasses.itemContent\">\n <div [class]=\"question.cssClasses.itemIconContainer\">\n <svg [class]=\"question.getIconHoverCss()\">\n <use [attr.xlink:href]=\"question.dragDropSvgIcon\"></use>\n </svg> \n <svg [class]=\"question.getIconFocusCss()\">\n <use [attr.xlink:href]=\"question.arrowsSvgIcon\"></use>\n </svg> \n </div>\n\n <div *ngIf=\"!unrankedItem && question.getNumberByIndex(index); else elseBlock\" [class]=\"question.getItemIndexClasses(model)\">{{ question.getNumberByIndex(index) }}</div>\n <ng-template #elseBlock><div [class]=\"question.getItemIndexClasses(model)\">\n <svg>\n <use [attr.xlink:href]=\"question.dashSvgIcon\"></use>\n </svg> \n </div></ng-template>\n\n <ng-template [component]=\"{ name: question.itemComponent, data: { item: model, cssClasses: question.cssClasses } }\"></ng-template>\n </div>\n </div>\n</div>", directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RankingItemComponent, decorators: [{
type: Component,
args: [{
selector: "sv-ng-ranking-item",
templateUrl: "./ranking-item.component.html"
}]
}], propDecorators: { question: [{
type: Input
}], model: [{
type: Input
}], index: [{
type: Input
}], unrankedItem: [{
type: Input
}] } });
AngularComponentFactory.Instance.registerComponent("sv-ng-ranking-item", RankingItemComponent);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFua2luZy1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9xdWVzdGlvbnMvcmFua2luZy1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3NyYy9xdWVzdGlvbnMvcmFua2luZy1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQU0vRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsV0FBc0I7SUFLcEQsUUFBUTtRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQzs7a0hBUFUsb0JBQW9CO3NHQUFwQixvQkFBb0IsaUxDVGpDLGkvQ0EyQk07NEZEbEJPLG9CQUFvQjtrQkFKaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixXQUFXLEVBQUUsK0JBQStCO2lCQUM3Qzs4QkFFVSxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSzs7QUFLUix1QkFBdUIsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsb0JBQW9CLEVBQUUsb0JBQW9CLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQmFzZUFuZ3VsYXIgfSBmcm9tIFwiLi4vYmFzZS1hbmd1bGFyXCI7XG5pbXBvcnQgeyBJdGVtVmFsdWUsIFF1ZXN0aW9uUmFua2luZ01vZGVsIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50RmFjdG9yeSB9IGZyb20gXCIuLi9jb21wb25lbnQtZmFjdG9yeVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwic3YtbmctcmFua2luZy1pdGVtXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vcmFua2luZy1pdGVtLmNvbXBvbmVudC5odG1sXCJcbn0pXG5leHBvcnQgY2xhc3MgUmFua2luZ0l0ZW1Db21wb25lbnQgZXh0ZW5kcyBCYXNlQW5ndWxhcjxJdGVtVmFsdWU+IHtcbiAgQElucHV0KCkgcXVlc3Rpb24hOiBRdWVzdGlvblJhbmtpbmdNb2RlbDtcbiAgQElucHV0KCkgbW9kZWwhOiBJdGVtVmFsdWU7XG4gIEBJbnB1dCgpIGluZGV4ITogbnVtYmVyO1xuICBASW5wdXQoKSB1bnJhbmtlZEl0ZW0hOiBib29sZWFuO1xuICBwcm90ZWN0ZWQgZ2V0TW9kZWwoKTogSXRlbVZhbHVlIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbDtcbiAgfVxufVxuQW5ndWxhckNvbXBvbmVudEZhY3RvcnkuSW5zdGFuY2UucmVnaXN0ZXJDb21wb25lbnQoXCJzdi1uZy1yYW5raW5nLWl0ZW1cIiwgUmFua2luZ0l0ZW1Db21wb25lbnQpOyIsIjxkaXYgW2lkXT1cInF1ZXN0aW9uLmdldEl0ZW1JZChtb2RlbClcIiBbYXR0ci50YWJpbmRleF09XCJxdWVzdGlvbi5nZXRJdGVtVGFiSW5kZXgobW9kZWwpXCIgW2F0dHIuZGF0YS1zdi1kcm9wLXRhcmdldC1yYW5raW5nLWl0ZW1dPVwiaW5kZXhcIiBcbiAgICBbY2xhc3NdPVwicXVlc3Rpb24uZ2V0SXRlbUNsYXNzKG1vZGVsKVwiXG4gICAgKGtleWRvd24pPVwicXVlc3Rpb24uaGFuZGxlS2V5ZG93bigkZXZlbnQsIG1vZGVsKVwiXG4gICAgKHBvaW50ZXJkb3duKT1cInF1ZXN0aW9uLmhhbmRsZVBvaW50ZXJEb3duKCRldmVudCwgbW9kZWwsICRhbnkoJGV2ZW50LmN1cnJlbnRUYXJnZXQpKVwiXG4gICAgKHBvaW50ZXJ1cCk9XCJxdWVzdGlvbi5oYW5kbGVQb2ludGVyVXAoJGV2ZW50LCBtb2RlbCwgJGFueSgkZXZlbnQuY3VycmVudFRhcmdldCkpXCI+XG4gIDxkaXYgdGFiaW5kZXg9XCItMVwiIHN0eWxlPVwib3V0bGluZTogbm9uZTtcIj5cbiAgICA8ZGl2IFtjbGFzc109XCJxdWVzdGlvbi5jc3NDbGFzc2VzLml0ZW1HaG9zdE5vZGVcIj48L2Rpdj5cbiAgICA8ZGl2IFtjbGFzc109XCJxdWVzdGlvbi5jc3NDbGFzc2VzLml0ZW1Db250ZW50XCI+XG4gICAgICA8ZGl2IFtjbGFzc109XCJxdWVzdGlvbi5jc3NDbGFzc2VzLml0ZW1JY29uQ29udGFpbmVyXCI+XG4gICAgICAgIDxzdmcgW2NsYXNzXT1cInF1ZXN0aW9uLmdldEljb25Ib3ZlckNzcygpXCI+XG4gICAgICAgICAgPHVzZSBbYXR0ci54bGluazpocmVmXT1cInF1ZXN0aW9uLmRyYWdEcm9wU3ZnSWNvblwiPjwvdXNlPlxuICAgICAgICA8L3N2Zz4gXG4gICAgICAgIDxzdmcgW2NsYXNzXT1cInF1ZXN0aW9uLmdldEljb25Gb2N1c0NzcygpXCI+XG4gICAgICAgICAgPHVzZSBbYXR0ci54bGluazpocmVmXT1cInF1ZXN0aW9uLmFycm93c1N2Z0ljb25cIj48L3VzZT5cbiAgICAgICAgPC9zdmc+IFxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgKm5nSWY9XCIhdW5yYW5rZWRJdGVtICYmIHF1ZXN0aW9uLmdldE51bWJlckJ5SW5kZXgoaW5kZXgpOyBlbHNlIGVsc2VCbG9ja1wiIFtjbGFzc109XCJxdWVzdGlvbi5nZXRJdGVtSW5kZXhDbGFzc2VzKG1vZGVsKVwiPnt7IHF1ZXN0aW9uLmdldE51bWJlckJ5SW5kZXgoaW5kZXgpIH19PC9kaXY+XG4gICAgICA8bmctdGVtcGxhdGUgI2Vsc2VCbG9jaz48ZGl2IFtjbGFzc109XCJxdWVzdGlvbi5nZXRJdGVtSW5kZXhDbGFzc2VzKG1vZGVsKVwiPlxuICAgICAgICA8c3ZnPlxuICAgICAgICAgIDx1c2UgW2F0dHIueGxpbms6aHJlZl09XCJxdWVzdGlvbi5kYXNoU3ZnSWNvblwiPjwvdXNlPlxuICAgICAgICA8L3N2Zz4gXG4gICAgICA8L2Rpdj48L25nLXRlbXBsYXRlPlxuXG4gICAgICA8bmctdGVtcGxhdGUgW2NvbXBvbmVudF09XCJ7IG5hbWU6IHF1ZXN0aW9uLml0ZW1Db21wb25lbnQsIGRhdGE6IHsgaXRlbTogbW9kZWwsIGNzc0NsYXNzZXM6IHF1ZXN0aW9uLmNzc0NsYXNzZXMgfSB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=