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

Side by Side Diff: third_party/polymer/components/paper-tooltip/paper-tooltip.html

Issue 3010683002: Update Polymer components. (Closed)
Patch Set: Rebase Created 3 years, 3 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 <!--
2 @license 2 @license
3 Copyright (c) 2015 The Polymer Project Authors. All rights reserved. 3 Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
4 This code may only be used under the BSD style license found at http://polymer.g ithub.io/LICENSE.txt 4 This code may only be used under the BSD style license found at http://polymer.g ithub.io/LICENSE.txt
5 The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt 5 The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
6 The complete set of contributors may be found at http://polymer.github.io/CONTRI BUTORS.txt 6 The complete set of contributors may be found at http://polymer.github.io/CONTRI BUTORS.txt
7 Code distributed by Google as part of the polymer project is also 7 Code distributed by Google as part of the polymer project is also
8 subject to an additional IP rights grant found at http://polymer.github.io/PATEN TS.txt 8 subject to an additional IP rights grant found at http://polymer.github.io/PATEN TS.txt
9 --> 9 -->
10 10
(...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after
237 detached: function() { 237 detached: function() {
238 if (!this.manualMode) 238 if (!this.manualMode)
239 this._removeListeners(); 239 this._removeListeners();
240 }, 240 },
241 241
242 show: function() { 242 show: function() {
243 // If the tooltip is already showing, there's nothing to do. 243 // If the tooltip is already showing, there's nothing to do.
244 if (this._showing) 244 if (this._showing)
245 return; 245 return;
246 246
247 if (Polymer.dom(this).textContent.trim() === '') 247 if (Polymer.dom(this).textContent.trim() === ''){
248 return; 248 // Check if effective children are also empty
249 var allChildrenEmpty = true;
250 var effectiveChildren = Polymer.dom(this).getEffectiveChildNodes();
251 for (var i = 0; i < effectiveChildren.length; i++) {
252 if (effectiveChildren[i].textContent.trim() !== '') {
253 allChildrenEmpty = false;
254 break;
255 }
256 }
257 if (allChildrenEmpty) {
258 return;
259 }
260 }
249 261
250 262
251 this.cancelAnimation(); 263 this.cancelAnimation();
252 this._showing = true; 264 this._showing = true;
253 this.toggleClass('hidden', false, this.$.tooltip); 265 this.toggleClass('hidden', false, this.$.tooltip);
254 this.updatePosition(); 266 this.updatePosition();
255 267
256 this.animationConfig.entry[0].timing = this.animationConfig.entry[0].tim ing || {}; 268 this.animationConfig.entry[0].timing = this.animationConfig.entry[0].tim ing || {};
257 this.animationConfig.entry[0].timing.delay = this.animationDelay; 269 this.animationConfig.entry[0].timing.delay = this.animationDelay;
258 this._animationPlaying = true; 270 this._animationPlaying = true;
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
314 tooltipTop = targetTop + verticalCenterOffset; 326 tooltipTop = targetTop + verticalCenterOffset;
315 break; 327 break;
316 case 'right': 328 case 'right':
317 tooltipLeft = targetLeft + targetRect.width + offset; 329 tooltipLeft = targetLeft + targetRect.width + offset;
318 tooltipTop = targetTop + verticalCenterOffset; 330 tooltipTop = targetTop + verticalCenterOffset;
319 break; 331 break;
320 } 332 }
321 333
322 // TODO(noms): This should use IronFitBehavior if possible. 334 // TODO(noms): This should use IronFitBehavior if possible.
323 if (this.fitToVisibleBounds) { 335 if (this.fitToVisibleBounds) {
324 // Clip the left/right side. 336 // Clip the left/right side
325 if (tooltipLeft + thisRect.width > window.innerWidth) { 337 if (parentRect.left + tooltipLeft + thisRect.width > window.innerWidth ) {
326 this.style.right = '0px'; 338 this.style.right = '0px';
327 this.style.left = 'auto'; 339 this.style.left = 'auto';
328 } else { 340 } else {
329 this.style.left = Math.max(0, tooltipLeft) + 'px'; 341 this.style.left = Math.max(0, tooltipLeft) + 'px';
330 this.style.right = 'auto'; 342 this.style.right = 'auto';
331 } 343 }
332 344
333 // Clip the top/bottom side. 345 // Clip the top/bottom side.
334 if (tooltipTop + thisRect.height > window.innerHeight) { 346 if (parentRect.top + tooltipTop + thisRect.height > window.innerHeight ) {
335 this.style.bottom = '0px'; 347 this.style.bottom = parentRect.height + 'px';
336 this.style.top = 'auto'; 348 this.style.top = 'auto';
337 } else { 349 } else {
338 this.style.top = Math.max(0, tooltipTop) + 'px'; 350 this.style.top = Math.max(-parentRect.top, tooltipTop) + 'px';
339 this.style.bottom = 'auto'; 351 this.style.bottom = 'auto';
340 } 352 }
341 } else { 353 } else {
342 this.style.left = tooltipLeft + 'px'; 354 this.style.left = tooltipLeft + 'px';
343 this.style.top = tooltipTop + 'px'; 355 this.style.top = tooltipTop + 'px';
344 } 356 }
345 357
346 }, 358 },
347 359
348 _addListeners: function() { 360 _addListeners: function() {
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
386 this.unlisten(this._target, 'focus', 'show'); 398 this.unlisten(this._target, 'focus', 'show');
387 this.unlisten(this._target, 'mouseleave', 'hide'); 399 this.unlisten(this._target, 'mouseleave', 'hide');
388 this.unlisten(this._target, 'blur', 'hide'); 400 this.unlisten(this._target, 'blur', 'hide');
389 this.unlisten(this._target, 'tap', 'hide'); 401 this.unlisten(this._target, 'tap', 'hide');
390 } 402 }
391 this.unlisten(this, 'mouseenter', 'hide'); 403 this.unlisten(this, 'mouseenter', 'hide');
392 } 404 }
393 }); 405 });
394 </script> 406 </script>
395 </dom-module> 407 </dom-module>
OLDNEW
« no previous file with comments | « third_party/polymer/components/paper-tooltip/bower.json ('k') | third_party/polymer/components/paper-tooltip/test/basic.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698