survey-angular-ui 2.3.11 → 2.3.13

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.
@@ -1,11 +1,13 @@
1
- import { EmbeddedViewRef, OnInit, TemplateRef, ViewContainerRef } from "@angular/core";
1
+ import { AfterViewChecked, DoCheck, EmbeddedViewRef, OnInit, TemplateRef, ViewContainerRef } from "@angular/core";
2
2
  import * as i0 from "@angular/core";
3
- export declare class EmbeddedViewContentComponent implements OnInit {
3
+ export declare class EmbeddedViewContentComponent implements OnInit, AfterViewChecked, DoCheck {
4
4
  protected viewContainerRef?: ViewContainerRef | undefined;
5
5
  templateRef: TemplateRef<HTMLElement>;
6
6
  protected embeddedView?: EmbeddedViewRef<HTMLElement>;
7
7
  constructor(viewContainerRef?: ViewContainerRef | undefined);
8
8
  ngOnInit(): void;
9
+ ngDoCheck(): void;
10
+ ngAfterViewChecked(): void;
9
11
  static ɵfac: i0.ɵɵFactoryDeclaration<EmbeddedViewContentComponent, never>;
10
12
  static ɵcmp: i0.ɵɵComponentDeclaration<EmbeddedViewContentComponent, "ng-component", never, {}, {}, never, never>;
11
13
  }
@@ -10,28 +10,33 @@ export class BaseAngular extends EmbeddedViewContentComponent {
10
10
  this.onArrayChangedCallback = (stateElement, options) => {
11
11
  this.update(options.name);
12
12
  };
13
+ this.onPropertyChangedCallback = (stateElement, options) => {
14
+ this.update(options.name);
15
+ };
16
+ this.isUpdatesBlocked = false;
13
17
  }
14
18
  get surveyModel() {
15
19
  return this.getModel().getSurvey();
16
20
  }
17
21
  ngDoCheck() {
22
+ super.ngDoCheck();
18
23
  if (this.previousModel !== this.getModel()) {
19
24
  this.unMakeBaseElementAngular(this.previousModel);
20
25
  this.makeBaseElementAngular(this.getModel());
21
26
  this.onModelChanged();
22
27
  this.previousModel = this.getModel();
23
28
  }
24
- this.setIsRendering(true);
29
+ this.setIsModelRendering(true);
25
30
  }
26
31
  onModelChanged() { }
27
- setIsRendering(val) {
32
+ setIsModelRendering(val) {
28
33
  const model = this.getModel();
29
34
  if (!!model) {
30
35
  model.isRendering = val;
31
36
  }
32
37
  }
33
- getIsRendering() {
34
- const model = this.getModel();
38
+ getIsModelRendering(stateElement) {
39
+ const model = stateElement !== null && stateElement !== void 0 ? stateElement : this.getModel();
35
40
  return !!model && !!model.isRendering;
36
41
  }
37
42
  ngOnDestroy() {
@@ -40,80 +45,45 @@ export class BaseAngular extends EmbeddedViewContentComponent {
40
45
  this.previousModel = undefined;
41
46
  }
42
47
  isBaseElementSubsribed(stateElement) {
43
- return !!stateElement.__ngImplemented;
44
- }
45
- getBaseElementCallbacks(stateElement) {
46
48
  var _a;
47
- stateElement.__ngSubscribers = (_a = stateElement.__ngSubscribers) !== null && _a !== void 0 ? _a : [];
48
- return (stateElement.__ngSubscribers);
49
+ return ((_a = stateElement.__ngImplementedCount) !== null && _a !== void 0 ? _a : 0) > 0;
49
50
  }
50
51
  makeBaseElementAngular(stateElement) {
51
- this.makeBaseElementAngularCallback = () => {
52
+ var _a;
53
+ if (!!stateElement && !this.getIsModelRendering(stateElement)) {
52
54
  this.isModelSubsribed = true;
53
- stateElement.__ngImplemented = true;
54
- stateElement.iteratePropertiesHash((hash, key) => {
55
- var val = hash[key];
56
- if (Array.isArray(val)) {
57
- var val = val;
58
- stateElement.addOnArrayChangedCallback(val, this.onArrayChangedCallback);
59
- }
60
- });
61
- stateElement.setPropertyValueCoreHandler = (hash, key, val) => {
62
- if (hash[key] !== val) {
63
- hash[key] = val;
64
- this.update(key);
65
- }
66
- };
55
+ stateElement.addOnArrayChangedCallback(this.onArrayChangedCallback);
56
+ stateElement.addOnPropertyValueChangedCallback(this.onPropertyChangedCallback);
67
57
  stateElement.enableOnElementRerenderedEvent();
68
- };
69
- if (!!stateElement) {
70
- if (!stateElement.__ngImplemented) {
71
- this.makeBaseElementAngularCallback();
72
- }
73
- else {
74
- this.getBaseElementCallbacks(stateElement).push(this.makeBaseElementAngularCallback);
75
- }
58
+ stateElement.__ngImplementedCount = ((_a = stateElement.__ngImplementedCount) !== null && _a !== void 0 ? _a : 0) + 1;
76
59
  }
77
60
  }
78
61
  unMakeBaseElementAngular(stateElement) {
79
- if (!!stateElement) {
80
- if (this.isModelSubsribed) {
81
- this.isModelSubsribed = false;
82
- stateElement.__ngImplemented = false;
83
- stateElement.setPropertyValueCoreHandler = undefined;
84
- stateElement.iteratePropertiesHash((hash, key) => {
85
- var val = hash[key];
86
- if (Array.isArray(val)) {
87
- var val = val;
88
- stateElement.removeOnArrayChangedCallback(val, this.onArrayChangedCallback);
89
- }
90
- });
91
- stateElement.disableOnElementRerenderedEvent();
92
- const callbacks = this.getBaseElementCallbacks(stateElement);
93
- const callback = callbacks.shift();
94
- callback && callback();
95
- }
96
- else if (this.makeBaseElementAngularCallback) {
97
- const callbacks = this.getBaseElementCallbacks(stateElement);
98
- const index = callbacks.indexOf(this.makeBaseElementAngularCallback);
99
- if (index > -1) {
100
- callbacks.splice(index, 1);
101
- }
62
+ var _a;
63
+ if (!!stateElement && this.isModelSubsribed) {
64
+ this.isModelSubsribed = false;
65
+ stateElement.removeOnPropertyValueChangedCallback(this.onPropertyChangedCallback);
66
+ stateElement.removeOnArrayChangedCallback(this.onArrayChangedCallback);
67
+ stateElement.disableOnElementRerenderedEvent();
68
+ if (((_a = stateElement.__ngImplementedCount) !== null && _a !== void 0 ? _a : 0) - 1 <= 0) {
69
+ delete stateElement.__ngImplementedCount;
102
70
  }
103
71
  }
104
72
  }
105
73
  update(key) {
106
- if (this.getIsRendering())
74
+ if (this.getIsModelRendering() || this.isUpdatesBlocked)
107
75
  return;
108
- this.beforeUpdate();
109
76
  if (key && this.getPropertiesToUpdateSync().indexOf(key) > -1) {
77
+ this.beforeUpdate();
110
78
  this.detectChanges();
111
79
  this.afterUpdate(true);
112
80
  }
113
81
  else {
82
+ this.isUpdatesBlocked = true;
114
83
  queueMicrotask(() => {
115
84
  if (!this.isDestroyed) {
116
- this.setIsRendering(true);
85
+ this.isUpdatesBlocked = false;
86
+ this.beforeUpdate();
117
87
  this.detectChanges();
118
88
  this.afterUpdate();
119
89
  }
@@ -133,17 +103,18 @@ export class BaseAngular extends EmbeddedViewContentComponent {
133
103
  return true;
134
104
  }
135
105
  beforeUpdate() {
136
- this.setIsRendering(true);
106
+ this.setIsModelRendering(true);
137
107
  }
138
108
  afterUpdate(isSync = false) {
139
- this.setIsRendering(false);
109
+ this.setIsModelRendering(false);
140
110
  const model = this.getModel();
141
111
  if (model && !this.isDestroyed) {
142
112
  model.afterRerender();
143
113
  }
144
114
  }
145
115
  ngAfterViewChecked() {
146
- this.setIsRendering(false);
116
+ super.ngAfterViewChecked();
117
+ this.setIsModelRendering(false);
147
118
  }
148
119
  }
149
120
  BaseAngular.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BaseAngular, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
@@ -154,4 +125,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
154
125
  template: ""
155
126
  }]
156
127
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ViewContainerRef }]; } });
157
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1hbmd1bGFyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jhc2UtYW5ndWxhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBaUUsTUFBTSxlQUFlLENBQUM7QUFFNUgsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7O0FBS2pGLE1BQU0sT0FBZ0IsV0FBbUMsU0FBUSw0QkFBNEI7SUFDM0YsWUFBc0IsaUJBQW9DLEVBQUUsZ0JBQW1DO1FBQzdGLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBREosc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQVFsRCxxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUF3QmxDLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBYzdCLDJCQUFzQixHQUFHLENBQUMsWUFBa0IsRUFBRSxPQUE2QixFQUFFLEVBQUU7WUFDckYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUIsQ0FBQyxDQUFDO0lBOUNGLENBQUM7SUFDRCxJQUFjLFdBQVc7UUFDdkIsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUtNLFNBQVM7UUFDZCxJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUssSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQzFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDbEQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQzdDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUN0QztRQUNELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7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QUZyQixFQUFFOzRGQUVRLFdBQVc7a0JBSGhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLEVBQUU7aUJBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBEb0NoZWNrLCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgU2ltcGxlQ2hhbmdlLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFycmF5Q2hhbmdlcywgQmFzZSwgSU9uQXJyYXlDaGFuZ2VkRXZlbnQsIElTdXJ2ZXksIFN1cnZleU1vZGVsIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5pbXBvcnQgeyBFbWJlZGRlZFZpZXdDb250ZW50Q29tcG9uZW50IH0gZnJvbSBcIi4vZW1iZWRkZWQtdmlldy1jb250ZW50LmNvbXBvbmVudFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6IFwiXCJcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUFuZ3VsYXI8VCBleHRlbmRzIEJhc2UgPSBCYXNlPiBleHRlbmRzIEVtYmVkZGVkVmlld0NvbnRlbnRDb21wb25lbnQgaW1wbGVtZW50cyBEb0NoZWNrLCBPbkRlc3Ryb3kge1xuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLCB2aWV3Q29udGFpbmVyUmVmPzogVmlld0NvbnRhaW5lclJlZikge1xuICAgIHN1cGVyKHZpZXdDb250YWluZXJSZWYpO1xuICB9XG4gIHByb3RlY3RlZCBnZXQgc3VydmV5TW9kZWwoKTogSVN1cnZleSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TW9kZWwoKS5nZXRTdXJ2ZXkoKTtcbiAgfVxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0TW9kZWwoKTogVDtcbiAgcHJvdGVjdGVkIHByZXZpb3VzTW9kZWw/OiBUO1xuICBwcml2YXRlIGlzTW9kZWxTdWJzcmliZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwdWJsaWMgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnByZXZpb3VzTW9kZWwgIT09IHRoaXMuZ2V0TW9kZWwoKSkge1xuICAgICAgdGhpcy51bk1ha2VCYXNlRWxlbWVudEFuZ3VsYXIodGhpcy5wcmV2aW91c01vZGVsKTtcbiAgICAgIHRoaXMubWFrZUJhc2VFbGVtZW50QW5ndWxhcih0aGlzLmdldE1vZGVsKCkpO1xuICAgICAgdGhpcy5vbk1vZGVsQ2hhbmdlZCgpO1xuICAgICAgdGhpcy5wcmV2aW91c01vZGVsID0gdGhpcy5nZXRNb2RlbCgpO1xuICAgIH1cbiAgICB0aGlzLnNldElzUmVuZGVyaW5nKHRydWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uTW9kZWxDaGFuZ2VkKCkgeyB9XG5cbiAgcHJpdmF0ZSBzZXRJc1JlbmRlcmluZyh2YWw6IGJvb2xlYW4pIHtcbiAgICBjb25zdCBtb2RlbCA9IHRoaXMuZ2V0TW9kZWwoKTtcbiAgICBpZiAoISFtb2RlbCkge1xuICAgICAgKDxhbnk+bW9kZWwpLmlzUmVuZGVyaW5nID0gdmFsO1xuICAgIH1cbiAgfVxuICBwcml2YXRlIGdldElzUmVuZGVyaW5nKCkge1xuICAgIGNvbnN0IG1vZGVsID0gdGhpcy5nZXRNb2RlbCgpO1xuICAgIHJldHVybiAhIW1vZGVsICYmICEhKDxhbnk+bW9kZWwpLmlzUmVuZGVyaW5nO1xuICB9XG4gIHByaXZhdGUgaXNEZXN0cm95ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5pc0Rlc3Ryb3llZCA9IHRydWU7XG4gICAgdGhpcy51bk1ha2VCYXNlRWxlbWVudEFuZ3VsYXIodGhpcy5nZXRNb2RlbCgpKTtcbiAgICB0aGlzLnByZXZpb3VzTW9kZWwgPSB1bmRlZmluZWQ7XG4gIH1cbiAgcHJpdmF0ZSBtYWtlQmFzZUVsZW1lbnRBbmd1bGFyQ2FsbGJhY2s/OiAoKSA9PiB2b2lkO1xuICBwcm90ZWN0ZWQgaXNCYXNlRWxlbWVudFN1YnNyaWJlZChzdGF0ZUVsZW1lbnQ6IEJhc2UpIHtcbiAgICByZXR1cm4gISEoPGFueT5zdGF0ZUVsZW1lbnQpLl9fbmdJbXBsZW1lbnRlZDtcbiAgfVxuICBwcml2YXRlIGdldEJhc2VFbGVtZW50Q2FsbGJhY2tzKHN0YXRlRWxlbWVudDogQmFzZSk6IEFycmF5PCgpID0+IHZvaWQ+IHtcbiAgICAoPGFueT5zdGF0ZUVsZW1lbnQpLl9fbmdTdWJzY3JpYmVycyA9ICg8YW55PnN0YXRlRWxlbWVudCkuX19uZ1N1YnNjcmliZXJzID8/IFtdO1xuICAgIHJldHVybiAoKDxhbnk+c3RhdGVFbGVtZW50KS5fX25nU3Vic2NyaWJlcnMpO1xuICB9XG4gIHByaXZhdGUgb25BcnJheUNoYW5nZWRDYWxsYmFjayA9IChzdGF0ZUVsZW1lbnQ6IEJhc2UsIG9wdGlvbnM6IElPbkFycmF5Q2hhbmdlZEV2ZW50KSA9PiB7XG4gICAgdGhpcy51cGRhdGUob3B0aW9ucy5uYW1lKTtcbiAgfTtcbiAgcHJpdmF0ZSBtYWtlQmFzZUVsZW1lbnRBbmd1bGFyKHN0YXRlRWxlbWVudDogVCkge1xuICAgIHRoaXMubWFrZUJhc2VFbGVtZW50QW5ndWxhckNhbGxiYWNrID0gKCkgPT4ge1xuICAgICAgdGhpcy5pc01vZGVsU3Vic3JpYmVkID0gdHJ1ZTtcbiAgICAgICg8YW55PnN0YXRlRWxlbWVudCkuX19uZ0ltcGxlbWVudGVkID0gdHJ1ZTtcbiAgICAgIHN0YXRlRWxlbWVudC5pdGVyYXRlUHJvcGVydGllc0hhc2goKGhhc2gsIGtleSkgPT4ge1xuICAgICAgICB2YXIgdmFsOiBhbnkgPSBoYXNoW2tleV07XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbCkpIHtcbiAgICAgICAgICB2YXIgdmFsOiBhbnkgPSB2YWw7XG4gICAgICAgICAgc3RhdGVFbGVtZW50LmFkZE9uQXJyYXlDaGFuZ2VkQ2FsbGJhY2sodmFsLCB0aGlzLm9uQXJyYXlDaGFuZ2VkQ2FsbGJhY2spO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHN0YXRlRWxlbWVudC5zZXRQcm9wZXJ0eVZhbHVlQ29yZUhhbmRsZXIgPSAoXG4gICAgICAgIGhhc2g6IGFueSxcbiAgICAgICAga2V5OiBzdHJpbmcsXG4gICAgICAgIHZhbDogYW55XG4gICAgICApID0+IHtcbiAgICAgICAgaWYgKGhhc2hba2V5XSAhPT0gdmFsKSB7XG4gICAgICAgICAgaGFzaFtrZXldID0gdmFsO1xuICAgICAgICAgIHRoaXMudXBkYXRlKGtleSk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICBzdGF0ZUVsZW1lbnQuZW5hYmxlT25FbGVtZW50UmVyZW5kZXJlZEV2ZW50KCk7XG4gICAgfTtcbiAgICBpZiAoISFzdGF0ZUVsZW1lbnQpIHtcbiAgICAgIGlmICghKDxhbnk+c3RhdGVFbGVtZW50KS5fX25nSW1wbGVtZW50ZWQpIHtcbiAgICAgICAgdGhpcy5tYWtlQmFzZUVsZW1lbnRBbmd1bGFyQ2FsbGJhY2soKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZ2V0QmFzZUVsZW1lbnRDYWxsYmFja3Moc3RhdGVFbGVtZW50KS5wdXNoKHRoaXMubWFrZUJhc2VFbGVtZW50QW5ndWxhckNhbGxiYWNrKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSB1bk1ha2VCYXNlRWxlbWVudEFuZ3VsYXIoc3RhdGVFbGVtZW50PzogQmFzZSkge1xuICAgIGlmICghIXN0YXRlRWxlbWVudCkge1xuICAgICAgaWYgKHRoaXMuaXNNb2RlbFN1YnNyaWJlZCkge1xuICAgICAgICB0aGlzLmlzTW9kZWxTdWJzcmliZWQgPSBmYWxzZTtcbiAgICAgICAgKDxhbnk+c3RhdGVFbGVtZW50KS5fX25nSW1wbGVtZW50ZWQgPSBmYWxzZTtcbiAgICAgICAgc3RhdGVFbGVtZW50LnNldFByb3BlcnR5VmFsdWVDb3JlSGFuZGxlciA9IDxhbnk+dW5kZWZpbmVkO1xuICAgICAgICBzdGF0ZUVsZW1lbnQuaXRlcmF0ZVByb3BlcnRpZXNIYXNoKChoYXNoLCBrZXkpID0+IHtcbiAgICAgICAgICB2YXIgdmFsOiBhbnkgPSBoYXNoW2tleV07XG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsKSkge1xuICAgICAgICAgICAgdmFyIHZhbDogYW55ID0gdmFsO1xuICAgICAgICAgICAgc3RhdGVFbGVtZW50LnJlbW92ZU9uQXJyYXlDaGFuZ2VkQ2FsbGJhY2sodmFsLCB0aGlzLm9uQXJyYXlDaGFuZ2VkQ2FsbGJhY2spO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHN0YXRlRWxlbWVudC5kaXNhYmxlT25FbGVtZW50UmVyZW5kZXJlZEV2ZW50KCk7XG4gICAgICAgIGNvbnN0IGNhbGxiYWNrcyA9IHRoaXMuZ2V0QmFzZUVsZW1lbnRDYWxsYmFja3Moc3RhdGVFbGVtZW50KTtcbiAgICAgICAgY29uc3QgY2FsbGJhY2sgPSBjYWxsYmFja3Muc2hpZnQoKTtcbiAgICAgICAgY2FsbGJhY2sgJiYgY2FsbGJhY2soKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5tYWtlQmFzZUVsZW1lbnRBbmd1bGFyQ2FsbGJhY2spIHtcbiAgICAgICAgY29uc3QgY2FsbGJhY2tzID0gdGhpcy5nZXRCYXNlRWxlbWVudENhbGxiYWNrcyhzdGF0ZUVsZW1lbnQpO1xuICAgICAgICBjb25zdCBpbmRleCA9IGNhbGxiYWNrcy5pbmRleE9mKHRoaXMubWFrZUJhc2VFbGVtZW50QW5ndWxhckNhbGxiYWNrKTtcbiAgICAgICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgICAgICBjYWxsYmFja3Muc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCB1cGRhdGUoa2V5Pzogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZ2V0SXNSZW5kZXJpbmcoKSkgcmV0dXJuO1xuICAgIHRoaXMuYmVmb3JlVXBkYXRlKCk7XG4gICAgaWYgKGtleSAmJiB0aGlzLmdldFByb3BlcnRpZXNUb1VwZGF0ZVN5bmMoKS5pbmRleE9mKGtleSkgPiAtMSkge1xuICAgICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB0aGlzLmFmdGVyVXBkYXRlKHRydWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBxdWV1ZU1pY3JvdGFzaygoKSA9PiB7XG4gICAgICAgIGlmICghdGhpcy5pc0Rlc3Ryb3llZCkge1xuICAgICAgICAgIHRoaXMuc2V0SXNSZW5kZXJpbmcodHJ1ZSk7XG4gICAgICAgICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgdGhpcy5hZnRlclVwZGF0ZSgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSBnZXRDaGFuZ2VEZXRlY3RvclJlZigpIHtcbiAgICByZXR1cm4gdGhpcy5lbWJlZGRlZFZpZXcgPyB0aGlzLmVtYmVkZGVkVmlldyA6IHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWY7XG4gIH1cbiAgcHJvdGVjdGVkIGdldFByb3BlcnRpZXNUb1VwZGF0ZVN5bmMoKTogQXJyYXk8c3RyaW5nPiB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG4gIHByb3RlY3RlZCBkZXRlY3RDaGFuZ2VzKCkge1xuICAgIHRoaXMuZ2V0Q2hhbmdlRGV0ZWN0b3JSZWYoKS5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0U2hvdWxkUmVhdHRhY2hDaGFuZ2VEZXRlY3RvcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBiZWZvcmVVcGRhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRJc1JlbmRlcmluZyh0cnVlKTtcbiAgfVxuICBwcm90ZWN0ZWQgYWZ0ZXJVcGRhdGUoaXNTeW5jOiBib29sZWFuID0gZmFsc2UpOiB2b2lkIHtcbiAgICB0aGlzLnNldElzUmVuZGVyaW5nKGZhbHNlKTtcbiAgICBjb25zdCBtb2RlbCA9IHRoaXMuZ2V0TW9kZWwoKTtcbiAgICBpZiAobW9kZWwgJiYgIXRoaXMuaXNEZXN0cm95ZWQpIHtcbiAgICAgIG1vZGVsLmFmdGVyUmVyZW5kZXIoKTtcbiAgICB9XG4gIH1cbiAgbmdBZnRlclZpZXdDaGVja2VkKCk6IHZvaWQge1xuICAgIHRoaXMuc2V0SXNSZW5kZXJpbmcoZmFsc2UpO1xuICB9XG59Il19
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1hbmd1bGFyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jhc2UtYW5ndWxhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBd0MsTUFBTSxlQUFlLENBQUM7QUFFbkcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7O0FBTWpGLE1BQU0sT0FBZ0IsV0FBbUMsU0FBUSw0QkFBNEI7SUFDM0YsWUFBc0IsaUJBQW9DLEVBQUUsZ0JBQW1DO1FBQzdGLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBREosc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQVFsRCxxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUF5QmxDLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBUzdCLDJCQUFzQixHQUFHLENBQUMsWUFBa0IsRUFBRSxPQUF3QyxFQUFFLEVBQUU7WUFDaEcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUIsQ0FBQyxDQUFDO1FBQ00sOEJBQXlCLEdBQUcsQ0FBQyxZQUFrQixFQUFFLE9BQW1DLEVBQUUsRUFBRTtZQUM5RixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUM7UUFxQk0scUJBQWdCLEdBQVksS0FBSyxDQUFDO0lBbEUxQyxDQUFDO0lBQ0QsSUFBYyxXQUFXO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFLZSxTQUFTO1FBQ3ZCLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNsQixJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUssSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQzFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDbEQsSUFB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QUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLENBQUM7O3lHQXBIbUIsV0FBVzs2RkFBWCxXQUFXLDJFQUZyQixFQUFFOzRGQUVRLFdBQVc7a0JBSGhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLEVBQUU7aUJBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBEb0NoZWNrLCBPbkRlc3Ryb3ksIFZpZXdDb250YWluZXJSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQmFzZSwgSVByb3BlcnR5QXJyYXlWYWx1ZUNoYW5nZWRFdmVudCwgSVN1cnZleSB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuaW1wb3J0IHsgRW1iZWRkZWRWaWV3Q29udGVudENvbXBvbmVudCB9IGZyb20gXCIuL2VtYmVkZGVkLXZpZXctY29udGVudC5jb21wb25lbnRcIjtcbmltcG9ydCB7IElQcm9wZXJ0eVZhbHVlQ2hhbmdlZEV2ZW50IH0gZnJvbSBcInN1cnZleS1jb3JlL3R5cGluZ3Mvc3JjL2Jhc2VcIjtcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiBcIlwiXG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VBbmd1bGFyPFQgZXh0ZW5kcyBCYXNlID0gQmFzZT4gZXh0ZW5kcyBFbWJlZGRlZFZpZXdDb250ZW50Q29tcG9uZW50IGltcGxlbWVudHMgRG9DaGVjaywgT25EZXN0cm95IHtcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZiwgdmlld0NvbnRhaW5lclJlZj86IFZpZXdDb250YWluZXJSZWYpIHtcbiAgICBzdXBlcih2aWV3Q29udGFpbmVyUmVmKTtcbiAgfVxuICBwcm90ZWN0ZWQgZ2V0IHN1cnZleU1vZGVsKCk6IElTdXJ2ZXkge1xuICAgIHJldHVybiB0aGlzLmdldE1vZGVsKCkuZ2V0U3VydmV5KCk7XG4gIH1cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldE1vZGVsKCk6IFQ7XG4gIHByb3RlY3RlZCBwcmV2aW91c01vZGVsPzogVDtcbiAgcHJpdmF0ZSBpc01vZGVsU3Vic3JpYmVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIG92ZXJyaWRlIG5nRG9DaGVjaygpOiB2b2lkIHtcbiAgICBzdXBlci5uZ0RvQ2hlY2soKTtcbiAgICBpZiAodGhpcy5wcmV2aW91c01vZGVsICE9PSB0aGlzLmdldE1vZGVsKCkpIHtcbiAgICAgIHRoaXMudW5NYWtlQmFzZUVsZW1lbnRBbmd1bGFyKHRoaXMucHJldmlvdXNNb2RlbCk7XG4gICAgICB0aGlzLm1ha2VCYXNlRWxlbWVudEFuZ3VsYXIodGhpcy5nZXRNb2RlbCgpKTtcbiAgICAgIHRoaXMub25Nb2RlbENoYW5nZWQoKTtcbiAgICAgIHRoaXMucHJldmlvdXNNb2RlbCA9IHRoaXMuZ2V0TW9kZWwoKTtcbiAgICB9XG4gICAgdGhpcy5zZXRJc01vZGVsUmVuZGVyaW5nKHRydWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uTW9kZWxDaGFuZ2VkKCkgeyB9XG5cbiAgcHJpdmF0ZSBzZXRJc01vZGVsUmVuZGVyaW5nKHZhbDogYm9vbGVhbikge1xuICAgIGNvbnN0IG1vZGVsID0gdGhpcy5nZXRNb2RlbCgpO1xuICAgIGlmICghIW1vZGVsKSB7XG4gICAgICAoPGFueT5tb2RlbCkuaXNSZW5kZXJpbmcgPSB2YWw7XG4gICAgfVxuICB9XG4gIHByaXZhdGUgZ2V0SXNNb2RlbFJlbmRlcmluZyhzdGF0ZUVsZW1lbnQ/OiBCYXNlKSB7XG4gICAgY29uc3QgbW9kZWwgPSBzdGF0ZUVsZW1lbnQgPz8gdGhpcy5nZXRNb2RlbCgpO1xuICAgIHJldHVybiAhIW1vZGVsICYmICEhKDxhbnk+bW9kZWwpLmlzUmVuZGVyaW5nO1xuICB9XG4gIHByaXZhdGUgaXNEZXN0cm95ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5pc0Rlc3Ryb3llZCA9IHRydWU7XG4gICAgdGhpcy51bk1ha2VCYXNlRWxlbWVudEFuZ3VsYXIodGhpcy5nZXRNb2RlbCgpKTtcbiAgICB0aGlzLnByZXZpb3VzTW9kZWwgPSB1bmRlZmluZWQ7XG4gIH1cbiAgcHJvdGVjdGVkIGlzQmFzZUVsZW1lbnRTdWJzcmliZWQoc3RhdGVFbGVtZW50OiBCYXNlKSB7XG4gICAgcmV0dXJuICgoPGFueT5zdGF0ZUVsZW1lbnQpLl9fbmdJbXBsZW1lbnRlZENvdW50ID8/IDApID4gMDtcbiAgfVxuICBwcml2YXRlIG9uQXJyYXlDaGFuZ2VkQ2FsbGJhY2sgPSAoc3RhdGVFbGVtZW50OiBCYXNlLCBvcHRpb25zOiBJUHJvcGVydHlBcnJheVZhbHVlQ2hhbmdlZEV2ZW50KSA9PiB7XG4gICAgdGhpcy51cGRhdGUob3B0aW9ucy5uYW1lKTtcbiAgfTtcbiAgcHJpdmF0ZSBvblByb3BlcnR5Q2hhbmdlZENhbGxiYWNrID0gKHN0YXRlRWxlbWVudDogQmFzZSwgb3B0aW9uczogSVByb3BlcnR5VmFsdWVDaGFuZ2VkRXZlbnQpID0+IHtcbiAgICB0aGlzLnVwZGF0ZShvcHRpb25zLm5hbWUpO1xuICB9O1xuICBwcml2YXRlIG1ha2VCYXNlRWxlbWVudEFuZ3VsYXIoc3RhdGVFbGVtZW50OiBUKSB7XG4gICAgaWYgKCEhc3RhdGVFbGVtZW50ICYmICF0aGlzLmdldElzTW9kZWxSZW5kZXJpbmcoc3RhdGVFbGVtZW50KSkge1xuICAgICAgdGhpcy5pc01vZGVsU3Vic3JpYmVkID0gdHJ1ZTtcbiAgICAgIHN0YXRlRWxlbWVudC5hZGRPbkFycmF5Q2hhbmdlZENhbGxiYWNrKHRoaXMub25BcnJheUNoYW5nZWRDYWxsYmFjayk7XG4gICAgICBzdGF0ZUVsZW1lbnQuYWRkT25Qcm9wZXJ0eVZhbHVlQ2hhbmdlZENhbGxiYWNrKHRoaXMub25Qcm9wZXJ0eUNoYW5nZWRDYWxsYmFjayk7XG4gICAgICBzdGF0ZUVsZW1lbnQuZW5hYmxlT25FbGVtZW50UmVyZW5kZXJlZEV2ZW50KCk7XG4gICAgICAoPGFueT5zdGF0ZUVsZW1lbnQpLl9fbmdJbXBsZW1lbnRlZENvdW50ID0gKCg8YW55PnN0YXRlRWxlbWVudCkuX19uZ0ltcGxlbWVudGVkQ291bnQgPz8gMCkgKyAxO1xuICAgIH1cbiAgfVxuICBwcml2YXRlIHVuTWFrZUJhc2VFbGVtZW50QW5ndWxhcihzdGF0ZUVsZW1lbnQ/OiBCYXNlKSB7XG4gICAgaWYgKCEhc3RhdGVFbGVtZW50ICYmIHRoaXMuaXNNb2RlbFN1YnNyaWJlZCkge1xuICAgICAgdGhpcy5pc01vZGVsU3Vic3JpYmVkID0gZmFsc2U7XG4gICAgICBzdGF0ZUVsZW1lbnQucmVtb3ZlT25Qcm9wZXJ0eVZhbHVlQ2hhbmdlZENhbGxiYWNrKHRoaXMub25Qcm9wZXJ0eUNoYW5nZWRDYWxsYmFjayk7XG4gICAgICBzdGF0ZUVsZW1lbnQucmVtb3ZlT25BcnJheUNoYW5nZWRDYWxsYmFjayh0aGlzLm9uQXJyYXlDaGFuZ2VkQ2FsbGJhY2spO1xuICAgICAgc3RhdGVFbGVtZW50LmRpc2FibGVPbkVsZW1lbnRSZXJlbmRlcmVkRXZlbnQoKTtcbiAgICAgIGlmICgoKDxhbnk+c3RhdGVFbGVtZW50KS5fX25nSW1wbGVtZW50ZWRDb3VudCA/PyAwKSAtIDEgPD0gMCkge1xuICAgICAgICBkZWxldGUgKDxhbnk+c3RhdGVFbGVtZW50KS5fX25nSW1wbGVtZW50ZWRDb3VudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSBpc1VwZGF0ZXNCbG9ja2VkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJvdGVjdGVkIHVwZGF0ZShrZXk/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5nZXRJc01vZGVsUmVuZGVyaW5nKCkgfHwgdGhpcy5pc1VwZGF0ZXNCbG9ja2VkKSByZXR1cm47XG4gICAgaWYgKGtleSAmJiB0aGlzLmdldFByb3BlcnRpZXNUb1VwZGF0ZVN5bmMoKS5pbmRleE9mKGtleSkgPiAtMSkge1xuICAgICAgdGhpcy5iZWZvcmVVcGRhdGUoKTtcbiAgICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgdGhpcy5hZnRlclVwZGF0ZSh0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pc1VwZGF0ZXNCbG9ja2VkID0gdHJ1ZTtcbiAgICAgIHF1ZXVlTWljcm90YXNrKCgpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLmlzRGVzdHJveWVkKSB7XG4gICAgICAgICAgdGhpcy5pc1VwZGF0ZXNCbG9ja2VkID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5iZWZvcmVVcGRhdGUoKTtcbiAgICAgICAgICB0aGlzLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICB0aGlzLmFmdGVyVXBkYXRlKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICBwcml2YXRlIGdldENoYW5nZURldGVjdG9yUmVmKCkge1xuICAgIHJldHVybiB0aGlzLmVtYmVkZGVkVmlldyA/IHRoaXMuZW1iZWRkZWRWaWV3IDogdGhpcy5jaGFuZ2VEZXRlY3RvclJlZjtcbiAgfVxuICBwcm90ZWN0ZWQgZ2V0UHJvcGVydGllc1RvVXBkYXRlU3luYygpOiBBcnJheTxzdHJpbmc+IHtcbiAgICByZXR1cm4gW107XG4gIH1cbiAgcHJvdGVjdGVkIGRldGVjdENoYW5nZXMoKSB7XG4gICAgdGhpcy5nZXRDaGFuZ2VEZXRlY3RvclJlZigpLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRTaG91bGRSZWF0dGFjaENoYW5nZURldGVjdG9yKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGJlZm9yZVVwZGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnNldElzTW9kZWxSZW5kZXJpbmcodHJ1ZSk7XG4gIH1cbiAgcHJvdGVjdGVkIGFmdGVyVXBkYXRlKGlzU3luYzogYm9vbGVhbiA9IGZhbHNlKTogdm9pZCB7XG4gICAgdGhpcy5zZXRJc01vZGVsUmVuZGVyaW5nKGZhbHNlKTtcbiAgICBjb25zdCBtb2RlbCA9IHRoaXMuZ2V0TW9kZWwoKTtcbiAgICBpZiAobW9kZWwgJiYgIXRoaXMuaXNEZXN0cm95ZWQpIHtcbiAgICAgIG1vZGVsLmFmdGVyUmVyZW5kZXIoKTtcbiAgICB9XG4gIH1cbiAgb3ZlcnJpZGUgbmdBZnRlclZpZXdDaGVja2VkKCk6IHZvaWQge1xuICAgIHN1cGVyLm5nQWZ0ZXJWaWV3Q2hlY2tlZCgpO1xuICAgIHRoaXMuc2V0SXNNb2RlbFJlbmRlcmluZyhmYWxzZSk7XG4gIH1cbn0iXX0=
@@ -9,7 +9,7 @@ export class PanelDynamicPrevBtn extends PaneldynamicAction {
9
9
  }
10
10
  }
11
11
  PanelDynamicPrevBtn.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PanelDynamicPrevBtn, deps: null, target: i0.ɵɵFactoryTarget.Component });
