@deephaven/jsapi-components 0.22.3-deep-bot-test.14 → 0.23.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,13 +1,9 @@
1
1
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
-
3
2
  class ColumnNameError extends Error {
4
3
  constructor() {
5
4
  super(...arguments);
6
-
7
5
  _defineProperty(this, "isColumnNameError", true);
8
6
  }
9
-
10
7
  }
11
-
12
8
  export default ColumnNameError;
13
9
  //# sourceMappingURL=ColumnNameError.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnNameError.js","names":["ColumnNameError","Error"],"sources":["../src/ColumnNameError.ts"],"sourcesContent":["class ColumnNameError extends Error {\n isColumnNameError = true;\n}\n\nexport default ColumnNameError;\n"],"mappings":";;AAAA,MAAMA,eAAN,SAA8BC,KAA9B,CAAoC;EAAA;IAAA;;IAAA,2CACd,IADc;EAAA;;AAAA;;AAIpC,eAAeD,eAAf"}
1
+ {"version":3,"file":"ColumnNameError.js","names":["ColumnNameError","Error"],"sources":["../src/ColumnNameError.ts"],"sourcesContent":["class ColumnNameError extends Error {\n isColumnNameError = true;\n}\n\nexport default ColumnNameError;\n"],"mappings":";AAAA,MAAMA,eAAe,SAASC,KAAK,CAAC;EAAA;IAAA;IAAA,2CACd,IAAI;EAAA;AAC1B;AAEA,eAAeD,eAAe"}
@@ -1,13 +1,9 @@
1
1
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
-
3
2
  class TableDisconnectError extends Error {
4
3
  constructor() {
5
4
  super(...arguments);
6
-
7
5
  _defineProperty(this, "isTableDisconnectError", true);
8
6
  }
9
-
10
7
  }
11
-
12
8
  export default TableDisconnectError;
13
9
  //# sourceMappingURL=TableDisconnectError.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableDisconnectError.js","names":["TableDisconnectError","Error"],"sources":["../src/TableDisconnectError.ts"],"sourcesContent":["class TableDisconnectError extends Error {\n isTableDisconnectError = true;\n}\n\nexport default TableDisconnectError;\n"],"mappings":";;AAAA,MAAMA,oBAAN,SAAmCC,KAAnC,CAAyC;EAAA;IAAA;;IAAA,gDACd,IADc;EAAA;;AAAA;;AAIzC,eAAeD,oBAAf"}
1
+ {"version":3,"file":"TableDisconnectError.js","names":["TableDisconnectError","Error"],"sources":["../src/TableDisconnectError.ts"],"sourcesContent":["class TableDisconnectError extends Error {\n isTableDisconnectError = true;\n}\n\nexport default TableDisconnectError;\n"],"mappings":";AAAA,MAAMA,oBAAoB,SAASC,KAAK,CAAC;EAAA;IAAA;IAAA,gDACd,IAAI;EAAA;AAC/B;AAEA,eAAeD,oBAAoB"}
@@ -1,7 +1,5 @@
1
1
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
2
-
3
2
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
4
-
5
3
  import React, { useCallback, useState, useRef, useEffect, useMemo } from 'react';
6
4
  import classNames from 'classnames';
7
5
  import { LoadingOverlay, SearchInput, SelectValueList } from '@deephaven/components';
@@ -12,10 +10,8 @@ import useTableColumn from "./useTableColumn.js";
12
10
  import "./TableInput.css";
13
11
  var log = Log.module('TableInput');
14
12
  var SIZE_LIMIT = 250;
