@vuu-ui/vuu-data-types 0.13.13 → 0.13.14

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 (2) hide show
  1. package/index.d.ts +32 -0
  2. package/package.json +3 -3
package/index.d.ts CHANGED
@@ -177,6 +177,8 @@ type Depth = number;
177
177
  type ChildCount = number;
178
178
  type RowKey = string;
179
179
  export declare type IsSelected = number;
180
+ type Timestamp = number;
181
+ type IsNew = boolean;
180
182
 
181
183
  export declare type DataSourceRow = [
182
184
  RowIndex,
@@ -187,6 +189,8 @@ export declare type DataSourceRow = [
187
189
  ChildCount,
188
190
  RowKey,
189
191
  IsSelected,
192
+ Timestamp,
193
+ IsNew,
190
194
  ...VuuRowDataItemType[],
191
195
  ];
192
196
 
@@ -435,6 +439,7 @@ export type DataSourceConfigChangeHandler = (
435
439
 
436
440
  export declare type DataSourceEvents = {
437
441
  config: DataSourceConfigChangeHandler;
442
+ freeze: (isFrozen: boolean, freezeTimeStamp: number) => void;
438
443
  optimize: (optimize: OptimizeStrategy) => void;
439
444
  "page-count": (pageCount: number) => void;
440
445
  range: (range: Range) => void;
@@ -542,6 +547,25 @@ export interface DataSource
542
547
  closeTreeNode: (keyOrIndex: string | number, cascade?: boolean) => void;
543
548
  columns: string[];
544
549
  config: WithBaseFilter<WithFullConfig>;
550
+ /**
551
+ * Applies a time filter to the viewport such that no new records created after the
552
+ * freeze are sent to client. This makes client's view stable, even when large numbers
553
+ * of new records are being created. The price is that view becomes stale. DataSource
554
+ * implementation is not required to support this functionality.
555
+ */
556
+ freeze?: () => void;
557
+ /**
558
+ * Removes the 'freeze' filter. See 'freeze' above.
559
+ */
560
+ unfreeze?: () => void;
561
+ /**
562
+ * see 'freeze' above. true if 'freeze' has previoulsy been called.
563
+ */
564
+ isFrozen?: boolean;
565
+ /**
566
+ * see 'freeze' above. If frozen, the time at which freeze was applied.
567
+ */
568
+ freezeTimestamp?: number | undefined;
545
569
  status: DataSourceStatus;
546
570
  /**
547
571
  *
@@ -827,6 +851,12 @@ export interface VuuUIMessageOutSetTitle extends ViewportMessageOut {
827
851
  type: "setTitle";
828
852
  }
829
853
 
854
+ export interface VuuUIMessageOutFreeze extends ViewportMessageOut {
855
+ type: "FREEZE_VP";
856
+ }
857
+ export interface VuuUIMessageOutUnfreeze extends ViewportMessageOut {
858
+ type: "UNFREEZE_VP";
859
+ }
830
860
  export interface VuuUIMessageOutDisable extends ViewportMessageOut {
831
861
  type: "disable";
832
862
  }
@@ -865,6 +895,8 @@ export interface VuuUIMessageOutConfig extends ViewportMessageOut {
865
895
  export declare type VuuUIMessageOutViewport =
866
896
  | VuuUIMessageOutCloseTreeNode
867
897
  | VuuUIMessageOutConfig
898
+ | VuuUIMessageOutFreeze
899
+ | VuuUIMessageOutUnfreeze
868
900
  | VuuUIMessageOutDisable
869
901
  | VuuUIMessageOutEnable
870
902
  | VuuUIMessageOutOpenTreeNode
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@vuu-ui/vuu-data-types",
3
- "version": "0.13.13",
3
+ "version": "0.13.14",
4
4
  "author": "heswell",
5
5
  "license": "Apache-2.0",
6
6
  "devDependencies": {
7
- "@vuu-ui/vuu-filter-types": "0.13.13",
8
- "@vuu-ui/vuu-protocol-types": "0.13.13"
7
+ "@vuu-ui/vuu-filter-types": "0.13.14",
8
+ "@vuu-ui/vuu-protocol-types": "0.13.14"
9
9
  },
10
10
  "dependencies": {},
11
11
  "peerDependencies": {},