@vuu-ui/vuu-data-test 3.0.0 → 3.1.0-beta.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/package.json +15 -12
- package/src/ArrayProxy.mjs +38 -0
- package/src/RuntimeVisualLink.mjs +45 -0
- package/src/Table.mjs +96 -0
- package/src/TickingArrayDataSource.mjs +265 -0
- package/src/UpdateGenerator.mjs +72 -0
- package/src/basket/BasketModule.mjs +272 -0
- package/src/basket/basket-schemas.mjs +366 -0
- package/src/basket/index.mjs +2 -0
- package/src/basket/reference-data/constituents.mjs +76 -0
- package/src/basket/reference-data/ftse100.mjs +686 -0
- package/src/basket/reference-data/hsi.mjs +1047 -0
- package/src/basket/reference-data/nasdaq100.mjs +812 -0
- package/src/basket/reference-data/prices.mjs +43 -0
- package/src/basket/reference-data/sp500.mjs +315 -0
- package/src/core/module/ModuleContainer.mjs +21 -0
- package/src/core/module/VuuModule.mjs +635 -0
- package/src/core/table/TableContainer.mjs +102 -0
- package/src/data-utils.mjs +57 -0
- package/src/default-column-definitions.mjs +15 -0
- package/src/index.mjs +12 -0
- package/src/local-datasource-provider/LocalDatasourceProvider.mjs +44 -0
- package/src/makeSuggestions.mjs +20 -0
- package/src/rowUpdates.mjs +0 -0
- package/src/schemas.mjs +19 -0
- package/src/session-table-utils.mjs +31 -0
- package/src/simul/SimulModule.mjs +175 -0
- package/src/simul/index.mjs +2 -0
- package/src/simul/reference-data/accounts.mjs +23 -0
- package/src/simul/reference-data/algos.mjs +9 -0
- package/src/simul/reference-data/currencies.mjs +8 -0
- package/src/simul/reference-data/index.mjs +5 -0
- package/src/simul/reference-data/instrument-prices.mjs +48 -0
- package/src/simul/reference-data/instruments-extended.mjs +12 -0
- package/src/simul/reference-data/instruments.mjs +69 -0
- package/src/simul/reference-data/isin-generator/convert-string-to-base-ten-number.mjs +2 -0
- package/src/simul/reference-data/isin-generator/fixtures/alphabet.mjs +27 -0
- package/src/simul/reference-data/isin-generator/fixtures/alphanumeric-values.mjs +7 -0
- package/src/simul/reference-data/isin-generator/fixtures/base-ten-numbers.mjs +13 -0
- package/src/simul/reference-data/isin-generator/generate-cusip-check-code.mjs +17 -0
- package/src/simul/reference-data/isin-generator/generate-cusip-without-check-code.mjs +8 -0
- package/src/simul/reference-data/isin-generator/generate-cusip.mjs +8 -0
- package/src/simul/reference-data/isin-generator/generate-random-alphanumeric.mjs +3 -0
- package/src/simul/reference-data/isin-generator/generate-random-base-ten-number.mjs +2 -0
- package/src/simul/reference-data/isin-generator/generate-random-string-of-alphanumeric-chars.mjs +7 -0
- package/src/simul/reference-data/isin-generator/generate-random-string-of-base-ten-chars.mjs +7 -0
- package/src/simul/reference-data/isin-generator/index.mjs +280 -0
- package/src/simul/reference-data/isin-generator/is-odd.mjs +2 -0
- package/src/simul/reference-data/locations.mjs +45 -0
- package/src/simul/reference-data/lotsizes.mjs +24 -0
- package/src/simul/reference-data/orderStatus.mjs +6 -0
- package/src/simul/reference-data/orders.mjs +64 -0
- package/src/simul/reference-data/parent-child-orders.mjs +119 -0
- package/src/simul/reference-data/priceStrategies.mjs +8 -0
- package/src/simul/reference-data/prices.mjs +80 -0
- package/src/simul/reference-data/sides.mjs +5 -0
- package/src/simul/simul-schemas.mjs +430 -0
- package/src/test/TestModule.mjs +582 -0
- package/src/test/index.mjs +1 -0
- package/src/vuu-row-generator.mjs +71 -0
- package/cjs/ArrayProxy.js +0 -72
- package/cjs/ArrayProxy.js.map +0 -1
- package/cjs/RuntimeVisualLink.js +0 -73
- package/cjs/RuntimeVisualLink.js.map +0 -1
- package/cjs/Table.js +0 -128
- package/cjs/Table.js.map +0 -1
- package/cjs/TickingArrayDataSource.js +0 -343
- package/cjs/TickingArrayDataSource.js.map +0 -1
- package/cjs/UpdateGenerator.js +0 -94
- package/cjs/UpdateGenerator.js.map +0 -1
- package/cjs/basket/BasketModule.js +0 -282
- package/cjs/basket/BasketModule.js.map +0 -1
- package/cjs/basket/basket-schemas.js +0 -134
- package/cjs/basket/basket-schemas.js.map +0 -1
- package/cjs/basket/reference-data/constituents.js +0 -40
- package/cjs/basket/reference-data/constituents.js.map +0 -1
- package/cjs/basket/reference-data/ftse100.js +0 -105
- package/cjs/basket/reference-data/ftse100.js.map +0 -1
- package/cjs/basket/reference-data/hsi.js +0 -87
- package/cjs/basket/reference-data/hsi.js.map +0 -1
- package/cjs/basket/reference-data/nasdaq100.js +0 -108
- package/cjs/basket/reference-data/nasdaq100.js.map +0 -1
- package/cjs/basket/reference-data/sp500.js +0 -46
- package/cjs/basket/reference-data/sp500.js.map +0 -1
- package/cjs/core/module/ModuleContainer.js +0 -43
- package/cjs/core/module/ModuleContainer.js.map +0 -1
- package/cjs/core/module/VuuModule.js +0 -843
- package/cjs/core/module/VuuModule.js.map +0 -1
- package/cjs/core/table/TableContainer.js +0 -144
- package/cjs/core/table/TableContainer.js.map +0 -1
- package/cjs/data-utils.js +0 -55
- package/cjs/data-utils.js.map +0 -1
- package/cjs/default-column-definitions.js +0 -10
- package/cjs/default-column-definitions.js.map +0 -1
- package/cjs/index.js +0 -44
- package/cjs/index.js.map +0 -1
- package/cjs/local-datasource-provider/LocalDatasourceProvider.js +0 -70
- package/cjs/local-datasource-provider/LocalDatasourceProvider.js.map +0 -1
- package/cjs/makeSuggestions.js +0 -26
- package/cjs/makeSuggestions.js.map +0 -1
- package/cjs/schemas.js +0 -28
- package/cjs/schemas.js.map +0 -1
- package/cjs/session-table-utils.js +0 -29
- package/cjs/session-table-utils.js.map +0 -1
- package/cjs/simul/SimulModule.js +0 -187
- package/cjs/simul/SimulModule.js.map +0 -1
- package/cjs/simul/reference-data/accounts.js +0 -27
- package/cjs/simul/reference-data/accounts.js.map +0 -1
- package/cjs/simul/reference-data/algos.js +0 -6
- package/cjs/simul/reference-data/algos.js.map +0 -1
- package/cjs/simul/reference-data/currencies.js +0 -6
- package/cjs/simul/reference-data/currencies.js.map +0 -1
- package/cjs/simul/reference-data/instruments-extended.js +0 -19
- package/cjs/simul/reference-data/instruments-extended.js.map +0 -1
- package/cjs/simul/reference-data/instruments.js +0 -87
- package/cjs/simul/reference-data/instruments.js.map +0 -1
- package/cjs/simul/reference-data/isin-generator/convert-string-to-base-ten-number.js +0 -6
- package/cjs/simul/reference-data/isin-generator/convert-string-to-base-ten-number.js.map +0 -1
- package/cjs/simul/reference-data/isin-generator/fixtures/alphabet.js +0 -31
- package/cjs/simul/reference-data/isin-generator/fixtures/alphabet.js.map +0 -1
- package/cjs/simul/reference-data/isin-generator/fixtures/alphanumeric-values.js +0 -9
- package/cjs/simul/reference-data/isin-generator/fixtures/alphanumeric-values.js.map +0 -1
- package/cjs/simul/reference-data/isin-generator/fixtures/base-ten-numbers.js +0 -17
- package/cjs/simul/reference-data/isin-generator/fixtures/base-ten-numbers.js.map +0 -1
- package/cjs/simul/reference-data/isin-generator/generate-cusip-check-code.js +0 -24
- package/cjs/simul/reference-data/isin-generator/generate-cusip-check-code.js.map +0 -1
- package/cjs/simul/reference-data/isin-generator/generate-cusip-without-check-code.js +0 -13
- package/cjs/simul/reference-data/isin-generator/generate-cusip-without-check-code.js.map +0 -1
- package/cjs/simul/reference-data/isin-generator/generate-cusip.js +0 -13
- package/cjs/simul/reference-data/isin-generator/generate-cusip.js.map +0 -1
- package/cjs/simul/reference-data/isin-generator/generate-random-alphanumeric.js +0 -8
- package/cjs/simul/reference-data/isin-generator/generate-random-alphanumeric.js.map +0 -1
- package/cjs/simul/reference-data/isin-generator/generate-random-base-ten-number.js +0 -6
- package/cjs/simul/reference-data/isin-generator/generate-random-base-ten-number.js.map +0 -1
- package/cjs/simul/reference-data/isin-generator/generate-random-string-of-alphanumeric-chars.js +0 -14
- package/cjs/simul/reference-data/isin-generator/generate-random-string-of-alphanumeric-chars.js.map +0 -1
- package/cjs/simul/reference-data/isin-generator/generate-random-string-of-base-ten-chars.js +0 -14
- package/cjs/simul/reference-data/isin-generator/generate-random-string-of-base-ten-chars.js.map +0 -1
- package/cjs/simul/reference-data/isin-generator/index.js +0 -295
- package/cjs/simul/reference-data/isin-generator/index.js.map +0 -1
- package/cjs/simul/reference-data/isin-generator/is-odd.js +0 -6
- package/cjs/simul/reference-data/isin-generator/is-odd.js.map +0 -1
- package/cjs/simul/reference-data/locations.js +0 -17
- package/cjs/simul/reference-data/locations.js.map +0 -1
- package/cjs/simul/reference-data/lotsizes.js +0 -28
- package/cjs/simul/reference-data/lotsizes.js.map +0 -1
- package/cjs/simul/reference-data/orderStatus.js +0 -6
- package/cjs/simul/reference-data/orderStatus.js.map +0 -1
- package/cjs/simul/reference-data/orders.js +0 -55
- package/cjs/simul/reference-data/orders.js.map +0 -1
- package/cjs/simul/reference-data/parent-child-orders.js +0 -146
- package/cjs/simul/reference-data/parent-child-orders.js.map +0 -1
- package/cjs/simul/reference-data/prices.js +0 -91
- package/cjs/simul/reference-data/prices.js.map +0 -1
- package/cjs/simul/reference-data/sides.js +0 -6
- package/cjs/simul/reference-data/sides.js.map +0 -1
- package/cjs/simul/simul-schemas.js +0 -159
- package/cjs/simul/simul-schemas.js.map +0 -1
- package/cjs/test/TestModule.js +0 -255
- package/cjs/test/TestModule.js.map +0 -1
- package/cjs/vuu-row-generator.js +0 -74
- package/cjs/vuu-row-generator.js.map +0 -1
- package/esm/ArrayProxy.js +0 -70
- package/esm/ArrayProxy.js.map +0 -1
- package/esm/RuntimeVisualLink.js +0 -71
- package/esm/RuntimeVisualLink.js.map +0 -1
- package/esm/Table.js +0 -124
- package/esm/Table.js.map +0 -1
- package/esm/TickingArrayDataSource.js +0 -341
- package/esm/TickingArrayDataSource.js.map +0 -1
- package/esm/UpdateGenerator.js +0 -92
- package/esm/UpdateGenerator.js.map +0 -1
- package/esm/basket/BasketModule.js +0 -278
- package/esm/basket/BasketModule.js.map +0 -1
- package/esm/basket/basket-schemas.js +0 -131
- package/esm/basket/basket-schemas.js.map +0 -1
- package/esm/basket/reference-data/constituents.js +0 -38
- package/esm/basket/reference-data/constituents.js.map +0 -1
- package/esm/basket/reference-data/ftse100.js +0 -103
- package/esm/basket/reference-data/ftse100.js.map +0 -1
- package/esm/basket/reference-data/hsi.js +0 -85
- package/esm/basket/reference-data/hsi.js.map +0 -1
- package/esm/basket/reference-data/nasdaq100.js +0 -106
- package/esm/basket/reference-data/nasdaq100.js.map +0 -1
- package/esm/basket/reference-data/sp500.js +0 -44
- package/esm/basket/reference-data/sp500.js.map +0 -1
- package/esm/core/module/ModuleContainer.js +0 -41
- package/esm/core/module/ModuleContainer.js.map +0 -1
- package/esm/core/module/VuuModule.js +0 -841
- package/esm/core/module/VuuModule.js.map +0 -1
- package/esm/core/table/TableContainer.js +0 -142
- package/esm/core/table/TableContainer.js.map +0 -1
- package/esm/data-utils.js +0 -50
- package/esm/data-utils.js.map +0 -1
- package/esm/default-column-definitions.js +0 -8
- package/esm/default-column-definitions.js.map +0 -1
- package/esm/index.js +0 -15
- package/esm/index.js.map +0 -1
- package/esm/local-datasource-provider/LocalDatasourceProvider.js +0 -68
- package/esm/local-datasource-provider/LocalDatasourceProvider.js.map +0 -1
- package/esm/makeSuggestions.js +0 -24
- package/esm/makeSuggestions.js.map +0 -1
- package/esm/schemas.js +0 -24
- package/esm/schemas.js.map +0 -1
- package/esm/session-table-utils.js +0 -26
- package/esm/session-table-utils.js.map +0 -1
- package/esm/simul/SimulModule.js +0 -184
- package/esm/simul/SimulModule.js.map +0 -1
- package/esm/simul/reference-data/accounts.js +0 -25
- package/esm/simul/reference-data/accounts.js.map +0 -1
- package/esm/simul/reference-data/algos.js +0 -4
- package/esm/simul/reference-data/algos.js.map +0 -1
- package/esm/simul/reference-data/currencies.js +0 -4
- package/esm/simul/reference-data/currencies.js.map +0 -1
- package/esm/simul/reference-data/instruments-extended.js +0 -17
- package/esm/simul/reference-data/instruments-extended.js.map +0 -1
- package/esm/simul/reference-data/instruments.js +0 -82
- package/esm/simul/reference-data/instruments.js.map +0 -1
- package/esm/simul/reference-data/isin-generator/convert-string-to-base-ten-number.js +0 -4
- package/esm/simul/reference-data/isin-generator/convert-string-to-base-ten-number.js.map +0 -1
- package/esm/simul/reference-data/isin-generator/fixtures/alphabet.js +0 -29
- package/esm/simul/reference-data/isin-generator/fixtures/alphabet.js.map +0 -1
- package/esm/simul/reference-data/isin-generator/fixtures/alphanumeric-values.js +0 -7
- package/esm/simul/reference-data/isin-generator/fixtures/alphanumeric-values.js.map +0 -1
- package/esm/simul/reference-data/isin-generator/fixtures/base-ten-numbers.js +0 -15
- package/esm/simul/reference-data/isin-generator/fixtures/base-ten-numbers.js.map +0 -1
- package/esm/simul/reference-data/isin-generator/generate-cusip-check-code.js +0 -22
- package/esm/simul/reference-data/isin-generator/generate-cusip-check-code.js.map +0 -1
- package/esm/simul/reference-data/isin-generator/generate-cusip-without-check-code.js +0 -11
- package/esm/simul/reference-data/isin-generator/generate-cusip-without-check-code.js.map +0 -1
- package/esm/simul/reference-data/isin-generator/generate-cusip.js +0 -11
- package/esm/simul/reference-data/isin-generator/generate-cusip.js.map +0 -1
- package/esm/simul/reference-data/isin-generator/generate-random-alphanumeric.js +0 -6
- package/esm/simul/reference-data/isin-generator/generate-random-alphanumeric.js.map +0 -1
- package/esm/simul/reference-data/isin-generator/generate-random-base-ten-number.js +0 -4
- package/esm/simul/reference-data/isin-generator/generate-random-base-ten-number.js.map +0 -1
- package/esm/simul/reference-data/isin-generator/generate-random-string-of-alphanumeric-chars.js +0 -12
- package/esm/simul/reference-data/isin-generator/generate-random-string-of-alphanumeric-chars.js.map +0 -1
- package/esm/simul/reference-data/isin-generator/generate-random-string-of-base-ten-chars.js +0 -12
- package/esm/simul/reference-data/isin-generator/generate-random-string-of-base-ten-chars.js.map +0 -1
- package/esm/simul/reference-data/isin-generator/index.js +0 -293
- package/esm/simul/reference-data/isin-generator/index.js.map +0 -1
- package/esm/simul/reference-data/isin-generator/is-odd.js +0 -4
- package/esm/simul/reference-data/isin-generator/is-odd.js.map +0 -1
- package/esm/simul/reference-data/locations.js +0 -14
- package/esm/simul/reference-data/locations.js.map +0 -1
- package/esm/simul/reference-data/lotsizes.js +0 -26
- package/esm/simul/reference-data/lotsizes.js.map +0 -1
- package/esm/simul/reference-data/orderStatus.js +0 -4
- package/esm/simul/reference-data/orderStatus.js.map +0 -1
- package/esm/simul/reference-data/orders.js +0 -52
- package/esm/simul/reference-data/orders.js.map +0 -1
- package/esm/simul/reference-data/parent-child-orders.js +0 -141
- package/esm/simul/reference-data/parent-child-orders.js.map +0 -1
- package/esm/simul/reference-data/prices.js +0 -88
- package/esm/simul/reference-data/prices.js.map +0 -1
- package/esm/simul/reference-data/sides.js +0 -4
- package/esm/simul/reference-data/sides.js.map +0 -1
- package/esm/simul/simul-schemas.js +0 -156
- package/esm/simul/simul-schemas.js.map +0 -1
- package/esm/test/TestModule.js +0 -253
- package/esm/test/TestModule.js.map +0 -1
- package/esm/vuu-row-generator.js +0 -68
- package/esm/vuu-row-generator.js.map +0 -1
package/cjs/ArrayProxy.js
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __typeError = (msg) => {
|
|
5
|
-
throw TypeError(msg);
|
|
6
|
-
};
|
|
7
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
-
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
9
|
-
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
|
|
10
|
-
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
11
|
-
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
12
|
-
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
|
|
13
|
-
var _getItem;
|
|
14
|
-
const _ArrayProxy = class _ArrayProxy {
|
|
15
|
-
constructor(size, getRow) {
|
|
16
|
-
__privateAdd(this, _getItem);
|
|
17
|
-
__publicField(this, "length", 0);
|
|
18
|
-
__publicField(this, "map", (func) => {
|
|
19
|
-
return new _ArrayProxy(this.length, (i) => {
|
|
20
|
-
return func(__privateGet(this, _getItem).call(this, i), i);
|
|
21
|
-
});
|
|
22
|
-
});
|
|
23
|
-
__publicField(this, "slice", (from, to) => {
|
|
24
|
-
const out = [];
|
|
25
|
-
const end = Math.min(this.length, to);
|
|
26
|
-
for (let i = from; i < end; i++) {
|
|
27
|
-
out.push(__privateGet(this, _getItem).call(this, i));
|
|
28
|
-
}
|
|
29
|
-
return out;
|
|
30
|
-
});
|
|
31
|
-
__privateSet(this, _getItem, getRow);
|
|
32
|
-
this.length = size;
|
|
33
|
-
const handler = {
|
|
34
|
-
get: (target, prop) => {
|
|
35
|
-
var _a;
|
|
36
|
-
if (prop === "length") {
|
|
37
|
-
return target.length;
|
|
38
|
-
} else if (prop === "slice") {
|
|
39
|
-
return target.slice;
|
|
40
|
-
} else if (prop === "map") {
|
|
41
|
-
return target.map;
|
|
42
|
-
} else if (prop === "toString") {
|
|
43
|
-
return "[ArrayProxy]";
|
|
44
|
-
}
|
|
45
|
-
if (typeof prop === "string") {
|
|
46
|
-
const index = parseInt(prop, 10);
|
|
47
|
-
if (!isNaN(index)) {
|
|
48
|
-
if (index < this.length) {
|
|
49
|
-
return __privateGet(_a = target, _getItem).call(_a, index);
|
|
50
|
-
} else {
|
|
51
|
-
return void 0;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
throw Error(`unsupported property ${String(prop)} on ArrayProxy`);
|
|
56
|
-
},
|
|
57
|
-
set: (target, prop, newVal) => {
|
|
58
|
-
if (prop === "length") {
|
|
59
|
-
target.length = newVal;
|
|
60
|
-
return true;
|
|
61
|
-
}
|
|
62
|
-
throw Error(`ArrayProxy is immutable except for length`);
|
|
63
|
-
}
|
|
64
|
-
};
|
|
65
|
-
return new Proxy(this, handler);
|
|
66
|
-
}
|
|
67
|
-
};
|
|
68
|
-
_getItem = new WeakMap();
|
|
69
|
-
let ArrayProxy = _ArrayProxy;
|
|
70
|
-
|
|
71
|
-
exports.ArrayProxy = ArrayProxy;
|
|
72
|
-
//# sourceMappingURL=ArrayProxy.js.map
|
package/cjs/ArrayProxy.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ArrayProxy.js","sources":["../../../packages/vuu-data-test/src/ArrayProxy.ts"],"sourcesContent":["export type RowAtIndexFunc<T = unknown> = (index: number) => T | undefined;\n\nexport class ArrayProxy<T = string> {\n #getItem: RowAtIndexFunc;\n public length = 0;\n\n constructor(size: number, getRow: RowAtIndexFunc) {\n this.#getItem = getRow;\n this.length = size;\n\n const handler = {\n get: (target: ArrayProxy<T>, prop: string | symbol): any => {\n if (prop === \"length\") {\n return target.length;\n } else if (prop === \"slice\") {\n return target.slice;\n } else if (prop === \"map\") {\n return target.map;\n } else if (prop === \"toString\") {\n return \"[ArrayProxy]\";\n }\n if (typeof prop === \"string\") {\n const index = parseInt(prop, 10);\n if (!isNaN(index)) {\n if (index < this.length) {\n return target.#getItem(index);\n } else {\n return undefined;\n }\n }\n }\n throw Error(`unsupported property ${String(prop)} on ArrayProxy`);\n },\n set: (target: ArrayProxy<T>, prop: string, newVal: unknown) => {\n if (prop === \"length\") {\n target.length = newVal as number;\n return true;\n }\n throw Error(`ArrayProxy is immutable except for length`);\n },\n };\n return new Proxy(this, handler);\n }\n\n map = (func: (item: T, i: number) => unknown) => {\n return new ArrayProxy(this.length, (i: number) => {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n return func(this.#getItem(i), i);\n });\n };\n slice = (from: number, to: number) => {\n const out = [];\n const end = Math.min(this.length, to);\n for (let i = from; i < end; i++) {\n out.push(this.#getItem(i));\n }\n return out;\n };\n}\n"],"names":[],"mappings":";;;;;;;;;;;;AAAA,IAAA,QAAA;AAEO,MAAM,WAAA,GAAN,MAAM,WAAuB,CAAA;AAAA,EAIlC,WAAA,CAAY,MAAc,MAAwB,EAAA;AAHlD,IAAA,YAAA,CAAA,IAAA,EAAA,QAAA,CAAA;AACA,IAAA,aAAA,CAAA,IAAA,EAAO,QAAS,EAAA,CAAA,CAAA;AAwChB,IAAA,aAAA,CAAA,IAAA,EAAA,KAAA,EAAM,CAAC,IAA0C,KAAA;AAC/C,MAAA,OAAO,IAAI,WAAA,CAAW,IAAK,CAAA,MAAA,EAAQ,CAAC,CAAc,KAAA;AAGhD,QAAA,OAAO,IAAK,CAAA,YAAA,CAAA,IAAA,EAAK,QAAL,CAAA,CAAA,IAAA,CAAA,IAAA,EAAc,IAAI,CAAC,CAAA;AAAA,OAChC,CAAA;AAAA,KACH,CAAA;AACA,IAAQ,aAAA,CAAA,IAAA,EAAA,OAAA,EAAA,CAAC,MAAc,EAAe,KAAA;AACpC,MAAA,MAAM,MAAM,EAAC;AACb,MAAA,MAAM,GAAM,GAAA,IAAA,CAAK,GAAI,CAAA,IAAA,CAAK,QAAQ,EAAE,CAAA;AACpC,MAAA,KAAA,IAAS,CAAI,GAAA,IAAA,EAAM,CAAI,GAAA,GAAA,EAAK,CAAK,EAAA,EAAA;AAC/B,QAAA,GAAA,CAAI,IAAK,CAAA,YAAA,CAAA,IAAA,EAAK,QAAL,CAAA,CAAA,IAAA,CAAA,IAAA,EAAc,CAAE,CAAA,CAAA;AAAA;AAE3B,MAAO,OAAA,GAAA;AAAA,KACT,CAAA;AAnDE,IAAA,YAAA,CAAA,IAAA,EAAK,QAAW,EAAA,MAAA,CAAA;AAChB,IAAA,IAAA,CAAK,MAAS,GAAA,IAAA;AAEd,IAAA,MAAM,OAAU,GAAA;AAAA,MACd,GAAA,EAAK,CAAC,MAAA,EAAuB,IAA+B,KAAA;AAXlE,QAAA,IAAA,EAAA;AAYQ,QAAA,IAAI,SAAS,QAAU,EAAA;AACrB,UAAA,OAAO,MAAO,CAAA,MAAA;AAAA,SAChB,MAAA,IAAW,SAAS,OAAS,EAAA;AAC3B,UAAA,OAAO,MAAO,CAAA,KAAA;AAAA,SAChB,MAAA,IAAW,SAAS,KAAO,EAAA;AACzB,UAAA,OAAO,MAAO,CAAA,GAAA;AAAA,SAChB,MAAA,IAAW,SAAS,UAAY,EAAA;AAC9B,UAAO,OAAA,cAAA;AAAA;AAET,QAAI,IAAA,OAAO,SAAS,QAAU,EAAA;AAC5B,UAAM,MAAA,KAAA,GAAQ,QAAS,CAAA,IAAA,EAAM,EAAE,CAAA;AAC/B,UAAI,IAAA,CAAC,KAAM,CAAA,KAAK,CAAG,EAAA;AACjB,YAAI,IAAA,KAAA,GAAQ,KAAK,MAAQ,EAAA;AACvB,cAAO,OAAA,YAAA,CAAA,EAAA,GAAA,MAAA,EAAO,UAAP,IAAgB,CAAA,EAAA,EAAA,KAAA,CAAA;AAAA,aAClB,MAAA;AACL,cAAO,OAAA,KAAA,CAAA;AAAA;AACT;AACF;AAEF,QAAA,MAAM,KAAM,CAAA,CAAA,qBAAA,EAAwB,MAAO,CAAA,IAAI,CAAC,CAAgB,cAAA,CAAA,CAAA;AAAA,OAClE;AAAA,MACA,GAAK,EAAA,CAAC,MAAuB,EAAA,IAAA,EAAc,MAAoB,KAAA;AAC7D,QAAA,IAAI,SAAS,QAAU,EAAA;AACrB,UAAA,MAAA,CAAO,MAAS,GAAA,MAAA;AAChB,UAAO,OAAA,IAAA;AAAA;AAET,QAAA,MAAM,MAAM,CAA2C,yCAAA,CAAA,CAAA;AAAA;AACzD,KACF;AACA,IAAO,OAAA,IAAI,KAAM,CAAA,IAAA,EAAM,OAAO,CAAA;AAAA;AAkBlC,CAAA;AAxDE,QAAA,GAAA,IAAA,OAAA,EAAA;AADK,IAAM,UAAN,GAAA;;;;"}
|
package/cjs/RuntimeVisualLink.js
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var vuuUtils = require('@vuu-ui/vuu-utils');
|
|
4
|
-
|
|
5
|
-
var __defProp = Object.defineProperty;
|
|
6
|
-
var __typeError = (msg) => {
|
|
7
|
-
throw TypeError(msg);
|
|
8
|
-
};
|
|
9
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
10
|
-
var __publicField = (obj, key, value) => __defNormalProp(obj, key + "" , value);
|
|
11
|
-
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
|
|
12
|
-
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), member.get(obj));
|
|
13
|
-
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
14
|
-
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
|
|
15
|
-
var _childColumnName, _childDataSource, _parentColumnName, _parentDataSource;
|
|
16
|
-
class RuntimeVisualLink {
|
|
17
|
-
constructor(childDataSource, parentDataSource, childColumnName, parentColumnName) {
|
|
18
|
-
__privateAdd(this, _childColumnName);
|
|
19
|
-
__privateAdd(this, _childDataSource);
|
|
20
|
-
__privateAdd(this, _parentColumnName);
|
|
21
|
-
__privateAdd(this, _parentDataSource);
|
|
22
|
-
__publicField(this, "handleParentSelectEvent", () => {
|
|
23
|
-
if (__privateGet(this, _childDataSource)) {
|
|
24
|
-
const selectedValues = this.pickUniqueSelectedValues();
|
|
25
|
-
if (selectedValues.length === 0) {
|
|
26
|
-
__privateGet(this, _childDataSource).baseFilter = void 0;
|
|
27
|
-
} else if (selectedValues.length === 1) {
|
|
28
|
-
__privateGet(this, _childDataSource).baseFilter = {
|
|
29
|
-
filter: `${__privateGet(this, _childColumnName)} = "${selectedValues[0]}"`
|
|
30
|
-
};
|
|
31
|
-
} else {
|
|
32
|
-
__privateGet(this, _childDataSource).baseFilter = {
|
|
33
|
-
filter: `${__privateGet(this, _childColumnName)} in ["${selectedValues.join('","')}"]`
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
__privateSet(this, _childColumnName, childColumnName);
|
|
39
|
-
__privateSet(this, _childDataSource, childDataSource);
|
|
40
|
-
__privateSet(this, _parentColumnName, parentColumnName);
|
|
41
|
-
__privateSet(this, _parentDataSource, parentDataSource);
|
|
42
|
-
parentDataSource.on("row-selection", this.handleParentSelectEvent);
|
|
43
|
-
}
|
|
44
|
-
destroy() {
|
|
45
|
-
}
|
|
46
|
-
remove() {
|
|
47
|
-
__privateGet(this, _parentDataSource)?.removeListener(
|
|
48
|
-
"row-selection",
|
|
49
|
-
this.handleParentSelectEvent
|
|
50
|
-
);
|
|
51
|
-
__privateGet(this, _childDataSource).baseFilter = { filter: "" };
|
|
52
|
-
}
|
|
53
|
-
pickUniqueSelectedValues() {
|
|
54
|
-
const dataSource = __privateGet(this, _parentDataSource);
|
|
55
|
-
const map = vuuUtils.buildColumnMap(dataSource.columns);
|
|
56
|
-
const colIndex = map[__privateGet(this, _parentColumnName)];
|
|
57
|
-
const set = /* @__PURE__ */ new Set();
|
|
58
|
-
for (const key of dataSource.getSelectedRowIds()) {
|
|
59
|
-
const row = dataSource.getRowByKey(key);
|
|
60
|
-
if (row) {
|
|
61
|
-
set.add(row[colIndex]);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
return Array.from(set);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
_childColumnName = new WeakMap();
|
|
68
|
-
_childDataSource = new WeakMap();
|
|
69
|
-
_parentColumnName = new WeakMap();
|
|
70
|
-
_parentDataSource = new WeakMap();
|
|
71
|
-
|
|
72
|
-
exports.RuntimeVisualLink = RuntimeVisualLink;
|
|
73
|
-
//# sourceMappingURL=RuntimeVisualLink.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RuntimeVisualLink.js","sources":["../../../packages/vuu-data-test/src/RuntimeVisualLink.ts"],"sourcesContent":["import {\n DataSourceBase,\n DataSourceRowWithBigint,\n RowSelectionEventHandler,\n} from \"@vuu-ui/vuu-data-types\";\nimport { TickingArrayDataSource } from \"./TickingArrayDataSource\";\nimport { buildColumnMap } from \"@vuu-ui/vuu-utils\";\n\nexport class RuntimeVisualLink {\n #childColumnName: string;\n #childDataSource: DataSourceBase<DataSourceRowWithBigint>;\n #parentColumnName: string;\n #parentDataSource: DataSourceBase<DataSourceRowWithBigint>;\n\n constructor(\n childDataSource: DataSourceBase<DataSourceRowWithBigint>,\n parentDataSource: DataSourceBase<DataSourceRowWithBigint>,\n childColumnName: string,\n parentColumnName: string,\n ) {\n this.#childColumnName = childColumnName;\n this.#childDataSource = childDataSource;\n this.#parentColumnName = parentColumnName;\n this.#parentDataSource = parentDataSource;\n\n parentDataSource.on(\"row-selection\", this.handleParentSelectEvent);\n }\n\n destroy() {\n // do we need to do anything\n }\n\n remove() {\n this.#parentDataSource?.removeListener(\n \"row-selection\",\n this.handleParentSelectEvent,\n );\n this.#childDataSource.baseFilter = { filter: \"\" };\n }\n\n handleParentSelectEvent: RowSelectionEventHandler = () => {\n if (this.#childDataSource) {\n const selectedValues = this.pickUniqueSelectedValues();\n if (selectedValues.length === 0) {\n this.#childDataSource.baseFilter = undefined;\n } else if (selectedValues.length === 1) {\n this.#childDataSource.baseFilter = {\n filter: `${this.#childColumnName} = \"${selectedValues[0]}\"`,\n };\n } else {\n this.#childDataSource.baseFilter = {\n filter: `${this.#childColumnName} in [\"${selectedValues.join('\",\"')}\"]`,\n };\n }\n }\n };\n\n private pickUniqueSelectedValues() {\n const dataSource = this.#parentDataSource as TickingArrayDataSource;\n const map = buildColumnMap(dataSource.columns);\n const colIndex = map[this.#parentColumnName];\n const set = new Set();\n\n for (const key of dataSource.getSelectedRowIds()) {\n const row = dataSource.getRowByKey(key);\n if (row) {\n set.add(row[colIndex]);\n }\n }\n return Array.from(set) as string[];\n }\n}\n"],"names":["buildColumnMap"],"mappings":"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"}
|
package/cjs/Table.js
DELETED
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var vuuUtils = require('@vuu-ui/vuu-utils');
|
|
4
|
-
|
|
5
|
-
var __typeError = (msg) => {
|
|
6
|
-
throw TypeError(msg);
|
|
7
|
-
};
|
|
8
|
-
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
|
|
9
|
-
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
10
|
-
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
11
|
-
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
|
|
12
|
-
var _data, _dataMap, _indexOfKey, _index, _schema;
|
|
13
|
-
class Table extends vuuUtils.EventEmitter {
|
|
14
|
-
constructor(schema, data, dataMap, updateGenerator) {
|
|
15
|
-
super();
|
|
16
|
-
__privateAdd(this, _data);
|
|
17
|
-
__privateAdd(this, _dataMap);
|
|
18
|
-
__privateAdd(this, _indexOfKey);
|
|
19
|
-
__privateAdd(this, _index, /* @__PURE__ */ new Map());
|
|
20
|
-
__privateAdd(this, _schema);
|
|
21
|
-
__privateSet(this, _data, data);
|
|
22
|
-
__privateSet(this, _dataMap, dataMap);
|
|
23
|
-
__privateSet(this, _schema, schema);
|
|
24
|
-
__privateSet(this, _indexOfKey, dataMap[schema.key]);
|
|
25
|
-
this.buildIndex();
|
|
26
|
-
updateGenerator?.setTable(this);
|
|
27
|
-
updateGenerator?.setRange({ from: 0, to: 100 });
|
|
28
|
-
}
|
|
29
|
-
buildIndex() {
|
|
30
|
-
for (let i = 0; i < __privateGet(this, _data).length; i++) {
|
|
31
|
-
const key = __privateGet(this, _data)[i][__privateGet(this, _indexOfKey)];
|
|
32
|
-
__privateGet(this, _index).set(key, i);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
get data() {
|
|
36
|
-
return __privateGet(this, _data);
|
|
37
|
-
}
|
|
38
|
-
get map() {
|
|
39
|
-
return __privateGet(this, _dataMap);
|
|
40
|
-
}
|
|
41
|
-
get schema() {
|
|
42
|
-
return __privateGet(this, _schema);
|
|
43
|
-
}
|
|
44
|
-
get name() {
|
|
45
|
-
return __privateGet(this, _schema).table.table;
|
|
46
|
-
}
|
|
47
|
-
delete(key, emitEvent = true) {
|
|
48
|
-
const index = __privateGet(this, _index).get(key) ?? -1;
|
|
49
|
-
if (index !== -1) {
|
|
50
|
-
__privateGet(this, _index).delete(key);
|
|
51
|
-
__privateGet(this, _data).splice(index, 1);
|
|
52
|
-
for (let i = index; i < __privateGet(this, _data).length; i++) {
|
|
53
|
-
__privateGet(this, _index).set(__privateGet(this, _data)[i][__privateGet(this, _indexOfKey)], i);
|
|
54
|
-
}
|
|
55
|
-
if (emitEvent) {
|
|
56
|
-
this.emit("delete", key);
|
|
57
|
-
}
|
|
58
|
-
} else {
|
|
59
|
-
throw Error(`[Table] delete key ${key} not found`);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
insert(row, emitEvent = true) {
|
|
63
|
-
const index = __privateGet(this, _data).length;
|
|
64
|
-
__privateGet(this, _data).push(row);
|
|
65
|
-
const key = row[__privateGet(this, _indexOfKey)];
|
|
66
|
-
__privateGet(this, _index).set(key, index);
|
|
67
|
-
if (emitEvent) {
|
|
68
|
-
this.emit("insert", row);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
findByKey(key) {
|
|
72
|
-
const index = __privateGet(this, _index).get(key) ?? -1;
|
|
73
|
-
return __privateGet(this, _data)[index];
|
|
74
|
-
}
|
|
75
|
-
update(key, columnName, value) {
|
|
76
|
-
const rowIndex = __privateGet(this, _data).findIndex(
|
|
77
|
-
(row) => row[__privateGet(this, _indexOfKey)] === key
|
|
78
|
-
);
|
|
79
|
-
const colIndex = __privateGet(this, _dataMap)[columnName];
|
|
80
|
-
if (rowIndex !== -1) {
|
|
81
|
-
const row = __privateGet(this, _data)[rowIndex];
|
|
82
|
-
const newRow = row.slice();
|
|
83
|
-
newRow[colIndex] = value;
|
|
84
|
-
const tsIndex = __privateGet(this, _dataMap).vuuUpdatedTimestamp;
|
|
85
|
-
if (typeof tsIndex === "number") {
|
|
86
|
-
const lastUpdated = Date.now();
|
|
87
|
-
newRow[tsIndex] = lastUpdated;
|
|
88
|
-
}
|
|
89
|
-
__privateGet(this, _data)[rowIndex] = newRow;
|
|
90
|
-
this.emit("update", newRow, columnName);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
updateRow(row) {
|
|
94
|
-
const key = row[__privateGet(this, _indexOfKey)];
|
|
95
|
-
const rowIndex = __privateGet(this, _data).findIndex(
|
|
96
|
-
(row2) => row2[__privateGet(this, _indexOfKey)] === key
|
|
97
|
-
);
|
|
98
|
-
if (rowIndex !== -1) {
|
|
99
|
-
const tsIndex = __privateGet(this, _dataMap).vuuUpdatedTimestamp;
|
|
100
|
-
const lastUpdated = Date.now();
|
|
101
|
-
row[tsIndex] = lastUpdated;
|
|
102
|
-
__privateGet(this, _data)[rowIndex] = row;
|
|
103
|
-
this.emit("update", row);
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
_data = new WeakMap();
|
|
108
|
-
_dataMap = new WeakMap();
|
|
109
|
-
_indexOfKey = new WeakMap();
|
|
110
|
-
_index = new WeakMap();
|
|
111
|
-
_schema = new WeakMap();
|
|
112
|
-
function buildDataColumnMapFromSchema(schema) {
|
|
113
|
-
return Object.values(schema.columns).reduce(
|
|
114
|
-
(map, col, index) => ({
|
|
115
|
-
...map,
|
|
116
|
-
[col.name]: index
|
|
117
|
-
}),
|
|
118
|
-
{}
|
|
119
|
-
);
|
|
120
|
-
}
|
|
121
|
-
function buildDataColumnMap(schemas, tableName) {
|
|
122
|
-
return buildDataColumnMapFromSchema(schemas[tableName]);
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
exports.Table = Table;
|
|
126
|
-
exports.buildDataColumnMap = buildDataColumnMap;
|
|
127
|
-
exports.buildDataColumnMapFromSchema = buildDataColumnMapFromSchema;
|
|
128
|
-
//# sourceMappingURL=Table.js.map
|
package/cjs/Table.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Table.js","sources":["../../../packages/vuu-data-test/src/Table.ts"],"sourcesContent":["import { TableSchema } from \"@vuu-ui/vuu-data-types\";\nimport { VuuRowDataItemType } from \"@vuu-ui/vuu-protocol-types\";\nimport { ColumnMap, EventEmitter } from \"@vuu-ui/vuu-utils\";\nimport { UpdateGenerator } from \"./rowUpdates\";\n\nexport type TableEvents = {\n delete: (key: string) => void;\n insert: (row: Array<bigint | VuuRowDataItemType>) => void;\n update: (\n row: Array<bigint | VuuRowDataItemType>,\n columnName?: string,\n sessionId?: string,\n ) => void;\n};\n\nexport class Table extends EventEmitter<TableEvents> {\n #data: Array<Array<VuuRowDataItemType | bigint>>;\n #dataMap: ColumnMap;\n #indexOfKey: number;\n #index = new Map<string, number>();\n #schema: TableSchema;\n\n constructor(\n schema: TableSchema,\n data: Array<Array<VuuRowDataItemType | bigint>>,\n dataMap: ColumnMap,\n updateGenerator?: UpdateGenerator,\n ) {\n super();\n this.#data = data;\n this.#dataMap = dataMap;\n this.#schema = schema;\n this.#indexOfKey = dataMap[schema.key];\n this.buildIndex();\n updateGenerator?.setTable(this);\n updateGenerator?.setRange({ from: 0, to: 100 });\n }\n\n private buildIndex() {\n for (let i = 0; i < this.#data.length; i++) {\n const key = this.#data[i][this.#indexOfKey] as string;\n this.#index.set(key, i);\n }\n }\n\n get data() {\n return this.#data;\n }\n\n get map() {\n return this.#dataMap;\n }\n\n get schema() {\n return this.#schema;\n }\n\n get name() {\n return this.#schema.table.table;\n }\n\n delete(key: string, emitEvent = true) {\n const index = this.#index.get(key) ?? -1;\n if (index !== -1) {\n this.#index.delete(key);\n this.#data.splice(index, 1);\n\n for (let i = index; i < this.#data.length; i++) {\n this.#index.set(this.#data[i][this.#indexOfKey] as string, i);\n }\n\n if (emitEvent) {\n this.emit(\"delete\", key);\n }\n } else {\n throw Error(`[Table] delete key ${key} not found`);\n }\n }\n\n insert(row: Array<bigint | VuuRowDataItemType>, emitEvent = true) {\n const index = this.#data.length;\n this.#data.push(row);\n const key = row[this.#indexOfKey] as string;\n this.#index.set(key, index);\n if (emitEvent) {\n this.emit(\"insert\", row);\n }\n }\n\n findByKey(key: string) {\n const index = this.#index.get(key) ?? -1;\n return this.#data[index];\n }\n\n update(key: string, columnName: string, value: bigint | VuuRowDataItemType) {\n const rowIndex = this.#data.findIndex(\n (row) => row[this.#indexOfKey] === key,\n );\n const colIndex = this.#dataMap[columnName];\n if (rowIndex !== -1) {\n const row = this.#data[rowIndex];\n const newRow = row.slice();\n newRow[colIndex] = value;\n\n const tsIndex = this.#dataMap.vuuUpdatedTimestamp;\n if (typeof tsIndex === \"number\") {\n const lastUpdated = Date.now();\n newRow[tsIndex] = lastUpdated;\n }\n\n this.#data[rowIndex] = newRow;\n this.emit(\"update\", newRow, columnName);\n }\n }\n updateRow(row: Array<bigint | VuuRowDataItemType>) {\n const key = row[this.#indexOfKey];\n const rowIndex = this.#data.findIndex(\n (row) => row[this.#indexOfKey] === key,\n );\n if (rowIndex !== -1) {\n const tsIndex = this.#dataMap.vuuUpdatedTimestamp;\n const lastUpdated = Date.now();\n row[tsIndex] = lastUpdated;\n this.#data[rowIndex] = row;\n this.emit(\"update\", row);\n }\n }\n}\n\nexport function buildDataColumnMapFromSchema(schema: Readonly<TableSchema>) {\n return Object.values(schema.columns).reduce<ColumnMap>(\n (map, col, index) => ({\n ...map,\n [col.name]: index,\n }),\n {},\n );\n}\n\n/**\n * Build a data ColumnMap for a table in the provided schema.\n * A data ColumnMap is a mapping from a raw data array to a map, keyed\n * by column name with no additional metadata.\n *\n * @param schemas\n * @param tableName\n * @returns\n */\nexport function buildDataColumnMap<TableName extends string = string>(\n schemas: Readonly<Record<TableName, Readonly<TableSchema>>>,\n tableName: TableName,\n) {\n return buildDataColumnMapFromSchema(schemas[tableName]);\n}\n"],"names":["EventEmitter","row"],"mappings":"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"}
|
|
@@ -1,343 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var vuuDataLocal = require('@vuu-ui/vuu-data-local');
|
|
4
|
-
var vuuUtils = require('@vuu-ui/vuu-utils');
|
|
5
|
-
var makeSuggestions = require('./makeSuggestions.js');
|
|
6
|
-
|
|
7
|
-
var __defProp = Object.defineProperty;
|
|
8
|
-
var __typeError = (msg) => {
|
|
9
|
-
throw TypeError(msg);
|
|
10
|
-
};
|
|
11
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
12
|
-
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
13
|
-
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
|
|
14
|
-
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), member.get(obj));
|
|
15
|
-
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
16
|
-
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
|
|
17
|
-
var _menuRpcServices, _pendingVisualLink, _rpcMenuServices, _rpcServices, _sourceTableDataSource, _table, _selectionLinkSubscribers, _visualLinkService, _getVisualLinks, _vuuModule;
|
|
18
|
-
const _TickingArrayDataSource = class _TickingArrayDataSource extends vuuDataLocal.ArrayDataSource {
|
|
19
|
-
constructor({
|
|
20
|
-
data,
|
|
21
|
-
getVisualLinks,
|
|
22
|
-
rpcServices,
|
|
23
|
-
rpcMenuServices,
|
|
24
|
-
table,
|
|
25
|
-
menu,
|
|
26
|
-
visualLink,
|
|
27
|
-
visualLinkService,
|
|
28
|
-
vuuModule,
|
|
29
|
-
...arrayDataSourceProps
|
|
30
|
-
}) {
|
|
31
|
-
if (data === void 0 && table === void 0) {
|
|
32
|
-
throw Error("TickingArrayDataSource must be constructed with data");
|
|
33
|
-
}
|
|
34
|
-
super({
|
|
35
|
-
...arrayDataSourceProps,
|
|
36
|
-
data: data ?? table?.data ?? [],
|
|
37
|
-
dataMap: table?.map
|
|
38
|
-
});
|
|
39
|
-
__privateAdd(this, _menuRpcServices);
|
|
40
|
-
__privateAdd(this, _pendingVisualLink);
|
|
41
|
-
__privateAdd(this, _rpcMenuServices);
|
|
42
|
-
__privateAdd(this, _rpcServices);
|
|
43
|
-
__privateAdd(this, _sourceTableDataSource);
|
|
44
|
-
__privateAdd(this, _table);
|
|
45
|
-
__privateAdd(this, _selectionLinkSubscribers);
|
|
46
|
-
__privateAdd(this, _visualLinkService);
|
|
47
|
-
__privateAdd(this, _getVisualLinks);
|
|
48
|
-
__privateAdd(this, _vuuModule);
|
|
49
|
-
__publicField(this, "updateRowWithSessionCheck", (row, columnName, sessionId) => {
|
|
50
|
-
if (sessionId && sessionId === this.viewport) {
|
|
51
|
-
this.updateRow(row, columnName);
|
|
52
|
-
} else if (sessionId) {
|
|
53
|
-
console.warn("THIS IS NEVER EXPECTED TO HAPPEN");
|
|
54
|
-
} else {
|
|
55
|
-
this.updateRow(row, columnName);
|
|
56
|
-
}
|
|
57
|
-
});
|
|
58
|
-
__publicField(this, "addRow", async (rowData = {}) => {
|
|
59
|
-
const response = await this.rpcRequest?.({
|
|
60
|
-
type: "RPC_REQUEST",
|
|
61
|
-
rpcName: "addRow",
|
|
62
|
-
params: { key: rowData[this.tableSchema.key], data: rowData }
|
|
63
|
-
});
|
|
64
|
-
if (vuuUtils.isRpcSuccess(response)) {
|
|
65
|
-
return true;
|
|
66
|
-
}
|
|
67
|
-
return response?.errorMessage ?? "addRow failed";
|
|
68
|
-
});
|
|
69
|
-
__publicField(this, "deleteRow", async (key, mode = "hard") => {
|
|
70
|
-
const response = await this.rpcRequest({
|
|
71
|
-
type: "RPC_REQUEST",
|
|
72
|
-
rpcName: "deleteRow",
|
|
73
|
-
params: { key, mode }
|
|
74
|
-
});
|
|
75
|
-
if (vuuUtils.isRpcSuccess(response)) {
|
|
76
|
-
return true;
|
|
77
|
-
}
|
|
78
|
-
return response?.errorMessage ?? "deleteRow failed";
|
|
79
|
-
});
|
|
80
|
-
__publicField(this, "deleteSelectedRows", async (mode = "soft") => {
|
|
81
|
-
const response = await this.rpcRequest({
|
|
82
|
-
type: "RPC_REQUEST",
|
|
83
|
-
rpcName: "deleteSelectedRows",
|
|
84
|
-
params: { mode }
|
|
85
|
-
});
|
|
86
|
-
return response ?? {
|
|
87
|
-
type: "ERROR_RESULT",
|
|
88
|
-
errorMessage: "deleteSelectedRows failed"
|
|
89
|
-
};
|
|
90
|
-
});
|
|
91
|
-
__publicField(this, "undoRowChange", async (key) => {
|
|
92
|
-
const response = await this.rpcRequest({
|
|
93
|
-
type: "RPC_REQUEST",
|
|
94
|
-
rpcName: "undoRowChange",
|
|
95
|
-
params: { key }
|
|
96
|
-
});
|
|
97
|
-
return response ?? { type: "ERROR_RESULT", errorMessage: "undoRowChange failed" };
|
|
98
|
-
});
|
|
99
|
-
this._menu = menu;
|
|
100
|
-
__privateSet(this, _rpcMenuServices, rpcMenuServices);
|
|
101
|
-
__privateSet(this, _pendingVisualLink, visualLink);
|
|
102
|
-
__privateSet(this, _rpcServices, rpcServices);
|
|
103
|
-
__privateSet(this, _table, table);
|
|
104
|
-
__privateSet(this, _visualLinkService, visualLinkService);
|
|
105
|
-
__privateSet(this, _getVisualLinks, getVisualLinks);
|
|
106
|
-
__privateSet(this, _vuuModule, vuuModule);
|
|
107
|
-
if (table) {
|
|
108
|
-
this.tableSchema = table.schema;
|
|
109
|
-
table.on("insert", this.insert);
|
|
110
|
-
table.on("update", this.updateRowWithSessionCheck);
|
|
111
|
-
table.on("delete", this.handleDeleteFromTable);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
async subscribe(subscribeProps, callback) {
|
|
115
|
-
const subscription = super.subscribe(subscribeProps, callback);
|
|
116
|
-
if (__privateGet(this, _pendingVisualLink)) {
|
|
117
|
-
this.visualLink = __privateGet(this, _pendingVisualLink);
|
|
118
|
-
__privateSet(this, _pendingVisualLink, void 0);
|
|
119
|
-
}
|
|
120
|
-
return subscription;
|
|
121
|
-
}
|
|
122
|
-
unsubscribe() {
|
|
123
|
-
super.unsubscribe();
|
|
124
|
-
__privateSet(this, _table, void 0);
|
|
125
|
-
}
|
|
126
|
-
set links(links) {
|
|
127
|
-
super.links = links;
|
|
128
|
-
}
|
|
129
|
-
get links() {
|
|
130
|
-
var _a;
|
|
131
|
-
return (_a = __privateGet(this, _getVisualLinks)) == null ? void 0 : _a.call(this, this.table.table);
|
|
132
|
-
}
|
|
133
|
-
getSelectedRowIds() {
|
|
134
|
-
return Array.from(this.selectedRows);
|
|
135
|
-
}
|
|
136
|
-
isSessionDataSourceOf(dataSource) {
|
|
137
|
-
return __privateGet(this, _sourceTableDataSource) === dataSource;
|
|
138
|
-
}
|
|
139
|
-
async createSessionDataSource(copyOption) {
|
|
140
|
-
const rpcResponse = await this?.rpcRequest?.({
|
|
141
|
-
type: "RPC_REQUEST",
|
|
142
|
-
rpcName: "createSessionTable",
|
|
143
|
-
params: { copyOption }
|
|
144
|
-
});
|
|
145
|
-
if (vuuUtils.isRpcSuccess(rpcResponse)) {
|
|
146
|
-
const { table: sessionTable } = rpcResponse.data;
|
|
147
|
-
const columns = this.config.columns.includes("vuu_action") ? this.config.columns : this.config.columns.concat("vuu_action");
|
|
148
|
-
const sessionDataSource = __privateGet(this, _vuuModule)?.createDataSource(
|
|
149
|
-
sessionTable.table,
|
|
150
|
-
sessionTable.table,
|
|
151
|
-
{ ...this.config, columns }
|
|
152
|
-
);
|
|
153
|
-
if (sessionDataSource instanceof _TickingArrayDataSource) {
|
|
154
|
-
__privateSet(sessionDataSource, _sourceTableDataSource, this);
|
|
155
|
-
}
|
|
156
|
-
return sessionDataSource;
|
|
157
|
-
} else {
|
|
158
|
-
throw Error(
|
|
159
|
-
`[TickingArrayDataSource] createSessionDataSource ${rpcResponse?.errorMessage}`
|
|
160
|
-
);
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
async beginEditSession(editSessionMode = "all-rows") {
|
|
164
|
-
const rpcResponse = await this?.rpcRequest?.({
|
|
165
|
-
type: "RPC_REQUEST",
|
|
166
|
-
rpcName: "beginEditSession",
|
|
167
|
-
params: { editSessionMode }
|
|
168
|
-
});
|
|
169
|
-
if (vuuUtils.isRpcSuccess(rpcResponse)) {
|
|
170
|
-
const { table: sessionTable } = rpcResponse.data;
|
|
171
|
-
const sessionDataSource = __privateGet(this, _vuuModule)?.createDataSource(
|
|
172
|
-
sessionTable.table,
|
|
173
|
-
sessionTable.table,
|
|
174
|
-
{ ...this.config }
|
|
175
|
-
);
|
|
176
|
-
if (sessionDataSource instanceof _TickingArrayDataSource) {
|
|
177
|
-
__privateSet(sessionDataSource, _sourceTableDataSource, this);
|
|
178
|
-
}
|
|
179
|
-
return sessionDataSource;
|
|
180
|
-
} else {
|
|
181
|
-
throw Error(
|
|
182
|
-
`[TickingArrayDataSource] beginEditSession ${rpcResponse?.errorMessage}`
|
|
183
|
-
);
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
async editCell(key, column, data) {
|
|
187
|
-
return this.rpcRequest({
|
|
188
|
-
type: "RPC_REQUEST",
|
|
189
|
-
rpcName: "editCell",
|
|
190
|
-
params: {
|
|
191
|
-
column,
|
|
192
|
-
data,
|
|
193
|
-
key
|
|
194
|
-
}
|
|
195
|
-
});
|
|
196
|
-
}
|
|
197
|
-
set columns(columns) {
|
|
198
|
-
super.columns = columns;
|
|
199
|
-
}
|
|
200
|
-
get columns() {
|
|
201
|
-
return super.columns;
|
|
202
|
-
}
|
|
203
|
-
async endEditSession(saveChanges = false) {
|
|
204
|
-
const type = "RPC_REQUEST";
|
|
205
|
-
const rpcName = "endEditSession";
|
|
206
|
-
const rpcResponse = await this.rpcRequest(
|
|
207
|
-
saveChanges ? { type, rpcName, params: { save: true } } : { type, rpcName, params: {} }
|
|
208
|
-
);
|
|
209
|
-
if (vuuUtils.isRpcSuccess(rpcResponse)) {
|
|
210
|
-
const sourceTableDataSource = __privateGet(this, _sourceTableDataSource);
|
|
211
|
-
if (sourceTableDataSource) {
|
|
212
|
-
__privateSet(this, _sourceTableDataSource, void 0);
|
|
213
|
-
this.unsubscribe();
|
|
214
|
-
} else {
|
|
215
|
-
this.sendRowsToClient(true);
|
|
216
|
-
}
|
|
217
|
-
} else {
|
|
218
|
-
if (rpcResponse?.errorMessage === "stale update") {
|
|
219
|
-
throw new vuuUtils.StaleUpdateError(rpcResponse.errorMessage);
|
|
220
|
-
} else {
|
|
221
|
-
throw Error(rpcResponse?.errorMessage ?? "endEditSession failed");
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
async rpcRequest(rpcRequest) {
|
|
226
|
-
if (vuuUtils.isTypeaheadRequest(rpcRequest)) {
|
|
227
|
-
const {
|
|
228
|
-
params: { column, starts }
|
|
229
|
-
} = rpcRequest;
|
|
230
|
-
const data = await this.getTypeaheadSuggestions(column, starts);
|
|
231
|
-
return {
|
|
232
|
-
type: "SUCCESS_RESULT",
|
|
233
|
-
data
|
|
234
|
-
};
|
|
235
|
-
} else {
|
|
236
|
-
const rpcService = __privateGet(this, _rpcServices)?.find(
|
|
237
|
-
(service) => service.rpcName === rpcRequest.rpcName
|
|
238
|
-
);
|
|
239
|
-
if (rpcService) {
|
|
240
|
-
return rpcService.service({
|
|
241
|
-
...rpcRequest,
|
|
242
|
-
context: {
|
|
243
|
-
type: "VIEWPORT_CONTEXT",
|
|
244
|
-
viewPortId: this.viewport
|
|
245
|
-
}
|
|
246
|
-
});
|
|
247
|
-
} else {
|
|
248
|
-
throw Error(
|
|
249
|
-
`[TickingArrayDataSource] no service to handle RPC request ${rpcRequest.rpcName}`
|
|
250
|
-
);
|
|
251
|
-
}
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
|
-
async menuRpcCall(rpcRequest) {
|
|
255
|
-
const rpcService = __privateGet(this, _rpcMenuServices)?.find(
|
|
256
|
-
(service) => service.rpcName === rpcRequest.rpcName
|
|
257
|
-
);
|
|
258
|
-
if (rpcService) {
|
|
259
|
-
return rpcService.service({
|
|
260
|
-
...rpcRequest,
|
|
261
|
-
vpId: this.viewport
|
|
262
|
-
});
|
|
263
|
-
} else {
|
|
264
|
-
throw Error(
|
|
265
|
-
`[TickingArrayDataSource] menuRpcCall no service for ${rpcRequest.rpcName}`
|
|
266
|
-
);
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
getTypeaheadSuggestions(column, pattern) {
|
|
270
|
-
if (__privateGet(this, _table)) {
|
|
271
|
-
const columnIndex = this.columnMap[column];
|
|
272
|
-
if (columnIndex === void 0) {
|
|
273
|
-
console.warn(
|
|
274
|
-
`[TickingArrayDataSource] getTypeaheadSuggestions. No column ${column}`
|
|
275
|
-
);
|
|
276
|
-
return Promise.resolve([]);
|
|
277
|
-
} else {
|
|
278
|
-
return makeSuggestions.makeSuggestions(this.currentData, columnIndex, pattern);
|
|
279
|
-
}
|
|
280
|
-
} else {
|
|
281
|
-
throw Error(
|
|
282
|
-
"cannot call getTypeaheadSuggestions on TickingDataSource if table has not been provided"
|
|
283
|
-
);
|
|
284
|
-
}
|
|
285
|
-
}
|
|
286
|
-
get visualLink() {
|
|
287
|
-
return this._config.visualLink;
|
|
288
|
-
}
|
|
289
|
-
set visualLink(visualLink) {
|
|
290
|
-
var _a, _b;
|
|
291
|
-
this._config = {
|
|
292
|
-
...this._config,
|
|
293
|
-
visualLink
|
|
294
|
-
};
|
|
295
|
-
if (visualLink) {
|
|
296
|
-
const {
|
|
297
|
-
parentClientVpId,
|
|
298
|
-
link: { fromColumn, toColumn }
|
|
299
|
-
} = visualLink;
|
|
300
|
-
if (this.viewport) {
|
|
301
|
-
(_a = __privateGet(this, _visualLinkService)) == null ? void 0 : _a.call(this, {
|
|
302
|
-
childVpId: this.viewport,
|
|
303
|
-
childColumnName: fromColumn,
|
|
304
|
-
type: "CREATE_VISUAL_LINK",
|
|
305
|
-
parentVpId: parentClientVpId,
|
|
306
|
-
parentColumnName: toColumn
|
|
307
|
-
}).then((response) => {
|
|
308
|
-
this.emit(
|
|
309
|
-
"visual-link-created",
|
|
310
|
-
response
|
|
311
|
-
);
|
|
312
|
-
});
|
|
313
|
-
}
|
|
314
|
-
} else {
|
|
315
|
-
(_b = __privateGet(this, _visualLinkService)) == null ? void 0 : _b.call(this, {
|
|
316
|
-
childVpId: this.viewport,
|
|
317
|
-
type: "REMOVE_VISUAL_LINK"
|
|
318
|
-
}).then(() => {
|
|
319
|
-
this.emit("visual-link-removed");
|
|
320
|
-
});
|
|
321
|
-
}
|
|
322
|
-
}
|
|
323
|
-
freeze() {
|
|
324
|
-
super.freeze();
|
|
325
|
-
}
|
|
326
|
-
unfreeze() {
|
|
327
|
-
super.unfreeze();
|
|
328
|
-
}
|
|
329
|
-
};
|
|
330
|
-
_menuRpcServices = new WeakMap();
|
|
331
|
-
_pendingVisualLink = new WeakMap();
|
|
332
|
-
_rpcMenuServices = new WeakMap();
|
|
333
|
-
_rpcServices = new WeakMap();
|
|
334
|
-
_sourceTableDataSource = new WeakMap();
|
|
335
|
-
_table = new WeakMap();
|
|
336
|
-
_selectionLinkSubscribers = new WeakMap();
|
|
337
|
-
_visualLinkService = new WeakMap();
|
|
338
|
-
_getVisualLinks = new WeakMap();
|
|
339
|
-
_vuuModule = new WeakMap();
|
|
340
|
-
let TickingArrayDataSource = _TickingArrayDataSource;
|
|
341
|
-
|
|
342
|
-
exports.TickingArrayDataSource = TickingArrayDataSource;
|
|
343
|
-
//# sourceMappingURL=TickingArrayDataSource.js.map
|