@deephaven/iris-grid 0.69.2-beta.2 → 0.70.1-alpha-picker-table.34

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 +1 @@
1
- {"version":3,"file":"IrisGridCopyHandler.d.ts","sourceRoot":"","sources":["../src/IrisGridCopyHandler.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IrisGridCopyHandler.d.ts","sourceRoot":"","sources":["../src/IrisGridCopyHandler.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGzC,OAAO,EACL,SAAS,EAET,YAAY,EACZ,aAAa,EACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,iBAAiB,EAIlB,MAAM,kBAAkB,CAAC;AAK1B,OAAO,4BAA4B,CAAC;AACpC,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAI5C,KAAK,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAE5B,KAAK,eAAe,GAAG,MAAM,CAAC,OAAO,mBAAmB,CAAC,aAAa,CAAC,CAAC;AAExE,KAAK,mBAAmB,GAAG;IACzB,YAAY,EAAE,SAAS,aAAa,EAAE,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,mBAAmB,GAAG;IACtD,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;IAC7B,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,YAAY,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,mBAAmB,GAAG;IACtD,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;AActE,UAAU,wBAAwB;IAChC,KAAK,EAAE,aAAa,CAAC;IACrB,aAAa,EAAE,aAAa,CAAC;IAC7B,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,UAAU,wBAAwB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AACD;;;;GAIG;AACH,cAAM,mBAAoB,SAAQ,SAAS,CACzC,wBAAwB,EACxB,wBAAwB,CACzB;IACC,MAAM,CAAC,mBAAmB,SAAS;IAEnC,MAAM,CAAC,YAAY,SAAQ;IAE3B;;OAEG;IACH,MAAM,CAAC,WAAW;;;;;;;;MAqBhB;IAEF,MAAM,CAAC,aAAa;;;;;MAKlB;IAEF,MAAM,CAAC,YAAY;;0BAED,IAAI;yBACL,IAAI;yBACJ,IAAI;wBACL,IAAI;MAClB;IAEF,MAAM,CAAC,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAmBxE,MAAM,CAAC,iBAAiB,CAAC,WAAW,EAAE,eAAe,GAAG,MAAM;gBAalD,KAAK,EAAE,wBAAwB;IAiB3C,iBAAiB,IAAI,IAAI;IAOzB,kBAAkB,CAAC,SAAS,EAAE,wBAAwB,GAAG,IAAI;IAO7D,oBAAoB,IAAI,IAAI;IAI5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,SAAS,CAAC,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IAE1C,YAAY,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAEzC,SAAS,IAAI,IAAI;IA2CjB,QAAQ,IAAI,IAAI;IAMhB,qBAAqB,IAAI,IAAI;IAS7B,iBAAiB,IAAI,IAAI;IAOnB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBtC,iBAAiB,IAAI,IAAI;IAQnB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ3C,YAAY,IAAI,IAAI;IAKd,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAyFjC,SAAS,IAAI,IAAI;IAQjB,cAAc,IAAI,IAAI;IAStB,aAAa,IAAI,IAAI;IAOrB,MAAM,IAAI,GAAG,CAAC,OAAO;CAgEtB;AAED,eAAe,mBAAmB,CAAC"}
@@ -5,8 +5,7 @@ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typ
5
5
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
6
6
  import React, { Component } from 'react';
7
7
  import classNames from 'classnames';
8
- import { CSSTransition } from 'react-transition-group';
9
- import { Button, LoadingSpinner, ThemeExport } from '@deephaven/components';
8
+ import { Button, FadeTransition, LoadingSpinner } from '@deephaven/components';
10
9
  import { GridRange, GridUtils } from '@deephaven/grid';
11
10
  import { CanceledPromiseError, copyToClipboard, PromiseUtils } from '@deephaven/utils';
12
11
  import Log from '@deephaven/log';
@@ -343,10 +342,8 @@ class IrisGridCopyHandler extends Component {
343
342
  children: /*#__PURE__*/_jsx("span", {
344
343
  children: statusMessageText
345
344
  })
346
- }), /*#__PURE__*/_jsx(CSSTransition, {
345
+ }), /*#__PURE__*/_jsx(FadeTransition, {
347
346
  in: isButtonContainerVisible,
348
- timeout: ThemeExport.transitionMs,
349
- classNames: "fade",
350
347
  mountOnEnter: true,
351
348
  unmountOnExit: true,
352
349
  children: /*#__PURE__*/_jsxs("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"IrisGridCopyHandler.js","names":["React","Component","classNames","CSSTransition","Button","LoadingSpinner","ThemeExport","GridRange","GridUtils","CanceledPromiseError","copyToClipboard","PromiseUtils","Log","IrisGridUtils","IrisGridBottomBar","jsx","_jsx","jsxs","_jsxs","log","module","isCopyRangesOperation","copyOperation","ranges","isCopyHeaderOperation","columnIndex","IrisGridCopyHandler","getStatusMessageText","copyState","rowCount","COPY_STATES","CONFIRMATION_REQUIRED","concat","toLocaleString","CLICK_REQUIRED","FETCH_ERROR","FETCH_RANGES_IN_PROGRESS","FETCH_HEADER_IN_PROGRESS","DONE","getCopyButtonText","buttonState","BUTTON_STATES","FETCH_IN_PROGRESS","CLICK_TO_COPY","RETRY","constructor","props","_defineProperty","handleBackgroundClick","bind","handleCancelClick","handleCopyClick","handleHideTimeout","state","error","undefined","IDLE","COPY","isShown","componentDidMount","startCopy","componentDidUpdate","prevProps","componentWillUnmount","stopCopy","debug2","setState","debug","startHideTimer","NO_PROMPT_THRESHOLD","startFetch","textData","stopFetch","stopHideTimer","_this","_asyncToGenerator","copyText","showCopyDone","e","text","_this2","_this3","model","columnDepth","movedColumns","modelIndex","getModelIndex","textForColumnHeader","fetchPromise","makeCancelable","includeHeaders","userColumnWidths","formatValues","hiddenColumns","getHiddenColumns","modelRanges","getModelRanges","length","subtractRanges","map","makeColumn","subtractRangesFromRanges","formatValue","value","column","displayString","type","name","textSnapshot","cancel","hideTimer","setTimeout","HIDE_TIMEOUT","clearTimeout","render","onEntering","onEntered","onExiting","onExited","animation","copyButtonText","statusMessageText","isButtonContainerVisible","isFetching","isDone","className","onClick","children","in","timeout","transitionMs","mountOnEnter","unmountOnExit","kind","disabled"],"sources":["../src/IrisGridCopyHandler.tsx"],"sourcesContent":["import React, { Component } from 'react';\nimport classNames from 'classnames';\nimport { CSSTransition } from 'react-transition-group';\nimport { Button, LoadingSpinner, ThemeExport } from '@deephaven/components';\nimport {\n GridRange,\n GridUtils,\n ModelSizeMap,\n MoveOperation,\n} from '@deephaven/grid';\nimport {\n CancelablePromise,\n CanceledPromiseError,\n copyToClipboard,\n PromiseUtils,\n} from '@deephaven/utils';\nimport Log from '@deephaven/log';\nimport type { dh } from '@deephaven/jsapi-types';\nimport IrisGridUtils from './IrisGridUtils';\nimport IrisGridBottomBar from './IrisGridBottomBar';\nimport './IrisGridCopyHandler.scss';\nimport IrisGridModel from './IrisGridModel';\n\nconst log = Log.module('IrisGridCopyHandler');\n\ntype Values<T> = T[keyof T];\n\ntype ButtonStateType = Values<typeof IrisGridCopyHandler.BUTTON_STATES>;\n\ntype CommonCopyOperation = {\n movedColumns: readonly MoveOperation[];\n error?: string;\n};\n\nexport type CopyRangesOperation = CommonCopyOperation & {\n ranges: readonly GridRange[];\n includeHeaders: boolean;\n formatValues?: boolean;\n userColumnWidths: ModelSizeMap;\n};\n\nexport type CopyHeaderOperation = CommonCopyOperation & {\n columnIndex: number;\n columnDepth: number;\n};\n\nexport type CopyOperation = CopyRangesOperation | CopyHeaderOperation;\n\nfunction isCopyRangesOperation(\n copyOperation: CopyOperation\n): copyOperation is CopyRangesOperation {\n return (copyOperation as CopyRangesOperation).ranges != null;\n}\n\nfunction isCopyHeaderOperation(\n copyOperation: CopyOperation\n): copyOperation is CopyHeaderOperation {\n return (copyOperation as CopyHeaderOperation).columnIndex != null;\n}\n\ninterface IrisGridCopyHandlerProps {\n model: IrisGridModel;\n copyOperation: CopyOperation;\n onEntering: () => void;\n onEntered: () => void;\n onExiting: () => void;\n onExited: () => void;\n}\n\ninterface IrisGridCopyHandlerState {\n error?: string;\n copyState: string;\n buttonState: string;\n isShown: boolean;\n rowCount: number;\n}\n/**\n * Component for handling copying of data from the Iris Grid.\n * - Prompts if necessary (large amount of rows copied)\n * - Tries to async copy, falls back to showing a \"Click to Copy\" button if that fails\n */\nclass IrisGridCopyHandler extends Component<\n IrisGridCopyHandlerProps,\n IrisGridCopyHandlerState\n> {\n static NO_PROMPT_THRESHOLD = 10000;\n\n static HIDE_TIMEOUT = 3000;\n\n /**\n * Different states for the current copy operation\n */\n static COPY_STATES = {\n // No copy operation in progress\n IDLE: 'IDLE',\n\n // Large copy operation, confirmation required\n CONFIRMATION_REQUIRED: 'CONFIRMATION_REQUIRED',\n\n // Fetch is currently in progress for copy ranges operation\n FETCH_RANGES_IN_PROGRESS: 'FETCH_RANGES_IN_PROGRESS',\n\n // Fetch is currently in progress for copy header operation\n FETCH_HEADER_IN_PROGRESS: 'FETCH_HEADER_IN_PROGRESS',\n\n // There was an error fetching the data\n FETCH_ERROR: 'FETCH_ERROR',\n\n // Click is required to copy\n CLICK_REQUIRED: 'CLICK_REQUIRED',\n\n // The copy operation is completed and successfully copied to the clipboard\n DONE: 'DONE',\n };\n\n static BUTTON_STATES = {\n COPY: 'COPY',\n FETCH_IN_PROGRESS: 'FETCH_IN_PROGRESS',\n CLICK_TO_COPY: 'CLICK_TO_COPY',\n RETRY: 'RETRY',\n };\n\n static defaultProps = {\n copyOperation: null,\n onEntering: (): void => undefined,\n onEntered: (): void => undefined,\n onExiting: (): void => undefined,\n onExited: (): void => undefined,\n };\n\n static getStatusMessageText(copyState: string, rowCount: number): string {\n switch (copyState) {\n case IrisGridCopyHandler.COPY_STATES.CONFIRMATION_REQUIRED:\n return `Are you sure you want to copy ${rowCount.toLocaleString()} rows to your clipboard?`;\n case IrisGridCopyHandler.COPY_STATES.CLICK_REQUIRED:\n return `Fetched ${rowCount.toLocaleString()} rows!`;\n case IrisGridCopyHandler.COPY_STATES.FETCH_ERROR:\n return 'Unable to copy data.';\n case IrisGridCopyHandler.COPY_STATES.FETCH_RANGES_IN_PROGRESS:\n return `Fetching ${rowCount.toLocaleString()} rows for clipboard...`;\n case IrisGridCopyHandler.COPY_STATES.FETCH_HEADER_IN_PROGRESS:\n return 'Fetching header for clipboard...';\n case IrisGridCopyHandler.COPY_STATES.DONE:\n return 'Copied to Clipboard!';\n default:\n return '';\n }\n }\n\n static getCopyButtonText(buttonState: ButtonStateType): string {\n switch (buttonState) {\n case IrisGridCopyHandler.BUTTON_STATES.FETCH_IN_PROGRESS:\n return 'Fetching';\n case IrisGridCopyHandler.BUTTON_STATES.CLICK_TO_COPY:\n return 'Click to Copy';\n case IrisGridCopyHandler.BUTTON_STATES.RETRY:\n return 'Retry';\n default:\n return 'Copy';\n }\n }\n\n constructor(props: IrisGridCopyHandlerProps) {\n super(props);\n\n this.handleBackgroundClick = this.handleBackgroundClick.bind(this);\n this.handleCancelClick = this.handleCancelClick.bind(this);\n this.handleCopyClick = this.handleCopyClick.bind(this);\n this.handleHideTimeout = this.handleHideTimeout.bind(this);\n\n this.state = {\n error: undefined,\n copyState: IrisGridCopyHandler.COPY_STATES.IDLE,\n buttonState: IrisGridCopyHandler.BUTTON_STATES.COPY,\n isShown: false,\n rowCount: 0,\n };\n }\n\n componentDidMount(): void {\n const { copyOperation } = this.props;\n if (copyOperation != null) {\n this.startCopy();\n }\n }\n\n componentDidUpdate(prevProps: IrisGridCopyHandlerProps): void {\n const { copyOperation } = this.props;\n if (prevProps.copyOperation !== copyOperation) {\n this.startCopy();\n }\n }\n\n componentWillUnmount(): void {\n this.stopCopy();\n }\n\n textData?: string;\n\n hideTimer?: ReturnType<typeof setTimeout>;\n\n fetchPromise?: CancelablePromise<string>;\n\n startCopy(): void {\n log.debug2('startCopy');\n\n this.stopCopy();\n\n const { copyOperation } = this.props;\n if (copyOperation == null) {\n log.debug2('No copy operation set, cancelling out');\n this.setState({ isShown: false });\n return;\n }\n\n const { error } = copyOperation;\n if (error != null) {\n log.debug('Showing copy error', error);\n this.setState({\n isShown: true,\n copyState: IrisGridCopyHandler.COPY_STATES.DONE,\n error,\n });\n this.startHideTimer();\n return;\n }\n\n this.setState({ isShown: true, error: undefined });\n\n if (isCopyRangesOperation(copyOperation)) {\n const { ranges } = copyOperation;\n const rowCount = GridRange.rowCount(ranges);\n this.setState({ rowCount });\n\n if (rowCount > IrisGridCopyHandler.NO_PROMPT_THRESHOLD) {\n this.setState({\n buttonState: IrisGridCopyHandler.BUTTON_STATES.COPY,\n copyState: IrisGridCopyHandler.COPY_STATES.CONFIRMATION_REQUIRED,\n });\n return;\n }\n }\n\n this.startFetch();\n }\n\n stopCopy(): void {\n this.textData = undefined;\n this.stopFetch();\n this.stopHideTimer();\n }\n\n handleBackgroundClick(): void {\n log.debug2('handleBackgroundClick');\n\n const { copyState } = this.state;\n if (copyState === IrisGridCopyHandler.COPY_STATES.DONE) {\n this.setState({ isShown: false });\n }\n }\n\n handleCancelClick(): void {\n log.debug2('handleCancelClick');\n\n this.stopFetch();\n this.setState({ isShown: false });\n }\n\n async handleCopyClick(): Promise<void> {\n log.debug2('handleCopyClick');\n\n if (this.textData != null) {\n try {\n await this.copyText(this.textData);\n this.showCopyDone();\n } catch (e) {\n log.error('Error copying text', e);\n this.setState({\n error: 'Unable to copy. Verify your browser permissions.',\n });\n }\n } else {\n this.startFetch();\n }\n }\n\n handleHideTimeout(): void {\n log.debug2('handleHideTimeout');\n\n this.stopHideTimer();\n\n this.setState({ isShown: false });\n }\n\n async copyText(text: string): Promise<void> {\n log.debug2('copyText', text);\n\n this.textData = text;\n\n await copyToClipboard(text);\n }\n\n showCopyDone(): void {\n this.setState({ copyState: IrisGridCopyHandler.COPY_STATES.DONE });\n this.startHideTimer();\n }\n\n async startFetch(): Promise<void> {\n this.stopFetch();\n\n const { model, copyOperation } = this.props;\n\n if (isCopyHeaderOperation(copyOperation)) {\n const { columnIndex, columnDepth, movedColumns } = copyOperation;\n log.debug('startFetch copyHeader', columnIndex, columnDepth);\n\n this.setState({\n buttonState: IrisGridCopyHandler.BUTTON_STATES.FETCH_IN_PROGRESS,\n copyState: IrisGridCopyHandler.COPY_STATES.FETCH_HEADER_IN_PROGRESS,\n });\n\n const modelIndex = GridUtils.getModelIndex(columnIndex, movedColumns);\n const copyText = model.textForColumnHeader(modelIndex, columnDepth);\n if (copyText === undefined) {\n this.fetchPromise = undefined;\n this.setState({\n error: 'Invalid column header selected.',\n copyState: IrisGridCopyHandler.COPY_STATES.DONE,\n });\n return;\n }\n this.fetchPromise = PromiseUtils.makeCancelable(copyText);\n } else {\n const {\n ranges,\n includeHeaders,\n userColumnWidths,\n movedColumns,\n formatValues,\n } = copyOperation;\n log.debug('startFetch copyRanges', ranges);\n\n this.setState({\n buttonState: IrisGridCopyHandler.BUTTON_STATES.FETCH_IN_PROGRESS,\n copyState: IrisGridCopyHandler.COPY_STATES.FETCH_RANGES_IN_PROGRESS,\n });\n\n const hiddenColumns = IrisGridUtils.getHiddenColumns(userColumnWidths);\n let modelRanges = GridUtils.getModelRanges(ranges, movedColumns);\n if (hiddenColumns.length > 0) {\n const subtractRanges = hiddenColumns.map(GridRange.makeColumn);\n modelRanges = GridRange.subtractRangesFromRanges(\n modelRanges,\n subtractRanges\n );\n }\n\n // Remove the hidden columns from the snapshot\n const formatValue =\n formatValues != null && formatValues\n ? (value: unknown, column: dh.Column) =>\n model.displayString(value, column.type, column.name)\n : (value: unknown) => `${value}`;\n\n this.fetchPromise = PromiseUtils.makeCancelable(\n model.textSnapshot(modelRanges, includeHeaders, formatValue)\n );\n }\n\n try {\n const text = await this.fetchPromise;\n this.fetchPromise = undefined;\n try {\n await this.copyText(text);\n this.showCopyDone();\n } catch (e) {\n log.error('Error copying text', e);\n this.setState({\n buttonState: IrisGridCopyHandler.BUTTON_STATES.CLICK_TO_COPY,\n copyState: IrisGridCopyHandler.COPY_STATES.CLICK_REQUIRED,\n });\n }\n } catch (e) {\n if (e instanceof CanceledPromiseError) {\n log.debug('User cancelled copy.');\n } else {\n log.error('Error fetching contents', e);\n this.fetchPromise = undefined;\n this.setState({\n buttonState: IrisGridCopyHandler.BUTTON_STATES.RETRY,\n copyState: IrisGridCopyHandler.COPY_STATES.FETCH_ERROR,\n });\n }\n }\n }\n\n stopFetch(): void {\n if (this.fetchPromise) {\n log.debug2('stopFetch');\n this.fetchPromise.cancel();\n this.fetchPromise = undefined;\n }\n }\n\n startHideTimer(): void {\n this.stopHideTimer();\n\n this.hideTimer = setTimeout(\n this.handleHideTimeout,\n IrisGridCopyHandler.HIDE_TIMEOUT\n );\n }\n\n stopHideTimer(): void {\n if (this.hideTimer != null) {\n clearTimeout(this.hideTimer);\n this.hideTimer = undefined;\n }\n }\n\n render(): JSX.Element {\n const { onEntering, onEntered, onExiting, onExited } = this.props;\n const { buttonState, copyState, isShown, rowCount, error } = this.state;\n\n const animation =\n copyState === IrisGridCopyHandler.COPY_STATES.DONE\n ? 'fade'\n : 'copy-slide-up';\n const copyButtonText = IrisGridCopyHandler.getCopyButtonText(buttonState);\n const statusMessageText =\n error ?? IrisGridCopyHandler.getStatusMessageText(copyState, rowCount);\n const isButtonContainerVisible =\n copyState !== IrisGridCopyHandler.COPY_STATES.DONE;\n const isFetching =\n buttonState === IrisGridCopyHandler.BUTTON_STATES.FETCH_IN_PROGRESS;\n const isDone = copyState === IrisGridCopyHandler.COPY_STATES.DONE;\n\n return (\n <IrisGridBottomBar\n animation={animation}\n isShown={isShown}\n className={classNames('iris-grid-copy-handler', {\n 'copy-done': isDone,\n })}\n onClick={this.handleBackgroundClick}\n onEntering={onEntering}\n onEntered={onEntered}\n onExiting={onExiting}\n onExited={onExited}\n >\n <div className=\"status-message\">\n <span>{statusMessageText}</span>\n </div>\n <CSSTransition\n in={isButtonContainerVisible}\n timeout={ThemeExport.transitionMs}\n classNames=\"fade\"\n mountOnEnter\n unmountOnExit\n >\n <div className=\"buttons-container\">\n <button\n type=\"button\"\n className=\"btn btn-outline-secondary btn-cancel\"\n onClick={this.handleCancelClick}\n >\n Cancel\n </button>\n <Button\n kind={isFetching ? 'tertiary' : 'primary'}\n className={classNames('btn-copy', {\n 'btn-spinner': isFetching,\n })}\n onClick={this.handleCopyClick}\n disabled={isFetching}\n >\n {isFetching && (\n <LoadingSpinner className=\"loading-spinner-vertical-align\" />\n )}\n {copyButtonText}\n </Button>\n </div>\n </CSSTransition>\n </IrisGridBottomBar>\n );\n }\n}\n\nexport default IrisGridCopyHandler;\n"],"mappings":"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"}
1
+ {"version":3,"file":"IrisGridCopyHandler.js","names":["React","Component","classNames","Button","FadeTransition","LoadingSpinner","GridRange","GridUtils","CanceledPromiseError","copyToClipboard","PromiseUtils","Log","IrisGridUtils","IrisGridBottomBar","jsx","_jsx","jsxs","_jsxs","log","module","isCopyRangesOperation","copyOperation","ranges","isCopyHeaderOperation","columnIndex","IrisGridCopyHandler","getStatusMessageText","copyState","rowCount","COPY_STATES","CONFIRMATION_REQUIRED","concat","toLocaleString","CLICK_REQUIRED","FETCH_ERROR","FETCH_RANGES_IN_PROGRESS","FETCH_HEADER_IN_PROGRESS","DONE","getCopyButtonText","buttonState","BUTTON_STATES","FETCH_IN_PROGRESS","CLICK_TO_COPY","RETRY","constructor","props","_defineProperty","handleBackgroundClick","bind","handleCancelClick","handleCopyClick","handleHideTimeout","state","error","undefined","IDLE","COPY","isShown","componentDidMount","startCopy","componentDidUpdate","prevProps","componentWillUnmount","stopCopy","debug2","setState","debug","startHideTimer","NO_PROMPT_THRESHOLD","startFetch","textData","stopFetch","stopHideTimer","_this","_asyncToGenerator","copyText","showCopyDone","e","text","_this2","_this3","model","columnDepth","movedColumns","modelIndex","getModelIndex","textForColumnHeader","fetchPromise","makeCancelable","includeHeaders","userColumnWidths","formatValues","hiddenColumns","getHiddenColumns","modelRanges","getModelRanges","length","subtractRanges","map","makeColumn","subtractRangesFromRanges","formatValue","value","column","displayString","type","name","textSnapshot","cancel","hideTimer","setTimeout","HIDE_TIMEOUT","clearTimeout","render","onEntering","onEntered","onExiting","onExited","animation","copyButtonText","statusMessageText","isButtonContainerVisible","isFetching","isDone","className","onClick","children","in","mountOnEnter","unmountOnExit","kind","disabled"],"sources":["../src/IrisGridCopyHandler.tsx"],"sourcesContent":["import React, { Component } from 'react';\nimport classNames from 'classnames';\nimport { Button, FadeTransition, LoadingSpinner } from '@deephaven/components';\nimport {\n GridRange,\n GridUtils,\n ModelSizeMap,\n MoveOperation,\n} from '@deephaven/grid';\nimport {\n CancelablePromise,\n CanceledPromiseError,\n copyToClipboard,\n PromiseUtils,\n} from '@deephaven/utils';\nimport Log from '@deephaven/log';\nimport type { dh } from '@deephaven/jsapi-types';\nimport IrisGridUtils from './IrisGridUtils';\nimport IrisGridBottomBar from './IrisGridBottomBar';\nimport './IrisGridCopyHandler.scss';\nimport IrisGridModel from './IrisGridModel';\n\nconst log = Log.module('IrisGridCopyHandler');\n\ntype Values<T> = T[keyof T];\n\ntype ButtonStateType = Values<typeof IrisGridCopyHandler.BUTTON_STATES>;\n\ntype CommonCopyOperation = {\n movedColumns: readonly MoveOperation[];\n error?: string;\n};\n\nexport type CopyRangesOperation = CommonCopyOperation & {\n ranges: readonly GridRange[];\n includeHeaders: boolean;\n formatValues?: boolean;\n userColumnWidths: ModelSizeMap;\n};\n\nexport type CopyHeaderOperation = CommonCopyOperation & {\n columnIndex: number;\n columnDepth: number;\n};\n\nexport type CopyOperation = CopyRangesOperation | CopyHeaderOperation;\n\nfunction isCopyRangesOperation(\n copyOperation: CopyOperation\n): copyOperation is CopyRangesOperation {\n return (copyOperation as CopyRangesOperation).ranges != null;\n}\n\nfunction isCopyHeaderOperation(\n copyOperation: CopyOperation\n): copyOperation is CopyHeaderOperation {\n return (copyOperation as CopyHeaderOperation).columnIndex != null;\n}\n\ninterface IrisGridCopyHandlerProps {\n model: IrisGridModel;\n copyOperation: CopyOperation;\n onEntering: () => void;\n onEntered: () => void;\n onExiting: () => void;\n onExited: () => void;\n}\n\ninterface IrisGridCopyHandlerState {\n error?: string;\n copyState: string;\n buttonState: string;\n isShown: boolean;\n rowCount: number;\n}\n/**\n * Component for handling copying of data from the Iris Grid.\n * - Prompts if necessary (large amount of rows copied)\n * - Tries to async copy, falls back to showing a \"Click to Copy\" button if that fails\n */\nclass IrisGridCopyHandler extends Component<\n IrisGridCopyHandlerProps,\n IrisGridCopyHandlerState\n> {\n static NO_PROMPT_THRESHOLD = 10000;\n\n static HIDE_TIMEOUT = 3000;\n\n /**\n * Different states for the current copy operation\n */\n static COPY_STATES = {\n // No copy operation in progress\n IDLE: 'IDLE',\n\n // Large copy operation, confirmation required\n CONFIRMATION_REQUIRED: 'CONFIRMATION_REQUIRED',\n\n // Fetch is currently in progress for copy ranges operation\n FETCH_RANGES_IN_PROGRESS: 'FETCH_RANGES_IN_PROGRESS',\n\n // Fetch is currently in progress for copy header operation\n FETCH_HEADER_IN_PROGRESS: 'FETCH_HEADER_IN_PROGRESS',\n\n // There was an error fetching the data\n FETCH_ERROR: 'FETCH_ERROR',\n\n // Click is required to copy\n CLICK_REQUIRED: 'CLICK_REQUIRED',\n\n // The copy operation is completed and successfully copied to the clipboard\n DONE: 'DONE',\n };\n\n static BUTTON_STATES = {\n COPY: 'COPY',\n FETCH_IN_PROGRESS: 'FETCH_IN_PROGRESS',\n CLICK_TO_COPY: 'CLICK_TO_COPY',\n RETRY: 'RETRY',\n };\n\n static defaultProps = {\n copyOperation: null,\n onEntering: (): void => undefined,\n onEntered: (): void => undefined,\n onExiting: (): void => undefined,\n onExited: (): void => undefined,\n };\n\n static getStatusMessageText(copyState: string, rowCount: number): string {\n switch (copyState) {\n case IrisGridCopyHandler.COPY_STATES.CONFIRMATION_REQUIRED:\n return `Are you sure you want to copy ${rowCount.toLocaleString()} rows to your clipboard?`;\n case IrisGridCopyHandler.COPY_STATES.CLICK_REQUIRED:\n return `Fetched ${rowCount.toLocaleString()} rows!`;\n case IrisGridCopyHandler.COPY_STATES.FETCH_ERROR:\n return 'Unable to copy data.';\n case IrisGridCopyHandler.COPY_STATES.FETCH_RANGES_IN_PROGRESS:\n return `Fetching ${rowCount.toLocaleString()} rows for clipboard...`;\n case IrisGridCopyHandler.COPY_STATES.FETCH_HEADER_IN_PROGRESS:\n return 'Fetching header for clipboard...';\n case IrisGridCopyHandler.COPY_STATES.DONE:\n return 'Copied to Clipboard!';\n default:\n return '';\n }\n }\n\n static getCopyButtonText(buttonState: ButtonStateType): string {\n switch (buttonState) {\n case IrisGridCopyHandler.BUTTON_STATES.FETCH_IN_PROGRESS:\n return 'Fetching';\n case IrisGridCopyHandler.BUTTON_STATES.CLICK_TO_COPY:\n return 'Click to Copy';\n case IrisGridCopyHandler.BUTTON_STATES.RETRY:\n return 'Retry';\n default:\n return 'Copy';\n }\n }\n\n constructor(props: IrisGridCopyHandlerProps) {\n super(props);\n\n this.handleBackgroundClick = this.handleBackgroundClick.bind(this);\n this.handleCancelClick = this.handleCancelClick.bind(this);\n this.handleCopyClick = this.handleCopyClick.bind(this);\n this.handleHideTimeout = this.handleHideTimeout.bind(this);\n\n this.state = {\n error: undefined,\n copyState: IrisGridCopyHandler.COPY_STATES.IDLE,\n buttonState: IrisGridCopyHandler.BUTTON_STATES.COPY,\n isShown: false,\n rowCount: 0,\n };\n }\n\n componentDidMount(): void {\n const { copyOperation } = this.props;\n if (copyOperation != null) {\n this.startCopy();\n }\n }\n\n componentDidUpdate(prevProps: IrisGridCopyHandlerProps): void {\n const { copyOperation } = this.props;\n if (prevProps.copyOperation !== copyOperation) {\n this.startCopy();\n }\n }\n\n componentWillUnmount(): void {\n this.stopCopy();\n }\n\n textData?: string;\n\n hideTimer?: ReturnType<typeof setTimeout>;\n\n fetchPromise?: CancelablePromise<string>;\n\n startCopy(): void {\n log.debug2('startCopy');\n\n this.stopCopy();\n\n const { copyOperation } = this.props;\n if (copyOperation == null) {\n log.debug2('No copy operation set, cancelling out');\n this.setState({ isShown: false });\n return;\n }\n\n const { error } = copyOperation;\n if (error != null) {\n log.debug('Showing copy error', error);\n this.setState({\n isShown: true,\n copyState: IrisGridCopyHandler.COPY_STATES.DONE,\n error,\n });\n this.startHideTimer();\n return;\n }\n\n this.setState({ isShown: true, error: undefined });\n\n if (isCopyRangesOperation(copyOperation)) {\n const { ranges } = copyOperation;\n const rowCount = GridRange.rowCount(ranges);\n this.setState({ rowCount });\n\n if (rowCount > IrisGridCopyHandler.NO_PROMPT_THRESHOLD) {\n this.setState({\n buttonState: IrisGridCopyHandler.BUTTON_STATES.COPY,\n copyState: IrisGridCopyHandler.COPY_STATES.CONFIRMATION_REQUIRED,\n });\n return;\n }\n }\n\n this.startFetch();\n }\n\n stopCopy(): void {\n this.textData = undefined;\n this.stopFetch();\n this.stopHideTimer();\n }\n\n handleBackgroundClick(): void {\n log.debug2('handleBackgroundClick');\n\n const { copyState } = this.state;\n if (copyState === IrisGridCopyHandler.COPY_STATES.DONE) {\n this.setState({ isShown: false });\n }\n }\n\n handleCancelClick(): void {\n log.debug2('handleCancelClick');\n\n this.stopFetch();\n this.setState({ isShown: false });\n }\n\n async handleCopyClick(): Promise<void> {\n log.debug2('handleCopyClick');\n\n if (this.textData != null) {\n try {\n await this.copyText(this.textData);\n this.showCopyDone();\n } catch (e) {\n log.error('Error copying text', e);\n this.setState({\n error: 'Unable to copy. Verify your browser permissions.',\n });\n }\n } else {\n this.startFetch();\n }\n }\n\n handleHideTimeout(): void {\n log.debug2('handleHideTimeout');\n\n this.stopHideTimer();\n\n this.setState({ isShown: false });\n }\n\n async copyText(text: string): Promise<void> {\n log.debug2('copyText', text);\n\n this.textData = text;\n\n await copyToClipboard(text);\n }\n\n showCopyDone(): void {\n this.setState({ copyState: IrisGridCopyHandler.COPY_STATES.DONE });\n this.startHideTimer();\n }\n\n async startFetch(): Promise<void> {\n this.stopFetch();\n\n const { model, copyOperation } = this.props;\n\n if (isCopyHeaderOperation(copyOperation)) {\n const { columnIndex, columnDepth, movedColumns } = copyOperation;\n log.debug('startFetch copyHeader', columnIndex, columnDepth);\n\n this.setState({\n buttonState: IrisGridCopyHandler.BUTTON_STATES.FETCH_IN_PROGRESS,\n copyState: IrisGridCopyHandler.COPY_STATES.FETCH_HEADER_IN_PROGRESS,\n });\n\n const modelIndex = GridUtils.getModelIndex(columnIndex, movedColumns);\n const copyText = model.textForColumnHeader(modelIndex, columnDepth);\n if (copyText === undefined) {\n this.fetchPromise = undefined;\n this.setState({\n error: 'Invalid column header selected.',\n copyState: IrisGridCopyHandler.COPY_STATES.DONE,\n });\n return;\n }\n this.fetchPromise = PromiseUtils.makeCancelable(copyText);\n } else {\n const {\n ranges,\n includeHeaders,\n userColumnWidths,\n movedColumns,\n formatValues,\n } = copyOperation;\n log.debug('startFetch copyRanges', ranges);\n\n this.setState({\n buttonState: IrisGridCopyHandler.BUTTON_STATES.FETCH_IN_PROGRESS,\n copyState: IrisGridCopyHandler.COPY_STATES.FETCH_RANGES_IN_PROGRESS,\n });\n\n const hiddenColumns = IrisGridUtils.getHiddenColumns(userColumnWidths);\n let modelRanges = GridUtils.getModelRanges(ranges, movedColumns);\n if (hiddenColumns.length > 0) {\n const subtractRanges = hiddenColumns.map(GridRange.makeColumn);\n modelRanges = GridRange.subtractRangesFromRanges(\n modelRanges,\n subtractRanges\n );\n }\n\n // Remove the hidden columns from the snapshot\n const formatValue =\n formatValues != null && formatValues\n ? (value: unknown, column: dh.Column) =>\n model.displayString(value, column.type, column.name)\n : (value: unknown) => `${value}`;\n\n this.fetchPromise = PromiseUtils.makeCancelable(\n model.textSnapshot(modelRanges, includeHeaders, formatValue)\n );\n }\n\n try {\n const text = await this.fetchPromise;\n this.fetchPromise = undefined;\n try {\n await this.copyText(text);\n this.showCopyDone();\n } catch (e) {\n log.error('Error copying text', e);\n this.setState({\n buttonState: IrisGridCopyHandler.BUTTON_STATES.CLICK_TO_COPY,\n copyState: IrisGridCopyHandler.COPY_STATES.CLICK_REQUIRED,\n });\n }\n } catch (e) {\n if (e instanceof CanceledPromiseError) {\n log.debug('User cancelled copy.');\n } else {\n log.error('Error fetching contents', e);\n this.fetchPromise = undefined;\n this.setState({\n buttonState: IrisGridCopyHandler.BUTTON_STATES.RETRY,\n copyState: IrisGridCopyHandler.COPY_STATES.FETCH_ERROR,\n });\n }\n }\n }\n\n stopFetch(): void {\n if (this.fetchPromise) {\n log.debug2('stopFetch');\n this.fetchPromise.cancel();\n this.fetchPromise = undefined;\n }\n }\n\n startHideTimer(): void {\n this.stopHideTimer();\n\n this.hideTimer = setTimeout(\n this.handleHideTimeout,\n IrisGridCopyHandler.HIDE_TIMEOUT\n );\n }\n\n stopHideTimer(): void {\n if (this.hideTimer != null) {\n clearTimeout(this.hideTimer);\n this.hideTimer = undefined;\n }\n }\n\n render(): JSX.Element {\n const { onEntering, onEntered, onExiting, onExited } = this.props;\n const { buttonState, copyState, isShown, rowCount, error } = this.state;\n\n const animation =\n copyState === IrisGridCopyHandler.COPY_STATES.DONE\n ? 'fade'\n : 'copy-slide-up';\n const copyButtonText = IrisGridCopyHandler.getCopyButtonText(buttonState);\n const statusMessageText =\n error ?? IrisGridCopyHandler.getStatusMessageText(copyState, rowCount);\n const isButtonContainerVisible =\n copyState !== IrisGridCopyHandler.COPY_STATES.DONE;\n const isFetching =\n buttonState === IrisGridCopyHandler.BUTTON_STATES.FETCH_IN_PROGRESS;\n const isDone = copyState === IrisGridCopyHandler.COPY_STATES.DONE;\n\n return (\n <IrisGridBottomBar\n animation={animation}\n isShown={isShown}\n className={classNames('iris-grid-copy-handler', {\n 'copy-done': isDone,\n })}\n onClick={this.handleBackgroundClick}\n onEntering={onEntering}\n onEntered={onEntered}\n onExiting={onExiting}\n onExited={onExited}\n >\n <div className=\"status-message\">\n <span>{statusMessageText}</span>\n </div>\n <FadeTransition\n in={isButtonContainerVisible}\n mountOnEnter\n unmountOnExit\n >\n <div className=\"buttons-container\">\n <button\n type=\"button\"\n className=\"btn btn-outline-secondary btn-cancel\"\n onClick={this.handleCancelClick}\n >\n Cancel\n </button>\n <Button\n kind={isFetching ? 'tertiary' : 'primary'}\n className={classNames('btn-copy', {\n 'btn-spinner': isFetching,\n })}\n onClick={this.handleCopyClick}\n disabled={isFetching}\n >\n {isFetching && (\n <LoadingSpinner className=\"loading-spinner-vertical-align\" />\n )}\n {copyButtonText}\n </Button>\n </div>\n </FadeTransition>\n </IrisGridBottomBar>\n );\n }\n}\n\nexport default IrisGridCopyHandler;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AggregationEdit.d.ts","sourceRoot":"","sources":["../../../src/sidebar/aggregations/AggregationEdit.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,wBAAwB,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAOpD,MAAM,MAAM,oBAAoB,GAAG;IACjC,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,SAAS,aAAa,EAAE,CAAC;IAClC,QAAQ,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;CAC9C,CAAC;AAUF,iBAAS,eAAe,CAAC,EACvB,WAAW,EACX,OAAO,EACP,QAAQ,GACT,EAAE,oBAAoB,GAAG,GAAG,CAAC,OAAO,CA2IpC;AAED,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"AggregationEdit.d.ts","sourceRoot":"","sources":["../../../src/sidebar/aggregations/AggregationEdit.tsx"],"names":[],"mappings":";AAWA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,wBAAwB,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAOpD,MAAM,MAAM,oBAAoB,GAAG;IACjC,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,SAAS,aAAa,EAAE,CAAC;IAClC,QAAQ,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;CAC9C,CAAC;AAUF,iBAAS,eAAe,CAAC,EACvB,WAAW,EACX,OAAO,EACP,QAAQ,GACT,EAAE,oBAAoB,GAAG,GAAG,CAAC,OAAO,CA0IpC;AAED,eAAe,eAAe,CAAC"}
@@ -5,8 +5,7 @@ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typ
5
5
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
6
6
  import React, { useCallback, useMemo, useRef, useState } from 'react';
7
7
  import classNames from 'classnames';
8
- import { CSSTransition } from 'react-transition-group';
9
- import { Button, Checkbox, ItemList, ThemeExport } from '@deephaven/components';
8
+ import { Button, Checkbox, FadeTransition, ItemList, ThemeExport } from '@deephaven/components';
10
9
  import { dhSortAlphaDown, dhSortAlphaUp } from '@deephaven/icons';
11
10
  import { TableUtils } from '@deephaven/jsapi-utils';
12
11
  import { filterValidColumns } from "./AggregationUtils.js";
@@ -107,10 +106,9 @@ function AggregationEdit(_ref) {
107
106
  children: "Toggle All"
108
107
  }), /*#__PURE__*/_jsx("div", {
109
108
  className: "spacer"
110
- }), /*#__PURE__*/_jsx(CSSTransition, {
109
+ }), /*#__PURE__*/_jsx(FadeTransition, {
111
110
  in: isModified,
112
111
  timeout: ThemeExport.transitionSlowMs,
113
- classNames: "fade",
114
112
  mountOnEnter: true,
115
113
  unmountOnExit: true,
116
114
  children: /*#__PURE__*/_jsx(Button, {
@@ -1 +1 @@
1
- {"version":3,"file":"AggregationEdit.js","names":["React","useCallback","useMemo","useRef","useState","classNames","CSSTransition","Button","Checkbox","ItemList","ThemeExport","dhSortAlphaDown","dhSortAlphaUp","TableUtils","filterValidColumns","jsx","_jsx","jsxs","_jsxs","SortType","DEFAULT_ROW_HEIGHT","AggregationEdit","_ref","aggregation","columns","onChange","top","setTop","bottom","setBottom","sort","setSort","NONE","invert","selected","list","isSelected","name","includes","validColumns","filteredColumns","operation","sortColumns","ASCENDING","items","slice","map","c","value","displayValue","handleSelect","itemIndex","selectedIndex","indexOf","newSelected","newInvert","splice","push","length","_objectSpread","handleReset","handleViewportChange","newTop","newBottom","toggleAll","checked","isModified","role","className","children","in","timeout","transitionSlowMs","mountOnEnter","unmountOnExit","kind","onClick","active","icon","tooltip","DESCENDING","itemCount","offset","renderItem","_ref2","item","onSelect","onViewportChange","rowHeight","focusSelector","ref"],"sources":["../../../src/sidebar/aggregations/AggregationEdit.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport { CSSTransition } from 'react-transition-group';\nimport { Button, Checkbox, ItemList, ThemeExport } from '@deephaven/components';\nimport { dhSortAlphaDown, dhSortAlphaUp } from '@deephaven/icons';\nimport { TableUtils } from '@deephaven/jsapi-utils';\nimport { Aggregation } from './Aggregations';\nimport { filterValidColumns } from './AggregationUtils';\nimport './AggregationEdit.scss';\nimport { DisplayColumn } from '../../IrisGridModel';\n\ninterface AggregationEditItem {\n value: string;\n displayValue: string;\n}\n\nexport type AggregationEditProps = {\n aggregation: Aggregation;\n columns: readonly DisplayColumn[];\n onChange: (aggregation: Aggregation) => void;\n};\n\nenum SortType {\n NONE,\n ASCENDING,\n DESCENDING,\n}\n\nconst DEFAULT_ROW_HEIGHT = 30;\n\nfunction AggregationEdit({\n aggregation,\n columns,\n onChange,\n}: AggregationEditProps): JSX.Element {\n const [top, setTop] = useState(-1);\n const [bottom, setBottom] = useState(-1);\n const [sort, setSort] = useState(SortType.NONE);\n const { invert, selected } = aggregation;\n const list = useRef<ItemList<AggregationEditItem>>(null);\n\n const isSelected = useCallback(\n name => (selected.includes(name) ? !invert : invert),\n [invert, selected]\n );\n\n const validColumns = useMemo(() => {\n let filteredColumns = filterValidColumns(columns, aggregation.operation);\n if (sort !== SortType.NONE) {\n filteredColumns = TableUtils.sortColumns(\n filteredColumns,\n sort === SortType.ASCENDING\n );\n }\n return filteredColumns;\n }, [columns, aggregation.operation, sort]);\n\n const items = useMemo(\n () =>\n top >= 0\n ? validColumns.slice(top, bottom + 1).map(c => ({\n value: c.name,\n displayValue: c.name,\n isSelected: isSelected(c.name),\n }))\n : [],\n [validColumns, isSelected, bottom, top]\n );\n\n const handleSelect = useCallback(\n itemIndex => {\n const { name } = validColumns[itemIndex];\n const selectedIndex = selected.indexOf(name);\n let newSelected = [...selected];\n let newInvert = invert;\n if (selectedIndex >= 0) {\n newSelected.splice(selectedIndex, 1);\n } else {\n newSelected.push(name);\n if (newSelected.length === validColumns.length) {\n // Every item is either selected or deselected, flip the inversion bit\n newSelected = [];\n newInvert = !invert;\n }\n }\n\n onChange({ ...aggregation, selected: newSelected, invert: newInvert });\n },\n [aggregation, invert, validColumns, selected, onChange]\n );\n\n const handleReset = useCallback(() => {\n setSort(SortType.NONE);\n onChange({ ...aggregation, selected: [], invert: true });\n }, [aggregation, onChange]);\n\n const handleViewportChange = useCallback(\n (newTop, newBottom) => {\n setTop(newTop);\n setBottom(newBottom);\n },\n [setTop, setBottom]\n );\n\n const toggleAll = useCallback(() => {\n if (selected.length === 0) {\n onChange({ ...aggregation, invert: !invert });\n } else {\n onChange({ ...aggregation, selected: [], invert: true });\n }\n }, [aggregation, invert, onChange, selected]);\n\n const checked = selected.length === 0 ? invert : null;\n const isModified = selected.length !== 0 || !invert || sort !== SortType.NONE;\n\n return (\n <div role=\"menu\" className=\"aggregation-edit\">\n <div className=\"top-menu\">\n <div className=\"form-inline\">\n <Checkbox checked={checked} onChange={toggleAll}>\n Toggle All\n </Checkbox>\n <div className=\"spacer\" />\n <CSSTransition\n in={isModified}\n timeout={ThemeExport.transitionSlowMs}\n classNames=\"fade\"\n mountOnEnter\n unmountOnExit\n >\n <Button kind=\"ghost\" className=\"btn-reset\" onClick={handleReset}>\n Reset\n </Button>\n </CSSTransition>\n <Button\n kind=\"ghost\"\n className={classNames({\n active: sort === SortType.ASCENDING,\n })}\n icon={dhSortAlphaDown}\n tooltip=\"Sort ascending\"\n onClick={() => setSort(SortType.ASCENDING)}\n />\n <Button\n kind=\"ghost\"\n className={classNames({\n active: sort === SortType.DESCENDING,\n })}\n icon={dhSortAlphaUp}\n tooltip=\"Sort descending\"\n onClick={() => setSort(SortType.DESCENDING)}\n />\n </div>\n </div>\n <div className=\"aggregation-edit-item-list\">\n <ItemList\n itemCount={validColumns.length}\n items={items}\n offset={top}\n renderItem={({ item }) => (\n <Checkbox checked={isSelected(item.value)}>\n {item.displayValue}\n </Checkbox>\n )}\n onSelect={handleSelect}\n onViewportChange={handleViewportChange}\n rowHeight={DEFAULT_ROW_HEIGHT}\n focusSelector=\"input\"\n ref={list}\n />\n </div>\n </div>\n );\n}\n\nexport default AggregationEdit;\n"],"mappings":"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"}
1
+ {"version":3,"file":"AggregationEdit.js","names":["React","useCallback","useMemo","useRef","useState","classNames","Button","Checkbox","FadeTransition","ItemList","ThemeExport","dhSortAlphaDown","dhSortAlphaUp","TableUtils","filterValidColumns","jsx","_jsx","jsxs","_jsxs","SortType","DEFAULT_ROW_HEIGHT","AggregationEdit","_ref","aggregation","columns","onChange","top","setTop","bottom","setBottom","sort","setSort","NONE","invert","selected","list","isSelected","name","includes","validColumns","filteredColumns","operation","sortColumns","ASCENDING","items","slice","map","c","value","displayValue","handleSelect","itemIndex","selectedIndex","indexOf","newSelected","newInvert","splice","push","length","_objectSpread","handleReset","handleViewportChange","newTop","newBottom","toggleAll","checked","isModified","role","className","children","in","timeout","transitionSlowMs","mountOnEnter","unmountOnExit","kind","onClick","active","icon","tooltip","DESCENDING","itemCount","offset","renderItem","_ref2","item","onSelect","onViewportChange","rowHeight","focusSelector","ref"],"sources":["../../../src/sidebar/aggregations/AggregationEdit.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport {\n Button,\n Checkbox,\n FadeTransition,\n ItemList,\n ThemeExport,\n} from '@deephaven/components';\nimport { dhSortAlphaDown, dhSortAlphaUp } from '@deephaven/icons';\nimport { TableUtils } from '@deephaven/jsapi-utils';\nimport { Aggregation } from './Aggregations';\nimport { filterValidColumns } from './AggregationUtils';\nimport './AggregationEdit.scss';\nimport { DisplayColumn } from '../../IrisGridModel';\n\ninterface AggregationEditItem {\n value: string;\n displayValue: string;\n}\n\nexport type AggregationEditProps = {\n aggregation: Aggregation;\n columns: readonly DisplayColumn[];\n onChange: (aggregation: Aggregation) => void;\n};\n\nenum SortType {\n NONE,\n ASCENDING,\n DESCENDING,\n}\n\nconst DEFAULT_ROW_HEIGHT = 30;\n\nfunction AggregationEdit({\n aggregation,\n columns,\n onChange,\n}: AggregationEditProps): JSX.Element {\n const [top, setTop] = useState(-1);\n const [bottom, setBottom] = useState(-1);\n const [sort, setSort] = useState(SortType.NONE);\n const { invert, selected } = aggregation;\n const list = useRef<ItemList<AggregationEditItem>>(null);\n\n const isSelected = useCallback(\n name => (selected.includes(name) ? !invert : invert),\n [invert, selected]\n );\n\n const validColumns = useMemo(() => {\n let filteredColumns = filterValidColumns(columns, aggregation.operation);\n if (sort !== SortType.NONE) {\n filteredColumns = TableUtils.sortColumns(\n filteredColumns,\n sort === SortType.ASCENDING\n );\n }\n return filteredColumns;\n }, [columns, aggregation.operation, sort]);\n\n const items = useMemo(\n () =>\n top >= 0\n ? validColumns.slice(top, bottom + 1).map(c => ({\n value: c.name,\n displayValue: c.name,\n isSelected: isSelected(c.name),\n }))\n : [],\n [validColumns, isSelected, bottom, top]\n );\n\n const handleSelect = useCallback(\n itemIndex => {\n const { name } = validColumns[itemIndex];\n const selectedIndex = selected.indexOf(name);\n let newSelected = [...selected];\n let newInvert = invert;\n if (selectedIndex >= 0) {\n newSelected.splice(selectedIndex, 1);\n } else {\n newSelected.push(name);\n if (newSelected.length === validColumns.length) {\n // Every item is either selected or deselected, flip the inversion bit\n newSelected = [];\n newInvert = !invert;\n }\n }\n\n onChange({ ...aggregation, selected: newSelected, invert: newInvert });\n },\n [aggregation, invert, validColumns, selected, onChange]\n );\n\n const handleReset = useCallback(() => {\n setSort(SortType.NONE);\n onChange({ ...aggregation, selected: [], invert: true });\n }, [aggregation, onChange]);\n\n const handleViewportChange = useCallback(\n (newTop, newBottom) => {\n setTop(newTop);\n setBottom(newBottom);\n },\n [setTop, setBottom]\n );\n\n const toggleAll = useCallback(() => {\n if (selected.length === 0) {\n onChange({ ...aggregation, invert: !invert });\n } else {\n onChange({ ...aggregation, selected: [], invert: true });\n }\n }, [aggregation, invert, onChange, selected]);\n\n const checked = selected.length === 0 ? invert : null;\n const isModified = selected.length !== 0 || !invert || sort !== SortType.NONE;\n\n return (\n <div role=\"menu\" className=\"aggregation-edit\">\n <div className=\"top-menu\">\n <div className=\"form-inline\">\n <Checkbox checked={checked} onChange={toggleAll}>\n Toggle All\n </Checkbox>\n <div className=\"spacer\" />\n <FadeTransition\n in={isModified}\n timeout={ThemeExport.transitionSlowMs}\n mountOnEnter\n unmountOnExit\n >\n <Button kind=\"ghost\" className=\"btn-reset\" onClick={handleReset}>\n Reset\n </Button>\n </FadeTransition>\n <Button\n kind=\"ghost\"\n className={classNames({\n active: sort === SortType.ASCENDING,\n })}\n icon={dhSortAlphaDown}\n tooltip=\"Sort ascending\"\n onClick={() => setSort(SortType.ASCENDING)}\n />\n <Button\n kind=\"ghost\"\n className={classNames({\n active: sort === SortType.DESCENDING,\n })}\n icon={dhSortAlphaUp}\n tooltip=\"Sort descending\"\n onClick={() => setSort(SortType.DESCENDING)}\n />\n </div>\n </div>\n <div className=\"aggregation-edit-item-list\">\n <ItemList\n itemCount={validColumns.length}\n items={items}\n offset={top}\n renderItem={({ item }) => (\n <Checkbox checked={isSelected(item.value)}>\n {item.displayValue}\n </Checkbox>\n )}\n onSelect={handleSelect}\n onViewportChange={handleViewportChange}\n rowHeight={DEFAULT_ROW_HEIGHT}\n focusSelector=\"input\"\n ref={list}\n />\n </div>\n </div>\n );\n}\n\nexport default AggregationEdit;\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.69.2-beta.2+5d6ebe92",
3
+ "version": "0.70.1-alpha-picker-table.34+43a0944a",
4
4
  "description": "Deephaven Iris Grid",
5
5
  "author": "Deephaven Data Labs LLC",
6
6
  "license": "Apache-2.0",
@@ -31,18 +31,18 @@
31
31
  "build:sass": "sass --embed-sources --load-path=../../node_modules ./src:./dist"
32
32
  },
33
33
  "dependencies": {
34
- "@deephaven/components": "^0.69.2-beta.2+5d6ebe92",
35
- "@deephaven/console": "^0.69.2-beta.2+5d6ebe92",
36
- "@deephaven/filters": "^0.69.2-beta.2+5d6ebe92",
37
- "@deephaven/grid": "^0.69.2-beta.2+5d6ebe92",
38
- "@deephaven/icons": "^0.69.2-beta.2+5d6ebe92",
39
- "@deephaven/jsapi-components": "^0.69.2-beta.2+5d6ebe92",
34
+ "@deephaven/components": "^0.70.1-alpha-picker-table.34+43a0944a",
35
+ "@deephaven/console": "^0.70.1-alpha-picker-table.34+43a0944a",
36
+ "@deephaven/filters": "^0.70.1-alpha-picker-table.34+43a0944a",
37
+ "@deephaven/grid": "^0.70.1-alpha-picker-table.34+43a0944a",
38
+ "@deephaven/icons": "^0.70.1-alpha-picker-table.34+43a0944a",
39
+ "@deephaven/jsapi-components": "^0.70.1-alpha-picker-table.34+43a0944a",
40
40
  "@deephaven/jsapi-types": "1.0.0-dev0.33.1",
41
- "@deephaven/jsapi-utils": "^0.69.2-beta.2+5d6ebe92",
42
- "@deephaven/log": "^0.69.2-beta.2+5d6ebe92",
43
- "@deephaven/react-hooks": "^0.69.2-beta.2+5d6ebe92",
44
- "@deephaven/storage": "^0.69.2-beta.2+5d6ebe92",
45
- "@deephaven/utils": "^0.69.2-beta.2+5d6ebe92",
41
+ "@deephaven/jsapi-utils": "^0.70.1-alpha-picker-table.34+43a0944a",
42
+ "@deephaven/log": "^0.70.1-alpha-picker-table.34+43a0944a",
43
+ "@deephaven/react-hooks": "^0.70.1-alpha-picker-table.34+43a0944a",
44
+ "@deephaven/storage": "^0.70.1-alpha-picker-table.34+43a0944a",
45
+ "@deephaven/utils": "^0.70.1-alpha-picker-table.34+43a0944a",
46
46
  "@dnd-kit/core": "^6.1.0",
47
47
  "@dnd-kit/sortable": "^7.0.2",
48
48
  "@dnd-kit/utilities": "^3.2.2",
@@ -65,8 +65,8 @@
65
65
  "react-dom": ">=16.8.0"
66
66
  },
67
67
  "devDependencies": {
68
- "@deephaven/jsapi-shim": "^0.69.2-beta.2+5d6ebe92",
69
- "@deephaven/mocks": "^0.69.2-beta.2+5d6ebe92"
68
+ "@deephaven/jsapi-shim": "^0.70.1-alpha-picker-table.34+43a0944a",
69
+ "@deephaven/mocks": "^0.70.1-alpha-picker-table.34+43a0944a"
70
70
  },
71
71
  "files": [
72
72
  "dist",
@@ -78,5 +78,5 @@
78
78
  "publishConfig": {
79
79
  "access": "public"
80
80
  },
81
- "gitHead": "5d6ebe92d91f39c1a2343721f5a4f53a6e02f3a5"
81
+ "gitHead": "43a0944a20bedfc3ec9ae3678daf298276461964"
82
82
  }