CBI:
Implement reverse dependencies Allow wiazrd steps without buttons
This commit is contained in:
parent
bbfdc9ea83
commit
19758fae43
4 changed files with 19 additions and 5 deletions
|
@ -59,15 +59,26 @@ function cbi_d_checkvalue(target, ref) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function cbi_d_check(deps) {
|
function cbi_d_check(deps) {
|
||||||
|
var reverse;
|
||||||
|
var def = false;
|
||||||
for (var i=0; i<deps.length; i++) {
|
for (var i=0; i<deps.length; i++) {
|
||||||
var istat = true
|
var istat = true;
|
||||||
|
reverse = false;
|
||||||
for (var j in deps[i]) {
|
for (var j in deps[i]) {
|
||||||
istat = (istat && cbi_d_checkvalue(j, deps[i][j]))
|
if (j.slice(-8) == "!reverse") {
|
||||||
|
reverse = true;
|
||||||
|
} else if (j.slice(-8) == "!default") {
|
||||||
|
def = true;
|
||||||
|
istat = false;
|
||||||
|
} else {
|
||||||
|
istat = (istat && cbi_d_checkvalue(j, deps[i][j]))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (istat) {
|
if (istat) {
|
||||||
return true
|
return !reverse;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return def;
|
||||||
}
|
}
|
||||||
|
|
||||||
function cbi_d_update() {
|
function cbi_d_update() {
|
||||||
|
|
|
@ -616,6 +616,7 @@ function Delegator.parse(self, ...)
|
||||||
self.current = newcurrent or self.current
|
self.current = newcurrent or self.current
|
||||||
self.active = self:get(self.current)
|
self.active = self:get(self.current)
|
||||||
if type(self.active) ~= "function" then
|
if type(self.active) ~= "function" then
|
||||||
|
self.active:populate_delegator(self)
|
||||||
self.active:parse(false)
|
self.active:parse(false)
|
||||||
return FROM_PROCEED
|
return FROM_PROCEED
|
||||||
else
|
else
|
||||||
|
|
|
@ -17,6 +17,7 @@ $Id$
|
||||||
<% for _, x in ipairs(self.chain) do %>
|
<% for _, x in ipairs(self.chain) do %>
|
||||||
<input type="hidden" name="cbi.delg.path" value="<%=x%>" />
|
<input type="hidden" name="cbi.delg.path" value="<%=x%>" />
|
||||||
<% end %>
|
<% end %>
|
||||||
|
<% if not self.disallow_pageactions then %>
|
||||||
<% if self.allow_back and self:get_prev(self.current) then %>
|
<% if self.allow_back and self:get_prev(self.current) then %>
|
||||||
<input class="cbi-button cbi-button-back" type="submit" name="cbi.delg.back" value="<%:« Back%>" />
|
<input class="cbi-button cbi-button-back" type="submit" name="cbi.delg.back" value="<%:« Back%>" />
|
||||||
<% end %>
|
<% end %>
|
||||||
|
@ -30,6 +31,7 @@ $Id$
|
||||||
<input class="cbi-button cbi-button-finish" type="submit" value="<%:Finish%>" />
|
<input class="cbi-button cbi-button-finish" type="submit" value="<%:Finish%>" />
|
||||||
<% elseif self:get_next(self.current) then %>
|
<% elseif self:get_next(self.current) then %>
|
||||||
<input class="cbi-button cbi-button-next" type="submit" value="<%:Next »%>" />
|
<input class="cbi-button cbi-button-next" type="submit" value="<%:Next »%>" />
|
||||||
|
<% end %>
|
||||||
<% end %>
|
<% end %>
|
||||||
<script type="text/javascript">cbi_d_update();</script>
|
<script type="text/javascript">cbi_d_update();</script>
|
||||||
</div>
|
</div>
|
|
@ -14,7 +14,7 @@ $Id$
|
||||||
-%>
|
-%>
|
||||||
|
|
||||||
<%+header%>
|
<%+header%>
|
||||||
<form method="post" action="<%=REQUEST_URI%>" enctype="multipart/form-data">
|
<form method="post" name="cbi" action="<%=REQUEST_URI%>" enctype="multipart/form-data">
|
||||||
<div>
|
<div>
|
||||||
<script type="text/javascript" src="<%=resource%>/cbi.js"></script>
|
<script type="text/javascript" src="<%=resource%>/cbi.js"></script>
|
||||||
<input type="hidden" name="cbi.submit" value="1" />
|
<input type="hidden" name="cbi.submit" value="1" />
|
||||||
|
|
Loading…
Reference in a new issue