VulpesOS/assets/webapps/settings.gaiamobile.org/js/panels/display/panel.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

3 lines
No EOL
3.5 KiB
JavaScript

define('panels/display/slider_handler',['require'],function(require){'use strict';const INTERVAL=300;var SliderHandler=function(){this._element=null;this._key='';this._isFirstInput=false;this._intervalID=null;};SliderHandler.prototype={init:function d_init(element,key){this._element=element;this._key=key;this._boundSetSliderValue=function(value){this._setSliderValue(value);}.bind(this);this._element.addEventListener('touchstart',this._touchStartHandler.bind(this));this._element.addEventListener('input',this._inputHandler.bind(this));this._element.addEventListener('touchend',this._touchEndHandler.bind(this));},_setSliderValue:function d_setSliderValue(value){this._element.value=value;},_touchStartHandler:function d_touchStartHandler(event){this._isFirstInput=true;},_updateSetting:function d_updateSetting(){var value=this._element.value;var settingObject={};settingObject[this._key]=value;if(value!==this._previous){navigator.mozSettings.createLock().set(settingObject);this._previous=value;}},_inputHandler:function d_inputHandler(event){if(this._isFirstInput){this._isFirstInput=false;this._updateSetting();this._intervalID=setInterval(this._updateSetting.bind(this),INTERVAL);}},_touchEndHandler:function d_touchEndHandler(event){clearInterval(this._intervalID);this._updateSetting();}};return function ctor_sliderHandler(){return new SliderHandler();};});define('panels/display/display',['require','shared/settings_listener','panels/display/slider_handler'],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';var Display=function(){this.elements=null;};Display.prototype={init:function d_init(elements,data){this.elements=elements;this.initBrightnessItems(data);SliderHandler().init(elements.brightnessManualInput,SCREEN_BRIGHTNESS);},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;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);}
SettingsListener.observe(SCREEN_BRIGHTNESS,0.5,function(value){brightnessManualInput.value=value;}.bind(this));}};return function ctor_display(){return new Display();};});define('panels/display/panel',['require','modules/settings_panel','panels/display/display','shared/lazy_loader'],function(require){'use strict';var SettingsPanel=require('modules/settings_panel');var DisplayModule=require('panels/display/display');var LazyLoader=require('shared/lazy_loader');var displayElements={};return function ctor_display_panel(){var display=DisplayModule();return SettingsPanel({onInit:function dp_onInit(panel){displayElements={brightnessManual:panel.querySelector('.brightness-manual'),brightnessManualInput:panel.querySelector('.brightness-manual input'),brightnessAuto:panel.querySelector('.brightness-auto'),brightnessAutoCheckbox:panel.querySelector('.brightness-auto gaia-checkbox')};LazyLoader.getJSON('/resources/device-features.json').then(function(data){display.init(displayElements,data);});}});};});