Publish Vulpes Preview 15 sources for desktop, Android and Tundra
Share Gaia assets and adapters, keep private profiles and development documents local, and update both public READMEs.
This commit is contained in:
parent
93e3a48004
commit
b38dea0597
25901 changed files with 9982925 additions and 369 deletions
153
assets/webapps/communications.gaiamobile.org/dialer/js/mmi_ui.js
Normal file
153
assets/webapps/communications.gaiamobile.org/dialer/js/mmi_ui.js
Normal file
|
|
@ -0,0 +1,153 @@
|
|||
/* globals MmiManager */
|
||||
|
||||
/* exported MmiUI */
|
||||
|
||||
'use strict';
|
||||
|
||||
var MmiUI = {
|
||||
|
||||
_: null,
|
||||
|
||||
headerTitleNode: null,
|
||||
headerNode: null,
|
||||
cancelNode: null,
|
||||
sendNode: null,
|
||||
messageNode: null,
|
||||
responseTextNode: null,
|
||||
responseTextResetNode: null,
|
||||
mmiScreen: null,
|
||||
loadingOverlay: null,
|
||||
|
||||
init: function mui_init() {
|
||||
this._ = navigator.mozL10n.get;
|
||||
|
||||
this.headerTitleNode = document.getElementById('header-title');
|
||||
this.headerNode = document.getElementById('mmi-header');
|
||||
this.cancelNode = document.getElementById('cancel');
|
||||
this.sendNode = document.getElementById('send');
|
||||
this.messageNode = document.getElementById('message');
|
||||
this.responseTextNode = document.getElementById('response-text');
|
||||
this.responseTextResetNode = document.getElementById('response-text-reset');
|
||||
this.mmiScreen = document.getElementById('mmi-screen');
|
||||
this.loadingOverlay = document.getElementById('loading-overlay');
|
||||
|
||||
this.headerNode.addEventListener('action', this.closeWindow.bind(this));
|
||||
this.cancelNode.addEventListener('click', this.cancel.bind(this));
|
||||
this.sendNode.addEventListener('click', this.reply.bind(this));
|
||||
this.responseTextResetNode.addEventListener('click',
|
||||
this.resetResponse.bind(this));
|
||||
this.responseTextNode.addEventListener('input',
|
||||
this.responseUpdated.bind(this));
|
||||
},
|
||||
|
||||
showWindow: function mui_showWindow() {
|
||||
this.mmiScreen.hidden = false;
|
||||
},
|
||||
|
||||
closeWindow: function mui_closeWindow() {
|
||||
MmiManager.cancel();
|
||||
this.resetResponse();
|
||||
this.mmiScreen.hidden = true;
|
||||
},
|
||||
|
||||
cancel: function mui_cancel() {
|
||||
this.hideLoading();
|
||||
this.closeWindow();
|
||||
},
|
||||
|
||||
showMessage: function mui_showMessage(message, header) {
|
||||
this.showWindow();
|
||||
this.hideLoading();
|
||||
this.responseTextNode.removeAttribute('disabled');
|
||||
this.messageNode.textContent = message;
|
||||
if (header && header.length) {
|
||||
this.headerTitleNode.textContent = header;
|
||||
} else {
|
||||
this.headerTitleNode.textContent = '';
|
||||
}
|
||||
|
||||
// Make sure the app is displayed
|
||||
navigator.mozApps.getSelf().onsuccess = function getSelfCB(evt) {
|
||||
evt.target.result.launch('dialer');
|
||||
};
|
||||
},
|
||||
|
||||
showLoading: function mui_showLoading() {
|
||||
this.loadingOverlay.classList.remove('hide');
|
||||
this.loadingOverlay.classList.remove('fade-out');
|
||||
this.loadingOverlay.classList.add('fade-in');
|
||||
this.responseTextNode.setAttribute('disabled', 'disabled');
|
||||
this.sendNode.setAttribute('disabled', 'disabled');
|
||||
},
|
||||
|
||||
hideLoading: function mui_hideLoading() {
|
||||
var self = this;
|
||||
|
||||
this.loadingOverlay.classList.remove('fade-in');
|
||||
this.loadingOverlay.addEventListener('animationend',
|
||||
function mui_fadeOut(ev) {
|
||||
self.loadingOverlay.removeEventListener('animationend', mui_fadeOut);
|
||||
self.loadingOverlay.classList.add('hide');
|
||||
});
|
||||
this.loadingOverlay.classList.add('fade-out');
|
||||
},
|
||||
|
||||
showResponseForm: function mui_showForm() {
|
||||
this.mmiScreen.classList.add('responseForm');
|
||||
this.sendNode.classList.remove('hide');
|
||||
},
|
||||
|
||||
hideResponseForm: function mui_hideForm() {
|
||||
this.mmiScreen.classList.remove('responseForm');
|
||||
this.sendNode.classList.add('hide');
|
||||
},
|
||||
|
||||
resetResponse: function mui_resetResponse() {
|
||||
this.responseTextNode.value = '';
|
||||
this.sendNode.setAttribute('disabled', 'disabled');
|
||||
},
|
||||
|
||||
responseUpdated: function mui_responseUpdated() {
|
||||
if (this.responseTextNode.value.length <= 0) {
|
||||
this.sendNode.setAttribute('disabled', 'disabled');
|
||||
} else {
|
||||
this.sendNode.removeAttribute('disabled');
|
||||
}
|
||||
},
|
||||
|
||||
reply: function mui_reply() {
|
||||
this.showLoading();
|
||||
MmiManager.reply(this.responseTextNode.value);
|
||||
this.resetResponse();
|
||||
},
|
||||
|
||||
success: function mui_success(message, title) {
|
||||
message = message || this._('mmi-successfully-sent');
|
||||
|
||||
this.hideResponseForm();
|
||||
this.showMessage(message, title);
|
||||
},
|
||||
|
||||
error: function mui_error(error, title) {
|
||||
error = error || this._('mmi-error');
|
||||
|
||||
this.hideResponseForm();
|
||||
this.showMessage(error, title);
|
||||
},
|
||||
|
||||
received: function mui_received(session, message, title) {
|
||||
if (!session) {
|
||||
this.hideResponseForm();
|
||||
if (message === null) {
|
||||
message = this._('mmi-session-expired');
|
||||
}
|
||||
} else {
|
||||
this.showResponseForm();
|
||||
}
|
||||
this.showMessage(message, title);
|
||||
},
|
||||
|
||||
loading: function mui_loading() {
|
||||
this.showLoading();
|
||||
},
|
||||
};
|
||||
Loading…
Reference in a new issue