ca-components 0.0.65 → 0.0.66

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.
@@ -50,7 +50,7 @@ export class CaMainTableComponent {
50
50
  moveItemInArray(this.columns, event.previousIndex, event.currentIndex);
51
51
  }
52
52
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CaMainTableComponent, deps: [{ token: i0.Injector }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
53
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CaMainTableComponent, isStandalone: true, selector: "app-ca-main-table", inputs: { hideFieldsToHide: "hideFieldsToHide", reorderItems: "reorderItems", columns: "columns", data$: "data$" }, outputs: { onPressEvent: "onPressEvent" }, ngImport: i0, template: "<div class=\"ca-main-table-holder\">\n <cdk-virtual-scroll-viewport itemSize=\"44\" class=\"main-table-scroll-viewport\">\n <table class=\"ca-main-table\" cdkDropListGroup>\n <thead>\n <tr\n cdkDropList\n cdkDropListOrientation=\"horizontal\"\n (cdkDropListDropped)=\"dropHeader($event)\"\n class=\"table-body-list th-table-body-list\"\n >\n <div\n cdkDragLockAxis=\"x\"\n cdkDrag\n cdkDragPreviewContainer=\"parent\"\n *ngFor=\"\n let col of columns | caMainTableHiddenRows: hideFieldsToHide;\n let indx = index\n \"\n class=\"cdk_th_div table-tr\"\n [class]=\"col.cellCustomClasses\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n headerThTemplate;\n context: {\n $implicit: col,\n index: indx,\n }\n \"\n ></ng-container>\n </div>\n </tr>\n </thead>\n <tbody\n #tableMainBody\n cdkScrollable\n [cdkDropListDisabled]=\"!reorderItems\"\n cdkDropList\n (cdkDropListDropped)=\"drop($event)\"\n class=\"table-body-list\"\n >\n <ng-container\n *cdkVirtualFor=\"let row of data$ | async; let rowIndex = index\"\n >\n <tr\n cdkDragLockAxis=\"y\"\n cdkDrag\n cdkDragPreviewContainer=\"parent\"\n cdkDragBoundary=\".table-body-list\"\n (click)=\"onPressRow(row)\"\n class=\"table-tr\"\n >\n <!-- <ng-template cdkDragPreview>\n <div class=\"custom-drag-preview\">fdasfdsafasd</div>\n </ng-template> -->\n <!-- <ng-container *cdkDragPlaceholder>\n <tr class=\"drag-placeholder\">\n <td colspan=\"12\">Moving</td>\n </tr>\n </ng-container> -->\n <td\n *ngFor=\"\n let col of columns | caMainTableHiddenRows: hideFieldsToHide\n \"\n [class]=\"col.cellCustomClasses\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n rowTemplate;\n context: { row: row, col: col, index: rowIndex }\n \"\n >\n </ng-container>\n </td>\n </tr>\n </ng-container>\n\n <!-- <ng-container *ngFor=\"let row of data$ | async; let rowIndex = index\">\n \n </ng-container> -->\n </tbody>\n </table>\n </cdk-virtual-scroll-viewport>\n</div>\n\n<ng-template #headerThTemplate let-col let-indx=\"index\">\n <th>\n <ng-container [ngSwitch]=\"col.headerCellType\">\n <!-- Template cell -->\n <ng-container *ngSwitchCase=\"'template'\">\n <ng-container\n *ngTemplateOutlet=\"\n col.headerTemplate;\n context: {\n $implicit: col.header,\n index: indx,\n }\n \"\n ></ng-container>\n </ng-container>\n <div *ngSwitchDefault class=\"th-content-container\">\n {{ col.header }}\n </div>\n </ng-container>\n </th>\n</ng-template>\n\n<ng-template #rowTemplate let-row=\"row\" let-col=\"col\" let-index=\"index\">\n <div class=\"td-container\">\n <div class=\"td-content-container\">\n <ng-container [ngSwitch]=\"col.cellType\">\n <!-- Default text cell -->\n <!-- <span *ngSwitchCase=\"'text'\">{{\n row[col.field]\n }}</span> -->\n\n <!-- Template cell -->\n <ng-container *ngSwitchCase=\"'template'\">\n <ng-container\n *ngTemplateOutlet=\"\n col.template;\n context: {\n $implicit: col.row ? row : row[col.field],\n index: index,\n }\n \"\n ></ng-container>\n </ng-container>\n\n <!-- Custom component cell -->\n <ng-container *ngSwitchCase=\"'component'\">\n <ng-container\n *ngComponentOutlet=\"\n col.component;\n injector: createInjector(row, col.inputs)\n \"\n ></ng-container>\n </ng-container>\n\n <!-- Default fallback -->\n <ng-container *ngSwitchDefault>\n <ng-container\n *ngTemplateOutlet=\"\n customTextTemplate;\n context: {\n $implicit: {\n field: row[col.field],\n pipeType: col.pipeType,\n pipeString: col.pipeString,\n textCustomClasses: col.textCustomClasses,\n index: index,\n },\n }\n \"\n ></ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n</ng-template>\n\n<!-- Default Text Template -->\n<ng-template #customTextTemplate let-data let-index>\n <ng-container [ngSwitch]=\"data.pipeType\">\n <ng-container *ngSwitchCase=\"'date'\">\n <div [ngClass]=\"data.textCustomClasses\" class=\"text\">\n {{ data.field | date: data.pipeString }}\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'currency'\">\n <div [ngClass]=\"data.textCustomClasses\" class=\"text\">\n {{ data.field | currency: data.pipeString }}\n </div>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <div [ngClass]=\"data.textCustomClasses\" class=\"text\">\n {{ data.field }}\n </div>\n </ng-container>\n </ng-container>\n</ng-template>\n", styles: [".ca-main-table-holder .main-table-scroll-viewport{min-height:200px}.ca-main-table-holder .ca-main-table{color:#424242;width:100%;border-collapse:collapse;background-color:#eee}.ca-main-table-holder .ca-main-table thead tr th{color:#6c6c6c;text-transform:uppercase;font-size:11px}.ca-main-table-holder .ca-main-table thead tr th .th-content-container{padding:4px}.ca-main-table-holder .ca-main-table tbody tr td{height:36px;padding:1px 0}.ca-main-table-holder .ca-main-table tbody tr td .td-container{padding:4px 0;display:flex;align-items:center;height:34px;background-color:#fff}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container{flex:1;padding:3px 4px}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text{font-size:14px}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-100{font-weight:100}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-200{font-weight:200}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-300{font-weight:300}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-400{font-weight:400}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-500{font-weight:500}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-600{font-weight:600}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-700{font-weight:700}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-800{font-weight:800}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-900{font-weight:900}.ca-main-table-holder .ca-main-table tbody tr td:first-child .td-container{border-top-left-radius:3px;border-bottom-left-radius:3px;padding-left:4px}.ca-main-table-holder .ca-main-table tbody tr td:first-child .td-container .td-content-container{border-top-left-radius:3px;border-bottom-left-radius:3px}.ca-main-table-holder .ca-main-table tbody tr td:last-child .td-container{border-top-right-radius:3px;border-bottom-right-radius:3px;padding-right:4px}.ca-main-table-holder .ca-main-table tbody tr td:last-child .td-container .td-content-container{border-top-right-radius:3px;border-bottom-right-radius:3px}.ca-main-table-holder .ca-main-table tbody tr:hover td .td-container .td-content-container{background-color:#eee}.cdk_th_div{display:table-cell}.cdk_th_div th{display:block}.drag-placeholder{background-color:#fff}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.table-tr:last-child{border:none}.table-body-list.cdk-drop-list-dragging .table-tr:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.drag-placeholder{background:#ccc;border:dotted 3px #999;min-height:60px;transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drag-placeholder,.th-table-body-list .cdk-drag-placeholder{opacity:0}.th-table-body-list .cdk_th_div{box-shadow:none!important;background-color:transparent!important}\n"], dependencies: [{ kind: "directive", type: CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "pipe", type: CaMainTableHiddenRowsPipe, name: "caMainTableHiddenRows" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.CurrencyPipe, name: "currency" }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "ngmodule", type: ScrollingModule }, { kind: "directive", type: i2.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "directive", type: i2.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i2.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i2.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }] }); }
53
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CaMainTableComponent, isStandalone: true, selector: "app-ca-main-table", inputs: { hideFieldsToHide: "hideFieldsToHide", reorderItems: "reorderItems", columns: "columns", data$: "data$" }, outputs: { onPressEvent: "onPressEvent" }, ngImport: i0, template: "<div class=\"ca-main-table-holder\">\n <cdk-virtual-scroll-viewport itemSize=\"44\" class=\"main-table-scroll-viewport\">\n <table class=\"ca-main-table\" cdkDropListGroup>\n <thead>\n <tr\n cdkDropList\n cdkDropListOrientation=\"horizontal\"\n [cdkDropListDisabled]=\"!reorderItems\"\n (cdkDropListDropped)=\"dropHeader($event)\"\n class=\"table-body-list th-table-body-list\"\n >\n <div\n cdkDragLockAxis=\"x\"\n cdkDrag\n cdkDragPreviewContainer=\"parent\"\n *ngFor=\"\n let col of columns | caMainTableHiddenRows: hideFieldsToHide;\n let indx = index\n \"\n class=\"cdk_th_div table-tr\"\n [class]=\"col.cellCustomClasses\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n headerThTemplate;\n context: {\n $implicit: col,\n index: indx,\n }\n \"\n ></ng-container>\n </div>\n </tr>\n </thead>\n <tbody\n #tableMainBody\n cdkScrollable\n [cdkDropListDisabled]=\"!reorderItems\"\n cdkDropList\n (cdkDropListDropped)=\"drop($event)\"\n class=\"table-body-list\"\n >\n <ng-container\n *cdkVirtualFor=\"let row of data$ | async; let rowIndex = index\"\n >\n <tr\n cdkDragLockAxis=\"y\"\n cdkDrag\n cdkDragPreviewContainer=\"parent\"\n cdkDragBoundary=\".table-body-list\"\n (click)=\"onPressRow(row)\"\n class=\"table-tr\"\n >\n <!-- <ng-template cdkDragPreview>\n <div class=\"custom-drag-preview\">fdasfdsafasd</div>\n </ng-template> -->\n <!-- <ng-container *cdkDragPlaceholder>\n <tr class=\"drag-placeholder\">\n <td colspan=\"12\">Moving</td>\n </tr>\n </ng-container> -->\n <td\n *ngFor=\"\n let col of columns | caMainTableHiddenRows: hideFieldsToHide\n \"\n [class]=\"col.cellCustomClasses\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n rowTemplate;\n context: { row: row, col: col, index: rowIndex }\n \"\n >\n </ng-container>\n </td>\n </tr>\n </ng-container>\n\n <!-- <ng-container *ngFor=\"let row of data$ | async; let rowIndex = index\">\n \n </ng-container> -->\n </tbody>\n </table>\n </cdk-virtual-scroll-viewport>\n</div>\n\n<ng-template #headerThTemplate let-col let-indx=\"index\">\n <th>\n <ng-container [ngSwitch]=\"col.headerCellType\">\n <!-- Template cell -->\n <ng-container *ngSwitchCase=\"'template'\">\n <ng-container\n *ngTemplateOutlet=\"\n col.headerTemplate;\n context: {\n $implicit: col.header,\n index: indx,\n }\n \"\n ></ng-container>\n </ng-container>\n <div *ngSwitchDefault class=\"th-content-container\">\n {{ col.header }}\n </div>\n </ng-container>\n </th>\n</ng-template>\n\n<ng-template #rowTemplate let-row=\"row\" let-col=\"col\" let-index=\"index\">\n <div class=\"td-container\">\n <div class=\"td-content-container\">\n <ng-container [ngSwitch]=\"col.cellType\">\n <!-- Default text cell -->\n <!-- <span *ngSwitchCase=\"'text'\">{{\n row[col.field]\n }}</span> -->\n\n <!-- Template cell -->\n <ng-container *ngSwitchCase=\"'template'\">\n <ng-container\n *ngTemplateOutlet=\"\n col.template;\n context: {\n $implicit: col.row ? row : row[col.field],\n index: index,\n }\n \"\n ></ng-container>\n </ng-container>\n\n <!-- Custom component cell -->\n <ng-container *ngSwitchCase=\"'component'\">\n <ng-container\n *ngComponentOutlet=\"\n col.component;\n injector: createInjector(row, col.inputs)\n \"\n ></ng-container>\n </ng-container>\n\n <!-- Default fallback -->\n <ng-container *ngSwitchDefault>\n <ng-container\n *ngTemplateOutlet=\"\n customTextTemplate;\n context: {\n $implicit: {\n field: row[col.field],\n pipeType: col.pipeType,\n pipeString: col.pipeString,\n textCustomClasses: col.textCustomClasses,\n index: index,\n },\n }\n \"\n ></ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n</ng-template>\n\n<!-- Default Text Template -->\n<ng-template #customTextTemplate let-data let-index>\n <ng-container [ngSwitch]=\"data.pipeType\">\n <ng-container *ngSwitchCase=\"'date'\">\n <div [ngClass]=\"data.textCustomClasses\" class=\"text\">\n {{ data.field | date: data.pipeString }}\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'currency'\">\n <div [ngClass]=\"data.textCustomClasses\" class=\"text\">\n {{ data.field | currency: data.pipeString }}\n </div>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <div [ngClass]=\"data.textCustomClasses\" class=\"text\">\n {{ data.field }}\n </div>\n </ng-container>\n </ng-container>\n</ng-template>\n", styles: [".ca-main-table-holder .main-table-scroll-viewport{min-height:200px}.ca-main-table-holder .ca-main-table{color:#424242;width:100%;border-collapse:collapse;background-color:#eee}.ca-main-table-holder .ca-main-table thead tr th{color:#6c6c6c;text-transform:uppercase;font-size:11px}.ca-main-table-holder .ca-main-table thead tr th .th-content-container{padding:4px}.ca-main-table-holder .ca-main-table tbody tr td{height:36px;padding:1px 0}.ca-main-table-holder .ca-main-table tbody tr td .td-container{padding:4px 0;display:flex;align-items:center;height:34px;background-color:#fff}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container{flex:1;padding:3px 4px}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text{font-size:14px}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-100{font-weight:100}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-200{font-weight:200}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-300{font-weight:300}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-400{font-weight:400}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-500{font-weight:500}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-600{font-weight:600}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-700{font-weight:700}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-800{font-weight:800}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-900{font-weight:900}.ca-main-table-holder .ca-main-table tbody tr td:first-child .td-container{border-top-left-radius:3px;border-bottom-left-radius:3px;padding-left:4px}.ca-main-table-holder .ca-main-table tbody tr td:first-child .td-container .td-content-container{border-top-left-radius:3px;border-bottom-left-radius:3px}.ca-main-table-holder .ca-main-table tbody tr td:last-child .td-container{border-top-right-radius:3px;border-bottom-right-radius:3px;padding-right:4px}.ca-main-table-holder .ca-main-table tbody tr td:last-child .td-container .td-content-container{border-top-right-radius:3px;border-bottom-right-radius:3px}.ca-main-table-holder .ca-main-table tbody tr:hover td .td-container .td-content-container{background-color:#eee}.cdk_th_div{display:table-cell}.cdk_th_div th{display:block}.drag-placeholder{background-color:#fff}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.table-tr:last-child{border:none}.table-body-list.cdk-drop-list-dragging .table-tr:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.drag-placeholder{background:#ccc;border:dotted 3px #999;min-height:60px;transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drag-placeholder,.th-table-body-list .cdk-drag-placeholder{opacity:0}.th-table-body-list .cdk_th_div{box-shadow:none!important;background-color:transparent!important}\n"], dependencies: [{ kind: "directive", type: CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "pipe", type: CaMainTableHiddenRowsPipe, name: "caMainTableHiddenRows" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.CurrencyPipe, name: "currency" }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "ngmodule", type: ScrollingModule }, { kind: "directive", type: i2.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "directive", type: i2.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i2.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i2.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }] }); }
54
54
  }
