This commit is contained in:
@@ -7,10 +7,29 @@
|
||||
//probably should be broken up more
|
||||
// All locale keys for validation *MUST* be fetched prior to this being used as it assumes all keys are fetched first
|
||||
// Add any new keys used to the block in locale.js=>commonKeysEditForm
|
||||
|
||||
import Vue from "vue";
|
||||
import errorHandler from "./errorhandler";
|
||||
|
||||
var triggeringChange = false;
|
||||
|
||||
////////////////////////////////////
|
||||
// set calling form Dirty state
|
||||
//
|
||||
function setFormDirty(vm, isDirty) {
|
||||
Vue.nextTick(function() {
|
||||
vm.formDirty = isDirty;
|
||||
});
|
||||
}
|
||||
|
||||
////////////////////////////////////
|
||||
// set calling form Valid state
|
||||
//
|
||||
function setFormValid(vm, isValid) {
|
||||
Vue.nextTick(function() {
|
||||
vm.formValid = isValid;
|
||||
});
|
||||
}
|
||||
|
||||
function isEmpty(o) {
|
||||
if (typeof o == "number" && o == 0) {
|
||||
return false;
|
||||
@@ -143,7 +162,7 @@ export default {
|
||||
err = vm.$_.replace(err, "{0}", fieldName);
|
||||
//lodash replace only replaces first instance so need to do it twice
|
||||
err = vm.$_.replace(err, "{0}", fieldName);
|
||||
vm.formValid = false;
|
||||
setFormValid(vm, false);
|
||||
return err;
|
||||
},
|
||||
///////////////////////////////
|
||||
@@ -170,7 +189,7 @@ export default {
|
||||
var fieldName = getControlLabel(ctrl);
|
||||
err = vm.$_.replace(err, "{0}", fieldName);
|
||||
err = vm.$_.replace(err, "{1}", max);
|
||||
vm.formValid = false;
|
||||
setFormValid(vm, false);
|
||||
return err;
|
||||
} else {
|
||||
return false;
|
||||
@@ -224,7 +243,7 @@ export default {
|
||||
if (valueStart.isAfter(valueEnd)) {
|
||||
// "ErrorStartDateAfterEndDate": "Start date must be earlier than stop / end date",
|
||||
var err = vm.$gzlocale.get("ErrorStartDateAfterEndDate");
|
||||
vm.formValid = false;
|
||||
setFormValid(vm, false);
|
||||
return err;
|
||||
} else {
|
||||
return false;
|
||||
@@ -256,7 +275,7 @@ export default {
|
||||
|
||||
// "ErrorFieldValueNotInteger": "Value must be an integer"
|
||||
var err = vm.$gzlocale.get("ErrorFieldValueNotInteger");
|
||||
vm.formValid = false;
|
||||
setFormValid(vm, false);
|
||||
return err;
|
||||
},
|
||||
///////////////////////////////
|
||||
@@ -289,7 +308,7 @@ export default {
|
||||
|
||||
// "ErrorFieldValueNotDecimal": "Value must be a number"
|
||||
var err = vm.$gzlocale.get("ErrorFieldValueNotDecimal");
|
||||
vm.formValid = false;
|
||||
setFormValid(vm, false);
|
||||
return err;
|
||||
},
|
||||
///////////////////////////////
|
||||
@@ -338,7 +357,7 @@ export default {
|
||||
if (vm.serverError.message) {
|
||||
err = err + "\r\n" + vm.serverError.message;
|
||||
}
|
||||
vm.formValid = false;
|
||||
setFormValid(vm, false);
|
||||
ret.push(err);
|
||||
}
|
||||
//DETAIL ERRORS
|
||||
@@ -363,7 +382,7 @@ export default {
|
||||
}
|
||||
ret.push(fldErr);
|
||||
});
|
||||
vm.formValid = false;
|
||||
setFormValid(vm, false);
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
@@ -384,7 +403,7 @@ export default {
|
||||
vm.appError = null;
|
||||
//clear out actual message box display
|
||||
vm.errorBoxMessage = null;
|
||||
vm.formValid = true;
|
||||
setFormValid(vm, true);
|
||||
},
|
||||
///////////////////////////////
|
||||
// setErrorBoxErrors
|
||||
@@ -430,7 +449,8 @@ export default {
|
||||
vm.obj[ref] = val;
|
||||
triggeringChange = false;
|
||||
}
|
||||
vm.formDirty = true;
|
||||
//vm.formValid = vm.$refs.form.validate();
|
||||
setFormDirty(vm, true);
|
||||
setFormValid(vm, vm.$refs.form.validate());
|
||||
//TODO: shouldn't it check for any dirty here and set the isdirty to false if none since each rule can set it dirty
|
||||
}
|
||||
};
|
||||
|
||||
@@ -147,6 +147,8 @@
|
||||
|
||||
<script>
|
||||
/* eslint-disable */
|
||||
import Vue from "vue";
|
||||
|
||||
function clickHandler(menuItem) {
|
||||
if (!menuItem) {
|
||||
return;
|
||||
@@ -292,12 +294,13 @@ export default {
|
||||
//tried to set nexttick as latest attempt, but it's not working
|
||||
//tried to defer validation until form is loaded but that's also not working for some reason
|
||||
//wtf is going on here???
|
||||
vm.nextTick(function() {
|
||||
Vue.nextTick(function() {
|
||||
vm.formValid = true;
|
||||
vm.formDirty = false;
|
||||
vm.formLoading = false;
|
||||
});
|
||||
}
|
||||
this.formLoading = false;
|
||||
|
||||
})
|
||||
.catch(function handleGetDataFromAPIError(error) {
|
||||
vm.formLoading = false;
|
||||
@@ -323,7 +326,10 @@ export default {
|
||||
vm.$gzv.setErrorBoxErrors(vm);
|
||||
} else {
|
||||
//It's ok, form is saved
|
||||
vm.formDirty = false;
|
||||
Vue.nextTick(function() {
|
||||
// vm.formValid = true;
|
||||
vm.formDirty = false;
|
||||
});
|
||||
|
||||
//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.id) {
|
||||
|
||||
Reference in New Issue
Block a user