| OLD | NEW |
| (Empty) |
| 1 <!-- | |
| 2 Copyright (c) 2014 The Polymer Project Authors. All rights reserved. | |
| 3 This code may only be used under the BSD style license found at http://polymer.g
ithub.io/LICENSE.txt | |
| 4 The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt | |
| 5 The complete set of contributors may be found at http://polymer.github.io/CONTRI
BUTORS.txt | |
| 6 Code distributed by Google as part of the polymer project is also | |
| 7 subject to an additional IP rights grant found at http://polymer.github.io/PATEN
TS.txt | |
| 8 --> | |
| 9 <!-- | |
| 10 /** | |
| 11 * @module Polymer Core Elements | |
| 12 */ | |
| 13 /** | |
| 14 * core-menu-button is a core-icon-button with a drop down menu | |
| 15 * that allows the user to select an option. The drop down menu is styled with | |
| 16 * an arrow pointing to the button, and can be positioned to the top or the | |
| 17 * bottom of the button with the valign property. The valign property aligns | |
| 18 * the menu to the left or right edge of the button. | |
| 19 * | |
| 20 * Example: | |
| 21 * | |
| 22 * <core-menu-button selected="0"> | |
| 23 * <core-item icon="settings" label="Settings"></core-item> | |
| 24 * <core-item icon="dialog" label="Dialog"></core-item> | |
| 25 * <core-item icon="search" label="Search"></core-item> | |
| 26 * </core-menu-button> | |
| 27 * | |
| 28 * @class core-menu-button | |
| 29 */ | |
| 30 --> | |
| 31 <link href="../polymer/polymer.html" rel="import"> | |
| 32 <link href="../core-icon-button/core-icon-button.html" rel="import"> | |
| 33 <link href="../core-menu/core-menu.html" rel="import"> | |
| 34 <link href="../core-overlay/core-overlay.html" rel="import"> | |
| 35 | |
| 36 <polymer-element name="core-menu-button" attributes="icon label src selected ope
ned halign valign valueattr multi inlineMenu"> | |
| 37 <template> | |
| 38 <link rel="stylesheet" href="core-menu-button.css"> | |
| 39 <core-overlay target="{{$.overlay}}" opened="{{opened}}" layered?="{{!inline
Menu}}"></core-overlay> | |
| 40 <core-icon-button id="button" on-tap="{{toggle}}" src="{{src}}" icon="{{icon
}}" active="{{opened}}"><span>{{label}}</span></core-icon-button> | |
| 41 <div id="overlay" halign="{{halign}}" valign="{{valign}}"> | |
| 42 <style> | |
| 43 #overlay { | |
| 44 position: absolute; | |
| 45 left: 0px; | |
| 46 top: 40px; | |
| 47 padding: 8px; | |
| 48 background: #fff; | |
| 49 border: 1px solid #ccc; | |
| 50 border-radius: 3px; | |
| 51 /* overlay styling must be complete */ | |
| 52 font-size: 1rem; | |
| 53 } | |
| 54 | |
| 55 core-menu { | |
| 56 margin: 0; | |
| 57 } | |
| 58 | |
| 59 #overlay[halign=right] { | |
| 60 left: auto; | |
| 61 right: 0px; | |
| 62 } | |
| 63 | |
| 64 #overlay[valign=top] { | |
| 65 top: auto; | |
| 66 bottom: 40px; | |
| 67 } | |
| 68 </style> | |
| 69 <core-menu id="menu" selected="{{selected}}" selectedItem="{{selectedItem}
}" selectedClass="{{selectedClass}}" valueattr="{{valueattr}}" multi="{{multi}}"
on-core-select="{{closeAction}}"> | |
| 70 <content select="*"></content> | |
| 71 </core-menu> | |
| 72 </div> | |
| 73 </template> | |
| 74 <script> | |
| 75 Polymer('core-menu-button', { | |
| 76 /** | |
| 77 * The icon to display. | |
| 78 * @attribute icon | |
| 79 * @type string | |
| 80 */ | |
| 81 icon: 'dots', | |
| 82 src: '', | |
| 83 /** | |
| 84 * The index of the selected menu item. | |
| 85 * @attribute selected | |
| 86 * @type number | |
| 87 */ | |
| 88 selected: '', | |
| 89 /** | |
| 90 * Set to true to open the menu. | |
| 91 * @attribute opened | |
| 92 * @type boolean | |
| 93 */ | |
| 94 opened: false, | |
| 95 /** | |
| 96 * Set to true to cause the menu popup to be displayed inline rather | |
| 97 * than in its own layer. | |
| 98 * @attribute inlineMenu | |
| 99 * @type boolean | |
| 100 */ | |
| 101 inlineMenu: false, | |
| 102 /** | |
| 103 * Horizontally align the overlay with the button. Accepted values are | |
| 104 * ["left", "center", "right"]. | |
| 105 * @attribute halign | |
| 106 * @type string | |
| 107 */ | |
| 108 halign: 'center', | |
| 109 /** | |
| 110 * Display the overlay on top or below the button. Accepted values are | |
| 111 * ["top", "bottom"]. | |
| 112 * @attribute valign | |
| 113 * @type string | |
| 114 */ | |
| 115 valign: 'bottom', | |
| 116 multi: false, | |
| 117 closeAction: function() { | |
| 118 this.opened = false; | |
| 119 }, | |
| 120 /** | |
| 121 * Toggle the opened state of the dropdown. | |
| 122 * @method toggle | |
| 123 */ | |
| 124 toggle: function() { | |
| 125 this.opened = !this.opened; | |
| 126 }, | |
| 127 /** | |
| 128 * The selected menu item. | |
| 129 * @property selection | |
| 130 * @type Node | |
| 131 */ | |
| 132 get selection() { | |
| 133 return this.$.menu.selection; | |
| 134 } | |
| 135 }); | |
| 136 </script> | |
| 137 </polymer-element> | |
| OLD | NEW |