@deephaven/jsapi-components 0.33.0 → 0.33.1-auth-plugins.25
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/ColumnNameError.d.ts +5 -0
- package/dist/ColumnNameError.d.ts.map +1 -0
- package/dist/TableDisconnectError.d.ts +5 -0
- package/dist/TableDisconnectError.d.ts.map +1 -0
- package/dist/TableInput.d.ts +25 -0
- package/dist/TableInput.d.ts.map +1 -0
- package/dist/TableInput.js.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/useTable.d.ts +8 -0
- package/dist/useTable.d.ts.map +1 -0
- package/dist/useTable.js +1 -0
- package/dist/useTable.js.map +1 -1
- package/dist/useTableColumn.d.ts +16 -0
- package/dist/useTableColumn.d.ts.map +1 -0
- package/dist/useTableColumn.js.map +1 -1
- package/dist/useTableListener.d.ts +4 -0
- package/dist/useTableListener.d.ts.map +1 -0
- package/dist/useTableListener.js.map +1 -1
- package/package.json +13 -8
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { LongWrapper, Table } from '@deephaven/jsapi-types';
|
|
3
|
+
import { Settings } from '@deephaven/jsapi-utils';
|
|
4
|
+
import './TableInput.scss';
|
|
5
|
+
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableInput.d.ts","sourceRoot":"","sources":["../src/TableInput.tsx"],"names":[],"mappings":";AAaA,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAGjE,OAAO,EAA6B,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAG7E,OAAO,mBAAmB,CAAC;AAI3B,KAAK,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/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 != 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":";;AAAA,OAAOA,KAAK,IACVC,WAAW,EACXC,QAAQ,EACRC,MAAM,EACNC,SAAS,EACTC,OAAO,QACF,OAAO;AACd,OAAOC,UAAU,MAAM,YAAY;AACnC,SACEC,cAAc,EACdC,WAAW,EACXC,eAAe,QACV,uBAAuB;AAE9B,SAASC,YAAY,QAAQ,kBAAkB;AAC/C,OAAOC,GAAG,MAAM,gBAAgB;AAChC,SAASC,SAAS,EAAEC,cAAc,QAAkB,wBAAwB;AAAC,OACtEC,cAAc;AAAA;AAIrB,IAAMC,GAAG,GAAGJ,GAAG,CAACK,MAAM,CAAC,YAAY,CAAC;AAqBpC,IAAMC,UAAU,GAAG,GAAG;AAEtB,SAASC,UAAU,CAACC,KAAsB,EAAe;EAAA;EACvD,IAAM;IACJC,SAAS,GAAGC,SAAS;IACrBC,UAAU;IACVC,QAAQ;IACRC,YAAY,GAAG,EAAE;IACjBC,SAAS,GAAG,KAAK;IACjBC,QAAQ,GAAG,MAAM,KAAK;IACtBC,MAAM,GAAG,MAAM,KAAK;IACpBC,KAAK,EAAEC;EACT,CAAC,GAAGV,KAAK;EACT,IAAMW,SAAS,GAAG3B,MAAM,CAAiB,IAAI,CAAC;EAC9C,IAAM4B,SAAS,GAAG1B,OAAO,CAAC,MAAM;IAC9B,IAAM2B,aAAa,GAAGnB,cAAc,CAACoB,gBAAgB,CAACV,QAAQ,CAAC;IAC/D,IAAMW,wBAAwB,GAAGrB,cAAc,CAACsB,2BAA2B,CACzEZ,QAAQ,CACT;IACD,IAAM;MACJa,2BAA2B,GAAG,CAAC,CAAC;MAChCC,2BAA2B,GAAG,CAAC;IACjC,CAAC,GAAGd,QAAQ;IACZ,OAAO,IAAIX,SAAS,CAClBoB,aAAa,EACbE,wBAAwB,EACxBE,2BAA2B,EAC3BC,2BAA2B,CAC5B;EACH,CAAC,EAAE,CAACd,QAAQ,CAAC,CAAC;EACd,IAAM,CAACe,WAAW,EAAEC,cAAc,CAAC,GAAGrC,QAAQ,CAAC,EAAE,CAAC;EAClD,IAAM,CAACsC,SAAS,EAAEC,YAAY,CAAC,GAAGvC,QAAQ,CAAC,IAAIwC,GAAG,CAAClB,YAAY,CAAC,CAAC;EACjE,IAAM,CAACI,KAAK,EAAEe,QAAQ,CAAC,GAAGzC,QAAQ,EAAqB;EACvD,IAAM0C,OAAO,GAAGzC,MAAM,CAAyB,IAAI,CAAC;EAEpD,IAAM0C,SAAS,GAAGC,IAAI,CAACC,GAAG,gBAACnB,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEoB,IAAI,qDAAI,CAAC,EAAE/B,UAAU,CAAC;EAExD,IAAM;IAAEgC,MAAM;IAAEC,IAAI;IAAEC;EAAM,CAAC,GAAGrC,cAAc,CAC5Cc,KAAK,EACL,CAAC,EACDX,UAAU,GAAG,CAAC,EACdK,UAAU,CACX;EAED,IAAM8B,WAAW,GAAGnD,WAAW,CAC7BoD,KAAK,IACHJ,MAAM,GACFlB,SAAS,CAACuB,kBAAkB,CAACD,KAAK,EAAEJ,MAAM,CAACM,IAAI,EAAEN,MAAM,CAACO,IAAI,CAAC,aAC1DH,KAAK,CAAE,EAChB,CAACJ,MAAM,EAAElB,SAAS,CAAC,CACpB;EAED,IAAM,CAAC0B,KAAK,EAAEC,gBAAgB,CAAC,GAAGrD,OAAO,CAAC,MAAM;IAC9C,IAAMsD,YAAY,GAAG,IAAIjB,GAAG,CAACF,SAAS,CAAC;IACvC,IAAMoB,MAAyB,GAAG,EAAE;IACpC,IAAIV,IAAI,IAAI,IAAI,EAAE;MAChB;MACA,OAAO,CAACU,MAAM,EAAE,IAAI,CAAC;IACvB;IACCV,IAAI,CAAaW,OAAO,CAACC,CAAC,IAAI;MAC7B,IAAMT,KAAK,aAAMS,CAAC,CAAE;MACpB,IAAMC,UAAU,GAAGvB,SAAS,CAACwB,GAAG,CAACX,KAAK,CAAC;MACvC,IAAIU,UAAU,EAAE;QACdJ,YAAY,CAACM,MAAM,CAACZ,KAAK,CAAC;MAC5B;MACAO,MAAM,CAACM,IAAI,CAAC;QACVb,KAAK;QACLc,YAAY,EAAEf,WAAW,CAACU,CAAC,CAAC;QAC5BC;MACF,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,IAAIJ,YAAY,CAACX,IAAI,GAAG,CAAC,EAAE;MACzBjC,GAAG,CAACqD,MAAM,CAAC,wDAAwD,CAAC;MACpE,IAAMC,YAAY,GAAG,IAAI3B,GAAG,CAACF,SAAS,CAAC;MACvC8B,KAAK,CAACC,IAAI,CAACZ,YAAY,CAAC,CAACE,OAAO,CAACR,KAAK,IAAI;QACxCgB,YAAY,CAACJ,MAAM,CAACZ,KAAK,CAAC;MAC5B,CAAC,CAAC;MACF,OAAO,CAACO,MAAM,EAAES,YAAY,CAAC;IAC/B;IACA,OAAO,CAACT,MAAM,EAAE,IAAI,CAAC;EACvB,CAAC,EAAE,CAACV,IAAI,EAAEV,SAAS,EAAEY,WAAW,CAAC,CAAC;EAElChD,SAAS,CAAC,MAAM;IACd,IAAIsD,gBAAgB,KAAK,IAAI,EAAE;MAC7BjB,YAAY,CAACiB,gBAAgB,CAAC;MAC9BhC,QAAQ,CAAC4C,KAAK,CAACC,IAAI,CAACb,gBAAgB,CAAC,CAAC;IACxC;EACF,CAAC,EAAE,CAAChC,QAAQ,EAAEgC,gBAAgB,CAAC,CAAC;EAEhC,IAAMc,SAAS,GAAGvE,WAAW;IAAA,6BAAC,WAAMwE,OAAO,EAAI;MAC7C,IAAI;QACF,IAAMC,QAAQ,SAASD,OAAO;QAC9B1D,GAAG,CAAC4D,KAAK,CAAC,gBAAgB,EAAED,QAAQ,CAAC;QACrC/B,QAAQ,CAAC+B,QAAQ,CAAC;MACpB,CAAC,CAAC,OAAOE,CAAC,EAAE;QACV,IAAIlE,YAAY,CAACmE,UAAU,CAACD,CAAC,CAAC,EAAE;UAC9B;QACF;QACA7D,GAAG,CAACoC,KAAK,CAACyB,CAAC,CAAC;MACd;IACF,CAAC;IAAA;MAAA;IAAA;EAAA,KAAE,EAAE,CAAC;EAENxE,SAAS,CAAC,MAAM;IACd,IAAM0E,iBAAiB,GAAGpE,YAAY,CAACqE,cAAc,CAAClD,YAAY,CAAC;IACnE2C,SAAS,CAACM,iBAAiB,CAAC;IAC5B,OAAO,MAAM;MACX/D,GAAG,CAACqD,MAAM,CAAC,sBAAsB,CAAC;MAClCU,iBAAiB,CAACE,MAAM,EAAE;IAC5B,CAAC;EACH,CAAC,EAAE,CAACnD,YAAY,EAAE2C,SAAS,CAAC,CAAC;;EAE7B;EACA,IAAMS,kBAAkB,GAAGhF,WAAW,CACpC2E,CAAC,IAAI;IACH,IAAM;MAAEvB;IAAM,CAAC,GAAGuB,CAAC,CAACM,MAAM;IAC1B3C,cAAc,CAACc,KAAK,CAAC;IACrB,IAAM8B,KAAK,GAAG1B,KAAK,CAAC2B,SAAS,CAACC,IAAI,IAAIA,IAAI,CAAClB,YAAY,CAACmB,QAAQ,CAACjC,KAAK,CAAC,CAAC;IACxE,IAAI8B,KAAK,GAAG,CAAC,CAAC,EAAE;MAAA;MACdpE,GAAG,CAACqD,MAAM,iBAAUf,KAAK,uBAAa8B,KAAK,EAAG;MAC9C,oBAAAvC,OAAO,CAAC2C,OAAO,qDAAf,iBAAiBC,cAAc,CAACL,KAAK,CAAC;IACxC,CAAC,MAAM;MACLpE,GAAG,CAACqD,MAAM,WAAIf,KAAK,gBAAa;IAClC;EACF,CAAC,EACD,CAACI,KAAK,EAAEb,OAAO,CAAC,CACjB;EAED,IAAM6C,YAAY,GAAGxF,WAAW,CAC9BkF,KAAK,IAAI;IACPpE,GAAG,CAAC4D,KAAK,CAAC,cAAc,EAAEQ,KAAK,CAAC;IAChC,IAAIA,KAAK,IAAI1B,KAAK,CAACiC,MAAM,EAAE;MACzB3E,GAAG,CAACoC,KAAK,CAAC,eAAe,EAAEgC,KAAK,CAAC;MACjC;IACF;IACA,IAAMQ,aAAa,GAAGlC,KAAK,CAAC0B,KAAK,CAAC,CAAC9B,KAAK;IACxC,IAAMgB,YAAY,GAAG,IAAI3B,GAAG,CAACF,SAAS,CAAC;IACvC,IAAIiB,KAAK,CAAC0B,KAAK,CAAC,CAACpB,UAAU,EAAE;MAC3BM,YAAY,CAACJ,MAAM,CAAC0B,aAAa,CAAC;IACpC,CAAC,MAAM;MACLtB,YAAY,CAACuB,GAAG,CAACD,aAAa,CAAC;IACjC;IACAlD,YAAY,CAAC4B,YAAY,CAAC;IAC1B3C,QAAQ,CAAC4C,KAAK,CAACC,IAAI,CAACF,YAAY,CAAC,CAAC;EACpC,CAAC,EACD,CAAC3C,QAAQ,EAAE+B,KAAK,EAAEjB,SAAS,CAAC,CAC7B;EAED,IAAMqD,eAAe,GAAG5F,WAAW,CAAC,MAAM;IACxC,IAAM6F,MAAM,GAAGrC,KAAK,CAACsC,GAAG,CAACV,IAAI,IAAIA,IAAI,CAAChC,KAAK,CAAC;IAC5C,IAAMgB,YAAY,GAAG,IAAI3B,GAAG,CAACoD,MAAM,CAAC;IACpCrD,YAAY,CAAC4B,YAAY,CAAC;IAC1B3C,QAAQ,CAACoE,MAAM,CAAC;EAClB,CAAC,EAAE,CAACrC,KAAK,EAAE/B,QAAQ,CAAC,CAAC;EAErB,IAAMsE,oBAAoB,GAAG/F,WAAW,CAAC,MAAM;IAC7CwC,YAAY,CAAC,IAAIC,GAAG,EAAE,CAAC;IACvBhB,QAAQ,CAAC,EAAE,CAAC;EACd,CAAC,EAAE,CAACA,QAAQ,CAAC,CAAC;EAEd,IAAMuE,oBAAoB,GAAGhG,WAAW,CAAC,MAAM;IAC7C;EAAA,CACD,EAAE,EAAE,CAAC;EAEN,IAAMiG,eAAe,GAAGjG,WAAW,CAChC2E,CAA4B,IAAK;IAAA;IAChC,IAAM;MAAEuB;IAAc,CAAC,GAAGvB,CAAC;IAC3B7D,GAAG,CAAC4D,KAAK,CACP,iBAAiB,EACjBwB,aAAa,EACbA,aAAa,YAAYC,WAAW,EACpCtE,SAAS,CAACyD,OAAO,wBACjBzD,SAAS,CAACyD,OAAO,uDAAjB,mBAAmBc,QAAQ,CAACF,aAAa,CAAC,CAC3C;IACD,IACE,CAACA,aAAa,IACbrE,SAAS,CAACyD,OAAO,IAChBY,aAAa,YAAYC,WAAW,IACpC,CAACtE,SAAS,CAACyD,OAAO,CAACc,QAAQ,CAACF,aAAa,CAAE,EAC7C;MACAxE,MAAM,EAAE;IACV;EACF,CAAC,EACD,CAACA,MAAM,CAAC,CACT;EAED,IAAM2E,OAAO,GAAG7C,KAAK,CAACiC,MAAM,KAAK,CAAC;EAElC,oBACE;IACE,GAAG,EAAE5D,SAAU;IACf,SAAS,EAAExB,UAAU,CACnB,4DAA4D,EAC5Dc,SAAS;EACT,gBAEF,oBAAC,WAAW;IACV,QAAQ,EAAE,CAAC,CAAC+B,KAAK,IAAImD,OAAQ;IAC7B,KAAK,EAAEhE,WAAY;IACnB,WAAW,EAAC,QAAQ;IACpB,QAAQ,EAAE2C,kBAAmB;IAC7B,SAAS,EAAC,aAAa;IACvB,MAAM,EAAEiB;EAAgB,EACxB,eACF,oBAAC,eAAe;IACd,SAAS,EAAC,kBAAkB;IAC5B,QAAQ,EAAEtE,KAAK,KAAKP,SAAS,IAAIiF,OAAQ;IACzC,SAAS,EAAE7E,SAAU;IACrB,KAAK,EAAE6E,OAAO,GAAG,CAAC;MAAEjD,KAAK,EAAE,OAAO;MAAEU,UAAU,EAAE;IAAM,CAAC,CAAC,GAAGN,KAAM;IACjE,SAAS,EAAEZ,SAAU;IACrB,MAAM,EAAE,CAAE;IACV,QAAQ,EAAE4C,YAAa;IACvB,gBAAgB,EAAEQ,oBAAqB;IACvC,GAAG,EAAErD,OAAQ;IACb,MAAM,EAAEsD;EAAgB,EACxB,EAEDtE,KAAK,iBACJ;IAAK,SAAS,EAAC;EAAU,gBACvB;IAAK,SAAS,EAAC;EAA4C,GACxDA,KAAK,IAAI,IAAI,IAAIA,KAAK,CAACoB,IAAI,GAAGH,SAAS,iBACtC,0CAAE,wCAAsC,EAAC5B,UAAU,EAAC,SAAO,CAC5D,CACG,eACN,8CACE;IACE,IAAI,EAAC,QAAQ;IACb,SAAS,EAAC,cAAc;IACxB,MAAM,EAAEiF,eAAgB;IACxB,OAAO,EAAEL;EAAgB,GAC1B,YAED,CAAS,eACT;IACE,IAAI,EAAC,QAAQ;IACb,SAAS,EAAC,mBAAmB;IAC7B,MAAM,EAAEK,eAAgB;IACxB,OAAO,EAAEF;EAAqB,GAC/B,OAED,CAAS,CACL,CAET,EAEApE,KAAK,IAAI,IAAI,IACXuB,KAAK,iBACJ;IAAK,SAAS,EAAC;EAA+B,gBAC5C,oBAAC,cAAc;IACb,QAAQ,EAAEvB,KAAK,IAAI,IAAK;IACxB,SAAS,EAAEA,KAAK,IAAI,IAAI,IAAIuB,KAAK,IAAI,IAAK;IAC1C,YAAY,oBAAEA,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEoD,OAAO,2DAAI;EAAK,EACrC,CAEJ,CACA;AAEV;AAEArF,UAAU,CAACsF,WAAW,GAAG,YAAY;AAErCtF,UAAU,CAACuF,YAAY,GAAG;EACxBhF,SAAS,EAAE,KAAK;EAChBL,SAAS,EAAEC;AACb,CAAC;AAED,eAAeH,UAAU"}
|
|
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-types';\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.d.ts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Column, Table } from '@deephaven/jsapi-types';
|
|
2
|
+
declare const useTable: (table: Table | undefined, firstRow: number, lastRow: number, columnNames?: string[]) => {
|
|
3
|
+
columns: Column[] | undefined;
|
|
4
|
+
data: unknown[][];
|
|
5
|
+
error: Error | null;
|
|
6
|
+
};
|
|
7
|
+
export default useTable;
|
|
8
|
+
//# sourceMappingURL=useTable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTable.d.ts","sourceRoot":"","sources":["../src/useTable.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAO,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAQ5D,QAAA,MAAM,QAAQ,UACL,KAAK,GAAG,SAAS,YACd,MAAM,WACP,MAAM,gBACD,MAAM,EAAE;aAEb,MAAM,EAAE,GAAG,SAAS;UACvB,OAAO,EAAE,EAAE;WACV,KAAK,GAAG,IAAI;CA0DpB,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
package/dist/useTable.js
CHANGED
package/dist/useTable.js.map
CHANGED
|
@@ -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","
|
|
1
|
+
{"version":3,"file":"useTable.js","names":["useCallback","useEffect","useState","dh","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","Table","EVENT_UPDATED","EVENT_DISCONNECT","EVENT_RECONNECT"],"sources":["../src/useTable.ts"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react';\nimport dh from '@deephaven/jsapi-shim';\nimport { Column, Row, Table } from '@deephaven/jsapi-types';\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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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Column, Table } from '@deephaven/jsapi-types';
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTableColumn.d.ts","sourceRoot":"","sources":["../src/useTableColumn.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAGvD;;;;;;;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 +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-
|
|
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-types';\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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Evented, EventListener } from '@deephaven/jsapi-types';
|
|
2
|
+
export declare const useTableListener: (eventEmitter: Evented | undefined, eventName: string, callback: EventListener) => void;
|
|
3
|
+
export default useTableListener;
|
|
4
|
+
//# sourceMappingURL=useTableListener.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTableListener.d.ts","sourceRoot":"","sources":["../src/useTableListener.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAKhE,eAAO,MAAM,gBAAgB,iBACb,OAAO,GAAG,SAAS,aACtB,MAAM,YACP,aAAa,KACtB,IAWA,CAAC;AAEJ,eAAe,gBAAgB,CAAC"}
|
|
@@ -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-
|
|
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-types';\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.33.
|
|
3
|
+
"version": "0.33.1-auth-plugins.25+2a689a65",
|
|
4
4
|
"description": "Deephaven JSAPI Components",
|
|
5
5
|
"author": "Deephaven Data Labs LLC",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -22,16 +22,18 @@
|
|
|
22
22
|
"build:sass": "sass --embed-sources --load-path=../../node_modules ./src:./dist"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@deephaven/components": "^0.33.
|
|
26
|
-
"@deephaven/jsapi-
|
|
27
|
-
"@deephaven/jsapi-
|
|
28
|
-
"@deephaven/
|
|
29
|
-
"@deephaven/utils": "^0.33.
|
|
25
|
+
"@deephaven/components": "^0.33.1-auth-plugins.25+2a689a65",
|
|
26
|
+
"@deephaven/jsapi-bootstrap": "^0.33.1-auth-plugins.25+2a689a65",
|
|
27
|
+
"@deephaven/jsapi-shim": "^0.33.1-auth-plugins.25+2a689a65",
|
|
28
|
+
"@deephaven/jsapi-types": "^0.33.1-auth-plugins.25+2a689a65",
|
|
29
|
+
"@deephaven/jsapi-utils": "^0.33.1-auth-plugins.25+2a689a65",
|
|
30
|
+
"@deephaven/log": "^0.33.1-auth-plugins.25+2a689a65",
|
|
31
|
+
"@deephaven/utils": "^0.33.1-auth-plugins.25+2a689a65",
|
|
30
32
|
"classnames": "^2.3.2",
|
|
31
33
|
"prop-types": "^15.8.1"
|
|
32
34
|
},
|
|
33
35
|
"devDependencies": {
|
|
34
|
-
"@deephaven/tsconfig": "^0.33.
|
|
36
|
+
"@deephaven/tsconfig": "^0.33.1-auth-plugins.25+2a689a65",
|
|
35
37
|
"@testing-library/react-hooks": "^8.0.1",
|
|
36
38
|
"react-test-renderer": "^17.0.2"
|
|
37
39
|
},
|
|
@@ -41,8 +43,11 @@
|
|
|
41
43
|
"files": [
|
|
42
44
|
"dist"
|
|
43
45
|
],
|
|
46
|
+
"sideEffects": [
|
|
47
|
+
"*.css"
|
|
48
|
+
],
|
|
44
49
|
"publishConfig": {
|
|
45
50
|
"access": "public"
|
|
46
51
|
},
|
|
47
|
-
"gitHead": "
|
|
52
|
+
"gitHead": "2a689a654f019c33259582f8196ea9acf64497e9"
|
|
48
53
|
}
|