@vuu-ui/vuu-data-remote 3.3.0 → 3.3.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.
- package/package.json +7 -7
- package/src/VuuDataSource.js +8 -4
- package/types/VuuDataSource.d.ts +3 -3
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "3.3.
|
|
2
|
+
"version": "3.3.2",
|
|
3
3
|
"main": "./src/index.js",
|
|
4
4
|
"author": "heswell",
|
|
5
5
|
"license": "Apache-2.0",
|
|
@@ -11,14 +11,14 @@
|
|
|
11
11
|
"type-defs": "node ../../scripts/build-type-defs.mjs"
|
|
12
12
|
},
|
|
13
13
|
"devDependencies": {
|
|
14
|
-
"@vuu-ui/vuu-data-types": "3.3.
|
|
15
|
-
"@vuu-ui/vuu-table-types": "3.3.
|
|
16
|
-
"@vuu-ui/vuu-filter-types": "3.3.
|
|
17
|
-
"@vuu-ui/vuu-protocol-types": "3.3.
|
|
14
|
+
"@vuu-ui/vuu-data-types": "3.3.2",
|
|
15
|
+
"@vuu-ui/vuu-table-types": "3.3.2",
|
|
16
|
+
"@vuu-ui/vuu-filter-types": "3.3.2",
|
|
17
|
+
"@vuu-ui/vuu-protocol-types": "3.3.2"
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@vuu-ui/vuu-filter-parser": "3.3.
|
|
21
|
-
"@vuu-ui/vuu-utils": "3.3.
|
|
20
|
+
"@vuu-ui/vuu-filter-parser": "3.3.2",
|
|
21
|
+
"@vuu-ui/vuu-utils": "3.3.2"
|
|
22
22
|
},
|
|
23
23
|
"files": [
|
|
24
24
|
"README.md",
|
package/src/VuuDataSource.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BaseDataSource, Range, StaleUpdateError, combineFilters, constrainRange, debounce, isConfigChanged, isRpcSuccess, isSelectSuccessWithRowCount, isViewportMenusAction, isVisualLinksAction, itemsOrOrderChanged, logger, throttle, uuid } from "@vuu-ui/vuu-utils";
|
|
1
|
+
import { BaseDataSource, Range, StaleUpdateError, assertExpectedSessionTable, combineFilters, constrainRange, debounce, isConfigChanged, isRpcSuccess, isSelectSuccessWithRowCount, isViewportMenusAction, isVisualLinksAction, itemsOrOrderChanged, logger, sessionDataSourceConfig, throttle, uuid } from "@vuu-ui/vuu-utils";
|
|
2
2
|
import ConnectionManager from "./ConnectionManager.js";
|
|
3
3
|
import { isDataSourceConfigMessage } from "./data-source.js";
|
|
4
4
|
const { info: info, infoEnabled: infoEnabled } = logger("VuuDataSource");
|
|
@@ -25,18 +25,20 @@ class VuuDataSource extends BaseDataSource {
|
|
|
25
25
|
#menu;
|
|
26
26
|
#optimize = "throttle";
|
|
27
27
|
#selectedRowsCount = 0;
|
|
28
|
+
#session;
|
|
28
29
|
#sessionDataSource = void 0;
|
|
29
30
|
#sessionTableMessageColumn = void 0;
|
|
30
31
|
#status = "initialising";
|
|
31
32
|
#tableSchema;
|
|
32
33
|
table;
|
|
33
|
-
constructor({ sessionTableMessageColumn, ...props }){
|
|
34
|
+
constructor({ session, sessionTableMessageColumn, ...props }){
|
|
34
35
|
super(props);
|
|
35
36
|
const { bufferSize = 100, table, visualLink } = props;
|
|
36
37
|
if (!table) throw Error("RemoteDataSource constructor called without table");
|
|
37
38
|
this.bufferSize = bufferSize;
|
|
38
39
|
this.table = table;
|
|
39
40
|
this.#pendingVisualLink = visualLink;
|
|
41
|
+
this.#session = session;
|
|
40
42
|
this.#sessionTableMessageColumn = sessionTableMessageColumn;
|
|
41
43
|
this.rangeRequest = this.rawRangeRequest;
|
|
42
44
|
if (props.autosubscribeColumns) {
|
|
@@ -420,7 +422,7 @@ class VuuDataSource extends BaseDataSource {
|
|
|
420
422
|
async remoteProcedureCall() {
|
|
421
423
|
return Promise.reject();
|
|
422
424
|
}
|
|
423
|
-
async createSessionDataSource(copyOption, sessionType = "edit") {
|
|
425
|
+
async createSessionDataSource(copyOption, sessionType = "edit", overrides) {
|
|
424
426
|
const rpcResponse = await this?.rpcRequest?.({
|
|
425
427
|
type: "RPC_REQUEST",
|
|
426
428
|
rpcName: "createSessionTable",
|
|
@@ -431,8 +433,10 @@ class VuuDataSource extends BaseDataSource {
|
|
|
431
433
|
});
|
|
432
434
|
if (isRpcSuccess(rpcResponse)) {
|
|
433
435
|
const { table: sessionTable } = rpcResponse.data;
|
|
436
|
+
const effectiveOverrides = overrides ?? this.#session;
|
|
437
|
+
assertExpectedSessionTable(sessionTable, effectiveOverrides?.table);
|
|
434
438
|
return new VuuDataSource({
|
|
435
|
-
...this.config,
|
|
439
|
+
...sessionDataSourceConfig(this.config, effectiveOverrides?.columns),
|
|
436
440
|
table: sessionTable,
|
|
437
441
|
viewport: sessionTable.table
|
|
438
442
|
});
|
package/types/VuuDataSource.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CopyOption, DataSourceBase, SessionType, DataSourceCallbackMessage, DataSourceConstructorProps, DataSourceStatus, DataSourceSubscribeCallback, DataSourceSubscribeProps, DeleteRowMode, EditSessionMode, OptimizeStrategy, TableSchema, WithBaseFilter, WithFullConfig } from "@vuu-ui/vuu-data-types";
|
|
1
|
+
import type { CopyOption, DataSourceBase, SessionType, DataSourceCallbackMessage, DataSourceConstructorProps, DataSourceStatus, DataSourceSubscribeCallback, DataSourceSubscribeProps, DeleteRowMode, EditSessionMode, OptimizeStrategy, SessionDataSourceOverrides, TableSchema, WithBaseFilter, WithFullConfig } from "@vuu-ui/vuu-data-types";
|
|
2
2
|
import type { MenuRpcResponse } from "@vuu-ui/vuu-data-types";
|
|
3
3
|
import type { LinkDescriptorWithLabel, RpcResultError, RpcResultSuccess, SelectRequest, VuuGroupBy, VuuMenu, VuuRange, VuuRowDataItemType, VuuRpcMenuRequest, VuuRpcResponse, VuuRpcServiceRequest, VuuTable } from "@vuu-ui/vuu-protocol-types";
|
|
4
4
|
import { BaseDataSource, Range } from "@vuu-ui/vuu-utils";
|
|
@@ -9,7 +9,7 @@ export declare class VuuDataSource extends BaseDataSource implements DataSourceB
|
|
|
9
9
|
private server;
|
|
10
10
|
rangeRequest: RangeRequest;
|
|
11
11
|
table: VuuTable;
|
|
12
|
-
constructor({ sessionTableMessageColumn, ...props }: DataSourceConstructorProps);
|
|
12
|
+
constructor({ session, sessionTableMessageColumn, ...props }: DataSourceConstructorProps);
|
|
13
13
|
subscribe(subscribeProps: DataSourceSubscribeProps, callback: DataSourceSubscribeCallback): Promise<void>;
|
|
14
14
|
handleMessageFromServer: (message: DataSourceCallbackMessage) => void;
|
|
15
15
|
handleSessionMessageFromServer: (msg: DataSourceCallbackMessage) => void;
|
|
@@ -57,7 +57,7 @@ export declare class VuuDataSource extends BaseDataSource implements DataSourceB
|
|
|
57
57
|
get visualLink(): LinkDescriptorWithLabel | undefined;
|
|
58
58
|
set visualLink(visualLink: LinkDescriptorWithLabel | undefined);
|
|
59
59
|
remoteProcedureCall<T extends VuuRpcResponse = VuuRpcResponse>(): Promise<T>;
|
|
60
|
-
createSessionDataSource(copyOption: CopyOption, sessionType?: SessionType): Promise<VuuDataSource | undefined>;
|
|
60
|
+
createSessionDataSource(copyOption: CopyOption, sessionType?: SessionType, overrides?: SessionDataSourceOverrides): Promise<VuuDataSource | undefined>;
|
|
61
61
|
beginEditSession(editSessionMode?: EditSessionMode): Promise<void>;
|
|
62
62
|
editCell(key: string, column: string, data: VuuRowDataItemType): Promise<RpcResultSuccess | RpcResultError | undefined>;
|
|
63
63
|
endEditSession(saveChanges?: boolean, force?: boolean): Promise<void>;
|