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

4 lines
No EOL
1.7 KiB
JavaScript

define(['require','modules/settings_panel','modules/battery'],function(require){'use strict';var SettingsPanel=require('modules/settings_panel');var Battery=require('modules/battery');return function ctor_battery_panel(){var _batteryLevelText=null;var _batteryTimeText=null;var _getBatteryTimeL10n=function(type){type=type==='charging'?'charging':'discharging';var time=Battery[type+'Time'];var l10nAttrs={id:'battery-'+type+'-calculating',args:{}};if(time!==Infinity&&time>0){var timeLeft=new Date(0,0,0,0,0,time);l10nAttrs.args.hours=timeLeft.getHours();l10nAttrs.args.minutes=timeLeft.getMinutes();if(l10nAttrs.args.hours>0){l10nAttrs.id='battery-'+type+'-hours';}else{l10nAttrs.id='battery-'+type+'-minutes';}}else if(time!==Infinity&&time===0){l10nAttrs.id='battery-'+type+'-complete';}
return l10nAttrs;};var _refreshText=function(){document.l10n.setAttributes(_batteryLevelText,'battery-current-level',{level:Battery.level});if(Battery.state==='unplugged'){var l10nDischarging=_getBatteryTimeL10n('discharging');document.l10n.setAttributes(_batteryTimeText,l10nDischarging.id,l10nDischarging.args);}
else{var l10nCharging=_getBatteryTimeL10n('charging');document.l10n.setAttributes(_batteryTimeText,l10nCharging.id,l10nCharging.args);}};return SettingsPanel({onInit:function bp_onInit(rootElement){_batteryLevelText=rootElement.querySelector('#battery-level');_batteryTimeText=rootElement.querySelector('#battery-time');},onBeforeShow:function bp_onBeforeShow(rootElement){Battery.observe('level',_refreshText);Battery.observe('state',_refreshText);Battery.observe('chargingTime',_refreshText);Battery.observe('dischargingTime',_refreshText);_refreshText();},onBeforeHide:function bp_onBeforeHide(){Battery.unobserve(_refreshText);}});};});