src/cm/media/js/lib/yui/yui_3.10.3/releasenotes/HISTORY.attribute.md
author gibus
Tue, 16 Jul 2013 14:29:46 +0200
changeset 525 89ef5ed3c48b
permissions -rw-r--r--
Upgrades to yui 3.10.3
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
525
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     1
Attribute Change History
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     2
========================
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     3
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     4
3.10.3
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     5
------
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     6
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     7
* No changes.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     8
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     9
3.10.2
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    10
------
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    11
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    12
* opts now passed to setter correctly, when using AttributeObservable.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    13
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    14
  This feature was added in 3.8.1 (below), but didn't work for
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    15
  AttributeObservable.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    16
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    17
3.10.1
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    18
------
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    19
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    20
* No changes.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    21
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    22
3.10.0
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    23
------
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    24
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    25
* Significant performance improvements in common Attribute operations.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    26
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    27
  For example, on Chrome:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    28
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    29
      `get()` is 4 times faster
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    30
      `set()` is 3 times faster
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    31
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    32
  Major performance related changes are listed below.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    33
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    34
  Commit messages have detailed descriptions of incremental changes, and the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    35
  benefits introduced.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    36
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    37
* We retrieve and pass the internally stored attribute configuration in State
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    38
  by reference in a lot more places, across methods, results in less function
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    39
  hops, and removing the need for each method to go and ask for the configuration.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    40
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    41
* Avoid the delete operator for transient configuration properties, and just set
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    42
  to null or other falsey values as appropriate.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    43
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    44
* Store final attribute config in State by reference, as opposed to merging
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    45
  since it's isolated already higher up in the call stack.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    46
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    47
3.9.1
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    48
-----
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    49
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    50
* No changes.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    51
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    52
3.9.0
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    53
-----
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    54
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    55
* No changes.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    56
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    57
3.8.1
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    58
-----
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    59
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    60
* Invalid values supplied during Attribute initialization that fail setter
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    61
  validation will now fallback the default value defined in `ATTRS`.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    62
  [Ticket #2528732] [redbat]
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    63
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    64
* Attribute validators and setters now receive set's `options` argument. This is
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    65
  now a part of `AttributeCore`. [Ticket #2532810] [Satyam]
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    66
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    67
3.8.0
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    68
-----
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    69
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    70
* [!] The `AttributeEvents` class extension and the `attribute-events` module
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    71
  have been renamed to `AttributeObservable` and `attribute-observable`
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    72
  respectively. The old names are deprecated, but have been retained as aliases
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    73
  for backwards compatibility. They will be removed in a future version of YUI.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    74
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    75
* [!] The `AttributeComplex` class extension and the `attribute-complex` module
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    76
  have been deprecated. This functionality is now part of `AttributeCore`, and
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    77
  this extension and module are no longer needed.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    78
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    79
* Moved AttributeCore's protected `_protectAttrs()` utility method to a public
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    80
  static method, `protectAttrs()`, which is available on both `Y.Attribute` and
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    81
  `Y.AttributeCore` namespaces.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    82
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    83
3.7.3
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    84
-----
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    85
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    86
* No changes.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    87
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    88
3.7.2
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    89
-----
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    90
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    91
* No changes.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    92
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    93
3.7.1
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    94
-----
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    95
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    96
* No changes.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    97
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    98
3.7.0
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    99
-----
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   100
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   101
  * Removed unused call to `get` in `getAttrs()`, improving `getAttrs()`
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   102
    performance. [Ryan Grove]
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   103
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   104
3.6.0
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   105
-----
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   106
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   107
  * Optimized valueFn handling, so that valueFn is not called for Attribute,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   108
    if user provides a value.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   109
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   110
  * Support opts argument for setAttrs() also. Passed through to set, and ends up
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   111
    mixed into the event payload for all the attributes set through setAttrs()
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   112
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   113
3.5.1
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   114
-----
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   115
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   116
  * No changes.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   117
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   118
3.5.0
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   119
-----
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   120
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   121
  * Broke Y.Attribute up into:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   122
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   123
    - Y.AttributeCore
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   124
    - Y.AttributeEvents
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   125
    - Y.AttributeExtras
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   126
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   127
    To support core Attribute usage, without Events, but still allow upgrade
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   128
    path to add Events, if required.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   129
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   130
    Y.AttributeCore is likely to form the basis for BaseCore and WidgetCore
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   131
    (ala Node Plugins, where low-level state change events are not required).
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   132
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   133
    Y.Attribute's public and protected API reimain unchanged, and loader will
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   134
    pull in the new dependencies.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   135
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   136
    However if you're manually pulling in attribute-base, you'll need to
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   137
    manually pull in attribute-core, attribute-events and attribute-extras
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   138
    before it.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   139
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   140
    Summary:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   141
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   142
    Y.Attribute     - Common Attribute Functionality (100% backwards compat)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   143
    Y.AttributeCore - Lightest Attribute support, without CustomEvents
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   144
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   145
    --
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   146
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   147
    Y.AttributeEvents - Augmentable Attribute Events support
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   148
    Y.AttributeExtras - Augmentable 20% usage for Attribute (modifyAttr, removeAttr, reset ...)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   149
    Y.AttributeComplex - Augmentable support for constructor complex attribute parsing ({"x.y":foo})
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   150
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   151
    --
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   152
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   153
    Y.Attribute = Y.AttributeCore + Y.AttributeEvents + Y.AttributeExtras
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   154
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   155
    --
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   156
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   157
    Modules:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   158
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   159
    "attribute-base" : Y.Attribute
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   160
    "attribute-core" : Y.AttributeCore
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   161
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   162
    "attribute-complex" : Y.AttributeComplex mixin (mixed into Y.Attribute)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   163
    "attribute-events" : Y.AttributeEvents mixin
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   164
    "attribute-extras" : Y.AttributeExtras mixin
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   165
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   166
  * Changed State's internal data structure, to store pairs by
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   167
    [name][property], instead of [property][name] to improve performance
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   168
    (most Attribute operations are name centric, not property centric).
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   169
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   170
    If you're working directly with Attribute's private _state.data, you
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   171
    may need to update your code to account for the change in structure.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   172
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   173
  * Attribute now passes the attribute name to valueFn, allowing users to
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   174
    write shared valueFn impls across attributes.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   175
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   176
3.4.1
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   177
-----
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   178
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   179
  * No changes.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   180
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   181
3.4.0
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   182
-----
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   183
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   184
  * Added params to constructor, to support call to addAttrs on construction
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   185
    with user values, when augmenting and invoking constructor manually.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   186
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   187
    Also broke out addAttrs logic on construction (introduced for Node),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   188
    into it's own _initAttrs method to facilitate customization.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   189
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   190
3.3.0
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   191
-----
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   192
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   193
  * Changed instanceof to Y.instanceOf, to prevent leaks in IE7
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   194
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   195
3.2.0
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   196
-----
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   197
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   198
  * Added protected helper method (_getAttrCfg) to return the configuration
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   199
    for a given attribute.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   200
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   201
3.1.1
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   202
-----
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   203
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   204
  * Fixed ticket #2528753 : Sub attribute value crashed after setting another
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   205
    sub attribute.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   206
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   207
3.1.0
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   208
-----
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   209
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   210
  * writeOnce can be set to "initOnly", which can be used
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   211
    to prevent the user from setting the value outside of the initial
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   212
    configuration when using the addAttrs.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   213
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   214
    When used with Base, this means that the user can only define a
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   215
    value for the Attribute during construction.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   216
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   217
  * Attribute change events are now published with the defaultTargetOnly
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   218
    property set to true.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   219
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   220
  * newVal property of event object passed to change event listeners will
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   221
    now be the value returned from the Attribute's getter (if defined)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   222
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   223
  * setter, getter, validator and valueFn can now be specified as
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   224
    strings, referring to the method names to be invoked on the Attribute
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   225
    instance.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   226
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   227
3.0.0
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   228
-----
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   229
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   230
  * set/get can now be called for ad-hoc attributes (attributes which
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   231
    have not been added/configured).
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   232
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   233
  * Fixed issue where custom getters were being called with undefined values,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   234
    for the initial set.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   235
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   236
  * Limited the case for which an attribute will not notify after listeners,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   237
    if the value is unchanged after a set, to primitive values (values for
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   238
    which Lang.isObject(newVal) returns false).
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   239
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   240
    This allows after listeners to be invoked, when resetting the value to
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   241
    the same object reference, which has properties updated, or arrays with
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   242
    elements modified.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   243
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   244
  * Attribute broken up into attribute-base and attribute-complex submodules.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   245
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   246
    attribute-complex adds support for complex attributes ({x.y.z : 5}) to
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   247
    addAttrs.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   248
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   249
3.0.0 beta 1
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   250
------------
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   251
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   252
  * Removed Attribute.CLONE support in the interests of simplicity.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   253
    Was not being used. Can re-evaluate support if real world demand
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   254
    for it exists.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   255
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   256
  * Changed "set" and "get" configuration properties for setter and
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   257
    getter methods to "setter" and "getter" respectively.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   258
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   259
  * Added support for setter to return Attribute.INVALID_VALUE
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   260
    to prevent attribute state from being changed.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   261
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   262
    This allows developers to combine setter and validator
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   263
    functionality into one method if performance optimization
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   264
    is required.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   265
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   266
  * "validator" is now invoked before "setter".
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   267
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   268
  * Renamed xxxAtt and xxxAtts methods to xxxAttr, xxxAttrs for
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   269
    consistency.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   270
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   271
  * "after" listeners are only notified if attribute value really
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   272
    changes (preVal !== newVal).
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   273
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   274
  * Extending classes can now overwrite ATTRS configuration properties
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   275
    from super classes, including writeOnce and readOnly attributes.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   276
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   277
    The ATTRS configurations are merged across the class hierarchy,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   278
    before they are used to initialize the attributes.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   279
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   280
  * addAttr now prevents re-adding attributes which are already
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   281
    configured in order to maintain consistent state.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   282
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   283
  * Event prefix wrapper functions (on, after etc.) removed -
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   284
    Event.Target now accepts an event prefix configuration value
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   285
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   286
  * Added additional log messages to assist with debugging.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   287
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   288
  * Attribute change events are no longer fired for initial set.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   289
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   290
  * Split up State add/get/remove into add/addAll, get/getAll,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   291
    remove/removeAll to avoid having to create object literals for
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   292
    critical path [ add/get single key values ].
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   293
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   294
  * Attribute getter, setter, validator now also receive attribute name
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   295
    as the 2nd arg (val, name).
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   296
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   297
  * If Attributes initialized through addAttrs have a user provided value
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   298
    which is not valid, the initial attribute value will revert to the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   299
    default value in the attribute configuration, if it exists.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   300
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   301
  * reset() no longer resets readOnly or writeOnce attributes. Only
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   302
    publically settable values are reset.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   303
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   304
  * Added modifyAttr method, to allow component developer to modify
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   305
    configuration of an attribute which has already been added. The set of
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   306
    attribute configuration properties which can be modified after it
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   307
    has been added are limited to getter, readOnly, writeOnce and broadcast.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   308
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   309
  * Added support for lazy attribute configuration. Base uses this feature
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   310
    to lazily intialize all Attributes on the first call to get/set, for
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   311
    performance optimization.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   312
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   313
    lazyAdd:true/false can be used to over-ride this behavior for a
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   314
    particular attribute.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   315
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   316
3.0.0PR2
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   317
--------
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   318
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   319
  * Added valueFn support, to allowing static
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   320
    attribute values configuration to set instance
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   321
    based values.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   322
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   323
  * Added reset method.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   324
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   325
  * Added private setter for use by class implementation
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   326
    code to set readOnly, writeOnce values.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   327
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   328
3.0.0PR1 - Initial release
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   329
--------------------------