@vuu-ui/vuu-table 0.6.16-debug → 0.6.17-debug
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/cjs/index.js +211 -17
- package/cjs/index.js.map +4 -4
- package/esm/index.js +211 -17
- package/esm/index.js.map +4 -4
- package/package.json +2 -2
- package/types/useDataTable.d.ts +1 -1
- package/types/useDraggableColumn.d.ts +1 -1
package/cjs/index.js
CHANGED
|
@@ -18654,6 +18654,56 @@ var FilterExpression = class {
|
|
|
18654
18654
|
}
|
|
18655
18655
|
};
|
|
18656
18656
|
_filter = new WeakMap();
|
|
18657
|
+
var walkTree = (tree, source) => {
|
|
18658
|
+
const filterExpression = new FilterExpression();
|
|
18659
|
+
const cursor = tree.cursor();
|
|
18660
|
+
do {
|
|
18661
|
+
const { name: name2, from, to } = cursor;
|
|
18662
|
+
switch (name2) {
|
|
18663
|
+
case "ColumnValueExpression":
|
|
18664
|
+
filterExpression.add({});
|
|
18665
|
+
break;
|
|
18666
|
+
case "ColumnSetExpression":
|
|
18667
|
+
filterExpression.add({ op: "in" });
|
|
18668
|
+
break;
|
|
18669
|
+
case "Or":
|
|
18670
|
+
case "And":
|
|
18671
|
+
filterExpression.setFilterCombinatorOp(source.substring(from, to));
|
|
18672
|
+
break;
|
|
18673
|
+
case "Column":
|
|
18674
|
+
filterExpression.setColumn(source.substring(from, to));
|
|
18675
|
+
break;
|
|
18676
|
+
case "Operator":
|
|
18677
|
+
filterExpression.setOp(source.substring(from, to));
|
|
18678
|
+
break;
|
|
18679
|
+
case "String":
|
|
18680
|
+
filterExpression.setValue(source.substring(from + 1, to - 1));
|
|
18681
|
+
break;
|
|
18682
|
+
case "Number":
|
|
18683
|
+
filterExpression.setValue(parseFloat(source.substring(from, to)));
|
|
18684
|
+
break;
|
|
18685
|
+
case "True":
|
|
18686
|
+
filterExpression.setValue(true);
|
|
18687
|
+
break;
|
|
18688
|
+
case "False":
|
|
18689
|
+
filterExpression.setValue(false);
|
|
18690
|
+
break;
|
|
18691
|
+
case "FilterName":
|
|
18692
|
+
filterExpression.name = source.substring(from, to);
|
|
18693
|
+
break;
|
|
18694
|
+
default:
|
|
18695
|
+
}
|
|
18696
|
+
} while (cursor.next());
|
|
18697
|
+
return filterExpression.toJSON();
|
|
18698
|
+
};
|
|
18699
|
+
|
|
18700
|
+
// ../vuu-filters/src/filter-input/filter-language-parser/FilterParser.ts
|
|
18701
|
+
var strictParser = parser.configure({ strict: true });
|
|
18702
|
+
var parseFilter = (filterQuery) => {
|
|
18703
|
+
const parseTree = strictParser.parse(filterQuery);
|
|
18704
|
+
const filter = walkTree(parseTree, filterQuery);
|
|
18705
|
+
return filter;
|
|
18706
|
+
};
|
|
18657
18707
|
|
|
18658
18708
|
// ../vuu-filters/src/filter-input/highlighting.ts
|
|
18659
18709
|
var myHighlightStyle = HighlightStyle.define([
|
|
@@ -18746,7 +18796,77 @@ var import_vuu_utils8 = require("@vuu-ui/vuu-utils");
|
|
|
18746
18796
|
|
|
18747
18797
|
// ../vuu-data/src/data-source.ts
|
|
18748
18798
|
var isSizeOnly = (message) => message.type === "viewport-update" && message.mode === "size-only";
|
|
18799
|
+
var exactlyTheSame = (a, b) => {
|
|
18800
|
+
if (a === b) {
|
|
18801
|
+
return true;
|
|
18802
|
+
} else if (a === void 0 && b === void 0) {
|
|
18803
|
+
return true;
|
|
18804
|
+
} else {
|
|
18805
|
+
return false;
|
|
18806
|
+
}
|
|
18807
|
+
};
|
|
18808
|
+
var filterChanged = (c1, c2) => {
|
|
18809
|
+
var _a2, _b;
|
|
18810
|
+
return ((_a2 = c1.filter) == null ? void 0 : _a2.filter) !== ((_b = c2.filter) == null ? void 0 : _b.filter);
|
|
18811
|
+
};
|
|
18812
|
+
var sortChanged = ({ sort: s1 }, { sort: s2 }) => {
|
|
18813
|
+
if (exactlyTheSame(s1, s2)) {
|
|
18814
|
+
return false;
|
|
18815
|
+
} else if (s1 === void 0 || s2 === void 0) {
|
|
18816
|
+
return true;
|
|
18817
|
+
} else if ((s1 == null ? void 0 : s1.sortDefs.length) !== (s2 == null ? void 0 : s2.sortDefs.length)) {
|
|
18818
|
+
return true;
|
|
18819
|
+
}
|
|
18820
|
+
return s1.sortDefs.some(
|
|
18821
|
+
({ column, sortType }, i) => column !== s2.sortDefs[i].column || sortType !== s2.sortDefs[i].sortType
|
|
18822
|
+
);
|
|
18823
|
+
};
|
|
18824
|
+
var groupByChanged = ({ groupBy: g1 }, { groupBy: g2 }) => {
|
|
18825
|
+
if (exactlyTheSame(g1, g2)) {
|
|
18826
|
+
return false;
|
|
18827
|
+
} else if (g1 === void 0 || g2 === void 0) {
|
|
18828
|
+
return true;
|
|
18829
|
+
} else if ((g1 == null ? void 0 : g1.length) !== (g2 == null ? void 0 : g2.length)) {
|
|
18830
|
+
return true;
|
|
18831
|
+
}
|
|
18832
|
+
return g1.some((column, i) => column !== (g2 == null ? void 0 : g2[i]));
|
|
18833
|
+
};
|
|
18834
|
+
var columnsChanged = ({ columns: cols1 }, { columns: cols2 }) => {
|
|
18835
|
+
if (exactlyTheSame(cols1, cols2)) {
|
|
18836
|
+
return false;
|
|
18837
|
+
} else if (cols1 === void 0 || cols2 === void 0) {
|
|
18838
|
+
return true;
|
|
18839
|
+
} else if ((cols1 == null ? void 0 : cols1.length) !== (cols2 == null ? void 0 : cols2.length)) {
|
|
18840
|
+
return true;
|
|
18841
|
+
}
|
|
18842
|
+
return cols1.some((column, i) => column !== (cols2 == null ? void 0 : cols2[i]));
|
|
18843
|
+
};
|
|
18844
|
+
var aggregationsChanged = ({ aggregations: agg1 }, { aggregations: agg2 }) => {
|
|
18845
|
+
if (exactlyTheSame(agg1, agg2)) {
|
|
18846
|
+
return false;
|
|
18847
|
+
} else if (agg1 === void 0 || agg2 === void 0) {
|
|
18848
|
+
return true;
|
|
18849
|
+
} else if (agg1.length !== agg2.length) {
|
|
18850
|
+
return true;
|
|
18851
|
+
}
|
|
18852
|
+
return agg1.some(
|
|
18853
|
+
({ column, aggType }, i) => column !== agg2[i].column || aggType !== agg2[i].aggType
|
|
18854
|
+
);
|
|
18855
|
+
};
|
|
18856
|
+
var visualLinkChanged = () => {
|
|
18857
|
+
return false;
|
|
18858
|
+
};
|
|
18859
|
+
var configChanged2 = (config, newConfig) => {
|
|
18860
|
+
if (exactlyTheSame(config, newConfig)) {
|
|
18861
|
+
return false;
|
|
18862
|
+
}
|
|
18863
|
+
if (config === void 0 || newConfig === void 0) {
|
|
18864
|
+
return true;
|
|
18865
|
+
}
|
|
18866
|
+
return columnsChanged(config, newConfig) || filterChanged(config, newConfig) || sortChanged(config, newConfig) || groupByChanged(config, newConfig) || aggregationsChanged(config, newConfig) || visualLinkChanged(config, newConfig);
|
|
18867
|
+
};
|
|
18749
18868
|
var datasourceMessages = [
|
|
18869
|
+
"config",
|
|
18750
18870
|
"aggregate",
|
|
18751
18871
|
"viewport-update",
|
|
18752
18872
|
"columns",
|
|
@@ -18766,7 +18886,9 @@ var shouldMessageBeRoutedToDataSource = (message) => {
|
|
|
18766
18886
|
const type = message.type;
|
|
18767
18887
|
return datasourceMessages.includes(type);
|
|
18768
18888
|
};
|
|
18769
|
-
var isDataSourceConfigMessage = (message) => ["aggregate", "columns", "filter", "groupBy", "sort"].includes(
|
|
18889
|
+
var isDataSourceConfigMessage = (message) => ["config", "aggregate", "columns", "filter", "groupBy", "sort"].includes(
|
|
18890
|
+
message.type
|
|
18891
|
+
);
|
|
18770
18892
|
|
|
18771
18893
|
// ../vuu-data/src/server-proxy/messages.ts
|
|
18772
18894
|
var GET_TABLE_LIST = "GET_TABLE_LIST";
|
|
@@ -19537,6 +19659,9 @@ var ArrayBackedMovingWindow = class {
|
|
|
19537
19659
|
};
|
|
19538
19660
|
_range = new WeakMap();
|
|
19539
19661
|
|
|
19662
|
+
// src/data-source.ts
|
|
19663
|
+
var hasGroupBy = (config) => config !== void 0 && config.groupBy !== void 0 && config.groupBy.length > 0;
|
|
19664
|
+
|
|
19540
19665
|
// src/server-proxy/viewport.ts
|
|
19541
19666
|
var EMPTY_GROUPBY = [];
|
|
19542
19667
|
var { debug: debug3, debugEnabled: debugEnabled3, error: error2, info: info2, infoEnabled, warn: warn2 } = logger("viewport");
|
|
@@ -19690,9 +19815,24 @@ var Viewport = class {
|
|
|
19690
19815
|
warn2 == null ? void 0 : warn2("range requests sent faster than they are being ACKed");
|
|
19691
19816
|
}
|
|
19692
19817
|
}
|
|
19818
|
+
} else if (type === "config") {
|
|
19819
|
+
if (hasGroupBy(pendingOperation.data)) {
|
|
19820
|
+
this.isTree = true;
|
|
19821
|
+
this.groupBy = pendingOperation.data.groupBy;
|
|
19822
|
+
} else if (this.isTree) {
|
|
19823
|
+
this.isTree = false;
|
|
19824
|
+
this.groupBy = [];
|
|
19825
|
+
}
|
|
19826
|
+
debug3 == null ? void 0 : debug3(\`config change confirmed, isTree : \${this.isTree}\`);
|
|
19827
|
+
return {
|
|
19828
|
+
clientViewportId,
|
|
19829
|
+
type,
|
|
19830
|
+
config: pendingOperation.data
|
|
19831
|
+
};
|
|
19693
19832
|
} else if (type === "groupBy") {
|
|
19694
19833
|
this.isTree = pendingOperation.data.length > 0;
|
|
19695
19834
|
this.groupBy = pendingOperation.data;
|
|
19835
|
+
debug3 == null ? void 0 : debug3(\`groupBy change confirmed, isTree : \${this.isTree}\`);
|
|
19696
19836
|
return {
|
|
19697
19837
|
clientViewportId,
|
|
19698
19838
|
type,
|
|
@@ -19950,6 +20090,22 @@ var Viewport = class {
|
|
|
19950
20090
|
info2 == null ? void 0 : info2(\`filterRequest: \${filter}\`);
|
|
19951
20091
|
return this.createRequest({ filterSpec: { filter } });
|
|
19952
20092
|
}
|
|
20093
|
+
setConfig(requestId, config) {
|
|
20094
|
+
this.awaitOperation(requestId, { type: "config", data: config });
|
|
20095
|
+
const { filter, ...remainingConfig } = config;
|
|
20096
|
+
debugEnabled3 ? debug3 == null ? void 0 : debug3(\`setConfig \${JSON.stringify(config)}\`) : info2 == null ? void 0 : info2(\`setConfig\`);
|
|
20097
|
+
return this.createRequest(
|
|
20098
|
+
{
|
|
20099
|
+
...remainingConfig,
|
|
20100
|
+
filterSpec: typeof (filter == null ? void 0 : filter.filter) === "string" ? {
|
|
20101
|
+
filter: filter.filter
|
|
20102
|
+
} : {
|
|
20103
|
+
filter: ""
|
|
20104
|
+
}
|
|
20105
|
+
},
|
|
20106
|
+
true
|
|
20107
|
+
);
|
|
20108
|
+
}
|
|
19953
20109
|
aggregateRequest(requestId, aggregations) {
|
|
19954
20110
|
this.awaitOperation(requestId, { type: "aggregate", data: aggregations });
|
|
19955
20111
|
info2 == null ? void 0 : info2(\`aggregateRequest: \${aggregations}\`);
|
|
@@ -20051,19 +20207,27 @@ var Viewport = class {
|
|
|
20051
20207
|
}
|
|
20052
20208
|
return [out, mode];
|
|
20053
20209
|
}
|
|
20054
|
-
createRequest(params) {
|
|
20055
|
-
|
|
20056
|
-
|
|
20057
|
-
|
|
20058
|
-
|
|
20059
|
-
|
|
20060
|
-
|
|
20061
|
-
|
|
20062
|
-
|
|
20063
|
-
|
|
20064
|
-
|
|
20065
|
-
|
|
20066
|
-
|
|
20210
|
+
createRequest(params, overWrite = false) {
|
|
20211
|
+
if (overWrite) {
|
|
20212
|
+
return {
|
|
20213
|
+
type: "CHANGE_VP",
|
|
20214
|
+
viewPortId: this.serverViewportId,
|
|
20215
|
+
...params
|
|
20216
|
+
};
|
|
20217
|
+
} else {
|
|
20218
|
+
return {
|
|
20219
|
+
type: "CHANGE_VP",
|
|
20220
|
+
viewPortId: this.serverViewportId,
|
|
20221
|
+
aggregations: this.aggregations,
|
|
20222
|
+
columns: this.columns,
|
|
20223
|
+
sort: this.sort,
|
|
20224
|
+
groupBy: this.groupBy,
|
|
20225
|
+
filterSpec: {
|
|
20226
|
+
filter: this.filter.filter
|
|
20227
|
+
},
|
|
20228
|
+
...params
|
|
20229
|
+
};
|
|
20230
|
+
}
|
|
20067
20231
|
}
|
|
20068
20232
|
};
|
|
20069
20233
|
var toClientRow = ({ rowIndex, rowKey, sel: isSelected, data }, keys) => {
|
|
@@ -20269,6 +20433,11 @@ var ServerProxy = class {
|
|
|
20269
20433
|
this.postMessageToClient(debounceRequest);
|
|
20270
20434
|
}
|
|
20271
20435
|
}
|
|
20436
|
+
setConfig(viewport, message) {
|
|
20437
|
+
const requestId = nextRequestId();
|
|
20438
|
+
const request = viewport.setConfig(requestId, message.config);
|
|
20439
|
+
this.sendIfReady(request, requestId, viewport.status === "subscribed");
|
|
20440
|
+
}
|
|
20272
20441
|
aggregate(viewport, message) {
|
|
20273
20442
|
const requestId = nextRequestId();
|
|
20274
20443
|
const request = viewport.aggregateRequest(requestId, message.aggregations);
|
|
@@ -20426,6 +20595,8 @@ var ServerProxy = class {
|
|
|
20426
20595
|
switch (message.type) {
|
|
20427
20596
|
case "setViewRange":
|
|
20428
20597
|
return this.setViewRange(viewport, message);
|
|
20598
|
+
case "config":
|
|
20599
|
+
return this.setConfig(viewport, message);
|
|
20429
20600
|
case "aggregate":
|
|
20430
20601
|
return this.aggregate(viewport, message);
|
|
20431
20602
|
case "sort":
|
|
@@ -21991,6 +22162,32 @@ var RemoteDataSource = class extends import_vuu_utils13.EventEmitter {
|
|
|
21991
22162
|
get config() {
|
|
21992
22163
|
return __privateGet(this, _config);
|
|
21993
22164
|
}
|
|
22165
|
+
set config(config) {
|
|
22166
|
+
var _a2;
|
|
22167
|
+
if (configChanged2(__privateGet(this, _config), config)) {
|
|
22168
|
+
if ((config == null ? void 0 : config.filter) && (config == null ? void 0 : config.filter.filterStruct) === void 0) {
|
|
22169
|
+
__privateSet(this, _config, {
|
|
22170
|
+
...config,
|
|
22171
|
+
filter: {
|
|
22172
|
+
filter: config.filter.filter,
|
|
22173
|
+
filterStruct: parseFilter(config.filter.filter)
|
|
22174
|
+
}
|
|
22175
|
+
});
|
|
22176
|
+
} else {
|
|
22177
|
+
__privateSet(this, _config, config);
|
|
22178
|
+
}
|
|
22179
|
+
if (__privateGet(this, _config) && this.viewport && this.server) {
|
|
22180
|
+
if (config) {
|
|
22181
|
+
(_a2 = this.server) == null ? void 0 : _a2.send({
|
|
22182
|
+
viewport: this.viewport,
|
|
22183
|
+
type: "config",
|
|
22184
|
+
config: __privateGet(this, _config)
|
|
22185
|
+
});
|
|
22186
|
+
}
|
|
22187
|
+
}
|
|
22188
|
+
this.emit("config", __privateGet(this, _config));
|
|
22189
|
+
}
|
|
22190
|
+
}
|
|
21994
22191
|
get optimize() {
|
|
21995
22192
|
return __privateGet(this, _optimize);
|
|
21996
22193
|
}
|
|
@@ -22223,9 +22420,6 @@ var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
|
22223
22420
|
// ../vuu-filters/src/filter-toolbar/FilterToolbar.tsx
|
|
22224
22421
|
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
22225
22422
|
|
|
22226
|
-
// ../vuu-filters/src/filter-input/filter-language-parser/FilterParser.ts
|
|
22227
|
-
var strictParser = parser.configure({ strict: true });
|
|
22228
|
-
|
|
22229
22423
|
// ../vuu-filters/src/filter-utils.ts
|
|
22230
22424
|
var import_vuu_utils15 = require("@vuu-ui/vuu-utils");
|
|
22231
22425
|
|