@huntsman-cancer-institute/misc 17.0.8 → 17.0.9

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.
@@ -185,33 +185,33 @@ export class BusyComponent {
185
185
  getMargin(margin) {
186
186
  return +margin.replace("px", "").replace("rem", "").replace("em", "");
187
187
  }
188
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BusyComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
189
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: BusyComponent, selector: "hci-busy", inputs: { busy: "busy", busySubjects: "busySubjects", getBusySubjects: "getBusySubjects", parentSelector: "parentSelector", rootClass: "rootClass", icon: "icon", iconSize: "iconSize", showIcon: "showIcon", mxAuto: "mxAuto", myAuto: "myAuto", text: "text", template: "template", config: "config" }, host: { listeners: { "window:resize": "windowResize($event)" } }, usesOnChanges: true, ngImport: i0, template: `
190
- <div [class.mxAuto]="mxAuto" [class.myAuto]="myAuto">
191
- <div [style.display]="showIcon ? 'flex' : 'none'">
192
- <i class="{{icon}} {{iconSize}}"></i>
193
- </div>
194
- <div class="text" [style.display]="text ? 'flex' : 'none'">
195
- {{text}}
196
- </div>
197
- <ng-container [ngTemplateOutlet]="template" [ngTemplateOutletContext]="config"></ng-container>
198
- </div>
188
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: BusyComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
189
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: BusyComponent, selector: "hci-busy", inputs: { busy: "busy", busySubjects: "busySubjects", getBusySubjects: "getBusySubjects", parentSelector: "parentSelector", rootClass: "rootClass", icon: "icon", iconSize: "iconSize", showIcon: "showIcon", mxAuto: "mxAuto", myAuto: "myAuto", text: "text", template: "template", config: "config" }, host: { listeners: { "window:resize": "windowResize($event)" } }, usesOnChanges: true, ngImport: i0, template: `
190
+ <div [class.mxAuto]="mxAuto" [class.myAuto]="myAuto">
191
+ <div [style.display]="showIcon ? 'flex' : 'none'">
192
+ <i class="{{icon}} {{iconSize}}"></i>
193
+ </div>
194
+ <div class="text" [style.display]="text ? 'flex' : 'none'">
195
+ {{text}}
196
+ </div>
197
+ <ng-container [ngTemplateOutlet]="template" [ngTemplateOutletContext]="config"></ng-container>
198
+ </div>
199
199
  `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
200
200
  }
201
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BusyComponent, decorators: [{
201
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: BusyComponent, decorators: [{
202
202
  type: Component,
203
203
  args: [{
204
204
  selector: "hci-busy",
205
- template: `
206
- <div [class.mxAuto]="mxAuto" [class.myAuto]="myAuto">
207
- <div [style.display]="showIcon ? 'flex' : 'none'">
208
- <i class="{{icon}} {{iconSize}}"></i>
209
- </div>
210
- <div class="text" [style.display]="text ? 'flex' : 'none'">
211
- {{text}}
212
- </div>
213
- <ng-container [ngTemplateOutlet]="template" [ngTemplateOutletContext]="config"></ng-container>
214
- </div>
205
+ template: `
206
+ <div [class.mxAuto]="mxAuto" [class.myAuto]="myAuto">
207
+ <div [style.display]="showIcon ? 'flex' : 'none'">
208
+ <i class="{{icon}} {{iconSize}}"></i>
209
+ </div>
210
+ <div class="text" [style.display]="text ? 'flex' : 'none'">
211
+ {{text}}
212
+ </div>
213
+ <ng-container [ngTemplateOutlet]="template" [ngTemplateOutletContext]="config"></ng-container>
214
+ </div>
215
215
  `
216
216
  }]
217
217
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }], propDecorators: { busy: [{
@@ -244,4 +244,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
244
244
  type: HostListener,
245
245
  args: ["window:resize", ["$event"]]
246
246
  }] } });