55
55
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CaMainTableComponent, decorators: [{
56
56
  type: Component,
@@ -63,7 +63,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
63
63
  CaMainTableHiddenRowsPipe,
64
64
  CommonModule,
65
65
  ScrollingModule
66
- ], template: "<div class=\"ca-main-table-holder\">\n <cdk-virtual-scroll-viewport itemSize=\"44\" class=\"main-table-scroll-viewport\">\n <table class=\"ca-main-table\" cdkDropListGroup>\n <thead>\n <tr\n cdkDropList\n cdkDropListOrientation=\"horizontal\"\n (cdkDropListDropped)=\"dropHeader($event)\"\n class=\"table-body-list th-table-body-list\"\n >\n <div\n cdkDragLockAxis=\"x\"\n cdkDrag\n cdkDragPreviewContainer=\"parent\"\n *ngFor=\"\n let col of columns | caMainTableHiddenRows: hideFieldsToHide;\n let indx = index\n \"\n class=\"cdk_th_div table-tr\"\n [class]=\"col.cellCustomClasses\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n headerThTemplate;\n context: {\n $implicit: col,\n index: indx,\n }\n \"\n ></ng-container>\n </div>\n </tr>\n </thead>\n <tbody\n #tableMainBody\n cdkScrollable\n [cdkDropListDisabled]=\"!reorderItems\"\n cdkDropList\n (cdkDropListDropped)=\"drop($event)\"\n class=\"table-body-list\"\n >\n <ng-container\n *cdkVirtualFor=\"let row of data$ | async; let rowIndex = index\"\n >\n <tr\n cdkDragLockAxis=\"y\"\n cdkDrag\n cdkDragPreviewContainer=\"parent\"\n cdkDragBoundary=\".table-body-list\"\n (click)=\"onPressRow(row)\"\n class=\"table-tr\"\n >\n <!-- <ng-template cdkDragPreview>\n <div class=\"custom-drag-preview\">fdasfdsafasd</div>\n </ng-template> -->\n <!-- <ng-container *cdkDragPlaceholder>\n <tr class=\"drag-placeholder\">\n <td colspan=\"12\">Moving</td>\n </tr>\n </ng-container> -->\n <td\n *ngFor=\"\n let col of columns | caMainTableHiddenRows: hideFieldsToHide\n \"\n [class]=\"col.cellCustomClasses\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n rowTemplate;\n context: { row: row, col: col, index: rowIndex }\n \"\n >\n </ng-container>\n </td>\n </tr>\n </ng-container>\n\n <!-- <ng-container *ngFor=\"let row of data$ | async; let rowIndex = index\">\n \n </ng-container> -->\n </tbody>\n </table>\n </cdk-virtual-scroll-viewport>\n</div>\n\n<ng-template #headerThTemplate let-col let-indx=\"index\">\n <th>\n <ng-container [ngSwitch]=\"col.headerCellType\">\n <!-- Template cell -->\n <ng-container *ngSwitchCase=\"'template'\">\n <ng-container\n *ngTemplateOutlet=\"\n col.headerTemplate;\n context: {\n $implicit: col.header,\n index: indx,\n }\n \"\n ></ng-container>\n </ng-container>\n <div *ngSwitchDefault class=\"th-content-container\">\n {{ col.header }}\n </div>\n </ng-container>\n </th>\n</ng-template>\n\n<ng-template #rowTemplate let-row=\"row\" let-col=\"col\" let-index=\"index\">\n <div class=\"td-container\">\n <div class=\"td-content-container\">\n <ng-container [ngSwitch]=\"col.cellType\">\n <!-- Default text cell -->\n <!-- <span *ngSwitchCase=\"'text'\">{{\n row[col.field]\n }}</span> -->\n\n <!-- Template cell -->\n <ng-container *ngSwitchCase=\"'template'\">\n <ng-container\n *ngTemplateOutlet=\"\n col.template;\n context: {\n $implicit: col.row ? row : row[col.field],\n index: index,\n }\n \"\n ></ng-container>\n </ng-container>\n\n <!-- Custom component cell -->\n <ng-container *ngSwitchCase=\"'component'\">\n <ng-container\n *ngComponentOutlet=\"\n col.component;\n injector: createInjector(row, col.inputs)\n \"\n ></ng-container>\n </ng-container>\n\n <!-- Default fallback -->\n <ng-container *ngSwitchDefault>\n <ng-container\n *ngTemplateOutlet=\"\n customTextTemplate;\n context: {\n $implicit: {\n field: row[col.field],\n pipeType: col.pipeType,\n pipeString: col.pipeString,\n textCustomClasses: col.textCustomClasses,\n index: index,\n },\n }\n \"\n ></ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n</ng-template>\n\n<!-- Default Text Template -->\n<ng-template #customTextTemplate let-data let-index>\n <ng-container [ngSwitch]=\"data.pipeType\">\n <ng-container *ngSwitchCase=\"'date'\">\n <div [ngClass]=\"data.textCustomClasses\" class=\"text\">\n {{ data.field | date: data.pipeString }}\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'currency'\">\n <div [ngClass]=\"data.textCustomClasses\" class=\"text\">\n {{ data.field | currency: data.pipeString }}\n </div>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <div [ngClass]=\"data.textCustomClasses\" class=\"text\">\n {{ data.field }}\n </div>\n </ng-container>\n </ng-container>\n</ng-template>\n", styles: [".ca-main-table-holder .main-table-scroll-viewport{min-height:200px}.ca-main-table-holder .ca-main-table{color:#424242;width:100%;border-collapse:collapse;background-color:#eee}.ca-main-table-holder .ca-main-table thead tr th{color:#6c6c6c;text-transform:uppercase;font-size:11px}.ca-main-table-holder .ca-main-table thead tr th .th-content-container{padding:4px}.ca-main-table-holder .ca-main-table tbody tr td{height:36px;padding:1px 0}.ca-main-table-holder .ca-main-table tbody tr td .td-container{padding:4px 0;display:flex;align-items:center;height:34px;background-color:#fff}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container{flex:1;padding:3px 4px}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text{font-size:14px}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-100{font-weight:100}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-200{font-weight:200}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-300{font-weight:300}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-400{font-weight:400}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-500{font-weight:500}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-600{font-weight:600}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-700{font-weight:700}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-800{font-weight:800}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-900{font-weight:900}.ca-main-table-holder .ca-main-table tbody tr td:first-child .td-container{border-top-left-radius:3px;border-bottom-left-radius:3px;padding-left:4px}.ca-main-table-holder .ca-main-table tbody tr td:first-child .td-container .td-content-container{border-top-left-radius:3px;border-bottom-left-radius:3px}.ca-main-table-holder .ca-main-table tbody tr td:last-child .td-container{border-top-right-radius:3px;border-bottom-right-radius:3px;padding-right:4px}.ca-main-table-holder .ca-main-table tbody tr td:last-child .td-container .td-content-container{border-top-right-radius:3px;border-bottom-right-radius:3px}.ca-main-table-holder .ca-main-table tbody tr:hover td .td-container .td-content-container{background-color:#eee}.cdk_th_div{display:table-cell}.cdk_th_div th{display:block}.drag-placeholder{background-color:#fff}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.table-tr:last-child{border:none}.table-body-list.cdk-drop-list-dragging .table-tr:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.drag-placeholder{background:#ccc;border:dotted 3px #999;min-height:60px;transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drag-placeholder,.th-table-body-list .cdk-drag-placeholder{opacity:0}.th-table-body-list .cdk_th_div{box-shadow:none!important;background-color:transparent!important}\n"] }]
66
+ ], template: "<div class=\"ca-main-table-holder\">\n <cdk-virtual-scroll-viewport itemSize=\"44\" class=\"main-table-scroll-viewport\">\n <table class=\"ca-main-table\" cdkDropListGroup>\n <thead>\n <tr\n cdkDropList\n cdkDropListOrientation=\"horizontal\"\n [cdkDropListDisabled]=\"!reorderItems\"\n (cdkDropListDropped)=\"dropHeader($event)\"\n class=\"table-body-list th-table-body-list\"\n >\n <div\n cdkDragLockAxis=\"x\"\n cdkDrag\n cdkDragPreviewContainer=\"parent\"\n *ngFor=\"\n let col of columns | caMainTableHiddenRows: hideFieldsToHide;\n let indx = index\n \"\n class=\"cdk_th_div table-tr\"\n [class]=\"col.cellCustomClasses\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n headerThTemplate;\n context: {\n $implicit: col,\n index: indx,\n }\n \"\n ></ng-container>\n </div>\n </tr>\n </thead>\n <tbody\n #tableMainBody\n cdkScrollable\n [cdkDropListDisabled]=\"!reorderItems\"\n cdkDropList\n (cdkDropListDropped)=\"drop($event)\"\n class=\"table-body-list\"\n >\n <ng-container\n *cdkVirtualFor=\"let row of data$ | async; let rowIndex = index\"\n >\n <tr\n cdkDragLockAxis=\"y\"\n cdkDrag\n cdkDragPreviewContainer=\"parent\"\n cdkDragBoundary=\".table-body-list\"\n (click)=\"onPressRow(row)\"\n class=\"table-tr\"\n >\n <!-- <ng-template cdkDragPreview>\n <div class=\"custom-drag-preview\">fdasfdsafasd</div>\n </ng-template> -->\n <!-- <ng-container *cdkDragPlaceholder>\n <tr class=\"drag-placeholder\">\n <td colspan=\"12\">Moving</td>\n </tr>\n </ng-container> -->\n <td\n *ngFor=\"\n let col of columns | caMainTableHiddenRows: hideFieldsToHide\n \"\n [class]=\"col.cellCustomClasses\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n rowTemplate;\n context: { row: row, col: col, index: rowIndex }\n \"\n >\n </ng-container>\n </td>\n </tr>\n </ng-container>\n\n <!-- <ng-container *ngFor=\"let row of data$ | async; let rowIndex = index\">\n \n </ng-container> -->\n </tbody>\n </table>\n </cdk-virtual-scroll-viewport>\n</div>\n\n<ng-template #headerThTemplate let-col let-indx=\"index\">\n <th>\n <ng-container [ngSwitch]=\"col.headerCellType\">\n <!-- Template cell -->\n <ng-container *ngSwitchCase=\"'template'\">\n <ng-container\n *ngTemplateOutlet=\"\n col.headerTemplate;\n context: {\n $implicit: col.header,\n index: indx,\n }\n \"\n ></ng-container>\n </ng-container>\n <div *ngSwitchDefault class=\"th-content-container\">\n {{ col.header }}\n </div>\n </ng-container>\n </th>\n</ng-template>\n\n<ng-template #rowTemplate let-row=\"row\" let-col=\"col\" let-index=\"index\">\n <div class=\"td-container\">\n <div class=\"td-content-container\">\n <ng-container [ngSwitch]=\"col.cellType\">\n <!-- Default text cell -->\n <!-- <span *ngSwitchCase=\"'text'\">{{\n row[col.field]\n }}</span> -->\n\n <!-- Template cell -->\n <ng-container *ngSwitchCase=\"'template'\">\n <ng-container\n *ngTemplateOutlet=\"\n col.template;\n context: {\n $implicit: col.row ? row : row[col.field],\n index: index,\n }\n \"\n ></ng-container>\n </ng-container>\n\n <!-- Custom component cell -->\n <ng-container *ngSwitchCase=\"'component'\">\n <ng-container\n *ngComponentOutlet=\"\n col.component;\n injector: createInjector(row, col.inputs)\n \"\n ></ng-container>\n </ng-container>\n\n <!-- Default fallback -->\n <ng-container *ngSwitchDefault>\n <ng-container\n *ngTemplateOutlet=\"\n customTextTemplate;\n context: {\n $implicit: {\n field: row[col.field],\n pipeType: col.pipeType,\n pipeString: col.pipeString,\n textCustomClasses: col.textCustomClasses,\n index: index,\n },\n }\n \"\n ></ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n</ng-template>\n\n<!-- Default Text Template -->\n<ng-template #customTextTemplate let-data let-index>\n <ng-container [ngSwitch]=\"data.pipeType\">\n <ng-container *ngSwitchCase=\"'date'\">\n <div [ngClass]=\"data.textCustomClasses\" class=\"text\">\n {{ data.field | date: data.pipeString }}\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'currency'\">\n <div [ngClass]=\"data.textCustomClasses\" class=\"text\">\n {{ data.field | currency: data.pipeString }}\n </div>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <div [ngClass]=\"data.textCustomClasses\" class=\"text\">\n {{ data.field }}\n </div>\n </ng-container>\n </ng-container>\n</ng-template>\n", styles: [".ca-main-table-holder .main-table-scroll-viewport{min-height:200px}.ca-main-table-holder .ca-main-table{color:#424242;width:100%;border-collapse:collapse;background-color:#eee}.ca-main-table-holder .ca-main-table thead tr th{color:#6c6c6c;text-transform:uppercase;font-size:11px}.ca-main-table-holder .ca-main-table thead tr th .th-content-container{padding:4px}.ca-main-table-holder .ca-main-table tbody tr td{height:36px;padding:1px 0}.ca-main-table-holder .ca-main-table tbody tr td .td-container{padding:4px 0;display:flex;align-items:center;height:34px;background-color:#fff}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container{flex:1;padding:3px 4px}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text{font-size:14px}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-100{font-weight:100}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-200{font-weight:200}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-300{font-weight:300}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-400{font-weight:400}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-500{font-weight:500}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-600{font-weight:600}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-700{font-weight:700}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-800{font-weight:800}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-900{font-weight:900}.ca-main-table-holder .ca-main-table tbody tr td:first-child .td-container{border-top-left-radius:3px;border-bottom-left-radius:3px;padding-left:4px}.ca-main-table-holder .ca-main-table tbody tr td:first-child .td-container .td-content-container{border-top-left-radius:3px;border-bottom-left-radius:3px}.ca-main-table-holder .ca-main-table tbody tr td:last-child .td-container{border-top-right-radius:3px;border-bottom-right-radius:3px;padding-right:4px}.ca-main-table-holder .ca-main-table tbody tr td:last-child .td-container .td-content-container{border-top-right-radius:3px;border-bottom-right-radius:3px}.ca-main-table-holder .ca-main-table tbody tr:hover td .td-container .td-content-container{background-color:#eee}.cdk_th_div{display:table-cell}.cdk_th_div th{display:block}.drag-placeholder{background-color:#fff}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.table-tr:last-child{border:none}.table-body-list.cdk-drop-list-dragging .table-tr:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.drag-placeholder{background:#ccc;border:dotted 3px #999;min-height:60px;transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drag-placeholder,.th-table-body-list .cdk-drag-placeholder{opacity:0}.th-table-body-list .cdk_th_div{box-shadow:none!important;background-color:transparent!important}\n"] }]
67
67
  }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { onPressEvent: [{
68
68
  type: Output
69
69
  }], hideFieldsToHide: [{
@@ -75,4 +75,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
75
75
  }], data$: [{
76
76
  type: Input
77
77
  }] } });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtbWFpbi10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1tYWluLXRhYmxlL2NhLW1haW4tdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtbWFpbi10YWJsZS9jYS1tYWluLXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFDWixRQUFRLEVBQ1IsS0FBSyxFQUVMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUM3RyxPQUFPLEVBQ0wsT0FBTyxFQUVQLGtCQUFrQixFQUNsQixjQUFjLEVBQ2QsV0FBVyxFQUNYLGdCQUFnQixFQUNoQixlQUFlLEdBQ2hCLE1BQU0sd0JBQXdCLENBQUM7QUFFaEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7O0FBa0J6RCxNQUFNLE9BQU8sb0JBQW9CO0lBVS9CLFlBQ1UsUUFBa0IsRUFDbEIsS0FBd0I7UUFEeEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQVhsQyxVQUFVO1FBQ0EsaUJBQVksR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUVwRSxTQUFTO1FBQ0EscUJBQWdCLEdBQVksS0FBSyxDQUFDO1FBQ2xDLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBQzlCLFlBQU8sR0FBbUIsRUFBRSxDQUFDO0lBTW5DLENBQUM7SUFFSixVQUFVLENBQUMsT0FBWTtRQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDNUIsZ0VBQWdFO1lBQ2hFLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsY0FBYyxDQUFDLE9BQVksRUFBRSxNQUE4QjtRQUN6RCxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDN0QsT0FBTyxFQUFFLEdBQUc7WUFDWixRQUFRLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQztTQUN0QixDQUFDLENBQUMsQ0FBQztRQUNKLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUNyQixTQUFTLEVBQUUsY0FBYztZQUN6QixNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDdEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGFBQWEsQ0FDWCxZQUFpQixFQUNqQixPQUFnRDtRQUVoRCxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQ3pDLElBQUksWUFBWSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDcEMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7YUFDaEU7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBNEI7UUFDckMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVELElBQUksQ0FBQyxLQUE0QjtRQUMvQixlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN6RSxDQUFDOytHQXREVSxvQkFBb0I7bUdBQXBCLG9CQUFvQiw0T0N4Q2pDLG9vTEFxTEEsMHhHRHhKSSxnQkFBZ0IscUlBQ2hCLFdBQVcsK2RBQ1gsT0FBTyxtYkFHUCx5QkFBeUIsNkRBQ3pCLFlBQVksdWxDQUNaLGVBQWU7OzRGQUlOLG9CQUFvQjtrQkFoQmhDLFNBQVM7K0JBQ0UsbUJBQW1CLGNBRWpCLElBQUksV0FDUDt3QkFDUCxnQkFBZ0I7d0JBQ2hCLFdBQVc7d0JBQ1gsT0FBTzt3QkFDUCxrQkFBa0I7d0JBQ2xCLGNBQWM7d0JBQ2QseUJBQXlCO3dCQUN6QixZQUFZO3dCQUNaLGVBQWU7cUJBQ2hCOytIQUtTLFlBQVk7c0JBQXJCLE1BQU07Z0JBR0UsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdG9yLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ2FNYWluVGFibGVIaWRkZW5Sb3dzUGlwZSB9IGZyb20gJy4vcGlwZXMvY2EtbWFpbi10YWJsZS1oaWRkZW4tcm93cy9jYS1tYWluLXRhYmxlLWhpZGRlbi1yb3dzLnBpcGUnO1xuaW1wb3J0IHtcbiAgQ2RrRHJhZyxcbiAgQ2RrRHJhZ0Ryb3AsXG4gIENka0RyYWdQbGFjZWhvbGRlcixcbiAgQ2RrRHJhZ1ByZXZpZXcsXG4gIENka0Ryb3BMaXN0LFxuICBDZGtEcm9wTGlzdEdyb3VwLFxuICBtb3ZlSXRlbUluQXJyYXksXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgQ29sdW1uQ29uZmlnIH0gZnJvbSAnLi9tb2RlbHMvbWFpbi10YWJsZS5tb2RlbCc7XG5pbXBvcnQgeyBTY3JvbGxpbmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNhLW1haW4tdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2EtbWFpbi10YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDZGtEcm9wTGlzdEdyb3VwLFxuICAgIENka0Ryb3BMaXN0LFxuICAgIENka0RyYWcsXG4gICAgQ2RrRHJhZ1BsYWNlaG9sZGVyLFxuICAgIENka0RyYWdQcmV2aWV3LFxuICAgIENhTWFpblRhYmxlSGlkZGVuUm93c1BpcGUsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFNjcm9sbGluZ01vZHVsZVxuICBdLFxuICBzdHlsZVVybHM6IFsnLi9jYS1tYWluLXRhYmxlLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENhTWFpblRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLy8gT3V0cHV0c1xuICBAT3V0cHV0KCkgb25QcmVzc0V2ZW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIC8vIElucHV0c1xuICBASW5wdXQoKSBoaWRlRmllbGRzVG9IaWRlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHJlb3JkZXJJdGVtczogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBjb2x1bW5zOiBDb2x1bW5Db25maWdbXSA9IFtdO1xuICBASW5wdXQoKSBkYXRhJCE6IE9ic2VydmFibGU8YW55W10+OyAvLyBBY2NlcHRzIHRoZSBkYXRhIGFzIGFuIG9ic2VydmFibGVcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHt9XG5cbiAgb25QcmVzc1Jvdyhyb3dEYXRhOiBhbnkpIHtcbiAgICB0aGlzLm9uUHJlc3NFdmVudC5lbWl0KHJvd0RhdGEpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5kYXRhJC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgIC8vIFRyaWdnZXIgY2hhbmdlIGRldGVjdGlvbiB0byB1cGRhdGUgdGhlIHZpZXcgd2hlbiBkYXRhIGNoYW5nZXNcbiAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0pO1xuICB9XG5cbiAgY3JlYXRlSW5qZWN0b3Iocm93RGF0YTogYW55LCBpbnB1dHM6IHsgW2tleTogc3RyaW5nXTogYW55IH0pOiBJbmplY3RvciB7XG4gICAgY29uc3QgaW5wdXRQcm92aWRlcnMgPSBPYmplY3Qua2V5cyhpbnB1dHMgfHwge30pLm1hcCgoa2V5KSA9PiAoe1xuICAgICAgcHJvdmlkZToga2V5LFxuICAgICAgdXNlVmFsdWU6IGlucHV0c1trZXldLFxuICAgIH0pKTtcbiAgICByZXR1cm4gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgIHByb3ZpZGVyczogaW5wdXRQcm92aWRlcnMsXG4gICAgICBwYXJlbnQ6IHRoaXMuaW5qZWN0b3IsXG4gICAgfSk7XG4gIH1cblxuICBhdHRhY2hPdXRwdXRzKFxuICAgIGNvbXBvbmVudFJlZjogYW55LFxuICAgIG91dHB1dHM6IHsgW2tleTogc3RyaW5nXTogKGV2ZW50OiBhbnkpID0+IHZvaWQgfVxuICApOiB2b2lkIHtcbiAgICBPYmplY3Qua2V5cyhvdXRwdXRzKS5mb3JFYWNoKChvdXRwdXRLZXkpID0+IHtcbiAgICAgIGlmIChjb21wb25lbnRSZWYuaW5zdGFuY2Vbb3V0cHV0S2V5XSkge1xuICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2Vbb3V0cHV0S2V5XS5zdWJzY3JpYmUob3V0cHV0c1tvdXRwdXRLZXldKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGRyb3BIZWFkZXIoZXZlbnQ6IENka0RyYWdEcm9wPHN0cmluZ1tdPikge1xuICAgIG1vdmVJdGVtSW5BcnJheSh0aGlzLmNvbHVtbnMsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XG4gIH1cblxuICBkcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxzdHJpbmdbXT4pIHtcbiAgICBtb3ZlSXRlbUluQXJyYXkodGhpcy5jb2x1bW5zLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY2EtbWFpbi10YWJsZS1ob2xkZXJcIj5cbiAgPGNkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydCBpdGVtU2l6ZT1cIjQ0XCIgY2xhc3M9XCJtYWluLXRhYmxlLXNjcm9sbC12aWV3cG9ydFwiPlxuICAgIDx0YWJsZSBjbGFzcz1cImNhLW1haW4tdGFibGVcIiBjZGtEcm9wTGlzdEdyb3VwPlxuICAgICAgPHRoZWFkPlxuICAgICAgICA8dHJcbiAgICAgICAgICBjZGtEcm9wTGlzdFxuICAgICAgICAgIGNka0Ryb3BMaXN0T3JpZW50YXRpb249XCJob3Jpem9udGFsXCJcbiAgICAgICAgICAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3BIZWFkZXIoJGV2ZW50KVwiXG4gICAgICAgICAgY2xhc3M9XCJ0YWJsZS1ib2R5LWxpc3QgdGgtdGFibGUtYm9keS1saXN0XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNka0RyYWdMb2NrQXhpcz1cInhcIlxuICAgICAgICAgICAgY2RrRHJhZ1xuICAgICAgICAgICAgY2RrRHJhZ1ByZXZpZXdDb250YWluZXI9XCJwYXJlbnRcIlxuICAgICAgICAgICAgKm5nRm9yPVwiXG4gICAgICAgICAgICAgIGxldCBjb2wgb2YgY29sdW1ucyB8IGNhTWFpblRhYmxlSGlkZGVuUm93czogaGlkZUZpZWxkc1RvSGlkZTtcbiAgICAgICAgICAgICAgbGV0IGluZHggPSBpbmRleFxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIGNsYXNzPVwiY2RrX3RoX2RpdiB0YWJsZS10clwiXG4gICAgICAgICAgICBbY2xhc3NdPVwiY29sLmNlbGxDdXN0b21DbGFzc2VzXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICAgICAgaGVhZGVyVGhUZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGNvbCxcbiAgICAgICAgICAgICAgICAgIGluZGV4OiBpbmR4LFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvdGhlYWQ+XG4gICAgICA8dGJvZHlcbiAgICAgICAgI3RhYmxlTWFpbkJvZHlcbiAgICAgICAgY2RrU2Nyb2xsYWJsZVxuICAgICAgICBbY2RrRHJvcExpc3REaXNhYmxlZF09XCIhcmVvcmRlckl0ZW1zXCJcbiAgICAgICAgY2RrRHJvcExpc3RcbiAgICAgICAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCRldmVudClcIlxuICAgICAgICBjbGFzcz1cInRhYmxlLWJvZHktbGlzdFwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqY2RrVmlydHVhbEZvcj1cImxldCByb3cgb2YgZGF0YSQgfCBhc3luYzsgbGV0IHJvd0luZGV4ID0gaW5kZXhcIlxuICAgICAgICA+XG4gICAgICAgICAgPHRyXG4gICAgICAgICAgICBjZGtEcmFnTG9ja0F4aXM9XCJ5XCJcbiAgICAgICAgICAgIGNka0RyYWdcbiAgICAgICAgICAgIGNka0RyYWdQcmV2aWV3Q29udGFpbmVyPVwicGFyZW50XCJcbiAgICAgICAgICAgIGNka0RyYWdCb3VuZGFyeT1cIi50YWJsZS1ib2R5LWxpc3RcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uUHJlc3NSb3cocm93KVwiXG4gICAgICAgICAgICBjbGFzcz1cInRhYmxlLXRyXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8IS0tIDxuZy10ZW1wbGF0ZSBjZGtEcmFnUHJldmlldz5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImN1c3RvbS1kcmFnLXByZXZpZXdcIj5mZGFzZmRzYWZhc2Q8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+IC0tPlxuICAgICAgICAgICAgPCEtLSA8bmctY29udGFpbmVyICpjZGtEcmFnUGxhY2Vob2xkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHIgY2xhc3M9XCJkcmFnLXBsYWNlaG9sZGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNvbHNwYW49XCIxMlwiPk1vdmluZzwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj4gLS0+XG4gICAgICAgICAgICA8dGRcbiAgICAgICAgICAgICAgKm5nRm9yPVwiXG4gICAgICAgICAgICAgICAgbGV0IGNvbCBvZiBjb2x1bW5zIHwgY2FNYWluVGFibGVIaWRkZW5Sb3dzOiBoaWRlRmllbGRzVG9IaWRlXG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgIFtjbGFzc109XCJjb2wuY2VsbEN1c3RvbUNsYXNzZXNcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICAgIHJvd1RlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgY29udGV4dDogeyByb3c6IHJvdywgY29sOiBjb2wsIGluZGV4OiByb3dJbmRleCB9XG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPCEtLSA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCByb3cgb2YgZGF0YSQgfCBhc3luYzsgbGV0IHJvd0luZGV4ID0gaW5kZXhcIj5cbiAgICAgICAgXG4gICAgICA8L25nLWNvbnRhaW5lcj4gLS0+XG4gICAgICA8L3Rib2R5PlxuICAgIDwvdGFibGU+XG4gIDwvY2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjaGVhZGVyVGhUZW1wbGF0ZSBsZXQtY29sIGxldC1pbmR4PVwiaW5kZXhcIj5cbiAgPHRoPlxuICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImNvbC5oZWFkZXJDZWxsVHlwZVwiPlxuICAgICAgPCEtLSBUZW1wbGF0ZSBjZWxsIC0tPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3RlbXBsYXRlJ1wiPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgIGNvbC5oZWFkZXJUZW1wbGF0ZTtcbiAgICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgJGltcGxpY2l0OiBjb2wuaGVhZGVyLFxuICAgICAgICAgICAgICBpbmRleDogaW5keCxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBcIlxuICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxkaXYgKm5nU3dpdGNoRGVmYXVsdCBjbGFzcz1cInRoLWNvbnRlbnQtY29udGFpbmVyXCI+XG4gICAgICAgIHt7IGNvbC5oZWFkZXIgfX1cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L3RoPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNyb3dUZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbGV0LWNvbD1cImNvbFwiIGxldC1pbmRleD1cImluZGV4XCI+XG4gIDxkaXYgY2xhc3M9XCJ0ZC1jb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwidGQtY29udGVudC1jb250YWluZXJcIj5cbiAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImNvbC5jZWxsVHlwZVwiPlxuICAgICAgICA8IS0tIERlZmF1bHQgdGV4dCBjZWxsIC0tPlxuICAgICAgICA8IS0tIDxzcGFuICpuZ1N3aXRjaENhc2U9XCIndGV4dCdcIj57e1xuICAgICAgICAgICAgICAgICAgICByb3dbY29sLmZpZWxkXVxuICAgICAgICAgICAgICAgIH19PC9zcGFuPiAtLT5cblxuICAgICAgICA8IS0tIFRlbXBsYXRlIGNlbGwgLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIid0ZW1wbGF0ZSdcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICBjb2wudGVtcGxhdGU7XG4gICAgICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGNvbC5yb3cgPyByb3cgOiByb3dbY29sLmZpZWxkXSxcbiAgICAgICAgICAgICAgICBpbmRleDogaW5kZXgsXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8IS0tIEN1c3RvbSBjb21wb25lbnQgY2VsbCAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2NvbXBvbmVudCdcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdDb21wb25lbnRPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgY29sLmNvbXBvbmVudDtcbiAgICAgICAgICAgICAgaW5qZWN0b3I6IGNyZWF0ZUluamVjdG9yKHJvdywgY29sLmlucHV0cylcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8IS0tIERlZmF1bHQgZmFsbGJhY2sgLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICBjdXN0b21UZXh0VGVtcGxhdGU7XG4gICAgICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IHtcbiAgICAgICAgICAgICAgICAgIGZpZWxkOiByb3dbY29sLmZpZWxkXSxcbiAgICAgICAgICAgICAgICAgIHBpcGVUeXBlOiBjb2wucGlwZVR5cGUsXG4gICAgICAgICAgICAgICAgICBwaXBlU3RyaW5nOiBjb2wucGlwZVN0cmluZyxcbiAgICAgICAgICAgICAgICAgIHRleHRDdXN0b21DbGFzc2VzOiBjb2wudGV4dEN1c3RvbUNsYXNzZXMsXG4gICAgICAgICAgICAgICAgICBpbmRleDogaW5kZXgsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSBEZWZhdWx0IFRleHQgVGVtcGxhdGUgIC0tPlxuPG5nLXRlbXBsYXRlICNjdXN0b21UZXh0VGVtcGxhdGUgbGV0LWRhdGEgbGV0LWluZGV4PlxuICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJkYXRhLnBpcGVUeXBlXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2RhdGUnXCI+XG4gICAgICA8ZGl2IFtuZ0NsYXNzXT1cImRhdGEudGV4dEN1c3RvbUNsYXNzZXNcIiBjbGFzcz1cInRleHRcIj5cbiAgICAgICAge3sgZGF0YS5maWVsZCB8IGRhdGU6IGRhdGEucGlwZVN0cmluZyB9fVxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2N1cnJlbmN5J1wiPlxuICAgICAgPGRpdiBbbmdDbGFzc109XCJkYXRhLnRleHRDdXN0b21DbGFzc2VzXCIgY2xhc3M9XCJ0ZXh0XCI+XG4gICAgICAgIHt7IGRhdGEuZmllbGQgfCBjdXJyZW5jeTogZGF0YS5waXBlU3RyaW5nIH19XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+XG4gICAgICA8ZGl2IFtuZ0NsYXNzXT1cImRhdGEudGV4dEN1c3RvbUNsYXNzZXNcIiBjbGFzcz1cInRleHRcIj5cbiAgICAgICAge3sgZGF0YS5maWVsZCB9fVxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtbWFpbi10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1tYWluLXRhYmxlL2NhLW1haW4tdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtbWFpbi10YWJsZS9jYS1tYWluLXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFDWixRQUFRLEVBQ1IsS0FBSyxFQUVMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUM3RyxPQUFPLEVBQ0wsT0FBTyxFQUVQLGtCQUFrQixFQUNsQixjQUFjLEVBQ2QsV0FBVyxFQUNYLGdCQUFnQixFQUNoQixlQUFlLEdBQ2hCLE1BQU0sd0JBQXdCLENBQUM7QUFFaEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7O0FBa0J6RCxNQUFNLE9BQU8sb0JBQW9CO0lBVS9CLFlBQ1UsUUFBa0IsRUFDbEIsS0FBd0I7UUFEeEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQVhsQyxVQUFVO1FBQ0EsaUJBQVksR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUVwRSxTQUFTO1FBQ0EscUJBQWdCLEdBQVksS0FBSyxDQUFDO1FBQ2xDLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBQzlCLFlBQU8sR0FBbUIsRUFBRSxDQUFDO0lBTW5DLENBQUM7SUFFSixVQUFVLENBQUMsT0FBWTtRQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDNUIsZ0VBQWdFO1lBQ2hFLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsY0FBYyxDQUFDLE9BQVksRUFBRSxNQUE4QjtRQUN6RCxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDN0QsT0FBTyxFQUFFLEdBQUc7WUFDWixRQUFRLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQztTQUN0QixDQUFDLENBQUMsQ0FBQztRQUNKLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUNyQixTQUFTLEVBQUUsY0FBYztZQUN6QixNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDdEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGFBQWEsQ0FDWCxZQUFpQixFQUNqQixPQUFnRDtRQUVoRCxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQ3pDLElBQUksWUFBWSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDcEMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7YUFDaEU7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBNEI7UUFDckMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVELElBQUksQ0FBQyxLQUE0QjtRQUMvQixlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN6RSxDQUFDOytHQXREVSxvQkFBb0I7bUdBQXBCLG9CQUFvQiw0T0N4Q2pDLHVyTEFzTEEsMHhHRHpKSSxnQkFBZ0IscUlBQ2hCLFdBQVcsK2RBQ1gsT0FBTyxtYkFHUCx5QkFBeUIsNkRBQ3pCLFlBQVksdWxDQUNaLGVBQWU7OzRGQUlOLG9CQUFvQjtrQkFoQmhDLFNBQVM7K0JBQ0UsbUJBQW1CLGNBRWpCLElBQUksV0FDUDt3QkFDUCxnQkFBZ0I7d0JBQ2hCLFdBQVc7d0JBQ1gsT0FBTzt3QkFDUCxrQkFBa0I7d0JBQ2xCLGNBQWM7d0JBQ2QseUJBQXlCO3dCQUN6QixZQUFZO3dCQUNaLGVBQWU7cUJBQ2hCOytIQUtTLFlBQVk7c0JBQXJCLE1BQU07Z0JBR0UsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdG9yLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ2FNYWluVGFibGVIaWRkZW5Sb3dzUGlwZSB9IGZyb20gJy4vcGlwZXMvY2EtbWFpbi10YWJsZS1oaWRkZW4tcm93cy9jYS1tYWluLXRhYmxlLWhpZGRlbi1yb3dzLnBpcGUnO1xuaW1wb3J0IHtcbiAgQ2RrRHJhZyxcbiAgQ2RrRHJhZ0Ryb3AsXG4gIENka0RyYWdQbGFjZWhvbGRlcixcbiAgQ2RrRHJhZ1ByZXZpZXcsXG4gIENka0Ryb3BMaXN0LFxuICBDZGtEcm9wTGlzdEdyb3VwLFxuICBtb3ZlSXRlbUluQXJyYXksXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgQ29sdW1uQ29uZmlnIH0gZnJvbSAnLi9tb2RlbHMvbWFpbi10YWJsZS5tb2RlbCc7XG5pbXBvcnQgeyBTY3JvbGxpbmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNhLW1haW4tdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2EtbWFpbi10YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDZGtEcm9wTGlzdEdyb3VwLFxuICAgIENka0Ryb3BMaXN0LFxuICAgIENka0RyYWcsXG4gICAgQ2RrRHJhZ1BsYWNlaG9sZGVyLFxuICAgIENka0RyYWdQcmV2aWV3LFxuICAgIENhTWFpblRhYmxlSGlkZGVuUm93c1BpcGUsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFNjcm9sbGluZ01vZHVsZVxuICBdLFxuICBzdHlsZVVybHM6IFsnLi9jYS1tYWluLXRhYmxlLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENhTWFpblRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLy8gT3V0cHV0c1xuICBAT3V0cHV0KCkgb25QcmVzc0V2ZW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIC8vIElucHV0c1xuICBASW5wdXQoKSBoaWRlRmllbGRzVG9IaWRlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHJlb3JkZXJJdGVtczogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBjb2x1bW5zOiBDb2x1bW5Db25maWdbXSA9IFtdO1xuICBASW5wdXQoKSBkYXRhJCE6IE9ic2VydmFibGU8YW55W10+OyAvLyBBY2NlcHRzIHRoZSBkYXRhIGFzIGFuIG9ic2VydmFibGVcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHt9XG5cbiAgb25QcmVzc1Jvdyhyb3dEYXRhOiBhbnkpIHtcbiAgICB0aGlzLm9uUHJlc3NFdmVudC5lbWl0KHJvd0RhdGEpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5kYXRhJC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgIC8vIFRyaWdnZXIgY2hhbmdlIGRldGVjdGlvbiB0byB1cGRhdGUgdGhlIHZpZXcgd2hlbiBkYXRhIGNoYW5nZXNcbiAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0pO1xuICB9XG5cbiAgY3JlYXRlSW5qZWN0b3Iocm93RGF0YTogYW55LCBpbnB1dHM6IHsgW2tleTogc3RyaW5nXTogYW55IH0pOiBJbmplY3RvciB7XG4gICAgY29uc3QgaW5wdXRQcm92aWRlcnMgPSBPYmplY3Qua2V5cyhpbnB1dHMgfHwge30pLm1hcCgoa2V5KSA9PiAoe1xuICAgICAgcHJvdmlkZToga2V5LFxuICAgICAgdXNlVmFsdWU6IGlucHV0c1trZXldLFxuICAgIH0pKTtcbiAgICByZXR1cm4gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgIHByb3ZpZGVyczogaW5wdXRQcm92aWRlcnMsXG4gICAgICBwYXJlbnQ6IHRoaXMuaW5qZWN0b3IsXG4gICAgfSk7XG4gIH1cblxuICBhdHRhY2hPdXRwdXRzKFxuICAgIGNvbXBvbmVudFJlZjogYW55LFxuICAgIG91dHB1dHM6IHsgW2tleTogc3RyaW5nXTogKGV2ZW50OiBhbnkpID0+IHZvaWQgfVxuICApOiB2b2lkIHtcbiAgICBPYmplY3Qua2V5cyhvdXRwdXRzKS5mb3JFYWNoKChvdXRwdXRLZXkpID0+IHtcbiAgICAgIGlmIChjb21wb25lbnRSZWYuaW5zdGFuY2Vbb3V0cHV0S2V5XSkge1xuICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2Vbb3V0cHV0S2V5XS5zdWJzY3JpYmUob3V0cHV0c1tvdXRwdXRLZXldKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGRyb3BIZWFkZXIoZXZlbnQ6IENka0RyYWdEcm9wPHN0cmluZ1tdPikge1xuICAgIG1vdmVJdGVtSW5BcnJheSh0aGlzLmNvbHVtbnMsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XG4gIH1cblxuICBkcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxzdHJpbmdbXT4pIHtcbiAgICBtb3ZlSXRlbUluQXJyYXkodGhpcy5jb2x1bW5zLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY2EtbWFpbi10YWJsZS1ob2xkZXJcIj5cbiAgPGNkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydCBpdGVtU2l6ZT1cIjQ0XCIgY2xhc3M9XCJtYWluLXRhYmxlLXNjcm9sbC12aWV3cG9ydFwiPlxuICAgIDx0YWJsZSBjbGFzcz1cImNhLW1haW4tdGFibGVcIiBjZGtEcm9wTGlzdEdyb3VwPlxuICAgICAgPHRoZWFkPlxuICAgICAgICA8dHJcbiAgICAgICAgICBjZGtEcm9wTGlzdFxuICAgICAgICAgIGNka0Ryb3BMaXN0T3JpZW50YXRpb249XCJob3Jpem9udGFsXCJcbiAgICAgICAgICBbY2RrRHJvcExpc3REaXNhYmxlZF09XCIhcmVvcmRlckl0ZW1zXCJcbiAgICAgICAgICAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3BIZWFkZXIoJGV2ZW50KVwiXG4gICAgICAgICAgY2xhc3M9XCJ0YWJsZS1ib2R5LWxpc3QgdGgtdGFibGUtYm9keS1saXN0XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNka0RyYWdMb2NrQXhpcz1cInhcIlxuICAgICAgICAgICAgY2RrRHJhZ1xuICAgICAgICAgICAgY2RrRHJhZ1ByZXZpZXdDb250YWluZXI9XCJwYXJlbnRcIlxuICAgICAgICAgICAgKm5nRm9yPVwiXG4gICAgICAgICAgICAgIGxldCBjb2wgb2YgY29sdW1ucyB8IGNhTWFpblRhYmxlSGlkZGVuUm93czogaGlkZUZpZWxkc1RvSGlkZTtcbiAgICAgICAgICAgICAgbGV0IGluZHggPSBpbmRleFxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIGNsYXNzPVwiY2RrX3RoX2RpdiB0YWJsZS10clwiXG4gICAgICAgICAgICBbY2xhc3NdPVwiY29sLmNlbGxDdXN0b21DbGFzc2VzXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICAgICAgaGVhZGVyVGhUZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGNvbCxcbiAgICAgICAgICAgICAgICAgIGluZGV4OiBpbmR4LFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvdGhlYWQ+XG4gICAgICA8dGJvZHlcbiAgICAgICAgI3RhYmxlTWFpbkJvZHlcbiAgICAgICAgY2RrU2Nyb2xsYWJsZVxuICAgICAgICBbY2RrRHJvcExpc3REaXNhYmxlZF09XCIhcmVvcmRlckl0ZW1zXCJcbiAgICAgICAgY2RrRHJvcExpc3RcbiAgICAgICAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCRldmVudClcIlxuICAgICAgICBjbGFzcz1cInRhYmxlLWJvZHktbGlzdFwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqY2RrVmlydHVhbEZvcj1cImxldCByb3cgb2YgZGF0YSQgfCBhc3luYzsgbGV0IHJvd0luZGV4ID0gaW5kZXhcIlxuICAgICAgICA+XG4gICAgICAgICAgPHRyXG4gICAgICAgICAgICBjZGtEcmFnTG9ja0F4aXM9XCJ5XCJcbiAgICAgICAgICAgIGNka0RyYWdcbiAgICAgICAgICAgIGNka0RyYWdQcmV2aWV3Q29udGFpbmVyPVwicGFyZW50XCJcbiAgICAgICAgICAgIGNka0RyYWdCb3VuZGFyeT1cIi50YWJsZS1ib2R5LWxpc3RcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uUHJlc3NSb3cocm93KVwiXG4gICAgICAgICAgICBjbGFzcz1cInRhYmxlLXRyXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8IS0tIDxuZy10ZW1wbGF0ZSBjZGtEcmFnUHJldmlldz5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImN1c3RvbS1kcmFnLXByZXZpZXdcIj5mZGFzZmRzYWZhc2Q8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+IC0tPlxuICAgICAgICAgICAgPCEtLSA8bmctY29udGFpbmVyICpjZGtEcmFnUGxhY2Vob2xkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHIgY2xhc3M9XCJkcmFnLXBsYWNlaG9sZGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNvbHNwYW49XCIxMlwiPk1vdmluZzwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj4gLS0+XG4gICAgICAgICAgICA8dGRcbiAgICAgICAgICAgICAgKm5nRm9yPVwiXG4gICAgICAgICAgICAgICAgbGV0IGNvbCBvZiBjb2x1bW5zIHwgY2FNYWluVGFibGVIaWRkZW5Sb3dzOiBoaWRlRmllbGRzVG9IaWRlXG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgIFtjbGFzc109XCJjb2wuY2VsbEN1c3RvbUNsYXNzZXNcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICAgIHJvd1RlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgY29udGV4dDogeyByb3c6IHJvdywgY29sOiBjb2wsIGluZGV4OiByb3dJbmRleCB9XG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPCEtLSA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCByb3cgb2YgZGF0YSQgfCBhc3luYzsgbGV0IHJvd0luZGV4ID0gaW5kZXhcIj5cbiAgICAgICAgXG4gICAgICA8L25nLWNvbnRhaW5lcj4gLS0+XG4gICAgICA8L3Rib2R5PlxuICAgIDwvdGFibGU+XG4gIDwvY2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjaGVhZGVyVGhUZW1wbGF0ZSBsZXQtY29sIGxldC1pbmR4PVwiaW5kZXhcIj5cbiAgPHRoPlxuICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImNvbC5oZWFkZXJDZWxsVHlwZVwiPlxuICAgICAgPCEtLSBUZW1wbGF0ZSBjZWxsIC0tPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3RlbXBsYXRlJ1wiPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgIGNvbC5oZWFkZXJUZW1wbGF0ZTtcbiAgICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgJGltcGxpY2l0OiBjb2wuaGVhZGVyLFxuICAgICAgICAgICAgICBpbmRleDogaW5keCxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBcIlxuICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxkaXYgKm5nU3dpdGNoRGVmYXVsdCBjbGFzcz1cInRoLWNvbnRlbnQtY29udGFpbmVyXCI+XG4gICAgICAgIHt7IGNvbC5oZWFkZXIgfX1cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L3RoPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNyb3dUZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbGV0LWNvbD1cImNvbFwiIGxldC1pbmRleD1cImluZGV4XCI+XG4gIDxkaXYgY2xhc3M9XCJ0ZC1jb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwidGQtY29udGVudC1jb250YWluZXJcIj5cbiAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImNvbC5jZWxsVHlwZVwiPlxuICAgICAgICA8IS0tIERlZmF1bHQgdGV4dCBjZWxsIC0tPlxuICAgICAgICA8IS0tIDxzcGFuICpuZ1N3aXRjaENhc2U9XCIndGV4dCdcIj57e1xuICAgICAgICAgICAgICAgICAgICByb3dbY29sLmZpZWxkXVxuICAgICAgICAgICAgICAgIH19PC9zcGFuPiAtLT5cblxuICAgICAgICA8IS0tIFRlbXBsYXRlIGNlbGwgLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIid0ZW1wbGF0ZSdcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICBjb2wudGVtcGxhdGU7XG4gICAgICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGNvbC5yb3cgPyByb3cgOiByb3dbY29sLmZpZWxkXSxcbiAgICAgICAgICAgICAgICBpbmRleDogaW5kZXgsXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8IS0tIEN1c3RvbSBjb21wb25lbnQgY2VsbCAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2NvbXBvbmVudCdcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdDb21wb25lbnRPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgY29sLmNvbXBvbmVudDtcbiAgICAgICAgICAgICAgaW5qZWN0b3I6IGNyZWF0ZUluamVjdG9yKHJvdywgY29sLmlucHV0cylcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8IS0tIERlZmF1bHQgZmFsbGJhY2sgLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICBjdXN0b21UZXh0VGVtcGxhdGU7XG4gICAgICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IHtcbiAgICAgICAgICAgICAgICAgIGZpZWxkOiByb3dbY29sLmZpZWxkXSxcbiAgICAgICAgICAgICAgICAgIHBpcGVUeXBlOiBjb2wucGlwZVR5cGUsXG4gICAgICAgICAgICAgICAgICBwaXBlU3RyaW5nOiBjb2wucGlwZVN0cmluZyxcbiAgICAgICAgICAgICAgICAgIHRleHRDdXN0b21DbGFzc2VzOiBjb2wudGV4dEN1c3RvbUNsYXNzZXMsXG4gICAgICAgICAgICAgICAgICBpbmRleDogaW5kZXgsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSBEZWZhdWx0IFRleHQgVGVtcGxhdGUgIC0tPlxuPG5nLXRlbXBsYXRlICNjdXN0b21UZXh0VGVtcGxhdGUgbGV0LWRhdGEgbGV0LWluZGV4PlxuICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJkYXRhLnBpcGVUeXBlXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2RhdGUnXCI+XG4gICAgICA8ZGl2IFtuZ0NsYXNzXT1cImRhdGEudGV4dEN1c3RvbUNsYXNzZXNcIiBjbGFzcz1cInRleHRcIj5cbiAgICAgICAge3sgZGF0YS5maWVsZCB8IGRhdGU6IGRhdGEucGlwZVN0cmluZyB9fVxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2N1cnJlbmN5J1wiPlxuICAgICAgPGRpdiBbbmdDbGFzc109XCJkYXRhLnRleHRDdXN0b21DbGFzc2VzXCIgY2xhc3M9XCJ0ZXh0XCI+XG4gICAgICAgIHt7IGRhdGEuZmllbGQgfCBjdXJyZW5jeTogZGF0YS5waXBlU3RyaW5nIH19XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+XG4gICAgICA8ZGl2IFtuZ0NsYXNzXT1cImRhdGEudGV4dEN1c3RvbUNsYXNzZXNcIiBjbGFzcz1cInRleHRcIj5cbiAgICAgICAge3sgZGF0YS5maWVsZCB9fVxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -15372,7 +15372,7 @@ class CaMainTableComponent {
15372
15372
  moveItemInArray(this.columns, event.previousIndex, event.currentIndex);
15373
15373
  }
