UNPKG

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.

44 lines 8.23 kB
import { ScrollViewModel } from "survey-core"; import { Component, ViewChild, Input } from "@angular/core"; import { EmbeddedViewContentComponent } from "../../embedded-view-content.component"; import { AngularComponentFactory } from "./../../component-factory"; import * as i0 from "@angular/core"; import * as i1 from "@angular/common"; export class ScrollComponent extends EmbeddedViewContentComponent { constructor(viewContainerRef) { super(viewContainerRef); this.model = new ScrollViewModel(); this.model.onInnerHeightChanged = (hasScroll) => { if (!!this.onInnerHeightChanged) { this.onInnerHeightChanged(hasScroll); } }; } ngAfterViewInit() { var _a; this.model.setRootElement((_a = this.container) === null || _a === void 0 ? void 0 : _a.nativeElement); } ngOnDestroy() { this.model.setRootElement(undefined); this.model.unsubscribeRootElement(); } } ScrollComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ScrollComponent, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); ScrollComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ScrollComponent, selector: "sv-scroll", inputs: { disabled: "disabled", onInnerHeightChanged: "onInnerHeightChanged" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <ng-container *ngIf=\"!disabled\">\n <div class=\"sv-scroll__wrapper\" #container>\n <div class=\"sv-scroll__scroller sv-drag-target-skipped\" (scroll)=\"model.onScrollContainer()\">\n <div class=\"sv-scroll__container\">\n <ng-container *ngTemplateOutlet=\"transparentTemplate\"></ng-container>\n </div>\n </div>\n <div class=\"sv-scroll__scrollbar\" (scroll)=\"model.onScrollScrollbar()\">\n <div class=\"sv-scroll__scrollbar-sizer\">\n </div>\n </div>\n </div>\n </ng-container>\n <ng-container *ngIf=\"disabled\"><ng-container *ngTemplateOutlet=\"transparentTemplate\"></ng-container></ng-container>\n</ng-template>\n<ng-template #transparentTemplate>\n <ng-content></ng-content>\n</ng-template>", styles: [":host { display: none; }"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ScrollComponent, decorators: [{ type: Component, args: [{ selector: "sv-scroll", templateUrl: "./scroll.component.html", styles: [":host { display: none; }"] }] }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { disabled: [{ type: Input }], onInnerHeightChanged: [{ type: Input }], container: [{ type: ViewChild, args: ["container"] }] } }); AngularComponentFactory.Instance.registerComponent("sv-scroll", ScrollComponent); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3Njcm9sbC9zY3JvbGwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvc2Nyb2xsL3Njcm9sbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxTQUFTLEVBQXlCLFNBQVMsRUFBbUMsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7QUFPcEUsTUFBTSxPQUFPLGVBQWdCLFNBQVEsNEJBQTRCO0lBSy9ELFlBQVksZ0JBQW1DO1FBQzdDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQztRQUNuQyxJQUFJLENBQUMsS0FBSyxDQUFDLG9CQUFvQixHQUFHLENBQUMsU0FBa0IsRUFBRSxFQUFFO1lBQ3ZELElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtnQkFDL0IsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ3RDO1FBQ0gsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUNELGVBQWU7O1FBQ2IsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsTUFBQSxJQUFJLENBQUMsU0FBUywwQ0FBRSxhQUErQixDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxTQUFnQixDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ3RDLENBQUM7OzZHQXBCVSxlQUFlO2lHQUFmLGVBQWUsZ1FDVjVCLDQyQkFrQmM7NEZEUkQsZUFBZTtrQkFMM0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsV0FBVztvQkFDckIsV0FBVyxFQUFFLHlCQUF5QjtvQkFDdEMsTUFBTSxFQUFFLENBQUMsMEJBQTBCLENBQUM7aUJBQ3JDO3VHQUdVLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNrQixTQUFTO3NCQUFoQyxTQUFTO3VCQUFDLFdBQVc7O0FBbUJ4Qix1QkFBdUIsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLGVBQWUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2Nyb2xsVmlld01vZGVsIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5pbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgVmlld0NoaWxkLCBBZnRlclZpZXdJbml0LCBWaWV3Q29udGFpbmVyUmVmLCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBFbWJlZGRlZFZpZXdDb250ZW50Q29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2VtYmVkZGVkLXZpZXctY29udGVudC5jb21wb25lbnRcIjtcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRGYWN0b3J5IH0gZnJvbSBcIi4vLi4vLi4vY29tcG9uZW50LWZhY3RvcnlcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN2LXNjcm9sbFwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3Njcm9sbC5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZXM6IFtcIjpob3N0IHsgZGlzcGxheTogbm9uZTsgfVwiXVxufSlcbmV4cG9ydCBjbGFzcyBTY3JvbGxDb21wb25lbnQgZXh0ZW5kcyBFbWJlZGRlZFZpZXdDb250ZW50Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgcHVibGljIG1vZGVsITogU2Nyb2xsVmlld01vZGVsO1xuICBASW5wdXQoKSBkaXNhYmxlZD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIG9uSW5uZXJIZWlnaHRDaGFuZ2VkPzogKGhhc1Njcm9sbDogYm9vbGVhbikgPT4gdm9pZDtcbiAgQFZpZXdDaGlsZChcImNvbnRhaW5lclwiKSBjb250YWluZXI6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+IHwgdW5kZWZpbmVkO1xuICBjb25zdHJ1Y3Rvcih2aWV3Q29udGFpbmVyUmVmPzogVmlld0NvbnRhaW5lclJlZikge1xuICAgIHN1cGVyKHZpZXdDb250YWluZXJSZWYpO1xuICAgIHRoaXMubW9kZWwgPSBuZXcgU2Nyb2xsVmlld01vZGVsKCk7XG4gICAgdGhpcy5tb2RlbC5vbklubmVySGVpZ2h0Q2hhbmdlZCA9IChoYXNTY3JvbGw6IGJvb2xlYW4pID0+IHtcbiAgICAgIGlmICghIXRoaXMub25Jbm5lckhlaWdodENoYW5nZWQpIHtcbiAgICAgICAgdGhpcy5vbklubmVySGVpZ2h0Q2hhbmdlZChoYXNTY3JvbGwpO1xuICAgICAgfVxuICAgIH07XG4gIH1cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMubW9kZWwuc2V0Um9vdEVsZW1lbnQodGhpcy5jb250YWluZXI/Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTERpdkVsZW1lbnQpO1xuICB9XG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMubW9kZWwuc2V0Um9vdEVsZW1lbnQodW5kZWZpbmVkIGFzIGFueSk7XG4gICAgdGhpcy5tb2RlbC51bnN1YnNjcmliZVJvb3RFbGVtZW50KCk7XG4gIH1cbn1cblxuQW5ndWxhckNvbXBvbmVudEZhY3RvcnkuSW5zdGFuY2UucmVnaXN0ZXJDb21wb25lbnQoXCJzdi1zY3JvbGxcIiwgU2Nyb2xsQ29tcG9uZW50KTsiLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZGlzYWJsZWRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInN2LXNjcm9sbF9fd3JhcHBlclwiICNjb250YWluZXI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ytc2Nyb2xsX19zY3JvbGxlciBzdi1kcmFnLXRhcmdldC1za2lwcGVkXCIgKHNjcm9sbCk9XCJtb2RlbC5vblNjcm9sbENvbnRhaW5lcigpXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN2LXNjcm9sbF9fY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0cmFuc3BhcmVudFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdi1zY3JvbGxfX3Njcm9sbGJhclwiIChzY3JvbGwpPVwibW9kZWwub25TY3JvbGxTY3JvbGxiYXIoKVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdi1zY3JvbGxfX3Njcm9sbGJhci1zaXplclwiPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkaXNhYmxlZFwiPjxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0cmFuc3BhcmVudFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+PC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICN0cmFuc3BhcmVudFRlbXBsYXRlPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+Il19