/** * @private */Ext.define('Ext.fx.layout.card.ScrollReveal', { extend: 'Ext.fx.layout.card.Scroll', alias: 'fx.layout.card.scrollreveal', onActiveItemChange: function(cardLayout, inItem, outItem, controller) { var containerElement, containerSize, xy, animConfig, outTranslate, inTranslate; this.currentEventController = controller; this.outItem = outItem; this.inItem = inItem; if (inItem && outItem) { containerElement = this.getLayout().container.bodyElement; containerSize = containerElement.getSize(); xy = this.calculateXY(containerSize); animConfig = { easing: this.getEasing(), duration: this.getDuration() }; outTranslate = outItem.setTranslatable(true).getTranslatable(); inTranslate = inItem.setTranslatable(true).getTranslatable(); outTranslate.getWrapper().dom.style.setProperty('z-index', '100', 'important'); outTranslate.translate({ x: 0, y: 0}); inTranslate.translate({ x: 0, y: 0}); inItem.show(); outTranslate.on({ animationend: 'onOutAnimationEnd', scope: this }); outTranslate.translateAnimated({ x: xy.x, y: xy.y}, animConfig); controller.pause(); } }, onOutAnimationEnd: function() { if (!this.destroyed) { this.outItem.getTranslatable().getWrapper().dom.style.removeProperty('z-index'); // Remove this when we can remove translatable this.currentEventController.resume(); } }});