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

Unified Diff: third_party/polymer/components-chromium/paper-toast/paper-toast-extracted.js

Issue 592593002: Inline scripts were extracted from Polymer elements. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: s/echo ""/echo/ Created 6 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 side-by-side diff with in-line comments
Download patch
Index: third_party/polymer/components-chromium/paper-toast/paper-toast-extracted.js
diff --git a/third_party/polymer/components-chromium/paper-toast/paper-toast-extracted.js b/third_party/polymer/components-chromium/paper-toast/paper-toast-extracted.js
new file mode 100644
index 0000000000000000000000000000000000000000..11eb068803c47b4526fb4c1a0f160f85126602e4
--- /dev/null
+++ b/third_party/polymer/components-chromium/paper-toast/paper-toast-extracted.js
@@ -0,0 +1,169 @@
+
+
+ (function() {
+
+ var currentToast;
+
+ Polymer('paper-toast', {
+
+ /**
+ * The text shows in a toast.
+ *
+ * @attribute text
+ * @type string
+ * @default ''
+ */
+ text: '',
+
+ /**
+ * The duration in milliseconds to show the toast.
+ *
+ * @attribute duration
+ * @type number
+ * @default 3000
+ */
+ duration: 3000,
+
+ /**
+ * Set opened to true to show the toast and to false to hide it.
+ *
+ * @attribute opened
+ * @type boolean
+ * @default false
+ */
+ opened: false,
+
+ /**
+ * Min-width when the toast changes to narrow layout. In narrow layout,
+ * the toast fits at the bottom of the screen when opened.
+ *
+ * @attribute responsiveWidth
+ * @type string
+ * @default '480px'
+ */
+ responsiveWidth: '480px',
+
+ /**
+ * If true, the toast can't be swiped.
+ *
+ * @attribute swipeDisabled
+ * @type boolean
+ * @default false
+ */
+ swipeDisabled: false,
+
+ eventDelegates: {
+ trackstart: 'trackStart',
+ track: 'track',
+ trackend: 'trackEnd',
+ transitionend: 'transitionEnd'
+ },
+
+ narrowModeChanged: function() {
+ this.classList.toggle('fit-bottom', this.narrowMode);
+ },
+
+ openedChanged: function() {
+ if (this.opened) {
+ this.dismissJob = this.job(this.dismissJob, this.dismiss, this.duration);
+ } else {
+ this.dismissJob && this.dismissJob.stop();
+ this.dismiss();
+ }
+ },
+
+ /**
+ * Toggle the opened state of the toast.
+ * @method toggle
+ */
+ toggle: function() {
+ this.opened = !this.opened;
+ },
+
+ /**
+ * Show the toast for the specified duration
+ * @method show
+ */
+ show: function() {
+ if (currentToast) {
+ currentToast.dismiss();
+ }
+ currentToast = this;
+ this.opened = true;
+ },
+
+ /**
+ * Dismiss the toast and hide it.
+ * @method dismiss
+ */
+ dismiss: function() {
+ if (this.dragging) {
+ this.shouldDismiss = true;
+ } else {
+ this.opened = false;
+ if (currentToast === this) {
+ currentToast = null;
+ }
+ }
+ },
+
+ trackStart: function(e) {
+ if (!this.swipeDisabled) {
+ e.preventTap();
+ this.vertical = e.yDirection;
+ this.w = this.offsetWidth;
+ this.h = this.offsetHeight;
+ this.dragging = true;
+ this.classList.add('dragging');
+ }
+ },
+
+ track: function(e) {
+ if (this.dragging) {
+ var s = this.style;
+ if (this.vertical) {
+ var y = e.dy;
+ s.opacity = (this.h - Math.abs(y)) / this.h;
+ s.webkitTransform = s.transform = 'translate3d(0, ' + y + 'px, 0)';
+ } else {
+ var x = e.dx;
+ s.opacity = (this.w - Math.abs(x)) / this.w;
+ s.webkitTransform = s.transform = 'translate3d(' + x + 'px, 0, 0)';
+ }
+ }
+ },
+
+ trackEnd: function(e) {
+ if (this.dragging) {
+ this.classList.remove('dragging');
+ this.style.opacity = null;
+ this.style.webkitTransform = this.style.transform = null;
+ var cl = this.classList;
+ if (this.vertical) {
+ cl.toggle('fade-out-down', e.yDirection === 1 && e.dy > 0);
+ cl.toggle('fade-out-up', e.yDirection === -1 && e.dy < 0);
+ } else {
+ cl.toggle('fade-out-right', e.xDirection === 1 && e.dx > 0);
+ cl.toggle('fade-out-left', e.xDirection === -1 && e.dx < 0);
+ }
+ this.dragging = false;
+ }
+ },
+
+ transitionEnd: function() {
+ var cl = this.classList;
+ if (cl.contains('fade-out-right') || cl.contains('fade-out-left') ||
+ cl.contains('fade-out-down') || cl.contains('fade-out-up')) {
+ this.dismiss();
+ cl.remove('fade-out-right', 'fade-out-left',
+ 'fade-out-down', 'fade-out-up');
+ } else if (this.shouldDismiss) {
+ this.dismiss();
+ }
+ this.shouldDismiss = false;
+ }
+
+ });
+
+ })();
+

Powered by Google App Engine
This is Rietveld 408576698