This commit is contained in:
@@ -371,9 +371,9 @@ export default {
|
|||||||
this.$router.push({
|
this.$router.push({
|
||||||
name: "ay-data-list-view",
|
name: "ay-data-list-view",
|
||||||
params: {
|
params: {
|
||||||
listViewId: this.listViewId,
|
|
||||||
dataListKey: this.dataListKey,
|
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")
|
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",
|
name: "ay-data-list-view",
|
||||||
component: () =>
|
component: () =>
|
||||||
import(/* webpackChunkName: "ay" */ "./views/ay-data-list-view.vue")
|
import(/* webpackChunkName: "ay" */ "./views/ay-data-list-view.vue")
|
||||||
|
|||||||
@@ -426,6 +426,7 @@
|
|||||||
|
|
||||||
const FORM_KEY = "ay-data-list-view";
|
const FORM_KEY = "ay-data-list-view";
|
||||||
const API_BASE_URL = "DataListView/";
|
const API_BASE_URL = "DataListView/";
|
||||||
|
var JUST_DELETED = false;
|
||||||
export default {
|
export default {
|
||||||
// beforeRouteEnter(to, from, next) {
|
// beforeRouteEnter(to, from, next) {
|
||||||
// var ltKeysRequired = ["DataListView", "GridFilterName"];
|
// var ltKeysRequired = ["DataListView", "GridFilterName"];
|
||||||
@@ -435,7 +436,7 @@ export default {
|
|||||||
//unsaved changes are actually valid for this form so no need to warn
|
//unsaved changes are actually valid for this form so no need to warn
|
||||||
beforeRouteLeave(to, from, next) {
|
beforeRouteLeave(to, from, next) {
|
||||||
var vm = this;
|
var vm = this;
|
||||||
if (this.formState.dirty) {
|
if (this.formState.dirty && !JUST_DELETED) {
|
||||||
//Put in unsaved listview
|
//Put in unsaved listview
|
||||||
//debugger;
|
//debugger;
|
||||||
var formSettings = window.$gz.form.getFormSettings(vm.formKey);
|
var formSettings = window.$gz.form.getFormSettings(vm.formKey);
|
||||||
@@ -730,26 +731,6 @@ export default {
|
|||||||
url = url + vm.listViewId;
|
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
|
//clear any errors vm might be around from previous submit
|
||||||
window.$gz.form.deleteAllErrorBoxErrors(this);
|
window.$gz.form.deleteAllErrorBoxErrors(this);
|
||||||
window.$gz.api
|
window.$gz.api
|
||||||
@@ -772,22 +753,9 @@ export default {
|
|||||||
window.$gz.form.setFormSettings(vm.formKey, formSettings);
|
window.$gz.form.setFormSettings(vm.formKey, formSettings);
|
||||||
|
|
||||||
//change url to new record
|
//change url to new record
|
||||||
//this is the format for listview:
|
vm.$router.replace(
|
||||||
//ay-data-list-view/-1/TestWidgetDataList/test-widgets
|
vm.$route.fullPath.slice(0, -1) + res.data.id
|
||||||
//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);
|
|
||||||
} else {
|
} else {
|
||||||
//Handle "put" of an existing record (UPDATE)
|
//Handle "put" of an existing record (UPDATE)
|
||||||
vm.obj.concurrencyToken = res.data.concurrencyToken;
|
vm.obj.concurrencyToken = res.data.concurrencyToken;
|
||||||
@@ -803,6 +771,48 @@ export default {
|
|||||||
window.$gz.errorHandler.handleFormError(error, vm);
|
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