@deephaven/iris-grid 0.104.0 → 0.104.1-beta.11

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.
@@ -0,0 +1,7 @@
1
+ export type NoPastePermissionModalProps = {
2
+ isOpen: boolean;
3
+ onClose: () => void;
4
+ errorMessage: string;
5
+ };
6
+ export declare function NoPastePermissionModal({ isOpen, onClose, errorMessage, }: NoPastePermissionModalProps): JSX.Element;
7
+ //# sourceMappingURL=NoPastePermissionModal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NoPastePermissionModal.d.ts","sourceRoot":"","sources":["../src/NoPastePermissionModal.tsx"],"names":[],"mappings":"AASA,MAAM,MAAM,2BAA2B,GAAG;IACxC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,EACrC,MAAM,EACN,OAAO,EACP,YAAY,GACb,EAAE,2BAA2B,GAAG,GAAG,CAAC,OAAO,CAgB3C"}
@@ -0,0 +1,33 @@
1
+ import { Button, GLOBAL_SHORTCUTS, Modal, ModalBody, ModalFooter, ModalHeader } from '@deephaven/components';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { jsxs as _jsxs } from "react/jsx-runtime";
4
+ export function NoPastePermissionModal(_ref) {
5
+ var {
6
+ isOpen,
7
+ onClose,
8
+ errorMessage
9
+ } = _ref;
10
+ var pasteShortcutText = GLOBAL_SHORTCUTS.PASTE.getDisplayText();
11
+ return /*#__PURE__*/_jsxs(Modal, {
12
+ isOpen: isOpen,
13
+ toggle: onClose,
14
+ centered: true,
15
+ children: [/*#__PURE__*/_jsx(ModalHeader, {
16
+ closeButton: false,
17
+ children: "No Paste Permission"
18
+ }), /*#__PURE__*/_jsxs(ModalBody, {
19
+ children: [/*#__PURE__*/_jsx("p", {
20
+ children: errorMessage
21
+ }), /*#__PURE__*/_jsxs("p", {
22
+ children: ["You can still use ", pasteShortcutText, " to paste."]
23
+ })]
24
+ }), /*#__PURE__*/_jsx(ModalFooter, {
25
+ children: /*#__PURE__*/_jsx(Button, {
26
+ kind: "primary",
27
+ onClick: onClose,
28
+ children: "Dismiss"
29
+ })
30
+ })]
31
+ });
32
+ }
33
+ //# sourceMappingURL=NoPastePermissionModal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NoPastePermissionModal.js","names":["Button","GLOBAL_SHORTCUTS","Modal","ModalBody","ModalFooter","ModalHeader","jsx","_jsx","jsxs","_jsxs","NoPastePermissionModal","_ref","isOpen","onClose","errorMessage","pasteShortcutText","PASTE","getDisplayText","toggle","centered","children","closeButton","kind","onClick"],"sources":["../src/NoPastePermissionModal.tsx"],"sourcesContent":["import {\n Button,\n GLOBAL_SHORTCUTS,\n Modal,\n ModalBody,\n ModalFooter,\n ModalHeader,\n} from '@deephaven/components';\n\nexport type NoPastePermissionModalProps = {\n isOpen: boolean;\n onClose: () => void;\n errorMessage: string;\n};\n\nexport function NoPastePermissionModal({\n isOpen,\n onClose,\n errorMessage,\n}: NoPastePermissionModalProps): JSX.Element {\n const pasteShortcutText = GLOBAL_SHORTCUTS.PASTE.getDisplayText();\n return (\n <Modal isOpen={isOpen} toggle={onClose} centered>\n <ModalHeader closeButton={false}>No Paste Permission</ModalHeader>\n <ModalBody>\n <p>{errorMessage}</p>\n <p>You can still use {pasteShortcutText} to paste.</p>\n </ModalBody>\n <ModalFooter>\n <Button kind=\"primary\" onClick={onClose}>\n Dismiss\n </Button>\n </ModalFooter>\n </Modal>\n );\n}\n"],"mappings":"AAAA,SACEA,MAAM,EACNC,gBAAgB,EAChBC,KAAK,EACLC,SAAS,EACTC,WAAW,EACXC,WAAW,QACN,uBAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAQ/B,OAAO,SAASC,sBAAsBA,CAAAC,IAAA,EAIO;EAAA,IAJN;IACrCC,MAAM;IACNC,OAAO;IACPC;EAC2B,CAAC,GAAAH,IAAA;EAC5B,IAAMI,iBAAiB,GAAGd,gBAAgB,CAACe,KAAK,CAACC,cAAc,CAAC,CAAC;EACjE,oBACER,KAAA,CAACP,KAAK;IAACU,MAAM,EAAEA,MAAO;IAACM,MAAM,EAAEL,OAAQ;IAACM,QAAQ;IAAAC,QAAA,gBAC9Cb,IAAA,CAACF,WAAW;MAACgB,WAAW,EAAE,KAAM;MAAAD,QAAA,EAAC;IAAmB,CAAa,CAAC,eAClEX,KAAA,CAACN,SAAS;MAAAiB,QAAA,gBACRb,IAAA;QAAAa,QAAA,EAAIN;MAAY,CAAI,CAAC,eACrBL,KAAA;QAAAW,QAAA,GAAG,oBAAkB,EAACL,iBAAiB,EAAC,YAAU;MAAA,CAAG,CAAC;IAAA,CAC7C,CAAC,eACZR,IAAA,CAACH,WAAW;MAAAgB,QAAA,eACVb,IAAA,CAACP,MAAM;QAACsB,IAAI,EAAC,SAAS;QAACC,OAAO,EAAEV,OAAQ;QAAAO,QAAA,EAAC;MAEzC,CAAQ;IAAC,CACE,CAAC;EAAA,CACT,CAAC;AAEZ"}
@@ -1 +1 @@
1
- {"version":3,"file":"IrisGridContextMenuHandler.d.ts","sourceRoot":"","sources":["../../src/mousehandlers/IrisGridContextMenuHandler.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IrisGridContextMenuHandler.d.ts","sourceRoot":"","sources":["../../src/mousehandlers/IrisGridContextMenuHandler.tsx"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ import { ContextActions, ContextActionUtils, GLOBAL_SHORTCUTS } from '@deephaven
14
14
  import { GridMouseHandler, GridRange, GridRenderer, isDeletableGridModel, isEditableGridModel, isExpandableGridModel } from '@deephaven/grid';
15
15
  import { TableColumnFormatter, DateTimeColumnFormatter, TableUtils } from '@deephaven/jsapi-utils';
16
16
  import Log from '@deephaven/log';
17
- import { TextUtils, assertNotEmpty, assertNotNaN, assertNotNull, copyToClipboard } from '@deephaven/utils';
17
+ import { ClipboardPermissionsDeniedError, ClipboardUnavailableError, TextUtils, assertNotEmpty, assertNotNaN, assertNotNull, copyToClipboard, readFromClipboard } from '@deephaven/utils';
18
18
  import { DateTimeFormatContextMenu, DecimalFormatContextMenu, IntegerFormatContextMenu } from "../format-context-menus/index.js";
19
19
  import "./IrisGridContextMenuHandler.css";
20
20
  import SHORTCUTS from "../IrisGridShortcuts.js";
@@ -277,6 +277,9 @@ class IrisGridContextMenuHandler extends GridMouseHandler {
277
277
  row: sourceRow
278
278
  } = sourceCell;
279
279
  var value = model.valueForCell(sourceColumn, sourceRow);
280
+ var {
281
+ selectedRanges
282
+ } = irisGrid.state;
280
283
  var column = columns[sourceColumn];
281
284
  var actions = [];
282
285
  var theme = irisGrid.getTheme();
@@ -357,6 +360,43 @@ class IrisGridContextMenuHandler extends GridMouseHandler {
357
360
  }
358
361
  });
359
362
  }