15374
15374
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CaMainTableComponent, deps: [{ token: i0.Injector }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
15375
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CaMainTableComponent, isStandalone: true, selector: "app-ca-main-table", inputs: { hideFieldsToHide: "hideFieldsToHide", reorderItems: "reorderItems", columns: "columns", data$: "data$" }, outputs: { onPressEvent: "onPressEvent" }, ngImport: i0, template: "<div class=\"ca-main-table-holder\">\n <cdk-virtual-scroll-viewport itemSize=\"44\" class=\"main-table-scroll-viewport\">\n <table class=\"ca-main-table\" cdkDropListGroup>\n <thead>\n <tr\n cdkDropList\n cdkDropListOrientation=\"horizontal\"\n (cdkDropListDropped)=\"dropHeader($event)\"\n class=\"table-body-list th-table-body-list\"\n >\n <div\n cdkDragLockAxis=\"x\"\n cdkDrag\n cdkDragPreviewContainer=\"parent\"\n *ngFor=\"\n let col of columns | caMainTableHiddenRows: hideFieldsToHide;\n let indx = index\n \"\n class=\"cdk_th_div table-tr\"\n [class]=\"col.cellCustomClasses\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n headerThTemplate;\n context: {\n $implicit: col,\n index: indx,\n }\n \"\n ></ng-container>\n </div>\n </tr>\n </thead>\n <tbody\n #tableMainBody\n cdkScrollable\n [cdkDropListDisabled]=\"!reorderItems\"\n cdkDropList\n (cdkDropListDropped)=\"drop($event)\"\n class=\"table-body-list\"\n >\n <ng-container\n *cdkVirtualFor=\"let row of data$ | async; let rowIndex = index\"\n >\n <tr\n cdkDragLockAxis=\"y\"\n cdkDrag\n cdkDragPreviewContainer=\"parent\"\n cdkDragBoundary=\".table-body-list\"\n (click)=\"onPressRow(row)\"\n class=\"table-tr\"\n >\n <!-- <ng-template cdkDragPreview>\n <div class=\"custom-drag-preview\">fdasfdsafasd</div>\n </ng-template> -->\n <!-- <ng-container *cdkDragPlaceholder>\n <tr class=\"drag-placeholder\">\n <td colspan=\"12\">Moving</td>\n </tr>\n </ng-container> -->\n <td\n *ngFor=\"\n let col of columns | caMainTableHiddenRows: hideFieldsToHide\n \"\n [class]=\"col.cellCustomClasses\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n rowTemplate;\n context: { row: row, col: col, index: rowIndex }\n \"\n >\n </ng-container>\n </td>\n </tr>\n </ng-container>\n\n <!-- <ng-container *ngFor=\"let row of data$ | async; let rowIndex = index\">\n \n </ng-container> -->\n </tbody>\n </table>\n </cdk-virtual-scroll-viewport>\n</div>\n\n<ng-template #headerThTemplate let-col let-indx=\"index\">\n <th>\n <ng-container [ngSwitch]=\"col.headerCellType\">\n <!-- Template cell -->\n <ng-container *ngSwitchCase=\"'template'\">\n <ng-container\n *ngTemplateOutlet=\"\n col.headerTemplate;\n context: {\n $implicit: col.header,\n index: indx,\n }\n \"\n ></ng-container>\n </ng-container>\n <div *ngSwitchDefault class=\"th-content-container\">\n {{ col.header }}\n </div>\n </ng-container>\n </th>\n</ng-template>\n\n<ng-template #rowTemplate let-row=\"row\" let-col=\"col\" let-index=\"index\">\n <div class=\"td-container\">\n <div class=\"td-content-container\">\n <ng-container [ngSwitch]=\"col.cellType\">\n <!-- Default text cell -->\n <!-- <span *ngSwitchCase=\"'text'\">{{\n row[col.field]\n }}</span> -->\n\n <!-- Template cell -->\n <ng-container *ngSwitchCase=\"'template'\">\n <ng-container\n *ngTemplateOutlet=\"\n col.template;\n context: {\n $implicit: col.row ? row : row[col.field],\n index: index,\n }\n \"\n ></ng-container>\n </ng-container>\n\n <!-- Custom component cell -->\n <ng-container *ngSwitchCase=\"'component'\">\n <ng-container\n *ngComponentOutlet=\"\n col.component;\n injector: createInjector(row, col.inputs)\n \"\n ></ng-container>\n </ng-container>\n\n <!-- Default fallback -->\n <ng-container *ngSwitchDefault>\n <ng-container\n *ngTemplateOutlet=\"\n customTextTemplate;\n context: {\n $implicit: {\n field: row[col.field],\n pipeType: col.pipeType,\n pipeString: col.pipeString,\n textCustomClasses: col.textCustomClasses,\n index: index,\n },\n }\n \"\n ></ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n</ng-template>\n\n<!-- Default Text Template -->\n<ng-template #customTextTemplate let-data let-index>\n <ng-container [ngSwitch]=\"data.pipeType\">\n <ng-container *ngSwitchCase=\"'date'\">\n <div [ngClass]=\"data.textCustomClasses\" class=\"text\">\n {{ data.field | date: data.pipeString }}\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'currency'\">\n <div [ngClass]=\"data.textCustomClasses\" class=\"text\">\n {{ data.field | currency: data.pipeString }}\n </div>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <div [ngClass]=\"data.textCustomClasses\" class=\"text\">\n {{ data.field }}\n </div>\n </ng-container>\n </ng-container>\n</ng-template>\n", styles: [".ca-main-table-holder .main-table-scroll-viewport{min-height:200px}.ca-main-table-holder .ca-main-table{color:#424242;width:100%;border-collapse:collapse;background-color:#eee}.ca-main-table-holder .ca-main-table thead tr th{color:#6c6c6c;text-transform:uppercase;font-size:11px}.ca-main-table-holder .ca-main-table thead tr th .th-content-container{padding:4px}.ca-main-table-holder .ca-main-table tbody tr td{height:36px;padding:1px 0}.ca-main-table-holder .ca-main-table tbody tr td .td-container{padding:4px 0;display:flex;align-items:center;height:34px;background-color:#fff}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container{flex:1;padding:3px 4px}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text{font-size:14px}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-100{font-weight:100}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-200{font-weight:200}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-300{font-weight:300}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-400{font-weight:400}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-500{font-weight:500}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-600{font-weight:600}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-700{font-weight:700}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-800{font-weight:800}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-900{font-weight:900}.ca-main-table-holder .ca-main-table tbody tr td:first-child .td-container{border-top-left-radius:3px;border-bottom-left-radius:3px;padding-left:4px}.ca-main-table-holder .ca-main-table tbody tr td:first-child .td-container .td-content-container{border-top-left-radius:3px;border-bottom-left-radius:3px}.ca-main-table-holder .ca-main-table tbody tr td:last-child .td-container{border-top-right-radius:3px;border-bottom-right-radius:3px;padding-right:4px}.ca-main-table-holder .ca-main-table tbody tr td:last-child .td-container .td-content-container{border-top-right-radius:3px;border-bottom-right-radius:3px}.ca-main-table-holder .ca-main-table tbody tr:hover td .td-container .td-content-container{background-color:#eee}.cdk_th_div{display:table-cell}.cdk_th_div th{display:block}.drag-placeholder{background-color:#fff}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.table-tr:last-child{border:none}.table-body-list.cdk-drop-list-dragging .table-tr:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.drag-placeholder{background:#ccc;border:dotted 3px #999;min-height:60px;transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drag-placeholder,.th-table-body-list .cdk-drag-placeholder{opacity:0}.th-table-body-list .cdk_th_div{box-shadow:none!important;background-color:transparent!important}\n"], dependencies: [{ kind: "directive", type: CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "pipe", type: CaMainTableHiddenRowsPipe, name: "caMainTableHiddenRows" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.CurrencyPipe, name: "currency" }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "ngmodule", type: ScrollingModule }, { kind: "directive", type: i3$1.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "directive", type: i3$1.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i3$1.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i3$1.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }] }); }
15375
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CaMainTableComponent, isStandalone: true, selector: "app-ca-main-table", inputs: { hideFieldsToHide: "hideFieldsToHide", reorderItems: "reorderItems", columns: "columns", data$: "data$" }, outputs: { onPressEvent: "onPressEvent" }, ngImport: i0, template: "<div class=\"ca-main-table-holder\">\n <cdk-virtual-scroll-viewport itemSize=\"44\" class=\"main-table-scroll-viewport\">\n <table class=\"ca-main-table\" cdkDropListGroup>\n <thead>\n <tr\n cdkDropList\n cdkDropListOrientation=\"horizontal\"\n [cdkDropListDisabled]=\"!reorderItems\"\n (cdkDropListDropped)=\"dropHeader($event)\"\n class=\"table-body-list th-table-body-list\"\n >\n <div\n cdkDragLockAxis=\"x\"\n cdkDrag\n cdkDragPreviewContainer=\"parent\"\n *ngFor=\"\n let col of columns | caMainTableHiddenRows: hideFieldsToHide;\n let indx = index\n \"\n class=\"cdk_th_div table-tr\"\n [class]=\"col.cellCustomClasses\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n headerThTemplate;\n context: {\n $implicit: col,\n index: indx,\n }\n \"\n ></ng-container>\n </div>\n </tr>\n </thead>\n <tbody\n #tableMainBody\n cdkScrollable\n [cdkDropListDisabled]=\"!reorderItems\"\n cdkDropList\n (cdkDropListDropped)=\"drop($event)\"\n class=\"table-body-list\"\n >\n <ng-container\n *cdkVirtualFor=\"let row of data$ | async; let rowIndex = index\"\n >\n <tr\n cdkDragLockAxis=\"y\"\n cdkDrag\n cdkDragPreviewContainer=\"parent\"\n cdkDragBoundary=\".table-body-list\"\n (click)=\"onPressRow(row)\"\n class=\"table-tr\"\n >\n <!-- <ng-template cdkDragPreview>\n <div class=\"custom-drag-preview\">fdasfdsafasd</div>\n </ng-template> -->\n <!-- <ng-container *cdkDragPlaceholder>\n <tr class=\"drag-placeholder\">\n <td colspan=\"12\">Moving</td>\n </tr>\n </ng-container> -->\n <td\n *ngFor=\"\n let col of columns | caMainTableHiddenRows: hideFieldsToHide\n \"\n [class]=\"col.cellCustomClasses\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n rowTemplate;\n context: { row: row, col: col, index: rowIndex }\n \"\n >\n </ng-container>\n </td>\n </tr>\n </ng-container>\n\n <!-- <ng-container *ngFor=\"let row of data$ | async; let rowIndex = index\">\n \n </ng-container> -->\n </tbody>\n </table>\n </cdk-virtual-scroll-viewport>\n</div>\n\n<ng-template #headerThTemplate let-col let-indx=\"index\">\n <th>\n <ng-container [ngSwitch]=\"col.headerCellType\">\n <!-- Template cell -->\n <ng-container *ngSwitchCase=\"'template'\">\n <ng-container\n *ngTemplateOutlet=\"\n col.headerTemplate;\n context: {\n $implicit: col.header,\n index: indx,\n }\n \"\n ></ng-container>\n </ng-container>\n <div *ngSwitchDefault class=\"th-content-container\">\n {{ col.header }}\n </div>\n </ng-container>\n </th>\n</ng-template>\n\n<ng-template #rowTemplate let-row=\"row\" let-col=\"col\" let-index=\"index\">\n <div class=\"td-container\">\n <div class=\"td-content-container\">\n <ng-container [ngSwitch]=\"col.cellType\">\n <!-- Default text cell -->\n <!-- <span *ngSwitchCase=\"'text'\">{{\n row[col.field]\n }}</span> -->\n\n <!-- Template cell -->\n <ng-container *ngSwitchCase=\"'template'\">\n <ng-container\n *ngTemplateOutlet=\"\n col.template;\n context: {\n $implicit: col.row ? row : row[col.field],\n index: index,\n }\n \"\n ></ng-container>\n </ng-container>\n\n <!-- Custom component cell -->\n <ng-container *ngSwitchCase=\"'component'\">\n <ng-container\n *ngComponentOutlet=\"\n col.component;\n injector: createInjector(row, col.inputs)\n \"\n ></ng-container>\n </ng-container>\n\n <!-- Default fallback -->\n <ng-container *ngSwitchDefault>\n <ng-container\n *ngTemplateOutlet=\"\n customTextTemplate;\n context: {\n $implicit: {\n field: row[col.field],\n pipeType: col.pipeType,\n pipeString: col.pipeString,\n textCustomClasses: col.textCustomClasses,\n index: index,\n },\n }\n \"\n ></ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n</ng-template>\n\n<!-- Default Text Template -->\n<ng-template #customTextTemplate let-data let-index>\n <ng-container [ngSwitch]=\"data.pipeType\">\n <ng-container *ngSwitchCase=\"'date'\">\n <div [ngClass]=\"data.textCustomClasses\" class=\"text\">\n {{ data.field | date: data.pipeString }}\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'currency'\">\n <div [ngClass]=\"data.textCustomClasses\" class=\"text\">\n {{ data.field | currency: data.pipeString }}\n </div>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <div [ngClass]=\"data.textCustomClasses\" class=\"text\">\n {{ data.field }}\n </div>\n </ng-container>\n </ng-container>\n</ng-template>\n", styles: [".ca-main-table-holder .main-table-scroll-viewport{min-height:200px}.ca-main-table-holder .ca-main-table{color:#424242;width:100%;border-collapse:collapse;background-color:#eee}.ca-main-table-holder .ca-main-table thead tr th{color:#6c6c6c;text-transform:uppercase;font-size:11px}.ca-main-table-holder .ca-main-table thead tr th .th-content-container{padding:4px}.ca-main-table-holder .ca-main-table tbody tr td{height:36px;padding:1px 0}.ca-main-table-holder .ca-main-table tbody tr td .td-container{padding:4px 0;display:flex;align-items:center;height:34px;background-color:#fff}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container{flex:1;padding:3px 4px}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text{font-size:14px}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-100{font-weight:100}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-200{font-weight:200}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-300{font-weight:300}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-400{font-weight:400}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-500{font-weight:500}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-600{font-weight:600}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-700{font-weight:700}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-800{font-weight:800}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-900{font-weight:900}.ca-main-table-holder .ca-main-table tbody tr td:first-child .td-container{border-top-left-radius:3px;border-bottom-left-radius:3px;padding-left:4px}.ca-main-table-holder .ca-main-table tbody tr td:first-child .td-container .td-content-container{border-top-left-radius:3px;border-bottom-left-radius:3px}.ca-main-table-holder .ca-main-table tbody tr td:last-child .td-container{border-top-right-radius:3px;border-bottom-right-radius:3px;padding-right:4px}.ca-main-table-holder .ca-main-table tbody tr td:last-child .td-container .td-content-container{border-top-right-radius:3px;border-bottom-right-radius:3px}.ca-main-table-holder .ca-main-table tbody tr:hover td .td-container .td-content-container{background-color:#eee}.cdk_th_div{display:table-cell}.cdk_th_div th{display:block}.drag-placeholder{background-color:#fff}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.table-tr:last-child{border:none}.table-body-list.cdk-drop-list-dragging .table-tr:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.drag-placeholder{background:#ccc;border:dotted 3px #999;min-height:60px;transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drag-placeholder,.th-table-body-list .cdk-drag-placeholder{opacity:0}.th-table-body-list .cdk_th_div{box-shadow:none!important;background-color:transparent!important}\n"], dependencies: [{ kind: "directive", type: CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "pipe", type: CaMainTableHiddenRowsPipe, name: "caMainTableHiddenRows" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.CurrencyPipe, name: "currency" }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "ngmodule", type: ScrollingModule }, { kind: "directive", type: i3$1.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "directive", type: i3$1.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i3$1.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i3$1.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }] }); }
15376
15376
  }
