File manager - Edit - /usr/local/cpanel/base/webmail/jupiter/_assets/disk_usage_meter.js
Back
/* # cpanel - base/webmail/jupiter/_assets/disk_usage_meter.js # Copyright 2022 cPanel, L.L.C. # All rights reserved. # copyright@cpanel.net http://cpanel.net # This code is subject to the cPanel license. Unauthorized copying is prohibited */ /* global CPANEL: false */ /* jshint -W064 */ /* * Both of the following classes expose the same methods: * * @class Disk_Usage_Meter_Cpuser * * //The parameter is a DOM element that will contain the disk usage. * var du_meter = new Disk_Usage_Meter_Cpuser(usage_el); * * //Sets the disk usage immediately. * du_meter.set( usage_in_bytes ); * * //Fires off an AJAX request to fetch the disk usage; * //sets the disk usage once the API call returns. * du_meter.refresh(); * * @class Disk_Usage_Meter_Mailuser * * //For a mail user that has no quota. * var du_meter = new Disk_Usage_Meter_Mailuser(usage_el); * * //or … * * //For a mail user with a quota. * // * //“link_el” is a DOM element that will * //receive the disk usage percentage as a two-character integer in the * //“data-quotausage” attribute. (i.e., 0-9 will have a leading “0”) * // * //It is assumed that the user’s quota will not change over the lifetime * //of this object; adding an interface to change that would be trivial. * // * var du_meter = new Disk_Usage_Meter_Mailuser(usage_el, link_el, quota_in_bytes); * */ (function(window) { "use strict"; function Disk_Usage_Meter_Base(el) { this._el = el; } $.extend( Disk_Usage_Meter_Base.prototype, { _get_refresher: function _get_refresher() { var dum_obj = this; // TODO: Update this to whatever new, post-CJT1 hotness we // concoct for API access without AngularJS. return CPANEL.api( { version: 3, module: this.MODULE, func: this.FUNC, callback: { success: function(o) { delete dum_obj._refreshing; var usage = parseInt( dum_obj._get_usage(o.cpanel_data), 10 ); dum_obj.set(usage); }, failure: function(o) { delete dum_obj._refreshing; console.error(o); }, }, } ); }, refresh: function refresh() { if (this._refreshing) { return false; } this._refreshing = this._get_refresher(); return true; }, set: function set(usage) { this._el.textContent = LOCALE.format_bytes(usage); if (this._after_set) { this._after_set(usage); } }, } ); function Disk_Usage_Meter_Cpuser(el) { Disk_Usage_Meter_Base.call(this, el); } Disk_Usage_Meter_Cpuser.prototype = Object.create( Disk_Usage_Meter_Base.prototype ); $.extend( Disk_Usage_Meter_Cpuser.prototype, { MODULE: "Email", FUNC: "get_main_account_disk_usage_bytes", _get_usage: String, } ); function Disk_Usage_Meter_Mailuser(el, usage_data_el, quota) { Disk_Usage_Meter_Base.call(this, el); this._usage_data_el = usage_data_el; this._quota = quota; } Disk_Usage_Meter_Mailuser.prototype = Object.create( Disk_Usage_Meter_Base.prototype ); $.extend( Disk_Usage_Meter_Mailuser.prototype, { MODULE: "Email", FUNC: "list_pops_with_disk", _get_usage: function(cpanel_data) { return cpanel_data[0]._diskused; }, _after_set: function(usage) { if (this._quota) { var usage_pct = Math.min( 99, Math.floor(100 * usage / this._quota) ); if (String(usage_pct).length === 1) { usage_pct = "0" + usage_pct; } this._usage_data_el.setAttribute("data-quotausage", usage_pct); } }, } ); window.Disk_Usage_Meter_Cpuser = Disk_Usage_Meter_Cpuser; window.Disk_Usage_Meter_Mailuser = Disk_Usage_Meter_Mailuser; })(window);
| ver. 1.4 |
Github
|
.
| PHP 8.1.34 | Generation time: 0.05 |
proxy
|
phpinfo
|
Settings