UNPKG

survey-creator-angular

Version:

A white-label drag-and-drop form builder for Angular that lets you design complex, interactive forms and surveys without writing code. It generates JSON schemas used by the SurveyJS Form Library to render dynamic forms in your Angular app.

62 lines 11.3 kB
import { Component, Input, ViewChild } from "@angular/core"; import { AngularComponentFactory, BaseAngular } from "survey-angular-ui"; import * as i0 from "@angular/core"; import * as i1 from "./toolbox-tool.component"; import * as i2 from "../components/search.component"; import * as i3 from "survey-angular-ui"; import * as i4 from "@angular/common"; export class AdaptiveToolboxComponent extends BaseAngular { get toolbox() { return this.model.toolbox; } get creator() { return this.model; } get searchItem() { return this.toolbox.searchItem; } afterRender() { var _a; if ((_a = this.container) === null || _a === void 0 ? void 0 : _a.nativeElement) { this.toolbox.afterRender(this.container.nativeElement); } } ngAfterViewInit() { this.afterRender(); } ngAfterViewChecked() { super.ngAfterViewChecked(); this.afterRender(); } afterUpdate(isSync) { super.afterUpdate(isSync); this.afterRender(); } getModel() { return this.toolbox; } ngOnDestroy() { this.toolbox.beforeDestroy(); super.ngOnDestroy(); } trackItemBy(_, item) { return item.renderedId; } } AdaptiveToolboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AdaptiveToolboxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); AdaptiveToolboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: AdaptiveToolboxComponent, selector: "svc-toolbox", inputs: { model: "model" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div [class]=\"toolbox.classNames\" #container [style]=\"toolbox.getRootStyle()\">\n <div (focusout)=\"toolbox.focusOut($event)\" class=\"svc-toolbox__panel\">\n <div *ngIf=\"toolbox.showSearch\" class=\"svc-toolbox__search-container\">\n <ng-container *ngIf=\"toolbox.isCompactRendered\">\n <svc-toolbox-tool [creator]=\"creator\" [item]=\"searchItem\" [parentModel]=\"toolbox\"\n [isCompact]=\"toolbox.isCompactRendered\"></svc-toolbox-tool>\n </ng-container>\n <svc-search [model]=\"toolbox.searchManager\"></svc-search>\n <div class=\"svc-toolbox__category-separator svc-toolbox__category-separator--search\"></div>\n </div>\n <div *ngIf=\"toolbox.showPlaceholder\" class=\"svc-toolbox__placeholder\">{{toolbox.toolboxNoResultsFound}}</div>\n <sv-scroll>\n <ng-container *ngIf=\"!toolbox.showInSingleCategory\">\n <ng-container *ngFor=\"let category of toolbox.categories\">\n <ng-template [component]=\"{name: 'svc-toolbox-category', data: { category: category, toolbox: toolbox }}\"></ng-template>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"toolbox.showInSingleCategory\">\n <div class=\"svc-toolbox__category\">\n <ng-container *ngFor=\"let item of toolbox.renderedActions; trackBy: trackItemBy\">\n <svc-toolbox-tool [creator]=\"creator\" [item]=\"item\" [parentModel]=\"toolbox\"\n [isCompact]=\"toolbox.isCompactRendered\"></svc-toolbox-tool>\n </ng-container>\n </div>\n </ng-container>\n </sv-scroll>\n </div>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: i1.ToolboxToolComponent, selector: "svc-toolbox-tool", inputs: ["creator", "item", "parentModel", "isCompact"] }, { type: i2.SearchComponent, selector: "svc-search", inputs: ["model"] }, { type: i3.ScrollComponent, selector: "sv-scroll", inputs: ["disabled", "onInnerHeightChanged"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.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: AdaptiveToolboxComponent, decorators: [{ type: Component, args: [{ selector: "svc-toolbox", templateUrl: "./adaptive-toolbox.component.html", styles: [":host { display: none; }"] }] }], propDecorators: { model: [{ type: Input }], container: [{ type: ViewChild, args: ["container"] }] } }); AngularComponentFactory.Instance.registerComponent("svc-toolbox", AdaptiveToolboxComponent); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRhcHRpdmUtdG9vbGJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdG9vbGJveC9hZGFwdGl2ZS10b29sYm94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3NyYy90b29sYm94L2FkYXB0aXZlLXRvb2xib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQWMsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd2RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7OztBQU96RSxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsV0FBNEI7SUFHeEUsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7SUFDNUIsQ0FBQztJQUNELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELElBQVcsVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBb0IsQ0FBQztJQUMzQyxDQUFDO0lBQ08sV0FBVzs7UUFDakIsSUFBSSxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLGFBQWEsRUFBRTtZQUNqQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ3hEO0lBQ0gsQ0FBQztJQUNELGVBQWU7UUFDYixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUNRLGtCQUFrQjtRQUN6QixLQUFLLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUNrQixXQUFXLENBQUMsTUFBZ0I7UUFDN0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUNTLFFBQVE7UUFDaEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFDUSxXQUFXO1FBQ2xCLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDN0IsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFDRCxXQUFXLENBQUMsQ0FBUyxFQUFFLElBQXlCO1FBQzlDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDOztzSEFyQ1Usd0JBQXdCOzBHQUF4Qix3QkFBd0IsOE1DVnJDLGtxREE2QmM7NEZEbkJELHdCQUF3QjtrQkFMcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsV0FBVyxFQUFFLG1DQUFtQztvQkFDaEQsTUFBTSxFQUFFLENBQUMsMEJBQTBCLENBQUM7aUJBQ3JDOzhCQUVVLEtBQUs7c0JBQWIsS0FBSztnQkFDa0IsU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXOztBQXFDeEIsdUJBQXVCLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSx3QkFBd0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFN1cnZleUNyZWF0b3JNb2RlbCwgUXVlc3Rpb25Ub29sYm94LCBRdWVzdGlvblRvb2xib3hJdGVtIH0gZnJvbSBcInN1cnZleS1jcmVhdG9yLWNvcmVcIjtcbmltcG9ydCB7IEFjdGlvbiB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuaW1wb3J0IHsgQW5ndWxhckNvbXBvbmVudEZhY3RvcnksIEJhc2VBbmd1bGFyIH0gZnJvbSBcInN1cnZleS1hbmd1bGFyLXVpXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdmMtdG9vbGJveFwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2FkYXB0aXZlLXRvb2xib3guY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVzOiBbXCI6aG9zdCB7IGRpc3BsYXk6IG5vbmU7IH1cIl1cbn0pXG5leHBvcnQgY2xhc3MgQWRhcHRpdmVUb29sYm94Q29tcG9uZW50IGV4dGVuZHMgQmFzZUFuZ3VsYXI8UXVlc3Rpb25Ub29sYm94PiBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBASW5wdXQoKSBtb2RlbCE6IFN1cnZleUNyZWF0b3JNb2RlbDtcbiAgQFZpZXdDaGlsZChcImNvbnRhaW5lclwiKSBjb250YWluZXIhOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcbiAgcHVibGljIGdldCB0b29sYm94KCkge1xuICAgIHJldHVybiB0aGlzLm1vZGVsLnRvb2xib3g7XG4gIH1cbiAgcHVibGljIGdldCBjcmVhdG9yKCkge1xuICAgIHJldHVybiB0aGlzLm1vZGVsO1xuICB9XG4gIHB1YmxpYyBnZXQgc2VhcmNoSXRlbSgpIHtcbiAgICByZXR1cm4gdGhpcy50b29sYm94LnNlYXJjaEl0ZW0gYXMgQWN0aW9uO1xuICB9XG4gIHByaXZhdGUgYWZ0ZXJSZW5kZXIoKSB7XG4gICAgaWYgKHRoaXMuY29udGFpbmVyPy5uYXRpdmVFbGVtZW50KSB7XG4gICAgICB0aGlzLnRvb2xib3guYWZ0ZXJSZW5kZXIodGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuICB9XG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmFmdGVyUmVuZGVyKCk7XG4gIH1cbiAgb3ZlcnJpZGUgbmdBZnRlclZpZXdDaGVja2VkKCk6IHZvaWQge1xuICAgIHN1cGVyLm5nQWZ0ZXJWaWV3Q2hlY2tlZCgpO1xuICAgIHRoaXMuYWZ0ZXJSZW5kZXIoKTtcbiAgfVxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgYWZ0ZXJVcGRhdGUoaXNTeW5jPzogYm9vbGVhbik6IHZvaWQge1xuICAgIHN1cGVyLmFmdGVyVXBkYXRlKGlzU3luYyk7XG4gICAgdGhpcy5hZnRlclJlbmRlcigpO1xuICB9XG4gIHByb3RlY3RlZCBnZXRNb2RlbCgpOiBRdWVzdGlvblRvb2xib3gge1xuICAgIHJldHVybiB0aGlzLnRvb2xib3g7XG4gIH1cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy50b29sYm94LmJlZm9yZURlc3Ryb3koKTtcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICB9XG4gIHRyYWNrSXRlbUJ5KF86IG51bWJlciwgaXRlbTogUXVlc3Rpb25Ub29sYm94SXRlbSkge1xuICAgIHJldHVybiBpdGVtLnJlbmRlcmVkSWQ7XG4gIH1cbn1cbkFuZ3VsYXJDb21wb25lbnRGYWN0b3J5Lkluc3RhbmNlLnJlZ2lzdGVyQ29tcG9uZW50KFwic3ZjLXRvb2xib3hcIiwgQWRhcHRpdmVUb29sYm94Q29tcG9uZW50KTsiLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlPlxuICA8ZGl2IFtjbGFzc109XCJ0b29sYm94LmNsYXNzTmFtZXNcIiAjY29udGFpbmVyIFtzdHlsZV09XCJ0b29sYm94LmdldFJvb3RTdHlsZSgpXCI+XG4gICAgPGRpdiAoZm9jdXNvdXQpPVwidG9vbGJveC5mb2N1c091dCgkZXZlbnQpXCIgY2xhc3M9XCJzdmMtdG9vbGJveF9fcGFuZWxcIj5cbiAgICAgIDxkaXYgKm5nSWY9XCJ0b29sYm94LnNob3dTZWFyY2hcIiBjbGFzcz1cInN2Yy10b29sYm94X19zZWFyY2gtY29udGFpbmVyXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0b29sYm94LmlzQ29tcGFjdFJlbmRlcmVkXCI+XG4gICAgICAgICAgPHN2Yy10b29sYm94LXRvb2wgW2NyZWF0b3JdPVwiY3JlYXRvclwiIFtpdGVtXT1cInNlYXJjaEl0ZW1cIiBbcGFyZW50TW9kZWxdPVwidG9vbGJveFwiXG4gICAgICAgICAgICBbaXNDb21wYWN0XT1cInRvb2xib3guaXNDb21wYWN0UmVuZGVyZWRcIj48L3N2Yy10b29sYm94LXRvb2w+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8c3ZjLXNlYXJjaCBbbW9kZWxdPVwidG9vbGJveC5zZWFyY2hNYW5hZ2VyXCI+PC9zdmMtc2VhcmNoPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic3ZjLXRvb2xib3hfX2NhdGVnb3J5LXNlcGFyYXRvciBzdmMtdG9vbGJveF9fY2F0ZWdvcnktc2VwYXJhdG9yLS1zZWFyY2hcIj48L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cInRvb2xib3guc2hvd1BsYWNlaG9sZGVyXCIgY2xhc3M9XCJzdmMtdG9vbGJveF9fcGxhY2Vob2xkZXJcIj57e3Rvb2xib3gudG9vbGJveE5vUmVzdWx0c0ZvdW5kfX08L2Rpdj5cbiAgICAgIDxzdi1zY3JvbGw+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhdG9vbGJveC5zaG93SW5TaW5nbGVDYXRlZ29yeVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNhdGVnb3J5IG9mIHRvb2xib3guY2F0ZWdvcmllc1wiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtjb21wb25lbnRdPVwie25hbWU6ICdzdmMtdG9vbGJveC1jYXRlZ29yeScsIGRhdGE6IHsgY2F0ZWdvcnk6IGNhdGVnb3J5LCB0b29sYm94OiB0b29sYm94IH19XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0b29sYm94LnNob3dJblNpbmdsZUNhdGVnb3J5XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN2Yy10b29sYm94X19jYXRlZ29yeVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiB0b29sYm94LnJlbmRlcmVkQWN0aW9uczsgIHRyYWNrQnk6IHRyYWNrSXRlbUJ5XCI+XG4gICAgICAgICAgICAgIDxzdmMtdG9vbGJveC10b29sIFtjcmVhdG9yXT1cImNyZWF0b3JcIiBbaXRlbV09XCJpdGVtXCIgW3BhcmVudE1vZGVsXT1cInRvb2xib3hcIlxuICAgICAgICAgICAgICAgIFtpc0NvbXBhY3RdPVwidG9vbGJveC5pc0NvbXBhY3RSZW5kZXJlZFwiPjwvc3ZjLXRvb2xib3gtdG9vbD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvc3Ytc2Nyb2xsPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+Il19