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