Files
luos/workflow/engine/xmlform/dynaforms/fields/currency.xml
Marco Antonio Nina b328ea14b7 BUG 10275 Problemas en campos currency con las mascaras SOLVED
- not validated the mask.
- was add validated for fields currency and percentage.
2013-01-08 13:24:02 -04:00

195 lines
5.7 KiB
XML
Executable File

<?xml version="1.0" encoding="UTF-8"?>
<dynaForm name="currency" type="xmlform" width="100%" enableTemplate="1">
<PME_A type="hidden"/>
<PME_TYPE type="hidden"/>
<PME_PRO_UID type="hidden"/>
<PME_DYN_TYPE type="phpvariable"/>
<PME_TITLE type="title" enableHTML="1">
<en>Properties</en>
</PME_TITLE>
<PME_XMLNODE_NAME type="text" size="32" maxlength="64" validate="NodeName" dependentFields="PME_VALIDATE_NAME" required="1">
<en>Field Name</en>
</PME_XMLNODE_NAME>
<PME_XMLNODE_NAME_OLD type="hidden"/>
<PME_VALIDATE_NAME type="hidden" sqlConnection="XMLDB">
SELECT XMLNODE_NAME, TYPE FROM dynaForm WHERE XMLNODE_NAME = @@PME_XMLNODE_NAME
</PME_VALIDATE_NAME>
<PME_LABEL type="text" maxlength="255" size="50">
<en>Label</en>
</PME_LABEL>
<PME_SUBTITLE3 type="title" enableHTML="1">
<en>Behaviour</en>
</PME_SUBTITLE3>
<!--
<PME_MAXLENGTH type="text" maxlength="10" size="10" validate="Int" defaultvalue="15">
<en>Max. Length</en>
</PME_MAXLENGTH>
-->
<PME_CURRENCY type="hidden" maxlength="50" size="30" defaultvalue="$">
<en>Currency</en>
</PME_CURRENCY>
<PME_VALIDATE type="dropdown" defaultvalue="Real">
<en>Validate<option name="Int">Integer</option><option name="Real">Real Number</option></en>
</PME_VALIDATE>
<PME_COMMA_SEPARATOR type="dropdown" defaultvalue=".">
<en>Decimal Separator<option name=".">Period [.]</option><option name=",">Comma [,]</option></en>
</PME_COMMA_SEPARATOR>
<PME_MASK type="text" maxlength="50" size="50" defaultvalue="###,###,###,###.##">
<en>Mask</en>
</PME_MASK>
<PME_REQUIRED type="checkbox" falseValue="0" value="1" defaultvalue="0" labelOnRight="0">
<en>Required</en>
</PME_REQUIRED>
<PME_READONLY type="checkbox" falseValue="0" value="1" defaultvalue="0" labelOnRight="0">
<en>Read Only</en>
</PME_READONLY>
<PME_DEFAULTVALUE type="text" maxlength="50" size="30" defaultvalue="">
<en>Default Value</en>
</PME_DEFAULTVALUE>
<PME_HINT type="textarea" cols="47" rows="3">
<en>Hint</en>
</PME_HINT>
<PME_SUBTITLE type="title" enableHTML="1">
<en>Appearance</en>
</PME_SUBTITLE>
<PME_SIZE type="text" maxlength="10" size="10" validate="Int" defaultvalue="15">
<en>Size</en>
</PME_SIZE>
<PME_MODE type="dropdown" defaultvalue="edit">
<en>Mode<option name="edit">Edit</option><option name="view">View</option></en>
</PME_MODE>
<PME_SUBTITLE_OP type="title" enableHTML="1">
<en>Operations</en>
</PME_SUBTITLE_OP>
<PME_FORMULA type="text" maxlength="50" size="30" defaultvalue="">
<en>Formula</en>
</PME_FORMULA>
<PME_FUNCTION type="dropdown">
<en>Function<option name="">None</option><option name="sum">SUM</option><option name="avg">AVG</option></en>
</PME_FUNCTION>
<PME_SUBTITLE2 type="title" enableHTML="1">
<en>Data</en>
</PME_SUBTITLE2>
<PME_SQLCONNECTION type="dropdown" sqlconnection="dbarray"><![CDATA[
SELECT * FROM DB_CONNECTIONS
]]><en>Sql Connection<option name="">(none)</option></en>
</PME_SQLCONNECTION>
<PME_XMLNODE_VALUE type="textarea" cols="47" rows="3">
<en>Sql</en>
</PME_XMLNODE_VALUE>
<BTN_CANCEL type="button" onclick="cancel();">
<en>Cancel</en>
</BTN_CANCEL>
<PME_ACCEPT type="button" onclick="fieldsSave( this.form );">
<en>Save</en>
</PME_ACCEPT>
<PME_JS type="javascript"><![CDATA[
var fieldForm="currency";
var fieldName=getField("PME_XMLNODE_NAME",fieldForm);
var fieldVal=getField("PME_VALIDATE",fieldForm);
var fieldSeparator=getField("PME_COMMA_SEPARATOR",fieldForm);
var fieldMask=getField("PME_MASK",fieldForm);
var savedFieldName=fieldName.value;
var pme_validating;
fieldName.focus();
fieldName.select();
leimnud.event.add(fieldName, 'change', {method:dynaformVerifyFieldName, instance:fieldName, event:true});
leimnud.event.add(fieldVal, 'change', {method:checkVal, instance:fieldVal, event:true});
leimnud.event.add(fieldSeparator, 'change', {method:checkSeparator, instance:fieldSeparator, event:true});
leimnud.event.add(fieldMask, 'change', {method:checkVal, instance:fieldMask, event:true});
function verifyFieldName(){
pme_validating=true;
setTimeout('verifyFieldName1();',0);
return true;
}
var dyntype="@#PME_DYN_TYPE";
if(dyntype != 'grid'){
//hideRowById('PME_SUBTITLE_OP');
//hideRowById('PME_FORMULA');
hideRowById('PME_FUNCTION');
}
function cancel(){
currentPopupWindow.remove();
}
function replaceAll( text, search, change ) {
while (text.toString().indexOf(search) != -1) {
text = text.toString().replace(search,change);
}
return text;
}
function checkSeparator() {
var separatorOld;
var separatorNew;
switch (fieldSeparator.value) {
case '.':
separatorOld = ',';
separatorNew = '.';
break;
case ',':
separatorOld = '.';
separatorNew = ',';
break;
default:
separatorOld = ',';
separatorNew = '.';
break;
}
var mask = fieldMask.value;
if (fieldVal.value !== 'Int'){
var amount = fieldMask.value.length;
var separator = mask.substring(amount-3, amount-2);
mask = mask.substring(0, amount-3);
}
mask = replaceAll(mask , separatorNew, separatorOld);
if (fieldVal.value !== 'Int'){
mask = mask.concat(separatorNew, '##');
}
fieldMask.value = mask;
}
function checkVal(){
if (fieldVal.value === 'Int'){
aux = fieldMask.value;
aux = aux.replace('.000','');
var amount = fieldMask.value.length;
var sw = 0;
var i = 0;
while (sw == 0) {
if(aux.charAt(amount - i - 1) == ',' || aux.charAt(amount - i - 1) == '.') {
sw = 1;
} else {
i++;
}
}
if (i <= 2) {
aux = aux.substring(0, amount - i - 1);
}
fieldMask.value = aux;
}
if (fieldVal.value === 'Real'){
fieldMask.value = fieldMask.value+'.##';
}
checkSeparator();
}
]]></PME_JS>
</dynaForm>