survey-creator-angular 2.3.4 → 2.3.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -74,11 +74,12 @@ import * as i72 from "./tabs/translation/translate-from-action.component";
74
74
  import * as i73 from "./add-question-type-selector.component";
75
75
  import * as i74 from "./question-element-content.component";
76
76
  import * as i75 from "./page-element-content.component";
77
- import * as i76 from "@angular/common";
78
- import * as i77 from "@angular/forms";
79
- import * as i78 from "survey-angular-ui";
77
+ import * as i76 from "./page-wrapper.component";
78
+ import * as i77 from "@angular/common";
79
+ import * as i78 from "@angular/forms";
80
+ import * as i79 from "survey-angular-ui";
80
81
  export declare class SurveyCreatorModule {
81
82
  static ɵfac: i0.ɵɵFactoryDeclaration<SurveyCreatorModule, never>;
82
- static ɵmod: i0.ɵɵNgModuleDeclaration<SurveyCreatorModule, [typeof i1.CreatorComponent, typeof i2.DesignerTabComponent, typeof i3.PageDesignerComponent, typeof i4.QuestionDesignerComponent, typeof i5.PanelDesignerComponent, typeof i6.TabbledMenuComponent, typeof i7.TabbedMenuItemComponent, typeof i8.TabbedMenuItemWrapperComponent, typeof i9.SidebarComponent, typeof i10.SidebarPageComponent, typeof i11.SidebarDefaultHeaderComponent, typeof i12.ObjectSelectorComponent, typeof i13.SidebarPropertyGridHeaderComponent, typeof i14.PropertyGridPlaceholderComponent, typeof i15.SidebarHeaderComponent, typeof i16.TabControlComponent, typeof i17.TabsComponent, typeof i18.TabButtonComponent, typeof i19.PropertyGridComponent, typeof i20.SearchComponent, typeof i21.TextareaJsonEditorComponent, typeof i22.AceJsonEditorComponent, typeof i23.LogicTabComponent, typeof i24.LogicAddButtonComponent, typeof i25.ActionButtonComponent, typeof i26.QuestionPgErrorComponent, typeof i27.SurfacePlaceholderComponent, typeof i28.SwitcherComponent, typeof i29.LinkValueQuestionComponent, typeof i30.EmbeddedSurveyQuestionComponent, typeof i31.TranslationTabComponent, typeof i32.TranslationSkeletonComponent, typeof i33.SimulatorComponent, typeof i34.TestTabComponent, typeof i35.TestAgainActionComponent, typeof i36.SurveyResultsComponent, typeof i37.SurveyResultsTableRowComponent, typeof i38.ThemeTabComponent, typeof i39.AdaptiveToolboxComponent, typeof i40.ToolboxToolComponent, typeof i41.ToolboxItemComponent, typeof i42.ToolboxItemGroupComponent, typeof i43.ToolboxListComponent, typeof i44.ToolboxCategoryComponent, typeof i45.StringEditorComponent, typeof i46.PageNavigatorComponent, typeof i47.PageNavigatorItemComponent, typeof i48.QuestionDropdownDesignerComponent, typeof i48.QuestionDropdownAdornerDesignerComponent, typeof i49.QuestionImageDesignerComponent, typeof i49.QuestionImageAdornerDesignerComponent, typeof i50.ItemValueDesignerComponent, typeof i51.ImageItemValueDesignerComponent, typeof i52.LogicOperatorComponent, typeof i53.MatrixCellComponent, typeof i54.QuestionEditorComponent, typeof i55.CellQuestionDropdownComponent, typeof i56.CreatorRowComponent, typeof i57.DesignerPagesComponent, typeof i58.DesignerSurveyComponent, typeof i59.CellQuestionComponent, typeof i60.QuestionWidgetDesignerComponent, typeof i61.CreatorLogoImageComponent, typeof i62.QuestionRatingAdornerDesignerComponent, typeof i62.QuestionRatingDesignerComponent, typeof i63.QuestionSpinEditorComponent, typeof i64.ColorItemComponent, typeof i65.QuestionColorComponent, typeof i66.QuestionFileEditorComponent, typeof i67.AddQuestionButtonComponent, typeof i68.QuestionBannerComponent, typeof i69.JsonErrorItemComponent, typeof i70.QuestionTextWithResetComponent, typeof i71.BooleanSwitchComponent, typeof i72.TranslateFromAction, typeof i73.AddQuestionTypeSelectorComponent, typeof i74.QuestionElementContentComponent, typeof i75.PageElementContentComponent], [typeof i76.CommonModule, typeof i77.FormsModule, typeof i78.SurveyModule], [typeof i1.CreatorComponent, typeof i2.DesignerTabComponent, typeof i3.PageDesignerComponent, typeof i4.QuestionDesignerComponent, typeof i5.PanelDesignerComponent, typeof i6.TabbledMenuComponent, typeof i7.TabbedMenuItemComponent, typeof i8.TabbedMenuItemWrapperComponent, typeof i9.SidebarComponent, typeof i10.SidebarPageComponent, typeof i11.SidebarDefaultHeaderComponent, typeof i13.SidebarPropertyGridHeaderComponent, typeof i14.PropertyGridPlaceholderComponent, typeof i15.SidebarHeaderComponent, typeof i16.TabControlComponent, typeof i17.TabsComponent, typeof i18.TabButtonComponent, typeof i12.ObjectSelectorComponent, typeof i19.PropertyGridComponent, typeof i20.SearchComponent, typeof i21.TextareaJsonEditorComponent, typeof i22.AceJsonEditorComponent, typeof i23.LogicTabComponent, typeof i24.LogicAddButtonComponent, typeof i25.ActionButtonComponent, typeof i26.QuestionPgErrorComponent, typeof i27.SurfacePlaceholderComponent, typeof i28.SwitcherComponent, typeof i29.LinkValueQuestionComponent, typeof i30.EmbeddedSurveyQuestionComponent, typeof i31.TranslationTabComponent, typeof i32.TranslationSkeletonComponent, typeof i33.SimulatorComponent, typeof i34.TestTabComponent, typeof i35.TestAgainActionComponent, typeof i36.SurveyResultsComponent, typeof i37.SurveyResultsTableRowComponent, typeof i38.ThemeTabComponent, typeof i39.AdaptiveToolboxComponent, typeof i40.ToolboxToolComponent, typeof i41.ToolboxItemComponent, typeof i42.ToolboxItemGroupComponent, typeof i43.ToolboxListComponent, typeof i44.ToolboxCategoryComponent, typeof i45.StringEditorComponent, typeof i46.PageNavigatorComponent, typeof i47.PageNavigatorItemComponent, typeof i48.QuestionDropdownDesignerComponent, typeof i48.QuestionDropdownAdornerDesignerComponent, typeof i49.QuestionImageDesignerComponent, typeof i49.QuestionImageAdornerDesignerComponent, typeof i50.ItemValueDesignerComponent, typeof i51.ImageItemValueDesignerComponent, typeof i52.LogicOperatorComponent, typeof i53.MatrixCellComponent, typeof i54.QuestionEditorComponent, typeof i55.CellQuestionDropdownComponent, typeof i56.CreatorRowComponent, typeof i57.DesignerPagesComponent, typeof i58.DesignerSurveyComponent, typeof i59.CellQuestionComponent, typeof i60.QuestionWidgetDesignerComponent, typeof i61.CreatorLogoImageComponent, typeof i62.QuestionRatingAdornerDesignerComponent, typeof i62.QuestionRatingDesignerComponent, typeof i63.QuestionSpinEditorComponent, typeof i64.ColorItemComponent, typeof i65.QuestionColorComponent, typeof i66.QuestionFileEditorComponent, typeof i67.AddQuestionButtonComponent, typeof i68.QuestionBannerComponent, typeof i69.JsonErrorItemComponent, typeof i70.QuestionTextWithResetComponent, typeof i71.BooleanSwitchComponent, typeof i72.TranslateFromAction, typeof i73.AddQuestionTypeSelectorComponent, typeof i74.QuestionElementContentComponent, typeof i75.PageElementContentComponent]>;
83
+ static ɵmod: i0.ɵɵNgModuleDeclaration<SurveyCreatorModule, [typeof i1.CreatorComponent, typeof i2.DesignerTabComponent, typeof i3.PageDesignerComponent, typeof i4.QuestionDesignerComponent, typeof i5.PanelDesignerComponent, typeof i6.TabbledMenuComponent, typeof i7.TabbedMenuItemComponent, typeof i8.TabbedMenuItemWrapperComponent, typeof i9.SidebarComponent, typeof i10.SidebarPageComponent, typeof i11.SidebarDefaultHeaderComponent, typeof i12.ObjectSelectorComponent, typeof i13.SidebarPropertyGridHeaderComponent, typeof i14.PropertyGridPlaceholderComponent, typeof i15.SidebarHeaderComponent, typeof i16.TabControlComponent, typeof i17.TabsComponent, typeof i18.TabButtonComponent, typeof i19.PropertyGridComponent, typeof i20.SearchComponent, typeof i21.TextareaJsonEditorComponent, typeof i22.AceJsonEditorComponent, typeof i23.LogicTabComponent, typeof i24.LogicAddButtonComponent, typeof i25.ActionButtonComponent, typeof i26.QuestionPgErrorComponent, typeof i27.SurfacePlaceholderComponent, typeof i28.SwitcherComponent, typeof i29.LinkValueQuestionComponent, typeof i30.EmbeddedSurveyQuestionComponent, typeof i31.TranslationTabComponent, typeof i32.TranslationSkeletonComponent, typeof i33.SimulatorComponent, typeof i34.TestTabComponent, typeof i35.TestAgainActionComponent, typeof i36.SurveyResultsComponent, typeof i37.SurveyResultsTableRowComponent, typeof i38.ThemeTabComponent, typeof i39.AdaptiveToolboxComponent, typeof i40.ToolboxToolComponent, typeof i41.ToolboxItemComponent, typeof i42.ToolboxItemGroupComponent, typeof i43.ToolboxListComponent, typeof i44.ToolboxCategoryComponent, typeof i45.StringEditorComponent, typeof i46.PageNavigatorComponent, typeof i47.PageNavigatorItemComponent, typeof i48.QuestionDropdownDesignerComponent, typeof i48.QuestionDropdownAdornerDesignerComponent, typeof i49.QuestionImageDesignerComponent, typeof i49.QuestionImageAdornerDesignerComponent, typeof i50.ItemValueDesignerComponent, typeof i51.ImageItemValueDesignerComponent, typeof i52.LogicOperatorComponent, typeof i53.MatrixCellComponent, typeof i54.QuestionEditorComponent, typeof i55.CellQuestionDropdownComponent, typeof i56.CreatorRowComponent, typeof i57.DesignerPagesComponent, typeof i58.DesignerSurveyComponent, typeof i59.CellQuestionComponent, typeof i60.QuestionWidgetDesignerComponent, typeof i61.CreatorLogoImageComponent, typeof i62.QuestionRatingAdornerDesignerComponent, typeof i62.QuestionRatingDesignerComponent, typeof i63.QuestionSpinEditorComponent, typeof i64.ColorItemComponent, typeof i65.QuestionColorComponent, typeof i66.QuestionFileEditorComponent, typeof i67.AddQuestionButtonComponent, typeof i68.QuestionBannerComponent, typeof i69.JsonErrorItemComponent, typeof i70.QuestionTextWithResetComponent, typeof i71.BooleanSwitchComponent, typeof i72.TranslateFromAction, typeof i73.AddQuestionTypeSelectorComponent, typeof i74.QuestionElementContentComponent, typeof i75.PageElementContentComponent, typeof i76.PageWrapperComponent], [typeof i77.CommonModule, typeof i78.FormsModule, typeof i79.SurveyModule], [typeof i1.CreatorComponent, typeof i2.DesignerTabComponent, typeof i3.PageDesignerComponent, typeof i4.QuestionDesignerComponent, typeof i5.PanelDesignerComponent, typeof i6.TabbledMenuComponent, typeof i7.TabbedMenuItemComponent, typeof i8.TabbedMenuItemWrapperComponent, typeof i9.SidebarComponent, typeof i10.SidebarPageComponent, typeof i11.SidebarDefaultHeaderComponent, typeof i13.SidebarPropertyGridHeaderComponent, typeof i14.PropertyGridPlaceholderComponent, typeof i15.SidebarHeaderComponent, typeof i16.TabControlComponent, typeof i17.TabsComponent, typeof i18.TabButtonComponent, typeof i12.ObjectSelectorComponent, typeof i19.PropertyGridComponent, typeof i20.SearchComponent, typeof i21.TextareaJsonEditorComponent, typeof i22.AceJsonEditorComponent, typeof i23.LogicTabComponent, typeof i24.LogicAddButtonComponent, typeof i25.ActionButtonComponent, typeof i26.QuestionPgErrorComponent, typeof i27.SurfacePlaceholderComponent, typeof i28.SwitcherComponent, typeof i29.LinkValueQuestionComponent, typeof i30.EmbeddedSurveyQuestionComponent, typeof i31.TranslationTabComponent, typeof i32.TranslationSkeletonComponent, typeof i33.SimulatorComponent, typeof i34.TestTabComponent, typeof i35.TestAgainActionComponent, typeof i36.SurveyResultsComponent, typeof i37.SurveyResultsTableRowComponent, typeof i38.ThemeTabComponent, typeof i39.AdaptiveToolboxComponent, typeof i40.ToolboxToolComponent, typeof i41.ToolboxItemComponent, typeof i42.ToolboxItemGroupComponent, typeof i43.ToolboxListComponent, typeof i44.ToolboxCategoryComponent, typeof i45.StringEditorComponent, typeof i46.PageNavigatorComponent, typeof i47.PageNavigatorItemComponent, typeof i48.QuestionDropdownDesignerComponent, typeof i48.QuestionDropdownAdornerDesignerComponent, typeof i49.QuestionImageDesignerComponent, typeof i49.QuestionImageAdornerDesignerComponent, typeof i50.ItemValueDesignerComponent, typeof i51.ImageItemValueDesignerComponent, typeof i52.LogicOperatorComponent, typeof i53.MatrixCellComponent, typeof i54.QuestionEditorComponent, typeof i55.CellQuestionDropdownComponent, typeof i56.CreatorRowComponent, typeof i57.DesignerPagesComponent, typeof i58.DesignerSurveyComponent, typeof i59.CellQuestionComponent, typeof i60.QuestionWidgetDesignerComponent, typeof i61.CreatorLogoImageComponent, typeof i62.QuestionRatingAdornerDesignerComponent, typeof i62.QuestionRatingDesignerComponent, typeof i63.QuestionSpinEditorComponent, typeof i64.ColorItemComponent, typeof i65.QuestionColorComponent, typeof i66.QuestionFileEditorComponent, typeof i67.AddQuestionButtonComponent, typeof i68.QuestionBannerComponent, typeof i69.JsonErrorItemComponent, typeof i70.QuestionTextWithResetComponent, typeof i71.BooleanSwitchComponent, typeof i72.TranslateFromAction, typeof i73.AddQuestionTypeSelectorComponent, typeof i74.QuestionElementContentComponent, typeof i75.PageElementContentComponent]>;
83
84
  static ɵinj: i0.ɵɵInjectorDeclaration<SurveyCreatorModule>;
84
85
  }
