From dfe0287c6fbab70c359f97c4b9d72a53bc5ff0e2 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Sat, 12 Jul 2008 16:46:10 +0000 Subject: [PATCH] * luci/themes: lots of fixes in openwrt.org theme * luci/libs/cbi: use fpr table sections --- libs/cbi/luasrc/view/cbi/cell_valuefooter.htm | 27 ++++++ libs/cbi/luasrc/view/cbi/cell_valueheader.htm | 15 +++ libs/cbi/luasrc/view/cbi/tblsection.htm | 88 +++++++++++------- .../htdocs/luci-static/openwrt.org/bg.jpg | Bin 13845 -> 40537 bytes .../luci-static/openwrt.org/cascade.css | 59 +++++++----- .../luasrc/view/themes/openwrt.org/header.htm | 73 ++++++++------- 6 files changed, 169 insertions(+), 93 deletions(-) create mode 100644 libs/cbi/luasrc/view/cbi/cell_valuefooter.htm create mode 100644 libs/cbi/luasrc/view/cbi/cell_valueheader.htm diff --git a/libs/cbi/luasrc/view/cbi/cell_valuefooter.htm b/libs/cbi/luasrc/view/cbi/cell_valuefooter.htm new file mode 100644 index 000000000..045866d7b --- /dev/null +++ b/libs/cbi/luasrc/view/cbi/cell_valuefooter.htm @@ -0,0 +1,27 @@ +<%# +LuCI - Lua Configuration Interface +Copyright 2008 Steven Barth +Copyright 2008 Jo-Philipp Wich + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +$Id$ + +-%> + + <%- if self.tag_invalid[section] then -%> +
<%:cbi_invalid%>
+ <%- end -%> + + +<%- if #self.deps > 0 then -%> + +<%- end -%> diff --git a/libs/cbi/luasrc/view/cbi/cell_valueheader.htm b/libs/cbi/luasrc/view/cbi/cell_valueheader.htm new file mode 100644 index 000000000..7b8f0a5d6 --- /dev/null +++ b/libs/cbi/luasrc/view/cbi/cell_valueheader.htm @@ -0,0 +1,15 @@ +<%# +LuCI - Lua Configuration Interface +Copyright 2008 Steven Barth +Copyright 2008 Jo-Philipp Wich + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +$Id$ + +-%> +
"> diff --git a/libs/cbi/luasrc/view/cbi/tblsection.htm b/libs/cbi/luasrc/view/cbi/tblsection.htm index 2688e7a1b..367af80b8 100644 --- a/libs/cbi/luasrc/view/cbi/tblsection.htm +++ b/libs/cbi/luasrc/view/cbi/tblsection.htm @@ -16,38 +16,60 @@ $Id$

<%=self.title%>

<%=self.description%>
-
-<% for i, k in pairs(self.children) do %> -
<%=k.title%>
-<% end %> -
-
-<% for i, k in pairs(self.children) do %> -
<%=k.description%>
-<% end %> -
-<% for i, k in ipairs(self:cfgsections()) do%> - <% if not self.anonymous then %>

<%=k%>

<% end %> -<% -section = k -scope = {valueheader = "cbi/tiny_valueheader", valuefooter = "cbi/tiny_valuefooter"} -%> -
-<%+cbi/ucisection%> - <% if self.addremove then %>
- -
<% end %> -
-<% end %> -<% if self.addremove then %> -
- <% if self.anonymous then %> - - <% else %> - - - <% end %><% if self.err_invalid then %>
<%:cbi_invalid%>
<% end %> -
+ <%- local count = 0 -%> + + + <%- for i, k in pairs(self.children) do -%> + + <%- count = count + 1; end; if self.addremove then -%> + + <%- count = count + 1; end -%> + + + <%- for i, k in pairs(self.children) do -%> + + <%- end; if self.addremove then -%> + + <%- end -%> + + <%- for i, k in ipairs(self:cfgsections()) do + if not self.anonymous then + -%> + + + + <%- end + section = k + scope = { valueheader = "cbi/cell_valueheader", valuefooter = "cbi/cell_valuefooter" } + -%> + + <%-+cbi/ucisection-%> + <%- if self.addremove then -%> + + <%- end -%> + + <%- end -%> + + <%- if self.addremove then -%> + + + + <%- end -%> +
<%=k.title%> 
<%=k.description%> 

<%=k%>

