@deephaven/jsapi-components 0.19.2-beta.0 → 0.19.2-beta.10

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.
@@ -205,7 +205,7 @@ function TableInput(props) {
205
205
  className: "meta-row"
206
206
  }, /*#__PURE__*/React.createElement("div", {
207
207
  className: "d-flex align-items-center text-muted small"
208
- }, table && table.size > itemCount && /*#__PURE__*/React.createElement(React.Fragment, null, "Table is too large, showing the first ", SIZE_LIMIT, " items.")), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("button", {
208
+ }, table != null && table.size > itemCount && /*#__PURE__*/React.createElement(React.Fragment, null, "Table is too large, showing the first ", SIZE_LIMIT, " items.")), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("button", {
209
209
  type: "button",
210
210
  className: "btn btn-link",
211
211
  onBlur: handleChildBlur,
@@ -215,11 +215,11 @@ function TableInput(props) {
215
215
  className: "btn btn-link mr-a",
216
216
  onBlur: handleChildBlur,
217
217
  onClick: handleClearSelection
218
- }, "Clear"))), !table || error && /*#__PURE__*/React.createElement("div", {
218
+ }, "Clear"))), table == null || error && /*#__PURE__*/React.createElement("div", {
219
219
  className: "h-100 w-100 position-absolute"
220
220
  }, /*#__PURE__*/React.createElement(LoadingOverlay, {
221
- isLoaded: !!table,
222
- isLoading: !table && !error,
221
+ isLoaded: table != null,
222
+ isLoading: table == null && error == null,
223
223
  errorMessage: (_error$message = error === null || error === void 0 ? void 0 : error.message) !== null && _error$message !== void 0 ? _error$message : null
224
224
  })));
