This commit is contained in:
2020-10-07 17:33:37 +00:00
parent 0185b6941c
commit 2a2bcc5f7f
7 changed files with 80 additions and 39 deletions

View File

@@ -44,21 +44,18 @@ export default {
//de-lodash //de-lodash
// //turn it into an array suitable for selection lists // //turn it into an array suitable for selection lists
// window.$gz._.forOwn(e, function(value, key) { // window.$gz. _.forOwn(e, function(value, key) {
// ret.push({ id: Number(key), name: value }); // ret.push({ id: Number(key), name: value });
// }); // });
//return window.$gz. _.sortBy(ret, "name");
//turn it into an array suitable for selection lists //turn it into an array suitable for selection lists
for (const [key, value] of Object.entries(e)) { for (const [key, value] of Object.entries(e)) {
ret.push({ id: Number(key), name: value }); ret.push({ id: Number(key), name: value });
} }
//sort by name
//e is an object with keys of id values i.e. {1:"display1",2:"display 2"} ret.sort(window.$gz.util.sortByKey("name"));
//what needs to be returned is an array of objects like: [{id:1,name:"display1"},{id:2,name:"display2"}] return ret;
console.log("enum::getSelectionList, e is: ", e);
console.log("ret is", ret);
return window.$gz._.sortBy(ret, "name");
}, },
/////////////////////////////////// ///////////////////////////////////
// //
@@ -67,7 +64,7 @@ export default {
// ACCEPTS an ARRAY or a single STRING KEY // ACCEPTS an ARRAY or a single STRING KEY
// //
async fetchEnumList(enumKey) { async fetchEnumList(enumKey) {
if (!window.$gz._.isArray(enumKey)) { if (!Array.isArray(enumKey)) {
enumKey = [enumKey]; enumKey = [enumKey];
} }
for (let i = 0; i < enumKey.length; i++) { for (let i = 0; i < enumKey.length; i++) {
@@ -75,7 +72,10 @@ export default {
//if not then fetch it and store it //if not then fetch it and store it
let k = enumKey[i].toLowerCase(); let k = enumKey[i].toLowerCase();
if (!window.$gz._.has(window.$gz.store.state.enums, k)) { //de-lodash
// if (!window.$gz. _.has(window.$gz.store.state.enums, k)) {
//enums is an object this is checking if that object has a key with the name in k
if (!window.$gz.util.has(window.$gz.store.state.enums, k)) {
let that = this; let that = this;
// eslint-disable-next-line // eslint-disable-next-line
let dat = await that.fetchEnumKey(k); let dat = await that.fetchEnumKey(k);

View File

@@ -48,7 +48,7 @@ function dealWithError(msg, vm) {
//should be able to display in form... //should be able to display in form...
if (vm.$ay.dev) { if (vm.$ay.dev) {
//make sure formState.appError is defined on data //make sure formState.appError is defined on data
if (!window.$gz._.has(vm, "formState.appError")) { if (!window.$gz.util.has(vm, "formState.appError")) {
throw new Error( throw new Error(
"DEV ERROR errorHandler::dealWithError -> formState.appError seems to be missing from form's vue data object" "DEV ERROR errorHandler::dealWithError -> formState.appError seems to be missing from form's vue data object"
); );

View File

@@ -18,7 +18,9 @@ function addDataKeyNames(obj) {
export default { export default {
// cache the form customization data if it's not already present // cache the form customization data if it's not already present
async get(formKey) { async get(formKey) {
if (!window.$gz._.has(window.$gz.store.state.formCustomTemplate, formKey)) { if (
!window.$gz.util.has(window.$gz.store.state.formCustomTemplate, formKey)
) {
//fetch and populate the store //fetch and populate the store
let res = await window.$gz.api.get("form-custom/" + formKey); let res = await window.$gz.api.get("form-custom/" + formKey);
if (res.error) { if (res.error) {
@@ -56,11 +58,11 @@ export default {
); );
} }
//_https://lodash.com/docs#find
//Note that not every field being requested will exist so it's valid to return undefined //Note that not every field being requested will exist so it's valid to return undefined
let templateItem = window.$gz._.find(template, ["fld", fieldKey]); //template is an array of objects that contain a key called "fld"
//de-lodash
return templateItem; //let templateItem = window.$gz. _.find(template, ["fld", fieldKey]);
return template.find(z => z.fld == fieldKey);
}, },
getTemplateConcurrencyToken(formKey) { getTemplateConcurrencyToken(formKey) {
let tok = let tok =

View File

@@ -506,11 +506,13 @@ export default {
//See if control formCustomTemplateFieldName is in server required fields collection //See if control formCustomTemplateFieldName is in server required fields collection
//this is a collection of both custom field definitions and standard form fields that are required //this is a collection of both custom field definitions and standard form fields that are required
//since all names are unique can just filter out the one we need by name which will inherently ignore custom fields by default //since all names are unique can just filter out the one we need by name which will inherently ignore custom fields by default
//_https://lodash.com/docs#find //de-lodash
let templateItem = window.$gz._.find(template, [ // let templateItem = window.$gz. _.find(template, [
"fld", // "fld",
formCustomTemplateFieldName // formCustomTemplateFieldName
]); // ]);
let templateItem = template.find(z => z.fld == formCustomTemplateFieldName);
//templateItem.required //templateItem.required
if (templateItem === undefined || templateItem.required !== true) { if (templateItem === undefined || templateItem.required !== true) {
@@ -590,21 +592,21 @@ export default {
//CHECK PREREQUISITES IN DEV MODE TO ENSURE FORM ISN"T MISSING NEEDED DATA ATTRIBUTES ETC //CHECK PREREQUISITES IN DEV MODE TO ENSURE FORM ISN"T MISSING NEEDED DATA ATTRIBUTES ETC
if (vm.$ay.dev) { if (vm.$ay.dev) {
//make sure formState.serverErrors is defined on data //make sure formState.serverErrors is defined on data
if (!window.$gz._.has(vm, "formState.serverError")) { if (!window.$gz.util.has(vm, "formState.serverError")) {
throw new Error( throw new Error(
"DEV ERROR gzform::formState.serverErrors -> formState.serverError seems to be missing from form's vue data object" "DEV ERROR gzform::formState.serverErrors -> formState.serverError seems to be missing from form's vue data object"
); );
} }
//make sure formState.appError is defined on data //make sure formState.appError is defined on data
if (!window.$gz._.has(vm, "formState.appError")) { if (!window.$gz.util.has(vm, "formState.appError")) {
throw new Error( throw new Error(
"DEV ERROR gzform::formState.serverErrors -> formState.appError seems to be missing from form's vue data object" "DEV ERROR gzform::formState.serverErrors -> formState.appError seems to be missing from form's vue data object"
); );
} }
//make sure formState.errorBoxMessage is defined on data //make sure formState.errorBoxMessage is defined on data
if (!window.$gz._.has(vm, "formState.errorBoxMessage")) { if (!window.$gz.util.has(vm, "formState.errorBoxMessage")) {
throw new Error( throw new Error(
"DEV ERROR gzform::formState.serverErrors -> formState.errorBoxMessage seems to be missing from form's vue data object" "DEV ERROR gzform::formState.serverErrors -> formState.errorBoxMessage seems to be missing from form's vue data object"
); );
@@ -726,11 +728,13 @@ export default {
//See if control templateFieldName is in server required fields collection //See if control templateFieldName is in server required fields collection
//this is a collection of both custom field definitions and standard form fields that are required //this is a collection of both custom field definitions and standard form fields that are required
//since all names are unique can just filter out the one we need by name which will inherently ignore custom fields by default //since all names are unique can just filter out the one we need by name which will inherently ignore custom fields by default
//_https://lodash.com/docs#find //de-lodash
let templateItem = window.$gz._.find(template, [ // let templateItem = window.$gz. _.find(template, [
"fld", // "fld",
formCustomTemplateFieldName // formCustomTemplateFieldName
]); // ]);
let templateItem = template.find(z => z.fld == formCustomTemplateFieldName);
if (templateItem === undefined || templateItem.hide !== true) { if (templateItem === undefined || templateItem.hide !== true) {
return true; return true;

View File

@@ -383,6 +383,30 @@ export default {
sleepAsync: function(milliseconds) { sleepAsync: function(milliseconds) {
// eslint-disable-next-line // eslint-disable-next-line
return new Promise((resolve) => setTimeout(resolve, milliseconds)); return new Promise((resolve) => setTimeout(resolve, milliseconds));
},
///////////////////////////////////////////////
// sortByKey lodash "sortBy" replacement
// https://github.com/you-dont-need/You-Dont-Need-Lodash-Underscore#_sortby-and-_orderby
//usage:
// The native sort modifies the array in place. `_.orderBy` and `_.sortBy` do not, so we use `.concat()` to
// copy the array, then sort.
// fruits.concat().sort(sortBy("name"));
// => [{name:"apple", amount: 4}, {name:"banana", amount: 2}, {name:"mango", amount: 1}, {name:"pineapple", amount: 2}]
sortByKey: key => {
return (a, b) => (a[key] > b[key] ? 1 : b[key] > a[key] ? -1 : 0);
},
///////////////////////////////////////////////
// "has" lodash replacement
// https://github.com/you-dont-need/You-Dont-Need-Lodash-Underscore#_has
//
has: function(obj, key) {
var keyParts = key.split(".");
return (
!!obj &&
(keyParts.length > 1
? has(obj[key.split(".")[0]], keyParts.slice(1).join("."))
: hasOwnProperty.call(obj, key))
);
} }
/** /**

View File

@@ -17,9 +17,14 @@ export default {
cachekey cachekey
) { ) {
//find match //find match
let display = window.$gz._.find(editedTranslation.translationItems, { //de-lodash
key: cachekey // let display = window.$gz. _.find(editedTranslation.translationItems, {
}).display; // key: cachekey
// }).display;
let display = editedTranslation.translationItems.find(
z => z.key == cachekey
).display;
window.$gz.store.commit("setTranslationText", { window.$gz.store.commit("setTranslationText", {
key: cachekey, key: cachekey,
value: display value: display
@@ -48,7 +53,7 @@ export default {
if (key == "Wiki") { if (key == "Wiki") {
return "Wiki"; return "Wiki";
} }
if (!window.$gz._.has(window.$gz.store.state.translationText, key)) { if (!window.$gz.util.has(window.$gz.store.state.translationText, key)) {
return "??" + key; return "??" + key;
} }
return window.$gz.store.state.translationText[key]; return window.$gz.store.state.translationText[key];
@@ -62,7 +67,7 @@ export default {
let needIt = []; let needIt = [];
for (let i = 0; i < keys.length; i++) { for (let i = 0; i < keys.length; i++) {
if ( if (
!window.$gz._.has(window.$gz.store.state.translationText, keys[i]) !window.$gz.util.has(window.$gz.store.state.translationText, keys[i])
) { ) {
needIt.push(keys[i]); needIt.push(keys[i]);
} }

View File

@@ -233,7 +233,9 @@ export default {
return false; return false;
} }
//iterate template and see if it has any custom fields set to display //iterate template and see if it has any custom fields set to display
return window.$gz._.find(template, "type") != undefined; //de-lodash
//return window.$gz. _.find(template, "type") != undefined;
return template.find(z => z.type != undefined);
}, },
GetValueForField: function(dataKey) { GetValueForField: function(dataKey) {
if (!this.value) { if (!this.value) {
@@ -252,9 +254,13 @@ export default {
//Get the field data type //Get the field data type
//https://lodash.com/docs#find //https://lodash.com/docs#find
let ctrlType = window.$gz._.find( // let ctrlType = window.$gz._.find(
this.$store.state.formCustomTemplate[this.formKey], // this.$store.state.formCustomTemplate[this.formKey],
["dataKey", dataKey] // ["dataKey", dataKey]
// ).type;
let ctrlType = this.$store.state.formCustomTemplate[this.formKey].find(
z => z.dataKey == dataKey
).type; ).type;
//First get current value for the data that came from the server //First get current value for the data that came from the server
@@ -327,7 +333,7 @@ export default {
//Get the current data out of the json string value //Get the current data out of the json string value
// //
let cData = JSON.parse(this.value); let cData = JSON.parse(this.value);
if (!window.$gz._.has(cData, dataKey)) { if (!window.$gz.util.has(cData, dataKey)) {
cData[dataKey] = null; cData[dataKey] = null;
} }