363
+ if (isEditableGridModel(model) && model.isEditable) {
364
+ // selectedRanges is updated by GridSelectionMouseHandler in the same cycle so can't access the updated value here
365
+ // so need to handle cases where a cell is right clicked without highlighting it first
366
+ var canPasteInOriginalRange = selectedRanges.every(range => model.isEditableRange(range));
367
+
368
+ // To account for how when a cell outside of a selection is right clicked, that selection gets cleared
369
+ var isCellInOriginalRange = GridRange.containsCell(selectedRanges, columnIndex, rowIndex);
370
+ var canPasteInCell = model.isEditableRange(GridRange.makeCell(columnIndex, rowIndex));
371
+ if ((canPasteInOriginalRange || !isCellInOriginalRange) && canPasteInCell) {
372
+ actions.push({
373
+ title: 'Paste',
374
+ group: IrisGridContextMenuHandler.GROUP_COPY,
375
+ order: 50,
376
+ action: function () {
377
+ var _action = _asyncToGenerator(function* () {
378
+ try {
379
+ var text = yield readFromClipboard();
380
+ var items = text.split('\n').map(row => row.split('\t'));
381
+ yield grid.pasteValue(items);
382
+ } catch (err) {
383
+ if (err instanceof ClipboardUnavailableError) {
384
+ irisGrid.handleOpenNoPastePermissionModal('For security reasons your browser does not allow access to your clipboard on click.');
385
+ } else if (err instanceof ClipboardPermissionsDeniedError) {
386
+ irisGrid.handleOpenNoPastePermissionModal('Requested clipboard permissions have not been granted, please grant them and try again.');
387
+ } else {
388
+ throw err;
389
+ }
390
+ }
391
+ });
392
+ function action() {
393
+ return _action.apply(this, arguments);
394
+ }
395
+ return action;
396
+ }()
397
+ });
398
+ }
399
+ }
360
400
  actions.push({
361
401
  title: 'View Cell Contents',
362
402
  group: IrisGridContextMenuHandler.GROUP_VIEW_CONTENTS,