feat(platform): add isRTL() and body css class

This commit is contained in:
Adam Bradley
2016-01-01 21:35:21 -06:00
parent e17c27eb2e
commit 0b4b8628bf
4 changed files with 34 additions and 13 deletions

View File

@ -13,16 +13,17 @@ class E2EApp {
console.log('platforms', platform.platforms());
console.log('mode', config.get('mode'));
console.log('core', platform.is('core'))
console.log('cordova', platform.is('cordova'))
console.log('mobile', platform.is('mobile'))
console.log('ipad', platform.is('ipad'))
console.log('iphone', platform.is('iphone'))
console.log('phablet', platform.is('phablet'))
console.log('tablet', platform.is('tablet'))
console.log('ios', platform.is('ios'))
console.log('android', platform.is('android'))
console.log('windows phone', platform.is('windowsphone'))
console.log('isRTL', platform.isRTL());
console.log('core', platform.is('core'));
console.log('cordova', platform.is('cordova'));
console.log('mobile', platform.is('mobile'));
console.log('ipad', platform.is('ipad'));
console.log('iphone', platform.is('iphone'));
console.log('phablet', platform.is('phablet'));
console.log('tablet', platform.is('tablet'));
console.log('ios', platform.is('ios'));
console.log('android', platform.is('android'));
console.log('windows phone', platform.is('windowsphone'));
platform.ready().then(() => {
console.log('platform.ready');

View File

@ -90,6 +90,12 @@ function setupDom(window, document, config, platform, clickBlock, featureDetect)
// ios/md
bodyEle.classList.add(mode);
// right-to-left language direction
platform.setDir(document.dir);
if (platform.isRTL()) {
bodyEle.classList.add('rtl');
}
let versions = platform.versions();
platform.platforms().forEach(platformName => {
// platform-ios

View File

@ -26,6 +26,7 @@ export class Platform {
constructor(platforms=[]) {
this._platforms = platforms;
this._versions = {};
this._dir = 'ltr';
this._onResizes = [];
this._readyPromise = new Promise(res => { this._readyResolve = res; } );
@ -147,8 +148,6 @@ export class Platform {
/**
* @private
* @param {TODO} config TODO
* @returns {TODO} TODO
*/
prepareReady(config) {
let self = this;
@ -168,6 +167,21 @@ export class Platform {
}
}
/**
* Returns if this app is using right-to-left language direction or not.
* http://www.w3.org/International/questions/qa-html-dir
* @returns {boolean}
*/
isRTL() {
return (this._dir === 'rtl');
}
/**
* @private
*/
setDir(dir) {
this._dir = dir.toLowerCase();
}
// Methods meant to be overridden by the engine
// **********************************************

View File

@ -1,5 +1,5 @@
<!DOCTYPE html>
<html lang="en">
<html dir="ltr" lang="en">
<head>
<title>Ionic E2E</title>
<meta charset="UTF-8" />