awesome-cordova-plugins/src/plugins/screen-orientation.ts
Aaron Czichon bd9366bdfe feat(screen-orientation): Added Screen Orientation Plugin #342 (#366)
* Added OneSignal wrapper

* documentation

* Changes for callback of notification revieced

* fixes for @Cordova decorators without Promise return

* Merge

* Improvements to OneSignal
extended init function with notificationOpenedCallback as an optional parameter

* Platforms removed
OneSignal supports more than only these 3 platforms. It's available to nearly all Cordova platforms.

* Init method turned into observable

* Screen Orientation Plugin added. Closes #342
2016-07-31 14:32:34 -04:00

66 lines
2.5 KiB
TypeScript

import { Cordova, CordovaProperty, Plugin } from './plugin';
declare var window;
/**
* @name Screen Orientation
* @description
* Cordova plugin to set/lock the screen orientation in a common way for iOS, Android, WP8 and Blackberry 10.
* This plugin is based on an early version of Screen Orientation API so the api does not currently match the current spec.
*
* Requires Cordova plugin: `cordova-plugin-screen-orientation`. For more info, please see the [Screen Orientation plugin docs](https://github.com/apache/cordova-plugin-screen-orientation).
*
* @usage
* ```typescript
* import { ScreenOrientation } from 'ionic-native';
*
*
* // set to either landscape
* ScreenOrientation.lockOrientation('landscape');
*
* // allow user rotate
* ScreenOrientation.unlockOrientation();
* ```
*
*/
@Plugin({
plugin: 'cordova-plugin-screen-orientation',
pluginRef: 'window.screen',
repo: 'https://github.com/apache/cordova-plugin-screen-orientation',
platforms: ['Android', 'iOS', 'Windows Phone 8']
})
export class ScreenOrientation {
/**
* Lock the orientation to the passed value.
*
* Accepted orientation values:
* | Value | Description |
* |-------------------------------|------------------------------------------------------------------------------|
* | portrait-primary | The orientation is in the primary portrait mode. |
* | portrait-secondary | The orientation is in the secondary portrait mode. |
* | landscape-primary | The orientation is in the primary landscape mode. |
* | landscape-secondary | The orientation is in the secondary landscape mode. |
* | portrait | The orientation is either portrait-primary or portrait-secondary (sensor). |
* | landscape | The orientation is either landscape-primary or landscape-secondary (sensor). |
*
* @param {orientation} The orientation which should be locked. Accepted values see table above.
*/
@Cordova({ sync: true })
static lockOrientation(orientation: string): void { }
/**
* Unlock and allow all orientations.
*/
@Cordova({ sync: true })
static unlockOrientation(): void { }
/*
* Get the current orientation of the device.
*/
@CordovaProperty
static get orientation() {
return window.screen.orientation;
}
}