mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-08-20 12:29:55 +08:00
feat(platform): add isRTL() and body css class
This commit is contained in:
@ -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');
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
// **********************************************
|
||||
|
@ -1,5 +1,5 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<html dir="ltr" lang="en">
|
||||
<head>
|
||||
<title>Ionic E2E</title>
|
||||
<meta charset="UTF-8" />
|
||||
|
Reference in New Issue
Block a user