VulpesOS/gaia/apps/settings/js/panels/display/display.js
OverSu b38dea0597 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.
2026-09-30 23:13:03 +02:00

81 lines
2.5 KiB
JavaScript
Executable file

/**
* Handle display panel functionality, which will change the value of
* screen.automatic-brightness of settings.
*
* @module display/display
*/
define(function(require) {
'use strict';
var SettingsListener = require('shared/settings_listener');
var SliderHandler = require('panels/display/slider_handler');
const AUTO_BRIGHTNESS_SETTING = 'screen.automatic-brightness';
const SCREEN_BRIGHTNESS = 'screen.brightness';
/**
* @alias module:display/display
* @class Display
* @returns {Display}
*/
var Display = function() {
this.elements = null;
};
Display.prototype = {
/**
* Init Display module with doms and data of device-features.json.
*
* @access public
* @memberOf Display.prototype
* @param {HTMLElement} elements
* @param {Object} data
* content of resources/device-features.json.
*/
init: function d_init(elements, data) {
this.elements = elements;
this.initBrightnessItems(data);
SliderHandler().init(
elements.brightnessManualInput,
SCREEN_BRIGHTNESS);
},
/**
* Decide whether to show brightnessAuto and brightnessManual options.
*
* @access public
* @memberOf Display.prototype
* @param {Object} data
* content of resources/device-features.json.
*/
initBrightnessItems: function d_init_brightness_items(data) {
var brightnessAuto = this.elements.brightnessAuto;
var brightnessAutoCheckbox = this.elements.brightnessAutoCheckbox;
var brightnessManual = this.elements.brightnessManual;
var brightnessManualInput = this.elements.brightnessManualInput;
if (data.ambientLight) {
brightnessAuto.hidden = false;
// Observe auto brightness setting
SettingsListener.observe(AUTO_BRIGHTNESS_SETTING, false,
function(value) {
brightnessAutoCheckbox.checked = value;
brightnessManual.hidden = value;
}.bind(this));
} else {
brightnessAuto.hidden = true;
brightnessManual.hidden = false;
var cset = {};
cset[AUTO_BRIGHTNESS_SETTING] = false;
SettingsListener.getSettingsLock().set(cset);
}
// Observe screen brightness setting
SettingsListener.observe(SCREEN_BRIGHTNESS, 0.5, function(value) {
brightnessManualInput.value = value;
}.bind(this));
}
};
return function ctor_display() {
return new Display();
};
});