@@ -776,141 +776,57 @@
776
776
  }] } });
777
777
  i1.AngularComponentFactory.Instance.registerComponent("svc-surface-placeholder", SurfacePlaceholderComponent);
778
778
 
779
- var CreatorModelComponent = /** @class */ (function (_super) {
780
- __extends(CreatorModelComponent, _super);
781
- function CreatorModelComponent() {
782
- return _super !== null && _super.apply(this, arguments) || this;
779
+ var PageWrapperComponent = /** @class */ (function (_super) {
780
+ __extends(PageWrapperComponent, _super);
781
+ function PageWrapperComponent(viewContainerRef, changeDetectorRef) {
782
+ var _this = _super.call(this, viewContainerRef) || this;
783
+ _this.changeDetectorRef = changeDetectorRef;
784
+ _this.id = "PageWrapperCallback_" + ++PageWrapperComponent.ID;
785
+ return _this;
783
786
  }
784
- CreatorModelComponent.prototype.createHash = function () {
787
+ PageWrapperComponent.prototype.setupCallback = function (page) {
785
788
  var _this = this;
786
- this.hash = {};
787
- this.getPropertiesToTrack().forEach(function (prop) {
788
- _this.hash[prop] = _this[prop];
789
- });
790
- };
791
- CreatorModelComponent.prototype.ngOnInit = function () {
792
- this.createModel();
793
- this.createHash();
794
- _super.prototype.ngOnInit.call(this);
795
- };
796
- CreatorModelComponent.prototype.ngDoCheck = function () {
797
- if (this.needUpdateModel())
798
- this.createModel();
799
- _super.prototype.ngDoCheck.call(this);
800
- };
801
- CreatorModelComponent.prototype.needUpdateModel = function () {
802
- var _this = this;
803
- var res = false;
804
- Object.keys(this.hash).forEach(function (key) {
805
- if (_this.hash[key] != _this[key]) {
806
- _this.hash[key] = _this[key];
807
- res = true;
808
- }
809
- });
810
- return res;
811
- };
812
- return CreatorModelComponent;
813
- }(i1.BaseAngular));
814
- CreatorModelComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CreatorModelComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
815
- CreatorModelComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CreatorModelComponent, selector: "ng-component", usesInheritance: true, ngImport: i0__namespace, template: "", isInline: true });
816
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CreatorModelComponent, decorators: [{
817
- type: i0.Component,
818
- args: [{
819
- template: ""
820
- }]
821
- }] });
822
-
823
- var PageElementContentComponent = /** @class */ (function (_super) {
824
- __extends(PageElementContentComponent, _super);
825
- function PageElementContentComponent() {
826
- return _super !== null && _super.apply(this, arguments) || this;
827
- }
828
- PageElementContentComponent.prototype.ngAfterViewInit = function () {
829
- var _a;
830
- (_a = this.embeddedView) === null || _a === void 0 ? void 0 : _a.detach();
831
- };
832
- PageElementContentComponent.prototype.ngOnChanges = function (changes) {
833
- var _a;
834
- (_a = this.embeddedView) === null || _a === void 0 ? void 0 : _a.detectChanges();
835
- };
836
- return PageElementContentComponent;
837
- }(i1.EmbeddedViewContentComponent));
838
- PageElementContentComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PageElementContentComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
839
- PageElementContentComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PageElementContentComponent, selector: "svc-page-element-content", inputs: { model: "model", survey: "survey" }, usesInheritance: true, usesOnChanges: true, ngImport: i0__namespace, template: "<ng-template #template><page [model]=\"model\" [survey]=\"survey\"></page></ng-template>", isInline: true, styles: [":host { display: none }"], components: [{ type: i1__namespace.PageComponent, selector: "page, sv-ng-page", inputs: ["model", "survey"] }] });
840
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PageElementContentComponent, decorators: [{
841
- type: i0.Component,
842
- args: [{
843
- selector: "svc-page-element-content",
844
- template: "<ng-template #template><page [model]=\"model\" [survey]=\"survey\"></page></ng-template>",
845
- styles: [":host { display: none }"]
846
- }]
847
- }], propDecorators: { model: [{
848
- type: i0.Input
849
- }], survey: [{
850
- type: i0.Input
851
- }] } });
852
-
853
- var PageDesignerComponent = /** @class */ (function (_super) {
854
- __extends(PageDesignerComponent, _super);
855
- function PageDesignerComponent() {
856
- return _super !== null && _super.apply(this, arguments) || this;
857
- }
858
- PageDesignerComponent.prototype.createModel = function () {
859
- if (this.adorner) {
860
- this.adorner.dispose();
789
+ if (!page)
790
+ return;
791
+ page.registerFunctionOnPropertyValueChanged("name", function () {
792
+ _this.embeddedView ? _this.embeddedView.detectChanges() : _this.changeDetectorRef.detectChanges();
793
+ }, this.id);
794
+ };
795
+ PageWrapperComponent.prototype.clearCallback = function (page) {
796
+ if (!page)
797
+ return;
798
+ page.unRegisterFunctionOnPropertyValueChanged("name");
799
+ };
800
+ PageWrapperComponent.prototype.ngOnChanges = function (changes) {
801
+ if (changes.page && changes.page.currentValue !== changes.page.previousValue) {
802
+ this.clearCallback(changes.page.previousValue);
803
+ this.setupCallback(changes.page.currentValue);
861
804
  }
862
- if (this.model) {
863
- this.adorner = new surveyCreatorCore.PageAdorner(this.creator, this.model);
864
- this.adorner.isGhost = this.isGhost;
865
- }
866
- };
867
- PageDesignerComponent.prototype.ngDoCheck = function () {
868
- _super.prototype.ngDoCheck.call(this);
869
- if (this.adorner) {
870
- this.adorner.isGhost = this.isGhost;
871
- }
872
- };
873
- PageDesignerComponent.prototype.getModel = function () {
874
- return this.adorner;
875
805
  };
876
- PageDesignerComponent.prototype.getPropertiesToTrack = function () {
877
- return ["creator", "model"];
806
+ PageWrapperComponent.prototype.ngOnDestroy = function () {
807
+ this.clearCallback(this.page);
878
808
  };
879
- PageDesignerComponent.prototype.ngAfterViewChecked = function () {
880
- var _a;
881
- _super.prototype.ngAfterViewChecked.call(this);
882
- if (this.adorner && ((_a = this.container) === null || _a === void 0 ? void 0 : _a.nativeElement)) {
883
- this.adorner.setRootElement(this.container.nativeElement);
884
- }
885
- };
886
- PageDesignerComponent.prototype.ngOnDestroy = function () {
887
- _super.prototype.ngOnDestroy.call(this);
888
- this.adorner.dispose();
889
- };
890
- return PageDesignerComponent;
891
- }(CreatorModelComponent));
892
- PageDesignerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PageDesignerComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
893
- PageDesignerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PageDesignerComponent, selector: "svc-page", inputs: { model: "model", survey: "survey", creator: "creator", isGhost: "isGhost" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: i0.ElementRef }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n<div *ngIf=\"model && adorner\" class=\"svc-page__content\" [class]=\"adorner.css\" [key2click]\n (click)=\"adorner.select(adorner, $event)\" (dblclick)=\"adorner.dblclick($event)\"\n (mouseover)=\"adorner.hover($event, $event.currentTarget)\" (mouseleave)=\"adorner.hover($event, $event.target)\"\n [id]=\"adorner.page.id\" [attr.data-sv-drop-target-survey-page]=\"adorner.dropTargetName\" #container>\n <div class=\"svc-question__drop-indicator svc-question__drop-indicator--top\"></div>\n <div class=\"svc-question__drop-indicator svc-question__drop-indicator--bottom\"></div>\n <svc-page-element-content\n *ngIf=\"adorner.needRenderContent\" \n [model]=\"adorner.page\" \n [survey]=\"survey\">\n </svc-page-element-content>\n <div *ngIf=\"!adorner.needRenderContent\" class=\"svc-page__loading-content\">\n <sv-ng-loading-indicator></sv-ng-loading-indicator>\n </div>\n <div *ngIf=\"adorner.showPlaceholder\" class=\"svc-page__placeholder_frame\">\n <div class=\"svc-panel__placeholder_frame\">\n <div class=\"svc-panel__placeholder\">{{adorner.placeholderText}}</div>\n </div>\n </div>\n <div *ngIf=\"adorner.allowDragging && !adorner.isGhost\" class=\"svc-question__drag-area\"\n (pointerdown)=\"adorner.onPointerDown($event)\">\n <svg class=\"svc-question__drag-element\" [iconName]=\"'icon-drag-area-indicator_24x16'\" [size]=\"'auto'\"\n sv-ng-svg-icon></svg>\n <div class=\"svc-page__content-actions\">\n <sv-action-bar [model]=\"adorner.actionContainer\" #container></sv-action-bar>\n <sv-action-bar *ngIf=\"adorner.topActionContainer.hasActions\" [model]=\"adorner.topActionContainer\"></sv-action-bar>\n </div>\n </div>\n <div *ngIf=\"!adorner.allowDragging || adorner.isGhost\" class=\"svc-page__content-actions\">\n <sv-action-bar [model]=\"adorner.actionContainer\"></sv-action-bar>\n <sv-action-bar *ngIf=\"adorner.topActionContainer.hasActions\" [model]=\"adorner.topActionContainer\"></sv-action-bar>\n </div>\n <sv-action-bar [model]=\"adorner.footerActionsBar\"></sv-action-bar>\n</div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: PageElementContentComponent, selector: "svc-page-element-content", inputs: ["model", "survey"] }, { type: i1__namespace.LoadingIndicatorComponent, selector: "sv-ng-loading-indicator" }, { type: i1__namespace.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: i1__namespace.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }] });
894
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PageDesignerComponent, decorators: [{
809
+ return PageWrapperComponent;
810
+ }(i1.EmbeddedViewContentComponent));
811
+ PageWrapperComponent.ID = 0;
812
+ PageWrapperComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PageWrapperComponent, deps: [{ token: i0__namespace.ViewContainerRef }, { token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
813
+ PageWrapperComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PageWrapperComponent, selector: "svc-page-wrapper", inputs: { page: "page", isGhost: "isGhost", creator: "creator", className: "className" }, usesInheritance: true, usesOnChanges: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div\n [class]=\"className\"\n [attr.data-sv-drop-target-page]=\"page?.name\"\n [attr.data-sv-drop-target-survey-element]=\"isGhost ? 'newGhostPage' : page?.name\"\n >\n <ng-container *ngIf=\"!!page\">\n <ng-template [component]=\"{ name: 'svc-page', data: { model: page, creator, survey: creator.survey, isGhost }}\"></ng-template>\n </ng-container>\n </div>\n</ng-template>", styles: [":host { display: none; }"], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
814
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PageWrapperComponent, decorators: [{
895
815
  type: i0.Component,
896
816
  args: [{
897
- selector: "svc-page",
898
- templateUrl: "./page.component.html",
817
+ selector: "svc-page-wrapper",
818
+ templateUrl: "./page-wrapper.component.html",
899
819
  styles: [":host { display: none; }"]
900
820
  }]
901
- }], propDecorators: { model: [{
821
+ }], ctorParameters: function () { return [{ type: i0__namespace.ViewContainerRef }, { type: i0__namespace.ChangeDetectorRef }]; }, propDecorators: { page: [{
902
822
  type: i0.Input
903
- }], survey: [{
823
+ }], isGhost: [{
904
824
  type: i0.Input
905
825
  }], creator: [{
906
826
  type: i0.Input
907
- }], isGhost: [{
827
+ }], className: [{
908
828
  type: i0.Input
909
- }], container: [{
910
- type: i0.ViewChild,
911
- args: ["container", { read: i0.ElementRef }]
912
829
  }] } });
913
- i1.AngularComponentFactory.Instance.registerComponent("svc-page", PageDesignerComponent);
914
830
 
915
831
  var DesignerPagesComponent = /** @class */ (function (_super) {
916
832
  __extends(DesignerPagesComponent, _super);
@@ -937,7 +853,7 @@
937
853
  return DesignerPagesComponent;
938
854
  }(i1.BaseAngular));
939
855
  DesignerPagesComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DesignerPagesComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
940
- DesignerPagesComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DesignerPagesComponent, selector: "svc-designer-pages", inputs: { model: "model" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div class=\"svc-page\" [attr.data-sv-drop-target-survey-element]=\"model.displayPageDropTarget\"\n [attr.data-sv-drop-target-page]=\"model.pagesController.page2Display.name\">\n <ng-template\n [component]=\"{ name: 'svc-page', data: { model: model.pagesController.page2Display, creator, survey, isGhost: model.pagesController.page2Display == model.newPage }}\"></ng-template>\n </div>\n</ng-template>", styles: [":host { display: none; }"], directives: [{ type: i1__namespace.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
856
+ DesignerPagesComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DesignerPagesComponent, selector: "svc-designer-pages", inputs: { model: "model" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <svc-page-wrapper [page]=\"model.pagesController.page2Display\" [creator]=\"creator\" [isGhost]=\"model.pagesController.page2Display == model.newPage\" [className]=\"'svc-page'\"></svc-page-wrapper>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: PageWrapperComponent, selector: "svc-page-wrapper", inputs: ["page", "isGhost", "creator", "className"] }] });
941
857
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DesignerPagesComponent, decorators: [{
942
858
  type: i0.Component,
943
859
  args: [{
@@ -949,6 +865,50 @@
949
865
  type: i0.Input
950
866
  }] } });
951
867
 
868
+ var CreatorModelComponent = /** @class */ (function (_super) {
869
+ __extends(CreatorModelComponent, _super);
870
+ function CreatorModelComponent() {
871
+ return _super !== null && _super.apply(this, arguments) || this;
872
+ }
873
+ CreatorModelComponent.prototype.createHash = function () {
874
+ var _this = this;
875
+ this.hash = {};
876
+ this.getPropertiesToTrack().forEach(function (prop) {
877
+ _this.hash[prop] = _this[prop];
878
+ });
879
+ };
880
+ CreatorModelComponent.prototype.ngOnInit = function () {
881
+ this.createModel();
882
+ this.createHash();
883
+ _super.prototype.ngOnInit.call(this);
884
+ };
885
+ CreatorModelComponent.prototype.ngDoCheck = function () {
886
+ if (this.needUpdateModel())
887
+ this.createModel();
888
+ _super.prototype.ngDoCheck.call(this);
889
+ };
890
+ CreatorModelComponent.prototype.needUpdateModel = function () {
891
+ var _this = this;
892
+ var res = false;
893
+ Object.keys(this.hash).forEach(function (key) {
894
+ if (_this.hash[key] != _this[key]) {
895
+ _this.hash[key] = _this[key];
896
+ res = true;
897
+ }
898
+ });
899
+ return res;
900
+ };
901
+ return CreatorModelComponent;
902
+ }(i1.BaseAngular));
903
+ CreatorModelComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CreatorModelComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
904
+ CreatorModelComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CreatorModelComponent, selector: "ng-component", usesInheritance: true, ngImport: i0__namespace, template: "", isInline: true });
905
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CreatorModelComponent, decorators: [{
906
+ type: i0.Component,
907
+ args: [{
908
+ template: ""
909
+ }]
910
+ }] });
911
+
952
912
  var PageNavigatorItemComponent = /** @class */ (function (_super) {
953
913
  __extends(PageNavigatorItemComponent, _super);
954
914
  function PageNavigatorItemComponent() {
@@ -1058,7 +1018,7 @@
1058
1018
  return DesignerSurveyComponent;
1059
1019
  }(i1.BaseAngular));
1060
1020
  DesignerSurveyComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DesignerSurveyComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
1061
- DesignerSurveyComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DesignerSurveyComponent, selector: "svc-designer-survey", inputs: { model: "model" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div [class]=\"model.designerCss\" [style.maxWidth]=\"survey.renderedWidth\" [style]=\"model.surfaceCssVariables\">\n <div *ngIf=\"creator.allowEditSurveyTitle\" class=\"svc-designer-header\">\n <div *ngIf=\"survey.renderedHasHeader\" [class]=\"survey.css.header\" [survey]=\"survey\" sv-ng-survey-header></div>\n </div>\n\n <ng-container *ngIf=\"creator.pageEditMode !== 'bypage'\">\n <ng-container *ngFor=\"let page of model.pages; trackBy: trackPageBy \">\n <ng-container>\n <ng-container\n *ngTemplateOutlet=\"pageContainer; context: { page, isGhost: model.newPage == page }\"></ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"model.pagesController.page2Display && creator.pageEditMode === 'bypage'\">\n <svc-designer-pages [model]=\"model\"></svc-designer-pages>\n </ng-container>\n\n </div>\n\n <div *ngIf=\"model.showSurfaceTools\" class=\"svc-tab-designer__tools\">\n <div *ngIf=\"creator.showPageNavigator\" class=\"svc-tab-designer__page-navigator\">\n <svc-page-navigator [pagesController]=\"model.pagesController\" [pageEditMode]=\"creator.pageEditMode\">\n </svc-page-navigator>\n </div>\n <div *ngIf=\"model.showSurfaceToolbar\" class=\"svc-tab-designer__toolbar\">\n <sv-action-bar [model]=\"model.surfaceToolbar\"></sv-action-bar>\n </div>\n </div>\n</ng-template>\n\n<ng-template let-page=\"page\" let-isGhost=\"isGhost\" #pageContainer>\n <div class=\"svc-page\" [attr.data-sv-drop-target-survey-element]=\"isGhost ? 'newGhostPage' : page.name\"\n [attr.data-sv-drop-target-page]=\"page.name\">\n <ng-template\n [component]=\"{ name: 'svc-page', data: { model: page, creator, survey, isGhost: isGhost }}\"></ng-template>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: i1__namespace.SurveyHeaderComponent, selector: "'[sv-ng-survey-header]'", inputs: ["survey"] }, { type: DesignerPagesComponent, selector: "svc-designer-pages", inputs: ["model"] }, { type: PageNavigatorComponent, selector: "svc-page-navigator", inputs: ["pagesController", "pageEditMode"] }, { type: i1__namespace.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i1__namespace.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
1021
+ DesignerSurveyComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DesignerSurveyComponent, selector: "svc-designer-survey", inputs: { model: "model" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div [class]=\"model.designerCss\" [style.maxWidth]=\"survey.renderedWidth\" [style]=\"model.surfaceCssVariables\">\n <div *ngIf=\"creator.allowEditSurveyTitle\" class=\"svc-designer-header\">\n <div *ngIf=\"survey.renderedHasHeader\" [class]=\"survey.css.header\" [survey]=\"survey\" sv-ng-survey-header></div>\n </div>\n\n <ng-container *ngIf=\"creator.pageEditMode !== 'bypage'\">\n <ng-container *ngFor=\"let page of model.pages; trackBy: trackPageBy \">\n <svc-page-wrapper [page]=\"page\" [creator]=\"creator\" [isGhost]=\"model.newPage == page\" [className]=\"'svc-page'\"></svc-page-wrapper>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"model.pagesController.page2Display && creator.pageEditMode === 'bypage'\">\n <svc-designer-pages [model]=\"model\"></svc-designer-pages>\n </ng-container>\n\n </div>\n\n <div *ngIf=\"model.showSurfaceTools\" class=\"svc-tab-designer__tools\">\n <div *ngIf=\"creator.showPageNavigator\" class=\"svc-tab-designer__page-navigator\">\n <svc-page-navigator [pagesController]=\"model.pagesController\" [pageEditMode]=\"creator.pageEditMode\">\n </svc-page-navigator>\n </div>\n <div *ngIf=\"model.showSurfaceToolbar\" class=\"svc-tab-designer__toolbar\">\n <sv-action-bar [model]=\"model.surfaceToolbar\"></sv-action-bar>\n </div>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: i1__namespace.SurveyHeaderComponent, selector: "'[sv-ng-survey-header]'", inputs: ["survey"] }, { type: PageWrapperComponent, selector: "svc-page-wrapper", inputs: ["page", "isGhost", "creator", "className"] }, { type: DesignerPagesComponent, selector: "svc-designer-pages", inputs: ["model"] }, { type: PageNavigatorComponent, selector: "svc-page-navigator", inputs: ["pagesController", "pageEditMode"] }, { type: i1__namespace.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
1062
1022
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DesignerSurveyComponent, decorators: [{
1063
1023
  type: i0.Component,
1064
1024
  args: [{
@@ -1095,7 +1055,7 @@
1095
1055
  return DesignerTabComponent;
1096
1056
  }(i1.BaseAngular));
1097
1057
  DesignerTabComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DesignerTabComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
1098
- DesignerTabComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DesignerTabComponent, selector: "svc-tab-designer", inputs: { model: "model" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div class=\"svc-flex-column\">\n <ng-container *ngIf=\"model.isToolboxVisible\">\n <ng-template [component]=\"{name: 'svc-toolbox', data: { model: creator }}\"></ng-template>\n </ng-container>\n </div>\n <div class=\"svc-tab-designer\" [class]=\"model.getRootCss()\" (click)=\"model.clickDesigner()\">\n <sv-scroll>\n <div class=\"svc-tab-designer_content\">\n <ng-container *ngIf=\"model.showPlaceholder\">\n <div *ngIf=\"creator.showHeaderInEmptySurvey && creator.allowEditSurveyTitle\" class=\"svc-designer-header\">\n <div *ngIf=\"survey.renderedHasHeader\" [class]=\"survey.css.header\" [survey]=\"survey\" sv-ng-survey-header>\n </div>\n </div>\n <div class=\"svc-designer__placeholder-container\" [attr.data-sv-drop-target-survey-element]=\"'newGhostPage'\">\n <svc-surface-placeholder [name]=\"'designer'\" [placeholderTitleText]=\"model.placeholderTitleText\"\n [placeholderDescriptionText]=\"model.placeholderDescriptionText\">\n </svc-surface-placeholder>\n <div class=\"svc-designer-placeholder-page\">\n <svc-page [model]=\"model.newPage\" [survey]=\"survey\" [creator]=\"creator\" [isGhost]=\"true\"></svc-page>\n </div>\n </div>\n </ng-container>\n <ng-container *ngIf=\"!model.showPlaceholder\">\n <svc-designer-survey [model]=\"model\"></svc-designer-survey>\n </ng-container>\n </div>\n </sv-scroll>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: i1__namespace.ScrollComponent, selector: "sv-scroll", inputs: ["disabled", "onInnerHeightChanged"] }, { type: i1__namespace.SurveyHeaderComponent, selector: "'[sv-ng-survey-header]'", inputs: ["survey"] }, { type: SurfacePlaceholderComponent, selector: "svc-surface-placeholder", inputs: ["name", "placeholderTitleText", "placeholderDescriptionText"] }, { type: PageDesignerComponent, selector: "svc-page", inputs: ["model", "survey", "creator", "isGhost"] }, { type: DesignerSurveyComponent, selector: "svc-designer-survey", inputs: ["model"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
1058
+ DesignerTabComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DesignerTabComponent, selector: "svc-tab-designer", inputs: { model: "model" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div class=\"svc-flex-column\">\n <ng-container *ngIf=\"model.isToolboxVisible\">\n <ng-template [component]=\"{name: 'svc-toolbox', data: { model: creator }}\"></ng-template>\n </ng-container>\n </div>\n <div class=\"svc-tab-designer\" [class]=\"model.getRootCss()\" (click)=\"model.clickDesigner()\">\n <sv-scroll>\n <div class=\"svc-tab-designer_content\">\n <ng-container *ngIf=\"model.showPlaceholder\">\n <div *ngIf=\"creator.showHeaderInEmptySurvey && creator.allowEditSurveyTitle\" class=\"svc-designer-header\">\n <div *ngIf=\"survey.renderedHasHeader\" [class]=\"survey.css.header\" [survey]=\"survey\" sv-ng-survey-header>\n </div>\n </div>\n <div class=\"svc-designer__placeholder-container\" [attr.data-sv-drop-target-survey-element]=\"'newGhostPage'\">\n <svc-surface-placeholder [name]=\"'designer'\" [placeholderTitleText]=\"model.placeholderTitleText\"\n [placeholderDescriptionText]=\"model.placeholderDescriptionText\">\n </svc-surface-placeholder>\n <svc-page-wrapper [page]=\"model.newPage\" [creator]=\"creator\" [isGhost]=\"true\" [className]=\"'svc-designer-placeholder-page'\"></svc-page-wrapper>\n </div>\n </ng-container>\n <ng-container *ngIf=\"!model.showPlaceholder\">\n <svc-designer-survey [model]=\"model\"></svc-designer-survey>\n </ng-container>\n </div>\n </sv-scroll>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: i1__namespace.ScrollComponent, selector: "sv-scroll", inputs: ["disabled", "onInnerHeightChanged"] }, { type: i1__namespace.SurveyHeaderComponent, selector: "'[sv-ng-survey-header]'", inputs: ["survey"] }, { type: SurfacePlaceholderComponent, selector: "svc-surface-placeholder", inputs: ["name", "placeholderTitleText", "placeholderDescriptionText"] }, { type: PageWrapperComponent, selector: "svc-page-wrapper", inputs: ["page", "isGhost", "creator", "className"] }, { type: DesignerSurveyComponent, selector: "svc-designer-survey", inputs: ["model"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
1099
1059
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DesignerTabComponent, decorators: [{
1100
1060
  type: i0.Component,
1101
1061
  args: [{
@@ -1862,6 +1822,98 @@
1862
1822
  }] } });
1863
1823
  i1.AngularComponentFactory.Instance.registerComponent("svc-tab-theme", ThemeTabComponent);
1864
1824
 
1825
+ var PageElementContentComponent = /** @class */ (function (_super) {
1826
+ __extends(PageElementContentComponent, _super);
1827
+ function PageElementContentComponent() {
1828
+ return _super !== null && _super.apply(this, arguments) || this;
1829
+ }
1830
+ PageElementContentComponent.prototype.ngAfterViewInit = function () {
1831
+ var _a;
1832
+ (_a = this.embeddedView) === null || _a === void 0 ? void 0 : _a.detach();
1833
+ };
1834
+ PageElementContentComponent.prototype.ngOnChanges = function (changes) {
1835
+ var _a;
1836
+ (_a = this.embeddedView) === null || _a === void 0 ? void 0 : _a.detectChanges();
1837
+ };
1838
+ return PageElementContentComponent;
1839
+ }(i1.EmbeddedViewContentComponent));
1840
+ PageElementContentComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PageElementContentComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
1841
+ PageElementContentComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PageElementContentComponent, selector: "svc-page-element-content", inputs: { model: "model", survey: "survey" }, usesInheritance: true, usesOnChanges: true, ngImport: i0__namespace, template: "<ng-template #template><page [model]=\"model\" [survey]=\"survey\"></page></ng-template>", isInline: true, styles: [":host { display: none }"], components: [{ type: i1__namespace.PageComponent, selector: "page, sv-ng-page", inputs: ["model", "survey"] }] });
1842
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PageElementContentComponent, decorators: [{
1843
+ type: i0.Component,
1844
+ args: [{
1845
+ selector: "svc-page-element-content",
1846
+ template: "<ng-template #template><page [model]=\"model\" [survey]=\"survey\"></page></ng-template>",
1847
+ styles: [":host { display: none }"]
1848
+ }]
1849
+ }], propDecorators: { model: [{
1850
+ type: i0.Input
1851
+ }], survey: [{
1852
+ type: i0.Input
1853
+ }] } });
1854
+
1855
+ var PageDesignerComponent = /** @class */ (function (_super) {
1856
+ __extends(PageDesignerComponent, _super);
1857
+ function PageDesignerComponent() {
1858
+ return _super !== null && _super.apply(this, arguments) || this;
1859
+ }
1860
+ PageDesignerComponent.prototype.createModel = function () {
1861
+ if (this.adorner) {
1862
+ this.adorner.dispose();
1863
+ }
1864
+ if (this.model) {
1865
+ this.adorner = new surveyCreatorCore.PageAdorner(this.creator, this.model);
1866
+ this.adorner.isGhost = this.isGhost;
1867
+ }
1868
+ };
1869
+ PageDesignerComponent.prototype.ngDoCheck = function () {
1870
+ _super.prototype.ngDoCheck.call(this);
1871
+ if (this.adorner) {
1872
+ this.adorner.isGhost = this.isGhost;
1873
+ }
1874
+ };
1875
+ PageDesignerComponent.prototype.getModel = function () {
1876
+ return this.adorner;
1877
+ };
1878
+ PageDesignerComponent.prototype.getPropertiesToTrack = function () {
1879
+ return ["creator", "model"];
1880
+ };
1881
+ PageDesignerComponent.prototype.ngAfterViewChecked = function () {
1882
+ var _a;
1883
+ _super.prototype.ngAfterViewChecked.call(this);
1884
+ if (this.adorner && ((_a = this.container) === null || _a === void 0 ? void 0 : _a.nativeElement)) {
1885
+ this.adorner.setRootElement(this.container.nativeElement);
1886
+ }
1887
+ };
1888
+ PageDesignerComponent.prototype.ngOnDestroy = function () {
1889
+ _super.prototype.ngOnDestroy.call(this);
1890
+ this.adorner.dispose();
1891
+ };
1892
+ return PageDesignerComponent;
1893
+ }(CreatorModelComponent));
1894
+ PageDesignerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PageDesignerComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
1895
+ PageDesignerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PageDesignerComponent, selector: "svc-page", inputs: { model: "model", survey: "survey", creator: "creator", isGhost: "isGhost" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: i0.ElementRef }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n<div *ngIf=\"model && adorner\" class=\"svc-page__content\" [class]=\"adorner.css\" [key2click]\n (click)=\"adorner.select(adorner, $event)\" (dblclick)=\"adorner.dblclick($event)\"\n (mouseover)=\"adorner.hover($event, $event.currentTarget)\" (mouseleave)=\"adorner.hover($event, $event.target)\"\n [id]=\"adorner.page.id\" [attr.data-sv-drop-target-survey-page]=\"adorner.dropTargetName\" #container>\n <div class=\"svc-question__drop-indicator svc-question__drop-indicator--top\"></div>\n <div class=\"svc-question__drop-indicator svc-question__drop-indicator--bottom\"></div>\n <svc-page-element-content\n *ngIf=\"adorner.needRenderContent\" \n [model]=\"adorner.page\" \n [survey]=\"survey\">\n </svc-page-element-content>\n <div *ngIf=\"!adorner.needRenderContent\" class=\"svc-page__loading-content\">\n <sv-ng-loading-indicator></sv-ng-loading-indicator>\n </div>\n <div *ngIf=\"adorner.showPlaceholder\" class=\"svc-page__placeholder_frame\">\n <div class=\"svc-panel__placeholder_frame\">\n <div class=\"svc-panel__placeholder\">{{adorner.placeholderText}}</div>\n </div>\n </div>\n <div *ngIf=\"adorner.allowDragging && !adorner.isGhost\" class=\"svc-question__drag-area\"\n (pointerdown)=\"adorner.onPointerDown($event)\">\n <svg class=\"svc-question__drag-element\" [iconName]=\"'icon-drag-area-indicator_24x16'\" [size]=\"'auto'\"\n sv-ng-svg-icon></svg>\n <div class=\"svc-page__content-actions\">\n <sv-action-bar [model]=\"adorner.actionContainer\" #container></sv-action-bar>\n <sv-action-bar *ngIf=\"adorner.topActionContainer.hasActions\" [model]=\"adorner.topActionContainer\"></sv-action-bar>\n </div>\n </div>\n <div *ngIf=\"!adorner.allowDragging || adorner.isGhost\" class=\"svc-page__content-actions\">\n <sv-action-bar [model]=\"adorner.actionContainer\"></sv-action-bar>\n <sv-action-bar *ngIf=\"adorner.topActionContainer.hasActions\" [model]=\"adorner.topActionContainer\"></sv-action-bar>\n </div>\n <sv-action-bar [model]=\"adorner.footerActionsBar\"></sv-action-bar>\n</div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: PageElementContentComponent, selector: "svc-page-element-content", inputs: ["model", "survey"] }, { type: i1__namespace.LoadingIndicatorComponent, selector: "sv-ng-loading-indicator" }, { type: i1__namespace.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: i1__namespace.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }] });
1896
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PageDesignerComponent, decorators: [{
1897
+ type: i0.Component,
1898
+ args: [{
1899
+ selector: "svc-page",
1900
+ templateUrl: "./page.component.html",
1901
+ styles: [":host { display: none; }"]
1902
+ }]
1903
+ }], propDecorators: { model: [{
1904
+ type: i0.Input
1905
+ }], survey: [{
1906
+ type: i0.Input
1907
+ }], creator: [{
1908
+ type: i0.Input
1909
+ }], isGhost: [{
1910
+ type: i0.Input
1911
+ }], container: [{
1912
+ type: i0.ViewChild,
1913
+ args: ["container", { read: i0.ElementRef }]
1914
+ }] } });
1915
+ i1.AngularComponentFactory.Instance.registerComponent("svc-page", PageDesignerComponent);
1916
+
1865
1917
  var AddQuestionButtonComponent = /** @class */ (function (_super) {
1866
1918
  __extends(AddQuestionButtonComponent, _super);
1867
1919
  function AddQuestionButtonComponent() {
@@ -3470,7 +3522,7 @@
3470
3522
  QuestionDropdownDesignerComponent, QuestionDropdownAdornerDesignerComponent, QuestionImageDesignerComponent, QuestionImageAdornerDesignerComponent,
3471
3523
  ItemValueDesignerComponent, ImageItemValueDesignerComponent, LogicOperatorComponent, MatrixCellComponent, QuestionEditorComponent, CellQuestionDropdownComponent, CreatorRowComponent, DesignerPagesComponent, DesignerSurveyComponent, CellQuestionComponent, QuestionWidgetDesignerComponent, CreatorLogoImageComponent,
3472
3524
  QuestionRatingAdornerDesignerComponent, QuestionRatingDesignerComponent, QuestionSpinEditorComponent, ColorItemComponent, QuestionColorComponent, QuestionFileEditorComponent, AddQuestionButtonComponent, QuestionBannerComponent, JsonErrorItemComponent, QuestionTextWithResetComponent,
3473
- BooleanSwitchComponent, TranslateFromAction, AddQuestionTypeSelectorComponent, QuestionElementContentComponent, PageElementContentComponent], imports: [i2.CommonModule, i3.FormsModule, i1.SurveyModule], exports: [CreatorComponent, DesignerTabComponent, PageDesignerComponent, QuestionDesignerComponent, PanelDesignerComponent, TabbledMenuComponent, TabbedMenuItemComponent, TabbedMenuItemWrapperComponent, SidebarComponent, SidebarPageComponent, SidebarDefaultHeaderComponent, SidebarPropertyGridHeaderComponent, PropertyGridPlaceholderComponent, SidebarHeaderComponent, TabControlComponent, TabsComponent, TabButtonComponent, ObjectSelectorComponent, PropertyGridComponent, SearchComponent, TextareaJsonEditorComponent, AceJsonEditorComponent, LogicTabComponent, LogicAddButtonComponent, ActionButtonComponent, QuestionPgErrorComponent, SurfacePlaceholderComponent, SwitcherComponent, LinkValueQuestionComponent, EmbeddedSurveyQuestionComponent, TranslationTabComponent, TranslationSkeletonComponent, SimulatorComponent, TestTabComponent, TestAgainActionComponent, SurveyResultsComponent, SurveyResultsTableRowComponent, ThemeTabComponent,
3525
+ BooleanSwitchComponent, TranslateFromAction, AddQuestionTypeSelectorComponent, QuestionElementContentComponent, PageElementContentComponent, PageWrapperComponent], imports: [i2.CommonModule, i3.FormsModule, i1.SurveyModule], exports: [CreatorComponent, DesignerTabComponent, PageDesignerComponent, QuestionDesignerComponent, PanelDesignerComponent, TabbledMenuComponent, TabbedMenuItemComponent, TabbedMenuItemWrapperComponent, SidebarComponent, SidebarPageComponent, SidebarDefaultHeaderComponent, SidebarPropertyGridHeaderComponent, PropertyGridPlaceholderComponent, SidebarHeaderComponent, TabControlComponent, TabsComponent, TabButtonComponent, ObjectSelectorComponent, PropertyGridComponent, SearchComponent, TextareaJsonEditorComponent, AceJsonEditorComponent, LogicTabComponent, LogicAddButtonComponent, ActionButtonComponent, QuestionPgErrorComponent, SurfacePlaceholderComponent, SwitcherComponent, LinkValueQuestionComponent, EmbeddedSurveyQuestionComponent, TranslationTabComponent, TranslationSkeletonComponent, SimulatorComponent, TestTabComponent, TestAgainActionComponent, SurveyResultsComponent, SurveyResultsTableRowComponent, ThemeTabComponent,
3474
3526
  AdaptiveToolboxComponent, ToolboxToolComponent, ToolboxItemComponent, ToolboxItemGroupComponent, ToolboxListComponent, ToolboxCategoryComponent, StringEditorComponent, PageNavigatorComponent, PageNavigatorItemComponent,
3475
3527
  QuestionDropdownDesignerComponent, QuestionDropdownAdornerDesignerComponent, QuestionImageDesignerComponent, QuestionImageAdornerDesignerComponent,
3476
3528
  ItemValueDesignerComponent, ImageItemValueDesignerComponent, LogicOperatorComponent, MatrixCellComponent, QuestionEditorComponent, CellQuestionDropdownComponent, CreatorRowComponent, DesignerPagesComponent, DesignerSurveyComponent, CellQuestionComponent, QuestionWidgetDesignerComponent, CreatorLogoImageComponent,
@@ -3487,7 +3539,7 @@
3487
3539
  QuestionDropdownDesignerComponent, QuestionDropdownAdornerDesignerComponent, QuestionImageDesignerComponent, QuestionImageAdornerDesignerComponent,
3488
3540
  ItemValueDesignerComponent, ImageItemValueDesignerComponent, LogicOperatorComponent, MatrixCellComponent, QuestionEditorComponent, CellQuestionDropdownComponent, CreatorRowComponent, DesignerPagesComponent, DesignerSurveyComponent, CellQuestionComponent, QuestionWidgetDesignerComponent, CreatorLogoImageComponent,
3489
3541
  QuestionRatingAdornerDesignerComponent, QuestionRatingDesignerComponent, QuestionSpinEditorComponent, ColorItemComponent, QuestionColorComponent, QuestionFileEditorComponent, AddQuestionButtonComponent, QuestionBannerComponent, JsonErrorItemComponent, QuestionTextWithResetComponent,
3490
- BooleanSwitchComponent, TranslateFromAction, AddQuestionTypeSelectorComponent, QuestionElementContentComponent, PageElementContentComponent],
3542
+ BooleanSwitchComponent, TranslateFromAction, AddQuestionTypeSelectorComponent, QuestionElementContentComponent, PageElementContentComponent, PageWrapperComponent],
3491
3543
  imports: [
3492
3544
  i2.CommonModule, i3.FormsModule, i1.SurveyModule
3493
3545
  ],