@vuu-ui/vuu-data-types 0.13.69 → 0.13.71

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 +22 -2
  2. package/package.json +3 -3
package/index.d.ts CHANGED
@@ -436,6 +436,7 @@ export interface DataSourceConstructorProps
436
436
  */
437
437
  autosubscribeColumns?: string[];
438
438
  bufferSize?: number;
439
+ suspenseProps?: DataSourceSuspenseProps;
439
440
  table: VuuTable;
440
441
  title?: string;
441
442
  url?: string;
@@ -549,6 +550,11 @@ export declare type WithBaseFilter<T> = T & {
549
550
  baseFilterSpec?: DataSourceFilter;
550
551
  };
551
552
 
553
+ export declare type DataSourceSuspenseProps = {
554
+ escalateToDisable: boolean;
555
+ escalateDelay?: number;
556
+ };
557
+
552
558
  export interface DataSource
553
559
  extends IEventEmitter<DataSourceEvents>,
554
560
  Partial<TypeaheadSuggestionProvider> {
@@ -588,9 +594,11 @@ export interface DataSource
588
594
  * component is dragged to a new location. When dropped, the component will be unmounted and very quickly
589
595
  * remounted by React. For the duration of this operation, we suspend updates . Updating an unmounted
590
596
  * React component would cause a React error.
591
- * If an suspend is requested and not resumed within 3 seconds, it will automatically be promoted to a disable.,
597
+ * If an suspend is requested and not resumed within 3 seconds, it will automatically be promoted to a disable,
598
+ * unless escalateToDisable: false is specified. Further, the default escalation delay of 3 seconds can be
599
+ * overridden with escalateDelay, which is a millissecond value.
592
600
  */
593
- suspend?: () => void;
601
+ suspend?: (escalateToDisable?: boolean, escalateDelay?: number) => void;
594
602
  resume?: (callback?: DataSourceSubscribeCallback) => void;
595
603
 
596
604
  deleteRow?: DataSourceDeleteHandler;
@@ -827,6 +835,18 @@ export interface VuuUIMessageOutUnsubscribe {
827
835
  viewport: string;
828
836
  }
829
837
  export interface VuuUIMessageOutSuspend {
838
+ /**
839
+ * suspend is purely a client-side mechanism to avoid sending
840
+ * updates to ui thread. This is intended to be used whilst a component
841
+ * is unmounted to avoid a react error, e.g during a drag drop operation.
842
+ * Can be escalated to a disable operation which is serverside.
843
+ * Default is true.
844
+ */
845
+ escalateToDisable?: boolean;
846
+ /**
847
+ * If escalteToDelay is enabled, the delay, in ms, before escaltion is invoked.
848
+ */
849
+ escalateDelay?: number;
830
850
  type: "suspend";
831
851
  viewport: string;
832
852
  }
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@vuu-ui/vuu-data-types",
3
- "version": "0.13.69",
3
+ "version": "0.13.71",
4
4
  "author": "heswell",
5
5
  "license": "Apache-2.0",
6
6
  "devDependencies": {
7
- "@vuu-ui/vuu-filter-types": "0.13.69",
8
- "@vuu-ui/vuu-protocol-types": "0.13.69"
7
+ "@vuu-ui/vuu-filter-types": "0.13.71",
8
+ "@vuu-ui/vuu-protocol-types": "0.13.71"
9
9
  },
10
10
  "dependencies": {},
11
11
  "peerDependencies": {},