@vuu-ui/vuu-data-test 0.8.62 → 0.8.63

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.
@@ -1 +1 @@
1
- {"version":3,"file":"simul-module.js","sources":["../../src/simul/simul-module.ts"],"sourcesContent":["import { OpenDialogAction, SuggestionFetcher } from \"@vuu-ui/vuu-data-types\";\nimport {\n ClientToServerViewportRpcCall,\n TypeaheadParams,\n VuuMenu,\n VuuTable,\n} from \"@vuu-ui/vuu-protocol-types\";\nimport { uuid } from \"@vuu-ui/vuu-utils\";\nimport { Table, buildDataColumnMap, joinTables } from \"../Table\";\nimport { TickingArrayDataSource } from \"../TickingArrayDataSource\";\nimport { makeSuggestions } from \"../makeSuggestions\";\nimport { createSessionTableFromSelectedRows } from \"../session-table-utils\";\nimport type { VuuModule } from \"../vuu-modules\";\nimport { instrumentsTable } from \"./reference-data/instruments\";\nimport { instrumentsExtendedTable } from \"./reference-data/instruments-extended\";\nimport { ordersTable } from \"./reference-data/orders\";\nimport { pricesTable } from \"./reference-data/prices\";\nimport { schemas, type SimulTableName } from \"./simul-schemas\";\n\ntype RpcService = {\n rpcName: string;\n service: (\n rpcRequest: Omit<ClientToServerViewportRpcCall, \"vpId\"> & {\n namedParams: { [key: string]: unknown };\n selectedRowIds: string[];\n table: VuuTable;\n }\n ) => Promise<unknown>;\n};\n\nexport type SessionTableMap = Record<string, Table>;\nconst sessionTableMap: SessionTableMap = {};\n\nconst getSessionTable = () => {\n if (Object.keys(sessionTableMap).length === 1) {\n const [sessionTable] = Object.values(sessionTableMap);\n return sessionTable;\n } else {\n throw Error(\n \"getSessionTable: should never be more than one session table in map\"\n );\n }\n};\n\nconst tables: Record<SimulTableName, Table> = {\n childOrders: new Table(\n schemas.childOrders,\n [],\n buildDataColumnMap<SimulTableName>(schemas, \"childOrders\")\n ),\n instruments: instrumentsTable,\n instrumentsExtended: instrumentsExtendedTable,\n instrumentPrices: joinTables(\n { module: \"SIMUL\", table: \"instrumentPrices\" },\n instrumentsTable,\n pricesTable,\n \"ric\"\n ),\n orders: ordersTable,\n parentOrders: new Table(\n schemas.parentOrders,\n [],\n buildDataColumnMap<SimulTableName>(schemas, \"parentOrders\")\n ),\n prices: pricesTable,\n};\n\nconst getColumnDescriptors = (tableName: SimulTableName) => {\n const schema = schemas[tableName] || getSessionTable()?.schema;\n if (schema) {\n return schema.columns;\n } else {\n throw Error(`simul-module no schema found for table SIMUL ${tableName}`);\n }\n};\n\nconst menus: Record<SimulTableName, VuuMenu | undefined> = {\n childOrders: undefined,\n instruments: {\n name: \"ROOT\",\n menus: [\n {\n context: \"selected-rows\",\n filter: \"\",\n name: \"Add Instruments To Order\",\n rpcName: \"ADD_INSTRUMENTS_TO_ORDER\",\n },\n {\n context: \"selected-rows\",\n filter: \"\",\n name: \"Edit Row\",\n rpcName: \"EDIT_ROW\",\n },\n {\n context: \"selected-rows\",\n filter: \"\",\n name: \"Edit Rows\",\n rpcName: \"VP_BULK_EDIT_BEGIN_RPC\",\n },\n ],\n },\n instrumentsExtended: undefined,\n instrumentPrices: undefined,\n orders: undefined,\n parentOrders: undefined,\n prices: undefined,\n};\n\nconst keyIndex = 6;\n\nasync function openBulkEdits(\n rpcRequest: Omit<ClientToServerViewportRpcCall, \"vpId\"> & {\n selectedRowIds: string[];\n table: VuuTable;\n }\n) {\n const { selectedRowIds, table } = rpcRequest;\n\n const dataTable = tables[table.table as SimulTableName];\n if (dataTable) {\n const sessionTable = createSessionTableFromSelectedRows(\n instrumentsTable,\n selectedRowIds\n );\n const sessionTableName = `instruments-${uuid()}`;\n sessionTableMap[sessionTableName] = sessionTable;\n\n return {\n action: {\n renderComponent: \"grid\",\n table: {\n module: \"SIMUL\",\n table: sessionTableName,\n },\n tableSchema: dataTable.schema,\n type: \"OPEN_DIALOG_ACTION\",\n } as OpenDialogAction,\n requestId: \"request_id\",\n rpcName: \"VP_BULK_EDIT_BEGIN_RPC\",\n };\n } else {\n return {\n requestId: \"request_id\",\n rpcName: \"VP_BULK_EDIT_REJECT\",\n };\n }\n}\n\n// Bulk-edit with input in session table\nasync function applyBulkEdits(\n rpcRequest: Omit<ClientToServerViewportRpcCall, \"vpId\"> & {\n namedParams: { [key: string]: unknown };\n selectedRowIds: string[];\n table: VuuTable;\n }\n) {\n const sessionTable = getSessionTable();\n\n for (let i = 0; i < sessionTable.data.length; i++) {\n const newRow = sessionTable.data[i];\n const { column, value } = rpcRequest.namedParams;\n sessionTable.update(String(newRow[keyIndex]), column as string, value);\n }\n\n return {\n action: {\n renderComponent: \"grid\",\n table: {\n module: \"SIMUL\",\n table: \"instruments\",\n },\n type: \"OPEN_DIALOG_ACTION\",\n },\n requestId: \"request_id\",\n rpcName: \"VP_BULK_EDIT_COLUMN_CELLS_RPC\",\n };\n}\n\n// Save session table data to main table\nasync function saveBulkEdits() {\n const sessionTable = getSessionTable();\n\n for (let i = 0; i < sessionTable.data.length; i++) {\n const newRow = sessionTable.data[i];\n instrumentsTable.updateRow(newRow);\n }\n\n return {\n action: {\n renderComponent: \"grid\",\n table: {\n module: \"SIMUL\",\n table: \"instruments\",\n },\n type: \"OPEN_DIALOG_ACTION\",\n },\n requestId: \"request_id\",\n rpcName: \"VP_BULK_EDIT_SUBMIT_RPC\",\n };\n}\n\nconst services: Record<SimulTableName, RpcService[] | undefined> = {\n childOrders: undefined,\n instruments: [\n {\n rpcName: \"VP_BULK_EDIT_BEGIN_RPC\",\n service: openBulkEdits,\n },\n {\n rpcName: \"VP_BULK_EDIT_COLUMN_CELLS_RPC\",\n service: applyBulkEdits,\n },\n {\n rpcName: \"VP_BULK_EDIT_SUBMIT_RPC\",\n service: saveBulkEdits,\n },\n ],\n instrumentsExtended: undefined,\n instrumentPrices: undefined,\n orders: undefined,\n parentOrders: undefined,\n prices: undefined,\n};\n\nconst createDataSource = (tableName: SimulTableName) => {\n const columnDescriptors = getColumnDescriptors(tableName);\n return new TickingArrayDataSource({\n columnDescriptors,\n keyColumn:\n schemas[tableName] === undefined\n ? sessionTableMap[tableName].schema.key\n : schemas[tableName].key,\n table: tables[tableName] || sessionTableMap[tableName],\n menu: menus[tableName],\n rpcServices: services[tableName],\n sessionTables: sessionTableMap,\n });\n};\n\nconst suggestionFetcher: SuggestionFetcher = ([\n vuuTable,\n column,\n pattern,\n]: TypeaheadParams) => {\n const table = tables[vuuTable.table as SimulTableName];\n if (table) {\n return makeSuggestions(table, column, pattern);\n } else {\n throw Error(\n `SIMUL suggestionFetcher, unknown table ${vuuTable.module} ${vuuTable.table}`\n );\n }\n};\n\nexport const simulModule: VuuModule<SimulTableName> = {\n createDataSource,\n typeaheadHook: () => suggestionFetcher,\n};\n"],"names":["Table","schemas","buildDataColumnMap","instrumentsTable","instrumentsExtendedTable","joinTables","pricesTable","ordersTable","createSessionTableFromSelectedRows","uuid","TickingArrayDataSource","makeSuggestions"],"mappings":"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"}
1
+ {"version":3,"file":"simul-module.js","sources":["../../src/simul/simul-module.ts"],"sourcesContent":["import {\n OpenDialogActionWithSchema,\n SuggestionFetcher,\n} from \"@vuu-ui/vuu-data-types\";\nimport {\n ClientToServerViewportRpcCall,\n TypeaheadParams,\n VuuMenu,\n VuuTable,\n} from \"@vuu-ui/vuu-protocol-types\";\nimport { uuid } from \"@vuu-ui/vuu-utils\";\nimport { Table, buildDataColumnMap, joinTables } from \"../Table\";\nimport { TickingArrayDataSource } from \"../TickingArrayDataSource\";\nimport { makeSuggestions } from \"../makeSuggestions\";\nimport { createSessionTableFromSelectedRows } from \"../session-table-utils\";\nimport type { VuuModule } from \"../vuu-modules\";\nimport { instrumentsTable } from \"./reference-data/instruments\";\nimport { instrumentsExtendedTable } from \"./reference-data/instruments-extended\";\nimport { ordersTable } from \"./reference-data/orders\";\nimport { pricesTable } from \"./reference-data/prices\";\nimport { schemas, type SimulTableName } from \"./simul-schemas\";\n\ntype RpcService = {\n rpcName: string;\n service: (\n rpcRequest: Omit<ClientToServerViewportRpcCall, \"vpId\"> & {\n namedParams: { [key: string]: unknown };\n selectedRowIds: string[];\n table: VuuTable;\n }\n ) => Promise<unknown>;\n};\n\nexport type SessionTableMap = Record<string, Table>;\nconst sessionTableMap: SessionTableMap = {};\n\nconst getSessionTable = () => {\n if (Object.keys(sessionTableMap).length === 1) {\n const [sessionTable] = Object.values(sessionTableMap);\n return sessionTable;\n } else {\n throw Error(\n \"getSessionTable: should never be more than one session table in map\"\n );\n }\n};\n\nconst tables: Record<SimulTableName, Table> = {\n childOrders: new Table(\n schemas.childOrders,\n [],\n buildDataColumnMap<SimulTableName>(schemas, \"childOrders\")\n ),\n instruments: instrumentsTable,\n instrumentsExtended: instrumentsExtendedTable,\n instrumentPrices: joinTables(\n { module: \"SIMUL\", table: \"instrumentPrices\" },\n instrumentsTable,\n pricesTable,\n \"ric\"\n ),\n orders: ordersTable,\n parentOrders: new Table(\n schemas.parentOrders,\n [],\n buildDataColumnMap<SimulTableName>(schemas, \"parentOrders\")\n ),\n prices: pricesTable,\n};\n\nconst getColumnDescriptors = (tableName: SimulTableName) => {\n const schema = schemas[tableName] || getSessionTable()?.schema;\n if (schema) {\n return schema.columns;\n } else {\n throw Error(`simul-module no schema found for table SIMUL ${tableName}`);\n }\n};\n\nconst menus: Record<SimulTableName, VuuMenu | undefined> = {\n childOrders: undefined,\n instruments: {\n name: \"ROOT\",\n menus: [\n {\n context: \"selected-rows\",\n filter: \"\",\n name: \"Add Instruments To Order\",\n rpcName: \"ADD_INSTRUMENTS_TO_ORDER\",\n },\n {\n context: \"selected-rows\",\n filter: \"\",\n name: \"Edit Row\",\n rpcName: \"EDIT_ROW\",\n },\n {\n context: \"selected-rows\",\n filter: \"\",\n name: \"Edit Rows\",\n rpcName: \"VP_BULK_EDIT_BEGIN_RPC\",\n },\n ],\n },\n instrumentsExtended: undefined,\n instrumentPrices: undefined,\n orders: undefined,\n parentOrders: undefined,\n prices: undefined,\n};\n\nconst keyIndex = 6;\n\nasync function openBulkEdits(\n rpcRequest: Omit<ClientToServerViewportRpcCall, \"vpId\"> & {\n selectedRowIds: string[];\n table: VuuTable;\n }\n) {\n const { selectedRowIds, table } = rpcRequest;\n\n const dataTable = tables[table.table as SimulTableName];\n if (dataTable) {\n const sessionTable = createSessionTableFromSelectedRows(\n instrumentsTable,\n selectedRowIds\n );\n const sessionTableName = `instruments-${uuid()}`;\n sessionTableMap[sessionTableName] = sessionTable;\n\n return {\n action: {\n renderComponent: \"grid\",\n table: {\n module: \"SIMUL\",\n table: sessionTableName,\n },\n tableSchema: dataTable.schema,\n type: \"OPEN_DIALOG_ACTION\",\n } as OpenDialogActionWithSchema,\n requestId: \"request_id\",\n rpcName: \"VP_BULK_EDIT_BEGIN_RPC\",\n };\n } else {\n return {\n requestId: \"request_id\",\n rpcName: \"VP_BULK_EDIT_REJECT\",\n };\n }\n}\n\n// Bulk-edit with input in session table\nasync function applyBulkEdits(\n rpcRequest: Omit<ClientToServerViewportRpcCall, \"vpId\"> & {\n namedParams: { [key: string]: unknown };\n selectedRowIds: string[];\n table: VuuTable;\n }\n) {\n const sessionTable = getSessionTable();\n\n for (let i = 0; i < sessionTable.data.length; i++) {\n const newRow = sessionTable.data[i];\n const { column, value } = rpcRequest.namedParams;\n sessionTable.update(String(newRow[keyIndex]), column as string, value);\n }\n\n return {\n action: {\n renderComponent: \"grid\",\n table: {\n module: \"SIMUL\",\n table: \"instruments\",\n },\n type: \"OPEN_DIALOG_ACTION\",\n },\n requestId: \"request_id\",\n rpcName: \"VP_BULK_EDIT_COLUMN_CELLS_RPC\",\n };\n}\n\n// Save session table data to main table\nasync function saveBulkEdits() {\n const sessionTable = getSessionTable();\n\n for (let i = 0; i < sessionTable.data.length; i++) {\n const newRow = sessionTable.data[i];\n instrumentsTable.updateRow(newRow);\n }\n\n return {\n action: {\n renderComponent: \"grid\",\n table: {\n module: \"SIMUL\",\n table: \"instruments\",\n },\n type: \"OPEN_DIALOG_ACTION\",\n },\n requestId: \"request_id\",\n rpcName: \"VP_BULK_EDIT_SUBMIT_RPC\",\n };\n}\n\nconst services: Record<SimulTableName, RpcService[] | undefined> = {\n childOrders: undefined,\n instruments: [\n {\n rpcName: \"VP_BULK_EDIT_BEGIN_RPC\",\n service: openBulkEdits,\n },\n {\n rpcName: \"VP_BULK_EDIT_COLUMN_CELLS_RPC\",\n service: applyBulkEdits,\n },\n {\n rpcName: \"VP_BULK_EDIT_SUBMIT_RPC\",\n service: saveBulkEdits,\n },\n ],\n instrumentsExtended: undefined,\n instrumentPrices: undefined,\n orders: undefined,\n parentOrders: undefined,\n prices: undefined,\n};\n\nconst createDataSource = (tableName: SimulTableName) => {\n const columnDescriptors = getColumnDescriptors(tableName);\n return new TickingArrayDataSource({\n columnDescriptors,\n keyColumn:\n schemas[tableName] === undefined\n ? sessionTableMap[tableName].schema.key\n : schemas[tableName].key,\n table: tables[tableName] || sessionTableMap[tableName],\n menu: menus[tableName],\n rpcServices: services[tableName],\n sessionTables: sessionTableMap,\n });\n};\n\nconst suggestionFetcher: SuggestionFetcher = ([\n vuuTable,\n column,\n pattern,\n]: TypeaheadParams) => {\n const table = tables[vuuTable.table as SimulTableName];\n if (table) {\n return makeSuggestions(table, column, pattern);\n } else {\n throw Error(\n `SIMUL suggestionFetcher, unknown table ${vuuTable.module} ${vuuTable.table}`\n );\n }\n};\n\nexport const simulModule: VuuModule<SimulTableName> = {\n createDataSource,\n typeaheadHook: () => suggestionFetcher,\n};\n"],"names":["Table","schemas","buildDataColumnMap","instrumentsTable","instrumentsExtendedTable","joinTables","pricesTable","ordersTable","createSessionTableFromSelectedRows","uuid","TickingArrayDataSource","makeSuggestions"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"simul-module.js","sources":["../../src/simul/simul-module.ts"],"sourcesContent":["import { OpenDialogAction, SuggestionFetcher } from \"@vuu-ui/vuu-data-types\";\nimport {\n ClientToServerViewportRpcCall,\n TypeaheadParams,\n VuuMenu,\n VuuTable,\n} from \"@vuu-ui/vuu-protocol-types\";\nimport { uuid } from \"@vuu-ui/vuu-utils\";\nimport { Table, buildDataColumnMap, joinTables } from \"../Table\";\nimport { TickingArrayDataSource } from \"../TickingArrayDataSource\";\nimport { makeSuggestions } from \"../makeSuggestions\";\nimport { createSessionTableFromSelectedRows } from \"../session-table-utils\";\nimport type { VuuModule } from \"../vuu-modules\";\nimport { instrumentsTable } from \"./reference-data/instruments\";\nimport { instrumentsExtendedTable } from \"./reference-data/instruments-extended\";\nimport { ordersTable } from \"./reference-data/orders\";\nimport { pricesTable } from \"./reference-data/prices\";\nimport { schemas, type SimulTableName } from \"./simul-schemas\";\n\ntype RpcService = {\n rpcName: string;\n service: (\n rpcRequest: Omit<ClientToServerViewportRpcCall, \"vpId\"> & {\n namedParams: { [key: string]: unknown };\n selectedRowIds: string[];\n table: VuuTable;\n }\n ) => Promise<unknown>;\n};\n\nexport type SessionTableMap = Record<string, Table>;\nconst sessionTableMap: SessionTableMap = {};\n\nconst getSessionTable = () => {\n if (Object.keys(sessionTableMap).length === 1) {\n const [sessionTable] = Object.values(sessionTableMap);\n return sessionTable;\n } else {\n throw Error(\n \"getSessionTable: should never be more than one session table in map\"\n );\n }\n};\n\nconst tables: Record<SimulTableName, Table> = {\n childOrders: new Table(\n schemas.childOrders,\n [],\n buildDataColumnMap<SimulTableName>(schemas, \"childOrders\")\n ),\n instruments: instrumentsTable,\n instrumentsExtended: instrumentsExtendedTable,\n instrumentPrices: joinTables(\n { module: \"SIMUL\", table: \"instrumentPrices\" },\n instrumentsTable,\n pricesTable,\n \"ric\"\n ),\n orders: ordersTable,\n parentOrders: new Table(\n schemas.parentOrders,\n [],\n buildDataColumnMap<SimulTableName>(schemas, \"parentOrders\")\n ),\n prices: pricesTable,\n};\n\nconst getColumnDescriptors = (tableName: SimulTableName) => {\n const schema = schemas[tableName] || getSessionTable()?.schema;\n if (schema) {\n return schema.columns;\n } else {\n throw Error(`simul-module no schema found for table SIMUL ${tableName}`);\n }\n};\n\nconst menus: Record<SimulTableName, VuuMenu | undefined> = {\n childOrders: undefined,\n instruments: {\n name: \"ROOT\",\n menus: [\n {\n context: \"selected-rows\",\n filter: \"\",\n name: \"Add Instruments To Order\",\n rpcName: \"ADD_INSTRUMENTS_TO_ORDER\",\n },\n {\n context: \"selected-rows\",\n filter: \"\",\n name: \"Edit Row\",\n rpcName: \"EDIT_ROW\",\n },\n {\n context: \"selected-rows\",\n filter: \"\",\n name: \"Edit Rows\",\n rpcName: \"VP_BULK_EDIT_BEGIN_RPC\",\n },\n ],\n },\n instrumentsExtended: undefined,\n instrumentPrices: undefined,\n orders: undefined,\n parentOrders: undefined,\n prices: undefined,\n};\n\nconst keyIndex = 6;\n\nasync function openBulkEdits(\n rpcRequest: Omit<ClientToServerViewportRpcCall, \"vpId\"> & {\n selectedRowIds: string[];\n table: VuuTable;\n }\n) {\n const { selectedRowIds, table } = rpcRequest;\n\n const dataTable = tables[table.table as SimulTableName];\n if (dataTable) {\n const sessionTable = createSessionTableFromSelectedRows(\n instrumentsTable,\n selectedRowIds\n );\n const sessionTableName = `instruments-${uuid()}`;\n sessionTableMap[sessionTableName] = sessionTable;\n\n return {\n action: {\n renderComponent: \"grid\",\n table: {\n module: \"SIMUL\",\n table: sessionTableName,\n },\n tableSchema: dataTable.schema,\n type: \"OPEN_DIALOG_ACTION\",\n } as OpenDialogAction,\n requestId: \"request_id\",\n rpcName: \"VP_BULK_EDIT_BEGIN_RPC\",\n };\n } else {\n return {\n requestId: \"request_id\",\n rpcName: \"VP_BULK_EDIT_REJECT\",\n };\n }\n}\n\n// Bulk-edit with input in session table\nasync function applyBulkEdits(\n rpcRequest: Omit<ClientToServerViewportRpcCall, \"vpId\"> & {\n namedParams: { [key: string]: unknown };\n selectedRowIds: string[];\n table: VuuTable;\n }\n) {\n const sessionTable = getSessionTable();\n\n for (let i = 0; i < sessionTable.data.length; i++) {\n const newRow = sessionTable.data[i];\n const { column, value } = rpcRequest.namedParams;\n sessionTable.update(String(newRow[keyIndex]), column as string, value);\n }\n\n return {\n action: {\n renderComponent: \"grid\",\n table: {\n module: \"SIMUL\",\n table: \"instruments\",\n },\n type: \"OPEN_DIALOG_ACTION\",\n },\n requestId: \"request_id\",\n rpcName: \"VP_BULK_EDIT_COLUMN_CELLS_RPC\",\n };\n}\n\n// Save session table data to main table\nasync function saveBulkEdits() {\n const sessionTable = getSessionTable();\n\n for (let i = 0; i < sessionTable.data.length; i++) {\n const newRow = sessionTable.data[i];\n instrumentsTable.updateRow(newRow);\n }\n\n return {\n action: {\n renderComponent: \"grid\",\n table: {\n module: \"SIMUL\",\n table: \"instruments\",\n },\n type: \"OPEN_DIALOG_ACTION\",\n },\n requestId: \"request_id\",\n rpcName: \"VP_BULK_EDIT_SUBMIT_RPC\",\n };\n}\n\nconst services: Record<SimulTableName, RpcService[] | undefined> = {\n childOrders: undefined,\n instruments: [\n {\n rpcName: \"VP_BULK_EDIT_BEGIN_RPC\",\n service: openBulkEdits,\n },\n {\n rpcName: \"VP_BULK_EDIT_COLUMN_CELLS_RPC\",\n service: applyBulkEdits,\n },\n {\n rpcName: \"VP_BULK_EDIT_SUBMIT_RPC\",\n service: saveBulkEdits,\n },\n ],\n instrumentsExtended: undefined,\n instrumentPrices: undefined,\n orders: undefined,\n parentOrders: undefined,\n prices: undefined,\n};\n\nconst createDataSource = (tableName: SimulTableName) => {\n const columnDescriptors = getColumnDescriptors(tableName);\n return new TickingArrayDataSource({\n columnDescriptors,\n keyColumn:\n schemas[tableName] === undefined\n ? sessionTableMap[tableName].schema.key\n : schemas[tableName].key,\n table: tables[tableName] || sessionTableMap[tableName],\n menu: menus[tableName],\n rpcServices: services[tableName],\n sessionTables: sessionTableMap,\n });\n};\n\nconst suggestionFetcher: SuggestionFetcher = ([\n vuuTable,\n column,\n pattern,\n]: TypeaheadParams) => {\n const table = tables[vuuTable.table as SimulTableName];\n if (table) {\n return makeSuggestions(table, column, pattern);\n } else {\n throw Error(\n `SIMUL suggestionFetcher, unknown table ${vuuTable.module} ${vuuTable.table}`\n );\n }\n};\n\nexport const simulModule: VuuModule<SimulTableName> = {\n createDataSource,\n typeaheadHook: () => suggestionFetcher,\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"simul-module.js","sources":["../../src/simul/simul-module.ts"],"sourcesContent":["import {\n OpenDialogActionWithSchema,\n SuggestionFetcher,\n} from \"@vuu-ui/vuu-data-types\";\nimport {\n ClientToServerViewportRpcCall,\n TypeaheadParams,\n VuuMenu,\n VuuTable,\n} from \"@vuu-ui/vuu-protocol-types\";\nimport { uuid } from \"@vuu-ui/vuu-utils\";\nimport { Table, buildDataColumnMap, joinTables } from \"../Table\";\nimport { TickingArrayDataSource } from \"../TickingArrayDataSource\";\nimport { makeSuggestions } from \"../makeSuggestions\";\nimport { createSessionTableFromSelectedRows } from \"../session-table-utils\";\nimport type { VuuModule } from \"../vuu-modules\";\nimport { instrumentsTable } from \"./reference-data/instruments\";\nimport { instrumentsExtendedTable } from \"./reference-data/instruments-extended\";\nimport { ordersTable } from \"./reference-data/orders\";\nimport { pricesTable } from \"./reference-data/prices\";\nimport { schemas, type SimulTableName } from \"./simul-schemas\";\n\ntype RpcService = {\n rpcName: string;\n service: (\n rpcRequest: Omit<ClientToServerViewportRpcCall, \"vpId\"> & {\n namedParams: { [key: string]: unknown };\n selectedRowIds: string[];\n table: VuuTable;\n }\n ) => Promise<unknown>;\n};\n\nexport type SessionTableMap = Record<string, Table>;\nconst sessionTableMap: SessionTableMap = {};\n\nconst getSessionTable = () => {\n if (Object.keys(sessionTableMap).length === 1) {\n const [sessionTable] = Object.values(sessionTableMap);\n return sessionTable;\n } else {\n throw Error(\n \"getSessionTable: should never be more than one session table in map\"\n );\n }\n};\n\nconst tables: Record<SimulTableName, Table> = {\n childOrders: new Table(\n schemas.childOrders,\n [],\n buildDataColumnMap<SimulTableName>(schemas, \"childOrders\")\n ),\n instruments: instrumentsTable,\n instrumentsExtended: instrumentsExtendedTable,\n instrumentPrices: joinTables(\n { module: \"SIMUL\", table: \"instrumentPrices\" },\n instrumentsTable,\n pricesTable,\n \"ric\"\n ),\n orders: ordersTable,\n parentOrders: new Table(\n schemas.parentOrders,\n [],\n buildDataColumnMap<SimulTableName>(schemas, \"parentOrders\")\n ),\n prices: pricesTable,\n};\n\nconst getColumnDescriptors = (tableName: SimulTableName) => {\n const schema = schemas[tableName] || getSessionTable()?.schema;\n if (schema) {\n return schema.columns;\n } else {\n throw Error(`simul-module no schema found for table SIMUL ${tableName}`);\n }\n};\n\nconst menus: Record<SimulTableName, VuuMenu | undefined> = {\n childOrders: undefined,\n instruments: {\n name: \"ROOT\",\n menus: [\n {\n context: \"selected-rows\",\n filter: \"\",\n name: \"Add Instruments To Order\",\n rpcName: \"ADD_INSTRUMENTS_TO_ORDER\",\n },\n {\n context: \"selected-rows\",\n filter: \"\",\n name: \"Edit Row\",\n rpcName: \"EDIT_ROW\",\n },\n {\n context: \"selected-rows\",\n filter: \"\",\n name: \"Edit Rows\",\n rpcName: \"VP_BULK_EDIT_BEGIN_RPC\",\n },\n ],\n },\n instrumentsExtended: undefined,\n instrumentPrices: undefined,\n orders: undefined,\n parentOrders: undefined,\n prices: undefined,\n};\n\nconst keyIndex = 6;\n\nasync function openBulkEdits(\n rpcRequest: Omit<ClientToServerViewportRpcCall, \"vpId\"> & {\n selectedRowIds: string[];\n table: VuuTable;\n }\n) {\n const { selectedRowIds, table } = rpcRequest;\n\n const dataTable = tables[table.table as SimulTableName];\n if (dataTable) {\n const sessionTable = createSessionTableFromSelectedRows(\n instrumentsTable,\n selectedRowIds\n );\n const sessionTableName = `instruments-${uuid()}`;\n sessionTableMap[sessionTableName] = sessionTable;\n\n return {\n action: {\n renderComponent: \"grid\",\n table: {\n module: \"SIMUL\",\n table: sessionTableName,\n },\n tableSchema: dataTable.schema,\n type: \"OPEN_DIALOG_ACTION\",\n } as OpenDialogActionWithSchema,\n requestId: \"request_id\",\n rpcName: \"VP_BULK_EDIT_BEGIN_RPC\",\n };\n } else {\n return {\n requestId: \"request_id\",\n rpcName: \"VP_BULK_EDIT_REJECT\",\n };\n }\n}\n\n// Bulk-edit with input in session table\nasync function applyBulkEdits(\n rpcRequest: Omit<ClientToServerViewportRpcCall, \"vpId\"> & {\n namedParams: { [key: string]: unknown };\n selectedRowIds: string[];\n table: VuuTable;\n }\n) {\n const sessionTable = getSessionTable();\n\n for (let i = 0; i < sessionTable.data.length; i++) {\n const newRow = sessionTable.data[i];\n const { column, value } = rpcRequest.namedParams;\n sessionTable.update(String(newRow[keyIndex]), column as string, value);\n }\n\n return {\n action: {\n renderComponent: \"grid\",\n table: {\n module: \"SIMUL\",\n table: \"instruments\",\n },\n type: \"OPEN_DIALOG_ACTION\",\n },\n requestId: \"request_id\",\n rpcName: \"VP_BULK_EDIT_COLUMN_CELLS_RPC\",\n };\n}\n\n// Save session table data to main table\nasync function saveBulkEdits() {\n const sessionTable = getSessionTable();\n\n for (let i = 0; i < sessionTable.data.length; i++) {\n const newRow = sessionTable.data[i];\n instrumentsTable.updateRow(newRow);\n }\n\n return {\n action: {\n renderComponent: \"grid\",\n table: {\n module: \"SIMUL\",\n table: \"instruments\",\n },\n type: \"OPEN_DIALOG_ACTION\",\n },\n requestId: \"request_id\",\n rpcName: \"VP_BULK_EDIT_SUBMIT_RPC\",\n };\n}\n\nconst services: Record<SimulTableName, RpcService[] | undefined> = {\n childOrders: undefined,\n instruments: [\n {\n rpcName: \"VP_BULK_EDIT_BEGIN_RPC\",\n service: openBulkEdits,\n },\n {\n rpcName: \"VP_BULK_EDIT_COLUMN_CELLS_RPC\",\n service: applyBulkEdits,\n },\n {\n rpcName: \"VP_BULK_EDIT_SUBMIT_RPC\",\n service: saveBulkEdits,\n },\n ],\n instrumentsExtended: undefined,\n instrumentPrices: undefined,\n orders: undefined,\n parentOrders: undefined,\n prices: undefined,\n};\n\nconst createDataSource = (tableName: SimulTableName) => {\n const columnDescriptors = getColumnDescriptors(tableName);\n return new TickingArrayDataSource({\n columnDescriptors,\n keyColumn:\n schemas[tableName] === undefined\n ? sessionTableMap[tableName].schema.key\n : schemas[tableName].key,\n table: tables[tableName] || sessionTableMap[tableName],\n menu: menus[tableName],\n rpcServices: services[tableName],\n sessionTables: sessionTableMap,\n });\n};\n\nconst suggestionFetcher: SuggestionFetcher = ([\n vuuTable,\n column,\n pattern,\n]: TypeaheadParams) => {\n const table = tables[vuuTable.table as SimulTableName];\n if (table) {\n return makeSuggestions(table, column, pattern);\n } else {\n throw Error(\n `SIMUL suggestionFetcher, unknown table ${vuuTable.module} ${vuuTable.table}`\n );\n }\n};\n\nexport const simulModule: VuuModule<SimulTableName> = {\n createDataSource,\n typeaheadHook: () => suggestionFetcher,\n};\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,16 +1,16 @@
1
1
  {
2
- "version": "0.8.62",
2
+ "version": "0.8.63",
3
3
  "author": "heswell",
4
4
  "license": "Apache-2.0",
5
5
  "dependencies": {
6
- "@vuu-ui/vuu-data-local": "0.8.62",
7
- "@vuu-ui/vuu-utils": "0.8.62",
6
+ "@vuu-ui/vuu-data-local": "0.8.63",
7
+ "@vuu-ui/vuu-utils": "0.8.63",
8
8
  "@thomaschaplin/isin-generator": "1.0.3"
9
9
  },
10
10
  "devDependencies": {
11
- "@vuu-ui/vuu-protocol-types": "0.8.62",
12
- "@vuu-ui/vuu-data-types": "0.8.62",
13
- "@vuu-ui/vuu-table-types": "0.8.62"
11
+ "@vuu-ui/vuu-protocol-types": "0.8.63",
12
+ "@vuu-ui/vuu-data-types": "0.8.63",
13
+ "@vuu-ui/vuu-table-types": "0.8.63"
14
14
  },
15
15
  "sideEffects": false,
16
16
  "files": [