2008 NEWS 2008-11-16 - IMPROVED MODULE: Uize
A number of small improvements have been made to the Uize
base class.
1. Uize.toString
The toString
intrinsic method is now implemented also as a static method on Uize
subclasses, so the alert statement can now be used to display a summary of info for an object that is a reference to a Uize
subclass. For example, the statement alert (Uize.Widget.Page)
would produce an output like...
[class Uize.Widget.Page] built : true busy : inherit busyInherited : false confirmDialog : [object Object] container : undefined enabled : inherit enabledInherited : true html : undefined idPrefix : page idPrefixConstruction : undefined insertionMode : undefined localized : undefined name : undefined nodeMap : undefined wired : false
This new behavior is similar to the existing behavior for instances of a Uize
subclass, excepting that the summary of values for state properties is for the class (i.e. static) rather than an instance.
2. Uize.valueOf
Less compelling than the new Uize.toString
static implementation, the valueOf
intrinsic method is now also implemented as a static method on Uize
subclasses.
This change is more for parity than anything else. This means that you can access the static value of a class' value
state property by involving the class reference in an expression, such as +Uize.Widget.Bar.Slider
, or Uize.Widgets.RgbSliders.Widget + ''
.
3. Name Property Optional in State Property Profiles
When registering state properties using the Uize.registerProperties
static method, it is now possible to omit the public name for a property and it will default to the private name.
This may be useful in certain special cases, as outlined in more detail in the State Properties guide (see the section on Public Name Defaulting
, which talks about Naked State Properties
and Private State Properties
).
4. New Variation of set Method
A new variation of the set
method that accepts the two parameters propertyNameSTR
and propertyValueANYTYPE
allows us to use an expression or the value of a variable for specifying the name of the property to set.
This variation is supported for both static and instance calls of this method.
INSTEAD OF...
var propertyToSetObj = {}; propertyToSetObj [propertyName] = propertyValue; myInstance.set (propertyToSetObj);
USE...
myInstance.set (propertyName,propertyValue);