everything.html revision 705f5b98fcc7d5378f007556c762963d75cb1fd2
83a28ca274521e15086fc39febde507bcc4e145eMark Andrews debug: true,
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt combo: false,
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt filter: 'raw'
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt }).use('button', 'cssfonts', 'console', function(Y){
e939674d53a127ddeeaf4b41fd72933f0b493308Mark Andrews new Y.Console().render();
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Y.log('A ninja button called ' + new Y.Button({label:'Bruce Lee'}).getNode().getContent());
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont Just a basic test with a listener
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont var button = new Y.Button({
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont srcNode: Y.one('#event')
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont button.getNode().on("click", function(e){
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont A 'toggle' button listening for the selectedChange event
26d8ffe715e74d1e67d268551449b780fec1b95fAutomatic Updater var button2 = new Y.Button({
ca4e44ebe8f3b29a426fe047c4192262ca660c6fAutomatic Updater srcNode: Y.one('#toggle'),
784a904bd06c7492361ed09a882d10c636b1291bAutomatic Updater type: 'toggle',
6ea2385360e9e2167e65f9286447da9eea189457Tinderbox User selectedChange:function(){
19c7b1a0293498a3e36692c59646ed6e15ffc8d0Tinderbox User Y.log('selectedChange');
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont A 'link' button
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont Preferably, the user would just apply a yui3-button style to an <a> element and not use JS
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont var button3 = new Y.Button({
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt srcNode: Y.one('#link')
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt A disabled button
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt var button4 = new Y.Button({
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt srcNode: Y.one('#disabled'),
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt disabled: true
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt A group of radio-like buttons
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt var buttonGroup = new Y.ButtonGroup({
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont srcNodes: Y.all('.group'),
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont type: 'radio'
30eec077db2bdcb6f2a0dc388a3cdde2ede75ec1Mark Andrews buttonGroup.after('selectionChange', function(e){
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont Y.log('buttonGroup selection changed');
1f821c10583d9cddbaf3626a96ff8cf10cdb645bFrancis Dupont A group of checkbox-like buttons
1f821c10583d9cddbaf3626a96ff8cf10cdb645bFrancis Dupont var buttonGroup2 = new Y.ButtonGroup({
1f821c10583d9cddbaf3626a96ff8cf10cdb645bFrancis Dupont srcNodes: Y.all('.multigroup'),
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt type: 'checkbox'
30eec077db2bdcb6f2a0dc388a3cdde2ede75ec1Mark Andrews buttonGroup2.after('selectionChange', function(e){
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont var selection = buttonGroup2.getSelectedButtons();
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont Y.log('buttonGroup2 selected count = ' + selection.length);
e939674d53a127ddeeaf4b41fd72933f0b493308Mark Andrews A button generator
e939674d53a127ddeeaf4b41fd72933f0b493308Mark Andrews Y.Buttons adds nothing useful for the gernator buttons, so just add the class and a listener.
e939674d53a127ddeeaf4b41fd72933f0b493308Mark Andrews Y.all('.generator').addClass('yui3-button').on('click', function(e){
e939674d53a127ddeeaf4b41fd72933f0b493308Mark Andrews var button, type, config;
e939674d53a127ddeeaf4b41fd72933f0b493308Mark Andrews type = e.target.getAttribute('data-type');
e939674d53a127ddeeaf4b41fd72933f0b493308Mark Andrews if (type === 'disabled') {
e939674d53a127ddeeaf4b41fd72933f0b493308Mark Andrews config.srcNode = Y.Node.create('<button>' + config.label + '</button>');
e939674d53a127ddeeaf4b41fd72933f0b493308Mark Andrews button = new Y.Button(config);
e939674d53a127ddeeaf4b41fd72933f0b493308Mark Andrews <button id='event' tabindex='3'>Log a message</button>
e939674d53a127ddeeaf4b41fd72933f0b493308Mark Andrews <input type='button' id='toggle' value='Toggle'></input>
e939674d53a127ddeeaf4b41fd72933f0b493308Mark Andrews <a href='http://yahoo.com' id='link'>Go to yahoo.com</a>
e939674d53a127ddeeaf4b41fd72933f0b493308Mark Andrews <button id='disabled'>Should be disabled</button>
e939674d53a127ddeeaf4b41fd72933f0b493308Mark Andrews <button class='multigroup' id='btn4'>Button 4</button>
e939674d53a127ddeeaf4b41fd72933f0b493308Mark Andrews <button class='multigroup' id='btn5'>Button 5</button>
e939674d53a127ddeeaf4b41fd72933f0b493308Mark Andrews <button class='multigroup' id='btn6'>Button 6</button>
e939674d53a127ddeeaf4b41fd72933f0b493308Mark Andrews <button class='group' id='btn1'>Button 13</button>
e939674d53a127ddeeaf4b41fd72933f0b493308Mark Andrews <button class='group' id='btn2'>Button 27</button>
e939674d53a127ddeeaf4b41fd72933f0b493308Mark Andrews <button class='group' id='btn3'>Button 40</button>
e939674d53a127ddeeaf4b41fd72933f0b493308Mark Andrews <button class='generator' data-type='push'>Generate Push Button</button>
e939674d53a127ddeeaf4b41fd72933f0b493308Mark Andrews <button class='generator' data-type='toggle'>Generate Toggle Button</button>
e939674d53a127ddeeaf4b41fd72933f0b493308Mark Andrews <button class='generator' data-type='disabled'>Generate Disabled Button</button>
e939674d53a127ddeeaf4b41fd72933f0b493308Mark Andrews <div id='generated' style='border:solid black 1px;'></div>