diff --git a/ayanova/src/views/ay-data-list-view.vue b/ayanova/src/views/ay-data-list-view.vue index d65a1cc4..d3340e2c 100644 --- a/ayanova/src/views/ay-data-list-view.vue +++ b/ayanova/src/views/ay-data-list-view.vue @@ -813,6 +813,40 @@ export default { } } }); + }, + duplicate() { + var vm = this; + if (this.canDuplicate && vm.listViewId > 0) { + this.formState.loading = true; + + var url = API_BASE_URL + "duplicate/" + vm.listViewId; + + //clear any errors vm might be around from previous submit + window.$gz.form.deleteAllErrorBoxErrors(this); + window.$gz.api + .duplicate(url) + .then(res => { + // debugger; + vm.formState.loading = false; + if (res.error != undefined) { + vm.formState.serverError = res.error; + window.$gz.form.setErrorBoxErrors(vm); + } else { + //Navigate to new record + vm.$router.push( + vm.$route.fullPath.slice(0, -1) + res.data.id + // window.$gz.api.replaceAfterLastSlash( + // vm.$route.fullPath, + // res.data.id + // ) + ); + } + }) + .catch(function handleDuplicateError(error) { + vm.formState.loading = false; + window.$gz.errorHandler.handleFormError(error, vm); + }); + } } } };