15
-
16
13
  function TableInput(props) {
17
14
  var _table$size, _error$message;
18
-
19
15
  var {
20
16
  className = undefined,
21
17
  columnName,
@@ -50,27 +46,22 @@ function TableInput(props) {
50
46
  var [items, updatedSelection] = useMemo(() => {
51
47
  var removedItems = new Set(selection);
52
48
  var result = [];
53
-
54
49
  if (data == null) {
55
50
  // Viewport not initialized
56
51
  return [result, null];
57
52
  }
58
-
59
53
  data.forEach(v => {
60
54
  var value = "".concat(v);
61
55
  var isSelected = selection.has(value);
62
-
63
56
  if (isSelected) {
64
57
  removedItems.delete(value);
65
58
  }
66
-
67
59
  result.push({
68
60
  value,
69
61
  displayValue: formatValue(v),
70
62
  isSelected
71
63
  });
72
64
  });
73
-
74
65
  if (removedItems.size > 0) {
75
66
  log.debug2('Selection has items that are missing from the viewport');
76
67
  var newSelection = new Set(selection);
@@ -79,7 +70,6 @@ function TableInput(props) {
79
70
  });
80
71
  return [result, newSelection];
81
72
  }
82
-
83
73
  return [result, null];
84
74
  }, [data, selection, formatValue]);
85
75
  useEffect(() => {
@@ -98,11 +88,9 @@ function TableInput(props) {
98
88
  if (PromiseUtils.isCanceled(e)) {
99
89
  return;
100
90
  }
101
-
102
91
  log.error(e);
103
92
  }
104
93
  });
105
-
106
94
  return function (_x) {
107
95
  return _ref.apply(this, arguments);
108
96
  };
@@ -114,18 +102,17 @@ function TableInput(props) {
114
102
  log.debug2('Cancel table promise');
115
103
  cancelablePromise.cancel();
116
104
  };
117
- }, [tablePromise, initTable]); // Scroll the item matching the input into view
105
+ }, [tablePromise, initTable]);
118
106
 
107
+ // Scroll the item matching the input into view
119
108
  var handleSearchChange = useCallback(e => {
120
109
  var {
121
110
  value
122
111
  } = e.target;
123
112
  setSearchValue(value);
124
113
  var index = items.findIndex(item => item.displayValue.includes(value));
125
-
126
114
  if (index > -1) {
127
115
  var _listRef$current;
128
-
129
116
  log.debug2("Found ".concat(value, " at index ").concat(index));
130
117
  (_listRef$current = listRef.current) === null || _listRef$current === void 0 ? void 0 : _listRef$current.scrollIntoView(index);
131
118
  } else {
@@ -134,21 +121,17 @@ function TableInput(props) {
134
121
  }, [items, listRef]);
135
122
  var handleSelect = useCallback(index => {
136
123
  log.debug('handleSelect', index);
137
-
138
124
  if (index >= items.length) {
139
125
  log.error('Invalid index', index);
140
126
  return;
141
127
  }
142
-
143
128
  var selectedValue = items[index].value;
144
129
  var newSelection = new Set(selection);
145
-
146
130
  if (items[index].isSelected) {
147
131
  newSelection.delete(selectedValue);
148
132
  } else {
149
133
  newSelection.add(selectedValue);
150
134
  }
151
-
152
135
  setSelection(newSelection);
153
136
  onChange(Array.from(newSelection));
154
137
  }, [onChange, items, selection]);
@@ -162,16 +145,15 @@ function TableInput(props) {
162
145
  setSelection(new Set());
163
146
  onChange([]);
164
147
  }, [onChange]);
165
- var handleViewportChange = useCallback(() => {// no-op
148
+ var handleViewportChange = useCallback(() => {
149
+ // no-op
166
150
  }, []);
167
151
  var handleChildBlur = useCallback(e => {
168
152
  var _parentRef$current;
169
-
170
153
  var {
171
154
  relatedTarget
172
155
  } = e;
173
156
  log.debug('handleChildBlur', relatedTarget, relatedTarget instanceof HTMLElement, parentRef.current, (_parentRef$current = parentRef.current) === null || _parentRef$current === void 0 ? void 0 : _parentRef$current.contains(relatedTarget));
174
-
175
157
  if (!relatedTarget || parentRef.current && relatedTarget instanceof HTMLElement && !parentRef.current.contains(relatedTarget)) {
176
158
  onBlur();
177
159
  }
@@ -223,7 +205,6 @@ function TableInput(props) {
223
205
  errorMessage: (_error$message = error === null || error === void 0 ? void 0 : error.message) !== null && _error$message !== void 0 ? _error$message : null
224
206
  })));
225
207
  }
226
-
227
208
  TableInput.displayName = 'TableInput';
228
209
  TableInput.defaultProps = {
229
210
  isInvalid: false,
@@ -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 != 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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"}
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/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["default","TableInput","useTable","useTableColumn","useTableListener"],"sources":["../src/index.ts"],"sourcesContent":["export { default as TableInput } from './TableInput';\nexport { default as useTable } from './useTable';\nexport { default as useTableColumn } from './useTableColumn';\nexport { default as useTableListener } from './useTableListener';\n"],"mappings":"SAASA,OAAO,IAAIC,U;SACXD,OAAO,IAAIE,Q;SACXF,OAAO,IAAIG,c;SACXH,OAAO,IAAII,gB"}
1
+ {"version":3,"file":"index.js","names":["default","TableInput","useTable","useTableColumn","useTableListener"],"sources":["../src/index.ts"],"sourcesContent":["export { default as TableInput } from './TableInput';\nexport { default as useTable } from './useTable';\nexport { default as useTableColumn } from './useTableColumn';\nexport { default as useTableListener } from './useTableListener';\n"],"mappings":"SAASA,OAAO,IAAIC,UAAU;AAAA,SACrBD,OAAO,IAAIE,QAAQ;AAAA,SACnBF,OAAO,IAAIG,cAAc;AAAA,SACzBH,OAAO,IAAII,gBAAgB"}
package/dist/useTable.js CHANGED
@@ -4,7 +4,6 @@ import useTableListener from "./useTableListener.js";
4
4
  import ColumnNameError from "./ColumnNameError.js";
5
5
  import TableDisconnectError from "./TableDisconnectError.js";
6
6
  var log = Log.module('useTable');
7
-
8
7
  var useTable = (table, firstRow, lastRow, columnNames) => {
9
8
  var [columns, setColumns] = useState(undefined);
10
9
  var [data, setData] = useState([]);
@@ -16,7 +15,6 @@ var useTable = (table, firstRow, lastRow, columnNames) => {
16
15
  setColumnError(null);
17
16
  return;
18
17
  }
19
-
20
18
  try {
21
19
  setColumns(table === null || table === void 0 ? void 0 : table.findColumns(columnNames));
22
20
  setColumnError(null);
@@ -30,7 +28,6 @@ var useTable = (table, firstRow, lastRow, columnNames) => {
30
28
  log.debug2('Table or column not initialized, skip viewport update.');
31
29
  return;
32
30
  }
33
-
34
31
  log.debug2('Setting viewport', firstRow, lastRow);
35
32
  table.setViewport(firstRow, lastRow, columns);
36
33
  }, [columns, table, firstRow, lastRow]);
@@ -38,12 +35,10 @@ var useTable = (table, firstRow, lastRow, columnNames) => {
38
35
  var {
39
36
  detail
40
37
  } = _ref;
41
-
42
38
  if (!columns) {
43
39
  log.error('Columns not initialized.');
44
40
  return;
45
41
  }
46
-
47
42
  var viewportData = columns.map(column => detail.rows.map(r => r.get(column)));
48
43
  setData(viewportData);
49
44
  }, [columns]);
