@deephaven/jsapi-components 0.76.0 → 0.76.1-alpha-optimize-selection-get-key.0

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":"useDebouncedViewportSelectionFilter.d.ts","sourceRoot":"","sources":["../src/useDebouncedViewportSelectionFilter.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,sBAAsB,EACvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAKL,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAI7C,eAAO,MAAM,WAAW,MAAM,CAAC;AAE/B,MAAM,WAAW,0CAA0C,CAAC,KAAK,EAAE,MAAM;IACvE,YAAY,EAAE,gBAAgB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IACjD,UAAU,EAAE,MAAM,CAAC;IACnB,4BAA4B,EAAE,OAAO,CAAC;IACtC,cAAc,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC;CACpD;AAED;;;;;GAKG;AACH,wBAAgB,mCAAmC,CAAC,KAAK,EAAE,MAAM,EAAE,EACjE,YAAY,EACZ,UAAU,EACV,4BAA4B,EAC5B,cAAc,GACf,EAAE,0CAA0C,CAC3C,KAAK,EACL,MAAM,CACP,GAAG,sBAAsB,CAiCzB;AAED,eAAe,mCAAmC,CAAC"}
1
+ {"version":3,"file":"useDebouncedViewportSelectionFilter.d.ts","sourceRoot":"","sources":["../src/useDebouncedViewportSelectionFilter.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,sBAAsB,EACvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAKL,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAI7C,eAAO,MAAM,WAAW,MAAM,CAAC;AAE/B,MAAM,WAAW,0CAA0C,CAAC,KAAK,EAAE,MAAM;IACvE,YAAY,EAAE,gBAAgB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IACjD,UAAU,EAAE,MAAM,CAAC;IACnB,4BAA4B,EAAE,OAAO,CAAC;IACtC,cAAc,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC;CACpD;AAED;;;;;GAKG;AACH,wBAAgB,mCAAmC,CAAC,KAAK,EAAE,MAAM,EAAE,EACjE,YAAY,EACZ,UAAU,EACV,4BAA4B,EAC5B,cAAc,GACf,EAAE,0CAA0C,CAC3C,KAAK,EACL,MAAM,CACP,GAAG,sBAAsB,CAqCzB;AAED,eAAe,mCAAmC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { createSelectedValuesFilter } from '@deephaven/jsapi-utils';
1
+ import { createKeyedItemKey, createSelectedValuesFilter } from '@deephaven/jsapi-utils';
2
2
  import { isSelectionMaybeInvertedEqual, useDebouncedValue, useIsEqualMemo, useMappedSelection } from '@deephaven/react-hooks';
3
3
  import { useMemo } from 'react';
4
4
  import useTableUtils from "./useTableUtils.js";
@@ -19,7 +19,7 @@ export function useDebouncedViewportSelectionFilter(_ref) {
19
19
  var tableUtils = useTableUtils();
20
20
 
21
21
  // Map selection to values contained in the column to filter
22
- var valuesSelection = useMappedSelection(viewportData, mapItemToValue);
22
+ var valuesSelection = useMappedSelection(viewportData, mapItemToValue, createKeyedItemKey);
23
23
 
24
24
  // Debounce so user can rapidly select multiple items in a row without the
25
25
  // cost of updating the table on each change
@@ -1 +1 @@
1
- {"version":3,"file":"useDebouncedViewportSelectionFilter.js","names":["createSelectedValuesFilter","isSelectionMaybeInvertedEqual","useDebouncedValue","useIsEqualMemo","useMappedSelection","useMemo","useTableUtils","DEBOUNCE_MS","useDebouncedViewportSelectionFilter","_ref","viewportData","columnName","shouldSelectAllOnNoSelection","mapItemToValue","tableUtils","valuesSelection","value","debouncedValuesSelection","memoValuesSelection","selection","isInverted"],"sources":["../src/useDebouncedViewportSelectionFilter.ts"],"sourcesContent":["import {\n createSelectedValuesFilter,\n FilterConditionFactory,\n} from '@deephaven/jsapi-utils';\nimport {\n isSelectionMaybeInvertedEqual,\n useDebouncedValue,\n useIsEqualMemo,\n useMappedSelection,\n WindowedListData,\n} from '@deephaven/react-hooks';\nimport { KeyedItem } from '@deephaven/utils';\nimport { useMemo } from 'react';\nimport useTableUtils from './useTableUtils';\n\nexport const DEBOUNCE_MS = 300;\n\nexport interface UseDebouncedViewportSelectionFilterOptions<TItem, TValue> {\n viewportData: WindowedListData<KeyedItem<TItem>>;\n columnName: string;\n shouldSelectAllOnNoSelection: boolean;\n mapItemToValue: (item: KeyedItem<TItem>) => TValue;\n}\n\n/**\n * Creates a filter factory for the current selected keys of a viewport. The\n * selected keys will be mapped to values to match in a given column name. The\n * resulting filter factory is debounced to allow some cushion for cases where\n * a user rapidly changes selections, e.g. in a checkbox list.\n */\nexport function useDebouncedViewportSelectionFilter<TItem, TValue>({\n viewportData,\n columnName,\n shouldSelectAllOnNoSelection,\n mapItemToValue,\n}: UseDebouncedViewportSelectionFilterOptions<\n TItem,\n TValue\n>): FilterConditionFactory {\n const tableUtils = useTableUtils();\n\n // Map selection to values contained in the column to filter\n const valuesSelection = useMappedSelection(viewportData, mapItemToValue);\n\n // Debounce so user can rapidly select multiple items in a row without the\n // cost of updating the table on each change\n const { value: debouncedValuesSelection } = useDebouncedValue(\n valuesSelection,\n DEBOUNCE_MS\n );\n\n // In cases where a user rapidly selects then deselects the selection\n // reference will change, but the state it represents will remain unchanged.\n // Memoize based on the selection value to avoid unnecessarily re-applying\n // table filters.\n const memoValuesSelection = useIsEqualMemo(\n debouncedValuesSelection,\n isSelectionMaybeInvertedEqual\n );\n\n return useMemo(\n () =>\n createSelectedValuesFilter(\n tableUtils,\n columnName,\n memoValuesSelection.selection,\n shouldSelectAllOnNoSelection,\n memoValuesSelection.isInverted\n ),\n [columnName, memoValuesSelection, shouldSelectAllOnNoSelection, tableUtils]\n );\n}\n\nexport default useDebouncedViewportSelectionFilter;\n"],"mappings":"AAAA,SACEA,0BAA0B,QAErB,wBAAwB;AAC/B,SACEC,6BAA6B,EAC7BC,iBAAiB,EACjBC,cAAc,EACdC,kBAAkB,QAEb,wBAAwB;AAE/B,SAASC,OAAO,QAAQ,OAAO;AAAC,OACzBC,aAAa;AAEpB,OAAO,IAAMC,WAAW,GAAG,GAAG;AAS9B;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,mCAAmCA,CAAAC,IAAA,EAQxB;EAAA,IARwC;IACjEC,YAAY;IACZC,UAAU;IACVC,4BAA4B;IAC5BC;EAIF,CAAC,GAAAJ,IAAA;EACC,IAAMK,UAAU,GAAGR,aAAa,CAAC,CAAC;;EAElC;EACA,IAAMS,eAAe,GAAGX,kBAAkB,CAACM,YAAY,EAAEG,cAAc,CAAC;;EAExE;EACA;EACA,IAAM;IAAEG,KAAK,EAAEC;EAAyB,CAAC,GAAGf,iBAAiB,CAC3Da,eAAe,EACfR,WACF,CAAC;;EAED;EACA;EACA;EACA;EACA,IAAMW,mBAAmB,GAAGf,cAAc,CACxCc,wBAAwB,EACxBhB,6BACF,CAAC;EAED,OAAOI,OAAO,CACZ,MACEL,0BAA0B,CACxBc,UAAU,EACVH,UAAU,EACVO,mBAAmB,CAACC,SAAS,EAC7BP,4BAA4B,EAC5BM,mBAAmB,CAACE,UACtB,CAAC,EACH,CAACT,UAAU,EAAEO,mBAAmB,EAAEN,4BAA4B,EAAEE,UAAU,CAC5E,CAAC;AACH;AAEA,eAAeN,mCAAmC"}
1
+ {"version":3,"file":"useDebouncedViewportSelectionFilter.js","names":["createKeyedItemKey","createSelectedValuesFilter","isSelectionMaybeInvertedEqual","useDebouncedValue","useIsEqualMemo","useMappedSelection","useMemo","useTableUtils","DEBOUNCE_MS","useDebouncedViewportSelectionFilter","_ref","viewportData","columnName","shouldSelectAllOnNoSelection","mapItemToValue","tableUtils","valuesSelection","value","debouncedValuesSelection","memoValuesSelection","selection","isInverted"],"sources":["../src/useDebouncedViewportSelectionFilter.ts"],"sourcesContent":["import {\n createKeyedItemKey,\n createSelectedValuesFilter,\n FilterConditionFactory,\n} from '@deephaven/jsapi-utils';\nimport {\n isSelectionMaybeInvertedEqual,\n useDebouncedValue,\n useIsEqualMemo,\n useMappedSelection,\n WindowedListData,\n} from '@deephaven/react-hooks';\nimport { KeyedItem } from '@deephaven/utils';\nimport { useMemo } from 'react';\nimport useTableUtils from './useTableUtils';\n\nexport const DEBOUNCE_MS = 300;\n\nexport interface UseDebouncedViewportSelectionFilterOptions<TItem, TValue> {\n viewportData: WindowedListData<KeyedItem<TItem>>;\n columnName: string;\n shouldSelectAllOnNoSelection: boolean;\n mapItemToValue: (item: KeyedItem<TItem>) => TValue;\n}\n\n/**\n * Creates a filter factory for the current selected keys of a viewport. The\n * selected keys will be mapped to values to match in a given column name. The\n * resulting filter factory is debounced to allow some cushion for cases where\n * a user rapidly changes selections, e.g. in a checkbox list.\n */\nexport function useDebouncedViewportSelectionFilter<TItem, TValue>({\n viewportData,\n columnName,\n shouldSelectAllOnNoSelection,\n mapItemToValue,\n}: UseDebouncedViewportSelectionFilterOptions<\n TItem,\n TValue\n>): FilterConditionFactory {\n const tableUtils = useTableUtils();\n\n // Map selection to values contained in the column to filter\n const valuesSelection = useMappedSelection(\n viewportData,\n mapItemToValue,\n createKeyedItemKey\n );\n\n // Debounce so user can rapidly select multiple items in a row without the\n // cost of updating the table on each change\n const { value: debouncedValuesSelection } = useDebouncedValue(\n valuesSelection,\n DEBOUNCE_MS\n );\n\n // In cases where a user rapidly selects then deselects the selection\n // reference will change, but the state it represents will remain unchanged.\n // Memoize based on the selection value to avoid unnecessarily re-applying\n // table filters.\n const memoValuesSelection = useIsEqualMemo(\n debouncedValuesSelection,\n isSelectionMaybeInvertedEqual\n );\n\n return useMemo(\n () =>\n createSelectedValuesFilter(\n tableUtils,\n columnName,\n memoValuesSelection.selection,\n shouldSelectAllOnNoSelection,\n memoValuesSelection.isInverted\n ),\n [columnName, memoValuesSelection, shouldSelectAllOnNoSelection, tableUtils]\n );\n}\n\nexport default useDebouncedViewportSelectionFilter;\n"],"mappings":"AAAA,SACEA,kBAAkB,EAClBC,0BAA0B,QAErB,wBAAwB;AAC/B,SACEC,6BAA6B,EAC7BC,iBAAiB,EACjBC,cAAc,EACdC,kBAAkB,QAEb,wBAAwB;AAE/B,SAASC,OAAO,QAAQ,OAAO;AAAC,OACzBC,aAAa;AAEpB,OAAO,IAAMC,WAAW,GAAG,GAAG;AAS9B;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,mCAAmCA,CAAAC,IAAA,EAQxB;EAAA,IARwC;IACjEC,YAAY;IACZC,UAAU;IACVC,4BAA4B;IAC5BC;EAIF,CAAC,GAAAJ,IAAA;EACC,IAAMK,UAAU,GAAGR,aAAa,CAAC,CAAC;;EAElC;EACA,IAAMS,eAAe,GAAGX,kBAAkB,CACxCM,YAAY,EACZG,cAAc,EACdd,kBACF,CAAC;;EAED;EACA;EACA,IAAM;IAAEiB,KAAK,EAAEC;EAAyB,CAAC,GAAGf,iBAAiB,CAC3Da,eAAe,EACfR,WACF,CAAC;;EAED;EACA;EACA;EACA;EACA,IAAMW,mBAAmB,GAAGf,cAAc,CACxCc,wBAAwB,EACxBhB,6BACF,CAAC;EAED,OAAOI,OAAO,CACZ,MACEL,0BAA0B,CACxBc,UAAU,EACVH,UAAU,EACVO,mBAAmB,CAACC,SAAS,EAC7BP,4BAA4B,EAC5BM,mBAAmB,CAACE,UACtB,CAAC,EACH,CAACT,UAAU,EAAEO,mBAAmB,EAAEN,4BAA4B,EAAEE,UAAU,CAC5E,CAAC;AACH;AAEA,eAAeN,mCAAmC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deephaven/jsapi-components",
3
- "version": "0.76.0",
3
+ "version": "0.76.1-alpha-optimize-selection-get-key.0+decb5780",
4
4
  "description": "Deephaven JSAPI Components",
5
5
  "author": "Deephaven Data Labs LLC",
6
6
  "license": "Apache-2.0",
@@ -22,13 +22,13 @@
22
22
  "build:sass": "sass --embed-sources --load-path=../../node_modules ./src:./dist"
23
23
  },
24
24
  "dependencies": {
25
- "@deephaven/components": "^0.76.0",
26
- "@deephaven/jsapi-bootstrap": "^0.76.0",
25
+ "@deephaven/components": "^0.76.1-alpha-optimize-selection-get-key.0+decb5780",
26
+ "@deephaven/jsapi-bootstrap": "^0.76.1-alpha-optimize-selection-get-key.0+decb5780",
27
27
  "@deephaven/jsapi-types": "1.0.0-dev0.34.0",
28
- "@deephaven/jsapi-utils": "^0.76.0",
29
- "@deephaven/log": "^0.76.0",
30
- "@deephaven/react-hooks": "^0.76.0",
31
- "@deephaven/utils": "^0.76.0",
28
+ "@deephaven/jsapi-utils": "^0.76.1-alpha-optimize-selection-get-key.0+decb5780",
29
+ "@deephaven/log": "^0.76.1-alpha-optimize-selection-get-key.0+decb5780",
30
+ "@deephaven/react-hooks": "^0.76.1-alpha-optimize-selection-get-key.0+decb5780",
31
+ "@deephaven/utils": "^0.76.1-alpha-optimize-selection-get-key.0+decb5780",
32
32
  "@types/js-cookie": "^3.0.3",
33
33
  "classnames": "^2.3.2",
34
34
  "js-cookie": "^3.0.5",
@@ -36,7 +36,7 @@
36
36
  "prop-types": "^15.8.1"
37
37
  },
38
38
  "devDependencies": {
39
- "@deephaven/jsapi-shim": "^0.76.0",
39
+ "@deephaven/jsapi-shim": "^0.76.1-alpha-optimize-selection-get-key.0+decb5780",
40
40
  "react-test-renderer": "^17.0.2"
41
41
  },
42
42
  "peerDependencies": {
@@ -51,5 +51,5 @@
51
51
  "publishConfig": {
52
52
  "access": "public"
53
53
  },
54
- "gitHead": "1b241caaeffb68f1217c99161c2cc1ade52d3a02"
54
+ "gitHead": "decb578035ab69da9d887b345140a4ecabdf2690"
55
55
  }