12
- PanelDynamicPrevBtn.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PanelDynamicPrevBtn, selector: "sv-ng-paneldynamic-prev-btn", usesInheritance: true, ngImport: i0, template: "<div [attr.title]=\"question.panelPrevText\" (click)=\"prevPanelClick()\" [class]=\"question.getPrevButtonCss()\">\n <svg [iconName]=\"question.cssClasses.progressBtnIcon\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n</div>\n", components: [{ type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }] });
12
+ PanelDynamicPrevBtn.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PanelDynamicPrevBtn, selector: "sv-ng-paneldynamic-prev-btn", usesInheritance: true, ngImport: i0, template: "<div [attr.title]=\"question.prevPanelText\" (click)=\"prevPanelClick()\" [class]=\"question.getPrevButtonCss()\">\n <svg [iconName]=\"question.cssClasses.progressBtnIcon\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n</div>\n", components: [{ type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }] });
13
13
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PanelDynamicPrevBtn, decorators: [{
14
14
  type: Component,
15
15
  args: [{
@@ -18,4 +18,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
18
18
  }]
19
19
  }] });
20
20
  AngularComponentFactory.Instance.registerComponent("sv-paneldynamic-prev-btn", PanelDynamicPrevBtn);
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZWxkeW5hbWljLXByZXYtYnRuLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BhbmVsZHluYW1pYy1hY3Rpb25zL3BhbmVsZHluYW1pYy1wcmV2LWJ0bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9wYW5lbGR5bmFtaWMtYWN0aW9ucy9wYW5lbGR5bmFtaWMtcHJldi1idG4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7O0FBTXRFLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxrQkFBa0I7SUFDekQsY0FBYztRQUNaLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDaEMsQ0FBQzs7aUhBSFUsbUJBQW1CO3FHQUFuQixtQkFBbUIsMEZDUmhDLGlPQUdBOzRGREthLG1CQUFtQjtrQkFKL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNkJBQTZCO29CQUN2QyxXQUFXLEVBQUUsd0NBQXdDO2lCQUN0RDs7QUFNRCx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsMEJBQTBCLEVBQUUsbUJBQW1CLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50RmFjdG9yeSB9IGZyb20gXCIuLi8uLi9jb21wb25lbnQtZmFjdG9yeVwiO1xuaW1wb3J0IHsgUGFuZWxkeW5hbWljQWN0aW9uIH0gZnJvbSBcIi4vcGFuZWxkeW5hbWljLWFkZC1idG4uY29tcG9uZW50XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdi1uZy1wYW5lbGR5bmFtaWMtcHJldi1idG5cIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9wYW5lbGR5bmFtaWMtcHJldi1idG4uY29tcG9uZW50Lmh0bWxcIlxufSlcbmV4cG9ydCBjbGFzcyBQYW5lbER5bmFtaWNQcmV2QnRuIGV4dGVuZHMgUGFuZWxkeW5hbWljQWN0aW9uIHtcbiAgcHJldlBhbmVsQ2xpY2soKSB7XG4gICAgdGhpcy5xdWVzdGlvbi5nb1RvUHJldlBhbmVsKCk7XG4gIH1cbn1cbkFuZ3VsYXJDb21wb25lbnRGYWN0b3J5Lkluc3RhbmNlLnJlZ2lzdGVyQ29tcG9uZW50KFwic3YtcGFuZWxkeW5hbWljLXByZXYtYnRuXCIsIFBhbmVsRHluYW1pY1ByZXZCdG4pOyIsIjxkaXYgW2F0dHIudGl0bGVdPVwicXVlc3Rpb24ucGFuZWxQcmV2VGV4dFwiIChjbGljayk9XCJwcmV2UGFuZWxDbGljaygpXCIgW2NsYXNzXT1cInF1ZXN0aW9uLmdldFByZXZCdXR0b25Dc3MoKVwiPlxuICA8c3ZnIFtpY29uTmFtZV09XCJxdWVzdGlvbi5jc3NDbGFzc2VzLnByb2dyZXNzQnRuSWNvblwiIFtzaXplXT1cIidhdXRvJ1wiIHN2LW5nLXN2Zy1pY29uPjwvc3ZnPlxuPC9kaXY+XG4iXX0=
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZWxkeW5hbWljLXByZXYtYnRuLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BhbmVsZHluYW1pYy1hY3Rpb25zL3BhbmVsZHluYW1pYy1wcmV2LWJ0bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9wYW5lbGR5bmFtaWMtYWN0aW9ucy9wYW5lbGR5bmFtaWMtcHJldi1idG4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7O0FBTXRFLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxrQkFBa0I7SUFDekQsY0FBYztRQUNaLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDaEMsQ0FBQzs7aUhBSFUsbUJBQW1CO3FHQUFuQixtQkFBbUIsMEZDUmhDLGlPQUdBOzRGREthLG1CQUFtQjtrQkFKL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNkJBQTZCO29CQUN2QyxXQUFXLEVBQUUsd0NBQXdDO2lCQUN0RDs7QUFNRCx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsMEJBQTBCLEVBQUUsbUJBQW1CLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50RmFjdG9yeSB9IGZyb20gXCIuLi8uLi9jb21wb25lbnQtZmFjdG9yeVwiO1xuaW1wb3J0IHsgUGFuZWxkeW5hbWljQWN0aW9uIH0gZnJvbSBcIi4vcGFuZWxkeW5hbWljLWFkZC1idG4uY29tcG9uZW50XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdi1uZy1wYW5lbGR5bmFtaWMtcHJldi1idG5cIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9wYW5lbGR5bmFtaWMtcHJldi1idG4uY29tcG9uZW50Lmh0bWxcIlxufSlcbmV4cG9ydCBjbGFzcyBQYW5lbER5bmFtaWNQcmV2QnRuIGV4dGVuZHMgUGFuZWxkeW5hbWljQWN0aW9uIHtcbiAgcHJldlBhbmVsQ2xpY2soKSB7XG4gICAgdGhpcy5xdWVzdGlvbi5nb1RvUHJldlBhbmVsKCk7XG4gIH1cbn1cbkFuZ3VsYXJDb21wb25lbnRGYWN0b3J5Lkluc3RhbmNlLnJlZ2lzdGVyQ29tcG9uZW50KFwic3YtcGFuZWxkeW5hbWljLXByZXYtYnRuXCIsIFBhbmVsRHluYW1pY1ByZXZCdG4pOyIsIjxkaXYgW2F0dHIudGl0bGVdPVwicXVlc3Rpb24ucHJldlBhbmVsVGV4dFwiIChjbGljayk9XCJwcmV2UGFuZWxDbGljaygpXCIgW2NsYXNzXT1cInF1ZXN0aW9uLmdldFByZXZCdXR0b25Dc3MoKVwiPlxuICA8c3ZnIFtpY29uTmFtZV09XCJxdWVzdGlvbi5jc3NDbGFzc2VzLnByb2dyZXNzQnRuSWNvblwiIFtzaXplXT1cIidhdXRvJ1wiIHN2LW5nLXN2Zy1pY29uPjwvc3ZnPlxuPC9kaXY+XG4iXX0=
@@ -10,6 +10,14 @@ export class EmbeddedViewContentComponent {
10
10
  this.embeddedView = (_a = this.viewContainerRef) === null || _a === void 0 ? void 0 : _a.createEmbeddedView(this.templateRef);
11
11
  }
