This commit is contained in:
2020-06-19 23:58:52 +00:00
parent f02888fae7
commit 5e1efbab24
18 changed files with 431 additions and 479 deletions

View File

@@ -284,7 +284,7 @@ export default {
window.$gz.errorHandler.handleFormError(error, vm);
}
},
submit() {
async submit() {
let vm = this;
let url = API_BASE_URL;
//clear any errors vm might be around from previous submit
@@ -306,64 +306,64 @@ export default {
});
}
}
//now set the template as a json string
newObj.template = JSON.stringify(temp);
window.$gz.api
.upsert(url, newObj)
.then(res => {
vm.formState.loading = false;
try {
//now set the template as a json string
newObj.template = JSON.stringify(temp);
let res = await window.$gz.api.upsert(url, newObj);
vm.formState.loading = false;
if (res.error) {
vm.formState.serverError = res.error;
window.$gz.form.setErrorBoxErrors(vm);
} else {
//It's a 204 no data response so no error means it's ok
//form is now clean
window.$gz.form.setFormState({
vm: vm,
dirty: false
});
}
} catch (error) {
vm.formState.loading = false;
window.$gz.errorHandler.handleFormError(error, vm);
}
},
async remove() {
let vm = this;
if (
(await window.$gz.dialog.confirmGeneric(
"ResetToDefault",
"warning"
)) !== true
) {
return;
}
try {
//do the delete
vm.formState.loading = true;
//No need to delete a new record, just abandon it...
if (vm.templateId && vm.templateId != 0) {
let url = API_BASE_URL + vm.templateId;
window.$gz.form.deleteAllErrorBoxErrors(vm);
let res = await window.$gz.api.remove(url);
if (res.error) {
vm.formState.serverError = res.error;
window.$gz.form.setErrorBoxErrors(vm);
} else {
//It's a 204 no data response so no error means it's ok
//form is now clean
window.$gz.form.setFormState({
vm: vm,
dirty: false
});
}
})
.catch(function handleSubmitError(error) {
vm.formState.loading = false;
window.$gz.errorHandler.handleFormError(error, vm);
});
},
remove() {
let vm = this;
window.$gz.dialog
.confirmGeneric("ResetToDefault", "warning")
.then(dialogResult => {
if (dialogResult == true) {
//do the delete
vm.formState.loading = true;
//No need to delete a new record, just abandon it...
if (vm.templateId && vm.templateId != 0) {
let url = API_BASE_URL + vm.templateId;
window.$gz.form.deleteAllErrorBoxErrors(vm);
window.$gz.api
.remove(url)
.then(res => {
if (res.error) {
vm.formState.serverError = res.error;
window.$gz.form.setErrorBoxErrors(vm);
} else {
//trigger reload of form
this.getDataFromApi();
}
})
.catch(function handleGetDataFromAPIError(error) {
//Update the form status
window.$gz.form.setFormState({
vm: vm,
loading: false
});
window.$gz.errorHandler.handleFormError(error, vm);
});
}
//trigger reload of form
this.getDataFromApi();
}
}
} catch (error) {
//Update the form status
window.$gz.form.setFormState({
vm: vm,
loading: false
});
window.$gz.errorHandler.handleFormError(error, vm);
}
}
}
};
@@ -453,24 +453,21 @@ function initForm(vm) {
//
// Ensures UI translated text is available
//
function fetchTranslatedText(vm) {
let tKeysRequired = ["Include", "ResetToDefault"];
return window.$gz.translation.cacheTranslations(tKeysRequired);
async function fetchTranslatedText(vm) {
await window.$gz.translation.cacheTranslations(["Include", "ResetToDefault"]);
}
//////////////////////
//
//
function populateSelectionLists(vm) {
return window.$gz.api.get(API_BASE_URL + "List").then(res => {
if (res.error) {
window.$gz.errorHandler.handleFormError(res.error, vm);
} else {
vm.selectLists.pickListTemplates = res.data;
window.$gz.form.addNoSelectionItem(vm.selectLists.pickListTemplates);
}
});
async function populateSelectionLists(vm) {
let res = await window.$gz.api.get(API_BASE_URL + "List");
if (res.error) {
window.$gz.errorHandler.handleFormError(res.error, vm);
} else {
vm.selectLists.pickListTemplates = res.data;
window.$gz.form.addNoSelectionItem(vm.selectLists.pickListTemplates);
}
}
////////////////////

View File

@@ -28,26 +28,26 @@ export default {
}
});
},
created() {
async created() {
let vm = this;
initForm(vm)
.then(() => {
vm.rights = window.$gz.role.getRights(window.$gz.type.UserOptions);
vm.formState.ready = true;
// window.$gz.eventBus.$on("menu-click", clickHandler);
// //UserOptions never creates a new one so this code is a little different than other forms
// //NOTE: FOR NOW GOING TO ASSUME THIS FORM WILL ONLY EVER BE USED TO EDIT *CURRENT* USER'S USEROPTIONS
// //SO NOT FOR EDITING OTHER USERS, WILL ASSUME THE USER EDITOR FORM FOR MANAGEMENT WILL HAVE A COMPACT VERSION
// //OF THESE SAME FIELDS FOR THAT PURPOSE
// //SO ALWAYS USER CURRENT LOGGED IN USER ID FOR THIS
// //id 0 means create a new record don't load one but thats not applicable here
try {
initForm(vm);
// vm.getDataFromApi();
})
.catch(err => {
vm.formState.ready = true;
window.$gz.errorHandler.handleFormError(err, vm);
});
vm.rights = window.$gz.role.getRights(window.$gz.type.UserOptions);
vm.formState.ready = true;
// window.$gz.eventBus.$on("menu-click", clickHandler);
// //UserOptions never creates a new one so this code is a little different than other forms
// //NOTE: FOR NOW GOING TO ASSUME THIS FORM WILL ONLY EVER BE USED TO EDIT *CURRENT* USER'S USEROPTIONS
// //SO NOT FOR EDITING OTHER USERS, WILL ASSUME THE USER EDITOR FORM FOR MANAGEMENT WILL HAVE A COMPACT VERSION
// //OF THESE SAME FIELDS FOR THAT PURPOSE
// //SO ALWAYS USER CURRENT LOGGED IN USER ID FOR THIS
// //id 0 means create a new record don't load one but thats not applicable here
// vm.getDataFromApi();
} catch (err) {
vm.formState.ready = true;
window.$gz.errorHandler.handleFormError(err, vm);
}
},
data() {
return {
@@ -86,8 +86,8 @@ function initForm(vm) {
//
// Ensures UI translated text is available
//
function fetchTranslatedText(vm) {
return window.$gz.translation.cacheTranslations([
async function fetchTranslatedText(vm) {
await window.$gz.translation.cacheTranslations([
"UserInterfaceSettings",
"PickListTemplates"
]);

View File

@@ -203,20 +203,19 @@ const API_BASE_URL = null;
const FORM_CUSTOM_TEMPLATE_KEY = null;
export default {
created() {
async created() {
let vm = this;
initForm(vm)
.then(() => {
vm.rights = window.$gz.role.getRights(window.$gz.type.License);
generateMenu(vm);
vm.formState.loading = false;
vm.formState.ready = true;
window.$gz.eventBus.$on("menu-click", clickHandler);
})
.catch(err => {
vm.formState.ready = true;
window.$gz.errorHandler.handleFormError(err, vm);
});
try {
initForm(vm);
vm.rights = window.$gz.role.getRights(window.$gz.type.License);
generateMenu(vm);
vm.formState.loading = false;
vm.formState.ready = true;
window.$gz.eventBus.$on("menu-click", clickHandler);
} catch (err) {
vm.formState.ready = true;
window.$gz.errorHandler.handleFormError(err, vm);
}
},
beforeDestroy() {
window.$gz.eventBus.$off("menu-click", clickHandler);
@@ -586,8 +585,8 @@ function initForm(vm) {
//
// Ensures UI translated text is available
//
function fetchTranslatedText(vm) {
return window.$gz.translation.cacheTranslations([
async function fetchTranslatedText(vm) {
await window.$gz.translation.cacheTranslations([
"RegisteredUser",
"DatabaseID",
"LicenseSerial",

View File

@@ -127,19 +127,18 @@
import ayaNovaVersion from "../api/ayanova-version";
export default {
created() {
async created() {
let vm = this;
initForm(vm)
.then(() => {
vm.formState.ready = true;
window.$gz.eventBus.$on("menu-click", clickHandler);
generateMenu(vm);
vm.formState.loading = false;
})
.catch(err => {
vm.formState.ready = true;
window.$gz.errorHandler.handleFormError(err, vm);
});
try {
initForm(vm);
vm.formState.ready = true;
window.$gz.eventBus.$on("menu-click", clickHandler);
generateMenu(vm);
vm.formState.loading = false;
} catch (err) {
vm.formState.ready = true;
window.$gz.errorHandler.handleFormError(err, vm);
}
},
beforeDestroy() {
window.$gz.eventBus.$off("menu-click", clickHandler);
@@ -270,8 +269,8 @@ function initForm(vm) {
//
// Ensures UI translated text is available
//
function fetchTranslatedText(vm) {
let tKeysRequired = [
async function fetchTranslatedText(vm) {
await window.$gz.translation.cacheTranslations([
"HelpAboutAyaNova",
"CopySupportInfo",
"Server",
@@ -293,22 +292,19 @@ function fetchTranslatedText(vm) {
"LanguageCode",
"TimeZone",
"CurrencyCode"
];
return window.$gz.translation.cacheTranslations(tKeysRequired);
]);
}
////////////////////
//
function getServerInfo(vm) {
return window.$gz.api.get("server-info").then(res => {
//We never expect there to be no data here
if (!res.data) {
throw res;
} else {
vm.serverInfo = res.data;
}
});
async function getServerInfo(vm) {
let res = await window.$gz.api.get("server-info");
//We never expect there to be no data here
if (!res.data) {
throw res;
} else {
vm.serverInfo = res.data;
}
}
////////////////////

View File

@@ -63,43 +63,38 @@
const FORM_KEY = "customize";
const API_BASE_URL = "form-custom/";
export default {
beforeRouteLeave(to, from, next) {
//let vm = this;
if (this.formState.dirty) {
window.$gz.dialog.confirmLeaveUnsaved().then(dialogResult => {
if (dialogResult == true) {
next();
} else {
next(false);
}
});
} else {
async beforeRouteLeave(to, from, next) {
if (!this.formState.dirty) {
next();
return;
}
if ((await window.$gz.dialog.confirmLeaveUnsaved()) === true) {
next();
} else {
next(false);
}
},
beforeDestroy() {
window.$gz.eventBus.$off("menu-click", clickHandler);
},
created() {
async created() {
let vm = this;
try {
initForm(vm);
initForm(vm)
.then(() => {
vm.formState.readOnly = !vm.rights.change;
window.$gz.eventBus.$on("menu-click", clickHandler);
//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
generateMenu(vm, false); //default is never read only and passing in this vm
//init disable save button so it can be enabled only on edit to show dirty form
window.$gz.eventBus.$emit("menu-disable-item", FORM_KEY + ":save");
})
.catch(err => {
window.$gz.errorHandler.handleFormError(err, vm);
})
.finally(function() {
vm.formState.ready = true;
vm.formState.loading = false;
});
vm.formState.readOnly = !vm.rights.change;
window.$gz.eventBus.$on("menu-click", clickHandler);
//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
generateMenu(vm, false); //default is never read only and passing in this vm
//init disable save button so it can be enabled only on edit to show dirty form
window.$gz.eventBus.$emit("menu-disable-item", FORM_KEY + ":save");
} catch (err) {
window.$gz.errorHandler.handleFormError(err, vm);
} finally {
vm.formState.ready = true;
vm.formState.loading = false;
}
},
data() {
return {
@@ -170,7 +165,7 @@ export default {
//nothing to scan here just set form dirty
this.formState.dirty = true;
},
submit() {
async submit() {
let vm = this;
vm.formState.loading = true;
@@ -217,42 +212,37 @@ export default {
}
}
}
try {
//now set the template as a json string
newObj.template = JSON.stringify(temp);
let res = await window.$gz.api.upsert(url, newObj);
if (res.error) {
vm.formState.serverError = res.error;
window.$gz.form.setErrorBoxErrors(vm);
} else {
//Handle "put" of an existing record (UPDATE) (there is no POST of a new record for this particular object)
//now set the template as a json string
newObj.template = JSON.stringify(temp);
//Set store values for template and token
//(update our local cached copy of the form customizations)
window.$gz.formCustomTemplate.set(
vm.formCustomTemplateKey,
res.data.concurrency,
newObj.template
);
//set our local concurrency token value
vm.concurrency = res.data.concurrency;
window.$gz.api
.upsert(url, newObj)
.then(res => {
if (res.error) {
vm.formState.serverError = res.error;
window.$gz.form.setErrorBoxErrors(vm);
} else {
//Handle "put" of an existing record (UPDATE) (there is no POST of a new record for this particular object)
//Set store values for template and token
//(update our local cached copy of the form customizations)
window.$gz.formCustomTemplate.set(
vm.formCustomTemplateKey,
res.data.concurrency,
newObj.template
);
//set our local concurrency token value
vm.concurrency = res.data.concurrency;
//form is now clean
window.$gz.form.setFormState({
vm: vm,
dirty: false
});
}
})
.catch(function handleSubmitError(error) {
window.$gz.errorHandler.handleFormError(error, vm);
})
.finally(function() {
vm.formState.loading = false;
});
//form is now clean
window.$gz.form.setFormState({
vm: vm,
dirty: false
});
}
} catch (error) {
window.$gz.errorHandler.handleFormError(error, vm);
} finally {
vm.formState.loading = false;
}
}
}
};
@@ -341,11 +331,11 @@ function initForm(vm) {
//
// Ensures UI translated text is available
//
function fetchTranslatedText(vm) {
async function fetchTranslatedText(vm) {
//NOTE: This form expects to arrive here from the form being customized
//so it does *not* attempt to fetch the translations for the field names of the form in question
//since they should already be set by that form.
let tKeysRequired = [
await window.$gz.translation.cacheTranslations([
"FormFieldEntryRequired",
"FormFieldVisible",
"UiFieldDataType",
@@ -357,9 +347,7 @@ function fetchTranslatedText(vm) {
"UiFieldDataTypesText",
"UiFieldDataTypesTimeOnly",
"UiFieldDataTypesTrueFalse"
];
return window.$gz.translation.cacheTranslations(tKeysRequired);
]);
}
/////////////////////////////////
@@ -392,54 +380,52 @@ function ensureTemplateIsInStore(vm) {
////////////////////
//
function initDataObject(vm) {
async function initDataObject(vm) {
//Get all the fields *available* to this form (all the fields for the object defined in AyaFormFieldDefinitions.cs as SERVER)
//Note: this is not the actual customization data, just the list of fields that could be customized (or not if required mandatory)
let url = "form-field-definition/" + vm.$route.params.formCustomTemplateKey;
return window.$gz.api.get(url).then(res => {
if (res.error) {
throw res.error;
}
let res = await window.$gz.api.get(url);
if (res.error) {
throw res.error;
}
//set vm.obj to the combined synthesized snapshot array of template and availble fields for working data for this form
// - {key, ltdisplay, hideable, custom, required, hide, type}
//Iterate ObjectFields
//create a new object based on the f.a.f. item and any existing template values for that item
//set vm.obj to the combined synthesized snapshot array of template and availble fields for working data for this form
// - {key, ltdisplay, hideable, custom, required, hide, type}
//Iterate ObjectFields
//create a new object based on the f.a.f. item and any existing template values for that item
for (let i = 0; i < res.data.length; i++) {
//get the formAvailableField record into an object to save typing
let faf = res.data[i];
//get the customTemplate record for this field if it exists
for (let i = 0; i < res.data.length; i++) {
//get the formAvailableField record into an object to save typing
let faf = res.data[i];
//get the customTemplate record for this field if it exists
let templateItem = window.$gz.formCustomTemplate.getFieldTemplateValue(
vm.formCustomTemplateKey,
faf.fieldKey
);
let templateItem = window.$gz.formCustomTemplate.getFieldTemplateValue(
vm.formCustomTemplateKey,
faf.fieldKey
);
//handle non-existent template item (expected)
if (templateItem == null) {
templateItem = {
required: false,
hide: faf.isCustomField ? true : false, //hide if custom because it's not set to display if it's not present, all others are stock fields
type: 4 //text
};
}
let objItem = {
key: faf.fieldKey,
title: vm.$ay.t(faf.tKey),
stockRequired: !faf.hideable,
custom: faf.isCustomField,
required: faf.hideable === false || templateItem.required === true,
visible: templateItem.hide !== true,
type: templateItem.type
//handle non-existent template item (expected)
if (templateItem == null) {
templateItem = {
required: false,
hide: faf.isCustomField ? true : false, //hide if custom because it's not set to display if it's not present, all others are stock fields
type: 4 //text
};
vm.obj.push(objItem);
vm.concurrency = window.$gz.formCustomTemplate.getTemplateConcurrencyToken(
vm.formCustomTemplateKey
);
}
});
let objItem = {
key: faf.fieldKey,
title: vm.$ay.t(faf.tKey),
stockRequired: !faf.hideable,
custom: faf.isCustomField,
required: faf.hideable === false || templateItem.required === true,
visible: templateItem.hide !== true,
type: templateItem.type
};
vm.obj.push(objItem);
vm.concurrency = window.$gz.formCustomTemplate.getTemplateConcurrencyToken(
vm.formCustomTemplateKey
);
}
}
</script>

View File

@@ -428,30 +428,26 @@ export default {
beforeDestroy() {
window.$gz.eventBus.$off("menu-click", clickHandler);
},
created() {
async created() {
let vm = this;
//set route values in data object so init form can handle
vm.dataListKey = this.$route.params.dataListKey;
vm.listViewId = this.$route.params.listViewId;
vm.formKey = this.$route.params.formKey;
initForm(vm)
.then(() => {
vm.formState.ready = true;
window.$gz.eventBus.$on("menu-click", clickHandler);
//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
generateMenu(vm, false); //default is never read only and passing in this vm
//init disable save button so it can be enabled only on edit to show dirty form
window.$gz.eventBus.$emit("menu-disable-item", FORM_KEY + ":save");
vm.formState.loading = false;
})
.catch(err => {
vm.formState.ready = true;
window.$gz.errorHandler.handleFormError(err, vm);
});
try {
//set route values in data object so init form can handle
vm.dataListKey = this.$route.params.dataListKey;
vm.listViewId = this.$route.params.listViewId;
vm.formKey = this.$route.params.formKey;
await initForm(vm);
vm.formState.ready = true;
window.$gz.eventBus.$on("menu-click", clickHandler);
//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
generateMenu(vm, false); //default is never read only and passing in this vm
//init disable save button so it can be enabled only on edit to show dirty form
window.$gz.eventBus.$emit("menu-disable-item", FORM_KEY + ":save");
vm.formState.loading = false;
} catch (err) {
vm.formState.ready = true;
window.$gz.errorHandler.handleFormError(err, vm);
}
},
data() {
return {
@@ -678,7 +674,7 @@ export default {
window.$gz.form.fieldValueChanged(this, ref);
}
},
submit() {
async submit() {
if (this.canSave) {
let vm = this;
//check that "unsaved filter" is not the name
@@ -709,109 +705,103 @@ export default {
//clear any errors vm might be around from previous submit
window.$gz.form.deleteAllErrorBoxErrors(this);
window.$gz.api
.upsert(url, lvSave)
.then(res => {
vm.formState.loading = false;
if (res.error) {
vm.formState.serverError = res.error;
window.$gz.form.setErrorBoxErrors(vm);
try {
let res = await window.$gz.api.upsert(url, lvSave);
vm.formState.loading = false;
if (res.error) {
vm.formState.serverError = res.error;
window.$gz.form.setErrorBoxErrors(vm);
} else {
//successfully updated regardless if POST or PUT so update the local cache
//Update the formSettings now that it's saved
let formSettings = window.$gz.form.getFormSettings(vm.formKey);
formSettings.temp.cachedListView = lvSave.listView;
formSettings.saved.dataTable.unsavedListView = null;
formSettings.saved.dataTable.listViewId =
res.data.id || vm.listViewId; //if res.data.id then a post, if null then a put and vm.listviewId has the id
window.$gz.form.setFormSettings(vm.formKey, formSettings);
//Logic for detecting if a post or put: if id then it was a post, if no id then it was a put
if (res.data.id) {
//Handle "post" of new record (CREATE)
//No longer dirty
window.$gz.form.setFormState({
vm: vm,
dirty: false
});
//change url to new record
vm.$router.replace(
window.$gz.api.replaceAfterLastSlash(
vm.$route.fullPath,
res.data.id
)
);
} else {
//successfully updated regardless if POST or PUT so update the local cache
//Update the formSettings now that it's saved
let formSettings = window.$gz.form.getFormSettings(vm.formKey);
formSettings.temp.cachedListView = lvSave.listView;
formSettings.saved.dataTable.unsavedListView = null;
formSettings.saved.dataTable.listViewId =
res.data.id || vm.listViewId; //if res.data.id then a post, if null then a put and vm.listviewId has the id
window.$gz.form.setFormSettings(vm.formKey, formSettings);
//Logic for detecting if a post or put: if id then it was a post, if no id then it was a put
if (res.data.id) {
//Handle "post" of new record (CREATE)
//No longer dirty
window.$gz.form.setFormState({
vm: vm,
dirty: false
});
//change url to new record
vm.$router.replace(
window.$gz.api.replaceAfterLastSlash(
vm.$route.fullPath,
res.data.id
)
);
} else {
//Handle "put" of an existing record (UPDATE)
vm.obj.concurrency = res.data.concurrency;
window.$gz.form.setFormState({
vm: vm,
dirty: false
});
}
//Handle "put" of an existing record (UPDATE)
vm.obj.concurrency = res.data.concurrency;
window.$gz.form.setFormState({
vm: vm,
dirty: false
});
}
})
.catch(function handleSubmitError(error) {
vm.formState.loading = false;
window.$gz.errorHandler.handleFormError(error, vm);
});
}
} catch (error) {
vm.formState.loading = false;
window.$gz.errorHandler.handleFormError(error, vm);
}
}
},
remove() {
async remove() {
let 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:
try {
if ((await window.$gz.dialog.confirmDelete()) !== true) {
return;
}
//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 {
let url = API_BASE_URL + vm.listViewId;
window.$gz.form.deleteAllErrorBoxErrors(vm);
let res = await window.$gz.api.remove(url);
if (res.error) {
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;
//set it to the default list view so the caller doesn't try to load the non-existant deleted view it was just working with
let formSettings = window.$gz.form.getFormSettings(vm.formKey);
formSettings.temp.cachedListView = null;
formSettings.saved.dataTable.unsavedListView = null;
formSettings.saved.dataTable.listViewId = 0;
window.$gz.form.setFormSettings(vm.formKey, formSettings);
// navigate backwards
vm.$router.go(-1);
} else {
let url = API_BASE_URL + vm.listViewId;
window.$gz.form.deleteAllErrorBoxErrors(vm);
window.$gz.api
.remove(url)
.then(res => {
if (res.error) {
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;
//set it to the default list view so the caller doesn't try to load the non-existant deleted view it was just working with
let formSettings = window.$gz.form.getFormSettings(
vm.formKey
);
formSettings.temp.cachedListView = null;
formSettings.saved.dataTable.unsavedListView = null;
formSettings.saved.dataTable.listViewId = 0;
window.$gz.form.setFormSettings(vm.formKey, formSettings);
// 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);
});
}
}
});
} catch (error) {
//Update the form status
window.$gz.form.setFormState({
vm: vm,
loading: false
});
window.$gz.errorHandler.handleFormError(error, vm);
}
},
duplicate() {
async duplicate() {
let vm = this;
if (this.canDuplicate && vm.listViewId > 0) {
this.formState.loading = true;
@@ -820,40 +810,39 @@ export default {
//clear any errors vm might be around from previous submit
window.$gz.form.deleteAllErrorBoxErrors(this);
window.$gz.api
.duplicate(url)
.then(res => {
vm.formState.loading = false;
if (res.error) {
vm.formState.serverError = res.error;
window.$gz.form.setErrorBoxErrors(vm);
} else {
//switch to the new record in the formsettings
let formSettings = window.$gz.form.getFormSettings(vm.formKey);
formSettings.temp.cachedListView = null;
formSettings.saved.dataTable.unsavedListView = null;
formSettings.saved.dataTable.listViewId = res.data.id;
window.$gz.form.setFormSettings(vm.formKey, formSettings);
try {
let res = await window.$gz.api.duplicate(url);
//Set some values that otherwise don't get updated because we're not really navigating fresh
vm.obj.name = res.data.name;
vm.obj.concurrency = res.data.concurrency;
vm.listViewId = res.data.id;
//Navigate to new record
//NOTE: this doesn't really update the form at all so need to set some th9ings
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);
});
vm.formState.loading = false;
if (res.error) {
vm.formState.serverError = res.error;
window.$gz.form.setErrorBoxErrors(vm);
} else {
//switch to the new record in the formsettings
let formSettings = window.$gz.form.getFormSettings(vm.formKey);
formSettings.temp.cachedListView = null;
formSettings.saved.dataTable.unsavedListView = null;
formSettings.saved.dataTable.listViewId = res.data.id;
window.$gz.form.setFormSettings(vm.formKey, formSettings);
//Set some values that otherwise don't get updated because we're not really navigating fresh
vm.obj.name = res.data.name;
vm.obj.concurrency = res.data.concurrency;
vm.listViewId = res.data.id;
//Navigate to new record
//NOTE: this doesn't really update the form at all so need to set some th9ings
vm.$router.push(
vm.$route.fullPath.slice(0, -1) + res.data.id
// window.$gz.api.replaceAfterLastSlash(
// vm.$route.fullPath,
// res.data.id
// )
);
}
} catch (error) {
vm.formState.loading = false;
window.$gz.errorHandler.handleFormError(error, vm);
}
}
}
}
@@ -958,8 +947,8 @@ function initForm(vm) {
//
// Ensures UI translated text is available
//
function fetchTranslatedText(vm) {
let tKeysRequired = [
async function fetchTranslatedText(vm) {
await window.$gz.translation.cacheTranslations([
"DataListView",
"GridFilterName",
"Include",
@@ -1004,9 +993,7 @@ function fetchTranslatedText(vm) {
"True",
"False",
"Name"
];
return window.$gz.translation.cacheTranslations(tKeysRequired);
]);
}
/////////////////////////////////
@@ -1158,39 +1145,35 @@ function populateSelectionLists(vm) {
////////////////////
//
function populateFieldDefinitions(vm) {
async function populateFieldDefinitions(vm) {
//http://localhost:7575/api/v8/data-list/listfields?DataListKey=TestWidgetDataList
return window.$gz.api
.get("data-list/listfields?DataListKey=" + vm.dataListKey)
.then(res => {
if (res.error) {
throw res.error;
} else {
vm.fieldDefinitions = res.data;
}
});
let res = await window.$gz.api.get(
"data-list/listfields?DataListKey=" + vm.dataListKey
);
if (res.error) {
throw res.error;
} else {
vm.fieldDefinitions = res.data;
}
}
//////////////////////////////////////////////////////////
//
// Ensures column names are present in translation table
//
function fetchTranslatedFieldNames(vm) {
async function fetchTranslatedFieldNames(vm) {
let columnKeys = [];
for (let i = 1; i < vm.fieldDefinitions.length; i++) {
let cm = vm.fieldDefinitions[i];
columnKeys.push(cm.tKey);
}
//Now fetch all the keys and await the response before returning
return window.$gz.translation.cacheTranslations(columnKeys).then(() => {
return;
});
await window.$gz.translation.cacheTranslations(columnKeys);
}
/////////////////////////////////
//
//
function setEffectiveListView(vm) {
async function setEffectiveListView(vm) {
/*
effectiveListView
- Second get the ListView that is currently in use so can setup the page view
@@ -1217,29 +1200,28 @@ function setEffectiveListView(vm) {
} else if (vm.listViewId == 0) {
//get default list view
//http://localhost:7575/api/v8/DataListView/default/TestWidgetDataList
return window.$gz.api
.get("data-list-view/default/" + vm.dataListKey)
.then(res => {
if (res.error) {
throw res.error;
} else {
vm.effectiveListView = JSON.parse(res.data);
vm.obj.name = vm.$ay.t("FilterUnsaved");
}
});
let res = await window.$gz.api.get(
"data-list-view/default/" + vm.dataListKey
);
if (res.error) {
throw res.error;
} else {
vm.effectiveListView = JSON.parse(res.data);
vm.obj.name = vm.$ay.t("FilterUnsaved");
}
} else {
//listview has an id value
return window.$gz.api.get("data-list-view/" + vm.listViewId).then(res => {
if (res.error) {
throw res.error;
} else {
vm.effectiveListView = JSON.parse(res.data.listView);
vm.obj.public = res.data.public;
vm.obj.name = res.data.name;
vm.obj.concurrency = res.data.concurrency;
vm.obj.userId = res.data.userId;
}
});
let res = await window.$gz.api.get("data-list-view/" + vm.listViewId);
if (res.error) {
throw res.error;
} else {
vm.effectiveListView = JSON.parse(res.data.listView);
vm.obj.public = res.data.public;
vm.obj.name = res.data.name;
vm.obj.concurrency = res.data.concurrency;
vm.obj.userId = res.data.userId;
}
}
}

View File

@@ -79,25 +79,25 @@
const FORM_KEY = "ay-evaluate";
export default {
created() {
async created() {
let vm = this;
initForm(vm)
.then(() => {
vm.obj.timeZoneOffset =
Math.floor(new Date().getTimezoneOffset() / 60) * -1;
//get rights to generate sample data and erase db I guess
vm.rights = window.$gz.role.getRights(window.$gz.type.TrialSeeder);
//set form readonly if it's so
vm.formState.readOnly = !vm.rights.change;
generateMenu(vm);
vm.formState.ready = true;
vm.formState.loading = false;
window.$gz.eventBus.$on("menu-click", clickHandler);
})
.catch(err => {
vm.formState.ready = true;
window.$gz.errorHandler.handleFormError(err, vm);
});
try {
await initForm(vm);
vm.obj.timeZoneOffset =
Math.floor(new Date().getTimezoneOffset() / 60) * -1;
//get rights to generate sample data and erase db I guess
vm.rights = window.$gz.role.getRights(window.$gz.type.TrialSeeder);
//set form readonly if it's so
vm.formState.readOnly = !vm.rights.change;
generateMenu(vm);
vm.formState.ready = true;
vm.formState.loading = false;
window.$gz.eventBus.$on("menu-click", clickHandler);
} catch (err) {
vm.formState.ready = true;
window.$gz.errorHandler.handleFormError(err, vm);
}
},
beforeDestroy() {
@@ -300,8 +300,8 @@ function initForm(vm) {
//
// Ensures UI translated text is available
//
function fetchTranslatedText(vm) {
return window.$gz.translation.cacheTranslations([
async function fetchTranslatedText(vm) {
await window.$gz.translation.cacheTranslations([
"Welcome",
"GenerateSampleData",
"EvaluationGuide",

View File

@@ -465,8 +465,8 @@ function populateEventTypeList(vm) {
//
// Ensures UI translated text is available
//
function fetchTranslatedText(vm) {
return window.$gz.translation.cacheTranslations([
async function fetchTranslatedText(vm) {
await window.$gz.translation.cacheTranslations([
"EventDeleted",
"EventCreated",
"EventRetrieved",

View File

@@ -310,8 +310,8 @@ function initForm(vm) {
//
// Ensures UI translated text is available
//
function fetchTranslatedText(vm) {
return window.$gz.translation.cacheTranslations([
async function fetchTranslatedText(vm) {
await window.$gz.translation.cacheTranslations([
"UserLogin",
"OldPassword",
"NewPassword",

View File

@@ -375,8 +375,8 @@ function initForm(vm) {
//
// Ensures UI translated text is available
//
function fetchTranslatedText(vm) {
return window.$gz.translation.cacheTranslations([
async function fetchTranslatedText(vm) {
await window.$gz.translation.cacheTranslations([
"TooManyResults",
"NoResults",
"Object"

View File

@@ -430,8 +430,8 @@ function initForm(vm) {
//
// Ensures UI translated text is available
//
function fetchTranslatedText(vm) {
return window.$gz.translation.cacheTranslations([
async function fetchTranslatedText(vm) {
await window.$gz.translation.cacheTranslations([
"CurrencyCode",
"LanguageCode",
"TimeZone",

View File

@@ -427,8 +427,8 @@ function initForm(vm) {
//////////////////////////////////////////////////////////
//
//
function fetchTranslatedText(vm) {
return window.$gz.translation.cacheTranslations([
async function fetchTranslatedText(vm) {
await window.$gz.translation.cacheTranslations([
"BackupSettings",
"BackupTime",
"BackupLast",

View File

@@ -257,9 +257,7 @@ function initForm(vm) {
//
// Ensures UI translated text is available
//
function fetchTranslatedText(vm) {
let tKeysRequired = ["OpsTestJob"];
return window.$gz.translation.cacheTranslations(tKeysRequired);
async function fetchTranslatedText(vm) {
await window.$gz.translation.cacheTranslations(["OpsTestJob"]);
}
</script>

View File

@@ -213,10 +213,8 @@ function initForm(vm) {
//
// Ensures UI translated text is available
//
function fetchTranslatedText(vm) {
let tKeysRequired = ["OpsTestJob", "Log"];
return window.$gz.translation.cacheTranslations(tKeysRequired);
async function fetchTranslatedText(vm) {
await window.$gz.translation.cacheTranslations(["OpsTestJob", "Log"]);
}
//////////////////////

View File

@@ -543,8 +543,8 @@ function populateSelectionLists(vm) {
//
// Ensures UI translated text is available
//
function fetchTranslatedText(vm) {
let tKeysRequired = [
async function fetchTranslatedText(vm) {
await window.$gz.translation.cacheTranslations([
"DateRangePast6Hours",
"DateRangePast24Hours",
"DateRangePast7Days",
@@ -563,8 +563,6 @@ function fetchTranslatedText(vm) {
"MetricAllocatedMemory",
"MetricWorkingSet",
"MetricPrivateBytes"
];
return window.$gz.translation.cacheTranslations(tKeysRequired);
]);
}
</script>

View File

@@ -149,9 +149,7 @@ function initForm(vm) {
//
// Ensures UI translated text is available
//
function fetchTranslatedText(vm) {
let tKeysRequired = ["ServerProfiler"];
return window.$gz.translation.cacheTranslations(tKeysRequired);
async function fetchTranslatedText(vm) {
await window.$gz.translation.cacheTranslations(["ServerProfiler"]);
}
</script>

View File

@@ -299,8 +299,8 @@ function initForm(vm) {
//
// Ensures UI translated text is available
//
function fetchTranslatedText(vm) {
return window.$gz.translation.cacheTranslations([
async function fetchTranslatedText(vm) {
await window.$gz.translation.cacheTranslations([
"ServerStateOpen",
"ServerStateOps",
"ServerStateReason"

View File

@@ -738,8 +738,8 @@ function initForm(vm) {
//
// Ensures UI translated text is available
//
function fetchTranslatedText(vm) {
return window.$gz.translation.cacheTranslations([
async function fetchTranslatedText(vm) {
await window.$gz.translation.cacheTranslations([
"Widget",
"WidgetName",
"WidgetSerial",