@deephaven/iris-grid 0.47.0 → 0.47.1-beta.2
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/IrisGrid.d.ts +1 -2
- package/dist/IrisGrid.d.ts.map +1 -1
- package/dist/IrisGrid.js +4 -4
- package/dist/IrisGrid.js.map +1 -1
- package/dist/IrisGridPartitionSelector.d.ts +1 -2
- package/dist/IrisGridPartitionSelector.d.ts.map +1 -1
- package/dist/IrisGridPartitionSelector.js +3 -3
- package/dist/IrisGridPartitionSelector.js.map +1 -1
- package/package.json +15 -15
|
@@ -11,7 +11,7 @@ interface IrisGridPartitionSelectorProps<T> {
|
|
|
11
11
|
table: Table;
|
|
12
12
|
columnName: ColumnName;
|
|
13
13
|
partition: string;
|
|
14
|
-
onAppend
|
|
14
|
+
onAppend?: (partition: string) => void;
|
|
15
15
|
onFetchAll: () => void;
|
|
16
16
|
onDone: (event?: React.MouseEvent<HTMLButtonElement>) => void;
|
|
17
17
|
onChange: (partition: string) => void;
|
|
@@ -21,7 +21,6 @@ interface IrisGridPartitionSelectorState {
|
|
|
21
21
|
}
|
|
22
22
|
declare class IrisGridPartitionSelector<T> extends Component<IrisGridPartitionSelectorProps<T>, IrisGridPartitionSelectorState> {
|
|
23
23
|
static defaultProps: {
|
|
24
|
-
onAppend: () => void;
|
|
25
24
|
onChange: () => void;
|
|
26
25
|
onFetchAll: () => void;
|
|
27
26
|
onDone: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IrisGridPartitionSelector.d.ts","sourceRoot":"","sources":["../src/IrisGridPartitionSelector.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAW,MAAM,uBAAuB,CAAC;AAI9D,OAAO,KAAK,EAAE,EAAE,IAAI,MAAM,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;AAChE,OAAO,kCAAkC,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAK3C,UAAU,8BAA8B,CAAC,CAAC;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,kBAAkB,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACrE,KAAK,EAAE,KAAK,CAAC;IACb,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"IrisGridPartitionSelector.d.ts","sourceRoot":"","sources":["../src/IrisGridPartitionSelector.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAW,MAAM,uBAAuB,CAAC;AAI9D,OAAO,KAAK,EAAE,EAAE,IAAI,MAAM,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;AAChE,OAAO,kCAAkC,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAK3C,UAAU,8BAA8B,CAAC,CAAC;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,kBAAkB,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACrE,KAAK,EAAE,KAAK,CAAC;IACb,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IAC9D,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AACD,UAAU,8BAA8B;IACtC,SAAS,EAAE,MAAM,CAAC;CACnB;AACD,cAAM,yBAAyB,CAAC,CAAC,CAAE,SAAQ,SAAS,CAClD,8BAA8B,CAAC,CAAC,CAAC,EACjC,8BAA8B,CAC/B;IACC,MAAM,CAAC,YAAY;wBACH,IAAI;0BACF,IAAI;sBACR,IAAI;;MAEhB;gBAEU,KAAK,EAAE,8BAA8B,CAAC,CAAC,CAAC;IAsBpD,oBAAoB,IAAI,IAAI;IAI5B,UAAU,EAAE,YAAY,GAAG,IAAI,CAAC;IAEhC,cAAc,EAAE,uBAAuB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAElD,iBAAiB,IAAI,IAAI;IAQzB,gBAAgB,IAAI,IAAI;IAMxB,iBAAiB,IAAI,IAAI;IAMzB,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAUvE,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAU9C,0BAA0B,IAAI,IAAI;IAMlC,kBAAkB,IAAI,IAAI;IAM1B,kBAAkB,IAAI,IAAI;IAM1B,cAAc,uCAAgB,IAAI,EAED;IAEjC,QAAQ,IAAI,IAAI;IAOhB,UAAU,IAAI,IAAI;IAQlB,YAAY,IAAI,IAAI;IASpB,MAAM,IAAI,GAAG,CAAC,OAAO;CAuEtB;AAED,eAAe,yBAAyB,CAAC"}
|
|
@@ -49,7 +49,7 @@ class IrisGridPartitionSelector extends Component {
|
|
|
49
49
|
var {
|
|
50
50
|
partition
|
|
51
51
|
} = this.state;
|
|
52
|
-
onAppend(partition);
|
|
52
|
+
onAppend === null || onAppend === void 0 ? void 0 : onAppend(partition);
|
|
53
53
|
}
|
|
54
54
|
handleCloseClick() {
|
|
55
55
|
log.debug2('handleCloseClick');
|
|
@@ -126,6 +126,7 @@ class IrisGridPartitionSelector extends Component {
|
|
|
126
126
|
columnName,
|
|
127
127
|
dh,
|
|
128
128
|
getFormattedString,
|
|
129
|
+
onAppend,
|
|
129
130
|
onDone,
|
|
130
131
|
table
|
|
131
132
|
} = this.props;
|
|
@@ -184,7 +185,7 @@ class IrisGridPartitionSelector extends Component {
|
|
|
184
185
|
className: "btn btn-outline-primary btn-ignore",
|
|
185
186
|
onClick: this.handleIgnoreClick,
|
|
186
187
|
children: "Ignore & Fetch All"
|
|
187
|
-
}), /*#__PURE__*/_jsx("button", {
|
|
188
|
+
}), onAppend !== undefined && /*#__PURE__*/_jsx("button", {
|
|
188
189
|
type: "button",
|
|
189
190
|
className: "btn btn-outline-primary btn-append",
|
|
190
191
|
onClick: this.handleAppendClick,
|
|
@@ -201,7 +202,6 @@ class IrisGridPartitionSelector extends Component {
|
|
|
201
202
|
}
|
|
202
203
|
}
|
|
203
204
|
_defineProperty(IrisGridPartitionSelector, "defaultProps", {
|
|
204
|
-
onAppend: () => undefined,
|
|
205
205
|
onChange: () => undefined,
|
|
206
206
|
onFetchAll: () => undefined,
|
|
207
207
|
onDone: () => undefined,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IrisGridPartitionSelector.js","names":["React","Component","FontAwesomeIcon","DropdownMenu","Tooltip","vsTriangleDown","vsClose","Log","debounce","PartitionSelectorSearch","log","module","PARTITION_CHANGE_DEBOUNCE_MS","IrisGridPartitionSelector","constructor","props","sendUpdate","handleAppendClick","bind","handleCloseClick","handleIgnoreClick","handlePartitionChange","handlePartitionSelect","handlePartitionListResized","handleSearchOpened","handleSearchClosed","searchMenu","selectorSearch","partition","state","componentWillUnmount","debounceUpdate","cancel","debug2","onAppend","sendDone","sendFetchAll","event","value","target","setState","closeMenu","scheduleUpdate","table","applyFilter","focus","flush","onDone","onChange","onFetchAll","render","columnName","dh","getFormattedString","partitionSelectorSearch","menuElement","undefined"],"sources":["../src/IrisGridPartitionSelector.tsx"],"sourcesContent":["import React, { Component } from 'react';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { DropdownMenu, Tooltip } from '@deephaven/components';\nimport { vsTriangleDown, vsClose } from '@deephaven/icons';\nimport Log from '@deephaven/log';\nimport debounce from 'lodash.debounce';\nimport type { dh as DhType, Table } from '@deephaven/jsapi-types';\nimport PartitionSelectorSearch from './PartitionSelectorSearch';\nimport './IrisGridPartitionSelector.scss';\nimport { ColumnName } from './CommonTypes';\n\nconst log = Log.module('IrisGridPartitionSelector');\n\nconst PARTITION_CHANGE_DEBOUNCE_MS = 250;\ninterface IrisGridPartitionSelectorProps<T> {\n dh: DhType;\n getFormattedString: (value: T, type: string, name: string) => string;\n table: Table;\n columnName: ColumnName;\n partition: string;\n onAppend: (partition: string) => void;\n onFetchAll: () => void;\n onDone: (event?: React.MouseEvent<HTMLButtonElement>) => void;\n onChange: (partition: string) => void;\n}\ninterface IrisGridPartitionSelectorState {\n partition: string;\n}\nclass IrisGridPartitionSelector<T> extends Component<\n IrisGridPartitionSelectorProps<T>,\n IrisGridPartitionSelectorState\n> {\n static defaultProps = {\n onAppend: (): void => undefined,\n onChange: (): void => undefined,\n onFetchAll: (): void => undefined,\n onDone: (): void => undefined,\n partition: '',\n };\n\n constructor(props: IrisGridPartitionSelectorProps<T>) {\n super(props);\n\n this.handleAppendClick = this.handleAppendClick.bind(this);\n this.handleCloseClick = this.handleCloseClick.bind(this);\n this.handleIgnoreClick = this.handleIgnoreClick.bind(this);\n this.handlePartitionChange = this.handlePartitionChange.bind(this);\n this.handlePartitionSelect = this.handlePartitionSelect.bind(this);\n this.handlePartitionListResized =\n this.handlePartitionListResized.bind(this);\n this.handleSearchOpened = this.handleSearchOpened.bind(this);\n this.handleSearchClosed = this.handleSearchClosed.bind(this);\n\n this.searchMenu = null;\n this.selectorSearch = null;\n\n const { partition } = props;\n this.state = {\n partition,\n };\n }\n\n componentWillUnmount(): void {\n this.debounceUpdate.cancel();\n }\n\n searchMenu: DropdownMenu | null;\n\n selectorSearch: PartitionSelectorSearch<T> | null;\n\n handleAppendClick(): void {\n log.debug2('handleAppendClick');\n\n const { onAppend } = this.props;\n const { partition } = this.state;\n onAppend(partition);\n }\n\n handleCloseClick(): void {\n log.debug2('handleCloseClick');\n\n this.sendDone();\n }\n\n handleIgnoreClick(): void {\n log.debug2('handleIgnoreClick');\n\n this.sendFetchAll();\n }\n\n handlePartitionChange(event: React.ChangeEvent<HTMLInputElement>): void {\n log.debug2('handlePartitionChange');\n\n const { value: partition } = event.target;\n\n this.setState({ partition });\n\n this.debounceUpdate();\n }\n\n handlePartitionSelect(partition: string): void {\n if (this.searchMenu) {\n this.searchMenu.closeMenu();\n }\n\n this.setState({ partition }, () => {\n this.sendUpdate();\n });\n }\n\n handlePartitionListResized(): void {\n if (this.searchMenu) {\n this.searchMenu.scheduleUpdate();\n }\n }\n\n handleSearchClosed(): void {\n // Reset the table filter so it's ready next time user opens search\n const { table } = this.props;\n table.applyFilter([]);\n }\n\n handleSearchOpened(): void {\n if (this.selectorSearch) {\n this.selectorSearch.focus();\n }\n }\n\n debounceUpdate = debounce((): void => {\n this.sendUpdate();\n }, PARTITION_CHANGE_DEBOUNCE_MS);\n\n sendDone(): void {\n this.debounceUpdate.flush();\n\n const { onDone } = this.props;\n onDone();\n }\n\n sendUpdate(): void {\n log.debug2('sendUpdate');\n\n const { onChange } = this.props;\n const { partition } = this.state;\n onChange(partition);\n }\n\n sendFetchAll(): void {\n log.debug2('sendFetchAll');\n\n this.debounceUpdate.cancel();\n\n const { onFetchAll } = this.props;\n onFetchAll();\n }\n\n render(): JSX.Element {\n const { columnName, dh, getFormattedString, onDone, table } = this.props;\n const { partition } = this.state;\n const partitionSelectorSearch = (\n <PartitionSelectorSearch\n dh={dh}\n key=\"search\"\n getFormattedString={getFormattedString}\n table={table}\n onSelect={this.handlePartitionSelect}\n onListResized={this.handlePartitionListResized}\n ref={selectorSearch => {\n this.selectorSearch = selectorSearch;\n }}\n />\n );\n return (\n <div className=\"iris-grid-partition-selector\">\n <div className=\"status-message\">\n <span>Filtering "{columnName}" partition to</span>\n </div>\n <div className=\"input-group\">\n <input\n type=\"text\"\n value={partition}\n onChange={this.handlePartitionChange}\n className=\"form-control input-partition\"\n />\n <div className=\"input-group-append\">\n <button type=\"button\" className=\"btn btn-outline-primary\">\n <FontAwesomeIcon icon={vsTriangleDown} />\n <Tooltip>Partitions</Tooltip>\n <DropdownMenu\n ref={searchMenu => {\n this.searchMenu = searchMenu;\n }}\n actions={[{ menuElement: partitionSelectorSearch }]}\n onMenuOpened={this.handleSearchOpened}\n onMenuClosed={this.handleSearchClosed}\n />\n </button>\n </div>\n </div>\n <div className=\"iris-grid-partition-selector-spacer\" />\n <button\n type=\"button\"\n className=\"btn btn-outline-primary btn-ignore\"\n onClick={this.handleIgnoreClick}\n >\n Ignore & Fetch All\n </button>\n <button\n type=\"button\"\n className=\"btn btn-outline-primary btn-append\"\n onClick={this.handleAppendClick}\n >\n Append Command\n </button>\n <button\n type=\"button\"\n className=\"btn btn-link btn-link-icon btn-close\"\n onClick={onDone}\n >\n <FontAwesomeIcon icon={vsClose} />\n </button>\n </div>\n );\n }\n}\n\nexport default IrisGridPartitionSelector;\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SAASC,eAAe,QAAQ,gCAAgC;AAChE,SAASC,YAAY,EAAEC,OAAO,QAAQ,uBAAuB;AAC7D,SAASC,cAAc,EAAEC,OAAO,QAAQ,kBAAkB;AAC1D,OAAOC,GAAG,MAAM,gBAAgB;AAChC,OAAOC,QAAQ,MAAM,iBAAiB;AAAC,OAEhCC,uBAAuB;AAAA;AAAA;AAAA;AAI9B,IAAMC,GAAG,GAAGH,GAAG,CAACI,MAAM,CAAC,2BAA2B,CAAC;AAEnD,IAAMC,4BAA4B,GAAG,GAAG;AAexC,MAAMC,yBAAyB,SAAYZ,SAAS,CAGlD;EASAa,WAAW,CAACC,KAAwC,EAAE;IACpD,KAAK,CAACA,KAAK,CAAC;IAAC;IAAA;IAAA,wCAuFEP,QAAQ,CAAC,MAAY;MACpC,IAAI,CAACQ,UAAU,EAAE;IACnB,CAAC,EAAEJ,4BAA4B,CAAC;IAvF9B,IAAI,CAACK,iBAAiB,GAAG,IAAI,CAACA,iBAAiB,CAACC,IAAI,CAAC,IAAI,CAAC;IAC1D,IAAI,CAACC,gBAAgB,GAAG,IAAI,CAACA,gBAAgB,CAACD,IAAI,CAAC,IAAI,CAAC;IACxD,IAAI,CAACE,iBAAiB,GAAG,IAAI,CAACA,iBAAiB,CAACF,IAAI,CAAC,IAAI,CAAC;IAC1D,IAAI,CAACG,qBAAqB,GAAG,IAAI,CAACA,qBAAqB,CAACH,IAAI,CAAC,IAAI,CAAC;IAClE,IAAI,CAACI,qBAAqB,GAAG,IAAI,CAACA,qBAAqB,CAACJ,IAAI,CAAC,IAAI,CAAC;IAClE,IAAI,CAACK,0BAA0B,GAC7B,IAAI,CAACA,0BAA0B,CAACL,IAAI,CAAC,IAAI,CAAC;IAC5C,IAAI,CAACM,kBAAkB,GAAG,IAAI,CAACA,kBAAkB,CAACN,IAAI,CAAC,IAAI,CAAC;IAC5D,IAAI,CAACO,kBAAkB,GAAG,IAAI,CAACA,kBAAkB,CAACP,IAAI,CAAC,IAAI,CAAC;IAE5D,IAAI,CAACQ,UAAU,GAAG,IAAI;IACtB,IAAI,CAACC,cAAc,GAAG,IAAI;IAE1B,IAAM;MAAEC;IAAU,CAAC,GAAGb,KAAK;IAC3B,IAAI,CAACc,KAAK,GAAG;MACXD;IACF,CAAC;EACH;EAEAE,oBAAoB,GAAS;IAC3B,IAAI,CAACC,cAAc,CAACC,MAAM,EAAE;EAC9B;EAMAf,iBAAiB,GAAS;IACxBP,GAAG,CAACuB,MAAM,CAAC,mBAAmB,CAAC;IAE/B,IAAM;MAAEC;IAAS,CAAC,GAAG,IAAI,CAACnB,KAAK;IAC/B,IAAM;MAAEa;IAAU,CAAC,GAAG,IAAI,CAACC,KAAK;IAChCK,QAAQ,CAACN,SAAS,CAAC;EACrB;EAEAT,gBAAgB,GAAS;IACvBT,GAAG,CAACuB,MAAM,CAAC,kBAAkB,CAAC;IAE9B,IAAI,CAACE,QAAQ,EAAE;EACjB;EAEAf,iBAAiB,GAAS;IACxBV,GAAG,CAACuB,MAAM,CAAC,mBAAmB,CAAC;IAE/B,IAAI,CAACG,YAAY,EAAE;EACrB;EAEAf,qBAAqB,CAACgB,KAA0C,EAAQ;IACtE3B,GAAG,CAACuB,MAAM,CAAC,uBAAuB,CAAC;IAEnC,IAAM;MAAEK,KAAK,EAAEV;IAAU,CAAC,GAAGS,KAAK,CAACE,MAAM;IAEzC,IAAI,CAACC,QAAQ,CAAC;MAAEZ;IAAU,CAAC,CAAC;IAE5B,IAAI,CAACG,cAAc,EAAE;EACvB;EAEAT,qBAAqB,CAACM,SAAiB,EAAQ;IAC7C,IAAI,IAAI,CAACF,UAAU,EAAE;MACnB,IAAI,CAACA,UAAU,CAACe,SAAS,EAAE;IAC7B;IAEA,IAAI,CAACD,QAAQ,CAAC;MAAEZ;IAAU,CAAC,EAAE,MAAM;MACjC,IAAI,CAACZ,UAAU,EAAE;IACnB,CAAC,CAAC;EACJ;EAEAO,0BAA0B,GAAS;IACjC,IAAI,IAAI,CAACG,UAAU,EAAE;MACnB,IAAI,CAACA,UAAU,CAACgB,cAAc,EAAE;IAClC;EACF;EAEAjB,kBAAkB,GAAS;IACzB;IACA,IAAM;MAAEkB;IAAM,CAAC,GAAG,IAAI,CAAC5B,KAAK;IAC5B4B,KAAK,CAACC,WAAW,CAAC,EAAE,CAAC;EACvB;EAEApB,kBAAkB,GAAS;IACzB,IAAI,IAAI,CAACG,cAAc,EAAE;MACvB,IAAI,CAACA,cAAc,CAACkB,KAAK,EAAE;IAC7B;EACF;EAMAV,QAAQ,GAAS;IACf,IAAI,CAACJ,cAAc,CAACe,KAAK,EAAE;IAE3B,IAAM;MAAEC;IAAO,CAAC,GAAG,IAAI,CAAChC,KAAK;IAC7BgC,MAAM,EAAE;EACV;EAEA/B,UAAU,GAAS;IACjBN,GAAG,CAACuB,MAAM,CAAC,YAAY,CAAC;IAExB,IAAM;MAAEe;IAAS,CAAC,GAAG,IAAI,CAACjC,KAAK;IAC/B,IAAM;MAAEa;IAAU,CAAC,GAAG,IAAI,CAACC,KAAK;IAChCmB,QAAQ,CAACpB,SAAS,CAAC;EACrB;EAEAQ,YAAY,GAAS;IACnB1B,GAAG,CAACuB,MAAM,CAAC,cAAc,CAAC;IAE1B,IAAI,CAACF,cAAc,CAACC,MAAM,EAAE;IAE5B,IAAM;MAAEiB;IAAW,CAAC,GAAG,IAAI,CAAClC,KAAK;IACjCkC,UAAU,EAAE;EACd;EAEAC,MAAM,GAAgB;IACpB,IAAM;MAAEC,UAAU;MAAEC,EAAE;MAAEC,kBAAkB;MAAEN,MAAM;MAAEJ;IAAM,CAAC,GAAG,IAAI,CAAC5B,KAAK;IACxE,IAAM;MAAEa;IAAU,CAAC,GAAG,IAAI,CAACC,KAAK;IAChC,IAAMyB,uBAAuB,gBAC3B,KAAC,uBAAuB;MACtB,EAAE,EAAEF,EAAG;MAEP,kBAAkB,EAAEC,kBAAmB;MACvC,KAAK,EAAEV,KAAM;MACb,QAAQ,EAAE,IAAI,CAACrB,qBAAsB;MACrC,aAAa,EAAE,IAAI,CAACC,0BAA2B;MAC/C,GAAG,EAAEI,cAAc,IAAI;QACrB,IAAI,CAACA,cAAc,GAAGA,cAAc;MACtC;IAAE,GAPE,QAAQ,CASf;IACD,oBACE;MAAK,SAAS,EAAC,8BAA8B;MAAA,wBAC3C;QAAK,SAAS,EAAC,gBAAgB;QAAA,uBAC7B;UAAA,WAAM,cAAgB,EAACwB,UAAU,EAAC,iBAAmB;QAAA;MAAO,EACxD,eACN;QAAK,SAAS,EAAC,aAAa;QAAA,wBAC1B;UACE,IAAI,EAAC,MAAM;UACX,KAAK,EAAEvB,SAAU;UACjB,QAAQ,EAAE,IAAI,CAACP,qBAAsB;UACrC,SAAS,EAAC;QAA8B,EACxC,eACF;UAAK,SAAS,EAAC,oBAAoB;UAAA,uBACjC;YAAQ,IAAI,EAAC,QAAQ;YAAC,SAAS,EAAC,yBAAyB;YAAA,wBACvD,KAAC,eAAe;cAAC,IAAI,EAAEhB;YAAe,EAAG,eACzC,KAAC,OAAO;cAAA,UAAC;YAAU,EAAU,eAC7B,KAAC,YAAY;cACX,GAAG,EAAEqB,UAAU,IAAI;gBACjB,IAAI,CAACA,UAAU,GAAGA,UAAU;cAC9B,CAAE;cACF,OAAO,EAAE,CAAC;gBAAE6B,WAAW,EAAED;cAAwB,CAAC,CAAE;cACpD,YAAY,EAAE,IAAI,CAAC9B,kBAAmB;cACtC,YAAY,EAAE,IAAI,CAACC;YAAmB,EACtC;UAAA;QACK,EACL;MAAA,EACF,eACN;QAAK,SAAS,EAAC;MAAqC,EAAG,eACvD;QACE,IAAI,EAAC,QAAQ;QACb,SAAS,EAAC,oCAAoC;QAC9C,OAAO,EAAE,IAAI,CAACL,iBAAkB;QAAA,UACjC;MAED,EAAS,eACT;QACE,IAAI,EAAC,QAAQ;QACb,SAAS,EAAC,oCAAoC;QAC9C,OAAO,EAAE,IAAI,CAACH,iBAAkB;QAAA,UACjC;MAED,EAAS,eACT;QACE,IAAI,EAAC,QAAQ;QACb,SAAS,EAAC,sCAAsC;QAChD,OAAO,EAAE8B,MAAO;QAAA,uBAEhB,KAAC,eAAe;UAAC,IAAI,EAAEzC;QAAQ;MAAG,EAC3B;IAAA,EACL;EAEV;AACF;AAAC,gBApMKO,yBAAyB,kBAIP;EACpBqB,QAAQ,EAAE,MAAYsB,SAAS;EAC/BR,QAAQ,EAAE,MAAYQ,SAAS;EAC/BP,UAAU,EAAE,MAAYO,SAAS;EACjCT,MAAM,EAAE,MAAYS,SAAS;EAC7B5B,SAAS,EAAE;AACb,CAAC;AA4LH,eAAef,yBAAyB"}
|
|
1
|
+
{"version":3,"file":"IrisGridPartitionSelector.js","names":["React","Component","FontAwesomeIcon","DropdownMenu","Tooltip","vsTriangleDown","vsClose","Log","debounce","PartitionSelectorSearch","log","module","PARTITION_CHANGE_DEBOUNCE_MS","IrisGridPartitionSelector","constructor","props","sendUpdate","handleAppendClick","bind","handleCloseClick","handleIgnoreClick","handlePartitionChange","handlePartitionSelect","handlePartitionListResized","handleSearchOpened","handleSearchClosed","searchMenu","selectorSearch","partition","state","componentWillUnmount","debounceUpdate","cancel","debug2","onAppend","sendDone","sendFetchAll","event","value","target","setState","closeMenu","scheduleUpdate","table","applyFilter","focus","flush","onDone","onChange","onFetchAll","render","columnName","dh","getFormattedString","partitionSelectorSearch","menuElement","undefined"],"sources":["../src/IrisGridPartitionSelector.tsx"],"sourcesContent":["import React, { Component } from 'react';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { DropdownMenu, Tooltip } from '@deephaven/components';\nimport { vsTriangleDown, vsClose } from '@deephaven/icons';\nimport Log from '@deephaven/log';\nimport debounce from 'lodash.debounce';\nimport type { dh as DhType, Table } from '@deephaven/jsapi-types';\nimport PartitionSelectorSearch from './PartitionSelectorSearch';\nimport './IrisGridPartitionSelector.scss';\nimport { ColumnName } from './CommonTypes';\n\nconst log = Log.module('IrisGridPartitionSelector');\n\nconst PARTITION_CHANGE_DEBOUNCE_MS = 250;\ninterface IrisGridPartitionSelectorProps<T> {\n dh: DhType;\n getFormattedString: (value: T, type: string, name: string) => string;\n table: Table;\n columnName: ColumnName;\n partition: string;\n onAppend?: (partition: string) => void;\n onFetchAll: () => void;\n onDone: (event?: React.MouseEvent<HTMLButtonElement>) => void;\n onChange: (partition: string) => void;\n}\ninterface IrisGridPartitionSelectorState {\n partition: string;\n}\nclass IrisGridPartitionSelector<T> extends Component<\n IrisGridPartitionSelectorProps<T>,\n IrisGridPartitionSelectorState\n> {\n static defaultProps = {\n onChange: (): void => undefined,\n onFetchAll: (): void => undefined,\n onDone: (): void => undefined,\n partition: '',\n };\n\n constructor(props: IrisGridPartitionSelectorProps<T>) {\n super(props);\n\n this.handleAppendClick = this.handleAppendClick.bind(this);\n this.handleCloseClick = this.handleCloseClick.bind(this);\n this.handleIgnoreClick = this.handleIgnoreClick.bind(this);\n this.handlePartitionChange = this.handlePartitionChange.bind(this);\n this.handlePartitionSelect = this.handlePartitionSelect.bind(this);\n this.handlePartitionListResized =\n this.handlePartitionListResized.bind(this);\n this.handleSearchOpened = this.handleSearchOpened.bind(this);\n this.handleSearchClosed = this.handleSearchClosed.bind(this);\n\n this.searchMenu = null;\n this.selectorSearch = null;\n\n const { partition } = props;\n this.state = {\n partition,\n };\n }\n\n componentWillUnmount(): void {\n this.debounceUpdate.cancel();\n }\n\n searchMenu: DropdownMenu | null;\n\n selectorSearch: PartitionSelectorSearch<T> | null;\n\n handleAppendClick(): void {\n log.debug2('handleAppendClick');\n\n const { onAppend } = this.props;\n const { partition } = this.state;\n onAppend?.(partition);\n }\n\n handleCloseClick(): void {\n log.debug2('handleCloseClick');\n\n this.sendDone();\n }\n\n handleIgnoreClick(): void {\n log.debug2('handleIgnoreClick');\n\n this.sendFetchAll();\n }\n\n handlePartitionChange(event: React.ChangeEvent<HTMLInputElement>): void {\n log.debug2('handlePartitionChange');\n\n const { value: partition } = event.target;\n\n this.setState({ partition });\n\n this.debounceUpdate();\n }\n\n handlePartitionSelect(partition: string): void {\n if (this.searchMenu) {\n this.searchMenu.closeMenu();\n }\n\n this.setState({ partition }, () => {\n this.sendUpdate();\n });\n }\n\n handlePartitionListResized(): void {\n if (this.searchMenu) {\n this.searchMenu.scheduleUpdate();\n }\n }\n\n handleSearchClosed(): void {\n // Reset the table filter so it's ready next time user opens search\n const { table } = this.props;\n table.applyFilter([]);\n }\n\n handleSearchOpened(): void {\n if (this.selectorSearch) {\n this.selectorSearch.focus();\n }\n }\n\n debounceUpdate = debounce((): void => {\n this.sendUpdate();\n }, PARTITION_CHANGE_DEBOUNCE_MS);\n\n sendDone(): void {\n this.debounceUpdate.flush();\n\n const { onDone } = this.props;\n onDone();\n }\n\n sendUpdate(): void {\n log.debug2('sendUpdate');\n\n const { onChange } = this.props;\n const { partition } = this.state;\n onChange(partition);\n }\n\n sendFetchAll(): void {\n log.debug2('sendFetchAll');\n\n this.debounceUpdate.cancel();\n\n const { onFetchAll } = this.props;\n onFetchAll();\n }\n\n render(): JSX.Element {\n const { columnName, dh, getFormattedString, onAppend, onDone, table } =\n this.props;\n const { partition } = this.state;\n const partitionSelectorSearch = (\n <PartitionSelectorSearch\n dh={dh}\n key=\"search\"\n getFormattedString={getFormattedString}\n table={table}\n onSelect={this.handlePartitionSelect}\n onListResized={this.handlePartitionListResized}\n ref={selectorSearch => {\n this.selectorSearch = selectorSearch;\n }}\n />\n );\n return (\n <div className=\"iris-grid-partition-selector\">\n <div className=\"status-message\">\n <span>Filtering "{columnName}" partition to</span>\n </div>\n <div className=\"input-group\">\n <input\n type=\"text\"\n value={partition}\n onChange={this.handlePartitionChange}\n className=\"form-control input-partition\"\n />\n <div className=\"input-group-append\">\n <button type=\"button\" className=\"btn btn-outline-primary\">\n <FontAwesomeIcon icon={vsTriangleDown} />\n <Tooltip>Partitions</Tooltip>\n <DropdownMenu\n ref={searchMenu => {\n this.searchMenu = searchMenu;\n }}\n actions={[{ menuElement: partitionSelectorSearch }]}\n onMenuOpened={this.handleSearchOpened}\n onMenuClosed={this.handleSearchClosed}\n />\n </button>\n </div>\n </div>\n <div className=\"iris-grid-partition-selector-spacer\" />\n <button\n type=\"button\"\n className=\"btn btn-outline-primary btn-ignore\"\n onClick={this.handleIgnoreClick}\n >\n Ignore & Fetch All\n </button>\n {onAppend !== undefined && (\n <button\n type=\"button\"\n className=\"btn btn-outline-primary btn-append\"\n onClick={this.handleAppendClick}\n >\n Append Command\n </button>\n )}\n <button\n type=\"button\"\n className=\"btn btn-link btn-link-icon btn-close\"\n onClick={onDone}\n >\n <FontAwesomeIcon icon={vsClose} />\n </button>\n </div>\n );\n }\n}\n\nexport default IrisGridPartitionSelector;\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deephaven/iris-grid",
|
|
3
|
-
"version": "0.47.
|
|
3
|
+
"version": "0.47.1-beta.2+b43b5b21",
|
|
4
4
|
"description": "Deephaven Iris Grid",
|
|
5
5
|
"author": "Deephaven Data Labs LLC",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -31,17 +31,17 @@
|
|
|
31
31
|
"build:sass": "sass --embed-sources --load-path=../../node_modules ./src:./dist"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@deephaven/components": "^0.47.
|
|
35
|
-
"@deephaven/console": "^0.47.
|
|
36
|
-
"@deephaven/filters": "^0.47.
|
|
37
|
-
"@deephaven/grid": "^0.47.
|
|
38
|
-
"@deephaven/icons": "^0.47.
|
|
39
|
-
"@deephaven/jsapi-types": "^0.47.
|
|
40
|
-
"@deephaven/jsapi-utils": "^0.47.
|
|
41
|
-
"@deephaven/log": "^0.47.
|
|
42
|
-
"@deephaven/react-hooks": "^0.47.
|
|
43
|
-
"@deephaven/storage": "^0.47.
|
|
44
|
-
"@deephaven/utils": "^0.47.
|
|
34
|
+
"@deephaven/components": "^0.47.1-beta.2+b43b5b21",
|
|
35
|
+
"@deephaven/console": "^0.47.1-beta.2+b43b5b21",
|
|
36
|
+
"@deephaven/filters": "^0.47.1-beta.2+b43b5b21",
|
|
37
|
+
"@deephaven/grid": "^0.47.1-beta.2+b43b5b21",
|
|
38
|
+
"@deephaven/icons": "^0.47.1-beta.2+b43b5b21",
|
|
39
|
+
"@deephaven/jsapi-types": "^0.47.1-beta.2+b43b5b21",
|
|
40
|
+
"@deephaven/jsapi-utils": "^0.47.1-beta.2+b43b5b21",
|
|
41
|
+
"@deephaven/log": "^0.47.1-beta.2+b43b5b21",
|
|
42
|
+
"@deephaven/react-hooks": "^0.47.1-beta.2+b43b5b21",
|
|
43
|
+
"@deephaven/storage": "^0.47.1-beta.2+b43b5b21",
|
|
44
|
+
"@deephaven/utils": "^0.47.1-beta.2+b43b5b21",
|
|
45
45
|
"@dnd-kit/core": "^6.0.5",
|
|
46
46
|
"@dnd-kit/sortable": "^7.0.0",
|
|
47
47
|
"@dnd-kit/utilities": "^3.2.0",
|
|
@@ -64,8 +64,8 @@
|
|
|
64
64
|
"react-dom": "^17.x"
|
|
65
65
|
},
|
|
66
66
|
"devDependencies": {
|
|
67
|
-
"@deephaven/jsapi-shim": "^0.47.
|
|
68
|
-
"@deephaven/mocks": "^0.47.
|
|
67
|
+
"@deephaven/jsapi-shim": "^0.47.1-beta.2+b43b5b21",
|
|
68
|
+
"@deephaven/mocks": "^0.47.1-beta.2+b43b5b21"
|
|
69
69
|
},
|
|
70
70
|
"files": [
|
|
71
71
|
"dist"
|
|
@@ -76,5 +76,5 @@
|
|
|
76
76
|
"publishConfig": {
|
|
77
77
|
"access": "public"
|
|
78
78
|
},
|
|
79
|
-
"gitHead": "
|
|
79
|
+
"gitHead": "b43b5b21a2ac78b02792f6e14e56ce31bc507a5a"
|
|
80
80
|
}
|