app.mixin( { data(){ return { sharedComponentData: "Is Here..." } }, created(){ //console.warn("This will fire on every component") } } ) app.mixin( { methods: { convertJsonToCfFormScope(jsonObject) { var returnBody = '' var keyList = '' for (const key in jsonObject) { returnBody = returnBody + key + '=' + encodeURIComponent(jsonObject[key]) + '&' }; for (const key in jsonObject) { keyList = keyList + key + ',' }; returnBody = returnBody + 'jsonObject=' + encodeURIComponent(JSON.stringify(jsonObject)) + '&keyList=' + keyList + 'jsonObject'; return returnBody }, formDifferentials: function (oldForm,newForm){ var diffObj = {}; if (oldForm && Object.keys(oldForm).length > 0) { for (const key in newForm) { if (oldForm[key] != newForm[key]){ diffObj[key] = newForm[key] } } return diffObj; } } } } ) app.mixin( { methods: { inputMask(maskMethod,value,maskType) { vm = this; const maskOptionsObj = { ssn: { maskStruct: "___-__-____", createMask(value, maskType, returnType){ let masked = maskOptionsObj[maskType].maskStruct; let maskraw = value.toString(); maskraw = maskraw.replace(/[^0-9*]/g, ""); if((vm.modelValue.length-maskraw.length)==0&&returnType=='unmask'){ maskraw = maskraw.slice(0, -1); } for (var i = 0; i < maskraw.length; i++) { masked = masked.replace(/_/,maskraw.charAt(i)) } if(returnType!='mask'){ maskOptionsObj[maskType].cursor(masked, maskType); } return returnType=='mask'?masked:maskraw; }, cursor(masked, maskType){ vm.$nextTick(function(){ let maskraw = masked.replaceAll("_", ""); let placement = maskraw.length; if(placement<7) placement--; if(placement<4) placement--; vm.$el.querySelector("input").setSelectionRange(placement, placement); }); } }, phone: { maskStruct: "(___)___-____", createMask(value, maskType, returnType){ let masked = maskOptionsObj[maskType].maskStruct; let maskraw = value.toString(); maskraw = maskraw.replace(/[^0-9*]/g, ""); if((vm.modelValue.length-maskraw.length)==0&&returnType=='unmask'){ maskraw = maskraw.slice(0, -1); } for (var i = 0; i < maskraw.length; i++) { masked = masked.replace(/_/,maskraw.charAt(i)) } if(returnType!='mask'){ maskOptionsObj[maskType].cursor(masked, maskType); } return returnType=='mask'?masked:maskraw; }, cursor(masked, maskType){ vm.$nextTick(function(){ let maskraw = masked.replaceAll("_", ""); let placement = maskraw.length; if(placement<9) placement--; if(placement<5) placement--; vm.$el.querySelector("input").setSelectionRange(placement, placement); }); } }, percent: { createMask(value, maskType, returnType){ let maskraw = String(value).replace(/[^0-9.]/g, ""); let decSplit = maskraw.split("."); maskraw = decSplit[0].substring(0, 9); if(decSplit.length>1) maskraw += "." + decSplit[1].substring(0,3); if(returnType != 'mask'){ let placement = maskraw.length; vm.$nextTick(function(){ vm.$el.querySelector("input").setSelectionRange(placement, placement); }); } return returnType=='mask'?maskraw+'%':maskraw; } }, dollar: { createMask(value, maskType, returnType){ let maskraw = String(value).replace(/[^0-9.]/g, ""); let decSplit = maskraw.split("."); maskraw = decSplit[0].substring(0, 9); if(decSplit.length>1) maskraw += "." + decSplit[1].substring(0,2); let masked = '$' + new Intl.NumberFormat("USA").format(maskraw); if(returnType!='mask'){ let selection = vm.$el.querySelector("input").selectionStart; let nowCommas = value.replace(/[^,]/g, "").length; let nextCommas = masked.replace(/[^,]/g, "").length; if(maskraw.length>String(vm.modelValue).length&&nowCommas!=nextCommas){ selection++; } if(maskraw.length