src/cm/media/js/lib/yui/yui3.0.0/releasenotes/README.attribute
author Yves-Marie Haussonne <ymh.work+github@gmail.com>
Fri, 09 May 2014 18:35:26 +0200
changeset 656 a84519031134
parent 0 40c8f766c9b8
permissions -rw-r--r--
add link to "privacy policy" in the header test
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     1
3.0.0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     2
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     3
* set/get can now be called for ad-hoc attributes (attributes which 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     4
  have not been added/configured).
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     5
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     6
* Fixed issue where custom getters were being called with undefined values,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     7
  for the initial set.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     8
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     9
* Limited the case for which an attribute will not notify after listeners, 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    10
  if the value is unchanged after a set, to primitive values (values for 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    11
  which Lang.isObject(newVal) returns false).
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    12
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    13
  This allows after listeners to be invoked, when resetting the value to 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    14
  the same object reference, which has properties updated, or arrays with
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    15
  elements modified. 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    16
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    17
* Attribute broken up into attribute-base and attribute-complex submodules.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    18
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    19
  attribute-complex adds support for complex attributes ({x.y.z : 5}) to
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    20
  addAttrs. 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    21
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    22
3.0.0 beta 1
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    23
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    24
* Removed Attribute.CLONE support in the interests of simplicity.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    25
  Was not being used. Can re-evaluate support if real world demand 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    26
  for it exists. 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    27
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    28
* Changed "set" and "get" configuration properties for setter and 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    29
  getter methods to "setter" and "getter" respectively.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    30
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    31
* Added support for setter to return Attribute.INVALID_VALUE
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    32
  to prevent attribute state from being changed. 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    33
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    34
  This allows developers to combine setter and validator 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    35
  functionality into one method if performance optimization 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    36
  is required.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    37
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    38
* "validator" is now invoked before "setter".
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    39
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    40
* Renamed xxxAtt and xxxAtts methods to xxxAttr, xxxAttrs for
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    41
  consistency.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    42
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    43
* "after" listeners are only notified if attribute value really
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    44
  changes (preVal !== newVal).
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    45
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    46
* Extending classes can now overwrite ATTRS configuration properties 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    47
  from super classes, including writeOnce and readOnly attributes.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    48
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    49
  The ATTRS configurations are merged across the class hierarchy,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    50
  before they are used to initialize the attributes.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    51
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    52
* addAttr now prevents re-adding attributes which are already 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    53
  configured in order to maintain consistent state.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    54
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    55
* Event prefix wrapper functions (on, after etc.) removed - 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    56
  Event.Target now accepts an event prefix configuration value
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    57
  
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    58
* Added additional log messages to assist with debugging.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    59
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    60
* Attribute change events are no longer fired for initial set.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    61
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    62
* Split up State add/get/remove into add/addAll, get/getAll, 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    63
  remove/removeAll to avoid having to create object literals for 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    64
  critical path [ add/get single key values ].
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    65
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    66
* Attribute getter, setter, validator now also receive attribute name 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    67
  as the 2nd arg (val, name).
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    68
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    69
* If Attributes initialized through addAttrs have a user provided value 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    70
  which is not valid, the initial attribute value will revert to the 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    71
  default value in the attribute configuration, if it exists.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    72
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    73
* reset() no longer resets readOnly or writeOnce attributes. Only 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    74
  publically settable values are reset.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    75
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    76
* Added modifyAttr method, to allow component developer to modify 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    77
  configuration of an attribute which has already been added. The set of 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    78
  attribute configuration properties which can be modified after it 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    79
  has been added are limited to getter, readOnly, writeOnce and broadcast.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    80
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    81
* Added support for lazy attribute configuration. Base uses this feature 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    82
  to lazily intialize all Attributes on the first call to get/set, for 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    83
  performance optimization. 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    84
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    85
  lazyAdd:true/false can be used to over-ride this behavior for a 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    86
  particular attribute. 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    87
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    88
3.0.0PR2
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    89
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    90
* Added valueFn support, to allowing static 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    91
  attribute values configuration to set instance
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    92
  based values.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    93
  
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    94
* Added reset method.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    95
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    96
* Added private setter for use by class implementation
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    97
  code to set readOnly, writeOnce values.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    98
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    99
3.0.0PR1 - Initial release
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   100
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   101
Module Name: "attribute"
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   102
Documentation: http://developer.yahoo.com/yui/3/attribute
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   103
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   104
The Attribute utility allows you to add attributes to any class 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   105
through an augmentable Attribute interface. The interface adds 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   106
get and set methods to your class for attribute access, in 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   107
addition to supporting change events allowing you to listen 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   108
for changes in attribute values.