mirror of
https://github.com/pgadmin-org/pgadmin4.git
synced 2025-02-25 18:55:31 -06:00
Ensure that ERD throws a warning before closing unsaved changes if open in a new tab. Fixes #6193
This commit is contained in:
committed by
Akshay Joshi
parent
e10dd6a80f
commit
75f887f5dc
@@ -355,9 +355,14 @@ export default class ERDCore {
|
||||
|
||||
zoomOut() {
|
||||
let model = this.getEngine().getModel();
|
||||
let zoomLevel = model.getZoomLevel();
|
||||
if(model && zoomLevel > 25) {
|
||||
model.setZoomLevel(zoomLevel - 25);
|
||||
if(model) {
|
||||
let zoomLevel = model.getZoomLevel();
|
||||
zoomLevel -= 25;
|
||||
/* Don't go belo zoom level 10 */
|
||||
if(zoomLevel <= 10) {
|
||||
zoomLevel = 10;
|
||||
}
|
||||
model.setZoomLevel(zoomLevel);
|
||||
this.repaint();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -235,6 +235,12 @@ export default class BodyWidget extends React.Component {
|
||||
if(this.props.params.gen) {
|
||||
await this.loadTablesData();
|
||||
}
|
||||
|
||||
window.addEventListener('beforeunload', this.onBeforeUnload.bind(this));
|
||||
}
|
||||
|
||||
componentWillUnmount() {
|
||||
window.removeEventListener('beforeunload', this.onBeforeUnload.bind(this));
|
||||
}
|
||||
|
||||
componentDidUpdate() {
|
||||
@@ -348,6 +354,15 @@ export default class BodyWidget extends React.Component {
|
||||
}
|
||||
}
|
||||
|
||||
onBeforeUnload(e) {
|
||||
if(this.state.dirty) {
|
||||
e.preventDefault();
|
||||
e.returnValue = 'prevent';
|
||||
} else {
|
||||
delete e['returnValue'];
|
||||
}
|
||||
}
|
||||
|
||||
onEditNode() {
|
||||
const selected = this.diagram.getSelectedNodes();
|
||||
if(selected.length == 1) {
|
||||
|
||||
Reference in New Issue
Block a user