Index: ui/webui/resources/cr_elements/cr_toolbar/cr_toolbar.js |
diff --git a/ui/webui/resources/cr_elements/cr_toolbar/cr_toolbar.js b/ui/webui/resources/cr_elements/cr_toolbar/cr_toolbar.js |
index 3a1cfd82611a4f1c22a6b2aa85edc973cb9bdf93..61b89e6cd88bc45175454b7b75ec0d9fcbb2d57c 100644 |
--- a/ui/webui/resources/cr_elements/cr_toolbar/cr_toolbar.js |
+++ b/ui/webui/resources/cr_elements/cr_toolbar/cr_toolbar.js |
@@ -18,15 +18,19 @@ Polymer({ |
// Tooltip to display on the menu button. |
menuLabel: String, |
+ // Promotional toolstip string, shown in narrow mode if showMenuPromo is |
+ // true. |
+ menuPromo: String, |
+ |
// Value is proxied through to cr-toolbar-search-field. When true, |
// the search field will show a processing spinner. |
spinnerActive: Boolean, |
// Controls whether the menu button is shown at the start of the menu. |
- showMenu: { |
- type: Boolean, |
- value: false |
- }, |
+ showMenu: Boolean, |
+ |
+ // Whether to show menu promo tooltip. |
+ showMenuPromo: Boolean, |
/** @private */ |
narrow_: { |
@@ -39,6 +43,13 @@ Polymer({ |
type: Boolean, |
reflectToAttribute: true, |
}, |
+ |
+ /** @private */ |
+ showingMenuPromo_: { |
+ type: Boolean, |
+ computed: 'computeShowingMenuPromo_(showMenuPromo, narrow_)', |
tsergeant
2016/08/25 04:51:00
I think you want to tie this to showMenu_ rather t
Dan Beam
2016/09/09 03:12:08
well, it's already in a <template is="dom-if" if="
|
+ observer: 'showingMenuPromoChanged_', |
+ }, |
}, |
/** @return {!CrToolbarSearchFieldElement} */ |
@@ -46,8 +57,40 @@ Polymer({ |
return this.$.search; |
}, |
+ /** |
+ * @param {boolean} showMenuPromo |
+ * @param {boolean} narrow |
+ * @return {boolean} Whether to show the menu promo tooltip. |
+ */ |
+ computeShowingMenuPromo_: function(showMenuPromo, narrow) { |
+ return showMenuPromo && narrow; |
+ }, |
+ |
/** @private */ |
- onMenuTap_: function(e) { |
+ onMenuTap_: function() { |
this.fire('cr-menu-tap'); |
- } |
+ this.onMenuPromoCloseTap_(); |
+ }, |
+ |
+ /** @private */ |
+ onMenuPromoCloseTap_: function() { |
+ this.fire('cr-menu-promo-shown'); |
tsergeant
2016/08/25 04:51:00
This is potentially confusing, should this be cr-m
Dan Beam
2016/09/09 03:12:08
This didn't actually close it; it just told the pa
|
+ }, |
+ |
+ /** @private */ |
+ showingMenuPromoChanged_: function() { |
+ Polymer.RenderStatus.afterNextRender(this, function() { |
+ if (this.showingMenuPromo_) |
+ this.$$('paper-tooltip').show(); |
+ }.bind(this)); |
+ }, |
+ |
+ /** |
+ * @param {string} title |
+ * @param {boolean} showingMenuPromo |
+ * @return {string} The title if the menu promo isn't showing, else "". |
+ */ |
+ titleIfNotShowingMenuPromo_: function(title, showingMenuPromo) { |
+ return showingMenuPromo ? '' : title; |
+ }, |
}); |