survey-creator-angular
Version:
Use SurveyJS Creator to create or edit JSON for SurveyJS Form Library.
63 lines • 8.52 kB
JavaScript
import { Component, Input, ViewChild } from "@angular/core";
import { CreatorModelComponent } from "../creator-model.component";
import { ToolboxToolViewModel } from "survey-creator-core";
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
import * as i2 from "survey-angular-ui";
export class ToolboxToolComponent extends CreatorModelComponent {
constructor() {
super(...arguments);
this.isCompact = false;
}
createModel() {
this.model = new ToolboxToolViewModel(this.item, this.creator, this.parentModel);
}
getPropertiesToTrack() {
return ["creator", "item"];
}
getModel() {
return this.item;
}
get itemCssClasses() {
return this.item.css;
}
ngOnDestroy() {
super.ngOnDestroy();
this.model.dispose();
this.item.updateModeCallback = undefined;
}
ngAfterViewInit() {
if (this.item) {
this.item.updateModeCallback = (mode, callback) => {
var _a;
this.item.mode = mode;
callback(mode, (_a = this.container) === null || _a === void 0 ? void 0 : _a.nativeElement);
};
queueMicrotask(() => {
this.item.afterRender();
});
}
}
}
ToolboxToolComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ToolboxToolComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
ToolboxToolComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ToolboxToolComponent, selector: "svc-toolbox-tool", inputs: { creator: "creator", item: "item", parentModel: "parentModel", isCompact: "isCompact" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div [class]=\"itemCssClasses\" #container>\n <div class=\"svc-toolbox__category-separator\" *ngIf=\"item.needSeparator && !creator.toolbox.showCategoryTitles\">\n </div>\n <div class=\"svc-toolbox__tool-content sv-action__content\" (pointerdown)=\"model.onPointerDown($event)\">\n <ng-template [component]=\"{ name: model.itemComponent, default: 'svc-toolbox-item', \n data: { model: item, viewModel: model, creator: creator, isCompact: isCompact } }\"></ng-template>\n </div>\n </div>\n</ng-template>", styles: [":host { display: none; }"], 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: ToolboxToolComponent, decorators: [{
type: Component,
args: [{
selector: "svc-toolbox-tool",
templateUrl: "./toolbox-tool.component.html",
styles: [":host { display: none; }"]
}]
}], propDecorators: { creator: [{
type: Input
}], item: [{
type: Input
}], parentModel: [{
type: Input
}], isCompact: [{
type: Input
}], container: [{
type: ViewChild,
args: ["container"]
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJveC10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90b29sYm94L3Rvb2xib3gtdG9vbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi9zcmMvdG9vbGJveC90b29sYm94LXRvb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQWMsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQXNCLG9CQUFvQixFQUF1QixNQUFNLHFCQUFxQixDQUFDOzs7O0FBUXBHLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxxQkFBNkI7SUFMdkU7O1FBU1csY0FBUyxHQUFZLEtBQUssQ0FBQztLQWdDckM7SUE3QkMsV0FBVztRQUNULElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxvQkFBb0IsQ0FBTSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUFDUyxvQkFBb0I7UUFDNUIsT0FBTyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBQ1MsUUFBUTtRQUNoQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUNELElBQVcsY0FBYztRQUN2QixPQUFRLElBQUksQ0FBQyxJQUE0QixDQUFDLEdBQUcsQ0FBQztJQUNoRCxDQUFDO0lBQ1EsV0FBVztRQUNsQixLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFNBQWdCLENBQUM7SUFDbEQsQ0FBQztJQUNELGVBQWU7UUFDYixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxFQUFFOztnQkFDaEQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO2dCQUN0QixRQUFRLENBQUMsSUFBSSxFQUFFLE1BQUEsSUFBSSxDQUFDLFNBQVMsMENBQUUsYUFBYSxDQUFDLENBQUM7WUFDaEQsQ0FBQyxDQUFDO1lBQ0YsY0FBYyxDQUFDLEdBQUcsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUMxQixDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzs7a0hBbENVLG9CQUFvQjtzR0FBcEIsb0JBQW9CLHlSQ1ZqQywwa0JBU2M7NEZEQ0Qsb0JBQW9CO2tCQUxoQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFdBQVcsRUFBRSwrQkFBK0I7b0JBQzVDLE1BQU0sRUFBRSxDQUFDLDBCQUEwQixDQUFDO2lCQUNyQzs4QkFFVSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDa0IsU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENyZWF0b3JNb2RlbENvbXBvbmVudCB9IGZyb20gXCIuLi9jcmVhdG9yLW1vZGVsLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgU3VydmV5Q3JlYXRvck1vZGVsLCBUb29sYm94VG9vbFZpZXdNb2RlbCwgUXVlc3Rpb25Ub29sYm94SXRlbSB9IGZyb20gXCJzdXJ2ZXktY3JlYXRvci1jb3JlXCI7XG5pbXBvcnQgeyBBY3Rpb24sIEFjdGlvbkNvbnRhaW5lciB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwic3ZjLXRvb2xib3gtdG9vbFwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3Rvb2xib3gtdG9vbC5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZXM6IFtcIjpob3N0IHsgZGlzcGxheTogbm9uZTsgfVwiXVxufSlcbmV4cG9ydCBjbGFzcyBUb29sYm94VG9vbENvbXBvbmVudCBleHRlbmRzIENyZWF0b3JNb2RlbENvbXBvbmVudDxBY3Rpb24+IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBJbnB1dCgpIGNyZWF0b3IhOiBTdXJ2ZXlDcmVhdG9yTW9kZWw7XG4gIEBJbnB1dCgpIGl0ZW0hOiBBY3Rpb247XG4gIEBJbnB1dCgpIHBhcmVudE1vZGVsITogQWN0aW9uQ29udGFpbmVyO1xuICBASW5wdXQoKSBpc0NvbXBhY3Q6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQFZpZXdDaGlsZChcImNvbnRhaW5lclwiKSBjb250YWluZXIhOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcbiAgcHVibGljIG1vZGVsITogVG9vbGJveFRvb2xWaWV3TW9kZWw7XG4gIGNyZWF0ZU1vZGVsKCkge1xuICAgIHRoaXMubW9kZWwgPSBuZXcgVG9vbGJveFRvb2xWaWV3TW9kZWwoPGFueT50aGlzLml0ZW0sIHRoaXMuY3JlYXRvciwgdGhpcy5wYXJlbnRNb2RlbCk7XG4gIH1cbiAgcHJvdGVjdGVkIGdldFByb3BlcnRpZXNUb1RyYWNrKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gW1wiY3JlYXRvclwiLCBcIml0ZW1cIl07XG4gIH1cbiAgcHJvdGVjdGVkIGdldE1vZGVsKCk6IEFjdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbTtcbiAgfVxuICBwdWJsaWMgZ2V0IGl0ZW1Dc3NDbGFzc2VzKCkge1xuICAgIHJldHVybiAodGhpcy5pdGVtIGFzIFF1ZXN0aW9uVG9vbGJveEl0ZW0pLmNzcztcbiAgfVxuICBvdmVycmlkZSBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIHRoaXMubW9kZWwuZGlzcG9zZSgpO1xuICAgIHRoaXMuaXRlbS51cGRhdGVNb2RlQ2FsbGJhY2sgPSB1bmRlZmluZWQgYXMgYW55O1xuICB9XG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pdGVtKSB7XG4gICAgICB0aGlzLml0ZW0udXBkYXRlTW9kZUNhbGxiYWNrID0gKG1vZGUsIGNhbGxiYWNrKSA9PiB7XG4gICAgICAgIHRoaXMuaXRlbS5tb2RlID0gbW9kZTtcbiAgICAgICAgY2FsbGJhY2sobW9kZSwgdGhpcy5jb250YWluZXI/Lm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgfTtcbiAgICAgIHF1ZXVlTWljcm90YXNrKCgpID0+IHtcbiAgICAgICAgdGhpcy5pdGVtLmFmdGVyUmVuZGVyKCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxufVxuIiwiPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZT5cbiAgICA8ZGl2IFtjbGFzc109XCJpdGVtQ3NzQ2xhc3Nlc1wiICNjb250YWluZXI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdmMtdG9vbGJveF9fY2F0ZWdvcnktc2VwYXJhdG9yXCIgKm5nSWY9XCJpdGVtLm5lZWRTZXBhcmF0b3IgJiYgIWNyZWF0b3IudG9vbGJveC5zaG93Q2F0ZWdvcnlUaXRsZXNcIj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdmMtdG9vbGJveF9fdG9vbC1jb250ZW50IHN2LWFjdGlvbl9fY29udGVudFwiIChwb2ludGVyZG93bik9XCJtb2RlbC5vblBvaW50ZXJEb3duKCRldmVudClcIj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbY29tcG9uZW50XT1cInsgbmFtZTogbW9kZWwuaXRlbUNvbXBvbmVudCwgZGVmYXVsdDogJ3N2Yy10b29sYm94LWl0ZW0nLCBcbiAgICAgICAgICAgIGRhdGE6IHsgbW9kZWw6IGl0ZW0sIHZpZXdNb2RlbDogbW9kZWwsIGNyZWF0b3I6IGNyZWF0b3IsIGlzQ29tcGFjdDogaXNDb21wYWN0IH0gfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT4iXX0=