Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[JENKINS-56109] Change Jenkins configuration UI from tables to divs #3895

Merged
merged 134 commits into from
Oct 23, 2020
Merged
Show file tree
Hide file tree
Changes from 107 commits
Commits
Show all changes
134 commits
Select commit Hold shift + click to select a range
25cca80
Improve alignment of settings widgets
jsoref Jan 22, 2019
49bc742
maybe skip showing empty list
jsoref Feb 3, 2019
53807bf
tr -> div.tr
jsoref Feb 1, 2019
0b42038
groovy tr
jsoref Feb 3, 2019
18a45de
tr render-on-demand
jsoref Feb 3, 2019
9d9fa0d
tr expanding input
jsoref Feb 4, 2019
52d6e54
table -> div
jsoref Feb 4, 2019
4ea4d1c
whitespace
jsoref Feb 4, 2019
e65f9ba
[JENKINS-53182] Scope exceptions for-each operations
jsoref Feb 14, 2019
e694248
grammar: sentences should end with periods
jsoref Feb 15, 2019
d60ef31
help: change html help markup for fingerprint because the rendering i…
jsoref Feb 15, 2019
4d49ca3
hudson-behavior: refactor findEnd
jsoref Feb 17, 2019
cc2e91f
hudson-behavior: refactor make...Visible
jsoref Feb 17, 2019
de67a5f
hudson-behavior: refactor updateVisibility
jsoref Feb 17, 2019
dbdbdb9
hudson-behavior: refactor rowvgStartEachRow
jsoref Feb 17, 2019
6d7b65a
hudson-behavior: refactor progressBarOnClick
jsoref Feb 17, 2019
5b148ea
hudson-behavior: refactor expandButton
jsoref Feb 17, 2019
8b119d2
hudson-behavior: refactor inputHasDefaultTextOn...
jsoref Feb 17, 2019
4d25f59
hudson-behavior: refactor labelAttachPreviousOnClick
jsoref Feb 17, 2019
a0e3a84
hudson-behavior: refactor helpButtonOnClick
jsoref Feb 17, 2019
0a37e96
hudson-behavior: refactor textAreaScriptEditor
jsoref Feb 17, 2019
b0d69c7
hudson-behavior: partial fix for tr nesting
jsoref Feb 17, 2019
fd726c3
hudson-behavior: switching to Behaviour.specify
jsoref Feb 17, 2019
dc259cb
wrap rows/radios/optionalBlocks in containers
jsoref Feb 17, 2019
6dce3af
Support basic /job/config editing
jsoref Feb 21, 2019
d52b744
draft: hover help row
jsoref Feb 25, 2019
3ec6b7b
drop td.setting-leftspace nbsp
jsoref Mar 5, 2019
c130748
float help right
jsoref Feb 1, 2019
6a2057a
help: move help nodes and add help-sibling marker
jsoref Mar 5, 2019
d692ce3
findFollowingTR: change variable
jsoref Mar 5, 2019
2f58767
localize help for checkmarks
jsoref Mar 5, 2019
ce56186
hudson-behavior: revise handling of help widget
jsoref Mar 5, 2019
a2629bf
Fix input sizing
jsoref Feb 21, 2019
3d85ebf
Improve alignment of settings widgets
jsoref Jun 11, 2019
3e2f259
hudson-behavior: better fallback handling for help widget
jsoref Jun 12, 2019
4757265
help: move help nodes and add help-sibling marker (radio buttons)
jsoref Jun 12, 2019
310ff56
table -> div
jsoref Jun 12, 2019
f124d92
merging (to try to make people happy)
jsoref Sep 3, 2019
7f0d368
merging (to try to make people happy)
jsoref Dec 30, 2019
15692a4
merging (to try to make people happy)
jsoref Mar 17, 2020
d6ea20b
Fix ParametersTest#parameterTypes test
timja Mar 18, 2020
9b0e0f7
Fix ParametersTest#choiceWithLTGT test
timja Mar 18, 2020
ac30460
Fix SystemConfigurationTestCase#pageDecoratorIsListedInPage test
timja Mar 18, 2020
43dc984
Migrate settings from css to less
jsoref Mar 19, 2020
a1e44df
Fix help icon placement
jsoref Mar 19, 2020
1ad9253
Add a bit of spacing between rows
timja Mar 19, 2020
5721d0e
Fix sidepanel overflow
timja Mar 19, 2020
c3b1bde
Fix single column layout
timja Mar 19, 2020
95b069d
Add divBasedFormLayout flag to the view
jsoref Mar 20, 2020
326686f
Fix help icon on hetero-list
timja Mar 29, 2020
f5909bf
Fix help link mis-alignment for checkboxes
timja Mar 29, 2020
45ca53b
Resolve conflict
timja Mar 29, 2020
b4f2f9b
Merge branch 'master' into JENKINS-56109
timja Mar 29, 2020
046f3fe
Remove float: right
timja Mar 29, 2020
031d8fa
Remove debug styling
timja Mar 29, 2020
4dcfe4c
Add some styling for form entries and section headers
fqueiruga Mar 29, 2020
6cb2bb0
Wraps optionalBlock, radioBlock and rowSet into their own containers
fqueiruga Apr 4, 2020
c422b76
Add some preliminary styles for repeated chunks and hetero list items
fqueiruga Apr 4, 2020
4624271
Merge pull request #8 from fqueiruga/JENKINS-56109
timja Apr 4, 2020
8e84b05
Merge branch 'master' into JENKINS-56109
timja Apr 4, 2020
eb05c36
Remove additional repeatable element spacing
timja Apr 5, 2020
2624dda
Remove left indentation on Api token list items
fqueiruga Apr 6, 2020
da1220d
Merge branch 'master' into JENKINS-56109
timja Apr 17, 2020
7e3cc8e
Merge branch 'JENKINS-56109' of github.com:jsoref/jenkins into JENKIN…
timja Apr 17, 2020
39c5708
Merge branch 'master' into JENKINS-56109
timja Apr 18, 2020
160ca85
Reapplies specific styles for the job config page
fqueiruga Apr 18, 2020
864b36d
Fix the expandable input so that it is on the same line as the button
fqueiruga Apr 18, 2020
46b6937
Added compatibility function for <f:checkbox /> entries without a title
fqueiruga Apr 18, 2020
18cd2d9
Merge branch 'master' into JENKINS-56109
timja Apr 25, 2020
3d37cce
Fix tabs on job config
timja Apr 25, 2020
499ac6f
Fix build description being too far away
timja Apr 25, 2020
930786a
Indent dropdowns and add border
timja Apr 25, 2020
ffe93ad
Move help icons to the right
timja Apr 25, 2020
e92f52a
Fix test
timja Apr 26, 2020
721e928
Fix repeatable elements reordering
timja Apr 26, 2020
3ec58e7
Move validation
timja Apr 26, 2020
35035d9
Fix comment location
timja Apr 26, 2020
e644452
Add padding for right edge of help icon
jsoref Apr 26, 2020
45c15a7
Add padding for right edge of help icon
jsoref Apr 26, 2020
46b0bf8
Fix parameters test for the third time
timja Apr 26, 2020
8bdaf0a
Bold checkbox
timja Apr 26, 2020
db1f154
Fix validation for credentials
timja Apr 26, 2020
1f72de7
Reorder polyfill
timja Apr 27, 2020
1836a53
Add guards
timja Apr 27, 2020
6d1c87b
Rename polyfills file
timja Apr 27, 2020
caf07e9
Reduces the help icon size to 20px to make it fit better into the lay…
fqueiruga Apr 28, 2020
8b583ed
Make borders on nested form items less aggressive
fqueiruga Apr 28, 2020
3386438
Darken nested form element border a bit
fqueiruga Apr 28, 2020
308a368
Fix search of .validation-error-area from a sibling .setting-main
fqueiruga Apr 29, 2020
5787654
Merge branch 'master' into JENKINS-56109
timja Apr 30, 2020
427ac04
Fix buildFormTree error
fqueiruga May 5, 2020
c6c1842
Update ath version
timja May 6, 2020
2c2d08f
Fix merge
timja May 6, 2020
83c1a07
Fix layout when entry has no title
timja May 7, 2020
21b86d7
Remove polyfills comment
timja May 7, 2020
74b1223
Fix ParametersTest
timja May 7, 2020
cafe326
Merge branch 'JENKINS-56109' of github.com:jsoref/jenkins into JENKIN…
timja May 7, 2020
79d548c
Remove unused css
timja May 7, 2020
bc2af49
Revert "maybe skip showing empty list"
timja May 7, 2020
3de0489
Add logging on error evaluating function
timja May 9, 2020
2b187db
More commented out css to remove
timja May 10, 2020
b94859a
Add logging in one more place and fix typo in select.js
timja May 10, 2020
5998703
Remove nested list in Fingerprinter/help
timja May 10, 2020
3d689a0
Apply suggestions from code review
timja May 10, 2020
575178b
Revert fingerprinter help change
timja May 11, 2020
b53d6a4
Merge branch 'JENKINS-56109' of github.com:jsoref/jenkins into JENKIN…
timja May 11, 2020
af66171
Merge branch 'master' into JENKINS-56109
timja May 25, 2020
a41f529
Merge branch 'master' into JENKINS-56109
timja May 31, 2020
8d702ca
JENKINS-62518 Fix duplicate headings on global security
timja Jun 4, 2020
c234bf2
Merge branch 'master' into JENKINS-56109
timja Jun 4, 2020
cf9f8b3
Fix JENKINS-62500 help button on f:checkbox
fqueiruga Jun 5, 2020
883e5bd
Merge branch 'master' into JENKINS-56109
oleg-nenashev Jun 5, 2020
cbf9006
Rerun CI
timja Jun 6, 2020
8b35aab
Merge branch 'JENKINS-56109' of github.com:jsoref/jenkins into JENKIN…
timja Jun 6, 2020
b300c55
Merge branch 'master' into JENKINS-56109
oleg-nenashev Jun 7, 2020
ff87553
Merge branch 'JENKINS-56109' of https://github.com/jsoref/jenkins int…
oleg-nenashev Jun 7, 2020
6adcdf6
Merge branch 'master' into JENKINS-56109
timja Jun 9, 2020
86faf44
Merge branch 'JENKINS-56109' of github.com:jsoref/jenkins into JENKIN…
timja Jun 9, 2020
cb84e41
Merge branch 'master' into JENKINS-56109
timja Jun 9, 2020
5e4ae15
Merge branch 'master' into JENKINS-56109
fqueiruga Jun 23, 2020
e11ab35
Merge branch 'master' into JENKINS-56109
fqueiruga Jun 25, 2020
93e9e60
Merge branch 'master' into JENKINS-56109
fqueiruga Jun 30, 2020
58b1b1c
Merge branch 'master' into JENKINS-56109
timja Jul 1, 2020
0441b7b
Reduce diff
timja Jul 1, 2020
71a981a
Fix merge
timja Jul 1, 2020
5db4856
Merge branch 'JENKINS-56109' of github.com:jsoref/jenkins into JENKIN…
timja Jul 1, 2020
d1ca239
Reduce diff
timja Jul 12, 2020
a006f08
Reduce diff v2
timja Jul 12, 2020
6503582
Merge branch 'master' into JENKINS-56109
timja Aug 1, 2020
e335f7b
Fix tools
timja Aug 1, 2020
f02f80e
Fix repeatable delete button
timja Aug 2, 2020
007db5f
Merge branch 'master' into JENKINS-56109
timja Aug 4, 2020
26ab58f
Merge branch 'master' into JENKINS-56109
jsoref Sep 17, 2020
c914ae0
Merge branch 'master' into JENKINS-56109
timja Oct 15, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -31,15 +31,15 @@ l.layout(permission:app.SYSTEM_READ, title:my.displayName, cssclass:request.getP
}

