@@ -117,6 +117,16 @@ export default class BrowserCell extends Component {
117117 }
118118 } ) ;
119119
120+ if ( this . props . type === 'Pointer' ) {
121+ onEditSelectedRow && contextMenuOptions . push ( {
122+ text : 'Open pointer in new tab' ,
123+ callback : ( ) => {
124+ let { value, onPointerCmdClick } = this . props ;
125+ onPointerCmdClick ( value ) ;
126+ }
127+ } ) ;
128+ }
129+
120130 return contextMenuOptions ;
121131 }
122132
@@ -214,7 +224,7 @@ export default class BrowserCell extends Component {
214224 //#endregion
215225
216226 render ( ) {
217- let { type, value, hidden, width, current, onSelect, onEditChange, setCopyableValue, setRelation, onPointerClick, row, col, field, onEditSelectedRow, readonly, isRequired, markRequiredFieldRow } = this . props ;
227+ let { type, value, hidden, width, current, onSelect, onEditChange, setCopyableValue, setRelation, onPointerClick, onPointerCmdClick , row, col, field, onEditSelectedRow, readonly, isRequired, markRequiredFieldRow } = this . props ;
218228 let content = value ;
219229 let isNewRow = row < 0 ;
220230 this . copyableValue = content ;
@@ -343,9 +353,13 @@ export default class BrowserCell extends Component {
343353 ref = { this . cellRef }
344354 className = { classes . join ( ' ' ) }
345355 style = { { width } }
346- onClick = { ( ) => {
347- onSelect ( { row, col } ) ;
348- setCopyableValue ( hidden ? undefined : this . copyableValue ) ;
356+ onClick = { ( e ) => {
357+ if ( e . metaKey === true && type === 'Pointer' ) {
358+ onPointerCmdClick ( value ) ;
359+ } else {
360+ onSelect ( { row, col } ) ;
361+ setCopyableValue ( hidden ? undefined : this . copyableValue ) ;
362+ }
349363 } }
350364 onDoubleClick = { ( ) => {
351365 if ( field === 'objectId' && onEditSelectedRow ) {
@@ -366,9 +380,14 @@ export default class BrowserCell extends Component {
366380 ref = { this . cellRef }
367381 className = { classes . join ( ' ' ) }
368382 style = { { width } }
369- onClick = { ( ) => {
370- onSelect ( { row, col } ) ;
371- setCopyableValue ( hidden ? undefined : this . copyableValue ) ;
383+ onClick = { ( e ) => {
384+ if ( e . metaKey === true && type === 'Pointer' ) {
385+ onPointerCmdClick ( value ) ;
386+ }
387+ else {
388+ onSelect ( { row, col } ) ;
389+ setCopyableValue ( hidden ? undefined : this . copyableValue ) ;
390+ }
372391 } }
373392 onDoubleClick = { ( ) => {
374393 // Since objectId can't be edited, double click event opens edit row dialog
0 commit comments