12
12
  }
13
+ ngDoCheck() {
14
+ var _a;
15
+ (_a = this.embeddedView) === null || _a === void 0 ? void 0 : _a.reattach();
16
+ }
17
+ ngAfterViewChecked() {
18
+ var _a;
19
+ (_a = this.embeddedView) === null || _a === void 0 ? void 0 : _a.detach();
20
+ }
13
21
  }
14
22
  EmbeddedViewContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EmbeddedViewContentComponent, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
15
23
  EmbeddedViewContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: EmbeddedViewContentComponent, selector: "ng-component", viewQueries: [{ propertyName: "templateRef", first: true, predicate: ["template"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "", isInline: true });
@@ -22,4 +30,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
22
30
  type: ViewChild,
23
31
  args: ["template", { read: TemplateRef, static: true }]
24
32
  }] } });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1iZWRkZWQtdmlldy1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbWJlZGRlZC12aWV3LWNvbnRlbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQTJCLFdBQVcsRUFBRSxTQUFTLEVBQW9CLE1BQU0sZUFBZSxDQUFDOztBQU03RyxNQUFNLE9BQU8sNEJBQTRCO0lBR3ZDLFlBQXNCLGdCQUFtQztRQUFuQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW1CO0lBQUcsQ0FBQztJQUU3RCxRQUFROztRQUNOLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDdEIsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFBLElBQUksQ0FBQyxnQkFBZ0IsMENBQUUsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ2pGO0lBQ0gsQ0FBQzs7MEhBVFUsNEJBQTRCOzhHQUE1Qiw0QkFBNEIsd0lBQ1IsV0FBVywyQ0FKaEMsRUFBRTs0RkFHRCw0QkFBNEI7a0JBSnhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7dUdBRzZELFdBQVc7c0JBQXRFLFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbWJlZGRlZFZpZXdSZWYsIE9uSW5pdCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZTogXCJcIixcbn0pXG5cbmV4cG9ydCBjbGFzcyBFbWJlZGRlZFZpZXdDb250ZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQFZpZXdDaGlsZChcInRlbXBsYXRlXCIsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZSB9KSB0ZW1wbGF0ZVJlZiE6IFRlbXBsYXRlUmVmPEhUTUxFbGVtZW50PjtcbiAgcHJvdGVjdGVkIGVtYmVkZGVkVmlldz86IEVtYmVkZGVkVmlld1JlZjxIVE1MRWxlbWVudD47XG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCB2aWV3Q29udGFpbmVyUmVmPzogVmlld0NvbnRhaW5lclJlZikge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoISF0aGlzLnRlbXBsYXRlUmVmKSB7XG4gICAgICB0aGlzLmVtYmVkZGVkVmlldyA9IHRoaXMudmlld0NvbnRhaW5lclJlZj8uY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGVSZWYpO1xuICAgIH1cbiAgfVxufSJdfQ==
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1iZWRkZWQtdmlldy1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbWJlZGRlZC12aWV3LWNvbnRlbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsU0FBUyxFQUFvQyxXQUFXLEVBQUUsU0FBUyxFQUFvQixNQUFNLGVBQWUsQ0FBQzs7QUFNeEksTUFBTSxPQUFPLDRCQUE0QjtJQUd2QyxZQUFzQixnQkFBbUM7UUFBbkMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFtQjtJQUFHLENBQUM7SUFFN0QsUUFBUTs7UUFDTixJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBQSxJQUFJLENBQUMsZ0JBQWdCLDBDQUFFLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUNqRjtJQUNILENBQUM7SUFDRCxTQUFTOztRQUNQLE1BQUEsSUFBSSxDQUFDLFlBQVksMENBQUUsUUFBUSxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUNELGtCQUFrQjs7UUFDaEIsTUFBQSxJQUFJLENBQUMsWUFBWSwwQ0FBRSxNQUFNLEVBQUUsQ0FBQztJQUM5QixDQUFDOzswSEFmVSw0QkFBNEI7OEdBQTVCLDRCQUE0Qix3SUFDUixXQUFXLDJDQUpoQyxFQUFFOzRGQUdELDRCQUE0QjtrQkFKeEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsRUFBRTtpQkFDYjt1R0FHNkQsV0FBVztzQkFBdEUsU0FBUzt1QkFBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdDaGVja2VkLCBDb21wb25lbnQsIERvQ2hlY2ssIEVtYmVkZGVkVmlld1JlZiwgT25Jbml0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiBcIlwiLFxufSlcblxuZXhwb3J0IGNsYXNzIEVtYmVkZGVkVmlld0NvbnRlbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0NoZWNrZWQsIERvQ2hlY2sge1xuICBAVmlld0NoaWxkKFwidGVtcGxhdGVcIiwgeyByZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiB0cnVlIH0pIHRlbXBsYXRlUmVmITogVGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+O1xuICBwcm90ZWN0ZWQgZW1iZWRkZWRWaWV3PzogRW1iZWRkZWRWaWV3UmVmPEhUTUxFbGVtZW50PjtcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHZpZXdDb250YWluZXJSZWY/OiBWaWV3Q29udGFpbmVyUmVmKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICghIXRoaXMudGVtcGxhdGVSZWYpIHtcbiAgICAgIHRoaXMuZW1iZWRkZWRWaWV3ID0gdGhpcy52aWV3Q29udGFpbmVyUmVmPy5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZVJlZik7XG4gICAgfVxuICB9XG4gIG5nRG9DaGVjaygpOiB2b2lkIHtcbiAgICB0aGlzLmVtYmVkZGVkVmlldz8ucmVhdHRhY2goKTtcbiAgfVxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5lbWJlZGRlZFZpZXc/LmRldGFjaCgpO1xuICB9XG59Il19
@@ -21,6 +21,14 @@ class EmbeddedViewContentComponent {
21
21
  this.embeddedView = (_a = this.viewContainerRef) === null || _a === void 0 ? void 0 : _a.createEmbeddedView(this.templateRef);
22
22
  }
