@ng-formworks/core 17.6.7 → 17.6.8

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,4 +1,4 @@
1
- import { ChangeDetectionStrategy, Component, inject, input } from '@angular/core';
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, inject, input } from '@angular/core';
2
2
  import { memoize } from 'lodash';
3
3
  import { JsonSchemaFormService } from '../json-schema-form.service';
4
4
  import * as i0 from "@angular/core";
@@ -8,6 +8,7 @@ import * as i3 from "./select-framework.component";
8
8
  export class RootComponent {
9
9
  constructor() {
10
10
  this.jsf = inject(JsonSchemaFormService);
11
+ this.cdr = inject(ChangeDetectorRef);
11
12
  this.dataIndex = input(undefined);
12
13
  this.layoutIndex = input(undefined);
13
14
  this.layout = input(undefined);
@@ -130,6 +131,7 @@ export class RootComponent {
130
131
  if (changes['layout'] || changes['dataIndex'] || changes['layoutIndex']) {
131
132
  // Clear the entire cache of the memoized function
132
133
  this._getSelectFrameworkInputsMemoized.cache.clear();
134
+ this.cdr.markForCheck();
133
135
  }
134
136
  }
135
137
  showWidget(layoutNode) {
@@ -140,6 +142,10 @@ export class RootComponent {
140
142
  this.jsf.dataChanges.subscribe((val) => {
141
143
  //this.selectframeworkInputCache?.clear();
142
144
  this._getSelectFrameworkInputsMemoized.cache.clear();
145
+ //TODO-fix for now changed to detectChanges-
146
+ //used to updated the dynamic titles in tab compnents
147
+ this.cdr.markForCheck();
148
+ // this.cdr.detectChanges();-breaks oneOf/ matdatepicker
143
149
  });
144
150
  }
145
151
  }
@@ -258,4 +264,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
258
264
  </div>
259
265
  `, changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, styles: ["[draggable=true]{transition:all .15s cubic-bezier(.4,0,.2,1)}[draggable=true]:hover{cursor:move;box-shadow:2px 2px 4px #0003;position:relative;z-index:10;margin:-1px 1px 1px -1px}[draggable=true].drag-target-top{box-shadow:0 -2px #000;position:relative;z-index:20}[draggable=true].drag-target-bottom{box-shadow:0 2px #000;position:relative;z-index:20}.flex-inherit{display:inherit;flex-flow:inherit;flex-wrap:inherit;flex-direction:inherit;width:100%}\n"] }]
260
266
  }] });
261
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1mb3Jtd29ya3MtY29yZS9zcmMvbGliL3dpZGdldC1saWJyYXJ5L3Jvb3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBK0MsTUFBTSxlQUFlLENBQUM7QUFDL0gsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUVqQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7QUF3RnBFLE1BQU0sT0FBTyxhQUFhO0lBdkYxQjtRQXlGVSxRQUFHLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFHbkMsY0FBUyxHQUFHLEtBQUssQ0FBVyxTQUFTLENBQUMsQ0FBQztRQUN2QyxnQkFBVyxHQUFHLEtBQUssQ0FBVyxTQUFTLENBQUMsQ0FBQztRQUN6QyxXQUFNLEdBQUcsS0FBSyxDQUFRLFNBQVMsQ0FBQyxDQUFDO1FBQ2pDLGdCQUFXLEdBQUcsS0FBSyxDQUFVLFNBQVMsQ0FBQyxDQUFDO1FBQ3hDLGVBQVUsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUIsdUJBQWtCLEdBQUUsS0FBSyxDQUFVLElBQUksQ0FBQyxDQUFDO1FBaUNsRDs7Ozs7O1dBTUc7UUFDRCxvRUFBb0U7UUFDcEUsZ0NBQWdDO1FBQ2hDLDBEQUEwRDtRQUMxRCxrQkFBYSxHQUFDLENBQUMsS0FBYSxFQUFFLElBQXFCLEVBQUMsRUFBRTtZQUNwRCxJQUFJLFVBQVUsR0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDcEMsSUFBSSxNQUFNLEdBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN4Qyw0QkFBNEI7WUFD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Q3hCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUNELFFBQVE7UUFDSixJQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBQztZQUN6QixJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUMsRUFBRTtnQkFDcEMsMENBQTBDO2dCQUMxQyxJQUFJLENBQUMsaUNBQWlDLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3ZELENBQUMsQ0FBQyxDQUFBO1NBQ0g7SUFFTCxDQUFDO0lBQ0QsV0FBVztRQUNQLHlDQUF5QztRQUN6QyxzQ0FBc0M7UUFDdEMsSUFBSSxDQUFDLGlDQUFpQyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNyRCxJQUFJLENBQUMsZUFBZSxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ3hDLENBQUM7K0dBdEtVLGFBQWE7bUdBQWIsYUFBYSw2NEJBcEZkOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0FtRFA7OzRGQWlDUSxhQUFhO2tCQXZGekIsU0FBUzsrQkFFRSxhQUFhLFlBQ2I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQW1EUCxtQkE4QmEsdUJBQXVCLENBQUMsTUFBTSxjQUNsQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrRHJhZywgQ2RrRHJhZ0Ryb3AgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBpbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBtZW1vaXplIH0gZnJvbSAnbG9kYXNoJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEpzb25TY2hlbWFGb3JtU2VydmljZSB9IGZyb20gJy4uL2pzb24tc2NoZW1hLWZvcm0uc2VydmljZSc7XHJcbkBDb21wb25lbnQoe1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb21wb25lbnQtc2VsZWN0b3JcclxuICBzZWxlY3RvcjogJ3Jvb3Qtd2lkZ2V0JyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50KVwiIFxyXG4gICAgICBbY2xhc3MuZmxleC1pbmhlcml0XT1cInRydWVcIlxyXG4gICAgICBbY2RrRHJvcExpc3RTb3J0UHJlZGljYXRlXT1cInNvcnRQcmVkaWNhdGVcIlxyXG4gICAgPlxyXG4gICAgICA8IS0tIC1mb3Igbm93IGxlZnQgb3V0XHJcbiAgICAgIGNka0RyYWdIYW5kbGUgZGlyZWN0aXZlLCBieSBpdHNlbGYsIGRvZXMgbm90IGRpc2FibGUgdGhlIFxyXG4gICAgICBkZWZhdWx0IGRyYWcgYmVoYXZpb3Igb2YgaXRzIHBhcmVudCBjZGtEcmFnIGVsZW1lbnQuIFxyXG4gICAgICBZb3UgbXVzdCBleHBsaWNpdGx5IGRpc2FibGUgZHJhZ2dpbmcgb24gdGhlIG1haW4gZWxlbWVudCBcclxuICAgICAgYW5kIHJlLWVuYWJsZSBpdCBvbmx5IHdoZW4gdXNpbmcgdGhlIGhhbmRsZS5cclxuICAgICAgLS0+XHJcbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGxheW91dEl0ZW0gb2YgbGF5b3V0KCk7IGxldCBpID0gaW5kZXg7dHJhY2tCeTogdHJhY2tCeUZuXCJcclxuICAgICAgICAgY2RrRHJhZyAgW2Nka0RyYWdTdGFydERlbGF5XT1cInt0b3VjaDoxMDAwLG1vdXNlOjB9XCJcclxuICAgICAgICBbY2RrRHJhZ0Rpc2FibGVkXT1cIiFpc0RyYWdnYWJsZShsYXlvdXRJdGVtKVwiXHJcbiAgICAgICAgW2NsYXNzLmZvcm0tZmxleC1pdGVtXT1cImlzRmxleEl0ZW0oKVwiXHJcbiAgICAgICAgW3N0eWxlLmFsaWduLXNlbGZdPVwiKGxheW91dEl0ZW0ub3B0aW9ucyB8fCB7fSlbJ2FsaWduLXNlbGYnXVwiXHJcbiAgICAgICAgW3N0eWxlLmZsZXgtYmFzaXNdPVwiZ2V0RmxleEF0dHJpYnV0ZShsYXlvdXRJdGVtLCAnZmxleC1iYXNpcycpXCJcclxuICAgICAgICBbc3R5bGUuZmxleC1ncm93XT1cImdldEZsZXhBdHRyaWJ1dGUobGF5b3V0SXRlbSwgJ2ZsZXgtZ3JvdycpXCJcclxuICAgICAgICBbc3R5bGUuZmxleC1zaHJpbmtdPVwiZ2V0RmxleEF0dHJpYnV0ZShsYXlvdXRJdGVtLCAnZmxleC1zaHJpbmsnKVwiXHJcbiAgICAgICAgW3N0eWxlLm9yZGVyXT1cIihsYXlvdXRJdGVtLm9wdGlvbnMgfHwge30pLm9yZGVyXCJcclxuICAgICAgICA+XHJcblxyXG4gICAgICAgIDwhLS0gd29ya2Fyb3VuZCB0byBkaXNiYWxlIGRyYWdnaW5nIG9mIGlucHV0IGZpZWxkcyAtLT5cclxuICAgICAgICA8IS0tXHJcbiAgICAgICAgPGRpdiAqbmdJZj1cImxheW91dEl0ZW0/LmRhdGFUeXBlICE9J29iamVjdCdcIiAgY2RrRHJhZ0hhbmRsZT5cclxuICAgICAgICAgPHA+RHJhZyBIYW5kbGUge3tsYXlvdXRJdGVtPy5kYXRhVHlwZX19PC9wPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIC0tPlxyXG4gICAgICAgIDwhLS1OQiBvcmRlcmFibGUgZGlyZWN0aXZlIGlzIG5vdCB1c2VkIGJ1dCBoYXMgYmVlbiBsZWZ0IGluIGZvciBub3cgYW5kIHNldCB0byBmYWxzZVxyXG4gICAgICAgICAgb3RoZXJ3aXNlIHRoZSBjb21waWxlciB3b24ndCByZWNvZ25pemUgZGF0YUluZGV4IGFuZCBvdGhlciBkZXBlbmRlbnQgYXR0cmlidXRlc1xyXG4gICAgICAgIC0tPlxyXG4gICAgICAgIDwhLS1cclxuICAgICAgICA8ZGl2IFxyXG4gICAgICAgICAgW2RhdGFJbmRleF09XCJsYXlvdXRJdGVtPy5hcnJheUl0ZW0gPyAoZGF0YUluZGV4KCkgfHwgW10pLmNvbmNhdChpKSA6IChkYXRhSW5kZXgoKSB8fCBbXSlcIlxyXG4gICAgICAgICAgW2xheW91dEluZGV4XT1cIihsYXlvdXRJbmRleCgpIHx8IFtdKS5jb25jYXQoaSlcIlxyXG4gICAgICAgICAgW2xheW91dE5vZGVdPVwibGF5b3V0SXRlbVwiXHJcbiAgICAgICAgICBbb3JkZXJhYmxlXT1cImZhbHNlXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgIDxzZWxlY3QtZnJhbWV3b3JrLXdpZGdldCAqbmdJZj1cInNob3dXaWRnZXQobGF5b3V0SXRlbSlcIlxyXG4gICAgICAgICAgICBbZGF0YUluZGV4XT1cImxheW91dEl0ZW0/LmFycmF5SXRlbSA/IChkYXRhSW5kZXgoKSB8fCBbXSkuY29uY2F0KGkpIDogKGRhdGFJbmRleCgpIHx8IFtdKVwiXHJcbiAgICAgICAgICAgIFtsYXlvdXRJbmRleF09XCIobGF5b3V0SW5kZXgoKSB8fCBbXSkuY29uY2F0KGkpXCJcclxuICAgICAgICAgICAgW2xheW91dE5vZGVdPVwibGF5b3V0SXRlbVwiPjwvc2VsZWN0LWZyYW1ld29yay13aWRnZXQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgLS0+XHJcbiAgICAgIDxzZWxlY3QtZnJhbWV3b3JrLXdpZGdldCAqbmdJZj1cInNob3dXaWRnZXQobGF5b3V0SXRlbSlcIlxyXG4gICAgICAgICAgICBbZGF0YUluZGV4XT1cImdldFNlbGVjdEZyYW1ld29ya0lucHV0cyhsYXlvdXRJdGVtLGkpLmRhdGFJbmRleFwiXHJcbiAgICAgICAgICAgIFtsYXlvdXRJbmRleF09XCJnZXRTZWxlY3RGcmFtZXdvcmtJbnB1dHMobGF5b3V0SXRlbSxpKS5sYXlvdXRJbmRleFwiXHJcbiAgICAgICAgICAgIFtsYXlvdXROb2RlXT1cImdldFNlbGVjdEZyYW1ld29ya0lucHV0cyhsYXlvdXRJdGVtLGkpLmxheW91dE5vZGVcIj5cclxuXHRcdCAgPC9zZWxlY3QtZnJhbWV3b3JrLXdpZGdldD5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIGAsXHJcbiAgc3R5bGVzOiBbYFxyXG4gICAgW2RyYWdnYWJsZT10cnVlXSB7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCAxNTBtcyBjdWJpYy1iZXppZXIoLjQsIDAsIC4yLCAxKTtcclxuICAgIH1cclxuICAgIFtkcmFnZ2FibGU9dHJ1ZV06aG92ZXIge1xyXG4gICAgICBjdXJzb3I6IG1vdmU7XHJcbiAgICAgIGJveC1zaGFkb3c6IDJweCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiAxMDtcclxuICAgICAgbWFyZ2luLXRvcDogLTFweDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMXB4O1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxcHg7XHJcbiAgICB9XHJcbiAgICBbZHJhZ2dhYmxlPXRydWVdLmRyYWctdGFyZ2V0LXRvcCB7XHJcbiAgICAgIGJveC1zaGFkb3c6IDAgLTJweCAwICMwMDA7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMjA7XHJcbiAgICB9XHJcbiAgICBbZHJhZ2dhYmxlPXRydWVdLmRyYWctdGFyZ2V0LWJvdHRvbSB7XHJcbiAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDAgIzAwMDtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiAyMDtcclxuICAgIH1cclxuICAgIC5mbGV4LWluaGVyaXR7XHJcbiAgICAgIGRpc3BsYXk6aW5oZXJpdDtcclxuICAgICAgZmxleC1mbG93OmluaGVyaXQ7XHJcbiAgICAgIGZsZXgtd3JhcDppbmhlcml0O1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjppbmhlcml0O1xyXG4gICAgICB3aWR0aDoxMDAlXHJcbiAgICB9XHJcbiAgYF0sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUm9vdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LE9uQ2hhbmdlcyB7XHJcblxyXG4gIHByaXZhdGUganNmID0gaW5qZWN0KEpzb25TY2hlbWFGb3JtU2VydmljZSk7XHJcblxyXG4gIG9wdGlvbnM6IGFueTtcclxuICByZWFkb25seSBkYXRhSW5kZXggPSBpbnB1dDxudW1iZXJbXT4odW5kZWZpbmVkKTtcclxuICByZWFkb25seSBsYXlvdXRJbmRleCA9IGlucHV0PG51bWJlcltdPih1bmRlZmluZWQpO1xyXG4gIHJlYWRvbmx5IGxheW91dCA9IGlucHV0PGFueVtdPih1bmRlZmluZWQpO1xyXG4gIHJlYWRvbmx5IGlzT3JkZXJhYmxlID0gaW5wdXQ8Ym9vbGVhbj4odW5kZWZpbmVkKTtcclxuICByZWFkb25seSBpc0ZsZXhJdGVtID0gaW5wdXQoZmFsc2UpO1xyXG4gIHJlYWRvbmx5IG1lbW9pemF0aW9uRW5hYmxlZD0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XHJcblxyXG4gIGRhdGFDaGFuZ2VzU3ViczpTdWJzY3JpcHRpb247XHJcblxyXG4gIGRyb3AoZXZlbnQ6IENka0RyYWdEcm9wPHN0cmluZ1tdPikge1xyXG4gICAgLy8gbW9zdCBsaWtlbHkgd2h5IHRoaXMgZXZlbnQgaXMgdXNlZCBpcyB0byBnZXQgdGhlIGRyYWdnaW5nIGVsZW1lbnQncyBjdXJyZW50IGluZGV4XHJcbiAgICBsZXQgc3JjSW5kPWV2ZW50LnByZXZpb3VzSW5kZXg7XHJcbiAgICBsZXQgdHJnSW5kPWV2ZW50LmN1cnJlbnRJbmRleDtcclxuICAgIGxldCBsYXlvdXRJdGVtPXRoaXMubGF5b3V0KClbdHJnSW5kXTtcclxuICAgIGxldCBkYXRhSW5kPWxheW91dEl0ZW0/LmFycmF5SXRlbSA/ICh0aGlzLmRhdGFJbmRleCgpIHx8IFtdKS5jb25jYXQodHJnSW5kKSA6ICh0aGlzLmRhdGFJbmRleCgpIHx8IFtdKTtcclxuICAgIGxldCBsYXlvdXRJbmQ9KHRoaXMubGF5b3V0SW5kZXgoKSB8fCBbXSkuY29uY2F0KHRyZ0luZClcclxuICAgIGxldCBpdGVtQ3R4OmFueT17XHJcbiAgICAgIGRhdGFJbmRleDooKT0+e3JldHVybiBkYXRhSW5kfSxcclxuICAgICAgbGF5b3V0SW5kZXg6KCk9PntyZXR1cm4gbGF5b3V0SW5kfSxcclxuICAgICAgbGF5b3V0Tm9kZTooKT0+e3JldHVybiBsYXlvdXRJdGVtfSxcclxuICAgIH1cclxuICAgIHRoaXMuanNmLm1vdmVBcnJheUl0ZW0oaXRlbUN0eCwgc3JjSW5kLCB0cmdJbmQsdHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBpc0RyYWdnYWJsZShub2RlOiBhbnkpOiBib29sZWFuIHtcclxuICAgIGxldCByZXN1bHQ9bm9kZS5hcnJheUl0ZW0gJiYgbm9kZS50eXBlICE9PSAnJHJlZicgJiZcclxuICAgIG5vZGUuYXJyYXlJdGVtVHlwZSA9PT0gJ2xpc3QnICYmIHRoaXMuaXNPcmRlcmFibGUoKSAhPT0gZmFsc2VcclxuICAgICYmIG5vZGUudHlwZSAhPT0nc3VibWl0J1xyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIC8vVE9ETyBhbHNvIG5lZWQgdG8gdGhpbmsgb2Ygb3RoZXIgdHlwZXMgc3VjaCBhcyBidXR0b24gd2hpY2ggY2FuIGJlXHJcbiAgLy9jcmVhdGVkIGJ5IGFuIGFyYml0cmFyeSBsYXlvdXRcclxuICBpc0ZpeGVkKG5vZGU6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgbGV0IHJlc3VsdD1ub2RlLnR5cGUgPT0gJyRyZWYnO1xyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFByZWRpY2F0ZSBmdW5jdGlvbiB0aGF0IGRpc2FsbG93cyAnJHJlZicgaXRlbSBzb3J0c1xyXG4gICAqIE5CIGRlY2xhcmVkIGFzIGEgdmFyIGluc3RlYWQgb2YgYSBmdW5jdGlvbiBcclxuICAgKiBsaWtlIHNvcnRQcmVkaWNhdGUoaW5kZXg6IG51bWJlciwgaXRlbTogQ2RrRHJhZzxudW1iZXI+KXsuLn1cclxuICAgKiBzaW5jZSAndGhpcycgaXMgYm91bmQgdG8gdGhlIGRyYWdsaXN0IGFuZCBkb2Vzbid0IHJlZmVyZW5jZSB0aGVcclxuICAgKiBGbGV4TGF5b3V0Um9vdENvbXBvbmVudCBpbnN0YW5jZVxyXG4gICAqL1xyXG4gICAgLy9UT0RPIGFsc28gbmVlZCB0byB0aGluayBvZiBvdGhlciB0eXBlcyBzdWNoIGFzIGJ1dHRvbiB3aGljaCBjYW4gYmVcclxuICAgIC8vY3JlYXRlZCBieSBhbiBhcmJpdHJhcnkgbGF5b3V0XHJcbiAgICAvL21pZ2h0IG5vdCBiZSBuZWVkZWQgYWRkZWQgY29uZGl0aW9uIHRvIFtjZGtEcmFnRGlzYWJsZWRdXHJcbiAgICBzb3J0UHJlZGljYXRlPShpbmRleDogbnVtYmVyLCBpdGVtOiBDZGtEcmFnPG51bWJlcj4pPT4ge1xyXG4gICAgICBsZXQgbGF5b3V0SXRlbT10aGlzLmxheW91dCgpW2luZGV4XTtcclxuICAgICAgbGV0IHJlc3VsdD10aGlzLmlzRHJhZ2dhYmxlKGxheW91dEl0ZW0pO1xyXG4gICAgICAvL2xheW91dEl0ZW0udHlwZSAhPSAnJHJlZic7XHJcbiAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9XHJcblxyXG4gIC8vIFNldCBhdHRyaWJ1dGVzIGZvciBmbGV4Ym94IGNoaWxkXHJcbiAgLy8gKGNvbnRhaW5lciBhdHRyaWJ1dGVzIGFyZSBzZXQgaW4gc2VjdGlvbi5jb21wb25lbnQpXHJcbiAgZ2V0RmxleEF0dHJpYnV0ZShub2RlOiBhbnksIGF0dHJpYnV0ZTogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBpbmRleCA9IFsnZmxleC1ncm93JywgJ2ZsZXgtc2hyaW5rJywgJ2ZsZXgtYmFzaXMnXS5pbmRleE9mKGF0dHJpYnV0ZSk7XHJcbiAgICByZXR1cm4gKChub2RlLm9wdGlvbnMgfHwge30pLmZsZXggfHwgJycpLnNwbGl0KC9cXHMrLylbaW5kZXhdIHx8XHJcbiAgICAgIChub2RlLm9wdGlvbnMgfHwge30pW2F0dHJpYnV0ZV0gfHwgWycxJywgJzEnLCAnYXV0byddW2luZGV4XTtcclxuICB9XHJcblxyXG4gIC8vcHJpdmF0ZSBzZWxlY3RmcmFtZXdvcmtJbnB1dENhY2hlID0gbmV3IE1hcDxzdHJpbmcsIHsgZGF0YUluZGV4OiBhbnlbXSwgbGF5b3V0SW5kZXg6IGFueVtdLCBsYXlvdXROb2RlOiBhbnkgfT4oKTtcclxuXHJcbiAgLy9UT0RPIHJldmlldyBjYWNoaW5nLWlmIGZvcm0gZmllbGQgdmFsdWVzIGNoYW5nZSwgdGhlIGNoYW5nZXMgYXJlIG5vdCBwcm9wYWdhdGVkXHJcblxyXG4gIC8qXHJcbiAgZ2V0U2VsZWN0RnJhbWV3b3JrSW5wdXRzKGxheW91dEl0ZW06IGFueSwgaTogbnVtYmVyKSB7XHJcbiAgICAvLyBDcmVhdGUgYSB1bmlxdWUga2V5IGJhc2VkIG9uIHRoZSBsYXlvdXRJdGVtIGFuZCBpbmRleFxyXG4gICAgY29uc3QgY2FjaGVLZXkgPSBgJHtsYXlvdXRJdGVtLl9pZH0tJHtpfWA7XHJcbiAgXHJcbiAgICAvLyBJZiB0aGUgcmVzdWx0IGlzIGFscmVhZHkgaW4gdGhlIGNhY2hlLCByZXR1cm4gaXRcclxuICAgIGlmKHRoaXMuZW5hYmxlQ2FjaGluZyl7XHJcbiAgICAgIGlmICh0aGlzLnNlbGVjdGZyYW1ld29ya0lucHV0Q2FjaGUuaGFzKGNhY2hlS2V5KSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGZyYW1ld29ya0lucHV0Q2FjaGUuZ2V0KGNhY2hlS2V5KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvLyBJZiBub3QgY2FjaGVkLCBjYWxjdWxhdGUgdGhlIHZhbHVlcyAoYXNzdW1pbmcgZGF0YUluZGV4KCkgYW5kIGxheW91dEluZGV4KCkgYXJlIGZ1bmN0aW9ucylcclxuICAgIGNvbnN0IGRhdGFJbmRleCA9IGxheW91dEl0ZW0/LmFycmF5SXRlbSA/ICh0aGlzLmRhdGFJbmRleCgpIHx8IFtdKS5jb25jYXQoaSkgOiAodGhpcy5kYXRhSW5kZXgoKSB8fCBbXSk7XHJcbiAgICBjb25zdCBsYXlvdXRJbmRleCA9ICh0aGlzLmxheW91dEluZGV4KCkgfHwgW10pLmNvbmNhdChpKTtcclxuXHJcbiAgICAvLyBTYXZlIHRoZSByZXN1bHQgaW4gdGhlIGNhY2hlXHJcbiAgICBjb25zdCByZXN1bHQgPSB7IGRhdGFJbmRleCwgbGF5b3V0SW5kZXgsIGxheW91dE5vZGU6IGxheW91dEl0ZW0gfTtcclxuICAgIGlmKHRoaXMuZW5hYmxlQ2FjaGluZyl7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZnJhbWV3b3JrSW5wdXRDYWNoZS5zZXQoY2FjaGVLZXksIHJlc3VsdCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcbiAgICAqL1xyXG5cclxuICBwcml2YXRlIF9nZXRTZWxlY3RGcmFtZXdvcmtJbnB1dHNSYXcgPSAobGF5b3V0SXRlbTogYW55LCBpOiBudW1iZXIpID0+IHtcclxuICAgIGNvbnN0IGRhdGFJbmRleFZhbHVlID0gdGhpcy5kYXRhSW5kZXgoKSB8fCBbXTtcclxuICAgIGNvbnN0IGxheW91dEluZGV4VmFsdWUgPSB0aGlzLmxheW91dEluZGV4KCkgfHwgW107XHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbGF5b3V0Tm9kZTogbGF5b3V0SXRlbSxcclxuICAgICAgbGF5b3V0SW5kZXg6IFsuLi5sYXlvdXRJbmRleFZhbHVlLCBpXSxcclxuICAgICAgZGF0YUluZGV4OiBsYXlvdXRJdGVtPy5hcnJheUl0ZW0gPyBbLi4uZGF0YUluZGV4VmFsdWUsIGldIDogZGF0YUluZGV4VmFsdWUsXHJcbiAgICB9O1xyXG4gIH07XHJcblxyXG4gIC8vIERlZmluZSBhIHNlcGFyYXRlIGZ1bmN0aW9uIHRvIGhvbGQgdGhlIG1lbW9pemVkIHZlcnNpb25cclxuICBwcml2YXRlIF9nZXRTZWxlY3RGcmFtZXdvcmtJbnB1dHNNZW1vaXplZCA9IG1lbW9pemUoXHJcbiAgICB0aGlzLl9nZXRTZWxlY3RGcmFtZXdvcmtJbnB1dHNSYXcsXHJcbiAgICAobGF5b3V0SXRlbTogYW55LCBpOiBudW1iZXIpID0+IHtcclxuICAgICAgY29uc3QgbGF5b3V0SXRlbUtleSA9IGxheW91dEl0ZW0/LmlkID8/IEpTT04uc3RyaW5naWZ5KGxheW91dEl0ZW0pO1xyXG4gICAgICByZXR1cm4gYCR7bGF5b3V0SXRlbUtleX0tJHtpfWA7XHJcbiAgICB9XHJcbiAgKTtcclxuXHJcbiAgLy8gVGhpcyBpcyB0aGUgcHVibGljIGZ1bmN0aW9uIHRoYXQgdGhlIHRlbXBsYXRlIGNhbGxzXHJcbiAgZ2V0U2VsZWN0RnJhbWV3b3JrSW5wdXRzKGxheW91dEl0ZW06IGFueSwgaTogbnVtYmVyKSB7XHJcbiAgICBpZiAodGhpcy5tZW1vaXphdGlvbkVuYWJsZWQpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX2dldFNlbGVjdEZyYW1ld29ya0lucHV0c01lbW9pemVkKGxheW91dEl0ZW0sIGkpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX2dldFNlbGVjdEZyYW1ld29ya0lucHV0c1JhdyhsYXlvdXRJdGVtLCBpKTtcclxuICAgIH1cclxuICB9XHJcbiAgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIsIGl0ZW06IGFueSk6IGFueSB7XHJcbiAgICByZXR1cm4gaXRlbS5faWQgPz8gaW5kZXg7XHJcbiAgfVxyXG5cclxuICBcclxuXHJcbiAgLypcclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAvLyBJZiBhbnkgb2YgdGhlIGlucHV0IHByb3BlcnRpZXMgY2hhbmdlLCBjbGVhciB0aGUgY2FjaGVcclxuICAgIGlmIChjaGFuZ2VzLmRhdGFJbmRleCB8fCBjaGFuZ2VzLmxheW91dEluZGV4IHx8IGNoYW5nZXMubGF5b3V0KSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZnJhbWV3b3JrSW5wdXRDYWNoZT8uY2xlYXIoKTsgLy8gQ2xlYXIgdGhlIGVudGlyZSBjYWNoZVxyXG4gICAgfVxyXG4gIH1cclxuICAqL1xyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzWydsYXlvdXQnXSB8fCBjaGFuZ2VzWydkYXRhSW5kZXgnXSB8fCBjaGFuZ2VzWydsYXlvdXRJbmRleCddKSB7XHJcbiAgICAgIC8vIENsZWFyIHRoZSBlbnRpcmUgY2FjaGUgb2YgdGhlIG1lbW9pemVkIGZ1bmN0aW9uXHJcbiAgICAgIHRoaXMuX2dldFNlbGVjdEZyYW1ld29ya0lucHV0c01lbW9pemVkLmNhY2hlLmNsZWFyKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgc2hvd1dpZGdldChsYXlvdXROb2RlOiBhbnkpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmpzZi5ldmFsdWF0ZUNvbmRpdGlvbihsYXlvdXROb2RlLCB0aGlzLmRhdGFJbmRleCgpKTtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgIGlmKHRoaXMubWVtb2l6YXRpb25FbmFibGVkKXtcclxuICAgICAgICB0aGlzLmpzZi5kYXRhQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbCk9PntcclxuICAgICAgICAgIC8vdGhpcy5zZWxlY3RmcmFtZXdvcmtJbnB1dENhY2hlPy5jbGVhcigpO1xyXG4gICAgICAgICAgdGhpcy5fZ2V0U2VsZWN0RnJhbWV3b3JrSW5wdXRzTWVtb2l6ZWQuY2FjaGUuY2xlYXIoKTtcclxuICAgICAgICB9KVxyXG4gICAgICB9XHJcblxyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgLy90aGlzLnNlbGVjdGZyYW1ld29ya0lucHV0Q2FjaGU/LmNsZWFyKClcclxuICAgICAgLy90aGlzLnNlbGVjdGZyYW1ld29ya0lucHV0Q2FjaGU9bnVsbDtcclxuICAgICAgdGhpcy5fZ2V0U2VsZWN0RnJhbWV3b3JrSW5wdXRzTWVtb2l6ZWQuY2FjaGUuY2xlYXIoKTtcclxuICAgICAgdGhpcy5kYXRhQ2hhbmdlc1N1YnM/LnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG4gIFxyXG5cclxufVxyXG4iXX0=
267
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1mb3Jtd29ya3MtY29yZS9zcmMvbGliL3dpZGdldC1saWJyYXJ5L3Jvb3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBK0MsTUFBTSxlQUFlLENBQUM7QUFDbEosT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUVqQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7QUF3RnBFLE1BQU0sT0FBTyxhQUFhO0lBdkYxQjtRQXlGVSxRQUFHLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDcEMsUUFBRyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRS9CLGNBQVMsR0FBRyxLQUFLLENBQVcsU0FBUyxDQUFDLENBQUM7UUFDdkMsZ0JBQVcsR0FBRyxLQUFLLENBQVcsU0FBUyxDQUFDLENBQUM7UUFDekMsV0FBTSxHQUFHLEtBQUssQ0FBUSxTQUFTLENBQUMsQ0FBQztRQUNqQyxnQkFBVyxHQUFHLEtBQUssQ0FBVSxTQUFTLENBQUMsQ0FBQztRQUN4QyxlQUFVLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFCLHVCQUFrQixHQUFFLEtBQUssQ0FBVSxJQUFJLENBQUMsQ0FBQztRQWlDbEQ7Ozs7OztXQU1HO1FBQ0Qsb0VBQW9FO1FBQ3BFLGdDQUFnQztRQUNoQywwREFBMEQ7UUFDMUQsa0JBQWEsR0FBQyxDQUFDLEtBQWEsRUFBRSxJQUFxQixFQUFDLEVBQUU7WUFDcEQsSUFBSSxVQUFVLEdBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3BDLElBQUksTUFBTSxH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ICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIGluamVjdCwgaW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgbWVtb2l6ZSB9IGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBKc29uU2NoZW1hRm9ybVNlcnZpY2UgfSBmcm9tICcuLi9qc29uLXNjaGVtYS1mb3JtLnNlcnZpY2UnO1xyXG5AQ29tcG9uZW50KHtcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y29tcG9uZW50LXNlbGVjdG9yXHJcbiAgc2VsZWN0b3I6ICdyb290LXdpZGdldCcsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2RrRHJvcExpc3QgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCRldmVudClcIiBcclxuICAgICAgW2NsYXNzLmZsZXgtaW5oZXJpdF09XCJ0cnVlXCJcclxuICAgICAgW2Nka0Ryb3BMaXN0U29ydFByZWRpY2F0ZV09XCJzb3J0UHJlZGljYXRlXCJcclxuICAgID5cclxuICAgICAgPCEtLSAtZm9yIG5vdyBsZWZ0IG91dFxyXG4gICAgICBjZGtEcmFnSGFuZGxlIGRpcmVjdGl2ZSwgYnkgaXRzZWxmLCBkb2VzIG5vdCBkaXNhYmxlIHRoZSBcclxuICAgICAgZGVmYXVsdCBkcmFnIGJlaGF2aW9yIG9mIGl0cyBwYXJlbnQgY2RrRHJhZyBlbGVtZW50LiBcclxuICAgICAgWW91IG11c3QgZXhwbGljaXRseSBkaXNhYmxlIGRyYWdnaW5nIG9uIHRoZSBtYWluIGVsZW1lbnQgXHJcbiAgICAgIGFuZCByZS1lbmFibGUgaXQgb25seSB3aGVuIHVzaW5nIHRoZSBoYW5kbGUuXHJcbiAgICAgIC0tPlxyXG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBsYXlvdXRJdGVtIG9mIGxheW91dCgpOyBsZXQgaSA9IGluZGV4O3RyYWNrQnk6IHRyYWNrQnlGblwiXHJcbiAgICAgICAgIGNka0RyYWcgIFtjZGtEcmFnU3RhcnREZWxheV09XCJ7dG91Y2g6MTAwMCxtb3VzZTowfVwiXHJcbiAgICAgICAgW2Nka0RyYWdEaXNhYmxlZF09XCIhaXNEcmFnZ2FibGUobGF5b3V0SXRlbSlcIlxyXG4gICAgICAgIFtjbGFzcy5mb3JtLWZsZXgtaXRlbV09XCJpc0ZsZXhJdGVtKClcIlxyXG4gICAgICAgIFtzdHlsZS5hbGlnbi1zZWxmXT1cIihsYXlvdXRJdGVtLm9wdGlvbnMgfHwge30pWydhbGlnbi1zZWxmJ11cIlxyXG4gICAgICAgIFtzdHlsZS5mbGV4LWJhc2lzXT1cImdldEZsZXhBdHRyaWJ1dGUobGF5b3V0SXRlbSwgJ2ZsZXgtYmFzaXMnKVwiXHJcbiAgICAgICAgW3N0eWxlLmZsZXgtZ3Jvd109XCJnZXRGbGV4QXR0cmlidXRlKGxheW91dEl0ZW0sICdmbGV4LWdyb3cnKVwiXHJcbiAgICAgICAgW3N0eWxlLmZsZXgtc2hyaW5rXT1cImdldEZsZXhBdHRyaWJ1dGUobGF5b3V0SXRlbSwgJ2ZsZXgtc2hyaW5rJylcIlxyXG4gICAgICAgIFtzdHlsZS5vcmRlcl09XCIobGF5b3V0SXRlbS5vcHRpb25zIHx8IHt9KS5vcmRlclwiXHJcbiAgICAgICAgPlxyXG5cclxuICAgICAgICA8IS0tIHdvcmthcm91bmQgdG8gZGlzYmFsZSBkcmFnZ2luZyBvZiBpbnB1dCBmaWVsZHMgLS0+XHJcbiAgICAgICAgPCEtLVxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJsYXlvdXRJdGVtPy5kYXRhVHlwZSAhPSdvYmplY3QnXCIgIGNka0RyYWdIYW5kbGU+XHJcbiAgICAgICAgIDxwPkRyYWcgSGFuZGxlIHt7bGF5b3V0SXRlbT8uZGF0YVR5cGV9fTwvcD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICAtLT5cclxuICAgICAgICA8IS0tTkIgb3JkZXJhYmxlIGRpcmVjdGl2ZSBpcyBub3QgdXNlZCBidXQgaGFzIGJlZW4gbGVmdCBpbiBmb3Igbm93IGFuZCBzZXQgdG8gZmFsc2VcclxuICAgICAgICAgIG90aGVyd2lzZSB0aGUgY29tcGlsZXIgd29uJ3QgcmVjb2duaXplIGRhdGFJbmRleCBhbmQgb3RoZXIgZGVwZW5kZW50IGF0dHJpYnV0ZXNcclxuICAgICAgICAtLT5cclxuICAgICAgICA8IS0tXHJcbiAgICAgICAgPGRpdiBcclxuICAgICAgICAgIFtkYXRhSW5kZXhdPVwibGF5b3V0SXRlbT8uYXJyYXlJdGVtID8gKGRhdGFJbmRleCgpIHx8IFtdKS5jb25jYXQoaSkgOiAoZGF0YUluZGV4KCkgfHwgW10pXCJcclxuICAgICAgICAgIFtsYXlvdXRJbmRleF09XCIobGF5b3V0SW5kZXgoKSB8fCBbXSkuY29uY2F0KGkpXCJcclxuICAgICAgICAgIFtsYXlvdXROb2RlXT1cImxheW91dEl0ZW1cIlxyXG4gICAgICAgICAgW29yZGVyYWJsZV09XCJmYWxzZVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICA8c2VsZWN0LWZyYW1ld29yay13aWRnZXQgKm5nSWY9XCJzaG93V2lkZ2V0KGxheW91dEl0ZW0pXCJcclxuICAgICAgICAgICAgW2RhdGFJbmRleF09XCJsYXlvdXRJdGVtPy5hcnJheUl0ZW0gPyAoZGF0YUluZGV4KCkgfHwgW10pLmNvbmNhdChpKSA6IChkYXRhSW5kZXgoKSB8fCBbXSlcIlxyXG4gICAgICAgICAgICBbbGF5b3V0SW5kZXhdPVwiKGxheW91dEluZGV4KCkgfHwgW10pLmNvbmNhdChpKVwiXHJcbiAgICAgICAgICAgIFtsYXlvdXROb2RlXT1cImxheW91dEl0ZW1cIj48L3NlbGVjdC1mcmFtZXdvcmstd2lkZ2V0PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIC0tPlxyXG4gICAgICA8c2VsZWN0LWZyYW1ld29yay13aWRnZXQgKm5nSWY9XCJzaG93V2lkZ2V0KGxheW91dEl0ZW0pXCJcclxuICAgICAgICAgICAgW2RhdGFJbmRleF09XCJnZXRTZWxlY3RGcmFtZXdvcmtJbnB1dHMobGF5b3V0SXRlbSxpKS5kYXRhSW5kZXhcIlxyXG4gICAgICAgICAgICBbbGF5b3V0SW5kZXhdPVwiZ2V0U2VsZWN0RnJhbWV3b3JrSW5wdXRzKGxheW91dEl0ZW0saSkubGF5b3V0SW5kZXhcIlxyXG4gICAgICAgICAgICBbbGF5b3V0Tm9kZV09XCJnZXRTZWxlY3RGcmFtZXdvcmtJbnB1dHMobGF5b3V0SXRlbSxpKS5sYXlvdXROb2RlXCI+XHJcblx0XHQgIDwvc2VsZWN0LWZyYW1ld29yay13aWRnZXQ+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICBgLFxyXG4gIHN0eWxlczogW2BcclxuICAgIFtkcmFnZ2FibGU9dHJ1ZV0ge1xyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMTUwbXMgY3ViaWMtYmV6aWVyKC40LCAwLCAuMiwgMSk7XHJcbiAgICB9XHJcbiAgICBbZHJhZ2dhYmxlPXRydWVdOmhvdmVyIHtcclxuICAgICAgY3Vyc29yOiBtb3ZlO1xyXG4gICAgICBib3gtc2hhZG93OiAycHggMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTA7XHJcbiAgICAgIG1hcmdpbi10b3A6IC0xcHg7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDFweDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMXB4O1xyXG4gICAgfVxyXG4gICAgW2RyYWdnYWJsZT10cnVlXS5kcmFnLXRhcmdldC10b3Age1xyXG4gICAgICBib3gtc2hhZG93OiAwIC0ycHggMCAjMDAwO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDIwO1xyXG4gICAgfVxyXG4gICAgW2RyYWdnYWJsZT10cnVlXS5kcmFnLXRhcmdldC1ib3R0b20ge1xyXG4gICAgICBib3gtc2hhZG93OiAwIDJweCAwICMwMDA7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMjA7XHJcbiAgICB9XHJcbiAgICAuZmxleC1pbmhlcml0e1xyXG4gICAgICBkaXNwbGF5OmluaGVyaXQ7XHJcbiAgICAgIGZsZXgtZmxvdzppbmhlcml0O1xyXG4gICAgICBmbGV4LXdyYXA6aW5oZXJpdDtcclxuICAgICAgZmxleC1kaXJlY3Rpb246aW5oZXJpdDtcclxuICAgICAgd2lkdGg6MTAwJVxyXG4gICAgfVxyXG4gIGBdLFxyXG4gIGNoYW5nZURldGVjdGlvbjpDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIFJvb3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSxPbkNoYW5nZXMge1xyXG5cclxuICBwcml2YXRlIGpzZiA9IGluamVjdChKc29uU2NoZW1hRm9ybVNlcnZpY2UpO1xyXG4gIHByaXZhdGUgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcclxuICBvcHRpb25zOiBhbnk7XHJcbiAgcmVhZG9ubHkgZGF0YUluZGV4ID0gaW5wdXQ8bnVtYmVyW10+KHVuZGVmaW5lZCk7XHJcbiAgcmVhZG9ubHkgbGF5b3V0SW5kZXggPSBpbnB1dDxudW1iZXJbXT4odW5kZWZpbmVkKTtcclxuICByZWFkb25seSBsYXlvdXQgPSBpbnB1dDxhbnlbXT4odW5kZWZpbmVkKTtcclxuICByZWFkb25seSBpc09yZGVyYWJsZSA9IGlucHV0PGJvb2xlYW4+KHVuZGVmaW5lZCk7XHJcbiAgcmVhZG9ubHkgaXNGbGV4SXRlbSA9IGlucHV0KGZhbHNlKTtcclxuICByZWFkb25seSBtZW1vaXphdGlvbkVuYWJsZWQ9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xyXG5cclxuICBkYXRhQ2hhbmdlc1N1YnM6U3Vic2NyaXB0aW9uO1xyXG5cclxuICBkcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxzdHJpbmdbXT4pIHtcclxuICAgIC8vIG1vc3QgbGlrZWx5IHdoeSB0aGlzIGV2ZW50IGlzIHVzZWQgaXMgdG8gZ2V0IHRoZSBkcmFnZ2luZyBlbGVtZW50J3MgY3VycmVudCBpbmRleFxyXG4gICAgbGV0IHNyY0luZD1ldmVudC5wcmV2aW91c0luZGV4O1xyXG4gICAgbGV0IHRyZ0luZD1ldmVudC5jdXJyZW50SW5kZXg7XHJcbiAgICBsZXQgbGF5b3V0SXRlbT10aGlzLmxheW91dCgpW3RyZ0luZF07XHJcbiAgICBsZXQgZGF0YUluZD1sYXlvdXRJdGVtPy5hcnJheUl0ZW0gPyAodGhpcy5kYXRhSW5kZXgoKSB8fCBbXSkuY29uY2F0KHRyZ0luZCkgOiAodGhpcy5kYXRhSW5kZXgoKSB8fCBbXSk7XHJcbiAgICBsZXQgbGF5b3V0SW5kPSh0aGlzLmxheW91dEluZGV4KCkgfHwgW10pLmNvbmNhdCh0cmdJbmQpXHJcbiAgICBsZXQgaXRlbUN0eDphbnk9e1xyXG4gICAgICBkYXRhSW5kZXg6KCk9PntyZXR1cm4gZGF0YUluZH0sXHJcbiAgICAgIGxheW91dEluZGV4OigpPT57cmV0dXJuIGxheW91dEluZH0sXHJcbiAgICAgIGxheW91dE5vZGU6KCk9PntyZXR1cm4gbGF5b3V0SXRlbX0sXHJcbiAgICB9XHJcbiAgICB0aGlzLmpzZi5tb3ZlQXJyYXlJdGVtKGl0ZW1DdHgsIHNyY0luZCwgdHJnSW5kLHRydWUpO1xyXG4gIH1cclxuXHJcbiAgaXNEcmFnZ2FibGUobm9kZTogYW55KTogYm9vbGVhbiB7XHJcbiAgICBsZXQgcmVzdWx0PW5vZGUuYXJyYXlJdGVtICYmIG5vZGUudHlwZSAhPT0gJyRyZWYnICYmXHJcbiAgICBub2RlLmFycmF5SXRlbVR5cGUgPT09ICdsaXN0JyAmJiB0aGlzLmlzT3JkZXJhYmxlKCkgIT09IGZhbHNlXHJcbiAgICAmJiBub2RlLnR5cGUgIT09J3N1Ym1pdCdcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICAvL1RPRE8gYWxzbyBuZWVkIHRvIHRoaW5rIG9mIG90aGVyIHR5cGVzIHN1Y2ggYXMgYnV0dG9uIHdoaWNoIGNhbiBiZVxyXG4gIC8vY3JlYXRlZCBieSBhbiBhcmJpdHJhcnkgbGF5b3V0XHJcbiAgaXNGaXhlZChub2RlOiBhbnkpOiBib29sZWFuIHtcclxuICAgIGxldCByZXN1bHQ9bm9kZS50eXBlID09ICckcmVmJztcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQcmVkaWNhdGUgZnVuY3Rpb24gdGhhdCBkaXNhbGxvd3MgJyRyZWYnIGl0ZW0gc29ydHNcclxuICAgKiBOQiBkZWNsYXJlZCBhcyBhIHZhciBpbnN0ZWFkIG9mIGEgZnVuY3Rpb24gXHJcbiAgICogbGlrZSBzb3J0UHJlZGljYXRlKGluZGV4OiBudW1iZXIsIGl0ZW06IENka0RyYWc8bnVtYmVyPil7Li59XHJcbiAgICogc2luY2UgJ3RoaXMnIGlzIGJvdW5kIHRvIHRoZSBkcmFnbGlzdCBhbmQgZG9lc24ndCByZWZlcmVuY2UgdGhlXHJcbiAgICogRmxleExheW91dFJvb3RDb21wb25lbnQgaW5zdGFuY2VcclxuICAgKi9cclxuICAgIC8vVE9ETyBhbHNvIG5lZWQgdG8gdGhpbmsgb2Ygb3RoZXIgdHlwZXMgc3VjaCBhcyBidXR0b24gd2hpY2ggY2FuIGJlXHJcbiAgICAvL2NyZWF0ZWQgYnkgYW4gYXJiaXRyYXJ5IGxheW91dFxyXG4gICAgLy9taWdodCBub3QgYmUgbmVlZGVkIGFkZGVkIGNvbmRpdGlvbiB0byBbY2RrRHJhZ0Rpc2FibGVkXVxyXG4gICAgc29ydFByZWRpY2F0ZT0oaW5kZXg6IG51bWJlciwgaXRlbTogQ2RrRHJhZzxudW1iZXI+KT0+IHtcclxuICAgICAgbGV0IGxheW91dEl0ZW09dGhpcy5sYXlvdXQoKVtpbmRleF07XHJcbiAgICAgIGxldCByZXN1bHQ9dGhpcy5pc0RyYWdnYWJsZShsYXlvdXRJdGVtKTtcclxuICAgICAgLy9sYXlvdXRJdGVtLnR5cGUgIT0gJyRyZWYnO1xyXG4gICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG5cclxuICAvLyBTZXQgYXR0cmlidXRlcyBmb3IgZmxleGJveCBjaGlsZFxyXG4gIC8vIChjb250YWluZXIgYXR0cmlidXRlcyBhcmUgc2V0IGluIHNlY3Rpb24uY29tcG9uZW50KVxyXG4gIGdldEZsZXhBdHRyaWJ1dGUobm9kZTogYW55LCBhdHRyaWJ1dGU6IHN0cmluZykge1xyXG4gICAgY29uc3QgaW5kZXggPSBbJ2ZsZXgtZ3JvdycsICdmbGV4LXNocmluaycsICdmbGV4LWJhc2lzJ10uaW5kZXhPZihhdHRyaWJ1dGUpO1xyXG4gICAgcmV0dXJuICgobm9kZS5vcHRpb25zIHx8IHt9KS5mbGV4IHx8ICcnKS5zcGxpdCgvXFxzKy8pW2luZGV4XSB8fFxyXG4gICAgICAobm9kZS5vcHRpb25zIHx8IHt9KVthdHRyaWJ1dGVdIHx8IFsnMScsICcxJywgJ2F1dG8nXVtpbmRleF07XHJcbiAgfVxyXG5cclxuICAvL3ByaXZhdGUgc2VsZWN0ZnJhbWV3b3JrSW5wdXRDYWNoZSA9IG5ldyBNYXA8c3RyaW5nLCB7IGRhdGFJbmRleDogYW55W10sIGxheW91dEluZGV4OiBhbnlbXSwgbGF5b3V0Tm9kZTogYW55IH0+KCk7XHJcblxyXG4gIC8vVE9ETyByZXZpZXcgY2FjaGluZy1pZiBmb3JtIGZpZWxkIHZhbHVlcyBjaGFuZ2UsIHRoZSBjaGFuZ2VzIGFyZSBub3QgcHJvcGFnYXRlZFxyXG5cclxuICAvKlxyXG4gIGdldFNlbGVjdEZyYW1ld29ya0lucHV0cyhsYXlvdXRJdGVtOiBhbnksIGk6IG51bWJlcikge1xyXG4gICAgLy8gQ3JlYXRlIGEgdW5pcXVlIGtleSBiYXNlZCBvbiB0aGUgbGF5b3V0SXRlbSBhbmQgaW5kZXhcclxuICAgIGNvbnN0IGNhY2hlS2V5ID0gYCR7bGF5b3V0SXRlbS5faWR9LSR7aX1gO1xyXG4gIFxyXG4gICAgLy8gSWYgdGhlIHJlc3VsdCBpcyBhbHJlYWR5IGluIHRoZSBjYWNoZSwgcmV0dXJuIGl0XHJcbiAgICBpZih0aGlzLmVuYWJsZUNhY2hpbmcpe1xyXG4gICAgICBpZiAodGhpcy5zZWxlY3RmcmFtZXdvcmtJbnB1dENhY2hlLmhhcyhjYWNoZUtleSkpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RmcmFtZXdvcmtJbnB1dENhY2hlLmdldChjYWNoZUtleSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLy8gSWYgbm90IGNhY2hlZCwgY2FsY3VsYXRlIHRoZSB2YWx1ZXMgKGFzc3VtaW5nIGRhdGFJbmRleCgpIGFuZCBsYXlvdXRJbmRleCgpIGFyZSBmdW5jdGlvbnMpXHJcbiAgICBjb25zdCBkYXRhSW5kZXggPSBsYXlvdXRJdGVtPy5hcnJheUl0ZW0gPyAodGhpcy5kYXRhSW5kZXgoKSB8fCBbXSkuY29uY2F0KGkpIDogKHRoaXMuZGF0YUluZGV4KCkgfHwgW10pO1xyXG4gICAgY29uc3QgbGF5b3V0SW5kZXggPSAodGhpcy5sYXlvdXRJbmRleCgpIHx8IFtdKS5jb25jYXQoaSk7XHJcblxyXG4gICAgLy8gU2F2ZSB0aGUgcmVzdWx0IGluIHRoZSBjYWNoZVxyXG4gICAgY29uc3QgcmVzdWx0ID0geyBkYXRhSW5kZXgsIGxheW91dEluZGV4LCBsYXlvdXROb2RlOiBsYXlvdXRJdGVtIH07XHJcbiAgICBpZih0aGlzLmVuYWJsZUNhY2hpbmcpe1xyXG4gICAgICB0aGlzLnNlbGVjdGZyYW1ld29ya0lucHV0Q2FjaGUuc2V0KGNhY2hlS2V5LCByZXN1bHQpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG4gICAgKi9cclxuXHJcbiAgcHJpdmF0ZSBfZ2V0U2VsZWN0RnJhbWV3b3JrSW5wdXRzUmF3ID0gKGxheW91dEl0ZW06IGFueSwgaTogbnVtYmVyKSA9PiB7XHJcbiAgICBjb25zdCBkYXRhSW5kZXhWYWx1ZSA9IHRoaXMuZGF0YUluZGV4KCkgfHwgW107XHJcbiAgICBjb25zdCBsYXlvdXRJbmRleFZhbHVlID0gdGhpcy5sYXlvdXRJbmRleCgpIHx8IFtdO1xyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgIGxheW91dE5vZGU6IGxheW91dEl0ZW0sXHJcbiAgICAgIGxheW91dEluZGV4OiBbLi4ubGF5b3V0SW5kZXhWYWx1ZSwgaV0sXHJcbiAgICAgIGRhdGFJbmRleDogbGF5b3V0SXRlbT8uYXJyYXlJdGVtID8gWy4uLmRhdGFJbmRleFZhbHVlLCBpXSA6IGRhdGFJbmRleFZhbHVlLFxyXG4gICAgfTtcclxuICB9O1xyXG5cclxuICAvLyBEZWZpbmUgYSBzZXBhcmF0ZSBmdW5jdGlvbiB0byBob2xkIHRoZSBtZW1vaXplZCB2ZXJzaW9uXHJcbiAgcHJpdmF0ZSBfZ2V0U2VsZWN0RnJhbWV3b3JrSW5wdXRzTWVtb2l6ZWQgPSBtZW1vaXplKFxyXG4gICAgdGhpcy5fZ2V0U2VsZWN0RnJhbWV3b3JrSW5wdXRzUmF3LFxyXG4gICAgKGxheW91dEl0ZW06IGFueSwgaTogbnVtYmVyKSA9PiB7XHJcbiAgICAgIGNvbnN0IGxheW91dEl0ZW1LZXkgPSBsYXlvdXRJdGVtPy5pZCA/PyBKU09OLnN0cmluZ2lmeShsYXlvdXRJdGVtKTtcclxuICAgICAgcmV0dXJuIGAke2xheW91dEl0ZW1LZXl9LSR7aX1gO1xyXG4gICAgfVxyXG4gICk7XHJcblxyXG4gIC8vIFRoaXMgaXMgdGhlIHB1YmxpYyBmdW5jdGlvbiB0aGF0IHRoZSB0ZW1wbGF0ZSBjYWxsc1xyXG4gIGdldFNlbGVjdEZyYW1ld29ya0lucHV0cyhsYXlvdXRJdGVtOiBhbnksIGk6IG51bWJlcikge1xyXG4gICAgaWYgKHRoaXMubWVtb2l6YXRpb25FbmFibGVkKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9nZXRTZWxlY3RGcmFtZXdvcmtJbnB1dHNNZW1vaXplZChsYXlvdXRJdGVtLCBpKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9nZXRTZWxlY3RGcmFtZXdvcmtJbnB1dHNSYXcobGF5b3V0SXRlbSwgaSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHRyYWNrQnlGbihpbmRleDogbnVtYmVyLCBpdGVtOiBhbnkpOiBhbnkge1xyXG4gICAgcmV0dXJuIGl0ZW0uX2lkID8/IGluZGV4O1xyXG4gIH1cclxuXHJcbiAgXHJcblxyXG4gIC8qXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgLy8gSWYgYW55IG9mIHRoZSBpbnB1dCBwcm9wZXJ0aWVzIGNoYW5nZSwgY2xlYXIgdGhlIGNhY2hlXHJcbiAgICBpZiAoY2hhbmdlcy5kYXRhSW5kZXggfHwgY2hhbmdlcy5sYXlvdXRJbmRleCB8fCBjaGFuZ2VzLmxheW91dCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGZyYW1ld29ya0lucHV0Q2FjaGU/LmNsZWFyKCk7IC8vIENsZWFyIHRoZSBlbnRpcmUgY2FjaGVcclxuICAgIH1cclxuICB9XHJcbiAgKi9cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlc1snbGF5b3V0J10gfHwgY2hhbmdlc1snZGF0YUluZGV4J10gfHwgY2hhbmdlc1snbGF5b3V0SW5kZXgnXSkge1xyXG4gICAgICAvLyBDbGVhciB0aGUgZW50aXJlIGNhY2hlIG9mIHRoZSBtZW1vaXplZCBmdW5jdGlvblxyXG4gICAgICB0aGlzLl9nZXRTZWxlY3RGcmFtZXdvcmtJbnB1dHNNZW1vaXplZC5jYWNoZS5jbGVhcigpO1xyXG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBzaG93V2lkZ2V0KGxheW91dE5vZGU6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuanNmLmV2YWx1YXRlQ29uZGl0aW9uKGxheW91dE5vZGUsIHRoaXMuZGF0YUluZGV4KCkpO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgaWYodGhpcy5tZW1vaXphdGlvbkVuYWJsZWQpe1xyXG4gICAgICAgIHRoaXMuanNmLmRhdGFDaGFuZ2VzLnN1YnNjcmliZSgodmFsKT0+e1xyXG4gICAgICAgICAgLy90aGlzLnNlbGVjdGZyYW1ld29ya0lucHV0Q2FjaGU/LmNsZWFyKCk7XHJcbiAgICAgICAgICB0aGlzLl9nZXRTZWxlY3RGcmFtZXdvcmtJbnB1dHNNZW1vaXplZC5jYWNoZS5jbGVhcigpO1xyXG4gICAgICAgIC8vVE9ETy1maXggZm9yIG5vdyBjaGFuZ2VkIHRvIGRldGVjdENoYW5nZXMtXHJcbiAgICAgICAgLy91c2VkIHRvIHVwZGF0ZWQgdGhlIGR5bmFtaWMgdGl0bGVzIGluIHRhYiBjb21wbmVudHMgXHJcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAvLyB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7LWJyZWFrcyBvbmVPZi8gbWF0ZGF0ZXBpY2tlclxyXG4gICAgICAgIH0pXHJcbiAgICAgIH1cclxuXHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAvL3RoaXMuc2VsZWN0ZnJhbWV3b3JrSW5wdXRDYWNoZT8uY2xlYXIoKVxyXG4gICAgICAvL3RoaXMuc2VsZWN0ZnJhbWV3b3JrSW5wdXRDYWNoZT1udWxsO1xyXG4gICAgICB0aGlzLl9nZXRTZWxlY3RGcmFtZXdvcmtJbnB1dHNNZW1vaXplZC5jYWNoZS5jbGVhcigpO1xyXG4gICAgICB0aGlzLmRhdGFDaGFuZ2VzU3Vicz8udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcbiAgXHJcblxyXG59XHJcbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { Component, inject, input, signal } from '@angular/core';
1
+ import { ChangeDetectorRef, Component, inject, input, signal } from '@angular/core';
2
2
  import { JsonSchemaFormService } from '../json-schema-form.service';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/common";
@@ -7,6 +7,7 @@ import * as i3 from "./select-framework.component";
7
7
  export class TabsComponent {
8
8
  constructor() {
9
9
  this.jsf = inject(JsonSchemaFormService);
10
+ this.cdr = inject(ChangeDetectorRef);
10
11
  this.selectedItem = 0;
11
12
  this.showAddTab = true;
12
13
  this.layoutNode = input(undefined);
@@ -20,6 +21,12 @@ export class TabsComponent {
20
21
  }
21
22
  this.itemCount = this.layoutNode().items.length - 1;
22
23
  this.updateControl();
24
+ //TODO review/test-introduced to fix dynamic titles not updating
25
+ //when their conditional linked field is destroyed
26
+ //-forces change detection!
27
+ this.jsf.dataChanges.subscribe((val) => {
28
+ this.cdr.detectChanges();
29
+ });
23
30
  }
24
31
  select(index) {
25
32
  const layoutNode = this.layoutNode();
@@ -44,6 +51,9 @@ export class TabsComponent {
44
51
  setTabTitle(item, index) {
45
52
  return this.jsf.setArrayItemTitle(this, item, index);
46
53
  }
54
+ ngOnDestroy() {
55
+ this.dataChangesSubs?.unsubscribe();
56
+ }
47
57
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
48
58
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: TabsComponent, selector: "tabs-widget", inputs: { layoutNode: { classPropertyName: "layoutNode", publicName: "layoutNode", isSignal: true, isRequired: false, transformFunction: null }, layoutIndex: { classPropertyName: "layoutIndex", publicName: "layoutIndex", isSignal: true, isRequired: false, transformFunction: null }, dataIndex: { classPropertyName: "dataIndex", publicName: "dataIndex", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
49
59
  <ul
@@ -67,6 +77,7 @@ export class TabsComponent {
67
77
  />
68
78
  {{setTabTitle(item, i)}}
69
79
  </a>
80
+
70
81
  </li>
71
82
  </ul>
72
83
 
@@ -121,6 +132,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
121
132
  />
122
133
  {{setTabTitle(item, i)}}
123
134
  </a>
135
+
124
136
  </li>
125
137
  </ul>
126
138
 
@@ -151,4 +163,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
151
163
  </ng-container>
152
164
  </div>`, standalone: false, styles: ["a{cursor:pointer}.ngf-hidden{display:none}\n"] }]