@@ -62,6 +57,5 @@ var useTable = (table, firstRow, lastRow, columnNames) => {
62
57
  error: tableError !== null && tableError !== void 0 ? tableError : columnError
63
58
  };
64
59
  };
65
-
66
60
  export default useTable;
67
61
  //# sourceMappingURL=useTable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTable.js","names":["useCallback","useEffect","useState","Log","useTableListener","ColumnNameError","TableDisconnectError","log","module","useTable","table","firstRow","lastRow","columnNames","columns","setColumns","undefined","data","setData","columnError","setColumnError","tableError","setTableError","findColumns","e","error","debug2","setViewport","handleUpdate","detail","viewportData","map","column","rows","r","get","handleDisconnect","handleReconnect","dh","Table","EVENT_UPDATED","EVENT_DISCONNECT","EVENT_RECONNECT"],"sources":["../src/useTable.ts"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react';\nimport { Column, Row, Table } from '@deephaven/jsapi-shim';\nimport Log from '@deephaven/log';\nimport useTableListener from './useTableListener';\nimport ColumnNameError from './ColumnNameError';\nimport TableDisconnectError from './TableDisconnectError';\n\nconst log = Log.module('useTable');\n\nconst useTable = (\n table: Table | undefined,\n firstRow: number,\n lastRow: number,\n columnNames?: string[]\n): {\n columns: Column[] | undefined;\n data: unknown[][];\n error: Error | null;\n} => {\n const [columns, setColumns] = useState<Column[] | undefined>(undefined);\n const [data, setData] = useState<unknown[][]>([]);\n const [columnError, setColumnError] = useState<Error | null>(null);\n const [tableError, setTableError] = useState<Error | null>(null);\n\n useEffect(() => {\n if (columnNames === undefined) {\n setColumns(table?.columns);\n setColumnError(null);\n return;\n }\n try {\n setColumns(table?.findColumns(columnNames));\n setColumnError(null);\n } catch (e) {\n log.error(`Column not found`, e, columnNames);\n setColumnError(new ColumnNameError('Invalid columnNames argument'));\n }\n }, [table, columnNames]);\n\n useEffect(() => {\n if (!columns || !table) {\n log.debug2('Table or column not initialized, skip viewport update.');\n return;\n }\n log.debug2('Setting viewport', firstRow, lastRow);\n table.setViewport(firstRow, lastRow, columns);\n }, [columns, table, firstRow, lastRow]);\n\n const handleUpdate = useCallback(\n ({ detail }) => {\n if (!columns) {\n log.error('Columns not initialized.');\n return;\n }\n const viewportData = columns.map(column =>\n (detail.rows as Row[]).map(r => r.get(column))\n );\n setData(viewportData);\n },\n [columns]\n );\n\n const handleDisconnect = useCallback(() => {\n setTableError(new TableDisconnectError('Table disconnected'));\n }, []);\n\n const handleReconnect = useCallback(() => {\n setTableError(null);\n }, []);\n\n useTableListener(table, dh.Table.EVENT_UPDATED, handleUpdate);\n useTableListener(table, dh.Table.EVENT_DISCONNECT, handleDisconnect);\n useTableListener(table, dh.Table.EVENT_RECONNECT, handleReconnect);\n\n return { columns, data, error: tableError ?? columnError };\n};\n\nexport default useTable;\n"],"mappings":"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"}
