/*
|
This file is part of Ext JS 4.2
|
|
Copyright (c) 2011-2013 Sencha Inc
|
|
Contact: http://www.sencha.com/contact
|
|
GNU General Public License Usage
|
This file may be used under the terms of the GNU General Public License version 3.0 as
|
published by the Free Software Foundation and appearing in the file LICENSE included in the
|
packaging of this file.
|
|
Please review the following information to ensure the GNU General Public License version 3.0
|
requirements will be met: http://www.gnu.org/copyleft/gpl.html.
|
|
If you are unsure which license is appropriate for your use, please contact the sales department
|
at http://www.sencha.com/contact.
|
|
Build date: 2013-05-16 14:36:50 (f9be68accb407158ba2b1be2c226a6ce1f649314)
|
*/
|
Ext.define('Ext.rtl.tab.Bar', {
|
override: 'Ext.tab.Bar',
|
adjustTabPositions: function() {
|
var items = this.items.items,
|
i = items.length,
|
tab;
|
|
if (!this.getHierarchyState().rtl) {
|
return this.callParent();
|
}
|
|
// When tabs are rotated vertically we don't have a reliable way to position
|
// them using CSS in modern browsers. This is because of the way transform-orign
|
// works - it requires the width to be known, and the width is not known in css.
|
// Consequently we have to make an adjustment to the tab's position in these browsers.
|
// This is similar to what we do in Ext.panel.Header#adjustTitlePosition
|
if (!Ext.isIE9m) {
|
if (this.dock === 'left') {
|
// rotated 90 degrees around using the top left corner as the axis.
|
// tabs need to be shifted to the right by their height
|
while (i--) {
|
tab = items[i];
|
tab.el.setStyle('right', -tab.lastBox.height + 'px');
|
}
|
} else if (this.dock === 'right') {
|
// rotated 270 degrees around using the top right corner as the axis.
|
// tabs need to be shifted to the left by their width
|
while (i--) {
|
tab = items[i];
|
tab.el.setStyle('right', tab.lastBox.width + 'px');
|
}
|
}
|
}
|
}
|
})
|