/** * Event Handlers */ self.port.once('preferences:initialized', function (details) { var localizationKeys = Object.keys(details.l10n); localizationKeys.forEach(function (localizationKey) { var elements = document.querySelectorAll('[data-l10n="' + localizationKey + '"]'); for (let element of elements) { element.textContent = details.l10n[localizationKey]; } }); }); self.port.on('preference:fetched', function () { // TODO Re-render the user interface. }); /** * Private Functions */ function fetchPreference (preferenceKey) { self.port.emit('preference:fetch', preferenceKey); } /** * Emitters */ self.port.emit('preference:changed', { key: 'sliderPosition', value: 2 });