| OLD | NEW |
| (Empty) |
| 1 | |
| 2 Polymer('paper-menu-button-overlay', { | |
| 3 | |
| 4 publish: { | |
| 5 | |
| 6 /** | |
| 7 * The `relatedTarget` is an element used to position the overlay, for e
xample a | |
| 8 * button the user taps to show a menu. | |
| 9 * | |
| 10 * @attribute relatedTarget | |
| 11 * @type Element | |
| 12 */ | |
| 13 relatedTarget: null, | |
| 14 | |
| 15 /** | |
| 16 * The horizontal alignment of the overlay relative to the `relatedTarge
t`. | |
| 17 * | |
| 18 * @attribute halign | |
| 19 * @type 'left'|'right'|'center' | |
| 20 * @default 'left' | |
| 21 */ | |
| 22 halign: 'left' | |
| 23 | |
| 24 }, | |
| 25 | |
| 26 updateTargetDimensions: function() { | |
| 27 this.super(); | |
| 28 | |
| 29 var t = this.target; | |
| 30 this.target.cachedSize = t.getBoundingClientRect(); | |
| 31 }, | |
| 32 | |
| 33 positionTarget: function() { | |
| 34 if (this.relatedTarget) { | |
| 35 | |
| 36 var rect = this.relatedTarget.getBoundingClientRect(); | |
| 37 | |
| 38 if (this.halign === 'left') { | |
| 39 this.target.style.left = rect.left + 'px'; | |
| 40 } else if (this.halign === 'right') { | |
| 41 this.target.style.right = (window.innerWidth - rect.right) + 'px'; | |
| 42 } else { | |
| 43 this.target.style.left = (rect.left - (rect.width - this.target.cach
edSize.width) / 2) + 'px'; | |
| 44 } | |
| 45 | |
| 46 if (this.valign === 'top') { | |
| 47 this.target.style.top = rect.top + 'px'; | |
| 48 } else if (this.valign === 'bottom') { | |
| 49 this.target.style.top = rect.bottom + 'px'; | |
| 50 } else { | |
| 51 this.target.style.top = rect.top + 'px'; | |
| 52 } | |
| 53 | |
| 54 // this.target.style.top = rect.top + 'px'; | |
| 55 | |
| 56 } else { | |
| 57 this.super(); | |
| 58 } | |
| 59 } | |
| 60 | |
| 61 }); | |
| 62 | |
| OLD | NEW |