This commit is contained in:
2019-12-06 20:52:28 +00:00
parent 0859846fbf
commit ccbf2b7967

View File

@@ -119,6 +119,20 @@ export default {
window.$gz.errorHandler.handleFormError(err);
});
},
beforeRouteLeave(to, from, next) {
//var vm = this;
if (this.formState.dirty) {
window.$gz.dialog.confirmLeaveUnsaved().then(dialogResult => {
if (dialogResult == true) {
next();
} else {
next(false);
}
});
} else {
next();
}
},
created() {
//NOTE: this would normally be in getDataFromAPI but this form doesn't really need that function so doing it here
//modify the menu as necessary
@@ -143,41 +157,14 @@ export default {
},
formState: {
ready: false,
errorBoxMessage: null
errorBoxMessage: null,
dirty: false
},
rights: window.$gz.role.getRights(window.$gz.type.FormCustom)
//,tempTemplate: window.$gz.store.state.formCustomTemplate["widget"]
};
},
// //WATCHERS
// watch: {
// formState: {
// handler: function(val) {
// //,oldval is available here too if necessary
// if (this.formState.loading) {
// return;
// }
// //enable / disable save button
// var canSave = val.dirty && val.valid && !val.readOnly;
// if (canSave) {
// window.$gz.eventBus.$emit("menu-enable-item", FORM_KEY + ":save");
// } else {
// window.$gz.eventBus.$emit("menu-disable-item", FORM_KEY + ":save");
// }
// },
// deep: true
// }
// },
// computed: {
// canSave: function() {
// return this.formState.valid && this.formState.dirty;
// },
// canDuplicate: function() {
// return this.formState.valid && !this.formState.dirty;
// }
// },
// components: {},
methods: {
lt: function(ltkey) {
return window.$gz.locale.get(ltkey);
@@ -187,6 +174,7 @@ export default {
if (item.required && item.visible == false) {
item.required = false;
}
this.formState.dirty = true;
enableSaveButton();
},
requiredChanged: function(item) {
@@ -194,10 +182,12 @@ export default {
if (item.required && item.visible == false) {
item.visible = true;
}
this.formState.dirty = true;
enableSaveButton();
},
dataTypeChanged: function(item) {
//nothing to scan here just set form dirty
this.formState.dirty = true;
enableSaveButton();
}
}