luci-app-statistics: auto-create missing plugin entries
authorJo-Philipp Wich <jo@mein.io>
Fri, 14 Feb 2020 11:11:00 +0000 (12:11 +0100)
committerJo-Philipp Wich <jo@mein.io>
Fri, 14 Feb 2020 11:11:00 +0000 (12:11 +0100)
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/collectd.js

index b66055f7e2a7eba58ff061d47de5610d357b8563..d92693525a1b421e6fc709a28fcc16754f23a08f 100644 (file)
@@ -8,7 +8,8 @@ return L.view.extend({
        load: function() {
                return Promise.all([
                        fs.list('/usr/lib/collectd'),
-                       fs.list('/usr/share/luci/statistics/plugins')
+                       fs.list('/usr/share/luci/statistics/plugins'),
+                       uci.load('luci_statistics')
                ]).then(function(data) {
                        var installed = data[0],
                            plugins = data[1],
@@ -17,6 +18,9 @@ return L.view.extend({
                        for (var i = 0; i < plugins.length; i++) {
                                tasks.push(fs.read_direct('/usr/share/luci/statistics/plugins/' + plugins[i].name, 'json').then(L.bind(function(name, spec) {
                                        return L.resolveDefault(L.require('view.statistics.plugins.' + name)).then(function(form) {
+                                               if (!uci.get('luci_statistics', 'collectd_' + name))
+                                                       uci.add('luci_statistics', 'statistics', 'collectd_' + name);
+
                                                return {
                                                        name: name,
                                                        spec: spec,