ngx-deebodata 0.3.1 → 0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { signal, Injectable, EventEmitter, ViewChild, Output, Input, Component, input, HostListener, ChangeDetectionStrategy } from '@angular/core';
2
+ import { signal, Injectable, EventEmitter, ViewChild, Output, Input, Component, input, HostListener, ChangeDetectionStrategy, effect } from '@angular/core';
3
3
  import * as i4$1 from '@angular/forms';
4
4
  import { FormsModule } from '@angular/forms';
5
5
  import * as i4 from '@angular/common';
@@ -2372,12 +2372,10 @@ class RowGroupPanel {
2372
2372
  this.tblDragService = tblDragService;
2373
2373
  this.dataTableService = dataTableService;
2374
2374
  this._cd = _cd;
2375
- }
2376
- ngOnChanges(changes) {
2377
- if (!this.init && this.open() && changes) {
2378
- if (changes["horizRest"]?.currentValue)
2375
+ effect(() => {
2376
+ if (this.open())
2379
2377
  this.setHorizScrPos();
2380
- }
2378
+ });
2381
2379
  }
2382
2380
  ngOnInit() {
2383
2381
  this.uiGroupValue = this.common.titleCase(this.groupValue);
@@ -2406,7 +2404,6 @@ class RowGroupPanel {
2406
2404
  // } )
2407
2405
  // }
2408
2406
  // })
2409
- this.init = false;
2410
2407
  }
2411
2408
  openGroup() {
2412
2409
  this.open.set(!this.open());
@@ -2423,7 +2420,7 @@ class RowGroupPanel {
2423
2420
  this.count = this.panelData.length;
2424
2421
  let n = 0;
2425
2422
  const defNum = this.dataTableService.defltRHgtNum;
2426
- const init = Math.max(400 / defNum) + this.rowElsPad;
2423
+ const init = Math.ceil(400 / defNum) + this.rowElsPad;
2427
2424
  const addCell = (text, prop, row, visible) => {
2428
2425
  if (prop && row) {
2429
2426
  const useProp = this.dataTableService.dataFilSrtTracker[prop];
@@ -2494,11 +2491,6 @@ class RowGroupPanel {
2494
2491
  this.openEvt.emit("row-group-panel-" + this.elifyGrouping);
2495
2492
  timer(0).subscribe(() => {
2496
2493
  this.setTblBot();
2497
- // const pEl = this.panelDataGrid?.nativeElement
2498
- // if(pEl){
2499
- // pEl.scrollBy(1, 1);
2500
- // pEl.scrollBy(0, -1);
2501
- // }
2502
2494
  this.setRowNumPlacement();
2503
2495
  this._cd.detectChanges();
2504
2496
  });
@@ -2604,8 +2596,8 @@ class RowGroupPanel {
2604
2596
  if (dtb) {
2605
2597
  const lfs = this.dataTableService.listenForScroll();
2606
2598
  this.execVertScrollUp(this.columns, this.columns.length, dtb.scrollTop, true);
2607
- this.execHorizScroll(dtb.scrollLeft);
2608
2599
  this.handleScrollEnd();
2600
+ this.execHorizScroll(dtb.scrollLeft);
2609
2601
  if (lfs && this.rows.some(r => r.height !== this.dataTableService.defltRHgt))
2610
2602
  this.setAllRowsDefHgt();
2611
2603
  if (!lfs)
@@ -2805,7 +2797,7 @@ class RowGroupPanel {
2805
2797
  if (ahToAdd)
2806
2798
  this.aboveHgt.set((this.aboveHgt() + ahToAdd));
2807
2799
  if (bhToSub)
2808
- this.belowHgt.set((this.belowHgt() - bhToSub));
2800
+ this.belowHgt.set(Math.max(0, (this.belowHgt() - bhToSub)));
2809
2801
  }
2810
2802
  else {
2811
2803
  let v = 0;
@@ -2838,7 +2830,7 @@ class RowGroupPanel {
2838
2830
  v++;
2839
2831
  }
2840
2832
  if (ahToSub)
2841
- this.aboveHgt.set((this.aboveHgt() - ahToSub));
2833
+ this.aboveHgt.set(Math.max(0, (this.aboveHgt() - ahToSub)));
2842
2834
  if (bhToAdd)
2843
2835
  this.belowHgt.set((this.belowHgt() + bhToAdd));
2844
2836
  }
@@ -2887,7 +2879,7 @@ class RowGroupPanel {
2887
2879
  h += 1;
2888
2880
  }
2889
2881
  if (bhToSub)
2890
- this.belowHgt.set((this.belowHgt() - bhToSub));
2882
+ this.belowHgt.set(Math.max(0, (this.belowHgt() - bhToSub)));
2891
2883
  if (ahToAdd)
2892
2884
  this.aboveHgt.set((this.aboveHgt() + ahToAdd));
2893
2885
  const repl = [...rows].length; //only new rows
@@ -2946,7 +2938,7 @@ class RowGroupPanel {
2946
2938
  h += 1;
2947
2939
  }
2948
2940
  if (ahToSub)
2949
- this.aboveHgt.set((this.aboveHgt() - ahToSub));
2941
+ this.aboveHgt.set(Math.max(0, (this.aboveHgt() - ahToSub)));
2950
2942
  if (bhToAdd)
2951
2943
  this.belowHgt.set((this.belowHgt() + bhToAdd));
2952
2944
  const repl = [...rows].length; //only new rows
@@ -2987,7 +2979,7 @@ class RowGroupPanel {
2987
2979
  setTimeout(() => { this.setRowNumPlacement(); });
2988
2980
  }
2989
2981
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: RowGroupPanel, deps: [{ token: CommonService }, { token: TableDragService }, { token: DataTableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
2990
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: RowGroupPanel, isStandalone: true, selector: "app-row-group-panel", inputs: { horizRest: { classPropertyName: "horizRest", publicName: "horizRest", isSignal: true, isRequired: false, transformFunction: null }, colOfInt: { classPropertyName: "colOfInt", publicName: "colOfInt", isSignal: true, isRequired: false, transformFunction: null }, groupValue: { classPropertyName: "groupValue", publicName: "groupValue", isSignal: false, isRequired: false, transformFunction: null }, useRowWid: { classPropertyName: "useRowWid", publicName: "useRowWid", isSignal: false, isRequired: false, transformFunction: null }, maxCols: { classPropertyName: "maxCols", publicName: "maxCols", isSignal: false, isRequired: false, transformFunction: null }, editable: { classPropertyName: "editable", publicName: "editable", isSignal: false, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: false, isRequired: false, transformFunction: null }, showRowNumbers: { classPropertyName: "showRowNumbers", publicName: "showRowNumbers", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { openEvt: "openEvt", horizPos: "horizPos", cellEdit: "cellEdit" }, host: { listeners: { "window:mouseup": "onWindowMouseUp($event)" } }, viewQueries: [{ propertyName: "panelDataGrid", first: true, predicate: ["panelDataGrid"], descendants: true }, { propertyName: "aboveArea", first: true, predicate: ["aboveArea"], descendants: true }, { propertyName: "belowArea", first: true, predicate: ["belowArea"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"row-group-panel row-group-panel-{{elifyGrouping}}\" [ngClass]=\"{'open-panel': open(), 'hide': !count}\">\r\n <button class=\"no-btn\" (click)=\"openGroup()\">\r\n <span class=\"v-mid md-text\">{{uiGroupValue}} ({{count | number}})</span>&nbsp;\r\n <i class=\"material-icons v-mid\" aria-hidden=\"false\">{{open() ? \"keyboard_arrow_down\" : \"chevron_right\"}}</i>\r\n </button>\r\n</div>\r\n@if(showRowNumbers && open()){\r\n <div class=\"relly\">\r\n @for(num of rowNums; track $index){\r\n <span class=\"gb-row-num row-nums-{{elifyGrouping}} invisible\" >{{num | number}}</span>\r\n }\r\n </div>\r\n}\r\n@if(open()){\r\n <div #panelDataGrid [id]=\"'panelDataGrid' + elifyGrouping\" style=\"overflow: auto;margin-top: 3px\" class=\"group-panel-grid panel-height\"\r\n (scroll)=\"handleScroll($event)\" (scrollend)=\"handleScrollEnd()\">\r\n <div #aboveArea [ngStyle]=\"{'height': aboveHgt() + 'px', 'width': useRowWid}\"></div>\r\n <div [style.transform]=\"'translateY('+transY()+'px)'\">\r\n @for(row of rows; track $index){\r\n <div [id]=\"row.id\" class=\"data-table-row rows-for-{{elifyGrouping}}\" [attr.data-index]=\"row.index\"\r\n [ngStyle]=\"{'width': row.width, 'height': row.height}\" >\r\n @for(cell of row.cells; track cell.column){\r\n <app-data-cell\r\n [cell]=\"cell\" [rowId]=\"row.id\" \r\n [noColResize]=\"true\"\r\n [text]=\"cell.text || ''\"\r\n [html]=\"cell.html || ''\"\r\n [rawText]=\"cell.rawText\"\r\n [minimized]=\"cell.minimized\"\r\n [rowHeight]=\"row.height || ''\"\r\n [columnValClass]=\"cell.specialColClass\"\r\n [colWid]=\"cell.width || dataTableService.useColWid\"\r\n (height)=\"setSingleRowHgt($event, row.id)\"\r\n ></app-data-cell>\r\n }\r\n </div>\r\n }\r\n </div>\r\n <div #belowArea [ngStyle]=\"{'height': belowHgt() + 'px', 'width': useRowWid}\"></div>\r\n @if(!panelData.length){\r\n <div \r\n class=\"data-table-row panel-height flex-center data-table-row-no-data\" style=\"width: 100%; white-space: normal;\">\r\n <div class=\"center\">Loading...</div>\r\n </div>\r\n }\r\n </div>\r\n}\r\n", styles: [".row-group-panel{padding:17px 11px;border-bottom:1px dotted var(--accent-color)}.open-panel{box-shadow:0 1px 3px 1px var(--grid-color);-moz-box-shadow:0 1px 3px 1px var(--grid-color);-webkit-box-shadow:0 1px 3px 1px var(--grid-color)}.panel-height{min-height:400px;max-height:400px;border-bottom:1px dotted var(--accent-color)}\n", "@charset \"UTF-8\";@font-face{font-family:Roboto Condensed;src:url(https://d2ffvluimla00s.cloudfront.net/RobotoCondensed-VariableFont_wght.ttf) format(\"ttf\")}@font-face{font-family:Material Icons;font-style:normal;font-weight:400;src:url(https://d2ffvluimla00s.cloudfront.net/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2) format(\"woff2\")}.deebo-data-grid-section{font-family:Roboto Condensed,Arial,Helvetica,sans-serif}:host{--accent-color:rgb(50, 50, 50);--grid-color:rgb(199, 199, 199);--pad-left-base: 33px;--row-num-width: 75px;--reg-font-size: 17px }.relly{position:relative}.hide{display:none!important;max-height:0;max-width:0;top:0;left:0;opacity:0}.ovy{overflow:auto}.no-ovy-y{overflow-y:hidden!important}.pad-top-sm{padding-top:4px!important}.pad-top-ten{padding-top:10px!important}.pad-top-teen{padding-top:17px}.pad-top-thirty,.pad-top-trey{padding-top:33px}.pad-top-much{padding-top:75px}.o-visible{overflow:visible}.dontwrap{white-space:nowrap}.inline-b{display:inline-block}.inline{display:inline}.half-wid{width:50%;vertical-align:top;display:inline-block}.qtr-wid{width:25%;vertical-align:top;display:inline-block}.third-wid{width:33.3%;vertical-align:top;display:inline-block}.two-third-wid{width:66.6%;vertical-align:top;display:inline-block}.three-qtr-wid{width:75%;vertical-align:top;display:inline-block}.v-top{vertical-align:top!important}.v-mid{vertical-align:middle!important}.v-bot{vertical-align:bottom!important}.lg-text{font-size:larger}.xlg-text{font-size:x-large!important}.md-text{font-size:var(--reg-font-size)!important}.small-text{font-size:small}.tiny-text{font-size:x-small}.invisible{visibility:hidden}.flex-center{display:flex;justify-content:center;align-items:center}.flex-item{flex:1 1 auto}.o-x-hidden{overflow-x:hidden!important}.no-weight{font-weight:400!important}.semi-heavy{font-weight:500!important}.heavy{font-weight:700!important}.marauto{margin:0 auto}.center{text-align:center}.left{text-align:left}.right{text-align:right}.btn-reset{border:none;color:#fff;padding:7px 11px;background:maroon}.error-message{color:maroon;font-weight:500}.success{color:green;font-weight:500}.neutral{color:var(--accent-color)}input,select{border:none;padding:4px;border-radius:3px;box-sizing:border-box;font-family:Roboto Condensed,Arial,Helvetica,sans-serif;box-shadow:0 0 1px 1px #afafaf;-moz-box-shadow:0 0 1px 1px #afafaf;-webkit-box-shadow:0 0 1px 1px #afafaf}input[type=radio],input[type=checkbox]{cursor:pointer;box-shadow:none!important;-moz-box-shadow:none!important;-webkit-box-shadow:none!important}button{cursor:pointer}button:focus,input:focus,select:focus,textarea:focus,a:focus{outline-width:0}button:disabled,input:disabled,select:disabled{opacity:.5;cursor:not-allowed}.prevent{opacity:.5;cursor:not-allowed;pointer-events:none}.controls{text-align:right;padding:16px 11px 6px 1px;max-width:100%;clear:both;overflow-x:auto;white-space:nowrap}.controls button{font-size:var(--reg-font-size);margin-right:31px;vertical-align:middle}.controls button span{vertical-align:middle}.controls button:last-of-type{margin-right:0}.data-table{margin-top:11px;overflow:hidden;box-shadow:0 -1px 3px 1px var(--grid-color);-moz-box-shadow:0 -1px 3px 1px var(--grid-color);-webkit-box-shadow:0 -1px 3px 1px var(--grid-color)}.sel-rows-checked{color:#00a8f399!important}.save-hilite{padding:2px 4px;border-radius:3px;background:#ebebeb;box-shadow:0 0 3px 1px var(--accent-color);-moz-box-shadow:0 0px 3px 1px var(--accent-color);-webkit-box-shadow:0 0px 3px 1px var(--accent-color)}.btn-ctrl-sel-rows,.btn-export-or-print{border:none;padding:3px 4px;border-radius:3px;background:#f5f5f5;vertical-align:middle;box-shadow:0 0 2px 1px var(--accent-color);-moz-box-shadow:0 0 2px 1px var(--accent-color);-webkit-box-shadow:0 0 2px 1px var(--accent-color)}.deebo-dd-contain-div:last-of-type{margin-right:0!important}.btn-export{width:100%;text-transform:uppercase}.btn-export:hover{text-decoration:underline}.btn-ctrl-sel-rows:hover,.btn-export-or-print:hover{background:#ebebeb;box-shadow:0 0 6px 2px gray;-moz-box-shadow:0 0 6px 2px gray;-webkit-box-shadow:0 0 6px 2px gray}.btn-center-selected{padding:2px 4px;border-radius:5px;background:#f5f5f5;box-shadow:0 0 6px 2px gray;-moz-box-shadow:0 0 6px 2px gray;-webkit-box-shadow:0 0 6px 2px gray}.btn-ctrl-sel-rows .material-icons{font-size:18px;font-weight:600;vertical-align:middle}.btn-ctrl-sel-rows .material-icons:not(.error-message){color:var(--accent-color)}.data-table-headers{cursor:pointer;white-space:nowrap;border-bottom:1px solid var(--grid-color)}.data-table-row{white-space:nowrap}.data-table-row:hover,.data-table-row .col-item-freeze:hover{background:#f3f3f3}.data-row-selected{background:#d6d6d6!important}.table-working{opacity:.1;pointer-events:none}.select-row-check{left:9px;z-index:10;cursor:pointer;margin:0;position:absolute;padding:0!important}.gb-row-num{left:2px;z-index:10;cursor:pointer;margin:0;font-size:x-small;position:absolute;padding:0!important}.mock-html{width:50%;height:18px;margin:0 auto;border-radius:11px;background:var(--grid-color)}.abs-right{top:7px;right:7px;position:absolute}.has-symbol:after{content:attr(data-symbol);padding-left:3px}.has-symbol-b:before{content:attr(data-symbol);padding-right:3px}.data-table-row-no-data{font-size:xx-large;color:gray;font-weight:500;text-shadow:-1px -1px var(--accent-color)}.data-row-selected .col-item-freeze,.data-row-selected .data-cell,.data-row-selected:hover,.data-row-selected .col-item-freeze:hover,.data-row-selected .data-cell:hover{background:#d6d6d6!important}.data-table-headers .col-item-freeze:first-of-type{border-bottom:1px solid var(--grid-color)}.col-header{z-index:2;width:125px;overflow:auto;cursor:grab;padding:7px 3px;text-align:center;position:relative;box-sizing:border-box;display:inline-block;vertical-align:top;white-space:pre-wrap;word-wrap:break-word;background:#fafafa;border-right:1px solid var(--grid-color)}.col-header button,.col-header span,.col-header select{cursor:pointer;vertical-align:middle}.col-header input{vertical-align:middle}.col-header-img-container{overflow-y:hidden;text-align:center;display:inline-block;vertical-align:middle;background-size:cover;background-position:center;background-repeat:no-repeat}.col-header-minimized{width:0!important;height:0!important;padding:0!important;overflow:hidden!important;border-bottom:none!important;border-right:none!important;transition:width .3s ease}.btn-maximize-col{border:none;border-radius:5px;background:#f5f5f5;box-shadow:0 0 3px 2px gray;font-size:var(--reg-font-size);margin-right:27px;padding:4px}.no-btn{border:none;background:none}.col-item-freeze{left:0;z-index:3;position:sticky;background:#fff;box-shadow:2px 0 3px 0 var(--grid-color);-moz-box-shadow:2px 0px 3px 0px var(--grid-color);-webkit-box-shadow:2px 0px 3px 0px var(--grid-color)}.col-header input,.select-filter{width:40%;margin:11px 0 1px}.sel-fil-container{z-index:5}.edit-input-option-cont{left:0;right:0}.edit-input-opt button{width:100%;font-size:15px;padding:11px 0 11px 17px;text-align:left!important}.selfil-opt-contain,.edit-input-option-cont{overflow:auto;max-height:240px;border-radius:5px;position:absolute;background:#fff;box-shadow:0 1px 3px 1px var(--grid-color);-moz-box-shadow:0 1px 3px 1px var(--grid-color);-webkit-box-shadow:0 1px 3px 1px var(--grid-color)}.selfil-div,.edit-input-opt{cursor:pointer;text-align:left;border-bottom:1px solid var(--grid-color)}.selfil-div:hover,.edit-input-opt:hover{background:#ebebeb}.selfil-div:last-of-type,.edit-input-opt:last-of-type{border-bottom:none}.selfil-div label{width:calc(100% - 22px);font-size:15px;cursor:pointer;padding:11px;display:inline-block}.selfil-div label input[type=checkbox]{margin-right:11px;vertical-align:middle}.select-filter-comparator{width:36px;z-index:3;opacity:0;position:relative;margin:11px 0 1px 15px}.btn-fil-comp{top:2px;left:-36px;border:none;position:absolute;background:#fafafa}.btn-fil-comp i{color:var(--accent-color)}@media screen and (min-width:960px){.col-header input,.select-filter,.select-filter-comparator{margin-top:7px;margin-bottom:1px}}.data-cell{width:125px;padding:11px 6px 11px 17px;overflow:auto;font-size:15px;word-wrap:break-word;white-space:pre-line;vertical-align:top;box-sizing:border-box;display:inline-flex;align-items:center;border-right:1px solid var(--grid-color);border-bottom:1px solid var(--grid-color)}input.edit-input{border-radius:0}.data-cell:focus,input.edit-input:focus{outline:1px solid #00a8f3}.dragger-cell-focused{background:#00a8f333;border-left:1px solid #00a8f3;border-right:1px solid #00a8f3!important}.focused-cell-dragger{width:9px;height:9px;cursor:crosshair;position:absolute;background:#00a8f3;box-shadow:0 0 1px 1px var(--accent-color);-moz-box-shadow:0 0 1px 1px var(--accent-color);-webkit-box-shadow:0 0 1px 1px var(--accent-color)}.holding-check{padding-left:44px}.data-cell-riiight{padding:11px 17px 11px 6px;justify-content:right}.data-cell-ceeenter{padding:11px 6px;justify-content:center!important}.cell-og-link{line-height:0;visibility:hidden}.cell-og-link:before{visibility:visible;content:attr(data-title)}.moveable-col{cursor:col-resize!important}.moveable-row{cursor:row-resize!important}.data-sort-arr{cursor:pointer;margin-left:11px;border:none;background:none;padding:0 0 0 2px;color:var(--accent-color)}.data-sort-arr .material-icons{font-size:20px}.data-col-info{left:10px;top:12px;padding:0;border:none;cursor:pointer;background:none;position:absolute;color:var(--accent-color)}.data-col-info .material-icons{font-size:16px}.sort-order-indicator{font-weight:600;vertical-align:middle;font-size:16px}.btn-min-col{cursor:pointer;top:0;right:2px;font-size:20px;border:none;background:none;position:absolute;padding:0 2px 5px 0;color:var(--accent-color)}.btn-min-col-hide{z-index:0;visibility:hidden;pointer-events:none}.btn-freeze-col{float:left;border:none;cursor:pointer;background:none}.btn-freeze-col .material-icons{font-size:16px;color:var(--accent-color)}.hidden-cols{max-width:100%;overflow-x:auto;clear:both;white-space:nowrap;padding:17px 15px 5px 4px}.hidden-cols button:first-of-type:before{content:\"Hidden Columns\";font-size:12px;font-weight:600;padding-right:11px;vertical-align:middle}.col-header span{word-wrap:break-word;vertical-align:middle;font-size:var(--reg-font-size)}.o-ins-div span,.o-ins-div i{vertical-align:middle;font-size:16px}.aux-chip{text-align:center;padding-bottom:33px;word-wrap:break-word;white-space:pre-wrap}.insights{padding:17px 15px}.insight-field{min-height:100px;padding:21px 0;font-size:large;white-space:pre-wrap;word-wrap:break-word;border-bottom:1px solid lightgray}@media screen and (max-width:760px){.insight-field:first-of-type{padding-top:7px}}@media screen and (min-width:760px){.insight-field-row{border-bottom:1px solid lightgray}.insight-field,.aux-chip{width:50%;vertical-align:top;display:inline-block;border-bottom:none}}@media screen and (min-width:1024px){.insight-field,.aux-chip{width:33%}}.chart-label-cont{padding-top:10px;text-align:center}.pie-piece-label{padding-top:5px;margin-right:27px;display:inline-block}.pie-piece-label-sq{width:11px;height:11px;margin:0 0 0 2px;display:inline-block;vertical-align:middle}.pie-piece-label span{font-size:small}.pie-piece-label span:before{font-size:smaller;padding-right:4px;font-weight:600;content:attr(data-percent)}.pie-layover{border-radius:50%;background:#fff;position:absolute;padding:5px!important;display:flex;font-size:17px;align-items:center;overflow:hidden;box-sizing:border-box;justify-content:center;color:var(--accent-color)}.pie-layover div{font-weight:500;padding:0!important}.ins-even-dist-ct{font-size:24px;font-weight:500}.line-graph-container{padding:11px 0 33px 7px!important;box-sizing:border-box;margin-left:11px}.lg-title-cont{padding:0!important;text-align:center;margin:17px 11px}.lg-n-marker-cont{width:60px;position:relative;padding:0!important;box-sizing:border-box;display:inline-block;vertical-align:top}.lg-n-marker-cont:before{top:45%;left:-37px;display:block;position:absolute;white-space:nowrap;color:var(--grid-color);content:attr(data-column);transform:rotate(-90deg)}.lg-n-marker,.lg-n-marker-h{padding:0 11px 0 0!important;font-size:small;position:relative;text-align:right;white-space:nowrap;box-sizing:border-box}.line-graph{width:calc(92% - 60px);position:relative;box-sizing:border-box;display:inline-block;vertical-align:top;padding:0!important;border-left:1px solid var(--accent-color);border-bottom:1px solid var(--accent-color)}.lg-lbl-x{left:0;right:0;bottom:-45px;font-size:small;font-weight:500;text-align:center;position:absolute;padding:0!important}.btn-line-graph-opts{margin:0;padding:4px;background:none;border-top:1px solid var(--accent-color);border-left:1px solid var(--accent-color);border-bottom:1px solid var(--accent-color)}.sp-line-graph-title{margin-top:7px;font-size:large;text-decoration:underline}.lg-dt-marker,.lg-dt-marker-h,.vd-n-marker,.vd-n-marker-h{bottom:-22px;font-size:small;position:absolute;text-align:center;padding:0!important;display:inline-block;box-sizing:border-box}.lg-dt-marker-h,.vd-n-marker-h{visibility:hidden}.lg-dt-marker.visible-marker{margin-left:21px}.lg-n-marker-h{height:0;visibility:hidden}.visible-marker{z-index:2;font-weight:600;background:#fff;height:unset!important;padding:1px 2px!important;visibility:visible!important;box-shadow:0 0 2px 1px #afafaf;-moz-box-shadow:0 0 2px 1px #afafaf;-webkit-box-shadow:0 0 2px 1px #afafaf}.visible-marker:before{font-weight:600}.lg-dt-marker:before{top:-15px;left:0;content:\"|\";position:absolute}.vd-n-marker:before{top:-15px;left:50%;content:\"|\";left:calc(50% - 2px);position:absolute}.lg-n-marker:before{top:-4px;right:-3px;content:\"-\";font-weight:600;font-size:large;position:absolute;background:#fff}.btn-line-graph-opts:hover{background:#d6d6d6;transition:background .3s ease}.btn-line-graph-opts:last-of-type{border-right:1px solid var(--accent-color)}.btn-lg-sel{color:#fff!important;background:var(--accent-color);box-shadow:0 0 2px 1px #afafaf;-moz-box-shadow:0 0 2px 1px #afafaf;-webkit-box-shadow:0 0 2px 1px #afafaf}.btn-lg-sel:hover{background:var(--accent-color)}.lg-plot{height:8px;width:8px;opacity:.3;cursor:pointer;border-radius:50%;position:absolute;padding:0!important;background:var(--accent-color)}.lg-plot:hover{z-index:100;opacity:1!important}.lg-plot:hover:after{padding:3px;display:inline-block;font-size:small;border-radius:5px;margin:0 0 0 25px;font-weight:700;content:attr(data-number);background:#fff!important;box-shadow:0 0 2px 1px #afafaf;-moz-box-shadow:0 0 2px 1px #afafaf;-webkit-box-shadow:0 0 2px 1px #afafaf}.lg-plot-opq{opacity:0;background:#fff}.lg-plot-opq:hover{opacity:1!important;background:var(--grid-color);transition:opacity .2s ease}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:\"liga\";-webkit-font-feature-settings:\"liga\";-webkit-font-smoothing:antialiased}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: DataCellComponent, selector: "app-data-cell", inputs: ["text", "html", "minimized", "rawText", "cell", "rowId", "colWid", "rowHeight", "noColResize", "columnValClass"], outputs: ["width", "height", "edit", "dragListen", "validateEditFocus", "clearVEditFocus"] }, { kind: "pipe", type: i4.DecimalPipe, name: "number" }] });
2982
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: RowGroupPanel, isStandalone: true, selector: "app-row-group-panel", inputs: { horizRest: { classPropertyName: "horizRest", publicName: "horizRest", isSignal: true, isRequired: false, transformFunction: null }, colOfInt: { classPropertyName: "colOfInt", publicName: "colOfInt", isSignal: true, isRequired: false, transformFunction: null }, groupValue: { classPropertyName: "groupValue", publicName: "groupValue", isSignal: false, isRequired: false, transformFunction: null }, useRowWid: { classPropertyName: "useRowWid", publicName: "useRowWid", isSignal: false, isRequired: false, transformFunction: null }, maxCols: { classPropertyName: "maxCols", publicName: "maxCols", isSignal: false, isRequired: false, transformFunction: null }, editable: { classPropertyName: "editable", publicName: "editable", isSignal: false, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: false, isRequired: false, transformFunction: null }, showRowNumbers: { classPropertyName: "showRowNumbers", publicName: "showRowNumbers", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { openEvt: "openEvt", horizPos: "horizPos", cellEdit: "cellEdit" }, host: { listeners: { "window:mouseup": "onWindowMouseUp($event)" } }, viewQueries: [{ propertyName: "panelDataGrid", first: true, predicate: ["panelDataGrid"], descendants: true }, { propertyName: "aboveArea", first: true, predicate: ["aboveArea"], descendants: true }, { propertyName: "belowArea", first: true, predicate: ["belowArea"], descendants: true }], ngImport: i0, template: "<div class=\"row-group-panel row-group-panel-{{elifyGrouping}}\" [ngClass]=\"{'open-panel': open(), 'hide': !count}\">\r\n <button class=\"no-btn\" (click)=\"openGroup()\">\r\n <span class=\"v-mid md-text\">{{uiGroupValue}} ({{count | number}})</span>&nbsp;\r\n <i class=\"material-icons v-mid\" aria-hidden=\"false\">{{open() ? \"keyboard_arrow_down\" : \"chevron_right\"}}</i>\r\n </button>\r\n</div>\r\n@if(showRowNumbers && open()){\r\n <div class=\"relly\">\r\n @for(num of rowNums; track $index){\r\n <span class=\"gb-row-num row-nums-{{elifyGrouping}} invisible\" >{{num | number}}</span>\r\n }\r\n </div>\r\n}\r\n@if(open()){\r\n <div #panelDataGrid [id]=\"'panelDataGrid' + elifyGrouping\" style=\"overflow: auto;margin-top: 3px\" class=\"group-panel-grid panel-height\"\r\n (scroll)=\"handleScroll($event)\" (scrollend)=\"handleScrollEnd()\">\r\n <div #aboveArea [ngStyle]=\"{'height': aboveHgt() + 'px', 'width': useRowWid}\"></div>\r\n <div [style.transform]=\"'translateY('+transY()+'px)'\">\r\n @for(row of rows; track $index){\r\n <div [id]=\"row.id\" class=\"data-table-row rows-for-{{elifyGrouping}}\" [attr.data-index]=\"row.index\"\r\n [ngStyle]=\"{'width': row.width, 'height': row.height}\" >\r\n @for(cell of row.cells; track cell.column){\r\n <app-data-cell\r\n [cell]=\"cell\" [rowId]=\"row.id\" \r\n [noColResize]=\"true\"\r\n [text]=\"cell.text || ''\"\r\n [html]=\"cell.html || ''\"\r\n [rawText]=\"cell.rawText\"\r\n [minimized]=\"cell.minimized\"\r\n [rowHeight]=\"row.height || ''\"\r\n [columnValClass]=\"cell.specialColClass\"\r\n [colWid]=\"cell.width || dataTableService.useColWid\"\r\n (height)=\"setSingleRowHgt($event, row.id)\"\r\n ></app-data-cell>\r\n }\r\n </div>\r\n }\r\n </div>\r\n <div #belowArea [ngStyle]=\"{'height': belowHgt() + 'px', 'width': useRowWid}\"></div>\r\n @if(!panelData.length){\r\n <div \r\n class=\"data-table-row panel-height flex-center data-table-row-no-data\" style=\"width: 100%; white-space: normal;\">\r\n <div class=\"center\">Loading...</div>\r\n </div>\r\n }\r\n </div>\r\n}\r\n", styles: [".row-group-panel{padding:17px 11px;border-bottom:1px dotted var(--accent-color)}.open-panel{box-shadow:0 1px 3px 1px var(--grid-color);-moz-box-shadow:0 1px 3px 1px var(--grid-color);-webkit-box-shadow:0 1px 3px 1px var(--grid-color)}.panel-height{min-height:400px;max-height:400px;border-bottom:1px dotted var(--accent-color)}\n", "@charset \"UTF-8\";@font-face{font-family:Roboto Condensed;src:url(https://d2ffvluimla00s.cloudfront.net/RobotoCondensed-VariableFont_wght.ttf) format(\"ttf\")}@font-face{font-family:Material Icons;font-style:normal;font-weight:400;src:url(https://d2ffvluimla00s.cloudfront.net/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2) format(\"woff2\")}.deebo-data-grid-section{font-family:Roboto Condensed,Arial,Helvetica,sans-serif}:host{--accent-color:rgb(50, 50, 50);--grid-color:rgb(199, 199, 199);--pad-left-base: 33px;--row-num-width: 75px;--reg-font-size: 17px }.relly{position:relative}.hide{display:none!important;max-height:0;max-width:0;top:0;left:0;opacity:0}.ovy{overflow:auto}.no-ovy-y{overflow-y:hidden!important}.pad-top-sm{padding-top:4px!important}.pad-top-ten{padding-top:10px!important}.pad-top-teen{padding-top:17px}.pad-top-thirty,.pad-top-trey{padding-top:33px}.pad-top-much{padding-top:75px}.o-visible{overflow:visible}.dontwrap{white-space:nowrap}.inline-b{display:inline-block}.inline{display:inline}.half-wid{width:50%;vertical-align:top;display:inline-block}.qtr-wid{width:25%;vertical-align:top;display:inline-block}.third-wid{width:33.3%;vertical-align:top;display:inline-block}.two-third-wid{width:66.6%;vertical-align:top;display:inline-block}.three-qtr-wid{width:75%;vertical-align:top;display:inline-block}.v-top{vertical-align:top!important}.v-mid{vertical-align:middle!important}.v-bot{vertical-align:bottom!important}.lg-text{font-size:larger}.xlg-text{font-size:x-large!important}.md-text{font-size:var(--reg-font-size)!important}.small-text{font-size:small}.tiny-text{font-size:x-small}.invisible{visibility:hidden}.flex-center{display:flex;justify-content:center;align-items:center}.flex-item{flex:1 1 auto}.o-x-hidden{overflow-x:hidden!important}.no-weight{font-weight:400!important}.semi-heavy{font-weight:500!important}.heavy{font-weight:700!important}.marauto{margin:0 auto}.center{text-align:center}.left{text-align:left}.right{text-align:right}.btn-reset{border:none;color:#fff;padding:7px 11px;background:maroon}.error-message{color:maroon;font-weight:500}.success{color:green;font-weight:500}.neutral{color:var(--accent-color)}input,select{border:none;padding:4px;border-radius:3px;box-sizing:border-box;font-family:Roboto Condensed,Arial,Helvetica,sans-serif;box-shadow:0 0 1px 1px #afafaf;-moz-box-shadow:0 0 1px 1px #afafaf;-webkit-box-shadow:0 0 1px 1px #afafaf}input[type=radio],input[type=checkbox]{cursor:pointer;box-shadow:none!important;-moz-box-shadow:none!important;-webkit-box-shadow:none!important}button{cursor:pointer}button:focus,input:focus,select:focus,textarea:focus,a:focus{outline-width:0}button:disabled,input:disabled,select:disabled{opacity:.5;cursor:not-allowed}.prevent{opacity:.5;cursor:not-allowed;pointer-events:none}.controls{text-align:right;padding:16px 11px 6px 1px;max-width:100%;clear:both;overflow-x:auto;white-space:nowrap}.controls button{font-size:var(--reg-font-size);margin-right:31px;vertical-align:middle}.controls button span{vertical-align:middle}.controls button:last-of-type{margin-right:0}.data-table{margin-top:11px;overflow:hidden;box-shadow:0 -1px 3px 1px var(--grid-color);-moz-box-shadow:0 -1px 3px 1px var(--grid-color);-webkit-box-shadow:0 -1px 3px 1px var(--grid-color)}.sel-rows-checked{color:#00a8f399!important}.save-hilite{padding:2px 4px;border-radius:3px;background:#ebebeb;box-shadow:0 0 3px 1px var(--accent-color);-moz-box-shadow:0 0px 3px 1px var(--accent-color);-webkit-box-shadow:0 0px 3px 1px var(--accent-color)}.btn-ctrl-sel-rows,.btn-export-or-print{border:none;padding:3px 4px;border-radius:3px;background:#f5f5f5;vertical-align:middle;box-shadow:0 0 2px 1px var(--accent-color);-moz-box-shadow:0 0 2px 1px var(--accent-color);-webkit-box-shadow:0 0 2px 1px var(--accent-color)}.deebo-dd-contain-div:last-of-type{margin-right:0!important}.btn-export{width:100%;text-transform:uppercase}.btn-export:hover{text-decoration:underline}.btn-ctrl-sel-rows:hover,.btn-export-or-print:hover{background:#ebebeb;box-shadow:0 0 6px 2px gray;-moz-box-shadow:0 0 6px 2px gray;-webkit-box-shadow:0 0 6px 2px gray}.btn-center-selected{padding:2px 4px;border-radius:5px;background:#f5f5f5;box-shadow:0 0 6px 2px gray;-moz-box-shadow:0 0 6px 2px gray;-webkit-box-shadow:0 0 6px 2px gray}.btn-ctrl-sel-rows .material-icons{font-size:18px;font-weight:600;vertical-align:middle}.btn-ctrl-sel-rows .material-icons:not(.error-message){color:var(--accent-color)}.data-table-headers{cursor:pointer;white-space:nowrap;border-bottom:1px solid var(--grid-color)}.data-table-row{white-space:nowrap}.data-table-row:hover,.data-table-row .col-item-freeze:hover{background:#f3f3f3}.data-row-selected{background:#d6d6d6!important}.table-working{opacity:.1;pointer-events:none}.select-row-check{left:9px;z-index:10;cursor:pointer;margin:0;position:absolute;padding:0!important}.gb-row-num{left:2px;z-index:10;cursor:pointer;margin:0;font-size:x-small;position:absolute;padding:0!important}.mock-html{width:50%;height:18px;margin:0 auto;border-radius:11px;background:var(--grid-color)}.abs-right{top:7px;right:7px;position:absolute}.has-symbol:after{content:attr(data-symbol);padding-left:3px}.has-symbol-b:before{content:attr(data-symbol);padding-right:3px}.data-table-row-no-data{font-size:xx-large;color:gray;font-weight:500;text-shadow:-1px -1px var(--accent-color)}.data-row-selected .col-item-freeze,.data-row-selected .data-cell,.data-row-selected:hover,.data-row-selected .col-item-freeze:hover,.data-row-selected .data-cell:hover{background:#d6d6d6!important}.data-table-headers .col-item-freeze:first-of-type{border-bottom:1px solid var(--grid-color)}.col-header{z-index:2;width:125px;overflow:auto;cursor:grab;padding:7px 3px;text-align:center;position:relative;box-sizing:border-box;display:inline-block;vertical-align:top;white-space:pre-wrap;word-wrap:break-word;background:#fafafa;border-right:1px solid var(--grid-color)}.col-header button,.col-header span,.col-header select{cursor:pointer;vertical-align:middle}.col-header input{vertical-align:middle}.col-header-img-container{overflow-y:hidden;text-align:center;display:inline-block;vertical-align:middle;background-size:cover;background-position:center;background-repeat:no-repeat}.col-header-minimized{width:0!important;height:0!important;padding:0!important;overflow:hidden!important;border-bottom:none!important;border-right:none!important;transition:width .3s ease}.btn-maximize-col{border:none;border-radius:5px;background:#f5f5f5;box-shadow:0 0 3px 2px gray;font-size:var(--reg-font-size);margin-right:27px;padding:4px}.no-btn{border:none;background:none}.col-item-freeze{left:0;z-index:3;position:sticky;background:#fff;box-shadow:2px 0 3px 0 var(--grid-color);-moz-box-shadow:2px 0px 3px 0px var(--grid-color);-webkit-box-shadow:2px 0px 3px 0px var(--grid-color)}.col-header input,.select-filter{width:40%;margin:11px 0 1px}.sel-fil-container{z-index:5}.edit-input-option-cont{left:0;right:0}.edit-input-opt button{width:100%;font-size:15px;padding:11px 0 11px 17px;text-align:left!important}.selfil-opt-contain,.edit-input-option-cont{overflow:auto;max-height:240px;border-radius:5px;position:absolute;background:#fff;box-shadow:0 1px 3px 1px var(--grid-color);-moz-box-shadow:0 1px 3px 1px var(--grid-color);-webkit-box-shadow:0 1px 3px 1px var(--grid-color)}.selfil-div,.edit-input-opt{cursor:pointer;text-align:left;border-bottom:1px solid var(--grid-color)}.selfil-div:hover,.edit-input-opt:hover{background:#ebebeb}.selfil-div:last-of-type,.edit-input-opt:last-of-type{border-bottom:none}.selfil-div label{width:calc(100% - 22px);font-size:15px;cursor:pointer;padding:11px;display:inline-block}.selfil-div label input[type=checkbox]{margin-right:11px;vertical-align:middle}.select-filter-comparator{width:36px;z-index:3;opacity:0;position:relative;margin:11px 0 1px 15px}.btn-fil-comp{top:2px;left:-36px;border:none;position:absolute;background:#fafafa}.btn-fil-comp i{color:var(--accent-color)}@media screen and (min-width:960px){.col-header input,.select-filter,.select-filter-comparator{margin-top:7px;margin-bottom:1px}}.data-cell{width:125px;padding:11px 6px 11px 17px;overflow:auto;font-size:15px;word-wrap:break-word;white-space:pre-line;vertical-align:top;box-sizing:border-box;display:inline-flex;align-items:center;border-right:1px solid var(--grid-color);border-bottom:1px solid var(--grid-color)}input.edit-input{border-radius:0}.data-cell:focus,input.edit-input:focus{outline:1px solid #00a8f3}.dragger-cell-focused{background:#00a8f333;border-left:1px solid #00a8f3;border-right:1px solid #00a8f3!important}.focused-cell-dragger{width:9px;height:9px;cursor:crosshair;position:absolute;background:#00a8f3;box-shadow:0 0 1px 1px var(--accent-color);-moz-box-shadow:0 0 1px 1px var(--accent-color);-webkit-box-shadow:0 0 1px 1px var(--accent-color)}.holding-check{padding-left:44px}.data-cell-riiight{padding:11px 17px 11px 6px;justify-content:right}.data-cell-ceeenter{padding:11px 6px;justify-content:center!important}.cell-og-link{line-height:0;visibility:hidden}.cell-og-link:before{visibility:visible;content:attr(data-title)}.moveable-col{cursor:col-resize!important}.moveable-row{cursor:row-resize!important}.data-sort-arr{cursor:pointer;margin-left:11px;border:none;background:none;padding:0 0 0 2px;color:var(--accent-color)}.data-sort-arr .material-icons{font-size:20px}.data-col-info{left:10px;top:12px;padding:0;border:none;cursor:pointer;background:none;position:absolute;color:var(--accent-color)}.data-col-info .material-icons{font-size:16px}.sort-order-indicator{font-weight:600;vertical-align:middle;font-size:16px}.btn-min-col{cursor:pointer;top:0;right:2px;font-size:20px;border:none;background:none;position:absolute;padding:0 2px 5px 0;color:var(--accent-color)}.btn-min-col-hide{z-index:0;visibility:hidden;pointer-events:none}.btn-freeze-col{float:left;border:none;cursor:pointer;background:none}.btn-freeze-col .material-icons{font-size:16px;color:var(--accent-color)}.hidden-cols{max-width:100%;overflow-x:auto;clear:both;white-space:nowrap;padding:17px 15px 5px 4px}.hidden-cols button:first-of-type:before{content:\"Hidden Columns\";font-size:12px;font-weight:600;padding-right:11px;vertical-align:middle}.col-header span{word-wrap:break-word;vertical-align:middle;font-size:var(--reg-font-size)}.o-ins-div span,.o-ins-div i{vertical-align:middle;font-size:16px}.aux-chip{text-align:center;padding-bottom:33px;word-wrap:break-word;white-space:pre-wrap}.insights{padding:17px 15px}.insight-field{min-height:100px;padding:21px 0;font-size:large;white-space:pre-wrap;word-wrap:break-word;border-bottom:1px solid lightgray}@media screen and (max-width:760px){.insight-field:first-of-type{padding-top:7px}}@media screen and (min-width:760px){.insight-field-row{border-bottom:1px solid lightgray}.insight-field,.aux-chip{width:50%;vertical-align:top;display:inline-block;border-bottom:none}}@media screen and (min-width:1024px){.insight-field,.aux-chip{width:33%}}.chart-label-cont{padding-top:10px;text-align:center}.pie-piece-label{padding-top:5px;margin-right:27px;display:inline-block}.pie-piece-label-sq{width:11px;height:11px;margin:0 0 0 2px;display:inline-block;vertical-align:middle}.pie-piece-label span{font-size:small}.pie-piece-label span:before{font-size:smaller;padding-right:4px;font-weight:600;content:attr(data-percent)}.pie-layover{border-radius:50%;background:#fff;position:absolute;padding:5px!important;display:flex;font-size:17px;align-items:center;overflow:hidden;box-sizing:border-box;justify-content:center;color:var(--accent-color)}.pie-layover div{font-weight:500;padding:0!important}.ins-even-dist-ct{font-size:24px;font-weight:500}.line-graph-container{padding:11px 0 33px 7px!important;box-sizing:border-box;margin-left:11px}.lg-title-cont{padding:0!important;text-align:center;margin:17px 11px}.lg-n-marker-cont{width:60px;position:relative;padding:0!important;box-sizing:border-box;display:inline-block;vertical-align:top}.lg-n-marker-cont:before{top:45%;left:-37px;display:block;position:absolute;white-space:nowrap;color:var(--grid-color);content:attr(data-column);transform:rotate(-90deg)}.lg-n-marker,.lg-n-marker-h{padding:0 11px 0 0!important;font-size:small;position:relative;text-align:right;white-space:nowrap;box-sizing:border-box}.line-graph{width:calc(92% - 60px);position:relative;box-sizing:border-box;display:inline-block;vertical-align:top;padding:0!important;border-left:1px solid var(--accent-color);border-bottom:1px solid var(--accent-color)}.lg-lbl-x{left:0;right:0;bottom:-45px;font-size:small;font-weight:500;text-align:center;position:absolute;padding:0!important}.btn-line-graph-opts{margin:0;padding:4px;background:none;border-top:1px solid var(--accent-color);border-left:1px solid var(--accent-color);border-bottom:1px solid var(--accent-color)}.sp-line-graph-title{margin-top:7px;font-size:large;text-decoration:underline}.lg-dt-marker,.lg-dt-marker-h,.vd-n-marker,.vd-n-marker-h{bottom:-22px;font-size:small;position:absolute;text-align:center;padding:0!important;display:inline-block;box-sizing:border-box}.lg-dt-marker-h,.vd-n-marker-h{visibility:hidden}.lg-dt-marker.visible-marker{margin-left:21px}.lg-n-marker-h{height:0;visibility:hidden}.visible-marker{z-index:2;font-weight:600;background:#fff;height:unset!important;padding:1px 2px!important;visibility:visible!important;box-shadow:0 0 2px 1px #afafaf;-moz-box-shadow:0 0 2px 1px #afafaf;-webkit-box-shadow:0 0 2px 1px #afafaf}.visible-marker:before{font-weight:600}.lg-dt-marker:before{top:-15px;left:0;content:\"|\";position:absolute}.vd-n-marker:before{top:-15px;left:50%;content:\"|\";left:calc(50% - 2px);position:absolute}.lg-n-marker:before{top:-4px;right:-3px;content:\"-\";font-weight:600;font-size:large;position:absolute;background:#fff}.btn-line-graph-opts:hover{background:#d6d6d6;transition:background .3s ease}.btn-line-graph-opts:last-of-type{border-right:1px solid var(--accent-color)}.btn-lg-sel{color:#fff!important;background:var(--accent-color);box-shadow:0 0 2px 1px #afafaf;-moz-box-shadow:0 0 2px 1px #afafaf;-webkit-box-shadow:0 0 2px 1px #afafaf}.btn-lg-sel:hover{background:var(--accent-color)}.lg-plot{height:8px;width:8px;opacity:.3;cursor:pointer;border-radius:50%;position:absolute;padding:0!important;background:var(--accent-color)}.lg-plot:hover{z-index:100;opacity:1!important}.lg-plot:hover:after{padding:3px;display:inline-block;font-size:small;border-radius:5px;margin:0 0 0 25px;font-weight:700;content:attr(data-number);background:#fff!important;box-shadow:0 0 2px 1px #afafaf;-moz-box-shadow:0 0 2px 1px #afafaf;-webkit-box-shadow:0 0 2px 1px #afafaf}.lg-plot-opq{opacity:0;background:#fff}.lg-plot-opq:hover{opacity:1!important;background:var(--grid-color);transition:opacity .2s ease}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:\"liga\";-webkit-font-feature-settings:\"liga\";-webkit-font-smoothing:antialiased}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: DataCellComponent, selector: "app-data-cell", inputs: ["text", "html", "minimized", "rawText", "cell", "rowId", "colWid", "rowHeight", "noColResize", "columnValClass"], outputs: ["width", "height", "edit", "dragListen", "validateEditFocus", "clearVEditFocus"] }, { kind: "pipe", type: i4.DecimalPipe, name: "number" }] });
2991
2983
  }
2992
2984
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: RowGroupPanel, decorators: [{
2993
2985
  type: Component,
@@ -6013,8 +6005,8 @@ class NgxDeebodata {
6013
6005
  if (dtb) {
6014
6006
  const lfs = this.dataTableService.listenForScroll();
6015
6007
  this.execVertScrollUp(this.columnNames, this.columnNames.length, dtb.scrollTop, true);
6016
- this.execHorizScroll(dtb.scrollLeft);
6017
6008
  this.handleScrollEnd();
6009
+ this.execHorizScroll(dtb.scrollLeft);
6018
6010
  if (lfs && this.rows.some(r => r.height !== this.dataTableService.defltRHgt))
6019
6011
  this.setAllRowsDefHgt();
6020
6012
  if (!lfs)
@@ -6246,7 +6238,7 @@ class NgxDeebodata {
6246
6238
  if (ahToAdd)
6247
6239
  this.aboveHgt.set((this.aboveHgt() + ahToAdd));
6248
6240
  if (bhToSub)
6249
- this.belowHgt.set((this.belowHgt() - bhToSub));
6241
+ this.belowHgt.set(Math.max(0, (this.belowHgt() - bhToSub)));
6250
6242
  }
6251
6243
  else {
6252
6244
  let v = 0;
@@ -6283,7 +6275,7 @@ class NgxDeebodata {
6283
6275
  if (chks.length)
6284
6276
  this.dtChecks = [...this.dtChecks, ...chks];
6285
6277
  if (ahToSub)
6286
- this.aboveHgt.set((this.aboveHgt() - ahToSub));
6278
+ this.aboveHgt.set(Math.max(0, (this.aboveHgt() - ahToSub)));
6287
6279
  if (bhToAdd)
6288
6280
  this.belowHgt.set((this.belowHgt() + bhToAdd));
6289
6281
  }
@@ -6301,7 +6293,7 @@ class NgxDeebodata {
6301
6293
  let rows = [];
6302
6294
  let canAdd = 0;
6303
6295
  const maxRows = this.rows.length;
6304
- const doRows = (!this.isScrolling && (gap == 0 || !this.dataTableService.mouseIsDown)) || currTop % this.doRowsMod === 0;
6296
+ const doRows = (!this.isScrolling && (gap == 0 || !this.dataTableService.mouseIsDown)) || currTop % this.doRowsMod === 0 || this.belowHgt() === 0;
6305
6297
  const bel = this.belowArea.nativeElement;
6306
6298
  const bbds = bel.getBoundingClientRect();
6307
6299
  const btop = bbds.top;
@@ -6330,7 +6322,7 @@ class NgxDeebodata {
6330
6322
  h += 1;
6331
6323
  }
6332
6324
  if (bhToSub)
6333
- this.belowHgt.set((this.belowHgt() - bhToSub));
6325
+ this.belowHgt.set(Math.max(0, (this.belowHgt() - bhToSub)));
6334
6326
  if (ahToAdd)
6335
6327
  this.aboveHgt.set((this.aboveHgt() + ahToAdd));
6336
6328
  const repl = [...rows].length; //only new rows
@@ -6366,7 +6358,7 @@ class NgxDeebodata {
6366
6358
  let z = (this.lastElRowIndex - maxRows);
6367
6359
  let bhToAdd = 0;
6368
6360
  let ahToSub = 0;
6369
- const doRows = force || (!this.isScrolling && (gap == 0 || !this.dataTableService.mouseIsDown)) || currTop % this.doRowsMod === 0;
6361
+ const doRows = force || (!this.isScrolling && (gap == 0 || !this.dataTableService.mouseIsDown)) || currTop % this.doRowsMod === 0 || this.aboveHgt() === 0;
6370
6362
  const rowsInGap = Math.ceil(gap / defNum);
6371
6363
  const min = Math.max(0, (z - rowsInGap));
6372
6364
  for (z; z >= min; z--) {
@@ -6387,7 +6379,7 @@ class NgxDeebodata {
6387
6379
  h += 1;
6388
6380
  }
6389
6381
  if (ahToSub)
6390
- this.aboveHgt.set((this.aboveHgt() - ahToSub));
6382
+ this.aboveHgt.set(Math.max(0, (this.aboveHgt() - ahToSub)));
6391
6383
  if (bhToAdd)
6392
6384
  this.belowHgt.set((this.belowHgt() + bhToAdd));
6393
6385
  const repl = [...rows].length; //only new rows
@@ -7275,7 +7267,7 @@ class NgxDeebodata {
7275
7267
  this.validationSub.unsubscribe();
7276
7268
  }
7277
7269
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: NgxDeebodata, deps: [{ token: DataTableService }, { token: TableDragService }, { token: CommonService }], target: i0.ɵɵFactoryTarget.Component });
7278
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: NgxDeebodata, isStandalone: true, selector: "ngx-deebodata", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, licenseKey: { classPropertyName: "licenseKey", publicName: "licenseKey", isSignal: false, isRequired: false, transformFunction: null }, color1: { classPropertyName: "color1", publicName: "color1", isSignal: false, isRequired: false, transformFunction: null }, color2: { classPropertyName: "color2", publicName: "color2", isSignal: false, isRequired: false, transformFunction: null }, primaryKey: { classPropertyName: "primaryKey", publicName: "primaryKey", isSignal: false, isRequired: false, transformFunction: null }, defRowHgt: { classPropertyName: "defRowHgt", publicName: "defRowHgt", isSignal: false, isRequired: false, transformFunction: null }, defGridHgt: { classPropertyName: "defGridHgt", publicName: "defGridHgt", isSignal: false, isRequired: false, transformFunction: null }, altRowColor: { classPropertyName: "altRowColor", publicName: "altRowColor", isSignal: false, isRequired: false, transformFunction: null }, myColumnSymbols: { classPropertyName: "myColumnSymbols", publicName: "myColumnSymbols", isSignal: false, isRequired: false, transformFunction: null }, myColumnStyles: { classPropertyName: "myColumnStyles", publicName: "myColumnStyles", isSignal: false, isRequired: false, transformFunction: null }, myColumnValueColors: { classPropertyName: "myColumnValueColors", publicName: "myColumnValueColors", isSignal: false, isRequired: false, transformFunction: null }, pieGraphColors: { classPropertyName: "pieGraphColors", publicName: "pieGraphColors", isSignal: false, isRequired: false, transformFunction: null }, removePieCovers: { classPropertyName: "removePieCovers", publicName: "removePieCovers", isSignal: false, isRequired: false, transformFunction: null }, editable: { classPropertyName: "editable", publicName: "editable", isSignal: false, isRequired: false, transformFunction: null }, rowNumbers: { classPropertyName: "rowNumbers", publicName: "rowNumbers", isSignal: false, isRequired: false, transformFunction: null }, forceGrouping: { classPropertyName: "forceGrouping", publicName: "forceGrouping", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { cellEdit: "cellEdit" }, host: { listeners: { "window:click": "onWindowClick($event)", "window:mouseup": "onWindowMouseUp($event)", "window:mousedown": "onWindowMouseDown($event)", "window:mousemove": "onWindowMouseMove($event)", "window:selectstart": "onWindowSelectStart($event)", "window:resize": "onWindowResize($event)", "window:scroll": "onWindowScroll($event)", "window:keydown.shift": "onWindowShiftKeydown($event)", "window:keyup.shift": "onWindowShiftKeyup($event)" } }, viewQueries: [{ propertyName: "dataTable", first: true, predicate: ["dataTable"], descendants: true, static: true }, { propertyName: "dataTableBody", first: true, predicate: ["dataTableBody"], descendants: true, static: true }, { propertyName: "aboveArea", first: true, predicate: ["aboveArea"], descendants: true, static: true }, { propertyName: "belowArea", first: true, predicate: ["belowArea"], descendants: true, static: true }, { propertyName: "validatedEdit", first: true, predicate: ["validatedEdit"], descendants: true, static: true }, { propertyName: "rowNumHeader", first: true, predicate: ["rowNumHeader"], descendants: true, static: true }, { propertyName: "fCellDragger", first: true, predicate: ["fCellDragger"], descendants: true, static: true }, { propertyName: "selFilContainer", first: true, predicate: ["selFilContainer"], descendants: true, static: true }, { propertyName: "btnTogSelRows", first: true, predicate: ["btnTogSelRows"], descendants: true, static: true }, { propertyName: "dataTableHeaders", first: true, predicate: ["dataTableHeaders"], descendants: true, static: true }, { propertyName: "topLevelDataFilter", first: true, predicate: ["topLevelDataFilter"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"deebo-data-grid-section\">\r\n <div class=\"hidden-cols\">\r\n @for (hcol of hiddenCols; track hcol) {\r\n <button type=\"button\" class=\"btn-maximize-col\" (click)=\"maximizeColCells(hcol)\">{{hcol}}</button>\r\n }\r\n </div>\r\n <div class=\"controls\" >\r\n <input type=\"text\" #topLevelDataFilter autocomplete=\"off\" name=\"topLevelDataFilter\" placeholder=\"Filter any column...\" \r\n (input)=\"topFilterOnKeyUp($event)\" (keyup)=\"topFilterOnKeyUp($event)\" maxlength=\"255\" [(ngModel)]=\"topLevelFilter\" \r\n [disabled]=\"dataTableService.showCharts() || !dataTableService.mainData.length || handlingSelRows\" autocomplete=\"off\" />\r\n @if(currGroupValues().length){\r\n <button type=\"button\" class=\"no-btn btn-clear-grp\" (click)=\"processGrouping(null)\">\r\n <i class=\"material-icons error-message heavy v-mid\" aria-hidden=\"false\">close</i>&nbsp;<span class=\"md-text v-mid\">Grouping</span>\r\n </button>\r\n }\r\n <button type=\"button\" class=\"no-btn btn-chart\" (click)=\"openCharts()\" [disabled]=\"dataTableService.showCharts() || !dataTableService.currFilData.length || handlingSelRows || !common.goodLs()\">\r\n <i class=\"material-icons v-mid\" aria-hidden=\"false\">bar_chart</i>&nbsp;<span class=\"v-mid\">Insights</span>\r\n </button>\r\n <button type=\"button\" [disabled]=\"!dataTableService.currSelRows.length || handlingSelRows\" (click)=\"clearSelectedRows()\" class=\"btn-ctrl-sel-rows\">Deselect Rows</button>\r\n <button #btnTogSelRows type=\"button\" [disabled]=\"!dataTableService.currSelRows.length || handlingSelRows\" (click)=\"toggleSelectedRows()\" class=\"btn-ctrl-sel-rows\">\r\n <i class=\"material-icons\" aria-hidden=\"false\">check_box_outline_blank</i>&nbsp;<span>{{togSelRows}}</span>\r\n </button>\r\n <button [disabled]=\"!topLevelFilter && dataTableService.arefilSrtTrkPropsDefault()\" \r\n class=\"btn-reset\" (click)=\"resetCurrentData()\" >Reset</button>\r\n </div>\r\n @if (!isScrolling){\r\n <div class=\"relly\" [ngClass]=\"{'dt-checks': rowNumbers, 'hide' : isMultiFiltering() || dataTableService.isFiltering() || \r\n dataTableService.isSorting() || currGroupValues().length || currSelEditOpts.length }\">\r\n @for (chk of dtChecks; track $index) {\r\n <input [id]=\"'checkDataTableRow' + chk\" class=\"select-row-check invisible\" \r\n [checked]=\"dataTableService.currSelRows.indexOf(chk) > -1\" type=\"checkbox\" [name]=\"'checkDataTableRow' + chk\"\r\n (click)=\"toggleSingleRowSelected(chk)\" (keyup.enter)=\"toggleSingleRowSelected(chk)\" [value]=\"'dataTableRow' + chk\" >\r\n }\r\n </div>\r\n }\r\n <div #selFilContainer class=\"relly sel-fil-container\">\r\n <div class=\"selfil-opt-contain\" [ngStyle]=\"ddFilStyle\">\r\n @for (opt of currFilOpts; track opt; let i = $index) {\r\n <div class=\"selfil-div\">\r\n <label [for]=\"'selfilOpt' + currDDFilter + i\" class=\"'selfil-lbl-' + currDDFilter\"><input [id]=\"'selfilOpt' + currDDFilter + i\" \r\n [class]=\"'selfil-opt-' + currDDFilter\" (input)=\"handleMultiSelFilter(currDDFilter, opt.value, $event.target.checked)\" \r\n (click)=\"handleMultiSelFilter(currDDFilter, opt.value, $event.target.checked)\" [name]=\"'selfilOpt' + currDDFilter + i\" \r\n [checked]=\"opt.checked\" [value]=\"opt.value\" [disabled]=\"isMultiFiltering()\" type=\"checkbox\" />{{opt.value || \"(Blank)\"}}</label>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n <div #validatedEdit class=\"relly special-edit-container invisible\">\r\n @if (validatedEditType === 'date'){\r\n <input id=\"selEditDate\" name=\"selEditDate\" type=\"date\" class=\"edit-input\" \r\n (change)=\"execCellEdit($event, true)\" (input)=\"execCellEdit($event, true)\" (blur)=\"execCellEdit($event)\" />\r\n }\r\n @if (validatedEditType === 'number'){\r\n <input id=\"selEditNum\" name=\"selEditNum\" type=\"number\" class=\"edit-input\" \r\n (keyup)=\"execCellEdit($event, true)\" (input)=\"execCellEdit($event, true)\" (blur)=\"execCellEdit($event)\" (keyup.enter)=\"execCellEdit($event)\" />\r\n }\r\n @if (validatedEditType === 'text'){\r\n <div class=\"relly edit-input\">\r\n <div class=\"edit-input-option-cont\">\r\n <div class=\"edit-input-opt\"><button type=\"button\" class=\"no-btn\" (click)=\"execCellEdit($event, false, null)\">-</button></div>\r\n @for (opt of currSelEditOpts; track opt.value) {\r\n <div class=\"edit-input-opt\"><button type=\"button\" class=\"no-btn\" \r\n (click)=\"execCellEdit($event, false, opt.value)\">{{opt.value || \"(Blank)\"}}</button>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n <div class=\"relly\" style=\"z-index: 6;\">\r\n <div #fCellDragger tabindex=\"0\" id=\"fCellDragger\" (focus)=\"focusCellDragger()\" (blur)=\"execValClear(true)\"\r\n (mousedown)=\"focusCellDraggerFromMouseDown()\" (keydown)=\"handleFDragTab($event)\" (keydown)=\"handleDraggerKD($event)\"\r\n [ngClass]=\"{'hide': dataTableService.currEditIndex < 0, 'focused-cell-dragger': dataTableService.currEditIndex > -1 }\"></div>\r\n </div>\r\n @if(dataTableService.showCharts() && common.goodLs()){\r\n <app-charts-and-graphs \r\n [height]=\"chartHgt\"\r\n [state]=\"chartState\"\r\n [chartColumns]=\"columnsForCharts\"\r\n (close)=\"closeCharts($event)\"\r\n ></app-charts-and-graphs>\r\n }\r\n <div [ngClass]=\"{'row-numbers': rowNumbers && !dataTableService.showCharts() && !currGroupValues().length, 'hide': !rowNumbers || dataTableService.showCharts() || currGroupValues().length}\" >\r\n <div #rowNumHeader class=\"row-num-header flex-center\"><div class=\"semi-heavy\">No.</div></div>\r\n <div style=\"overflow: hidden;\" [style.height]=\"dataTableService.dTblHeight() + 'px'\">\r\n <div [ngStyle]=\"{'overflow': 'auto', 'marginTop': rnBTop() + 'px' }\">\r\n @for (num of rowNos; track num.number) {\r\n <div [id]=\"'rn' + num.number\" class=\"flex-center num-row\" [style.height]=\"num.height || dataTableService.defltRHgt\">\r\n <div class=\"small-text\">{{num.number | number}}</div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div><div #dataTable class=\"data-table\" [class.inline-table]=\"rowNumbers && !dataTableService.showCharts() && !currGroupValues().length\">\r\n <div #dataTableHeaders class=\"data-table-headers\">\r\n @for (col of columnHeaders; track col.column; let i = $index) {\r\n <app-data-table-header\r\n [columnHeader]=\"col\"\r\n [colWid]=\"dataTableService.useColWid\"\r\n [hideMinCol]=\"col.hideMinCol\"\r\n [canFreeze]=\"i === 0 ? true : false\"\r\n (reset)=\"resetCurrentData($event)\"\r\n (freeze)=\"freezeColCells($event)\"\r\n (minimize)=\"minimizeColEls($event)\"\r\n (filFocus)=\"handleFilFocus($event)\"\r\n (scrollOnFocus)=\"checkTabHorizScroll($event)\"\r\n (emitCompFocus)=\"killSelFilOpts(true)\"\r\n (filSelClick)=\"handleWinClickOnSelFil()\"\r\n (height)=\"setHeaderHeight($event, true)\"\r\n (render)=\"renderCurrData(false, $event.field)\"\r\n (width)=\"handleSingleColResize($event.value, $event.column)\"\r\n ></app-data-table-header>\r\n }\r\n </div>\r\n <div #dataTableBody id=\"dataTableBody\" style=\"overflow: auto;\" [style.height]=\"dataTableService.dTblHeight() + 'px'\" (scroll)=\"handleScroll($event)\"\r\n [class.table-working]=\"isMultiFiltering() || dataTableService.isFiltering() || dataTableService.isSorting()\" (scrollend)=\"handleScrollEnd()\">\r\n <div #aboveArea [ngStyle]=\"{'height': aboveHgt() + 'px', 'width': useRowWid}\"></div>\r\n <div [style.transform]=\"'translateY('+transY()+'px)'\">\r\n @for(row of rows; track $index){\r\n <div [id]=\"row.id\" class=\"data-table-row\" [attr.data-index]=\"row.index\"\r\n [class.data-row-selected]=\"!dataTableService.displayOnlySelRows && dataTableService.currSelRows.indexOf(row.index) > -1\"\r\n [ngStyle]=\"{'width': row.width, 'height': row.height}\" >\r\n @for(cell of row.cells; track cell.column){\r\n <app-data-cell [cell]=\"cell\" \r\n [rowId]=\"row.id\" \r\n [text]=\"cell.text || ''\"\r\n [html]=\"cell.html || ''\"\r\n [rawText]=\"cell.rawText\"\r\n [minimized]=\"cell.minimized\"\r\n [rowHeight]=\"row.height || ''\"\r\n (edit)=\"execCellEdit($event)\"\r\n (mousedown)=\"checkCellEditOnClick()\"\r\n [columnValClass]=\"cell.specialColClass\"\r\n (dragListen)=\"listenToCellDraggerMouseMove = $event\"\r\n [colWid]=\"cell.width || dataTableService.useColWid\"\r\n (width)=\"handleSingleColResize($event)\"\r\n (height)=\"setSingleRowHgt($event, row.id, true)\"\r\n (clearVEditFocus)=\"validatedEditType = $event\"\r\n (validateEditFocus)=\"handleValidatedCellEditFocus($event)\"\r\n ></app-data-cell>\r\n }\r\n </div>\r\n }\r\n </div>\r\n <div #belowArea [ngStyle]=\"{'height': belowHgt() + 'px', 'width': useRowWid}\"></div>\r\n @for(group of currGroupValues(); track group){\r\n <app-row-group-panel\r\n [groupValue]=\"group.value\"\r\n [maxCols]=\"maxCols\"\r\n [useRowWid]=\"useRowWid\"\r\n [editable]=\"editable\"\r\n [horizRest]=\"horizRest()\"\r\n [columns]=\"columnNames\"\r\n [showRowNumbers]=\"rowNumbers\"\r\n [colOfInt]=\"columnOfInterest()\"\r\n (horizPos)=\"setHorizPos($event)\"\r\n (cellEdit)=\"execCellEdit($event)\"\r\n (openEvt)=\"scrollToRowGroup($event)\"\r\n ></app-row-group-panel>\r\n }\r\n @if(!dataTableService.currFilData.length && !currGroupValues().length){\r\n <div [style.height]=\"dataTableService.dTblHeight() + 'px'\" class=\"data-table-row flex-center data-table-row-no-data\" style=\"width: 100%; white-space: normal;\">\r\n <div class=\"center\">{{dataTableService.noDataMsg}}</div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n @if(paginatorReady){\r\n <app-data-table-paginator\r\n [filSortStr]=\"allFilSortInfo()\"\r\n (jumpTo)=\"jumpToRow($event)\"\r\n [totalRows]=\"dataTableService.currFilData.length\"\r\n [disableJump]=\"dataTableService.showCharts() || currGroupValues().length > 0 || !dataTableService.currFilData.length || handlingSelRows\"\r\n ></app-data-table-paginator><!--not an actual paginator-->\r\n }\r\n <div class=\"pad-top-thirty right\">\r\n <div class=\"inline-b deebo-dd-contain-div\">\r\n @if(canGroupBy().length > 0){\r\n <app-row-group-menu\r\n [groups]=\"canGroupBy()\"\r\n [disableGB]=\"dataTableService.showCharts()\"\r\n [enableClear]=\"currGroupValues().length ? true : false\"\r\n ></app-row-group-menu>\r\n }\r\n </div><div class=\"inline-b deebo-dd-contain-div\">\r\n @if(dataTableService.currFilData.length > 0){\r\n <app-export-component\r\n [columns]=\"columnHeaders\"\r\n [disableExport]=\"dataTableService.showCharts()\"\r\n [count]=\"dataTableService.currFilData.length\">\r\n </app-export-component>\r\n }\r\n </div>\r\n </div>\r\n</div>", styles: [":host{--accent-color:rgb(50, 50, 50);--grid-color:rgb(199, 199, 199);--pad-left-base: 33px;--row-num-width: 75px;--reg-font-size: 17px }input[name=topLevelDataFilter]{float:left;padding:7px 5px;vertical-align:middle;box-shadow:0 0 1px 1px var(--grid-color);-moz-box-shadow:0 0 1px 1px var(--grid-color);-webkit-box-shadow:0 0 1px 1px var(--grid-color)}.deebo-dd-contain-div{margin:0 31px}.btn-chart,.btn-clear-grp{border-radius:3px}.btn-chart i{font-size:28px;vertical-align:middle;color:var(--accent-color)}.btn-chart:hover,.btn-clear-grp:hover{background:#e9e9e9;transition:background .5s ease}.dt-checks{margin-left:var(--row-num-width)}.row-numbers{margin-top:11px;display:inline-block;width:var(--row-num-width)}.row-num-header{background:#e9e9e9;box-sizing:border-box;border-bottom:1px solid var(--accent-color);border-right:1px solid var(--accent-color);box-shadow:0 -1px 3px 1px var(--grid-color);-moz-box-shadow:0 -1px 3px 1px var(--grid-color);-webkit-box-shadow:0 -1px 3px 1px var(--grid-color)}.num-row{white-space:nowrap;box-sizing:border-box;border-left:1px solid var(--grid-color);border-bottom:1px solid var(--grid-color)}.inline-table{display:inline-block;width:calc(100% - var(--row-num-width))}.special-edit-container{z-index:5;width:0!important;height:0!important}.edit-input{border:none;font-size:15px;box-shadow:none;position:absolute;background:#fff;-moz-box-shadow:none;-webkit-box-shadow:none;box-sizing:border-box}.edit-input[type=number]{text-align:right}.edit-input[type=date]{padding-left:17px}\n", "@charset \"UTF-8\";@font-face{font-family:Roboto Condensed;src:url(https://d2ffvluimla00s.cloudfront.net/RobotoCondensed-VariableFont_wght.ttf) format(\"ttf\")}@font-face{font-family:Material Icons;font-style:normal;font-weight:400;src:url(https://d2ffvluimla00s.cloudfront.net/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2) format(\"woff2\")}.deebo-data-grid-section{font-family:Roboto Condensed,Arial,Helvetica,sans-serif}:host{--accent-color:rgb(50, 50, 50);--grid-color:rgb(199, 199, 199);--pad-left-base: 33px;--row-num-width: 75px;--reg-font-size: 17px }.relly{position:relative}.hide{display:none!important;max-height:0;max-width:0;top:0;left:0;opacity:0}.ovy{overflow:auto}.no-ovy-y{overflow-y:hidden!important}.pad-top-sm{padding-top:4px!important}.pad-top-ten{padding-top:10px!important}.pad-top-teen{padding-top:17px}.pad-top-thirty,.pad-top-trey{padding-top:33px}.pad-top-much{padding-top:75px}.o-visible{overflow:visible}.dontwrap{white-space:nowrap}.inline-b{display:inline-block}.inline{display:inline}.half-wid{width:50%;vertical-align:top;display:inline-block}.qtr-wid{width:25%;vertical-align:top;display:inline-block}.third-wid{width:33.3%;vertical-align:top;display:inline-block}.two-third-wid{width:66.6%;vertical-align:top;display:inline-block}.three-qtr-wid{width:75%;vertical-align:top;display:inline-block}.v-top{vertical-align:top!important}.v-mid{vertical-align:middle!important}.v-bot{vertical-align:bottom!important}.lg-text{font-size:larger}.xlg-text{font-size:x-large!important}.md-text{font-size:var(--reg-font-size)!important}.small-text{font-size:small}.tiny-text{font-size:x-small}.invisible{visibility:hidden}.flex-center{display:flex;justify-content:center;align-items:center}.flex-item{flex:1 1 auto}.o-x-hidden{overflow-x:hidden!important}.no-weight{font-weight:400!important}.semi-heavy{font-weight:500!important}.heavy{font-weight:700!important}.marauto{margin:0 auto}.center{text-align:center}.left{text-align:left}.right{text-align:right}.btn-reset{border:none;color:#fff;padding:7px 11px;background:maroon}.error-message{color:maroon;font-weight:500}.success{color:green;font-weight:500}.neutral{color:var(--accent-color)}input,select{border:none;padding:4px;border-radius:3px;box-sizing:border-box;font-family:Roboto Condensed,Arial,Helvetica,sans-serif;box-shadow:0 0 1px 1px #afafaf;-moz-box-shadow:0 0 1px 1px #afafaf;-webkit-box-shadow:0 0 1px 1px #afafaf}input[type=radio],input[type=checkbox]{cursor:pointer;box-shadow:none!important;-moz-box-shadow:none!important;-webkit-box-shadow:none!important}button{cursor:pointer}button:focus,input:focus,select:focus,textarea:focus,a:focus{outline-width:0}button:disabled,input:disabled,select:disabled{opacity:.5;cursor:not-allowed}.prevent{opacity:.5;cursor:not-allowed;pointer-events:none}.controls{text-align:right;padding:16px 11px 6px 1px;max-width:100%;clear:both;overflow-x:auto;white-space:nowrap}.controls button{font-size:var(--reg-font-size);margin-right:31px;vertical-align:middle}.controls button span{vertical-align:middle}.controls button:last-of-type{margin-right:0}.data-table{margin-top:11px;overflow:hidden;box-shadow:0 -1px 3px 1px var(--grid-color);-moz-box-shadow:0 -1px 3px 1px var(--grid-color);-webkit-box-shadow:0 -1px 3px 1px var(--grid-color)}.sel-rows-checked{color:#00a8f399!important}.save-hilite{padding:2px 4px;border-radius:3px;background:#ebebeb;box-shadow:0 0 3px 1px var(--accent-color);-moz-box-shadow:0 0px 3px 1px var(--accent-color);-webkit-box-shadow:0 0px 3px 1px var(--accent-color)}.btn-ctrl-sel-rows,.btn-export-or-print{border:none;padding:3px 4px;border-radius:3px;background:#f5f5f5;vertical-align:middle;box-shadow:0 0 2px 1px var(--accent-color);-moz-box-shadow:0 0 2px 1px var(--accent-color);-webkit-box-shadow:0 0 2px 1px var(--accent-color)}.deebo-dd-contain-div:last-of-type{margin-right:0!important}.btn-export{width:100%;text-transform:uppercase}.btn-export:hover{text-decoration:underline}.btn-ctrl-sel-rows:hover,.btn-export-or-print:hover{background:#ebebeb;box-shadow:0 0 6px 2px gray;-moz-box-shadow:0 0 6px 2px gray;-webkit-box-shadow:0 0 6px 2px gray}.btn-center-selected{padding:2px 4px;border-radius:5px;background:#f5f5f5;box-shadow:0 0 6px 2px gray;-moz-box-shadow:0 0 6px 2px gray;-webkit-box-shadow:0 0 6px 2px gray}.btn-ctrl-sel-rows .material-icons{font-size:18px;font-weight:600;vertical-align:middle}.btn-ctrl-sel-rows .material-icons:not(.error-message){color:var(--accent-color)}.data-table-headers{cursor:pointer;white-space:nowrap;border-bottom:1px solid var(--grid-color)}.data-table-row{white-space:nowrap}.data-table-row:hover,.data-table-row .col-item-freeze:hover{background:#f3f3f3}.data-row-selected{background:#d6d6d6!important}.table-working{opacity:.1;pointer-events:none}.select-row-check{left:9px;z-index:10;cursor:pointer;margin:0;position:absolute;padding:0!important}.gb-row-num{left:2px;z-index:10;cursor:pointer;margin:0;font-size:x-small;position:absolute;padding:0!important}.mock-html{width:50%;height:18px;margin:0 auto;border-radius:11px;background:var(--grid-color)}.abs-right{top:7px;right:7px;position:absolute}.has-symbol:after{content:attr(data-symbol);padding-left:3px}.has-symbol-b:before{content:attr(data-symbol);padding-right:3px}.data-table-row-no-data{font-size:xx-large;color:gray;font-weight:500;text-shadow:-1px -1px var(--accent-color)}.data-row-selected .col-item-freeze,.data-row-selected .data-cell,.data-row-selected:hover,.data-row-selected .col-item-freeze:hover,.data-row-selected .data-cell:hover{background:#d6d6d6!important}.data-table-headers .col-item-freeze:first-of-type{border-bottom:1px solid var(--grid-color)}.col-header{z-index:2;width:125px;overflow:auto;cursor:grab;padding:7px 3px;text-align:center;position:relative;box-sizing:border-box;display:inline-block;vertical-align:top;white-space:pre-wrap;word-wrap:break-word;background:#fafafa;border-right:1px solid var(--grid-color)}.col-header button,.col-header span,.col-header select{cursor:pointer;vertical-align:middle}.col-header input{vertical-align:middle}.col-header-img-container{overflow-y:hidden;text-align:center;display:inline-block;vertical-align:middle;background-size:cover;background-position:center;background-repeat:no-repeat}.col-header-minimized{width:0!important;height:0!important;padding:0!important;overflow:hidden!important;border-bottom:none!important;border-right:none!important;transition:width .3s ease}.btn-maximize-col{border:none;border-radius:5px;background:#f5f5f5;box-shadow:0 0 3px 2px gray;font-size:var(--reg-font-size);margin-right:27px;padding:4px}.no-btn{border:none;background:none}.col-item-freeze{left:0;z-index:3;position:sticky;background:#fff;box-shadow:2px 0 3px 0 var(--grid-color);-moz-box-shadow:2px 0px 3px 0px var(--grid-color);-webkit-box-shadow:2px 0px 3px 0px var(--grid-color)}.col-header input,.select-filter{width:40%;margin:11px 0 1px}.sel-fil-container{z-index:5}.edit-input-option-cont{left:0;right:0}.edit-input-opt button{width:100%;font-size:15px;padding:11px 0 11px 17px;text-align:left!important}.selfil-opt-contain,.edit-input-option-cont{overflow:auto;max-height:240px;border-radius:5px;position:absolute;background:#fff;box-shadow:0 1px 3px 1px var(--grid-color);-moz-box-shadow:0 1px 3px 1px var(--grid-color);-webkit-box-shadow:0 1px 3px 1px var(--grid-color)}.selfil-div,.edit-input-opt{cursor:pointer;text-align:left;border-bottom:1px solid var(--grid-color)}.selfil-div:hover,.edit-input-opt:hover{background:#ebebeb}.selfil-div:last-of-type,.edit-input-opt:last-of-type{border-bottom:none}.selfil-div label{width:calc(100% - 22px);font-size:15px;cursor:pointer;padding:11px;display:inline-block}.selfil-div label input[type=checkbox]{margin-right:11px;vertical-align:middle}.select-filter-comparator{width:36px;z-index:3;opacity:0;position:relative;margin:11px 0 1px 15px}.btn-fil-comp{top:2px;left:-36px;border:none;position:absolute;background:#fafafa}.btn-fil-comp i{color:var(--accent-color)}@media screen and (min-width:960px){.col-header input,.select-filter,.select-filter-comparator{margin-top:7px;margin-bottom:1px}}.data-cell{width:125px;padding:11px 6px 11px 17px;overflow:auto;font-size:15px;word-wrap:break-word;white-space:pre-line;vertical-align:top;box-sizing:border-box;display:inline-flex;align-items:center;border-right:1px solid var(--grid-color);border-bottom:1px solid var(--grid-color)}input.edit-input{border-radius:0}.data-cell:focus,input.edit-input:focus{outline:1px solid #00a8f3}.dragger-cell-focused{background:#00a8f333;border-left:1px solid #00a8f3;border-right:1px solid #00a8f3!important}.focused-cell-dragger{width:9px;height:9px;cursor:crosshair;position:absolute;background:#00a8f3;box-shadow:0 0 1px 1px var(--accent-color);-moz-box-shadow:0 0 1px 1px var(--accent-color);-webkit-box-shadow:0 0 1px 1px var(--accent-color)}.holding-check{padding-left:44px}.data-cell-riiight{padding:11px 17px 11px 6px;justify-content:right}.data-cell-ceeenter{padding:11px 6px;justify-content:center!important}.cell-og-link{line-height:0;visibility:hidden}.cell-og-link:before{visibility:visible;content:attr(data-title)}.moveable-col{cursor:col-resize!important}.moveable-row{cursor:row-resize!important}.data-sort-arr{cursor:pointer;margin-left:11px;border:none;background:none;padding:0 0 0 2px;color:var(--accent-color)}.data-sort-arr .material-icons{font-size:20px}.data-col-info{left:10px;top:12px;padding:0;border:none;cursor:pointer;background:none;position:absolute;color:var(--accent-color)}.data-col-info .material-icons{font-size:16px}.sort-order-indicator{font-weight:600;vertical-align:middle;font-size:16px}.btn-min-col{cursor:pointer;top:0;right:2px;font-size:20px;border:none;background:none;position:absolute;padding:0 2px 5px 0;color:var(--accent-color)}.btn-min-col-hide{z-index:0;visibility:hidden;pointer-events:none}.btn-freeze-col{float:left;border:none;cursor:pointer;background:none}.btn-freeze-col .material-icons{font-size:16px;color:var(--accent-color)}.hidden-cols{max-width:100%;overflow-x:auto;clear:both;white-space:nowrap;padding:17px 15px 5px 4px}.hidden-cols button:first-of-type:before{content:\"Hidden Columns\";font-size:12px;font-weight:600;padding-right:11px;vertical-align:middle}.col-header span{word-wrap:break-word;vertical-align:middle;font-size:var(--reg-font-size)}.o-ins-div span,.o-ins-div i{vertical-align:middle;font-size:16px}.aux-chip{text-align:center;padding-bottom:33px;word-wrap:break-word;white-space:pre-wrap}.insights{padding:17px 15px}.insight-field{min-height:100px;padding:21px 0;font-size:large;white-space:pre-wrap;word-wrap:break-word;border-bottom:1px solid lightgray}@media screen and (max-width:760px){.insight-field:first-of-type{padding-top:7px}}@media screen and (min-width:760px){.insight-field-row{border-bottom:1px solid lightgray}.insight-field,.aux-chip{width:50%;vertical-align:top;display:inline-block;border-bottom:none}}@media screen and (min-width:1024px){.insight-field,.aux-chip{width:33%}}.chart-label-cont{padding-top:10px;text-align:center}.pie-piece-label{padding-top:5px;margin-right:27px;display:inline-block}.pie-piece-label-sq{width:11px;height:11px;margin:0 0 0 2px;display:inline-block;vertical-align:middle}.pie-piece-label span{font-size:small}.pie-piece-label span:before{font-size:smaller;padding-right:4px;font-weight:600;content:attr(data-percent)}.pie-layover{border-radius:50%;background:#fff;position:absolute;padding:5px!important;display:flex;font-size:17px;align-items:center;overflow:hidden;box-sizing:border-box;justify-content:center;color:var(--accent-color)}.pie-layover div{font-weight:500;padding:0!important}.ins-even-dist-ct{font-size:24px;font-weight:500}.line-graph-container{padding:11px 0 33px 7px!important;box-sizing:border-box;margin-left:11px}.lg-title-cont{padding:0!important;text-align:center;margin:17px 11px}.lg-n-marker-cont{width:60px;position:relative;padding:0!important;box-sizing:border-box;display:inline-block;vertical-align:top}.lg-n-marker-cont:before{top:45%;left:-37px;display:block;position:absolute;white-space:nowrap;color:var(--grid-color);content:attr(data-column);transform:rotate(-90deg)}.lg-n-marker,.lg-n-marker-h{padding:0 11px 0 0!important;font-size:small;position:relative;text-align:right;white-space:nowrap;box-sizing:border-box}.line-graph{width:calc(92% - 60px);position:relative;box-sizing:border-box;display:inline-block;vertical-align:top;padding:0!important;border-left:1px solid var(--accent-color);border-bottom:1px solid var(--accent-color)}.lg-lbl-x{left:0;right:0;bottom:-45px;font-size:small;font-weight:500;text-align:center;position:absolute;padding:0!important}.btn-line-graph-opts{margin:0;padding:4px;background:none;border-top:1px solid var(--accent-color);border-left:1px solid var(--accent-color);border-bottom:1px solid var(--accent-color)}.sp-line-graph-title{margin-top:7px;font-size:large;text-decoration:underline}.lg-dt-marker,.lg-dt-marker-h,.vd-n-marker,.vd-n-marker-h{bottom:-22px;font-size:small;position:absolute;text-align:center;padding:0!important;display:inline-block;box-sizing:border-box}.lg-dt-marker-h,.vd-n-marker-h{visibility:hidden}.lg-dt-marker.visible-marker{margin-left:21px}.lg-n-marker-h{height:0;visibility:hidden}.visible-marker{z-index:2;font-weight:600;background:#fff;height:unset!important;padding:1px 2px!important;visibility:visible!important;box-shadow:0 0 2px 1px #afafaf;-moz-box-shadow:0 0 2px 1px #afafaf;-webkit-box-shadow:0 0 2px 1px #afafaf}.visible-marker:before{font-weight:600}.lg-dt-marker:before{top:-15px;left:0;content:\"|\";position:absolute}.vd-n-marker:before{top:-15px;left:50%;content:\"|\";left:calc(50% - 2px);position:absolute}.lg-n-marker:before{top:-4px;right:-3px;content:\"-\";font-weight:600;font-size:large;position:absolute;background:#fff}.btn-line-graph-opts:hover{background:#d6d6d6;transition:background .3s ease}.btn-line-graph-opts:last-of-type{border-right:1px solid var(--accent-color)}.btn-lg-sel{color:#fff!important;background:var(--accent-color);box-shadow:0 0 2px 1px #afafaf;-moz-box-shadow:0 0 2px 1px #afafaf;-webkit-box-shadow:0 0 2px 1px #afafaf}.btn-lg-sel:hover{background:var(--accent-color)}.lg-plot{height:8px;width:8px;opacity:.3;cursor:pointer;border-radius:50%;position:absolute;padding:0!important;background:var(--accent-color)}.lg-plot:hover{z-index:100;opacity:1!important}.lg-plot:hover:after{padding:3px;display:inline-block;font-size:small;border-radius:5px;margin:0 0 0 25px;font-weight:700;content:attr(data-number);background:#fff!important;box-shadow:0 0 2px 1px #afafaf;-moz-box-shadow:0 0 2px 1px #afafaf;-webkit-box-shadow:0 0 2px 1px #afafaf}.lg-plot-opq{opacity:0;background:#fff}.lg-plot-opq:hover{opacity:1!important;background:var(--grid-color);transition:opacity .2s ease}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:\"liga\";-webkit-font-feature-settings:\"liga\";-webkit-font-smoothing:antialiased}\n"], dependencies: [{ kind: "component", type: DataTableHeader, selector: "app-data-table-header", inputs: ["colWid", "canFreeze", "hideMinCol", "columnHeader"], outputs: ["sort", "render", "width", "height", "reset", "freeze", "filFocus", "filSelClick", "minimize", "emitCompFocus", "scrollOnFocus"] }, { kind: "component", type: DataCellComponent, selector: "app-data-cell", inputs: ["text", "html", "minimized", "rawText", "cell", "rowId", "colWid", "rowHeight", "noColResize", "columnValClass"], outputs: ["width", "height", "edit", "dragListen", "validateEditFocus", "clearVEditFocus"] }, { kind: "component", type: DataTablePaginator, selector: "app-data-table-paginator", inputs: ["totalRows", "filSortStr", "disableJump"], outputs: ["jumpTo"] }, { kind: "component", type: ChartsAndGraphs, selector: "app-charts-and-graphs", inputs: ["height", "state", "chartColumns"], outputs: ["close"] }, { kind: "component", type: RowGroupMenu, selector: "app-row-group-menu", inputs: ["groups", "disableGB", "enableClear"] }, { kind: "component", type: RowGroupPanel, selector: "app-row-group-panel", inputs: ["horizRest", "colOfInt", "groupValue", "useRowWid", "maxCols", "editable", "columns", "showRowNumbers"], outputs: ["openEvt", "horizPos", "cellEdit"] }, { kind: "component", type: ExportComponent, selector: "app-export-component", inputs: ["disableExport", "count", "columns"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4$1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i4$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: DecimalPipe, name: "number" }] });
7270
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", type: NgxDeebodata, isStandalone: true, selector: "ngx-deebodata", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, licenseKey: { classPropertyName: "licenseKey", publicName: "licenseKey", isSignal: false, isRequired: false, transformFunction: null }, color1: { classPropertyName: "color1", publicName: "color1", isSignal: false, isRequired: false, transformFunction: null }, color2: { classPropertyName: "color2", publicName: "color2", isSignal: false, isRequired: false, transformFunction: null }, primaryKey: { classPropertyName: "primaryKey", publicName: "primaryKey", isSignal: false, isRequired: false, transformFunction: null }, defRowHgt: { classPropertyName: "defRowHgt", publicName: "defRowHgt", isSignal: false, isRequired: false, transformFunction: null }, defGridHgt: { classPropertyName: "defGridHgt", publicName: "defGridHgt", isSignal: false, isRequired: false, transformFunction: null }, altRowColor: { classPropertyName: "altRowColor", publicName: "altRowColor", isSignal: false, isRequired: false, transformFunction: null }, myColumnSymbols: { classPropertyName: "myColumnSymbols", publicName: "myColumnSymbols", isSignal: false, isRequired: false, transformFunction: null }, myColumnStyles: { classPropertyName: "myColumnStyles", publicName: "myColumnStyles", isSignal: false, isRequired: false, transformFunction: null }, myColumnValueColors: { classPropertyName: "myColumnValueColors", publicName: "myColumnValueColors", isSignal: false, isRequired: false, transformFunction: null }, pieGraphColors: { classPropertyName: "pieGraphColors", publicName: "pieGraphColors", isSignal: false, isRequired: false, transformFunction: null }, removePieCovers: { classPropertyName: "removePieCovers", publicName: "removePieCovers", isSignal: false, isRequired: false, transformFunction: null }, editable: { classPropertyName: "editable", publicName: "editable", isSignal: false, isRequired: false, transformFunction: null }, rowNumbers: { classPropertyName: "rowNumbers", publicName: "rowNumbers", isSignal: false, isRequired: false, transformFunction: null }, forceGrouping: { classPropertyName: "forceGrouping", publicName: "forceGrouping", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { cellEdit: "cellEdit" }, host: { listeners: { "window:click": "onWindowClick($event)", "window:mouseup": "onWindowMouseUp($event)", "window:mousedown": "onWindowMouseDown($event)", "window:mousemove": "onWindowMouseMove($event)", "window:selectstart": "onWindowSelectStart($event)", "window:resize": "onWindowResize($event)", "window:scroll": "onWindowScroll($event)", "window:keydown.shift": "onWindowShiftKeydown($event)", "window:keyup.shift": "onWindowShiftKeyup($event)" } }, viewQueries: [{ propertyName: "dataTable", first: true, predicate: ["dataTable"], descendants: true, static: true }, { propertyName: "dataTableBody", first: true, predicate: ["dataTableBody"], descendants: true, static: true }, { propertyName: "aboveArea", first: true, predicate: ["aboveArea"], descendants: true, static: true }, { propertyName: "belowArea", first: true, predicate: ["belowArea"], descendants: true, static: true }, { propertyName: "validatedEdit", first: true, predicate: ["validatedEdit"], descendants: true, static: true }, { propertyName: "rowNumHeader", first: true, predicate: ["rowNumHeader"], descendants: true, static: true }, { propertyName: "fCellDragger", first: true, predicate: ["fCellDragger"], descendants: true, static: true }, { propertyName: "selFilContainer", first: true, predicate: ["selFilContainer"], descendants: true, static: true }, { propertyName: "btnTogSelRows", first: true, predicate: ["btnTogSelRows"], descendants: true, static: true }, { propertyName: "dataTableHeaders", first: true, predicate: ["dataTableHeaders"], descendants: true, static: true }, { propertyName: "topLevelDataFilter", first: true, predicate: ["topLevelDataFilter"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"deebo-data-grid-section\">\r\n <div class=\"hidden-cols\">\r\n @for (hcol of hiddenCols; track hcol) {\r\n <button type=\"button\" class=\"btn-maximize-col\" (click)=\"maximizeColCells(hcol)\">{{hcol}}</button>\r\n }\r\n </div>\r\n <div class=\"controls\" >\r\n <input type=\"text\" #topLevelDataFilter autocomplete=\"off\" name=\"topLevelDataFilter\" placeholder=\"Filter any column...\" \r\n (input)=\"topFilterOnKeyUp($event)\" (keyup)=\"topFilterOnKeyUp($event)\" maxlength=\"255\" [(ngModel)]=\"topLevelFilter\" \r\n [disabled]=\"dataTableService.showCharts() || !dataTableService.mainData.length || handlingSelRows\" autocomplete=\"off\" />\r\n @if(currGroupValues().length){\r\n <button type=\"button\" class=\"no-btn btn-clear-grp\" (click)=\"processGrouping(null)\">\r\n <i class=\"material-icons error-message heavy v-mid\" aria-hidden=\"false\">close</i>&nbsp;<span class=\"md-text v-mid\">Grouping</span>\r\n </button>\r\n }\r\n <button type=\"button\" class=\"no-btn btn-chart\" (click)=\"openCharts()\" [disabled]=\"dataTableService.showCharts() || !dataTableService.currFilData.length || handlingSelRows || !common.goodLs()\">\r\n <i class=\"material-icons v-mid\" aria-hidden=\"false\">bar_chart</i>&nbsp;<span class=\"v-mid\">Insights</span>\r\n </button>\r\n <button type=\"button\" [disabled]=\"!dataTableService.currSelRows.length || handlingSelRows\" (click)=\"clearSelectedRows()\" class=\"btn-ctrl-sel-rows\">Deselect Rows</button>\r\n <button #btnTogSelRows type=\"button\" [disabled]=\"!dataTableService.currSelRows.length || handlingSelRows\" (click)=\"toggleSelectedRows()\" class=\"btn-ctrl-sel-rows\">\r\n <i class=\"material-icons\" aria-hidden=\"false\">check_box_outline_blank</i>&nbsp;<span>{{togSelRows}}</span>\r\n </button>\r\n <button [disabled]=\"!topLevelFilter && dataTableService.arefilSrtTrkPropsDefault()\" \r\n class=\"btn-reset\" (click)=\"resetCurrentData()\" >Reset</button>\r\n </div>\r\n @if (!isScrolling){\r\n <div class=\"relly\" [ngClass]=\"{'dt-checks': rowNumbers, 'hide' : isMultiFiltering() || dataTableService.isFiltering() || \r\n dataTableService.isSorting() || currGroupValues().length || currSelEditOpts.length }\">\r\n @for (chk of dtChecks; track $index) {\r\n <input [id]=\"'checkDataTableRow' + chk\" class=\"select-row-check invisible\" \r\n [checked]=\"dataTableService.currSelRows.indexOf(chk) > -1\" type=\"checkbox\" [name]=\"'checkDataTableRow' + chk\"\r\n (click)=\"toggleSingleRowSelected(chk)\" (keyup.enter)=\"toggleSingleRowSelected(chk)\" [value]=\"'dataTableRow' + chk\" >\r\n }\r\n </div>\r\n }\r\n <div #selFilContainer class=\"relly sel-fil-container\">\r\n <div class=\"selfil-opt-contain\" [ngStyle]=\"ddFilStyle\">\r\n @for (opt of currFilOpts; track opt; let i = $index) {\r\n <div class=\"selfil-div\">\r\n <label [for]=\"'selfilOpt' + currDDFilter + i\" class=\"'selfil-lbl-' + currDDFilter\"><input [id]=\"'selfilOpt' + currDDFilter + i\" \r\n [class]=\"'selfil-opt-' + currDDFilter\" (input)=\"handleMultiSelFilter(currDDFilter, opt.value, $event.target.checked)\" \r\n (click)=\"handleMultiSelFilter(currDDFilter, opt.value, $event.target.checked)\" [name]=\"'selfilOpt' + currDDFilter + i\" \r\n [checked]=\"opt.checked\" [value]=\"opt.value\" [disabled]=\"isMultiFiltering()\" type=\"checkbox\" />{{opt.value || \"(Blank)\"}}</label>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n <div #validatedEdit class=\"relly special-edit-container invisible\">\r\n @if (validatedEditType === 'date'){\r\n <input id=\"selEditDate\" name=\"selEditDate\" type=\"date\" class=\"edit-input\" \r\n (change)=\"execCellEdit($event, true)\" (input)=\"execCellEdit($event, true)\" (blur)=\"execCellEdit($event)\" />\r\n }\r\n @if (validatedEditType === 'number'){\r\n <input id=\"selEditNum\" name=\"selEditNum\" type=\"number\" class=\"edit-input\" \r\n (keyup)=\"execCellEdit($event, true)\" (input)=\"execCellEdit($event, true)\" (blur)=\"execCellEdit($event)\" (keyup.enter)=\"execCellEdit($event)\" />\r\n }\r\n @if (validatedEditType === 'text'){\r\n <div class=\"relly edit-input\">\r\n <div class=\"edit-input-option-cont\">\r\n <div class=\"edit-input-opt\"><button type=\"button\" class=\"no-btn\" (click)=\"execCellEdit($event, false, null)\">-</button></div>\r\n @for (opt of currSelEditOpts; track opt.value) {\r\n <div class=\"edit-input-opt\"><button type=\"button\" class=\"no-btn\" \r\n (click)=\"execCellEdit($event, false, opt.value)\">{{opt.value || \"(Blank)\"}}</button>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n <div class=\"relly\" style=\"z-index: 6;\">\r\n <div #fCellDragger tabindex=\"0\" id=\"fCellDragger\" (focus)=\"focusCellDragger()\" (blur)=\"execValClear(true)\"\r\n (mousedown)=\"focusCellDraggerFromMouseDown()\" (keydown)=\"handleFDragTab($event)\" (keydown)=\"handleDraggerKD($event)\"\r\n [ngClass]=\"{'hide': dataTableService.currEditIndex < 0, 'focused-cell-dragger': dataTableService.currEditIndex > -1 }\"></div>\r\n </div>\r\n @if(dataTableService.showCharts() && common.goodLs()){\r\n <app-charts-and-graphs \r\n [height]=\"chartHgt\"\r\n [state]=\"chartState\"\r\n [chartColumns]=\"columnsForCharts\"\r\n (close)=\"closeCharts($event)\"\r\n ></app-charts-and-graphs>\r\n }\r\n <div [ngClass]=\"{'row-numbers': rowNumbers && !dataTableService.showCharts() && !currGroupValues().length, 'hide': !rowNumbers || dataTableService.showCharts() || currGroupValues().length}\" >\r\n <div #rowNumHeader class=\"row-num-header flex-center\"><div class=\"semi-heavy\">No.</div></div>\r\n <div style=\"overflow: hidden;\" [style.height]=\"dataTableService.dTblHeight() + 'px'\">\r\n <div [ngStyle]=\"{'overflow': 'auto', 'marginTop': rnBTop() + 'px' }\">\r\n @for (num of rowNos; track num.number) {\r\n <div [id]=\"'rn' + num.number\" class=\"flex-center num-row\" [style.height]=\"num.height || dataTableService.defltRHgt\">\r\n <div class=\"small-text\">{{num.number | number}}</div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div><div #dataTable class=\"data-table\" [class.inline-table]=\"rowNumbers && !dataTableService.showCharts() && !currGroupValues().length\">\r\n <div #dataTableHeaders class=\"data-table-headers\">\r\n @for (col of columnHeaders; track col.column; let i = $index) {\r\n <app-data-table-header\r\n [columnHeader]=\"col\"\r\n [colWid]=\"dataTableService.useColWid\"\r\n [hideMinCol]=\"col.hideMinCol\"\r\n [canFreeze]=\"i === 0 ? true : false\"\r\n (reset)=\"resetCurrentData($event)\"\r\n (freeze)=\"freezeColCells($event)\"\r\n (minimize)=\"minimizeColEls($event)\"\r\n (filFocus)=\"handleFilFocus($event)\"\r\n (scrollOnFocus)=\"checkTabHorizScroll($event)\"\r\n (emitCompFocus)=\"killSelFilOpts(true)\"\r\n (filSelClick)=\"handleWinClickOnSelFil()\"\r\n (height)=\"setHeaderHeight($event, true)\"\r\n (render)=\"renderCurrData(false, $event.field)\"\r\n (width)=\"handleSingleColResize($event.value, $event.column)\"\r\n ></app-data-table-header>\r\n }\r\n </div>\r\n <div #dataTableBody id=\"dataTableBody\" [ngStyle]=\"{ 'overflowY': 'auto', 'overflowX': currGroupValues().length ? 'hidden' : 'auto' }\" \r\n [style.height]=\"dataTableService.dTblHeight() + 'px'\" (scroll)=\"handleScroll($event)\" (scrollend)=\"handleScrollEnd()\"\r\n [class.table-working]=\"isMultiFiltering() || dataTableService.isFiltering() || dataTableService.isSorting()\" >\r\n <div #aboveArea [ngStyle]=\"{'height': aboveHgt() + 'px', 'width': useRowWid}\"></div>\r\n <div [style.transform]=\"'translateY('+transY()+'px)'\">\r\n @for(row of rows; track $index){\r\n <div [id]=\"row.id\" class=\"data-table-row\" [attr.data-index]=\"row.index\"\r\n [class.data-row-selected]=\"!dataTableService.displayOnlySelRows && dataTableService.currSelRows.indexOf(row.index) > -1\"\r\n [ngStyle]=\"{'width': row.width, 'height': row.height}\" >\r\n @for(cell of row.cells; track cell.column){\r\n <app-data-cell [cell]=\"cell\" \r\n [rowId]=\"row.id\" \r\n [text]=\"cell.text || ''\"\r\n [html]=\"cell.html || ''\"\r\n [rawText]=\"cell.rawText\"\r\n [minimized]=\"cell.minimized\"\r\n [rowHeight]=\"row.height || ''\"\r\n (edit)=\"execCellEdit($event)\"\r\n (mousedown)=\"checkCellEditOnClick()\"\r\n [columnValClass]=\"cell.specialColClass\"\r\n (dragListen)=\"listenToCellDraggerMouseMove = $event\"\r\n [colWid]=\"cell.width || dataTableService.useColWid\"\r\n (width)=\"handleSingleColResize($event)\"\r\n (height)=\"setSingleRowHgt($event, row.id, true)\"\r\n (clearVEditFocus)=\"validatedEditType = $event\"\r\n (validateEditFocus)=\"handleValidatedCellEditFocus($event)\"\r\n ></app-data-cell>\r\n }\r\n </div>\r\n }\r\n </div>\r\n <div #belowArea [ngStyle]=\"{'height': belowHgt() + 'px', 'width': useRowWid}\"></div>\r\n @for(group of currGroupValues(); track group){\r\n <app-row-group-panel\r\n [groupValue]=\"group.value\"\r\n [maxCols]=\"maxCols\"\r\n [useRowWid]=\"useRowWid\"\r\n [editable]=\"editable\"\r\n [horizRest]=\"horizRest()\"\r\n [columns]=\"columnNames\"\r\n [showRowNumbers]=\"rowNumbers\"\r\n [colOfInt]=\"columnOfInterest()\"\r\n (horizPos)=\"setHorizPos($event)\"\r\n (cellEdit)=\"execCellEdit($event)\"\r\n (openEvt)=\"scrollToRowGroup($event)\"\r\n ></app-row-group-panel>\r\n }\r\n @if(!dataTableService.currFilData.length && !currGroupValues().length){\r\n <div [style.height]=\"dataTableService.dTblHeight() + 'px'\" class=\"data-table-row flex-center data-table-row-no-data\" style=\"width: 100%; white-space: normal;\">\r\n <div class=\"center\">{{dataTableService.noDataMsg}}</div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n @if(paginatorReady){\r\n <app-data-table-paginator\r\n [filSortStr]=\"allFilSortInfo()\"\r\n (jumpTo)=\"jumpToRow($event)\"\r\n [totalRows]=\"dataTableService.currFilData.length\"\r\n [disableJump]=\"dataTableService.showCharts() || currGroupValues().length > 0 || !dataTableService.currFilData.length || handlingSelRows\"\r\n ></app-data-table-paginator><!--not an actual paginator-->\r\n }\r\n <div class=\"pad-top-thirty right\">\r\n <div class=\"inline-b deebo-dd-contain-div\">\r\n @if(canGroupBy().length > 0){\r\n <app-row-group-menu\r\n [groups]=\"canGroupBy()\"\r\n [disableGB]=\"dataTableService.showCharts()\"\r\n [enableClear]=\"currGroupValues().length ? true : false\"\r\n ></app-row-group-menu>\r\n }\r\n </div><div class=\"inline-b deebo-dd-contain-div\">\r\n @if(dataTableService.currFilData.length > 0){\r\n <app-export-component\r\n [columns]=\"columnHeaders\"\r\n [disableExport]=\"dataTableService.showCharts()\"\r\n [count]=\"dataTableService.currFilData.length\">\r\n </app-export-component>\r\n }\r\n </div>\r\n </div>\r\n</div>", styles: [":host{--accent-color:rgb(50, 50, 50);--grid-color:rgb(199, 199, 199);--pad-left-base: 33px;--row-num-width: 75px;--reg-font-size: 17px }input[name=topLevelDataFilter]{float:left;padding:7px 5px;vertical-align:middle;box-shadow:0 0 1px 1px var(--grid-color);-moz-box-shadow:0 0 1px 1px var(--grid-color);-webkit-box-shadow:0 0 1px 1px var(--grid-color)}.deebo-dd-contain-div{margin:0 31px}.btn-chart,.btn-clear-grp{border-radius:3px}.btn-chart i{font-size:28px;vertical-align:middle;color:var(--accent-color)}.btn-chart:hover,.btn-clear-grp:hover{background:#e9e9e9;transition:background .5s ease}.dt-checks{margin-left:var(--row-num-width)}.row-numbers{margin-top:11px;display:inline-block;width:var(--row-num-width)}.row-num-header{background:#e9e9e9;box-sizing:border-box;border-bottom:1px solid var(--accent-color);border-right:1px solid var(--accent-color);box-shadow:0 -1px 3px 1px var(--grid-color);-moz-box-shadow:0 -1px 3px 1px var(--grid-color);-webkit-box-shadow:0 -1px 3px 1px var(--grid-color)}.num-row{white-space:nowrap;box-sizing:border-box;border-left:1px solid var(--grid-color);border-bottom:1px solid var(--grid-color)}.inline-table{display:inline-block;width:calc(100% - var(--row-num-width))}.special-edit-container{z-index:5;width:0!important;height:0!important}.edit-input{border:none;font-size:15px;box-shadow:none;position:absolute;background:#fff;-moz-box-shadow:none;-webkit-box-shadow:none;box-sizing:border-box}.edit-input[type=number]{text-align:right}.edit-input[type=date]{padding-left:17px}\n", "@charset \"UTF-8\";@font-face{font-family:Roboto Condensed;src:url(https://d2ffvluimla00s.cloudfront.net/RobotoCondensed-VariableFont_wght.ttf) format(\"ttf\")}@font-face{font-family:Material Icons;font-style:normal;font-weight:400;src:url(https://d2ffvluimla00s.cloudfront.net/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2) format(\"woff2\")}.deebo-data-grid-section{font-family:Roboto Condensed,Arial,Helvetica,sans-serif}:host{--accent-color:rgb(50, 50, 50);--grid-color:rgb(199, 199, 199);--pad-left-base: 33px;--row-num-width: 75px;--reg-font-size: 17px }.relly{position:relative}.hide{display:none!important;max-height:0;max-width:0;top:0;left:0;opacity:0}.ovy{overflow:auto}.no-ovy-y{overflow-y:hidden!important}.pad-top-sm{padding-top:4px!important}.pad-top-ten{padding-top:10px!important}.pad-top-teen{padding-top:17px}.pad-top-thirty,.pad-top-trey{padding-top:33px}.pad-top-much{padding-top:75px}.o-visible{overflow:visible}.dontwrap{white-space:nowrap}.inline-b{display:inline-block}.inline{display:inline}.half-wid{width:50%;vertical-align:top;display:inline-block}.qtr-wid{width:25%;vertical-align:top;display:inline-block}.third-wid{width:33.3%;vertical-align:top;display:inline-block}.two-third-wid{width:66.6%;vertical-align:top;display:inline-block}.three-qtr-wid{width:75%;vertical-align:top;display:inline-block}.v-top{vertical-align:top!important}.v-mid{vertical-align:middle!important}.v-bot{vertical-align:bottom!important}.lg-text{font-size:larger}.xlg-text{font-size:x-large!important}.md-text{font-size:var(--reg-font-size)!important}.small-text{font-size:small}.tiny-text{font-size:x-small}.invisible{visibility:hidden}.flex-center{display:flex;justify-content:center;align-items:center}.flex-item{flex:1 1 auto}.o-x-hidden{overflow-x:hidden!important}.no-weight{font-weight:400!important}.semi-heavy{font-weight:500!important}.heavy{font-weight:700!important}.marauto{margin:0 auto}.center{text-align:center}.left{text-align:left}.right{text-align:right}.btn-reset{border:none;color:#fff;padding:7px 11px;background:maroon}.error-message{color:maroon;font-weight:500}.success{color:green;font-weight:500}.neutral{color:var(--accent-color)}input,select{border:none;padding:4px;border-radius:3px;box-sizing:border-box;font-family:Roboto Condensed,Arial,Helvetica,sans-serif;box-shadow:0 0 1px 1px #afafaf;-moz-box-shadow:0 0 1px 1px #afafaf;-webkit-box-shadow:0 0 1px 1px #afafaf}input[type=radio],input[type=checkbox]{cursor:pointer;box-shadow:none!important;-moz-box-shadow:none!important;-webkit-box-shadow:none!important}button{cursor:pointer}button:focus,input:focus,select:focus,textarea:focus,a:focus{outline-width:0}button:disabled,input:disabled,select:disabled{opacity:.5;cursor:not-allowed}.prevent{opacity:.5;cursor:not-allowed;pointer-events:none}.controls{text-align:right;padding:16px 11px 6px 1px;max-width:100%;clear:both;overflow-x:auto;white-space:nowrap}.controls button{font-size:var(--reg-font-size);margin-right:31px;vertical-align:middle}.controls button span{vertical-align:middle}.controls button:last-of-type{margin-right:0}.data-table{margin-top:11px;overflow:hidden;box-shadow:0 -1px 3px 1px var(--grid-color);-moz-box-shadow:0 -1px 3px 1px var(--grid-color);-webkit-box-shadow:0 -1px 3px 1px var(--grid-color)}.sel-rows-checked{color:#00a8f399!important}.save-hilite{padding:2px 4px;border-radius:3px;background:#ebebeb;box-shadow:0 0 3px 1px var(--accent-color);-moz-box-shadow:0 0px 3px 1px var(--accent-color);-webkit-box-shadow:0 0px 3px 1px var(--accent-color)}.btn-ctrl-sel-rows,.btn-export-or-print{border:none;padding:3px 4px;border-radius:3px;background:#f5f5f5;vertical-align:middle;box-shadow:0 0 2px 1px var(--accent-color);-moz-box-shadow:0 0 2px 1px var(--accent-color);-webkit-box-shadow:0 0 2px 1px var(--accent-color)}.deebo-dd-contain-div:last-of-type{margin-right:0!important}.btn-export{width:100%;text-transform:uppercase}.btn-export:hover{text-decoration:underline}.btn-ctrl-sel-rows:hover,.btn-export-or-print:hover{background:#ebebeb;box-shadow:0 0 6px 2px gray;-moz-box-shadow:0 0 6px 2px gray;-webkit-box-shadow:0 0 6px 2px gray}.btn-center-selected{padding:2px 4px;border-radius:5px;background:#f5f5f5;box-shadow:0 0 6px 2px gray;-moz-box-shadow:0 0 6px 2px gray;-webkit-box-shadow:0 0 6px 2px gray}.btn-ctrl-sel-rows .material-icons{font-size:18px;font-weight:600;vertical-align:middle}.btn-ctrl-sel-rows .material-icons:not(.error-message){color:var(--accent-color)}.data-table-headers{cursor:pointer;white-space:nowrap;border-bottom:1px solid var(--grid-color)}.data-table-row{white-space:nowrap}.data-table-row:hover,.data-table-row .col-item-freeze:hover{background:#f3f3f3}.data-row-selected{background:#d6d6d6!important}.table-working{opacity:.1;pointer-events:none}.select-row-check{left:9px;z-index:10;cursor:pointer;margin:0;position:absolute;padding:0!important}.gb-row-num{left:2px;z-index:10;cursor:pointer;margin:0;font-size:x-small;position:absolute;padding:0!important}.mock-html{width:50%;height:18px;margin:0 auto;border-radius:11px;background:var(--grid-color)}.abs-right{top:7px;right:7px;position:absolute}.has-symbol:after{content:attr(data-symbol);padding-left:3px}.has-symbol-b:before{content:attr(data-symbol);padding-right:3px}.data-table-row-no-data{font-size:xx-large;color:gray;font-weight:500;text-shadow:-1px -1px var(--accent-color)}.data-row-selected .col-item-freeze,.data-row-selected .data-cell,.data-row-selected:hover,.data-row-selected .col-item-freeze:hover,.data-row-selected .data-cell:hover{background:#d6d6d6!important}.data-table-headers .col-item-freeze:first-of-type{border-bottom:1px solid var(--grid-color)}.col-header{z-index:2;width:125px;overflow:auto;cursor:grab;padding:7px 3px;text-align:center;position:relative;box-sizing:border-box;display:inline-block;vertical-align:top;white-space:pre-wrap;word-wrap:break-word;background:#fafafa;border-right:1px solid var(--grid-color)}.col-header button,.col-header span,.col-header select{cursor:pointer;vertical-align:middle}.col-header input{vertical-align:middle}.col-header-img-container{overflow-y:hidden;text-align:center;display:inline-block;vertical-align:middle;background-size:cover;background-position:center;background-repeat:no-repeat}.col-header-minimized{width:0!important;height:0!important;padding:0!important;overflow:hidden!important;border-bottom:none!important;border-right:none!important;transition:width .3s ease}.btn-maximize-col{border:none;border-radius:5px;background:#f5f5f5;box-shadow:0 0 3px 2px gray;font-size:var(--reg-font-size);margin-right:27px;padding:4px}.no-btn{border:none;background:none}.col-item-freeze{left:0;z-index:3;position:sticky;background:#fff;box-shadow:2px 0 3px 0 var(--grid-color);-moz-box-shadow:2px 0px 3px 0px var(--grid-color);-webkit-box-shadow:2px 0px 3px 0px var(--grid-color)}.col-header input,.select-filter{width:40%;margin:11px 0 1px}.sel-fil-container{z-index:5}.edit-input-option-cont{left:0;right:0}.edit-input-opt button{width:100%;font-size:15px;padding:11px 0 11px 17px;text-align:left!important}.selfil-opt-contain,.edit-input-option-cont{overflow:auto;max-height:240px;border-radius:5px;position:absolute;background:#fff;box-shadow:0 1px 3px 1px var(--grid-color);-moz-box-shadow:0 1px 3px 1px var(--grid-color);-webkit-box-shadow:0 1px 3px 1px var(--grid-color)}.selfil-div,.edit-input-opt{cursor:pointer;text-align:left;border-bottom:1px solid var(--grid-color)}.selfil-div:hover,.edit-input-opt:hover{background:#ebebeb}.selfil-div:last-of-type,.edit-input-opt:last-of-type{border-bottom:none}.selfil-div label{width:calc(100% - 22px);font-size:15px;cursor:pointer;padding:11px;display:inline-block}.selfil-div label input[type=checkbox]{margin-right:11px;vertical-align:middle}.select-filter-comparator{width:36px;z-index:3;opacity:0;position:relative;margin:11px 0 1px 15px}.btn-fil-comp{top:2px;left:-36px;border:none;position:absolute;background:#fafafa}.btn-fil-comp i{color:var(--accent-color)}@media screen and (min-width:960px){.col-header input,.select-filter,.select-filter-comparator{margin-top:7px;margin-bottom:1px}}.data-cell{width:125px;padding:11px 6px 11px 17px;overflow:auto;font-size:15px;word-wrap:break-word;white-space:pre-line;vertical-align:top;box-sizing:border-box;display:inline-flex;align-items:center;border-right:1px solid var(--grid-color);border-bottom:1px solid var(--grid-color)}input.edit-input{border-radius:0}.data-cell:focus,input.edit-input:focus{outline:1px solid #00a8f3}.dragger-cell-focused{background:#00a8f333;border-left:1px solid #00a8f3;border-right:1px solid #00a8f3!important}.focused-cell-dragger{width:9px;height:9px;cursor:crosshair;position:absolute;background:#00a8f3;box-shadow:0 0 1px 1px var(--accent-color);-moz-box-shadow:0 0 1px 1px var(--accent-color);-webkit-box-shadow:0 0 1px 1px var(--accent-color)}.holding-check{padding-left:44px}.data-cell-riiight{padding:11px 17px 11px 6px;justify-content:right}.data-cell-ceeenter{padding:11px 6px;justify-content:center!important}.cell-og-link{line-height:0;visibility:hidden}.cell-og-link:before{visibility:visible;content:attr(data-title)}.moveable-col{cursor:col-resize!important}.moveable-row{cursor:row-resize!important}.data-sort-arr{cursor:pointer;margin-left:11px;border:none;background:none;padding:0 0 0 2px;color:var(--accent-color)}.data-sort-arr .material-icons{font-size:20px}.data-col-info{left:10px;top:12px;padding:0;border:none;cursor:pointer;background:none;position:absolute;color:var(--accent-color)}.data-col-info .material-icons{font-size:16px}.sort-order-indicator{font-weight:600;vertical-align:middle;font-size:16px}.btn-min-col{cursor:pointer;top:0;right:2px;font-size:20px;border:none;background:none;position:absolute;padding:0 2px 5px 0;color:var(--accent-color)}.btn-min-col-hide{z-index:0;visibility:hidden;pointer-events:none}.btn-freeze-col{float:left;border:none;cursor:pointer;background:none}.btn-freeze-col .material-icons{font-size:16px;color:var(--accent-color)}.hidden-cols{max-width:100%;overflow-x:auto;clear:both;white-space:nowrap;padding:17px 15px 5px 4px}.hidden-cols button:first-of-type:before{content:\"Hidden Columns\";font-size:12px;font-weight:600;padding-right:11px;vertical-align:middle}.col-header span{word-wrap:break-word;vertical-align:middle;font-size:var(--reg-font-size)}.o-ins-div span,.o-ins-div i{vertical-align:middle;font-size:16px}.aux-chip{text-align:center;padding-bottom:33px;word-wrap:break-word;white-space:pre-wrap}.insights{padding:17px 15px}.insight-field{min-height:100px;padding:21px 0;font-size:large;white-space:pre-wrap;word-wrap:break-word;border-bottom:1px solid lightgray}@media screen and (max-width:760px){.insight-field:first-of-type{padding-top:7px}}@media screen and (min-width:760px){.insight-field-row{border-bottom:1px solid lightgray}.insight-field,.aux-chip{width:50%;vertical-align:top;display:inline-block;border-bottom:none}}@media screen and (min-width:1024px){.insight-field,.aux-chip{width:33%}}.chart-label-cont{padding-top:10px;text-align:center}.pie-piece-label{padding-top:5px;margin-right:27px;display:inline-block}.pie-piece-label-sq{width:11px;height:11px;margin:0 0 0 2px;display:inline-block;vertical-align:middle}.pie-piece-label span{font-size:small}.pie-piece-label span:before{font-size:smaller;padding-right:4px;font-weight:600;content:attr(data-percent)}.pie-layover{border-radius:50%;background:#fff;position:absolute;padding:5px!important;display:flex;font-size:17px;align-items:center;overflow:hidden;box-sizing:border-box;justify-content:center;color:var(--accent-color)}.pie-layover div{font-weight:500;padding:0!important}.ins-even-dist-ct{font-size:24px;font-weight:500}.line-graph-container{padding:11px 0 33px 7px!important;box-sizing:border-box;margin-left:11px}.lg-title-cont{padding:0!important;text-align:center;margin:17px 11px}.lg-n-marker-cont{width:60px;position:relative;padding:0!important;box-sizing:border-box;display:inline-block;vertical-align:top}.lg-n-marker-cont:before{top:45%;left:-37px;display:block;position:absolute;white-space:nowrap;color:var(--grid-color);content:attr(data-column);transform:rotate(-90deg)}.lg-n-marker,.lg-n-marker-h{padding:0 11px 0 0!important;font-size:small;position:relative;text-align:right;white-space:nowrap;box-sizing:border-box}.line-graph{width:calc(92% - 60px);position:relative;box-sizing:border-box;display:inline-block;vertical-align:top;padding:0!important;border-left:1px solid var(--accent-color);border-bottom:1px solid var(--accent-color)}.lg-lbl-x{left:0;right:0;bottom:-45px;font-size:small;font-weight:500;text-align:center;position:absolute;padding:0!important}.btn-line-graph-opts{margin:0;padding:4px;background:none;border-top:1px solid var(--accent-color);border-left:1px solid var(--accent-color);border-bottom:1px solid var(--accent-color)}.sp-line-graph-title{margin-top:7px;font-size:large;text-decoration:underline}.lg-dt-marker,.lg-dt-marker-h,.vd-n-marker,.vd-n-marker-h{bottom:-22px;font-size:small;position:absolute;text-align:center;padding:0!important;display:inline-block;box-sizing:border-box}.lg-dt-marker-h,.vd-n-marker-h{visibility:hidden}.lg-dt-marker.visible-marker{margin-left:21px}.lg-n-marker-h{height:0;visibility:hidden}.visible-marker{z-index:2;font-weight:600;background:#fff;height:unset!important;padding:1px 2px!important;visibility:visible!important;box-shadow:0 0 2px 1px #afafaf;-moz-box-shadow:0 0 2px 1px #afafaf;-webkit-box-shadow:0 0 2px 1px #afafaf}.visible-marker:before{font-weight:600}.lg-dt-marker:before{top:-15px;left:0;content:\"|\";position:absolute}.vd-n-marker:before{top:-15px;left:50%;content:\"|\";left:calc(50% - 2px);position:absolute}.lg-n-marker:before{top:-4px;right:-3px;content:\"-\";font-weight:600;font-size:large;position:absolute;background:#fff}.btn-line-graph-opts:hover{background:#d6d6d6;transition:background .3s ease}.btn-line-graph-opts:last-of-type{border-right:1px solid var(--accent-color)}.btn-lg-sel{color:#fff!important;background:var(--accent-color);box-shadow:0 0 2px 1px #afafaf;-moz-box-shadow:0 0 2px 1px #afafaf;-webkit-box-shadow:0 0 2px 1px #afafaf}.btn-lg-sel:hover{background:var(--accent-color)}.lg-plot{height:8px;width:8px;opacity:.3;cursor:pointer;border-radius:50%;position:absolute;padding:0!important;background:var(--accent-color)}.lg-plot:hover{z-index:100;opacity:1!important}.lg-plot:hover:after{padding:3px;display:inline-block;font-size:small;border-radius:5px;margin:0 0 0 25px;font-weight:700;content:attr(data-number);background:#fff!important;box-shadow:0 0 2px 1px #afafaf;-moz-box-shadow:0 0 2px 1px #afafaf;-webkit-box-shadow:0 0 2px 1px #afafaf}.lg-plot-opq{opacity:0;background:#fff}.lg-plot-opq:hover{opacity:1!important;background:var(--grid-color);transition:opacity .2s ease}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:\"liga\";-webkit-font-feature-settings:\"liga\";-webkit-font-smoothing:antialiased}\n"], dependencies: [{ kind: "component", type: DataTableHeader, selector: "app-data-table-header", inputs: ["colWid", "canFreeze", "hideMinCol", "columnHeader"], outputs: ["sort", "render", "width", "height", "reset", "freeze", "filFocus", "filSelClick", "minimize", "emitCompFocus", "scrollOnFocus"] }, { kind: "component", type: DataCellComponent, selector: "app-data-cell", inputs: ["text", "html", "minimized", "rawText", "cell", "rowId", "colWid", "rowHeight", "noColResize", "columnValClass"], outputs: ["width", "height", "edit", "dragListen", "validateEditFocus", "clearVEditFocus"] }, { kind: "component", type: DataTablePaginator, selector: "app-data-table-paginator", inputs: ["totalRows", "filSortStr", "disableJump"], outputs: ["jumpTo"] }, { kind: "component", type: ChartsAndGraphs, selector: "app-charts-and-graphs", inputs: ["height", "state", "chartColumns"], outputs: ["close"] }, { kind: "component", type: RowGroupMenu, selector: "app-row-group-menu", inputs: ["groups", "disableGB", "enableClear"] }, { kind: "component", type: RowGroupPanel, selector: "app-row-group-panel", inputs: ["horizRest", "colOfInt", "groupValue", "useRowWid", "maxCols", "editable", "columns", "showRowNumbers"], outputs: ["openEvt", "horizPos", "cellEdit"] }, { kind: "component", type: ExportComponent, selector: "app-export-component", inputs: ["disableExport", "count", "columns"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4$1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i4$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: DecimalPipe, name: "number" }] });
7279
7271
  }
7280
7272
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: NgxDeebodata, decorators: [{
7281
7273
  type: Component,
@@ -7290,7 +7282,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImpo
7290
7282
  FormsModule,
7291
7283
  DecimalPipe,
7292
7284
  CommonModule,
7293
- ], template: "<div class=\"deebo-data-grid-section\">\r\n <div class=\"hidden-cols\">\r\n @for (hcol of hiddenCols; track hcol) {\r\n <button type=\"button\" class=\"btn-maximize-col\" (click)=\"maximizeColCells(hcol)\">{{hcol}}</button>\r\n }\r\n </div>\r\n <div class=\"controls\" >\r\n <input type=\"text\" #topLevelDataFilter autocomplete=\"off\" name=\"topLevelDataFilter\" placeholder=\"Filter any column...\" \r\n (input)=\"topFilterOnKeyUp($event)\" (keyup)=\"topFilterOnKeyUp($event)\" maxlength=\"255\" [(ngModel)]=\"topLevelFilter\" \r\n [disabled]=\"dataTableService.showCharts() || !dataTableService.mainData.length || handlingSelRows\" autocomplete=\"off\" />\r\n @if(currGroupValues().length){\r\n <button type=\"button\" class=\"no-btn btn-clear-grp\" (click)=\"processGrouping(null)\">\r\n <i class=\"material-icons error-message heavy v-mid\" aria-hidden=\"false\">close</i>&nbsp;<span class=\"md-text v-mid\">Grouping</span>\r\n </button>\r\n }\r\n <button type=\"button\" class=\"no-btn btn-chart\" (click)=\"openCharts()\" [disabled]=\"dataTableService.showCharts() || !dataTableService.currFilData.length || handlingSelRows || !common.goodLs()\">\r\n <i class=\"material-icons v-mid\" aria-hidden=\"false\">bar_chart</i>&nbsp;<span class=\"v-mid\">Insights</span>\r\n </button>\r\n <button type=\"button\" [disabled]=\"!dataTableService.currSelRows.length || handlingSelRows\" (click)=\"clearSelectedRows()\" class=\"btn-ctrl-sel-rows\">Deselect Rows</button>\r\n <button #btnTogSelRows type=\"button\" [disabled]=\"!dataTableService.currSelRows.length || handlingSelRows\" (click)=\"toggleSelectedRows()\" class=\"btn-ctrl-sel-rows\">\r\n <i class=\"material-icons\" aria-hidden=\"false\">check_box_outline_blank</i>&nbsp;<span>{{togSelRows}}</span>\r\n </button>\r\n <button [disabled]=\"!topLevelFilter && dataTableService.arefilSrtTrkPropsDefault()\" \r\n class=\"btn-reset\" (click)=\"resetCurrentData()\" >Reset</button>\r\n </div>\r\n @if (!isScrolling){\r\n <div class=\"relly\" [ngClass]=\"{'dt-checks': rowNumbers, 'hide' : isMultiFiltering() || dataTableService.isFiltering() || \r\n dataTableService.isSorting() || currGroupValues().length || currSelEditOpts.length }\">\r\n @for (chk of dtChecks; track $index) {\r\n <input [id]=\"'checkDataTableRow' + chk\" class=\"select-row-check invisible\" \r\n [checked]=\"dataTableService.currSelRows.indexOf(chk) > -1\" type=\"checkbox\" [name]=\"'checkDataTableRow' + chk\"\r\n (click)=\"toggleSingleRowSelected(chk)\" (keyup.enter)=\"toggleSingleRowSelected(chk)\" [value]=\"'dataTableRow' + chk\" >\r\n }\r\n </div>\r\n }\r\n <div #selFilContainer class=\"relly sel-fil-container\">\r\n <div class=\"selfil-opt-contain\" [ngStyle]=\"ddFilStyle\">\r\n @for (opt of currFilOpts; track opt; let i = $index) {\r\n <div class=\"selfil-div\">\r\n <label [for]=\"'selfilOpt' + currDDFilter + i\" class=\"'selfil-lbl-' + currDDFilter\"><input [id]=\"'selfilOpt' + currDDFilter + i\" \r\n [class]=\"'selfil-opt-' + currDDFilter\" (input)=\"handleMultiSelFilter(currDDFilter, opt.value, $event.target.checked)\" \r\n (click)=\"handleMultiSelFilter(currDDFilter, opt.value, $event.target.checked)\" [name]=\"'selfilOpt' + currDDFilter + i\" \r\n [checked]=\"opt.checked\" [value]=\"opt.value\" [disabled]=\"isMultiFiltering()\" type=\"checkbox\" />{{opt.value || \"(Blank)\"}}</label>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n <div #validatedEdit class=\"relly special-edit-container invisible\">\r\n @if (validatedEditType === 'date'){\r\n <input id=\"selEditDate\" name=\"selEditDate\" type=\"date\" class=\"edit-input\" \r\n (change)=\"execCellEdit($event, true)\" (input)=\"execCellEdit($event, true)\" (blur)=\"execCellEdit($event)\" />\r\n }\r\n @if (validatedEditType === 'number'){\r\n <input id=\"selEditNum\" name=\"selEditNum\" type=\"number\" class=\"edit-input\" \r\n (keyup)=\"execCellEdit($event, true)\" (input)=\"execCellEdit($event, true)\" (blur)=\"execCellEdit($event)\" (keyup.enter)=\"execCellEdit($event)\" />\r\n }\r\n @if (validatedEditType === 'text'){\r\n <div class=\"relly edit-input\">\r\n <div class=\"edit-input-option-cont\">\r\n <div class=\"edit-input-opt\"><button type=\"button\" class=\"no-btn\" (click)=\"execCellEdit($event, false, null)\">-</button></div>\r\n @for (opt of currSelEditOpts; track opt.value) {\r\n <div class=\"edit-input-opt\"><button type=\"button\" class=\"no-btn\" \r\n (click)=\"execCellEdit($event, false, opt.value)\">{{opt.value || \"(Blank)\"}}</button>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n <div class=\"relly\" style=\"z-index: 6;\">\r\n <div #fCellDragger tabindex=\"0\" id=\"fCellDragger\" (focus)=\"focusCellDragger()\" (blur)=\"execValClear(true)\"\r\n (mousedown)=\"focusCellDraggerFromMouseDown()\" (keydown)=\"handleFDragTab($event)\" (keydown)=\"handleDraggerKD($event)\"\r\n [ngClass]=\"{'hide': dataTableService.currEditIndex < 0, 'focused-cell-dragger': dataTableService.currEditIndex > -1 }\"></div>\r\n </div>\r\n @if(dataTableService.showCharts() && common.goodLs()){\r\n <app-charts-and-graphs \r\n [height]=\"chartHgt\"\r\n [state]=\"chartState\"\r\n [chartColumns]=\"columnsForCharts\"\r\n (close)=\"closeCharts($event)\"\r\n ></app-charts-and-graphs>\r\n }\r\n <div [ngClass]=\"{'row-numbers': rowNumbers && !dataTableService.showCharts() && !currGroupValues().length, 'hide': !rowNumbers || dataTableService.showCharts() || currGroupValues().length}\" >\r\n <div #rowNumHeader class=\"row-num-header flex-center\"><div class=\"semi-heavy\">No.</div></div>\r\n <div style=\"overflow: hidden;\" [style.height]=\"dataTableService.dTblHeight() + 'px'\">\r\n <div [ngStyle]=\"{'overflow': 'auto', 'marginTop': rnBTop() + 'px' }\">\r\n @for (num of rowNos; track num.number) {\r\n <div [id]=\"'rn' + num.number\" class=\"flex-center num-row\" [style.height]=\"num.height || dataTableService.defltRHgt\">\r\n <div class=\"small-text\">{{num.number | number}}</div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div><div #dataTable class=\"data-table\" [class.inline-table]=\"rowNumbers && !dataTableService.showCharts() && !currGroupValues().length\">\r\n <div #dataTableHeaders class=\"data-table-headers\">\r\n @for (col of columnHeaders; track col.column; let i = $index) {\r\n <app-data-table-header\r\n [columnHeader]=\"col\"\r\n [colWid]=\"dataTableService.useColWid\"\r\n [hideMinCol]=\"col.hideMinCol\"\r\n [canFreeze]=\"i === 0 ? true : false\"\r\n (reset)=\"resetCurrentData($event)\"\r\n (freeze)=\"freezeColCells($event)\"\r\n (minimize)=\"minimizeColEls($event)\"\r\n (filFocus)=\"handleFilFocus($event)\"\r\n (scrollOnFocus)=\"checkTabHorizScroll($event)\"\r\n (emitCompFocus)=\"killSelFilOpts(true)\"\r\n (filSelClick)=\"handleWinClickOnSelFil()\"\r\n (height)=\"setHeaderHeight($event, true)\"\r\n (render)=\"renderCurrData(false, $event.field)\"\r\n (width)=\"handleSingleColResize($event.value, $event.column)\"\r\n ></app-data-table-header>\r\n }\r\n </div>\r\n <div #dataTableBody id=\"dataTableBody\" style=\"overflow: auto;\" [style.height]=\"dataTableService.dTblHeight() + 'px'\" (scroll)=\"handleScroll($event)\"\r\n [class.table-working]=\"isMultiFiltering() || dataTableService.isFiltering() || dataTableService.isSorting()\" (scrollend)=\"handleScrollEnd()\">\r\n <div #aboveArea [ngStyle]=\"{'height': aboveHgt() + 'px', 'width': useRowWid}\"></div>\r\n <div [style.transform]=\"'translateY('+transY()+'px)'\">\r\n @for(row of rows; track $index){\r\n <div [id]=\"row.id\" class=\"data-table-row\" [attr.data-index]=\"row.index\"\r\n [class.data-row-selected]=\"!dataTableService.displayOnlySelRows && dataTableService.currSelRows.indexOf(row.index) > -1\"\r\n [ngStyle]=\"{'width': row.width, 'height': row.height}\" >\r\n @for(cell of row.cells; track cell.column){\r\n <app-data-cell [cell]=\"cell\" \r\n [rowId]=\"row.id\" \r\n [text]=\"cell.text || ''\"\r\n [html]=\"cell.html || ''\"\r\n [rawText]=\"cell.rawText\"\r\n [minimized]=\"cell.minimized\"\r\n [rowHeight]=\"row.height || ''\"\r\n (edit)=\"execCellEdit($event)\"\r\n (mousedown)=\"checkCellEditOnClick()\"\r\n [columnValClass]=\"cell.specialColClass\"\r\n (dragListen)=\"listenToCellDraggerMouseMove = $event\"\r\n [colWid]=\"cell.width || dataTableService.useColWid\"\r\n (width)=\"handleSingleColResize($event)\"\r\n (height)=\"setSingleRowHgt($event, row.id, true)\"\r\n (clearVEditFocus)=\"validatedEditType = $event\"\r\n (validateEditFocus)=\"handleValidatedCellEditFocus($event)\"\r\n ></app-data-cell>\r\n }\r\n </div>\r\n }\r\n </div>\r\n <div #belowArea [ngStyle]=\"{'height': belowHgt() + 'px', 'width': useRowWid}\"></div>\r\n @for(group of currGroupValues(); track group){\r\n <app-row-group-panel\r\n [groupValue]=\"group.value\"\r\n [maxCols]=\"maxCols\"\r\n [useRowWid]=\"useRowWid\"\r\n [editable]=\"editable\"\r\n [horizRest]=\"horizRest()\"\r\n [columns]=\"columnNames\"\r\n [showRowNumbers]=\"rowNumbers\"\r\n [colOfInt]=\"columnOfInterest()\"\r\n (horizPos)=\"setHorizPos($event)\"\r\n (cellEdit)=\"execCellEdit($event)\"\r\n (openEvt)=\"scrollToRowGroup($event)\"\r\n ></app-row-group-panel>\r\n }\r\n @if(!dataTableService.currFilData.length && !currGroupValues().length){\r\n <div [style.height]=\"dataTableService.dTblHeight() + 'px'\" class=\"data-table-row flex-center data-table-row-no-data\" style=\"width: 100%; white-space: normal;\">\r\n <div class=\"center\">{{dataTableService.noDataMsg}}</div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n @if(paginatorReady){\r\n <app-data-table-paginator\r\n [filSortStr]=\"allFilSortInfo()\"\r\n (jumpTo)=\"jumpToRow($event)\"\r\n [totalRows]=\"dataTableService.currFilData.length\"\r\n [disableJump]=\"dataTableService.showCharts() || currGroupValues().length > 0 || !dataTableService.currFilData.length || handlingSelRows\"\r\n ></app-data-table-paginator><!--not an actual paginator-->\r\n }\r\n <div class=\"pad-top-thirty right\">\r\n <div class=\"inline-b deebo-dd-contain-div\">\r\n @if(canGroupBy().length > 0){\r\n <app-row-group-menu\r\n [groups]=\"canGroupBy()\"\r\n [disableGB]=\"dataTableService.showCharts()\"\r\n [enableClear]=\"currGroupValues().length ? true : false\"\r\n ></app-row-group-menu>\r\n }\r\n </div><div class=\"inline-b deebo-dd-contain-div\">\r\n @if(dataTableService.currFilData.length > 0){\r\n <app-export-component\r\n [columns]=\"columnHeaders\"\r\n [disableExport]=\"dataTableService.showCharts()\"\r\n [count]=\"dataTableService.currFilData.length\">\r\n </app-export-component>\r\n }\r\n </div>\r\n </div>\r\n</div>", styles: [":host{--accent-color:rgb(50, 50, 50);--grid-color:rgb(199, 199, 199);--pad-left-base: 33px;--row-num-width: 75px;--reg-font-size: 17px }input[name=topLevelDataFilter]{float:left;padding:7px 5px;vertical-align:middle;box-shadow:0 0 1px 1px var(--grid-color);-moz-box-shadow:0 0 1px 1px var(--grid-color);-webkit-box-shadow:0 0 1px 1px var(--grid-color)}.deebo-dd-contain-div{margin:0 31px}.btn-chart,.btn-clear-grp{border-radius:3px}.btn-chart i{font-size:28px;vertical-align:middle;color:var(--accent-color)}.btn-chart:hover,.btn-clear-grp:hover{background:#e9e9e9;transition:background .5s ease}.dt-checks{margin-left:var(--row-num-width)}.row-numbers{margin-top:11px;display:inline-block;width:var(--row-num-width)}.row-num-header{background:#e9e9e9;box-sizing:border-box;border-bottom:1px solid var(--accent-color);border-right:1px solid var(--accent-color);box-shadow:0 -1px 3px 1px var(--grid-color);-moz-box-shadow:0 -1px 3px 1px var(--grid-color);-webkit-box-shadow:0 -1px 3px 1px var(--grid-color)}.num-row{white-space:nowrap;box-sizing:border-box;border-left:1px solid var(--grid-color);border-bottom:1px solid var(--grid-color)}.inline-table{display:inline-block;width:calc(100% - var(--row-num-width))}.special-edit-container{z-index:5;width:0!important;height:0!important}.edit-input{border:none;font-size:15px;box-shadow:none;position:absolute;background:#fff;-moz-box-shadow:none;-webkit-box-shadow:none;box-sizing:border-box}.edit-input[type=number]{text-align:right}.edit-input[type=date]{padding-left:17px}\n", "@charset \"UTF-8\";@font-face{font-family:Roboto Condensed;src:url(https://d2ffvluimla00s.cloudfront.net/RobotoCondensed-VariableFont_wght.ttf) format(\"ttf\")}@font-face{font-family:Material Icons;font-style:normal;font-weight:400;src:url(https://d2ffvluimla00s.cloudfront.net/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2) format(\"woff2\")}.deebo-data-grid-section{font-family:Roboto Condensed,Arial,Helvetica,sans-serif}:host{--accent-color:rgb(50, 50, 50);--grid-color:rgb(199, 199, 199);--pad-left-base: 33px;--row-num-width: 75px;--reg-font-size: 17px }.relly{position:relative}.hide{display:none!important;max-height:0;max-width:0;top:0;left:0;opacity:0}.ovy{overflow:auto}.no-ovy-y{overflow-y:hidden!important}.pad-top-sm{padding-top:4px!important}.pad-top-ten{padding-top:10px!important}.pad-top-teen{padding-top:17px}.pad-top-thirty,.pad-top-trey{padding-top:33px}.pad-top-much{padding-top:75px}.o-visible{overflow:visible}.dontwrap{white-space:nowrap}.inline-b{display:inline-block}.inline{display:inline}.half-wid{width:50%;vertical-align:top;display:inline-block}.qtr-wid{width:25%;vertical-align:top;display:inline-block}.third-wid{width:33.3%;vertical-align:top;display:inline-block}.two-third-wid{width:66.6%;vertical-align:top;display:inline-block}.three-qtr-wid{width:75%;vertical-align:top;display:inline-block}.v-top{vertical-align:top!important}.v-mid{vertical-align:middle!important}.v-bot{vertical-align:bottom!important}.lg-text{font-size:larger}.xlg-text{font-size:x-large!important}.md-text{font-size:var(--reg-font-size)!important}.small-text{font-size:small}.tiny-text{font-size:x-small}.invisible{visibility:hidden}.flex-center{display:flex;justify-content:center;align-items:center}.flex-item{flex:1 1 auto}.o-x-hidden{overflow-x:hidden!important}.no-weight{font-weight:400!important}.semi-heavy{font-weight:500!important}.heavy{font-weight:700!important}.marauto{margin:0 auto}.center{text-align:center}.left{text-align:left}.right{text-align:right}.btn-reset{border:none;color:#fff;padding:7px 11px;background:maroon}.error-message{color:maroon;font-weight:500}.success{color:green;font-weight:500}.neutral{color:var(--accent-color)}input,select{border:none;padding:4px;border-radius:3px;box-sizing:border-box;font-family:Roboto Condensed,Arial,Helvetica,sans-serif;box-shadow:0 0 1px 1px #afafaf;-moz-box-shadow:0 0 1px 1px #afafaf;-webkit-box-shadow:0 0 1px 1px #afafaf}input[type=radio],input[type=checkbox]{cursor:pointer;box-shadow:none!important;-moz-box-shadow:none!important;-webkit-box-shadow:none!important}button{cursor:pointer}button:focus,input:focus,select:focus,textarea:focus,a:focus{outline-width:0}button:disabled,input:disabled,select:disabled{opacity:.5;cursor:not-allowed}.prevent{opacity:.5;cursor:not-allowed;pointer-events:none}.controls{text-align:right;padding:16px 11px 6px 1px;max-width:100%;clear:both;overflow-x:auto;white-space:nowrap}.controls button{font-size:var(--reg-font-size);margin-right:31px;vertical-align:middle}.controls button span{vertical-align:middle}.controls button:last-of-type{margin-right:0}.data-table{margin-top:11px;overflow:hidden;box-shadow:0 -1px 3px 1px var(--grid-color);-moz-box-shadow:0 -1px 3px 1px var(--grid-color);-webkit-box-shadow:0 -1px 3px 1px var(--grid-color)}.sel-rows-checked{color:#00a8f399!important}.save-hilite{padding:2px 4px;border-radius:3px;background:#ebebeb;box-shadow:0 0 3px 1px var(--accent-color);-moz-box-shadow:0 0px 3px 1px var(--accent-color);-webkit-box-shadow:0 0px 3px 1px var(--accent-color)}.btn-ctrl-sel-rows,.btn-export-or-print{border:none;padding:3px 4px;border-radius:3px;background:#f5f5f5;vertical-align:middle;box-shadow:0 0 2px 1px var(--accent-color);-moz-box-shadow:0 0 2px 1px var(--accent-color);-webkit-box-shadow:0 0 2px 1px var(--accent-color)}.deebo-dd-contain-div:last-of-type{margin-right:0!important}.btn-export{width:100%;text-transform:uppercase}.btn-export:hover{text-decoration:underline}.btn-ctrl-sel-rows:hover,.btn-export-or-print:hover{background:#ebebeb;box-shadow:0 0 6px 2px gray;-moz-box-shadow:0 0 6px 2px gray;-webkit-box-shadow:0 0 6px 2px gray}.btn-center-selected{padding:2px 4px;border-radius:5px;background:#f5f5f5;box-shadow:0 0 6px 2px gray;-moz-box-shadow:0 0 6px 2px gray;-webkit-box-shadow:0 0 6px 2px gray}.btn-ctrl-sel-rows .material-icons{font-size:18px;font-weight:600;vertical-align:middle}.btn-ctrl-sel-rows .material-icons:not(.error-message){color:var(--accent-color)}.data-table-headers{cursor:pointer;white-space:nowrap;border-bottom:1px solid var(--grid-color)}.data-table-row{white-space:nowrap}.data-table-row:hover,.data-table-row .col-item-freeze:hover{background:#f3f3f3}.data-row-selected{background:#d6d6d6!important}.table-working{opacity:.1;pointer-events:none}.select-row-check{left:9px;z-index:10;cursor:pointer;margin:0;position:absolute;padding:0!important}.gb-row-num{left:2px;z-index:10;cursor:pointer;margin:0;font-size:x-small;position:absolute;padding:0!important}.mock-html{width:50%;height:18px;margin:0 auto;border-radius:11px;background:var(--grid-color)}.abs-right{top:7px;right:7px;position:absolute}.has-symbol:after{content:attr(data-symbol);padding-left:3px}.has-symbol-b:before{content:attr(data-symbol);padding-right:3px}.data-table-row-no-data{font-size:xx-large;color:gray;font-weight:500;text-shadow:-1px -1px var(--accent-color)}.data-row-selected .col-item-freeze,.data-row-selected .data-cell,.data-row-selected:hover,.data-row-selected .col-item-freeze:hover,.data-row-selected .data-cell:hover{background:#d6d6d6!important}.data-table-headers .col-item-freeze:first-of-type{border-bottom:1px solid var(--grid-color)}.col-header{z-index:2;width:125px;overflow:auto;cursor:grab;padding:7px 3px;text-align:center;position:relative;box-sizing:border-box;display:inline-block;vertical-align:top;white-space:pre-wrap;word-wrap:break-word;background:#fafafa;border-right:1px solid var(--grid-color)}.col-header button,.col-header span,.col-header select{cursor:pointer;vertical-align:middle}.col-header input{vertical-align:middle}.col-header-img-container{overflow-y:hidden;text-align:center;display:inline-block;vertical-align:middle;background-size:cover;background-position:center;background-repeat:no-repeat}.col-header-minimized{width:0!important;height:0!important;padding:0!important;overflow:hidden!important;border-bottom:none!important;border-right:none!important;transition:width .3s ease}.btn-maximize-col{border:none;border-radius:5px;background:#f5f5f5;box-shadow:0 0 3px 2px gray;font-size:var(--reg-font-size);margin-right:27px;padding:4px}.no-btn{border:none;background:none}.col-item-freeze{left:0;z-index:3;position:sticky;background:#fff;box-shadow:2px 0 3px 0 var(--grid-color);-moz-box-shadow:2px 0px 3px 0px var(--grid-color);-webkit-box-shadow:2px 0px 3px 0px var(--grid-color)}.col-header input,.select-filter{width:40%;margin:11px 0 1px}.sel-fil-container{z-index:5}.edit-input-option-cont{left:0;right:0}.edit-input-opt button{width:100%;font-size:15px;padding:11px 0 11px 17px;text-align:left!important}.selfil-opt-contain,.edit-input-option-cont{overflow:auto;max-height:240px;border-radius:5px;position:absolute;background:#fff;box-shadow:0 1px 3px 1px var(--grid-color);-moz-box-shadow:0 1px 3px 1px var(--grid-color);-webkit-box-shadow:0 1px 3px 1px var(--grid-color)}.selfil-div,.edit-input-opt{cursor:pointer;text-align:left;border-bottom:1px solid var(--grid-color)}.selfil-div:hover,.edit-input-opt:hover{background:#ebebeb}.selfil-div:last-of-type,.edit-input-opt:last-of-type{border-bottom:none}.selfil-div label{width:calc(100% - 22px);font-size:15px;cursor:pointer;padding:11px;display:inline-block}.selfil-div label input[type=checkbox]{margin-right:11px;vertical-align:middle}.select-filter-comparator{width:36px;z-index:3;opacity:0;position:relative;margin:11px 0 1px 15px}.btn-fil-comp{top:2px;left:-36px;border:none;position:absolute;background:#fafafa}.btn-fil-comp i{color:var(--accent-color)}@media screen and (min-width:960px){.col-header input,.select-filter,.select-filter-comparator{margin-top:7px;margin-bottom:1px}}.data-cell{width:125px;padding:11px 6px 11px 17px;overflow:auto;font-size:15px;word-wrap:break-word;white-space:pre-line;vertical-align:top;box-sizing:border-box;display:inline-flex;align-items:center;border-right:1px solid var(--grid-color);border-bottom:1px solid var(--grid-color)}input.edit-input{border-radius:0}.data-cell:focus,input.edit-input:focus{outline:1px solid #00a8f3}.dragger-cell-focused{background:#00a8f333;border-left:1px solid #00a8f3;border-right:1px solid #00a8f3!important}.focused-cell-dragger{width:9px;height:9px;cursor:crosshair;position:absolute;background:#00a8f3;box-shadow:0 0 1px 1px var(--accent-color);-moz-box-shadow:0 0 1px 1px var(--accent-color);-webkit-box-shadow:0 0 1px 1px var(--accent-color)}.holding-check{padding-left:44px}.data-cell-riiight{padding:11px 17px 11px 6px;justify-content:right}.data-cell-ceeenter{padding:11px 6px;justify-content:center!important}.cell-og-link{line-height:0;visibility:hidden}.cell-og-link:before{visibility:visible;content:attr(data-title)}.moveable-col{cursor:col-resize!important}.moveable-row{cursor:row-resize!important}.data-sort-arr{cursor:pointer;margin-left:11px;border:none;background:none;padding:0 0 0 2px;color:var(--accent-color)}.data-sort-arr .material-icons{font-size:20px}.data-col-info{left:10px;top:12px;padding:0;border:none;cursor:pointer;background:none;position:absolute;color:var(--accent-color)}.data-col-info .material-icons{font-size:16px}.sort-order-indicator{font-weight:600;vertical-align:middle;font-size:16px}.btn-min-col{cursor:pointer;top:0;right:2px;font-size:20px;border:none;background:none;position:absolute;padding:0 2px 5px 0;color:var(--accent-color)}.btn-min-col-hide{z-index:0;visibility:hidden;pointer-events:none}.btn-freeze-col{float:left;border:none;cursor:pointer;background:none}.btn-freeze-col .material-icons{font-size:16px;color:var(--accent-color)}.hidden-cols{max-width:100%;overflow-x:auto;clear:both;white-space:nowrap;padding:17px 15px 5px 4px}.hidden-cols button:first-of-type:before{content:\"Hidden Columns\";font-size:12px;font-weight:600;padding-right:11px;vertical-align:middle}.col-header span{word-wrap:break-word;vertical-align:middle;font-size:var(--reg-font-size)}.o-ins-div span,.o-ins-div i{vertical-align:middle;font-size:16px}.aux-chip{text-align:center;padding-bottom:33px;word-wrap:break-word;white-space:pre-wrap}.insights{padding:17px 15px}.insight-field{min-height:100px;padding:21px 0;font-size:large;white-space:pre-wrap;word-wrap:break-word;border-bottom:1px solid lightgray}@media screen and (max-width:760px){.insight-field:first-of-type{padding-top:7px}}@media screen and (min-width:760px){.insight-field-row{border-bottom:1px solid lightgray}.insight-field,.aux-chip{width:50%;vertical-align:top;display:inline-block;border-bottom:none}}@media screen and (min-width:1024px){.insight-field,.aux-chip{width:33%}}.chart-label-cont{padding-top:10px;text-align:center}.pie-piece-label{padding-top:5px;margin-right:27px;display:inline-block}.pie-piece-label-sq{width:11px;height:11px;margin:0 0 0 2px;display:inline-block;vertical-align:middle}.pie-piece-label span{font-size:small}.pie-piece-label span:before{font-size:smaller;padding-right:4px;font-weight:600;content:attr(data-percent)}.pie-layover{border-radius:50%;background:#fff;position:absolute;padding:5px!important;display:flex;font-size:17px;align-items:center;overflow:hidden;box-sizing:border-box;justify-content:center;color:var(--accent-color)}.pie-layover div{font-weight:500;padding:0!important}.ins-even-dist-ct{font-size:24px;font-weight:500}.line-graph-container{padding:11px 0 33px 7px!important;box-sizing:border-box;margin-left:11px}.lg-title-cont{padding:0!important;text-align:center;margin:17px 11px}.lg-n-marker-cont{width:60px;position:relative;padding:0!important;box-sizing:border-box;display:inline-block;vertical-align:top}.lg-n-marker-cont:before{top:45%;left:-37px;display:block;position:absolute;white-space:nowrap;color:var(--grid-color);content:attr(data-column);transform:rotate(-90deg)}.lg-n-marker,.lg-n-marker-h{padding:0 11px 0 0!important;font-size:small;position:relative;text-align:right;white-space:nowrap;box-sizing:border-box}.line-graph{width:calc(92% - 60px);position:relative;box-sizing:border-box;display:inline-block;vertical-align:top;padding:0!important;border-left:1px solid var(--accent-color);border-bottom:1px solid var(--accent-color)}.lg-lbl-x{left:0;right:0;bottom:-45px;font-size:small;font-weight:500;text-align:center;position:absolute;padding:0!important}.btn-line-graph-opts{margin:0;padding:4px;background:none;border-top:1px solid var(--accent-color);border-left:1px solid var(--accent-color);border-bottom:1px solid var(--accent-color)}.sp-line-graph-title{margin-top:7px;font-size:large;text-decoration:underline}.lg-dt-marker,.lg-dt-marker-h,.vd-n-marker,.vd-n-marker-h{bottom:-22px;font-size:small;position:absolute;text-align:center;padding:0!important;display:inline-block;box-sizing:border-box}.lg-dt-marker-h,.vd-n-marker-h{visibility:hidden}.lg-dt-marker.visible-marker{margin-left:21px}.lg-n-marker-h{height:0;visibility:hidden}.visible-marker{z-index:2;font-weight:600;background:#fff;height:unset!important;padding:1px 2px!important;visibility:visible!important;box-shadow:0 0 2px 1px #afafaf;-moz-box-shadow:0 0 2px 1px #afafaf;-webkit-box-shadow:0 0 2px 1px #afafaf}.visible-marker:before{font-weight:600}.lg-dt-marker:before{top:-15px;left:0;content:\"|\";position:absolute}.vd-n-marker:before{top:-15px;left:50%;content:\"|\";left:calc(50% - 2px);position:absolute}.lg-n-marker:before{top:-4px;right:-3px;content:\"-\";font-weight:600;font-size:large;position:absolute;background:#fff}.btn-line-graph-opts:hover{background:#d6d6d6;transition:background .3s ease}.btn-line-graph-opts:last-of-type{border-right:1px solid var(--accent-color)}.btn-lg-sel{color:#fff!important;background:var(--accent-color);box-shadow:0 0 2px 1px #afafaf;-moz-box-shadow:0 0 2px 1px #afafaf;-webkit-box-shadow:0 0 2px 1px #afafaf}.btn-lg-sel:hover{background:var(--accent-color)}.lg-plot{height:8px;width:8px;opacity:.3;cursor:pointer;border-radius:50%;position:absolute;padding:0!important;background:var(--accent-color)}.lg-plot:hover{z-index:100;opacity:1!important}.lg-plot:hover:after{padding:3px;display:inline-block;font-size:small;border-radius:5px;margin:0 0 0 25px;font-weight:700;content:attr(data-number);background:#fff!important;box-shadow:0 0 2px 1px #afafaf;-moz-box-shadow:0 0 2px 1px #afafaf;-webkit-box-shadow:0 0 2px 1px #afafaf}.lg-plot-opq{opacity:0;background:#fff}.lg-plot-opq:hover{opacity:1!important;background:var(--grid-color);transition:opacity .2s ease}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:\"liga\";-webkit-font-feature-settings:\"liga\";-webkit-font-smoothing:antialiased}\n"] }]
7285
+ ], template: "<div class=\"deebo-data-grid-section\">\r\n <div class=\"hidden-cols\">\r\n @for (hcol of hiddenCols; track hcol) {\r\n <button type=\"button\" class=\"btn-maximize-col\" (click)=\"maximizeColCells(hcol)\">{{hcol}}</button>\r\n }\r\n </div>\r\n <div class=\"controls\" >\r\n <input type=\"text\" #topLevelDataFilter autocomplete=\"off\" name=\"topLevelDataFilter\" placeholder=\"Filter any column...\" \r\n (input)=\"topFilterOnKeyUp($event)\" (keyup)=\"topFilterOnKeyUp($event)\" maxlength=\"255\" [(ngModel)]=\"topLevelFilter\" \r\n [disabled]=\"dataTableService.showCharts() || !dataTableService.mainData.length || handlingSelRows\" autocomplete=\"off\" />\r\n @if(currGroupValues().length){\r\n <button type=\"button\" class=\"no-btn btn-clear-grp\" (click)=\"processGrouping(null)\">\r\n <i class=\"material-icons error-message heavy v-mid\" aria-hidden=\"false\">close</i>&nbsp;<span class=\"md-text v-mid\">Grouping</span>\r\n </button>\r\n }\r\n <button type=\"button\" class=\"no-btn btn-chart\" (click)=\"openCharts()\" [disabled]=\"dataTableService.showCharts() || !dataTableService.currFilData.length || handlingSelRows || !common.goodLs()\">\r\n <i class=\"material-icons v-mid\" aria-hidden=\"false\">bar_chart</i>&nbsp;<span class=\"v-mid\">Insights</span>\r\n </button>\r\n <button type=\"button\" [disabled]=\"!dataTableService.currSelRows.length || handlingSelRows\" (click)=\"clearSelectedRows()\" class=\"btn-ctrl-sel-rows\">Deselect Rows</button>\r\n <button #btnTogSelRows type=\"button\" [disabled]=\"!dataTableService.currSelRows.length || handlingSelRows\" (click)=\"toggleSelectedRows()\" class=\"btn-ctrl-sel-rows\">\r\n <i class=\"material-icons\" aria-hidden=\"false\">check_box_outline_blank</i>&nbsp;<span>{{togSelRows}}</span>\r\n </button>\r\n <button [disabled]=\"!topLevelFilter && dataTableService.arefilSrtTrkPropsDefault()\" \r\n class=\"btn-reset\" (click)=\"resetCurrentData()\" >Reset</button>\r\n </div>\r\n @if (!isScrolling){\r\n <div class=\"relly\" [ngClass]=\"{'dt-checks': rowNumbers, 'hide' : isMultiFiltering() || dataTableService.isFiltering() || \r\n dataTableService.isSorting() || currGroupValues().length || currSelEditOpts.length }\">\r\n @for (chk of dtChecks; track $index) {\r\n <input [id]=\"'checkDataTableRow' + chk\" class=\"select-row-check invisible\" \r\n [checked]=\"dataTableService.currSelRows.indexOf(chk) > -1\" type=\"checkbox\" [name]=\"'checkDataTableRow' + chk\"\r\n (click)=\"toggleSingleRowSelected(chk)\" (keyup.enter)=\"toggleSingleRowSelected(chk)\" [value]=\"'dataTableRow' + chk\" >\r\n }\r\n </div>\r\n }\r\n <div #selFilContainer class=\"relly sel-fil-container\">\r\n <div class=\"selfil-opt-contain\" [ngStyle]=\"ddFilStyle\">\r\n @for (opt of currFilOpts; track opt; let i = $index) {\r\n <div class=\"selfil-div\">\r\n <label [for]=\"'selfilOpt' + currDDFilter + i\" class=\"'selfil-lbl-' + currDDFilter\"><input [id]=\"'selfilOpt' + currDDFilter + i\" \r\n [class]=\"'selfil-opt-' + currDDFilter\" (input)=\"handleMultiSelFilter(currDDFilter, opt.value, $event.target.checked)\" \r\n (click)=\"handleMultiSelFilter(currDDFilter, opt.value, $event.target.checked)\" [name]=\"'selfilOpt' + currDDFilter + i\" \r\n [checked]=\"opt.checked\" [value]=\"opt.value\" [disabled]=\"isMultiFiltering()\" type=\"checkbox\" />{{opt.value || \"(Blank)\"}}</label>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n <div #validatedEdit class=\"relly special-edit-container invisible\">\r\n @if (validatedEditType === 'date'){\r\n <input id=\"selEditDate\" name=\"selEditDate\" type=\"date\" class=\"edit-input\" \r\n (change)=\"execCellEdit($event, true)\" (input)=\"execCellEdit($event, true)\" (blur)=\"execCellEdit($event)\" />\r\n }\r\n @if (validatedEditType === 'number'){\r\n <input id=\"selEditNum\" name=\"selEditNum\" type=\"number\" class=\"edit-input\" \r\n (keyup)=\"execCellEdit($event, true)\" (input)=\"execCellEdit($event, true)\" (blur)=\"execCellEdit($event)\" (keyup.enter)=\"execCellEdit($event)\" />\r\n }\r\n @if (validatedEditType === 'text'){\r\n <div class=\"relly edit-input\">\r\n <div class=\"edit-input-option-cont\">\r\n <div class=\"edit-input-opt\"><button type=\"button\" class=\"no-btn\" (click)=\"execCellEdit($event, false, null)\">-</button></div>\r\n @for (opt of currSelEditOpts; track opt.value) {\r\n <div class=\"edit-input-opt\"><button type=\"button\" class=\"no-btn\" \r\n (click)=\"execCellEdit($event, false, opt.value)\">{{opt.value || \"(Blank)\"}}</button>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n <div class=\"relly\" style=\"z-index: 6;\">\r\n <div #fCellDragger tabindex=\"0\" id=\"fCellDragger\" (focus)=\"focusCellDragger()\" (blur)=\"execValClear(true)\"\r\n (mousedown)=\"focusCellDraggerFromMouseDown()\" (keydown)=\"handleFDragTab($event)\" (keydown)=\"handleDraggerKD($event)\"\r\n [ngClass]=\"{'hide': dataTableService.currEditIndex < 0, 'focused-cell-dragger': dataTableService.currEditIndex > -1 }\"></div>\r\n </div>\r\n @if(dataTableService.showCharts() && common.goodLs()){\r\n <app-charts-and-graphs \r\n [height]=\"chartHgt\"\r\n [state]=\"chartState\"\r\n [chartColumns]=\"columnsForCharts\"\r\n (close)=\"closeCharts($event)\"\r\n ></app-charts-and-graphs>\r\n }\r\n <div [ngClass]=\"{'row-numbers': rowNumbers && !dataTableService.showCharts() && !currGroupValues().length, 'hide': !rowNumbers || dataTableService.showCharts() || currGroupValues().length}\" >\r\n <div #rowNumHeader class=\"row-num-header flex-center\"><div class=\"semi-heavy\">No.</div></div>\r\n <div style=\"overflow: hidden;\" [style.height]=\"dataTableService.dTblHeight() + 'px'\">\r\n <div [ngStyle]=\"{'overflow': 'auto', 'marginTop': rnBTop() + 'px' }\">\r\n @for (num of rowNos; track num.number) {\r\n <div [id]=\"'rn' + num.number\" class=\"flex-center num-row\" [style.height]=\"num.height || dataTableService.defltRHgt\">\r\n <div class=\"small-text\">{{num.number | number}}</div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div><div #dataTable class=\"data-table\" [class.inline-table]=\"rowNumbers && !dataTableService.showCharts() && !currGroupValues().length\">\r\n <div #dataTableHeaders class=\"data-table-headers\">\r\n @for (col of columnHeaders; track col.column; let i = $index) {\r\n <app-data-table-header\r\n [columnHeader]=\"col\"\r\n [colWid]=\"dataTableService.useColWid\"\r\n [hideMinCol]=\"col.hideMinCol\"\r\n [canFreeze]=\"i === 0 ? true : false\"\r\n (reset)=\"resetCurrentData($event)\"\r\n (freeze)=\"freezeColCells($event)\"\r\n (minimize)=\"minimizeColEls($event)\"\r\n (filFocus)=\"handleFilFocus($event)\"\r\n (scrollOnFocus)=\"checkTabHorizScroll($event)\"\r\n (emitCompFocus)=\"killSelFilOpts(true)\"\r\n (filSelClick)=\"handleWinClickOnSelFil()\"\r\n (height)=\"setHeaderHeight($event, true)\"\r\n (render)=\"renderCurrData(false, $event.field)\"\r\n (width)=\"handleSingleColResize($event.value, $event.column)\"\r\n ></app-data-table-header>\r\n }\r\n </div>\r\n <div #dataTableBody id=\"dataTableBody\" [ngStyle]=\"{ 'overflowY': 'auto', 'overflowX': currGroupValues().length ? 'hidden' : 'auto' }\" \r\n [style.height]=\"dataTableService.dTblHeight() + 'px'\" (scroll)=\"handleScroll($event)\" (scrollend)=\"handleScrollEnd()\"\r\n [class.table-working]=\"isMultiFiltering() || dataTableService.isFiltering() || dataTableService.isSorting()\" >\r\n <div #aboveArea [ngStyle]=\"{'height': aboveHgt() + 'px', 'width': useRowWid}\"></div>\r\n <div [style.transform]=\"'translateY('+transY()+'px)'\">\r\n @for(row of rows; track $index){\r\n <div [id]=\"row.id\" class=\"data-table-row\" [attr.data-index]=\"row.index\"\r\n [class.data-row-selected]=\"!dataTableService.displayOnlySelRows && dataTableService.currSelRows.indexOf(row.index) > -1\"\r\n [ngStyle]=\"{'width': row.width, 'height': row.height}\" >\r\n @for(cell of row.cells; track cell.column){\r\n <app-data-cell [cell]=\"cell\" \r\n [rowId]=\"row.id\" \r\n [text]=\"cell.text || ''\"\r\n [html]=\"cell.html || ''\"\r\n [rawText]=\"cell.rawText\"\r\n [minimized]=\"cell.minimized\"\r\n [rowHeight]=\"row.height || ''\"\r\n (edit)=\"execCellEdit($event)\"\r\n (mousedown)=\"checkCellEditOnClick()\"\r\n [columnValClass]=\"cell.specialColClass\"\r\n (dragListen)=\"listenToCellDraggerMouseMove = $event\"\r\n [colWid]=\"cell.width || dataTableService.useColWid\"\r\n (width)=\"handleSingleColResize($event)\"\r\n (height)=\"setSingleRowHgt($event, row.id, true)\"\r\n (clearVEditFocus)=\"validatedEditType = $event\"\r\n (validateEditFocus)=\"handleValidatedCellEditFocus($event)\"\r\n ></app-data-cell>\r\n }\r\n </div>\r\n }\r\n </div>\r\n <div #belowArea [ngStyle]=\"{'height': belowHgt() + 'px', 'width': useRowWid}\"></div>\r\n @for(group of currGroupValues(); track group){\r\n <app-row-group-panel\r\n [groupValue]=\"group.value\"\r\n [maxCols]=\"maxCols\"\r\n [useRowWid]=\"useRowWid\"\r\n [editable]=\"editable\"\r\n [horizRest]=\"horizRest()\"\r\n [columns]=\"columnNames\"\r\n [showRowNumbers]=\"rowNumbers\"\r\n [colOfInt]=\"columnOfInterest()\"\r\n (horizPos)=\"setHorizPos($event)\"\r\n (cellEdit)=\"execCellEdit($event)\"\r\n (openEvt)=\"scrollToRowGroup($event)\"\r\n ></app-row-group-panel>\r\n }\r\n @if(!dataTableService.currFilData.length && !currGroupValues().length){\r\n <div [style.height]=\"dataTableService.dTblHeight() + 'px'\" class=\"data-table-row flex-center data-table-row-no-data\" style=\"width: 100%; white-space: normal;\">\r\n <div class=\"center\">{{dataTableService.noDataMsg}}</div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n @if(paginatorReady){\r\n <app-data-table-paginator\r\n [filSortStr]=\"allFilSortInfo()\"\r\n (jumpTo)=\"jumpToRow($event)\"\r\n [totalRows]=\"dataTableService.currFilData.length\"\r\n [disableJump]=\"dataTableService.showCharts() || currGroupValues().length > 0 || !dataTableService.currFilData.length || handlingSelRows\"\r\n ></app-data-table-paginator><!--not an actual paginator-->\r\n }\r\n <div class=\"pad-top-thirty right\">\r\n <div class=\"inline-b deebo-dd-contain-div\">\r\n @if(canGroupBy().length > 0){\r\n <app-row-group-menu\r\n [groups]=\"canGroupBy()\"\r\n [disableGB]=\"dataTableService.showCharts()\"\r\n [enableClear]=\"currGroupValues().length ? true : false\"\r\n ></app-row-group-menu>\r\n }\r\n </div><div class=\"inline-b deebo-dd-contain-div\">\r\n @if(dataTableService.currFilData.length > 0){\r\n <app-export-component\r\n [columns]=\"columnHeaders\"\r\n [disableExport]=\"dataTableService.showCharts()\"\r\n [count]=\"dataTableService.currFilData.length\">\r\n </app-export-component>\r\n }\r\n </div>\r\n </div>\r\n</div>", styles: [":host{--accent-color:rgb(50, 50, 50);--grid-color:rgb(199, 199, 199);--pad-left-base: 33px;--row-num-width: 75px;--reg-font-size: 17px }input[name=topLevelDataFilter]{float:left;padding:7px 5px;vertical-align:middle;box-shadow:0 0 1px 1px var(--grid-color);-moz-box-shadow:0 0 1px 1px var(--grid-color);-webkit-box-shadow:0 0 1px 1px var(--grid-color)}.deebo-dd-contain-div{margin:0 31px}.btn-chart,.btn-clear-grp{border-radius:3px}.btn-chart i{font-size:28px;vertical-align:middle;color:var(--accent-color)}.btn-chart:hover,.btn-clear-grp:hover{background:#e9e9e9;transition:background .5s ease}.dt-checks{margin-left:var(--row-num-width)}.row-numbers{margin-top:11px;display:inline-block;width:var(--row-num-width)}.row-num-header{background:#e9e9e9;box-sizing:border-box;border-bottom:1px solid var(--accent-color);border-right:1px solid var(--accent-color);box-shadow:0 -1px 3px 1px var(--grid-color);-moz-box-shadow:0 -1px 3px 1px var(--grid-color);-webkit-box-shadow:0 -1px 3px 1px var(--grid-color)}.num-row{white-space:nowrap;box-sizing:border-box;border-left:1px solid var(--grid-color);border-bottom:1px solid var(--grid-color)}.inline-table{display:inline-block;width:calc(100% - var(--row-num-width))}.special-edit-container{z-index:5;width:0!important;height:0!important}.edit-input{border:none;font-size:15px;box-shadow:none;position:absolute;background:#fff;-moz-box-shadow:none;-webkit-box-shadow:none;box-sizing:border-box}.edit-input[type=number]{text-align:right}.edit-input[type=date]{padding-left:17px}\n", "@charset \"UTF-8\";@font-face{font-family:Roboto Condensed;src:url(https://d2ffvluimla00s.cloudfront.net/RobotoCondensed-VariableFont_wght.ttf) format(\"ttf\")}@font-face{font-family:Material Icons;font-style:normal;font-weight:400;src:url(https://d2ffvluimla00s.cloudfront.net/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2) format(\"woff2\")}.deebo-data-grid-section{font-family:Roboto Condensed,Arial,Helvetica,sans-serif}:host{--accent-color:rgb(50, 50, 50);--grid-color:rgb(199, 199, 199);--pad-left-base: 33px;--row-num-width: 75px;--reg-font-size: 17px }.relly{position:relative}.hide{display:none!important;max-height:0;max-width:0;top:0;left:0;opacity:0}.ovy{overflow:auto}.no-ovy-y{overflow-y:hidden!important}.pad-top-sm{padding-top:4px!important}.pad-top-ten{padding-top:10px!important}.pad-top-teen{padding-top:17px}.pad-top-thirty,.pad-top-trey{padding-top:33px}.pad-top-much{padding-top:75px}.o-visible{overflow:visible}.dontwrap{white-space:nowrap}.inline-b{display:inline-block}.inline{display:inline}.half-wid{width:50%;vertical-align:top;display:inline-block}.qtr-wid{width:25%;vertical-align:top;display:inline-block}.third-wid{width:33.3%;vertical-align:top;display:inline-block}.two-third-wid{width:66.6%;vertical-align:top;display:inline-block}.three-qtr-wid{width:75%;vertical-align:top;display:inline-block}.v-top{vertical-align:top!important}.v-mid{vertical-align:middle!important}.v-bot{vertical-align:bottom!important}.lg-text{font-size:larger}.xlg-text{font-size:x-large!important}.md-text{font-size:var(--reg-font-size)!important}.small-text{font-size:small}.tiny-text{font-size:x-small}.invisible{visibility:hidden}.flex-center{display:flex;justify-content:center;align-items:center}.flex-item{flex:1 1 auto}.o-x-hidden{overflow-x:hidden!important}.no-weight{font-weight:400!important}.semi-heavy{font-weight:500!important}.heavy{font-weight:700!important}.marauto{margin:0 auto}.center{text-align:center}.left{text-align:left}.right{text-align:right}.btn-reset{border:none;color:#fff;padding:7px 11px;background:maroon}.error-message{color:maroon;font-weight:500}.success{color:green;font-weight:500}.neutral{color:var(--accent-color)}input,select{border:none;padding:4px;border-radius:3px;box-sizing:border-box;font-family:Roboto Condensed,Arial,Helvetica,sans-serif;box-shadow:0 0 1px 1px #afafaf;-moz-box-shadow:0 0 1px 1px #afafaf;-webkit-box-shadow:0 0 1px 1px #afafaf}input[type=radio],input[type=checkbox]{cursor:pointer;box-shadow:none!important;-moz-box-shadow:none!important;-webkit-box-shadow:none!important}button{cursor:pointer}button:focus,input:focus,select:focus,textarea:focus,a:focus{outline-width:0}button:disabled,input:disabled,select:disabled{opacity:.5;cursor:not-allowed}.prevent{opacity:.5;cursor:not-allowed;pointer-events:none}.controls{text-align:right;padding:16px 11px 6px 1px;max-width:100%;clear:both;overflow-x:auto;white-space:nowrap}.controls button{font-size:var(--reg-font-size);margin-right:31px;vertical-align:middle}.controls button span{vertical-align:middle}.controls button:last-of-type{margin-right:0}.data-table{margin-top:11px;overflow:hidden;box-shadow:0 -1px 3px 1px var(--grid-color);-moz-box-shadow:0 -1px 3px 1px var(--grid-color);-webkit-box-shadow:0 -1px 3px 1px var(--grid-color)}.sel-rows-checked{color:#00a8f399!important}.save-hilite{padding:2px 4px;border-radius:3px;background:#ebebeb;box-shadow:0 0 3px 1px var(--accent-color);-moz-box-shadow:0 0px 3px 1px var(--accent-color);-webkit-box-shadow:0 0px 3px 1px var(--accent-color)}.btn-ctrl-sel-rows,.btn-export-or-print{border:none;padding:3px 4px;border-radius:3px;background:#f5f5f5;vertical-align:middle;box-shadow:0 0 2px 1px var(--accent-color);-moz-box-shadow:0 0 2px 1px var(--accent-color);-webkit-box-shadow:0 0 2px 1px var(--accent-color)}.deebo-dd-contain-div:last-of-type{margin-right:0!important}.btn-export{width:100%;text-transform:uppercase}.btn-export:hover{text-decoration:underline}.btn-ctrl-sel-rows:hover,.btn-export-or-print:hover{background:#ebebeb;box-shadow:0 0 6px 2px gray;-moz-box-shadow:0 0 6px 2px gray;-webkit-box-shadow:0 0 6px 2px gray}.btn-center-selected{padding:2px 4px;border-radius:5px;background:#f5f5f5;box-shadow:0 0 6px 2px gray;-moz-box-shadow:0 0 6px 2px gray;-webkit-box-shadow:0 0 6px 2px gray}.btn-ctrl-sel-rows .material-icons{font-size:18px;font-weight:600;vertical-align:middle}.btn-ctrl-sel-rows .material-icons:not(.error-message){color:var(--accent-color)}.data-table-headers{cursor:pointer;white-space:nowrap;border-bottom:1px solid var(--grid-color)}.data-table-row{white-space:nowrap}.data-table-row:hover,.data-table-row .col-item-freeze:hover{background:#f3f3f3}.data-row-selected{background:#d6d6d6!important}.table-working{opacity:.1;pointer-events:none}.select-row-check{left:9px;z-index:10;cursor:pointer;margin:0;position:absolute;padding:0!important}.gb-row-num{left:2px;z-index:10;cursor:pointer;margin:0;font-size:x-small;position:absolute;padding:0!important}.mock-html{width:50%;height:18px;margin:0 auto;border-radius:11px;background:var(--grid-color)}.abs-right{top:7px;right:7px;position:absolute}.has-symbol:after{content:attr(data-symbol);padding-left:3px}.has-symbol-b:before{content:attr(data-symbol);padding-right:3px}.data-table-row-no-data{font-size:xx-large;color:gray;font-weight:500;text-shadow:-1px -1px var(--accent-color)}.data-row-selected .col-item-freeze,.data-row-selected .data-cell,.data-row-selected:hover,.data-row-selected .col-item-freeze:hover,.data-row-selected .data-cell:hover{background:#d6d6d6!important}.data-table-headers .col-item-freeze:first-of-type{border-bottom:1px solid var(--grid-color)}.col-header{z-index:2;width:125px;overflow:auto;cursor:grab;padding:7px 3px;text-align:center;position:relative;box-sizing:border-box;display:inline-block;vertical-align:top;white-space:pre-wrap;word-wrap:break-word;background:#fafafa;border-right:1px solid var(--grid-color)}.col-header button,.col-header span,.col-header select{cursor:pointer;vertical-align:middle}.col-header input{vertical-align:middle}.col-header-img-container{overflow-y:hidden;text-align:center;display:inline-block;vertical-align:middle;background-size:cover;background-position:center;background-repeat:no-repeat}.col-header-minimized{width:0!important;height:0!important;padding:0!important;overflow:hidden!important;border-bottom:none!important;border-right:none!important;transition:width .3s ease}.btn-maximize-col{border:none;border-radius:5px;background:#f5f5f5;box-shadow:0 0 3px 2px gray;font-size:var(--reg-font-size);margin-right:27px;padding:4px}.no-btn{border:none;background:none}.col-item-freeze{left:0;z-index:3;position:sticky;background:#fff;box-shadow:2px 0 3px 0 var(--grid-color);-moz-box-shadow:2px 0px 3px 0px var(--grid-color);-webkit-box-shadow:2px 0px 3px 0px var(--grid-color)}.col-header input,.select-filter{width:40%;margin:11px 0 1px}.sel-fil-container{z-index:5}.edit-input-option-cont{left:0;right:0}.edit-input-opt button{width:100%;font-size:15px;padding:11px 0 11px 17px;text-align:left!important}.selfil-opt-contain,.edit-input-option-cont{overflow:auto;max-height:240px;border-radius:5px;position:absolute;background:#fff;box-shadow:0 1px 3px 1px var(--grid-color);-moz-box-shadow:0 1px 3px 1px var(--grid-color);-webkit-box-shadow:0 1px 3px 1px var(--grid-color)}.selfil-div,.edit-input-opt{cursor:pointer;text-align:left;border-bottom:1px solid var(--grid-color)}.selfil-div:hover,.edit-input-opt:hover{background:#ebebeb}.selfil-div:last-of-type,.edit-input-opt:last-of-type{border-bottom:none}.selfil-div label{width:calc(100% - 22px);font-size:15px;cursor:pointer;padding:11px;display:inline-block}.selfil-div label input[type=checkbox]{margin-right:11px;vertical-align:middle}.select-filter-comparator{width:36px;z-index:3;opacity:0;position:relative;margin:11px 0 1px 15px}.btn-fil-comp{top:2px;left:-36px;border:none;position:absolute;background:#fafafa}.btn-fil-comp i{color:var(--accent-color)}@media screen and (min-width:960px){.col-header input,.select-filter,.select-filter-comparator{margin-top:7px;margin-bottom:1px}}.data-cell{width:125px;padding:11px 6px 11px 17px;overflow:auto;font-size:15px;word-wrap:break-word;white-space:pre-line;vertical-align:top;box-sizing:border-box;display:inline-flex;align-items:center;border-right:1px solid var(--grid-color);border-bottom:1px solid var(--grid-color)}input.edit-input{border-radius:0}.data-cell:focus,input.edit-input:focus{outline:1px solid #00a8f3}.dragger-cell-focused{background:#00a8f333;border-left:1px solid #00a8f3;border-right:1px solid #00a8f3!important}.focused-cell-dragger{width:9px;height:9px;cursor:crosshair;position:absolute;background:#00a8f3;box-shadow:0 0 1px 1px var(--accent-color);-moz-box-shadow:0 0 1px 1px var(--accent-color);-webkit-box-shadow:0 0 1px 1px var(--accent-color)}.holding-check{padding-left:44px}.data-cell-riiight{padding:11px 17px 11px 6px;justify-content:right}.data-cell-ceeenter{padding:11px 6px;justify-content:center!important}.cell-og-link{line-height:0;visibility:hidden}.cell-og-link:before{visibility:visible;content:attr(data-title)}.moveable-col{cursor:col-resize!important}.moveable-row{cursor:row-resize!important}.data-sort-arr{cursor:pointer;margin-left:11px;border:none;background:none;padding:0 0 0 2px;color:var(--accent-color)}.data-sort-arr .material-icons{font-size:20px}.data-col-info{left:10px;top:12px;padding:0;border:none;cursor:pointer;background:none;position:absolute;color:var(--accent-color)}.data-col-info .material-icons{font-size:16px}.sort-order-indicator{font-weight:600;vertical-align:middle;font-size:16px}.btn-min-col{cursor:pointer;top:0;right:2px;font-size:20px;border:none;background:none;position:absolute;padding:0 2px 5px 0;color:var(--accent-color)}.btn-min-col-hide{z-index:0;visibility:hidden;pointer-events:none}.btn-freeze-col{float:left;border:none;cursor:pointer;background:none}.btn-freeze-col .material-icons{font-size:16px;color:var(--accent-color)}.hidden-cols{max-width:100%;overflow-x:auto;clear:both;white-space:nowrap;padding:17px 15px 5px 4px}.hidden-cols button:first-of-type:before{content:\"Hidden Columns\";font-size:12px;font-weight:600;padding-right:11px;vertical-align:middle}.col-header span{word-wrap:break-word;vertical-align:middle;font-size:var(--reg-font-size)}.o-ins-div span,.o-ins-div i{vertical-align:middle;font-size:16px}.aux-chip{text-align:center;padding-bottom:33px;word-wrap:break-word;white-space:pre-wrap}.insights{padding:17px 15px}.insight-field{min-height:100px;padding:21px 0;font-size:large;white-space:pre-wrap;word-wrap:break-word;border-bottom:1px solid lightgray}@media screen and (max-width:760px){.insight-field:first-of-type{padding-top:7px}}@media screen and (min-width:760px){.insight-field-row{border-bottom:1px solid lightgray}.insight-field,.aux-chip{width:50%;vertical-align:top;display:inline-block;border-bottom:none}}@media screen and (min-width:1024px){.insight-field,.aux-chip{width:33%}}.chart-label-cont{padding-top:10px;text-align:center}.pie-piece-label{padding-top:5px;margin-right:27px;display:inline-block}.pie-piece-label-sq{width:11px;height:11px;margin:0 0 0 2px;display:inline-block;vertical-align:middle}.pie-piece-label span{font-size:small}.pie-piece-label span:before{font-size:smaller;padding-right:4px;font-weight:600;content:attr(data-percent)}.pie-layover{border-radius:50%;background:#fff;position:absolute;padding:5px!important;display:flex;font-size:17px;align-items:center;overflow:hidden;box-sizing:border-box;justify-content:center;color:var(--accent-color)}.pie-layover div{font-weight:500;padding:0!important}.ins-even-dist-ct{font-size:24px;font-weight:500}.line-graph-container{padding:11px 0 33px 7px!important;box-sizing:border-box;margin-left:11px}.lg-title-cont{padding:0!important;text-align:center;margin:17px 11px}.lg-n-marker-cont{width:60px;position:relative;padding:0!important;box-sizing:border-box;display:inline-block;vertical-align:top}.lg-n-marker-cont:before{top:45%;left:-37px;display:block;position:absolute;white-space:nowrap;color:var(--grid-color);content:attr(data-column);transform:rotate(-90deg)}.lg-n-marker,.lg-n-marker-h{padding:0 11px 0 0!important;font-size:small;position:relative;text-align:right;white-space:nowrap;box-sizing:border-box}.line-graph{width:calc(92% - 60px);position:relative;box-sizing:border-box;display:inline-block;vertical-align:top;padding:0!important;border-left:1px solid var(--accent-color);border-bottom:1px solid var(--accent-color)}.lg-lbl-x{left:0;right:0;bottom:-45px;font-size:small;font-weight:500;text-align:center;position:absolute;padding:0!important}.btn-line-graph-opts{margin:0;padding:4px;background:none;border-top:1px solid var(--accent-color);border-left:1px solid var(--accent-color);border-bottom:1px solid var(--accent-color)}.sp-line-graph-title{margin-top:7px;font-size:large;text-decoration:underline}.lg-dt-marker,.lg-dt-marker-h,.vd-n-marker,.vd-n-marker-h{bottom:-22px;font-size:small;position:absolute;text-align:center;padding:0!important;display:inline-block;box-sizing:border-box}.lg-dt-marker-h,.vd-n-marker-h{visibility:hidden}.lg-dt-marker.visible-marker{margin-left:21px}.lg-n-marker-h{height:0;visibility:hidden}.visible-marker{z-index:2;font-weight:600;background:#fff;height:unset!important;padding:1px 2px!important;visibility:visible!important;box-shadow:0 0 2px 1px #afafaf;-moz-box-shadow:0 0 2px 1px #afafaf;-webkit-box-shadow:0 0 2px 1px #afafaf}.visible-marker:before{font-weight:600}.lg-dt-marker:before{top:-15px;left:0;content:\"|\";position:absolute}.vd-n-marker:before{top:-15px;left:50%;content:\"|\";left:calc(50% - 2px);position:absolute}.lg-n-marker:before{top:-4px;right:-3px;content:\"-\";font-weight:600;font-size:large;position:absolute;background:#fff}.btn-line-graph-opts:hover{background:#d6d6d6;transition:background .3s ease}.btn-line-graph-opts:last-of-type{border-right:1px solid var(--accent-color)}.btn-lg-sel{color:#fff!important;background:var(--accent-color);box-shadow:0 0 2px 1px #afafaf;-moz-box-shadow:0 0 2px 1px #afafaf;-webkit-box-shadow:0 0 2px 1px #afafaf}.btn-lg-sel:hover{background:var(--accent-color)}.lg-plot{height:8px;width:8px;opacity:.3;cursor:pointer;border-radius:50%;position:absolute;padding:0!important;background:var(--accent-color)}.lg-plot:hover{z-index:100;opacity:1!important}.lg-plot:hover:after{padding:3px;display:inline-block;font-size:small;border-radius:5px;margin:0 0 0 25px;font-weight:700;content:attr(data-number);background:#fff!important;box-shadow:0 0 2px 1px #afafaf;-moz-box-shadow:0 0 2px 1px #afafaf;-webkit-box-shadow:0 0 2px 1px #afafaf}.lg-plot-opq{opacity:0;background:#fff}.lg-plot-opq:hover{opacity:1!important;background:var(--grid-color);transition:opacity .2s ease}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:\"liga\";-webkit-font-feature-settings:\"liga\";-webkit-font-smoothing:antialiased}\n"] }]
7294
7286
  }], ctorParameters: () => [{ type: DataTableService }, { type: TableDragService }, { type: CommonService }], propDecorators: { onWindowClick: [{
7295
7287
  type: HostListener,
7296
7288
  args: ['window:click', ['$event']]