Add {totalFiles} and {totalBytes} stats to area selection
This commit is contained in:
parent
9cc14b5708
commit
d545c86616
|
@ -3,14 +3,12 @@
|
||||||
|
|
||||||
// enigma-bbs
|
// enigma-bbs
|
||||||
const MenuModule = require('../core/menu_module.js').MenuModule;
|
const MenuModule = require('../core/menu_module.js').MenuModule;
|
||||||
const Config = require('../core/config.js').config;
|
|
||||||
const stringFormat = require('../core/string_format.js');
|
const stringFormat = require('../core/string_format.js');
|
||||||
const ViewController = require('../core/view_controller.js').ViewController;
|
|
||||||
const getSortedAvailableFileAreas = require('../core/file_base_area.js').getSortedAvailableFileAreas;
|
const getSortedAvailableFileAreas = require('../core/file_base_area.js').getSortedAvailableFileAreas;
|
||||||
|
const StatLog = require('../core/stat_log.js');
|
||||||
|
|
||||||
// deps
|
// deps
|
||||||
const async = require('async');
|
const async = require('async');
|
||||||
const _ = require('lodash');
|
|
||||||
|
|
||||||
exports.moduleInfo = {
|
exports.moduleInfo = {
|
||||||
name : 'File Area Selector',
|
name : 'File Area Selector',
|
||||||
|
@ -60,25 +58,47 @@ exports.getModule = class FileAreaSelectModule extends MenuModule {
|
||||||
return cb(err);
|
return cb(err);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.prepViewController('allViews', 0, { mciMap : mciData.menu }, (err, vc) => {
|
const self = this;
|
||||||
|
|
||||||
|
async.series(
|
||||||
|
[
|
||||||
|
function mergeAreaStats(callback) {
|
||||||
|
const areaStats = StatLog.getSystemStat('file_base_area_stats') || { areas : {} };
|
||||||
|
|
||||||
|
self.availAreas.forEach(area => {
|
||||||
|
const stats = areaStats.areas[area.areaTag];
|
||||||
|
area.totalFiles = stats ? stats.files : 0;
|
||||||
|
area.totalBytes = stats ? stats.bytes : 0;
|
||||||
|
});
|
||||||
|
|
||||||
|
return callback(null);
|
||||||
|
},
|
||||||
|
function prepView(callback) {
|
||||||
|
self.prepViewController('allViews', 0, { mciMap : mciData.menu }, (err, vc) => {
|
||||||
if(err) {
|
if(err) {
|
||||||
return cb(err);
|
return callback(err);
|
||||||
}
|
}
|
||||||
|
|
||||||
const areaListView = vc.getView(MciViewIds.areaList);
|
const areaListView = vc.getView(MciViewIds.areaList);
|
||||||
|
|
||||||
const areaListFormat = this.config.areaListFormat || '{name}';
|
const areaListFormat = self.config.areaListFormat || '{name}';
|
||||||
|
|
||||||
areaListView.setItems(this.availAreas.map(a => stringFormat(areaListFormat, a) ) );
|
areaListView.setItems(self.availAreas.map(a => stringFormat(areaListFormat, a) ) );
|
||||||
|
|
||||||
if(this.config.areaListFocusFormat) {
|
if(self.config.areaListFocusFormat) {
|
||||||
areaListView.setFocusItems(this.availAreas.map(a => stringFormat(this.config.areaListFocusFormat, a) ) );
|
areaListView.setFocusItems(self.availAreas.map(a => stringFormat(self.config.areaListFocusFormat, a) ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
areaListView.redraw();
|
areaListView.redraw();
|
||||||
|
|
||||||
return cb(null);
|
return callback(null);
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
],
|
||||||
|
err => {
|
||||||
|
return cb(err);
|
||||||
|
}
|
||||||
|
);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue