This commit is contained in:
2020-03-02 18:25:40 +00:00
parent 2c471a0093
commit 6fe693d170

View File

@@ -12,12 +12,13 @@
READONLY: {{ formState.readOnly }}
<br />
</div> -->
<!-- <div>
FAF
{{ obj }}
FAF
{{ obj }}
<div>
{{ pickLists.uiFieldDataTypes }}
</div>
<v-divider></v-divider>
<div>
<!-- <div>
CUSTOM TEMPLATE
{{ tempTemplate }}
</div>
@@ -71,6 +72,8 @@
:label="lt('UiFieldDataType')"
@change="dataTypeChanged(item)"
></v-select>
<v-divider></v-divider>
<div>{{ item }}</div>
</v-card-text>
</v-card>
</v-col>
@@ -108,16 +111,31 @@ export default {
window.$gz.locale.fetch(ltKeysRequired).then(next);
},
beforeCreate() {
var vm = this;
var vv = initForm(this);
vv.then(() => {
vm.formState.ready = true;
}).catch(err => {
vm.formState.ready = true;
window.$gz.errorHandler.handleFormError(err);
});
// var vm = this;
// initForm(vm)
// .then(() => {
// vm.formState.ready = true;
// })
// .catch(err => {
// vm.formState.ready = true;
// window.$gz.errorHandler.handleFormError(err);
// });
// // initForm(vm)
// // .then(() => {
// // // path: "/ay-data-list-view/:listViewId/:dataListKey",
// // 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);
// // });
},
beforeRouteLeave(to, from, next) {
//var vm = this;
@@ -137,12 +155,22 @@ export default {
window.$gz.eventBus.$off("menu-click", clickHandler);
},
created() {
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(this, 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");
var vm = this;
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(this, 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 => {
vm.formState.ready = true;
window.$gz.errorHandler.handleFormError(err);
});
},
data() {
return {
@@ -151,14 +179,14 @@ export default {
formCustomTemplateKey: this.$route.params.formCustomTemplateKey,
pickLists: {
uiFieldDataTypes: [
{ name: this.lt("UiFieldDataTypesDateTime"), id: "1" },
{ name: this.lt("UiFieldDataTypesDateOnly"), id: "2" },
{ name: this.lt("UiFieldDataTypesTimeOnly"), id: "3" },
{ name: this.lt("UiFieldDataTypesText"), id: "4" },
{ name: this.lt("UiFieldDataTypesTrueFalse"), id: "6" },
{ name: this.lt("UiFieldDataTypesInteger"), id: "5" },
{ name: this.lt("UiFieldDataTypesDecimal"), id: "7" },
{ name: this.lt("UiFieldDataTypesCurrency"), id: "8" }
{ name: this.lt("UiFieldDataTypesDateTime"), id: 1 },
{ name: this.lt("UiFieldDataTypesDateOnly"), id: 2 },
{ name: this.lt("UiFieldDataTypesTimeOnly"), id: 3 },
{ name: this.lt("UiFieldDataTypesText"), id: 4 },
{ name: this.lt("UiFieldDataTypesTrueFalse"), id: 6 },
{ name: this.lt("UiFieldDataTypesInteger"), id: 5 },
{ name: this.lt("UiFieldDataTypesDecimal"), id: 7 },
{ name: this.lt("UiFieldDataTypesCurrency"), id: 8 }
]
},
formState: {
@@ -260,6 +288,7 @@ export default {
//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.concurrencyToken,
@@ -340,16 +369,35 @@ function generateMenu(vm) {
window.$gz.eventBus.$emit("menu-change", menuOptions);
}
// function initForm(vm) {
// return ensureTemplateIsInStore(vm).then(() => {
// //Must use return here
// return initDataObject(vm);
// });
// }
/////////////////////////////////
//
//
function initForm(vm) {
return ensureTemplateIsInStore(vm).then(() => {
//Must use return here
return initDataObject(vm);
return new Promise(function(resolve, reject) {
(async function() {
try {
await ensureTemplateIsInStore(vm);
await initDataObject(vm);
} catch (err) {
reject(err);
}
resolve();
})();
});
}
////////////////////
//
function ensureTemplateIsInStore(vm) {
//Pre-cache if necessary the form customization settings that have been set before now
return window.$gz.formCustomTemplate.get(
vm.$route.params.formCustomTemplateKey
);
@@ -358,8 +406,8 @@ function ensureTemplateIsInStore(vm) {
////////////////////
//
function initDataObject(vm) {
//http://localhost:7575/api/v8/ObjectFields/ObjectFields/widget
//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)
var url = "FormFieldsDefinitions/" + vm.$route.params.formCustomTemplateKey;
return window.$gz.api.get(url).then(res => {
if (res.error) {
@@ -389,8 +437,7 @@ function initDataObject(vm) {
type: "text"
};
}
// var canHide=faf.hideable && templateItem.required!==true;
debugger;
var objItem = {
key: faf.fieldKey,