@hpcc-js/dgrid 3.2.11 → 3.3.1
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/dist/index.js +36 -40
- package/dist/index.js.map +1 -1
- package/dist/index.umd.cjs +2 -2
- package/dist/index.umd.cjs.map +1 -1
- package/package.json +6 -6
package/dist/index.js
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
var __defProp = Object.defineProperty;
|
|
2
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
2
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
4
|
-
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
5
3
|
import { HTMLWidget, Palette, PropertyExt, format, select } from "@hpcc-js/common";
|
|
6
4
|
import { hashSum } from "@hpcc-js/util";
|
|
7
5
|
const PKG_NAME = "@hpcc-js/dgrid";
|
|
@@ -42,14 +40,14 @@ const LINE_SPLITTER = "<br><hr class='dgrid-fakeline'>";
|
|
|
42
40
|
const LINE_SPLITTER2 = "<br><hr class='dgrid-fakeline' style='visibility: hidden'>";
|
|
43
41
|
const _RowFormatter = class _RowFormatter {
|
|
44
42
|
constructor(columns, _renderHtml) {
|
|
45
|
-
__publicField(this, "_columns");
|
|
46
|
-
__publicField(this, "_flattenedColumns", []);
|
|
47
|
-
__publicField(this, "_columnIdx", {});
|
|
48
|
-
__publicField(this, "_formattedRow", {});
|
|
49
43
|
this._renderHtml = _renderHtml;
|
|
50
44
|
this._columns = columns;
|
|
51
45
|
this.flattenColumns(columns);
|
|
52
46
|
}
|
|
47
|
+
_columns;
|
|
48
|
+
_flattenedColumns = [];
|
|
49
|
+
_columnIdx = {};
|
|
50
|
+
_formattedRow = {};
|
|
53
51
|
flattenColumns(columns) {
|
|
54
52
|
for (const column of columns) {
|
|
55
53
|
this.flattenColumn(column);
|
|
@@ -136,13 +134,13 @@ const _RowFormatter = class _RowFormatter {
|
|
|
136
134
|
__name(_RowFormatter, "RowFormatter");
|
|
137
135
|
let RowFormatter = _RowFormatter;
|
|
138
136
|
const _DBStore = class _DBStore {
|
|
137
|
+
_db;
|
|
138
|
+
Model;
|
|
139
|
+
idProperty;
|
|
139
140
|
constructor(db) {
|
|
140
|
-
__publicField(this, "_db");
|
|
141
|
-
__publicField(this, "Model");
|
|
142
|
-
__publicField(this, "idProperty");
|
|
143
|
-
__publicField(this, "_renderHtml", true);
|
|
144
141
|
this._db = db;
|
|
145
142
|
}
|
|
143
|
+
_renderHtml = true;
|
|
146
144
|
renderHtml(_) {
|
|
147
145
|
this._renderHtml = _;
|
|
148
146
|
}
|
|
@@ -214,25 +212,24 @@ const _DBStore = class _DBStore {
|
|
|
214
212
|
__name(_DBStore, "DBStore");
|
|
215
213
|
let DBStore = _DBStore;
|
|
216
214
|
const _Common = class _Common extends HTMLWidget {
|
|
215
|
+
_columns = [];
|
|
216
|
+
_store = new DBStore(this._db);
|
|
217
|
+
_dgridDiv;
|
|
218
|
+
_dgrid;
|
|
219
|
+
_prevPaging;
|
|
220
|
+
_prevSortBy;
|
|
221
|
+
_prevSortByDescending;
|
|
222
|
+
_prevMultiSelect;
|
|
217
223
|
constructor() {
|
|
218
224
|
super();
|
|
219
|
-
__publicField(this, "_columns", []);
|
|
220
|
-
__publicField(this, "_store", new DBStore(this._db));
|
|
221
|
-
__publicField(this, "_dgridDiv");
|
|
222
|
-
__publicField(this, "_dgrid");
|
|
223
|
-
__publicField(this, "_prevPaging");
|
|
224
|
-
__publicField(this, "_prevSortBy");
|
|
225
|
-
__publicField(this, "_prevSortByDescending");
|
|
226
|
-
__publicField(this, "_prevMultiSelect");
|
|
227
|
-
__publicField(this, "_supressEvents");
|
|
228
225
|
this._tag = "div";
|
|
229
226
|
}
|
|
230
227
|
formatSortBy() {
|
|
231
228
|
const idx = this.columns().indexOf(this.sortBy());
|
|
232
229
|
return idx >= 0 ? [{ property: idx.toString(), descending: this.sortByDescending() }] : void 0;
|
|
233
230
|
}
|
|
231
|
+
_supressEvents;
|
|
234
232
|
selection(_) {
|
|
235
|
-
var _a;
|
|
236
233
|
if (!arguments.length) {
|
|
237
234
|
const retVal = [];
|
|
238
235
|
for (const id in this._dgrid.selection) {
|
|
@@ -244,17 +241,16 @@ const _Common = class _Common extends HTMLWidget {
|
|
|
244
241
|
return retVal;
|
|
245
242
|
}
|
|
246
243
|
this._supressEvents = true;
|
|
247
|
-
|
|
244
|
+
this._dgrid?.clearSelection();
|
|
248
245
|
let first = true;
|
|
249
246
|
this.data().forEach((row, idx) => {
|
|
250
|
-
var _a2, _b;
|
|
251
247
|
if (_.indexOf(row) >= 0) {
|
|
252
|
-
const row2 =
|
|
248
|
+
const row2 = this._dgrid?.row(idx);
|
|
253
249
|
if (row2.element && first) {
|
|
254
250
|
first = false;
|
|
255
251
|
row2.element.scrollIntoView();
|
|
256
252
|
}
|
|
257
|
-
|
|
253
|
+
this._dgrid?.select(idx);
|
|
258
254
|
}
|
|
259
255
|
});
|
|
260
256
|
this._supressEvents = false;
|
|
@@ -334,10 +330,10 @@ Common.prototype.publish("sortByDescending", false, "boolean", "Default 'sort by
|
|
|
334
330
|
Common.prototype.publish("multiSelect", false, "boolean", "Multiple Selection");
|
|
335
331
|
Common.prototype.publish("renderHtml", true, "boolean", "Render HTML");
|
|
336
332
|
const _DatasourceCache = class _DatasourceCache {
|
|
333
|
+
_datasource;
|
|
334
|
+
_prevHash;
|
|
335
|
+
_fetchCache = {};
|
|
337
336
|
constructor(datasource) {
|
|
338
|
-
__publicField(this, "_datasource");
|
|
339
|
-
__publicField(this, "_prevHash");
|
|
340
|
-
__publicField(this, "_fetchCache", {});
|
|
341
337
|
this._datasource = datasource;
|
|
342
338
|
}
|
|
343
339
|
validateCache() {
|
|
@@ -376,11 +372,11 @@ const _DatasourceCache = class _DatasourceCache {
|
|
|
376
372
|
__name(_DatasourceCache, "DatasourceCache");
|
|
377
373
|
let DatasourceCache = _DatasourceCache;
|
|
378
374
|
const _DatasourceStore = class _DatasourceStore {
|
|
375
|
+
_datasource;
|
|
376
|
+
_columnsIdx = {};
|
|
377
|
+
_columns;
|
|
378
|
+
rowFormatter;
|
|
379
379
|
constructor(datasource, renderHtml) {
|
|
380
|
-
__publicField(this, "_datasource");
|
|
381
|
-
__publicField(this, "_columnsIdx", {});
|
|
382
|
-
__publicField(this, "_columns");
|
|
383
|
-
__publicField(this, "rowFormatter");
|
|
384
380
|
this._datasource = new DatasourceCache(datasource);
|
|
385
381
|
this._columnsIdx = {};
|
|
386
382
|
this._columns = this.db2Columns(this._datasource.outFields()).map((column, idx) => {
|
|
@@ -447,9 +443,9 @@ const _DatasourceStore = class _DatasourceStore {
|
|
|
447
443
|
__name(_DatasourceStore, "DatasourceStore");
|
|
448
444
|
let DatasourceStore = _DatasourceStore;
|
|
449
445
|
const _DatasourceTable = class _DatasourceTable extends Common {
|
|
446
|
+
_prevDatasource;
|
|
450
447
|
constructor() {
|
|
451
448
|
super();
|
|
452
|
-
__publicField(this, "_prevDatasource");
|
|
453
449
|
}
|
|
454
450
|
invalidate() {
|
|
455
451
|
delete this._prevDatasource;
|
|
@@ -494,9 +490,9 @@ let DatasourceTable = _DatasourceTable;
|
|
|
494
490
|
DatasourceTable.prototype._class += " dgrid_DatasourceTable";
|
|
495
491
|
DatasourceTable.prototype.publish("datasource", null, "object", "Datasource");
|
|
496
492
|
const _ColumnFormat = class _ColumnFormat extends PropertyExt {
|
|
493
|
+
_owner;
|
|
497
494
|
constructor() {
|
|
498
495
|
super();
|
|
499
|
-
__publicField(this, "_owner");
|
|
500
496
|
}
|
|
501
497
|
owner(_) {
|
|
502
498
|
if (!arguments.length) return this._owner;
|
|
@@ -534,7 +530,7 @@ const _ColumnFormat = class _ColumnFormat extends PropertyExt {
|
|
|
534
530
|
const value = valueColIdx ? row.__origRow[valueColIdx] : cell;
|
|
535
531
|
const background = palette(value, min, max);
|
|
536
532
|
const cellText = defaultFormatter.call(this, cell, row);
|
|
537
|
-
select(cellElement).style("background", background).style("color", background && Palette.textColor(background)).text(
|
|
533
|
+
select(cellElement).style("background", background).style("color", background && Palette.textColor(background)).text(cellText?.html ?? cellText ?? cell);
|
|
538
534
|
};
|
|
539
535
|
}
|
|
540
536
|
return defaultRenderCell;
|
|
@@ -555,13 +551,12 @@ ColumnFormat.prototype.publish("valueColumn", null, "set", "Column", function()
|
|
|
555
551
|
return this._owner.columns();
|
|
556
552
|
}, { optional: true, disable: /* @__PURE__ */ __name((cf) => !cf.paletteID(), "disable") });
|
|
557
553
|
const _Table = class _Table extends Common {
|
|
554
|
+
_prevColsHash;
|
|
555
|
+
_prevFieldsHash;
|
|
556
|
+
_colsRefresh = false;
|
|
557
|
+
_dataRefresh = false;
|
|
558
558
|
constructor() {
|
|
559
559
|
super();
|
|
560
|
-
__publicField(this, "_prevColsHash");
|
|
561
|
-
__publicField(this, "_prevFieldsHash");
|
|
562
|
-
__publicField(this, "_colsRefresh", false);
|
|
563
|
-
__publicField(this, "_dataRefresh", false);
|
|
564
|
-
__publicField(this, "_prevHash");
|
|
565
560
|
}
|
|
566
561
|
fields(_) {
|
|
567
562
|
const retVal = super.fields.apply(this, arguments);
|
|
@@ -612,6 +607,7 @@ const _Table = class _Table extends Common {
|
|
|
612
607
|
}
|
|
613
608
|
}
|
|
614
609
|
}
|
|
610
|
+
_prevHash;
|
|
615
611
|
update(domNode, element) {
|
|
616
612
|
super.update(domNode, element);
|
|
617
613
|
const hash = this.hashSum();
|
|
@@ -703,4 +699,4 @@ export {
|
|
|
703
699
|
domConstruct
|
|
704
700
|
};
|
|
705
701
|
//# sourceMappingURL=index.js.map
|
|
706
|
-
!function(){"use strict";try{if("undefined"!=typeof document){var i=document.createElement("style");i.appendChild(document.createTextNode(".dijitTooltip{position:absolute;z-index:2000;display:block;left:0;top:-10000px;overflow:visible;font-family:Verdana,Geneva,sans-serif;font-size:12px}.dijitTooltipContainer{border:solid black 2px;background:#b8b5b5;color:#000;font-size:small}.dijitTooltipFocusNode{padding:2px}.dijitTooltipConnector{position:absolute}.dj_a11y .dijitTooltipConnector,.dijitTooltipData{display:none}.dijitTooltip{background:transparent}.dijitTooltipContainer{background-color:#424242;opacity:1;-ms-filter:none;filter:none;padding:4px 8px;border-radius:3px}.dijitTooltip .dijitTooltipContainer{color:#fff;border:0 none}.dijitTooltipConnector{z-index:2;width:auto;height:auto;opacity:1;-ms-filter:none;filter:none}.dijitTooltipABRight .dijitTooltipConnector{left:auto!important;right:8px}.dijitTooltipBelow{padding-top:4px}.dijitTooltipBelow .dijitTooltipConnector{top:0;left:8px;border-bottom:4px solid #424242;border-left:4px solid transparent;border-right:4px solid transparent;border-top:0}.dijitTooltipAbove{padding-bottom:4px}.dijitTooltipAbove .dijitTooltipConnector{bottom:0;left:8px;border-top:4px solid #424242;border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:0}.dijitTooltipLeft{padding-right:4px}.dijitTooltipLeft .dijitTooltipConnector{right:0;border-left:4px solid #424242;border-bottom:4px solid transparent;border-top:4px solid transparent;border-right:0}.dijitTooltipRight{padding-left:4px}.dijitTooltipRight .dijitTooltipConnector{left:0;border-bottom:4px solid transparent;border-top:4px solid transparent;border-right:4px solid #424242}.dgrid{position:relative;overflow:hidden;border:1px solid #ddd;height:30em;display:block}.dgrid-header{background-color:#eee}.dgrid-header-row{position:absolute;right:17px;left:0}.dgrid-header-scroll{position:absolute;top:0;right:0}.dgrid-footer{position:absolute;bottom:0;width:100%}.dgrid-header-hidden{font-size:0;height:0!important;border-top:none!important;border-bottom:none!important;margin-top:0!important;margin-bottom:0!important;padding-top:0!important;padding-bottom:0!important}.dgrid-footer-hidden{display:none}.dgrid-sortable{cursor:pointer}.dgrid-header,.dgrid-header-row,.dgrid-footer{overflow:hidden;background-color:#eee}.dgrid-row-table{border-collapse:collapse;border:none;table-layout:fixed;empty-cells:show;width:100%;height:100%}.dgrid-cell{padding:3px;text-align:left;overflow:hidden;vertical-align:top;border:1px solid #ddd;border-top-style:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;text-overflow:ellipsis;white-space:nowrap}.dgrid-content{position:relative;height:99%}.dgrid-scroller{overflow-x:auto;overflow-y:scroll;position:absolute;top:0;margin-top:25px;bottom:0;width:100%}.dgrid-preload{font-size:0;line-height:0}.dgrid-loading{position:relative;height:100%}.dgrid-above{position:absolute;bottom:0}.ui-icon{width:12px;height:16px;background-image:url(data:image/png;base64,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)}.dgrid-sort-arrow{background-position:-64px -16px;display:block;float:right;margin:0 4px 0 5px;height:12px}.dgrid-sort-up .dgrid-sort-arrow{background-position:0px -16px}.dgrid-selected{background-color:#bbb}.dgrid-input{width:99%}html.has-mozilla .dgrid .dgrid-row:focus,html.has-mozilla .dgrid .dgrid-cell:focus{outline:1px dotted}html.has-mozilla .dgrid-focus{outline-offset:-1px}.dgrid-scrollbar-measure{width:100px;height:100px;overflow:scroll;position:absolute;top:-9999px}.dgrid-autoheight{height:auto}.dgrid-autoheight .dgrid-scroller{position:relative;overflow-y:hidden}.dgrid-autoheight .dgrid-header-scroll{display:none}.dgrid-autoheight .dgrid-header{right:0}.dgrid-column-set{overflow:hidden;width:100%;position:relative;height:100%;-ms-touch-action:pan-y;touch-action:pan-y}.dgrid-column-set-cell{vertical-align:top;height:100%}.dgrid-column-set-scroller-container{font-size:0;position:absolute;bottom:0}.dgrid-autoheight .dgrid-column-set-scroller-container{position:relative}.dgrid-column-set-scroller{display:inline-block;overflow-x:auto;overflow-y:hidden}.dgrid-column-set-scroller-content{height:1px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.dgrid-expando-icon{width:16px;height:16px}.dgrid-tree-container{-webkit-transition-duration:.3s;-moz-transition-duration:.3s;-o-transition-duration:.3s;-ms-transition-duration:.3s;transition-duration:.3s;overflow:hidden}.dgrid-tree-container.dgrid-tree-resetting{-webkit-transition-duration:0;-moz-transition-duration:0;-o-transition-duration:0;-ms-transition-duration:0;transition-duration:0}.dgrid-hider-toggle{background-position:0 -192px;background-color:transparent;border:none;cursor:pointer;position:absolute;right:0;top:0}.dgrid-rtl-swap .dgrid-hider-toggle{right:auto;left:0}.dgrid-hider-menu{position:absolute;top:0;right:17px;width:184px;background-color:#fff;border:1px solid #000;z-index:99999;padding:4px;overflow-x:hidden;overflow-y:auto}.dgrid-rtl-swap .dgrid-hider-menu{right:auto;left:17px}.dgrid-hider-menu-row{position:relative;padding:2px}.dgrid-hider-menu-check{position:absolute;top:2px;left:2px;padding:0}.dgrid-hider-menu-label{display:block;padding-left:20px}.dgrid-header .dojoDndTarget .dgrid-cell{display:table-cell}.dgrid-header .dojoDndItemBefore{border-left:2px dotted #000!important}.dgrid-header .dojoDndItemAfter{border-right:2px dotted #000!important}.dgrid-column-resizer{cursor:col-resize;position:absolute;width:2px;background-color:#666;z-index:1000}.dgrid-resize-handle{height:100px;width:0;position:absolute;right:-4px;top:-4px;cursor:col-resize;z-index:999;border-left:5px solid transparent;outline:none}.dgrid-resize-header-container{height:100%}.dgrid-resize-guard{cursor:col-resize;position:absolute;bottom:0;left:0;right:0;top:0}html.has-touch .dgrid-resize-handle{border-left:20px solid transparent}html.has-touch .dgrid-column-resizer{width:2px}.dgrid-resize-header-container{position:relative}.dgrid-header .dgrid-cell{overflow:hidden}.dgrid-spacer-row{height:0}.dgrid-spacer-row th{padding-top:0;padding-bottom:0;border-top:none;border-bottom:none}.dgrid-status{padding:2px}.dgrid-pagination .dgrid-status{float:left}.dgrid-pagination .dgrid-navigation,.dgrid-pagination .dgrid-page-size{float:right}.dgrid-navigation .dgrid-page-link{cursor:pointer;font-weight:700;text-decoration:none;color:inherit;padding:0 4px}.dgrid-first,.dgrid-last,.dgrid-next,.dgrid-previous{font-size:130%}.dgrid-pagination .dgrid-page-disabled{color:#aaa;cursor:default}.dgrid-page-input{margin-top:1px;width:2em;text-align:center}.dgrid-page-size{margin:1px 4px 0}.dgrid-rtl-swap .dgrid-header-row{right:0;left:17px}.dgrid-rtl-swap .dgrid-header-scroll{left:0;right:auto}.dgrid-rtl .dgrid-cell{text-align:right}.dgrid-rtl .dgrid-sort-arrow{float:left;margin:0 5px 0 4px}.dgrid-rtl .ui-icon-triangle-1-e{background-position:-96px -16px}.dgrid-rtl .ui-icon-triangle-1-se{background-position:-80px -16px}.dgrid-rtl .dgrid-pagination .dgrid-status,.dgrid-rtl .dgrid-pagination .dgrid-page-size{float:right}.dgrid-rtl .dgrid-pagination .dgrid-navigation{float:left}.dgrid-rtl.dgrid-autoheight .dgrid-header{left:0}.dgrid_Table .placeholder{border:none;padding:0;overflow:hidden}.dgrid_Table .dgrid-fakeline{border:0px;border-bottom:1px solid rgb(221,221,221);margin:2px -3px}.dgrid_Table .dgrid-sortable .dgrid-sort-arrow.ui-icon{margin:0}")),document.head.appendChild(i)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}}();
|
|
702
|
+
!function(){"use strict";try{if("undefined"!=typeof document){var i=document.createElement("style");i.appendChild(document.createTextNode(".dijitTooltip{position:absolute;z-index:2000;display:block;left:0;top:-10000px;overflow:visible;font-family:Verdana,Geneva,sans-serif;font-size:12px}.dijitTooltipContainer{border:solid black 2px;background:#b8b5b5;color:#000;font-size:small}.dijitTooltipFocusNode{padding:2px}.dijitTooltipConnector{position:absolute}.dj_a11y .dijitTooltipConnector,.dijitTooltipData{display:none}.dijitTooltip{background:transparent}.dijitTooltipContainer{background-color:#424242;opacity:1;-ms-filter:none;filter:none;padding:4px 8px;border-radius:3px}.dijitTooltip .dijitTooltipContainer{color:#fff;border:0 none}.dijitTooltipConnector{z-index:2;width:auto;height:auto;opacity:1;-ms-filter:none;filter:none}.dijitTooltipABRight .dijitTooltipConnector{left:auto!important;right:8px}.dijitTooltipBelow{padding-top:4px}.dijitTooltipBelow .dijitTooltipConnector{top:0;left:8px;border-bottom:4px solid #424242;border-left:4px solid transparent;border-right:4px solid transparent;border-top:0}.dijitTooltipAbove{padding-bottom:4px}.dijitTooltipAbove .dijitTooltipConnector{bottom:0;left:8px;border-top:4px solid #424242;border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:0}.dijitTooltipLeft{padding-right:4px}.dijitTooltipLeft .dijitTooltipConnector{right:0;border-left:4px solid #424242;border-bottom:4px solid transparent;border-top:4px solid transparent;border-right:0}.dijitTooltipRight{padding-left:4px}.dijitTooltipRight .dijitTooltipConnector{left:0;border-bottom:4px solid transparent;border-top:4px solid transparent;border-right:4px solid #424242}.dgrid{position:relative;overflow:hidden;border:1px solid #ddd;height:30em;display:block}.dgrid-header{background-color:#eee}.dgrid-header-row{position:absolute;right:17px;left:0}.dgrid-header-scroll{position:absolute;top:0;right:0}.dgrid-footer{position:absolute;bottom:0;width:100%}.dgrid-header-hidden{font-size:0;height:0!important;border-top:none!important;border-bottom:none!important;margin-top:0!important;margin-bottom:0!important;padding-top:0!important;padding-bottom:0!important}.dgrid-footer-hidden{display:none}.dgrid-sortable{cursor:pointer}.dgrid-header,.dgrid-header-row,.dgrid-footer{overflow:hidden;background-color:#eee}.dgrid-row-table{border-collapse:collapse;border:none;table-layout:fixed;empty-cells:show;width:100%;height:100%}.dgrid-cell{padding:3px;text-align:left;overflow:hidden;vertical-align:top;border:1px solid #ddd;border-top-style:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;text-overflow:ellipsis;white-space:nowrap}.dgrid-content{position:relative;height:99%}.dgrid-scroller{overflow-x:auto;overflow-y:scroll;position:absolute;top:0;margin-top:25px;bottom:0;width:100%}.dgrid-preload{font-size:0;line-height:0}.dgrid-loading{position:relative;height:100%}.dgrid-above{position:absolute;bottom:0}.ui-icon{width:12px;height:16px;background-image:url(data:image/png;base64,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)}.dgrid-sort-arrow{background-position:-64px -16px;display:block;float:right;margin:0 4px 0 5px;height:12px}.dgrid-sort-up .dgrid-sort-arrow{background-position:0px -16px}.dgrid-selected{background-color:#bbb}.dgrid-input{width:99%}html.has-mozilla .dgrid .dgrid-row:focus,html.has-mozilla .dgrid .dgrid-cell:focus{outline:1px dotted}html.has-mozilla .dgrid-focus{outline-offset:-1px}.dgrid-scrollbar-measure{width:100px;height:100px;overflow:scroll;position:absolute;top:-9999px}.dgrid-autoheight{height:auto}.dgrid-autoheight .dgrid-scroller{position:relative;overflow-y:hidden}.dgrid-autoheight .dgrid-header-scroll{display:none}.dgrid-autoheight .dgrid-header{right:0}.dgrid-column-set{overflow:hidden;width:100%;position:relative;height:100%;-ms-touch-action:pan-y;touch-action:pan-y}.dgrid-column-set-cell{vertical-align:top;height:100%}.dgrid-column-set-scroller-container{font-size:0;position:absolute;bottom:0}.dgrid-autoheight .dgrid-column-set-scroller-container{position:relative}.dgrid-column-set-scroller{display:inline-block;overflow-x:auto;overflow-y:hidden}.dgrid-column-set-scroller-content{height:1px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.dgrid-expando-icon{width:16px;height:16px}.dgrid-tree-container{-webkit-transition-duration:.3s;-moz-transition-duration:.3s;-o-transition-duration:.3s;-ms-transition-duration:.3s;transition-duration:.3s;overflow:hidden}.dgrid-tree-container.dgrid-tree-resetting{-webkit-transition-duration:0;-moz-transition-duration:0;-o-transition-duration:0;-ms-transition-duration:0;transition-duration:0}.dgrid-hider-toggle{background-position:0 -192px;background-color:transparent;border:none;cursor:pointer;position:absolute;right:0;top:0}.dgrid-rtl-swap .dgrid-hider-toggle{right:auto;left:0}.dgrid-hider-menu{position:absolute;top:0;right:17px;width:184px;background-color:#fff;border:1px solid #000;z-index:99999;padding:4px;overflow-x:hidden;overflow-y:auto}.dgrid-rtl-swap .dgrid-hider-menu{right:auto;left:17px}.dgrid-hider-menu-row{position:relative;padding:2px}.dgrid-hider-menu-check{position:absolute;top:2px;left:2px;padding:0}.dgrid-hider-menu-label{display:block;padding-left:20px}.dgrid-header .dojoDndTarget .dgrid-cell{display:table-cell}.dgrid-header .dojoDndItemBefore{border-left:2px dotted #000!important}.dgrid-header .dojoDndItemAfter{border-right:2px dotted #000!important}.dgrid-column-resizer{cursor:col-resize;position:absolute;width:2px;background-color:#666;z-index:1000}.dgrid-resize-handle{height:100px;width:0;position:absolute;right:-4px;top:-4px;cursor:col-resize;z-index:999;border-left:5px solid transparent;outline:none}.dgrid-resize-header-container{height:100%}.dgrid-resize-guard{cursor:col-resize;position:absolute;inset:0}html.has-touch .dgrid-resize-handle{border-left:20px solid transparent}html.has-touch .dgrid-column-resizer{width:2px}.dgrid-resize-header-container{position:relative}.dgrid-header .dgrid-cell{overflow:hidden}.dgrid-spacer-row{height:0}.dgrid-spacer-row th{padding-top:0;padding-bottom:0;border-top:none;border-bottom:none}.dgrid-status{padding:2px}.dgrid-pagination .dgrid-status{float:left}.dgrid-pagination .dgrid-navigation,.dgrid-pagination .dgrid-page-size{float:right}.dgrid-navigation .dgrid-page-link{cursor:pointer;font-weight:700;text-decoration:none;color:inherit;padding:0 4px}.dgrid-first,.dgrid-last,.dgrid-next,.dgrid-previous{font-size:130%}.dgrid-pagination .dgrid-page-disabled{color:#aaa;cursor:default}.dgrid-page-input{margin-top:1px;width:2em;text-align:center}.dgrid-page-size{margin:1px 4px 0}.dgrid-rtl-swap .dgrid-header-row{right:0;left:17px}.dgrid-rtl-swap .dgrid-header-scroll{left:0;right:auto}.dgrid-rtl .dgrid-cell{text-align:right}.dgrid-rtl .dgrid-sort-arrow{float:left;margin:0 5px 0 4px}.dgrid-rtl .ui-icon-triangle-1-e{background-position:-96px -16px}.dgrid-rtl .ui-icon-triangle-1-se{background-position:-80px -16px}.dgrid-rtl .dgrid-pagination .dgrid-status,.dgrid-rtl .dgrid-pagination .dgrid-page-size{float:right}.dgrid-rtl .dgrid-pagination .dgrid-navigation{float:left}.dgrid-rtl.dgrid-autoheight .dgrid-header{left:0}.dgrid_Table .placeholder{border:none;padding:0;overflow:hidden}.dgrid_Table .dgrid-fakeline{border:0px;border-bottom:1px solid rgb(221,221,221);margin:2px -3px}.dgrid_Table .dgrid-sortable .dgrid-sort-arrow.ui-icon{margin:0}")),document.head.appendChild(i)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}}();
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/__package__.ts","../src/dgrid-shim.ts","../src/RowFormatter.ts","../src/DBStore.ts","../src/Common.ts","../src/DatasourceStore.ts","../src/DatasourceTable.ts","../src/Table.ts"],"sourcesContent":["export const PKG_NAME = \"@hpcc-js/dgrid\";\nexport const PKG_VERSION = \"3.1.0\";\nexport const BUILD_VERSION = \"3.2.1\";\n","import * as dgrid_shim from \"@hpcc-js/dgrid-shim\";\n\nif (!globalThis[\"@hpcc-js/dgrid-shim\"]) {\n console.error(\"dgrid-shim not loaded, please add `<script src=\\\"https://cdn.jsdelivr.net/npm/@hpcc-js/dgrid-shim/dist/index.min.js\\\"></script>` or similar to your HTML file\");\n}\n\nexport const Deferred = globalThis[\"@hpcc-js/dgrid-shim\"].Deferred as typeof dgrid_shim.Deferred;\nexport const Memory = globalThis[\"@hpcc-js/dgrid-shim\"].Memory as typeof dgrid_shim.Memory;\nexport const QueryResults = globalThis[\"@hpcc-js/dgrid-shim\"].QueryResults as typeof dgrid_shim.QueryResults;\nexport const Grid = globalThis[\"@hpcc-js/dgrid-shim\"].Grid as typeof dgrid_shim.Grid;\nexport const PagingGrid = globalThis[\"@hpcc-js/dgrid-shim\"].PagingGrid as typeof dgrid_shim.PagingGrid;\nexport const domConstruct = globalThis[\"@hpcc-js/dgrid-shim\"].domConstruct as typeof dgrid_shim.domConstruct;\n","function entitiesEncode(str) {\n return String(str).replace(/&/g, \"&\").replace(/</g, \"<\").replace(/>/g, \">\").replace(/\"/g, \""\");\n}\n\nfunction safeEncode(item) {\n switch (Object.prototype.toString.call(item)) {\n case \"[object Undefined]\":\n case \"[object Boolean]\":\n case \"[object Number]\":\n return item;\n case \"[object String]\":\n return entitiesEncode(item);\n default:\n console.warn(\"Unknown cell type: \" + Object.prototype.toString.call(item));\n }\n return item;\n}\n\nfunction isArray(obj: any): obj is any[] {\n return obj instanceof Array;\n}\n\nconst LINE_SPLITTER = \"<br><hr class='dgrid-fakeline'>\";\nconst LINE_SPLITTER2 = \"<br><hr class='dgrid-fakeline' style='visibility: hidden'>\";\n\nexport interface ColumnType {\n field: string;\n leafID: string;\n label: string;\n idx: number;\n className: string;\n sortable: boolean;\n isSet: boolean;\n width?: number;\n formatter?: CellFormatter;\n renderCell?: CellRenderer;\n children?: ColumnType[];\n}\nexport interface RowType {\n __hpcc_id: number;\n __origRow: any[];\n [colIdx: number]: any;\n}\nexport type CellFormatter = (this: ColumnType, cell: any, row: RowType) => string;\nexport type CellRenderer = (this: ColumnType, row: RowType, cell: any, cellElement: HTMLElement) => HTMLElement | void;\n\nexport class RowFormatter {\n private _columns: ColumnType[];\n private _flattenedColumns = [];\n private _columnIdx = {};\n private _formattedRow = {};\n\n constructor(columns: ColumnType[], protected _renderHtml) {\n this._columns = columns;\n this.flattenColumns(columns);\n }\n\n flattenColumns(columns: ColumnType[]) {\n for (const column of columns) {\n this.flattenColumn(column);\n }\n }\n\n flattenColumn(column: ColumnType) {\n if (column.children) {\n for (const childColumn of column.children) this.flattenColumn(childColumn);\n } else {\n this._columnIdx[column.field] = this._flattenedColumns.length;\n this._flattenedColumns.push(column.field);\n }\n }\n\n format(row) {\n this._formattedRow = {};\n this.formatRow(this._columns, row);\n return this.row();\n }\n\n calcDepth(columns: ColumnType[], row) {\n let maxChildDepth = 1;\n for (const column of columns) {\n if (column.children && row[column.leafID]) {\n let childDepth = 0;\n let childRows = [];\n if (isArray(row[column.leafID])) {\n childRows = row[column.leafID];\n } else if (isArray(row[column.leafID].Row)) {\n childRows = row[column.leafID].Row;\n }\n for (const childRow of childRows) {\n childDepth += this.calcDepth(column.children, childRow);\n }\n maxChildDepth = Math.max(maxChildDepth, childDepth);\n }\n }\n return maxChildDepth;\n }\n\n formatCell(column: ColumnType, cell, maxChildDepth) {\n if (column.children) {\n let childDepth = 0;\n if (!isArray(cell)) {\n if (isArray(cell.Row)) {\n cell = cell.Row;\n } else {\n cell = [cell];\n }\n }\n for (const row of cell) {\n childDepth = Math.max(childDepth, this.formatRow(column.children, row));\n }\n } else {\n if (column.isSet) {\n cell = JSON.stringify(cell.Item);\n }\n if (this._formattedRow[column.field] === undefined) {\n this._formattedRow[column.field] = \"\" + (cell === undefined ? \"\" : (this._renderHtml ? cell : safeEncode(cell)));\n } else {\n this._formattedRow[column.field] += LINE_SPLITTER;\n this._formattedRow[column.field] += \"\" + (cell === undefined ? \"\" : (this._renderHtml ? cell : safeEncode(cell)));\n }\n if (maxChildDepth > 1) {\n const paddingArr = [];\n paddingArr.length = maxChildDepth;\n const padding = paddingArr.join(LINE_SPLITTER2);\n this._formattedRow[column.field] += padding;\n }\n }\n }\n\n formatRow(columns: ColumnType[], row: { [key: string]: any } = [], rowIdx: number = 0) {\n const maxChildDepth = this.calcDepth(columns, row);\n for (const column of columns) {\n this.formatCell(column, row[column.leafID], maxChildDepth);\n }\n return maxChildDepth;\n }\n\n row() {\n const retVal = {};\n for (const column of this._flattenedColumns) {\n retVal[column] = this._formattedRow[column];\n }\n return retVal;\n }\n}\n","import { Database } from \"@hpcc-js/common\";\nimport { Deferred } from \"./dgrid-shim.ts\";\nimport { CellFormatter, CellRenderer, ColumnType, RowFormatter } from \"./RowFormatter.ts\";\n\nexport class DBStore {\n private _db: Database.Grid;\n\n Model: null;\n idProperty: \"__hpcc_id\";\n\n constructor(db: Database.Grid) {\n this._db = db;\n }\n\n protected _renderHtml = true;\n renderHtml(_: boolean) {\n this._renderHtml = _;\n }\n\n db2Columns(sortable: boolean, fields: Database.Field[], prefix = \"\", formatter?: CellFormatter, renderCell?: CellRenderer): ColumnType[] {\n if (!fields) return [];\n return fields.map((field, idx) => {\n const label = field.label();\n const column: ColumnType = {\n label,\n leafID: \"\" + idx,\n field: prefix + idx,\n idx,\n className: \"resultGridCell\",\n sortable,\n isSet: false\n };\n switch (field.type()) {\n case \"nested\":\n column.children = this.db2Columns(false, field.children(), prefix + idx + \"_\", formatter);\n column.sortable = false;\n break;\n default:\n column.formatter = formatter;\n column.renderCell = renderCell;\n }\n return column;\n });\n }\n\n columns(sortable: boolean, formatter?: CellFormatter, renderCell?: CellRenderer) {\n return this.db2Columns(sortable, this._db.fields(), \"\", formatter, renderCell);\n }\n\n getIdentity(object) {\n return object.__hpcc_id;\n }\n\n get(row: number) {\n return this._db.row(row + 1);\n }\n\n _fetchRange(opts: { start: number, end: number }): object[] {\n const rowFormatter = new RowFormatter(this.columns(false), this._renderHtml);\n return this._db.data().slice(opts.start, opts.end).map((row, idx) => {\n const formattedRow: any = rowFormatter.format(row);\n return {\n ...formattedRow,\n __hpcc_id: opts.start + idx,\n __origRow: row\n };\n });\n }\n\n fetchRange(opts: { start: number, end: number }): Promise<object[]> {\n const data = this._fetchRange(opts);\n const retVal: any = new Deferred();\n retVal.totalLength = new Deferred();\n retVal.resolve(data);\n retVal.totalLength.resolve(this._db.length() - 1);\n return retVal;\n }\n\n sort(opts) {\n this._db.data().sort((l, r) => {\n for (const item of opts) {\n const idx = item.property;\n if ((l[idx] === undefined && r[idx] !== undefined) || l[idx] < r[idx]) return item.descending ? 1 : -1;\n if ((l[idx] !== undefined && r[idx] === undefined) || l[idx] > r[idx]) return item.descending ? -1 : 1;\n }\n return 0;\n });\n return this;\n }\n}\n","import { HTMLWidget } from \"@hpcc-js/common\";\nimport { Grid, PagingGrid } from \"./dgrid-shim.ts\";\nimport { DBStore } from \"./DBStore.ts\";\n\nimport \"../src/Common.css\";\n\nexport class Common extends HTMLWidget {\n protected _columns = [];\n protected _store = new DBStore(this._db);\n protected _dgridDiv;\n protected _dgrid;\n protected _prevPaging;\n private _prevSortBy: string;\n private _prevSortByDescending: boolean;\n private _prevMultiSelect: boolean;\n\n constructor() {\n super();\n this._tag = \"div\";\n }\n\n protected formatSortBy(): [{ property: string, descending: boolean }] | undefined {\n const idx = this.columns().indexOf(this.sortBy());\n return idx >= 0 ? [{ property: idx.toString(), descending: this.sortByDescending() }] : undefined;\n }\n\n protected _supressEvents;\n selection(): any[];\n selection(_: any[]): this;\n selection(_?: any[]): any[] | this {\n if (!arguments.length) {\n const retVal = [];\n for (const id in this._dgrid.selection) {\n if (this._dgrid.selection[id]) {\n const storeItem = this._store.get(+id);\n retVal.push(this.rowToObj(storeItem));\n }\n }\n return retVal;\n }\n this._supressEvents = true;\n this._dgrid?.clearSelection();\n let first = true;\n this.data().forEach((row, idx) => {\n if (_.indexOf(row) >= 0) {\n const row = this._dgrid?.row(idx);\n if (row.element && first) {\n first = false;\n row.element.scrollIntoView();\n }\n this._dgrid?.select(idx);\n }\n });\n this._supressEvents = false;\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n this._dgridDiv = element.append(\"div\")\n .attr(\"class\", \"flat\")\n ;\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n\n this._store.renderHtml(this.renderHtml());\n\n if (!this._dgrid || this._prevPaging !== this.pagination() ||\n this._prevSortBy !== this.sortBy() ||\n this._prevSortByDescending !== this.sortByDescending() ||\n this._prevMultiSelect !== this.multiSelect()) {\n\n this._prevPaging = this.pagination();\n this._prevSortBy = this.sortBy();\n this._prevSortByDescending = this.sortByDescending();\n this._prevMultiSelect = this.multiSelect();\n if (this._dgrid) {\n this._dgrid.destroy();\n this._dgridDiv = element.append(\"div\")\n .attr(\"class\", \"flat\")\n ;\n }\n this._dgrid = new (this._prevPaging ? PagingGrid : Grid)({\n columns: this._columns,\n collection: this._store,\n sort: this.formatSortBy(),\n selectionMode: this.multiSelect() ? \"extended\" : \"single\",\n deselectOnRefresh: true,\n cellNavigation: false,\n pagingLinks: 1,\n pagingTextBox: true,\n previousNextArrows: true,\n firstLastArrows: true,\n rowsPerPage: this.pageSize(),\n pageSizeOptions: [1, 10, 25, 50, 100, 1000]\n }, this._dgridDiv.node());\n this._dgrid.on(\"dgrid-select\", (evt) => {\n if (this._supressEvents) return;\n if (evt.rows && evt.rows.length && evt.rows[0].data) {\n this.click(this.rowToObj(evt.rows[0].data.__origRow), \"\", true, { selection: this.selection() });\n }\n });\n this._dgrid.on(\"dgrid-deselect\", (evt) => {\n if (this._supressEvents) return;\n if (evt.rows && evt.rows.length && evt.rows[0].data) {\n this.click(this.rowToObj(evt.rows[0].data.__origRow), \"\", false, { selection: this.selection() });\n }\n });\n this._dgrid.refresh({});\n }\n this._dgrid.noDataMessage = `<span class='dojoxGridNoData'>${this.noDataMessage()}</span>`;\n this._dgrid.loadingMessage = `<span class='dojoxGridNoData'>${this.loadingMessage()}</span>`;\n\n this._dgridDiv\n .style(\"width\", this.width() + \"px\")\n .style(\"height\", this.height() - 2 + \"px\")\n ;\n this._dgrid.resize();\n }\n\n exit(domNode, element) {\n delete this._prevPaging;\n if (this._dgrid) {\n this._dgrid.destroy();\n delete this._dgrid;\n }\n super.exit(domNode, element);\n }\n\n click(row, col, sel, more) {\n }\n}\nCommon.prototype._class += \" dgrid_Common\";\n\nexport interface Common {\n noDataMessage(): string;\n noDataMessage(_: string): this;\n loadingMessage(): string;\n loadingMessage(_: string): this;\n pagination(): boolean;\n pagination(_: boolean): this;\n pageSize(): number;\n pageSize(_: number): this;\n sortable(): boolean;\n sortable(_: boolean): this;\n sortBy(): string;\n sortBy(_: string): this;\n sortByDescending(): boolean;\n sortByDescending(_: boolean): this;\n multiSelect(): boolean;\n multiSelect(_: boolean): this;\n renderHtml(): boolean;\n renderHtml(_: boolean): this;\n}\n\nCommon.prototype.publish(\"noDataMessage\", \"...empty...\", \"string\", \"No Data Message\");\nCommon.prototype.publish(\"loadingMessage\", \"loading...\", \"string\", \"Loading Message\");\nCommon.prototype.publish(\"pagination\", false, \"boolean\", \"Enable paging\");\nCommon.prototype.publish(\"pageSize\", 25, \"number\", \"Page size\");\nCommon.prototype.publish(\"sortable\", false, \"boolean\", \"Enable sorting by column\");\nCommon.prototype.publish(\"sortBy\", null, \"set\", \"Default 'sort by' Column ID\", function (this: Common) { return this.columns(); }, { optional: true });\nCommon.prototype.publish(\"sortByDescending\", false, \"boolean\", \"Default 'sort by' descending\", undefined, { disable: self => !self.sortBy() });\nCommon.prototype.publish(\"multiSelect\", false, \"boolean\", \"Multiple Selection\");\nCommon.prototype.publish(\"renderHtml\", true, \"boolean\", \"Render HTML\");\n\n","import type { DDL2 } from \"@hpcc-js/ddl-shim\";\nimport { Deferred, QueryResults } from \"./dgrid-shim.ts\";\nimport { ColumnType, RowFormatter } from \"./RowFormatter.ts\";\n\nexport interface IDatasource {\n id: () => string;\n hash: () => string;\n label: () => string;\n\n outFields: () => DDL2.IField[];\n total: () => number;\n fetch: (from: number, count: number) => Promise<ReadonlyArray<object>>;\n}\n\nexport class DatasourceCache implements IDatasource {\n protected _datasource: IDatasource;\n _prevHash: string;\n _fetchCache: { [key: string]: Promise<ReadonlyArray<object>> } = {};\n\n constructor(datasource: IDatasource) {\n this._datasource = datasource;\n }\n\n validateCache() {\n const hash = this.hash();\n if (this._prevHash !== hash) {\n this._prevHash = hash;\n this._fetchCache = {};\n }\n }\n\n id() { return this._datasource.id(); }\n hash() { return this._datasource.hash(); }\n label() { return this._datasource.label(); }\n\n outFields() { return this._datasource.outFields(); }\n total() { return this._datasource.total(); }\n fetch(from: number, count: number): Promise<ReadonlyArray<object>> {\n this.validateCache();\n const cacheID = `${from}->${count}`;\n let retVal = this._fetchCache[cacheID];\n if (!retVal) {\n retVal = this._datasource.fetch(from, count);\n this._fetchCache[cacheID] = retVal;\n }\n return retVal;\n }\n}\n\nexport class DatasourceStore {\n _datasource: DatasourceCache;\n _columnsIdx: { [key: string]: number } = {};\n _columns;\n\n private rowFormatter: RowFormatter;\n\n constructor(datasource: IDatasource, renderHtml: boolean) {\n this._datasource = new DatasourceCache(datasource);\n\n this._columnsIdx = {};\n this._columns = this.db2Columns(this._datasource.outFields()).map((column, idx) => {\n this._columnsIdx[column.field] = idx;\n return column;\n });\n this.rowFormatter = new RowFormatter(this._columns, renderHtml);\n }\n\n columns() {\n return this._columns;\n }\n\n db2Columns(fields: DDL2.IField[], prefix = \"\"): ColumnType[] {\n if (!fields) return [];\n return fields.map((field, idx) => {\n const column: ColumnType = {\n field: prefix + field.id,\n leafID: field.id,\n label: field.id,\n idx,\n className: \"resultGridCell\",\n sortable: true,\n isSet: false\n };\n if (field.type === \"dataset\") {\n column.children = this.db2Columns(field.children, prefix + field.id + \"_\");\n } else {\n column.formatter = (cell, row) => {\n switch (typeof cell) {\n case \"string\":\n return cell.replace(/\\t/g, \" \");\n }\n return cell;\n };\n }\n return column;\n });\n }\n\n getIdentity(row) {\n return row.__hpcc_id;\n }\n\n _request(start, end): Promise<{ totalLength: number, data: any[] }> {\n if (!this._datasource) return Promise.resolve({ totalLength: 0, data: [] });\n const retVal = this._datasource.fetch(start, end - start).then(response => {\n return {\n totalLength: this._datasource.total(),\n data: response.map((row, idx) => {\n const formattedRow: any = this.rowFormatter.format(row);\n formattedRow.__hpcc_id = start + idx;\n formattedRow.__origRow = row;\n return formattedRow;\n })\n };\n });\n return retVal;\n }\n\n fetchRange(options): Promise<any[]> {\n const retVal = new Deferred();\n this._request(options.start, options.end).then(response => retVal.resolve(response));\n return new QueryResults(retVal.then(response => response.data), {\n totalLength: retVal.then(response => response.totalLength)\n });\n }\n}\n","import { Widget } from \"@hpcc-js/common\";\nimport { Memory } from \"./dgrid-shim.ts\";\nimport { Common } from \"./Common.ts\";\nimport { DatasourceStore, IDatasource } from \"./DatasourceStore.ts\";\n\nexport class DatasourceTable extends Common {\n _prevDatasource?: IDatasource;\n\n constructor() {\n super();\n }\n\n invalidate(): this {\n delete this._prevDatasource;\n return this;\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n }\n render(callback?: (w: Widget) => void): this {\n return super.render(w => {\n if (this._prevDatasource !== this.datasource()) {\n this._dgrid.set(\"collection\", new Memory());\n this._dgrid.set(\"columns\", []);\n this._prevDatasource = this.datasource();\n if (this._prevDatasource) {\n const store = new DatasourceStore(this._prevDatasource, this.renderHtml());\n this._dgrid.set(\"columns\", store.columns());\n this._dgrid.set(\"collection\", store);\n if (callback) {\n callback(w);\n }\n } else {\n if (callback) {\n callback(w);\n }\n }\n } else {\n if (callback) {\n callback(w);\n }\n }\n });\n }\n\n click(row, col, sel) {\n }\n}\nDatasourceTable.prototype._class += \" dgrid_DatasourceTable\";\n\nexport interface DatasourceTable {\n datasource(): IDatasource;\n datasource(_: IDatasource): this;\n}\n\nDatasourceTable.prototype.publish(\"datasource\", null, \"object\", \"Datasource\");\n\n","import { Palette, PropertyExt, Field } from \"@hpcc-js/common\";\nimport { hashSum } from \"@hpcc-js/util\";\nimport { format as d3Format } from \"d3-format\";\nimport { select as d3Select } from \"d3-selection\";\nimport { Common } from \"./Common.ts\";\nimport { CellFormatter, CellRenderer, ColumnType, RowType } from \"./RowFormatter.ts\";\n\n// ColumnPalette ---\nexport class ColumnFormat extends PropertyExt {\n _owner: Table;\n\n constructor() {\n super();\n }\n\n owner(): Table;\n owner(_: Table): this;\n owner(_?: Table): Table | this {\n if (!arguments.length) return this._owner;\n this._owner = _;\n return this;\n }\n\n valid(): boolean {\n return !!this.column();\n }\n\n formatterFunc(): CellFormatter | undefined {\n const defaultFormatter = this._owner.formatterFunc();\n if (this.valid() && this.format()) {\n const numberFormatter = d3Format(this.format());\n\n return function (this: ColumnType, cell: any, row: RowType): string {\n if (typeof cell === \"number\")\n return numberFormatter(cell);\n return defaultFormatter.call(this, cell, row);\n };\n }\n return defaultFormatter;\n }\n\n renderCellFunc(): CellRenderer | undefined {\n const defaultRenderCell = this._owner.renderCellFunc();\n const defaultFormatter = this.formatterFunc();\n if (this.valid() && this.paletteID()) {\n const columns = this._owner.columns();\n const palette = Palette.rainbow(this.paletteID());\n const min = this.min();\n const max = this.max();\n const valueColIdx = this.valueColumn() ? columns.indexOf(this.valueColumn()) : undefined;\n return function (this: ColumnType, row: RowType, cell: any, cellElement: HTMLElement): HTMLElement | void {\n if (defaultRenderCell) {\n defaultRenderCell.call(this, row, cell, cellElement);\n }\n const value = valueColIdx ? row.__origRow[valueColIdx] : cell;\n const background = palette(value, min, max);\n const cellText: any = defaultFormatter.call(this, cell, row);\n d3Select(cellElement)\n .style(\"background\", background)\n .style(\"color\", background && Palette.textColor(background))\n .text(cellText?.html ?? cellText ?? cell)\n ;\n };\n }\n return defaultRenderCell;\n }\n}\nColumnFormat.prototype._class += \" dgrid_Table.ColumnFormat\";\n\nexport interface ColumnFormat {\n column(): string;\n column(_: string): this;\n width(): number;\n width(_: number): this;\n format(): string;\n format(_: string): this;\n paletteID(): string;\n paletteID(_: string): this;\n min(): number;\n min(_: number): this;\n max(): number;\n max(_: number): this;\n valueColumn(): string;\n valueColumn(_: string): this;\n}\nColumnFormat.prototype.publish(\"column\", null, \"set\", \"Column\", function (this: ColumnFormat) { return this._owner.columns(); }, { optional: true });\nColumnFormat.prototype.publish(\"width\", null, \"number\", \"Width\", null, { optional: true });\nColumnFormat.prototype.publish(\"format\", null, \"string\", \"Format (d3-format)\", null, { optional: true });\nColumnFormat.prototype.publish(\"paletteID\", null, \"set\", \"Color palette for this widget\", [\"\", ...Palette.rainbow(\"default\").switch()], { optional: true });\nColumnFormat.prototype.publish(\"min\", 0, \"number\", \"Min Value\", null, { disable: (cf: ColumnFormat) => !cf.paletteID() });\nColumnFormat.prototype.publish(\"max\", 100, \"number\", \"Max Value\", null, { disable: (cf: ColumnFormat) => !cf.paletteID() });\nColumnFormat.prototype.publish(\"valueColumn\", null, \"set\", \"Column\", function (this: ColumnFormat) { return this._owner.columns(); }, { optional: true, disable: (cf: ColumnFormat) => !cf.paletteID() });\n\n// Table ---\nexport class Table extends Common {\n private _prevColsHash;\n private _prevFieldsHash;\n _colsRefresh = false;\n _dataRefresh = false;\n\n constructor() {\n super();\n }\n\n fields(): Field[];\n fields(_: Field[]): this;\n fields(_?: Field[]): Field[] | this {\n const retVal = super.fields.apply(this, arguments as any);\n if (arguments.length) {\n const hash = hashSum({ _ });\n if (this._prevFieldsHash !== hash) {\n this._prevFieldsHash = hash;\n this._colsRefresh = true;\n }\n }\n return retVal;\n }\n\n columns(): string[];\n columns(_: string[], asDefault?: boolean): this;\n columns(_?: string[], asDefault?: boolean): string[] | this {\n const retVal = super.columns.apply(this, arguments as any);\n if (arguments.length) {\n const hash = hashSum({ _ });\n if (this._prevColsHash !== hash) {\n this._prevColsHash = hash;\n this._colsRefresh = true;\n }\n }\n return retVal;\n }\n\n data(): any;\n data(_: any): this;\n data(_?: any): any | this {\n const retVal = super.data.apply(this, arguments as any);\n if (arguments.length) {\n this._dataRefresh = true;\n }\n return retVal;\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n }\n\n guessWidth(columns, data) {\n const sortablePadding = this.sortable() ? 12 : 0;\n for (const column of columns) {\n if (column.children) {\n let sampleData = [];\n for (let i = 0; i < Math.min(3, data.length); ++i) {\n sampleData = sampleData.concat(data[i][column.idx]);\n }\n this.guessWidth(column.children, sampleData);\n } else {\n column.width = data.reduce((prevVal: number, row) => {\n const cell = (\"\" + row[column.idx]).trim();\n return Math.max(prevVal, this.textSize(cell).width);\n }, this.textSize(\"\" + column.label, undefined, undefined, true).width + sortablePadding) + 8; // +12 for the sort icon, +8 for the cell padding.\n }\n }\n }\n\n _prevHash;\n update(domNode, element) {\n super.update(domNode, element);\n const hash = this.hashSum();\n if (this._prevHash !== hash) {\n this._prevHash = hash;\n this._colsRefresh = true;\n }\n if (this._colsRefresh) {\n this._columns = this._store.columns(this.sortable(), this.formatterFunc(), this.renderCellFunc());\n switch (this.columnWidth()) {\n case \"auto\":\n const tenRows = this.data().filter((row, idx) => idx < 10);\n this.guessWidth(this._columns, tenRows);\n break;\n }\n const columns = this.columns();\n for (const columnFormat of this.columnFormats()) {\n if (columnFormat.valid()) {\n const colIdx = columns.indexOf(columnFormat.column());\n if (this._columns[colIdx]) {\n this._columns[colIdx].hidden = columnFormat.width() === 0;\n this._columns[colIdx].width = columnFormat.width() || this._columns[colIdx].width;\n this._columns[colIdx].formatter = columnFormat.formatterFunc();\n this._columns[colIdx].renderCell = columnFormat.renderCellFunc();\n }\n }\n }\n this._dgrid.set(\"columns\", this._columns.filter(col => !col.hidden));\n this._colsRefresh = false;\n }\n if (this._colsRefresh || this._dataRefresh) {\n if (this._colsRefresh) {\n this._dgrid.refresh({});\n } else {\n this._dgrid.refresh();\n }\n this._colsRefresh = false;\n this._dataRefresh = false;\n }\n }\n\n exit(domNode, element) {\n delete this._prevColsHash;\n delete this._prevFieldsHash;\n super.exit(domNode, element);\n }\n\n // Cell ---\n formatterFunc(): CellFormatter | undefined {\n return function (this: ColumnType, cell: any, row: RowType): string | any {\n switch (typeof cell) {\n case \"string\":\n return {\n html: cell.replace(/\\t/g, \" \").trim()\n };\n case \"undefined\":\n return \"\";\n }\n return cell;\n };\n }\n\n renderCellFunc(): CellRenderer | undefined {\n return undefined; // Undefined will defualt to formatter ---\n }\n\n // Events ---\n click(row, col, sel) {\n }\n}\nTable.prototype._class += \" dgrid_Table\";\n\nexport interface Table {\n columnWidth(): \"auto\" | \"none\";\n columnWidth(_: \"auto\" | \"none\"): this;\n columnFormats(): ColumnFormat[];\n columnFormats(_: ColumnFormat[]): this;\n}\n\nTable.prototype.publish(\"columnWidth\", \"auto\", \"set\", \"Default column width\", [\"auto\", \"none\"]);\nTable.prototype.publish(\"columnFormats\", [], \"propertyArray\", \"Source Columns\", null, { autoExpand: ColumnFormat });\n"],"names":["row","_a","d3Format","d3Select"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/__package__.ts","../src/dgrid-shim.ts","../src/RowFormatter.ts","../src/DBStore.ts","../src/Common.ts","../src/DatasourceStore.ts","../src/DatasourceTable.ts","../src/Table.ts"],"sourcesContent":["export const PKG_NAME = \"@hpcc-js/dgrid\";\nexport const PKG_VERSION = \"3.1.0\";\nexport const BUILD_VERSION = \"3.2.1\";\n","import * as dgrid_shim from \"@hpcc-js/dgrid-shim\";\n\nif (!globalThis[\"@hpcc-js/dgrid-shim\"]) {\n console.error(\"dgrid-shim not loaded, please add `<script src=\\\"https://cdn.jsdelivr.net/npm/@hpcc-js/dgrid-shim/dist/index.min.js\\\"></script>` or similar to your HTML file\");\n}\n\nexport const Deferred = globalThis[\"@hpcc-js/dgrid-shim\"].Deferred as typeof dgrid_shim.Deferred;\nexport const Memory = globalThis[\"@hpcc-js/dgrid-shim\"].Memory as typeof dgrid_shim.Memory;\nexport const QueryResults = globalThis[\"@hpcc-js/dgrid-shim\"].QueryResults as typeof dgrid_shim.QueryResults;\nexport const Grid = globalThis[\"@hpcc-js/dgrid-shim\"].Grid as typeof dgrid_shim.Grid;\nexport const PagingGrid = globalThis[\"@hpcc-js/dgrid-shim\"].PagingGrid as typeof dgrid_shim.PagingGrid;\nexport const domConstruct = globalThis[\"@hpcc-js/dgrid-shim\"].domConstruct as typeof dgrid_shim.domConstruct;\n","function entitiesEncode(str) {\n return String(str).replace(/&/g, \"&\").replace(/</g, \"<\").replace(/>/g, \">\").replace(/\"/g, \""\");\n}\n\nfunction safeEncode(item) {\n switch (Object.prototype.toString.call(item)) {\n case \"[object Undefined]\":\n case \"[object Boolean]\":\n case \"[object Number]\":\n return item;\n case \"[object String]\":\n return entitiesEncode(item);\n default:\n console.warn(\"Unknown cell type: \" + Object.prototype.toString.call(item));\n }\n return item;\n}\n\nfunction isArray(obj: any): obj is any[] {\n return obj instanceof Array;\n}\n\nconst LINE_SPLITTER = \"<br><hr class='dgrid-fakeline'>\";\nconst LINE_SPLITTER2 = \"<br><hr class='dgrid-fakeline' style='visibility: hidden'>\";\n\nexport interface ColumnType {\n field: string;\n leafID: string;\n label: string;\n idx: number;\n className: string;\n sortable: boolean;\n isSet: boolean;\n width?: number;\n formatter?: CellFormatter;\n renderCell?: CellRenderer;\n children?: ColumnType[];\n}\nexport interface RowType {\n __hpcc_id: number;\n __origRow: any[];\n [colIdx: number]: any;\n}\nexport type CellFormatter = (this: ColumnType, cell: any, row: RowType) => string;\nexport type CellRenderer = (this: ColumnType, row: RowType, cell: any, cellElement: HTMLElement) => HTMLElement | void;\n\nexport class RowFormatter {\n private _columns: ColumnType[];\n private _flattenedColumns = [];\n private _columnIdx = {};\n private _formattedRow = {};\n\n constructor(columns: ColumnType[], protected _renderHtml) {\n this._columns = columns;\n this.flattenColumns(columns);\n }\n\n flattenColumns(columns: ColumnType[]) {\n for (const column of columns) {\n this.flattenColumn(column);\n }\n }\n\n flattenColumn(column: ColumnType) {\n if (column.children) {\n for (const childColumn of column.children) this.flattenColumn(childColumn);\n } else {\n this._columnIdx[column.field] = this._flattenedColumns.length;\n this._flattenedColumns.push(column.field);\n }\n }\n\n format(row) {\n this._formattedRow = {};\n this.formatRow(this._columns, row);\n return this.row();\n }\n\n calcDepth(columns: ColumnType[], row) {\n let maxChildDepth = 1;\n for (const column of columns) {\n if (column.children && row[column.leafID]) {\n let childDepth = 0;\n let childRows = [];\n if (isArray(row[column.leafID])) {\n childRows = row[column.leafID];\n } else if (isArray(row[column.leafID].Row)) {\n childRows = row[column.leafID].Row;\n }\n for (const childRow of childRows) {\n childDepth += this.calcDepth(column.children, childRow);\n }\n maxChildDepth = Math.max(maxChildDepth, childDepth);\n }\n }\n return maxChildDepth;\n }\n\n formatCell(column: ColumnType, cell, maxChildDepth) {\n if (column.children) {\n let childDepth = 0;\n if (!isArray(cell)) {\n if (isArray(cell.Row)) {\n cell = cell.Row;\n } else {\n cell = [cell];\n }\n }\n for (const row of cell) {\n childDepth = Math.max(childDepth, this.formatRow(column.children, row));\n }\n } else {\n if (column.isSet) {\n cell = JSON.stringify(cell.Item);\n }\n if (this._formattedRow[column.field] === undefined) {\n this._formattedRow[column.field] = \"\" + (cell === undefined ? \"\" : (this._renderHtml ? cell : safeEncode(cell)));\n } else {\n this._formattedRow[column.field] += LINE_SPLITTER;\n this._formattedRow[column.field] += \"\" + (cell === undefined ? \"\" : (this._renderHtml ? cell : safeEncode(cell)));\n }\n if (maxChildDepth > 1) {\n const paddingArr = [];\n paddingArr.length = maxChildDepth;\n const padding = paddingArr.join(LINE_SPLITTER2);\n this._formattedRow[column.field] += padding;\n }\n }\n }\n\n formatRow(columns: ColumnType[], row: { [key: string]: any } = [], rowIdx: number = 0) {\n const maxChildDepth = this.calcDepth(columns, row);\n for (const column of columns) {\n this.formatCell(column, row[column.leafID], maxChildDepth);\n }\n return maxChildDepth;\n }\n\n row() {\n const retVal = {};\n for (const column of this._flattenedColumns) {\n retVal[column] = this._formattedRow[column];\n }\n return retVal;\n }\n}\n","import { Database } from \"@hpcc-js/common\";\nimport { Deferred } from \"./dgrid-shim.ts\";\nimport { CellFormatter, CellRenderer, ColumnType, RowFormatter } from \"./RowFormatter.ts\";\n\nexport class DBStore {\n private _db: Database.Grid;\n\n Model: null;\n idProperty: \"__hpcc_id\";\n\n constructor(db: Database.Grid) {\n this._db = db;\n }\n\n protected _renderHtml = true;\n renderHtml(_: boolean) {\n this._renderHtml = _;\n }\n\n db2Columns(sortable: boolean, fields: Database.Field[], prefix = \"\", formatter?: CellFormatter, renderCell?: CellRenderer): ColumnType[] {\n if (!fields) return [];\n return fields.map((field, idx) => {\n const label = field.label();\n const column: ColumnType = {\n label,\n leafID: \"\" + idx,\n field: prefix + idx,\n idx,\n className: \"resultGridCell\",\n sortable,\n isSet: false\n };\n switch (field.type()) {\n case \"nested\":\n column.children = this.db2Columns(false, field.children(), prefix + idx + \"_\", formatter);\n column.sortable = false;\n break;\n default:\n column.formatter = formatter;\n column.renderCell = renderCell;\n }\n return column;\n });\n }\n\n columns(sortable: boolean, formatter?: CellFormatter, renderCell?: CellRenderer) {\n return this.db2Columns(sortable, this._db.fields(), \"\", formatter, renderCell);\n }\n\n getIdentity(object) {\n return object.__hpcc_id;\n }\n\n get(row: number) {\n return this._db.row(row + 1);\n }\n\n _fetchRange(opts: { start: number, end: number }): object[] {\n const rowFormatter = new RowFormatter(this.columns(false), this._renderHtml);\n return this._db.data().slice(opts.start, opts.end).map((row, idx) => {\n const formattedRow: any = rowFormatter.format(row);\n return {\n ...formattedRow,\n __hpcc_id: opts.start + idx,\n __origRow: row\n };\n });\n }\n\n fetchRange(opts: { start: number, end: number }): Promise<object[]> {\n const data = this._fetchRange(opts);\n const retVal: any = new Deferred();\n retVal.totalLength = new Deferred();\n retVal.resolve(data);\n retVal.totalLength.resolve(this._db.length() - 1);\n return retVal;\n }\n\n sort(opts) {\n this._db.data().sort((l, r) => {\n for (const item of opts) {\n const idx = item.property;\n if ((l[idx] === undefined && r[idx] !== undefined) || l[idx] < r[idx]) return item.descending ? 1 : -1;\n if ((l[idx] !== undefined && r[idx] === undefined) || l[idx] > r[idx]) return item.descending ? -1 : 1;\n }\n return 0;\n });\n return this;\n }\n}\n","import { HTMLWidget } from \"@hpcc-js/common\";\nimport { Grid, PagingGrid } from \"./dgrid-shim.ts\";\nimport { DBStore } from \"./DBStore.ts\";\n\nimport \"../src/Common.css\";\n\nexport class Common extends HTMLWidget {\n protected _columns = [];\n protected _store = new DBStore(this._db);\n protected _dgridDiv;\n protected _dgrid;\n protected _prevPaging;\n private _prevSortBy: string;\n private _prevSortByDescending: boolean;\n private _prevMultiSelect: boolean;\n\n constructor() {\n super();\n this._tag = \"div\";\n }\n\n protected formatSortBy(): [{ property: string, descending: boolean }] | undefined {\n const idx = this.columns().indexOf(this.sortBy());\n return idx >= 0 ? [{ property: idx.toString(), descending: this.sortByDescending() }] : undefined;\n }\n\n protected _supressEvents;\n selection(): any[];\n selection(_: any[]): this;\n selection(_?: any[]): any[] | this {\n if (!arguments.length) {\n const retVal = [];\n for (const id in this._dgrid.selection) {\n if (this._dgrid.selection[id]) {\n const storeItem = this._store.get(+id);\n retVal.push(this.rowToObj(storeItem));\n }\n }\n return retVal;\n }\n this._supressEvents = true;\n this._dgrid?.clearSelection();\n let first = true;\n this.data().forEach((row, idx) => {\n if (_.indexOf(row) >= 0) {\n const row = this._dgrid?.row(idx);\n if (row.element && first) {\n first = false;\n row.element.scrollIntoView();\n }\n this._dgrid?.select(idx);\n }\n });\n this._supressEvents = false;\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n this._dgridDiv = element.append(\"div\")\n .attr(\"class\", \"flat\")\n ;\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n\n this._store.renderHtml(this.renderHtml());\n\n if (!this._dgrid || this._prevPaging !== this.pagination() ||\n this._prevSortBy !== this.sortBy() ||\n this._prevSortByDescending !== this.sortByDescending() ||\n this._prevMultiSelect !== this.multiSelect()) {\n\n this._prevPaging = this.pagination();\n this._prevSortBy = this.sortBy();\n this._prevSortByDescending = this.sortByDescending();\n this._prevMultiSelect = this.multiSelect();\n if (this._dgrid) {\n this._dgrid.destroy();\n this._dgridDiv = element.append(\"div\")\n .attr(\"class\", \"flat\")\n ;\n }\n this._dgrid = new (this._prevPaging ? PagingGrid : Grid)({\n columns: this._columns,\n collection: this._store,\n sort: this.formatSortBy(),\n selectionMode: this.multiSelect() ? \"extended\" : \"single\",\n deselectOnRefresh: true,\n cellNavigation: false,\n pagingLinks: 1,\n pagingTextBox: true,\n previousNextArrows: true,\n firstLastArrows: true,\n rowsPerPage: this.pageSize(),\n pageSizeOptions: [1, 10, 25, 50, 100, 1000]\n }, this._dgridDiv.node());\n this._dgrid.on(\"dgrid-select\", (evt) => {\n if (this._supressEvents) return;\n if (evt.rows && evt.rows.length && evt.rows[0].data) {\n this.click(this.rowToObj(evt.rows[0].data.__origRow), \"\", true, { selection: this.selection() });\n }\n });\n this._dgrid.on(\"dgrid-deselect\", (evt) => {\n if (this._supressEvents) return;\n if (evt.rows && evt.rows.length && evt.rows[0].data) {\n this.click(this.rowToObj(evt.rows[0].data.__origRow), \"\", false, { selection: this.selection() });\n }\n });\n this._dgrid.refresh({});\n }\n this._dgrid.noDataMessage = `<span class='dojoxGridNoData'>${this.noDataMessage()}</span>`;\n this._dgrid.loadingMessage = `<span class='dojoxGridNoData'>${this.loadingMessage()}</span>`;\n\n this._dgridDiv\n .style(\"width\", this.width() + \"px\")\n .style(\"height\", this.height() - 2 + \"px\")\n ;\n this._dgrid.resize();\n }\n\n exit(domNode, element) {\n delete this._prevPaging;\n if (this._dgrid) {\n this._dgrid.destroy();\n delete this._dgrid;\n }\n super.exit(domNode, element);\n }\n\n click(row, col, sel, more) {\n }\n}\nCommon.prototype._class += \" dgrid_Common\";\n\nexport interface Common {\n noDataMessage(): string;\n noDataMessage(_: string): this;\n loadingMessage(): string;\n loadingMessage(_: string): this;\n pagination(): boolean;\n pagination(_: boolean): this;\n pageSize(): number;\n pageSize(_: number): this;\n sortable(): boolean;\n sortable(_: boolean): this;\n sortBy(): string;\n sortBy(_: string): this;\n sortByDescending(): boolean;\n sortByDescending(_: boolean): this;\n multiSelect(): boolean;\n multiSelect(_: boolean): this;\n renderHtml(): boolean;\n renderHtml(_: boolean): this;\n}\n\nCommon.prototype.publish(\"noDataMessage\", \"...empty...\", \"string\", \"No Data Message\");\nCommon.prototype.publish(\"loadingMessage\", \"loading...\", \"string\", \"Loading Message\");\nCommon.prototype.publish(\"pagination\", false, \"boolean\", \"Enable paging\");\nCommon.prototype.publish(\"pageSize\", 25, \"number\", \"Page size\");\nCommon.prototype.publish(\"sortable\", false, \"boolean\", \"Enable sorting by column\");\nCommon.prototype.publish(\"sortBy\", null, \"set\", \"Default 'sort by' Column ID\", function (this: Common) { return this.columns(); }, { optional: true });\nCommon.prototype.publish(\"sortByDescending\", false, \"boolean\", \"Default 'sort by' descending\", undefined, { disable: self => !self.sortBy() });\nCommon.prototype.publish(\"multiSelect\", false, \"boolean\", \"Multiple Selection\");\nCommon.prototype.publish(\"renderHtml\", true, \"boolean\", \"Render HTML\");\n\n","import type { DDL2 } from \"@hpcc-js/ddl-shim\";\nimport { Deferred, QueryResults } from \"./dgrid-shim.ts\";\nimport { ColumnType, RowFormatter } from \"./RowFormatter.ts\";\n\nexport interface IDatasource {\n id: () => string;\n hash: () => string;\n label: () => string;\n\n outFields: () => DDL2.IField[];\n total: () => number;\n fetch: (from: number, count: number) => Promise<ReadonlyArray<object>>;\n}\n\nexport class DatasourceCache implements IDatasource {\n protected _datasource: IDatasource;\n _prevHash: string;\n _fetchCache: { [key: string]: Promise<ReadonlyArray<object>> } = {};\n\n constructor(datasource: IDatasource) {\n this._datasource = datasource;\n }\n\n validateCache() {\n const hash = this.hash();\n if (this._prevHash !== hash) {\n this._prevHash = hash;\n this._fetchCache = {};\n }\n }\n\n id() { return this._datasource.id(); }\n hash() { return this._datasource.hash(); }\n label() { return this._datasource.label(); }\n\n outFields() { return this._datasource.outFields(); }\n total() { return this._datasource.total(); }\n fetch(from: number, count: number): Promise<ReadonlyArray<object>> {\n this.validateCache();\n const cacheID = `${from}->${count}`;\n let retVal = this._fetchCache[cacheID];\n if (!retVal) {\n retVal = this._datasource.fetch(from, count);\n this._fetchCache[cacheID] = retVal;\n }\n return retVal;\n }\n}\n\nexport class DatasourceStore {\n _datasource: DatasourceCache;\n _columnsIdx: { [key: string]: number } = {};\n _columns;\n\n private rowFormatter: RowFormatter;\n\n constructor(datasource: IDatasource, renderHtml: boolean) {\n this._datasource = new DatasourceCache(datasource);\n\n this._columnsIdx = {};\n this._columns = this.db2Columns(this._datasource.outFields()).map((column, idx) => {\n this._columnsIdx[column.field] = idx;\n return column;\n });\n this.rowFormatter = new RowFormatter(this._columns, renderHtml);\n }\n\n columns() {\n return this._columns;\n }\n\n db2Columns(fields: DDL2.IField[], prefix = \"\"): ColumnType[] {\n if (!fields) return [];\n return fields.map((field, idx) => {\n const column: ColumnType = {\n field: prefix + field.id,\n leafID: field.id,\n label: field.id,\n idx,\n className: \"resultGridCell\",\n sortable: true,\n isSet: false\n };\n if (field.type === \"dataset\") {\n column.children = this.db2Columns(field.children, prefix + field.id + \"_\");\n } else {\n column.formatter = (cell, row) => {\n switch (typeof cell) {\n case \"string\":\n return cell.replace(/\\t/g, \" \");\n }\n return cell;\n };\n }\n return column;\n });\n }\n\n getIdentity(row) {\n return row.__hpcc_id;\n }\n\n _request(start, end): Promise<{ totalLength: number, data: any[] }> {\n if (!this._datasource) return Promise.resolve({ totalLength: 0, data: [] });\n const retVal = this._datasource.fetch(start, end - start).then(response => {\n return {\n totalLength: this._datasource.total(),\n data: response.map((row, idx) => {\n const formattedRow: any = this.rowFormatter.format(row);\n formattedRow.__hpcc_id = start + idx;\n formattedRow.__origRow = row;\n return formattedRow;\n })\n };\n });\n return retVal;\n }\n\n fetchRange(options): Promise<any[]> {\n const retVal = new Deferred();\n this._request(options.start, options.end).then(response => retVal.resolve(response));\n return new QueryResults(retVal.then(response => response.data), {\n totalLength: retVal.then(response => response.totalLength)\n });\n }\n}\n","import { Widget } from \"@hpcc-js/common\";\nimport { Memory } from \"./dgrid-shim.ts\";\nimport { Common } from \"./Common.ts\";\nimport { DatasourceStore, IDatasource } from \"./DatasourceStore.ts\";\n\nexport class DatasourceTable extends Common {\n _prevDatasource?: IDatasource;\n\n constructor() {\n super();\n }\n\n invalidate(): this {\n delete this._prevDatasource;\n return this;\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n }\n render(callback?: (w: Widget) => void): this {\n return super.render(w => {\n if (this._prevDatasource !== this.datasource()) {\n this._dgrid.set(\"collection\", new Memory());\n this._dgrid.set(\"columns\", []);\n this._prevDatasource = this.datasource();\n if (this._prevDatasource) {\n const store = new DatasourceStore(this._prevDatasource, this.renderHtml());\n this._dgrid.set(\"columns\", store.columns());\n this._dgrid.set(\"collection\", store);\n if (callback) {\n callback(w);\n }\n } else {\n if (callback) {\n callback(w);\n }\n }\n } else {\n if (callback) {\n callback(w);\n }\n }\n });\n }\n\n click(row, col, sel) {\n }\n}\nDatasourceTable.prototype._class += \" dgrid_DatasourceTable\";\n\nexport interface DatasourceTable {\n datasource(): IDatasource;\n datasource(_: IDatasource): this;\n}\n\nDatasourceTable.prototype.publish(\"datasource\", null, \"object\", \"Datasource\");\n\n","import { Palette, PropertyExt, Field } from \"@hpcc-js/common\";\nimport { hashSum } from \"@hpcc-js/util\";\nimport { format as d3Format } from \"d3-format\";\nimport { select as d3Select } from \"d3-selection\";\nimport { Common } from \"./Common.ts\";\nimport { CellFormatter, CellRenderer, ColumnType, RowType } from \"./RowFormatter.ts\";\n\n// ColumnPalette ---\nexport class ColumnFormat extends PropertyExt {\n _owner: Table;\n\n constructor() {\n super();\n }\n\n owner(): Table;\n owner(_: Table): this;\n owner(_?: Table): Table | this {\n if (!arguments.length) return this._owner;\n this._owner = _;\n return this;\n }\n\n valid(): boolean {\n return !!this.column();\n }\n\n formatterFunc(): CellFormatter | undefined {\n const defaultFormatter = this._owner.formatterFunc();\n if (this.valid() && this.format()) {\n const numberFormatter = d3Format(this.format());\n\n return function (this: ColumnType, cell: any, row: RowType): string {\n if (typeof cell === \"number\")\n return numberFormatter(cell);\n return defaultFormatter.call(this, cell, row);\n };\n }\n return defaultFormatter;\n }\n\n renderCellFunc(): CellRenderer | undefined {\n const defaultRenderCell = this._owner.renderCellFunc();\n const defaultFormatter = this.formatterFunc();\n if (this.valid() && this.paletteID()) {\n const columns = this._owner.columns();\n const palette = Palette.rainbow(this.paletteID());\n const min = this.min();\n const max = this.max();\n const valueColIdx = this.valueColumn() ? columns.indexOf(this.valueColumn()) : undefined;\n return function (this: ColumnType, row: RowType, cell: any, cellElement: HTMLElement): HTMLElement | void {\n if (defaultRenderCell) {\n defaultRenderCell.call(this, row, cell, cellElement);\n }\n const value = valueColIdx ? row.__origRow[valueColIdx] : cell;\n const background = palette(value, min, max);\n const cellText: any = defaultFormatter.call(this, cell, row);\n d3Select(cellElement)\n .style(\"background\", background)\n .style(\"color\", background && Palette.textColor(background))\n .text(cellText?.html ?? cellText ?? cell)\n ;\n };\n }\n return defaultRenderCell;\n }\n}\nColumnFormat.prototype._class += \" dgrid_Table.ColumnFormat\";\n\nexport interface ColumnFormat {\n column(): string;\n column(_: string): this;\n width(): number;\n width(_: number): this;\n format(): string;\n format(_: string): this;\n paletteID(): string;\n paletteID(_: string): this;\n min(): number;\n min(_: number): this;\n max(): number;\n max(_: number): this;\n valueColumn(): string;\n valueColumn(_: string): this;\n}\nColumnFormat.prototype.publish(\"column\", null, \"set\", \"Column\", function (this: ColumnFormat) { return this._owner.columns(); }, { optional: true });\nColumnFormat.prototype.publish(\"width\", null, \"number\", \"Width\", null, { optional: true });\nColumnFormat.prototype.publish(\"format\", null, \"string\", \"Format (d3-format)\", null, { optional: true });\nColumnFormat.prototype.publish(\"paletteID\", null, \"set\", \"Color palette for this widget\", [\"\", ...Palette.rainbow(\"default\").switch()], { optional: true });\nColumnFormat.prototype.publish(\"min\", 0, \"number\", \"Min Value\", null, { disable: (cf: ColumnFormat) => !cf.paletteID() });\nColumnFormat.prototype.publish(\"max\", 100, \"number\", \"Max Value\", null, { disable: (cf: ColumnFormat) => !cf.paletteID() });\nColumnFormat.prototype.publish(\"valueColumn\", null, \"set\", \"Column\", function (this: ColumnFormat) { return this._owner.columns(); }, { optional: true, disable: (cf: ColumnFormat) => !cf.paletteID() });\n\n// Table ---\nexport class Table extends Common {\n private _prevColsHash;\n private _prevFieldsHash;\n _colsRefresh = false;\n _dataRefresh = false;\n\n constructor() {\n super();\n }\n\n fields(): Field[];\n fields(_: Field[]): this;\n fields(_?: Field[]): Field[] | this {\n const retVal = super.fields.apply(this, arguments as any);\n if (arguments.length) {\n const hash = hashSum({ _ });\n if (this._prevFieldsHash !== hash) {\n this._prevFieldsHash = hash;\n this._colsRefresh = true;\n }\n }\n return retVal;\n }\n\n columns(): string[];\n columns(_: string[], asDefault?: boolean): this;\n columns(_?: string[], asDefault?: boolean): string[] | this {\n const retVal = super.columns.apply(this, arguments as any);\n if (arguments.length) {\n const hash = hashSum({ _ });\n if (this._prevColsHash !== hash) {\n this._prevColsHash = hash;\n this._colsRefresh = true;\n }\n }\n return retVal;\n }\n\n data(): any;\n data(_: any): this;\n data(_?: any): any | this {\n const retVal = super.data.apply(this, arguments as any);\n if (arguments.length) {\n this._dataRefresh = true;\n }\n return retVal;\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n }\n\n guessWidth(columns, data) {\n const sortablePadding = this.sortable() ? 12 : 0;\n for (const column of columns) {\n if (column.children) {\n let sampleData = [];\n for (let i = 0; i < Math.min(3, data.length); ++i) {\n sampleData = sampleData.concat(data[i][column.idx]);\n }\n this.guessWidth(column.children, sampleData);\n } else {\n column.width = data.reduce((prevVal: number, row) => {\n const cell = (\"\" + row[column.idx]).trim();\n return Math.max(prevVal, this.textSize(cell).width);\n }, this.textSize(\"\" + column.label, undefined, undefined, true).width + sortablePadding) + 8; // +12 for the sort icon, +8 for the cell padding.\n }\n }\n }\n\n _prevHash;\n update(domNode, element) {\n super.update(domNode, element);\n const hash = this.hashSum();\n if (this._prevHash !== hash) {\n this._prevHash = hash;\n this._colsRefresh = true;\n }\n if (this._colsRefresh) {\n this._columns = this._store.columns(this.sortable(), this.formatterFunc(), this.renderCellFunc());\n switch (this.columnWidth()) {\n case \"auto\":\n const tenRows = this.data().filter((row, idx) => idx < 10);\n this.guessWidth(this._columns, tenRows);\n break;\n }\n const columns = this.columns();\n for (const columnFormat of this.columnFormats()) {\n if (columnFormat.valid()) {\n const colIdx = columns.indexOf(columnFormat.column());\n if (this._columns[colIdx]) {\n this._columns[colIdx].hidden = columnFormat.width() === 0;\n this._columns[colIdx].width = columnFormat.width() || this._columns[colIdx].width;\n this._columns[colIdx].formatter = columnFormat.formatterFunc();\n this._columns[colIdx].renderCell = columnFormat.renderCellFunc();\n }\n }\n }\n this._dgrid.set(\"columns\", this._columns.filter(col => !col.hidden));\n this._colsRefresh = false;\n }\n if (this._colsRefresh || this._dataRefresh) {\n if (this._colsRefresh) {\n this._dgrid.refresh({});\n } else {\n this._dgrid.refresh();\n }\n this._colsRefresh = false;\n this._dataRefresh = false;\n }\n }\n\n exit(domNode, element) {\n delete this._prevColsHash;\n delete this._prevFieldsHash;\n super.exit(domNode, element);\n }\n\n // Cell ---\n formatterFunc(): CellFormatter | undefined {\n return function (this: ColumnType, cell: any, row: RowType): string | any {\n switch (typeof cell) {\n case \"string\":\n return {\n html: cell.replace(/\\t/g, \" \").trim()\n };\n case \"undefined\":\n return \"\";\n }\n return cell;\n };\n }\n\n renderCellFunc(): CellRenderer | undefined {\n return undefined; // Undefined will defualt to formatter ---\n }\n\n // Events ---\n click(row, col, sel) {\n }\n}\nTable.prototype._class += \" dgrid_Table\";\n\nexport interface Table {\n columnWidth(): \"auto\" | \"none\";\n columnWidth(_: \"auto\" | \"none\"): this;\n columnFormats(): ColumnFormat[];\n columnFormats(_: ColumnFormat[]): this;\n}\n\nTable.prototype.publish(\"columnWidth\", \"auto\", \"set\", \"Default column width\", [\"auto\", \"none\"]);\nTable.prototype.publish(\"columnFormats\", [], \"propertyArray\", \"Source Columns\", null, { autoExpand: ColumnFormat });\n"],"names":["row","d3Format","d3Select"],"mappings":"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"}
|
package/dist/index.umd.cjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@hpcc-js/common"),require("@hpcc-js/util")):"function"==typeof define&&define.amd?define(["exports","@hpcc-js/common","@hpcc-js/util"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self)["@hpcc-js/dgrid"]={},t["@hpcc-js/common"],t["@hpcc-js/util"])}(this,function(t,e,s){"use strict";var i=Object.defineProperty,r=(t,e)=>i(t,"name",{value:e,configurable:!0}),o=(t,e,s)=>((t,e,s)=>e in t?i(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s)(t,"symbol"!=typeof e?e+"":e,s);globalThis["@hpcc-js/dgrid-shim"]||console.error('dgrid-shim not loaded, please add `<script src="https://cdn.jsdelivr.net/npm/@hpcc-js/dgrid-shim/dist/index.min.js"><\/script>` or similar to your HTML file');const n=globalThis["@hpcc-js/dgrid-shim"].Deferred,l=globalThis["@hpcc-js/dgrid-shim"].Memory,a=globalThis["@hpcc-js/dgrid-shim"].QueryResults,h=globalThis["@hpcc-js/dgrid-shim"].Grid,d=globalThis["@hpcc-js/dgrid-shim"].PagingGrid,c=globalThis["@hpcc-js/dgrid-shim"].domConstruct;function u(t){return String(t).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}function p(t){switch(Object.prototype.toString.call(t)){case"[object Undefined]":case"[object Boolean]":case"[object Number]":return t;case"[object String]":return u(t);default:console.warn("Unknown cell type: "+Object.prototype.toString.call(t))}return t}function _(t){return t instanceof Array}r(u,"entitiesEncode"),r(p,"safeEncode"),r(_,"isArray");const m=class _RowFormatter{constructor(t,e){o(this,"_columns"),o(this,"_flattenedColumns",[]),o(this,"_columnIdx",{}),o(this,"_formattedRow",{}),this._renderHtml=e,this._columns=t,this.flattenColumns(t)}flattenColumns(t){for(const e of t)this.flattenColumn(e)}flattenColumn(t){if(t.children)for(const e of t.children)this.flattenColumn(e);else this._columnIdx[t.field]=this._flattenedColumns.length,this._flattenedColumns.push(t.field)}format(t){return this._formattedRow={},this.formatRow(this._columns,t),this.row()}calcDepth(t,e){let s=1;for(const i of t)if(i.children&&e[i.leafID]){let t=0,r=[];_(e[i.leafID])?r=e[i.leafID]:_(e[i.leafID].Row)&&(r=e[i.leafID].Row);for(const e of r)t+=this.calcDepth(i.children,e);s=Math.max(s,t)}return s}formatCell(t,e,s){if(t.children){let s=0;_(e)||(e=_(e.Row)?e.Row:[e]);for(const i of e)s=Math.max(s,this.formatRow(t.children,i))}else if(t.isSet&&(e=JSON.stringify(e.Item)),void 0===this._formattedRow[t.field]?this._formattedRow[t.field]=""+(void 0===e?"":this._renderHtml?e:p(e)):(this._formattedRow[t.field]+="<br><hr class='dgrid-fakeline'>",this._formattedRow[t.field]+=""+(void 0===e?"":this._renderHtml?e:p(e))),s>1){const e=[];e.length=s;const i=e.join("<br><hr class='dgrid-fakeline' style='visibility: hidden'>");this._formattedRow[t.field]+=i}}formatRow(t,e=[],s=0){const i=this.calcDepth(t,e);for(const r of t)this.formatCell(r,e[r.leafID],i);return i}row(){const t={};for(const e of this._flattenedColumns)t[e]=this._formattedRow[e];return t}};r(m,"RowFormatter");let f=m;const g=class _DBStore{constructor(t){o(this,"_db"),o(this,"Model"),o(this,"idProperty"),o(this,"_renderHtml",!0),this._db=t}renderHtml(t){this._renderHtml=t}db2Columns(t,e,s="",i,r){return e?e.map((e,o)=>{const n={label:e.label(),leafID:""+o,field:s+o,idx:o,className:"resultGridCell",sortable:t,isSet:!1};if("nested"===e.type())n.children=this.db2Columns(!1,e.children(),s+o+"_",i),n.sortable=!1;else n.formatter=i,n.renderCell=r;return n}):[]}columns(t,e,s){return this.db2Columns(t,this._db.fields(),"",e,s)}getIdentity(t){return t.__hpcc_id}get(t){return this._db.row(t+1)}_fetchRange(t){const e=new f(this.columns(!1),this._renderHtml);return this._db.data().slice(t.start,t.end).map((s,i)=>({...e.format(s),__hpcc_id:t.start+i,__origRow:s}))}fetchRange(t){const e=this._fetchRange(t),s=new n;return s.totalLength=new n,s.resolve(e),s.totalLength.resolve(this._db.length()-1),s}sort(t){return this._db.data().sort((e,s)=>{for(const i of t){const t=i.property;if(void 0===e[t]&&void 0!==s[t]||e[t]<s[t])return i.descending?1:-1;if(void 0!==e[t]&&void 0===s[t]||e[t]>s[t])return i.descending?-1:1}return 0}),this}};r(g,"DBStore");let b=g;const y=class _Common extends e.HTMLWidget{constructor(){super(),o(this,"_columns",[]),o(this,"_store",new b(this._db)),o(this,"_dgridDiv"),o(this,"_dgrid"),o(this,"_prevPaging"),o(this,"_prevSortBy"),o(this,"_prevSortByDescending"),o(this,"_prevMultiSelect"),o(this,"_supressEvents"),this._tag="div"}formatSortBy(){const t=this.columns().indexOf(this.sortBy());return t>=0?[{property:t.toString(),descending:this.sortByDescending()}]:void 0}selection(t){var e;if(!arguments.length){const t=[];for(const e in this._dgrid.selection)if(this._dgrid.selection[e]){const s=this._store.get(+e);t.push(this.rowToObj(s))}return t}this._supressEvents=!0,null==(e=this._dgrid)||e.clearSelection();let s=!0;this.data().forEach((e,i)=>{var r,o;if(t.indexOf(e)>=0){const t=null==(r=this._dgrid)?void 0:r.row(i);t.element&&s&&(s=!1,t.element.scrollIntoView()),null==(o=this._dgrid)||o.select(i)}}),this._supressEvents=!1}enter(t,e){super.enter(t,e),this._dgridDiv=e.append("div").attr("class","flat")}update(t,e){super.update(t,e),this._store.renderHtml(this.renderHtml()),this._dgrid&&this._prevPaging===this.pagination()&&this._prevSortBy===this.sortBy()&&this._prevSortByDescending===this.sortByDescending()&&this._prevMultiSelect===this.multiSelect()||(this._prevPaging=this.pagination(),this._prevSortBy=this.sortBy(),this._prevSortByDescending=this.sortByDescending(),this._prevMultiSelect=this.multiSelect(),this._dgrid&&(this._dgrid.destroy(),this._dgridDiv=e.append("div").attr("class","flat")),this._dgrid=new(this._prevPaging?d:h)({columns:this._columns,collection:this._store,sort:this.formatSortBy(),selectionMode:this.multiSelect()?"extended":"single",deselectOnRefresh:!0,cellNavigation:!1,pagingLinks:1,pagingTextBox:!0,previousNextArrows:!0,firstLastArrows:!0,rowsPerPage:this.pageSize(),pageSizeOptions:[1,10,25,50,100,1e3]},this._dgridDiv.node()),this._dgrid.on("dgrid-select",t=>{this._supressEvents||t.rows&&t.rows.length&&t.rows[0].data&&this.click(this.rowToObj(t.rows[0].data.__origRow),"",!0,{selection:this.selection()})}),this._dgrid.on("dgrid-deselect",t=>{this._supressEvents||t.rows&&t.rows.length&&t.rows[0].data&&this.click(this.rowToObj(t.rows[0].data.__origRow),"",!1,{selection:this.selection()})}),this._dgrid.refresh({})),this._dgrid.noDataMessage=`<span class='dojoxGridNoData'>${this.noDataMessage()}</span>`,this._dgrid.loadingMessage=`<span class='dojoxGridNoData'>${this.loadingMessage()}</span>`,this._dgridDiv.style("width",this.width()+"px").style("height",this.height()-2+"px"),this._dgrid.resize()}exit(t,e){delete this._prevPaging,this._dgrid&&(this._dgrid.destroy(),delete this._dgrid),super.exit(t,e)}click(t,e,s,i){}};r(y,"Common");let v=y;v.prototype._class+=" dgrid_Common",v.prototype.publish("noDataMessage","...empty...","string","No Data Message"),v.prototype.publish("loadingMessage","loading...","string","Loading Message"),v.prototype.publish("pagination",!1,"boolean","Enable paging"),v.prototype.publish("pageSize",25,"number","Page size"),v.prototype.publish("sortable",!1,"boolean","Enable sorting by column"),v.prototype.publish("sortBy",null,"set","Default 'sort by' Column ID",function(){return this.columns()},{optional:!0}),v.prototype.publish("sortByDescending",!1,"boolean","Default 'sort by' descending",void 0,{disable:r(t=>!t.sortBy(),"disable")}),v.prototype.publish("multiSelect",!1,"boolean","Multiple Selection"),v.prototype.publish("renderHtml",!0,"boolean","Render HTML");const w=class _DatasourceCache{constructor(t){o(this,"_datasource"),o(this,"_prevHash"),o(this,"_fetchCache",{}),this._datasource=t}validateCache(){const t=this.hash();this._prevHash!==t&&(this._prevHash=t,this._fetchCache={})}id(){return this._datasource.id()}hash(){return this._datasource.hash()}label(){return this._datasource.label()}outFields(){return this._datasource.outFields()}total(){return this._datasource.total()}fetch(t,e){this.validateCache();const s=`${t}->${e}`;let i=this._fetchCache[s];return i||(i=this._datasource.fetch(t,e),this._fetchCache[s]=i),i}};r(w,"DatasourceCache");let D=w;const C=class _DatasourceStore{constructor(t,e){o(this,"_datasource"),o(this,"_columnsIdx",{}),o(this,"_columns"),o(this,"rowFormatter"),this._datasource=new D(t),this._columnsIdx={},this._columns=this.db2Columns(this._datasource.outFields()).map((t,e)=>(this._columnsIdx[t.field]=e,t)),this.rowFormatter=new f(this._columns,e)}columns(){return this._columns}db2Columns(t,e=""){return t?t.map((t,s)=>{const i={field:e+t.id,leafID:t.id,label:t.id,idx:s,className:"resultGridCell",sortable:!0,isSet:!1};return"dataset"===t.type?i.children=this.db2Columns(t.children,e+t.id+"_"):i.formatter=(t,e)=>"string"==typeof t?t.replace(/\t/g," "):t,i}):[]}getIdentity(t){return t.__hpcc_id}_request(t,e){if(!this._datasource)return Promise.resolve({totalLength:0,data:[]});return this._datasource.fetch(t,e-t).then(e=>({totalLength:this._datasource.total(),data:e.map((e,s)=>{const i=this.rowFormatter.format(e);return i.__hpcc_id=t+s,i.__origRow=e,i})}))}fetchRange(t){const e=new n;return this._request(t.start,t.end).then(t=>e.resolve(t)),new a(e.then(t=>t.data),{totalLength:e.then(t=>t.totalLength)})}};r(C,"DatasourceStore");let R=C;const x=class _DatasourceTable extends v{constructor(){super(),o(this,"_prevDatasource")}invalidate(){return delete this._prevDatasource,this}enter(t,e){super.enter(t,e)}update(t,e){super.update(t,e)}render(t){return super.render(e=>{if(this._prevDatasource!==this.datasource())if(this._dgrid.set("collection",new l),this._dgrid.set("columns",[]),this._prevDatasource=this.datasource(),this._prevDatasource){const s=new R(this._prevDatasource,this.renderHtml());this._dgrid.set("columns",s.columns()),this._dgrid.set("collection",s),t&&t(e)}else t&&t(e);else t&&t(e)})}click(t,e,s){}};r(x,"DatasourceTable");let S=x;S.prototype._class+=" dgrid_DatasourceTable",S.prototype.publish("datasource",null,"object","Datasource");const j=class _ColumnFormat extends e.PropertyExt{constructor(){super(),o(this,"_owner")}owner(t){return arguments.length?(this._owner=t,this):this._owner}valid(){return!!this.column()}formatterFunc(){const t=this._owner.formatterFunc();if(this.valid()&&this.format()){const s=e.format(this.format());return function(e,i){return"number"==typeof e?s(e):t.call(this,e,i)}}return t}renderCellFunc(){const t=this._owner.renderCellFunc(),s=this.formatterFunc();if(this.valid()&&this.paletteID()){const i=this._owner.columns(),r=e.Palette.rainbow(this.paletteID()),o=this.min(),n=this.max(),l=this.valueColumn()?i.indexOf(this.valueColumn()):void 0;return function(i,a,h){t&&t.call(this,i,a,h);const d=l?i.__origRow[l]:a,c=r(d,o,n),u=s.call(this,a,i);e.select(h).style("background",c).style("color",c&&e.Palette.textColor(c)).text((null==u?void 0:u.html)??u??a)}}return t}};r(j,"ColumnFormat");let F=j;F.prototype._class+=" dgrid_Table.ColumnFormat",F.prototype.publish("column",null,"set","Column",function(){return this._owner.columns()},{optional:!0}),F.prototype.publish("width",null,"number","Width",null,{optional:!0}),F.prototype.publish("format",null,"string","Format (d3-format)",null,{optional:!0}),F.prototype.publish("paletteID",null,"set","Color palette for this widget",["",...e.Palette.rainbow("default").switch()],{optional:!0}),F.prototype.publish("min",0,"number","Min Value",null,{disable:r(t=>!t.paletteID(),"disable")}),F.prototype.publish("max",100,"number","Max Value",null,{disable:r(t=>!t.paletteID(),"disable")}),F.prototype.publish("valueColumn",null,"set","Column",function(){return this._owner.columns()},{optional:!0,disable:r(t=>!t.paletteID(),"disable")});const H=class _Table extends v{constructor(){super(),o(this,"_prevColsHash"),o(this,"_prevFieldsHash"),o(this,"_colsRefresh",!1),o(this,"_dataRefresh",!1),o(this,"_prevHash")}fields(t){const e=super.fields.apply(this,arguments);if(arguments.length){const e=s.hashSum({_:t});this._prevFieldsHash!==e&&(this._prevFieldsHash=e,this._colsRefresh=!0)}return e}columns(t,e){const i=super.columns.apply(this,arguments);if(arguments.length){const e=s.hashSum({_:t});this._prevColsHash!==e&&(this._prevColsHash=e,this._colsRefresh=!0)}return i}data(t){const e=super.data.apply(this,arguments);return arguments.length&&(this._dataRefresh=!0),e}enter(t,e){super.enter(t,e)}guessWidth(t,e){const s=this.sortable()?12:0;for(const i of t)if(i.children){let t=[];for(let s=0;s<Math.min(3,e.length);++s)t=t.concat(e[s][i.idx]);this.guessWidth(i.children,t)}else i.width=e.reduce((t,e)=>{const s=(""+e[i.idx]).trim();return Math.max(t,this.textSize(s).width)},this.textSize(""+i.label,void 0,void 0,!0).width+s)+8}update(t,e){super.update(t,e);const s=this.hashSum();if(this._prevHash!==s&&(this._prevHash=s,this._colsRefresh=!0),this._colsRefresh){if(this._columns=this._store.columns(this.sortable(),this.formatterFunc(),this.renderCellFunc()),"auto"===this.columnWidth()){const t=this.data().filter((t,e)=>e<10);this.guessWidth(this._columns,t)}const t=this.columns();for(const e of this.columnFormats())if(e.valid()){const s=t.indexOf(e.column());this._columns[s]&&(this._columns[s].hidden=0===e.width(),this._columns[s].width=e.width()||this._columns[s].width,this._columns[s].formatter=e.formatterFunc(),this._columns[s].renderCell=e.renderCellFunc())}this._dgrid.set("columns",this._columns.filter(t=>!t.hidden)),this._colsRefresh=!1}(this._colsRefresh||this._dataRefresh)&&(this._colsRefresh?this._dgrid.refresh({}):this._dgrid.refresh(),this._colsRefresh=!1,this._dataRefresh=!1)}exit(t,e){delete this._prevColsHash,delete this._prevFieldsHash,super.exit(t,e)}formatterFunc(){return function(t,e){switch(typeof t){case"string":return{html:t.replace(/\t/g," ").trim()};case"undefined":return""}return t}}renderCellFunc(){}click(t,e,s){}};r(H,"Table");let I=H;I.prototype._class+=" dgrid_Table",I.prototype.publish("columnWidth","auto","set","Default column width",["auto","none"]),I.prototype.publish("columnFormats",[],"propertyArray","Source Columns",null,{autoExpand:F}),t.BUILD_VERSION="3.2.1",t.ColumnFormat=F,t.Common=v,t.DBStore=b,t.DatasourceCache=D,t.DatasourceStore=R,t.DatasourceTable=S,t.Deferred=n,t.Grid=h,t.Memory=l,t.PKG_NAME="@hpcc-js/dgrid",t.PKG_VERSION="3.1.0",t.PagingGrid=d,t.QueryResults=a,t.RowFormatter=f,t.Table=I,t.domConstruct=c,Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@hpcc-js/common"),require("@hpcc-js/util")):"function"==typeof define&&define.amd?define(["exports","@hpcc-js/common","@hpcc-js/util"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self)["@hpcc-js/dgrid"]={},t["@hpcc-js/common"],t["@hpcc-js/util"])}(this,function(t,e,s){"use strict";var r=Object.defineProperty,i=(t,e)=>r(t,"name",{value:e,configurable:!0});globalThis["@hpcc-js/dgrid-shim"]||console.error('dgrid-shim not loaded, please add `<script src="https://cdn.jsdelivr.net/npm/@hpcc-js/dgrid-shim/dist/index.min.js"><\/script>` or similar to your HTML file');const o=globalThis["@hpcc-js/dgrid-shim"].Deferred,n=globalThis["@hpcc-js/dgrid-shim"].Memory,l=globalThis["@hpcc-js/dgrid-shim"].QueryResults,a=globalThis["@hpcc-js/dgrid-shim"].Grid,h=globalThis["@hpcc-js/dgrid-shim"].PagingGrid,c=globalThis["@hpcc-js/dgrid-shim"].domConstruct;function d(t){return String(t).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}function u(t){switch(Object.prototype.toString.call(t)){case"[object Undefined]":case"[object Boolean]":case"[object Number]":return t;case"[object String]":return d(t);default:console.warn("Unknown cell type: "+Object.prototype.toString.call(t))}return t}function p(t){return t instanceof Array}i(d,"entitiesEncode"),i(u,"safeEncode"),i(p,"isArray");const _=class _RowFormatter{constructor(t,e){this._renderHtml=e,this._columns=t,this.flattenColumns(t)}_columns;_flattenedColumns=[];_columnIdx={};_formattedRow={};flattenColumns(t){for(const e of t)this.flattenColumn(e)}flattenColumn(t){if(t.children)for(const e of t.children)this.flattenColumn(e);else this._columnIdx[t.field]=this._flattenedColumns.length,this._flattenedColumns.push(t.field)}format(t){return this._formattedRow={},this.formatRow(this._columns,t),this.row()}calcDepth(t,e){let s=1;for(const r of t)if(r.children&&e[r.leafID]){let t=0,i=[];p(e[r.leafID])?i=e[r.leafID]:p(e[r.leafID].Row)&&(i=e[r.leafID].Row);for(const e of i)t+=this.calcDepth(r.children,e);s=Math.max(s,t)}return s}formatCell(t,e,s){if(t.children){let s=0;p(e)||(e=p(e.Row)?e.Row:[e]);for(const r of e)s=Math.max(s,this.formatRow(t.children,r))}else if(t.isSet&&(e=JSON.stringify(e.Item)),void 0===this._formattedRow[t.field]?this._formattedRow[t.field]=""+(void 0===e?"":this._renderHtml?e:u(e)):(this._formattedRow[t.field]+="<br><hr class='dgrid-fakeline'>",this._formattedRow[t.field]+=""+(void 0===e?"":this._renderHtml?e:u(e))),s>1){const e=[];e.length=s;const r=e.join("<br><hr class='dgrid-fakeline' style='visibility: hidden'>");this._formattedRow[t.field]+=r}}formatRow(t,e=[],s=0){const r=this.calcDepth(t,e);for(const i of t)this.formatCell(i,e[i.leafID],r);return r}row(){const t={};for(const e of this._flattenedColumns)t[e]=this._formattedRow[e];return t}};i(_,"RowFormatter");let m=_;const f=class _DBStore{_db;Model;idProperty;constructor(t){this._db=t}_renderHtml=!0;renderHtml(t){this._renderHtml=t}db2Columns(t,e,s="",r,i){return e?e.map((e,o)=>{const n={label:e.label(),leafID:""+o,field:s+o,idx:o,className:"resultGridCell",sortable:t,isSet:!1};if("nested"===e.type())n.children=this.db2Columns(!1,e.children(),s+o+"_",r),n.sortable=!1;else n.formatter=r,n.renderCell=i;return n}):[]}columns(t,e,s){return this.db2Columns(t,this._db.fields(),"",e,s)}getIdentity(t){return t.__hpcc_id}get(t){return this._db.row(t+1)}_fetchRange(t){const e=new m(this.columns(!1),this._renderHtml);return this._db.data().slice(t.start,t.end).map((s,r)=>({...e.format(s),__hpcc_id:t.start+r,__origRow:s}))}fetchRange(t){const e=this._fetchRange(t),s=new o;return s.totalLength=new o,s.resolve(e),s.totalLength.resolve(this._db.length()-1),s}sort(t){return this._db.data().sort((e,s)=>{for(const r of t){const t=r.property;if(void 0===e[t]&&void 0!==s[t]||e[t]<s[t])return r.descending?1:-1;if(void 0!==e[t]&&void 0===s[t]||e[t]>s[t])return r.descending?-1:1}return 0}),this}};i(f,"DBStore");let g=f;const b=class _Common extends e.HTMLWidget{_columns=[];_store=new g(this._db);_dgridDiv;_dgrid;_prevPaging;_prevSortBy;_prevSortByDescending;_prevMultiSelect;constructor(){super(),this._tag="div"}formatSortBy(){const t=this.columns().indexOf(this.sortBy());return t>=0?[{property:t.toString(),descending:this.sortByDescending()}]:void 0}_supressEvents;selection(t){if(!arguments.length){const t=[];for(const e in this._dgrid.selection)if(this._dgrid.selection[e]){const s=this._store.get(+e);t.push(this.rowToObj(s))}return t}this._supressEvents=!0,this._dgrid?.clearSelection();let e=!0;this.data().forEach((s,r)=>{if(t.indexOf(s)>=0){const t=this._dgrid?.row(r);t.element&&e&&(e=!1,t.element.scrollIntoView()),this._dgrid?.select(r)}}),this._supressEvents=!1}enter(t,e){super.enter(t,e),this._dgridDiv=e.append("div").attr("class","flat")}update(t,e){super.update(t,e),this._store.renderHtml(this.renderHtml()),this._dgrid&&this._prevPaging===this.pagination()&&this._prevSortBy===this.sortBy()&&this._prevSortByDescending===this.sortByDescending()&&this._prevMultiSelect===this.multiSelect()||(this._prevPaging=this.pagination(),this._prevSortBy=this.sortBy(),this._prevSortByDescending=this.sortByDescending(),this._prevMultiSelect=this.multiSelect(),this._dgrid&&(this._dgrid.destroy(),this._dgridDiv=e.append("div").attr("class","flat")),this._dgrid=new(this._prevPaging?h:a)({columns:this._columns,collection:this._store,sort:this.formatSortBy(),selectionMode:this.multiSelect()?"extended":"single",deselectOnRefresh:!0,cellNavigation:!1,pagingLinks:1,pagingTextBox:!0,previousNextArrows:!0,firstLastArrows:!0,rowsPerPage:this.pageSize(),pageSizeOptions:[1,10,25,50,100,1e3]},this._dgridDiv.node()),this._dgrid.on("dgrid-select",t=>{this._supressEvents||t.rows&&t.rows.length&&t.rows[0].data&&this.click(this.rowToObj(t.rows[0].data.__origRow),"",!0,{selection:this.selection()})}),this._dgrid.on("dgrid-deselect",t=>{this._supressEvents||t.rows&&t.rows.length&&t.rows[0].data&&this.click(this.rowToObj(t.rows[0].data.__origRow),"",!1,{selection:this.selection()})}),this._dgrid.refresh({})),this._dgrid.noDataMessage=`<span class='dojoxGridNoData'>${this.noDataMessage()}</span>`,this._dgrid.loadingMessage=`<span class='dojoxGridNoData'>${this.loadingMessage()}</span>`,this._dgridDiv.style("width",this.width()+"px").style("height",this.height()-2+"px"),this._dgrid.resize()}exit(t,e){delete this._prevPaging,this._dgrid&&(this._dgrid.destroy(),delete this._dgrid),super.exit(t,e)}click(t,e,s,r){}};i(b,"Common");let y=b;y.prototype._class+=" dgrid_Common",y.prototype.publish("noDataMessage","...empty...","string","No Data Message"),y.prototype.publish("loadingMessage","loading...","string","Loading Message"),y.prototype.publish("pagination",!1,"boolean","Enable paging"),y.prototype.publish("pageSize",25,"number","Page size"),y.prototype.publish("sortable",!1,"boolean","Enable sorting by column"),y.prototype.publish("sortBy",null,"set","Default 'sort by' Column ID",function(){return this.columns()},{optional:!0}),y.prototype.publish("sortByDescending",!1,"boolean","Default 'sort by' descending",void 0,{disable:i(t=>!t.sortBy(),"disable")}),y.prototype.publish("multiSelect",!1,"boolean","Multiple Selection"),y.prototype.publish("renderHtml",!0,"boolean","Render HTML");const w=class _DatasourceCache{_datasource;_prevHash;_fetchCache={};constructor(t){this._datasource=t}validateCache(){const t=this.hash();this._prevHash!==t&&(this._prevHash=t,this._fetchCache={})}id(){return this._datasource.id()}hash(){return this._datasource.hash()}label(){return this._datasource.label()}outFields(){return this._datasource.outFields()}total(){return this._datasource.total()}fetch(t,e){this.validateCache();const s=`${t}->${e}`;let r=this._fetchCache[s];return r||(r=this._datasource.fetch(t,e),this._fetchCache[s]=r),r}};i(w,"DatasourceCache");let v=w;const D=class _DatasourceStore{_datasource;_columnsIdx={};_columns;rowFormatter;constructor(t,e){this._datasource=new v(t),this._columnsIdx={},this._columns=this.db2Columns(this._datasource.outFields()).map((t,e)=>(this._columnsIdx[t.field]=e,t)),this.rowFormatter=new m(this._columns,e)}columns(){return this._columns}db2Columns(t,e=""){return t?t.map((t,s)=>{const r={field:e+t.id,leafID:t.id,label:t.id,idx:s,className:"resultGridCell",sortable:!0,isSet:!1};return"dataset"===t.type?r.children=this.db2Columns(t.children,e+t.id+"_"):r.formatter=(t,e)=>"string"==typeof t?t.replace(/\t/g," "):t,r}):[]}getIdentity(t){return t.__hpcc_id}_request(t,e){if(!this._datasource)return Promise.resolve({totalLength:0,data:[]});return this._datasource.fetch(t,e-t).then(e=>({totalLength:this._datasource.total(),data:e.map((e,s)=>{const r=this.rowFormatter.format(e);return r.__hpcc_id=t+s,r.__origRow=e,r})}))}fetchRange(t){const e=new o;return this._request(t.start,t.end).then(t=>e.resolve(t)),new l(e.then(t=>t.data),{totalLength:e.then(t=>t.totalLength)})}};i(D,"DatasourceStore");let C=D;const R=class _DatasourceTable extends y{_prevDatasource;constructor(){super()}invalidate(){return delete this._prevDatasource,this}enter(t,e){super.enter(t,e)}update(t,e){super.update(t,e)}render(t){return super.render(e=>{if(this._prevDatasource!==this.datasource())if(this._dgrid.set("collection",new n),this._dgrid.set("columns",[]),this._prevDatasource=this.datasource(),this._prevDatasource){const s=new C(this._prevDatasource,this.renderHtml());this._dgrid.set("columns",s.columns()),this._dgrid.set("collection",s),t&&t(e)}else t&&t(e);else t&&t(e)})}click(t,e,s){}};i(R,"DatasourceTable");let x=R;x.prototype._class+=" dgrid_DatasourceTable",x.prototype.publish("datasource",null,"object","Datasource");const S=class _ColumnFormat extends e.PropertyExt{_owner;constructor(){super()}owner(t){return arguments.length?(this._owner=t,this):this._owner}valid(){return!!this.column()}formatterFunc(){const t=this._owner.formatterFunc();if(this.valid()&&this.format()){const s=e.format(this.format());return function(e,r){return"number"==typeof e?s(e):t.call(this,e,r)}}return t}renderCellFunc(){const t=this._owner.renderCellFunc(),s=this.formatterFunc();if(this.valid()&&this.paletteID()){const r=this._owner.columns(),i=e.Palette.rainbow(this.paletteID()),o=this.min(),n=this.max(),l=this.valueColumn()?r.indexOf(this.valueColumn()):void 0;return function(r,a,h){t&&t.call(this,r,a,h);const c=l?r.__origRow[l]:a,d=i(c,o,n),u=s.call(this,a,r);e.select(h).style("background",d).style("color",d&&e.Palette.textColor(d)).text(u?.html??u??a)}}return t}};i(S,"ColumnFormat");let j=S;j.prototype._class+=" dgrid_Table.ColumnFormat",j.prototype.publish("column",null,"set","Column",function(){return this._owner.columns()},{optional:!0}),j.prototype.publish("width",null,"number","Width",null,{optional:!0}),j.prototype.publish("format",null,"string","Format (d3-format)",null,{optional:!0}),j.prototype.publish("paletteID",null,"set","Color palette for this widget",["",...e.Palette.rainbow("default").switch()],{optional:!0}),j.prototype.publish("min",0,"number","Min Value",null,{disable:i(t=>!t.paletteID(),"disable")}),j.prototype.publish("max",100,"number","Max Value",null,{disable:i(t=>!t.paletteID(),"disable")}),j.prototype.publish("valueColumn",null,"set","Column",function(){return this._owner.columns()},{optional:!0,disable:i(t=>!t.paletteID(),"disable")});const F=class _Table extends y{_prevColsHash;_prevFieldsHash;_colsRefresh=!1;_dataRefresh=!1;constructor(){super()}fields(t){const e=super.fields.apply(this,arguments);if(arguments.length){const e=s.hashSum({_:t});this._prevFieldsHash!==e&&(this._prevFieldsHash=e,this._colsRefresh=!0)}return e}columns(t,e){const r=super.columns.apply(this,arguments);if(arguments.length){const e=s.hashSum({_:t});this._prevColsHash!==e&&(this._prevColsHash=e,this._colsRefresh=!0)}return r}data(t){const e=super.data.apply(this,arguments);return arguments.length&&(this._dataRefresh=!0),e}enter(t,e){super.enter(t,e)}guessWidth(t,e){const s=this.sortable()?12:0;for(const r of t)if(r.children){let t=[];for(let s=0;s<Math.min(3,e.length);++s)t=t.concat(e[s][r.idx]);this.guessWidth(r.children,t)}else r.width=e.reduce((t,e)=>{const s=(""+e[r.idx]).trim();return Math.max(t,this.textSize(s).width)},this.textSize(""+r.label,void 0,void 0,!0).width+s)+8}_prevHash;update(t,e){super.update(t,e);const s=this.hashSum();if(this._prevHash!==s&&(this._prevHash=s,this._colsRefresh=!0),this._colsRefresh){if(this._columns=this._store.columns(this.sortable(),this.formatterFunc(),this.renderCellFunc()),"auto"===this.columnWidth()){const t=this.data().filter((t,e)=>e<10);this.guessWidth(this._columns,t)}const t=this.columns();for(const e of this.columnFormats())if(e.valid()){const s=t.indexOf(e.column());this._columns[s]&&(this._columns[s].hidden=0===e.width(),this._columns[s].width=e.width()||this._columns[s].width,this._columns[s].formatter=e.formatterFunc(),this._columns[s].renderCell=e.renderCellFunc())}this._dgrid.set("columns",this._columns.filter(t=>!t.hidden)),this._colsRefresh=!1}(this._colsRefresh||this._dataRefresh)&&(this._colsRefresh?this._dgrid.refresh({}):this._dgrid.refresh(),this._colsRefresh=!1,this._dataRefresh=!1)}exit(t,e){delete this._prevColsHash,delete this._prevFieldsHash,super.exit(t,e)}formatterFunc(){return function(t,e){switch(typeof t){case"string":return{html:t.replace(/\t/g," ").trim()};case"undefined":return""}return t}}renderCellFunc(){}click(t,e,s){}};i(F,"Table");let H=F;H.prototype._class+=" dgrid_Table",H.prototype.publish("columnWidth","auto","set","Default column width",["auto","none"]),H.prototype.publish("columnFormats",[],"propertyArray","Source Columns",null,{autoExpand:j}),t.BUILD_VERSION="3.2.1",t.ColumnFormat=j,t.Common=y,t.DBStore=g,t.DatasourceCache=v,t.DatasourceStore=C,t.DatasourceTable=x,t.Deferred=o,t.Grid=a,t.Memory=n,t.PKG_NAME="@hpcc-js/dgrid",t.PKG_VERSION="3.1.0",t.PagingGrid=h,t.QueryResults=l,t.RowFormatter=m,t.Table=H,t.domConstruct=c,Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})});
|
|
2
2
|
//# sourceMappingURL=index.umd.cjs.map
|
|
3
|
-
!function(){"use strict";try{if("undefined"!=typeof document){var i=document.createElement("style");i.appendChild(document.createTextNode(".dijitTooltip{position:absolute;z-index:2000;display:block;left:0;top:-10000px;overflow:visible;font-family:Verdana,Geneva,sans-serif;font-size:12px}.dijitTooltipContainer{border:solid black 2px;background:#b8b5b5;color:#000;font-size:small}.dijitTooltipFocusNode{padding:2px}.dijitTooltipConnector{position:absolute}.dj_a11y .dijitTooltipConnector,.dijitTooltipData{display:none}.dijitTooltip{background:transparent}.dijitTooltipContainer{background-color:#424242;opacity:1;-ms-filter:none;filter:none;padding:4px 8px;border-radius:3px}.dijitTooltip .dijitTooltipContainer{color:#fff;border:0 none}.dijitTooltipConnector{z-index:2;width:auto;height:auto;opacity:1;-ms-filter:none;filter:none}.dijitTooltipABRight .dijitTooltipConnector{left:auto!important;right:8px}.dijitTooltipBelow{padding-top:4px}.dijitTooltipBelow .dijitTooltipConnector{top:0;left:8px;border-bottom:4px solid #424242;border-left:4px solid transparent;border-right:4px solid transparent;border-top:0}.dijitTooltipAbove{padding-bottom:4px}.dijitTooltipAbove .dijitTooltipConnector{bottom:0;left:8px;border-top:4px solid #424242;border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:0}.dijitTooltipLeft{padding-right:4px}.dijitTooltipLeft .dijitTooltipConnector{right:0;border-left:4px solid #424242;border-bottom:4px solid transparent;border-top:4px solid transparent;border-right:0}.dijitTooltipRight{padding-left:4px}.dijitTooltipRight .dijitTooltipConnector{left:0;border-bottom:4px solid transparent;border-top:4px solid transparent;border-right:4px solid #424242}.dgrid{position:relative;overflow:hidden;border:1px solid #ddd;height:30em;display:block}.dgrid-header{background-color:#eee}.dgrid-header-row{position:absolute;right:17px;left:0}.dgrid-header-scroll{position:absolute;top:0;right:0}.dgrid-footer{position:absolute;bottom:0;width:100%}.dgrid-header-hidden{font-size:0;height:0!important;border-top:none!important;border-bottom:none!important;margin-top:0!important;margin-bottom:0!important;padding-top:0!important;padding-bottom:0!important}.dgrid-footer-hidden{display:none}.dgrid-sortable{cursor:pointer}.dgrid-header,.dgrid-header-row,.dgrid-footer{overflow:hidden;background-color:#eee}.dgrid-row-table{border-collapse:collapse;border:none;table-layout:fixed;empty-cells:show;width:100%;height:100%}.dgrid-cell{padding:3px;text-align:left;overflow:hidden;vertical-align:top;border:1px solid #ddd;border-top-style:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;text-overflow:ellipsis;white-space:nowrap}.dgrid-content{position:relative;height:99%}.dgrid-scroller{overflow-x:auto;overflow-y:scroll;position:absolute;top:0;margin-top:25px;bottom:0;width:100%}.dgrid-preload{font-size:0;line-height:0}.dgrid-loading{position:relative;height:100%}.dgrid-above{position:absolute;bottom:0}.ui-icon{width:12px;height:16px;background-image:url(data:image/png;base64,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)}.dgrid-sort-arrow{background-position:-64px -16px;display:block;float:right;margin:0 4px 0 5px;height:12px}.dgrid-sort-up .dgrid-sort-arrow{background-position:0px -16px}.dgrid-selected{background-color:#bbb}.dgrid-input{width:99%}html.has-mozilla .dgrid .dgrid-row:focus,html.has-mozilla .dgrid .dgrid-cell:focus{outline:1px dotted}html.has-mozilla .dgrid-focus{outline-offset:-1px}.dgrid-scrollbar-measure{width:100px;height:100px;overflow:scroll;position:absolute;top:-9999px}.dgrid-autoheight{height:auto}.dgrid-autoheight .dgrid-scroller{position:relative;overflow-y:hidden}.dgrid-autoheight .dgrid-header-scroll{display:none}.dgrid-autoheight .dgrid-header{right:0}.dgrid-column-set{overflow:hidden;width:100%;position:relative;height:100%;-ms-touch-action:pan-y;touch-action:pan-y}.dgrid-column-set-cell{vertical-align:top;height:100%}.dgrid-column-set-scroller-container{font-size:0;position:absolute;bottom:0}.dgrid-autoheight .dgrid-column-set-scroller-container{position:relative}.dgrid-column-set-scroller{display:inline-block;overflow-x:auto;overflow-y:hidden}.dgrid-column-set-scroller-content{height:1px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.dgrid-expando-icon{width:16px;height:16px}.dgrid-tree-container{-webkit-transition-duration:.3s;-moz-transition-duration:.3s;-o-transition-duration:.3s;-ms-transition-duration:.3s;transition-duration:.3s;overflow:hidden}.dgrid-tree-container.dgrid-tree-resetting{-webkit-transition-duration:0;-moz-transition-duration:0;-o-transition-duration:0;-ms-transition-duration:0;transition-duration:0}.dgrid-hider-toggle{background-position:0 -192px;background-color:transparent;border:none;cursor:pointer;position:absolute;right:0;top:0}.dgrid-rtl-swap .dgrid-hider-toggle{right:auto;left:0}.dgrid-hider-menu{position:absolute;top:0;right:17px;width:184px;background-color:#fff;border:1px solid #000;z-index:99999;padding:4px;overflow-x:hidden;overflow-y:auto}.dgrid-rtl-swap .dgrid-hider-menu{right:auto;left:17px}.dgrid-hider-menu-row{position:relative;padding:2px}.dgrid-hider-menu-check{position:absolute;top:2px;left:2px;padding:0}.dgrid-hider-menu-label{display:block;padding-left:20px}.dgrid-header .dojoDndTarget .dgrid-cell{display:table-cell}.dgrid-header .dojoDndItemBefore{border-left:2px dotted #000!important}.dgrid-header .dojoDndItemAfter{border-right:2px dotted #000!important}.dgrid-column-resizer{cursor:col-resize;position:absolute;width:2px;background-color:#666;z-index:1000}.dgrid-resize-handle{height:100px;width:0;position:absolute;right:-4px;top:-4px;cursor:col-resize;z-index:999;border-left:5px solid transparent;outline:none}.dgrid-resize-header-container{height:100%}.dgrid-resize-guard{cursor:col-resize;position:absolute;bottom:0;left:0;right:0;top:0}html.has-touch .dgrid-resize-handle{border-left:20px solid transparent}html.has-touch .dgrid-column-resizer{width:2px}.dgrid-resize-header-container{position:relative}.dgrid-header .dgrid-cell{overflow:hidden}.dgrid-spacer-row{height:0}.dgrid-spacer-row th{padding-top:0;padding-bottom:0;border-top:none;border-bottom:none}.dgrid-status{padding:2px}.dgrid-pagination .dgrid-status{float:left}.dgrid-pagination .dgrid-navigation,.dgrid-pagination .dgrid-page-size{float:right}.dgrid-navigation .dgrid-page-link{cursor:pointer;font-weight:700;text-decoration:none;color:inherit;padding:0 4px}.dgrid-first,.dgrid-last,.dgrid-next,.dgrid-previous{font-size:130%}.dgrid-pagination .dgrid-page-disabled{color:#aaa;cursor:default}.dgrid-page-input{margin-top:1px;width:2em;text-align:center}.dgrid-page-size{margin:1px 4px 0}.dgrid-rtl-swap .dgrid-header-row{right:0;left:17px}.dgrid-rtl-swap .dgrid-header-scroll{left:0;right:auto}.dgrid-rtl .dgrid-cell{text-align:right}.dgrid-rtl .dgrid-sort-arrow{float:left;margin:0 5px 0 4px}.dgrid-rtl .ui-icon-triangle-1-e{background-position:-96px -16px}.dgrid-rtl .ui-icon-triangle-1-se{background-position:-80px -16px}.dgrid-rtl .dgrid-pagination .dgrid-status,.dgrid-rtl .dgrid-pagination .dgrid-page-size{float:right}.dgrid-rtl .dgrid-pagination .dgrid-navigation{float:left}.dgrid-rtl.dgrid-autoheight .dgrid-header{left:0}.dgrid_Table .placeholder{border:none;padding:0;overflow:hidden}.dgrid_Table .dgrid-fakeline{border:0px;border-bottom:1px solid rgb(221,221,221);margin:2px -3px}.dgrid_Table .dgrid-sortable .dgrid-sort-arrow.ui-icon{margin:0}")),document.head.appendChild(i)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}}();
|
|
3
|
+
!function(){"use strict";try{if("undefined"!=typeof document){var i=document.createElement("style");i.appendChild(document.createTextNode(".dijitTooltip{position:absolute;z-index:2000;display:block;left:0;top:-10000px;overflow:visible;font-family:Verdana,Geneva,sans-serif;font-size:12px}.dijitTooltipContainer{border:solid black 2px;background:#b8b5b5;color:#000;font-size:small}.dijitTooltipFocusNode{padding:2px}.dijitTooltipConnector{position:absolute}.dj_a11y .dijitTooltipConnector,.dijitTooltipData{display:none}.dijitTooltip{background:transparent}.dijitTooltipContainer{background-color:#424242;opacity:1;-ms-filter:none;filter:none;padding:4px 8px;border-radius:3px}.dijitTooltip .dijitTooltipContainer{color:#fff;border:0 none}.dijitTooltipConnector{z-index:2;width:auto;height:auto;opacity:1;-ms-filter:none;filter:none}.dijitTooltipABRight .dijitTooltipConnector{left:auto!important;right:8px}.dijitTooltipBelow{padding-top:4px}.dijitTooltipBelow .dijitTooltipConnector{top:0;left:8px;border-bottom:4px solid #424242;border-left:4px solid transparent;border-right:4px solid transparent;border-top:0}.dijitTooltipAbove{padding-bottom:4px}.dijitTooltipAbove .dijitTooltipConnector{bottom:0;left:8px;border-top:4px solid #424242;border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:0}.dijitTooltipLeft{padding-right:4px}.dijitTooltipLeft .dijitTooltipConnector{right:0;border-left:4px solid #424242;border-bottom:4px solid transparent;border-top:4px solid transparent;border-right:0}.dijitTooltipRight{padding-left:4px}.dijitTooltipRight .dijitTooltipConnector{left:0;border-bottom:4px solid transparent;border-top:4px solid transparent;border-right:4px solid #424242}.dgrid{position:relative;overflow:hidden;border:1px solid #ddd;height:30em;display:block}.dgrid-header{background-color:#eee}.dgrid-header-row{position:absolute;right:17px;left:0}.dgrid-header-scroll{position:absolute;top:0;right:0}.dgrid-footer{position:absolute;bottom:0;width:100%}.dgrid-header-hidden{font-size:0;height:0!important;border-top:none!important;border-bottom:none!important;margin-top:0!important;margin-bottom:0!important;padding-top:0!important;padding-bottom:0!important}.dgrid-footer-hidden{display:none}.dgrid-sortable{cursor:pointer}.dgrid-header,.dgrid-header-row,.dgrid-footer{overflow:hidden;background-color:#eee}.dgrid-row-table{border-collapse:collapse;border:none;table-layout:fixed;empty-cells:show;width:100%;height:100%}.dgrid-cell{padding:3px;text-align:left;overflow:hidden;vertical-align:top;border:1px solid #ddd;border-top-style:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;text-overflow:ellipsis;white-space:nowrap}.dgrid-content{position:relative;height:99%}.dgrid-scroller{overflow-x:auto;overflow-y:scroll;position:absolute;top:0;margin-top:25px;bottom:0;width:100%}.dgrid-preload{font-size:0;line-height:0}.dgrid-loading{position:relative;height:100%}.dgrid-above{position:absolute;bottom:0}.ui-icon{width:12px;height:16px;background-image:url(data:image/png;base64,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)}.dgrid-sort-arrow{background-position:-64px -16px;display:block;float:right;margin:0 4px 0 5px;height:12px}.dgrid-sort-up .dgrid-sort-arrow{background-position:0px -16px}.dgrid-selected{background-color:#bbb}.dgrid-input{width:99%}html.has-mozilla .dgrid .dgrid-row:focus,html.has-mozilla .dgrid .dgrid-cell:focus{outline:1px dotted}html.has-mozilla .dgrid-focus{outline-offset:-1px}.dgrid-scrollbar-measure{width:100px;height:100px;overflow:scroll;position:absolute;top:-9999px}.dgrid-autoheight{height:auto}.dgrid-autoheight .dgrid-scroller{position:relative;overflow-y:hidden}.dgrid-autoheight .dgrid-header-scroll{display:none}.dgrid-autoheight .dgrid-header{right:0}.dgrid-column-set{overflow:hidden;width:100%;position:relative;height:100%;-ms-touch-action:pan-y;touch-action:pan-y}.dgrid-column-set-cell{vertical-align:top;height:100%}.dgrid-column-set-scroller-container{font-size:0;position:absolute;bottom:0}.dgrid-autoheight .dgrid-column-set-scroller-container{position:relative}.dgrid-column-set-scroller{display:inline-block;overflow-x:auto;overflow-y:hidden}.dgrid-column-set-scroller-content{height:1px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.dgrid-expando-icon{width:16px;height:16px}.dgrid-tree-container{-webkit-transition-duration:.3s;-moz-transition-duration:.3s;-o-transition-duration:.3s;-ms-transition-duration:.3s;transition-duration:.3s;overflow:hidden}.dgrid-tree-container.dgrid-tree-resetting{-webkit-transition-duration:0;-moz-transition-duration:0;-o-transition-duration:0;-ms-transition-duration:0;transition-duration:0}.dgrid-hider-toggle{background-position:0 -192px;background-color:transparent;border:none;cursor:pointer;position:absolute;right:0;top:0}.dgrid-rtl-swap .dgrid-hider-toggle{right:auto;left:0}.dgrid-hider-menu{position:absolute;top:0;right:17px;width:184px;background-color:#fff;border:1px solid #000;z-index:99999;padding:4px;overflow-x:hidden;overflow-y:auto}.dgrid-rtl-swap .dgrid-hider-menu{right:auto;left:17px}.dgrid-hider-menu-row{position:relative;padding:2px}.dgrid-hider-menu-check{position:absolute;top:2px;left:2px;padding:0}.dgrid-hider-menu-label{display:block;padding-left:20px}.dgrid-header .dojoDndTarget .dgrid-cell{display:table-cell}.dgrid-header .dojoDndItemBefore{border-left:2px dotted #000!important}.dgrid-header .dojoDndItemAfter{border-right:2px dotted #000!important}.dgrid-column-resizer{cursor:col-resize;position:absolute;width:2px;background-color:#666;z-index:1000}.dgrid-resize-handle{height:100px;width:0;position:absolute;right:-4px;top:-4px;cursor:col-resize;z-index:999;border-left:5px solid transparent;outline:none}.dgrid-resize-header-container{height:100%}.dgrid-resize-guard{cursor:col-resize;position:absolute;inset:0}html.has-touch .dgrid-resize-handle{border-left:20px solid transparent}html.has-touch .dgrid-column-resizer{width:2px}.dgrid-resize-header-container{position:relative}.dgrid-header .dgrid-cell{overflow:hidden}.dgrid-spacer-row{height:0}.dgrid-spacer-row th{padding-top:0;padding-bottom:0;border-top:none;border-bottom:none}.dgrid-status{padding:2px}.dgrid-pagination .dgrid-status{float:left}.dgrid-pagination .dgrid-navigation,.dgrid-pagination .dgrid-page-size{float:right}.dgrid-navigation .dgrid-page-link{cursor:pointer;font-weight:700;text-decoration:none;color:inherit;padding:0 4px}.dgrid-first,.dgrid-last,.dgrid-next,.dgrid-previous{font-size:130%}.dgrid-pagination .dgrid-page-disabled{color:#aaa;cursor:default}.dgrid-page-input{margin-top:1px;width:2em;text-align:center}.dgrid-page-size{margin:1px 4px 0}.dgrid-rtl-swap .dgrid-header-row{right:0;left:17px}.dgrid-rtl-swap .dgrid-header-scroll{left:0;right:auto}.dgrid-rtl .dgrid-cell{text-align:right}.dgrid-rtl .dgrid-sort-arrow{float:left;margin:0 5px 0 4px}.dgrid-rtl .ui-icon-triangle-1-e{background-position:-96px -16px}.dgrid-rtl .ui-icon-triangle-1-se{background-position:-80px -16px}.dgrid-rtl .dgrid-pagination .dgrid-status,.dgrid-rtl .dgrid-pagination .dgrid-page-size{float:right}.dgrid-rtl .dgrid-pagination .dgrid-navigation{float:left}.dgrid-rtl.dgrid-autoheight .dgrid-header{left:0}.dgrid_Table .placeholder{border:none;padding:0;overflow:hidden}.dgrid_Table .dgrid-fakeline{border:0px;border-bottom:1px solid rgb(221,221,221);margin:2px -3px}.dgrid_Table .dgrid-sortable .dgrid-sort-arrow.ui-icon{margin:0}")),document.head.appendChild(i)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}}();
|
package/dist/index.umd.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.umd.cjs","sources":["../src/dgrid-shim.ts","../src/RowFormatter.ts","../src/DBStore.ts","../src/Common.ts","../src/DatasourceStore.ts","../src/DatasourceTable.ts","../src/Table.ts","../src/__package__.ts"],"sourcesContent":["import * as dgrid_shim from \"@hpcc-js/dgrid-shim\";\n\nif (!globalThis[\"@hpcc-js/dgrid-shim\"]) {\n console.error(\"dgrid-shim not loaded, please add `<script src=\\\"https://cdn.jsdelivr.net/npm/@hpcc-js/dgrid-shim/dist/index.min.js\\\"></script>` or similar to your HTML file\");\n}\n\nexport const Deferred = globalThis[\"@hpcc-js/dgrid-shim\"].Deferred as typeof dgrid_shim.Deferred;\nexport const Memory = globalThis[\"@hpcc-js/dgrid-shim\"].Memory as typeof dgrid_shim.Memory;\nexport const QueryResults = globalThis[\"@hpcc-js/dgrid-shim\"].QueryResults as typeof dgrid_shim.QueryResults;\nexport const Grid = globalThis[\"@hpcc-js/dgrid-shim\"].Grid as typeof dgrid_shim.Grid;\nexport const PagingGrid = globalThis[\"@hpcc-js/dgrid-shim\"].PagingGrid as typeof dgrid_shim.PagingGrid;\nexport const domConstruct = globalThis[\"@hpcc-js/dgrid-shim\"].domConstruct as typeof dgrid_shim.domConstruct;\n","function entitiesEncode(str) {\n return String(str).replace(/&/g, \"&\").replace(/</g, \"<\").replace(/>/g, \">\").replace(/\"/g, \""\");\n}\n\nfunction safeEncode(item) {\n switch (Object.prototype.toString.call(item)) {\n case \"[object Undefined]\":\n case \"[object Boolean]\":\n case \"[object Number]\":\n return item;\n case \"[object String]\":\n return entitiesEncode(item);\n default:\n console.warn(\"Unknown cell type: \" + Object.prototype.toString.call(item));\n }\n return item;\n}\n\nfunction isArray(obj: any): obj is any[] {\n return obj instanceof Array;\n}\n\nconst LINE_SPLITTER = \"<br><hr class='dgrid-fakeline'>\";\nconst LINE_SPLITTER2 = \"<br><hr class='dgrid-fakeline' style='visibility: hidden'>\";\n\nexport interface ColumnType {\n field: string;\n leafID: string;\n label: string;\n idx: number;\n className: string;\n sortable: boolean;\n isSet: boolean;\n width?: number;\n formatter?: CellFormatter;\n renderCell?: CellRenderer;\n children?: ColumnType[];\n}\nexport interface RowType {\n __hpcc_id: number;\n __origRow: any[];\n [colIdx: number]: any;\n}\nexport type CellFormatter = (this: ColumnType, cell: any, row: RowType) => string;\nexport type CellRenderer = (this: ColumnType, row: RowType, cell: any, cellElement: HTMLElement) => HTMLElement | void;\n\nexport class RowFormatter {\n private _columns: ColumnType[];\n private _flattenedColumns = [];\n private _columnIdx = {};\n private _formattedRow = {};\n\n constructor(columns: ColumnType[], protected _renderHtml) {\n this._columns = columns;\n this.flattenColumns(columns);\n }\n\n flattenColumns(columns: ColumnType[]) {\n for (const column of columns) {\n this.flattenColumn(column);\n }\n }\n\n flattenColumn(column: ColumnType) {\n if (column.children) {\n for (const childColumn of column.children) this.flattenColumn(childColumn);\n } else {\n this._columnIdx[column.field] = this._flattenedColumns.length;\n this._flattenedColumns.push(column.field);\n }\n }\n\n format(row) {\n this._formattedRow = {};\n this.formatRow(this._columns, row);\n return this.row();\n }\n\n calcDepth(columns: ColumnType[], row) {\n let maxChildDepth = 1;\n for (const column of columns) {\n if (column.children && row[column.leafID]) {\n let childDepth = 0;\n let childRows = [];\n if (isArray(row[column.leafID])) {\n childRows = row[column.leafID];\n } else if (isArray(row[column.leafID].Row)) {\n childRows = row[column.leafID].Row;\n }\n for (const childRow of childRows) {\n childDepth += this.calcDepth(column.children, childRow);\n }\n maxChildDepth = Math.max(maxChildDepth, childDepth);\n }\n }\n return maxChildDepth;\n }\n\n formatCell(column: ColumnType, cell, maxChildDepth) {\n if (column.children) {\n let childDepth = 0;\n if (!isArray(cell)) {\n if (isArray(cell.Row)) {\n cell = cell.Row;\n } else {\n cell = [cell];\n }\n }\n for (const row of cell) {\n childDepth = Math.max(childDepth, this.formatRow(column.children, row));\n }\n } else {\n if (column.isSet) {\n cell = JSON.stringify(cell.Item);\n }\n if (this._formattedRow[column.field] === undefined) {\n this._formattedRow[column.field] = \"\" + (cell === undefined ? \"\" : (this._renderHtml ? cell : safeEncode(cell)));\n } else {\n this._formattedRow[column.field] += LINE_SPLITTER;\n this._formattedRow[column.field] += \"\" + (cell === undefined ? \"\" : (this._renderHtml ? cell : safeEncode(cell)));\n }\n if (maxChildDepth > 1) {\n const paddingArr = [];\n paddingArr.length = maxChildDepth;\n const padding = paddingArr.join(LINE_SPLITTER2);\n this._formattedRow[column.field] += padding;\n }\n }\n }\n\n formatRow(columns: ColumnType[], row: { [key: string]: any } = [], rowIdx: number = 0) {\n const maxChildDepth = this.calcDepth(columns, row);\n for (const column of columns) {\n this.formatCell(column, row[column.leafID], maxChildDepth);\n }\n return maxChildDepth;\n }\n\n row() {\n const retVal = {};\n for (const column of this._flattenedColumns) {\n retVal[column] = this._formattedRow[column];\n }\n return retVal;\n }\n}\n","import { Database } from \"@hpcc-js/common\";\nimport { Deferred } from \"./dgrid-shim.ts\";\nimport { CellFormatter, CellRenderer, ColumnType, RowFormatter } from \"./RowFormatter.ts\";\n\nexport class DBStore {\n private _db: Database.Grid;\n\n Model: null;\n idProperty: \"__hpcc_id\";\n\n constructor(db: Database.Grid) {\n this._db = db;\n }\n\n protected _renderHtml = true;\n renderHtml(_: boolean) {\n this._renderHtml = _;\n }\n\n db2Columns(sortable: boolean, fields: Database.Field[], prefix = \"\", formatter?: CellFormatter, renderCell?: CellRenderer): ColumnType[] {\n if (!fields) return [];\n return fields.map((field, idx) => {\n const label = field.label();\n const column: ColumnType = {\n label,\n leafID: \"\" + idx,\n field: prefix + idx,\n idx,\n className: \"resultGridCell\",\n sortable,\n isSet: false\n };\n switch (field.type()) {\n case \"nested\":\n column.children = this.db2Columns(false, field.children(), prefix + idx + \"_\", formatter);\n column.sortable = false;\n break;\n default:\n column.formatter = formatter;\n column.renderCell = renderCell;\n }\n return column;\n });\n }\n\n columns(sortable: boolean, formatter?: CellFormatter, renderCell?: CellRenderer) {\n return this.db2Columns(sortable, this._db.fields(), \"\", formatter, renderCell);\n }\n\n getIdentity(object) {\n return object.__hpcc_id;\n }\n\n get(row: number) {\n return this._db.row(row + 1);\n }\n\n _fetchRange(opts: { start: number, end: number }): object[] {\n const rowFormatter = new RowFormatter(this.columns(false), this._renderHtml);\n return this._db.data().slice(opts.start, opts.end).map((row, idx) => {\n const formattedRow: any = rowFormatter.format(row);\n return {\n ...formattedRow,\n __hpcc_id: opts.start + idx,\n __origRow: row\n };\n });\n }\n\n fetchRange(opts: { start: number, end: number }): Promise<object[]> {\n const data = this._fetchRange(opts);\n const retVal: any = new Deferred();\n retVal.totalLength = new Deferred();\n retVal.resolve(data);\n retVal.totalLength.resolve(this._db.length() - 1);\n return retVal;\n }\n\n sort(opts) {\n this._db.data().sort((l, r) => {\n for (const item of opts) {\n const idx = item.property;\n if ((l[idx] === undefined && r[idx] !== undefined) || l[idx] < r[idx]) return item.descending ? 1 : -1;\n if ((l[idx] !== undefined && r[idx] === undefined) || l[idx] > r[idx]) return item.descending ? -1 : 1;\n }\n return 0;\n });\n return this;\n }\n}\n","import { HTMLWidget } from \"@hpcc-js/common\";\nimport { Grid, PagingGrid } from \"./dgrid-shim.ts\";\nimport { DBStore } from \"./DBStore.ts\";\n\nimport \"../src/Common.css\";\n\nexport class Common extends HTMLWidget {\n protected _columns = [];\n protected _store = new DBStore(this._db);\n protected _dgridDiv;\n protected _dgrid;\n protected _prevPaging;\n private _prevSortBy: string;\n private _prevSortByDescending: boolean;\n private _prevMultiSelect: boolean;\n\n constructor() {\n super();\n this._tag = \"div\";\n }\n\n protected formatSortBy(): [{ property: string, descending: boolean }] | undefined {\n const idx = this.columns().indexOf(this.sortBy());\n return idx >= 0 ? [{ property: idx.toString(), descending: this.sortByDescending() }] : undefined;\n }\n\n protected _supressEvents;\n selection(): any[];\n selection(_: any[]): this;\n selection(_?: any[]): any[] | this {\n if (!arguments.length) {\n const retVal = [];\n for (const id in this._dgrid.selection) {\n if (this._dgrid.selection[id]) {\n const storeItem = this._store.get(+id);\n retVal.push(this.rowToObj(storeItem));\n }\n }\n return retVal;\n }\n this._supressEvents = true;\n this._dgrid?.clearSelection();\n let first = true;\n this.data().forEach((row, idx) => {\n if (_.indexOf(row) >= 0) {\n const row = this._dgrid?.row(idx);\n if (row.element && first) {\n first = false;\n row.element.scrollIntoView();\n }\n this._dgrid?.select(idx);\n }\n });\n this._supressEvents = false;\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n this._dgridDiv = element.append(\"div\")\n .attr(\"class\", \"flat\")\n ;\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n\n this._store.renderHtml(this.renderHtml());\n\n if (!this._dgrid || this._prevPaging !== this.pagination() ||\n this._prevSortBy !== this.sortBy() ||\n this._prevSortByDescending !== this.sortByDescending() ||\n this._prevMultiSelect !== this.multiSelect()) {\n\n this._prevPaging = this.pagination();\n this._prevSortBy = this.sortBy();\n this._prevSortByDescending = this.sortByDescending();\n this._prevMultiSelect = this.multiSelect();\n if (this._dgrid) {\n this._dgrid.destroy();\n this._dgridDiv = element.append(\"div\")\n .attr(\"class\", \"flat\")\n ;\n }\n this._dgrid = new (this._prevPaging ? PagingGrid : Grid)({\n columns: this._columns,\n collection: this._store,\n sort: this.formatSortBy(),\n selectionMode: this.multiSelect() ? \"extended\" : \"single\",\n deselectOnRefresh: true,\n cellNavigation: false,\n pagingLinks: 1,\n pagingTextBox: true,\n previousNextArrows: true,\n firstLastArrows: true,\n rowsPerPage: this.pageSize(),\n pageSizeOptions: [1, 10, 25, 50, 100, 1000]\n }, this._dgridDiv.node());\n this._dgrid.on(\"dgrid-select\", (evt) => {\n if (this._supressEvents) return;\n if (evt.rows && evt.rows.length && evt.rows[0].data) {\n this.click(this.rowToObj(evt.rows[0].data.__origRow), \"\", true, { selection: this.selection() });\n }\n });\n this._dgrid.on(\"dgrid-deselect\", (evt) => {\n if (this._supressEvents) return;\n if (evt.rows && evt.rows.length && evt.rows[0].data) {\n this.click(this.rowToObj(evt.rows[0].data.__origRow), \"\", false, { selection: this.selection() });\n }\n });\n this._dgrid.refresh({});\n }\n this._dgrid.noDataMessage = `<span class='dojoxGridNoData'>${this.noDataMessage()}</span>`;\n this._dgrid.loadingMessage = `<span class='dojoxGridNoData'>${this.loadingMessage()}</span>`;\n\n this._dgridDiv\n .style(\"width\", this.width() + \"px\")\n .style(\"height\", this.height() - 2 + \"px\")\n ;\n this._dgrid.resize();\n }\n\n exit(domNode, element) {\n delete this._prevPaging;\n if (this._dgrid) {\n this._dgrid.destroy();\n delete this._dgrid;\n }\n super.exit(domNode, element);\n }\n\n click(row, col, sel, more) {\n }\n}\nCommon.prototype._class += \" dgrid_Common\";\n\nexport interface Common {\n noDataMessage(): string;\n noDataMessage(_: string): this;\n loadingMessage(): string;\n loadingMessage(_: string): this;\n pagination(): boolean;\n pagination(_: boolean): this;\n pageSize(): number;\n pageSize(_: number): this;\n sortable(): boolean;\n sortable(_: boolean): this;\n sortBy(): string;\n sortBy(_: string): this;\n sortByDescending(): boolean;\n sortByDescending(_: boolean): this;\n multiSelect(): boolean;\n multiSelect(_: boolean): this;\n renderHtml(): boolean;\n renderHtml(_: boolean): this;\n}\n\nCommon.prototype.publish(\"noDataMessage\", \"...empty...\", \"string\", \"No Data Message\");\nCommon.prototype.publish(\"loadingMessage\", \"loading...\", \"string\", \"Loading Message\");\nCommon.prototype.publish(\"pagination\", false, \"boolean\", \"Enable paging\");\nCommon.prototype.publish(\"pageSize\", 25, \"number\", \"Page size\");\nCommon.prototype.publish(\"sortable\", false, \"boolean\", \"Enable sorting by column\");\nCommon.prototype.publish(\"sortBy\", null, \"set\", \"Default 'sort by' Column ID\", function (this: Common) { return this.columns(); }, { optional: true });\nCommon.prototype.publish(\"sortByDescending\", false, \"boolean\", \"Default 'sort by' descending\", undefined, { disable: self => !self.sortBy() });\nCommon.prototype.publish(\"multiSelect\", false, \"boolean\", \"Multiple Selection\");\nCommon.prototype.publish(\"renderHtml\", true, \"boolean\", \"Render HTML\");\n\n","import type { DDL2 } from \"@hpcc-js/ddl-shim\";\nimport { Deferred, QueryResults } from \"./dgrid-shim.ts\";\nimport { ColumnType, RowFormatter } from \"./RowFormatter.ts\";\n\nexport interface IDatasource {\n id: () => string;\n hash: () => string;\n label: () => string;\n\n outFields: () => DDL2.IField[];\n total: () => number;\n fetch: (from: number, count: number) => Promise<ReadonlyArray<object>>;\n}\n\nexport class DatasourceCache implements IDatasource {\n protected _datasource: IDatasource;\n _prevHash: string;\n _fetchCache: { [key: string]: Promise<ReadonlyArray<object>> } = {};\n\n constructor(datasource: IDatasource) {\n this._datasource = datasource;\n }\n\n validateCache() {\n const hash = this.hash();\n if (this._prevHash !== hash) {\n this._prevHash = hash;\n this._fetchCache = {};\n }\n }\n\n id() { return this._datasource.id(); }\n hash() { return this._datasource.hash(); }\n label() { return this._datasource.label(); }\n\n outFields() { return this._datasource.outFields(); }\n total() { return this._datasource.total(); }\n fetch(from: number, count: number): Promise<ReadonlyArray<object>> {\n this.validateCache();\n const cacheID = `${from}->${count}`;\n let retVal = this._fetchCache[cacheID];\n if (!retVal) {\n retVal = this._datasource.fetch(from, count);\n this._fetchCache[cacheID] = retVal;\n }\n return retVal;\n }\n}\n\nexport class DatasourceStore {\n _datasource: DatasourceCache;\n _columnsIdx: { [key: string]: number } = {};\n _columns;\n\n private rowFormatter: RowFormatter;\n\n constructor(datasource: IDatasource, renderHtml: boolean) {\n this._datasource = new DatasourceCache(datasource);\n\n this._columnsIdx = {};\n this._columns = this.db2Columns(this._datasource.outFields()).map((column, idx) => {\n this._columnsIdx[column.field] = idx;\n return column;\n });\n this.rowFormatter = new RowFormatter(this._columns, renderHtml);\n }\n\n columns() {\n return this._columns;\n }\n\n db2Columns(fields: DDL2.IField[], prefix = \"\"): ColumnType[] {\n if (!fields) return [];\n return fields.map((field, idx) => {\n const column: ColumnType = {\n field: prefix + field.id,\n leafID: field.id,\n label: field.id,\n idx,\n className: \"resultGridCell\",\n sortable: true,\n isSet: false\n };\n if (field.type === \"dataset\") {\n column.children = this.db2Columns(field.children, prefix + field.id + \"_\");\n } else {\n column.formatter = (cell, row) => {\n switch (typeof cell) {\n case \"string\":\n return cell.replace(/\\t/g, \" \");\n }\n return cell;\n };\n }\n return column;\n });\n }\n\n getIdentity(row) {\n return row.__hpcc_id;\n }\n\n _request(start, end): Promise<{ totalLength: number, data: any[] }> {\n if (!this._datasource) return Promise.resolve({ totalLength: 0, data: [] });\n const retVal = this._datasource.fetch(start, end - start).then(response => {\n return {\n totalLength: this._datasource.total(),\n data: response.map((row, idx) => {\n const formattedRow: any = this.rowFormatter.format(row);\n formattedRow.__hpcc_id = start + idx;\n formattedRow.__origRow = row;\n return formattedRow;\n })\n };\n });\n return retVal;\n }\n\n fetchRange(options): Promise<any[]> {\n const retVal = new Deferred();\n this._request(options.start, options.end).then(response => retVal.resolve(response));\n return new QueryResults(retVal.then(response => response.data), {\n totalLength: retVal.then(response => response.totalLength)\n });\n }\n}\n","import { Widget } from \"@hpcc-js/common\";\nimport { Memory } from \"./dgrid-shim.ts\";\nimport { Common } from \"./Common.ts\";\nimport { DatasourceStore, IDatasource } from \"./DatasourceStore.ts\";\n\nexport class DatasourceTable extends Common {\n _prevDatasource?: IDatasource;\n\n constructor() {\n super();\n }\n\n invalidate(): this {\n delete this._prevDatasource;\n return this;\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n }\n render(callback?: (w: Widget) => void): this {\n return super.render(w => {\n if (this._prevDatasource !== this.datasource()) {\n this._dgrid.set(\"collection\", new Memory());\n this._dgrid.set(\"columns\", []);\n this._prevDatasource = this.datasource();\n if (this._prevDatasource) {\n const store = new DatasourceStore(this._prevDatasource, this.renderHtml());\n this._dgrid.set(\"columns\", store.columns());\n this._dgrid.set(\"collection\", store);\n if (callback) {\n callback(w);\n }\n } else {\n if (callback) {\n callback(w);\n }\n }\n } else {\n if (callback) {\n callback(w);\n }\n }\n });\n }\n\n click(row, col, sel) {\n }\n}\nDatasourceTable.prototype._class += \" dgrid_DatasourceTable\";\n\nexport interface DatasourceTable {\n datasource(): IDatasource;\n datasource(_: IDatasource): this;\n}\n\nDatasourceTable.prototype.publish(\"datasource\", null, \"object\", \"Datasource\");\n\n","import { Palette, PropertyExt, Field } from \"@hpcc-js/common\";\nimport { hashSum } from \"@hpcc-js/util\";\nimport { format as d3Format } from \"d3-format\";\nimport { select as d3Select } from \"d3-selection\";\nimport { Common } from \"./Common.ts\";\nimport { CellFormatter, CellRenderer, ColumnType, RowType } from \"./RowFormatter.ts\";\n\n// ColumnPalette ---\nexport class ColumnFormat extends PropertyExt {\n _owner: Table;\n\n constructor() {\n super();\n }\n\n owner(): Table;\n owner(_: Table): this;\n owner(_?: Table): Table | this {\n if (!arguments.length) return this._owner;\n this._owner = _;\n return this;\n }\n\n valid(): boolean {\n return !!this.column();\n }\n\n formatterFunc(): CellFormatter | undefined {\n const defaultFormatter = this._owner.formatterFunc();\n if (this.valid() && this.format()) {\n const numberFormatter = d3Format(this.format());\n\n return function (this: ColumnType, cell: any, row: RowType): string {\n if (typeof cell === \"number\")\n return numberFormatter(cell);\n return defaultFormatter.call(this, cell, row);\n };\n }\n return defaultFormatter;\n }\n\n renderCellFunc(): CellRenderer | undefined {\n const defaultRenderCell = this._owner.renderCellFunc();\n const defaultFormatter = this.formatterFunc();\n if (this.valid() && this.paletteID()) {\n const columns = this._owner.columns();\n const palette = Palette.rainbow(this.paletteID());\n const min = this.min();\n const max = this.max();\n const valueColIdx = this.valueColumn() ? columns.indexOf(this.valueColumn()) : undefined;\n return function (this: ColumnType, row: RowType, cell: any, cellElement: HTMLElement): HTMLElement | void {\n if (defaultRenderCell) {\n defaultRenderCell.call(this, row, cell, cellElement);\n }\n const value = valueColIdx ? row.__origRow[valueColIdx] : cell;\n const background = palette(value, min, max);\n const cellText: any = defaultFormatter.call(this, cell, row);\n d3Select(cellElement)\n .style(\"background\", background)\n .style(\"color\", background && Palette.textColor(background))\n .text(cellText?.html ?? cellText ?? cell)\n ;\n };\n }\n return defaultRenderCell;\n }\n}\nColumnFormat.prototype._class += \" dgrid_Table.ColumnFormat\";\n\nexport interface ColumnFormat {\n column(): string;\n column(_: string): this;\n width(): number;\n width(_: number): this;\n format(): string;\n format(_: string): this;\n paletteID(): string;\n paletteID(_: string): this;\n min(): number;\n min(_: number): this;\n max(): number;\n max(_: number): this;\n valueColumn(): string;\n valueColumn(_: string): this;\n}\nColumnFormat.prototype.publish(\"column\", null, \"set\", \"Column\", function (this: ColumnFormat) { return this._owner.columns(); }, { optional: true });\nColumnFormat.prototype.publish(\"width\", null, \"number\", \"Width\", null, { optional: true });\nColumnFormat.prototype.publish(\"format\", null, \"string\", \"Format (d3-format)\", null, { optional: true });\nColumnFormat.prototype.publish(\"paletteID\", null, \"set\", \"Color palette for this widget\", [\"\", ...Palette.rainbow(\"default\").switch()], { optional: true });\nColumnFormat.prototype.publish(\"min\", 0, \"number\", \"Min Value\", null, { disable: (cf: ColumnFormat) => !cf.paletteID() });\nColumnFormat.prototype.publish(\"max\", 100, \"number\", \"Max Value\", null, { disable: (cf: ColumnFormat) => !cf.paletteID() });\nColumnFormat.prototype.publish(\"valueColumn\", null, \"set\", \"Column\", function (this: ColumnFormat) { return this._owner.columns(); }, { optional: true, disable: (cf: ColumnFormat) => !cf.paletteID() });\n\n// Table ---\nexport class Table extends Common {\n private _prevColsHash;\n private _prevFieldsHash;\n _colsRefresh = false;\n _dataRefresh = false;\n\n constructor() {\n super();\n }\n\n fields(): Field[];\n fields(_: Field[]): this;\n fields(_?: Field[]): Field[] | this {\n const retVal = super.fields.apply(this, arguments as any);\n if (arguments.length) {\n const hash = hashSum({ _ });\n if (this._prevFieldsHash !== hash) {\n this._prevFieldsHash = hash;\n this._colsRefresh = true;\n }\n }\n return retVal;\n }\n\n columns(): string[];\n columns(_: string[], asDefault?: boolean): this;\n columns(_?: string[], asDefault?: boolean): string[] | this {\n const retVal = super.columns.apply(this, arguments as any);\n if (arguments.length) {\n const hash = hashSum({ _ });\n if (this._prevColsHash !== hash) {\n this._prevColsHash = hash;\n this._colsRefresh = true;\n }\n }\n return retVal;\n }\n\n data(): any;\n data(_: any): this;\n data(_?: any): any | this {\n const retVal = super.data.apply(this, arguments as any);\n if (arguments.length) {\n this._dataRefresh = true;\n }\n return retVal;\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n }\n\n guessWidth(columns, data) {\n const sortablePadding = this.sortable() ? 12 : 0;\n for (const column of columns) {\n if (column.children) {\n let sampleData = [];\n for (let i = 0; i < Math.min(3, data.length); ++i) {\n sampleData = sampleData.concat(data[i][column.idx]);\n }\n this.guessWidth(column.children, sampleData);\n } else {\n column.width = data.reduce((prevVal: number, row) => {\n const cell = (\"\" + row[column.idx]).trim();\n return Math.max(prevVal, this.textSize(cell).width);\n }, this.textSize(\"\" + column.label, undefined, undefined, true).width + sortablePadding) + 8; // +12 for the sort icon, +8 for the cell padding.\n }\n }\n }\n\n _prevHash;\n update(domNode, element) {\n super.update(domNode, element);\n const hash = this.hashSum();\n if (this._prevHash !== hash) {\n this._prevHash = hash;\n this._colsRefresh = true;\n }\n if (this._colsRefresh) {\n this._columns = this._store.columns(this.sortable(), this.formatterFunc(), this.renderCellFunc());\n switch (this.columnWidth()) {\n case \"auto\":\n const tenRows = this.data().filter((row, idx) => idx < 10);\n this.guessWidth(this._columns, tenRows);\n break;\n }\n const columns = this.columns();\n for (const columnFormat of this.columnFormats()) {\n if (columnFormat.valid()) {\n const colIdx = columns.indexOf(columnFormat.column());\n if (this._columns[colIdx]) {\n this._columns[colIdx].hidden = columnFormat.width() === 0;\n this._columns[colIdx].width = columnFormat.width() || this._columns[colIdx].width;\n this._columns[colIdx].formatter = columnFormat.formatterFunc();\n this._columns[colIdx].renderCell = columnFormat.renderCellFunc();\n }\n }\n }\n this._dgrid.set(\"columns\", this._columns.filter(col => !col.hidden));\n this._colsRefresh = false;\n }\n if (this._colsRefresh || this._dataRefresh) {\n if (this._colsRefresh) {\n this._dgrid.refresh({});\n } else {\n this._dgrid.refresh();\n }\n this._colsRefresh = false;\n this._dataRefresh = false;\n }\n }\n\n exit(domNode, element) {\n delete this._prevColsHash;\n delete this._prevFieldsHash;\n super.exit(domNode, element);\n }\n\n // Cell ---\n formatterFunc(): CellFormatter | undefined {\n return function (this: ColumnType, cell: any, row: RowType): string | any {\n switch (typeof cell) {\n case \"string\":\n return {\n html: cell.replace(/\\t/g, \" \").trim()\n };\n case \"undefined\":\n return \"\";\n }\n return cell;\n };\n }\n\n renderCellFunc(): CellRenderer | undefined {\n return undefined; // Undefined will defualt to formatter ---\n }\n\n // Events ---\n click(row, col, sel) {\n }\n}\nTable.prototype._class += \" dgrid_Table\";\n\nexport interface Table {\n columnWidth(): \"auto\" | \"none\";\n columnWidth(_: \"auto\" | \"none\"): this;\n columnFormats(): ColumnFormat[];\n columnFormats(_: ColumnFormat[]): this;\n}\n\nTable.prototype.publish(\"columnWidth\", \"auto\", \"set\", \"Default column width\", [\"auto\", \"none\"]);\nTable.prototype.publish(\"columnFormats\", [], \"propertyArray\", \"Source Columns\", null, { autoExpand: ColumnFormat });\n","export const PKG_NAME = \"@hpcc-js/dgrid\";\nexport const PKG_VERSION = \"3.1.0\";\nexport const BUILD_VERSION = \"3.2.1\";\n"],"names":["globalThis","console","error","Deferred","Memory","QueryResults","Grid","PagingGrid","domConstruct","entitiesEncode","str","String","replace","safeEncode","item","Object","prototype","toString","call","warn","isArray","obj","Array","__name","_RowFormatter","constructor","columns","_renderHtml","__publicField","this","_columns","flattenColumns","column","flattenColumn","children","childColumn","_columnIdx","field","_flattenedColumns","length","push","format","row","_formattedRow","formatRow","calcDepth","maxChildDepth","leafID","childDepth","childRows","Row","childRow","Math","max","formatCell","cell","isSet","JSON","stringify","Item","paddingArr","padding","join","rowIdx","retVal","RowFormatter","_DBStore","db","_db","renderHtml","_","db2Columns","sortable","fields","prefix","formatter","renderCell","map","idx","label","className","type","getIdentity","object","__hpcc_id","get","_fetchRange","opts","rowFormatter","data","slice","start","end","__origRow","fetchRange","totalLength","resolve","sort","l","r","property","descending","DBStore","_Common","HTMLWidget","super","_tag","formatSortBy","indexOf","sortBy","sortByDescending","selection","arguments","id","_dgrid","storeItem","_store","rowToObj","_supressEvents","_a","clearSelection","first","forEach","element","scrollIntoView","_b","select","enter","domNode","_dgridDiv","append","attr","update","_prevPaging","pagination","_prevSortBy","_prevSortByDescending","_prevMultiSelect","multiSelect","destroy","collection","selectionMode","deselectOnRefresh","cellNavigation","pagingLinks","pagingTextBox","previousNextArrows","firstLastArrows","rowsPerPage","pageSize","pageSizeOptions","node","on","evt","rows","click","refresh","noDataMessage","loadingMessage","style","width","height","resize","exit","col","sel","more","Common","_class","publish","optional","disable","self","_DatasourceCache","datasource","_datasource","validateCache","hash","_prevHash","_fetchCache","outFields","total","fetch","from","count","cacheID","DatasourceCache","_DatasourceStore","_columnsIdx","_request","Promise","then","response","formattedRow","options","DatasourceStore","_DatasourceTable","invalidate","_prevDatasource","render","callback","w","set","store","DatasourceTable","_ColumnFormat","PropertyExt","owner","_owner","valid","formatterFunc","defaultFormatter","numberFormatter","d3Format","renderCellFunc","defaultRenderCell","paletteID","palette","Palette","rainbow","min","valueColIdx","valueColumn","cellElement","value","background","cellText","d3Select","textColor","text","html","ColumnFormat","switch","cf","_Table","apply","hashSum","_prevFieldsHash","_colsRefresh","asDefault","_prevColsHash","_dataRefresh","guessWidth","sortablePadding","sampleData","i","concat","reduce","prevVal","trim","textSize","columnWidth","tenRows","filter","columnFormat","columnFormats","colIdx","hidden","Table","autoExpand"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.umd.cjs","sources":["../src/dgrid-shim.ts","../src/RowFormatter.ts","../src/DBStore.ts","../src/Common.ts","../src/DatasourceStore.ts","../src/DatasourceTable.ts","../src/Table.ts","../src/__package__.ts"],"sourcesContent":["import * as dgrid_shim from \"@hpcc-js/dgrid-shim\";\n\nif (!globalThis[\"@hpcc-js/dgrid-shim\"]) {\n console.error(\"dgrid-shim not loaded, please add `<script src=\\\"https://cdn.jsdelivr.net/npm/@hpcc-js/dgrid-shim/dist/index.min.js\\\"></script>` or similar to your HTML file\");\n}\n\nexport const Deferred = globalThis[\"@hpcc-js/dgrid-shim\"].Deferred as typeof dgrid_shim.Deferred;\nexport const Memory = globalThis[\"@hpcc-js/dgrid-shim\"].Memory as typeof dgrid_shim.Memory;\nexport const QueryResults = globalThis[\"@hpcc-js/dgrid-shim\"].QueryResults as typeof dgrid_shim.QueryResults;\nexport const Grid = globalThis[\"@hpcc-js/dgrid-shim\"].Grid as typeof dgrid_shim.Grid;\nexport const PagingGrid = globalThis[\"@hpcc-js/dgrid-shim\"].PagingGrid as typeof dgrid_shim.PagingGrid;\nexport const domConstruct = globalThis[\"@hpcc-js/dgrid-shim\"].domConstruct as typeof dgrid_shim.domConstruct;\n","function entitiesEncode(str) {\n return String(str).replace(/&/g, \"&\").replace(/</g, \"<\").replace(/>/g, \">\").replace(/\"/g, \""\");\n}\n\nfunction safeEncode(item) {\n switch (Object.prototype.toString.call(item)) {\n case \"[object Undefined]\":\n case \"[object Boolean]\":\n case \"[object Number]\":\n return item;\n case \"[object String]\":\n return entitiesEncode(item);\n default:\n console.warn(\"Unknown cell type: \" + Object.prototype.toString.call(item));\n }\n return item;\n}\n\nfunction isArray(obj: any): obj is any[] {\n return obj instanceof Array;\n}\n\nconst LINE_SPLITTER = \"<br><hr class='dgrid-fakeline'>\";\nconst LINE_SPLITTER2 = \"<br><hr class='dgrid-fakeline' style='visibility: hidden'>\";\n\nexport interface ColumnType {\n field: string;\n leafID: string;\n label: string;\n idx: number;\n className: string;\n sortable: boolean;\n isSet: boolean;\n width?: number;\n formatter?: CellFormatter;\n renderCell?: CellRenderer;\n children?: ColumnType[];\n}\nexport interface RowType {\n __hpcc_id: number;\n __origRow: any[];\n [colIdx: number]: any;\n}\nexport type CellFormatter = (this: ColumnType, cell: any, row: RowType) => string;\nexport type CellRenderer = (this: ColumnType, row: RowType, cell: any, cellElement: HTMLElement) => HTMLElement | void;\n\nexport class RowFormatter {\n private _columns: ColumnType[];\n private _flattenedColumns = [];\n private _columnIdx = {};\n private _formattedRow = {};\n\n constructor(columns: ColumnType[], protected _renderHtml) {\n this._columns = columns;\n this.flattenColumns(columns);\n }\n\n flattenColumns(columns: ColumnType[]) {\n for (const column of columns) {\n this.flattenColumn(column);\n }\n }\n\n flattenColumn(column: ColumnType) {\n if (column.children) {\n for (const childColumn of column.children) this.flattenColumn(childColumn);\n } else {\n this._columnIdx[column.field] = this._flattenedColumns.length;\n this._flattenedColumns.push(column.field);\n }\n }\n\n format(row) {\n this._formattedRow = {};\n this.formatRow(this._columns, row);\n return this.row();\n }\n\n calcDepth(columns: ColumnType[], row) {\n let maxChildDepth = 1;\n for (const column of columns) {\n if (column.children && row[column.leafID]) {\n let childDepth = 0;\n let childRows = [];\n if (isArray(row[column.leafID])) {\n childRows = row[column.leafID];\n } else if (isArray(row[column.leafID].Row)) {\n childRows = row[column.leafID].Row;\n }\n for (const childRow of childRows) {\n childDepth += this.calcDepth(column.children, childRow);\n }\n maxChildDepth = Math.max(maxChildDepth, childDepth);\n }\n }\n return maxChildDepth;\n }\n\n formatCell(column: ColumnType, cell, maxChildDepth) {\n if (column.children) {\n let childDepth = 0;\n if (!isArray(cell)) {\n if (isArray(cell.Row)) {\n cell = cell.Row;\n } else {\n cell = [cell];\n }\n }\n for (const row of cell) {\n childDepth = Math.max(childDepth, this.formatRow(column.children, row));\n }\n } else {\n if (column.isSet) {\n cell = JSON.stringify(cell.Item);\n }\n if (this._formattedRow[column.field] === undefined) {\n this._formattedRow[column.field] = \"\" + (cell === undefined ? \"\" : (this._renderHtml ? cell : safeEncode(cell)));\n } else {\n this._formattedRow[column.field] += LINE_SPLITTER;\n this._formattedRow[column.field] += \"\" + (cell === undefined ? \"\" : (this._renderHtml ? cell : safeEncode(cell)));\n }\n if (maxChildDepth > 1) {\n const paddingArr = [];\n paddingArr.length = maxChildDepth;\n const padding = paddingArr.join(LINE_SPLITTER2);\n this._formattedRow[column.field] += padding;\n }\n }\n }\n\n formatRow(columns: ColumnType[], row: { [key: string]: any } = [], rowIdx: number = 0) {\n const maxChildDepth = this.calcDepth(columns, row);\n for (const column of columns) {\n this.formatCell(column, row[column.leafID], maxChildDepth);\n }\n return maxChildDepth;\n }\n\n row() {\n const retVal = {};\n for (const column of this._flattenedColumns) {\n retVal[column] = this._formattedRow[column];\n }\n return retVal;\n }\n}\n","import { Database } from \"@hpcc-js/common\";\nimport { Deferred } from \"./dgrid-shim.ts\";\nimport { CellFormatter, CellRenderer, ColumnType, RowFormatter } from \"./RowFormatter.ts\";\n\nexport class DBStore {\n private _db: Database.Grid;\n\n Model: null;\n idProperty: \"__hpcc_id\";\n\n constructor(db: Database.Grid) {\n this._db = db;\n }\n\n protected _renderHtml = true;\n renderHtml(_: boolean) {\n this._renderHtml = _;\n }\n\n db2Columns(sortable: boolean, fields: Database.Field[], prefix = \"\", formatter?: CellFormatter, renderCell?: CellRenderer): ColumnType[] {\n if (!fields) return [];\n return fields.map((field, idx) => {\n const label = field.label();\n const column: ColumnType = {\n label,\n leafID: \"\" + idx,\n field: prefix + idx,\n idx,\n className: \"resultGridCell\",\n sortable,\n isSet: false\n };\n switch (field.type()) {\n case \"nested\":\n column.children = this.db2Columns(false, field.children(), prefix + idx + \"_\", formatter);\n column.sortable = false;\n break;\n default:\n column.formatter = formatter;\n column.renderCell = renderCell;\n }\n return column;\n });\n }\n\n columns(sortable: boolean, formatter?: CellFormatter, renderCell?: CellRenderer) {\n return this.db2Columns(sortable, this._db.fields(), \"\", formatter, renderCell);\n }\n\n getIdentity(object) {\n return object.__hpcc_id;\n }\n\n get(row: number) {\n return this._db.row(row + 1);\n }\n\n _fetchRange(opts: { start: number, end: number }): object[] {\n const rowFormatter = new RowFormatter(this.columns(false), this._renderHtml);\n return this._db.data().slice(opts.start, opts.end).map((row, idx) => {\n const formattedRow: any = rowFormatter.format(row);\n return {\n ...formattedRow,\n __hpcc_id: opts.start + idx,\n __origRow: row\n };\n });\n }\n\n fetchRange(opts: { start: number, end: number }): Promise<object[]> {\n const data = this._fetchRange(opts);\n const retVal: any = new Deferred();\n retVal.totalLength = new Deferred();\n retVal.resolve(data);\n retVal.totalLength.resolve(this._db.length() - 1);\n return retVal;\n }\n\n sort(opts) {\n this._db.data().sort((l, r) => {\n for (const item of opts) {\n const idx = item.property;\n if ((l[idx] === undefined && r[idx] !== undefined) || l[idx] < r[idx]) return item.descending ? 1 : -1;\n if ((l[idx] !== undefined && r[idx] === undefined) || l[idx] > r[idx]) return item.descending ? -1 : 1;\n }\n return 0;\n });\n return this;\n }\n}\n","import { HTMLWidget } from \"@hpcc-js/common\";\nimport { Grid, PagingGrid } from \"./dgrid-shim.ts\";\nimport { DBStore } from \"./DBStore.ts\";\n\nimport \"../src/Common.css\";\n\nexport class Common extends HTMLWidget {\n protected _columns = [];\n protected _store = new DBStore(this._db);\n protected _dgridDiv;\n protected _dgrid;\n protected _prevPaging;\n private _prevSortBy: string;\n private _prevSortByDescending: boolean;\n private _prevMultiSelect: boolean;\n\n constructor() {\n super();\n this._tag = \"div\";\n }\n\n protected formatSortBy(): [{ property: string, descending: boolean }] | undefined {\n const idx = this.columns().indexOf(this.sortBy());\n return idx >= 0 ? [{ property: idx.toString(), descending: this.sortByDescending() }] : undefined;\n }\n\n protected _supressEvents;\n selection(): any[];\n selection(_: any[]): this;\n selection(_?: any[]): any[] | this {\n if (!arguments.length) {\n const retVal = [];\n for (const id in this._dgrid.selection) {\n if (this._dgrid.selection[id]) {\n const storeItem = this._store.get(+id);\n retVal.push(this.rowToObj(storeItem));\n }\n }\n return retVal;\n }\n this._supressEvents = true;\n this._dgrid?.clearSelection();\n let first = true;\n this.data().forEach((row, idx) => {\n if (_.indexOf(row) >= 0) {\n const row = this._dgrid?.row(idx);\n if (row.element && first) {\n first = false;\n row.element.scrollIntoView();\n }\n this._dgrid?.select(idx);\n }\n });\n this._supressEvents = false;\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n this._dgridDiv = element.append(\"div\")\n .attr(\"class\", \"flat\")\n ;\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n\n this._store.renderHtml(this.renderHtml());\n\n if (!this._dgrid || this._prevPaging !== this.pagination() ||\n this._prevSortBy !== this.sortBy() ||\n this._prevSortByDescending !== this.sortByDescending() ||\n this._prevMultiSelect !== this.multiSelect()) {\n\n this._prevPaging = this.pagination();\n this._prevSortBy = this.sortBy();\n this._prevSortByDescending = this.sortByDescending();\n this._prevMultiSelect = this.multiSelect();\n if (this._dgrid) {\n this._dgrid.destroy();\n this._dgridDiv = element.append(\"div\")\n .attr(\"class\", \"flat\")\n ;\n }\n this._dgrid = new (this._prevPaging ? PagingGrid : Grid)({\n columns: this._columns,\n collection: this._store,\n sort: this.formatSortBy(),\n selectionMode: this.multiSelect() ? \"extended\" : \"single\",\n deselectOnRefresh: true,\n cellNavigation: false,\n pagingLinks: 1,\n pagingTextBox: true,\n previousNextArrows: true,\n firstLastArrows: true,\n rowsPerPage: this.pageSize(),\n pageSizeOptions: [1, 10, 25, 50, 100, 1000]\n }, this._dgridDiv.node());\n this._dgrid.on(\"dgrid-select\", (evt) => {\n if (this._supressEvents) return;\n if (evt.rows && evt.rows.length && evt.rows[0].data) {\n this.click(this.rowToObj(evt.rows[0].data.__origRow), \"\", true, { selection: this.selection() });\n }\n });\n this._dgrid.on(\"dgrid-deselect\", (evt) => {\n if (this._supressEvents) return;\n if (evt.rows && evt.rows.length && evt.rows[0].data) {\n this.click(this.rowToObj(evt.rows[0].data.__origRow), \"\", false, { selection: this.selection() });\n }\n });\n this._dgrid.refresh({});\n }\n this._dgrid.noDataMessage = `<span class='dojoxGridNoData'>${this.noDataMessage()}</span>`;\n this._dgrid.loadingMessage = `<span class='dojoxGridNoData'>${this.loadingMessage()}</span>`;\n\n this._dgridDiv\n .style(\"width\", this.width() + \"px\")\n .style(\"height\", this.height() - 2 + \"px\")\n ;\n this._dgrid.resize();\n }\n\n exit(domNode, element) {\n delete this._prevPaging;\n if (this._dgrid) {\n this._dgrid.destroy();\n delete this._dgrid;\n }\n super.exit(domNode, element);\n }\n\n click(row, col, sel, more) {\n }\n}\nCommon.prototype._class += \" dgrid_Common\";\n\nexport interface Common {\n noDataMessage(): string;\n noDataMessage(_: string): this;\n loadingMessage(): string;\n loadingMessage(_: string): this;\n pagination(): boolean;\n pagination(_: boolean): this;\n pageSize(): number;\n pageSize(_: number): this;\n sortable(): boolean;\n sortable(_: boolean): this;\n sortBy(): string;\n sortBy(_: string): this;\n sortByDescending(): boolean;\n sortByDescending(_: boolean): this;\n multiSelect(): boolean;\n multiSelect(_: boolean): this;\n renderHtml(): boolean;\n renderHtml(_: boolean): this;\n}\n\nCommon.prototype.publish(\"noDataMessage\", \"...empty...\", \"string\", \"No Data Message\");\nCommon.prototype.publish(\"loadingMessage\", \"loading...\", \"string\", \"Loading Message\");\nCommon.prototype.publish(\"pagination\", false, \"boolean\", \"Enable paging\");\nCommon.prototype.publish(\"pageSize\", 25, \"number\", \"Page size\");\nCommon.prototype.publish(\"sortable\", false, \"boolean\", \"Enable sorting by column\");\nCommon.prototype.publish(\"sortBy\", null, \"set\", \"Default 'sort by' Column ID\", function (this: Common) { return this.columns(); }, { optional: true });\nCommon.prototype.publish(\"sortByDescending\", false, \"boolean\", \"Default 'sort by' descending\", undefined, { disable: self => !self.sortBy() });\nCommon.prototype.publish(\"multiSelect\", false, \"boolean\", \"Multiple Selection\");\nCommon.prototype.publish(\"renderHtml\", true, \"boolean\", \"Render HTML\");\n\n","import type { DDL2 } from \"@hpcc-js/ddl-shim\";\nimport { Deferred, QueryResults } from \"./dgrid-shim.ts\";\nimport { ColumnType, RowFormatter } from \"./RowFormatter.ts\";\n\nexport interface IDatasource {\n id: () => string;\n hash: () => string;\n label: () => string;\n\n outFields: () => DDL2.IField[];\n total: () => number;\n fetch: (from: number, count: number) => Promise<ReadonlyArray<object>>;\n}\n\nexport class DatasourceCache implements IDatasource {\n protected _datasource: IDatasource;\n _prevHash: string;\n _fetchCache: { [key: string]: Promise<ReadonlyArray<object>> } = {};\n\n constructor(datasource: IDatasource) {\n this._datasource = datasource;\n }\n\n validateCache() {\n const hash = this.hash();\n if (this._prevHash !== hash) {\n this._prevHash = hash;\n this._fetchCache = {};\n }\n }\n\n id() { return this._datasource.id(); }\n hash() { return this._datasource.hash(); }\n label() { return this._datasource.label(); }\n\n outFields() { return this._datasource.outFields(); }\n total() { return this._datasource.total(); }\n fetch(from: number, count: number): Promise<ReadonlyArray<object>> {\n this.validateCache();\n const cacheID = `${from}->${count}`;\n let retVal = this._fetchCache[cacheID];\n if (!retVal) {\n retVal = this._datasource.fetch(from, count);\n this._fetchCache[cacheID] = retVal;\n }\n return retVal;\n }\n}\n\nexport class DatasourceStore {\n _datasource: DatasourceCache;\n _columnsIdx: { [key: string]: number } = {};\n _columns;\n\n private rowFormatter: RowFormatter;\n\n constructor(datasource: IDatasource, renderHtml: boolean) {\n this._datasource = new DatasourceCache(datasource);\n\n this._columnsIdx = {};\n this._columns = this.db2Columns(this._datasource.outFields()).map((column, idx) => {\n this._columnsIdx[column.field] = idx;\n return column;\n });\n this.rowFormatter = new RowFormatter(this._columns, renderHtml);\n }\n\n columns() {\n return this._columns;\n }\n\n db2Columns(fields: DDL2.IField[], prefix = \"\"): ColumnType[] {\n if (!fields) return [];\n return fields.map((field, idx) => {\n const column: ColumnType = {\n field: prefix + field.id,\n leafID: field.id,\n label: field.id,\n idx,\n className: \"resultGridCell\",\n sortable: true,\n isSet: false\n };\n if (field.type === \"dataset\") {\n column.children = this.db2Columns(field.children, prefix + field.id + \"_\");\n } else {\n column.formatter = (cell, row) => {\n switch (typeof cell) {\n case \"string\":\n return cell.replace(/\\t/g, \" \");\n }\n return cell;\n };\n }\n return column;\n });\n }\n\n getIdentity(row) {\n return row.__hpcc_id;\n }\n\n _request(start, end): Promise<{ totalLength: number, data: any[] }> {\n if (!this._datasource) return Promise.resolve({ totalLength: 0, data: [] });\n const retVal = this._datasource.fetch(start, end - start).then(response => {\n return {\n totalLength: this._datasource.total(),\n data: response.map((row, idx) => {\n const formattedRow: any = this.rowFormatter.format(row);\n formattedRow.__hpcc_id = start + idx;\n formattedRow.__origRow = row;\n return formattedRow;\n })\n };\n });\n return retVal;\n }\n\n fetchRange(options): Promise<any[]> {\n const retVal = new Deferred();\n this._request(options.start, options.end).then(response => retVal.resolve(response));\n return new QueryResults(retVal.then(response => response.data), {\n totalLength: retVal.then(response => response.totalLength)\n });\n }\n}\n","import { Widget } from \"@hpcc-js/common\";\nimport { Memory } from \"./dgrid-shim.ts\";\nimport { Common } from \"./Common.ts\";\nimport { DatasourceStore, IDatasource } from \"./DatasourceStore.ts\";\n\nexport class DatasourceTable extends Common {\n _prevDatasource?: IDatasource;\n\n constructor() {\n super();\n }\n\n invalidate(): this {\n delete this._prevDatasource;\n return this;\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n }\n render(callback?: (w: Widget) => void): this {\n return super.render(w => {\n if (this._prevDatasource !== this.datasource()) {\n this._dgrid.set(\"collection\", new Memory());\n this._dgrid.set(\"columns\", []);\n this._prevDatasource = this.datasource();\n if (this._prevDatasource) {\n const store = new DatasourceStore(this._prevDatasource, this.renderHtml());\n this._dgrid.set(\"columns\", store.columns());\n this._dgrid.set(\"collection\", store);\n if (callback) {\n callback(w);\n }\n } else {\n if (callback) {\n callback(w);\n }\n }\n } else {\n if (callback) {\n callback(w);\n }\n }\n });\n }\n\n click(row, col, sel) {\n }\n}\nDatasourceTable.prototype._class += \" dgrid_DatasourceTable\";\n\nexport interface DatasourceTable {\n datasource(): IDatasource;\n datasource(_: IDatasource): this;\n}\n\nDatasourceTable.prototype.publish(\"datasource\", null, \"object\", \"Datasource\");\n\n","import { Palette, PropertyExt, Field } from \"@hpcc-js/common\";\nimport { hashSum } from \"@hpcc-js/util\";\nimport { format as d3Format } from \"d3-format\";\nimport { select as d3Select } from \"d3-selection\";\nimport { Common } from \"./Common.ts\";\nimport { CellFormatter, CellRenderer, ColumnType, RowType } from \"./RowFormatter.ts\";\n\n// ColumnPalette ---\nexport class ColumnFormat extends PropertyExt {\n _owner: Table;\n\n constructor() {\n super();\n }\n\n owner(): Table;\n owner(_: Table): this;\n owner(_?: Table): Table | this {\n if (!arguments.length) return this._owner;\n this._owner = _;\n return this;\n }\n\n valid(): boolean {\n return !!this.column();\n }\n\n formatterFunc(): CellFormatter | undefined {\n const defaultFormatter = this._owner.formatterFunc();\n if (this.valid() && this.format()) {\n const numberFormatter = d3Format(this.format());\n\n return function (this: ColumnType, cell: any, row: RowType): string {\n if (typeof cell === \"number\")\n return numberFormatter(cell);\n return defaultFormatter.call(this, cell, row);\n };\n }\n return defaultFormatter;\n }\n\n renderCellFunc(): CellRenderer | undefined {\n const defaultRenderCell = this._owner.renderCellFunc();\n const defaultFormatter = this.formatterFunc();\n if (this.valid() && this.paletteID()) {\n const columns = this._owner.columns();\n const palette = Palette.rainbow(this.paletteID());\n const min = this.min();\n const max = this.max();\n const valueColIdx = this.valueColumn() ? columns.indexOf(this.valueColumn()) : undefined;\n return function (this: ColumnType, row: RowType, cell: any, cellElement: HTMLElement): HTMLElement | void {\n if (defaultRenderCell) {\n defaultRenderCell.call(this, row, cell, cellElement);\n }\n const value = valueColIdx ? row.__origRow[valueColIdx] : cell;\n const background = palette(value, min, max);\n const cellText: any = defaultFormatter.call(this, cell, row);\n d3Select(cellElement)\n .style(\"background\", background)\n .style(\"color\", background && Palette.textColor(background))\n .text(cellText?.html ?? cellText ?? cell)\n ;\n };\n }\n return defaultRenderCell;\n }\n}\nColumnFormat.prototype._class += \" dgrid_Table.ColumnFormat\";\n\nexport interface ColumnFormat {\n column(): string;\n column(_: string): this;\n width(): number;\n width(_: number): this;\n format(): string;\n format(_: string): this;\n paletteID(): string;\n paletteID(_: string): this;\n min(): number;\n min(_: number): this;\n max(): number;\n max(_: number): this;\n valueColumn(): string;\n valueColumn(_: string): this;\n}\nColumnFormat.prototype.publish(\"column\", null, \"set\", \"Column\", function (this: ColumnFormat) { return this._owner.columns(); }, { optional: true });\nColumnFormat.prototype.publish(\"width\", null, \"number\", \"Width\", null, { optional: true });\nColumnFormat.prototype.publish(\"format\", null, \"string\", \"Format (d3-format)\", null, { optional: true });\nColumnFormat.prototype.publish(\"paletteID\", null, \"set\", \"Color palette for this widget\", [\"\", ...Palette.rainbow(\"default\").switch()], { optional: true });\nColumnFormat.prototype.publish(\"min\", 0, \"number\", \"Min Value\", null, { disable: (cf: ColumnFormat) => !cf.paletteID() });\nColumnFormat.prototype.publish(\"max\", 100, \"number\", \"Max Value\", null, { disable: (cf: ColumnFormat) => !cf.paletteID() });\nColumnFormat.prototype.publish(\"valueColumn\", null, \"set\", \"Column\", function (this: ColumnFormat) { return this._owner.columns(); }, { optional: true, disable: (cf: ColumnFormat) => !cf.paletteID() });\n\n// Table ---\nexport class Table extends Common {\n private _prevColsHash;\n private _prevFieldsHash;\n _colsRefresh = false;\n _dataRefresh = false;\n\n constructor() {\n super();\n }\n\n fields(): Field[];\n fields(_: Field[]): this;\n fields(_?: Field[]): Field[] | this {\n const retVal = super.fields.apply(this, arguments as any);\n if (arguments.length) {\n const hash = hashSum({ _ });\n if (this._prevFieldsHash !== hash) {\n this._prevFieldsHash = hash;\n this._colsRefresh = true;\n }\n }\n return retVal;\n }\n\n columns(): string[];\n columns(_: string[], asDefault?: boolean): this;\n columns(_?: string[], asDefault?: boolean): string[] | this {\n const retVal = super.columns.apply(this, arguments as any);\n if (arguments.length) {\n const hash = hashSum({ _ });\n if (this._prevColsHash !== hash) {\n this._prevColsHash = hash;\n this._colsRefresh = true;\n }\n }\n return retVal;\n }\n\n data(): any;\n data(_: any): this;\n data(_?: any): any | this {\n const retVal = super.data.apply(this, arguments as any);\n if (arguments.length) {\n this._dataRefresh = true;\n }\n return retVal;\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n }\n\n guessWidth(columns, data) {\n const sortablePadding = this.sortable() ? 12 : 0;\n for (const column of columns) {\n if (column.children) {\n let sampleData = [];\n for (let i = 0; i < Math.min(3, data.length); ++i) {\n sampleData = sampleData.concat(data[i][column.idx]);\n }\n this.guessWidth(column.children, sampleData);\n } else {\n column.width = data.reduce((prevVal: number, row) => {\n const cell = (\"\" + row[column.idx]).trim();\n return Math.max(prevVal, this.textSize(cell).width);\n }, this.textSize(\"\" + column.label, undefined, undefined, true).width + sortablePadding) + 8; // +12 for the sort icon, +8 for the cell padding.\n }\n }\n }\n\n _prevHash;\n update(domNode, element) {\n super.update(domNode, element);\n const hash = this.hashSum();\n if (this._prevHash !== hash) {\n this._prevHash = hash;\n this._colsRefresh = true;\n }\n if (this._colsRefresh) {\n this._columns = this._store.columns(this.sortable(), this.formatterFunc(), this.renderCellFunc());\n switch (this.columnWidth()) {\n case \"auto\":\n const tenRows = this.data().filter((row, idx) => idx < 10);\n this.guessWidth(this._columns, tenRows);\n break;\n }\n const columns = this.columns();\n for (const columnFormat of this.columnFormats()) {\n if (columnFormat.valid()) {\n const colIdx = columns.indexOf(columnFormat.column());\n if (this._columns[colIdx]) {\n this._columns[colIdx].hidden = columnFormat.width() === 0;\n this._columns[colIdx].width = columnFormat.width() || this._columns[colIdx].width;\n this._columns[colIdx].formatter = columnFormat.formatterFunc();\n this._columns[colIdx].renderCell = columnFormat.renderCellFunc();\n }\n }\n }\n this._dgrid.set(\"columns\", this._columns.filter(col => !col.hidden));\n this._colsRefresh = false;\n }\n if (this._colsRefresh || this._dataRefresh) {\n if (this._colsRefresh) {\n this._dgrid.refresh({});\n } else {\n this._dgrid.refresh();\n }\n this._colsRefresh = false;\n this._dataRefresh = false;\n }\n }\n\n exit(domNode, element) {\n delete this._prevColsHash;\n delete this._prevFieldsHash;\n super.exit(domNode, element);\n }\n\n // Cell ---\n formatterFunc(): CellFormatter | undefined {\n return function (this: ColumnType, cell: any, row: RowType): string | any {\n switch (typeof cell) {\n case \"string\":\n return {\n html: cell.replace(/\\t/g, \" \").trim()\n };\n case \"undefined\":\n return \"\";\n }\n return cell;\n };\n }\n\n renderCellFunc(): CellRenderer | undefined {\n return undefined; // Undefined will defualt to formatter ---\n }\n\n // Events ---\n click(row, col, sel) {\n }\n}\nTable.prototype._class += \" dgrid_Table\";\n\nexport interface Table {\n columnWidth(): \"auto\" | \"none\";\n columnWidth(_: \"auto\" | \"none\"): this;\n columnFormats(): ColumnFormat[];\n columnFormats(_: ColumnFormat[]): this;\n}\n\nTable.prototype.publish(\"columnWidth\", \"auto\", \"set\", \"Default column width\", [\"auto\", \"none\"]);\nTable.prototype.publish(\"columnFormats\", [], \"propertyArray\", \"Source Columns\", null, { autoExpand: ColumnFormat });\n","export const PKG_NAME = \"@hpcc-js/dgrid\";\nexport const PKG_VERSION = \"3.1.0\";\nexport const BUILD_VERSION = \"3.2.1\";\n"],"names":["globalThis","console","error","Deferred","Memory","QueryResults","Grid","PagingGrid","domConstruct","entitiesEncode","str","String","replace","safeEncode","item","Object","prototype","toString","call","warn","isArray","obj","Array","__name","_RowFormatter","constructor","columns","_renderHtml","this","_columns","flattenColumns","_flattenedColumns","_columnIdx","_formattedRow","column","flattenColumn","children","childColumn","field","length","push","format","row","formatRow","calcDepth","maxChildDepth","leafID","childDepth","childRows","Row","childRow","Math","max","formatCell","cell","isSet","JSON","stringify","Item","paddingArr","padding","join","rowIdx","retVal","RowFormatter","_DBStore","_db","Model","idProperty","db","renderHtml","_","db2Columns","sortable","fields","prefix","formatter","renderCell","map","idx","label","className","type","getIdentity","object","__hpcc_id","get","_fetchRange","opts","rowFormatter","data","slice","start","end","__origRow","fetchRange","totalLength","resolve","sort","l","r","property","descending","DBStore","_Common","HTMLWidget","_store","_dgridDiv","_dgrid","_prevPaging","_prevSortBy","_prevSortByDescending","_prevMultiSelect","super","_tag","formatSortBy","indexOf","sortBy","sortByDescending","_supressEvents","selection","arguments","id","storeItem","rowToObj","clearSelection","first","forEach","element","scrollIntoView","select","enter","domNode","append","attr","update","pagination","multiSelect","destroy","collection","selectionMode","deselectOnRefresh","cellNavigation","pagingLinks","pagingTextBox","previousNextArrows","firstLastArrows","rowsPerPage","pageSize","pageSizeOptions","node","on","evt","rows","click","refresh","noDataMessage","loadingMessage","style","width","height","resize","exit","col","sel","more","Common","_class","publish","optional","disable","self","_DatasourceCache","_datasource","_prevHash","_fetchCache","datasource","validateCache","hash","outFields","total","fetch","from","count","cacheID","DatasourceCache","_DatasourceStore","_columnsIdx","_request","Promise","then","response","formattedRow","options","DatasourceStore","_DatasourceTable","_prevDatasource","invalidate","render","callback","w","set","store","DatasourceTable","_ColumnFormat","PropertyExt","_owner","owner","valid","formatterFunc","defaultFormatter","numberFormatter","d3Format","renderCellFunc","defaultRenderCell","paletteID","palette","Palette","rainbow","min","valueColIdx","valueColumn","cellElement","value","background","cellText","d3Select","textColor","text","html","ColumnFormat","switch","cf","_Table","_prevColsHash","_prevFieldsHash","_colsRefresh","_dataRefresh","apply","hashSum","asDefault","guessWidth","sortablePadding","sampleData","i","concat","reduce","prevVal","trim","textSize","columnWidth","tenRows","filter","columnFormat","columnFormats","colIdx","hidden","Table","autoExpand"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hpcc-js/dgrid",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.3.1",
|
|
4
4
|
"description": "hpcc-js - Viz DGrid",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.umd.cjs",
|
|
@@ -37,16 +37,16 @@
|
|
|
37
37
|
"update-major": "npx --yes npm-check-updates -u"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@hpcc-js/common": "^3.
|
|
41
|
-
"@hpcc-js/util": "^3.3.
|
|
40
|
+
"@hpcc-js/common": "^3.4.1",
|
|
41
|
+
"@hpcc-js/util": "^3.3.11"
|
|
42
42
|
},
|
|
43
43
|
"peerDependencies": {
|
|
44
44
|
"@hpcc-js/dgrid-shim": "^3.1.0"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
47
|
"@hpcc-js/ddl-shim": "^3.0.0",
|
|
48
|
-
"@hpcc-js/esbuild-plugins": "^1.
|
|
49
|
-
"@testing-library/dom": "10.4.
|
|
48
|
+
"@hpcc-js/esbuild-plugins": "^1.5.1",
|
|
49
|
+
"@testing-library/dom": "10.4.1",
|
|
50
50
|
"d3-format": "^1",
|
|
51
51
|
"d3-selection": "^1"
|
|
52
52
|
},
|
|
@@ -61,5 +61,5 @@
|
|
|
61
61
|
"url": "https://github.com/hpcc-systems/Visualization/issues"
|
|
62
62
|
},
|
|
63
63
|
"homepage": "https://github.com/hpcc-systems/Visualization",
|
|
64
|
-
"gitHead": "
|
|
64
|
+
"gitHead": "111cb62ebdf2ab518e094f321223ca3ebdc628bd"
|
|
65
65
|
}
|