2021-01-14 15:39:53 +00:00
|
|
|
import _ from "lodash";
|
|
|
|
|
export default {
|
|
|
|
|
/**
|
|
|
|
|
* Environment Formats function for full name
|
|
|
|
|
* @param {object} params
|
|
|
|
|
*/
|
|
|
|
|
userNameDisplayFormat(params) {
|
|
|
|
|
let aux;
|
|
|
|
|
let defaultValues = {
|
|
|
|
|
userName: '',
|
|
|
|
|
firstName: '',
|
|
|
|
|
lastName: '',
|
|
|
|
|
format: '(@lastName, @firstName) @userName'
|
|
|
|
|
};
|
|
|
|
|
_.assignIn(defaultValues, params);
|
|
|
|
|
aux = defaultValues.format;
|
|
|
|
|
aux = aux.replace('@userName',defaultValues.userName);
|
|
|
|
|
aux = aux.replace('@firstName',defaultValues.firstName);
|
|
|
|
|
aux = aux.replace('@lastName',defaultValues.lastName);
|
2021-01-26 11:41:09 -04:00
|
|
|
return aux.trim();
|
2021-01-18 16:42:15 +00:00
|
|
|
},
|
2021-01-20 19:32:37 +00:00
|
|
|
/**
|
|
|
|
|
* Parse an url string and prepare an object of the parameters
|
|
|
|
|
* @param {string} url
|
|
|
|
|
* @returns {object}
|
|
|
|
|
*/
|
2021-01-18 16:42:15 +00:00
|
|
|
getAllUrlParams(url) {
|
|
|
|
|
|
|
|
|
|
// get query string from url (optional) or window
|
|
|
|
|
var queryString = url ? url.split('?')[1] : window.location.search.slice(1);
|
|
|
|
|
|
|
|
|
|
// we'll store the parameters here
|
|
|
|
|
var obj = {};
|
|
|
|
|
|
|
|
|
|
// if query string exists
|
|
|
|
|
if (queryString) {
|
|
|
|
|
|
|
|
|
|
// stuff after # is not part of query string, so get rid of it
|
|
|
|
|
queryString = queryString.split('#')[0];
|
|
|
|
|
|
|
|
|
|
// split our query string into its component parts
|
|
|
|
|
var arr = queryString.split('&');
|
|
|
|
|
|
|
|
|
|
for (var i = 0; i < arr.length; i++) {
|
|
|
|
|
// separate the keys and the values
|
|
|
|
|
var a = arr[i].split('=');
|
|
|
|
|
|
|
|
|
|
// set parameter name and value (use 'true' if empty)
|
|
|
|
|
var paramName = a[0];
|
|
|
|
|
var paramValue = typeof (a[1]) === 'undefined' ? true : a[1];
|
|
|
|
|
|
|
|
|
|
// (optional) keep case consistent
|
|
|
|
|
paramName = paramName.toLowerCase();
|
|
|
|
|
if (typeof paramValue === 'string') paramValue = paramValue.toLowerCase();
|
|
|
|
|
|
|
|
|
|
// if the paramName ends with square brackets, e.g. colors[] or colors[2]
|
|
|
|
|
if (paramName.match(/\[(\d+)?\]$/)) {
|
|
|
|
|
|
|
|
|
|
// create key if it doesn't exist
|
|
|
|
|
var key = paramName.replace(/\[(\d+)?\]/, '');
|
|
|
|
|
if (!obj[key]) obj[key] = [];
|
|
|
|
|
|
|
|
|
|
// if it's an indexed array e.g. colors[2]
|
|
|
|
|
if (paramName.match(/\[\d+\]$/)) {
|
|
|
|
|
// get the index value and add the entry at the appropriate position
|
|
|
|
|
var index = /\[(\d+)\]/.exec(paramName)[1];
|
|
|
|
|
obj[key][index] = paramValue;
|
|
|
|
|
} else {
|
|
|
|
|
// otherwise add the value to the end of the array
|
|
|
|
|
obj[key].push(paramValue);
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
// we're dealing with a string
|
|
|
|
|
if (!obj[paramName]) {
|
|
|
|
|
// if it doesn't exist, create property
|
|
|
|
|
obj[paramName] = paramValue;
|
|
|
|
|
} else if (obj[paramName] && typeof obj[paramName] === 'string'){
|
|
|
|
|
// if property does exist and it's a string, convert it to an array
|
|
|
|
|
obj[paramName] = [obj[paramName]];
|
|
|
|
|
obj[paramName].push(paramValue);
|
|
|
|
|
} else {
|
|
|
|
|
// otherwise add the property
|
|
|
|
|
obj[paramName].push(paramValue);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return obj;
|
|
|
|
|
}
|
2021-01-14 15:39:53 +00:00
|
|
|
}
|