1
+ {"version":3,"file":"useTable.js","names":["useCallback","useEffect","useState","Log","useTableListener","ColumnNameError","TableDisconnectError","log","module","useTable","table","firstRow","lastRow","columnNames","columns","setColumns","undefined","data","setData","columnError","setColumnError","tableError","setTableError","findColumns","e","error","debug2","setViewport","handleUpdate","detail","viewportData","map","column","rows","r","get","handleDisconnect","handleReconnect","dh","Table","EVENT_UPDATED","EVENT_DISCONNECT","EVENT_RECONNECT"],"sources":["../src/useTable.ts"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react';\nimport { Column, Row, Table } from '@deephaven/jsapi-shim';\nimport Log from '@deephaven/log';\nimport useTableListener from './useTableListener';\nimport ColumnNameError from './ColumnNameError';\nimport TableDisconnectError from './TableDisconnectError';\n\nconst log = Log.module('useTable');\n\nconst useTable = (\n table: Table | undefined,\n firstRow: number,\n lastRow: number,\n columnNames?: string[]\n): {\n columns: Column[] | undefined;\n data: unknown[][];\n error: Error | null;\n} => {\n const [columns, setColumns] = useState<Column[] | undefined>(undefined);\n const [data, setData] = useState<unknown[][]>([]);\n const [columnError, setColumnError] = useState<Error | null>(null);\n const [tableError, setTableError] = useState<Error | null>(null);\n\n useEffect(() => {\n if (columnNames === undefined) {\n setColumns(table?.columns);\n setColumnError(null);\n return;\n }\n try {\n setColumns(table?.findColumns(columnNames));\n setColumnError(null);\n } catch (e) {\n log.error(`Column not found`, e, columnNames);\n setColumnError(new ColumnNameError('Invalid columnNames argument'));\n }\n }, [table, columnNames]);\n\n useEffect(() => {\n if (!columns || !table) {\n log.debug2('Table or column not initialized, skip viewport update.');\n return;\n }\n log.debug2('Setting viewport', firstRow, lastRow);\n table.setViewport(firstRow, lastRow, columns);\n }, [columns, table, firstRow, lastRow]);\n\n const handleUpdate = useCallback(\n ({ detail }) => {\n if (!columns) {\n log.error('Columns not initialized.');\n return;\n }\n const viewportData = columns.map(column =>\n (detail.rows as Row[]).map(r => r.get(column))\n );\n setData(viewportData);\n },\n [columns]\n );\n\n const handleDisconnect = useCallback(() => {\n setTableError(new TableDisconnectError('Table disconnected'));\n }, []);\n\n const handleReconnect = useCallback(() => {\n setTableError(null);\n }, []);\n\n useTableListener(table, dh.Table.EVENT_UPDATED, handleUpdate);\n useTableListener(table, dh.Table.EVENT_DISCONNECT, handleDisconnect);\n useTableListener(table, dh.Table.EVENT_RECONNECT, handleReconnect);\n\n return { columns, data, error: tableError ?? columnError };\n};\n\nexport default useTable;\n"],"mappings":"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"}
@@ -8,7 +8,6 @@ import useTable from "./useTable.js";
8
8
  * @param columnName Column to get the data from
9
9
  * @returns Column object, data array for the column, error, setViewport method
10
10
  */
11
-
12
11
  var useTableColumn = (table, firstRow, lastRow, columnName) => {
13
12
  var columnNames = useMemo(() => [columnName], [columnName]);
14
13
  var {
@@ -22,6 +21,5 @@ var useTableColumn = (table, firstRow, lastRow, columnName) => {
22
21
  error
23
22
  };
24
23
  };
25
-
26
24
  export default useTableColumn;
27
25
  //# sourceMappingURL=useTableColumn.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTableColumn.js","names":["useMemo","useTable","useTableColumn","table","firstRow","lastRow","columnName","columnNames","columns","data","error","column"],"sources":["../src/useTableColumn.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport { Column, Table } from '@deephaven/jsapi-shim';\nimport useTable from './useTable';\n\n/**\n * Subscribe to viewport updates on a single table column\n * @param table Table to get the data from\n * @param firstRow First viewport row\n * @param lastRow Last viewport row\n * @param columnName Column to get the data from\n * @returns Column object, data array for the column, error, setViewport method\n */\nconst useTableColumn = (\n table: Table | undefined,\n firstRow: number,\n lastRow: number,\n columnName: string\n): {\n column: Column | undefined;\n data: unknown[];\n error: Error | null;\n} => {\n const columnNames = useMemo(() => [columnName], [columnName]);\n const { columns = [], data = [], error } = useTable(\n table,\n firstRow,\n lastRow,\n columnNames\n );\n return {\n column: columns[0],\n data: data[0],\n error,\n };\n};\n\nexport default useTableColumn;\n"],"mappings":"AAAA,SAASA,OAAT,QAAwB,OAAxB;OAEOC,Q;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAMC,cAAc,GAAG,CACrBC,KADqB,EAErBC,QAFqB,EAGrBC,OAHqB,EAIrBC,UAJqB,KASlB;EACH,IAAMC,WAAW,GAAGP,OAAO,CAAC,MAAM,CAACM,UAAD,CAAP,EAAqB,CAACA,UAAD,CAArB,CAA3B;EACA,IAAM;IAAEE,OAAO,GAAG,EAAZ;IAAgBC,IAAI,GAAG,EAAvB;IAA2BC;EAA3B,IAAqCT,QAAQ,CACjDE,KADiD,EAEjDC,QAFiD,EAGjDC,OAHiD,EAIjDE,WAJiD,CAAnD;EAMA,OAAO;IACLI,MAAM,EAAEH,OAAO,CAAC,CAAD,CADV;IAELC,IAAI,EAAEA,IAAI,CAAC,CAAD,CAFL;IAGLC;EAHK,CAAP;AAKD,CAtBD;;AAwBA,eAAeR,cAAf"}
1
+ {"version":3,"file":"useTableColumn.js","names":["useMemo","useTable","useTableColumn","table","firstRow","lastRow","columnName","columnNames","columns","data","error","column"],"sources":["../src/useTableColumn.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport { Column, Table } from '@deephaven/jsapi-shim';\nimport useTable from './useTable';\n\n/**\n * Subscribe to viewport updates on a single table column\n * @param table Table to get the data from\n * @param firstRow First viewport row\n * @param lastRow Last viewport row\n * @param columnName Column to get the data from\n * @returns Column object, data array for the column, error, setViewport method\n */\nconst useTableColumn = (\n table: Table | undefined,\n firstRow: number,\n lastRow: number,\n columnName: string\n): {\n column: Column | undefined;\n data: unknown[];\n error: Error | null;\n} => {\n const columnNames = useMemo(() => [columnName], [columnName]);\n const { columns = [], data = [], error } = useTable(\n table,\n firstRow,\n lastRow,\n columnNames\n );\n return {\n column: columns[0],\n data: data[0],\n error,\n };\n};\n\nexport default useTableColumn;\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,OAAO;AAAC,OAEzBC,QAAQ;AAEf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAMC,cAAc,GAAG,CACrBC,KAAwB,EACxBC,QAAgB,EAChBC,OAAe,EACfC,UAAkB,KAKf;EACH,IAAMC,WAAW,GAAGP,OAAO,CAAC,MAAM,CAACM,UAAU,CAAC,EAAE,CAACA,UAAU,CAAC,CAAC;EAC7D,IAAM;IAAEE,OAAO,GAAG,EAAE;IAAEC,IAAI,GAAG,EAAE;IAAEC;EAAM,CAAC,GAAGT,QAAQ,CACjDE,KAAK,EACLC,QAAQ,EACRC,OAAO,EACPE,WAAW,CACZ;EACD,OAAO;IACLI,MAAM,EAAEH,OAAO,CAAC,CAAC,CAAC;IAClBC,IAAI,EAAEA,IAAI,CAAC,CAAC,CAAC;IACbC;EACF,CAAC;AACH,CAAC;AAED,eAAeR,cAAc"}
@@ -6,7 +6,6 @@ export var useTableListener = (eventEmitter, eventName, callback) => useEffect(f
6
6
  log.debug2('Emitter undefined, skipping addEventListener', eventName);
7
7
  return;
8
8
  }
9
-
10
9
  log.debug2('Adding listener', eventName);
11
10
  return eventEmitter.addEventListener(eventName, callback);
12
11
  }, [eventEmitter, eventName, callback]);
@@ -1 +1 @@
1
- {"version":3,"file":"useTableListener.js","names":["useEffect","Log","log","module","useTableListener","eventEmitter","eventName","callback","initEventEmitter","undefined","debug2","addEventListener"],"sources":["../src/useTableListener.ts"],"sourcesContent":["import { useEffect } from 'react';\nimport { Evented, EventListener } from '@deephaven/jsapi-shim';\nimport Log from '@deephaven/log';\n\nconst log = Log.module('useTableListener');\n\nexport const useTableListener = (\n eventEmitter: Evented | undefined,\n eventName: string,\n callback: EventListener\n): void =>\n useEffect(\n function initEventEmitter() {\n if (eventEmitter === undefined) {\n log.debug2('Emitter undefined, skipping addEventListener', eventName);\n return;\n }\n log.debug2('Adding listener', eventName);\n return eventEmitter.addEventListener(eventName, callback);\n },\n [eventEmitter, eventName, callback]\n );\n\nexport default useTableListener;\n"],"mappings":"AAAA,SAASA,SAAT,QAA0B,OAA1B;AAEA,OAAOC,GAAP,MAAgB,gBAAhB;AAEA,IAAMC,GAAG,GAAGD,GAAG,CAACE,MAAJ,CAAW,kBAAX,CAAZ;AAEA,OAAO,IAAMC,gBAAgB,GAAG,CAC9BC,YAD8B,EAE9BC,SAF8B,EAG9BC,QAH8B,KAK9BP,SAAS,CACP,SAASQ,gBAAT,GAA4B;EAC1B,IAAIH,YAAY,KAAKI,SAArB,EAAgC;IAC9BP,GAAG,CAACQ,MAAJ,CAAW,8CAAX,EAA2DJ,SAA3D;IACA;EACD;;EACDJ,GAAG,CAACQ,MAAJ,CAAW,iBAAX,EAA8BJ,SAA9B;EACA,OAAOD,YAAY,CAACM,gBAAb,CAA8BL,SAA9B,EAAyCC,QAAzC,CAAP;AACD,CARM,EASP,CAACF,YAAD,EAAeC,SAAf,EAA0BC,QAA1B,CATO,CALJ;AAiBP,eAAeH,gBAAf"}
1
+ {"version":3,"file":"useTableListener.js","names":["useEffect","Log","log","module","useTableListener","eventEmitter","eventName","callback","initEventEmitter","undefined","debug2","addEventListener"],"sources":["../src/useTableListener.ts"],"sourcesContent":["import { useEffect } from 'react';\nimport { Evented, EventListener } from '@deephaven/jsapi-shim';\nimport Log from '@deephaven/log';\n\nconst log = Log.module('useTableListener');\n\nexport const useTableListener = (\n eventEmitter: Evented | undefined,\n eventName: string,\n callback: EventListener\n): void =>\n useEffect(\n function initEventEmitter() {\n if (eventEmitter === undefined) {\n log.debug2('Emitter undefined, skipping addEventListener', eventName);\n return;\n }\n log.debug2('Adding listener', eventName);\n return eventEmitter.addEventListener(eventName, callback);\n },\n [eventEmitter, eventName, callback]\n );\n\nexport default useTableListener;\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,OAAO;AAEjC,OAAOC,GAAG,MAAM,gBAAgB;AAEhC,IAAMC,GAAG,GAAGD,GAAG,CAACE,MAAM,CAAC,kBAAkB,CAAC;AAE1C,OAAO,IAAMC,gBAAgB,GAAG,CAC9BC,YAAiC,EACjCC,SAAiB,EACjBC,QAAuB,KAEvBP,SAAS,CACP,SAASQ,gBAAgB,GAAG;EAC1B,IAAIH,YAAY,KAAKI,SAAS,EAAE;IAC9BP,GAAG,CAACQ,MAAM,CAAC,8CAA8C,EAAEJ,SAAS,CAAC;IACrE;EACF;EACAJ,GAAG,CAACQ,MAAM,CAAC,iBAAiB,EAAEJ,SAAS,CAAC;EACxC,OAAOD,YAAY,CAACM,gBAAgB,CAACL,SAAS,EAAEC,QAAQ,CAAC;AAC3D,CAAC,EACD,CAACF,YAAY,EAAEC,SAAS,EAAEC,QAAQ,CAAC,CACpC;AAEH,eAAeH,gBAAgB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deephaven/jsapi-components",
3
- "version": "0.22.3-deep-bot-test.14+c0d1d46",
3
+ "version": "0.23.0",
4
4
  "description": "Deephaven JSAPI Components",
5
5
  "author": "Deephaven Data Labs LLC",
6
6
  "license": "Apache-2.0",
@@ -22,16 +22,16 @@
22
22
  "build:sass": "sass --embed-sources --load-path=../../node_modules ./src:./dist"
23
23
  },
24
24
  "dependencies": {
25
- "@deephaven/components": "^0.22.3-deep-bot-test.14+c0d1d46",
26
- "@deephaven/jsapi-shim": "^0.22.3-deep-bot-test.14+c0d1d46",
27
- "@deephaven/jsapi-utils": "^0.22.3-deep-bot-test.14+c0d1d46",
28
- "@deephaven/log": "^0.22.3-deep-bot-test.14+c0d1d46",
29
- "@deephaven/utils": "^0.22.3-deep-bot-test.14+c0d1d46",
25
+ "@deephaven/components": "^0.23.0",
26
+ "@deephaven/jsapi-shim": "^0.23.0",
27
+ "@deephaven/jsapi-utils": "^0.23.0",
28
+ "@deephaven/log": "^0.23.0",
29
+ "@deephaven/utils": "^0.23.0",
30
30
  "classnames": "^2.3.2",
31
31
  "prop-types": "^15.8.1"
32
32
  },
33
33
  "devDependencies": {
34
- "@deephaven/tsconfig": "^0.22.3-deep-bot-test.14+c0d1d46",
34
+ "@deephaven/tsconfig": "^0.23.0",
35
35
  "@testing-library/react-hooks": "^8.0.1",
36
36
  "react-test-renderer": "^17.0.2"
37
37
  },
@@ -44,5 +44,5 @@
44
44
  "publishConfig": {
45
45
  "access": "public"
46
46
  },
47
- "gitHead": "c0d1d4666f35b21fc8601a6f59a348710f03ca13"
47
+ "gitHead": "94defbc26a5e0e2e3da3d71b5ae770c5bc8155e3"
48
48
  }
@@ -1,5 +0,0 @@
1
- declare class ColumnNameError extends Error {
2
- isColumnNameError: boolean;
3
- }
4
- export default ColumnNameError;
5
- //# sourceMappingURL=ColumnNameError.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ColumnNameError.d.ts","sourceRoot":"","sources":["../src/ColumnNameError.ts"],"names":[],"mappings":"AAAA,cAAM,eAAgB,SAAQ,KAAK;IACjC,iBAAiB,UAAQ;CAC1B;AAED,eAAe,eAAe,CAAC"}
@@ -1,5 +0,0 @@
1
- declare class TableDisconnectError extends Error {
2
- isTableDisconnectError: boolean;
3
- }
4
- export default TableDisconnectError;
5
- //# sourceMappingURL=TableDisconnectError.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TableDisconnectError.d.ts","sourceRoot":"","sources":["../src/TableDisconnectError.ts"],"names":[],"mappings":"AAAA,cAAM,oBAAqB,SAAQ,KAAK;IACtC,sBAAsB,UAAQ;CAC/B;AAED,eAAe,oBAAoB,CAAC"}
@@ -1,25 +0,0 @@
1
- /// <reference types="react" />
2
- import type { LongWrapper, Table } from '@deephaven/jsapi-shim';
3
- import { Settings } from '@deephaven/jsapi-utils';
4
- import './TableInput.scss';
5
- declare type Value = LongWrapper | string;
6
- interface TableInputProps {
7
- className?: string;
8
- columnName: string;
9
- settings: Settings;
10
- defaultValue: Value[];
11
- isInvalid?: boolean;
12
- table: Promise<Table>;
13
- onChange(items: Value[]): void;
14
- onBlur?: () => void;
15
- }
16
- declare function TableInput(props: TableInputProps): JSX.Element;
17
- declare namespace TableInput {
18
- var displayName: string;
19
- var defaultProps: {
20
- isInvalid: boolean;
21
- className: undefined;
22
- };
23
- }
24
- export default TableInput;
25
- //# sourceMappingURL=TableInput.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TableInput.d.ts","sourceRoot":"","sources":["../src/TableInput.tsx"],"names":[],"mappings":";AAaA,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAGhE,OAAO,EAA6B,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAG7E,OAAO,mBAAmB,CAAC;AAI3B,aAAK,KAAK,GAAG,WAAW,GAAG,MAAM,CAAC;AAQlC,UAAU,eAAe;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;IACnB,YAAY,EAAE,KAAK,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAID,iBAAS,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CA+PvD;kBA/PQ,UAAU;;;;;;;AAwQnB,eAAe,UAAU,CAAC"}
package/dist/index.d.ts DELETED
@@ -1,5 +0,0 @@
1
- export { default as TableInput } from './TableInput';
2
- export { default as useTable } from './useTable';
3
- export { default as useTableColumn } from './useTableColumn';
4
- export { default as useTableListener } from './useTableListener';
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -1,8 +0,0 @@
1
- import { Column, Table } from '@deephaven/jsapi-shim';
2
- declare const useTable: (table: Table | undefined, firstRow: number, lastRow: number, columnNames?: string[] | undefined) => {
3
- columns: Column[] | undefined;
4
- data: unknown[][];
5
- error: Error | null;
6
- };
7
- export default useTable;
8
- //# sourceMappingURL=useTable.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useTable.d.ts","sourceRoot":"","sources":["../src/useTable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAO,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAQ3D,QAAA,MAAM,QAAQ,UACL,KAAK,GAAG,SAAS,YACd,MAAM,WACP,MAAM;aAGN,MAAM,EAAE,GAAG,SAAS;UACvB,OAAO,EAAE,EAAE;WACV,KAAK,GAAG,IAAI;CA0DpB,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -1,16 +0,0 @@
1
- import { Column, Table } from '@deephaven/jsapi-shim';
2
- /**
3
- * Subscribe to viewport updates on a single table column
4
- * @param table Table to get the data from
5
- * @param firstRow First viewport row
6
- * @param lastRow Last viewport row
7
- * @param columnName Column to get the data from
8
- * @returns Column object, data array for the column, error, setViewport method
9
- */
10
- declare const useTableColumn: (table: Table | undefined, firstRow: number, lastRow: number, columnName: string) => {
11
- column: Column | undefined;
12
- data: unknown[];
13
- error: Error | null;
14
- };
15
- export default useTableColumn;
16
- //# sourceMappingURL=useTableColumn.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useTableColumn.d.ts","sourceRoot":"","sources":["../src/useTableColumn.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAGtD;;;;;;;GAOG;AACH,QAAA,MAAM,cAAc,UACX,KAAK,GAAG,SAAS,YACd,MAAM,WACP,MAAM,cACH,MAAM;YAEV,MAAM,GAAG,SAAS;UACpB,OAAO,EAAE;WACR,KAAK,GAAG,IAAI;CAcpB,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -1,4 +0,0 @@
1
- import { Evented, EventListener } from '@deephaven/jsapi-shim';
2
- export declare const useTableListener: (eventEmitter: Evented | undefined, eventName: string, callback: EventListener) => void;
3
- export default useTableListener;
4
- //# sourceMappingURL=useTableListener.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useTableListener.d.ts","sourceRoot":"","sources":["../src/useTableListener.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAK/D,eAAO,MAAM,gBAAgB,iBACb,OAAO,GAAG,SAAS,aACtB,MAAM,YACP,aAAa,KACtB,IAWA,CAAC;AAEJ,eAAe,gBAAgB,CAAC"}