+ +
+
+ <% if self.anonymous then %> + + <% else %> + + + <% end %> + + <% if self.err_invalid then %> +
<%:cbi_invalid%>
+ <% end %> +
+
-<% end %> diff --git a/themes/openwrt.org/htdocs/luci-static/openwrt.org/bg.jpg b/themes/openwrt.org/htdocs/luci-static/openwrt.org/bg.jpg index 91c1b12fb515be47fa681c97fcec822d3d2b223d..dece957dfd82acae201397ebb04f7b3be93a5fd8 100644 GIT binary patch literal 40537 zcmeFZc{r49|36Np&GyV~7o(a=qNE`^X|dgwJIa=b2}!bNiP5bh>yXM$i%2F*D>V^= zDaKy3C}t)kg)w9s{Lb^5QQgny`5wRHa~$8}_xtDRzRh)A=kk8P-mmv^o-=b@v-ozg zkLO>eh9-tQyu7?T#^67m#Sc9Dc$P0)2LA{DR)GKcR`c<#Si!e;)vA@N1=b1(@UP|P z7Zm#AUxGp?A%6aUiT?{FA}S^(CLk;!DK0Achp3n+6vDe4%vr&=hL3NJs35PiP z;tL+s>ScDTmo4Yr$g>Q^yBx*4SjQvF!^^WA{?E&^^pAJh@)avrt>#+;x}E>U%d?DU z#flZnmapO$;$Owb%ftJ}vgIg|6?_L>R<7D$pyGGq{sU3*jen<=fJs27-1q@E_+49$?FV z{`Y_E_~-EDCaTVR4y#JE@u{XBXy!E++#JCxs_H1V4_p`o?6KZ=U_zBoP@=6(w8LCN zHJNj*nrh;_5A>Nh?-6ZlkKp;M-Isfe5afk3_Z@g)Z6X1rNvQIvB1a$qj1)u^@K~Gk zK~+#H@~6tjH^FPZ2}lAm9Z?1W28TKhfEHv#TZgSG%3M`~?=RSIqU!il5)ixz!GQor zt{@(W#TVGnCaQ|`n%nXkaPR?4z)qyq0Ahh!fx(-A#12~shGQUv0!=r8syGUuIlvTE zM?O`=41^Y7+0o7XUrwx*-mxr`|I4!I%T?zTu2<$qWg1srSGaL=R(e^cF>I=eK35Pm z%To|FaIPRa{)^}O8#ntv>p6v+fma_wh9Em!M)&Rc3#tWpP>>NpXf}X~kOSZ&T`T@_ z-e+)#V;x``u?29&C-}=W!Oe*C0L=(R+#x_$Ds(6x_)}HAickz_0HdI%pa@_h#9{(m z2zp_UNInr*sGOgs2lmEH?BkTlvMLY zFBD59D)6n(cL(QD2@O}GQreL7i$7bEE^gRL^)y!CH-@ikkXJs8%I)>}qHuijL*&&8 zD{ZxQ@4@trWGivdkkro+d4VG)1-7p>#F-ixkHC@ISCTFwBDO>A8x)XNPw*<+XaGhT z?M=P{0dYWFxCNC3J0R0dp&kPc2+nwT{>5r7(vA#)1C9KX5iEZonzclKNkfcG=74~b zF*l4y9wOEwLpc+~Ie?)|BY#f&Z?+zU*8K5X0|zVuGjQu~EJ1*4p+N@5NV9C$PaP>e z`P&f&I3)fuHxO{}@0Q9oLL_@TICv1n2nNU~u=L8W7RY@RhrFbVhH+7 zOF{D+a1I&=#7<5uA=Yvu>L+a=x_&$V&FP2_gB3WI1akuF7aDFPMS-~>zBePpLlb3d zQ(SJF-X}I(-6k+0edrE$>95Vx>N@rJzxLav=XFN0?TKmiAzJJ*)K+`&vJn$v|eBak6%@Rtd@fBjh{08j^W&zoKaamF3n!JRJb1VY{Lom6~OCSK>KLJ1smnN8E0W(}y zfkF;nfadmsWDfHGAOJxRhARGhEad-AX$@CjDV1-+^g~4FlO9ot{9wag-$TwmmBxI0 zKju=Scn!ip?Laydq?biaL?y4~?|hxVEQ%S0deS2%kuQ4gFDG9EWU6RV-}UF~LEi)@ zoIsQaoNZwI8k`0x@LYe6*$XCjXlF�HIdk{QH!GEIfw_#6OH=f|-eH_iR-*mS1r; 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 literal 13845 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 diff --git a/themes/openwrt.org/htdocs/luci-static/openwrt.org/cascade.css b/themes/openwrt.org/htdocs/luci-static/openwrt.org/cascade.css index 2fb89a46b..42b4d0972 100644 --- a/themes/openwrt.org/htdocs/luci-static/openwrt.org/cascade.css +++ b/themes/openwrt.org/htdocs/luci-static/openwrt.org/cascade.css @@ -15,6 +15,11 @@ body { line-height: 100%; } +code { + font-family: monospace; + white-space: pre; +} + div#content ul { margin-left: 2em; } @@ -78,6 +83,10 @@ div#content ul { float: left; } +.mainmenu li { + white-space: nowrap; +} + .mainmenu div ul { display: none; position: absolute; @@ -144,28 +153,6 @@ div#content ul { float: right; } -.sidebar { - position: absolute; - top: -50px; - right: 0; - width: 18%; - color: #888888; - text-align: center; - font-size: 100%; - font-weight: bold; - z-index: -1; -} - -.sidebar ul { - width: 100%; - margin-top: 16em; - list-style-type: none; - color: #ffffff; - text-align: left; - font-size: 80%; - font-size: normal; -} - #content { clear: both; width: 60%; @@ -241,6 +228,12 @@ input[type=password] { width: 20em; } +td select, +td input[type=text], +td input[type=password] { + width: 99%; +} + textarea { margin-left: -1px; margin-bottom: 0.5em; @@ -328,6 +321,26 @@ div.cbi-section-node { padding-bottom: 0; } +table.cbi-section-table { + width: 100%; + font-size: 95%; +} + +table.cbi-section-table th, +table.cbi-section-table td { + text-align: center; +} + +tr.cbi-section-table-descr th { + font-weight: normal; + font-size: 90%; +} + +td.cbi-section-table-optionals { + text-align: left !important; + padding-top: 1em; +} + .right { text-align: right; } @@ -344,5 +357,3 @@ div.cbi-section-node { text-decoration: none; font-size: 70%; } - - diff --git a/themes/openwrt.org/luasrc/view/themes/openwrt.org/header.htm b/themes/openwrt.org/luasrc/view/themes/openwrt.org/header.htm index ea30cbbd4..df31c010f 100644 --- a/themes/openwrt.org/luasrc/view/themes/openwrt.org/header.htm +++ b/themes/openwrt.org/luasrc/view/themes/openwrt.org/header.htm @@ -19,11 +19,11 @@ local request = require("luci.dispatcher").context.path local category = request[1] local tree = luci.dispatcher.node() local cattree = category and luci.dispatcher.node(category) -local node = luci.dispatcher.context.dispatched +local node = luci.dispatcher.context.dispatched local c = tree for i,r in ipairs(request) do - if c.nodes and c.nodes[r] then + if c.nodes and c.nodes[r] then c = c.nodes[r] c._menu_selected = true end @@ -48,7 +48,7 @@ require("luci.http").prepare_content("text/html") <%=luci.config.brand.firmware%>
<%=luci.config.brand.distro%>
<%:load%>: <%=load1%> <%=load5%> <%=load15%>
- <%:hostname%>: <%=luci.sys.hostname()%> + <%:hostname%>: <%=luci.sys.hostname()%>
<%=luci.config.brand.title%>
@@ -57,7 +57,7 @@ require("luci.http").prepare_content("text/html")
-<%:path%>: <% +<%:path%>: <% local c = tree local url = controller for k,v in pairs(request) do @@ -77,17 +77,17 @@ local function submenu(prefix, node) if not node.nodes then return false end - local index = {} + local index = {} for k, n in pairs(node.nodes) do if n.title and n.target then table.insert(index, {name=k, order=n.order or 100}) end end - + table.sort(index, function(a, b) return a.order < b.order end) %>
    - <% for j, v in pairs(index) do + <% for j, v in pairs(index) do local nnode = node.nodes[v.name] local href = controller .. prefix .. v.name href = (nnode.query) and href .. luci.http.build_querystring(nnode.query) or href @@ -97,16 +97,16 @@ local function submenu(prefix, node) <% submenu(prefix .. v.name .. "/", nnode) %> <% end %> -
-<% + +<% end if cattree and cattree.nodes then - local index = {} + local index = {} for k, node in pairs(cattree.nodes) do table.insert(index, {name=k, order=node.order or 100}) end - + table.sort(index, function(a, b) return a.order < b.order end) for i, k in ipairs(index) do @@ -114,13 +114,13 @@ if cattree and cattree.nodes then if node.title and node.target then local href = controller.."/"..category.."/"..k.name href = (k.query) and href .. luci.http.build_querystring(k.query) or href %> - class="preactive"<%end%>><%=node.title%> + class="preactive"<%end%>><%=node.title%> <%submenu("/" .. category .. "/" .. k.name .. "/", node)%>
<% end end end -%> +%>
    <% @@ -130,32 +130,33 @@ end <% end end%>
-
-
- -
-- 2.25.1