15377
15377
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CaMainTableComponent, decorators: [{
15378
15378
  type: Component,
@@ -15385,7 +15385,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
15385
15385
  CaMainTableHiddenRowsPipe,
15386
15386
  CommonModule,
15387
15387
  ScrollingModule
15388
- ], template: "<div class=\"ca-main-table-holder\">\n <cdk-virtual-scroll-viewport itemSize=\"44\" class=\"main-table-scroll-viewport\">\n <table class=\"ca-main-table\" cdkDropListGroup>\n <thead>\n <tr\n cdkDropList\n cdkDropListOrientation=\"horizontal\"\n (cdkDropListDropped)=\"dropHeader($event)\"\n class=\"table-body-list th-table-body-list\"\n >\n <div\n cdkDragLockAxis=\"x\"\n cdkDrag\n cdkDragPreviewContainer=\"parent\"\n *ngFor=\"\n let col of columns | caMainTableHiddenRows: hideFieldsToHide;\n let indx = index\n \"\n class=\"cdk_th_div table-tr\"\n [class]=\"col.cellCustomClasses\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n headerThTemplate;\n context: {\n $implicit: col,\n index: indx,\n }\n \"\n ></ng-container>\n </div>\n </tr>\n </thead>\n <tbody\n #tableMainBody\n cdkScrollable\n [cdkDropListDisabled]=\"!reorderItems\"\n cdkDropList\n (cdkDropListDropped)=\"drop($event)\"\n class=\"table-body-list\"\n >\n <ng-container\n *cdkVirtualFor=\"let row of data$ | async; let rowIndex = index\"\n >\n <tr\n cdkDragLockAxis=\"y\"\n cdkDrag\n cdkDragPreviewContainer=\"parent\"\n cdkDragBoundary=\".table-body-list\"\n (click)=\"onPressRow(row)\"\n class=\"table-tr\"\n >\n <!-- <ng-template cdkDragPreview>\n <div class=\"custom-drag-preview\">fdasfdsafasd</div>\n </ng-template> -->\n <!-- <ng-container *cdkDragPlaceholder>\n <tr class=\"drag-placeholder\">\n <td colspan=\"12\">Moving</td>\n </tr>\n </ng-container> -->\n <td\n *ngFor=\"\n let col of columns | caMainTableHiddenRows: hideFieldsToHide\n \"\n [class]=\"col.cellCustomClasses\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n rowTemplate;\n context: { row: row, col: col, index: rowIndex }\n \"\n >\n </ng-container>\n </td>\n </tr>\n </ng-container>\n\n <!-- <ng-container *ngFor=\"let row of data$ | async; let rowIndex = index\">\n \n </ng-container> -->\n </tbody>\n </table>\n </cdk-virtual-scroll-viewport>\n</div>\n\n<ng-template #headerThTemplate let-col let-indx=\"index\">\n <th>\n <ng-container [ngSwitch]=\"col.headerCellType\">\n <!-- Template cell -->\n <ng-container *ngSwitchCase=\"'template'\">\n <ng-container\n *ngTemplateOutlet=\"\n col.headerTemplate;\n context: {\n $implicit: col.header,\n index: indx,\n }\n \"\n ></ng-container>\n </ng-container>\n <div *ngSwitchDefault class=\"th-content-container\">\n {{ col.header }}\n </div>\n </ng-container>\n </th>\n</ng-template>\n\n<ng-template #rowTemplate let-row=\"row\" let-col=\"col\" let-index=\"index\">\n <div class=\"td-container\">\n <div class=\"td-content-container\">\n <ng-container [ngSwitch]=\"col.cellType\">\n <!-- Default text cell -->\n <!-- <span *ngSwitchCase=\"'text'\">{{\n row[col.field]\n }}</span> -->\n\n <!-- Template cell -->\n <ng-container *ngSwitchCase=\"'template'\">\n <ng-container\n *ngTemplateOutlet=\"\n col.template;\n context: {\n $implicit: col.row ? row : row[col.field],\n index: index,\n }\n \"\n ></ng-container>\n </ng-container>\n\n <!-- Custom component cell -->\n <ng-container *ngSwitchCase=\"'component'\">\n <ng-container\n *ngComponentOutlet=\"\n col.component;\n injector: createInjector(row, col.inputs)\n \"\n ></ng-container>\n </ng-container>\n\n <!-- Default fallback -->\n <ng-container *ngSwitchDefault>\n <ng-container\n *ngTemplateOutlet=\"\n customTextTemplate;\n context: {\n $implicit: {\n field: row[col.field],\n pipeType: col.pipeType,\n pipeString: col.pipeString,\n textCustomClasses: col.textCustomClasses,\n index: index,\n },\n }\n \"\n ></ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n</ng-template>\n\n<!-- Default Text Template -->\n<ng-template #customTextTemplate let-data let-index>\n <ng-container [ngSwitch]=\"data.pipeType\">\n <ng-container *ngSwitchCase=\"'date'\">\n <div [ngClass]=\"data.textCustomClasses\" class=\"text\">\n {{ data.field | date: data.pipeString }}\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'currency'\">\n <div [ngClass]=\"data.textCustomClasses\" class=\"text\">\n {{ data.field | currency: data.pipeString }}\n </div>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <div [ngClass]=\"data.textCustomClasses\" class=\"text\">\n {{ data.field }}\n </div>\n </ng-container>\n </ng-container>\n</ng-template>\n", styles: [".ca-main-table-holder .main-table-scroll-viewport{min-height:200px}.ca-main-table-holder .ca-main-table{color:#424242;width:100%;border-collapse:collapse;background-color:#eee}.ca-main-table-holder .ca-main-table thead tr th{color:#6c6c6c;text-transform:uppercase;font-size:11px}.ca-main-table-holder .ca-main-table thead tr th .th-content-container{padding:4px}.ca-main-table-holder .ca-main-table tbody tr td{height:36px;padding:1px 0}.ca-main-table-holder .ca-main-table tbody tr td .td-container{padding:4px 0;display:flex;align-items:center;height:34px;background-color:#fff}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container{flex:1;padding:3px 4px}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text{font-size:14px}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-100{font-weight:100}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-200{font-weight:200}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-300{font-weight:300}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-400{font-weight:400}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-500{font-weight:500}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-600{font-weight:600}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-700{font-weight:700}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-800{font-weight:800}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-900{font-weight:900}.ca-main-table-holder .ca-main-table tbody tr td:first-child .td-container{border-top-left-radius:3px;border-bottom-left-radius:3px;padding-left:4px}.ca-main-table-holder .ca-main-table tbody tr td:first-child .td-container .td-content-container{border-top-left-radius:3px;border-bottom-left-radius:3px}.ca-main-table-holder .ca-main-table tbody tr td:last-child .td-container{border-top-right-radius:3px;border-bottom-right-radius:3px;padding-right:4px}.ca-main-table-holder .ca-main-table tbody tr td:last-child .td-container .td-content-container{border-top-right-radius:3px;border-bottom-right-radius:3px}.ca-main-table-holder .ca-main-table tbody tr:hover td .td-container .td-content-container{background-color:#eee}.cdk_th_div{display:table-cell}.cdk_th_div th{display:block}.drag-placeholder{background-color:#fff}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.table-tr:last-child{border:none}.table-body-list.cdk-drop-list-dragging .table-tr:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.drag-placeholder{background:#ccc;border:dotted 3px #999;min-height:60px;transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drag-placeholder,.th-table-body-list .cdk-drag-placeholder{opacity:0}.th-table-body-list .cdk_th_div{box-shadow:none!important;background-color:transparent!important}\n"] }]
15388
+ ], template: "<div class=\"ca-main-table-holder\">\n <cdk-virtual-scroll-viewport itemSize=\"44\" class=\"main-table-scroll-viewport\">\n <table class=\"ca-main-table\" cdkDropListGroup>\n <thead>\n <tr\n cdkDropList\n cdkDropListOrientation=\"horizontal\"\n [cdkDropListDisabled]=\"!reorderItems\"\n (cdkDropListDropped)=\"dropHeader($event)\"\n class=\"table-body-list th-table-body-list\"\n >\n <div\n cdkDragLockAxis=\"x\"\n cdkDrag\n cdkDragPreviewContainer=\"parent\"\n *ngFor=\"\n let col of columns | caMainTableHiddenRows: hideFieldsToHide;\n let indx = index\n \"\n class=\"cdk_th_div table-tr\"\n [class]=\"col.cellCustomClasses\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n headerThTemplate;\n context: {\n $implicit: col,\n index: indx,\n }\n \"\n ></ng-container>\n </div>\n </tr>\n </thead>\n <tbody\n #tableMainBody\n cdkScrollable\n [cdkDropListDisabled]=\"!reorderItems\"\n cdkDropList\n (cdkDropListDropped)=\"drop($event)\"\n class=\"table-body-list\"\n >\n <ng-container\n *cdkVirtualFor=\"let row of data$ | async; let rowIndex = index\"\n >\n <tr\n cdkDragLockAxis=\"y\"\n cdkDrag\n cdkDragPreviewContainer=\"parent\"\n cdkDragBoundary=\".table-body-list\"\n (click)=\"onPressRow(row)\"\n class=\"table-tr\"\n >\n <!-- <ng-template cdkDragPreview>\n <div class=\"custom-drag-preview\">fdasfdsafasd</div>\n </ng-template> -->\n <!-- <ng-container *cdkDragPlaceholder>\n <tr class=\"drag-placeholder\">\n <td colspan=\"12\">Moving</td>\n </tr>\n </ng-container> -->\n <td\n *ngFor=\"\n let col of columns | caMainTableHiddenRows: hideFieldsToHide\n \"\n [class]=\"col.cellCustomClasses\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n rowTemplate;\n context: { row: row, col: col, index: rowIndex }\n \"\n >\n </ng-container>\n </td>\n </tr>\n </ng-container>\n\n <!-- <ng-container *ngFor=\"let row of data$ | async; let rowIndex = index\">\n \n </ng-container> -->\n </tbody>\n </table>\n </cdk-virtual-scroll-viewport>\n</div>\n\n<ng-template #headerThTemplate let-col let-indx=\"index\">\n <th>\n <ng-container [ngSwitch]=\"col.headerCellType\">\n <!-- Template cell -->\n <ng-container *ngSwitchCase=\"'template'\">\n <ng-container\n *ngTemplateOutlet=\"\n col.headerTemplate;\n context: {\n $implicit: col.header,\n index: indx,\n }\n \"\n ></ng-container>\n </ng-container>\n <div *ngSwitchDefault class=\"th-content-container\">\n {{ col.header }}\n </div>\n </ng-container>\n </th>\n</ng-template>\n\n<ng-template #rowTemplate let-row=\"row\" let-col=\"col\" let-index=\"index\">\n <div class=\"td-container\">\n <div class=\"td-content-container\">\n <ng-container [ngSwitch]=\"col.cellType\">\n <!-- Default text cell -->\n <!-- <span *ngSwitchCase=\"'text'\">{{\n row[col.field]\n }}</span> -->\n\n <!-- Template cell -->\n <ng-container *ngSwitchCase=\"'template'\">\n <ng-container\n *ngTemplateOutlet=\"\n col.template;\n context: {\n $implicit: col.row ? row : row[col.field],\n index: index,\n }\n \"\n ></ng-container>\n </ng-container>\n\n <!-- Custom component cell -->\n <ng-container *ngSwitchCase=\"'component'\">\n <ng-container\n *ngComponentOutlet=\"\n col.component;\n injector: createInjector(row, col.inputs)\n \"\n ></ng-container>\n </ng-container>\n\n <!-- Default fallback -->\n <ng-container *ngSwitchDefault>\n <ng-container\n *ngTemplateOutlet=\"\n customTextTemplate;\n context: {\n $implicit: {\n field: row[col.field],\n pipeType: col.pipeType,\n pipeString: col.pipeString,\n textCustomClasses: col.textCustomClasses,\n index: index,\n },\n }\n \"\n ></ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n</ng-template>\n\n<!-- Default Text Template -->\n<ng-template #customTextTemplate let-data let-index>\n <ng-container [ngSwitch]=\"data.pipeType\">\n <ng-container *ngSwitchCase=\"'date'\">\n <div [ngClass]=\"data.textCustomClasses\" class=\"text\">\n {{ data.field | date: data.pipeString }}\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'currency'\">\n <div [ngClass]=\"data.textCustomClasses\" class=\"text\">\n {{ data.field | currency: data.pipeString }}\n </div>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <div [ngClass]=\"data.textCustomClasses\" class=\"text\">\n {{ data.field }}\n </div>\n </ng-container>\n </ng-container>\n</ng-template>\n", styles: [".ca-main-table-holder .main-table-scroll-viewport{min-height:200px}.ca-main-table-holder .ca-main-table{color:#424242;width:100%;border-collapse:collapse;background-color:#eee}.ca-main-table-holder .ca-main-table thead tr th{color:#6c6c6c;text-transform:uppercase;font-size:11px}.ca-main-table-holder .ca-main-table thead tr th .th-content-container{padding:4px}.ca-main-table-holder .ca-main-table tbody tr td{height:36px;padding:1px 0}.ca-main-table-holder .ca-main-table tbody tr td .td-container{padding:4px 0;display:flex;align-items:center;height:34px;background-color:#fff}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container{flex:1;padding:3px 4px}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text{font-size:14px}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-100{font-weight:100}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-200{font-weight:200}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-300{font-weight:300}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-400{font-weight:400}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-500{font-weight:500}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-600{font-weight:600}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-700{font-weight:700}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-800{font-weight:800}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-900{font-weight:900}.ca-main-table-holder .ca-main-table tbody tr td:first-child .td-container{border-top-left-radius:3px;border-bottom-left-radius:3px;padding-left:4px}.ca-main-table-holder .ca-main-table tbody tr td:first-child .td-container .td-content-container{border-top-left-radius:3px;border-bottom-left-radius:3px}.ca-main-table-holder .ca-main-table tbody tr td:last-child .td-container{border-top-right-radius:3px;border-bottom-right-radius:3px;padding-right:4px}.ca-main-table-holder .ca-main-table tbody tr td:last-child .td-container .td-content-container{border-top-right-radius:3px;border-bottom-right-radius:3px}.ca-main-table-holder .ca-main-table tbody tr:hover td .td-container .td-content-container{background-color:#eee}.cdk_th_div{display:table-cell}.cdk_th_div th{display:block}.drag-placeholder{background-color:#fff}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.table-tr:last-child{border:none}.table-body-list.cdk-drop-list-dragging .table-tr:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.drag-placeholder{background:#ccc;border:dotted 3px #999;min-height:60px;transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drag-placeholder,.th-table-body-list .cdk-drag-placeholder{opacity:0}.th-table-body-list .cdk_th_div{box-shadow:none!important;background-color:transparent!important}\n"] }]
15389
15389
  }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { onPressEvent: [{
15390
15390
  type: Output
15391
15391
  }], hideFieldsToHide: [{