153
165
  }] });
154
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1mb3Jtd29ya3MtY29yZS9zcmMvbGliL3dpZGdldC1saWJyYXJ5L3RhYnMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7O0FBOERwRSxNQUFNLE9BQU8sYUFBYTtJQTNEMUI7UUE0RFUsUUFBRyxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBSTVDLGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDVCxlQUFVLEdBQUcsS0FBSyxDQUFNLFNBQVMsQ0FBQyxDQUFDO1FBQ25DLGdCQUFXLEdBQUcsS0FBSyxDQUFXLFNBQVMsQ0FBQyxDQUFDO1FBQ3pDLGNBQVMsR0FBRyxLQUFLLENBQVcsU0FBUyxDQUFDLENBQUM7S0FxQ2pEO0lBbkNDLFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQy9DLElBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUM7WUFDMUIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQztTQUM5QztRQUNELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUs7UUFDVixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDckMsSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUU7WUFDM0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUN6QyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQztnQkFDZixVQUFVLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzNDLFdBQVcsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDckQsU0FBUyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ2xELENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUN0QjtRQUNELElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFFRCxhQUFhO1FBQ1gsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM3RSxJQUFJLFFBQVEsQ0FBQyxJQUFJLEtBQUssTUFBTTtZQUMxQixJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLEVBQ3JEO1lBQ0EsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7U0FDekI7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLElBQVMsRUFBRSxLQUFhO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3ZELENBQUM7K0dBN0NVLGFBQWE7bUdBQWIsYUFBYSxvZEF4RGQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1dBa0REOzs0RkFNRSxhQUFhO2tCQTNEekIsU0FBUzsrQkFFRSxhQUFhLFlBQ2I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1dBa0RELGNBSUssS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBpbmplY3QsIGlucHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSnNvblNjaGVtYUZvcm1TZXJ2aWNlIH0gZnJvbSAnLi4vanNvbi1zY2hlbWEtZm9ybS5zZXJ2aWNlJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y29tcG9uZW50LXNlbGVjdG9yXHJcbiAgc2VsZWN0b3I6ICd0YWJzLXdpZGdldCcsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDx1bFxyXG4gICAgICBbY2xhc3NdPVwib3B0aW9ucz8ubGFiZWxIdG1sQ2xhc3MgfHwgJydcIj5cclxuICAgICAgPGxpICpuZ0Zvcj1cImxldCBpdGVtIG9mIGxheW91dE5vZGUoKT8uaXRlbXM7IGxldCBpID0gaW5kZXhcIlxyXG4gICAgICAgIFtjbGFzc109XCIob3B0aW9ucz8uaXRlbUxhYmVsSHRtbENsYXNzIHx8ICcnKSArIChzZWxlY3RlZEl0ZW0gPT09IGkgP1xyXG4gICAgICAgICAgKCcgJyArIChvcHRpb25zPy5hY3RpdmVDbGFzcyB8fCAnJykgKyAnICcgKyAob3B0aW9ucz8uc3R5bGU/LnNlbGVjdGVkIHx8ICcnKSkgOlxyXG4gICAgICAgICAgKCcgJyArIG9wdGlvbnM/LnN0eWxlPy51bnNlbGVjdGVkKSlcIlxyXG4gICAgICAgIHJvbGU9XCJwcmVzZW50YXRpb25cIlxyXG4gICAgICAgIGRhdGEtdGFicz5cclxuICAgICAgICA8YSAqbmdJZj1cInNob3dBZGRUYWIgfHwgaXRlbS50eXBlICE9PSAnJHJlZidcIlxyXG4gICAgICAgICAgIFtjbGFzc109XCInbmF2LWxpbmsnICsgKHNlbGVjdGVkSXRlbSA9PT0gaSA/ICgnICcgKyBvcHRpb25zPy5hY3RpdmVDbGFzcyArICcgJyArIG9wdGlvbnM/LnN0eWxlPy5zZWxlY3RlZCkgOlxyXG4gICAgICAgICAgICAoJyAnICsgb3B0aW9ucz8uc3R5bGU/LnVuc2VsZWN0ZWQpKVwiXHJcbiAgICAgICAgICAoY2xpY2spPVwic2VsZWN0KGkpXCI+XHJcbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInJhZGlvXCIgW3ZhbHVlXT1cImlcIiAqbmdJZj1cIm9wdGlvbnM/LnRhYk1vZGU9PSdvbmVPZk1vZGUnXCIgXHJcbiAgICAgICAgICAgbmFtZT1cInRhYlNlbGVjdGlvblwiIFxyXG4gICAgICAgICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWRJdGVtXCJcclxuICAgICAgICAgICBbY2xhc3NdPVwiKG9wdGlvbnM/LndpZGdldF9yYWRpb0NsYXNzIHx8ICcnKVwiXHJcbiAgICAgICAgICAgW3ZhbHVlXT1cImlcIiBcclxuICAgICAgICAgICAoY2hhbmdlKT1cInNlbGVjdChpKVwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgICAge3tzZXRUYWJUaXRsZShpdGVtLCBpKX19XHJcbiAgICAgICAgICA8L2E+XHJcbiAgICAgIDwvbGk+XHJcbiAgICA8L3VsPlxyXG5cclxuICAgIDxkaXYgKm5nRm9yPVwibGV0IGxheW91dEl0ZW0gb2YgbGF5b3V0Tm9kZSgpPy5pdGVtczsgbGV0IGkgPSBpbmRleFwiXHJcbiAgICAgIFtjbGFzc109XCIob3B0aW9ucz8uaHRtbENsYXNzIHx8ICcnKSArIChzZWxlY3RlZEl0ZW0gIT0gaT8nIG5nZi1oaWRkZW4nOicnKSBcIj5cclxuICAgICAgICA8IS0tZm9yIG5vdyB0aGUgb25seSBkaWZmZXJlbmNlIGJldHdlZW4gb25lT2ZNb2RlIGFuZCB0aGUgZGVmYXVsdCBcclxuICAgICAgICAgIGlzIHRoYXQgb25lT2ZNb2RlIHVzZXMgdGhlICpuZ0lmPVwic2VsZWN0ZWRJdGVtID09PSBpXCIgY2xhdXNlLCB3aGljaCBhdXRvbWF0aWNhbGx5XHJcbiAgICAgICAgICBkZXN0cm95cyB0aGUgdGFicyB0aGF0IGFyZSBub3QgcmVuZGVyZWQgd2hpbGUgZGVmYXVsdCBtb2RlIG9ubHkgaGlkZSB0aGVtXHJcbiAgICAgICAgICB0aGUgdXBzaG90IGlzIHRoYXQgb25seSB0aGUgYWN0aXZlIHRhYnMgdmFsdWUgd2lsbCBiZSB1c2VkXHJcbiAgICAgICAgLS0+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvcHRpb25zPy50YWJNb2RlPT0nb25lT2ZNb2RlJ1wiPlxyXG4gICAgICAgIDxzZWxlY3QtZnJhbWV3b3JrLXdpZGdldCAqbmdJZj1cInNlbGVjdGVkSXRlbSA9PT0gaVwiXHJcbiAgICAgICAgICBbY2xhc3NdPVwiKG9wdGlvbnM/LmZpZWxkSHRtbENsYXNzIHx8ICcnKSArXHJcbiAgICAgICAgICAgICcgJyArIChvcHRpb25zPy5hY3RpdmVDbGFzcyB8fCAnJykgK1xyXG4gICAgICAgICAgICAnICcgKyAob3B0aW9ucz8uc3R5bGU/LnNlbGVjdGVkIHx8ICcnKVwiXHJcbiAgICAgICAgICBbZGF0YUluZGV4XT1cImxheW91dE5vZGUoKT8uZGF0YVR5cGUgPT09ICdhcnJheScgPyAoZGF0YUluZGV4KCkgfHwgW10pLmNvbmNhdChpKSA6IGRhdGFJbmRleCgpXCJcclxuICAgICAgICAgIFtsYXlvdXRJbmRleF09XCIobGF5b3V0SW5kZXgoKSB8fCBbXSkuY29uY2F0KGkpXCJcclxuICAgICAgICAgIFtsYXlvdXROb2RlXT1cImxheW91dEl0ZW1cIj48L3NlbGVjdC1mcmFtZXdvcmstd2lkZ2V0PlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj4gXHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvcHRpb25zPy50YWJNb2RlICE9J29uZU9mTW9kZSdcIj5cclxuICAgICAgICA8c2VsZWN0LWZyYW1ld29yay13aWRnZXQgXHJcbiAgICAgICAgICBbY2xhc3NdPVwiKG9wdGlvbnM/LmZpZWxkSHRtbENsYXNzIHx8ICcnKSArXHJcbiAgICAgICAgICAgICcgJyArIChvcHRpb25zPy5hY3RpdmVDbGFzcyB8fCAnJykgK1xyXG4gICAgICAgICAgICAnICcgKyAob3B0aW9ucz8uc3R5bGU/LnNlbGVjdGVkIHx8ICcnKVwiXHJcbiAgICAgICAgICBbZGF0YUluZGV4XT1cImxheW91dE5vZGUoKT8uZGF0YVR5cGUgPT09ICdhcnJheScgPyAoZGF0YUluZGV4KCkgfHwgW10pLmNvbmNhdChpKSA6IGRhdGFJbmRleCgpXCJcclxuICAgICAgICAgIFtsYXlvdXRJbmRleF09XCIobGF5b3V0SW5kZXgoKSB8fCBbXSkuY29uY2F0KGkpXCJcclxuICAgICAgICAgIFtsYXlvdXROb2RlXT1cImxheW91dEl0ZW1cIj48L3NlbGVjdC1mcmFtZXdvcmstd2lkZ2V0PlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj4gXHJcbiAgICA8L2Rpdj5gLFxyXG4gICAgc3R5bGVzOiBbYCBhIHsgY3Vyc29yOiBwb2ludGVyOyB9IFxyXG4gICAgICAgIC5uZ2YtaGlkZGVue2Rpc3BsYXk6bm9uZX1cclxuICAgICAgYF0sXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFic0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcHJpdmF0ZSBqc2YgPSBpbmplY3QoSnNvblNjaGVtYUZvcm1TZXJ2aWNlKTtcclxuXHJcbiAgb3B0aW9uczogYW55O1xyXG4gIGl0ZW1Db3VudDogbnVtYmVyO1xyXG4gIHNlbGVjdGVkSXRlbSA9IDA7XHJcbiAgc2hvd0FkZFRhYiA9IHRydWU7XHJcbiAgcmVhZG9ubHkgbGF5b3V0Tm9kZSA9IGlucHV0PGFueT4odW5kZWZpbmVkKTtcclxuICByZWFkb25seSBsYXlvdXRJbmRleCA9IGlucHV0PG51bWJlcltdPih1bmRlZmluZWQpO1xyXG4gIHJlYWRvbmx5IGRhdGFJbmRleCA9IGlucHV0PG51bWJlcltdPih1bmRlZmluZWQpO1xyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMub3B0aW9ucyA9IHRoaXMubGF5b3V0Tm9kZSgpLm9wdGlvbnMgfHwge307XHJcbiAgICBpZih0aGlzLm9wdGlvbnMuc2VsZWN0ZWRUYWIpe1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IHRoaXMub3B0aW9ucy5zZWxlY3RlZFRhYjtcclxuICAgIH1cclxuICAgIHRoaXMuaXRlbUNvdW50ID0gdGhpcy5sYXlvdXROb2RlKCkuaXRlbXMubGVuZ3RoIC0gMTtcclxuICAgIHRoaXMudXBkYXRlQ29udHJvbCgpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0KGluZGV4KSB7XHJcbiAgICBjb25zdCBsYXlvdXROb2RlID0gdGhpcy5sYXlvdXROb2RlKCk7XHJcbiAgICBpZiAobGF5b3V0Tm9kZS5pdGVtc1tpbmRleF0udHlwZSA9PT0gJyRyZWYnKSB7XHJcbiAgICAgIHRoaXMuaXRlbUNvdW50ID0gbGF5b3V0Tm9kZS5pdGVtcy5sZW5ndGg7XHJcbiAgICAgIHRoaXMuanNmLmFkZEl0ZW0oe1xyXG4gICAgICAgIGxheW91dE5vZGU6IHNpZ25hbChsYXlvdXROb2RlLml0ZW1zW2luZGV4XSksXHJcbiAgICAgICAgbGF5b3V0SW5kZXg6IHNpZ25hbCh0aGlzLmxheW91dEluZGV4KCkuY29uY2F0KGluZGV4KSksXHJcbiAgICAgICAgZGF0YUluZGV4OiBzaWduYWwodGhpcy5kYXRhSW5kZXgoKS5jb25jYXQoaW5kZXgpKVxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy51cGRhdGVDb250cm9sKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IGluZGV4O1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlQ29udHJvbCgpIHtcclxuICAgIGNvbnN0IGxhc3RJdGVtID0gdGhpcy5sYXlvdXROb2RlKCkuaXRlbXNbdGhpcy5sYXlvdXROb2RlKCkuaXRlbXMubGVuZ3RoIC0gMV07XHJcbiAgICBpZiAobGFzdEl0ZW0udHlwZSA9PT0gJyRyZWYnICYmXHJcbiAgICAgIHRoaXMuaXRlbUNvdW50ID49IChsYXN0SXRlbS5vcHRpb25zLm1heEl0ZW1zIHx8IDEwMDApXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5zaG93QWRkVGFiID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRUYWJUaXRsZShpdGVtOiBhbnksIGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuanNmLnNldEFycmF5SXRlbVRpdGxlKHRoaXMsIGl0ZW0sIGluZGV4KTtcclxuICB9XHJcbn1cclxuIl19
166
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1mb3Jtd29ya3MtY29yZS9zcmMvbGliL3dpZGdldC1saWJyYXJ5L3RhYnMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQXFCLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7OztBQStEcEUsTUFBTSxPQUFPLGFBQWE7SUE1RDFCO1FBNkRVLFFBQUcsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUNwQyxRQUFHLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFHeEMsaUJBQVksR0FBRyxDQUFDLENBQUM7UUFDakIsZUFBVSxHQUFHLElBQUksQ0FBQztRQUNULGVBQVUsR0FBRyxLQUFLLENBQU0sU0FBUyxDQUFDLENBQUM7UUFDbkMsZ0JBQVcsR0FBRyxLQUFLLENBQVcsU0FBUyxDQUFDLENBQUM7UUFDekMsY0FBUyxHQUFHLEtBQUssQ0FBVyxTQUFTLENBQUMsQ0FBQztLQStDakQ7SUE3Q0MsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDL0MsSUFBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBQztZQUMxQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO1NBQzlDO1FBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JCLGdFQUFnRTtRQUNoRSxrREFBa0Q7UUFDbEQsMkJBQTJCO1FBQzNCLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBQyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUs7UUFDVixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDckMsSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUU7WUFDM0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUN6QyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQztnQkFDZixVQUFVLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzNDLFdBQVcsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDckQsU0FBUyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ2xELENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUN0QjtRQUNELElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFFRCxhQUFhO1FBQ1gsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM3RSxJQUFJLFFBQVEsQ0FBQyxJQUFJLEtBQUssTUFBTTtZQUMxQixJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLEVBQ3JEO1lBQ0EsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7U0FDekI7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLElBQVMsRUFBRSxLQUFhO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGVBQWUsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUN0QyxDQUFDOytHQXZEVSxhQUFhO21HQUFiLGFBQWEsb2RBekRkOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7V0FtREQ7OzRGQU1FLGFBQWE7a0JBNUR6QixTQUFTOytCQUVFLGFBQWEsWUFDYjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1dBbURELGNBSUssS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0LCBpbmplY3QsIGlucHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEpzb25TY2hlbWFGb3JtU2VydmljZSB9IGZyb20gJy4uL2pzb24tc2NoZW1hLWZvcm0uc2VydmljZSc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxyXG4gIHNlbGVjdG9yOiAndGFicy13aWRnZXQnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8dWxcclxuICAgICAgW2NsYXNzXT1cIm9wdGlvbnM/LmxhYmVsSHRtbENsYXNzIHx8ICcnXCI+XHJcbiAgICAgIDxsaSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBsYXlvdXROb2RlKCk/Lml0ZW1zOyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICBbY2xhc3NdPVwiKG9wdGlvbnM/Lml0ZW1MYWJlbEh0bWxDbGFzcyB8fCAnJykgKyAoc2VsZWN0ZWRJdGVtID09PSBpID9cclxuICAgICAgICAgICgnICcgKyAob3B0aW9ucz8uYWN0aXZlQ2xhc3MgfHwgJycpICsgJyAnICsgKG9wdGlvbnM/LnN0eWxlPy5zZWxlY3RlZCB8fCAnJykpIDpcclxuICAgICAgICAgICgnICcgKyBvcHRpb25zPy5zdHlsZT8udW5zZWxlY3RlZCkpXCJcclxuICAgICAgICByb2xlPVwicHJlc2VudGF0aW9uXCJcclxuICAgICAgICBkYXRhLXRhYnM+XHJcbiAgICAgICAgPGEgKm5nSWY9XCJzaG93QWRkVGFiIHx8IGl0ZW0udHlwZSAhPT0gJyRyZWYnXCJcclxuICAgICAgICAgICBbY2xhc3NdPVwiJ25hdi1saW5rJyArIChzZWxlY3RlZEl0ZW0gPT09IGkgPyAoJyAnICsgb3B0aW9ucz8uYWN0aXZlQ2xhc3MgKyAnICcgKyBvcHRpb25zPy5zdHlsZT8uc2VsZWN0ZWQpIDpcclxuICAgICAgICAgICAgKCcgJyArIG9wdGlvbnM/LnN0eWxlPy51bnNlbGVjdGVkKSlcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cInNlbGVjdChpKVwiPlxyXG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJyYWRpb1wiIFt2YWx1ZV09XCJpXCIgKm5nSWY9XCJvcHRpb25zPy50YWJNb2RlPT0nb25lT2ZNb2RlJ1wiIFxyXG4gICAgICAgICAgIG5hbWU9XCJ0YWJTZWxlY3Rpb25cIiBcclxuICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkSXRlbVwiXHJcbiAgICAgICAgICAgW2NsYXNzXT1cIihvcHRpb25zPy53aWRnZXRfcmFkaW9DbGFzcyB8fCAnJylcIlxyXG4gICAgICAgICAgIFt2YWx1ZV09XCJpXCIgXHJcbiAgICAgICAgICAgKGNoYW5nZSk9XCJzZWxlY3QoaSlcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICAgIHt7c2V0VGFiVGl0bGUoaXRlbSwgaSl9fVxyXG4gICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgXHJcbiAgICAgIDwvbGk+XHJcbiAgICA8L3VsPlxyXG5cclxuICAgIDxkaXYgKm5nRm9yPVwibGV0IGxheW91dEl0ZW0gb2YgbGF5b3V0Tm9kZSgpPy5pdGVtczsgbGV0IGkgPSBpbmRleFwiXHJcbiAgICAgIFtjbGFzc109XCIob3B0aW9ucz8uaHRtbENsYXNzIHx8ICcnKSArIChzZWxlY3RlZEl0ZW0gIT0gaT8nIG5nZi1oaWRkZW4nOicnKSBcIj5cclxuICAgICAgICA8IS0tZm9yIG5vdyB0aGUgb25seSBkaWZmZXJlbmNlIGJldHdlZW4gb25lT2ZNb2RlIGFuZCB0aGUgZGVmYXVsdCBcclxuICAgICAgICAgIGlzIHRoYXQgb25lT2ZNb2RlIHVzZXMgdGhlICpuZ0lmPVwic2VsZWN0ZWRJdGVtID09PSBpXCIgY2xhdXNlLCB3aGljaCBhdXRvbWF0aWNhbGx5XHJcbiAgICAgICAgICBkZXN0cm95cyB0aGUgdGFicyB0aGF0IGFyZSBub3QgcmVuZGVyZWQgd2hpbGUgZGVmYXVsdCBtb2RlIG9ubHkgaGlkZSB0aGVtXHJcbiAgICAgICAgICB0aGUgdXBzaG90IGlzIHRoYXQgb25seSB0aGUgYWN0aXZlIHRhYnMgdmFsdWUgd2lsbCBiZSB1c2VkXHJcbiAgICAgICAgLS0+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvcHRpb25zPy50YWJNb2RlPT0nb25lT2ZNb2RlJ1wiPlxyXG4gICAgICAgIDxzZWxlY3QtZnJhbWV3b3JrLXdpZGdldCAqbmdJZj1cInNlbGVjdGVkSXRlbSA9PT0gaVwiXHJcbiAgICAgICAgICBbY2xhc3NdPVwiKG9wdGlvbnM/LmZpZWxkSHRtbENsYXNzIHx8ICcnKSArXHJcbiAgICAgICAgICAgICcgJyArIChvcHRpb25zPy5hY3RpdmVDbGFzcyB8fCAnJykgK1xyXG4gICAgICAgICAgICAnICcgKyAob3B0aW9ucz8uc3R5bGU/LnNlbGVjdGVkIHx8ICcnKVwiXHJcbiAgICAgICAgICBbZGF0YUluZGV4XT1cImxheW91dE5vZGUoKT8uZGF0YVR5cGUgPT09ICdhcnJheScgPyAoZGF0YUluZGV4KCkgfHwgW10pLmNvbmNhdChpKSA6IGRhdGFJbmRleCgpXCJcclxuICAgICAgICAgIFtsYXlvdXRJbmRleF09XCIobGF5b3V0SW5kZXgoKSB8fCBbXSkuY29uY2F0KGkpXCJcclxuICAgICAgICAgIFtsYXlvdXROb2RlXT1cImxheW91dEl0ZW1cIj48L3NlbGVjdC1mcmFtZXdvcmstd2lkZ2V0PlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj4gXHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvcHRpb25zPy50YWJNb2RlICE9J29uZU9mTW9kZSdcIj5cclxuICAgICAgICA8c2VsZWN0LWZyYW1ld29yay13aWRnZXQgXHJcbiAgICAgICAgICBbY2xhc3NdPVwiKG9wdGlvbnM/LmZpZWxkSHRtbENsYXNzIHx8ICcnKSArXHJcbiAgICAgICAgICAgICcgJyArIChvcHRpb25zPy5hY3RpdmVDbGFzcyB8fCAnJykgK1xyXG4gICAgICAgICAgICAnICcgKyAob3B0aW9ucz8uc3R5bGU/LnNlbGVjdGVkIHx8ICcnKVwiXHJcbiAgICAgICAgICBbZGF0YUluZGV4XT1cImxheW91dE5vZGUoKT8uZGF0YVR5cGUgPT09ICdhcnJheScgPyAoZGF0YUluZGV4KCkgfHwgW10pLmNvbmNhdChpKSA6IGRhdGFJbmRleCgpXCJcclxuICAgICAgICAgIFtsYXlvdXRJbmRleF09XCIobGF5b3V0SW5kZXgoKSB8fCBbXSkuY29uY2F0KGkpXCJcclxuICAgICAgICAgIFtsYXlvdXROb2RlXT1cImxheW91dEl0ZW1cIj48L3NlbGVjdC1mcmFtZXdvcmstd2lkZ2V0PlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj4gXHJcbiAgICA8L2Rpdj5gLFxyXG4gICAgc3R5bGVzOiBbYCBhIHsgY3Vyc29yOiBwb2ludGVyOyB9IFxyXG4gICAgICAgIC5uZ2YtaGlkZGVue2Rpc3BsYXk6bm9uZX1cclxuICAgICAgYF0sXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFic0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCxPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUganNmID0gaW5qZWN0KEpzb25TY2hlbWFGb3JtU2VydmljZSk7XHJcbiAgcHJpdmF0ZSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xyXG4gIG9wdGlvbnM6IGFueTtcclxuICBpdGVtQ291bnQ6IG51bWJlcjtcclxuICBzZWxlY3RlZEl0ZW0gPSAwO1xyXG4gIHNob3dBZGRUYWIgPSB0cnVlO1xyXG4gIHJlYWRvbmx5IGxheW91dE5vZGUgPSBpbnB1dDxhbnk+KHVuZGVmaW5lZCk7XHJcbiAgcmVhZG9ubHkgbGF5b3V0SW5kZXggPSBpbnB1dDxudW1iZXJbXT4odW5kZWZpbmVkKTtcclxuICByZWFkb25seSBkYXRhSW5kZXggPSBpbnB1dDxudW1iZXJbXT4odW5kZWZpbmVkKTtcclxuICBkYXRhQ2hhbmdlc1N1YnM6U3Vic2NyaXB0aW9uO1xyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5vcHRpb25zID0gdGhpcy5sYXlvdXROb2RlKCkub3B0aW9ucyB8fCB7fTtcclxuICAgIGlmKHRoaXMub3B0aW9ucy5zZWxlY3RlZFRhYil7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gdGhpcy5vcHRpb25zLnNlbGVjdGVkVGFiO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pdGVtQ291bnQgPSB0aGlzLmxheW91dE5vZGUoKS5pdGVtcy5sZW5ndGggLSAxO1xyXG4gICAgdGhpcy51cGRhdGVDb250cm9sKCk7XHJcbiAgICAvL1RPRE8gcmV2aWV3L3Rlc3QtaW50cm9kdWNlZCB0byBmaXggZHluYW1pYyB0aXRsZXMgbm90IHVwZGF0aW5nXHJcbiAgICAvL3doZW4gdGhlaXIgY29uZGl0aW9uYWwgbGlua2VkIGZpZWxkIGlzIGRlc3Ryb3llZFxyXG4gICAgLy8tZm9yY2VzIGNoYW5nZSBkZXRlY3Rpb24hXHJcbiAgICB0aGlzLmpzZi5kYXRhQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbCk9PntcclxuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgc2VsZWN0KGluZGV4KSB7XHJcbiAgICBjb25zdCBsYXlvdXROb2RlID0gdGhpcy5sYXlvdXROb2RlKCk7XHJcbiAgICBpZiAobGF5b3V0Tm9kZS5pdGVtc1tpbmRleF0udHlwZSA9PT0gJyRyZWYnKSB7XHJcbiAgICAgIHRoaXMuaXRlbUNvdW50ID0gbGF5b3V0Tm9kZS5pdGVtcy5sZW5ndGg7XHJcbiAgICAgIHRoaXMuanNmLmFkZEl0ZW0oe1xyXG4gICAgICAgIGxheW91dE5vZGU6IHNpZ25hbChsYXlvdXROb2RlLml0ZW1zW2luZGV4XSksXHJcbiAgICAgICAgbGF5b3V0SW5kZXg6IHNpZ25hbCh0aGlzLmxheW91dEluZGV4KCkuY29uY2F0KGluZGV4KSksXHJcbiAgICAgICAgZGF0YUluZGV4OiBzaWduYWwodGhpcy5kYXRhSW5kZXgoKS5jb25jYXQoaW5kZXgpKVxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy51cGRhdGVDb250cm9sKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IGluZGV4O1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlQ29udHJvbCgpIHtcclxuICAgIGNvbnN0IGxhc3RJdGVtID0gdGhpcy5sYXlvdXROb2RlKCkuaXRlbXNbdGhpcy5sYXlvdXROb2RlKCkuaXRlbXMubGVuZ3RoIC0gMV07XHJcbiAgICBpZiAobGFzdEl0ZW0udHlwZSA9PT0gJyRyZWYnICYmXHJcbiAgICAgIHRoaXMuaXRlbUNvdW50ID49IChsYXN0SXRlbS5vcHRpb25zLm1heEl0ZW1zIHx8IDEwMDApXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5zaG93QWRkVGFiID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRUYWJUaXRsZShpdGVtOiBhbnksIGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuanNmLnNldEFycmF5SXRlbVRpdGxlKHRoaXMsIGl0ZW0sIGluZGV4KTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kYXRhQ2hhbmdlc1N1YnM/LnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -8885,6 +8885,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
8885
8885
  class TabsComponent {
8886
8886
  constructor() {
8887
8887
  this.jsf = inject(JsonSchemaFormService);
8888
+ this.cdr = inject(ChangeDetectorRef);
8888
8889
  this.selectedItem = 0;
8889
8890
  this.showAddTab = true;
8890
8891
  this.layoutNode = input(undefined);
@@ -8898,6 +8899,12 @@ class TabsComponent {
8898
8899
  }
8899
8900
  this.itemCount = this.layoutNode().items.length - 1;
8900
8901
  this.updateControl();
8902
+ //TODO review/test-introduced to fix dynamic titles not updating
8903
+ //when their conditional linked field is destroyed
8904
+ //-forces change detection!
8905
+ this.jsf.dataChanges.subscribe((val) => {
8906
+ this.cdr.detectChanges();
8907
+ });
8901
8908
  }
8902
8909
  select(index) {
8903
8910
  const layoutNode = this.layoutNode();
@@ -8922,6 +8929,9 @@ class TabsComponent {
8922
8929
  setTabTitle(item, index) {
8923
8930
  return this.jsf.setArrayItemTitle(this, item, index);
8924
8931
  }
8932
+ ngOnDestroy() {
8933
+ this.dataChangesSubs?.unsubscribe();
8934
+ }
8925
8935
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8926
8936
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: TabsComponent, selector: "tabs-widget", inputs: { layoutNode: { classPropertyName: "layoutNode", publicName: "layoutNode", isSignal: true, isRequired: false, transformFunction: null }, layoutIndex: { classPropertyName: "layoutIndex", publicName: "layoutIndex", isSignal: true, isRequired: false, transformFunction: null }, dataIndex: { classPropertyName: "dataIndex", publicName: "dataIndex", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
8927
8937
  <ul
@@ -8945,6 +8955,7 @@ class TabsComponent {
8945
8955
  />
8946
8956
  {{setTabTitle(item, i)}}
8947
8957
  </a>
8958
+
8948
8959
  </li>
8949
8960
  </ul>
8950
8961
 
@@ -8999,6 +9010,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
8999
9010
  />
9000
9011
  {{setTabTitle(item, i)}}
9001
9012
  </a>
9013
+
9002
9014
  </li>
9003
9015
  </ul>
9004
9016
 
@@ -9292,6 +9304,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
9292
9304
  class RootComponent {
9293
9305
  constructor() {
9294
9306
  this.jsf = inject(JsonSchemaFormService);
9307
+ this.cdr = inject(ChangeDetectorRef);
9295
9308
  this.dataIndex = input(undefined);
9296
9309
  this.layoutIndex = input(undefined);
9297
9310
  this.layout = input(undefined);
@@ -9414,6 +9427,7 @@ class RootComponent {
9414
9427
  if (changes['layout'] || changes['dataIndex'] || changes['layoutIndex']) {
9415
9428
  // Clear the entire cache of the memoized function
9416
9429
  this._getSelectFrameworkInputsMemoized.cache.clear();
9430
+ this.cdr.markForCheck();
9417
9431
  }
9418
9432
  }
9419
9433
  showWidget(layoutNode) {
@@ -9424,6 +9438,10 @@ class RootComponent {
9424
9438
  this.jsf.dataChanges.subscribe((val) => {
9425
9439
  //this.selectframeworkInputCache?.clear();
9426
9440
  this._getSelectFrameworkInputsMemoized.cache.clear();
9441
+ //TODO-fix for now changed to detectChanges-
9442
+ //used to updated the dynamic titles in tab compnents
9443
+ this.cdr.markForCheck();
9444
+ // this.cdr.detectChanges();-breaks oneOf/ matdatepicker
9427
9445
  });
9428
9446
  }
9429
9447
  }