UNPKG

survey-creator-angular

Version:

Use SurveyJS Creator to create or edit JSON for SurveyJS Form Library.

48 lines 8.35 kB
import { Component, Input, ViewChild } from "@angular/core"; import { PageNavigatorViewModel } from "survey-creator-core"; import { CreatorModelComponent } from "../creator-model.component"; import * as i0 from "@angular/core"; import * as i1 from "survey-angular-ui"; import * as i2 from "./page-navigator-item.component"; import * as i3 from "@angular/common"; export class PageNavigatorComponent extends CreatorModelComponent { createModel() { this.model = new PageNavigatorViewModel(this.pagesController, this.pageEditMode); } getModel() { return this.model; } getPropertiesToTrack() { return ["pagesController", "pageEditMode"]; } ngAfterViewInit() { if (this.pageEditMode !== "bypage") { const el = this.container.nativeElement; this.model.attachToUI(el); } } ngOnDestroy() { super.ngOnDestroy(); this.model.stopItemsContainerHeightObserver(); this.model.setScrollableContainer(undefined); this.model.dispose(); } } PageNavigatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PageNavigatorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); PageNavigatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PageNavigatorComponent, selector: "svc-page-navigator", inputs: { pagesController: "pagesController", pageEditMode: "pageEditMode" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div class=\"svc-page-navigator\" #container [visible]=\"model.visible\">\n <div role=\"button\" class=\"svc-page-navigator__selector svc-page-navigator__button\"\n (click)=\"model.togglePageSelector($event)\" [key2click] [attr.title]=\"model.pageSelectorCaption\" [class.svc-page-navigator__button--pressed]=\"model.isPopupOpened\">\n <svg class=\"svc-page-navigator__button-icon\" [iconName]=\"model.icon\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n <sv-ng-popup [popupModel]=\"model.popupModel\"></sv-ng-popup>\n </div>\n <div>\n <svc-page-navigator-item *ngFor=\"let item of model.visibleItems\" [model]=\"item\"></svc-page-navigator-item>\n </div>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: i1.PopupComponent, selector: "sv-ng-popup, '[sv-ng-popup]'", inputs: ["popupModel"] }, { type: i2.PageNavigatorItemComponent, selector: "svc-page-navigator-item", inputs: ["model"] }], directives: [{ type: i1.VisibleDirective, selector: "[visible]", inputs: ["visible"] }, { type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PageNavigatorComponent, decorators: [{ type: Component, args: [{ selector: "svc-page-navigator", templateUrl: "./page-navigator.component.html", styles: [":host { display: none; }"] }] }], propDecorators: { pagesController: [{ type: Input }], pageEditMode: [{ type: Input }], container: [{ type: ViewChild, args: ["container"] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1uYXZpZ2F0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhZ2UtbmF2aWdhdG9yL3BhZ2UtbmF2aWdhdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3NyYy9wYWdlLW5hdmlnYXRvci9wYWdlLW5hdmlnYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBYyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxzQkFBc0IsRUFBbUIsTUFBTSxxQkFBcUIsQ0FBQztBQUM5RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7QUFPbkUsTUFBTSxPQUFPLHNCQUF1QixTQUFRLHFCQUE2QztJQUt2RixXQUFXO1FBQ1QsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLHNCQUFzQixDQUNyQyxJQUFJLENBQUMsZUFBZSxFQUNwQixJQUFJLENBQUMsWUFBWSxDQUNsQixDQUFDO0lBQ0osQ0FBQztJQUNTLFFBQVE7UUFDaEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDUyxvQkFBb0I7UUFDNUIsT0FBTyxDQUFDLGlCQUFpQixFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFDTSxlQUFlO1FBQ3BCLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxRQUFRLEVBQUU7WUFDbEMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUM7WUFDeEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDM0I7SUFDSCxDQUFDO0lBQ2UsV0FBVztRQUN6QixLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQ0FBZ0MsRUFBRSxDQUFDO1FBQzlDLElBQUksQ0FBQyxLQUFLLENBQUMsc0JBQXNCLENBQUMsU0FBZ0IsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDdkIsQ0FBQzs7b0hBNUJVLHNCQUFzQjt3R0FBdEIsc0JBQXNCLHVRQ1RuQyx3dkJBV2M7NEZERkQsc0JBQXNCO2tCQUxsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFdBQVcsRUFBRSxpQ0FBaUM7b0JBQzlDLE1BQU0sRUFBRSxDQUFDLDBCQUEwQixDQUFDO2lCQUNyQzs4QkFHVSxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ2tCLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBQYWdlTmF2aWdhdG9yVmlld01vZGVsLCBQYWdlc0NvbnRyb2xsZXIgfSBmcm9tIFwic3VydmV5LWNyZWF0b3ItY29yZVwiO1xuaW1wb3J0IHsgQ3JlYXRvck1vZGVsQ29tcG9uZW50IH0gZnJvbSBcIi4uL2NyZWF0b3ItbW9kZWwuY29tcG9uZW50XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdmMtcGFnZS1uYXZpZ2F0b3JcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9wYWdlLW5hdmlnYXRvci5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZXM6IFtcIjpob3N0IHsgZGlzcGxheTogbm9uZTsgfVwiXVxufSlcbmV4cG9ydCBjbGFzcyBQYWdlTmF2aWdhdG9yQ29tcG9uZW50IGV4dGVuZHMgQ3JlYXRvck1vZGVsQ29tcG9uZW50PFBhZ2VOYXZpZ2F0b3JWaWV3TW9kZWw+IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIHB1YmxpYyBtb2RlbCE6IFBhZ2VOYXZpZ2F0b3JWaWV3TW9kZWw7XG4gIEBJbnB1dCgpIHBhZ2VzQ29udHJvbGxlciE6IFBhZ2VzQ29udHJvbGxlcjtcbiAgQElucHV0KCkgcGFnZUVkaXRNb2RlITogc3RyaW5nO1xuICBAVmlld0NoaWxkKFwiY29udGFpbmVyXCIpIGNvbnRhaW5lciE6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuICBjcmVhdGVNb2RlbCgpOiB2b2lkIHtcbiAgICB0aGlzLm1vZGVsID0gbmV3IFBhZ2VOYXZpZ2F0b3JWaWV3TW9kZWwoXG4gICAgICB0aGlzLnBhZ2VzQ29udHJvbGxlcixcbiAgICAgIHRoaXMucGFnZUVkaXRNb2RlXG4gICAgKTtcbiAgfVxuICBwcm90ZWN0ZWQgZ2V0TW9kZWwoKTogUGFnZU5hdmlnYXRvclZpZXdNb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWw7XG4gIH1cbiAgcHJvdGVjdGVkIGdldFByb3BlcnRpZXNUb1RyYWNrKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gW1wicGFnZXNDb250cm9sbGVyXCIsIFwicGFnZUVkaXRNb2RlXCJdO1xuICB9XG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucGFnZUVkaXRNb2RlICE9PSBcImJ5cGFnZVwiKSB7XG4gICAgICBjb25zdCBlbCA9IHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICB0aGlzLm1vZGVsLmF0dGFjaFRvVUkoZWwpO1xuICAgIH1cbiAgfVxuICBwdWJsaWMgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB0aGlzLm1vZGVsLnN0b3BJdGVtc0NvbnRhaW5lckhlaWdodE9ic2VydmVyKCk7XG4gICAgdGhpcy5tb2RlbC5zZXRTY3JvbGxhYmxlQ29udGFpbmVyKHVuZGVmaW5lZCBhcyBhbnkpO1xuICAgIHRoaXMubW9kZWwuZGlzcG9zZSgpO1xuICB9XG59IiwiPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz1cInN2Yy1wYWdlLW5hdmlnYXRvclwiICNjb250YWluZXIgW3Zpc2libGVdPVwibW9kZWwudmlzaWJsZVwiPlxuICAgICAgPGRpdiByb2xlPVwiYnV0dG9uXCIgY2xhc3M9XCJzdmMtcGFnZS1uYXZpZ2F0b3JfX3NlbGVjdG9yIHN2Yy1wYWdlLW5hdmlnYXRvcl9fYnV0dG9uXCJcbiAgICAgICAgICAoY2xpY2spPVwibW9kZWwudG9nZ2xlUGFnZVNlbGVjdG9yKCRldmVudClcIiBba2V5MmNsaWNrXSBbYXR0ci50aXRsZV09XCJtb2RlbC5wYWdlU2VsZWN0b3JDYXB0aW9uXCIgW2NsYXNzLnN2Yy1wYWdlLW5hdmlnYXRvcl9fYnV0dG9uLS1wcmVzc2VkXT1cIm1vZGVsLmlzUG9wdXBPcGVuZWRcIj5cbiAgICAgICAgICA8c3ZnIGNsYXNzPVwic3ZjLXBhZ2UtbmF2aWdhdG9yX19idXR0b24taWNvblwiIFtpY29uTmFtZV09XCJtb2RlbC5pY29uXCIgW3NpemVdPVwiJ2F1dG8nXCIgc3Ytbmctc3ZnLWljb24+PC9zdmc+XG4gICAgICAgICAgPHN2LW5nLXBvcHVwIFtwb3B1cE1vZGVsXT1cIm1vZGVsLnBvcHVwTW9kZWxcIj48L3N2LW5nLXBvcHVwPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2PlxuICAgICAgICA8c3ZjLXBhZ2UtbmF2aWdhdG9yLWl0ZW0gKm5nRm9yPVwibGV0IGl0ZW0gb2YgbW9kZWwudmlzaWJsZUl0ZW1zXCIgW21vZGVsXT1cIml0ZW1cIj48L3N2Yy1wYWdlLW5hdmlnYXRvci1pdGVtPlxuICAgICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT4iXX0=