This commit is contained in:
@@ -371,9 +371,9 @@ export default {
|
||||
this.$router.push({
|
||||
name: "ay-data-list-view",
|
||||
params: {
|
||||
listViewId: this.listViewId,
|
||||
dataListKey: this.dataListKey,
|
||||
formKey: this.formKey
|
||||
formKey: this.formKey,
|
||||
listViewId: this.listViewId
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
@@ -401,7 +401,7 @@ export default new Router({
|
||||
import(/* webpackChunkName: "ay" */ "./views/ay-customize.vue")
|
||||
},
|
||||
{
|
||||
path: "/ay-data-list-view/:listViewId/:dataListKey/:formKey",
|
||||
path: "/ay-data-list-view/:dataListKey/:formKey/:listViewId",
|
||||
name: "ay-data-list-view",
|
||||
component: () =>
|
||||
import(/* webpackChunkName: "ay" */ "./views/ay-data-list-view.vue")
|
||||
|
||||
@@ -426,6 +426,7 @@
|
||||
|
||||
const FORM_KEY = "ay-data-list-view";
|
||||
const API_BASE_URL = "DataListView/";
|
||||
var JUST_DELETED = false;
|
||||
export default {
|
||||
// beforeRouteEnter(to, from, next) {
|
||||
// var ltKeysRequired = ["DataListView", "GridFilterName"];
|
||||
@@ -435,7 +436,7 @@ export default {
|
||||
//unsaved changes are actually valid for this form so no need to warn
|
||||
beforeRouteLeave(to, from, next) {
|
||||
var vm = this;
|
||||
if (this.formState.dirty) {
|
||||
if (this.formState.dirty && !JUST_DELETED) {
|
||||
//Put in unsaved listview
|
||||
//debugger;
|
||||
var formSettings = window.$gz.form.getFormSettings(vm.formKey);
|
||||
@@ -730,26 +731,6 @@ export default {
|
||||
url = url + vm.listViewId;
|
||||
}
|
||||
|
||||
/*
|
||||
{
|
||||
"id": 0,
|
||||
"concurrencyToken": 0,
|
||||
"userId": 0,
|
||||
"name": "string",
|
||||
"public": true,
|
||||
"listKey": "string",
|
||||
"listView": "string"
|
||||
}
|
||||
|
||||
//Put in unsaved listview
|
||||
//debugger;
|
||||
var formSettings = window.$gz.form.getFormSettings(vm.formKey);
|
||||
formSettings.saved.dataTable.unsavedListView = JSON.stringify(
|
||||
generateListViewFromEdited(vm)
|
||||
);
|
||||
formSettings.saved.dataTable.listViewId = -1;
|
||||
window.$gz.form.setFormSettings(vm.formKey, formSettings);
|
||||
*/
|
||||
//clear any errors vm might be around from previous submit
|
||||
window.$gz.form.deleteAllErrorBoxErrors(this);
|
||||
window.$gz.api
|
||||
@@ -772,22 +753,9 @@ export default {
|
||||
window.$gz.form.setFormSettings(vm.formKey, formSettings);
|
||||
|
||||
//change url to new record
|
||||
//this is the format for listview:
|
||||
//ay-data-list-view/-1/TestWidgetDataList/test-widgets
|
||||
//or 0 if it's coming from the default listview
|
||||
//or id number if it's got one which we don't care about here
|
||||
//so mission is to replace the 0 or -1 with the real id in the url
|
||||
var urlParts = vm.$route.split("/");
|
||||
var newUrl =
|
||||
urlParts[0] +
|
||||
"/" +
|
||||
res.data.id +
|
||||
"/" +
|
||||
urlParts[2] +
|
||||
"/" +
|
||||
urlParts[3];
|
||||
|
||||
vm.$router.replace(newUrl);
|
||||
vm.$router.replace(
|
||||
vm.$route.fullPath.slice(0, -1) + res.data.id
|
||||
);
|
||||
} else {
|
||||
//Handle "put" of an existing record (UPDATE)
|
||||
vm.obj.concurrencyToken = res.data.concurrencyToken;
|
||||
@@ -803,6 +771,48 @@ export default {
|
||||
window.$gz.errorHandler.handleFormError(error, vm);
|
||||
});
|
||||
}
|
||||
},
|
||||
remove() {
|
||||
var vm = this;
|
||||
window.$gz.dialog.confirmDelete().then(dialogResult => {
|
||||
if (dialogResult == true) {
|
||||
//do the delete
|
||||
vm.formState.loading = true;
|
||||
//No need to delete a non saved record, just abandon it...
|
||||
if (vm.listViewId < 1) {
|
||||
//this should not get offered for delete but to be safe and clear just in case:
|
||||
JUST_DELETED = true;
|
||||
// navigate backwards
|
||||
vm.$router.go(-1);
|
||||
} else {
|
||||
var url = API_BASE_URL + vm.listViewId;
|
||||
|
||||
window.$gz.form.deleteAllErrorBoxErrors(vm);
|
||||
window.$gz.api
|
||||
.remove(url)
|
||||
.then(res => {
|
||||
if (res.error != undefined) {
|
||||
vm.formState.serverError = res.error;
|
||||
window.$gz.form.setErrorBoxErrors(vm);
|
||||
} else {
|
||||
//workaround to prevent warning about leaving dirty record
|
||||
//For some reason I couldn't just reset isdirty in formstate
|
||||
JUST_DELETED = true;
|
||||
// navigate backwards
|
||||
vm.$router.go(-1);
|
||||
}
|
||||
})
|
||||
.catch(function handleGetDataFromAPIError(error) {
|
||||
//Update the form status
|
||||
window.$gz.form.setFormState({
|
||||
vm: vm,
|
||||
loading: false
|
||||
});
|
||||
window.$gz.errorHandler.handleFormError(error, vm);
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user