summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--applications/luci-app-statistics/luasrc/controller/luci_statistics/luci_statistics.lua14
1 files changed, 9 insertions, 5 deletions
diff --git a/applications/luci-app-statistics/luasrc/controller/luci_statistics/luci_statistics.lua b/applications/luci-app-statistics/luasrc/controller/luci_statistics/luci_statistics.lua
index a89f9f4f87..eb7769b85f 100644
--- a/applications/luci-app-statistics/luasrc/controller/luci_statistics/luci_statistics.lua
+++ b/applications/luci-app-statistics/luasrc/controller/luci_statistics/luci_statistics.lua
@@ -115,11 +115,15 @@ function index()
-- get plugin instances
local instances = tree:plugin_instances( plugin )
- -- plugin menu entry
- entry(
- { "admin", "statistics", "graph", plugin },
- call("statistics_render"), labels[plugin], idx
- ).query = { timespan = span , host = host }
+ -- load plugin menu entry from the description
+ local plugin_name = "luci.statistics.rrdtool.definitions." .. plugin
+ local stat, def = pcall( require, plugin_name )
+ if stat and def and type(def.item) == "function" then
+ entry(
+ { "admin", "statistics", "graph", plugin },
+ call("statistics_render"), def.item(), idx
+ ).query = { timespan = span , host = host }
+ end
-- if more then one instance is found then generate submenu
if #instances > 1 then