Skip to content

Commit

Permalink
feat(screen-orientation): Added Screen Orientation Plugin #342 (#366)
Browse files Browse the repository at this point in the history
* 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
  • Loading branch information
Aaron Czichon authored and ihadeed committed Jul 31, 2016
1 parent 206fa62 commit bd9366b
Show file tree
Hide file tree
Showing 2 changed files with 68 additions and 0 deletions.
3 changes: 3 additions & 0 deletions src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ import {NativeStorage} from './plugins/nativestorage';
import {MediaPlugin} from './plugins/media';
import {Network} from './plugins/network';
import {OneSignal} from './plugins/onesignal';
import {ScreenOrientation} from './plugins/screen-orientation';
import {PinDialog} from './plugins/pin-dialog';
import {Printer} from './plugins/printer';
import {Push} from './plugins/push';
Expand Down Expand Up @@ -145,6 +146,7 @@ export {
NativeStorage,
Network,
OneSignal,
ScreenOrientation,
PinDialog,
Screenshot,
SecureStorage,
Expand Down Expand Up @@ -219,6 +221,7 @@ window['IonicNative'] = {
Printer: Printer,
Push: Push,
OneSignal: OneSignal,
ScreenOrientation: ScreenOrientation,
PinDialog: PinDialog,
SafariViewController: SafariViewController,
Screenshot: Screenshot,
Expand Down
65 changes: 65 additions & 0 deletions src/plugins/screen-orientation.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
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;
}
}

0 comments on commit bd9366b

Please sign in to comment.