23
23
  }
24
+ ngDoCheck() {
25
+ var _a;
26
+ (_a = this.embeddedView) === null || _a === void 0 ? void 0 : _a.reattach();
27
+ }
28
+ ngAfterViewChecked() {
29
+ var _a;
30
+ (_a = this.embeddedView) === null || _a === void 0 ? void 0 : _a.detach();
31
+ }
24
32
  }
25
33
  EmbeddedViewContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EmbeddedViewContentComponent, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
26
34
  EmbeddedViewContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: EmbeddedViewContentComponent, selector: "ng-component", viewQueries: [{ propertyName: "templateRef", first: true, predicate: ["template"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "", isInline: true });
@@ -43,28 +51,33 @@ class BaseAngular extends EmbeddedViewContentComponent {
43
51
  this.onArrayChangedCallback = (stateElement, options) => {
44
52
  this.update(options.name);
45
53
  };
54
+ this.onPropertyChangedCallback = (stateElement, options) => {
55
+ this.update(options.name);
56
+ };
57
+ this.isUpdatesBlocked = false;
46
58
  }
47
59
  get surveyModel() {
48
60
  return this.getModel().getSurvey();
49
61
  }
50
62
  ngDoCheck() {
63
+ super.ngDoCheck();
51
64
  if (this.previousModel !== this.getModel()) {
52
65
  this.unMakeBaseElementAngular(this.previousModel);
53
66
  this.makeBaseElementAngular(this.getModel());
54
67
  this.onModelChanged();
55
68
  this.previousModel = this.getModel();
56
69
  }
57
- this.setIsRendering(true);
70
+ this.setIsModelRendering(true);
58
71
  }
59
72
  onModelChanged() { }
60
- setIsRendering(val) {
73
+ setIsModelRendering(val) {
61
74
  const model = this.getModel();
62
75
  if (!!model) {
63
76
  model.isRendering = val;
64
77
  }
65
78
  }
66
- getIsRendering() {
67
- const model = this.getModel();
79
+ getIsModelRendering(stateElement) {
80
+ const model = stateElement !== null && stateElement !== void 0 ? stateElement : this.getModel();
68
81
  return !!model && !!model.isRendering;
69
82
  }
70
83
  ngOnDestroy() {
@@ -73,80 +86,45 @@ class BaseAngular extends EmbeddedViewContentComponent {
73
86
  this.previousModel = undefined;
74
87
  }
75
88
  isBaseElementSubsribed(stateElement) {
76
- return !!stateElement.__ngImplemented;
77
- }
78
- getBaseElementCallbacks(stateElement) {
79
89
  var _a;
80
- stateElement.__ngSubscribers = (_a = stateElement.__ngSubscribers) !== null && _a !== void 0 ? _a : [];
81
- return (stateElement.__ngSubscribers);
90
+ return ((_a = stateElement.__ngImplementedCount) !== null && _a !== void 0 ? _a : 0) > 0;
82
91
  }
83
92
  makeBaseElementAngular(stateElement) {
84
- this.makeBaseElementAngularCallback = () => {
93
+ var _a;
94
+ if (!!stateElement && !this.getIsModelRendering(stateElement)) {
85
95
  this.isModelSubsribed = true;
86
- stateElement.__ngImplemented = true;
87
- stateElement.iteratePropertiesHash((hash, key) => {
88
- var val = hash[key];
89
- if (Array.isArray(val)) {
90
- var val = val;
91
- stateElement.addOnArrayChangedCallback(val, this.onArrayChangedCallback);
92
- }
93
- });
94
- stateElement.setPropertyValueCoreHandler = (hash, key, val) => {
95
- if (hash[key] !== val) {
96
- hash[key] = val;
97
- this.update(key);
98
- }
99
- };
96
+ stateElement.addOnArrayChangedCallback(this.onArrayChangedCallback);
97
+ stateElement.addOnPropertyValueChangedCallback(this.onPropertyChangedCallback);
100
98
  stateElement.enableOnElementRerenderedEvent();
101
- };
102
- if (!!stateElement) {
103
- if (!stateElement.__ngImplemented) {
104
- this.makeBaseElementAngularCallback();
105
- }
106
- else {
107
- this.getBaseElementCallbacks(stateElement).push(this.makeBaseElementAngularCallback);
108
- }
99
+ stateElement.__ngImplementedCount = ((_a = stateElement.__ngImplementedCount) !== null && _a !== void 0 ? _a : 0) + 1;
109
100
  }
110
101
  }
111
102
  unMakeBaseElementAngular(stateElement) {
112
- if (!!stateElement) {
113
- if (this.isModelSubsribed) {
114
- this.isModelSubsribed = false;
115
- stateElement.__ngImplemented = false;
116
- stateElement.setPropertyValueCoreHandler = undefined;
117
- stateElement.iteratePropertiesHash((hash, key) => {
118
- var val = hash[key];
119
- if (Array.isArray(val)) {
120
- var val = val;
121
- stateElement.removeOnArrayChangedCallback(val, this.onArrayChangedCallback);
122
- }
123
- });
124
- stateElement.disableOnElementRerenderedEvent();
125
- const callbacks = this.getBaseElementCallbacks(stateElement);
126
- const callback = callbacks.shift();
127
- callback && callback();
128
- }
129
- else if (this.makeBaseElementAngularCallback) {
130
- const callbacks = this.getBaseElementCallbacks(stateElement);
131
- const index = callbacks.indexOf(this.makeBaseElementAngularCallback);
132
- if (index > -1) {
133
- callbacks.splice(index, 1);
134
- }
103
+ var _a;
104
+ if (!!stateElement && this.isModelSubsribed) {
105
+ this.isModelSubsribed = false;
106
+ stateElement.removeOnPropertyValueChangedCallback(this.onPropertyChangedCallback);
107
+ stateElement.removeOnArrayChangedCallback(this.onArrayChangedCallback);
108
+ stateElement.disableOnElementRerenderedEvent();
109
+ if (((_a = stateElement.__ngImplementedCount) !== null && _a !== void 0 ? _a : 0) - 1 <= 0) {
110
+ delete stateElement.__ngImplementedCount;
135
111
  }
136
112
  }
137
113
  }
138
114
  update(key) {
139
- if (this.getIsRendering())
115
+ if (this.getIsModelRendering() || this.isUpdatesBlocked)
140
116
  return;
141
- this.beforeUpdate();
142
117
  if (key && this.getPropertiesToUpdateSync().indexOf(key) > -1) {
118
+ this.beforeUpdate();
143
119
  this.detectChanges();
144
120
  this.afterUpdate(true);
145
121
  }
146
122
  else {
123
+ this.isUpdatesBlocked = true;
147
124
  queueMicrotask(() => {
148
125
  if (!this.isDestroyed) {
149
- this.setIsRendering(true);
126
+ this.isUpdatesBlocked = false;
127
+ this.beforeUpdate();
150
128
  this.detectChanges();
151
129
  this.afterUpdate();
152
130
  }
@@ -166,17 +144,18 @@ class BaseAngular extends EmbeddedViewContentComponent {
166
144
  return true;
167
145
  }
168
146
  beforeUpdate() {
169
- this.setIsRendering(true);
147
+ this.setIsModelRendering(true);
170
148
  }
171
149
  afterUpdate(isSync = false) {
172
- this.setIsRendering(false);
150
+ this.setIsModelRendering(false);
173
151
  const model = this.getModel();
174
152
  if (model && !this.isDestroyed) {
175
153
  model.afterRerender();
176
154
  }
177
155
  }
178
156
  ngAfterViewChecked() {
179
- this.setIsRendering(false);
157
+ super.ngAfterViewChecked();
158
+ this.setIsModelRendering(false);
180
159
  }
181
160
  }
182
161
  BaseAngular.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BaseAngular, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
@@ -3416,7 +3395,7 @@ class PanelDynamicPrevBtn extends PaneldynamicAction {
3416
3395
  }
3417
3396
  }
3418
3397
  PanelDynamicPrevBtn.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PanelDynamicPrevBtn, deps: null, target: i0.ɵɵFactoryTarget.Component });
3419
- PanelDynamicPrevBtn.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PanelDynamicPrevBtn, selector: "sv-ng-paneldynamic-prev-btn", usesInheritance: true, ngImport: i0, template: "<div [attr.title]=\"question.panelPrevText\" (click)=\"prevPanelClick()\" [class]=\"question.getPrevButtonCss()\">\n <svg [iconName]=\"question.cssClasses.progressBtnIcon\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n</div>\n", components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }] });
3398
+ PanelDynamicPrevBtn.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PanelDynamicPrevBtn, selector: "sv-ng-paneldynamic-prev-btn", usesInheritance: true, ngImport: i0, template: "<div [attr.title]=\"question.prevPanelText\" (click)=\"prevPanelClick()\" [class]=\"question.getPrevButtonCss()\">\n <svg [iconName]=\"question.cssClasses.progressBtnIcon\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n</div>\n", components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }] });
3420
3399
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PanelDynamicPrevBtn, decorators: [{
3421
3400
  type: Component,
3422
3401
  args: [{