Ext.define('Ext.rtl.panel.Header', {
override: 'Ext.panel.Header',
rtlPositions: {
top: 'top',
right: 'left',
bottom: 'bottom',
left: 'right'
},
adjustTitlePosition: function() {
var titleCmp = this.titleCmp,
titleEl, width;
if (!Ext.isIE9m && titleCmp) { // some Headers don't have a titleCmp, e.g. TabBar
// in browsers that use css3 transform to rotate text we have to
// adjust the element's position after rotating. See comment in overridden
// method for details.
titleEl = titleCmp.el;
width = titleEl.getWidth();
if (this.isParentRtl()) {
// in rtl mode we rotate 270 instead of 90 degrees with a transform
// origin of the top right corner so moving the element right by the
// same number of pixels as its width results in the correct positioning.
titleEl.setStyle('right', width + 'px');
} else if (!Ext.isIE9m) {
titleEl.setStyle('left', width + 'px');
}
}
},
onTitleRender: function() {
if (this.orientation === 'vertical') {
this.titleCmp.el.setVertical(this.isParentRtl() ? 270 : 90);
}
},
getDockName: function() {
var me = this,
dock = me.dock;
return me.isParentRtl() ? me.rtlPositions[dock] : dock
}
});