-
Notifications
You must be signed in to change notification settings - Fork 311
/
appMobile.class.js
85 lines (75 loc) · 2.78 KB
/
appMobile.class.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
/* This file is part of Jeedom.
*
* Jeedom is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Jeedom is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Jeedom. If not, see <http://www.gnu.org/licenses/>.
*/
jeedom.appMobile = function () {};
jeedom.appMobile.detected = function() {
if (window.ReactNativeWebView != undefined) {
return true;
}
return false;
}
jeedom.appMobile.postToApp = function (_action, _options = {}) {
let message = {}
if (window.ReactNativeWebView != undefined) {
message.action = _action
message.options = _options
window.ReactNativeWebView.postMessage(JSON.stringify(message))
}
}
jeedom.appMobile.vibration = function (type = "impactMedium") {
/* vibration > impactLight, impactMedium, impactHeavy, rigid, soft, notificationSuccess, notificationWarning, notificationError */
jeedom.appMobile.postToApp('vibration', {type: type})
}
jeedom.appMobile.syncBoxs = function () {
jeedom.appMobile.postToApp('syncBoxs')
}
jeedom.appMobile.addBoxQrCode = function () {
/* open windows for add box QrCode on App */
jeedom.appMobile.postToApp('addBoxQrCode')
}
jeedom.appMobile.notifee = function (title, body, time = 5000, display = "") {
/**
* time (Number) : display time for inapp notification, in ms
* display (string) : display notiication : error(red), success(green), warn(orange) and info(blue). if "" : classic notification in App
*
*/
jeedom.appMobile.postToApp('notifee', {
body: body,
time: time,
title: title,
display : display
});
}
jeedom.appMobile.modal = function (_options) {
/**
* default sizeModal : 100 (optionnal)
* For type : 'barreCode' :
* 'optionText' : Optionnal Text on Modal
* 'method' : method for API
* 'plugin : Plugin for API
* @example _options = { 'type' : 'barreCode', 'optionText':'ExampleTextOnModal', 'method':'qrcodemethod','plugin':'mobile'}
* type : 'WebviewApp' for internalLink or 'urlwww' for externalLink
* @example _options = { 'type' : 'WebviewApp', 'uri' : '/plugins/mobile/core/php/menuForPanel.php' , 'sizeModal' : 50 }
*
*/
jeedom.appMobile.postToApp('modal', _options);
}
jeedom.appMobile.modalClose = function () {
jeedom.appMobile.postToApp('modal:close');
}
jeedom.appMobile.reloadView = function () {
// Reload actual tab webview
jeedom.appMobile.postToApp('reload');
}