@vuu-ui/vuu-data-test 2.1.18 → 2.1.19-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (277) hide show
  1. package/package.json +10 -13
  2. package/src/ArrayProxy.js +38 -0
  3. package/src/RuntimeVisualLink.js +45 -0
  4. package/src/SessionTable.js +49 -0
  5. package/src/Table.js +96 -0
  6. package/src/TickingArrayDataSource.js +208 -0
  7. package/src/UpdateGenerator.js +72 -0
  8. package/src/basket/BasketModule.js +272 -0
  9. package/src/basket/basket-schemas.js +355 -0
  10. package/src/basket/index.js +2 -0
  11. package/src/basket/reference-data/constituents.js +76 -0
  12. package/src/basket/reference-data/ftse100.js +686 -0
  13. package/src/basket/reference-data/hsi.js +1047 -0
  14. package/src/basket/reference-data/nasdaq100.js +812 -0
  15. package/src/basket/reference-data/prices.js +43 -0
  16. package/src/basket/reference-data/sp500.js +315 -0
  17. package/src/core/module/ModuleContainer.js +21 -0
  18. package/src/core/module/VuuModule.js +476 -0
  19. package/src/core/table/TableContainer.js +97 -0
  20. package/src/data-utils.js +53 -0
  21. package/src/index.js +13 -0
  22. package/src/local-datasource-provider/LocalDatasourceProvider.js +44 -0
  23. package/src/makeSuggestions.js +20 -0
  24. package/src/rowUpdates.js +0 -0
  25. package/src/schemas.js +19 -0
  26. package/src/session-table-utils.js +16 -0
  27. package/src/simul/SimulModule.js +175 -0
  28. package/src/simul/index.js +2 -0
  29. package/src/simul/reference-data/accounts.js +23 -0
  30. package/src/simul/reference-data/algos.js +9 -0
  31. package/src/simul/reference-data/currencies.js +8 -0
  32. package/src/simul/reference-data/index.js +5 -0
  33. package/src/simul/reference-data/instrument-prices.js +48 -0
  34. package/src/simul/reference-data/instruments-extended.js +12 -0
  35. package/src/simul/reference-data/instruments.js +67 -0
  36. package/src/simul/reference-data/isin-generator/convert-string-to-base-ten-number.js +2 -0
  37. package/src/simul/reference-data/isin-generator/fixtures/alphabet.js +27 -0
  38. package/src/simul/reference-data/isin-generator/fixtures/alphanumeric-values.js +7 -0
  39. package/src/simul/reference-data/isin-generator/fixtures/base-ten-numbers.js +13 -0
  40. package/src/simul/reference-data/isin-generator/generate-cusip-check-code.js +17 -0
  41. package/src/simul/reference-data/isin-generator/generate-cusip-without-check-code.js +8 -0
  42. package/src/simul/reference-data/isin-generator/generate-cusip.js +8 -0
  43. package/src/simul/reference-data/isin-generator/generate-random-alphanumeric.js +3 -0
  44. package/src/simul/reference-data/isin-generator/generate-random-base-ten-number.js +2 -0
  45. package/src/simul/reference-data/isin-generator/generate-random-string-of-alphanumeric-chars.js +7 -0
  46. package/src/simul/reference-data/isin-generator/generate-random-string-of-base-ten-chars.js +7 -0
  47. package/src/simul/reference-data/isin-generator/index.js +280 -0
  48. package/src/simul/reference-data/isin-generator/is-odd.js +2 -0
  49. package/src/simul/reference-data/locations.js +45 -0
  50. package/src/simul/reference-data/lotsizes.js +24 -0
  51. package/src/simul/reference-data/orderStatus.js +6 -0
  52. package/src/simul/reference-data/orders.js +64 -0
  53. package/src/simul/reference-data/parent-child-orders.js +117 -0
  54. package/src/simul/reference-data/priceStrategies.js +8 -0
  55. package/src/simul/reference-data/prices.js +78 -0
  56. package/src/simul/reference-data/sides.js +5 -0
  57. package/src/simul/simul-schemas.js +428 -0
  58. package/src/test/TestModule.js +95 -0
  59. package/src/test/index.js +1 -0
  60. package/src/test/test-schemas.js +74 -0
  61. package/src/vuu-row-generator.js +71 -0
  62. package/types/TickingArrayDataSource.d.ts +1 -1
  63. package/types/basket/BasketModule.d.ts +9 -9
  64. package/types/basket/reference-data/prices.d.ts +1 -1
  65. package/types/simul/reference-data/instruments-extended.d.ts +1 -1
  66. package/types/simul/reference-data/instruments.d.ts +1 -1
  67. package/types/simul/reference-data/orders.d.ts +1 -1
  68. package/types/simul/reference-data/parent-child-orders.d.ts +2 -2
  69. package/types/simul/reference-data/prices.d.ts +1 -1
  70. package/cjs/ArrayProxy.js +0 -72
  71. package/cjs/ArrayProxy.js.map +0 -1
  72. package/cjs/RuntimeVisualLink.js +0 -73
  73. package/cjs/RuntimeVisualLink.js.map +0 -1
  74. package/cjs/SessionTable.js +0 -68
  75. package/cjs/SessionTable.js.map +0 -1
  76. package/cjs/Table.js +0 -128
  77. package/cjs/Table.js.map +0 -1
  78. package/cjs/TickingArrayDataSource.js +0 -316
  79. package/cjs/TickingArrayDataSource.js.map +0 -1
  80. package/cjs/UpdateGenerator.js +0 -94
  81. package/cjs/UpdateGenerator.js.map +0 -1
  82. package/cjs/basket/BasketModule.js +0 -282
  83. package/cjs/basket/BasketModule.js.map +0 -1
  84. package/cjs/basket/basket-schemas.js +0 -123
  85. package/cjs/basket/basket-schemas.js.map +0 -1
  86. package/cjs/basket/reference-data/constituents.js +0 -40
  87. package/cjs/basket/reference-data/constituents.js.map +0 -1
  88. package/cjs/basket/reference-data/ftse100.js +0 -105
  89. package/cjs/basket/reference-data/ftse100.js.map +0 -1
  90. package/cjs/basket/reference-data/hsi.js +0 -87
  91. package/cjs/basket/reference-data/hsi.js.map +0 -1
  92. package/cjs/basket/reference-data/nasdaq100.js +0 -108
  93. package/cjs/basket/reference-data/nasdaq100.js.map +0 -1
  94. package/cjs/basket/reference-data/sp500.js +0 -46
  95. package/cjs/basket/reference-data/sp500.js.map +0 -1
  96. package/cjs/core/module/ModuleContainer.js +0 -43
  97. package/cjs/core/module/ModuleContainer.js.map +0 -1
  98. package/cjs/core/module/VuuModule.js +0 -660
  99. package/cjs/core/module/VuuModule.js.map +0 -1
  100. package/cjs/core/table/TableContainer.js +0 -139
  101. package/cjs/core/table/TableContainer.js.map +0 -1
  102. package/cjs/data-utils.js +0 -47
  103. package/cjs/data-utils.js.map +0 -1
  104. package/cjs/index.js +0 -46
  105. package/cjs/index.js.map +0 -1
  106. package/cjs/local-datasource-provider/LocalDatasourceProvider.js +0 -70
  107. package/cjs/local-datasource-provider/LocalDatasourceProvider.js.map +0 -1
  108. package/cjs/makeSuggestions.js +0 -26
  109. package/cjs/makeSuggestions.js.map +0 -1
  110. package/cjs/schemas.js +0 -28
  111. package/cjs/schemas.js.map +0 -1
  112. package/cjs/session-table-utils.js +0 -12
  113. package/cjs/session-table-utils.js.map +0 -1
  114. package/cjs/simul/SimulModule.js +0 -187
  115. package/cjs/simul/SimulModule.js.map +0 -1
  116. package/cjs/simul/reference-data/accounts.js +0 -27
  117. package/cjs/simul/reference-data/accounts.js.map +0 -1
  118. package/cjs/simul/reference-data/algos.js +0 -6
  119. package/cjs/simul/reference-data/algos.js.map +0 -1
  120. package/cjs/simul/reference-data/currencies.js +0 -6
  121. package/cjs/simul/reference-data/currencies.js.map +0 -1
  122. package/cjs/simul/reference-data/instruments-extended.js +0 -19
  123. package/cjs/simul/reference-data/instruments-extended.js.map +0 -1
  124. package/cjs/simul/reference-data/instruments.js +0 -85
  125. package/cjs/simul/reference-data/instruments.js.map +0 -1
  126. package/cjs/simul/reference-data/isin-generator/convert-string-to-base-ten-number.js +0 -6
  127. package/cjs/simul/reference-data/isin-generator/convert-string-to-base-ten-number.js.map +0 -1
  128. package/cjs/simul/reference-data/isin-generator/fixtures/alphabet.js +0 -31
  129. package/cjs/simul/reference-data/isin-generator/fixtures/alphabet.js.map +0 -1
  130. package/cjs/simul/reference-data/isin-generator/fixtures/alphanumeric-values.js +0 -9
  131. package/cjs/simul/reference-data/isin-generator/fixtures/alphanumeric-values.js.map +0 -1
  132. package/cjs/simul/reference-data/isin-generator/fixtures/base-ten-numbers.js +0 -17
  133. package/cjs/simul/reference-data/isin-generator/fixtures/base-ten-numbers.js.map +0 -1
  134. package/cjs/simul/reference-data/isin-generator/generate-cusip-check-code.js +0 -24
  135. package/cjs/simul/reference-data/isin-generator/generate-cusip-check-code.js.map +0 -1
  136. package/cjs/simul/reference-data/isin-generator/generate-cusip-without-check-code.js +0 -13
  137. package/cjs/simul/reference-data/isin-generator/generate-cusip-without-check-code.js.map +0 -1
  138. package/cjs/simul/reference-data/isin-generator/generate-cusip.js +0 -13
  139. package/cjs/simul/reference-data/isin-generator/generate-cusip.js.map +0 -1
  140. package/cjs/simul/reference-data/isin-generator/generate-random-alphanumeric.js +0 -8
  141. package/cjs/simul/reference-data/isin-generator/generate-random-alphanumeric.js.map +0 -1
  142. package/cjs/simul/reference-data/isin-generator/generate-random-base-ten-number.js +0 -6
  143. package/cjs/simul/reference-data/isin-generator/generate-random-base-ten-number.js.map +0 -1
  144. package/cjs/simul/reference-data/isin-generator/generate-random-string-of-alphanumeric-chars.js +0 -14
  145. package/cjs/simul/reference-data/isin-generator/generate-random-string-of-alphanumeric-chars.js.map +0 -1
  146. package/cjs/simul/reference-data/isin-generator/generate-random-string-of-base-ten-chars.js +0 -14
  147. package/cjs/simul/reference-data/isin-generator/generate-random-string-of-base-ten-chars.js.map +0 -1
  148. package/cjs/simul/reference-data/isin-generator/index.js +0 -295
  149. package/cjs/simul/reference-data/isin-generator/index.js.map +0 -1
  150. package/cjs/simul/reference-data/isin-generator/is-odd.js +0 -6
  151. package/cjs/simul/reference-data/isin-generator/is-odd.js.map +0 -1
  152. package/cjs/simul/reference-data/locations.js +0 -17
  153. package/cjs/simul/reference-data/locations.js.map +0 -1
  154. package/cjs/simul/reference-data/lotsizes.js +0 -28
  155. package/cjs/simul/reference-data/lotsizes.js.map +0 -1
  156. package/cjs/simul/reference-data/orderStatus.js +0 -6
  157. package/cjs/simul/reference-data/orderStatus.js.map +0 -1
  158. package/cjs/simul/reference-data/orders.js +0 -55
  159. package/cjs/simul/reference-data/orders.js.map +0 -1
  160. package/cjs/simul/reference-data/parent-child-orders.js +0 -144
  161. package/cjs/simul/reference-data/parent-child-orders.js.map +0 -1
  162. package/cjs/simul/reference-data/prices.js +0 -89
  163. package/cjs/simul/reference-data/prices.js.map +0 -1
  164. package/cjs/simul/reference-data/sides.js +0 -6
  165. package/cjs/simul/reference-data/sides.js.map +0 -1
  166. package/cjs/simul/simul-schemas.js +0 -150
  167. package/cjs/simul/simul-schemas.js.map +0 -1
  168. package/cjs/test/TestModule.js +0 -86
  169. package/cjs/test/TestModule.js.map +0 -1
  170. package/cjs/test/test-schemas.js +0 -52
  171. package/cjs/test/test-schemas.js.map +0 -1
  172. package/cjs/vuu-row-generator.js +0 -74
  173. package/cjs/vuu-row-generator.js.map +0 -1
  174. package/esm/ArrayProxy.js +0 -70
  175. package/esm/ArrayProxy.js.map +0 -1
  176. package/esm/RuntimeVisualLink.js +0 -71
  177. package/esm/RuntimeVisualLink.js.map +0 -1
  178. package/esm/SessionTable.js +0 -65
  179. package/esm/SessionTable.js.map +0 -1
  180. package/esm/Table.js +0 -124
  181. package/esm/Table.js.map +0 -1
  182. package/esm/TickingArrayDataSource.js +0 -314
  183. package/esm/TickingArrayDataSource.js.map +0 -1
  184. package/esm/UpdateGenerator.js +0 -92
  185. package/esm/UpdateGenerator.js.map +0 -1
  186. package/esm/basket/BasketModule.js +0 -278
  187. package/esm/basket/BasketModule.js.map +0 -1
  188. package/esm/basket/basket-schemas.js +0 -120
  189. package/esm/basket/basket-schemas.js.map +0 -1
  190. package/esm/basket/reference-data/constituents.js +0 -38
  191. package/esm/basket/reference-data/constituents.js.map +0 -1
  192. package/esm/basket/reference-data/ftse100.js +0 -103
  193. package/esm/basket/reference-data/ftse100.js.map +0 -1
  194. package/esm/basket/reference-data/hsi.js +0 -85
  195. package/esm/basket/reference-data/hsi.js.map +0 -1
  196. package/esm/basket/reference-data/nasdaq100.js +0 -106
  197. package/esm/basket/reference-data/nasdaq100.js.map +0 -1
  198. package/esm/basket/reference-data/sp500.js +0 -44
  199. package/esm/basket/reference-data/sp500.js.map +0 -1
  200. package/esm/core/module/ModuleContainer.js +0 -41
  201. package/esm/core/module/ModuleContainer.js.map +0 -1
  202. package/esm/core/module/VuuModule.js +0 -658
  203. package/esm/core/module/VuuModule.js.map +0 -1
  204. package/esm/core/table/TableContainer.js +0 -137
  205. package/esm/core/table/TableContainer.js.map +0 -1
  206. package/esm/data-utils.js +0 -43
  207. package/esm/data-utils.js.map +0 -1
  208. package/esm/index.js +0 -16
  209. package/esm/index.js.map +0 -1
  210. package/esm/local-datasource-provider/LocalDatasourceProvider.js +0 -68
  211. package/esm/local-datasource-provider/LocalDatasourceProvider.js.map +0 -1
  212. package/esm/makeSuggestions.js +0 -24
  213. package/esm/makeSuggestions.js.map +0 -1
  214. package/esm/schemas.js +0 -24
  215. package/esm/schemas.js.map +0 -1
  216. package/esm/session-table-utils.js +0 -10
  217. package/esm/session-table-utils.js.map +0 -1
  218. package/esm/simul/SimulModule.js +0 -184
  219. package/esm/simul/SimulModule.js.map +0 -1
  220. package/esm/simul/reference-data/accounts.js +0 -25
  221. package/esm/simul/reference-data/accounts.js.map +0 -1
  222. package/esm/simul/reference-data/algos.js +0 -4
  223. package/esm/simul/reference-data/algos.js.map +0 -1
  224. package/esm/simul/reference-data/currencies.js +0 -4
  225. package/esm/simul/reference-data/currencies.js.map +0 -1
  226. package/esm/simul/reference-data/instruments-extended.js +0 -17
  227. package/esm/simul/reference-data/instruments-extended.js.map +0 -1
  228. package/esm/simul/reference-data/instruments.js +0 -80
  229. package/esm/simul/reference-data/instruments.js.map +0 -1
  230. package/esm/simul/reference-data/isin-generator/convert-string-to-base-ten-number.js +0 -4
  231. package/esm/simul/reference-data/isin-generator/convert-string-to-base-ten-number.js.map +0 -1
  232. package/esm/simul/reference-data/isin-generator/fixtures/alphabet.js +0 -29
  233. package/esm/simul/reference-data/isin-generator/fixtures/alphabet.js.map +0 -1
  234. package/esm/simul/reference-data/isin-generator/fixtures/alphanumeric-values.js +0 -7
  235. package/esm/simul/reference-data/isin-generator/fixtures/alphanumeric-values.js.map +0 -1
  236. package/esm/simul/reference-data/isin-generator/fixtures/base-ten-numbers.js +0 -15
  237. package/esm/simul/reference-data/isin-generator/fixtures/base-ten-numbers.js.map +0 -1
  238. package/esm/simul/reference-data/isin-generator/generate-cusip-check-code.js +0 -22
  239. package/esm/simul/reference-data/isin-generator/generate-cusip-check-code.js.map +0 -1
  240. package/esm/simul/reference-data/isin-generator/generate-cusip-without-check-code.js +0 -11
  241. package/esm/simul/reference-data/isin-generator/generate-cusip-without-check-code.js.map +0 -1
  242. package/esm/simul/reference-data/isin-generator/generate-cusip.js +0 -11
  243. package/esm/simul/reference-data/isin-generator/generate-cusip.js.map +0 -1
  244. package/esm/simul/reference-data/isin-generator/generate-random-alphanumeric.js +0 -6
  245. package/esm/simul/reference-data/isin-generator/generate-random-alphanumeric.js.map +0 -1
  246. package/esm/simul/reference-data/isin-generator/generate-random-base-ten-number.js +0 -4
  247. package/esm/simul/reference-data/isin-generator/generate-random-base-ten-number.js.map +0 -1
  248. package/esm/simul/reference-data/isin-generator/generate-random-string-of-alphanumeric-chars.js +0 -12
  249. package/esm/simul/reference-data/isin-generator/generate-random-string-of-alphanumeric-chars.js.map +0 -1
  250. package/esm/simul/reference-data/isin-generator/generate-random-string-of-base-ten-chars.js +0 -12
  251. package/esm/simul/reference-data/isin-generator/generate-random-string-of-base-ten-chars.js.map +0 -1
  252. package/esm/simul/reference-data/isin-generator/index.js +0 -293
  253. package/esm/simul/reference-data/isin-generator/index.js.map +0 -1
  254. package/esm/simul/reference-data/isin-generator/is-odd.js +0 -4
  255. package/esm/simul/reference-data/isin-generator/is-odd.js.map +0 -1
  256. package/esm/simul/reference-data/locations.js +0 -14
  257. package/esm/simul/reference-data/locations.js.map +0 -1
  258. package/esm/simul/reference-data/lotsizes.js +0 -26
  259. package/esm/simul/reference-data/lotsizes.js.map +0 -1
  260. package/esm/simul/reference-data/orderStatus.js +0 -4
  261. package/esm/simul/reference-data/orderStatus.js.map +0 -1
  262. package/esm/simul/reference-data/orders.js +0 -52
  263. package/esm/simul/reference-data/orders.js.map +0 -1
  264. package/esm/simul/reference-data/parent-child-orders.js +0 -139
  265. package/esm/simul/reference-data/parent-child-orders.js.map +0 -1
  266. package/esm/simul/reference-data/prices.js +0 -86
  267. package/esm/simul/reference-data/prices.js.map +0 -1
  268. package/esm/simul/reference-data/sides.js +0 -4
  269. package/esm/simul/reference-data/sides.js.map +0 -1
  270. package/esm/simul/simul-schemas.js +0 -147
  271. package/esm/simul/simul-schemas.js.map +0 -1
  272. package/esm/test/TestModule.js +0 -84
  273. package/esm/test/TestModule.js.map +0 -1
  274. package/esm/test/test-schemas.js +0 -50
  275. package/esm/test/test-schemas.js.map +0 -1
  276. package/esm/vuu-row-generator.js +0 -68
  277. package/esm/vuu-row-generator.js.map +0 -1