247
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVzeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9taXNjL3NyYy9idXN5LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBVSxTQUFTLEVBQzNGLFdBQVcsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUMsRUFBRSxFQUF3QixNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7OztBQUVyQzs7O0dBR0c7QUFlSCxNQUFNLE9BQU8sYUFBYTtJQW9CeEIsWUFBb0IsVUFBc0IsRUFDdEIsUUFBbUIsRUFDbkIsaUJBQW9DO1FBRnBDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBcEIvQyxTQUFJLEdBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUxQixpQkFBWSxHQUF1QixFQUFFLENBQUM7UUFFL0Msc0JBQWlCLEdBQW1CLEVBQUUsQ0FBQztRQUN2QyxjQUFTLEdBQVcsQ0FBQyxDQUFDO1FBSWIsU0FBSSxHQUFXLHFCQUFxQixDQUFDO1FBQ3JDLGFBQVEsR0FBVyxPQUFPLENBQUM7UUFDM0IsYUFBUSxHQUFZLElBQUksQ0FBQztRQUN6QixXQUFNLEdBQVksS0FBSyxDQUFDO1FBQ3hCLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFHeEIsV0FBTSxHQUFRLEVBQUUsQ0FBQztRQUt4QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLFNB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Ozs7R0FVVDs7MkZBRVUsYUFBYTtrQkFkekIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsVUFBVTtvQkFDcEIsUUFBUSxFQUFFOzs7Ozs7Ozs7O0dBVVQ7aUJBQ0Y7dUlBR1UsSUFBSTtzQkFBWixLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFJRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkEySEMsWUFBWTtzQkFEbEIsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIGlzRGV2TW9kZSwgT25Jbml0LCBSZW5kZXJlcjIsIFNpbXBsZUNoYW5nZSxcclxuICBUZW1wbGF0ZVJlZiwgVmlld1JlZlxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5pbXBvcnQge29mLCBTdWJqZWN0LCBTdWJzY3JpcHRpb259IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7ZGVsYXl9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5cclxuLyoqXHJcbiAqIEFuIG92ZXJsYXkgY29tcG9uZW50IHR5cGljYWxseSBoaWRkZW4gYnV0IHdoZW4gYnVzeSB3aWxsIHNob3cgaXRzZWxmIG9uIHRvcCBvZiB0aGUgY29tcG9uZW50IGl0IGlzIGFkZGVkIGluc2lkZSBvZi5cclxuICogVGhpcyB0YWtlcyBhbiBhcnJheSBvZiBib29sZWFuIG9yIGJvb2xlYW4gc3ViamVjdHMgYXMgd2hhdCBpcyBidXN5IGNvdWxkIGJlIGEgY29tYmluYXRpb24gb2YgdGhpbmdzLlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiaGNpLWJ1c3lcIixcclxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgW2NsYXNzLm14QXV0b109XCJteEF1dG9cIiBbY2xhc3MubXlBdXRvXT1cIm15QXV0b1wiPlxuICAgICAgPGRpdiBbc3R5bGUuZGlzcGxheV09XCJzaG93SWNvbiA/ICdmbGV4JyA6ICdub25lJ1wiPlxuICAgICAgICA8aSBjbGFzcz1cInt7aWNvbn19IHt7aWNvblNpemV9fVwiPjwvaT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInRleHRcIiBbc3R5bGUuZGlzcGxheV09XCJ0ZXh0ID8gJ2ZsZXgnIDogJ25vbmUnXCI+XG4gICAgICAgIHt7dGV4dH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwidGVtcGxhdGVcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwiY29uZmlnXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIGBcclxufSlcclxuZXhwb3J0IGNsYXNzIEJ1c3lDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKSBidXN5OiBib29sZWFuW10gPSBbZmFsc2VdO1xyXG5cclxuICBASW5wdXQoKSBidXN5U3ViamVjdHM6IFN1YmplY3Q8Ym9vbGVhbj5bXSA9IFtdO1xyXG4gIEBJbnB1dCgpIGdldEJ1c3lTdWJqZWN0czogKCkgPT4gU3ViamVjdDxib29sZWFuPltdO1xyXG4gIGJ1c3lTdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG4gIGJ1c3lDb3VudDogbnVtYmVyID0gMDtcclxuXHJcbiAgQElucHV0KCkgcGFyZW50U2VsZWN0b3I6IHN0cmluZztcclxuICBASW5wdXQoKSByb290Q2xhc3M6IHN0cmluZztcclxuICBASW5wdXQoKSBpY29uOiBzdHJpbmcgPSBcImhjaSBmYS1jb3JlIGZhLXNwaW5cIjtcclxuICBASW5wdXQoKSBpY29uU2l6ZTogc3RyaW5nID0gXCJmYS00eFwiO1xyXG4gIEBJbnB1dCgpIHNob3dJY29uOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBteEF1dG86IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBteUF1dG86IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSB0ZXh0OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQElucHV0KCkgY29uZmlnOiBhbnkgPSB7fTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgICAgICAgICAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgXCJoY2ktYnVzeVwiKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKHRoaXMucm9vdENsYXNzKSB7XHJcbiAgICAgIGxldCBjbGFzc2VzOiBzdHJpbmdbXSA9IHRoaXMucm9vdENsYXNzLnNwbGl0KFwiIFwiKTtcclxuICAgICAgZm9yIChsZXQgY2xhc3NOYW1lIG9mIGNsYXNzZXMpIHtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBjbGFzc05hbWUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5teEF1dG8pIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgXCJteC1hdXRvXCIpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMubXlBdXRvKSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIFwibXktYXV0b1wiKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmdldEJ1c3lTdWJqZWN0cykge1xyXG4gICAgICB0aGlzLmJ1c3lTdWJqZWN0cyA9IHRoaXMuZ2V0QnVzeVN1YmplY3RzKCk7XHJcbiAgICAgIHRoaXMubGlzdGVuVG9CdXN5U3ViamVjdHMoKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5idXN5U3ViamVjdHMpIHtcclxuICAgICAgdGhpcy5saXN0ZW5Ub0J1c3lTdWJqZWN0cygpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMucmVzaXplKHRydWUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTGlzdGVucyB0byBjaGFuZ2VzIHRvIHRoZSBpbnB1dHMgYW5kIGNoYW5nZXMgdG8gdGhlIGJ1c3kgYXJyYXlzLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHt7W3A6IHN0cmluZ106IFNpbXBsZUNoYW5nZX19IGNoYW5nZXNcclxuICAgKi9cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiB7W3Byb3BOYW1lOiBzdHJpbmddOiBTaW1wbGVDaGFuZ2V9KSB7XHJcbiAgICBpZiAoY2hhbmdlc1tcImJ1c3lcIl0pIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgXCJidXN5XCIpO1xyXG4gICAgICBpZiAodGhpcy5idXN5KSB7XHJcbiAgICAgICAgZm9yIChsZXQgbyBvZiB0aGlzLmJ1c3kpIHtcclxuICAgICAgICAgIGlmIChvKSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIFwiYnVzeVwiKTtcclxuICAgICAgICAgICAgdGhpcy5yZXNpemUoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAoY2hhbmdlc1tcImJ1c3lTdWJqZWN0c1wiXSkge1xyXG4gICAgICB0aGlzLmxpc3RlblRvQnVzeVN1YmplY3RzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmJ1c3lTdWJzY3JpcHRpb25zKSB7XHJcbiAgICAgIGZvciAobGV0IHN1YnNjcmlwdGlvbiBvZiB0aGlzLmJ1c3lTdWJzY3JpcHRpb25zKSB7XHJcbiAgICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIElmIHRoZXJlIGlzIGEgc3ViamVjdCBib29sZWFuLCB0aGlzIHdpbGwgbGlzdGVuIHRvIHRob3NlIHN1YmplY3RzLiAgVGhlcmUgaXMgYSBjb3VudGVyIHRoYXQgaXMgemVyby4gIFdoZW4gc3ViamVjdHNcclxuICAgKiBhcmUgYnVzeSB0aGUgY291bnRlciBpbmNyZW1lbnRzLiAgV2hlbiB0aGUgc3ViamVjdCBiZWNvbWVzIG5vdCBidXN5LCB0aGUgY291bnRlciBkZWNyZW1lbnRzLiAgV2hlbiB0aGUgY291bnRlciBhcnJpdmVzXHJcbiAgICogYmFjayBhdCB6ZXJvLCB0aGUgb3ZlcmFsbCBidXN5IGlzIGRpc2FibGVkLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgbGlzdGVuVG9CdXN5U3ViamVjdHMoKTogdm9pZCB7XHJcbiAgICBpZiAoaXNEZXZNb2RlKCkpIHtcclxuICAgICAgY29uc29sZS5kZWJ1ZyhcIkJ1c3lDb21wb25lbnQubGlzdGVuVG9CdXN5U3ViamVjdHM6IFwiICsgKCh0aGlzLmJ1c3lTdWJqZWN0cykgPyB0aGlzLmJ1c3lTdWJqZWN0cy5sZW5ndGggOiBcInVuZGVmaW5lZFwiKSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCF0aGlzLmJ1c3lTdWJqZWN0cykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuYnVzeVN1YnNjcmlwdGlvbnMpIHtcclxuICAgICAgZm9yIChsZXQgc3Vic2NyaXB0aW9uIG9mIHRoaXMuYnVzeVN1YnNjcmlwdGlvbnMpIHtcclxuICAgICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5idXN5U3Vic2NyaXB0aW9ucyA9IFtdO1xyXG4gICAgdGhpcy5idXN5Q291bnQgPSAwO1xyXG5cclxuICAgIC8vIEl0ZXJhdGUgb3ZlciBzdWJqZWN0cy4gIFdoZW4gYSBzdWJqZWN0IGlzIGJ1c3ksIGluY3JlbWVudCBhIGNvdW50ZXIsIHdoZW4gbm90IGJ1c3ksIGRlY3JlbWVudC4gIFdoZW4gYWxsIHN1YmplY3RzXHJcbiAgICAvLyBhcmUgbm90IGJ1c3ksIHRoZXkgb3ZlcmFsbCB3ZSBhcmUgbm90IGJ1c3kuXHJcbiAgICBmb3IgKGxldCBzdWJqZWN0IG9mIHRoaXMuYnVzeVN1YmplY3RzKSB7XHJcbiAgICAgIGxldCBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IHN1YmplY3Quc3Vic2NyaWJlKChidXN5OiBib29sZWFuKSA9PiB7XHJcbiAgICAgICAgaWYgKGJ1c3kgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgaWYgKGJ1c3kpIHtcclxuICAgICAgICAgICAgdGhpcy5idXN5Q291bnQrKztcclxuICAgICAgICAgIH0gZWxzZSBpZiAoIWJ1c3kgJiYgdGhpcy5idXN5Q291bnQgPiAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYnVzeUNvdW50LS07XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgaWYgKGlzRGV2TW9kZSgpKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZGVidWcoXCJCdXN5Q29tcG9uZW50LmJ1c3lTdWJqZWN0czogXCIgKyBidXN5ICsgXCIsIFwiICsgdGhpcy5idXN5Q291bnQpO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIFwiYnVzeVwiKTtcclxuXHJcbiAgICAgICAgICBpZiAodGhpcy5idXN5Q291bnQgPiAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIFwiYnVzeVwiKTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpZiAoISg8Vmlld1JlZj50aGlzLmNoYW5nZURldGVjdG9yUmVmKS5kZXN0cm95ZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnJlc2l6ZSgpO1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5idXN5U3Vic2NyaXB0aW9ucy5wdXNoKHN1YnNjcmlwdGlvbik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBMaXN0ZW5zIHRvIHRoZSB3aW5kb3cgcmVzaXplIGFuZCBhZGp1c3RzIGl0cyBzaXplLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIGV2ZW50XHJcbiAgICovXHJcbiAgQEhvc3RMaXN0ZW5lcihcIndpbmRvdzpyZXNpemVcIiwgW1wiJGV2ZW50XCJdKVxyXG4gIHB1YmxpYyB3aW5kb3dSZXNpemUoZXZlbnQpIHtcclxuICAgIHRoaXMucmVzaXplKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlc2l6ZShpc0RlbGF5PzogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5yZXNldFNpemUoKTtcclxuXHJcbiAgICBpZiAoaXNEZWxheSkge1xyXG4gICAgICBvZih1bmRlZmluZWQpLnBpcGUoZGVsYXkoMTAwKSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLnJlc2V0U2l6ZSgpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIExvb2tzIGF0IHRoZSBzaXplIG9mIHRoZSBwYXJlbnQgb2YgdGhpcyBjb21wb25lbnQgYW5kIG1ha2VzIGl0cyBoZWlnaHQgYW5kIHdpZHRoIG1hdGNoIHRoZSBwYXJlbnQuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSByZXNldFNpemUoKTogdm9pZCB7XHJcbiAgICBsZXQgcGFyZW50OiBIVE1MRWxlbWVudDtcclxuXHJcbiAgICBpZiAodGhpcy5wYXJlbnRTZWxlY3Rvcikge1xyXG4gICAgICBwYXJlbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbG9zZXN0KHRoaXMucGFyZW50U2VsZWN0b3IpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcGFyZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudDtcclxuICAgICAgd2hpbGUgKHBhcmVudC5vZmZzZXRXaWR0aCA9PT0gMCAmJiBwYXJlbnQucGFyZW50RWxlbWVudCkge1xyXG4gICAgICAgIHBhcmVudCA9IHBhcmVudC5wYXJlbnRFbGVtZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHBhcmVudCkge1xyXG4gICAgICBpZiAoKHBhcmVudC5zdHlsZS5wb3NpdGlvbiA9PT0gdW5kZWZpbmVkIHx8IHBhcmVudC5zdHlsZS5wb3NpdGlvbiA9PT0gXCJcIikgJiYgIXBhcmVudC5jbGFzc0xpc3QuY29udGFpbnMoXCJkcm9wZG93bi1tZW51XCIpKSB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShwYXJlbnQsIFwicG9zaXRpb25cIiwgXCJyZWxhdGl2ZVwiKTtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBcImxlZnRcIiwgXCIwcHhcIik7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgXCJ0b3BcIiwgXCIwcHhcIik7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgXCJyaWdodFwiLCBcIjBweFwiKTtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBcImJvdHRvbVwiLCBcIjBweFwiKTtcclxuICAgICAgfSBlbHNlIGlmIChwYXJlbnQuc3R5bGUucG9zaXRpb24gPT09IFwicmVsYXRpdmVcIikge1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIFwibGVmdFwiLCBcIjBweFwiKTtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBcInRvcFwiLCBcIjBweFwiKTtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBcInJpZ2h0XCIsIFwiMHB4XCIpO1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIFwiYm90dG9tXCIsIFwiMHB4XCIpO1xyXG4gICAgICB9IGVsc2UgaWYgKHBhcmVudC5vZmZzZXRXaWR0aCA9PT0gMCB8fCBwYXJlbnQub2Zmc2V0SGVpZ2h0ID09PSAwKSB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgXCJ3aWR0aFwiLCBwYXJlbnQuc3R5bGUud2lkdGgpO1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIFwiaGVpZ2h0XCIsIHBhcmVudC5zdHlsZS5oZWlnaHQpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIFwid2lkdGhcIiwgcGFyZW50Lm9mZnNldFdpZHRoICsgXCJweFwiKTtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBcImhlaWdodFwiLCBwYXJlbnQub2Zmc2V0SGVpZ2h0ICsgXCJweFwiKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmluZHMgdGhlIG1hcmdpbiBpbiB0ZXJtcyBvZiBhIG51bWJlciBieSBzdHJpcHBpbmcgb2ZmIHB4LCByZW0sIG9yIGVtLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IG1hcmdpblxyXG4gICAqIEByZXR1cm5zIHtudW1iZXJ9XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBnZXRNYXJnaW4obWFyZ2luOiBzdHJpbmcpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuICttYXJnaW4ucmVwbGFjZShcInB4XCIsIFwiXCIpLnJlcGxhY2UoXCJyZW1cIiwgXCJcIikucmVwbGFjZShcImVtXCIsIFwiXCIpO1xyXG4gIH1cclxufVxyXG4iXX0=
247
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVzeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9taXNjL3NyYy9idXN5LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBVSxTQUFTLEVBQzNGLFdBQVcsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUMsRUFBRSxFQUF3QixNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7OztBQUVyQzs7O0dBR0c7QUFlSCxNQUFNLE9BQU8sYUFBYTtJQW9CeEIsWUFBb0IsVUFBc0IsRUFDdEIsUUFBbUIsRUFDbkIsaUJBQW9DO1FBRnBDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBcEIvQyxTQUFJLEdBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUxQixpQkFBWSxHQUF1QixFQUFFLENBQUM7UUFFL0Msc0JBQWlCLEdBQW1CLEVBQUUsQ0FBQztRQUN2QyxjQUFTLEdBQVcsQ0FBQyxDQUFDO1FBSWIsU0FBSSxHQUFXLHFCQUFxQixDQUFDO1FBQ3JDLGFBQVEsR0FBVyxPQUFPLENBQUM7UUFDM0IsYUFBUSxHQUFZLElBQUksQ0FBQztRQUN6QixXQUFNLEdBQVksS0FBSyxDQUFDO1FBQ3hCLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFHeEIsV0FBTSxHQUFRLEVBQUUsQ0FBQztRQUt4QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLFNB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Ozs7R0FVVDs7MkZBRVUsYUFBYTtrQkFkekIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsVUFBVTtvQkFDcEIsUUFBUSxFQUFFOzs7Ozs7Ozs7O0dBVVQ7aUJBQ0Y7dUlBR1UsSUFBSTtzQkFBWixLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFJRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkEySEMsWUFBWTtzQkFEbEIsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIGlzRGV2TW9kZSwgT25Jbml0LCBSZW5kZXJlcjIsIFNpbXBsZUNoYW5nZSxcclxuICBUZW1wbGF0ZVJlZiwgVmlld1JlZlxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5pbXBvcnQge29mLCBTdWJqZWN0LCBTdWJzY3JpcHRpb259IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7ZGVsYXl9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5cclxuLyoqXHJcbiAqIEFuIG92ZXJsYXkgY29tcG9uZW50IHR5cGljYWxseSBoaWRkZW4gYnV0IHdoZW4gYnVzeSB3aWxsIHNob3cgaXRzZWxmIG9uIHRvcCBvZiB0aGUgY29tcG9uZW50IGl0IGlzIGFkZGVkIGluc2lkZSBvZi5cclxuICogVGhpcyB0YWtlcyBhbiBhcnJheSBvZiBib29sZWFuIG9yIGJvb2xlYW4gc3ViamVjdHMgYXMgd2hhdCBpcyBidXN5IGNvdWxkIGJlIGEgY29tYmluYXRpb24gb2YgdGhpbmdzLlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiaGNpLWJ1c3lcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBbY2xhc3MubXhBdXRvXT1cIm14QXV0b1wiIFtjbGFzcy5teUF1dG9dPVwibXlBdXRvXCI+XHJcbiAgICAgIDxkaXYgW3N0eWxlLmRpc3BsYXldPVwic2hvd0ljb24gPyAnZmxleCcgOiAnbm9uZSdcIj5cclxuICAgICAgICA8aSBjbGFzcz1cInt7aWNvbn19IHt7aWNvblNpemV9fVwiPjwvaT5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0XCIgW3N0eWxlLmRpc3BsYXldPVwidGV4dCA/ICdmbGV4JyA6ICdub25lJ1wiPlxyXG4gICAgICAgIHt7dGV4dH19XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRlbXBsYXRlXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cImNvbmZpZ1wiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbiAgYFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQnVzeUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpIGJ1c3k6IGJvb2xlYW5bXSA9IFtmYWxzZV07XHJcblxyXG4gIEBJbnB1dCgpIGJ1c3lTdWJqZWN0czogU3ViamVjdDxib29sZWFuPltdID0gW107XHJcbiAgQElucHV0KCkgZ2V0QnVzeVN1YmplY3RzOiAoKSA9PiBTdWJqZWN0PGJvb2xlYW4+W107XHJcbiAgYnVzeVN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcbiAgYnVzeUNvdW50OiBudW1iZXIgPSAwO1xyXG5cclxuICBASW5wdXQoKSBwYXJlbnRTZWxlY3Rvcjogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHJvb3RDbGFzczogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGljb246IHN0cmluZyA9IFwiaGNpIGZhLWNvcmUgZmEtc3BpblwiO1xyXG4gIEBJbnB1dCgpIGljb25TaXplOiBzdHJpbmcgPSBcImZhLTR4XCI7XHJcbiAgQElucHV0KCkgc2hvd0ljb246IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIG14QXV0bzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIG15QXV0bzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHRleHQ6IHN0cmluZztcclxuICBASW5wdXQoKSB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICBASW5wdXQoKSBjb25maWc6IGFueSA9IHt9O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBcImhjaS1idXN5XCIpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAodGhpcy5yb290Q2xhc3MpIHtcclxuICAgICAgbGV0IGNsYXNzZXM6IHN0cmluZ1tdID0gdGhpcy5yb290Q2xhc3Muc3BsaXQoXCIgXCIpO1xyXG4gICAgICBmb3IgKGxldCBjbGFzc05hbWUgb2YgY2xhc3Nlcykge1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIGNsYXNzTmFtZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICh0aGlzLm14QXV0bykge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBcIm14LWF1dG9cIik7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5teUF1dG8pIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgXCJteS1hdXRvXCIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZ2V0QnVzeVN1YmplY3RzKSB7XHJcbiAgICAgIHRoaXMuYnVzeVN1YmplY3RzID0gdGhpcy5nZXRCdXN5U3ViamVjdHMoKTtcclxuICAgICAgdGhpcy5saXN0ZW5Ub0J1c3lTdWJqZWN0cygpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmJ1c3lTdWJqZWN0cykge1xyXG4gICAgICB0aGlzLmxpc3RlblRvQnVzeVN1YmplY3RzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5yZXNpemUodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBMaXN0ZW5zIHRvIGNoYW5nZXMgdG8gdGhlIGlucHV0cyBhbmQgY2hhbmdlcyB0byB0aGUgYnVzeSBhcnJheXMuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge3tbcDogc3RyaW5nXTogU2ltcGxlQ2hhbmdlfX0gY2hhbmdlc1xyXG4gICAqL1xyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IHtbcHJvcE5hbWU6IHN0cmluZ106IFNpbXBsZUNoYW5nZX0pIHtcclxuICAgIGlmIChjaGFuZ2VzW1wiYnVzeVwiXSkge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBcImJ1c3lcIik7XHJcbiAgICAgIGlmICh0aGlzLmJ1c3kpIHtcclxuICAgICAgICBmb3IgKGxldCBvIG9mIHRoaXMuYnVzeSkge1xyXG4gICAgICAgICAgaWYgKG8pIHtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgXCJidXN5XCIpO1xyXG4gICAgICAgICAgICB0aGlzLnJlc2l6ZSgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmIChjaGFuZ2VzW1wiYnVzeVN1YmplY3RzXCJdKSB7XHJcbiAgICAgIHRoaXMubGlzdGVuVG9CdXN5U3ViamVjdHMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuYnVzeVN1YnNjcmlwdGlvbnMpIHtcclxuICAgICAgZm9yIChsZXQgc3Vic2NyaXB0aW9uIG9mIHRoaXMuYnVzeVN1YnNjcmlwdGlvbnMpIHtcclxuICAgICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSWYgdGhlcmUgaXMgYSBzdWJqZWN0IGJvb2xlYW4sIHRoaXMgd2lsbCBsaXN0ZW4gdG8gdGhvc2Ugc3ViamVjdHMuICBUaGVyZSBpcyBhIGNvdW50ZXIgdGhhdCBpcyB6ZXJvLiAgV2hlbiBzdWJqZWN0c1xyXG4gICAqIGFyZSBidXN5IHRoZSBjb3VudGVyIGluY3JlbWVudHMuICBXaGVuIHRoZSBzdWJqZWN0IGJlY29tZXMgbm90IGJ1c3ksIHRoZSBjb3VudGVyIGRlY3JlbWVudHMuICBXaGVuIHRoZSBjb3VudGVyIGFycml2ZXNcclxuICAgKiBiYWNrIGF0IHplcm8sIHRoZSBvdmVyYWxsIGJ1c3kgaXMgZGlzYWJsZWQuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBsaXN0ZW5Ub0J1c3lTdWJqZWN0cygpOiB2b2lkIHtcclxuICAgIGlmIChpc0Rldk1vZGUoKSkge1xyXG4gICAgICBjb25zb2xlLmRlYnVnKFwiQnVzeUNvbXBvbmVudC5saXN0ZW5Ub0J1c3lTdWJqZWN0czogXCIgKyAoKHRoaXMuYnVzeVN1YmplY3RzKSA/IHRoaXMuYnVzeVN1YmplY3RzLmxlbmd0aCA6IFwidW5kZWZpbmVkXCIpKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIXRoaXMuYnVzeVN1YmplY3RzKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5idXN5U3Vic2NyaXB0aW9ucykge1xyXG4gICAgICBmb3IgKGxldCBzdWJzY3JpcHRpb24gb2YgdGhpcy5idXN5U3Vic2NyaXB0aW9ucykge1xyXG4gICAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLmJ1c3lTdWJzY3JpcHRpb25zID0gW107XHJcbiAgICB0aGlzLmJ1c3lDb3VudCA9IDA7XHJcblxyXG4gICAgLy8gSXRlcmF0ZSBvdmVyIHN1YmplY3RzLiAgV2hlbiBhIHN1YmplY3QgaXMgYnVzeSwgaW5jcmVtZW50IGEgY291bnRlciwgd2hlbiBub3QgYnVzeSwgZGVjcmVtZW50LiAgV2hlbiBhbGwgc3ViamVjdHNcclxuICAgIC8vIGFyZSBub3QgYnVzeSwgdGhleSBvdmVyYWxsIHdlIGFyZSBub3QgYnVzeS5cclxuICAgIGZvciAobGV0IHN1YmplY3Qgb2YgdGhpcy5idXN5U3ViamVjdHMpIHtcclxuICAgICAgbGV0IHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uID0gc3ViamVjdC5zdWJzY3JpYmUoKGJ1c3k6IGJvb2xlYW4pID0+IHtcclxuICAgICAgICBpZiAoYnVzeSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICBpZiAoYnVzeSkge1xyXG4gICAgICAgICAgICB0aGlzLmJ1c3lDb3VudCsrO1xyXG4gICAgICAgICAgfSBlbHNlIGlmICghYnVzeSAmJiB0aGlzLmJ1c3lDb3VudCA+IDApIHtcclxuICAgICAgICAgICAgdGhpcy5idXN5Q291bnQtLTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpZiAoaXNEZXZNb2RlKCkpIHtcclxuICAgICAgICAgICAgY29uc29sZS5kZWJ1ZyhcIkJ1c3lDb21wb25lbnQuYnVzeVN1YmplY3RzOiBcIiArIGJ1c3kgKyBcIiwgXCIgKyB0aGlzLmJ1c3lDb3VudCk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgXCJidXN5XCIpO1xyXG5cclxuICAgICAgICAgIGlmICh0aGlzLmJ1c3lDb3VudCA+IDApIHtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgXCJidXN5XCIpO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGlmICghKDxWaWV3UmVmPnRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYpLmRlc3Ryb3llZCkge1xyXG4gICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMucmVzaXplKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLmJ1c3lTdWJzY3JpcHRpb25zLnB1c2goc3Vic2NyaXB0aW9uKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIExpc3RlbnMgdG8gdGhlIHdpbmRvdyByZXNpemUgYW5kIGFkanVzdHMgaXRzIHNpemUuXHJcbiAgICpcclxuICAgKiBAcGFyYW0gZXZlbnRcclxuICAgKi9cclxuICBASG9zdExpc3RlbmVyKFwid2luZG93OnJlc2l6ZVwiLCBbXCIkZXZlbnRcIl0pXHJcbiAgcHVibGljIHdpbmRvd1Jlc2l6ZShldmVudCkge1xyXG4gICAgdGhpcy5yZXNpemUoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVzaXplKGlzRGVsYXk/OiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlc2V0U2l6ZSgpO1xyXG5cclxuICAgIGlmIChpc0RlbGF5KSB7XHJcbiAgICAgIG9mKHVuZGVmaW5lZCkucGlwZShkZWxheSgxMDApKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMucmVzZXRTaXplKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTG9va3MgYXQgdGhlIHNpemUgb2YgdGhlIHBhcmVudCBvZiB0aGlzIGNvbXBvbmVudCBhbmQgbWFrZXMgaXRzIGhlaWdodCBhbmQgd2lkdGggbWF0Y2ggdGhlIHBhcmVudC5cclxuICAgKi9cclxuICBwcml2YXRlIHJlc2V0U2l6ZSgpOiB2b2lkIHtcclxuICAgIGxldCBwYXJlbnQ6IEhUTUxFbGVtZW50O1xyXG5cclxuICAgIGlmICh0aGlzLnBhcmVudFNlbGVjdG9yKSB7XHJcbiAgICAgIHBhcmVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsb3Nlc3QodGhpcy5wYXJlbnRTZWxlY3Rvcik7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBwYXJlbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50O1xyXG4gICAgICB3aGlsZSAocGFyZW50Lm9mZnNldFdpZHRoID09PSAwICYmIHBhcmVudC5wYXJlbnRFbGVtZW50KSB7XHJcbiAgICAgICAgcGFyZW50ID0gcGFyZW50LnBhcmVudEVsZW1lbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAocGFyZW50KSB7XHJcbiAgICAgIGlmICgocGFyZW50LnN0eWxlLnBvc2l0aW9uID09PSB1bmRlZmluZWQgfHwgcGFyZW50LnN0eWxlLnBvc2l0aW9uID09PSBcIlwiKSAmJiAhcGFyZW50LmNsYXNzTGlzdC5jb250YWlucyhcImRyb3Bkb3duLW1lbnVcIikpIHtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHBhcmVudCwgXCJwb3NpdGlvblwiLCBcInJlbGF0aXZlXCIpO1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIFwibGVmdFwiLCBcIjBweFwiKTtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBcInRvcFwiLCBcIjBweFwiKTtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBcInJpZ2h0XCIsIFwiMHB4XCIpO1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIFwiYm90dG9tXCIsIFwiMHB4XCIpO1xyXG4gICAgICB9IGVsc2UgaWYgKHBhcmVudC5zdHlsZS5wb3NpdGlvbiA9PT0gXCJyZWxhdGl2ZVwiKSB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgXCJsZWZ0XCIsIFwiMHB4XCIpO1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIFwidG9wXCIsIFwiMHB4XCIpO1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIFwicmlnaHRcIiwgXCIwcHhcIik7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgXCJib3R0b21cIiwgXCIwcHhcIik7XHJcbiAgICAgIH0gZWxzZSBpZiAocGFyZW50Lm9mZnNldFdpZHRoID09PSAwIHx8IHBhcmVudC5vZmZzZXRIZWlnaHQgPT09IDApIHtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBcIndpZHRoXCIsIHBhcmVudC5zdHlsZS53aWR0aCk7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgXCJoZWlnaHRcIiwgcGFyZW50LnN0eWxlLmhlaWdodCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgXCJ3aWR0aFwiLCBwYXJlbnQub2Zmc2V0V2lkdGggKyBcInB4XCIpO1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIFwiaGVpZ2h0XCIsIHBhcmVudC5vZmZzZXRIZWlnaHQgKyBcInB4XCIpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGaW5kcyB0aGUgbWFyZ2luIGluIHRlcm1zIG9mIGEgbnVtYmVyIGJ5IHN0cmlwcGluZyBvZmYgcHgsIHJlbSwgb3IgZW0uXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge3N0cmluZ30gbWFyZ2luXHJcbiAgICogQHJldHVybnMge251bWJlcn1cclxuICAgKi9cclxuICBwcml2YXRlIGdldE1hcmdpbihtYXJnaW46IHN0cmluZyk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gK21hcmdpbi5yZXBsYWNlKFwicHhcIiwgXCJcIikucmVwbGFjZShcInJlbVwiLCBcIlwiKS5yZXBsYWNlKFwiZW1cIiwgXCJcIik7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -5,15 +5,15 @@ import { BusyComponent } from "./busy.component";
5
5
  import { PairedDataComponent } from "./paired-data.component";
