From 82c2a97314e5a569042056233475d1f97c1278ad Mon Sep 17 00:00:00 2001 From: Florian Eckert Date: Thu, 7 Mar 2019 15:09:47 +0100 Subject: [PATCH] luci-app-statistics: load graph menu entry name from the definitions This change defines the menu entry for the LuCI and the rrd definition in one place. This also has advantage when plugins are written with exec/python/perl or lua. The controller does not have to be touched for the menu entry change. Signed-off-by: Florian Eckert --- .../controller/luci_statistics/luci_statistics.lua | 14 +++++++++----- 1 file 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 a89f9f4f8..eb7769b85 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 -- 2.25.1