You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by ti...@apache.org on 2020/07/02 10:13:01 UTC
[cordova-plugin-screen-orientation] branch master updated:
refactor(eslint): use cordova-eslint /w fix (#66)
This is an automated email from the ASF dual-hosted git repository.
timbru31 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cordova-plugin-screen-orientation.git
The following commit(s) were added to refs/heads/master by this push:
new 57df018 refactor(eslint): use cordova-eslint /w fix (#66)
57df018 is described below
commit 57df0189e0a165ea29c2b6d6470ce8c2d04d8660
Author: Tim Brust <gi...@timbrust.de>
AuthorDate: Thu Jul 2 10:12:53 2020 +0000
refactor(eslint): use cordova-eslint /w fix (#66)
---
.eslintrc.yml | 23 ++++++++
package.json | 6 +--
src/windows/CDVOrientationProxy.js | 28 +++++-----
tests/tests.js | 70 +++++++++++-------------
www/screenorientation.js | 107 +++++++++++++++++++------------------
5 files changed, 126 insertions(+), 108 deletions(-)
diff --git a/.eslintrc.yml b/.eslintrc.yml
new file mode 100644
index 0000000..17277f7
--- /dev/null
+++ b/.eslintrc.yml
@@ -0,0 +1,23 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+root: true
+extends: '@cordova/eslint-config/browser'
+
+overrides:
+ - files: [tests/**/*.js]
+ extends: '@cordova/eslint-config/node-tests'
diff --git a/package.json b/package.json
index ea6db91..4500339 100644
--- a/package.json
+++ b/package.json
@@ -5,8 +5,8 @@
"repository": "github:apache/cordova-plugin-screen-orientation",
"bugs": "https://github.com/apache/cordova-plugin-screen-orientation/issues",
"scripts": {
- "test": "npm run jshint",
- "jshint": "node node_modules/jshint/bin/jshint www && node node_modules/jshint/bin/jshint src"
+ "test": "npm run lint",
+ "lint": "eslint ."
},
"cordova": {
"id": "cordova-plugin-screen-orientation",
@@ -31,7 +31,7 @@
"author": "Apache Software Foundation",
"license": "Apache-2.0",
"devDependencies": {
- "jshint": "^2.9.4"
+ "@cordova/eslint-config": "^3.0.0"
},
"engines": {
"cordovaDependencies": {
diff --git a/src/windows/CDVOrientationProxy.js b/src/windows/CDVOrientationProxy.js
index 7f36b49..0bb7259 100644
--- a/src/windows/CDVOrientationProxy.js
+++ b/src/windows/CDVOrientationProxy.js
@@ -17,7 +17,9 @@
* specific language governing permissions and limitations
* under the License.
*
-*/
+ */
+
+/* global Windows, WinJS */
var DisplayInfo = Windows.Graphics.Display.DisplayInformation;
var Orientations = Windows.Graphics.Display.DisplayOrientations;
@@ -28,35 +30,37 @@ if (!window.Promise) {
module.exports = {
screenOrientation: function (win, fail, args) {
- //console.log("screenOrientation proxy called with " + args);
+ // console.log("screenOrientation proxy called with " + args);
try {
var prefOrients = args[0];
var winPrefs = 0;
- if (prefOrients & 1) { // UIInterfaceOrientationPortrait
- winPrefs = winPrefs | Orientations.portrait;
+ if (prefOrients & 1) {
+ // UIInterfaceOrientationPortrait
+ winPrefs = winPrefs | Orientations.portrait;
}
- if (prefOrients & 2) { // UIInterfaceOrientationPortraitUpsideDown
+ if (prefOrients & 2) {
+ // UIInterfaceOrientationPortraitUpsideDown
winPrefs = winPrefs | Orientations.portraitFlipped;
}
- if(prefOrients & 4) { // UIInterfaceOrientationLandscapeLeft
+ if (prefOrients & 4) {
+ // UIInterfaceOrientationLandscapeLeft
winPrefs = winPrefs | Orientations.landscape;
}
- if (prefOrients & 8) { // UIInterfaceOrientationLandscapeRight
+ if (prefOrients & 8) {
+ // UIInterfaceOrientationLandscapeRight
winPrefs = winPrefs | Orientations.landscapeFlipped;
}
setTimeout(function () {
DisplayInfo.autoRotationPreferences = winPrefs;
win();
}, 0);
- }
- catch (err) {
- console.log("error :: " + err);
+ } catch (err) {
+ console.log('error :: ' + err);
fail();
}
-
}
};
-require("cordova/exec/proxy").add("CDVOrientation", module.exports);
+require('cordova/exec/proxy').add('CDVOrientation', module.exports);
diff --git a/tests/tests.js b/tests/tests.js
index f722964..60c1d98 100644
--- a/tests/tests.js
+++ b/tests/tests.js
@@ -18,47 +18,44 @@
* under the License.
*
*/
-/* jshint jasmine: true */
-exports.defineAutoTests = function() {
- describe('window.screen', function() {
-
- it('should be defined', function() {
+exports.defineAutoTests = function () {
+ describe('window.screen', function () {
+ it('should be defined', function () {
expect(window.screen).toBeDefined();
});
});
- describe('window.screen.orientation', function() {
-
- it('should be defined', function() {
+ describe('window.screen.orientation', function () {
+ it('should be defined', function () {
expect(window.screen.orientation).toBeDefined();
});
- it('should have a `lock` function', function() {
+ it('should have a `lock` function', function () {
expect(window.screen.orientation.lock).toBeDefined();
expect(typeof window.screen.orientation.lock).toBe('function');
});
- it('should have an `unlock` function', function() {
+ it('should have an `unlock` function', function () {
expect(window.screen.orientation.unlock).toBeDefined();
expect(typeof window.screen.orientation.unlock).toBe('function');
});
- it('should have a `type` property (string)', function() {
+ it('should have a `type` property (string)', function () {
expect(window.screen.orientation.type).toBeDefined();
expect(typeof window.screen.orientation.type).toBe('string');
});
- it('should have an `angle` property (number)', function() {
+ it('should have an `angle` property (number)', function () {
expect(window.screen.orientation.angle).toBeDefined();
expect(typeof window.screen.orientation.angle).toBe('number');
});
- it('should have an `onchange` settable function', function() {
+ it('should have an `onchange` settable function', function () {
// it should be null to start
expect(window.screen.orientation.onchange).toBe(null);
// then we set it
- var funk = function(){};
+ var funk = function () {};
window.screen.orientation.onchange = funk;
// now it should exist
expect(window.screen.orientation.onchange).toBeDefined();
@@ -69,24 +66,21 @@ exports.defineAutoTests = function() {
expect(window.screen.orientation.onchange).toBe(null);
});
- it('should have an eventListener interface',function() {
+ it('should have an eventListener interface', function () {
expect(window.screen.orientation.addEventListener).toBeDefined();
expect(typeof window.screen.orientation.addEventListener).toBe('function');
expect(window.screen.orientation.removeEventListener).toBeDefined();
expect(typeof window.screen.orientation.removeEventListener).toBe('function');
-
-
});
});
- describe('OrientationType', function() {
-
- it("should be defined", function() {
+ describe('OrientationType', function () {
+ it('should be defined', function () {
expect(window.OrientationType).toBeDefined();
});
- it("should have defined types", function() {
+ it('should have defined types', function () {
expect(window.OrientationType['portrait-primary']).toBeDefined();
expect(window.OrientationType['portrait-secondary']).toBeDefined();
expect(window.OrientationType['landscape-primary']).toBeDefined();
@@ -94,53 +88,49 @@ exports.defineAutoTests = function() {
});
});
- describe('OrientationLockType', function() {
-
- it("should be defined", function() {
+ describe('OrientationLockType', function () {
+ it('should be defined', function () {
expect(window.OrientationLockType).toBeDefined();
});
- it("should have defined types", function() {
+ it('should have defined types', function () {
expect(window.OrientationLockType['portrait-primary']).toBeDefined();
expect(window.OrientationLockType['portrait-secondary']).toBeDefined();
expect(window.OrientationLockType['landscape-primary']).toBeDefined();
expect(window.OrientationLockType['landscape-secondary']).toBeDefined();
- expect(window.OrientationLockType['portrait']).toBeDefined();
- expect(window.OrientationLockType['landscape']).toBeDefined();
- expect(window.OrientationLockType['any']).toBeDefined();
+ expect(window.OrientationLockType.portrait).toBeDefined();
+ expect(window.OrientationLockType.landscape).toBeDefined();
+ expect(window.OrientationLockType.any).toBeDefined();
});
});
-
// TODO:
// test addEventListener('change') works
// test onchange works
- describe('window.screen.orientation', function() {
-
- it('should successfully lock and unlock screen orientation', function() {
- return window.screen.orientation.lock('portrait').then(function() {
+ describe('window.screen.orientation', function () {
+ it('should successfully lock and unlock screen orientation', function () {
+ return window.screen.orientation.lock('portrait').then(function () {
expect(window.screen.orientation.type).toMatch(/^portrait-/);
expect(window.screen.orientation.unlock).not.toThrow();
});
});
});
};
-exports.defineManualTests = function(contentEl, createActionButton) {
-
- createActionButton('Listen to orientationchange events', function() {
- window.addEventListener("orientationchange", function(){
+exports.defineManualTests = function (contentEl, createActionButton) {
+ createActionButton('Listen to orientationchange events', function () {
+ window.addEventListener('orientationchange', function () {
contentEl.innerHTML += '<p>Orientation changed! ' + screen.orientation.type + '</p>';
});
});
- createActionButton('Unlock orientation', function() {
+ createActionButton('Unlock orientation', function () {
screen.orientation.unlock();
contentEl.innerHTML += '<p>Orientation unlocked.</p>';
});
- createActionButton('Lock to portrait', function() {
+ createActionButton('Lock to portrait', function () {
screen.orientation.lock('portrait');
contentEl.innerHTML += '<p>Orientation locked to portrait.</p>';
});
- createActionButton('Lock to landscape', function() {
+ createActionButton('Lock to landscape', function () {
screen.orientation.lock('landscape');
contentEl.innerHTML += '<p>Orientation locked to landscape.</p>';
});
diff --git a/www/screenorientation.js b/www/screenorientation.js
index ef2eb49..d8fe529 100644
--- a/www/screenorientation.js
+++ b/www/screenorientation.js
@@ -18,6 +18,9 @@
* under the License.
*
*/
+
+/* global cordova, OrientationLockType */
+
var screenOrientation = {};
if (!window.OrientationType) {
window.OrientationType = {
@@ -33,15 +36,15 @@ if (!window.OrientationLockType) {
'portrait-secondary': 2,
'landscape-primary': 4,
'landscape-secondary': 8,
- 'portrait': 3, // either portrait-primary or portrait-secondary.
- 'landscape': 12, // either landscape-primary or landscape-secondary.
- 'any': 15 // All orientations are supported (unlocked orientation)
+ portrait: 3, // either portrait-primary or portrait-secondary.
+ landscape: 12, // either landscape-primary or landscape-secondary.
+ any: 15 // All orientations are supported (unlocked orientation)
};
}
var orientationMask = 1;
-screenOrientation.setOrientation = function(orientation) {
+screenOrientation.setOrientation = function (orientation) {
orientationMask = window.OrientationLockType[orientation];
- cordova.exec(null, null, "CDVOrientation", "screenOrientation", [orientationMask, orientation]);
+ cordova.exec(null, null, 'CDVOrientation', 'screenOrientation', [orientationMask, orientation]);
};
if (!screen.orientation) {
@@ -50,44 +53,45 @@ if (!screen.orientation) {
setOrientationProperties();
-function addScreenOrientationApi(screenObject) {
-
+function addScreenOrientationApi (screenObject) {
if (screenObject.unlock || screenObject.lock) {
screenObject.nativeLock = screenObject.lock;
}
- screenObject.lock = function(orientation) {
+ screenObject.lock = function (orientation) {
var promiseLock;
- var p = new Promise(function(resolve, reject) {
+ var p = new Promise(function (resolve, reject) {
if (screenObject.nativeLock) {
promiseLock = screenObject.nativeLock(orientation);
- promiseLock.then(function success(res) {
- resolve();
- }, function error(err) {
- screenObject.nativeLock = null;
- resolveOrientation(orientation, resolve, reject);
- });
+ promiseLock.then(
+ function success (_) {
+ resolve();
+ },
+ function error (_) {
+ screenObject.nativeLock = null;
+ resolveOrientation(orientation, resolve, reject);
+ }
+ );
} else {
resolveOrientation(orientation, resolve, reject);
}
});
return p;
};
- screenObject.unlock = function() {
+ screenObject.unlock = function () {
screenOrientation.setOrientation('any');
};
}
-function resolveOrientation(orientation, resolve, reject) {
- if (!OrientationLockType.hasOwnProperty(orientation)) {
+function resolveOrientation (orientation, resolve, reject) {
+ if (!Object.prototype.hasOwnProperty.call(OrientationLockType, 'orientation')) {
var err = new Error();
- err.name = "NotSupportedError";
- reject(err); //"cannot change orientation");
+ err.name = 'NotSupportedError';
+ reject(err); // "cannot change orientation");
} else {
screenOrientation.setOrientation(orientation);
- resolve("Orientation set"); // orientation change successful
+ resolve('Orientation set'); // orientation change successful
}
-
}
addScreenOrientationApi(screen.orientation);
@@ -95,8 +99,7 @@ addScreenOrientationApi(screen.orientation);
var onChangeListener = null;
Object.defineProperty(screen.orientation, 'onchange', {
- set: function(listener) {
-
+ set: function (listener) {
if (onChangeListener) {
screen.orientation.removeEventListener('change', onChangeListener);
}
@@ -105,50 +108,48 @@ Object.defineProperty(screen.orientation, 'onchange', {
screen.orientation.addEventListener('change', onChangeListener);
}
},
- get: function() {
- return (onChangeListener ? onChangeListener : null);
+ get: function () {
+ return onChangeListener || null;
},
- enumerable: true,
+ enumerable: true
});
-
-var evtTarget = new XMLHttpRequest(); //document.createElement('div');
-var orientationchange = function() {
+var evtTarget = new XMLHttpRequest(); // document.createElement('div');
+var orientationchange = function () {
setOrientationProperties();
var event = document.createEvent('Events');
- event.initEvent("change", false, false);
+ event.initEvent('change', false, false);
evtTarget.dispatchEvent(event);
};
-screen.orientation.addEventListener = function(a,b,c) {
- return evtTarget.addEventListener(a,b,c);
+screen.orientation.addEventListener = function (a, b, c) {
+ return evtTarget.addEventListener(a, b, c);
};
-screen.orientation.removeEventListener = function(a,b,c) {
- return evtTarget.removeEventListener(a,b,c);
+screen.orientation.removeEventListener = function (a, b, c) {
+ return evtTarget.removeEventListener(a, b, c);
};
-function setOrientationProperties() {
+function setOrientationProperties () {
switch (window.orientation) {
- case 0:
- screen.orientation.type = 'portrait-primary';
- break;
- case 90:
- screen.orientation.type = 'landscape-primary';
- break;
- case 180:
- screen.orientation.type = 'portrait-secondary';
- break;
- case -90:
- screen.orientation.type = 'landscape-secondary';
- break;
- default:
- screen.orientation.type = 'portrait-primary';
- break;
+ case 0:
+ screen.orientation.type = 'portrait-primary';
+ break;
+ case 90:
+ screen.orientation.type = 'landscape-primary';
+ break;
+ case 180:
+ screen.orientation.type = 'portrait-secondary';
+ break;
+ case -90:
+ screen.orientation.type = 'landscape-secondary';
+ break;
+ default:
+ screen.orientation.type = 'portrait-primary';
+ break;
}
screen.orientation.angle = window.orientation || 0;
-
}
-window.addEventListener("orientationchange", orientationchange, true);
+window.addEventListener('orientationchange', orientationchange, true);
module.exports = screenOrientation;
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org