UNPKG

survey-angular-ui

Version:

survey.js is a JavaScript Survey Library. It is a modern way to add a survey to your website. It uses JSON for survey metadata and results.

44 lines 9.47 kB
import { Component } from "@angular/core"; import { AngularComponentFactory } from "../component-factory"; import { SelectBaseComponent } from "./selectbase.component"; import * as i0 from "@angular/core"; import * as i1 from "../survey-string.component"; import * as i2 from "@angular/common"; import * as i3 from "../utils/dynamic.directive"; export class RankingQuestionComponent extends SelectBaseComponent { constructor() { super(...arguments); this.inputType = ""; this.trackItemBy = (index, item) => { return item.value + "-" + index + "-item"; }; } getDefaultComponentName() { return "sv-ng-ranking-item"; } getItemValueComponentData(item, index, unrankedItem) { const res = { componentName: this.getDefaultComponentName(), componentData: { question: this.model, model: item, inputType: this.inputType, data: this.model.getItemValueWrapperComponentData(item), index, unrankedItem } }; return res; } } RankingQuestionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RankingQuestionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); RankingQuestionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: RankingQuestionComponent, selector: "sv-ng-ranking-question", usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"!model.selectToRankEnabled\" [class]=\"model.rootClass\" #contentElement>\n <ng-container *ngFor=\"let item of model.renderedRankingChoices; index as index; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item, index) }\"></ng-template>\n </ng-container>\n</div>\n\n<div *ngIf=\"model.selectToRankEnabled\" [class]=\"model.rootClass\" #contentElement>\n <div [class]='model.getContainerClasses(\"from\")' data-ranking=\"from-container\">\n <ng-container *ngFor=\"let item of model.renderedUnRankingChoices; index as index; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item, index, true) }\"></ng-template>\n </ng-container>\n\n <div *ngIf=\"model.renderedUnRankingChoices.length === 0\" [class]=\"model.cssClasses.containerPlaceholder\" [model]=\"$any(model).locSelectToRankEmptyRankedAreaText\" sv-ng-string></div>\n </div>\n\n <div [class]=\"model.cssClasses.containersDivider\"></div>\n\n <div [class]='model.getContainerClasses(\"to\")' data-ranking=\"to-container\">\n <ng-container *ngFor=\"let item of model.renderedRankingChoices; index as index; trackBy: trackItemBy\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item, index) }\"></ng-template>\n </ng-container>\n\n <div *ngIf=\"model.renderedRankingChoices.length === 0\" [class]=\"model.cssClasses.containerPlaceholder\" [model]=\"$any(model).locSelectToRankEmptyUnrankedAreaText\" sv-ng-string></div>\n </div>\n</div>", components: [{ type: i1.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RankingQuestionComponent, decorators: [{ type: Component, args: [{ selector: "sv-ng-ranking-question", templateUrl: "./ranking.component.html", }] }] }); AngularComponentFactory.Instance.registerComponent("ranking-question", RankingQuestionComponent); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFua2luZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcXVlc3Rpb25zL3JhbmtpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vc3JjL3F1ZXN0aW9ucy9yYW5raW5nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7O0FBTTdELE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxtQkFBeUM7SUFKdkY7O1FBS2tCLGNBQVMsR0FBVyxFQUFFLENBQUM7UUFDOUIsZ0JBQVcsR0FBRyxDQUFDLEtBQWEsRUFBRSxJQUFlLEVBQVUsRUFBRTtZQUNoRSxPQUFPLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxHQUFHLEtBQUssR0FBRyxPQUFPLENBQUM7UUFDNUMsQ0FBQyxDQUFBO0tBa0JGO0lBakJpQix1QkFBdUI7UUFDckMsT0FBTyxvQkFBb0IsQ0FBQztJQUM5QixDQUFDO0lBQ2UseUJBQXlCLENBQUMsSUFBZSxFQUFFLEtBQWMsRUFBRSxZQUFzQjtRQUMvRixNQUFNLEdBQUcsR0FBRztZQUNWLGFBQWEsRUFBRSxJQUFJLENBQUMsdUJBQXVCLEVBQUU7WUFDN0MsYUFBYSxFQUFFO2dCQUNiLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSztnQkFDcEIsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO2dCQUN6QixJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxJQUFJLENBQUM7Z0JBQ3ZELEtBQUs7Z0JBQ0wsWUFBWTthQUNiO1NBQ0YsQ0FBQztRQUNGLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQzs7c0hBckJVLHdCQUF3QjswR0FBeEIsd0JBQXdCLHFGQ1RyQyxtbkRBd0JNOzRGRGZPLHdCQUF3QjtrQkFKcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxXQUFXLEVBQUUsMEJBQTBCO2lCQUN4Qzs7QUF3QkQsdUJBQXVCLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixFQUFFLHdCQUF3QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgSXRlbVZhbHVlLCBRdWVzdGlvblJhbmtpbmdNb2RlbCB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuaW1wb3J0IHsgQW5ndWxhckNvbXBvbmVudEZhY3RvcnkgfSBmcm9tIFwiLi4vY29tcG9uZW50LWZhY3RvcnlcIjtcbmltcG9ydCB7IFNlbGVjdEJhc2VDb21wb25lbnQgfSBmcm9tIFwiLi9zZWxlY3RiYXNlLmNvbXBvbmVudFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwic3YtbmctcmFua2luZy1xdWVzdGlvblwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3JhbmtpbmcuY29tcG9uZW50Lmh0bWxcIixcbn0pXG5leHBvcnQgY2xhc3MgUmFua2luZ1F1ZXN0aW9uQ29tcG9uZW50IGV4dGVuZHMgU2VsZWN0QmFzZUNvbXBvbmVudDxRdWVzdGlvblJhbmtpbmdNb2RlbD4ge1xuICBwdWJsaWMgb3ZlcnJpZGUgaW5wdXRUeXBlOiBzdHJpbmcgPSBcIlwiO1xuICBvdmVycmlkZSB0cmFja0l0ZW1CeSA9IChpbmRleDogbnVtYmVyLCBpdGVtOiBJdGVtVmFsdWUpOiBzdHJpbmcgPT4ge1xuICAgIHJldHVybiBpdGVtLnZhbHVlICsgXCItXCIgKyBpbmRleCArIFwiLWl0ZW1cIjtcbiAgfVxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0RGVmYXVsdENvbXBvbmVudE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gXCJzdi1uZy1yYW5raW5nLWl0ZW1cIjtcbiAgfVxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0SXRlbVZhbHVlQ29tcG9uZW50RGF0YShpdGVtOiBJdGVtVmFsdWUsIGluZGV4PzogbnVtYmVyLCB1bnJhbmtlZEl0ZW0/OiBib29sZWFuKTogYW55IHtcbiAgICBjb25zdCByZXMgPSB7XG4gICAgICBjb21wb25lbnROYW1lOiB0aGlzLmdldERlZmF1bHRDb21wb25lbnROYW1lKCksXG4gICAgICBjb21wb25lbnREYXRhOiB7XG4gICAgICAgIHF1ZXN0aW9uOiB0aGlzLm1vZGVsLFxuICAgICAgICBtb2RlbDogaXRlbSxcbiAgICAgICAgaW5wdXRUeXBlOiB0aGlzLmlucHV0VHlwZSxcbiAgICAgICAgZGF0YTogdGhpcy5tb2RlbC5nZXRJdGVtVmFsdWVXcmFwcGVyQ29tcG9uZW50RGF0YShpdGVtKSxcbiAgICAgICAgaW5kZXgsXG4gICAgICAgIHVucmFua2VkSXRlbVxuICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIHJlcztcbiAgfVxufVxuQW5ndWxhckNvbXBvbmVudEZhY3RvcnkuSW5zdGFuY2UucmVnaXN0ZXJDb21wb25lbnQoXCJyYW5raW5nLXF1ZXN0aW9uXCIsIFJhbmtpbmdRdWVzdGlvbkNvbXBvbmVudCk7IiwiPGRpdiAqbmdJZj1cIiFtb2RlbC5zZWxlY3RUb1JhbmtFbmFibGVkXCIgW2NsYXNzXT1cIm1vZGVsLnJvb3RDbGFzc1wiICNjb250ZW50RWxlbWVudD5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBtb2RlbC5yZW5kZXJlZFJhbmtpbmdDaG9pY2VzOyBpbmRleCBhcyBpbmRleDsgdHJhY2tCeTogdHJhY2tJdGVtQnlcIj5cbiAgICA8bmctdGVtcGxhdGUgW2NvbXBvbmVudF09XCJ7IG5hbWU6IGdldEl0ZW1WYWx1ZUNvbXBvbmVudE5hbWUoaXRlbSksIGRhdGE6IGdldEl0ZW1WYWx1ZUNvbXBvbmVudERhdGEoaXRlbSwgaW5kZXgpIH1cIj48L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48ZGl2ICpuZ0lmPVwibW9kZWwuc2VsZWN0VG9SYW5rRW5hYmxlZFwiIFtjbGFzc109XCJtb2RlbC5yb290Q2xhc3NcIiAjY29udGVudEVsZW1lbnQ+XG4gIDxkaXYgW2NsYXNzXT0nbW9kZWwuZ2V0Q29udGFpbmVyQ2xhc3NlcyhcImZyb21cIiknIGRhdGEtcmFua2luZz1cImZyb20tY29udGFpbmVyXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBtb2RlbC5yZW5kZXJlZFVuUmFua2luZ0Nob2ljZXM7IGluZGV4IGFzIGluZGV4OyB0cmFja0J5OiB0cmFja0l0ZW1CeVwiPlxuICAgICAgPG5nLXRlbXBsYXRlIFtjb21wb25lbnRdPVwieyBuYW1lOiBnZXRJdGVtVmFsdWVDb21wb25lbnROYW1lKGl0ZW0pLCBkYXRhOiBnZXRJdGVtVmFsdWVDb21wb25lbnREYXRhKGl0ZW0sIGluZGV4LCB0cnVlKSB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxkaXYgKm5nSWY9XCJtb2RlbC5yZW5kZXJlZFVuUmFua2luZ0Nob2ljZXMubGVuZ3RoID09PSAwXCIgW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMuY29udGFpbmVyUGxhY2Vob2xkZXJcIiBbbW9kZWxdPVwiJGFueShtb2RlbCkubG9jU2VsZWN0VG9SYW5rRW1wdHlSYW5rZWRBcmVhVGV4dFwiIHN2LW5nLXN0cmluZz48L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5jb250YWluZXJzRGl2aWRlclwiPjwvZGl2PlxuXG4gIDxkaXYgW2NsYXNzXT0nbW9kZWwuZ2V0Q29udGFpbmVyQ2xhc3NlcyhcInRvXCIpJyBkYXRhLXJhbmtpbmc9XCJ0by1jb250YWluZXJcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIG1vZGVsLnJlbmRlcmVkUmFua2luZ0Nob2ljZXM7IGluZGV4IGFzIGluZGV4OyB0cmFja0J5OiB0cmFja0l0ZW1CeVwiPlxuICAgICAgPG5nLXRlbXBsYXRlIFtjb21wb25lbnRdPVwieyBuYW1lOiBnZXRJdGVtVmFsdWVDb21wb25lbnROYW1lKGl0ZW0pLCBkYXRhOiBnZXRJdGVtVmFsdWVDb21wb25lbnREYXRhKGl0ZW0sIGluZGV4KSB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxkaXYgKm5nSWY9XCJtb2RlbC5yZW5kZXJlZFJhbmtpbmdDaG9pY2VzLmxlbmd0aCA9PT0gMFwiIFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLmNvbnRhaW5lclBsYWNlaG9sZGVyXCIgW21vZGVsXT1cIiRhbnkobW9kZWwpLmxvY1NlbGVjdFRvUmFua0VtcHR5VW5yYW5rZWRBcmVhVGV4dFwiIHN2LW5nLXN0cmluZz48L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=