diff --git a/src/components/BrowserCell/BrowserCell.react.js b/src/components/BrowserCell/BrowserCell.react.js
index 1bff7f30f6..29f399e3f8 100644
--- a/src/components/BrowserCell/BrowserCell.react.js
+++ b/src/components/BrowserCell/BrowserCell.react.js
@@ -117,6 +117,16 @@ export default class BrowserCell extends Component {
}
});
+ if ( this.props.type === 'Pointer' ) {
+ onEditSelectedRow && contextMenuOptions.push({
+ text: 'Open pointer in new tab',
+ callback: () => {
+ let { value, onPointerCmdClick } = this.props;
+ onPointerCmdClick(value);
+ }
+ });
+ }
+
return contextMenuOptions;
}
@@ -214,7 +224,7 @@ export default class BrowserCell extends Component {
//#endregion
render() {
- let { type, value, hidden, width, current, onSelect, onEditChange, setCopyableValue, setRelation, onPointerClick, row, col, field, onEditSelectedRow, readonly, isRequired, markRequiredFieldRow } = this.props;
+ let { type, value, hidden, width, current, onSelect, onEditChange, setCopyableValue, setRelation, onPointerClick, onPointerCmdClick, row, col, field, onEditSelectedRow, readonly, isRequired, markRequiredFieldRow } = this.props;
let content = value;
let isNewRow = row < 0;
this.copyableValue = content;
@@ -343,9 +353,13 @@ export default class BrowserCell extends Component {
ref={this.cellRef}
className={classes.join(' ')}
style={{ width }}
- onClick={() => {
- onSelect({ row, col });
- setCopyableValue(hidden ? undefined : this.copyableValue);
+ onClick={(e) => {
+ if ( e.metaKey === true && type === 'Pointer') {
+ onPointerCmdClick(value);
+ } else {
+ onSelect({ row, col });
+ setCopyableValue(hidden ? undefined : this.copyableValue);
+ }
}}
onDoubleClick={() => {
if (field === 'objectId' && onEditSelectedRow) {
@@ -366,9 +380,14 @@ export default class BrowserCell extends Component {
ref={this.cellRef}
className={classes.join(' ')}
style={{ width }}
- onClick={() => {
- onSelect({ row, col });
- setCopyableValue(hidden ? undefined : this.copyableValue);
+ onClick={(e) => {
+ if ( e.metaKey === true && type === 'Pointer' ) {
+ onPointerCmdClick(value);
+ }
+ else {
+ onSelect({ row, col });
+ setCopyableValue(hidden ? undefined : this.copyableValue);
+ }
}}
onDoubleClick={() => {
// Since objectId can't be edited, double click event opens edit row dialog
diff --git a/src/components/BrowserRow/BrowserRow.react.js b/src/components/BrowserRow/BrowserRow.react.js
index 367decb2ed..25924d651e 100644
--- a/src/components/BrowserRow/BrowserRow.react.js
+++ b/src/components/BrowserRow/BrowserRow.react.js
@@ -19,7 +19,7 @@ export default class BrowserRow extends Component {
}
render() {
- const { className, columns, currentCol, isUnique, obj, onPointerClick, order, readOnlyFields, row, rowWidth, selection, selectRow, setCopyableValue, setCurrent, setEditing, setRelation, onEditSelectedRow, setContextMenu, onFilterChange, markRequiredFieldRow } = this.props;
+ const { className, columns, currentCol, isUnique, obj, onPointerClick, onPointerCmdClick, order, readOnlyFields, row, rowWidth, selection, selectRow, setCopyableValue, setCurrent, setEditing, setRelation, onEditSelectedRow, setContextMenu, onFilterChange, markRequiredFieldRow } = this.props;
let attributes = obj.attributes;
let requiredCols = [];
Object.entries(columns).reduce((acc, cur) => {
@@ -89,6 +89,7 @@ export default class BrowserRow extends Component {
onSelect={setCurrent}
onEditChange={setEditing}
onPointerClick={onPointerClick}
+ onPointerCmdClick={onPointerCmdClick}
onFilterChange={onFilterChange}
setRelation={setRelation}
objectId={obj.id}
@@ -104,4 +105,4 @@ export default class BrowserRow extends Component {
);
}
-}
\ No newline at end of file
+}
diff --git a/src/components/Pill/Pill.react.js b/src/components/Pill/Pill.react.js
index 32b7cb1b43..45c6aa9d5a 100644
--- a/src/components/Pill/Pill.react.js
+++ b/src/components/Pill/Pill.react.js
@@ -20,7 +20,7 @@ let Pill = ({ value, onClick, fileDownloadLink, followClick = false }) => (
>
{value}
{followClick && (
-
+ !e.metaKey && onClick()}>
)}
diff --git a/src/components/Toolbar/Toolbar.react.js b/src/components/Toolbar/Toolbar.react.js
index 12f0275668..b73378ff86 100644
--- a/src/components/Toolbar/Toolbar.react.js
+++ b/src/components/Toolbar/Toolbar.react.js
@@ -15,7 +15,7 @@ const goBack = () => history.goBack();
let Toolbar = (props) => {
let backButton;
- if (props.relation || (props.filters && props.filters.size)) {
+ if ((props.relation || (props.filters && props.filters.size)) && history.action !== 'POP') {
backButton = (
= -1 && this.props.editCloneRows) {
//for data rows & new row when there are edit clone rows
wrapTop += (2 * ROW_HEIGHT) * (this.props.editCloneRows.length);
- }
+ }
let wrapLeft = 30;
for (let i = 0; i < this.props.current.col; i++) {
const column = this.props.order[i];