/** * @private * Windows Phone version of Viewport. */Ext.define('Ext.viewport.WindowsPhone', { extend: 'Ext.viewport.Default', requires: [], alternateClassName: 'Ext.viewport.WP', // so one pixel line is displayed on the right side of the screen. Setting width // more than 100% fix the issue // config: { // width: '100.2%', // height: '100.2%' // }, config: { translatable: { type: 'csstransform' } }, initialize: function() { // There is -ms-user-select CSS property for IE10, but it seems it works only // in desktop browser. So we need to prevent selection event. var preventSelection = function(e) { var srcElement = e.srcElement.nodeName.toUpperCase(), selectableElements = ['INPUT', 'TEXTAREA']; if (selectableElements.indexOf(srcElement) === -1) { return false; } }; document.body.addEventListener('onselectstart', preventSelection); this.addMeta('msapplication-tap-highlight', 'no'); this.callParent(); }, supportsOrientation: function() { return false; }, onWindowResize: function(width, height) { this.callParent([width, height]); this.waitUntil(function() { var oldWidth = this.windowWidth, oldHeight = this.windowHeight, width = this.getWindowWidth(), height = this.getWindowHeight(), currentOrientation = this.getOrientation(), newOrientation = this.determineOrientation(); return ( (oldWidth !== width && oldHeight !== height) && currentOrientation !== newOrientation ); }, function() { var currentOrientation = this.getOrientation(), newOrientation = this.determineOrientation(); this.fireOrientationChangeEvent(newOrientation, currentOrientation); }, Ext.emptyFn, 250); }});