From: Jo-Philipp Wich Date: Wed, 10 Feb 2016 12:41:06 +0000 (+0100) Subject: luci-theme-openwrt: untangle & refactor header.htm code X-Git-Url: http://git.archive.openwrt.org/?a=commitdiff_plain;h=5e113afdd76560d624050aa1da281f4042a09a85;p=project%2Fluci.git luci-theme-openwrt: untangle & refactor header.htm code Signed-off-by: Jo-Philipp Wich --- diff --git a/themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm b/themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm index d43cc9c02..505e64b95 100644 --- a/themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm +++ b/themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm @@ -42,24 +42,24 @@ http.prepare_content("application/xhtml+xml") local function nodeurl(prefix, name, query) - local url = controller .. prefix .. name .. "/" + local u = url(prefix, name) if query then - url = url .. http.build_querystring(query) + u = u .. http.build_querystring(query) end - return pcdata(url) + return pcdata(u) end - local function subtree(prefix, node, level) + local function render_menu(prefix, node, level) if not level then level = 1 end local childs = disp.node_childs(node) if #childs > 0 then -%> -
-
    - <% + write('
      ' %{ + level, level + }) + local selected_node local selected_name local i, v @@ -70,22 +70,51 @@ selected_node = nnode selected_name = v end - %> -
    • - <%=striptags(translate(nnode.title))%> -
    • - <% + + write('
    • %s
    • ' %{ + v, (nnode._menu_selected or (node.leaf and v == leaf)) and 'active' or '', + nodeurl(prefix, v, nnode.query), + striptags(translate(nnode.title)) + }) end - %> -
    -
    -<% + + write('

') + if selected_node then - subtree(prefix .. selected_name .. "/", selected_node, level + 1) + render_menu(prefix .. "/" .. selected_name, selected_node, level + 1) end -%> -
-<% + + write('') + end + end + + local function render_changes() + if tree.nodes[category] and tree.nodes[category].ucidata then + local ucic = 0 + for i, j in pairs(require("luci.model.uci").cursor():changes()) do + for k, l in pairs(j) do + for m, n in pairs(l) do + ucic = ucic + 1; + end + end + end + + write('
') + + if ucic > 0 then + write('%s: %d' %{ + url(category, 'uci/changes'), + http.urlencode(http.formvalue('redir') or REQUEST_URI), + translate('Unsaved Changes'), + ucic + }) + else + write('%s: 0' %{ + translate('Unsaved Changes') + }) + end + + write('
') end end -%> @@ -137,31 +166,14 @@ <% end %> -<% -if tree.nodes[category] and tree.nodes[category].ucidata then - local ucic = 0 - for i, j in pairs(require("luci.model.uci").cursor():changes()) do - for k, l in pairs(j) do - for m, n in pairs(l) do - ucic = ucic + 1; - end - end - end --%> -
- <% if ucic > 0 then %> - "><%:Unsaved Changes%>: <%=ucic%> - <%- else -%> - <%:Changes%>: 0 - <% end -%> -
<% end %> +<% render_changes() %>
- <% if category then subtree("/" .. category .. "/", cattree) end %> + <% if category then render_menu(category, cattree) end %>