225
225
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TableInput.js","names":["React","useCallback","useState","useRef","useEffect","useMemo","classNames","LoadingOverlay","SearchInput","SelectValueList","PromiseUtils","Log","Formatter","FormatterUtils","useTableColumn","log","module","SIZE_LIMIT","TableInput","props","className","undefined","columnName","settings","defaultValue","isInvalid","onChange","onBlur","table","tablePromise","parentRef","formatter","columnFormats","getColumnFormats","dateTimeFormatterOptions","getDateTimeFormatterOptions","defaultDecimalFormatOptions","defaultIntegerFormatOptions","searchValue","setSearchValue","selection","setSelection","Set","setTable","listRef","itemCount","Math","min","size","column","data","error","formatValue","value","getFormattedString","type","name","items","updatedSelection","removedItems","result","forEach","v","isSelected","has","delete","push","displayValue","debug2","newSelection","Array","from","initTable","promise","resolved","debug","e","isCanceled","cancelablePromise","makeCancelable","cancel","handleSearchChange","target","index","findIndex","item","includes","current","scrollIntoView","handleSelect","length","selectedValue","add","handleSelectAll","values","map","handleClearSelection","handleViewportChange","handleChildBlur","relatedTarget","HTMLElement","contains","isEmpty","message","displayName","defaultProps"],"sources":["../src/TableInput.tsx"],"sourcesContent":["import React, {\n useCallback,\n useState,\n useRef,\n useEffect,\n useMemo,\n} from 'react';\nimport classNames from 'classnames';\nimport {\n LoadingOverlay,\n SearchInput,\n SelectValueList,\n} from '@deephaven/components';\nimport type { LongWrapper, Table } from '@deephaven/jsapi-shim';\nimport { PromiseUtils } from '@deephaven/utils';\nimport Log from '@deephaven/log';\nimport { Formatter, FormatterUtils, Settings } from '@deephaven/jsapi-utils';\nimport useTableColumn from './useTableColumn';\n\nimport './TableInput.scss';\n\nconst log = Log.module('TableInput');\n\ntype Value = LongWrapper | string;\n\ninterface SelectValueItem {\n displayValue: string;\n value: Value;\n isSelected: boolean;\n}\n\ninterface TableInputProps {\n className?: string;\n columnName: string;\n settings: Settings;\n defaultValue: Value[];\n isInvalid?: boolean;\n table: Promise<Table>;\n onChange(items: Value[]): void;\n onBlur?: () => void;\n}\n\nconst SIZE_LIMIT = 250;\n\nfunction TableInput(props: TableInputProps): JSX.Element {\n const {\n className = undefined,\n columnName,\n settings,\n defaultValue = [],\n isInvalid = false,\n onChange = () => false,\n onBlur = () => false,\n table: tablePromise,\n } = props;\n const parentRef = useRef<HTMLDivElement>(null);\n const formatter = useMemo(() => {\n const columnFormats = FormatterUtils.getColumnFormats(settings);\n const dateTimeFormatterOptions = FormatterUtils.getDateTimeFormatterOptions(\n settings\n );\n const {\n defaultDecimalFormatOptions = {},\n defaultIntegerFormatOptions = {},\n } = settings;\n return new Formatter(\n columnFormats,\n dateTimeFormatterOptions,\n defaultDecimalFormatOptions,\n defaultIntegerFormatOptions\n );\n }, [settings]);\n const [searchValue, setSearchValue] = useState('');\n const [selection, setSelection] = useState(new Set(defaultValue));\n const [table, setTable] = useState<Table | undefined>();\n const listRef = useRef<SelectValueList<Value>>(null);\n\n const itemCount = Math.min(table?.size ?? 0, SIZE_LIMIT);\n\n const { column, data, error } = useTableColumn(\n table,\n 0,\n SIZE_LIMIT - 1,\n columnName\n );\n\n const formatValue = useCallback(\n value =>\n column\n ? formatter.getFormattedString(value, column.type, column.name)\n : `${value}`,\n [column, formatter]\n );\n\n const [items, updatedSelection] = useMemo(() => {\n const removedItems = new Set(selection);\n const result: SelectValueItem[] = [];\n if (data == null) {\n // Viewport not initialized\n return [result, null];\n }\n (data as Value[]).forEach(v => {\n const value = `${v}`;\n const isSelected = selection.has(value);\n if (isSelected) {\n removedItems.delete(value);\n }\n result.push({\n value,\n displayValue: formatValue(v),\n isSelected,\n });\n });\n\n if (removedItems.size > 0) {\n log.debug2('Selection has items that are missing from the viewport');\n const newSelection = new Set(selection);\n Array.from(removedItems).forEach(value => {\n newSelection.delete(value);\n });\n return [result, newSelection];\n }\n return [result, null];\n }, [data, selection, formatValue]);\n\n useEffect(() => {\n if (updatedSelection !== null) {\n setSelection(updatedSelection);\n onChange(Array.from(updatedSelection));\n }\n }, [onChange, updatedSelection]);\n\n const initTable = useCallback(async promise => {\n try {\n const resolved = await promise;\n log.debug('Table resolved', resolved);\n setTable(resolved);\n } catch (e) {\n if (PromiseUtils.isCanceled(e)) {\n return;\n }\n log.error(e);\n }\n }, []);\n\n useEffect(() => {\n const cancelablePromise = PromiseUtils.makeCancelable(tablePromise);\n initTable(cancelablePromise);\n return () => {\n log.debug2('Cancel table promise');\n cancelablePromise.cancel();\n };\n }, [tablePromise, initTable]);\n\n // Scroll the item matching the input into view\n const handleSearchChange = useCallback(\n e => {\n const { value } = e.target;\n setSearchValue(value);\n const index = items.findIndex(item => item.displayValue.includes(value));\n if (index > -1) {\n log.debug2(`Found ${value} at index ${index}`);\n listRef.current?.scrollIntoView(index);\n } else {\n log.debug2(`${value} not found`);\n }\n },\n [items, listRef]\n );\n\n const handleSelect = useCallback(\n index => {\n log.debug('handleSelect', index);\n if (index >= items.length) {\n log.error('Invalid index', index);\n return;\n }\n const selectedValue = items[index].value;\n const newSelection = new Set(selection);\n if (items[index].isSelected) {\n newSelection.delete(selectedValue);\n } else {\n newSelection.add(selectedValue);\n }\n setSelection(newSelection);\n onChange(Array.from(newSelection));\n },\n [onChange, items, selection]\n );\n\n const handleSelectAll = useCallback(() => {\n const values = items.map(item => item.value);\n const newSelection = new Set(values);\n setSelection(newSelection);\n onChange(values);\n }, [items, onChange]);\n\n const handleClearSelection = useCallback(() => {\n setSelection(new Set());\n onChange([]);\n }, [onChange]);\n\n const handleViewportChange = useCallback(() => {\n // no-op\n }, []);\n\n const handleChildBlur = useCallback(\n (e: React.FocusEvent<Element>) => {\n const { relatedTarget } = e;\n log.debug(\n 'handleChildBlur',\n relatedTarget,\n relatedTarget instanceof HTMLElement,\n parentRef.current,\n parentRef.current?.contains(relatedTarget)\n );\n if (\n !relatedTarget ||\n (parentRef.current &&\n relatedTarget instanceof HTMLElement &&\n !parentRef.current.contains(relatedTarget))\n ) {\n onBlur();\n }\n },\n [onBlur]\n );\n\n const isEmpty = items.length === 0;\n\n return (\n <div\n ref={parentRef}\n className={classNames(\n 'table-input-container d-flex flex-column position-relative',\n className\n )}\n >\n <SearchInput\n disabled={!!error || isEmpty}\n value={searchValue}\n placeholder=\"Search\"\n onChange={handleSearchChange}\n className=\"mb-2 d-flex\"\n onBlur={handleChildBlur}\n />\n <SelectValueList\n className=\"table-input-list\"\n disabled={table === undefined || isEmpty}\n isInvalid={isInvalid}\n items={isEmpty ? [{ value: 'Empty', isSelected: false }] : items}\n itemCount={itemCount}\n offset={0}\n onSelect={handleSelect}\n onViewportChange={handleViewportChange}\n ref={listRef}\n onBlur={handleChildBlur}\n />\n\n {table && (\n <div className=\"meta-row\">\n <div className=\"d-flex align-items-center text-muted small\">\n {table && table.size > itemCount && (\n <>Table is too large, showing the first {SIZE_LIMIT} items.</>\n )}\n </div>\n <div>\n <button\n type=\"button\"\n className=\"btn btn-link\"\n onBlur={handleChildBlur}\n onClick={handleSelectAll}\n >\n Select All\n </button>\n <button\n type=\"button\"\n className=\"btn btn-link mr-a\"\n onBlur={handleChildBlur}\n onClick={handleClearSelection}\n >\n Clear\n </button>\n </div>\n </div>\n )}\n\n {!table ||\n (error && (\n <div className=\"h-100 w-100 position-absolute\">\n <LoadingOverlay\n isLoaded={!!table}\n isLoading={!table && !error}\n errorMessage={error?.message ?? null}\n />\n </div>\n ))}\n </div>\n );\n}\n\nTableInput.displayName = 'TableInput';\n\nTableInput.defaultProps = {\n isInvalid: false,\n className: undefined,\n};\n\nexport default TableInput;\n"],"mappings":"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"}
1
+ {"version":3,"file":"TableInput.js","names":["React","useCallback","useState","useRef","useEffect","useMemo","classNames","LoadingOverlay","SearchInput","SelectValueList","PromiseUtils","Log","Formatter","FormatterUtils","useTableColumn","log","module","SIZE_LIMIT","TableInput","props","className","undefined","columnName","settings","defaultValue","isInvalid","onChange","onBlur","table","tablePromise","parentRef","formatter","columnFormats","getColumnFormats","dateTimeFormatterOptions","getDateTimeFormatterOptions","defaultDecimalFormatOptions","defaultIntegerFormatOptions","searchValue","setSearchValue","selection","setSelection","Set","setTable","listRef","itemCount","Math","min","size","column","data","error","formatValue","value","getFormattedString","type","name","items","updatedSelection","removedItems","result","forEach","v","isSelected","has","delete","push","displayValue","debug2","newSelection","Array","from","initTable","promise","resolved","debug","e","isCanceled","cancelablePromise","makeCancelable","cancel","handleSearchChange","target","index","findIndex","item","includes","current","scrollIntoView","handleSelect","length","selectedValue","add","handleSelectAll","values","map","handleClearSelection","handleViewportChange","handleChildBlur","relatedTarget","HTMLElement","contains","isEmpty","message","displayName","defaultProps"],"sources":["../src/TableInput.tsx"],"sourcesContent":["import React, {\n useCallback,\n useState,\n useRef,\n useEffect,\n useMemo,\n} from 'react';\nimport classNames from 'classnames';\nimport {\n LoadingOverlay,\n SearchInput,\n SelectValueList,\n} from '@deephaven/components';\nimport type { LongWrapper, Table } from '@deephaven/jsapi-shim';\nimport { PromiseUtils } from '@deephaven/utils';\nimport Log from '@deephaven/log';\nimport { Formatter, FormatterUtils, Settings } from '@deephaven/jsapi-utils';\nimport useTableColumn from './useTableColumn';\n\nimport './TableInput.scss';\n\nconst log = Log.module('TableInput');\n\ntype Value = LongWrapper | string;\n\ninterface SelectValueItem {\n displayValue: string;\n value: Value;\n isSelected: boolean;\n}\n\ninterface TableInputProps {\n className?: string;\n columnName: string;\n settings: Settings;\n defaultValue: Value[];\n isInvalid?: boolean;\n table: Promise<Table>;\n onChange(items: Value[]): void;\n onBlur?: () => void;\n}\n\nconst SIZE_LIMIT = 250;\n\nfunction TableInput(props: TableInputProps): JSX.Element {\n const {\n className = undefined,\n columnName,\n settings,\n defaultValue = [],\n isInvalid = false,\n onChange = () => false,\n onBlur = () => false,\n table: tablePromise,\n } = props;\n const parentRef = useRef<HTMLDivElement>(null);\n const formatter = useMemo(() => {\n const columnFormats = FormatterUtils.getColumnFormats(settings);\n const dateTimeFormatterOptions = FormatterUtils.getDateTimeFormatterOptions(\n settings\n );\n const {\n defaultDecimalFormatOptions = {},\n defaultIntegerFormatOptions = {},\n } = settings;\n return new Formatter(\n columnFormats,\n dateTimeFormatterOptions,\n defaultDecimalFormatOptions,\n defaultIntegerFormatOptions\n );\n }, [settings]);\n const [searchValue, setSearchValue] = useState('');\n const [selection, setSelection] = useState(new Set(defaultValue));\n const [table, setTable] = useState<Table | undefined>();\n const listRef = useRef<SelectValueList<Value>>(null);\n\n const itemCount = Math.min(table?.size ?? 0, SIZE_LIMIT);\n\n const { column, data, error } = useTableColumn(\n table,\n 0,\n SIZE_LIMIT - 1,\n columnName\n );\n\n const formatValue = useCallback(\n value =>\n column\n ? formatter.getFormattedString(value, column.type, column.name)\n : `${value}`,\n [column, formatter]\n );\n\n const [items, updatedSelection] = useMemo(() => {\n const removedItems = new Set(selection);\n const result: SelectValueItem[] = [];\n if (data == null) {\n // Viewport not initialized\n return [result, null];\n }\n (data as Value[]).forEach(v => {\n const value = `${v}`;\n const isSelected = selection.has(value);\n if (isSelected) {\n removedItems.delete(value);\n }\n result.push({\n value,\n displayValue: formatValue(v),\n isSelected,\n });\n });\n\n if (removedItems.size > 0) {\n log.debug2('Selection has items that are missing from the viewport');\n const newSelection = new Set(selection);\n Array.from(removedItems).forEach(value => {\n newSelection.delete(value);\n });\n return [result, newSelection];\n }\n return [result, null];\n }, [data, selection, formatValue]);\n\n useEffect(() => {\n if (updatedSelection !== null) {\n setSelection(updatedSelection);\n onChange(Array.from(updatedSelection));\n }\n }, [onChange, updatedSelection]);\n\n const initTable = useCallback(async promise => {\n try {\n const resolved = await promise;\n log.debug('Table resolved', resolved);\n setTable(resolved);\n } catch (e) {\n if (PromiseUtils.isCanceled(e)) {\n return;\n }\n log.error(e);\n }\n }, []);\n\n useEffect(() => {\n const cancelablePromise = PromiseUtils.makeCancelable(tablePromise);\n initTable(cancelablePromise);\n return () => {\n log.debug2('Cancel table promise');\n cancelablePromise.cancel();\n };\n }, [tablePromise, initTable]);\n\n // Scroll the item matching the input into view\n const handleSearchChange = useCallback(\n e => {\n const { value } = e.target;\n setSearchValue(value);\n const index = items.findIndex(item => item.displayValue.includes(value));\n if (index > -1) {\n log.debug2(`Found ${value} at index ${index}`);\n listRef.current?.scrollIntoView(index);\n } else {\n log.debug2(`${value} not found`);\n }\n },\n [items, listRef]\n );\n\n const handleSelect = useCallback(\n index => {\n log.debug('handleSelect', index);\n if (index >= items.length) {\n log.error('Invalid index', index);\n return;\n }\n const selectedValue = items[index].value;\n const newSelection = new Set(selection);\n if (items[index].isSelected) {\n newSelection.delete(selectedValue);\n } else {\n newSelection.add(selectedValue);\n }\n setSelection(newSelection);\n onChange(Array.from(newSelection));\n },\n [onChange, items, selection]\n );\n\n const handleSelectAll = useCallback(() => {\n const values = items.map(item => item.value);\n const newSelection = new Set(values);\n setSelection(newSelection);\n onChange(values);\n }, [items, onChange]);\n\n const handleClearSelection = useCallback(() => {\n setSelection(new Set());\n onChange([]);\n }, [onChange]);\n\n const handleViewportChange = useCallback(() => {\n // no-op\n }, []);\n\n const handleChildBlur = useCallback(\n (e: React.FocusEvent<Element>) => {\n const { relatedTarget } = e;\n log.debug(\n 'handleChildBlur',\n relatedTarget,\n relatedTarget instanceof HTMLElement,\n parentRef.current,\n parentRef.current?.contains(relatedTarget)\n );\n if (\n !relatedTarget ||\n (parentRef.current &&\n relatedTarget instanceof HTMLElement &&\n !parentRef.current.contains(relatedTarget))\n ) {\n onBlur();\n }\n },\n [onBlur]\n );\n\n const isEmpty = items.length === 0;\n\n return (\n <div\n ref={parentRef}\n className={classNames(\n 'table-input-container d-flex flex-column position-relative',\n className\n )}\n >\n <SearchInput\n disabled={!!error || isEmpty}\n value={searchValue}\n placeholder=\"Search\"\n onChange={handleSearchChange}\n className=\"mb-2 d-flex\"\n onBlur={handleChildBlur}\n />\n <SelectValueList\n className=\"table-input-list\"\n disabled={table === undefined || isEmpty}\n isInvalid={isInvalid}\n items={isEmpty ? [{ value: 'Empty', isSelected: false }] : items}\n itemCount={itemCount}\n offset={0}\n onSelect={handleSelect}\n onViewportChange={handleViewportChange}\n ref={listRef}\n onBlur={handleChildBlur}\n />\n\n {table && (\n <div className=\"meta-row\">\n <div className=\"d-flex align-items-center text-muted small\">\n {table != null && table.size > itemCount && (\n <>Table is too large, showing the first {SIZE_LIMIT} items.</>\n )}\n </div>\n <div>\n <button\n type=\"button\"\n className=\"btn btn-link\"\n onBlur={handleChildBlur}\n onClick={handleSelectAll}\n >\n Select All\n </button>\n <button\n type=\"button\"\n className=\"btn btn-link mr-a\"\n onBlur={handleChildBlur}\n onClick={handleClearSelection}\n >\n Clear\n </button>\n </div>\n </div>\n )}\n\n {table == null ||\n (error && (\n <div className=\"h-100 w-100 position-absolute\">\n <LoadingOverlay\n isLoaded={table != null}\n isLoading={table == null && error == null}\n errorMessage={error?.message ?? null}\n />\n </div>\n ))}\n </div>\n );\n}\n\nTableInput.displayName = 'TableInput';\n\nTableInput.defaultProps = {\n isInvalid: false,\n className: undefined,\n};\n\nexport default TableInput;\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deephaven/jsapi-components",
3
- "version": "0.19.2-beta.0+63ca6c5",
3
+ "version": "0.19.2-beta.10+75204ed",
4
4
  "description": "Deephaven JSAPI Components",
5
5
  "author": "Deephaven Data Labs LLC",
6
6
  "license": "Apache-2.0",
@@ -30,16 +30,16 @@
30
30
  "start": "cross-env NODE_ENV=development npm run watch"
31
31
  },
32
32
  "dependencies": {
33
- "@deephaven/components": "^0.19.2-beta.0+63ca6c5",
34
- "@deephaven/jsapi-shim": "^0.19.2-beta.0+63ca6c5",
35
- "@deephaven/jsapi-utils": "^0.19.2-beta.0+63ca6c5",
36
- "@deephaven/log": "^0.19.2-beta.0+63ca6c5",
37
- "@deephaven/utils": "^0.19.2-beta.0+63ca6c5",
33
+ "@deephaven/components": "^0.19.2-beta.10+75204ed",
34
+ "@deephaven/jsapi-shim": "^0.19.2-beta.10+75204ed",
35
+ "@deephaven/jsapi-utils": "^0.19.2-beta.10+75204ed",
36
+ "@deephaven/log": "^0.19.2-beta.10+75204ed",
37
+ "@deephaven/utils": "^0.19.2-beta.10+75204ed",
38
38
  "classnames": "^2.3.2",
39
39
  "prop-types": "^15.8.1"
40
40
  },
41
41
  "devDependencies": {
42
- "@deephaven/tsconfig": "^0.19.2-beta.0+63ca6c5",
42
+ "@deephaven/tsconfig": "^0.19.2-beta.10+75204ed",
43
43
  "@testing-library/react-hooks": "^8.0.1",
44
44
  "react-test-renderer": "^17.0.2"
45
45
  },
@@ -52,5 +52,5 @@
52
52
  "publishConfig": {
53
53
  "access": "public"
54
54
  },
55
- "gitHead": "63ca6c5694f2dc0ff7e6f07772f36aa80d548fef"
55
+ "gitHead": "75204eda3d72f91ad80215af6177927ae1bea1ac"
56
56
  }