@@ -1,41 +0,0 @@
1
- var __typeError = (msg) => {
2
- throw TypeError(msg);
3
- };
4
- var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
5
- var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
6
- 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);
7
- var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
8
- var _instance, _modules;
9
- const _ModuleContainer = class _ModuleContainer {
10
- constructor() {
11
- __privateAdd(this, _modules, /* @__PURE__ */ new Map());
12
- }
13
- static get instance() {
14
- if (!__privateGet(_ModuleContainer, _instance)) {
15
- __privateSet(_ModuleContainer, _instance, new _ModuleContainer());
16
- }
17
- return __privateGet(_ModuleContainer, _instance);
18
- }
19
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
20
- register(module) {
21
- __privateGet(this, _modules).set(module.name, module);
22
- }
23
- get(name) {
24
- const module = __privateGet(this, _modules).get(name);
25
- if (module) {
26
- return module;
27
- }
28
- throw Error(`[ModuleFactory] module ${name} not found`);
29
- }
30
- get moduleNames() {
31
- return __privateGet(this, _modules).keys();
32
- }
33
- };
34
- _instance = new WeakMap();
35
- _modules = new WeakMap();
36
- __privateAdd(_ModuleContainer, _instance);
37
- let ModuleContainer = _ModuleContainer;
38
- var moduleContainer = ModuleContainer.instance;
39
-
40
- export { moduleContainer as default };
41
- //# sourceMappingURL=ModuleContainer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ModuleContainer.js","sources":["../../../../../packages/vuu-data-test/src/core/module/ModuleContainer.ts"],"sourcesContent":["import { VuuModule } from \"./VuuModule\";\n\nclass ModuleContainer {\n private constructor() {\n // empty constructor is all we need\n }\n static #instance: ModuleContainer;\n\n public static get instance(): ModuleContainer {\n if (!ModuleContainer.#instance) {\n ModuleContainer.#instance = new ModuleContainer();\n }\n return ModuleContainer.#instance;\n }\n\n #modules = new Map<string, VuuModule>();\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n register(module: VuuModule<any>) {\n this.#modules.set(module.name, module);\n }\n\n get(name: string) {\n const module = this.#modules.get(name);\n if (module) {\n return module;\n }\n throw Error(`[ModuleFactory] module ${name} not found`);\n }\n\n get moduleNames() {\n return this.#modules.keys();\n }\n}\n\nexport default ModuleContainer.instance;\n"],"names":[],"mappings":";;;;;;;AAAA,IAAA,SAAA,EAAA,QAAA;AAEA,MAAM,gBAAA,GAAN,MAAM,gBAAgB,CAAA;AAAA,EACZ,WAAc,GAAA;AAYtB,IAAA,YAAA,CAAA,IAAA,EAAA,QAAA,sBAAe,GAAuB,EAAA,CAAA;AAAA;AAVtC,EAGA,WAAkB,QAA4B,GAAA;AAC5C,IAAI,IAAA,CAAC,+BAAgB,SAAW,CAAA,EAAA;AAC9B,MAAgB,YAAA,CAAA,gBAAA,EAAA,SAAA,EAAY,IAAI,gBAAgB,EAAA,CAAA;AAAA;AAElD,IAAA,OAAO,YAAgB,CAAA,gBAAA,EAAA,SAAA,CAAA;AAAA;AACzB;AAAA,EAKA,SAAS,MAAwB,EAAA;AAC/B,IAAA,YAAA,CAAA,IAAA,EAAK,QAAS,CAAA,CAAA,GAAA,CAAI,MAAO,CAAA,IAAA,EAAM,MAAM,CAAA;AAAA;AACvC,EAEA,IAAI,IAAc,EAAA;AAChB,IAAA,MAAM,MAAS,GAAA,YAAA,CAAA,IAAA,EAAK,QAAS,CAAA,CAAA,GAAA,CAAI,IAAI,CAAA;AACrC,IAAA,IAAI,MAAQ,EAAA;AACV,MAAO,OAAA,MAAA;AAAA;AAET,IAAM,MAAA,KAAA,CAAM,CAA0B,uBAAA,EAAA,IAAI,CAAY,UAAA,CAAA,CAAA;AAAA;AACxD,EAEA,IAAI,WAAc,GAAA;AAChB,IAAO,OAAA,YAAA,CAAA,IAAA,EAAK,UAAS,IAAK,EAAA;AAAA;AAE9B,CAAA;AA3BS,SAAA,GAAA,IAAA,OAAA,EAAA;AASP,QAAA,GAAA,IAAA,OAAA,EAAA;AATA,YAAA,CAJI,gBAIG,EAAA,SAAA,CAAA;AAJT,IAAM,eAAN,GAAA,gBAAA;AAiCA,sBAAe,eAAgB,CAAA,QAAA;;;;"}
@@ -1,658 +0,0 @@
1
- import { isEditCellRpcRequest, isRpcSuccess, isBeginEditSessionRpcRequest, uuid, isAddRowRpcRequest, isEndEditSessionRpcRequest } from '@vuu-ui/vuu-utils';
2
- import { Table, buildDataColumnMapFromSchema } from '../../Table.js';
3
- import { SessionTable, isProxySessionTable } from '../../SessionTable.js';
4
- import { TickingArrayDataSource } from '../../TickingArrayDataSource.js';
5
- import { RuntimeVisualLink } from '../../RuntimeVisualLink.js';
6
- import moduleContainer from './ModuleContainer.js';
7
- import { sessionTableSchema } from '../../session-table-utils.js';
8
-
9
- var __defProp = Object.defineProperty;
10
- var __typeError = (msg) => {
11
- throw TypeError(msg);
12
- };
13
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
14
- var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
15
- var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
16
- var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
17
- 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);
18
- var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
19
- var _name, _runtimeVisualLinks, _sessionTableMap, _tableServices, _subscriptionMap, _moduleServices, _moduleMenuServices;
20
- const assertUpdateIsValid = (schema, column, data) => {
21
- const col = schema.columns.find((col2) => col2.name === column);
22
- if (col) {
23
- console.log(`data type ${col.serverDataType} data ${data}`);
24
- } else {
25
- throw Error(
26
- `schema for table ${schema.table.table} does not include column ${column}`
27
- );
28
- }
29
- };
30
- class VuuModule {
31
- constructor(name) {
32
- __privateAdd(this, _name);
33
- __privateAdd(this, _runtimeVisualLinks, /* @__PURE__ */ new Map());
34
- __privateAdd(this, _sessionTableMap, {});
35
- __privateAdd(this, _tableServices);
36
- __privateAdd(this, _subscriptionMap, /* @__PURE__ */ new Map());
37
- __publicField(this, "handlePostSubscribeActivities", ({
38
- clientViewportId,
39
- tableSchema
40
- }) => {
41
- const visualLinks = this.getVisualLinks(tableSchema.table.table);
42
- const { dataSource } = this.getSubscriptionByViewport(clientViewportId);
43
- requestAnimationFrame(() => {
44
- dataSource.links = visualLinks;
45
- });
46
- if (this.visualLinks && dataSource.tableSchema) {
47
- const {
48
- table: { table: sourceTable }
49
- } = dataSource.tableSchema;
50
- for (const [table, links] of Object.entries(
51
- this.visualLinks
52
- )) {
53
- if (links) {
54
- const potentialTargets = links.filter(
55
- (l) => l.toTable === sourceTable
56
- );
57
- if (potentialTargets.length) {
58
- for (const subscriptions of __privateGet(this, _subscriptionMap).values()) {
59
- for (const { dataSource: dataSource2 } of subscriptions) {
60
- if (dataSource2.tableSchema?.table.table === table) {
61
- dataSource2.links = this.getVisualLinks(table);
62
- }
63
- }
64
- }
65
- }
66
- }
67
- }
68
- }
69
- });
70
- __publicField(this, "unregisterViewport", (viewportId) => {
71
- const { dataSource } = this.getSubscriptionByViewport(viewportId);
72
- const tableName = dataSource.tableSchema?.table.table;
73
- if (tableName) {
74
- const subscriptionsForTable = __privateGet(this, _subscriptionMap).get(tableName);
75
- if (subscriptionsForTable) {
76
- for (const { viewportId: vp } of subscriptionsForTable) {
77
- if (vp === viewportId) {
78
- if (subscriptionsForTable.length === 1) {
79
- __privateGet(this, _subscriptionMap).delete(tableName);
80
- } else {
81
- __privateGet(this, _subscriptionMap).set(
82
- tableName,
83
- subscriptionsForTable.filter(
84
- (s) => s.viewportId !== viewportId
85
- )
86
- );
87
- }
88
- }
89
- }
90
- }
91
- }
92
- for (const [tableName2, subscriptions] of __privateGet(this, _subscriptionMap)) {
93
- if (subscriptions[0].viewportId.toString() === viewportId) {
94
- __privateGet(this, _subscriptionMap).delete(tableName2);
95
- }
96
- }
97
- if (this.visualLinks && dataSource.tableSchema) {
98
- const {
99
- table: { table: sourceTable }
100
- } = dataSource.tableSchema;
101
- for (const [table, links] of Object.entries(
102
- this.visualLinks
103
- )) {
104
- if (links) {
105
- const potentialTargets = links.filter(
106
- (l) => l.toTable === sourceTable
107
- );
108
- if (potentialTargets.length) {
109
- for (const subscriptions of __privateGet(this, _subscriptionMap).values()) {
110
- for (const { dataSource: dataSource2 } of subscriptions) {
111
- if (dataSource2.tableSchema?.table.table === table) {
112
- dataSource2.links = this.getVisualLinks(table);
113
- }
114
- }
115
- }
116
- }
117
- }
118
- }
119
- }
120
- });
121
- __publicField(this, "getLinks", (subscriptionMap, vuuLinks) => {
122
- const visualLinks = [];
123
- for (let i = 0; i < vuuLinks.length; i++) {
124
- const subscriptions = subscriptionMap.get(vuuLinks[i].toTable);
125
- if (subscriptions) {
126
- subscriptions.forEach(({ viewportId, dataSource: { status } }) => {
127
- if (status !== "suspended") {
128
- const newLink = {
129
- parentClientVpId: viewportId,
130
- parentVpId: viewportId,
131
- link: vuuLinks[i]
132
- };
133
- visualLinks.push(newLink);
134
- }
135
- });
136
- }
137
- }
138
- return visualLinks;
139
- });
140
- __publicField(this, "visualLinkService", (message) => new Promise((resolve) => {
141
- if (message.type === "CREATE_VISUAL_LINK") {
142
- const { childColumnName, childVpId, parentColumnName, parentVpId } = message;
143
- const childDataSource = this.getSubscribedDataSource(childVpId);
144
- const parentDataSource = this.getSubscribedDataSource(parentVpId);
145
- const runtimeVisualLink = new RuntimeVisualLink(
146
- childDataSource,
147
- parentDataSource,
148
- childColumnName,
149
- parentColumnName
150
- );
151
- __privateGet(this, _runtimeVisualLinks).set(childVpId, runtimeVisualLink);
152
- resolve({
153
- clientViewportId: childVpId,
154
- colName: childColumnName,
155
- parentColName: parentColumnName,
156
- parentViewportId: parentVpId,
157
- type: "vuu-link-created"
158
- });
159
- } else {
160
- const runtimeVisualLink = __privateGet(this, _runtimeVisualLinks).get(
161
- message.childVpId
162
- );
163
- if (runtimeVisualLink) {
164
- runtimeVisualLink.remove();
165
- __privateGet(this, _runtimeVisualLinks).delete(message.childVpId);
166
- } else {
167
- throw Error(
168
- `visualLinkService no visual link found for viewport #${message.childVpId}`
169
- );
170
- }
171
- resolve();
172
- }
173
- }));
174
- __publicField(this, "getVisualLinks", (tableName) => {
175
- const linksForTable = this.visualLinks?.[tableName];
176
- return linksForTable === void 0 ? void 0 : this.getLinks(__privateGet(this, _subscriptionMap), linksForTable);
177
- });
178
- __publicField(this, "createDataSource", (tableName, viewport, config) => {
179
- const columnDescriptors = this.getColumnDescriptors(tableName);
180
- const table = this.tables[tableName];
181
- const sessionTable = __privateGet(this, _sessionTableMap)[tableName];
182
- const vuuModule = this;
183
- const dataSource = new TickingArrayDataSource({
184
- ...config,
185
- columnDescriptors,
186
- getVisualLinks: this.getVisualLinks,
187
- keyColumn: this.schemas[tableName] === void 0 ? __privateGet(this, _sessionTableMap)[tableName].schema.key : this.schemas[tableName].key,
188
- table: table || sessionTable,
189
- menu: this.menus?.[tableName],
190
- rpcServices: this.getServices(tableName),
191
- rpcMenuServices: this.getMenuServices(tableName),
192
- sessionTables: __privateGet(this, _sessionTableMap),
193
- viewport,
194
- visualLinkService: this.visualLinkService,
195
- vuuModule
196
- });
197
- dataSource.on("subscribed", this.handlePostSubscribeActivities);
198
- dataSource.on("unsubscribed", this.unregisterViewport);
199
- const existingSubscriptions = __privateGet(this, _subscriptionMap).get(tableName);
200
- const subscription = {
201
- viewportId: dataSource.viewport,
202
- dataSource
203
- };
204
- if (existingSubscriptions) {
205
- existingSubscriptions.push(subscription);
206
- } else {
207
- __privateGet(this, _subscriptionMap).set(tableName, [subscription]);
208
- }
209
- return dataSource;
210
- });
211
- __publicField(this, "deleteRow", async (rpcRequest) => {
212
- if (rpcRequest.context.type === "VIEWPORT_CONTEXT") {
213
- const { viewPortId } = rpcRequest.context;
214
- const { key } = rpcRequest.params;
215
- const sessionTable = this.getSessionTable(viewPortId, false);
216
- if (sessionTable) {
217
- sessionTable.delete(key);
218
- return {
219
- type: "SUCCESS_RESULT",
220
- data: void 0
221
- };
222
- } else {
223
- const { dataSource } = this.getSubscriptionByViewport(viewPortId);
224
- if (dataSource.table) {
225
- const table = this.tables[dataSource.table.table];
226
- if (table) {
227
- table.delete(key);
228
- return {
229
- type: "SUCCESS_RESULT",
230
- data: void 0
231
- };
232
- }
233
- }
234
- }
235
- }
236
- return {
237
- type: "ERROR_RESULT",
238
- errorMessage: "something went wrong"
239
- };
240
- });
241
- __publicField(this, "editCell", async (rpcRequest) => {
242
- if (isEditCellRpcRequest(rpcRequest)) {
243
- const { viewPortId } = rpcRequest.context;
244
- const { column, data, key } = rpcRequest.params;
245
- let targetTable = __privateGet(this, _sessionTableMap)[viewPortId];
246
- if (!targetTable) {
247
- const { dataSource } = this.getSubscriptionByViewport(viewPortId);
248
- if (dataSource.table) {
249
- targetTable = this.tables[dataSource.table.table];
250
- }
251
- }
252
- if (targetTable) {
253
- try {
254
- assertUpdateIsValid(targetTable.schema, column, data);
255
- targetTable.update(key, column, data);
256
- return {
257
- type: "SUCCESS_RESULT",
258
- data: void 0
259
- };
260
- } catch (e) {
261
- const { message } = e;
262
- return {
263
- type: "ERROR_RESULT",
264
- errorMessage: message
265
- };
266
- }
267
- } else {
268
- throw Error("[VuuModule] editCell unable to find table for dataSource");
269
- }
270
- } else {
271
- throw Error(`[VuuModule] editCell invalid rpc type`);
272
- }
273
- });
274
- __publicField(this, "beginEditSessionMenuHandler", async ({
275
- rpcName,
276
- type,
277
- vpId
278
- }) => {
279
- if (type === "VIEW_PORT_MENUS_SELECT_RPC") {
280
- console.log(`rpcName ${rpcName}`);
281
- const result = await this.beginEditSession({
282
- context: {
283
- type: "VIEWPORT_CONTEXT",
284
- viewPortId: vpId
285
- },
286
- params: {
287
- editSessionMode: "selected-rows"
288
- },
289
- rpcName,
290
- type: "RPC_REQUEST"
291
- });
292
- if (isRpcSuccess(result)) {
293
- const { table } = result.data;
294
- return {
295
- type: "VIEW_PORT_MENU_RESP",
296
- rpcName,
297
- action: {
298
- renderComponent: "grid",
299
- type: "OPEN_DIALOG_ACTION",
300
- table
301
- },
302
- vpId
303
- };
304
- } else {
305
- return {
306
- error: result.errorMessage,
307
- rpcName,
308
- type: "VIEW_PORT_MENU_REJ",
309
- vpId
310
- };
311
- }
312
- } else {
313
- return {
314
- error: "no can do",
315
- rpcName,
316
- type: "VIEW_PORT_MENU_REJ",
317
- vpId
318
- };
319
- }
320
- });
321
- __publicField(this, "beginEditSession", async (rpcRequest) => {
322
- if (isBeginEditSessionRpcRequest(rpcRequest)) {
323
- const { viewPortId } = rpcRequest.context;
324
- const { editSessionMode = "inline-all-rows" } = rpcRequest.params;
325
- const subscription = this.getSubscriptionByViewport(viewPortId);
326
- const { dataSource } = subscription;
327
- const { table: vuuTable } = dataSource;
328
- if (vuuTable) {
329
- const sourceTable = this.tables[vuuTable.table];
330
- if (sourceTable) {
331
- const sessionTableName = `session-${uuid()}`;
332
- try {
333
- const sessionTable = this.createSessionTable(
334
- sourceTable,
335
- sessionTableName,
336
- editSessionMode,
337
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
338
- // @ts-ignore
339
- dataSource
340
- );
341
- __privateGet(this, _sessionTableMap)[sessionTableName] = sessionTable;
342
- subscription.sessionTableName = sessionTableName;
343
- return {
344
- data: {
345
- renderComponent: "inline-form",
346
- table: {
347
- module: vuuTable.module,
348
- table: sessionTableName
349
- }
350
- },
351
- type: "SUCCESS_RESULT"
352
- };
353
- } catch (e) {
354
- return {
355
- type: "ERROR_RESULT",
356
- errorMessage: e.message
357
- };
358
- }
359
- }
360
- }
361
- } else {
362
- throw Error(`[VuuModule] endEditSession invalid rpc type`);
363
- }
364
- return {
365
- type: "ERROR_RESULT",
366
- errorMessage: "not implemented yet"
367
- };
368
- });
369
- __publicField(this, "addRow", async (rpcRequest) => {
370
- if (isAddRowRpcRequest(rpcRequest)) {
371
- const { viewPortId } = rpcRequest.context;
372
- const subscription = this.getSubscriptionByViewport(viewPortId);
373
- const sessionTable = subscription.sessionTableName ? __privateGet(this, _sessionTableMap)[subscription.sessionTableName] : void 0;
374
- if (!sessionTable) {
375
- return {
376
- type: "ERROR_RESULT",
377
- errorMessage: `addRow: no active session table for viewport ${viewPortId}`
378
- };
379
- }
380
- const { data } = rpcRequest.params;
381
- const columnMap = sessionTable.map;
382
- const columnCount = Object.keys(columnMap).length;
383
- const row = new Array(columnCount).fill("");
384
- for (const [col, idx] of Object.entries(columnMap)) {
385
- if (data[col] !== void 0) {
386
- row[idx] = data[col];
387
- }
388
- }
389
- sessionTable.insert(row);
390
- return { type: "SUCCESS_RESULT", data: void 0 };
391
- }
392
- return {
393
- type: "ERROR_RESULT",
394
- errorMessage: "addRow: invalid rpc context"
395
- };
396
- });
397
- __publicField(this, "endEditSession", async (rpcRequest) => {
398
- if (isEndEditSessionRpcRequest(rpcRequest)) {
399
- const { viewPortId } = rpcRequest.context;
400
- const subscription = this.getSubscriptionByViewport(viewPortId);
401
- const sessionTableName = subscription.sessionTableName ?? viewPortId;
402
- const sessionTable = __privateGet(this, _sessionTableMap)[sessionTableName];
403
- const { dataSource } = subscription;
404
- if (dataSource.table) {
405
- const sourceTable = this.tables[dataSource.table.table];
406
- if (rpcRequest.params.save === true) {
407
- let rejectedCount = 0;
408
- if (isProxySessionTable(sessionTable)) {
409
- const updates = sessionTable.getSessionUpdates();
410
- updates.forEach((rowUpdates, key) => {
411
- const { cellUpdates, lastUpdateTimestamp } = rowUpdates;
412
- const currentRow = sourceTable.findByKey(key);
413
- const lastUpdateTimestampOnTable = currentRow[sourceTable.map.vuuUpdatedTimestamp];
414
- if (lastUpdateTimestamp !== lastUpdateTimestampOnTable) {
415
- rejectedCount += 1;
416
- const sessionTableRow = sessionTable.findByKey(key);
417
- const newRow = sessionTableRow.slice();
418
- const messages = [];
419
- Object.entries(cellUpdates).forEach(([column, value]) => {
420
- messages.push(`${column}:${value}`);
421
- });
422
- newRow[sessionTable.map.vuuMsg] = messages.join(",");
423
- sessionTable.updateRow(newRow);
424
- } else {
425
- const newRow = currentRow.slice();
426
- Object.entries(cellUpdates).forEach(([column, value]) => {
427
- newRow[sourceTable.map[column]] = value;
428
- });
429
- sourceTable.updateRow(newRow);
430
- }
431
- });
432
- updates.clear();
433
- } else {
434
- const vuuMsgIdx = sessionTable.map["vuuMsg"];
435
- const sourceColumns = sourceTable.schema.columns;
436
- for (let i = 0; i < sessionTable.data.length; i++) {
437
- const sessionRow = sessionTable.data[i];
438
- if (sessionRow[vuuMsgIdx]) continue;
439
- const sourceRow = sourceColumns.map(
440
- (col) => sessionRow[sessionTable.map[col.name]]
441
- );
442
- sourceTable.insert(sourceRow);
443
- }
444
- }
445
- if (rejectedCount > 0) {
446
- return {
447
- errorMessage: "stale update",
448
- type: "ERROR_RESULT"
449
- };
450
- } else {
451
- return {
452
- type: "SUCCESS_RESULT",
453
- data: void 0
454
- };
455
- }
456
- } else {
457
- return {
458
- type: "SUCCESS_RESULT",
459
- data: void 0
460
- };
461
- }
462
- } else {
463
- throw Error("[VuuModule], exitEditMode");
464
- }
465
- } else {
466
- throw Error(`[VuuModule] endEditSession invalid rpc type`);
467
- }
468
- });
469
- // Bulk-edit with input in session table
470
- __publicField(this, "applyBulkEdits", async (rpcRequest) => {
471
- if (rpcRequest.context.type === "VIEWPORT_CONTEXT") {
472
- const { viewPortId } = rpcRequest.context;
473
- const sessionTable = this.getSessionTable(viewPortId);
474
- for (let i = 0; i < sessionTable.data.length; i++) {
475
- const newRow = sessionTable.data[i];
476
- const { column, value } = rpcRequest.params;
477
- const keyIndex = sessionTable.map[sessionTable.schema.key];
478
- sessionTable.update(
479
- String(newRow[keyIndex]),
480
- column,
481
- value
482
- );
483
- }
484
- return {
485
- type: "SUCCESS_RESULT",
486
- data: void 0
487
- };
488
- } else {
489
- throw Error(`[VuuModule] applyBulkEdits invalid rpc type`);
490
- }
491
- });
492
- /**
493
- * These services are available on any table. The client must configure the appropriate
494
- * menu item(s) on Table(s). The services to implement these RPC calls are built-in to
495
- * VuuModule
496
- */
497
- __privateAdd(this, _moduleServices, [
498
- {
499
- rpcName: "addRow",
500
- service: this.addRow
501
- },
502
- {
503
- rpcName: "VP_BULK_EDIT_COLUMN_CELLS_RPC",
504
- service: this.applyBulkEdits
505
- },
506
- {
507
- rpcName: "beginEditSession",
508
- service: this.beginEditSession
509
- },
510
- {
511
- rpcName: "endEditSession",
512
- service: this.endEditSession
513
- },
514
- {
515
- rpcName: "editCell",
516
- service: this.editCell
517
- }
518
- ]);
519
- /**
520
- * These services are available on any table. The client must configure the appropriate
521
- * menu item(s) on Table(s). The services to implement these RPC calls are built-in to
522
- * VuuModule
523
- */
524
- __privateAdd(this, _moduleMenuServices, [
525
- {
526
- rpcName: "beginEditSession",
527
- service: this.beginEditSessionMenuHandler
528
- }
529
- ]);
530
- __privateSet(this, _name, name);
531
- moduleContainer.register(this);
532
- }
533
- getTableSchema(tableName) {
534
- return this.schemas[tableName] ?? __privateGet(this, _sessionTableMap)[tableName]?.schema;
535
- }
536
- getTableList() {
537
- return Object.keys(this.tables);
538
- }
539
- get name() {
540
- return __privateGet(this, _name);
541
- }
542
- getSubscriptionByViewport(viewportId) {
543
- for (const subscriptions of __privateGet(this, _subscriptionMap).values()) {
544
- for (const subscription of subscriptions) {
545
- if (subscription.viewportId === viewportId) {
546
- return subscription;
547
- }
548
- }
549
- }
550
- throw Error(
551
- `[VuuModule] getSubscriptionByViewport, no subscription found for ${viewportId}`
552
- );
553
- }
554
- getSubscribedDataSource(vpId) {
555
- for (const subscriptions of __privateGet(this, _subscriptionMap).values()) {
556
- for (const { viewportId, dataSource } of subscriptions) {
557
- if (viewportId === vpId) {
558
- return dataSource;
559
- }
560
- }
561
- }
562
- throw Error(`getSubscribedDataSource #${vpId} not in subscriptionMap`);
563
- }
564
- getServices(tableName) {
565
- const tableServices = this.services?.[tableName];
566
- if (Array.isArray(tableServices)) {
567
- return __privateGet(this, _moduleServices).concat(tableServices);
568
- } else {
569
- return __privateGet(this, _moduleServices);
570
- }
571
- }
572
- getMenuServices(tableName) {
573
- const tableServices = this.menuServices?.[tableName];
574
- if (Array.isArray(tableServices)) {
575
- return __privateGet(this, _moduleMenuServices).concat(tableServices);
576
- } else {
577
- return __privateGet(this, _moduleMenuServices);
578
- }
579
- }
580
- get sessionTableMap() {
581
- return __privateGet(this, _sessionTableMap);
582
- }
583
- getSessionTable(sessionTableName, throwIfNotFound = true) {
584
- const sessionTable = __privateGet(this, _sessionTableMap)[sessionTableName];
585
- if (sessionTable) {
586
- return sessionTable;
587
- } else if (throwIfNotFound) {
588
- throw Error(
589
- `getSessionTable: no session table with name ${sessionTableName}`
590
- );
591
- }
592
- }
593
- getColumnDescriptors(tableName) {
594
- const schema = this.schemas[tableName] || this.getSessionTable(tableName)?.schema;
595
- if (schema) {
596
- return schema.columns;
597
- } else {
598
- throw Error(
599
- ` no schema found for module ${__privateGet(this, _name)} table ${tableName}`
600
- );
601
- }
602
- }
603
- createSessionTable(sourceTable, sessionTableName, editSessionMode = "inline-all-rows", dataSource) {
604
- if (editSessionMode.endsWith("all-rows")) {
605
- return this.createSessionTableWithAllRows(sourceTable, sessionTableName);
606
- } else if (editSessionMode === "selected-rows") {
607
- return this.createSessionTableFromSelectedRows(
608
- sourceTable,
609
- sessionTableName,
610
- dataSource
611
- );
612
- } else if (editSessionMode === "empty-session-table") {
613
- return this.createEmptySessionTable(sourceTable, sessionTableName);
614
- } else {
615
- throw Error(
616
- `[VuuModule] createSessionTable, invalid editSessionMode ${editSessionMode}`
617
- );
618
- }
619
- }
620
- createSessionTableWithAllRows(sourceTable, sessionTableName) {
621
- return SessionTable(sourceTable, sessionTableName);
622
- }
623
- createEmptySessionTable({ schema }, sessionTableName) {
624
- const sessionSchema = sessionTableSchema({
625
- ...schema,
626
- table: { ...schema.table, table: sessionTableName }
627
- });
628
- return new Table(sessionSchema, [], buildDataColumnMapFromSchema(sessionSchema));
629
- }
630
- createSessionTableFromSelectedRows({ data, map, schema }, sessionTableName, dataSource) {
631
- const selectedRowIds = dataSource.getSelectedRowIds();
632
- const keyIndex = map[schema.key];
633
- const sessionData = [];
634
- for (let i = 0; i < selectedRowIds.length; i++) {
635
- for (let j = 0; j < data.length; j++) {
636
- if (data[j][keyIndex] === selectedRowIds[i]) {
637
- sessionData.push(data[j]);
638
- }
639
- }
640
- }
641
- const sessionSchema = sessionTableSchema(schema);
642
- return new Table(
643
- sessionSchema,
644
- sessionData,
645
- buildDataColumnMapFromSchema(sessionSchema)
646
- );
647
- }
648
- }
649
- _name = new WeakMap();
650
- _runtimeVisualLinks = new WeakMap();
651
- _sessionTableMap = new WeakMap();
652
- _tableServices = new WeakMap();
653
- _subscriptionMap = new WeakMap();
654
- _moduleServices = new WeakMap();
655
- _moduleMenuServices = new WeakMap();
656
-
657
- export { VuuModule };
658
- //# sourceMappingURL=VuuModule.js.map