Share Gaia assets and adapters, keep private profiles and development documents local, and update both public READMEs.
67 lines
2 KiB
JavaScript
Executable file
67 lines
2 KiB
JavaScript
Executable file
define(function(require) {
|
|
'use strict';
|
|
|
|
var SIMSlotManager = require('shared/simslot_manager');
|
|
var Messaging = require('modules/messaging');
|
|
var SettingsPanel = require('modules/settings_panel');
|
|
var l10n = document.l10n;
|
|
|
|
return function ctor_messaging_details_panel() {
|
|
var elements = {};
|
|
var isInitialized = false;
|
|
|
|
return SettingsPanel({
|
|
onInit: function(panel) {
|
|
elements.optionsContainer = panel.querySelector('.options-container');
|
|
elements.header = panel.querySelector('gaia-header > h1');
|
|
},
|
|
onBeforeShow: function(panel, options) {
|
|
var self = this;
|
|
var injectPromise;
|
|
var cardIndex = options.cardIndex;
|
|
|
|
if (!isInitialized) {
|
|
isInitialized = true;
|
|
injectPromise =
|
|
Messaging.injectCBSTemplate(elements.optionsContainer);
|
|
}
|
|
|
|
return Promise.resolve(injectPromise)
|
|
.then(function updateElementReference() {
|
|
// smsc is lazy-loaded
|
|
if (!elements.smsc) {
|
|
elements.smsc = panel.querySelector('.smsc .explanation');
|
|
}
|
|
})
|
|
.then(function updateUI() {
|
|
Messaging.initCBS(panel, cardIndex);
|
|
Messaging.disableItems(panel);
|
|
self._updateHeader(cardIndex);
|
|
self._updateSmsc(cardIndex);
|
|
})
|
|
.catch(function(error) {
|
|
console.error('Error : ', error);
|
|
});
|
|
},
|
|
_updateHeader: function(cardIndex) {
|
|
l10n.setAttributes(elements.header, 'messaging-sim-settings', {
|
|
index: cardIndex + 1
|
|
});
|
|
},
|
|
_updateSmsc: function(cardIndex) {
|
|
// cleanup first
|
|
elements.smsc.innerHTML = '';
|
|
|
|
SIMSlotManager.get(cardIndex).getSmsc(function(result) {
|
|
if (result) {
|
|
var bdi = document.createElement('bdi');
|
|
bdi.textContent = result;
|
|
elements.smsc.appendChild(bdi);
|
|
} else {
|
|
elements.smsc.setAttribute('data-l10n-id', 'unknown-SMSC');
|
|
}
|
|
});
|
|
}
|
|
});
|
|
};
|
|
});
|