src/cm/media/js/lib/yui/yui_3.10.3/releasenotes/HISTORY.widget-buttons.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
Widget Buttons 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
* No changes.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    13
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    14
3.10.1
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    15
------
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    16
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    17
* No changes.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    18
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    19
3.10.0
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    20
------
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    21
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    22
* No changes.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    23
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    24
3.9.1
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    25
-----
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    26
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    27
* No changes.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    28
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    29
3.9.0
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    30
-----
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    31
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    32
* No changes.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    33
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    34
3.8.1
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    35
-----
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    36
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    37
* No changes.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    38
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    39
3.8.0
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    40
-----
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    41
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    42
  * No changes.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    43
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    44
3.7.3
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    45
-----
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    46
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    47
  * Fixed bug with a widget's `defaultButton` changing by binding to the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    48
    `defaultButtonChange` event in WidgetButtons' `initializer()`.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    49
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    50
3.7.2
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    51
-----
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    52
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    53
  * No changes.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    54
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    55
3.7.1
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    56
-----
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    57
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    58
  * No changes.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    59
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    60
3.7.0
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    61
-----
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    62
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    63
  * No changes.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    64
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    65
3.6.0
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    66
-----
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    67
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    68
  * No changes.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    69
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    70
3.5.1
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    71
-----
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    72
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    73
  * Fixed issue with `addButton()` receiving an `index` argument which was too
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    74
    large or negative, both of which are okay because this value is passed to
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    75
    the Array `splice()` method. The `index` property on the `buttonsChange`
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    76
    event facade is now always the actual index at which the new button exists.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    77
    [Ticket #253219]
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    78
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    79
  * Fixed issue with properly handling `Y.Node` instances from other YUI
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    80
    sandboxes. [Ticket #2532207]
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    81
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    82
3.5.0
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    83
-----
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    84
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    85
  * [!] WidgetButtons has been completely rewritten, back-compat for common
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    86
    usage has been maintained. The new version is _much more_ robust.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    87
    [Tickets #2531366, #2531624, #2531043]
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    88
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    89
  * [!] The `buttons` attribute is handled in an _extremely_ flexible manner.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    90
    It supports being a single Array, or an Object of Arrays keyed to a
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    91
    particular section.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    92
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    93
    The `buttons` collection will be normalized into an Object which contains an
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    94
    Array of `Y.Node`s for every `WidgetStdMod` section (header, body, footer)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    95
    which has one or more buttons. The structure will end up looking like this:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    96
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    97
        {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    98
            header: [...],
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    99
            footer: [...]
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   100
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   101
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   102
    A button can be specified as a Y.Node, config Object, or String name for a
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   103
    predefined button on the `BUTTONS` prototype property. When a config Object
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   104
    is provided, it will be merged with any defaults provided by a button with
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   105
    the same `name` defined on the `BUTTONS` property. [Ticket #2531365]
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   106
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   107
  * [!] All button nodes have the `Y.Plugin.Button` plugin applied.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   108
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   109
  * [!] The HTML structure for buttons has been optimized to:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   110
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   111
        <span class="yui3-widget-butons>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   112
            <button class="yui3-button">Foo</button>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   113
        </span>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   114
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   115
    The above structure will appear in each `WidgetStdMod` section
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   116
    (header/body/footer) which contains buttons. [Ticket #2531367]
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   117
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   118
  * Fixed issue with multiplying subscriptions to `buttonsChange` event. The
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   119
    event handler was itself subscripting _again_ to the event causing an
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   120
    ever-increasing number of subscriptions all doing the same work. Now
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   121
    WidgetButtons will always clean up its event subscriptions.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   122
    [Ticket #2531449]
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   123
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   124
  * Added support for predefining `BUTTONS` on the prototype. `BUTTONS` is
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   125
    Collection of predefined buttons mapped by name -> config. These button
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   126
    configurations will serve as defaults for any button added to a widget's
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   127
    buttons which have the same `name`. [Ticket #2531680]
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   128
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   129
  * Added an `HTML_PARSER` implementation for the `buttons` attribute. This
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   130
    allows the initial value for a widget's `buttons` to be seeded from its DOM.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   131
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   132
  * A widget's `buttons` now persist after header/body/footer content updates.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   133
    Option 2 of the follow scenario has been implemented:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   134
    http://jsfiddle.net/ericf/EXR52/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   135
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   136
  * A button can be configured with a `context` object (which defaults to the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   137
    widget instance), which will be used as the `this` object when calling a
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   138
    button's `action` or `events` handlers. [Ticket #2531166]
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   139
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   140
  * Buttons now support multiple `events` which can be specified in place of an
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   141
    `action`. The follow are equivalent:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   142
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   143
        var buttonConfigWithEvents = {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   144
            label: 'Foo',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   145
            events: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   146
                click: function (e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   147
                    this.hide();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   148
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   149
            }
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
        var buttonConfigWithAction = {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   153
            label : 'Foo',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   154
            action: 'hide'
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
    A button's `action` can now be specified as the String name of a function
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   158
    which is hosted on the `context` object. [Ticket #2531363]
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   159
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   160
  * Added the notion of a default button. A widget's `defaultButton` will have
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   161
    the "yui3-button-primary" CSS class added to it, and will be focused when
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   162
    the widget is shown.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   163
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   164
  * Updated the `addButton()` method and added other accessor/mutator methods:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   165
    `getButton()` and `removeButton()`.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   166
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   167
  * Buttons can now be added to a widget's body, not just the header and footer.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   168
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   169
3.4.1
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   170
-----
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   171
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   172
  * Added support for `classNames` property for button configurations which will
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   173
    add the CSS class names to the button Node. The default "close" button uses
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   174
    this, adding a `yui3-button-close` CSS class to itself. [Ticket #2531091]
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   175
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   176
  * Fixed the default template for the "close" button to not contain malformed
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   177
    HTML by replacing the `<div>` element inside of a `<span>` with a `<span>`.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   178
    The in-lined CSS in the style attribute on the button was moved into an
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   179
    external CSS file which provides the basic styling for the default "close"
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   180
    button for both the Sam and Night skins. The CSS class `yui3-widget-buttons`
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   181
    is now applied to the `boundingBox` of Widgets which use WidgetButtons.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   182
    [Ticket #2530952]
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   183
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   184
  * Fixed a bug where instance-level properties were not being initialized
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   185
    causing references to bubble-up the chain to the prototype incorrectly.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   186
    [Ticket #2530998]
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   187
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   188
3.4.0
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   189
-----
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   190
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   191
  * Initial release.