6
6
  import * as i0 from "@angular/core";
7
7
  export class MiscModule {
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: MiscModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: MiscModule, declarations: [BusyComponent,
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: MiscModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: MiscModule, declarations: [BusyComponent,
10
10
  PairedDataComponent], imports: [CommonModule,
11
11
  NgbModule], exports: [BusyComponent,
12
12
  PairedDataComponent] }); }
13
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: MiscModule, imports: [CommonModule,
13
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: MiscModule, imports: [CommonModule,
14
14
  NgbModule] }); }
15
15
  }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: MiscModule, decorators: [{
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: MiscModule, decorators: [{
17
17
  type: NgModule,
18
18
  args: [{
19
19
  imports: [
@@ -60,8 +60,8 @@ export class PairedDataComponent {
60
60
  return this.dataArray[index]['valueTemplate'];
61
61
  }
62
62
  }
63
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: PairedDataComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
64
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: PairedDataComponent, selector: "hci-paired-data", inputs: { numColumns: "numColumns", header: "header", dataArray: "dataArray" }, viewQueries: [{ propertyName: "defaultKeyTemplate", first: true, predicate: ["defaultKeyTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "defaultValueTemplate", first: true, predicate: ["defaultValueTemplate"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: `
63
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: PairedDataComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
64
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: PairedDataComponent, selector: "hci-paired-data", inputs: { numColumns: "numColumns", header: "header", dataArray: "dataArray" }, viewQueries: [{ propertyName: "defaultKeyTemplate", first: true, predicate: ["defaultKeyTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "defaultValueTemplate", first: true, predicate: ["defaultValueTemplate"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: `
65
65
  <div class="d-flex flex-column" style="flex:1 1 100%">
66
66
  <div class="d-flex" style="align-items:center;color:#00AAFF">
67
67
  <i class="hci {{header.icon}} fa-2x" aria-hidden="true"></i>{{header.title}}
@@ -106,7 +106,7 @@ export class PairedDataComponent {
106
106
 
107
107
  `, isInline: true, styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], encapsulation: i0.ViewEncapsulation.None }); }
108
108
  }
109
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: PairedDataComponent, decorators: [{
109
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: PairedDataComponent, decorators: [{
110
110
  type: Component,
111
111
  args: [{ encapsulation: ViewEncapsulation.None, selector: "hci-paired-data", template: `
112
112
  <div class="d-flex flex-column" style="flex:1 1 100%">
@@ -188,33 +188,33 @@ class BusyComponent {
188
188
  getMargin(margin) {
189
189
  return +margin.replace("px", "").replace("rem", "").replace("em", "");
190
190
  }
191
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BusyComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
192
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: BusyComponent, selector: "hci-busy", inputs: { busy: "busy", busySubjects: "busySubjects", getBusySubjects: "getBusySubjects", parentSelector: "parentSelector", rootClass: "rootClass", icon: "icon", iconSize: "iconSize", showIcon: "showIcon", mxAuto: "mxAuto", myAuto: "myAuto", text: "text", template: "template", config: "config" }, host: { listeners: { "window:resize": "windowResize($event)" } }, usesOnChanges: true, ngImport: i0, template: `
193
- <div [class.mxAuto]="mxAuto" [class.myAuto]="myAuto">
194
- <div [style.display]="showIcon ? 'flex' : 'none'">
195
- <i class="{{icon}} {{iconSize}}"></i>
196
- </div>
197
- <div class="text" [style.display]="text ? 'flex' : 'none'">
198
- {{text}}
199
- </div>
200
- <ng-container [ngTemplateOutlet]="template" [ngTemplateOutletContext]="config"></ng-container>
201
- </div>
191
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: BusyComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
192
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: BusyComponent, selector: "hci-busy", inputs: { busy: "busy", busySubjects: "busySubjects", getBusySubjects: "getBusySubjects", parentSelector: "parentSelector", rootClass: "rootClass", icon: "icon", iconSize: "iconSize", showIcon: "showIcon", mxAuto: "mxAuto", myAuto: "myAuto", text: "text", template: "template", config: "config" }, host: { listeners: { "window:resize": "windowResize($event)" } }, usesOnChanges: true, ngImport: i0, template: `
193
+ <div [class.mxAuto]="mxAuto" [class.myAuto]="myAuto">
194
+ <div [style.display]="showIcon ? 'flex' : 'none'">
195
+ <i class="{{icon}} {{iconSize}}"></i>
196
+ </div>
197
+ <div class="text" [style.display]="text ? 'flex' : 'none'">
198
+ {{text}}
199
+ </div>
200
+ <ng-container [ngTemplateOutlet]="template" [ngTemplateOutletContext]="config"></ng-container>
201
+ </div>
202
202
  `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
203
203
  }
204
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BusyComponent, decorators: [{
204
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: BusyComponent, decorators: [{
205
205
  type: Component,
206
206
  args: [{
207
207
  selector: "hci-busy",
208
- template: `
209
- <div [class.mxAuto]="mxAuto" [class.myAuto]="myAuto">
210
- <div [style.display]="showIcon ? 'flex' : 'none'">
211
- <i class="{{icon}} {{iconSize}}"></i>
212
- </div>
213
- <div class="text" [style.display]="text ? 'flex' : 'none'">
214
- {{text}}
215
- </div>
216
- <ng-container [ngTemplateOutlet]="template" [ngTemplateOutletContext]="config"></ng-container>
217
- </div>
208
+ template: `
209
+ <div [class.mxAuto]="mxAuto" [class.myAuto]="myAuto">
210
+ <div [style.display]="showIcon ? 'flex' : 'none'">
211
+ <i class="{{icon}} {{iconSize}}"></i>
212
+ </div>
213
+ <div class="text" [style.display]="text ? 'flex' : 'none'">
214
+ {{text}}
215
+ </div>
216
+ <ng-container [ngTemplateOutlet]="template" [ngTemplateOutletContext]="config"></ng-container>
217
+ </div>
218
218
  `
219
219
  }]
220
220
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }], propDecorators: { busy: [{
@@ -307,8 +307,8 @@ class PairedDataComponent {
307
307
  return this.dataArray[index]['valueTemplate'];
308
308
  }
309
309
  }
310
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: PairedDataComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
311
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: PairedDataComponent, selector: "hci-paired-data", inputs: { numColumns: "numColumns", header: "header", dataArray: "dataArray" }, viewQueries: [{ propertyName: "defaultKeyTemplate", first: true, predicate: ["defaultKeyTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "defaultValueTemplate", first: true, predicate: ["defaultValueTemplate"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: `
310
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: PairedDataComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
311
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: PairedDataComponent, selector: "hci-paired-data", inputs: { numColumns: "numColumns", header: "header", dataArray: "dataArray" }, viewQueries: [{ propertyName: "defaultKeyTemplate", first: true, predicate: ["defaultKeyTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "defaultValueTemplate", first: true, predicate: ["defaultValueTemplate"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: `
312
312
  <div class="d-flex flex-column" style="flex:1 1 100%">
313
313
  <div class="d-flex" style="align-items:center;color:#00AAFF">
314
314
  <i class="hci {{header.icon}} fa-2x" aria-hidden="true"></i>{{header.title}}
@@ -353,7 +353,7 @@ class PairedDataComponent {
353
353
 
354
354
  `, isInline: true, styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], encapsulation: i0.ViewEncapsulation.None }); }
355
355
  }
356
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: PairedDataComponent, decorators: [{
356
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: PairedDataComponent, decorators: [{
357
357
  type: Component,
358
358
  args: [{ encapsulation: ViewEncapsulation.None, selector: "hci-paired-data", template: `
359
359
  <div class="d-flex flex-column" style="flex:1 1 100%">
@@ -417,15 +417,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
417
417
  }] } });
418
418
 
419
419
  class MiscModule {
420
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: MiscModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
421
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: MiscModule, declarations: [BusyComponent,
420
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: MiscModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
421
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: MiscModule, declarations: [BusyComponent,
422
422
  PairedDataComponent], imports: [CommonModule,
423
423
  NgbModule], exports: [BusyComponent,
424
424
  PairedDataComponent] }); }
425
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: MiscModule, imports: [CommonModule,
425
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: MiscModule, imports: [CommonModule,
426
426
  NgbModule] }); }
427
427
  }
428
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: MiscModule, decorators: [{
428
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: MiscModule, decorators: [{
429
429
  type: NgModule,
430
430
  args: [{
431
431
  imports: [
@@ -1 +1 @@
1
- {"version":3,"file":"huntsman-cancer-institute-misc.mjs","sources":["../../../projects/misc/src/busy.component.ts","../../../projects/misc/src/paired-data.component.ts","../../../projects/misc/src/misc.module.ts","../../../projects/misc/src/index.ts","../../../projects/misc/src/huntsman-cancer-institute-misc.ts"],"sourcesContent":["import {\r\n ChangeDetectorRef, Component, ElementRef, HostListener, Input, isDevMode, OnInit, Renderer2, SimpleChange,\r\n TemplateRef, ViewRef\r\n} from \"@angular/core\";\r\n\r\nimport {of, Subject, Subscription} from \"rxjs\";\r\nimport {delay} from \"rxjs/operators\";\r\n\r\n/**\r\n * An overlay component typically hidden but when busy will show itself on top of the component it is added inside of.\r\n * This takes an array of boolean or boolean subjects as what is busy could be a combination of things.\r\n */\r\n@Component({\r\n selector: \"hci-busy\",\r\n template: `\n <div [class.mxAuto]=\"mxAuto\" [class.myAuto]=\"myAuto\">\n <div [style.display]=\"showIcon ? 'flex' : 'none'\">\n <i class=\"{{icon}} {{iconSize}}\"></i>\n </div>\n <div class=\"text\" [style.display]=\"text ? 'flex' : 'none'\">\n {{text}}\n </div>\n <ng-container [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"config\"></ng-container>\n </div>\n `\r\n})\r\nexport class BusyComponent implements OnInit {\r\n\r\n @Input() busy: boolean[] = [false];\r\n\r\n @Input() busySubjects: Subject<boolean>[] = [];\r\n @Input() getBusySubjects: () => Subject<boolean>[];\r\n busySubscriptions: Subscription[] = [];\r\n busyCount: number = 0;\r\n\r\n @Input() parentSelector: string;\r\n @Input() rootClass: string;\r\n @Input() icon: string = \"hci fa-core fa-spin\";\r\n @Input() iconSize: string = \"fa-4x\";\r\n @Input() showIcon: boolean = true;\r\n @Input() mxAuto: boolean = false;\r\n @Input() myAuto: boolean = false;\r\n @Input() text: string;\r\n @Input() template: TemplateRef<any>;\r\n @Input() config: any = {};\r\n\r\n constructor(private elementRef: ElementRef,\r\n private renderer: Renderer2,\r\n private changeDetectorRef: ChangeDetectorRef) {\r\n this.renderer.addClass(this.elementRef.nativeElement, \"hci-busy\");\r\n }\r\n\r\n ngOnInit() {\r\n if (this.rootClass) {\r\n let classes: string[] = this.rootClass.split(\" \");\r\n for (let className of classes) {\r\n this.renderer.addClass(this.elementRef.nativeElement, className);\r\n }\r\n }\r\n if (this.mxAuto) {\r\n this.renderer.addClass(this.elementRef.nativeElement, \"mx-auto\");\r\n }\r\n if (this.myAuto) {\r\n this.renderer.addClass(this.elementRef.nativeElement, \"my-auto\");\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n if (this.getBusySubjects) {\r\n this.busySubjects = this.getBusySubjects();\r\n this.listenToBusySubjects();\r\n } else if (this.busySubjects) {\r\n this.listenToBusySubjects();\r\n }\r\n\r\n this.resize(true);\r\n }\r\n\r\n /**\r\n * Listens to changes to the inputs and changes to the busy arrays.\r\n *\r\n * @param {{[p: string]: SimpleChange}} changes\r\n */\r\n ngOnChanges(changes: {[propName: string]: SimpleChange}) {\r\n if (changes[\"busy\"]) {\r\n this.renderer.removeClass(this.elementRef.nativeElement, \"busy\");\r\n if (this.busy) {\r\n for (let o of this.busy) {\r\n if (o) {\r\n this.renderer.addClass(this.elementRef.nativeElement, \"busy\");\r\n this.resize();\r\n }\r\n }\r\n }\r\n } else if (changes[\"busySubjects\"]) {\r\n this.listenToBusySubjects();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.busySubscriptions) {\r\n for (let subscription of this.busySubscriptions) {\r\n subscription.unsubscribe();\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * If there is a subject boolean, this will listen to those subjects. There is a counter that is zero. When subjects\r\n * are busy the counter increments. When the subject becomes not busy, the counter decrements. When the counter arrives\r\n * back at zero, the overall busy is disabled.\r\n */\r\n private listenToBusySubjects(): void {\r\n if (isDevMode()) {\r\n console.debug(\"BusyComponent.listenToBusySubjects: \" + ((this.busySubjects) ? this.busySubjects.length : \"undefined\"));\r\n }\r\n\r\n if (!this.busySubjects) {\r\n return;\r\n }\r\n\r\n if (this.busySubscriptions) {\r\n for (let subscription of this.busySubscriptions) {\r\n subscription.unsubscribe();\r\n }\r\n }\r\n this.busySubscriptions = [];\r\n this.busyCount = 0;\r\n\r\n // Iterate over subjects. When a subject is busy, increment a counter, when not busy, decrement. When all subjects\r\n // are not busy, they overall we are not busy.\r\n for (let subject of this.busySubjects) {\r\n let subscription: Subscription = subject.subscribe((busy: boolean) => {\r\n if (busy !== undefined) {\r\n if (busy) {\r\n this.busyCount++;\r\n } else if (!busy && this.busyCount > 0) {\r\n this.busyCount--;\r\n }\r\n\r\n if (isDevMode()) {\r\n console.debug(\"BusyComponent.busySubjects: \" + busy + \", \" + this.busyCount);\r\n }\r\n\r\n this.renderer.removeClass(this.elementRef.nativeElement, \"busy\");\r\n\r\n if (this.busyCount > 0) {\r\n this.renderer.addClass(this.elementRef.nativeElement, \"busy\");\r\n }\r\n\r\n if (!(<ViewRef>this.changeDetectorRef).destroyed) {\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n }\r\n\r\n this.resize();\r\n });\r\n this.busySubscriptions.push(subscription);\r\n }\r\n }\r\n\r\n /**\r\n * Listens to the window resize and adjusts its size.\r\n *\r\n * @param event\r\n */\r\n @HostListener(\"window:resize\", [\"$event\"])\r\n public windowResize(event) {\r\n this.resize();\r\n }\r\n\r\n private resize(isDelay?: boolean): void {\r\n this.resetSize();\r\n\r\n if (isDelay) {\r\n of(undefined).pipe(delay(100)).subscribe(() => {\r\n this.resetSize();\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Looks at the size of the parent of this component and makes its height and width match the parent.\r\n */\r\n private resetSize(): void {\r\n let parent: HTMLElement;\r\n\r\n if (this.parentSelector) {\r\n parent = this.elementRef.nativeElement.closest(this.parentSelector);\r\n } else {\r\n parent = this.elementRef.nativeElement.parentElement;\r\n while (parent.offsetWidth === 0 && parent.parentElement) {\r\n parent = parent.parentElement;\r\n }\r\n }\r\n\r\n if (parent) {\r\n if ((parent.style.position === undefined || parent.style.position === \"\") && !parent.classList.contains(\"dropdown-menu\")) {\r\n this.renderer.setStyle(parent, \"position\", \"relative\");\r\n this.renderer.setStyle(this.elementRef.nativeElement, \"left\", \"0px\");\r\n this.renderer.setStyle(this.elementRef.nativeElement, \"top\", \"0px\");\r\n this.renderer.setStyle(this.elementRef.nativeElement, \"right\", \"0px\");\r\n this.renderer.setStyle(this.elementRef.nativeElement, \"bottom\", \"0px\");\r\n } else if (parent.style.position === \"relative\") {\r\n this.renderer.setStyle(this.elementRef.nativeElement, \"left\", \"0px\");\r\n this.renderer.setStyle(this.elementRef.nativeElement, \"top\", \"0px\");\r\n this.renderer.setStyle(this.elementRef.nativeElement, \"right\", \"0px\");\r\n this.renderer.setStyle(this.elementRef.nativeElement, \"bottom\", \"0px\");\r\n } else if (parent.offsetWidth === 0 || parent.offsetHeight === 0) {\r\n this.renderer.setStyle(this.elementRef.nativeElement, \"width\", parent.style.width);\r\n this.renderer.setStyle(this.elementRef.nativeElement, \"height\", parent.style.height);\r\n } else {\r\n this.renderer.setStyle(this.elementRef.nativeElement, \"width\", parent.offsetWidth + \"px\");\r\n this.renderer.setStyle(this.elementRef.nativeElement, \"height\", parent.offsetHeight + \"px\");\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Finds the margin in terms of a number by stripping off px, rem, or em.\r\n *\r\n * @param {string} margin\r\n * @returns {number}\r\n */\r\n private getMargin(margin: string): number {\r\n return +margin.replace(\"px\", \"\").replace(\"rem\", \"\").replace(\"em\", \"\");\r\n }\r\n}\r\n"," import {\r\n Component,\r\n ElementRef,\r\n HostBinding,\r\n isDevMode,\r\n Renderer2,\r\n ViewEncapsulation,\r\n Input,\r\n TemplateRef,\r\n ViewChild,\r\n ChangeDetectorRef\r\n } from \"@angular/core\";\r\n\r\n /**\r\n * Simple horizontal data display\r\n */\r\n@Component({\r\n encapsulation: ViewEncapsulation.None,\r\n selector: \"hci-paired-data\",\r\n template: `\r\n<div class=\"d-flex flex-column\" style=\"flex:1 1 100%\">\r\n <div class=\"d-flex\" style=\"align-items:center;color:#00AAFF\">\r\n <i class=\"hci {{header.icon}} fa-2x\" aria-hidden=\"true\"></i>{{header.title}}\r\n </div>\r\n <div class=\"d-flex\">\r\n <ng-container *ngFor=\"let col of createNumCols()\">\r\n <div class=\"d-flex\" [ngStyle]=\"{'flex' : colStyle}\">\r\n <div class=\"d-flex flex-column\" style=\"align-items:flex-end\">\r\n <ng-container *ngFor=\"let rowData of getRowsForColumn(col); let i = index;\">\r\n <div class=\"d-flex\">\r\n <ng-container *ngTemplateOutlet=\"getKeyTemplate(col,i); context: {rowData: rowData}\"></ng-container>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"d-flex flex-column\">\r\n <ng-container *ngFor=\"let rowData of getRowsForColumn(col); let i = index;\">\r\n <div class=\"d-flex\">\r\n <ng-container *ngTemplateOutlet=\"getValueTemplate(col,i); context: {rowData: rowData}\"></ng-container>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <!-- vertical separator -->\r\n <div *ngIf=\"col < numColumns - 1\" class=\"d-flex ms-2 me-2\" style=\"border-style:solid;border-width:1px;color:#98C7E0;\"></div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <!-- Default templates for a row -->\r\n <ng-template #defaultKeyTemplate let-row=\"rowData\">\r\n <div class=\"d-flex flex-grow-1 ps-2\" style=\"align-items: center;\">\r\n {{row.key}}\r\n </div>\r\n </ng-template>\r\n\r\n <!--The &nbsp; makes sure the div will have a dimension even when row.value is undefined/null -->\r\n <ng-template #defaultValueTemplate let-row=\"rowData\">\r\n <div class=\"d-flex flex-grow-1 ps-2\" style=\"align-items: center;font-weight:bold\">\r\n {{row.value}}<span [innerHTML]=\"'&nbsp;'\"></span>\r\n </div>\r\n </ng-template>\r\n\r\n `, styles: [`\r\n\r\n\r\n `]\r\n})\r\nexport class PairedDataComponent {\r\n\r\n // how many columns\r\n @Input(\"numColumns\") numColumns: number;\r\n // the header title, icon, ...\r\n @Input(\"header\") header: any;\r\n // the data rows\r\n @Input(\"dataArray\") dataArray: Object[];\r\n\r\n @ViewChild(\"defaultKeyTemplate\", {read: TemplateRef, static: true}) defaultKeyTemplate: TemplateRef<any>;\r\n @ViewChild(\"defaultValueTemplate\", {read: TemplateRef, static: true}) defaultValueTemplate: TemplateRef<any>;\r\n\r\n numRowsPerColumn: number;\r\n colStyle: string = \"1 1 100%\";\r\n\r\n constructor(private changeDetectorRef: ChangeDetectorRef) {}\r\n\r\n ngAfterViewInit(): void {\r\n this.numRowsPerColumn = Math.ceil(this.dataArray.length/this.numColumns);\r\n this.colStyle = '1 1 ' + (Math.floor(100/this.numColumns)-2) + \"%\";\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n\r\n // A placeholder method to return an array of integers representing the columns numbers\r\n createNumCols() {\r\n if (!this.numColumns)\r\n return;\r\n let items: number[] = [];\r\n for (let i = 0; i < this.numColumns; i++) {\r\n items.push(i);\r\n }\r\n return items;\r\n }\r\n\r\n // Return the rows for the given column\r\n getRowsForColumn(col: number) {\r\n if (!this.numColumns || !this.numRowsPerColumn)\r\n return;\r\n let columnRowData: Object[] = [];\r\n if (col < (this.numColumns - 1)) {\r\n for (let i = col * this.numRowsPerColumn; i < (col + 1) * this.numRowsPerColumn; i++) {\r\n columnRowData.push(this.dataArray[i]);\r\n }\r\n }\r\n else {\r\n // last column just has the remaining rows which can be less than numRows\r\n for (let i = (this.numColumns - 1) * this.numRowsPerColumn; i < this.dataArray.length; i++) {\r\n columnRowData.push(this.dataArray[i]);\r\n }\r\n }\r\n return columnRowData;\r\n }\r\n\r\n getKeyTemplate(col: number, row: number) {\r\n let index: number = col * this.numRowsPerColumn + row;\r\n if (!this.dataArray[index]['keyTemplate']) {\r\n return this.defaultKeyTemplate;\r\n }\r\n else {\r\n return this.dataArray[index]['keyTemplate'];\r\n }\r\n }\r\n\r\n getValueTemplate(col: number, row: number) {\r\n let index: number = col * this.numRowsPerColumn + row;\r\n if (!this.dataArray[index]['valueTemplate']) {\r\n return this.defaultValueTemplate;\r\n }\r\n else {\r\n return this.dataArray[index]['valueTemplate'];\r\n }\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\n\r\nimport {NgbModule} from \"@ng-bootstrap/ng-bootstrap\";\r\n\r\nimport {BusyComponent} from \"./busy.component\";\r\nimport {PairedDataComponent} from \"./paired-data.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n NgbModule\r\n ],\r\n declarations: [\r\n BusyComponent,\r\n PairedDataComponent\r\n ],\r\n exports: [\r\n BusyComponent,\r\n PairedDataComponent\r\n ]\r\n})\r\nexport class MiscModule {}\r\n","/*\r\n * Public API Surface of misc\r\n */\r\n\r\nexport * from './busy.component';\r\nexport * from './paired-data.component';\r\nexport * from './misc.module'\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"huntsman-cancer-institute-misc.mjs","sources":["../../../projects/misc/src/busy.component.ts","../../../projects/misc/src/paired-data.component.ts","../../../projects/misc/src/misc.module.ts","../../../projects/misc/src/index.ts","../../../projects/misc/src/huntsman-cancer-institute-misc.ts"],"sourcesContent":["import {\r\n ChangeDetectorRef, Component, ElementRef, HostListener, Input, isDevMode, OnInit, Renderer2, SimpleChange,\r\n TemplateRef, ViewRef\r\n} from \"@angular/core\";\r\n\r\nimport {of, Subject, Subscription} from \"rxjs\";\r\nimport {delay} from \"rxjs/operators\";\r\n\r\n/**\r\n * An overlay component typically hidden but when busy will show itself on top of the component it is added inside of.\r\n * This takes an array of boolean or boolean subjects as what is busy could be a combination of things.\r\n */\r\n@Component({\r\n selector: \"hci-busy\",\r\n template: `\r\n <div [class.mxAuto]=\"mxAuto\" [class.myAuto]=\"myAuto\">\r\n <div [style.display]=\"showIcon ? 'flex' : 'none'\">\r\n <i class=\"{{icon}} {{iconSize}}\"></i>\r\n </div>\r\n <div class=\"text\" [style.display]=\"text ? 'flex' : 'none'\">\r\n {{text}}\r\n </div>\r\n <ng-container [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"config\"></ng-container>\r\n </div>\r\n `\r\n})\r\nexport class BusyComponent implements OnInit {\r\n\r\n @Input() busy: boolean[] = [false];\r\n\r\n @Input() busySubjects: Subject<boolean>[] = [];\r\n @Input() getBusySubjects: () => Subject<boolean>[];\r\n busySubscriptions: Subscription[] = [];\r\n busyCount: number = 0;\r\n\r\n @Input() parentSelector: string;\r\n @Input() rootClass: string;\r\n @Input() icon: string = \"hci fa-core fa-spin\";\r\n @Input() iconSize: string = \"fa-4x\";\r\n @Input() showIcon: boolean = true;\r\n @Input() mxAuto: boolean = false;\r\n @Input() myAuto: boolean = false;\r\n @Input() text: string;\r\n @Input() template: TemplateRef<any>;\r\n @Input() config: any = {};\r\n\r\n constructor(private elementRef: ElementRef,\r\n private renderer: Renderer2,\r\n private changeDetectorRef: ChangeDetectorRef) {\r\n this.renderer.addClass(this.elementRef.nativeElement, \"hci-busy\");\r\n }\r\n\r\n ngOnInit() {\r\n if (this.rootClass) {\r\n let classes: string[] = this.rootClass.split(\" \");\r\n for (let className of classes) {\r\n this.renderer.addClass(this.elementRef.nativeElement, className);\r\n }\r\n }\r\n if (this.mxAuto) {\r\n this.renderer.addClass(this.elementRef.nativeElement, \"mx-auto\");\r\n }\r\n if (this.myAuto) {\r\n this.renderer.addClass(this.elementRef.nativeElement, \"my-auto\");\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n if (this.getBusySubjects) {\r\n this.busySubjects = this.getBusySubjects();\r\n this.listenToBusySubjects();\r\n } else if (this.busySubjects) {\r\n this.listenToBusySubjects();\r\n }\r\n\r\n this.resize(true);\r\n }\r\n\r\n /**\r\n * Listens to changes to the inputs and changes to the busy arrays.\r\n *\r\n * @param {{[p: string]: SimpleChange}} changes\r\n */\r\n ngOnChanges(changes: {[propName: string]: SimpleChange}) {\r\n if (changes[\"busy\"]) {\r\n this.renderer.removeClass(this.elementRef.nativeElement, \"busy\");\r\n if (this.busy) {\r\n for (let o of this.busy) {\r\n if (o) {\r\n this.renderer.addClass(this.elementRef.nativeElement, \"busy\");\r\n this.resize();\r\n }\r\n }\r\n }\r\n } else if (changes[\"busySubjects\"]) {\r\n this.listenToBusySubjects();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.busySubscriptions) {\r\n for (let subscription of this.busySubscriptions) {\r\n subscription.unsubscribe();\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * If there is a subject boolean, this will listen to those subjects. There is a counter that is zero. When subjects\r\n * are busy the counter increments. When the subject becomes not busy, the counter decrements. When the counter arrives\r\n * back at zero, the overall busy is disabled.\r\n */\r\n private listenToBusySubjects(): void {\r\n if (isDevMode()) {\r\n console.debug(\"BusyComponent.listenToBusySubjects: \" + ((this.busySubjects) ? this.busySubjects.length : \"undefined\"));\r\n }\r\n\r\n if (!this.busySubjects) {\r\n return;\r\n }\r\n\r\n if (this.busySubscriptions) {\r\n for (let subscription of this.busySubscriptions) {\r\n subscription.unsubscribe();\r\n }\r\n }\r\n this.busySubscriptions = [];\r\n this.busyCount = 0;\r\n\r\n // Iterate over subjects. When a subject is busy, increment a counter, when not busy, decrement. When all subjects\r\n // are not busy, they overall we are not busy.\r\n for (let subject of this.busySubjects) {\r\n let subscription: Subscription = subject.subscribe((busy: boolean) => {\r\n if (busy !== undefined) {\r\n if (busy) {\r\n this.busyCount++;\r\n } else if (!busy && this.busyCount > 0) {\r\n this.busyCount--;\r\n }\r\n\r\n if (isDevMode()) {\r\n console.debug(\"BusyComponent.busySubjects: \" + busy + \", \" + this.busyCount);\r\n }\r\n\r\n this.renderer.removeClass(this.elementRef.nativeElement, \"busy\");\r\n\r\n if (this.busyCount > 0) {\r\n this.renderer.addClass(this.elementRef.nativeElement, \"busy\");\r\n }\r\n\r\n if (!(<ViewRef>this.changeDetectorRef).destroyed) {\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n }\r\n\r\n this.resize();\r\n });\r\n this.busySubscriptions.push(subscription);\r\n }\r\n }\r\n\r\n /**\r\n * Listens to the window resize and adjusts its size.\r\n *\r\n * @param event\r\n */\r\n @HostListener(\"window:resize\", [\"$event\"])\r\n public windowResize(event) {\r\n this.resize();\r\n }\r\n\r\n private resize(isDelay?: boolean): void {\r\n this.resetSize();\r\n\r\n if (isDelay) {\r\n of(undefined).pipe(delay(100)).subscribe(() => {\r\n this.resetSize();\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Looks at the size of the parent of this component and makes its height and width match the parent.\r\n */\r\n private resetSize(): void {\r\n let parent: HTMLElement;\r\n\r\n if (this.parentSelector) {\r\n parent = this.elementRef.nativeElement.closest(this.parentSelector);\r\n } else {\r\n parent = this.elementRef.nativeElement.parentElement;\r\n while (parent.offsetWidth === 0 && parent.parentElement) {\r\n parent = parent.parentElement;\r\n }\r\n }\r\n\r\n if (parent) {\r\n if ((parent.style.position === undefined || parent.style.position === \"\") && !parent.classList.contains(\"dropdown-menu\")) {\r\n this.renderer.setStyle(parent, \"position\", \"relative\");\r\n this.renderer.setStyle(this.elementRef.nativeElement, \"left\", \"0px\");\r\n this.renderer.setStyle(this.elementRef.nativeElement, \"top\", \"0px\");\r\n this.renderer.setStyle(this.elementRef.nativeElement, \"right\", \"0px\");\r\n this.renderer.setStyle(this.elementRef.nativeElement, \"bottom\", \"0px\");\r\n } else if (parent.style.position === \"relative\") {\r\n this.renderer.setStyle(this.elementRef.nativeElement, \"left\", \"0px\");\r\n this.renderer.setStyle(this.elementRef.nativeElement, \"top\", \"0px\");\r\n this.renderer.setStyle(this.elementRef.nativeElement, \"right\", \"0px\");\r\n this.renderer.setStyle(this.elementRef.nativeElement, \"bottom\", \"0px\");\r\n } else if (parent.offsetWidth === 0 || parent.offsetHeight === 0) {\r\n this.renderer.setStyle(this.elementRef.nativeElement, \"width\", parent.style.width);\r\n this.renderer.setStyle(this.elementRef.nativeElement, \"height\", parent.style.height);\r\n } else {\r\n this.renderer.setStyle(this.elementRef.nativeElement, \"width\", parent.offsetWidth + \"px\");\r\n this.renderer.setStyle(this.elementRef.nativeElement, \"height\", parent.offsetHeight + \"px\");\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Finds the margin in terms of a number by stripping off px, rem, or em.\r\n *\r\n * @param {string} margin\r\n * @returns {number}\r\n */\r\n private getMargin(margin: string): number {\r\n return +margin.replace(\"px\", \"\").replace(\"rem\", \"\").replace(\"em\", \"\");\r\n }\r\n}\r\n"," import {\r\n Component,\r\n ElementRef,\r\n HostBinding,\r\n isDevMode,\r\n Renderer2,\r\n ViewEncapsulation,\r\n Input,\r\n TemplateRef,\r\n ViewChild,\r\n ChangeDetectorRef\r\n } from \"@angular/core\";\r\n\r\n /**\r\n * Simple horizontal data display\r\n */\r\n@Component({\r\n encapsulation: ViewEncapsulation.None,\r\n selector: \"hci-paired-data\",\r\n template: `\r\n<div class=\"d-flex flex-column\" style=\"flex:1 1 100%\">\r\n <div class=\"d-flex\" style=\"align-items:center;color:#00AAFF\">\r\n <i class=\"hci {{header.icon}} fa-2x\" aria-hidden=\"true\"></i>{{header.title}}\r\n </div>\r\n <div class=\"d-flex\">\r\n <ng-container *ngFor=\"let col of createNumCols()\">\r\n <div class=\"d-flex\" [ngStyle]=\"{'flex' : colStyle}\">\r\n <div class=\"d-flex flex-column\" style=\"align-items:flex-end\">\r\n <ng-container *ngFor=\"let rowData of getRowsForColumn(col); let i = index;\">\r\n <div class=\"d-flex\">\r\n <ng-container *ngTemplateOutlet=\"getKeyTemplate(col,i); context: {rowData: rowData}\"></ng-container>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"d-flex flex-column\">\r\n <ng-container *ngFor=\"let rowData of getRowsForColumn(col); let i = index;\">\r\n <div class=\"d-flex\">\r\n <ng-container *ngTemplateOutlet=\"getValueTemplate(col,i); context: {rowData: rowData}\"></ng-container>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <!-- vertical separator -->\r\n <div *ngIf=\"col < numColumns - 1\" class=\"d-flex ms-2 me-2\" style=\"border-style:solid;border-width:1px;color:#98C7E0;\"></div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <!-- Default templates for a row -->\r\n <ng-template #defaultKeyTemplate let-row=\"rowData\">\r\n <div class=\"d-flex flex-grow-1 ps-2\" style=\"align-items: center;\">\r\n {{row.key}}\r\n </div>\r\n </ng-template>\r\n\r\n <!--The &nbsp; makes sure the div will have a dimension even when row.value is undefined/null -->\r\n <ng-template #defaultValueTemplate let-row=\"rowData\">\r\n <div class=\"d-flex flex-grow-1 ps-2\" style=\"align-items: center;font-weight:bold\">\r\n {{row.value}}<span [innerHTML]=\"'&nbsp;'\"></span>\r\n </div>\r\n </ng-template>\r\n\r\n `, styles: [`\r\n\r\n\r\n `]\r\n})\r\nexport class PairedDataComponent {\r\n\r\n // how many columns\r\n @Input(\"numColumns\") numColumns: number;\r\n // the header title, icon, ...\r\n @Input(\"header\") header: any;\r\n // the data rows\r\n @Input(\"dataArray\") dataArray: Object[];\r\n\r\n @ViewChild(\"defaultKeyTemplate\", {read: TemplateRef, static: true}) defaultKeyTemplate: TemplateRef<any>;\r\n @ViewChild(\"defaultValueTemplate\", {read: TemplateRef, static: true}) defaultValueTemplate: TemplateRef<any>;\r\n\r\n numRowsPerColumn: number;\r\n colStyle: string = \"1 1 100%\";\r\n\r\n constructor(private changeDetectorRef: ChangeDetectorRef) {}\r\n\r\n ngAfterViewInit(): void {\r\n this.numRowsPerColumn = Math.ceil(this.dataArray.length/this.numColumns);\r\n this.colStyle = '1 1 ' + (Math.floor(100/this.numColumns)-2) + \"%\";\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n\r\n // A placeholder method to return an array of integers representing the columns numbers\r\n createNumCols() {\r\n if (!this.numColumns)\r\n return;\r\n let items: number[] = [];\r\n for (let i = 0; i < this.numColumns; i++) {\r\n items.push(i);\r\n }\r\n return items;\r\n }\r\n\r\n // Return the rows for the given column\r\n getRowsForColumn(col: number) {\r\n if (!this.numColumns || !this.numRowsPerColumn)\r\n return;\r\n let columnRowData: Object[] = [];\r\n if (col < (this.numColumns - 1)) {\r\n for (let i = col * this.numRowsPerColumn; i < (col + 1) * this.numRowsPerColumn; i++) {\r\n columnRowData.push(this.dataArray[i]);\r\n }\r\n }\r\n else {\r\n // last column just has the remaining rows which can be less than numRows\r\n for (let i = (this.numColumns - 1) * this.numRowsPerColumn; i < this.dataArray.length; i++) {\r\n columnRowData.push(this.dataArray[i]);\r\n }\r\n }\r\n return columnRowData;\r\n }\r\n\r\n getKeyTemplate(col: number, row: number) {\r\n let index: number = col * this.numRowsPerColumn + row;\r\n if (!this.dataArray[index]['keyTemplate']) {\r\n return this.defaultKeyTemplate;\r\n }\r\n else {\r\n return this.dataArray[index]['keyTemplate'];\r\n }\r\n }\r\n\r\n getValueTemplate(col: number, row: number) {\r\n let index: number = col * this.numRowsPerColumn + row;\r\n if (!this.dataArray[index]['valueTemplate']) {\r\n return this.defaultValueTemplate;\r\n }\r\n else {\r\n return this.dataArray[index]['valueTemplate'];\r\n }\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\n\r\nimport {NgbModule} from \"@ng-bootstrap/ng-bootstrap\";\r\n\r\nimport {BusyComponent} from \"./busy.component\";\r\nimport {PairedDataComponent} from \"./paired-data.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n NgbModule\r\n ],\r\n declarations: [\r\n BusyComponent,\r\n PairedDataComponent\r\n ],\r\n exports: [\r\n BusyComponent,\r\n PairedDataComponent\r\n ]\r\n})\r\nexport class MiscModule {}\r\n","/*\r\n * Public API Surface of misc\r\n */\r\n\r\nexport * from './busy.component';\r\nexport * from './paired-data.component';\r\nexport * from './misc.module'\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@huntsman-cancer-institute/misc",
3
- "version": "17.0.8",
3
+ "version": "17.0.9",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git@gitlab.com:huntsman-cancer-institute/risr/ng/hci-ng-lib.git"