@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.
- package/dist/TableInput.js +4 -4
- package/dist/TableInput.js.map +1 -1
- package/package.json +8 -8
package/dist/TableInput.js
CHANGED
|
@@ -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"))),
|
|
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:
|
|
222
|
-
isLoading:
|
|
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
|
}
|
package/dist/TableInput.js.map
CHANGED
|
@@ -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.
|
|
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.
|
|
34
|
-
"@deephaven/jsapi-shim": "^0.19.2-beta.
|
|
35
|
-
"@deephaven/jsapi-utils": "^0.19.2-beta.
|
|
36
|
-
"@deephaven/log": "^0.19.2-beta.
|
|
37
|
-
"@deephaven/utils": "^0.19.2-beta.
|
|
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.
|
|
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": "
|
|
55
|
+
"gitHead": "75204eda3d72f91ad80215af6177927ae1bea1ac"
|
|
56
56
|
}
|