| Index: third_party/polymer/v0_8/components/paper-drawer-panel/paper-drawer-panel.html
|
| diff --git a/third_party/polymer/v0_8/components/paper-drawer-panel/paper-drawer-panel.html b/third_party/polymer/v0_8/components/paper-drawer-panel/paper-drawer-panel.html
|
| index f97a293daefdb047423fd236c7f5e8733a9f79ba..758d88a7812aad252057678189631e291b95e1a3 100644
|
| --- a/third_party/polymer/v0_8/components/paper-drawer-panel/paper-drawer-panel.html
|
| +++ b/third_party/polymer/v0_8/components/paper-drawer-panel/paper-drawer-panel.html
|
| @@ -67,172 +67,50 @@ Example:
|
| </paper-header-panel>
|
| </paper-drawer-panel>
|
|
|
| -To position the drawer to the right, add `rightDrawer` attribute.
|
| +To position the drawer to the right, add `right-drawer` attribute.
|
|
|
| - <paper-drawer-panel rightDrawer>
|
| + <paper-drawer-panel right-drawer>
|
| <div drawer> Drawer panel... </div>
|
| <div main> Main panel... </div>
|
| </paper-drawer-panel>
|
|
|
| -@group Polymer Elements
|
| -@element paper-drawer-panel
|
| -@homepage github.io
|
| --->
|
| -
|
| -<dom-module id="paper-drawer-panel">
|
| -
|
| - <style>
|
| - :host {
|
| - display: block;
|
| - position: absolute;
|
| - top: 0;
|
| - left: 0;
|
| - width: 100%;
|
| - height: 100%;
|
| - overflow: hidden;
|
| - }
|
| -
|
| - iron-selector > #drawer {
|
| - position: absolute;
|
| - top: 0;
|
| - left: 0;
|
| - height: 100%;
|
| - will-change: transform;
|
| - box-sizing: border-box;
|
| - -moz-box-sizing: border-box;
|
| - }
|
| -
|
| - .transition > #drawer {
|
| - transition: -webkit-transform ease-in-out 0.3s, width ease-in-out 0.3s;
|
| - transition: transform ease-in-out 0.3s, width ease-in-out 0.3s;
|
| - }
|
| -
|
| - /*
|
| - right-drawer: make drawer on the right side
|
| - */
|
| - .right-drawer > #drawer {
|
| - left: auto;
|
| - right: 0;
|
| - }
|
| -
|
| - paper-drawer-panel #drawer > * {
|
| - position: absolute;
|
| - top: 0;
|
| - left: 0;
|
| - width: 100%;
|
| - height: 100%;
|
| - box-sizing: border-box;
|
| - -moz-box-sizing: border-box;
|
| - }
|
| -
|
| - iron-selector > #main {
|
| - position: absolute;
|
| - top: 0;
|
| - right: 0;
|
| - bottom: 0;
|
| - }
|
| -
|
| - .transition > #main {
|
| - transition: left ease-in-out 0.3s, padding ease-in-out 0.3s;
|
| - }
|
| -
|
| - .right-drawer > #main {
|
| - left: 0;
|
| - }
|
| -
|
| - .right-drawer.transition > #main {
|
| - transition: right ease-in-out 0.3s, padding ease-in-out 0.3s;
|
| - }
|
| -
|
| - #main > [main] {
|
| - height: 100%;
|
| - }
|
| +Styling paper-drawer-panel:
|
|
|
| - #scrim {
|
| - position: absolute;
|
| - top: 0;
|
| - right: 0;
|
| - bottom: 0;
|
| - left: 0;
|
| - background-color: rgba(0, 0, 0, 0.3);
|
| - visibility: hidden;
|
| - opacity: 0;
|
| - transition: opacity ease-in-out 0.38s, visibility ease-in-out 0.38s;
|
| - }
|
| +To change the main container:
|
| + paper-drawer-panel {
|
| + --paper-drawer-panel-main-container: {
|
| + background-color: gray;
|
| + };
|
| + }
|
|
|
| - #edgeSwipeOverlay {
|
| - position: absolute;
|
| - top: 0;
|
| - bottom: 0;
|
| - left: 0;
|
| - width: 20px;
|
| - }
|
| +To change the drawer container when it's in the left side:
|
| + paper-drawer-panel {
|
| + --paper-drawer-panel-left-drawer-container: {
|
| + background-color: white;
|
| + };
|
| + }
|
|
|
| - .right-drawer > #main > #edgeSwipeOverlay {
|
| - right: 0;
|
| - left: auto;
|
| - }
|
| -
|
| - /*
|
| - narrow layout
|
| - */
|
| - .narrow-layout > #drawer.iron-selected {
|
| - box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.15);
|
| - }
|
| +To change the drawer container when it's in the right side:
|
|
|
| - .right-drawer.narrow-layout > #drawer.iron-selected {
|
| - box-shadow: -2px 2px 4px rgba(0, 0, 0, 0.15);
|
| - }
|
| -
|
| - .narrow-layout > #drawer > ::content[select="[drawer]"] > * {
|
| - border: 0;
|
| - }
|
| -
|
| - .narrow-layout > #drawer:not(.iron-selected) {
|
| - -webkit-transform: translateX(-100%);
|
| - transform: translateX(-100%);
|
| - }
|
| -
|
| - .right-drawer.narrow-layout > #drawer:not(.iron-selected) {
|
| - left: auto;
|
| - -webkit-transform: translateX(100%);
|
| - transform: translateX(100%);
|
| - }
|
| -
|
| - .narrow-layout > #main {
|
| - left: 0 !important;
|
| - padding: 0;
|
| - }
|
| + paper-drawer-panel {
|
| + --paper-drawer-panel-right-drawer-container: {
|
| + background-color: white;
|
| + };
|
| + }
|
|
|
| - .right-drawer.narrow-layout > #main {
|
| - left: 0;
|
| - right: 0;
|
| - padding: 0;
|
| - }
|
| -
|
| - .narrow-layout > #main:not(.iron-selected) > #scrim,
|
| - .dragging #scrim {
|
| - visibility: visible;
|
| - opacity: 1;
|
| - }
|
| -
|
| - .narrow-layout > #main > * {
|
| - margin: 0;
|
| - min-height: 100%;
|
| - left: 0;
|
| - right: 0;
|
| - box-sizing: border-box;
|
| - -moz-box-sizing: border-box;
|
| - }
|
| +@group Paper elements
|
| +@element paper-drawer-panel
|
| +@demo demo/index.html
|
| +@hero hero.svg
|
| +-->
|
|
|
| - iron-selector:not(.narrow-layout) #main ::content [paper-drawer-toggle] {
|
| - display: none;
|
| - }
|
| - </style>
|
| +<dom-module id="paper-drawer-panel">
|
| + <link rel="import" type="css" href="paper-drawer-panel.css">
|
|
|
| <template>
|
| <iron-media-query
|
| - on-query-matches-changed="onQueryMatchesChanged"
|
| + id="mq"
|
| + on-query-matches-changed="_onQueryMatchesChanged"
|
| query="[[_computeMediaQuery(forceNarrow, responsiveWidth)]]">
|
| </iron-media-query>
|
|
|
| @@ -245,9 +123,6 @@ To position the drawer to the right, add `rightDrawer` attribute.
|
| <div id="main" style$="[[_computeMainStyle(narrow, rightDrawer, drawerWidth)]]">
|
| <content select="[main]"></content>
|
| <div id="scrim" on-tap="closeDrawer"></div>
|
| - <div id="edgeSwipeOverlay"
|
| - hidden$="[[_computeSwipeOverlayHidden(narrow, disableEdgeSwipe)]]">
|
| - </div>
|
| </div>
|
|
|
| <div id="drawer" style$="[[_computeDrawerStyle(drawerWidth)]]">
|
| @@ -265,15 +140,19 @@ To position the drawer to the right, add `rightDrawer` attribute.
|
|
|
| 'use strict';
|
|
|
| + // this would be the only `paper-drawer-panel` in
|
| + // the whole app that can be in `dragging` state
|
| + var sharedPanel = null;
|
| +
|
| function classNames(obj) {
|
| - var classNames = [];
|
| + var classes = [];
|
| for (var key in obj) {
|
| if (obj.hasOwnProperty(key) && obj[key]) {
|
| - classNames.push(key);
|
| + classes.push(key);
|
| }
|
| }
|
|
|
| - return classNames.join(' ');
|
| + return classes.join(' ');
|
| }
|
|
|
| Polymer({
|
| @@ -304,10 +183,6 @@ To position the drawer to the right, add `rightDrawer` attribute.
|
| /**
|
| * The panel to be selected when `paper-drawer-panel` changes to narrow
|
| * layout.
|
| - *
|
| - * @attribute defaultSelected
|
| - * @type string
|
| - * @default 'main'
|
| */
|
| defaultSelected: {
|
| type: String,
|
| @@ -316,23 +191,23 @@ To position the drawer to the right, add `rightDrawer` attribute.
|
|
|
| /**
|
| * If true, swipe from the edge is disable.
|
| - *
|
| - * @attribute disableEdgeSwipe
|
| - * @type boolean
|
| - * @default false
|
| */
|
| - disableEdgeSwipe: Boolean,
|
| + disableEdgeSwipe: {
|
| + type: Boolean,
|
| + value: false
|
| + },
|
|
|
| /**
|
| * If true, swipe to open/close the drawer is disabled.
|
| - *
|
| - * @attribute disableSwipe
|
| - * @type boolean
|
| - * @default false
|
| */
|
| - disableSwipe: Boolean,
|
| + disableSwipe: {
|
| + type: Boolean,
|
| + value: false
|
| + },
|
|
|
| - // Whether the user is dragging the drawer interactively.
|
| + /**
|
| + * Whether the user is dragging the drawer interactively.
|
| + */
|
| dragging: {
|
| type: Boolean,
|
| value: false
|
| @@ -340,18 +215,16 @@ To position the drawer to the right, add `rightDrawer` attribute.
|
|
|
| /**
|
| * Width of the drawer panel.
|
| - *
|
| - * @attribute drawerWidth
|
| - * @type string
|
| - * @default '256px'
|
| */
|
| drawerWidth: {
|
| type: String,
|
| value: '256px'
|
| },
|
|
|
| - // How many pixels on the side of the screen are sensitive to edge
|
| - // swipes and peek.
|
| + /**
|
| + * How many pixels on the side of the screen are sensitive to edge
|
| + * swipes and peek.
|
| + */
|
| edgeSwipeSensitivity: {
|
| type: Number,
|
| value: 30
|
| @@ -359,18 +232,15 @@ To position the drawer to the right, add `rightDrawer` attribute.
|
|
|
| /**
|
| * If true, ignore `responsiveWidth` setting and force the narrow layout.
|
| - *
|
| - * @attribute forceNarrow
|
| - * @type boolean
|
| - * @default false
|
| */
|
| forceNarrow: {
|
| - observer: 'forceNarrowChanged',
|
| type: Boolean,
|
| value: false
|
| },
|
|
|
| - // Whether the browser has support for the transform CSS property.
|
| + /**
|
| + * Whether the browser has support for the transform CSS property.
|
| + */
|
| hasTransform: {
|
| type: Boolean,
|
| value: function() {
|
| @@ -378,7 +248,9 @@ To position the drawer to the right, add `rightDrawer` attribute.
|
| }
|
| },
|
|
|
| - // Whether the browser has support for the will-change CSS property.
|
| + /**
|
| + * Whether the browser has support for the will-change CSS property.
|
| + */
|
| hasWillChange: {
|
| type: Boolean,
|
| value: function() {
|
| @@ -389,10 +261,6 @@ To position the drawer to the right, add `rightDrawer` attribute.
|
| /**
|
| * Returns true if the panel is in narrow layout. This is useful if you
|
| * need to show/hide elements based on the layout.
|
| - *
|
| - * @attribute narrow
|
| - * @type boolean
|
| - * @default false
|
| */
|
| narrow: {
|
| reflectToAttribute: true,
|
| @@ -401,7 +269,9 @@ To position the drawer to the right, add `rightDrawer` attribute.
|
| notify: true
|
| },
|
|
|
| - // Whether the drawer is peeking out from the edge.
|
| + /**
|
| + * Whether the drawer is peeking out from the edge.
|
| + */
|
| peeking: {
|
| type: Boolean,
|
| value: false
|
| @@ -409,10 +279,6 @@ To position the drawer to the right, add `rightDrawer` attribute.
|
|
|
| /**
|
| * Max-width when the panel changes to narrow layout.
|
| - *
|
| - * @attribute responsiveWidth
|
| - * @type string
|
| - * @default '640px'
|
| */
|
| responsiveWidth: {
|
| type: String,
|
| @@ -421,10 +287,6 @@ To position the drawer to the right, add `rightDrawer` attribute.
|
|
|
| /**
|
| * If true, position the drawer to the right.
|
| - *
|
| - * @attribute rightDrawer
|
| - * @type boolean
|
| - * @default false
|
| */
|
| rightDrawer: {
|
| type: Boolean,
|
| @@ -434,10 +296,6 @@ To position the drawer to the right, add `rightDrawer` attribute.
|
| /**
|
| * The panel that is being selected. `drawer` for the drawer panel and
|
| * `main` for the main panel.
|
| - *
|
| - * @attribute selected
|
| - * @type string
|
| - * @default null
|
| */
|
| selected: {
|
| reflectToAttribute: true,
|
| @@ -462,26 +320,54 @@ To position the drawer to the right, add `rightDrawer` attribute.
|
| value: false
|
| },
|
|
|
| - /**
|
| - * Starting X coordinate of a tracking gesture. It is non-null only between trackStart and
|
| - * trackEnd events.
|
| - * @type {?number}
|
| - */
|
| - _startX: {
|
| - type: Number,
|
| - value: null
|
| - }
|
| -
|
| },
|
|
|
| listeners: {
|
| tap: '_onTap',
|
| - track: '_onTrack'
|
| + track: '_onTrack',
|
| + down: '_downHandler',
|
| + up: '_upHandler'
|
| + },
|
| +
|
| + observers: [
|
| + '_forceNarrowChanged(forceNarrow, defaultSelected)'
|
| + ],
|
| +
|
| + /**
|
| + * Toggles the panel open and closed.
|
| + *
|
| + * @method togglePanel
|
| + */
|
| + togglePanel: function() {
|
| + if (this._isMainSelected()) {
|
| + this.openDrawer();
|
| + } else {
|
| + this.closeDrawer();
|
| + }
|
| + },
|
| +
|
| + /**
|
| + * Opens the drawer.
|
| + *
|
| + * @method openDrawer
|
| + */
|
| + openDrawer: function() {
|
| + this.selected = 'drawer';
|
| + },
|
| +
|
| + /**
|
| + * Closes the drawer.
|
| + *
|
| + * @method closeDrawer
|
| + */
|
| + closeDrawer: function() {
|
| + this.selected = 'main';
|
| + },
|
|
|
| - // TODO: Implement tap handlers when taps are supported.
|
| - //
|
| - // down: 'downHandler',
|
| - // up: 'upHandler'
|
| + ready: function() {
|
| + // Avoid transition at the beginning e.g. page loads and enable
|
| + // transitions only after the element is rendered and ready.
|
| + this.transition = true;
|
| },
|
|
|
| _computeIronSelectorClass: function(narrow, transition, dragging, rightDrawer) {
|
| @@ -489,6 +375,7 @@ To position the drawer to the right, add `rightDrawer` attribute.
|
| dragging: dragging,
|
| 'narrow-layout': narrow,
|
| 'right-drawer': rightDrawer,
|
| + 'left-drawer': !rightDrawer,
|
| transition: transition
|
| });
|
| },
|
| @@ -500,12 +387,12 @@ To position the drawer to the right, add `rightDrawer` attribute.
|
| _computeMainStyle: function(narrow, rightDrawer, drawerWidth) {
|
| var style = '';
|
|
|
| - style += 'left:' + ((narrow || rightDrawer) ? '0' : drawerWidth) + ';'
|
| + style += 'left:' + ((narrow || rightDrawer) ? '0' : drawerWidth) + ';';
|
|
|
| if (rightDrawer) {
|
| style += 'right:' + (narrow ? '' : drawerWidth) + ';';
|
| } else {
|
| - style += 'right:;'
|
| + style += 'right:;';
|
| }
|
|
|
| return style;
|
| @@ -519,55 +406,22 @@ To position the drawer to the right, add `rightDrawer` attribute.
|
| return !narrow || disableEdgeSwipe;
|
| },
|
|
|
| - _onTrack: function(event) {
|
| - switch (event.detail.state) {
|
| - case 'end':
|
| - this.trackEnd(event);
|
| + _onTrack: function(e) {
|
| + if (sharedPanel && this !== sharedPanel) {
|
| + return;
|
| + }
|
| + switch (e.detail.state) {
|
| + case 'start':
|
| + this._trackStart(e);
|
| break;
|
| - case 'move':
|
| - this.trackX(event);
|
| + case 'track':
|
| + this._trackX(e);
|
| break;
|
| - case 'start':
|
| - this.trackStart(event);
|
| + case 'end':
|
| + this._trackEnd(e);
|
| break;
|
| }
|
| - },
|
|
|
| - ready: function() {
|
| - // Avoid transition at the beginning e.g. page loads and enable
|
| - // transitions only after the element is rendered and ready.
|
| - this.transition = true;
|
| - },
|
| -
|
| - /**
|
| - * Toggles the panel open and closed.
|
| - *
|
| - * @method togglePanel
|
| - */
|
| - togglePanel: function() {
|
| - if (this.isMainSelected()) {
|
| - this.openDrawer();
|
| - } else {
|
| - this.closeDrawer();
|
| - }
|
| - },
|
| -
|
| - /**
|
| - * Opens the drawer.
|
| - *
|
| - * @method openDrawer
|
| - */
|
| - openDrawer: function() {
|
| - this.selected = 'drawer';
|
| - },
|
| -
|
| - /**
|
| - * Closes the drawer.
|
| - *
|
| - * @method closeDrawer
|
| - */
|
| - closeDrawer: function() {
|
| - this.selected = 'main';
|
| },
|
|
|
| _responsiveChange: function(narrow) {
|
| @@ -577,48 +431,53 @@ To position the drawer to the right, add `rightDrawer` attribute.
|
| this.selected = this.defaultSelected;
|
| }
|
|
|
| - this.setAttribute('touch-action', this.swipeAllowed() ? 'pan-y' : '');
|
| + this.setScrollDirection(this._swipeAllowed() ? 'y' : 'all');
|
| this.fire('paper-responsive-change', {narrow: this.narrow});
|
| },
|
|
|
| - onQueryMatchesChanged: function(e) {
|
| + _onQueryMatchesChanged: function(e) {
|
| this._responsiveChange(e.detail.value);
|
| },
|
|
|
| - forceNarrowChanged: function() {
|
| - this._responsiveChange(this.forceNarrow);
|
| + _forceNarrowChanged: function() {
|
| + // set the narrow mode only if we reached the `responsiveWidth`
|
| + this._responsiveChange(this.forceNarrow || this.$.mq.queryMatches);
|
| },
|
|
|
| - swipeAllowed: function() {
|
| + _swipeAllowed: function() {
|
| return this.narrow && !this.disableSwipe;
|
| },
|
|
|
| - isMainSelected: function() {
|
| + _isMainSelected: function() {
|
| return this.selected === 'main';
|
| },
|
|
|
| - startEdgePeek: function() {
|
| + _startEdgePeek: function() {
|
| this.width = this.$.drawer.offsetWidth;
|
| - this.moveDrawer(this.translateXForDeltaX(this.rightDrawer ?
|
| + this._moveDrawer(this._translateXForDeltaX(this.rightDrawer ?
|
| -this.edgeSwipeSensitivity : this.edgeSwipeSensitivity));
|
| this.peeking = true;
|
| },
|
|
|
| - stopEdgePeek: function() {
|
| + _stopEdgePeek: function() {
|
| if (this.peeking) {
|
| this.peeking = false;
|
| - this.moveDrawer(null);
|
| + this._moveDrawer(null);
|
| }
|
| },
|
|
|
| _downHandler: function(e) {
|
| - if (!this.dragging && this._isMainSelected() && this._isEdgeTouch(e)) {
|
| + if (!this.dragging && this._isMainSelected() && this._isEdgeTouch(e) && !sharedPanel) {
|
| this._startEdgePeek();
|
| + // grab this panel
|
| + sharedPanel = this;
|
| }
|
| },
|
|
|
| - _upHandler: function(e) {
|
| + _upHandler: function() {
|
| this._stopEdgePeek();
|
| + // release the panel
|
| + sharedPanel = null;
|
| },
|
|
|
| _onTap: function(e) {
|
| @@ -632,37 +491,33 @@ To position the drawer to the right, add `rightDrawer` attribute.
|
| }
|
| },
|
|
|
| - isEdgeTouch: function(event) {
|
| - var x = event.detail.x;
|
| + _isEdgeTouch: function(e) {
|
| + var x = e.detail.x;
|
|
|
| - return !this.disableEdgeSwipe && this.swipeAllowed() &&
|
| + return !this.disableEdgeSwipe && this._swipeAllowed() &&
|
| (this.rightDrawer ?
|
| x >= this.offsetWidth - this.edgeSwipeSensitivity :
|
| x <= this.edgeSwipeSensitivity);
|
| },
|
|
|
| - trackStart: function(event) {
|
| - if (this.swipeAllowed()) {
|
| + _trackStart: function() {
|
| + if (this._swipeAllowed()) {
|
| + sharedPanel = this;
|
| this.dragging = true;
|
| - this._startX = event.detail.x;
|
|
|
| - if (this.isMainSelected()) {
|
| - this.dragging = this.peeking || this.isEdgeTouch(event);
|
| + if (this._isMainSelected()) {
|
| + this.dragging = this.peeking || this._isEdgeTouch(event);
|
| }
|
|
|
| if (this.dragging) {
|
| this.width = this.$.drawer.offsetWidth;
|
| this.transition = false;
|
| -
|
| - // TODO: Re-enable when tap gestures are implemented.
|
| - //
|
| - // e.preventTap();
|
| }
|
| }
|
| },
|
|
|
| - translateXForDeltaX: function(deltaX) {
|
| - var isMain = this.isMainSelected();
|
| + _translateXForDeltaX: function(deltaX) {
|
| + var isMain = this._isMainSelected();
|
|
|
| if (this.rightDrawer) {
|
| return Math.max(0, isMain ? this.width + deltaX : deltaX);
|
| @@ -671,41 +526,40 @@ To position the drawer to the right, add `rightDrawer` attribute.
|
| }
|
| },
|
|
|
| - trackX: function(event) {
|
| - var dx = event.detail.x - this._startX;
|
| -
|
| + _trackX: function(e) {
|
| if (this.dragging) {
|
| + var dx = e.detail.dx;
|
| +
|
| if (this.peeking) {
|
| if (Math.abs(dx) <= this.edgeSwipeSensitivity) {
|
| // Ignore trackx until we move past the edge peek.
|
| return;
|
| }
|
| -
|
| this.peeking = false;
|
| }
|
|
|
| - this.moveDrawer(this.translateXForDeltaX(dx));
|
| + this._moveDrawer(this._translateXForDeltaX(dx));
|
| }
|
| },
|
|
|
| - trackEnd: function(event) {
|
| + _trackEnd: function(e) {
|
| if (this.dragging) {
|
| - var xDirection = (event.detail.x - this._startX) > 0;
|
| + var xDirection = e.detail.dx > 0;
|
|
|
| this.dragging = false;
|
| - this._startX = null;
|
| this.transition = true;
|
| - this.moveDrawer(null);
|
| + sharedPanel = null;
|
| + this._moveDrawer(null);
|
|
|
| if (this.rightDrawer) {
|
| - this[(xDirection > 0) ? 'closeDrawer' : 'openDrawer']();
|
| + this[xDirection ? 'closeDrawer' : 'openDrawer']();
|
| } else {
|
| - this[(xDirection > 0) ? 'openDrawer' : 'closeDrawer']();
|
| + this[xDirection ? 'openDrawer' : 'closeDrawer']();
|
| }
|
| }
|
| },
|
|
|
| - transformForTranslateX: function(translateX) {
|
| + _transformForTranslateX: function(translateX) {
|
| if (translateX === null) {
|
| return '';
|
| }
|
| @@ -714,13 +568,13 @@ To position the drawer to the right, add `rightDrawer` attribute.
|
| 'translate3d(' + translateX + 'px, 0, 0)';
|
| },
|
|
|
| - moveDrawer: function(translateX) {
|
| + _moveDrawer: function(translateX) {
|
| var s = this.$.drawer.style;
|
|
|
| if (this.hasTransform) {
|
| - s.transform = this.transformForTranslateX(translateX);
|
| + s.transform = this._transformForTranslateX(translateX);
|
| } else {
|
| - s.webkitTransform = this.transformForTranslateX(translateX);
|
| + s.webkitTransform = this._transformForTranslateX(translateX);
|
| }
|
| }
|
|
|
|
|