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

Unified Diff: third_party/polymer/v1_0/components-chromium/paper-menu-button/paper-menu-button-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 side-by-side diff with in-line comments
Download patch
Index: third_party/polymer/v1_0/components-chromium/paper-menu-button/paper-menu-button-extracted.js
diff --git a/third_party/polymer/v1_0/components-chromium/paper-menu-button/paper-menu-button-extracted.js b/third_party/polymer/v1_0/components-chromium/paper-menu-button/paper-menu-button-extracted.js
index bcdcc62bd02b680dde64215edd49c0146939f1d4..33017087565143e7bada9c6ba0aaef41263ccfeb 100644
--- a/third_party/polymer/v1_0/components-chromium/paper-menu-button/paper-menu-button-extracted.js
+++ b/third_party/polymer/v1_0/components-chromium/paper-menu-button/paper-menu-button-extracted.js
@@ -1,11 +1,21 @@
-
- (function() {
+(function() {
'use strict';
var PaperMenuButton = Polymer({
-
is: 'paper-menu-button',
+ /**
+ * Fired when the dropdown opens.
+ *
+ * @event paper-dropdown-open
+ */
+
+ /**
+ * Fired when the dropdown closes.
+ *
+ * @event paper-dropdown-close
+ */
+
behaviors: [
Polymer.IronA11yKeysBehavior,
Polymer.IronControlState
@@ -43,6 +53,28 @@
},
/**
+ * A pixel value that will be added to the position calculated for the
+ * given `horizontalAlign`. Use a negative value to offset to the
+ * left, or a positive value to offset to the right.
+ */
+ horizontalOffset: {
+ type: Number,
+ value: 0,
+ notify: true
+ },
+
+ /**
+ * A pixel value that will be added to the position calculated for the
+ * given `verticalAlign`. Use a negative value to offset towards the
+ * top, or a positive value to offset towards the bottom.
+ */
+ verticalOffset: {
+ type: Number,
+ value: 0,
+ notify: true
+ },
+
+ /**
* Set to true to disable animations when opening and closing the
* dropdown.
*/
@@ -52,6 +84,15 @@
},
/**
+ * Set to true to disable automatically closing the dropdown after
+ * a selection has been made.
+ */
+ ignoreActivate: {
+ type: Boolean,
+ value: false
+ },
+
+ /**
* An animation config. If provided, this will be used to animate the
* opening of the dropdown.
*/
@@ -126,7 +167,10 @@
* to the dropdown trigger.
*/
open: function() {
- this.fire('paper-open');
+ if (this.disabled) {
+ return;
+ }
+
this.$.dropdown.open();
},
@@ -134,12 +178,48 @@
* Hide the dropdown content.
*/
close: function() {
- this.fire('paper-close');
this.$.dropdown.close();
},
+ /**
+ * When an `iron-activate` event is received, the dropdown should
+ * automatically close on the assumption that a value has been chosen.
+ *
+ * @param {CustomEvent} event A CustomEvent instance with type
+ * set to `"iron-activate"`.
+ */
_onIronActivate: function(event) {
- this.close();
+ if (!this.ignoreActivate) {
+ this.close();
+ }
+ },
+
+ /**
+ * When the dropdown opens, the `paper-menu-button` fires `paper-open`.
+ * When the dropdown closes, the `paper-menu-button` fires `paper-close`.
+ *
+ * @param {boolean} opened True if the dropdown is opened, otherwise false.
+ * @param {boolean} oldOpened The previous value of `opened`.
+ */
+ _openedChanged: function(opened, oldOpened) {
+ if (opened) {
+ this.fire('paper-dropdown-open');
+ } else if (oldOpened != null) {
+ this.fire('paper-dropdown-close');
+ }
+ },
+
+ /**
+ * If the dropdown is open when disabled becomes true, close the
+ * dropdown.
+ *
+ * @param {boolean} disabled True if disabled, otherwise false.
+ */
+ _disabledChanged: function(disabled) {
+ Polymer.IronControlState._disabledChanged.apply(this, arguments);
+ if (disabled && this.opened) {
+ this.close();
+ }
}
});
@@ -147,4 +227,4 @@
PaperMenuButton.MAX_ANIMATION_TIME_MS = 400;
Polymer.PaperMenuButton = PaperMenuButton;
- })();
+ })();

Powered by Google App Engine
This is Rietveld 408576698