mirror of
https://github.com/cupcakearmy/fight-of-the-mobiles.git
synced 2026-04-02 10:15:23 +00:00
cordova
This commit is contained in:
74
src/cordova/plugins/cordova-plugin-dialogs/www/android/notification.js
vendored
Normal file
74
src/cordova/plugins/cordova-plugin-dialogs/www/android/notification.js
vendored
Normal file
@@ -0,0 +1,74 @@
|
||||
/*
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
var exec = require('cordova/exec');
|
||||
|
||||
/**
|
||||
* Provides Android enhanced notification API.
|
||||
*/
|
||||
module.exports = {
|
||||
activityStart: function (title, message) {
|
||||
// If title and message not specified then mimic Android behavior of
|
||||
// using default strings.
|
||||
if (typeof title === 'undefined' && typeof message === 'undefined') {
|
||||
title = 'Busy';
|
||||
message = 'Please wait...';
|
||||
}
|
||||
|
||||
exec(null, null, 'Notification', 'activityStart', [ title, message ]);
|
||||
},
|
||||
|
||||
/**
|
||||
* Close an activity dialog
|
||||
*/
|
||||
activityStop: function () {
|
||||
exec(null, null, 'Notification', 'activityStop', []);
|
||||
},
|
||||
|
||||
/**
|
||||
* Display a progress dialog with progress bar that goes from 0 to 100.
|
||||
*
|
||||
* @param {String}
|
||||
* title Title of the progress dialog.
|
||||
* @param {String}
|
||||
* message Message to display in the dialog.
|
||||
*/
|
||||
progressStart: function (title, message) {
|
||||
exec(null, null, 'Notification', 'progressStart', [ title, message ]);
|
||||
},
|
||||
|
||||
/**
|
||||
* Close the progress dialog.
|
||||
*/
|
||||
progressStop: function () {
|
||||
exec(null, null, 'Notification', 'progressStop', []);
|
||||
},
|
||||
|
||||
/**
|
||||
* Set the progress dialog value.
|
||||
*
|
||||
* @param {Number}
|
||||
* value 0-100
|
||||
*/
|
||||
progressValue: function (value) {
|
||||
exec(null, null, 'Notification', 'progressValue', [ value ]);
|
||||
}
|
||||
};
|
||||
110
src/cordova/plugins/cordova-plugin-dialogs/www/browser/notification.js
vendored
Normal file
110
src/cordova/plugins/cordova-plugin-dialogs/www/browser/notification.js
vendored
Normal file
@@ -0,0 +1,110 @@
|
||||
/*
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
// Platform: browser
|
||||
window.navigator.notification = window.navigator.notification || {};
|
||||
|
||||
module.exports.alert = window.navigator.notification.alert = function (message, callback) {
|
||||
// `notification.alert` executes asynchronously
|
||||
setTimeout(function () {
|
||||
window.alert(message);
|
||||
if (callback) {
|
||||
callback();
|
||||
}
|
||||
}, 0);
|
||||
};
|
||||
|
||||
module.exports.confirm = window.navigator.notification.confirm = function (message, callback) {
|
||||
// `notification.confirm` executes asynchronously
|
||||
/* eslint-disable standard/no-callback-literal */
|
||||
setTimeout(function () {
|
||||
var result = window.confirm(message);
|
||||
if (callback) {
|
||||
if (result) {
|
||||
callback(1); // OK
|
||||
} else {
|
||||
callback(2); // Cancel
|
||||
}
|
||||
}
|
||||
}, 0);
|
||||
};
|
||||
|
||||
module.exports.prompt = window.navigator.notification.prompt = function (message, callback, title, buttonLabels, defaultText) {
|
||||
// `notification.prompt` executes asynchronously
|
||||
setTimeout(function () {
|
||||
var result = window.prompt(message, defaultText || '');
|
||||
if (callback) {
|
||||
if (result === null) {
|
||||
callback({ buttonIndex: 2, input1: '' }); // Cancel
|
||||
} else {
|
||||
callback({ buttonIndex: 1, input1: result }); // OK
|
||||
}
|
||||
}
|
||||
}, 0);
|
||||
};
|
||||
/* eslint-enable standard/no-callback-literal */
|
||||
var audioContext = (function () {
|
||||
// Determine if the Audio API is supported by this browser
|
||||
var AudioApi = window.AudioContext;
|
||||
if (!AudioApi) {
|
||||
AudioApi = window.webkitAudioContext;
|
||||
}
|
||||
|
||||
if (AudioApi) {
|
||||
// The Audio API is supported, so create a singleton instance of the AudioContext
|
||||
return new AudioApi();
|
||||
}
|
||||
|
||||
return undefined;
|
||||
}());
|
||||
|
||||
module.exports.beep = window.navigator.notification.beep = function (times) {
|
||||
if (times > 0) {
|
||||
var BEEP_DURATION = 700;
|
||||
var BEEP_INTERVAL = 300;
|
||||
|
||||
if (audioContext) {
|
||||
// Start a beep, using the Audio API
|
||||
var osc = audioContext.createOscillator();
|
||||
osc.type = 0; // sounds like a "beep"
|
||||
osc.connect(audioContext.destination);
|
||||
osc.start(0);
|
||||
|
||||
setTimeout(function () {
|
||||
// Stop the beep after the BEEP_DURATION
|
||||
osc.stop(0);
|
||||
|
||||
if (--times > 0) {
|
||||
// Beep again, after a pause
|
||||
setTimeout(function () {
|
||||
navigator.notification.beep(times);
|
||||
}, BEEP_INTERVAL);
|
||||
}
|
||||
|
||||
}, BEEP_DURATION);
|
||||
} else if (typeof (console) !== 'undefined' && typeof (console.log) === 'function') {
|
||||
// Audio API isn't supported, so just write `beep` to the console
|
||||
for (var i = 0; i < times; i++) {
|
||||
console.log('Beep!');
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
130
src/cordova/plugins/cordova-plugin-dialogs/www/notification.js
vendored
Normal file
130
src/cordova/plugins/cordova-plugin-dialogs/www/notification.js
vendored
Normal file
@@ -0,0 +1,130 @@
|
||||
/*
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
var exec = require('cordova/exec');
|
||||
var platform = require('cordova/platform');
|
||||
|
||||
/**
|
||||
* Provides access to notifications on the device.
|
||||
*/
|
||||
|
||||
module.exports = {
|
||||
|
||||
/**
|
||||
* Open a native alert dialog, with a customizable title and button text.
|
||||
*
|
||||
* @param {String} message Message to print in the body of the alert
|
||||
* @param {Function} completeCallback The callback that is called when user clicks on a button.
|
||||
* @param {String} title Title of the alert dialog (default: Alert)
|
||||
* @param {String} buttonLabel Label of the close button (default: OK)
|
||||
*/
|
||||
alert: function (message, completeCallback, title, buttonLabel) {
|
||||
var _message = (typeof message === 'string' ? message : JSON.stringify(message));
|
||||
var _title = (typeof title === 'string' ? title : 'Alert');
|
||||
var _buttonLabel = (buttonLabel && typeof buttonLabel === 'string' ? buttonLabel : 'OK');
|
||||
exec(completeCallback, null, 'Notification', 'alert', [_message, _title, _buttonLabel]);
|
||||
},
|
||||
|
||||
/**
|
||||
* Open a native confirm dialog, with a customizable title and button text.
|
||||
* The result that the user selects is returned to the result callback.
|
||||
*
|
||||
* @param {String} message Message to print in the body of the alert
|
||||
* @param {Function} resultCallback The callback that is called when user clicks on a button.
|
||||
* @param {String} title Title of the alert dialog (default: Confirm)
|
||||
* @param {Array} buttonLabels Array of the labels of the buttons (default: ['OK', 'Cancel'])
|
||||
*/
|
||||
confirm: function (message, resultCallback, title, buttonLabels) {
|
||||
var _message = (typeof message === 'string' ? message : JSON.stringify(message));
|
||||
var _title = (typeof title === 'string' ? title : 'Confirm');
|
||||
var _buttonLabels = (buttonLabels || ['OK', 'Cancel']);
|
||||
|
||||
// Strings are deprecated!
|
||||
if (typeof _buttonLabels === 'string') {
|
||||
console.log('Notification.confirm(string, function, string, string) is deprecated. Use Notification.confirm(string, function, string, array).');
|
||||
}
|
||||
|
||||
_buttonLabels = convertButtonLabels(_buttonLabels);
|
||||
|
||||
exec(resultCallback, null, 'Notification', 'confirm', [_message, _title, _buttonLabels]);
|
||||
},
|
||||
|
||||
/**
|
||||
* Open a native prompt dialog, with a customizable title and button text.
|
||||
* The following results are returned to the result callback:
|
||||
* buttonIndex Index number of the button selected.
|
||||
* input1 The text entered in the prompt dialog box.
|
||||
*
|
||||
* @param {String} message Dialog message to display (default: "Prompt message")
|
||||
* @param {Function} resultCallback The callback that is called when user clicks on a button.
|
||||
* @param {String} title Title of the dialog (default: "Prompt")
|
||||
* @param {Array} buttonLabels Array of strings for the button labels (default: ["OK","Cancel"])
|
||||
* @param {String} defaultText Textbox input value (default: empty string)
|
||||
*/
|
||||
prompt: function (message, resultCallback, title, buttonLabels, defaultText) {
|
||||
var _message = (typeof message === 'string' ? message : JSON.stringify(message));
|
||||
var _title = (typeof title === 'string' ? title : 'Prompt');
|
||||
var _buttonLabels = (buttonLabels || ['OK', 'Cancel']);
|
||||
|
||||
// Strings are deprecated!
|
||||
if (typeof _buttonLabels === 'string') {
|
||||
console.log('Notification.prompt(string, function, string, string) is deprecated. Use Notification.confirm(string, function, string, array).');
|
||||
}
|
||||
|
||||
_buttonLabels = convertButtonLabels(_buttonLabels);
|
||||
|
||||
var _defaultText = (defaultText || '');
|
||||
exec(resultCallback, null, 'Notification', 'prompt', [_message, _title, _buttonLabels, _defaultText]);
|
||||
},
|
||||
|
||||
/**
|
||||
* Causes the device to beep.
|
||||
* On Android, the default notification ringtone is played "count" times.
|
||||
*
|
||||
* @param {Integer} count The number of beeps.
|
||||
*/
|
||||
beep: function (count) {
|
||||
var defaultedCount = count || 1;
|
||||
exec(null, null, 'Notification', 'beep', [ defaultedCount ]);
|
||||
}
|
||||
};
|
||||
|
||||
function convertButtonLabels (buttonLabels) {
|
||||
|
||||
// Some platforms take an array of button label names.
|
||||
// Other platforms take a comma separated list.
|
||||
// For compatibility, we convert to the desired type based on the platform.
|
||||
if (platform.id === 'amazon-fireos' || platform.id === 'android' || platform.id === 'ios' ||
|
||||
platform.id === 'windowsphone' || platform.id === 'firefoxos' || platform.id === 'ubuntu' ||
|
||||
platform.id === 'windows8' || platform.id === 'windows') {
|
||||
|
||||
if (typeof buttonLabels === 'string') {
|
||||
buttonLabels = buttonLabels.split(','); // not crazy about changing the var type here
|
||||
}
|
||||
} else {
|
||||
if (Array.isArray(buttonLabels)) {
|
||||
var buttonLabelArray = buttonLabels;
|
||||
buttonLabels = buttonLabelArray.toString();
|
||||
}
|
||||
}
|
||||
|
||||
return buttonLabels;
|
||||
}
|
||||
@@ -0,0 +1,84 @@
|
||||
/*
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
.dlgWrap {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: rgba(0, 0, 0, 0.25);
|
||||
z-index: 100000;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.dlgContainer {
|
||||
width: 100%;
|
||||
min-height: 180px;
|
||||
height: auto;
|
||||
overflow: auto;
|
||||
background-color: white;
|
||||
position: relative;
|
||||
line-height: 2;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
padding: 0 30%;
|
||||
}
|
||||
|
||||
.dlgContainer #lbl-title {
|
||||
font-size: 24pt;
|
||||
}
|
||||
|
||||
.dlgContainer #prompt-input {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.dlgButton {
|
||||
margin: 8px 0 0 16px;
|
||||
float: right;
|
||||
font-size: 11pt;
|
||||
background-color: #cccccc;
|
||||
border: none;
|
||||
font-weight: 600;
|
||||
font-family: "Segoe UI", Arial, sans-serif;
|
||||
padding: 0 22px;
|
||||
}
|
||||
|
||||
.dlgButton.dlgButtonFirst {
|
||||
color: white;
|
||||
background-color: #464646;
|
||||
}
|
||||
|
||||
.dlgContainer.dlgContainer-windows {
|
||||
width: 50%;
|
||||
max-width: 680px;
|
||||
padding: 0 5%;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
position: fixed;
|
||||
transform: translate(-50%, -50%);
|
||||
border: 1px solid rgb(24, 160, 191);
|
||||
border-image: none;
|
||||
box-shadow: 0 0 14px 6px rgba(0,0,0,0.16);
|
||||
text-transform: none;
|
||||
}
|
||||
|
||||
.dlgContainer.dlgContainer-phone {
|
||||
padding: 0 5%;
|
||||
}
|
||||
Reference in New Issue
Block a user