f.entry(title:_("Security Realm")) {
table(style:"width:100%") {
div(style:"width:100%") {
f.descriptorRadioList(title:_("Security Realm"),varName:"realm", instance:app.securityRealm, descriptors:h.filterDescriptors(app, SecurityRealm.all()))
}
}
}

f.section(title:_("Authorization")) {
f.entry(title:_("Strategy")) {
table(style:"width:100%") {
div(style:"width:100%") {
f.descriptorRadioList(title:_("Authorization"), varName:"authorization", instance:app.authorizationStrategy, descriptors:h.filterDescriptors(app, AuthorizationStrategy.all()))
}
}
Expand All @@ -66,7 +66,7 @@ l.layout(permission:app.SYSTEM_READ, title:my.displayName, cssclass:request.getP
f.advanced(title: _("Agent protocols"), align:"left") {
f.entry(title: _("Agent protocols")) {
def agentProtocols = my.agentProtocols
table(width:"100%") {
div() {
for (AgentProtocol p : AgentProtocol.all()) {
if (p.name != null && !p.required) {
f.block() {
Expand All @@ -75,17 +75,15 @@ l.layout(permission:app.SYSTEM_READ, title:my.displayName, cssclass:request.getP
checked: agentProtocols.contains(p.name),
json: p.name)
}
tr() {
td(colspan:"2")
td(class:"setting-description"){
div(class: "tr") {
div(class:"setting-description"){
st.include(from:p, page: "description", optional:true)
if (p.deprecated) {
br()
text(b(_("Deprecated. ")))
st.include(from:p, page: "deprecationCause", optional:true)
}
}
td()
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,5 @@
Note that this is going to be an expensive operation for CVS, as every polling
requires Jenkins to scan the entire workspace and verify it with the server.
Consider setting up a "push" trigger to avoid this overhead, as described in
<a href="https://jenkins.io/redirect/scm-change-trigger">this document</a>
<a href="https://jenkins.io/redirect/scm-change-trigger">this document</a>.
timja marked this conversation as resolved.
Show resolved Hide resolved
</div>
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ f.section(title: _("Administrative monitors configuration")) {
f.advanced(title: _("Administrative monitors")) {
f.entry(title: _("Enabled administrative monitors")) {
p(_("blurb"))
table(width: "100%") {
div(width: "100%") {
for (AdministrativeMonitor am : new ArrayList<>(AdministrativeMonitor.all())
.sort({ o1, o2 -> o1.getDisplayName() <=> o2.getDisplayName() })) {
f.block() {
Expand All @@ -42,12 +42,10 @@ f.section(title: _("Administrative monitors configuration")) {
checked: am.enabled,
json: am.id)
}
tr() {
td(colspan: "2")
td(class: "setting-description") {
div(class: "tr") {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why use a tr class, seems confusing (can the class not be renamed?)

Copy link
Contributor Author

@jsoref jsoref May 6, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tr was from my original migration. As part of "get it working" before "get it pretty".

It's quite likely a number of these classes can be removed.

It's possible that some of the excess <div>s can be as well, but, to some extent I'd rather get a working version in and then let people iterate on further cleanup over time.

div(class: "setting-description") {
st.include(from: am, page: "description", optional: true)
}
td()
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ def f=namespace(lib.FormTagLib)
f.optionalBlock( field:"useProjectNamingStrategy", title:_("useNamingStrategy"), checked:app.useProjectNamingStrategy) {

f.entry(title:_("namingStrategyTitle")) {
table(style:"width:100%") {
div(style:"width:100%") {
f.descriptorRadioList(title:_("strategy"), varName:"namingStrategy", instance:app.projectNamingStrategy, descriptors:ProjectNamingStrategy.all())
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,7 @@
}
.token-list .repeated-chunk {
border-width: 0;
padding-left: 0;
}
.token-list .repeatable-add{
margin: 6px 6px 3px 6px;
Expand Down
13 changes: 5 additions & 8 deletions core/src/main/resources/lib/form/advanced.jelly
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,8 @@ THE SOFTWARE.
</st:attribute>
</st:documentation>

<tr><td/><td/>
<td>
<st:adjunct includes="lib.form.advanced.advanced"/>
<div class='tr'>
<st:adjunct includes="lib.form.advanced.advanced"/>

<div class="advancedLink" style="${attrs.align!=null?('text-align:'+attrs.align):''}">
<j:set var="id" value="${h.generateId()}"/>
Expand All @@ -53,10 +52,10 @@ THE SOFTWARE.
<input type="button" value="${attrs.title?:'%Advanced'}..." class="advanced-button advancedButton" /><!-- advancedButton is legacy -->
</div>
<j:new var="customizedFields" className="java.util.TreeSet"/>
<table class="advancedBody"><tbody>
<div class="advancedBody"><div class="tbody">
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

similar to previous comment - using tbody seems to be confusing for future users. its no longer a tbody

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it might be possible to change this, I doubt it's targeted much, the tr one is a lot harder to change, as lots looks it up and there's some plugins we've changed to look at it

<!-- this is the hidden portion that hosts the "advanced" part. Contents will be moved to the master table when "advanced..." is clicked -->
<d:invokeBody/>
</tbody></table>
</div></div>
<j:if test="${!customizedFields.isEmpty()}">
<script>
{
Expand All @@ -69,7 +68,5 @@ THE SOFTWARE.
}
</script>
</j:if>
</td>
<td/>
</tr>
</div>
</j:jelly>
12 changes: 9 additions & 3 deletions core/src/main/resources/lib/form/advanced/advanced.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,17 @@
Behaviour.specify("INPUT.advanced-button", 'advanced', 0, function(e) {
makeButton(e,function(e) {
var link = $(e.target).up(".advancedLink");
var tr;
link.style.display = "none"; // hide the button

var container = link.next("table.advancedBody").down(); // TABLE -> TBODY

var tr = link.up("TR");
var container = link.next("table.advancedBody");
if (container) {
container = container.down(); // TABLE -> TBODY
tr = link.up("TR");
} else {
container = link.next("div.advancedBody");
tr = link.up(".tr");
}

// move the contents of the advanced portion into the main table
var nameRef = tr.getAttribute("nameref");
Expand Down
10 changes: 5 additions & 5 deletions core/src/main/resources/lib/form/block.jelly
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,9 @@ THE SOFTWARE.
<st:documentation>
Full-width space in the form table that can be filled with arbitrary HTML.
</st:documentation>
<tr>
<td colspan="4">
<div class='tr'>
<div colspan="4">
<d:invokeBody />
</td>
</tr>
</j:jelly>
</div>
</div>
</j:jelly>
7 changes: 3 additions & 4 deletions core/src/main/resources/lib/form/checkbox.jelly
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ THE SOFTWARE.
<j:set var="name" value="${attrs.name ?: '_.'+attrs.field}"/>
<j:set var="default" value="${attrs.default ?: false}"/>
<j:set var="value" value="${attrs.checked ?: instance[attrs.field] ?: default}"/>

<input type="checkbox"
name="${name}"
value="${attrs.value}"
Expand All @@ -70,10 +71,8 @@ THE SOFTWARE.
checkUrl="${attrs.checkUrl}" checkDependsOn="${attrs.checkDependsOn}" json="${attrs.json}"
disabled="${readOnlyMode ? 'true' : null}"
checked="${value ? 'true' : null}"/>
<j:if test="${attrs.title!=null}">
<label class="attach-previous"
title="${attrs.tooltip}">${attrs.title}</label>
</j:if>
<label class="attach-previous setting-checkbox ${attrs.title == null ? 'js-checkbox-label-empty' : ''}"
timja marked this conversation as resolved.
Show resolved Hide resolved
title="${attrs.tooltip}">${attrs.title}</label>
<j:if test="${customizedFields != null and attrs.field != null and value != default}">
<j:mute>${customizedFields.add(name)}</j:mute>
</j:if>
Expand Down
16 changes: 8 additions & 8 deletions core/src/main/resources/lib/form/description.jelly
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,11 @@ THE SOFTWARE.
<st:documentation>
Renders a row that shows description text below an input field.
</st:documentation>
<tr>
<td colspan="2"/>
<td class="setting-description">
<d:invokeBody />
</td>
<td />
</tr>
</j:jelly>
<div class='tr'>
<div colspan="2"></div>
<div class="setting-description">
<d:invokeBody />
</div>
<div></div>
</div>
</j:jelly>
8 changes: 4 additions & 4 deletions core/src/main/resources/lib/form/descriptorList.jelly
Original file line number Diff line number Diff line change
Expand Up @@ -67,11 +67,11 @@ THE SOFTWARE.
<j:if test="${!empty(descriptors) or context['org.apache.commons.jelly.body']!=null}">
<f:section title="${attrs.title}" name="${attrs.field?:attrs.name}">
<j:if test="${attrs.field!=null}">
<tr class="stapler-class-bag">
<td>
<div class="stapler-class-bag tr">
<div>
<input type="hidden" name="stapler-class-bag" value="true" />
</td>
</tr>
</div>
</div>
</j:if>

<d:invokeBody />
Expand Down
18 changes: 9 additions & 9 deletions core/src/main/resources/lib/form/descriptorRadioList.jelly
Original file line number Diff line number Diff line change
Expand Up @@ -48,14 +48,14 @@ THE SOFTWARE.
<j:set var="targetType" value="${attrs.targetType?:it.class}"/>
<f:section title="${attrs.title}">
<d:invokeBody />
<j:forEach var="d" items="${descriptors}" varStatus="loop">
<j:forEach var="d" items="${descriptors}" varStatus="loop">
<f:radioBlock name="${varName}" help="${d.helpFile}" value="${loop.index}"
title="${d.displayName}" checked="${instance.descriptor==d}">
title="${d.displayName}" checked="${instance.descriptor==d}">
jsoref marked this conversation as resolved.
Show resolved Hide resolved
<j:set var="descriptor" value="${d}" />
<j:set var="instance" value="${instance.descriptor==d?instance:null}" />
<f:class-entry descriptor="${descriptor}" />
<st:include from="${d}" page="${d.configPage}" optional="true" />
</f:radioBlock>
</j:forEach>
</f:section>
</j:jelly>
<j:set var="instance" value="${instance.descriptor==d?instance:null}" />
<f:class-entry descriptor="${descriptor}" />
<st:include from="${d}" page="${d.configPage}" optional="true" />
</f:radioBlock>
</j:forEach>
</f:section>
</j:jelly>
2 changes: 1 addition & 1 deletion core/src/main/resources/lib/form/dragdrop/dragdrop.js
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ var DragDrop = function(id, sGroup, config) {
// set Y constraint to be within the container
var totalHeight = el.parentNode.offsetHeight;
var blockHeight = el.offsetHeight;
this.setYConstraint(el.offsetTop, totalHeight-blockHeight-el.offsetTop);
this.setYConstraint(el.offsetTop, el.offsetTop - totalHeight - blockHeight);

el.style.visibility = "hidden";

Expand Down
34 changes: 16 additions & 18 deletions core/src/main/resources/lib/form/dropdownList.jelly
Original file line number Diff line number Diff line change
Expand Up @@ -39,40 +39,38 @@ THE SOFTWARE.
</st:attribute>
</st:documentation>

<tr>
<td class="setting-leftspace"><st:nbsp/></td>
<td class="setting-name">
<div class='tr'>
<div class="setting-name help-sibling">
${attrs.title}
</td>
<td class="setting-main">
<f:helpLink url="${attrs.help}" featureName="${title}"/>
</div>
<j:if test="${attrs.help!=null}">
<f:helpArea/>
</j:if>
<div class="setting-main">
<!-- create drop-down list -->
<select class="setting-input dropdownList"
disabled="${readOnlyMode ? 'true' : null}"
>
<j:set var="dropdownListMode" value="createSelectField"/>
<d:invokeBody/>
</select>
</td>
<f:helpLink url="${attrs.help}" featureName="${title}"/>
</tr>
</div>
</div>

<!-- generate the actual form entries -->
<tr class="dropdownList-container">
<td colspan="2"/>
<td colspan="2">
<table width="100%" name="${name}">
<div class="dropdownList-container tr">
<div>
<div width="100%" name="${name}">
<j:set var="dropdownListMode" value="generateEntries"/>
<d:invokeBody/>
</table>
</td>
</tr>
</div>
</div>
</div>

<j:if test="${!empty(attrs.description)}">
<f:description>
<j:out value="${description}"/>
</f:description>
</j:if>
<j:if test="${attrs.help!=null}">
<f:helpArea/>
</j:if>
</j:jelly>
6 changes: 3 additions & 3 deletions core/src/main/resources/lib/form/dropdownListBlock.jelly
Original file line number Diff line number Diff line change
Expand Up @@ -50,10 +50,10 @@ THE SOFTWARE.
</j:when>
<j:when test="${dropdownListMode=='generateEntries'}">
<!-- sandwich them by markers so that we know what to show/hide -->
<tr class="dropdownList-start rowvg-start" />
<div class="dropdownList-start rowvg-start tr"></div>
<j:choose>
<j:when test="${attrs.lazy!=null and !attrs.selected}">
<l:renderOnDemand capture="${attrs.lazy}" tag="tr">
<l:renderOnDemand capture="${attrs.lazy}" tag="div">
<d:invokeBody />
</l:renderOnDemand>
</j:when>
Expand All @@ -64,7 +64,7 @@ THE SOFTWARE.
<j:if test="${!empty(attrs.staplerClass)}">
<f:class-entry clazz="${attrs.staplerClass}" />
</j:if>
<tr class="dropdownList-end rowvg-end" />
<div class="dropdownList-end rowvg-end tr"></div>
</j:when>
</j:choose>
</j:jelly>
Loading