[Layout] Consistent input behavior
Inputs now handle invalid input consistently for all fields
This commit is contained in:
committed by
Aaron Doubek-Kraft
parent
f992fcebe1
commit
2e6fcec1c3
@@ -52,9 +52,11 @@ define(
|
||||
*/
|
||||
proxy.fill = new AccessorMutator(element, 'fill');
|
||||
|
||||
//Expose width and height for editing
|
||||
//Expose x,y, width and height for editing
|
||||
proxy.editWidth = new AccessorMutator(element,'width', proxy.checkNumeric);
|
||||
proxy.editHeight = new AccessorMutator(element,'height', proxy.checkNumeric);
|
||||
proxy.editX = new AccessorMutator(element,'x',proxy.checkNumeric);
|
||||
proxy.editY = new AccessorMutator(element,'y', proxy.checkNumeric);
|
||||
|
||||
return proxy;
|
||||
}
|
||||
|
||||
@@ -164,17 +164,17 @@ define(
|
||||
* or the current value of the new value is invalid.
|
||||
*/
|
||||
ElementProxy.prototype.checkNumeric = function(value, current) {
|
||||
// Allow field to be empty
|
||||
var intValue = parseInt(value);
|
||||
// Handle case of empty field by swapping in 0
|
||||
if (value === ''){
|
||||
return 0;
|
||||
}
|
||||
// Else, check if the input is integral, and not, return current value
|
||||
// of the field
|
||||
value = parseInt(value);
|
||||
if ( isNaN(value) ){
|
||||
if ( isNaN(intValue) ){
|
||||
return current;
|
||||
} else {
|
||||
return value;
|
||||
return intValue;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -52,6 +52,8 @@ define(
|
||||
//Expose width and height properties for editing
|
||||
proxy.editWidth = new AccessorMutator(element, 'width', proxy.checkNumeric);
|
||||
proxy.editHeight = new AccessorMutator(element, 'height', proxy.checkNumeric);
|
||||
proxy.editX = new AccessorMutator(element,'x',proxy.checkNumeric);
|
||||
proxy.editY = new AccessorMutator(element,'y', proxy.checkNumeric);
|
||||
|
||||
return proxy;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user