Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(550)

Side by Side Diff: third_party/polymer/v1_0/components-chromium/iron-dropdown/iron-dropdown-extracted.js

Issue 1287713002: [MD settings] merge polymer 1.0.11; hack for settings checkbox (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 1 (function() {
2 (function() {
3 'use strict'; 2 'use strict';
4 3
5 Polymer({ 4 Polymer({
6 is: 'iron-dropdown', 5 is: 'iron-dropdown',
7 6
8 behaviors: [ 7 behaviors: [
9 Polymer.IronControlState, 8 Polymer.IronControlState,
10 Polymer.IronA11yKeysBehavior, 9 Polymer.IronA11yKeysBehavior,
11 Polymer.IronOverlayBehavior, 10 Polymer.IronOverlayBehavior,
12 Polymer.NeonAnimationRunnerBehavior 11 Polymer.NeonAnimationRunnerBehavior
(...skipping 14 matching lines...) Expand all
27 * The orientation against which to align the dropdown content 26 * The orientation against which to align the dropdown content
28 * vertically relative to the dropdown trigger. 27 * vertically relative to the dropdown trigger.
29 */ 28 */
30 verticalAlign: { 29 verticalAlign: {
31 type: String, 30 type: String,
32 value: 'top', 31 value: 'top',
33 reflectToAttribute: true 32 reflectToAttribute: true
34 }, 33 },
35 34
36 /** 35 /**
36 * A pixel value that will be added to the position calculated for the
37 * given `horizontalAlign`. Use a negative value to offset to the
38 * left, or a positive value to offset to the right.
39 */
40 horizontalOffset: {
41 type: Number,
42 value: 0,
43 notify: true
44 },
45
46 /**
47 * A pixel value that will be added to the position calculated for the
48 * given `verticalAlign`. Use a negative value to offset towards the
49 * top, or a positive value to offset towards the bottom.
50 */
51 verticalOffset: {
52 type: Number,
53 value: 0,
54 notify: true
55 },
56
57 /**
37 * The element that should be used to position the dropdown when 58 * The element that should be used to position the dropdown when
38 * it is opened. 59 * it is opened.
39 */ 60 */
40 positionTarget: { 61 positionTarget: {
41 type: Object, 62 type: Object,
42 observer: '_positionTargetChanged' 63 observer: '_positionTargetChanged'
43 }, 64 },
44 65
45 /** 66 /**
46 * An animation config. If provided, this will be used to animate the 67 * An animation config. If provided, this will be used to animate the
(...skipping 28 matching lines...) Expand all
75 _positionRectMemo: { 96 _positionRectMemo: {
76 type: Object 97 type: Object
77 } 98 }
78 }, 99 },
79 100
80 listeners: { 101 listeners: {
81 'neon-animation-finish': '_onNeonAnimationFinish' 102 'neon-animation-finish': '_onNeonAnimationFinish'
82 }, 103 },
83 104
84 observers: [ 105 observers: [
85 '_updateOverlayPosition(verticalAlign, horizontalAlign)' 106 '_updateOverlayPosition(verticalAlign, horizontalAlign, verticalOffset , horizontalOffset)'
86 ], 107 ],
87 108
88 attached: function() { 109 attached: function() {
89 if (this.positionTarget === undefined) { 110 if (this.positionTarget === undefined) {
90 this.positionTarget = this._defaultPositionTarget; 111 this.positionTarget = this._defaultPositionTarget;
91 } 112 }
92 }, 113 },
93 114
94 /** 115 /**
95 * The element that is contained by the dropdown, if any. 116 * The element that is contained by the dropdown, if any.
(...skipping 22 matching lines...) Expand all
118 139
119 get _horizontalAlignTargetValue() { 140 get _horizontalAlignTargetValue() {
120 var target; 141 var target;
121 142
122 if (this.horizontalAlign === 'right') { 143 if (this.horizontalAlign === 'right') {
123 target = document.documentElement.clientWidth - this._positionRect.r ight; 144 target = document.documentElement.clientWidth - this._positionRect.r ight;
124 } else { 145 } else {
125 target = this._positionRect.left; 146 target = this._positionRect.left;
126 } 147 }
127 148
149 target += this.horizontalOffset;
150
128 return Math.max(target, 0); 151 return Math.max(target, 0);
129 }, 152 },
130 153
131 get _verticalAlignTargetValue() { 154 get _verticalAlignTargetValue() {
132 var target; 155 var target;
133 156
134 if (this.verticalAlign === 'bottom') { 157 if (this.verticalAlign === 'bottom') {
135 target = document.documentElement.clientHeight - this._positionRect. bottom; 158 target = document.documentElement.clientHeight - this._positionRect. bottom;
136 } else { 159 } else {
137 target = this._positionRect.top; 160 target = this._positionRect.top;
138 } 161 }
139 162
163 target += this.verticalOffset;
164
140 return Math.max(target, 0); 165 return Math.max(target, 0);
141 }, 166 },
142 167
143 _openedChanged: function(opened) { 168 _openedChanged: function(opened) {
144 if (opened && this.disabled) { 169 if (opened && this.disabled) {
145 this.cancel(); 170 this.cancel();
146 } else { 171 } else {
147 this._cancelAnimations(); 172 this._cancelAnimations();
148 this._prepareDropdown(); 173 this._prepareDropdown();
149 Polymer.IronOverlayBehaviorImpl._openedChanged.apply(this, arguments ); 174 Polymer.IronOverlayBehaviorImpl._openedChanged.apply(this, arguments );
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
267 this.style[this.verticalAlign]; 292 this.style[this.verticalAlign];
268 } 293 }
269 }, 294 },
270 295
271 _focusContent: function() { 296 _focusContent: function() {
272 if (this.containedElement) { 297 if (this.containedElement) {
273 this.containedElement.focus(); 298 this.containedElement.focus();
274 } 299 }
275 } 300 }
276 }); 301 });
277 })(); 302 })();
278
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698