* luci/themes: lots of fixes in openwrt.org theme
* luci/libs/cbi: use <table> fpr table sections
This commit is contained in:
parent
c026b6ed03
commit
dfe0287c6f
6 changed files with 171 additions and 95 deletions
27
libs/cbi/luasrc/view/cbi/cell_valuefooter.htm
Normal file
27
libs/cbi/luasrc/view/cbi/cell_valuefooter.htm
Normal file
|
@ -0,0 +1,27 @@
|
|||
<%#
|
||||
LuCI - Lua Configuration Interface
|
||||
Copyright 2008 Steven Barth <steven@midlink.org>
|
||||
Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net>
|
||||
|
||||
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 -%>
|
||||
<div class="cbi-error"><%:cbi_invalid%></div>
|
||||
<%- end -%>
|
||||
</td>
|
||||
|
||||
<%- if #self.deps > 0 then -%>
|
||||
<script type="text/javascript">
|
||||
<% for j, d in ipairs(self.deps) do -%>
|
||||
cbi_d_add("cbi-<%=self.config.."-"..section.."-"..self.option%>", "cbid.<%=self.config.."."..section.."."..d.field%>", "<%=d.value%>");
|
||||
<%- end %>
|
||||
</script>
|
||||
<%- end -%>
|
15
libs/cbi/luasrc/view/cbi/cell_valueheader.htm
Normal file
15
libs/cbi/luasrc/view/cbi/cell_valueheader.htm
Normal file
|
@ -0,0 +1,15 @@
|
|||
<%#
|
||||
LuCI - Lua Configuration Interface
|
||||
Copyright 2008 Steven Barth <steven@midlink.org>
|
||||
Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net>
|
||||
|
||||
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$
|
||||
|
||||
-%>
|
||||
<td class="cbi-value-field" id="cbi-<%=self.config.."-"..section.."-"..self.option%>">
|
|
@ -16,38 +16,60 @@ $Id$
|
|||
<h2><%=self.title%></h2>
|
||||
<div class="cbi-section-descr"><%=self.description%></div>
|
||||
<div class="cbi-section-node">
|
||||
<div class="cbi-section-row">
|
||||
<% for i, k in pairs(self.children) do %>
|
||||
<div class="cbi-section-row-head"><%=k.title%></div>
|
||||
<% end %>
|
||||
</div>
|
||||
<div class="cbi-section-row">
|
||||
<% for i, k in pairs(self.children) do %>
|
||||
<div class="cbi-section-row-descr"><%=k.description%></div>
|
||||
<% end %>
|
||||
</div>
|
||||
<% for i, k in ipairs(self:cfgsections()) do%>
|
||||
<% if not self.anonymous then %><h3 class="table-cell"><%=k%></h3><% end %>
|
||||
<%
|
||||
section = k
|
||||
scope = {valueheader = "cbi/tiny_valueheader", valuefooter = "cbi/tiny_valuefooter"}
|
||||
%>
|
||||
<div class="cbi-section-row" id="cbi-<%=self.config%>-<%=section%>">
|
||||
<%+cbi/ucisection%>
|
||||
<% if self.addremove then %><div class="cbi-section-remove table-cell">
|
||||
<input type="submit" name="cbi.rts.<%=self.config%>.<%=k%>" value="X" />
|
||||
</div><% end %>
|
||||
</div>
|
||||
<% end %>
|
||||
<% if self.addremove then %>
|
||||
<div class="cbi-section-create">
|
||||
<% if self.anonymous then %>
|
||||
<input type="submit" name="cbi.cts.<%=self.config%>.<%=self.sectiontype%>" value="<%:cbi_add%>" />
|
||||
<% else %>
|
||||
<input type="text" class="cbi-section-create-name" name="cbi.cts.<%=self.config%>.<%=self.sectiontype%>" />
|
||||
<input type="submit" value="<%:cbi_add%>" />
|
||||
<% end %><% if self.err_invalid then %><div class="cbi-error"><%:cbi_invalid%></div><% end %>
|
||||
<%- local count = 0 -%>
|
||||
<table class="cbi-section-table">
|
||||
<tr class="cbi-section-table-titles">
|
||||
<%- for i, k in pairs(self.children) do -%>
|
||||
<th class="cbi-section-table-cell"><%=k.title%></th>
|
||||
<%- count = count + 1; end; if self.addremove then -%>
|
||||
<th class="cbi-section-table-cell"> </th>
|
||||
<%- count = count + 1; end -%>
|
||||
</tr>
|
||||
<tr class="cbi-section-table-descr">
|
||||
<%- for i, k in pairs(self.children) do -%>
|
||||
<th class="cbi-section-table-cell"><%=k.description%></th>
|
||||
<%- end; if self.addremove then -%>
|
||||
<th class="cbi-section-table-cell"> </th>
|
||||
<%- end -%>
|
||||
</tr>
|
||||
<%- for i, k in ipairs(self:cfgsections()) do
|
||||
if not self.anonymous then
|
||||
-%>
|
||||
<tr class="cbi-section-table-title">
|
||||
<th colspan="<%=count%>"><h3><%=k%></h3></th>
|
||||
</tr>
|
||||
<%- end
|
||||
section = k
|
||||
scope = { valueheader = "cbi/cell_valueheader", valuefooter = "cbi/cell_valuefooter" }
|
||||
-%>
|
||||
<tr class="cbi-section-table-row" id="cbi-<%=self.config%>-<%=section%>">
|
||||
<%-+cbi/ucisection-%>
|
||||
<%- if self.addremove then -%>
|
||||
<td class="cbi-section-table-cell">
|
||||
<input type="submit" name="cbi.rts.<%=self.config%>.<%=k%>" value="X" />
|
||||
</td>
|
||||
<%- end -%>
|
||||
</tr>
|
||||
<%- end -%>
|
||||
|
||||
<%- if self.addremove then -%>
|
||||
<tr class="cbi-section-table-row">
|
||||
<td colspan="<%=count%>" class="cbi-section-table-optionals">
|
||||
<div class="cbi-section-create">
|
||||
<% if self.anonymous then %>
|
||||
<input type="submit" name="cbi.cts.<%=self.config%>.<%=self.sectiontype%>" value="<%:cbi_add%>" />
|
||||
<% else %>
|
||||
<input type="text" class="cbi-section-create-name" name="cbi.cts.<%=self.config%>.<%=self.sectiontype%>" />
|
||||
<input type="submit" value="<%:cbi_add%>" />
|
||||
<% end %>
|
||||
|
||||
<% if self.err_invalid then %>
|
||||
<div class="cbi-error"><%:cbi_invalid%></div>
|
||||
<% end %>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<%- end -%>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 40 KiB |
|
@ -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%;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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%><br />
|
||||
<%=luci.config.brand.distro%><br />
|
||||
<%:load%>: <%=load1%> <%=load5%> <%=load15%><br />
|
||||
<%:hostname%>: <%=luci.sys.hostname()%>
|
||||
<%:hostname%>: <%=luci.sys.hostname()%>
|
||||
</div>
|
||||
<div class="title">
|
||||
<span class="headertitle"><%=luci.config.brand.title%></span><br />
|
||||
|
@ -57,7 +57,7 @@ require("luci.http").prepare_content("text/html")
|
|||
</div>
|
||||
|
||||
<div class="pathbar separator black whitetext bold">
|
||||
<%: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)
|
||||
%>
|
||||
<ul>
|
||||
<% 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) %>
|
||||
</li>
|
||||
<% end %>
|
||||
</ul>
|
||||
<%
|
||||
</ul>
|
||||
<%
|
||||
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 %>
|
||||
<div<% if node._menu_selected then %> class="preactive"<%end%>><a href="<%=href%>"><%=node.title%></a>
|
||||
<div<% if node._menu_selected then %> class="preactive"<%end%>><a href="<%=href%>"><%=node.title%></a>
|
||||
<%submenu("/" .. category .. "/" .. k.name .. "/", node)%>
|
||||
</div>
|
||||
<% end
|
||||
end
|
||||
end
|
||||
%>
|
||||
%>
|
||||
</div>
|
||||
<div class="modemenu">
|
||||
<ul><%
|
||||
|
@ -130,32 +130,33 @@ end
|
|||
<% end
|
||||
end%>
|
||||
</ul>
|
||||
|
||||
<%
|
||||
if "admin" == request[1] then
|
||||
local ucic = 0
|
||||
for i, j in pairs(require("luci.model.uci").changes()) do
|
||||
for k, l in pairs(j) do
|
||||
for m, n in pairs(l) do
|
||||
ucic = ucic + 1;
|
||||
end
|
||||
end
|
||||
end
|
||||
%>
|
||||
<div class="mainmenu" style="float:right; margin-right:2em">
|
||||
<div>
|
||||
<% if ucic > 0 then %>
|
||||
<a href="<%=controller%>/admin/uci/changes"><%:changes%>: <%=ucic%></a>
|
||||
<ul>
|
||||
<li><a href="<%=controller%>/admin/uci/apply"><%:apply%></a></li>
|
||||
<li><a href="<%=controller%>/admin/uci/revert"><%:revert%></a></li>
|
||||
</ul>
|
||||
<% else %>
|
||||
<a href="#"><%:changes%>: 0</a>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
<br class="clear" />
|
||||
</div>
|
||||
<div class="sidebar">
|
||||
<%
|
||||
if "admin" == request[1] then
|
||||
local ucic = 0
|
||||
for i, j in pairs(require("luci.model.uci").changes()) do
|
||||
for k, l in pairs(j) do
|
||||
for m, n in pairs(l) do
|
||||
ucic = ucic + 1;
|
||||
end
|
||||
end
|
||||
end
|
||||
%>
|
||||
<div>
|
||||
<ul>
|
||||
<% if ucic > 0 then %>
|
||||
<li><a href="<%=controller%>/admin/uci/changes"><%:changes%>: <%=ucic%></a></li>
|
||||
<li><a href="<%=controller%>/admin/uci/apply"><%:apply%></a></li>
|
||||
<li><a href="<%=controller%>/admin/uci/revert"><%:revert%></a></li>
|
||||
<% else %>
|
||||
<li><%:changes%>: 0</li>
|
||||
<% end %>
|
||||
</ul>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
<div id="content">
|
||||
|
|
Loading…
Reference in a new issue