diff --git a/gulliver/js/form/core/form.js b/gulliver/js/form/core/form.js index 56acd043d..6c3115d6a 100755 --- a/gulliver/js/form/core/form.js +++ b/gulliver/js/form/core/form.js @@ -998,9 +998,12 @@ function G_Text(form, element, name) currentSel = dataWOMask.cursor; cursorStart = currentSel.selectionStart; cursorEnd = currentSel.selectionEnd; - action = 'mask'; - swPeriod = false; - switch(keyCode){ + + var action = "mask"; + var swPeriod = false; + var i = 0; + + switch (keyCode) { case 0: action = 'none'; break; @@ -1036,71 +1039,86 @@ function G_Text(form, element, name) action = 'move'; break; case 45: - if (me.mType == 'currency' || (me.mType == 'text' && (me.validate == 'Real' || me.validate == 'Int'))) { - newValue = currentValue.substring(0, currentValue.length).split(''); - for (var numI = 0; newValue.length > numI; numI++) { - var campVal = newValue[numI]; - if ((typeof(campVal) === 'number' || typeof(campVal) === 'string') && (campVal !== '') && (!isNaN(campVal))) { - newValue = currentValue.substring(0, numI-1); - newValue += '-' + currentValue.substring(numI); - numI = newValue.length + 1; - newCursor = cursorStart+1; - } else { - if (campVal == '-') { - newValue = currentValue.substring(0, numI-1); - newValue += currentValue.substring(numI+1); - newCursor = cursorStart-1; - numI = newValue.length + 1; + if (me.mType == "currency" || (me.mType == "text" && (me.validate == "Real" || me.validate == "Int"))) { + newValue = currentValue.substring(0, currentValue.length).split(""); + + if (newValue.length > 0) { + for (i = 0; i <= newValue.length - 1; i++) { + var campVal = newValue[i]; + + if ((typeof campVal == "number" || typeof campVal == "string") && campVal != "" && !isNaN(campVal)) { + newValue = currentValue.substring(0, i - 1); + newValue = newValue + "-" + currentValue.substring(i); + i = newValue.length + 1; + newCursor = cursorStart + 1; + } else { + if (campVal == "-") { + newValue = currentValue.substring(0, i - 1); + newValue = newValue + currentValue.substring(i + 1); + newCursor = cursorStart - 1; + i = newValue.length + 1; + } + } + } + + if (newValue.join) { + newValue = newValue.join(""); + } + } else { + //default + newKey = String.fromCharCode(keyCode); + newValue = currentValue.substring(0, cursorStart); + newValue = newValue + newKey; + newValue = newValue + currentValue.substring(cursorEnd, currentValue.length); + newCursor = cursorStart + 1; } - } } - if (newValue.join) { - newValue = newValue.join(''); - } - } - break; + break; default: - newKey = String.fromCharCode(keyCode); - newValue = currentValue.substring(0, cursorStart); - newValue += newKey; - newValue += currentValue.substring(cursorEnd, currentValue.length); - newCursor = cursorStart + 1; - break; + newKey = String.fromCharCode(keyCode); + newValue = currentValue.substring(0, cursorStart); + newValue = newValue + newKey; + newValue = newValue + currentValue.substring(cursorEnd, currentValue.length); + newCursor = cursorStart + 1; + break; } - if (newCursor < 0) newCursor = 0; + + if (newCursor < 0) { + newCursor = 0; + } + if (keyCode != 8 && keyCode != 46 && keyCode != 35 && keyCode != 36 && keyCode != 37 && keyCode != 39){ - testData = dataWOMask.result; - tamData = testData.length; - cleanMask = me.getCleanMask(); - tamMask = cleanMask.length; - sw = false; + var testData = dataWOMask.result; + var tamData = testData.length; + var cleanMask = me.getCleanMask(); + var tamMask = cleanMask.length; + var sw = false; + if (testData.indexOf(me.comma_separator) == -1){ aux = cleanMask.split('_'); tamMask = aux[0].length; sw = true; } - if (tamData >= tamMask){ - var minusExi; - for (var numI = 0; newValue.length > numI; numI++) { - var campVal = newValue[numI]; - if ((typeof(campVal) === 'number' || typeof(campVal) === 'string') && (campVal !== '') && (!isNaN(campVal))) { - minusExi = false; - } else { - if (campVal == '-') { - minusExi = true; - numI = newValue.length + 1; - } - } - } - if (!(keyCode == 45 || (minusExi && tamMask >= tamData))) { - if (sw && !swPeriod && testData.indexOf(me.comma_separator) == -1){ - action = 'none'; + if (tamData >= tamMask) { + var swMinus = false; + + if (/^.*\-.*$/.test(newValue)) { + swMinus = true; + } + + if (!(keyCode == 45 || (swMinus && tamMask >= tamData))) { + if (sw && !swPeriod){ + action = "none"; + } + + if (!sw) { + action = "none"; + } } - if (!sw) action = 'none'; - } } } + switch(action){ case 'mask': case 'move': dataNewMask = me.replaceMasks(newValue, newCursor); @@ -1913,14 +1931,26 @@ function G() //Apply a mask to a number this.ApplyMask = function(num, mask, cursor, dir, comma_sep){ - myOut = ''; - myCursor = cursor; - if (num.length == 0) return {result: '', cursor: 0}; - switch(dir){ + var myOut = ""; + var myCursor = cursor; + var key = ""; + + if (num.length == 0) { + return {result: "", cursor: 0}; + } + + switch (dir) { case 'forward': - iMask = mask.split(''); - value = _getOnlyNumbers(num,''); - iNum = value.split(''); + iMask = mask.split(""); + value = _getOnlyNumbers(num, ""); + iNum = value.split(""); + + var swMinus = (iNum.length > 0 && iNum[0] == "-")? 1 : 0; + + if (swMinus == 1) { + key = iNum.shift(); + } + for(e=0; e < iMask.length && iNum.length > 0; e++){ switch(iMask[e]){ case '#': case '0': case 'd': case 'm': case 'y': case 'Y': @@ -1935,6 +1965,10 @@ function G() break; } } + + if (swMinus == 1) { + myOut = "-" + myOut; + } break; case 'reverse': var __DECIMAL_SEP = comma_sep; @@ -2072,6 +2106,8 @@ function G() } } else if(cursor == num.length){ + var last = 0; + for(l=0; l < aOut.length; l++){ switch(aOut[l]){ case '0': case '1': case '2': case '3': case '4': diff --git a/gulliver/js/maborak/core/maborak.js b/gulliver/js/maborak/core/maborak.js index 72d1bad03..6e71177e6 100644 --- a/gulliver/js/maborak/core/maborak.js +++ b/gulliver/js/maborak/core/maborak.js @@ -1003,16 +1003,17 @@ minIndex=0;minValue=aResults[0].result;if(aResults.length>1){for(i=1;inumI;numI++){var campVal=newValue[numI];if((typeof(campVal)==='number'||typeof(campVal)==='string')&&(campVal!=='')&&(!isNaN(campVal))){newValue=currentValue.substring(0,numI-1);newValue+='-'+currentValue.substring(numI);numI=newValue.length+1;newCursor=cursorStart+1;}else{if(campVal=='-'){newValue=currentValue.substring(0,numI-1);newValue+=currentValue.substring(numI+1);newCursor=cursorStart-1;numI=newValue.length+1;}}} -if(newValue.join){newValue=newValue.join('');}} -break;default:newKey=String.fromCharCode(keyCode);newValue=currentValue.substring(0,cursorStart);newValue+=newKey;newValue+=currentValue.substring(cursorEnd,currentValue.length);newCursor=cursorStart+1;break;} -if(newCursor<0)newCursor=0;if(keyCode!=8&&keyCode!=46&&keyCode!=35&&keyCode!=36&&keyCode!=37&&keyCode!=39){testData=dataWOMask.result;tamData=testData.length;cleanMask=me.getCleanMask();tamMask=cleanMask.length;sw=false;if(testData.indexOf(me.comma_separator)==-1){aux=cleanMask.split('_');tamMask=aux[0].length;sw=true;} -if(tamData>=tamMask){var minusExi;for(var numI=0;newValue.length>numI;numI++){var campVal=newValue[numI];if((typeof(campVal)==='number'||typeof(campVal)==='string')&&(campVal!=='')&&(!isNaN(campVal))){minusExi=false;}else{if(campVal=='-'){minusExi=true;numI=newValue.length+1;}}} -if(!(keyCode==45||(minusExi&&tamMask>=tamData))){if(sw&&!swPeriod&&testData.indexOf(me.comma_separator)==-1){action='none';} -if(!sw)action='none';}}} +action='move';break;case 45:if(me.mType=="currency"||(me.mType=="text"&&(me.validate=="Real"||me.validate=="Int"))){newValue=currentValue.substring(0,currentValue.length).split("");if(newValue.length>0){for(i=0;i<=newValue.length-1;i++){var campVal=newValue[i];if((typeof campVal=="number"||typeof campVal=="string")&&campVal!=""&&!isNaN(campVal)){newValue=currentValue.substring(0,i-1);newValue=newValue+"-"+currentValue.substring(i);i=newValue.length+1;newCursor=cursorStart+1;}else{if(campVal=="-"){newValue=currentValue.substring(0,i-1);newValue=newValue+currentValue.substring(i+1);newCursor=cursorStart-1;i=newValue.length+1;}}} +if(newValue.join){newValue=newValue.join("");}}else{newKey=String.fromCharCode(keyCode);newValue=currentValue.substring(0,cursorStart);newValue=newValue+newKey;newValue=newValue+currentValue.substring(cursorEnd,currentValue.length);newCursor=cursorStart+1;}} +break;default:newKey=String.fromCharCode(keyCode);newValue=currentValue.substring(0,cursorStart);newValue=newValue+newKey;newValue=newValue+currentValue.substring(cursorEnd,currentValue.length);newCursor=cursorStart+1;break;} +if(newCursor<0){newCursor=0;} +if(keyCode!=8&&keyCode!=46&&keyCode!=35&&keyCode!=36&&keyCode!=37&&keyCode!=39){var testData=dataWOMask.result;var tamData=testData.length;var cleanMask=me.getCleanMask();var tamMask=cleanMask.length;var sw=false;if(testData.indexOf(me.comma_separator)==-1){aux=cleanMask.split('_');tamMask=aux[0].length;sw=true;} +if(tamData>=tamMask){var swMinus=false;if(/^.*\-.*$/.test(newValue)){swMinus=true;} +if(!(keyCode==45||(swMinus&&tamMask>=tamData))){if(sw&&!swPeriod){action="none";} +if(!sw){action="none";}}}} switch(action){case'mask':case'move':dataNewMask=me.replaceMasks(newValue,newCursor);me.element.value=dataNewMask.result;me.setSelectionRange(dataNewMask.cursor,dataNewMask.cursor);break;}} else{currentValue=me.element.value;currentSel=me.getCursorPosition();cursorStart=currentSel.selectionStart;cursorEnd=currentSel.selectionEnd;switch(keyCode){case 8:newValue=currentValue.substring(0,cursorStart-1);newValue+=currentValue.substring(cursorEnd,currentValue.length);newCursor=cursorStart-1;break;case 45:case 46:if(me.validate!="Email"){newValue=currentValue.substring(0,cursorStart);newValue+=currentValue.substring(cursorEnd+1,currentValue.length);newCursor=cursorStart;}else{newKey=String.fromCharCode(keyCode);newValue=currentValue.substring(0,cursorStart);newValue+=newKey;newValue+=currentValue.substring(cursorEnd,currentValue.length);newCursor=cursorStart+1;} break;case 256:newValue=currentValue.substring(0,cursorStart);newValue+='.';newValue+=currentValue.substring(cursorEnd,currentValue.length);newCursor=cursorStart+1;break;case 35:case 36:case 37:case 38:case 39:case 40:newValue=currentValue;switch(keyCode){case 36:newCursor=0;break;case 35:newCursor=currentValue.length;break;case 37:newCursor=cursorStart-1;break;case 39:newCursor=cursorStart+1;break;} @@ -1105,8 +1106,11 @@ function _getOnlyMask(mask,_DEC){var _mask='';_aMask=mask.split('');for(var d=0; return _mask;} function _checkNumber(num,mask){var __DECIMAL_SEP='.';var aNum=_getOnlyNumbers(num,__DECIMAL_SEP);var _outM=aNum;var aMask=_getOnlyMask(mask,__DECIMAL_SEP);if(aMask.indexOf(__DECIMAL_SEP+'0')>0){eMask=aMask.replace(__DECIMAL_SEP,'');eNum=aNum.replace(__DECIMAL_SEP,'');if(eNum.length>eMask.length){_outM=aNum.substring(0,eMask.length+1);}}else{if(aMask.indexOf(__DECIMAL_SEP)>0){iMask=aMask.split(__DECIMAL_SEP);if(aNum.indexOf(__DECIMAL_SEP)>0){iNum=aNum.split(__DECIMAL_SEP);if(iNum[1].length>iMask[1].length){_outM=iNum[0]+__DECIMAL_SEP+iNum[1].substr(0,iMask[1].length);}else{if(iNum[0].length>iMask[0].length){_outM=iNum[0].substr(0,iMask[0].length)+__DECIMAL_SEP+iNum[1];}}}else{if(aNum.length>iMask[0].length){_outM=aNum.substr(0,iMask[0].length);}}}else{if(aNum.indexOf(__DECIMAL_SEP)>0){iNum=aNum.split(__DECIMAL_SEP);if(iNum[0].length>aMask.length){_outM=iNum[0].substr(0,aMask.length);}}else{if(aNum.length>aMask.length){_outM=aNum.substr(0,aMask.length);}}}} return _outM;} -this.ApplyMask=function(num,mask,cursor,dir,comma_sep){myOut='';myCursor=cursor;if(num.length==0)return{result:'',cursor:0};switch(dir){case'forward':iMask=mask.split('');value=_getOnlyNumbers(num,'');iNum=value.split('');for(e=0;e0;e++){switch(iMask[e]){case'#':case'0':case'd':case'm':case'y':case'Y':if(iNum.length>0){key=iNum.shift();myOut+=key;} +this.ApplyMask=function(num,mask,cursor,dir,comma_sep){var myOut="";var myCursor=cursor;var key="";if(num.length==0){return{result:"",cursor:0};} +switch(dir){case'forward':iMask=mask.split("");value=_getOnlyNumbers(num,"");iNum=value.split("");var swMinus=(iNum.length>0&&iNum[0]=="-")?1:0;if(swMinus==1){key=iNum.shift();} +for(e=0;e0;e++){switch(iMask[e]){case'#':case'0':case'd':case'm':case'y':case'Y':if(iNum.length>0){key=iNum.shift();myOut+=key;} break;default:myOut+=iMask[e];if(e0){aMask=iMask;iNum=_getOnlyNumbers(iNum,'*');aNum=iNum;eMask=aMask.split('');eNum=aNum.split('');_cout='';for(e=0;e0){key=eNum.shift();_cout+=key;} break;case'.':case',':if(eMask[e]!=__DECIMAL_SEP){if(eNum.length>0){_cout+=eMask[e];}}else{_cout+=eMask[e];} break;default:_cout+=eMask[e];break;}} @@ -1122,7 +1126,7 @@ _cout+=pMask[p];}} if(pNum.length>0&&pNum[0]=='-'){key=pNum.shift();_cout+=key;} if(sw_c&&sw_d){myOut=_dout+__DECIMAL_SEP+_cout;}else{myOut=_dout+_cout;}} myOut=invertir(myOut);tmpCursor=0;aOut=myOut.split('');if(cursor==0){for(l=0;laNewNum.length){offset=-1;notFinded=true;}}} myCursor=cursor+offset;} diff --git a/workflow/engine/methods/appFolder/appFolderAjax.php b/workflow/engine/methods/appFolder/appFolderAjax.php index 748ae55dd..8d993a505 100755 --- a/workflow/engine/methods/appFolder/appFolderAjax.php +++ b/workflow/engine/methods/appFolder/appFolderAjax.php @@ -406,10 +406,10 @@ function expandNode() case "BOTH": $strExpander = null; $mimeInformation = getMime($obj["APP_DOC_FILENAME"] . ".pdf"); - $strExpander = $strExpander . "\"\" " . $obj["APP_DOC_FILENAME"] . ".pdf (" . $mimeInformation["description"] . ")"; + $strExpander = $strExpander . "\"\" " . $obj["APP_DOC_FILENAME"] . ".pdf (" . $mimeInformation["description"] . ")"; $strExpander = $strExpander . "
"; $mimeInformation = getMime($obj["APP_DOC_FILENAME"] . ".doc"); - $strExpander = $strExpander . "\"\" " . $obj["APP_DOC_FILENAME"] . ".doc (" . $mimeInformation["description"] . ")"; + $strExpander = $strExpander . "\"\" " . $obj["APP_DOC_FILENAME"] . ".doc (" . $mimeInformation["description"] . ")"; $tempTree["outDocGenerate"] = $strExpander;