'use strict';'require view';'require ui';'require rpc';'require poll';var callSystemInfo=rpc.declare({object:'system',method:'info'});return view.extend({load:function(){console.log('Load function called');return callSystemInfo().then(function(data){console.log('RAM information loaded:',JSON.stringify(data.memory));return{memory:data.memory};}).catch(function(error){console.error('Error loading RAM information:',error);throw error;});},updateMemoryStatus:function(memory){console.log('Updating memory status with:',memory);if(!memory){console.error('Memory information is missing');return;}
var totalMB=Math.round(memory.total/1024/1024);var freeMB=Math.round(memory.free/1024/1024);var cachedMB=Math.round(memory.cached/1024/1024);var usedMB=totalMB-freeMB-cachedMB;var usedPercent=Math.round((usedMB/totalMB)*100);var memoryStatusElement=document.getElementById('memory-status');if(memoryStatusElement){memoryStatusElement.innerHTML='';memoryStatusElement.appendChild(E('div',{'class':'table'},[E('div',{'class':'tr'},[E('div',{'class':'td left'},_('Total RAM:')),E('div',{'class':'td left'},totalMB+' MB')]),E('div',{'class':'tr'},[E('div',{'class':'td left'},_('Used RAM:')),E('div',{'class':'td left'},usedMB+' MB ('+usedPercent+'%)')]),E('div',{'class':'tr'},[E('div',{'class':'td left'},_('Cached RAM:')),E('div',{'class':'td left'},cachedMB+' MB')]),E('div',{'class':'tr'},[E('div',{'class':'td left'},_('Free RAM:')),E('div',{'class':'td left'},freeMB+' MB')])]));}else{console.error('Memory status element not found');}},render:function(data){console.log('Render function called with:',JSON.stringify(data));var view=E('div',{'class':'cbi-map'},[E('h2',_('RAM Status')),E('div',{'class':'cbi-section'},[E('div',{'id':'memory-status'})]),E('div',{'style':'text-align: center; padding: 10px; font-style: italic;'},[E('span',{},[_('© Dibuat oleh '),E('a',{'href':'https://github.com/bobbyunknow','target':'_blank','style':'text-decoration: none;'},'BobbyUnknown')])])]);requestAnimationFrame(L.bind(function(){this.updateMemoryStatus(data.memory);},this));return view;},handleSaveApply:null,handleSave:null,handleReset:null,poll:{interval:5,task:function(){console.log('Polling task running');return callSystemInfo().then(L.bind(function(data){console.log('Polling task received RAM information:',JSON.stringify(data.memory));this.updateMemoryStatus(data.memory);},this)).catch(function(error){console.error('Error in polling task:',error);});}}});