ngx-deebodata 0.3.0 → 0.3.2
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.
- package/README.md +0 -7
- package/fesm2022/ngx-deebodata.mjs +760 -385
- package/fesm2022/ngx-deebodata.mjs.map +1 -1
- package/package.json +1 -1
- package/types/ngx-deebodata.d.ts +33 -15
|
@@ -4,7 +4,7 @@ import * as i4$1 from '@angular/forms';
|
|
|
4
4
|
import { FormsModule } from '@angular/forms';
|
|
5
5
|
import * as i4 from '@angular/common';
|
|
6
6
|
import { CommonModule, DecimalPipe } from '@angular/common';
|
|
7
|
-
import { Subject, Subscription, finalize } from 'rxjs';
|
|
7
|
+
import { Subject, timer, Subscription, finalize } from 'rxjs';
|
|
8
8
|
import * as i2 from '@angular/common/http';
|
|
9
9
|
|
|
10
10
|
class CommonService {
|
|
@@ -373,9 +373,12 @@ class DataTableService {
|
|
|
373
373
|
currFilData = [];
|
|
374
374
|
currMapping = {};
|
|
375
375
|
mapperWorkerId = 1;
|
|
376
|
-
dTblHeight = 500;
|
|
376
|
+
dTblHeight = signal(500, ...(ngDevMode ? [{ debugName: "dTblHeight" }] : /* istanbul ignore next */ []));
|
|
377
|
+
listenForScroll = signal(true, ...(ngDevMode ? [{ debugName: "listenForScroll" }] : /* istanbul ignore next */ []));
|
|
378
|
+
lockCellFocus = signal(false, ...(ngDevMode ? [{ debugName: "lockCellFocus" }] : /* istanbul ignore next */ []));
|
|
377
379
|
defltRHgt = "50px";
|
|
378
380
|
defltRHgtNum = 50;
|
|
381
|
+
mouseIsDown = false;
|
|
379
382
|
isSorting = signal(false, ...(ngDevMode ? [{ debugName: "isSorting" }] : /* istanbul ignore next */ []));
|
|
380
383
|
isFiltering = signal(false, ...(ngDevMode ? [{ debugName: "isFiltering" }] : /* istanbul ignore next */ []));
|
|
381
384
|
showCharts = signal(false, ...(ngDevMode ? [{ debugName: "showCharts" }] : /* istanbul ignore next */ []));
|
|
@@ -967,7 +970,8 @@ class TableDragService {
|
|
|
967
970
|
}
|
|
968
971
|
currDataRow;
|
|
969
972
|
currColForDataRow;
|
|
970
|
-
|
|
973
|
+
handleTblHtTO = null;
|
|
974
|
+
tblHgtDiff = 0;
|
|
971
975
|
currColumnEdit = "";
|
|
972
976
|
listenForMouseUp = false;
|
|
973
977
|
listenForSelectStart = false;
|
|
@@ -1109,6 +1113,7 @@ class TableDragService {
|
|
|
1109
1113
|
if (rootCol) {
|
|
1110
1114
|
this.dataTableService.currColumnEdit = rootCol;
|
|
1111
1115
|
this.colDragStartFrmCellTracker = { col: rootCol, row: null, xstart: useX, ystart: null, resized: false };
|
|
1116
|
+
this.dataTableService.listenForScroll.set(false);
|
|
1112
1117
|
this.listenForMouseUp = true;
|
|
1113
1118
|
}
|
|
1114
1119
|
}
|
|
@@ -1120,6 +1125,7 @@ class TableDragService {
|
|
|
1120
1125
|
this.currDataRow = document.getElementById(col.getAttribute("data-index"));
|
|
1121
1126
|
}
|
|
1122
1127
|
this.colDragStartFrmCellTracker = { col: null, row: this.currDataRow, xstart: null, ystart: e.offsetY, resized: false };
|
|
1128
|
+
this.dataTableService.listenForScroll.set(false);
|
|
1123
1129
|
this.listenForMouseUp = true;
|
|
1124
1130
|
}
|
|
1125
1131
|
}
|
|
@@ -1197,9 +1203,11 @@ class TableDragService {
|
|
|
1197
1203
|
let max = 1000;
|
|
1198
1204
|
if (isNaN(max))
|
|
1199
1205
|
max = 700;
|
|
1200
|
-
const tblWant = Math.min((this.dTblHeight + useHgt), max);
|
|
1201
|
-
|
|
1202
|
-
this.
|
|
1206
|
+
const tblWant = Math.min((this.dataTableService.dTblHeight() + useHgt), max);
|
|
1207
|
+
const finalHgt = Math.floor(Math.max(tblWant, 100));
|
|
1208
|
+
this.tblHgtDiff += (finalHgt - this.dataTableService.dTblHeight());
|
|
1209
|
+
this.dataTableService.dTblHeight.set(finalHgt);
|
|
1210
|
+
this.dTblHeightOutput.next(finalHgt);
|
|
1203
1211
|
}
|
|
1204
1212
|
catch (err) { }
|
|
1205
1213
|
}
|
|
@@ -1725,6 +1733,9 @@ class DataCellComponent {
|
|
|
1725
1733
|
elCol = "";
|
|
1726
1734
|
cellStyle = {};
|
|
1727
1735
|
setCellEditScrlActionTO = null;
|
|
1736
|
+
text = "";
|
|
1737
|
+
html = "";
|
|
1738
|
+
minimized = false;
|
|
1728
1739
|
rawText;
|
|
1729
1740
|
cell;
|
|
1730
1741
|
rowId = ""; //starts with dataTableRow
|
|
@@ -1749,6 +1760,8 @@ class DataCellComponent {
|
|
|
1749
1760
|
if (this.cell.visible && !this.ready)
|
|
1750
1761
|
this.handleSettingText();
|
|
1751
1762
|
}
|
|
1763
|
+
if (this.cell.visible && (changes["cell"] || changes["text"] || changes["html"]))
|
|
1764
|
+
this.handleSettingText();
|
|
1752
1765
|
}
|
|
1753
1766
|
}
|
|
1754
1767
|
ngOnInit() {
|
|
@@ -1778,24 +1791,28 @@ class DataCellComponent {
|
|
|
1778
1791
|
this.cellElem.nativeElement.setAttribute("data-symbol", sym);
|
|
1779
1792
|
}
|
|
1780
1793
|
}
|
|
1781
|
-
handleSettingText() {
|
|
1794
|
+
handleSettingText(force) {
|
|
1782
1795
|
if (this.cell.text || (this.cell.html && !/<img/g.test(this.cell.html)))
|
|
1783
|
-
return this.setCellText();
|
|
1796
|
+
return this.setCellText(force);
|
|
1784
1797
|
if (this.cell.html)
|
|
1785
|
-
|
|
1798
|
+
timer(100).subscribe(() => { this.setCellText(force); });
|
|
1786
1799
|
}
|
|
1787
|
-
setCellText() {
|
|
1800
|
+
setCellText(force) {
|
|
1788
1801
|
const cell = this.cellElem.nativeElement;
|
|
1789
|
-
if (this.
|
|
1790
|
-
cell.textContent = this.
|
|
1791
|
-
|
|
1792
|
-
|
|
1793
|
-
|
|
1802
|
+
if (this.text && (!cell.textContent || force)) {
|
|
1803
|
+
cell.textContent = this.text;
|
|
1804
|
+
cell.style.removeProperty("display");
|
|
1805
|
+
}
|
|
1806
|
+
if (this.html && (!cell.innerHTML || force)) {
|
|
1807
|
+
cell.innerHTML = this.html;
|
|
1808
|
+
if (/ \<a/g.test(this.html) || /a\> /g.test(this.html))
|
|
1794
1809
|
cell.style.display = "inline-block";
|
|
1810
|
+
else
|
|
1811
|
+
cell.style.removeProperty("display");
|
|
1795
1812
|
}
|
|
1796
1813
|
this.ready = true;
|
|
1797
|
-
if (this.
|
|
1798
|
-
|
|
1814
|
+
if (this.html && !this.ready) {
|
|
1815
|
+
timer(0).subscribe(() => {
|
|
1799
1816
|
const ancOIm = (document.querySelector("#" + this.rowId + " .data-cell-" + this.elCol + " a") ||
|
|
1800
1817
|
document.querySelector("#" + this.rowId + " .data-cell-" + this.elCol + " img"));
|
|
1801
1818
|
if (ancOIm) {
|
|
@@ -1853,14 +1870,15 @@ class DataCellComponent {
|
|
|
1853
1870
|
return text;
|
|
1854
1871
|
}
|
|
1855
1872
|
setToEditAfterTO() {
|
|
1856
|
-
this.setCellEditScrlActionTO =
|
|
1873
|
+
this.setCellEditScrlActionTO = timer(100).subscribe(() => {
|
|
1857
1874
|
if (this.dataTableService.currEditCol === this.cell.column)
|
|
1858
1875
|
this.setCellToEdit(true);
|
|
1859
|
-
|
|
1876
|
+
timer(0).subscribe(() => { this.dataTableService.autoScrollOnEdit = false; });
|
|
1877
|
+
});
|
|
1860
1878
|
}
|
|
1861
1879
|
setCellToEdit(noHScrl) {
|
|
1862
|
-
if (this.tblDragService.didResizeOnEvent || !this.cell.editable) {
|
|
1863
|
-
if (!this.cell.editable) {
|
|
1880
|
+
if (this.tblDragService.didResizeOnEvent || this.dataTableService.lockCellFocus() || !this.cell.editable) {
|
|
1881
|
+
if (!this.cell.editable && !this.dataTableService.lockCellFocus()) {
|
|
1864
1882
|
this.dataTableService.clearAllFocused();
|
|
1865
1883
|
this.dataTableService.clearDCellFcsd();
|
|
1866
1884
|
this.clearVEditFocus.emit("");
|
|
@@ -1874,6 +1892,8 @@ class DataCellComponent {
|
|
|
1874
1892
|
const cell = this.cellElem.nativeElement;
|
|
1875
1893
|
if (this.cell.minimized)
|
|
1876
1894
|
return cell.blur();
|
|
1895
|
+
if (!this.canEdit && !this.cell.html)
|
|
1896
|
+
this.dataTableService.lockCellFocus.set(true);
|
|
1877
1897
|
this.dataTableService.currEditCol = this.cell.column;
|
|
1878
1898
|
this.dataTableService.currEditIndex = parseInt(this.rowId.replace(/^dataTableRow/, ""));
|
|
1879
1899
|
const cellWid = parseInt(this.dataTableService.useColWid?.replace(/px/g, "") || "250");
|
|
@@ -1894,7 +1914,7 @@ class DataCellComponent {
|
|
|
1894
1914
|
this.dataTableService.clearAllFocused();
|
|
1895
1915
|
this.dataTableService.clearDCellFcsd();
|
|
1896
1916
|
this.setCellEditScrlActionTO = null;
|
|
1897
|
-
|
|
1917
|
+
timer(0).subscribe(() => this.dataTableService.autoScrollOnEdit = false);
|
|
1898
1918
|
if (this.needsVal()) {
|
|
1899
1919
|
const okText = this.validateRawText(this.cell.rawText, this.cell.column, this.cell.dataType);
|
|
1900
1920
|
if (this.cell.rawText && !okText)
|
|
@@ -1905,15 +1925,17 @@ class DataCellComponent {
|
|
|
1905
1925
|
cell.blur();
|
|
1906
1926
|
return this.dataTableService.clearAllFocused();
|
|
1907
1927
|
}
|
|
1908
|
-
|
|
1909
|
-
cell.focus();
|
|
1910
|
-
|
|
1911
|
-
|
|
1928
|
+
timer(45).subscribe(() => { if (this.dataTableService.currEditCol === this.cell.column) {
|
|
1929
|
+
cell.focus();
|
|
1930
|
+
} });
|
|
1931
|
+
timer(150).subscribe(() => { if (this.dataTableService.currEditCol === this.cell.column) {
|
|
1932
|
+
cell.classList.add("focused-el");
|
|
1933
|
+
} });
|
|
1912
1934
|
}
|
|
1913
1935
|
return;
|
|
1914
1936
|
}
|
|
1915
1937
|
this.clearVEditFocus.emit("");
|
|
1916
|
-
|
|
1938
|
+
timer(0).subscribe(() => {
|
|
1917
1939
|
const fCellDragger = document.getElementsByClassName("focused-cell-dragger")[0];
|
|
1918
1940
|
const par = fCellDragger?.parentElement;
|
|
1919
1941
|
if (fCellDragger && par) {
|
|
@@ -1993,12 +2015,18 @@ class DataCellComponent {
|
|
|
1993
2015
|
}
|
|
1994
2016
|
}
|
|
1995
2017
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: DataCellComponent, deps: [{ token: TableDragService }, { token: DataTableService }, { token: CommonService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1996
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.13", type: DataCellComponent, isStandalone: true, selector: "app-data-cell", inputs: { rawText: "rawText", cell: "cell", rowId: "rowId", colWid: "colWid", rowHeight: "rowHeight", noColResize: "noColResize", columnValClass: "columnValClass" }, outputs: { width: "width", height: "height", edit: "edit", dragListen: "dragListen", validateEditFocus: "validateEditFocus", clearVEditFocus: "clearVEditFocus" }, viewQueries: [{ propertyName: "cellElem", first: true, predicate: ["cellEl"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div #cellEl [attr.contenteditable]=\"canEdit\" [ngStyle]=\"cellStyle\" class=\"data-cell data-cell-{{elCol}}{{rightAlign}}{{symbolCls}}{{columnValClass}}\" \r\n[ngClass]=\"{ 'col-item-freeze': cell.freeze, 'col-header-minimized': cell.minimized, 'holding-check': cell.column === dataTableService.firstCol }\"\r\n(mousemove)=\"tblDragService.checkItemBorderCursor($event, noColResize)\" (mousemove)=\"tblDragService.handleCellSizeAdjust($event, elCol)\"\r\n(mousedown)=\"tblDragService.handleCellSizeAdjust($event, elCol)\" (focus)=\"setCellToEdit()\" (blur)=\"emitEdit($event)\" [tabindex]=\"cell.minimized ? -1 : 0\"\r\n[attr.data-index]=\"rowId\" (dblclick)=\"handleColResDblClick(cell.column)\" (keydown.tab)=\"checkValEditOpts($event)\"\r\n></div>", styles: [".data-cell.col-header-minimized{border-bottom:none!important;border-right:none!important}::ng-deep img{max-width:100px!important;height:auto;margin:0;vertical-align:middle}\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"] }] });
|
|
2018
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.13", type: DataCellComponent, isStandalone: true, selector: "app-data-cell", inputs: { text: "text", html: "html", minimized: "minimized", rawText: "rawText", cell: "cell", rowId: "rowId", colWid: "colWid", rowHeight: "rowHeight", noColResize: "noColResize", columnValClass: "columnValClass" }, outputs: { width: "width", height: "height", edit: "edit", dragListen: "dragListen", validateEditFocus: "validateEditFocus", clearVEditFocus: "clearVEditFocus" }, viewQueries: [{ propertyName: "cellElem", first: true, predicate: ["cellEl"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div #cellEl [attr.contenteditable]=\"canEdit\" [ngStyle]=\"cellStyle\" class=\"data-cell data-cell-{{elCol}}{{rightAlign}}{{symbolCls}}{{columnValClass}}\" \r\n[ngClass]=\"{ 'col-item-freeze': cell.freeze, 'col-header-minimized': minimized, 'holding-check': cell.column === dataTableService.firstCol }\"\r\n(mousemove)=\"tblDragService.checkItemBorderCursor($event, noColResize)\" (mousemove)=\"tblDragService.handleCellSizeAdjust($event, elCol)\"\r\n(mousedown)=\"tblDragService.handleCellSizeAdjust($event, elCol)\" (focus)=\"setCellToEdit()\" (blur)=\"emitEdit($event)\" [tabindex]=\"minimized ? -1 : 0\"\r\n[attr.data-index]=\"rowId\" (dblclick)=\"handleColResDblClick(cell.column)\" (keydown.tab)=\"checkValEditOpts($event)\" [textContent]=\"text\" [innerHTML]=\"html\"\r\n></div>", styles: [".data-cell.col-header-minimized{border-bottom:none!important;border-right:none!important}::ng-deep img{max-width:100px!important;height:auto;margin:0;vertical-align:middle}\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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1997
2019
|
}
|
|
1998
2020
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: DataCellComponent, decorators: [{
|
|
1999
2021
|
type: Component,
|
|
2000
|
-
args: [{ selector: 'app-data-cell', imports: [CommonModule], template: "<div #cellEl [attr.contenteditable]=\"canEdit\" [ngStyle]=\"cellStyle\" class=\"data-cell data-cell-{{elCol}}{{rightAlign}}{{symbolCls}}{{columnValClass}}\" \r\n[ngClass]=\"{ 'col-item-freeze': cell.freeze, 'col-header-minimized': cell.minimized, 'holding-check': cell.column === dataTableService.firstCol }\"\r\n(mousemove)=\"tblDragService.checkItemBorderCursor($event, noColResize)\" (mousemove)=\"tblDragService.handleCellSizeAdjust($event, elCol)\"\r\n(mousedown)=\"tblDragService.handleCellSizeAdjust($event, elCol)\" (focus)=\"setCellToEdit()\" (blur)=\"emitEdit($event)\" [tabindex]=\"cell.minimized ? -1 : 0\"\r\n[attr.data-index]=\"rowId\" (dblclick)=\"handleColResDblClick(cell.column)\" (keydown.tab)=\"checkValEditOpts($event)\"\r\n></div>", styles: [".data-cell.col-header-minimized{border-bottom:none!important;border-right:none!important}::ng-deep img{max-width:100px!important;height:auto;margin:0;vertical-align:middle}\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"] }]
|
|
2001
|
-
}], ctorParameters: () => [{ type: TableDragService }, { type: DataTableService }, { type: CommonService }], propDecorators: {
|
|
2022
|
+
args: [{ selector: 'app-data-cell', imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #cellEl [attr.contenteditable]=\"canEdit\" [ngStyle]=\"cellStyle\" class=\"data-cell data-cell-{{elCol}}{{rightAlign}}{{symbolCls}}{{columnValClass}}\" \r\n[ngClass]=\"{ 'col-item-freeze': cell.freeze, 'col-header-minimized': minimized, 'holding-check': cell.column === dataTableService.firstCol }\"\r\n(mousemove)=\"tblDragService.checkItemBorderCursor($event, noColResize)\" (mousemove)=\"tblDragService.handleCellSizeAdjust($event, elCol)\"\r\n(mousedown)=\"tblDragService.handleCellSizeAdjust($event, elCol)\" (focus)=\"setCellToEdit()\" (blur)=\"emitEdit($event)\" [tabindex]=\"minimized ? -1 : 0\"\r\n[attr.data-index]=\"rowId\" (dblclick)=\"handleColResDblClick(cell.column)\" (keydown.tab)=\"checkValEditOpts($event)\" [textContent]=\"text\" [innerHTML]=\"html\"\r\n></div>", styles: [".data-cell.col-header-minimized{border-bottom:none!important;border-right:none!important}::ng-deep img{max-width:100px!important;height:auto;margin:0;vertical-align:middle}\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"] }]
|
|
2023
|
+
}], ctorParameters: () => [{ type: TableDragService }, { type: DataTableService }, { type: CommonService }], propDecorators: { text: [{
|
|
2024
|
+
type: Input
|
|
2025
|
+
}], html: [{
|
|
2026
|
+
type: Input
|
|
2027
|
+
}], minimized: [{
|
|
2028
|
+
type: Input
|
|
2029
|
+
}], rawText: [{
|
|
2002
2030
|
type: Input
|
|
2003
2031
|
}], cell: [{
|
|
2004
2032
|
type: Input
|
|
@@ -2299,15 +2327,8 @@ class RowGroupPanel {
|
|
|
2299
2327
|
dataTableService;
|
|
2300
2328
|
_cd;
|
|
2301
2329
|
onWindowMouseUp(e) {
|
|
2302
|
-
if (this.open())
|
|
2303
|
-
|
|
2304
|
-
const pEl = this.panelDataGrid?.nativeElement;
|
|
2305
|
-
if (pEl) {
|
|
2306
|
-
pEl.scrollBy(0, 1);
|
|
2307
|
-
pEl.scrollBy(0, -1);
|
|
2308
|
-
}
|
|
2309
|
-
});
|
|
2310
|
-
}
|
|
2330
|
+
if (this.open())
|
|
2331
|
+
this.handleScrlBarDrag();
|
|
2311
2332
|
}
|
|
2312
2333
|
init = true;
|
|
2313
2334
|
count = 0;
|
|
@@ -2320,14 +2341,20 @@ class RowGroupPanel {
|
|
|
2320
2341
|
panelData = [];
|
|
2321
2342
|
tblTop = 0;
|
|
2322
2343
|
tblBot = 0;
|
|
2323
|
-
aboveHgt = 0;
|
|
2324
|
-
belowHgt = 0;
|
|
2344
|
+
aboveHgt = signal(0, ...(ngDevMode ? [{ debugName: "aboveHgt" }] : /* istanbul ignore next */ []));
|
|
2345
|
+
belowHgt = signal(0, ...(ngDevMode ? [{ debugName: "belowHgt" }] : /* istanbul ignore next */ []));
|
|
2325
2346
|
rowNums = [];
|
|
2326
2347
|
changedIds = [];
|
|
2327
2348
|
scrollDir = "down";
|
|
2328
2349
|
lastElRowIndex = 0;
|
|
2350
|
+
transY = signal(0, ...(ngDevMode ? [{ debugName: "transY" }] : /* istanbul ignore next */ []));
|
|
2351
|
+
finishScrollTO = null;
|
|
2352
|
+
valEditFocusTo = null;
|
|
2329
2353
|
horizRest = input(0, ...(ngDevMode ? [{ debugName: "horizRest" }] : /* istanbul ignore next */ []));
|
|
2330
2354
|
colOfInt = input("", ...(ngDevMode ? [{ debugName: "colOfInt" }] : /* istanbul ignore next */ []));
|
|
2355
|
+
dtr = "";
|
|
2356
|
+
rowElsPad = 1;
|
|
2357
|
+
doRowsMod = 10;
|
|
2331
2358
|
groupValue = "";
|
|
2332
2359
|
useRowWid = "";
|
|
2333
2360
|
maxCols = 0;
|
|
@@ -2356,6 +2383,7 @@ class RowGroupPanel {
|
|
|
2356
2383
|
this.uiGroupValue = this.common.titleCase(this.groupValue);
|
|
2357
2384
|
this.elifyGrouping = this.common.elifyCol(this.groupValue);
|
|
2358
2385
|
this.count = this.dataTableService.currFilData.filter(d => d[this.dataTableService.currGroup] === this.groupValue).length;
|
|
2386
|
+
this.dtr = this.common.elifyCol(this.groupValue) + "dataTableRow";
|
|
2359
2387
|
this.dataTableService.gridScrollEndWhileGrouped.subscribe(e => { this.setTblBot(); });
|
|
2360
2388
|
this.dataTableService.gridEventWhileGrouped.subscribe(e => {
|
|
2361
2389
|
const nowOpen = this.open();
|
|
@@ -2367,17 +2395,17 @@ class RowGroupPanel {
|
|
|
2367
2395
|
if (nowOpen)
|
|
2368
2396
|
setTimeout(() => { this.openGroup(); });
|
|
2369
2397
|
}); //just close
|
|
2370
|
-
this.dataTableService.mouseupWhileGrouped.subscribe(e => {
|
|
2371
|
-
|
|
2372
|
-
|
|
2373
|
-
|
|
2374
|
-
|
|
2375
|
-
|
|
2376
|
-
|
|
2377
|
-
|
|
2378
|
-
|
|
2379
|
-
|
|
2380
|
-
})
|
|
2398
|
+
// this.dataTableService.mouseupWhileGrouped.subscribe( e => {
|
|
2399
|
+
// if(this.open()){
|
|
2400
|
+
// setTimeout( () => {
|
|
2401
|
+
// const pEl = this.panelDataGrid?.nativeElement
|
|
2402
|
+
// if(pEl){
|
|
2403
|
+
// pEl.scrollBy(0, 1);
|
|
2404
|
+
// pEl.scrollBy(0, -1);
|
|
2405
|
+
// }
|
|
2406
|
+
// } )
|
|
2407
|
+
// }
|
|
2408
|
+
// })
|
|
2381
2409
|
this.init = false;
|
|
2382
2410
|
}
|
|
2383
2411
|
openGroup() {
|
|
@@ -2386,8 +2414,8 @@ class RowGroupPanel {
|
|
|
2386
2414
|
if (!this.open()) {
|
|
2387
2415
|
this.rows = [];
|
|
2388
2416
|
this.panelData = [];
|
|
2389
|
-
this.aboveHgt
|
|
2390
|
-
this.belowHgt
|
|
2417
|
+
this.aboveHgt.set(0);
|
|
2418
|
+
this.belowHgt.set(0);
|
|
2391
2419
|
this.rowNums = [];
|
|
2392
2420
|
}
|
|
2393
2421
|
else {
|
|
@@ -2395,7 +2423,7 @@ class RowGroupPanel {
|
|
|
2395
2423
|
this.count = this.panelData.length;
|
|
2396
2424
|
let n = 0;
|
|
2397
2425
|
const defNum = this.dataTableService.defltRHgtNum;
|
|
2398
|
-
const init = Math.
|
|
2426
|
+
const init = Math.ceil(400 / defNum) + this.rowElsPad;
|
|
2399
2427
|
const addCell = (text, prop, row, visible) => {
|
|
2400
2428
|
if (prop && row) {
|
|
2401
2429
|
const useProp = this.dataTableService.dataFilSrtTracker[prop];
|
|
@@ -2436,42 +2464,45 @@ class RowGroupPanel {
|
|
|
2436
2464
|
horizLim = this.columns.indexOf(lvis) + 1;
|
|
2437
2465
|
}
|
|
2438
2466
|
}
|
|
2467
|
+
let localRows = [];
|
|
2439
2468
|
for (n; n < limit; n++) {
|
|
2440
2469
|
const item = this.panelData[n];
|
|
2441
2470
|
const index = this.dataTableService.currMapping[n] || this.dataTableService.findObjIndxInData(item);
|
|
2442
2471
|
if (index > -1) {
|
|
2443
|
-
|
|
2472
|
+
const row = { id: this.dtr + index, index: index, width: this.useRowWid, cells: [], height: this.dataTableService.defltRHgt };
|
|
2444
2473
|
let k = 0;
|
|
2445
2474
|
for (k; k < colLen; k++) {
|
|
2446
2475
|
const col = this.columns?.[k];
|
|
2447
2476
|
if (col)
|
|
2448
|
-
addCell(item[col], col,
|
|
2477
|
+
addCell(item[col], col, row, (k <= horizLim));
|
|
2449
2478
|
}
|
|
2479
|
+
localRows.push(row);
|
|
2450
2480
|
}
|
|
2451
2481
|
}
|
|
2482
|
+
this.rows = [...localRows];
|
|
2452
2483
|
this.setLastRowIndex();
|
|
2453
|
-
|
|
2484
|
+
timer(250).subscribe(() => {
|
|
2454
2485
|
this.setRowNums();
|
|
2455
2486
|
if (this.count > init) {
|
|
2456
2487
|
let total = 0;
|
|
2457
2488
|
let z = this.lastElRowIndex + 1;
|
|
2458
2489
|
for (z; z < this.count; z++)
|
|
2459
2490
|
total += 1;
|
|
2460
|
-
this.belowHgt
|
|
2491
|
+
this.belowHgt.set(total * defNum);
|
|
2461
2492
|
}
|
|
2462
2493
|
this.setHorizScrPos();
|
|
2463
2494
|
this.openEvt.emit("row-group-panel-" + this.elifyGrouping);
|
|
2464
|
-
|
|
2495
|
+
timer(0).subscribe(() => {
|
|
2465
2496
|
this.setTblBot();
|
|
2466
|
-
const pEl = this.panelDataGrid?.nativeElement
|
|
2467
|
-
if
|
|
2468
|
-
|
|
2469
|
-
|
|
2470
|
-
}
|
|
2497
|
+
// const pEl = this.panelDataGrid?.nativeElement
|
|
2498
|
+
// if(pEl){
|
|
2499
|
+
// pEl.scrollBy(1, 1);
|
|
2500
|
+
// pEl.scrollBy(0, -1);
|
|
2501
|
+
// }
|
|
2471
2502
|
this.setRowNumPlacement();
|
|
2472
2503
|
this._cd.detectChanges();
|
|
2473
2504
|
});
|
|
2474
|
-
}
|
|
2505
|
+
});
|
|
2475
2506
|
}
|
|
2476
2507
|
});
|
|
2477
2508
|
}
|
|
@@ -2490,7 +2521,7 @@ class RowGroupPanel {
|
|
|
2490
2521
|
}
|
|
2491
2522
|
setLastRowIndex() {
|
|
2492
2523
|
const realMax = this.panelData.length - 1;
|
|
2493
|
-
const wannabeMax = (this.rows.length - 1) + Math.floor(this.aboveHgt / this.dataTableService.defltRHgtNum);
|
|
2524
|
+
const wannabeMax = (this.rows.length - 1) + Math.floor(this.aboveHgt() / this.dataTableService.defltRHgtNum);
|
|
2494
2525
|
this.lastElRowIndex = Math.min(wannabeMax, realMax);
|
|
2495
2526
|
return this.lastElRowIndex;
|
|
2496
2527
|
}
|
|
@@ -2538,7 +2569,7 @@ class RowGroupPanel {
|
|
|
2538
2569
|
if (rbds) {
|
|
2539
2570
|
const hh = (rbds.height / 2);
|
|
2540
2571
|
const top = Math.floor(((rbds.bottom - (hh + radd)) - tTop));
|
|
2541
|
-
num.style.top = top + "px";
|
|
2572
|
+
num.style.top = (top - this.transY()) + "px";
|
|
2542
2573
|
if (rbds.top < (tTop - 2) || (rbds.bottom > (tTop + tbds.height + 1)) || (dtBody.scrollLeft > 35 && !col1Frozen)) {
|
|
2543
2574
|
num.classList.add("hide");
|
|
2544
2575
|
continue;
|
|
@@ -2551,6 +2582,36 @@ class RowGroupPanel {
|
|
|
2551
2582
|
}
|
|
2552
2583
|
}
|
|
2553
2584
|
}
|
|
2585
|
+
handleScrlBarDrag() {
|
|
2586
|
+
this.dataTableService.mouseIsDown = false;
|
|
2587
|
+
if (!this.finishScrollTO) {
|
|
2588
|
+
timer(0).subscribe(() => { this.completeScroll(); this.dataTableService.listenForScroll.set(true); });
|
|
2589
|
+
}
|
|
2590
|
+
else {
|
|
2591
|
+
this.dataTableService.listenForScroll.set(true);
|
|
2592
|
+
}
|
|
2593
|
+
}
|
|
2594
|
+
setAllRowsDefHgt() {
|
|
2595
|
+
let i = 0;
|
|
2596
|
+
const len = this.rows.length;
|
|
2597
|
+
for (i; i < len; i++)
|
|
2598
|
+
this.setSingleRowHgt(this.dataTableService.defltRHgtNum, this.rows[i].id, true);
|
|
2599
|
+
}
|
|
2600
|
+
completeScroll() {
|
|
2601
|
+
this.isScrolling = false;
|
|
2602
|
+
this.finishScrollTO = null;
|
|
2603
|
+
const dtb = this.panelDataGrid?.nativeElement;
|
|
2604
|
+
if (dtb) {
|
|
2605
|
+
const lfs = this.dataTableService.listenForScroll();
|
|
2606
|
+
this.execVertScrollUp(this.columns, this.columns.length, dtb.scrollTop, true);
|
|
2607
|
+
this.handleScrollEnd();
|
|
2608
|
+
this.execHorizScroll(dtb.scrollLeft);
|
|
2609
|
+
if (lfs && this.rows.some(r => r.height !== this.dataTableService.defltRHgt))
|
|
2610
|
+
this.setAllRowsDefHgt();
|
|
2611
|
+
if (!lfs)
|
|
2612
|
+
timer(0).subscribe(() => { this.dataTableService.listenForScroll.set(true); });
|
|
2613
|
+
}
|
|
2614
|
+
}
|
|
2554
2615
|
handleScroll(event) {
|
|
2555
2616
|
const top = event.target.scrollTop;
|
|
2556
2617
|
const left = event.target.scrollLeft;
|
|
@@ -2558,12 +2619,13 @@ class RowGroupPanel {
|
|
|
2558
2619
|
this.execHorizScroll(left);
|
|
2559
2620
|
/*horiz scroll*/
|
|
2560
2621
|
/*vert scroll*/
|
|
2561
|
-
if (top === this.verticalRest)
|
|
2562
|
-
this.isScrolling = false;
|
|
2622
|
+
if (top === this.verticalRest || !this.dataTableService.listenForScroll())
|
|
2563
2623
|
return this.setRowNumPlacement();
|
|
2564
|
-
}
|
|
2565
2624
|
this.isScrolling = true;
|
|
2566
2625
|
this.execVertScroll(top);
|
|
2626
|
+
if (this.finishScrollTO)
|
|
2627
|
+
this.finishScrollTO.unsubscribe();
|
|
2628
|
+
this.finishScrollTO = timer(150).subscribe(() => { this.completeScroll(); });
|
|
2567
2629
|
/*vert scroll*/
|
|
2568
2630
|
}
|
|
2569
2631
|
execHorizScroll(left, reverse) {
|
|
@@ -2574,26 +2636,27 @@ class RowGroupPanel {
|
|
|
2574
2636
|
this.setColsOnVisScreen();
|
|
2575
2637
|
}
|
|
2576
2638
|
}
|
|
2639
|
+
fixRowContainer(transY) {
|
|
2640
|
+
this.transY.set(transY);
|
|
2641
|
+
}
|
|
2577
2642
|
execVertScroll(top) {
|
|
2578
2643
|
if (top >= this.verticalRest) {
|
|
2579
|
-
this.execVertScrollDown(this.columns, this.columns.length);
|
|
2580
|
-
this.clearAboveFoldRows();
|
|
2581
2644
|
this.scrollDir = "down";
|
|
2645
|
+
this.execVertScrollDown(this.columns, this.columns.length, top);
|
|
2582
2646
|
}
|
|
2583
2647
|
else { //scrolling back up
|
|
2584
|
-
this.execVertScrollUp(this.columns, this.columns.length);
|
|
2585
|
-
this.clearBelowFoldRows();
|
|
2586
2648
|
this.scrollDir = "up";
|
|
2649
|
+
this.execVertScrollUp(this.columns, this.columns.length, top);
|
|
2587
2650
|
}
|
|
2588
2651
|
this.verticalRest = top;
|
|
2589
|
-
this.setRowNumPlacement();
|
|
2590
2652
|
}
|
|
2591
2653
|
handleScrollEnd() {
|
|
2654
|
+
this.fixRowContainer(0);
|
|
2592
2655
|
this.isScrolling = false;
|
|
2593
|
-
|
|
2656
|
+
timer(0).subscribe(() => {
|
|
2594
2657
|
this.setColsOnVisScreen();
|
|
2595
2658
|
this.setRowNumPlacement();
|
|
2596
|
-
|
|
2659
|
+
timer(0).subscribe(() => { this.cleanUpPossibles(); });
|
|
2597
2660
|
});
|
|
2598
2661
|
}
|
|
2599
2662
|
addCell(text, prop, visible) {
|
|
@@ -2615,6 +2678,23 @@ class RowGroupPanel {
|
|
|
2615
2678
|
specialColClass: (colStyle ? (colStyle + this.common.elifyCol(useTxt.value)) : ""),
|
|
2616
2679
|
};
|
|
2617
2680
|
}
|
|
2681
|
+
setCellsOnVertScroll(text, prop, row, vis) {
|
|
2682
|
+
const useProp = this.dataTableService.dataFilSrtTracker[prop];
|
|
2683
|
+
const notNum = (this.dataTableService.figureFilterType(prop) != "number" || /(year|yr|fy)/g.test(prop.toLocaleLowerCase())) ? true : false;
|
|
2684
|
+
const useTxt = this.dataTableService.figureCellText(text, notNum, useProp["colCellSymbol"]);
|
|
2685
|
+
const colStyle = this.dataTableService.getColumnStyle(prop);
|
|
2686
|
+
row.cells = row.cells?.map(c => {
|
|
2687
|
+
if (c.column === prop) {
|
|
2688
|
+
c.visible = vis;
|
|
2689
|
+
c.rawText = text;
|
|
2690
|
+
c.specialColClass = (colStyle ? (colStyle + this.common.elifyCol(useTxt.value)) : "");
|
|
2691
|
+
c.text = useTxt.prop === "textContent" ? useTxt.value : "";
|
|
2692
|
+
c.html = useTxt.prop !== "textContent" ? useTxt.value : "";
|
|
2693
|
+
return c;
|
|
2694
|
+
}
|
|
2695
|
+
return c;
|
|
2696
|
+
});
|
|
2697
|
+
}
|
|
2618
2698
|
execHorizBodyScroll() {
|
|
2619
2699
|
let i = 0;
|
|
2620
2700
|
const clen = this.columns.length;
|
|
@@ -2661,11 +2741,11 @@ class RowGroupPanel {
|
|
|
2661
2741
|
}
|
|
2662
2742
|
}
|
|
2663
2743
|
}
|
|
2664
|
-
|
|
2744
|
+
timer(50).subscribe(() => {
|
|
2665
2745
|
this.dataTableService.setIdealColumnWidth.next(true);
|
|
2666
2746
|
this.setColsOnVisScreen();
|
|
2667
|
-
|
|
2668
|
-
}
|
|
2747
|
+
timer(50).subscribe(() => { this.cleanUpPossibles(); });
|
|
2748
|
+
});
|
|
2669
2749
|
}
|
|
2670
2750
|
cleanUpPossibles() {
|
|
2671
2751
|
let i = 0;
|
|
@@ -2691,29 +2771,106 @@ class RowGroupPanel {
|
|
|
2691
2771
|
}
|
|
2692
2772
|
}
|
|
2693
2773
|
}
|
|
2694
|
-
|
|
2695
|
-
|
|
2696
|
-
|
|
2697
|
-
|
|
2698
|
-
|
|
2699
|
-
|
|
2700
|
-
|
|
2701
|
-
|
|
2702
|
-
|
|
2703
|
-
|
|
2704
|
-
|
|
2705
|
-
|
|
2774
|
+
applyToDomRows(rows, rnums, cols, colLen, lastVisInd, dir, defNum, newRows) {
|
|
2775
|
+
const len = this.rows.length;
|
|
2776
|
+
let nrowsAcctFor = 0;
|
|
2777
|
+
if (dir === "down") {
|
|
2778
|
+
let i = 0;
|
|
2779
|
+
let ahToAdd = 0;
|
|
2780
|
+
let bhToSub = 0;
|
|
2781
|
+
for (i; i < len; i++) {
|
|
2782
|
+
const row = this.rows[i]; //move the top x num of dom rows to the bottom
|
|
2783
|
+
const vrow = rows[i]; //{index: index, data: item}
|
|
2784
|
+
if (vrow && vrow.index !== row.index) {
|
|
2785
|
+
const index = vrow.index;
|
|
2786
|
+
const doIt = index > -1;
|
|
2787
|
+
if (doIt) {
|
|
2788
|
+
for (let k = (colLen - 1); k >= 0; k--) {
|
|
2789
|
+
const col = cols[k];
|
|
2790
|
+
if (col)
|
|
2791
|
+
this.setCellsOnVertScroll(vrow.data[col], col, row, (k <= lastVisInd)); //prepend
|
|
2792
|
+
}
|
|
2793
|
+
}
|
|
2794
|
+
if (nrowsAcctFor < newRows) {
|
|
2795
|
+
ahToAdd += defNum;
|
|
2796
|
+
bhToSub += defNum;
|
|
2797
|
+
}
|
|
2798
|
+
if (doIt) {
|
|
2799
|
+
row.id = this.dtr + index;
|
|
2800
|
+
row.index = index;
|
|
2801
|
+
}
|
|
2802
|
+
nrowsAcctFor++;
|
|
2803
|
+
}
|
|
2804
|
+
}
|
|
2805
|
+
if (ahToAdd)
|
|
2806
|
+
this.aboveHgt.set((this.aboveHgt() + ahToAdd));
|
|
2807
|
+
if (bhToSub)
|
|
2808
|
+
this.belowHgt.set(Math.max(0, (this.belowHgt() - bhToSub)));
|
|
2809
|
+
}
|
|
2810
|
+
else {
|
|
2811
|
+
let v = 0;
|
|
2812
|
+
const ulen = (len - 1);
|
|
2813
|
+
let ahToSub = 0;
|
|
2814
|
+
let bhToAdd = 0;
|
|
2815
|
+
for (var o = ulen; o >= 0; o--) {
|
|
2816
|
+
const row = this.rows[o];
|
|
2817
|
+
const vrow = rows[v]; //{index: index, data: item}
|
|
2818
|
+
if (vrow && vrow.index !== row.index) {
|
|
2819
|
+
const index = vrow.index;
|
|
2820
|
+
const doIt = index > -1;
|
|
2821
|
+
if (doIt) {
|
|
2822
|
+
for (let k = (colLen - 1); k >= 0; k--) {
|
|
2823
|
+
const col = cols[k];
|
|
2824
|
+
if (col)
|
|
2825
|
+
this.setCellsOnVertScroll(vrow.data[col], col, row, (k <= lastVisInd)); //prepend
|
|
2826
|
+
}
|
|
2827
|
+
}
|
|
2828
|
+
if (nrowsAcctFor < newRows) {
|
|
2829
|
+
ahToSub += defNum;
|
|
2830
|
+
bhToAdd += defNum;
|
|
2831
|
+
}
|
|
2832
|
+
if (doIt) {
|
|
2833
|
+
row.id = this.dtr + index;
|
|
2834
|
+
row.index = index;
|
|
2835
|
+
}
|
|
2836
|
+
nrowsAcctFor++;
|
|
2837
|
+
}
|
|
2838
|
+
v++;
|
|
2839
|
+
}
|
|
2840
|
+
if (ahToSub)
|
|
2841
|
+
this.aboveHgt.set(Math.max(0, (this.aboveHgt() - ahToSub)));
|
|
2842
|
+
if (bhToAdd)
|
|
2843
|
+
this.belowHgt.set((this.belowHgt() + bhToAdd));
|
|
2844
|
+
}
|
|
2845
|
+
this.rowNums = [...rnums];
|
|
2846
|
+
this.finishApplyingDomRows();
|
|
2847
|
+
}
|
|
2848
|
+
getLastRowBot() {
|
|
2849
|
+
const els = document.getElementsByClassName("rows-for-" + this.elifyGrouping);
|
|
2850
|
+
return els[els.length - 1].getBoundingClientRect()?.bottom || this.tblBot;
|
|
2851
|
+
}
|
|
2852
|
+
execVertScrollDown(cols, colLen, currTop) {
|
|
2853
|
+
let gap = this.tblBot - this.getLastRowBot();
|
|
2854
|
+
this.fixRowContainer(gap);
|
|
2855
|
+
timer(0).subscribe(() => {
|
|
2706
2856
|
let h = 0;
|
|
2857
|
+
let rows = [];
|
|
2858
|
+
let canAdd = 0;
|
|
2859
|
+
const maxRows = this.rows.length;
|
|
2860
|
+
const doRows = (!this.isScrolling && (gap == 0 || !this.dataTableService.mouseIsDown)) || currTop % this.doRowsMod === 0;
|
|
2861
|
+
const bel = this.belowArea.nativeElement;
|
|
2862
|
+
const bbds = bel.getBoundingClientRect();
|
|
2863
|
+
const btop = bbds.top;
|
|
2864
|
+
const defNum = this.dataTableService.defltRHgtNum;
|
|
2707
2865
|
let z = this.lastElRowIndex + 1;
|
|
2708
2866
|
let bhToSub = 0;
|
|
2709
2867
|
let ahToAdd = 0;
|
|
2710
|
-
const rowsInGap = Math.ceil(gap / defNum);
|
|
2711
|
-
canAdd = z + (rowsInGap);
|
|
2712
2868
|
let numsToAdd = [];
|
|
2713
|
-
|
|
2869
|
+
const rowsInGap = Math.ceil(gap / defNum);
|
|
2870
|
+
canAdd = z + rowsInGap;
|
|
2714
2871
|
const goTo = Math.min(this.panelData.length, canAdd);
|
|
2715
2872
|
for (z; z < goTo; z++) {
|
|
2716
|
-
const wldBeElTop =
|
|
2873
|
+
const wldBeElTop = btop + (defNum * h);
|
|
2717
2874
|
const wldBeElBot = wldBeElTop + defNum;
|
|
2718
2875
|
if (wldBeElBot < this.tblTop) {
|
|
2719
2876
|
ahToAdd += defNum;
|
|
@@ -2722,55 +2879,54 @@ class RowGroupPanel {
|
|
|
2722
2879
|
else {
|
|
2723
2880
|
if (wldBeElTop <= this.tblBot) {
|
|
2724
2881
|
const item = this.panelData[z];
|
|
2725
|
-
const index = this.dataTableService.currMapping[z] || this.dataTableService.findObjIndxInData(item);
|
|
2726
|
-
if (
|
|
2727
|
-
|
|
2728
|
-
let k = 0;
|
|
2729
|
-
let cells = [];
|
|
2730
|
-
for (k; k < colLen; k++) {
|
|
2731
|
-
const col = cols[k];
|
|
2732
|
-
const cell = this.addCell(item[col], col, (k <= lastVisInd));
|
|
2733
|
-
if (typeof cell !== "string")
|
|
2734
|
-
cells.push(cell);
|
|
2735
|
-
}
|
|
2736
|
-
nRow.cells = [...cells];
|
|
2737
|
-
rowsToAdd.push(nRow);
|
|
2738
|
-
numsToAdd.push((z + 1)); //just do it
|
|
2739
|
-
bhToSub += defNum;
|
|
2740
|
-
}
|
|
2882
|
+
const index = this.dataTableService.currMapping[z] || (doRows ? this.dataTableService.findObjIndxInData(item) : -1);
|
|
2883
|
+
if (rows.length < maxRows)
|
|
2884
|
+
rows.push({ index: index, data: item, elInd: z });
|
|
2741
2885
|
}
|
|
2742
2886
|
}
|
|
2743
2887
|
h += 1;
|
|
2744
2888
|
}
|
|
2745
2889
|
if (bhToSub)
|
|
2746
|
-
this.belowHgt
|
|
2747
|
-
if (rowsToAdd.length)
|
|
2748
|
-
this.rows = [...this.rows, ...rowsToAdd];
|
|
2749
|
-
if (this.showRowNumbers)
|
|
2750
|
-
this.rowNums = [...this.rowNums, ...numsToAdd];
|
|
2890
|
+
this.belowHgt.set(Math.max(0, (this.belowHgt() - bhToSub)));
|
|
2751
2891
|
if (ahToAdd)
|
|
2752
|
-
this.aboveHgt
|
|
2753
|
-
|
|
2754
|
-
|
|
2892
|
+
this.aboveHgt.set((this.aboveHgt() + ahToAdd));
|
|
2893
|
+
const repl = [...rows].length; //only new rows
|
|
2894
|
+
const needsToFill = maxRows - repl;
|
|
2895
|
+
if (needsToFill) {
|
|
2896
|
+
let f = !rows.length ? this.lastElRowIndex : (rows[0].elInd - 1);
|
|
2897
|
+
let fgoto = f - needsToFill;
|
|
2898
|
+
for (f; f > fgoto; f--) {
|
|
2899
|
+
const item = this.panelData[f];
|
|
2900
|
+
const index = this.dataTableService.currMapping[f] || (doRows ? this.dataTableService.findObjIndxInData(item) : -1);
|
|
2901
|
+
rows.unshift({ index: index, data: item, elInd: f });
|
|
2902
|
+
}
|
|
2903
|
+
}
|
|
2904
|
+
numsToAdd = rows.map(r => (r.elInd + 1));
|
|
2905
|
+
const vlen = this.dataTableService.visibleCols.length;
|
|
2906
|
+
const lastVisInd = cols.indexOf(this.dataTableService.visibleCols[(vlen - 1)]) + 1;
|
|
2907
|
+
this.applyToDomRows(rows, numsToAdd, cols, colLen, lastVisInd, "down", defNum, repl);
|
|
2908
|
+
});
|
|
2755
2909
|
}
|
|
2756
|
-
|
|
2757
|
-
|
|
2758
|
-
|
|
2759
|
-
|
|
2760
|
-
|
|
2761
|
-
|
|
2762
|
-
|
|
2763
|
-
const gap = rbot - this.tblTop;
|
|
2764
|
-
if (gap > 0) {
|
|
2910
|
+
getFirstRowTop() {
|
|
2911
|
+
return document.getElementsByClassName("rows-for-" + this.elifyGrouping)[0]?.getBoundingClientRect().top || this.tblTop;
|
|
2912
|
+
}
|
|
2913
|
+
execVertScrollUp(cols, colLen, currTop, force) {
|
|
2914
|
+
let gap = this.getFirstRowTop() - this.tblTop;
|
|
2915
|
+
this.fixRowContainer(-gap);
|
|
2916
|
+
timer(0).subscribe(() => {
|
|
2765
2917
|
let h = 0;
|
|
2766
|
-
|
|
2767
|
-
|
|
2768
|
-
|
|
2769
|
-
|
|
2918
|
+
let rows = [];
|
|
2919
|
+
const ael = this.aboveArea.nativeElement;
|
|
2920
|
+
const abds = ael.getBoundingClientRect();
|
|
2921
|
+
const rbot = abds.bottom;
|
|
2922
|
+
const maxRows = this.rows.length;
|
|
2923
|
+
const defNum = this.dataTableService.defltRHgtNum;
|
|
2924
|
+
let z = (this.lastElRowIndex - maxRows);
|
|
2770
2925
|
let bhToAdd = 0;
|
|
2771
2926
|
let ahToSub = 0;
|
|
2772
|
-
let
|
|
2773
|
-
const
|
|
2927
|
+
let numsToAdd = [];
|
|
2928
|
+
const doRows = force || (!this.isScrolling && (gap == 0 || !this.dataTableService.mouseIsDown)) || currTop % this.doRowsMod === 0;
|
|
2929
|
+
const rowsInGap = Math.floor(gap / defNum);
|
|
2774
2930
|
const min = Math.max(0, (z - rowsInGap));
|
|
2775
2931
|
for (z; z >= min; z--) {
|
|
2776
2932
|
const wldBeElBot = rbot - (defNum * h);
|
|
@@ -2782,74 +2938,48 @@ class RowGroupPanel {
|
|
|
2782
2938
|
else {
|
|
2783
2939
|
if (wldBeElBot > this.tblTop) {
|
|
2784
2940
|
const item = this.panelData[z];
|
|
2785
|
-
const index = this.dataTableService.currMapping[z] || this.dataTableService.findObjIndxInData(item);
|
|
2786
|
-
if (
|
|
2787
|
-
|
|
2788
|
-
const nRow = { id: "dataTableRow" + index, index: index, width: this.useRowWid, cells: [], height: this.dataTableService.defltRHgt };
|
|
2789
|
-
let cells = [];
|
|
2790
|
-
for (k; k < colLen; k++) {
|
|
2791
|
-
const col = cols[k];
|
|
2792
|
-
const cell = this.addCell(item[col], col, (k <= lastVisInd));
|
|
2793
|
-
if (typeof cell !== "string")
|
|
2794
|
-
cells.push(cell);
|
|
2795
|
-
}
|
|
2796
|
-
nRow.cells = [...cells];
|
|
2797
|
-
mRows = [nRow, ...mRows];
|
|
2798
|
-
if (this.showRowNumbers)
|
|
2799
|
-
this.rowNums = [(z + 1), ...this.rowNums];
|
|
2800
|
-
ahToSub += defNum;
|
|
2801
|
-
}
|
|
2941
|
+
const index = this.dataTableService.currMapping[z] || (doRows ? this.dataTableService.findObjIndxInData(item) : -1);
|
|
2942
|
+
if (rows.length < maxRows)
|
|
2943
|
+
rows.push({ index: index, data: item, elInd: z });
|
|
2802
2944
|
}
|
|
2803
2945
|
}
|
|
2804
2946
|
h += 1;
|
|
2805
2947
|
}
|
|
2806
2948
|
if (ahToSub)
|
|
2807
|
-
this.aboveHgt
|
|
2808
|
-
this.rows = [...mRows];
|
|
2949
|
+
this.aboveHgt.set(Math.max(0, (this.aboveHgt() - ahToSub)));
|
|
2809
2950
|
if (bhToAdd)
|
|
2810
|
-
this.belowHgt
|
|
2811
|
-
|
|
2812
|
-
|
|
2813
|
-
|
|
2814
|
-
|
|
2815
|
-
|
|
2816
|
-
|
|
2817
|
-
|
|
2818
|
-
|
|
2819
|
-
|
|
2820
|
-
|
|
2821
|
-
this.rowNums = this.rowNums.filter((c, i) => !justindx.includes(i));
|
|
2822
|
-
const item = this.dataTableService.mainData[(this.rows[0]?.index || -1)];
|
|
2823
|
-
if (item)
|
|
2824
|
-
this.aboveHgt = this.dataTableService.findObjIndxInData(item, this.panelData) * this.dataTableService.defltRHgtNum;
|
|
2825
|
-
}
|
|
2826
|
-
}
|
|
2827
|
-
clearBelowFoldRows() {
|
|
2828
|
-
const els = this.rows.filter(r => this.dataTableService.elIsBelowFold(document.getElementById(r.id), this.tblBot));
|
|
2829
|
-
const justids = els.map(e => e.id);
|
|
2830
|
-
let changes = justids.length;
|
|
2831
|
-
if (changes > 0) {
|
|
2832
|
-
this.rows = this.rows.filter(r => !justids.includes(r.id));
|
|
2833
|
-
if (this.showRowNumbers) {
|
|
2834
|
-
for (let p = (changes - 1); p >= 0; p--)
|
|
2835
|
-
this.rowNums.pop();
|
|
2951
|
+
this.belowHgt.set((this.belowHgt() + bhToAdd));
|
|
2952
|
+
const repl = [...rows].length; //only new rows
|
|
2953
|
+
const needsToFill = maxRows - repl;
|
|
2954
|
+
if (needsToFill) {
|
|
2955
|
+
let f = (!rows.length ? (this.lastElRowIndex - maxRows) : rows[0].elInd) + 1;
|
|
2956
|
+
let fgoto = f + needsToFill;
|
|
2957
|
+
for (f; f < fgoto; f++) {
|
|
2958
|
+
const item = this.panelData[f];
|
|
2959
|
+
const index = this.dataTableService.currMapping[f] || (doRows ? this.dataTableService.findObjIndxInData(item) : -1);
|
|
2960
|
+
rows.unshift({ index: index, data: item, elInd: f });
|
|
2961
|
+
}
|
|
2836
2962
|
}
|
|
2837
|
-
|
|
2838
|
-
const
|
|
2839
|
-
|
|
2840
|
-
|
|
2841
|
-
|
|
2842
|
-
|
|
2963
|
+
numsToAdd = rows.map(r => (r.elInd + 1)).sort((a, b) => a - b);
|
|
2964
|
+
const vlen = this.dataTableService.visibleCols.length;
|
|
2965
|
+
const lastVisInd = cols.indexOf(this.dataTableService.visibleCols[(vlen - 1)]) + 1;
|
|
2966
|
+
this.applyToDomRows(rows, numsToAdd, cols, colLen, lastVisInd, "up", defNum, repl);
|
|
2967
|
+
});
|
|
2968
|
+
}
|
|
2969
|
+
finishApplyingDomRows() {
|
|
2970
|
+
this.setRowNumPlacement();
|
|
2971
|
+
this.fixRowContainer(0);
|
|
2972
|
+
this.setLastRowIndex();
|
|
2843
2973
|
}
|
|
2844
2974
|
// execCellEdit(event: any) {//{ element: el, column: this.cell.column, value: val }
|
|
2845
2975
|
// this.cellEdit.emit(event)
|
|
2846
2976
|
// }
|
|
2847
|
-
setSingleRowHgt(val, row) {
|
|
2977
|
+
setSingleRowHgt(val, row, force) {
|
|
2848
2978
|
if (val && typeof val === "string")
|
|
2849
2979
|
val = Math.ceil(parseInt(val));
|
|
2850
2980
|
const rHgt = val;
|
|
2851
2981
|
const useHgt = Math.floor(rHgt) + "px";
|
|
2852
|
-
if (typeof row === "string" && this.tblDragService.colDragStartFrmCellTracker.row && this.tblDragService.colDragStartFrmCellTracker.ystart) {
|
|
2982
|
+
if (force || (typeof row === "string" && this.tblDragService.colDragStartFrmCellTracker.row && this.tblDragService.colDragStartFrmCellTracker.ystart)) {
|
|
2853
2983
|
const drow = this.rows.find(r => r.id === row);
|
|
2854
2984
|
if (drow)
|
|
2855
2985
|
drow.height = useHgt;
|
|
@@ -2857,11 +2987,11 @@ class RowGroupPanel {
|
|
|
2857
2987
|
setTimeout(() => { this.setRowNumPlacement(); });
|
|
2858
2988
|
}
|
|
2859
2989
|
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 });
|
|
2860
|
-
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> \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 [style.height]=\"aboveHgt + 'px'\"></div>\r\n @for(row of rows; track row.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 @if(isScrolling){\r\n <div class=\"data-cell data-cell-{{common.elifyCol(cell.column)}}{{cell.specialColClass}}\" [class.data-cell-riiight]=\"cell.dataType === 'number'\"\r\n [ngClass]=\"{ 'col-item-freeze': cell.freeze, 'col-header-minimized': cell.minimized, 'holding-check': cell.column === dataTableService.firstCol }\"\r\n [ngStyle]=\"{'width': cell.width || dataTableService.useColWid, 'height': row.height}\" >{{cell.text}}@if(cell.html){<div class=\"mock-html\"></div>}</div>\r\n } @else {\r\n <app-data-cell\r\n [cell]=\"cell\" [rowId]=\"row.id\" \r\n [noColResize]=\"true\"\r\n [rawText]=\"cell.rawText\"\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 }\r\n </div>\r\n }\r\n <div #belowArea [style.height]=\"belowHgt + 'px'\"></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}\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: ["rawText", "cell", "rowId", "colWid", "rowHeight", "noColResize", "columnValClass"], outputs: ["width", "height", "edit", "dragListen", "validateEditFocus", "clearVEditFocus"] }, { kind: "pipe", type: i4.DecimalPipe, name: "number" }] });
|
|
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> \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" }] });
|
|
2861
2991
|
}
|
|
2862
2992
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: RowGroupPanel, decorators: [{
|
|
2863
2993
|
type: Component,
|
|
2864
|
-
args: [{ selector: 'app-row-group-panel', imports: [CommonModule, DecimalPipe, DataCellComponent], 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> \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 [style.height]=\"aboveHgt + 'px'\"></div>\r\n @for(row of rows; track row.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 @if(isScrolling){\r\n <div class=\"data-cell data-cell-{{common.elifyCol(cell.column)}}{{cell.specialColClass}}\" [class.data-cell-riiight]=\"cell.dataType === 'number'\"\r\n [ngClass]=\"{ 'col-item-freeze': cell.freeze, 'col-header-minimized': cell.minimized, 'holding-check': cell.column === dataTableService.firstCol }\"\r\n [ngStyle]=\"{'width': cell.width || dataTableService.useColWid, 'height': row.height}\" >{{cell.text}}@if(cell.html){<div class=\"mock-html\"></div>}</div>\r\n } @else {\r\n <app-data-cell\r\n [cell]=\"cell\" [rowId]=\"row.id\" \r\n [noColResize]=\"true\"\r\n [rawText]=\"cell.rawText\"\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 }\r\n </div>\r\n }\r\n <div #belowArea [style.height]=\"belowHgt + 'px'\"></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}\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"] }]
|
|
2994
|
+
args: [{ selector: 'app-row-group-panel', imports: [CommonModule, DecimalPipe, DataCellComponent], 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> \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"] }]
|
|
2865
2995
|
}], ctorParameters: () => [{ type: CommonService }, { type: TableDragService }, { type: DataTableService }, { type: i0.ChangeDetectorRef }], propDecorators: { onWindowMouseUp: [{
|
|
2866
2996
|
type: HostListener,
|
|
2867
2997
|
args: ['window:mouseup', ['$event']]
|
|
@@ -4710,7 +4840,6 @@ class NgxDeebodata {
|
|
|
4710
4840
|
dataTableService;
|
|
4711
4841
|
tblDragService;
|
|
4712
4842
|
common;
|
|
4713
|
-
_cd;
|
|
4714
4843
|
onWindowClick(e) {
|
|
4715
4844
|
if (this.listenToWindowCurrFil && this.currFilOpts.length) {
|
|
4716
4845
|
if (e && e.target && (e.target instanceof Element) && (/selfil-/g.test(e.target.className) || /selfil-/g.test(e.target.id))) {
|
|
@@ -4757,6 +4886,10 @@ class NgxDeebodata {
|
|
|
4757
4886
|
this.handleDraggerMU(e);
|
|
4758
4887
|
if (this.currGroupValues().length)
|
|
4759
4888
|
return this.dataTableService.mouseupWhileGrouped.next(e);
|
|
4889
|
+
this.handleScrlBarDrag();
|
|
4890
|
+
}
|
|
4891
|
+
onWindowMouseDown(e) {
|
|
4892
|
+
this.dataTableService.mouseIsDown = true;
|
|
4760
4893
|
}
|
|
4761
4894
|
onWindowMouseMove(e) {
|
|
4762
4895
|
if (this.listenToCellDraggerMouseMove)
|
|
@@ -4783,21 +4916,24 @@ class NgxDeebodata {
|
|
|
4783
4916
|
onWindowShiftKeyup(e) {
|
|
4784
4917
|
this.dataTableService.shiftKeyDown = 1;
|
|
4785
4918
|
}
|
|
4786
|
-
constructor(dataTableService, tblDragService, common
|
|
4919
|
+
constructor(dataTableService, tblDragService, common) {
|
|
4787
4920
|
this.dataTableService = dataTableService;
|
|
4788
4921
|
this.tblDragService = tblDragService;
|
|
4789
4922
|
this.common = common;
|
|
4790
|
-
this._cd = _cd;
|
|
4791
4923
|
}
|
|
4792
4924
|
rows = [];
|
|
4793
4925
|
aboveHgt = signal(0, ...(ngDevMode ? [{ debugName: "aboveHgt" }] : /* istanbul ignore next */ []));
|
|
4794
4926
|
belowHgt = signal(0, ...(ngDevMode ? [{ debugName: "belowHgt" }] : /* istanbul ignore next */ []));
|
|
4927
|
+
rnBTop = signal(0, ...(ngDevMode ? [{ debugName: "rnBTop" }] : /* istanbul ignore next */ []));
|
|
4795
4928
|
dtChecks = [];
|
|
4796
|
-
rowNos =
|
|
4929
|
+
rowNos = [];
|
|
4797
4930
|
verticalRest = 0;
|
|
4798
4931
|
horizRest = signal(0, ...(ngDevMode ? [{ debugName: "horizRest" }] : /* istanbul ignore next */ []));
|
|
4799
4932
|
isScrolling = false;
|
|
4800
4933
|
useRowWid = "";
|
|
4934
|
+
dtr = "dataTableRow";
|
|
4935
|
+
rowElsPad = 1;
|
|
4936
|
+
doRowsMod = 10;
|
|
4801
4937
|
currGroupValues = signal([], ...(ngDevMode ? [{ debugName: "currGroupValues" }] : /* istanbul ignore next */ []));
|
|
4802
4938
|
chartHgt = "";
|
|
4803
4939
|
chartState = "all";
|
|
@@ -4822,6 +4958,10 @@ class NgxDeebodata {
|
|
|
4822
4958
|
togSelRows = "Selected Rows";
|
|
4823
4959
|
maxCols = 0;
|
|
4824
4960
|
lastElRowIndex = 0;
|
|
4961
|
+
scrollDir = "down";
|
|
4962
|
+
transY = signal(0, ...(ngDevMode ? [{ debugName: "transY" }] : /* istanbul ignore next */ []));
|
|
4963
|
+
finishScrollTO = null;
|
|
4964
|
+
valEditFocusTo = null;
|
|
4825
4965
|
columnHeaders = [];
|
|
4826
4966
|
columnNames = [];
|
|
4827
4967
|
linkCell;
|
|
@@ -4854,14 +4994,13 @@ class NgxDeebodata {
|
|
|
4854
4994
|
belowArea;
|
|
4855
4995
|
validatedEdit;
|
|
4856
4996
|
rowNumHeader;
|
|
4857
|
-
rowNumBody;
|
|
4858
4997
|
fCellDragger;
|
|
4859
4998
|
selFilContainer;
|
|
4860
4999
|
btnTogSelRows;
|
|
4861
5000
|
dataTableHeaders;
|
|
4862
5001
|
topLevelDataFilter;
|
|
4863
5002
|
ngOnChanges(changes) {
|
|
4864
|
-
if (typeof changes !== "undefined" && changes["data"] && this.validationSettled() && !this.dataHasBeenSet() && this.data().length)
|
|
5003
|
+
if (typeof changes !== "undefined" && changes["data"] && this.validationSettled() && !this.dataHasBeenSet() && this.data() && this.data().length)
|
|
4865
5004
|
this.handleDataInput();
|
|
4866
5005
|
}
|
|
4867
5006
|
ngOnInit() {
|
|
@@ -4869,12 +5008,12 @@ class NgxDeebodata {
|
|
|
4869
5008
|
this.handleValidation();
|
|
4870
5009
|
}
|
|
4871
5010
|
execSetters() {
|
|
4872
|
-
if (this.defRowHgt
|
|
5011
|
+
if (this.defRowHgt) {
|
|
4873
5012
|
this.dataTableService.defltRHgt = this.defRowHgt;
|
|
4874
5013
|
this.dataTableService.defltRHgtNum = parseInt(this.defRowHgt.replace(/[ ]?(px|vh|\%)/g, ""));
|
|
4875
5014
|
}
|
|
4876
5015
|
if (this.defGridHgt)
|
|
4877
|
-
this.dataTableService.dTblHeight
|
|
5016
|
+
this.dataTableService.dTblHeight.set(this.defGridHgt);
|
|
4878
5017
|
if (this.myColumnSymbols)
|
|
4879
5018
|
this.dataTableService.columnSymbols = [...this.myColumnSymbols];
|
|
4880
5019
|
if (this.myColumnStyles)
|
|
@@ -4893,10 +5032,9 @@ class NgxDeebodata {
|
|
|
4893
5032
|
this.buildInitUiDataTable(tdata, this.color1, this.color2); //hex or rgb values work best
|
|
4894
5033
|
if (!this.dataTableService.errorLoading)
|
|
4895
5034
|
this.dataTableService.noDataMsg = "No data to display for this configuration.";
|
|
4896
|
-
this.tblDragService.dTblHeightOutput.subscribe(h => this.setTableHeight(h));
|
|
5035
|
+
this.tblDragService.dTblHeightOutput.subscribe(h => this.setTableHeight(h, true));
|
|
4897
5036
|
this.tblDragService.columnMove.subscribe(c => this.processColMove(c));
|
|
4898
5037
|
this.dataTableService.currGrouping.subscribe(g => this.processGrouping(g));
|
|
4899
|
-
setTimeout(() => this.setTableHeight(510), 1000); //for demo
|
|
4900
5038
|
this.dataHasBeenSet.set(true);
|
|
4901
5039
|
}
|
|
4902
5040
|
getAllColsAtRuntime(excludeHidden) {
|
|
@@ -4967,21 +5105,124 @@ class NgxDeebodata {
|
|
|
4967
5105
|
catch (e) { }
|
|
4968
5106
|
}
|
|
4969
5107
|
}
|
|
4970
|
-
setTableHeight(h) {
|
|
4971
|
-
this.dataTableService.dTblHeight
|
|
5108
|
+
setTableHeight(h, manual) {
|
|
5109
|
+
this.dataTableService.dTblHeight.set(h);
|
|
4972
5110
|
setTimeout(() => {
|
|
4973
5111
|
this.dataTableService.setTblBounds();
|
|
4974
5112
|
this.chartHgt = this.dataTable.nativeElement.getBoundingClientRect().height + "px";
|
|
4975
5113
|
if (!this.dataTableService.showCharts() && !this.currGroupValues().length) {
|
|
4976
|
-
|
|
5114
|
+
this.dataTableBody?.nativeElement.scrollBy(0, (this.scrollDir === "down" ? 1 : -1));
|
|
5115
|
+
setTimeout(() => { this.setRowSelChecksPlacement(); }, 0);
|
|
5116
|
+
}
|
|
5117
|
+
if (this.currGroupValues().length) {
|
|
5118
|
+
setTimeout(() => { this.dataTableService.gridScrollEndWhileGrouped.next(true); }, 0);
|
|
5119
|
+
}
|
|
5120
|
+
else {
|
|
5121
|
+
if (manual && !this.dataTableService.showCharts()) {
|
|
5122
|
+
this.dataTableService.listenForScroll.set(false);
|
|
5123
|
+
if (this.tblDragService.handleTblHtTO)
|
|
5124
|
+
clearTimeout(this.tblDragService.handleTblHtTO);
|
|
5125
|
+
this.tblDragService.handleTblHtTO = setTimeout(() => { this.handleRowsOnHeightIncrease(); }, 250);
|
|
5126
|
+
}
|
|
5127
|
+
}
|
|
5128
|
+
}, 0);
|
|
5129
|
+
}
|
|
5130
|
+
handleRowsOnHeightIncrease() {
|
|
5131
|
+
const len = this.rows.length;
|
|
5132
|
+
const defNum = this.dataTableService.defltRHgtNum;
|
|
5133
|
+
const nRows = Math.floor(Math.abs(this.tblDragService.tblHgtDiff) / defNum);
|
|
5134
|
+
const cols = [...this.columnNames];
|
|
5135
|
+
const colLen = cols.length;
|
|
5136
|
+
const vlen = this.dataTableService.visibleCols.length;
|
|
5137
|
+
const lastVisInd = cols.indexOf(this.dataTableService.visibleCols[(vlen - 1)]) + 1;
|
|
5138
|
+
if (this.tblDragService.tblHgtDiff > 0) { //add rows
|
|
5139
|
+
let i = this.lastElRowIndex + 1;
|
|
5140
|
+
let agoto = i + nRows;
|
|
5141
|
+
const xtras = agoto - this.dataTableService.currFilData.length;
|
|
5142
|
+
let bhToSub = 0;
|
|
5143
|
+
let ahToSub = 0;
|
|
5144
|
+
const applyRow = (o, setLast) => {
|
|
5145
|
+
const item = this.dataTableService.currFilData[o];
|
|
5146
|
+
if (item) {
|
|
5147
|
+
const index = this.dataTableService.currMapping[o] || this.dataTableService.findObjIndxInData(item);
|
|
5148
|
+
if (!this.rows.find(r => r.id === (this.dtr + index))) {
|
|
5149
|
+
const row = { id: this.dtr + index, index: index, width: this.useRowWid, cells: [], height: this.dataTableService.defltRHgt };
|
|
5150
|
+
let k = 0;
|
|
5151
|
+
for (k; k < colLen; k++) {
|
|
5152
|
+
const col = cols[k];
|
|
5153
|
+
if (col)
|
|
5154
|
+
addCell(item[col], col, row, (k <= lastVisInd));
|
|
5155
|
+
}
|
|
5156
|
+
if (setLast) {
|
|
5157
|
+
this.rows.push(row);
|
|
5158
|
+
if (bhToSub < this.belowHgt())
|
|
5159
|
+
bhToSub += defNum;
|
|
5160
|
+
else
|
|
5161
|
+
ahToSub += defNum;
|
|
5162
|
+
this.setLastRowIndex();
|
|
5163
|
+
}
|
|
5164
|
+
else {
|
|
5165
|
+
this.rows.unshift(row);
|
|
5166
|
+
ahToSub += defNum;
|
|
5167
|
+
}
|
|
5168
|
+
if (!this.dtChecks.includes(index))
|
|
5169
|
+
this.dtChecks.push(index);
|
|
5170
|
+
}
|
|
5171
|
+
}
|
|
5172
|
+
};
|
|
5173
|
+
const addCell = (text, prop, row, visible) => {
|
|
5174
|
+
if (prop && row) {
|
|
5175
|
+
const useProp = this.dataTableService.dataFilSrtTracker[prop];
|
|
5176
|
+
const notNum = (this.dataTableService.figureFilterType(prop) != "number" || /(year|yr|fy)/g.test(prop.toLocaleLowerCase())) ? true : false;
|
|
5177
|
+
const useTxt = this.dataTableService.figureCellText(text, notNum, this.dataTableService.dataFilSrtTracker[prop]["colCellSymbol"]);
|
|
5178
|
+
const colStyle = this.dataTableService.getColumnStyle(prop);
|
|
5179
|
+
row.cells?.push({
|
|
5180
|
+
column: prop,
|
|
5181
|
+
freeze: useProp.freeze,
|
|
5182
|
+
minimized: useProp.minimize,
|
|
5183
|
+
rawText: text,
|
|
5184
|
+
visible: visible,
|
|
5185
|
+
width: useProp.colWidth || this.dataTableService.useColWid,
|
|
5186
|
+
editable: useTxt.prop === "textContent" ? this.editable : false,
|
|
5187
|
+
dataType: this.dataTableService.figureFilterType(prop),
|
|
5188
|
+
text: (useTxt.prop === "textContent" ? useTxt.value : ""),
|
|
5189
|
+
html: (useTxt.prop !== "textContent" ? useTxt.value : ""),
|
|
5190
|
+
specialColClass: (colStyle ? (colStyle + this.common.elifyCol(useTxt.value)) : ""),
|
|
5191
|
+
});
|
|
5192
|
+
}
|
|
5193
|
+
};
|
|
5194
|
+
for (i; i < agoto; i++)
|
|
5195
|
+
applyRow(i, true);
|
|
5196
|
+
if (xtras > 0) {
|
|
5197
|
+
const elsLen = document.getElementsByClassName("data-table-row").length;
|
|
5198
|
+
let x = (this.lastElRowIndex - elsLen) - 1;
|
|
5199
|
+
let xgoto = x - xtras;
|
|
5200
|
+
for (x; x >= xgoto; x--)
|
|
5201
|
+
applyRow(x);
|
|
5202
|
+
}
|
|
5203
|
+
if (bhToSub)
|
|
5204
|
+
this.belowHgt.set((this.belowHgt() - bhToSub));
|
|
5205
|
+
if (ahToSub)
|
|
5206
|
+
this.aboveHgt.set((this.aboveHgt() - ahToSub));
|
|
5207
|
+
}
|
|
5208
|
+
else {
|
|
5209
|
+
let bhToAdd = 0;
|
|
5210
|
+
const goto = Math.max(0, (len - nRows));
|
|
5211
|
+
for (var o = (len - 1); o >= goto; o--) {
|
|
5212
|
+
let el = this.rows[o];
|
|
4977
5213
|
if (el) {
|
|
4978
|
-
|
|
4979
|
-
|
|
5214
|
+
this.rows = this.rows.filter(r => r.index !== el.index);
|
|
5215
|
+
this.dtChecks = this.dtChecks.filter(c => c !== el.index);
|
|
5216
|
+
bhToAdd += defNum;
|
|
4980
5217
|
}
|
|
4981
|
-
setTimeout(() => { this.setRowSelChecksPlacement(); });
|
|
4982
5218
|
}
|
|
4983
|
-
if (
|
|
4984
|
-
|
|
5219
|
+
if (bhToAdd)
|
|
5220
|
+
this.belowHgt.set((this.belowHgt() + bhToAdd));
|
|
5221
|
+
}
|
|
5222
|
+
setTimeout(() => {
|
|
5223
|
+
this.dataTableService.listenForScroll.set(true);
|
|
5224
|
+
this.setRowNumbers();
|
|
5225
|
+
this.tblDragService.tblHgtDiff = 0;
|
|
4985
5226
|
});
|
|
4986
5227
|
}
|
|
4987
5228
|
openCharts() {
|
|
@@ -5025,7 +5266,7 @@ class NgxDeebodata {
|
|
|
5025
5266
|
this.columnHeaders.splice((inAft + 1), 0, addCol);
|
|
5026
5267
|
}
|
|
5027
5268
|
}
|
|
5028
|
-
|
|
5269
|
+
timer(100).subscribe(() => {
|
|
5029
5270
|
let i = 0;
|
|
5030
5271
|
const els = document.getElementsByClassName("col-header");
|
|
5031
5272
|
const len = els.length;
|
|
@@ -5044,9 +5285,10 @@ class NgxDeebodata {
|
|
|
5044
5285
|
if (dtB) {
|
|
5045
5286
|
const willSclTo = dtB.scrollLeft;
|
|
5046
5287
|
this.renderCurrData(false);
|
|
5047
|
-
|
|
5288
|
+
timer(0).subscribe(() => { dtB.scrollLeft = willSclTo; });
|
|
5048
5289
|
}
|
|
5049
|
-
|
|
5290
|
+
this.setHoldingCheckCls();
|
|
5291
|
+
});
|
|
5050
5292
|
}
|
|
5051
5293
|
this.clearValidatedEdit(null, true);
|
|
5052
5294
|
}
|
|
@@ -5058,7 +5300,7 @@ class NgxDeebodata {
|
|
|
5058
5300
|
this.aboveHgt.set(0);
|
|
5059
5301
|
this.belowHgt.set(0);
|
|
5060
5302
|
this.dtChecks = [];
|
|
5061
|
-
this.rowNos
|
|
5303
|
+
this.rowNos = [];
|
|
5062
5304
|
this.clearValidatedEdit(null, true);
|
|
5063
5305
|
this.dataTableService.currMapping = {};
|
|
5064
5306
|
this.dataTableService.currSelRows = [];
|
|
@@ -5291,12 +5533,25 @@ class NgxDeebodata {
|
|
|
5291
5533
|
this.setRowNumbers();
|
|
5292
5534
|
}
|
|
5293
5535
|
}
|
|
5536
|
+
cleanRowChecks() {
|
|
5537
|
+
const len = this.dtChecks.length;
|
|
5538
|
+
for (let i = (len - 1); i >= 0; i--) {
|
|
5539
|
+
const chk = this.dtChecks[i];
|
|
5540
|
+
if (this.dtChecks.filter(d => d === chk).length > 1) {
|
|
5541
|
+
const cind = this.dtChecks.lastIndexOf(chk);
|
|
5542
|
+
this.dtChecks = this.dtChecks.filter((d, ind) => ind !== cind);
|
|
5543
|
+
}
|
|
5544
|
+
const accRow = this.rows.find(r => r.index === chk);
|
|
5545
|
+
if (!accRow)
|
|
5546
|
+
this.dtChecks = this.dtChecks.filter(d => d !== chk);
|
|
5547
|
+
}
|
|
5548
|
+
}
|
|
5294
5549
|
rowNTO = null;
|
|
5295
5550
|
setRowNumbers() {
|
|
5296
5551
|
const rlen = this.rows.length;
|
|
5297
5552
|
if (this.rowNumbers && rlen) {
|
|
5298
|
-
const hasHgt = this.rowNos
|
|
5299
|
-
|
|
5553
|
+
const hasHgt = this.rowNos.filter(r => r.height);
|
|
5554
|
+
this.rowNos = [];
|
|
5300
5555
|
let n = (this.lastElRowIndex + 1) - rlen;
|
|
5301
5556
|
for (n; n <= this.lastElRowIndex; n++) {
|
|
5302
5557
|
let rn = { number: n + 1 };
|
|
@@ -5305,13 +5560,18 @@ class NgxDeebodata {
|
|
|
5305
5560
|
if (hh)
|
|
5306
5561
|
rn.height = hh.height;
|
|
5307
5562
|
}
|
|
5308
|
-
|
|
5563
|
+
this.rowNos.push(rn);
|
|
5564
|
+
}
|
|
5565
|
+
const listen = this.dataTableService.listenForScroll();
|
|
5566
|
+
const r1 = document.getElementsByClassName("data-table-row")[0];
|
|
5567
|
+
if (r1 && listen) {
|
|
5568
|
+
const ty = (this.transY() * (this.scrollDir === "down" ? -1 : 1));
|
|
5569
|
+
const useCalc = -(this.dataTableService.tblTop - r1.getBoundingClientRect().top) - ty;
|
|
5570
|
+
this.rnBTop.set(Math.min(useCalc, 0));
|
|
5309
5571
|
}
|
|
5310
|
-
|
|
5311
|
-
|
|
5312
|
-
|
|
5313
|
-
const useCalc = -(this.dataTableService.tblTop - r1.getBoundingClientRect().top);
|
|
5314
|
-
this.rowNumBody.nativeElement.style.marginTop = Math.min(useCalc, 0) + "px";
|
|
5572
|
+
else {
|
|
5573
|
+
if (listen)
|
|
5574
|
+
this.rnBTop.set(0);
|
|
5315
5575
|
}
|
|
5316
5576
|
}
|
|
5317
5577
|
}
|
|
@@ -5434,13 +5694,14 @@ class NgxDeebodata {
|
|
|
5434
5694
|
const colLen = cols.length;
|
|
5435
5695
|
this.maxCols = this.setMaxCols();
|
|
5436
5696
|
const defNum = this.dataTableService.defltRHgtNum;
|
|
5437
|
-
const init = Math.
|
|
5697
|
+
const init = Math.ceil(this.dataTableService.dTblHeight() / defNum) + this.rowElsPad;
|
|
5438
5698
|
this.dataTableService.useColWid = Math.ceil((this.dataTableBody.nativeElement.getBoundingClientRect().width - 16) / Math.min(colLen, this.maxCols)) + "px";
|
|
5439
5699
|
for (i; i < colLen; i++) {
|
|
5440
5700
|
this.columnHeaders.push({ column: cols[i], width: this.dataTableService.useColWid, hideMinCol: false, freeze: false, minimized: false, dataType: this.dataTableService.figureFilterType(cols[i]) });
|
|
5441
5701
|
if (i < this.maxCols)
|
|
5442
5702
|
this.dataTableService.visibleCols.push(cols[i]);
|
|
5443
5703
|
}
|
|
5704
|
+
this.setHoldingCheckCls();
|
|
5444
5705
|
this.columnNames = this.columnHeaders.map(c => c.column);
|
|
5445
5706
|
const initVisCols = cols.filter((c, ind) => ind <= (this.maxCols + 1));
|
|
5446
5707
|
const addCell = (text, prop, row, indx) => {
|
|
@@ -5468,25 +5729,29 @@ class NgxDeebodata {
|
|
|
5468
5729
|
};
|
|
5469
5730
|
this.useRowWid = this.getAllColWidth(colLen) + "px";
|
|
5470
5731
|
const limit = Math.min(init, len);
|
|
5732
|
+
let localRows = [];
|
|
5471
5733
|
for (n; n < limit; n++) {
|
|
5472
|
-
|
|
5734
|
+
const row = { id: "dataTableRow" + n, index: n, width: this.useRowWid, cells: [], height: this.dataTableService.defltRHgt };
|
|
5473
5735
|
let k = 0;
|
|
5474
5736
|
for (k; k < colLen; k++)
|
|
5475
|
-
addCell(data[n][cols[k]], cols[k],
|
|
5737
|
+
addCell(data[n][cols[k]], cols[k], row, n);
|
|
5738
|
+
localRows.push(row);
|
|
5476
5739
|
this.dataTableService.currMapping[n] = n;
|
|
5477
5740
|
}
|
|
5741
|
+
this.rows = [...localRows];
|
|
5478
5742
|
this.setLastRowIndex();
|
|
5479
5743
|
this.paginatorReady = true;
|
|
5480
5744
|
this.handleTheme(color1, color2);
|
|
5481
5745
|
this.handleColAnyDDFilters(data, cols);
|
|
5482
|
-
|
|
5746
|
+
if (len >= 500000)
|
|
5747
|
+
this.doRowsMod = 15;
|
|
5748
|
+
timer(0).subscribe(() => {
|
|
5483
5749
|
this.testHideMinBtn();
|
|
5484
5750
|
this.setColHeaderHgt();
|
|
5485
|
-
this.setHoldingCheckCls();
|
|
5486
5751
|
this.setRowSelChecksPlacement();
|
|
5487
5752
|
this.dataTableService.setTblBounds();
|
|
5488
5753
|
});
|
|
5489
|
-
|
|
5754
|
+
timer(250).subscribe(() => {
|
|
5490
5755
|
this.dataTableService.setIdealColumnWidth.next(true);
|
|
5491
5756
|
if (len > init) {
|
|
5492
5757
|
let total = 0;
|
|
@@ -5496,13 +5761,9 @@ class NgxDeebodata {
|
|
|
5496
5761
|
this.dataTableService.currMapping[z] = z;
|
|
5497
5762
|
}
|
|
5498
5763
|
this.belowHgt.set(total * defNum);
|
|
5499
|
-
setTimeout(() => { if (this.dataTableBody) {
|
|
5500
|
-
this.dataTableBody.nativeElement.scrollBy(0, 1);
|
|
5501
|
-
this.dataTableBody.nativeElement.scrollBy(0, -1);
|
|
5502
|
-
} });
|
|
5503
5764
|
}
|
|
5504
5765
|
this.setColsOnVisScreen();
|
|
5505
|
-
}
|
|
5766
|
+
});
|
|
5506
5767
|
this.getPrimaryKey(cols);
|
|
5507
5768
|
}
|
|
5508
5769
|
catch (e) { }
|
|
@@ -5730,6 +5991,36 @@ class NgxDeebodata {
|
|
|
5730
5991
|
}
|
|
5731
5992
|
this.dataTableService.visibleCols = [...vCols];
|
|
5732
5993
|
}
|
|
5994
|
+
handleScrlBarDrag() {
|
|
5995
|
+
this.dataTableService.mouseIsDown = false;
|
|
5996
|
+
if (!this.finishScrollTO && this.dataTableService.currEditIndex === -1) {
|
|
5997
|
+
timer(0).subscribe(() => { this.completeScroll(); this.dataTableService.listenForScroll.set(true); });
|
|
5998
|
+
}
|
|
5999
|
+
else {
|
|
6000
|
+
this.dataTableService.listenForScroll.set(true);
|
|
6001
|
+
}
|
|
6002
|
+
}
|
|
6003
|
+
setAllRowsDefHgt() {
|
|
6004
|
+
let i = 0;
|
|
6005
|
+
const len = this.rows.length;
|
|
6006
|
+
for (i; i < len; i++)
|
|
6007
|
+
this.setSingleRowHgt(this.dataTableService.defltRHgtNum, this.rows[i].id, true);
|
|
6008
|
+
}
|
|
6009
|
+
completeScroll() {
|
|
6010
|
+
this.isScrolling = false;
|
|
6011
|
+
this.finishScrollTO = null;
|
|
6012
|
+
const dtb = this.dataTableBody?.nativeElement;
|
|
6013
|
+
if (dtb) {
|
|
6014
|
+
const lfs = this.dataTableService.listenForScroll();
|
|
6015
|
+
this.execVertScrollUp(this.columnNames, this.columnNames.length, dtb.scrollTop, true);
|
|
6016
|
+
this.handleScrollEnd();
|
|
6017
|
+
this.execHorizScroll(dtb.scrollLeft);
|
|
6018
|
+
if (lfs && this.rows.some(r => r.height !== this.dataTableService.defltRHgt))
|
|
6019
|
+
this.setAllRowsDefHgt();
|
|
6020
|
+
if (!lfs)
|
|
6021
|
+
timer(0).subscribe(() => { this.dataTableService.listenForScroll.set(true); });
|
|
6022
|
+
}
|
|
6023
|
+
}
|
|
5733
6024
|
handleScroll(event) {
|
|
5734
6025
|
if (this.currGroupValues().length || this.dataTableService.showCharts())
|
|
5735
6026
|
return;
|
|
@@ -5740,8 +6031,7 @@ class NgxDeebodata {
|
|
|
5740
6031
|
this.execHorizScroll(left);
|
|
5741
6032
|
/*horiz scroll*/
|
|
5742
6033
|
/*vert scroll*/
|
|
5743
|
-
if (top === this.verticalRest || this.lockVScroll) {
|
|
5744
|
-
this.isScrolling = false;
|
|
6034
|
+
if (top === this.verticalRest || this.lockVScroll || !this.dataTableService.listenForScroll()) {
|
|
5745
6035
|
if (!this.dataTableService.autoScrollOnEdit)
|
|
5746
6036
|
this.clearValidatedEdit();
|
|
5747
6037
|
return this.setRowSelChecksPlacement();
|
|
@@ -5751,6 +6041,9 @@ class NgxDeebodata {
|
|
|
5751
6041
|
/*vert scroll*/
|
|
5752
6042
|
if (top % 2 === 0)
|
|
5753
6043
|
this.clearValidatedEdit();
|
|
6044
|
+
if (this.finishScrollTO)
|
|
6045
|
+
this.finishScrollTO.unsubscribe();
|
|
6046
|
+
this.finishScrollTO = timer(150).subscribe(() => { this.completeScroll(); });
|
|
5754
6047
|
}
|
|
5755
6048
|
execHorizScroll(left) {
|
|
5756
6049
|
const head = this.dataTableHeaders.nativeElement;
|
|
@@ -5763,36 +6056,38 @@ class NgxDeebodata {
|
|
|
5763
6056
|
this.horizRest.set(left);
|
|
5764
6057
|
this.setColsOnVisScreen();
|
|
5765
6058
|
}
|
|
6059
|
+
fixRowContainer(transY) {
|
|
6060
|
+
this.transY.set(transY);
|
|
6061
|
+
}
|
|
5766
6062
|
execVertScroll(top) {
|
|
5767
6063
|
if (top >= this.verticalRest) {
|
|
5768
|
-
this.execVertScrollDown(this.columnNames, this.columnNames.length);
|
|
5769
|
-
this.clearAboveFoldRows();
|
|
5770
6064
|
this.scrollDir = "down";
|
|
6065
|
+
this.execVertScrollDown(this.columnNames, this.columnNames.length, top);
|
|
5771
6066
|
}
|
|
5772
6067
|
else { //scrolling back up
|
|
5773
|
-
this.execVertScrollUp(this.columnNames, this.columnNames.length);
|
|
5774
|
-
this.clearBelowFoldRows();
|
|
5775
6068
|
this.scrollDir = "up";
|
|
6069
|
+
this.execVertScrollUp(this.columnNames, this.columnNames.length, top);
|
|
5776
6070
|
}
|
|
5777
6071
|
this.verticalRest = top;
|
|
5778
|
-
if (this.rowNumbers && top % 2 === 0)
|
|
5779
|
-
this.setRowNumbers();
|
|
5780
6072
|
}
|
|
5781
|
-
scrollDir = "down";
|
|
5782
6073
|
handleScrollEnd() {
|
|
6074
|
+
if (!this.dataTableService.listenForScroll())
|
|
6075
|
+
return;
|
|
6076
|
+
this.fixRowContainer(0);
|
|
5783
6077
|
this.isScrolling = false;
|
|
5784
6078
|
this.lockVScroll = false;
|
|
5785
6079
|
if (this.currGroupValues().length)
|
|
5786
|
-
return
|
|
6080
|
+
return timer(0).subscribe(() => { this.dataTableService.gridScrollEndWhileGrouped.next(true); });
|
|
5787
6081
|
if (this.dataTableService.showCharts())
|
|
5788
6082
|
return;
|
|
5789
|
-
|
|
6083
|
+
timer(0).subscribe(() => {
|
|
5790
6084
|
this.dataTableService.autoScrollOnEdit = false;
|
|
5791
6085
|
this.setColsOnVisScreen();
|
|
6086
|
+
this.cleanRowChecks();
|
|
5792
6087
|
this.setRowSelChecksPlacement();
|
|
5793
6088
|
if (this.listenToCellDraggerMouseMove)
|
|
5794
6089
|
this.settleCellDragger();
|
|
5795
|
-
|
|
6090
|
+
timer(0).subscribe(() => { this.cleanUpPossibles(); });
|
|
5796
6091
|
});
|
|
5797
6092
|
}
|
|
5798
6093
|
addCell(text, prop, visible) {
|
|
@@ -5814,6 +6109,23 @@ class NgxDeebodata {
|
|
|
5814
6109
|
specialColClass: (colStyle ? (colStyle + this.common.elifyCol(useTxt.value)) : ""),
|
|
5815
6110
|
};
|
|
5816
6111
|
}
|
|
6112
|
+
setCellsOnVertScroll(text, prop, row, vis) {
|
|
6113
|
+
const useProp = this.dataTableService.dataFilSrtTracker[prop];
|
|
6114
|
+
const notNum = (this.dataTableService.figureFilterType(prop) != "number" || /(year|yr|fy)/g.test(prop.toLocaleLowerCase())) ? true : false;
|
|
6115
|
+
const useTxt = this.dataTableService.figureCellText(text, notNum, useProp["colCellSymbol"]);
|
|
6116
|
+
const colStyle = this.dataTableService.getColumnStyle(prop);
|
|
6117
|
+
row.cells = row.cells?.map(c => {
|
|
6118
|
+
if (c.column === prop) {
|
|
6119
|
+
c.visible = vis;
|
|
6120
|
+
c.rawText = text;
|
|
6121
|
+
c.specialColClass = (colStyle ? (colStyle + this.common.elifyCol(useTxt.value)) : "");
|
|
6122
|
+
c.text = useTxt.prop === "textContent" ? useTxt.value : "";
|
|
6123
|
+
c.html = useTxt.prop !== "textContent" ? useTxt.value : "";
|
|
6124
|
+
return c;
|
|
6125
|
+
}
|
|
6126
|
+
return c;
|
|
6127
|
+
});
|
|
6128
|
+
}
|
|
5817
6129
|
execHorizBodyScroll() {
|
|
5818
6130
|
const allcols = this.getAllColsAtRuntime(null);
|
|
5819
6131
|
let i = 0;
|
|
@@ -5864,11 +6176,11 @@ class NgxDeebodata {
|
|
|
5864
6176
|
}
|
|
5865
6177
|
}
|
|
5866
6178
|
}
|
|
5867
|
-
|
|
6179
|
+
timer(50).subscribe(() => {
|
|
5868
6180
|
this.dataTableService.setIdealColumnWidth.next(true);
|
|
5869
6181
|
this.setColsOnVisScreen();
|
|
5870
|
-
|
|
5871
|
-
}
|
|
6182
|
+
timer(0).subscribe(() => { this.cleanUpPossibles(); });
|
|
6183
|
+
});
|
|
5872
6184
|
}
|
|
5873
6185
|
cleanUpPossibles() {
|
|
5874
6186
|
let i = 0;
|
|
@@ -5895,28 +6207,113 @@ class NgxDeebodata {
|
|
|
5895
6207
|
}
|
|
5896
6208
|
}
|
|
5897
6209
|
}
|
|
5898
|
-
|
|
5899
|
-
|
|
5900
|
-
|
|
5901
|
-
|
|
5902
|
-
|
|
5903
|
-
|
|
5904
|
-
|
|
5905
|
-
|
|
5906
|
-
|
|
5907
|
-
|
|
5908
|
-
|
|
6210
|
+
applyToDomRows(rows, cols, colLen, lastVisInd, dir, defNum, newRows) {
|
|
6211
|
+
const len = this.rows.length;
|
|
6212
|
+
let nrowsAcctFor = 0;
|
|
6213
|
+
let chks = [];
|
|
6214
|
+
if (dir === "down") {
|
|
6215
|
+
let i = 0;
|
|
6216
|
+
let ahToAdd = 0;
|
|
6217
|
+
let bhToSub = 0;
|
|
6218
|
+
for (i; i < len; i++) {
|
|
6219
|
+
const row = this.rows[i]; //move the top x num of dom rows to the bottom
|
|
6220
|
+
const vrow = rows[i]; //{index: index, data: item}
|
|
6221
|
+
if (vrow && vrow.index !== row.index) {
|
|
6222
|
+
const index = vrow.index;
|
|
6223
|
+
const doIt = index > -1;
|
|
6224
|
+
if (doIt) {
|
|
6225
|
+
for (let k = (colLen - 1); k >= 0; k--) {
|
|
6226
|
+
const col = cols[k];
|
|
6227
|
+
if (col)
|
|
6228
|
+
this.setCellsOnVertScroll(vrow.data[col], col, row, (k <= lastVisInd)); //prepend
|
|
6229
|
+
}
|
|
6230
|
+
}
|
|
6231
|
+
if (nrowsAcctFor < newRows) {
|
|
6232
|
+
ahToAdd += defNum;
|
|
6233
|
+
bhToSub += defNum;
|
|
6234
|
+
}
|
|
6235
|
+
if (doIt) {
|
|
6236
|
+
row.id = this.dtr + index;
|
|
6237
|
+
row.index = index;
|
|
6238
|
+
if (!this.dtChecks.includes(index))
|
|
6239
|
+
chks.push(index);
|
|
6240
|
+
}
|
|
6241
|
+
nrowsAcctFor++;
|
|
6242
|
+
}
|
|
6243
|
+
}
|
|
6244
|
+
if (chks.length)
|
|
6245
|
+
this.dtChecks = [...this.dtChecks, ...chks];
|
|
6246
|
+
if (ahToAdd)
|
|
6247
|
+
this.aboveHgt.set((this.aboveHgt() + ahToAdd));
|
|
6248
|
+
if (bhToSub)
|
|
6249
|
+
this.belowHgt.set(Math.max(0, (this.belowHgt() - bhToSub)));
|
|
6250
|
+
}
|
|
6251
|
+
else {
|
|
6252
|
+
let v = 0;
|
|
6253
|
+
const ulen = (len - 1);
|
|
6254
|
+
let ahToSub = 0;
|
|
6255
|
+
let bhToAdd = 0;
|
|
6256
|
+
for (var o = ulen; o >= 0; o--) {
|
|
6257
|
+
const row = this.rows[o];
|
|
6258
|
+
const vrow = rows[v]; //{index: index, data: item}
|
|
6259
|
+
if (vrow && vrow.index !== row.index) {
|
|
6260
|
+
const index = vrow.index;
|
|
6261
|
+
const doIt = index > -1;
|
|
6262
|
+
if (doIt) {
|
|
6263
|
+
for (let k = (colLen - 1); k >= 0; k--) {
|
|
6264
|
+
const col = cols[k];
|
|
6265
|
+
if (col)
|
|
6266
|
+
this.setCellsOnVertScroll(vrow.data[col], col, row, (k <= lastVisInd)); //prepend
|
|
6267
|
+
}
|
|
6268
|
+
}
|
|
6269
|
+
if (nrowsAcctFor < newRows) {
|
|
6270
|
+
ahToSub += defNum;
|
|
6271
|
+
bhToAdd += defNum;
|
|
6272
|
+
}
|
|
6273
|
+
if (doIt) {
|
|
6274
|
+
row.id = this.dtr + index;
|
|
6275
|
+
row.index = index;
|
|
6276
|
+
if (!this.dtChecks.includes(index))
|
|
6277
|
+
chks.push(index);
|
|
6278
|
+
}
|
|
6279
|
+
nrowsAcctFor++;
|
|
6280
|
+
}
|
|
6281
|
+
v++;
|
|
6282
|
+
}
|
|
6283
|
+
if (chks.length)
|
|
6284
|
+
this.dtChecks = [...this.dtChecks, ...chks];
|
|
6285
|
+
if (ahToSub)
|
|
6286
|
+
this.aboveHgt.set(Math.max(0, (this.aboveHgt() - ahToSub)));
|
|
6287
|
+
if (bhToAdd)
|
|
6288
|
+
this.belowHgt.set((this.belowHgt() + bhToAdd));
|
|
6289
|
+
}
|
|
6290
|
+
this.finishApplyingDomRows();
|
|
6291
|
+
}
|
|
6292
|
+
getLastRowBot() {
|
|
6293
|
+
const els = document.getElementsByClassName("data-table-row");
|
|
6294
|
+
return els[els.length - 1].getBoundingClientRect()?.bottom || this.dataTableService.tblBot;
|
|
6295
|
+
}
|
|
6296
|
+
execVertScrollDown(cols, colLen, currTop) {
|
|
6297
|
+
let gap = this.dataTableService.tblBot - this.getLastRowBot();
|
|
6298
|
+
this.fixRowContainer(gap);
|
|
6299
|
+
timer(0).subscribe(() => {
|
|
5909
6300
|
let h = 0;
|
|
6301
|
+
let rows = [];
|
|
6302
|
+
let canAdd = 0;
|
|
6303
|
+
const maxRows = this.rows.length;
|
|
6304
|
+
const doRows = (!this.isScrolling && (gap == 0 || !this.dataTableService.mouseIsDown)) || currTop % this.doRowsMod === 0 || this.belowHgt() === 0;
|
|
6305
|
+
const bel = this.belowArea.nativeElement;
|
|
6306
|
+
const bbds = bel.getBoundingClientRect();
|
|
6307
|
+
const btop = bbds.top;
|
|
6308
|
+
const defNum = this.dataTableService.defltRHgtNum;
|
|
5910
6309
|
let z = this.lastElRowIndex + 1;
|
|
5911
6310
|
let bhToSub = 0;
|
|
5912
6311
|
let ahToAdd = 0;
|
|
5913
6312
|
const rowsInGap = Math.ceil(gap / defNum);
|
|
5914
|
-
canAdd = z +
|
|
5915
|
-
let chksToAdd = [];
|
|
5916
|
-
let rowsToAdd = [];
|
|
6313
|
+
canAdd = z + rowsInGap;
|
|
5917
6314
|
const goTo = Math.min(this.dataTableService.currFilData.length, canAdd);
|
|
5918
6315
|
for (z; z < goTo; z++) {
|
|
5919
|
-
const wldBeElTop =
|
|
6316
|
+
const wldBeElTop = btop + (defNum * h);
|
|
5920
6317
|
const wldBeElBot = wldBeElTop + defNum;
|
|
5921
6318
|
if (wldBeElBot < this.dataTableService.tblTop) {
|
|
5922
6319
|
ahToAdd += defNum;
|
|
@@ -5925,54 +6322,51 @@ class NgxDeebodata {
|
|
|
5925
6322
|
else {
|
|
5926
6323
|
if (wldBeElTop <= this.dataTableService.tblBot) {
|
|
5927
6324
|
const item = this.dataTableService.currFilData[z];
|
|
5928
|
-
const index = this.dataTableService.currMapping[z] || this.dataTableService.findObjIndxInData(item);
|
|
5929
|
-
if (
|
|
5930
|
-
|
|
5931
|
-
let cells = [];
|
|
5932
|
-
for (let k = (colLen - 1); k >= 0; k--) {
|
|
5933
|
-
const col = cols[k];
|
|
5934
|
-
const cell = this.addCell(item[col], col, (k <= lastVisInd));
|
|
5935
|
-
if (typeof cell !== "string")
|
|
5936
|
-
cells.unshift(cell);
|
|
5937
|
-
}
|
|
5938
|
-
nRow.cells = [...cells];
|
|
5939
|
-
chksToAdd.push(index);
|
|
5940
|
-
rowsToAdd.push(nRow);
|
|
5941
|
-
bhToSub += defNum;
|
|
5942
|
-
}
|
|
6325
|
+
const index = this.dataTableService.currMapping[z] || (doRows ? this.dataTableService.findObjIndxInData(item) : -1);
|
|
6326
|
+
if (rows.length < maxRows)
|
|
6327
|
+
rows.push({ index: index, data: item, elInd: z });
|
|
5943
6328
|
}
|
|
5944
6329
|
}
|
|
5945
6330
|
h += 1;
|
|
5946
6331
|
}
|
|
5947
6332
|
if (bhToSub)
|
|
5948
|
-
this.belowHgt.set(Math.max(0, this.belowHgt() - bhToSub));
|
|
5949
|
-
this.rows = [...this.rows, ...rowsToAdd];
|
|
6333
|
+
this.belowHgt.set(Math.max(0, (this.belowHgt() - bhToSub)));
|
|
5950
6334
|
if (ahToAdd)
|
|
5951
|
-
this.aboveHgt.set(this.aboveHgt() + ahToAdd);
|
|
5952
|
-
|
|
5953
|
-
|
|
5954
|
-
|
|
5955
|
-
|
|
6335
|
+
this.aboveHgt.set((this.aboveHgt() + ahToAdd));
|
|
6336
|
+
const repl = [...rows].length; //only new rows
|
|
6337
|
+
const needsToFill = maxRows - repl;
|
|
6338
|
+
if (needsToFill) {
|
|
6339
|
+
let f = !rows.length ? this.lastElRowIndex : (rows[0].elInd - 1);
|
|
6340
|
+
let fgoto = f - needsToFill;
|
|
6341
|
+
for (f; f > fgoto; f--) {
|
|
6342
|
+
const item = this.dataTableService.currFilData[f];
|
|
6343
|
+
const index = this.dataTableService.currMapping[f] || (doRows ? this.dataTableService.findObjIndxInData(item) : -1);
|
|
6344
|
+
rows.unshift({ index: index, data: item });
|
|
6345
|
+
}
|
|
6346
|
+
}
|
|
6347
|
+
const vlen = this.dataTableService.visibleCols.length;
|
|
6348
|
+
const lastVisInd = cols.indexOf(this.dataTableService.visibleCols[(vlen - 1)]) + 1;
|
|
6349
|
+
this.applyToDomRows(rows, cols, colLen, lastVisInd, "down", defNum, repl);
|
|
6350
|
+
});
|
|
5956
6351
|
}
|
|
5957
|
-
|
|
5958
|
-
|
|
5959
|
-
|
|
5960
|
-
|
|
5961
|
-
|
|
5962
|
-
|
|
5963
|
-
|
|
5964
|
-
const rbot = abds.bottom;
|
|
5965
|
-
const gap = rbot - (this.dataTableService.tblTop);
|
|
5966
|
-
if (gap > 0) {
|
|
6352
|
+
getFirstRowTop() {
|
|
6353
|
+
return document.getElementsByClassName("data-table-row")[0]?.getBoundingClientRect().top || this.dataTableService.tblTop;
|
|
6354
|
+
}
|
|
6355
|
+
execVertScrollUp(cols, colLen, currTop, force) {
|
|
6356
|
+
let gap = this.getFirstRowTop() - this.dataTableService.tblTop;
|
|
6357
|
+
this.fixRowContainer(-gap);
|
|
6358
|
+
timer(0).subscribe(() => {
|
|
5967
6359
|
let h = 0;
|
|
5968
|
-
|
|
5969
|
-
|
|
5970
|
-
|
|
5971
|
-
|
|
6360
|
+
let rows = [];
|
|
6361
|
+
const ael = this.aboveArea.nativeElement;
|
|
6362
|
+
const abds = ael.getBoundingClientRect();
|
|
6363
|
+
const rbot = abds.bottom;
|
|
6364
|
+
const maxRows = this.rows.length;
|
|
6365
|
+
const defNum = this.dataTableService.defltRHgtNum;
|
|
6366
|
+
let z = (this.lastElRowIndex - maxRows);
|
|
5972
6367
|
let bhToAdd = 0;
|
|
5973
6368
|
let ahToSub = 0;
|
|
5974
|
-
|
|
5975
|
-
let mChks = [...this.dtChecks];
|
|
6369
|
+
const doRows = force || (!this.isScrolling && (gap == 0 || !this.dataTableService.mouseIsDown)) || currTop % this.doRowsMod === 0 || this.aboveHgt() === 0;
|
|
5976
6370
|
const rowsInGap = Math.ceil(gap / defNum);
|
|
5977
6371
|
const min = Math.max(0, (z - rowsInGap));
|
|
5978
6372
|
for (z; z >= min; z--) {
|
|
@@ -5985,61 +6379,38 @@ class NgxDeebodata {
|
|
|
5985
6379
|
else {
|
|
5986
6380
|
if (wldBeElBot > this.dataTableService.tblTop) {
|
|
5987
6381
|
const item = this.dataTableService.currFilData[z];
|
|
5988
|
-
const index = this.dataTableService.currMapping[z] || this.dataTableService.findObjIndxInData(item);
|
|
5989
|
-
if (
|
|
5990
|
-
|
|
5991
|
-
const nRow = { id: "dataTableRow" + index, index: index, width: this.useRowWid, cells: [], height: this.dataTableService.defltRHgt };
|
|
5992
|
-
let cells = [];
|
|
5993
|
-
for (k; k < colLen; k++) {
|
|
5994
|
-
const col = cols[k];
|
|
5995
|
-
const cell = this.addCell(item[col], col, (k <= lastVisInd));
|
|
5996
|
-
if (typeof cell !== "string")
|
|
5997
|
-
cells.push(cell);
|
|
5998
|
-
}
|
|
5999
|
-
nRow.cells = [...cells];
|
|
6000
|
-
mRows = [nRow, ...mRows];
|
|
6001
|
-
mChks = [index, ...mChks];
|
|
6002
|
-
ahToSub += defNum;
|
|
6003
|
-
}
|
|
6382
|
+
const index = this.dataTableService.currMapping[z] || (doRows ? this.dataTableService.findObjIndxInData(item) : -1);
|
|
6383
|
+
if (rows.length < maxRows)
|
|
6384
|
+
rows.push({ index: index, data: item, elInd: z });
|
|
6004
6385
|
}
|
|
6005
6386
|
}
|
|
6006
6387
|
h += 1;
|
|
6007
6388
|
}
|
|
6008
6389
|
if (ahToSub)
|
|
6009
6390
|
this.aboveHgt.set(Math.max(0, (this.aboveHgt() - ahToSub)));
|
|
6010
|
-
this.rows = [...mRows];
|
|
6011
6391
|
if (bhToAdd)
|
|
6012
|
-
this.belowHgt.set(this.belowHgt() + bhToAdd);
|
|
6013
|
-
|
|
6014
|
-
|
|
6015
|
-
|
|
6016
|
-
|
|
6017
|
-
|
|
6018
|
-
|
|
6019
|
-
|
|
6020
|
-
|
|
6021
|
-
|
|
6022
|
-
|
|
6023
|
-
|
|
6024
|
-
const
|
|
6025
|
-
|
|
6026
|
-
|
|
6027
|
-
}
|
|
6028
|
-
}
|
|
6029
|
-
|
|
6030
|
-
|
|
6031
|
-
|
|
6032
|
-
|
|
6033
|
-
|
|
6034
|
-
if (changes > 0) {
|
|
6035
|
-
this.rows = this.rows.filter(r => justids.indexOf(r.id) < 0);
|
|
6036
|
-
this.dtChecks = this.dtChecks.filter(c => justindx.indexOf(c) < 0);
|
|
6037
|
-
const rlen = this.rows.length;
|
|
6038
|
-
const item = this.dataTableService.mainData[(this.rows[(rlen - 1)]?.index || -1)];
|
|
6039
|
-
if (item)
|
|
6040
|
-
this.belowHgt.set(Math.max(0, ((this.dataTableService.currFilData.length - 1) - this.dataTableService.findObjIndxInData(item, this.dataTableService.currFilData)) * this.dataTableService.defltRHgtNum));
|
|
6041
|
-
this.setLastRowIndex();
|
|
6042
|
-
}
|
|
6392
|
+
this.belowHgt.set((this.belowHgt() + bhToAdd));
|
|
6393
|
+
const repl = [...rows].length; //only new rows
|
|
6394
|
+
const needsToFill = maxRows - repl;
|
|
6395
|
+
if (needsToFill) {
|
|
6396
|
+
let f = (!rows.length ? (this.lastElRowIndex - maxRows) : rows[0].elInd) + 1;
|
|
6397
|
+
let fgoto = f + needsToFill;
|
|
6398
|
+
for (f; f < fgoto; f++) {
|
|
6399
|
+
const item = this.dataTableService.currFilData[f];
|
|
6400
|
+
const index = this.dataTableService.currMapping[f] || (doRows ? this.dataTableService.findObjIndxInData(item) : -1);
|
|
6401
|
+
rows.unshift({ index: index, data: item });
|
|
6402
|
+
}
|
|
6403
|
+
}
|
|
6404
|
+
const vlen = this.dataTableService.visibleCols.length;
|
|
6405
|
+
const lastVisInd = cols.indexOf(this.dataTableService.visibleCols[(vlen - 1)]) + 1;
|
|
6406
|
+
this.applyToDomRows(rows, cols, colLen, lastVisInd, "up", defNum, repl);
|
|
6407
|
+
});
|
|
6408
|
+
}
|
|
6409
|
+
finishApplyingDomRows() {
|
|
6410
|
+
this.setRowNumbers();
|
|
6411
|
+
this.fixRowContainer(0);
|
|
6412
|
+
this.setLastRowIndex();
|
|
6413
|
+
this.cleanRowChecks();
|
|
6043
6414
|
}
|
|
6044
6415
|
jumpToRow(row) {
|
|
6045
6416
|
if (this.dataTableBody) {
|
|
@@ -6058,18 +6429,17 @@ class NgxDeebodata {
|
|
|
6058
6429
|
this.dataTableBody.nativeElement.scrollTop = etop - dttop;
|
|
6059
6430
|
}
|
|
6060
6431
|
}
|
|
6061
|
-
valEditFocusTo = null;
|
|
6062
6432
|
handleValidatedCellEditFocus(cellData) {
|
|
6063
6433
|
this.validatedEditType = cellData.type;
|
|
6064
6434
|
if (this.valEditFocusTo) {
|
|
6065
|
-
|
|
6435
|
+
this.valEditFocusTo.unsubscribe();
|
|
6066
6436
|
this.valEditFocusTo = null;
|
|
6067
6437
|
}
|
|
6068
6438
|
if (this.validatedEditType === "text") { //text w/ limited values
|
|
6069
6439
|
this.currSelEditOpts = this.dataTableService.dataFilSrtTracker[this.dataTableService.currEditCol]["selDDVals"]?.
|
|
6070
6440
|
filter((g) => g.value !== "(Select All)").map((s) => ({ ...s, selected: s.value === cellData.value }));
|
|
6071
6441
|
}
|
|
6072
|
-
this.valEditFocusTo =
|
|
6442
|
+
this.valEditFocusTo = timer(10).subscribe(() => {
|
|
6073
6443
|
const rel = this.validatedEdit.nativeElement;
|
|
6074
6444
|
let el;
|
|
6075
6445
|
const elD = document.querySelector(".relly.edit-input");
|
|
@@ -6085,13 +6455,19 @@ class NgxDeebodata {
|
|
|
6085
6455
|
(el || elD).style.height = (cbds.height - 2) + "px";
|
|
6086
6456
|
if (el) {
|
|
6087
6457
|
el.value = cellData.type === "date" ? new Date(cellData.value)?.toISOString().split("T")[0] : cellData.value;
|
|
6088
|
-
|
|
6458
|
+
timer(0).subscribe(() => { el.focus(); setTimeout(() => { this.dataTableService.lockCellFocus.set(false); }); });
|
|
6459
|
+
}
|
|
6460
|
+
else {
|
|
6461
|
+
this.dataTableService.lockCellFocus.set(false);
|
|
6089
6462
|
}
|
|
6090
6463
|
rel.classList.remove("invisible");
|
|
6091
6464
|
this.fCellDragger.nativeElement.style.left = (Math.ceil(cbds.left - rbds.left) + cbds.width - 4) + "px";
|
|
6092
6465
|
this.fCellDragger.nativeElement.style.top = (Math.ceil(cbds.bottom - rbds.top) - 4) + "px";
|
|
6093
6466
|
}
|
|
6094
|
-
|
|
6467
|
+
else {
|
|
6468
|
+
this.dataTableService.lockCellFocus.set(false);
|
|
6469
|
+
}
|
|
6470
|
+
});
|
|
6095
6471
|
}
|
|
6096
6472
|
clearFCellDragger() {
|
|
6097
6473
|
if (!this.dataTableService.autoScrollOnEdit) {
|
|
@@ -6129,6 +6505,7 @@ class NgxDeebodata {
|
|
|
6129
6505
|
killValEdit() {
|
|
6130
6506
|
this.validatedEditType = "";
|
|
6131
6507
|
this.currSelEditOpts = [];
|
|
6508
|
+
this.dataTableService.lockCellFocus.set(false);
|
|
6132
6509
|
this.validatedEdit.nativeElement.classList.add("invisible");
|
|
6133
6510
|
}
|
|
6134
6511
|
handleDraggerMU(e) {
|
|
@@ -6166,8 +6543,6 @@ class NgxDeebodata {
|
|
|
6166
6543
|
targRow.dispatchEvent(mouseEvent);
|
|
6167
6544
|
targRow.removeEventListener("mousemove", execDragEOnDK);
|
|
6168
6545
|
setTimeout(() => { this.listenToCellDraggerMouseMove = false; });
|
|
6169
|
-
if (e.target.getBoundingClientRect().bottom > (this.dataTableService.tblBot - 100))
|
|
6170
|
-
this.dataTableBody.nativeElement.scrollBy(0, this.dataTableService.dTblHeight / 2);
|
|
6171
6546
|
}
|
|
6172
6547
|
}
|
|
6173
6548
|
}
|
|
@@ -6273,11 +6648,11 @@ class NgxDeebodata {
|
|
|
6273
6648
|
row.editedInDrag = true;
|
|
6274
6649
|
cell = document.querySelector("#dataTableRow" + dragId + " .data-cell-" + this.common.elifyCol(this.dataTableService.currEditCol));
|
|
6275
6650
|
}
|
|
6276
|
-
if
|
|
6277
|
-
|
|
6278
|
-
|
|
6279
|
-
|
|
6280
|
-
}
|
|
6651
|
+
// if(els.length > 1){
|
|
6652
|
+
// const dir = this.scrollDir === "down" ? 1 : -1;
|
|
6653
|
+
// const toScl = dir*(Math.ceil((e.offsetY || 20))/2)
|
|
6654
|
+
// this.dataTableBody.nativeElement.scrollBy(0, toScl)
|
|
6655
|
+
// }
|
|
6281
6656
|
const fCellDragger = document.getElementsByClassName("focused-cell-dragger")[0];
|
|
6282
6657
|
const par = fCellDragger?.parentElement;
|
|
6283
6658
|
if (cell && fCellDragger && par) {
|
|
@@ -6462,7 +6837,7 @@ class NgxDeebodata {
|
|
|
6462
6837
|
val = Math.ceil(parseInt(val));
|
|
6463
6838
|
const rHgt = force ? val : Math.max(val, (parseInt(this.desRowHeight) || Math.ceil(row.getBoundingClientRect().height)));
|
|
6464
6839
|
const useHgt = Math.floor(rHgt) + "px";
|
|
6465
|
-
if (typeof row === "string" && this.tblDragService.colDragStartFrmCellTracker.row && this.tblDragService.colDragStartFrmCellTracker.ystart) {
|
|
6840
|
+
if (force || (typeof row === "string" && this.tblDragService.colDragStartFrmCellTracker.row && this.tblDragService.colDragStartFrmCellTracker.ystart)) {
|
|
6466
6841
|
const drow = this.rows.find(r => r.id === row);
|
|
6467
6842
|
if (drow) {
|
|
6468
6843
|
drow.height = useHgt;
|
|
@@ -6470,14 +6845,9 @@ class NgxDeebodata {
|
|
|
6470
6845
|
const item = this.dataTableService.mainData[drow?.index];
|
|
6471
6846
|
if (item) {
|
|
6472
6847
|
const indx = this.dataTableService.findObjIndxInData(item, this.dataTableService.currFilData) + 1;
|
|
6473
|
-
|
|
6474
|
-
|
|
6475
|
-
|
|
6476
|
-
this.rowNos.set(this.rowNos().map((r) => {
|
|
6477
|
-
if (r.number === indx)
|
|
6478
|
-
r.height = useHgt;
|
|
6479
|
-
return r;
|
|
6480
|
-
}));
|
|
6848
|
+
const rNum = this.rowNos.find(r => r.number === indx);
|
|
6849
|
+
if (rNum)
|
|
6850
|
+
rNum.height = useHgt;
|
|
6481
6851
|
}
|
|
6482
6852
|
}
|
|
6483
6853
|
}
|
|
@@ -6604,8 +6974,9 @@ class NgxDeebodata {
|
|
|
6604
6974
|
this.rows = [];
|
|
6605
6975
|
this.aboveHgt.set(0);
|
|
6606
6976
|
this.belowHgt.set(0);
|
|
6607
|
-
this.rowNos
|
|
6977
|
+
this.rowNos = [];
|
|
6608
6978
|
this.dtChecks = [];
|
|
6979
|
+
this.doRowsMod = 10;
|
|
6609
6980
|
this.clearValidatedEdit(null, true);
|
|
6610
6981
|
this.dataTableService.currMapping = {};
|
|
6611
6982
|
if (!this.currGroupValues().length) //only if not grouped
|
|
@@ -6621,12 +6992,14 @@ class NgxDeebodata {
|
|
|
6621
6992
|
this.lastElRowIndex = 0;
|
|
6622
6993
|
let n = 0;
|
|
6623
6994
|
const defNum = this.dataTableService.defltRHgtNum;
|
|
6624
|
-
const init = Math.
|
|
6995
|
+
const init = Math.ceil(this.dataTableService.dTblHeight() / defNum) + this.rowElsPad;
|
|
6625
6996
|
const len = this.dataTableService.currFilData.length;
|
|
6626
6997
|
if (!len) { //always just add 1
|
|
6627
6998
|
this.allFilSortInfo.set(this.dataTableService.getAllFilSrtInfo());
|
|
6628
6999
|
return setTimeout(() => { this.styleEmptyFilDataRow(tbody, tbodyX); });
|
|
6629
7000
|
}
|
|
7001
|
+
if (len >= 500000)
|
|
7002
|
+
this.doRowsMod = 15;
|
|
6630
7003
|
if (this.currGroupValues().length) { //don't add to rows here
|
|
6631
7004
|
if (field)
|
|
6632
7005
|
this.columnOfInterest.set(field);
|
|
@@ -6682,21 +7055,23 @@ class NgxDeebodata {
|
|
|
6682
7055
|
}
|
|
6683
7056
|
horizLim = Math.max(horizLim, (uCols.map(c => c.column).indexOf(field) + offst));
|
|
6684
7057
|
}
|
|
7058
|
+
let localRows = [];
|
|
6685
7059
|
for (n; n < limit; n++) {
|
|
6686
7060
|
const item = this.dataTableService.currFilData[n];
|
|
6687
7061
|
const index = !reset ? this.dataTableService.findObjIndxInData(item) : n;
|
|
6688
7062
|
if (index > -1) {
|
|
6689
7063
|
const row = { id: "dataTableRow" + index, index: index, width: this.useRowWid, cells: [], height: this.dataTableService.defltRHgt };
|
|
6690
|
-
this.rows.push(row);
|
|
6691
7064
|
let k = 0;
|
|
6692
7065
|
for (k; k < colLen; k++) {
|
|
6693
7066
|
const col = uCols[k]?.column;
|
|
6694
7067
|
if (col)
|
|
6695
7068
|
addCell(item[col], col, row, index, (k <= horizLim));
|
|
6696
7069
|
}
|
|
7070
|
+
localRows.push(row);
|
|
6697
7071
|
this.dataTableService.currMapping[n] = index;
|
|
6698
7072
|
}
|
|
6699
7073
|
}
|
|
7074
|
+
this.rows = [...localRows];
|
|
6700
7075
|
this.setLastRowIndex();
|
|
6701
7076
|
this.allFilSortInfo.set(this.dataTableService.getAllFilSrtInfo());
|
|
6702
7077
|
this.dataTableService.mapperWorkerId += 1; //a reset but needs to incr so prev don't affect mapping
|
|
@@ -6725,14 +7100,14 @@ class NgxDeebodata {
|
|
|
6725
7100
|
}
|
|
6726
7101
|
}
|
|
6727
7102
|
this.dataTableService.setIdealColumnWidth.next(true);
|
|
6728
|
-
|
|
7103
|
+
timer(0).subscribe(() => { this.setRowSelChecksPlacement(); this.setHoldingCheckCls(); });
|
|
6729
7104
|
}
|
|
6730
7105
|
}
|
|
6731
7106
|
styleEmptyFilDataRow(tbody, tbodyX) {
|
|
6732
7107
|
const row = document.getElementsByClassName("data-table-row-no-data")[0];
|
|
6733
7108
|
if (row) {
|
|
6734
7109
|
row.style.width = this.dataTableHeaders.nativeElement.scrollWidth + "px";
|
|
6735
|
-
|
|
7110
|
+
timer(100).subscribe(() => { tbody.scrollLeft = tbodyX; });
|
|
6736
7111
|
}
|
|
6737
7112
|
}
|
|
6738
7113
|
freezeColCells(col) {
|
|
@@ -6771,17 +7146,17 @@ class NgxDeebodata {
|
|
|
6771
7146
|
this.hiddenCols.push(col);
|
|
6772
7147
|
else
|
|
6773
7148
|
this.hiddenCols = this.hiddenCols.filter(c => c !== col);
|
|
6774
|
-
|
|
6775
|
-
|
|
7149
|
+
timer(0).subscribe(() => { this.dataTableService.setTblBounds(); this.testHideMinBtn(); });
|
|
7150
|
+
timer(750).subscribe(() => {
|
|
6776
7151
|
if (!fullClear || (fullClear && this.hiddenCols.length === 1)) {
|
|
6777
7152
|
this.setTableWidthOnChange();
|
|
6778
|
-
|
|
7153
|
+
timer(0).subscribe(() => {
|
|
6779
7154
|
this.dataTableBody.nativeElement.scrollBy(1, 0);
|
|
6780
7155
|
this.scrollAllGBPanels();
|
|
6781
7156
|
this.setRowSelChecksPlacement();
|
|
6782
7157
|
});
|
|
6783
7158
|
}
|
|
6784
|
-
}
|
|
7159
|
+
});
|
|
6785
7160
|
}
|
|
6786
7161
|
scrollAllGBPanels() {
|
|
6787
7162
|
let i = 0;
|
|
@@ -6899,8 +7274,8 @@ class NgxDeebodata {
|
|
|
6899
7274
|
if (this.validationSub)
|
|
6900
7275
|
this.validationSub.unsubscribe();
|
|
6901
7276
|
}
|
|
6902
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: NgxDeebodata, deps: [{ token: DataTableService }, { token: TableDragService }, { token: CommonService }
|
|
6903
|
-
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: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: "rowNumBody", first: true, predicate: ["rowNumBody"], 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> <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> <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> <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 #rowNumBody style=\"overflow: auto\">\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 [style.height]=\"aboveHgt() + 'px'\"></div>\r\n @for(row of rows; track row.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 @if (isScrolling){\r\n <div class=\"data-cell data-cell-{{common.elifyCol(cell.column)}}{{cell.specialColClass}}\" \r\n [ngClass]=\"{ 'data-cell-riiight': cell.dataType === 'number', 'col-item-freeze': cell.freeze, 'col-header-minimized': cell.minimized }\"\r\n [ngStyle]=\"{'width': cell.width || dataTableService.useColWid, 'height': row.height}\" >{{cell.text}}@if (cell.html){<div class=\"mock-html\"></div>}</div>\r\n } @else {\r\n <app-data-cell [cell]=\"cell\" \r\n [rowId]=\"row.id\" \r\n [rawText]=\"cell.rawText\"\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 }\r\n </div>\r\n }\r\n <div #belowArea [style.height]=\"belowHgt() + 'px'\"></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: ["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" }] });
|
|
7277
|
+
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> <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> <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> <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" }] });
|
|
6904
7279
|
}
|
|
6905
7280
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: NgxDeebodata, decorators: [{
|
|
6906
7281
|
type: Component,
|
|
@@ -6915,13 +7290,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImpo
|
|
|
6915
7290
|
FormsModule,
|
|
6916
7291
|
DecimalPipe,
|
|
6917
7292
|
CommonModule,
|
|
6918
|
-
], 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> <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> <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> <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 #rowNumBody style=\"overflow: auto\">\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 [style.height]=\"aboveHgt() + 'px'\"></div>\r\n @for(row of rows; track row.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 @if (isScrolling){\r\n <div class=\"data-cell data-cell-{{common.elifyCol(cell.column)}}{{cell.specialColClass}}\" \r\n [ngClass]=\"{ 'data-cell-riiight': cell.dataType === 'number', 'col-item-freeze': cell.freeze, 'col-header-minimized': cell.minimized }\"\r\n [ngStyle]=\"{'width': cell.width || dataTableService.useColWid, 'height': row.height}\" >{{cell.text}}@if (cell.html){<div class=\"mock-html\"></div>}</div>\r\n } @else {\r\n <app-data-cell [cell]=\"cell\" \r\n [rowId]=\"row.id\" \r\n [rawText]=\"cell.rawText\"\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 }\r\n </div>\r\n }\r\n <div #belowArea [style.height]=\"belowHgt() + 'px'\"></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"] }]
|
|
6919
|
-
}], ctorParameters: () => [{ type: DataTableService }, { type: TableDragService }, { type: CommonService }
|
|
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> <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> <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> <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
|
+
}], ctorParameters: () => [{ type: DataTableService }, { type: TableDragService }, { type: CommonService }], propDecorators: { onWindowClick: [{
|
|
6920
7295
|
type: HostListener,
|
|
6921
7296
|
args: ['window:click', ['$event']]
|
|
6922
7297
|
}], onWindowMouseUp: [{
|
|
6923
7298
|
type: HostListener,
|
|
6924
7299
|
args: ['window:mouseup', ['$event']]
|
|
7300
|
+
}], onWindowMouseDown: [{
|
|
7301
|
+
type: HostListener,
|
|
7302
|
+
args: ['window:mousedown', ['$event']]
|
|
6925
7303
|
}], onWindowMouseMove: [{
|
|
6926
7304
|
type: HostListener,
|
|
6927
7305
|
args: ['window:mousemove', ['$event']]
|
|
@@ -6991,9 +7369,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImpo
|
|
|
6991
7369
|
}], rowNumHeader: [{
|
|
6992
7370
|
type: ViewChild,
|
|
6993
7371
|
args: ["rowNumHeader", { static: true }]
|
|
6994
|
-
}], rowNumBody: [{
|
|
6995
|
-
type: ViewChild,
|
|
6996
|
-
args: ["rowNumBody", { static: true }]
|
|
6997
7372
|
}], fCellDragger: [{
|
|
6998
7373
|
type: ViewChild,
|
|
6999
7374
|
args: ["fCellDragger", { static: true }]
|