From bae827a73801c062fb4a3ee0904fbfac622f84e2 Mon Sep 17 00:00:00 2001 From: Greg Schueler Date: Wed, 10 Jul 2013 11:22:38 -0700 Subject: [PATCH] Tweak execution show controls and page --- .../grails-app/i18n/messages.properties | 1 + rundeckapp/grails-app/views/common/_css.gsp | 88 +---- .../views/execution/_execDetailsWorkflow.gsp | 6 +- .../grails-app/views/execution/show.gsp | 302 +++++++----------- .../scheduledExecution/_showExecutionHead.gsp | 8 +- rundeckapp/web-app/css/main.css | 57 +++- 6 files changed, 183 insertions(+), 279 deletions(-) diff --git a/rundeckapp/grails-app/i18n/messages.properties b/rundeckapp/grails-app/i18n/messages.properties index 5b0de859f40..f8841e2edcf 100644 --- a/rundeckapp/grails-app/i18n/messages.properties +++ b/rundeckapp/grails-app/i18n/messages.properties @@ -277,6 +277,7 @@ button.action.Create=Create execution.show.mode.Tail.desc=View the last lines of the output file execution.show.mode.Annotated.desc=View all output in grouped contexts sequentially execution.show.mode.Compact.desc=View all output collated by node +execution.show.mode.Compact.title=By Node execution.log.storage.state.PENDING_REMOTE=Waiting for log output to become available... execution.log.storage.state.PENDING_LOCAL=Retrieving log output from storage... diff --git a/rundeckapp/grails-app/views/common/_css.gsp b/rundeckapp/grails-app/views/common/_css.gsp index c4ee976f51f..e6f6c928c5f 100644 --- a/rundeckapp/grails-app/views/common/_css.gsp +++ b/rundeckapp/grails-app/views/common/_css.gsp @@ -1,24 +1,5 @@ \ No newline at end of file + diff --git a/rundeckapp/grails-app/views/execution/_execDetailsWorkflow.gsp b/rundeckapp/grails-app/views/execution/_execDetailsWorkflow.gsp index ff7705834f4..3a4dc2c4f95 100644 --- a/rundeckapp/grails-app/views/execution/_execDetailsWorkflow.gsp +++ b/rundeckapp/grails-app/views/execution/_execDetailsWorkflow.gsp @@ -22,6 +22,7 @@ $Id$ --%> +
Keepgoing: @@ -33,6 +34,7 @@
+ Strategy:
-
+
diff --git a/rundeckapp/grails-app/views/execution/show.gsp b/rundeckapp/grails-app/views/execution/show.gsp index 247a6540b3e..550c58970d3 100644 --- a/rundeckapp/grails-app/views/execution/show.gsp +++ b/rundeckapp/grails-app/views/execution/show.gsp @@ -52,7 +52,7 @@ lastlines: ${params.lastlines ? params.lastlines : defaultLastLines}, maxLastLines: ${maxLastLines}, collapseCtx: {value:${null == execution?.dateCompleted },changed:false}, - + showFinalLine: {value:false,changed:false}, tailmode: ${followmode == 'tail'}, browsemode: ${followmode == 'browse'}, nodemode: ${followmode == 'node'}, @@ -97,14 +97,91 @@ --}% + %{--
+
+ + + + + + Kill Kill + + + + + + + + + run + Retry Failed Nodes … + + + + + + + run + Retry Failed Nodes … + + + + + + + +   + + + Run Again … + + + + + + + + + Run Again or Save … + + + + + + +
+ - + %{--Adhoc:--}% - @@ -140,9 +217,9 @@
Details - +
@@ -152,77 +229,11 @@
+ +
- Job: + Job:
- Options: + Options: + ${execution?.argString.encodeAsHTML()}
- Adhoc: + - +
- -
- - - - - Kill Kill - - - - - - - - - run - Retry Failed Nodes … - - - - - - - run - Retry Failed Nodes … - - - - - - - -   - - - Run Again … - - - - - - - - - Run Again or Save … - - - - -
@@ -230,77 +241,29 @@ title="Progress is an estimate based on average execution time for this ${g.message(code: 'domain.ScheduledExecution.title')}.">0%
- + %{--
--}% + %{--
--}% -
- + %{--
--}% - - - --}% + - - - - - diff --git a/rundeckapp/grails-app/views/scheduledExecution/_showExecutionHead.gsp b/rundeckapp/grails-app/views/scheduledExecution/_showExecutionHead.gsp index 0f09a9eaeb4..29c44b46180 100644 --- a/rundeckapp/grails-app/views/scheduledExecution/_showExecutionHead.gsp +++ b/rundeckapp/grails-app/views/scheduledExecution/_showExecutionHead.gsp @@ -1,8 +1,8 @@ <%@ page import="rundeck.ScheduledExecution" %> -
+ -
+ ${execution.user==session.user?'you': execution.user}--}% -
+
-
+ diff --git a/rundeckapp/web-app/css/main.css b/rundeckapp/web-app/css/main.css index f1a1354523d..94639ce7309 100644 --- a/rundeckapp/web-app/css/main.css +++ b/rundeckapp/web-app/css/main.css @@ -163,15 +163,27 @@ a.toptab.selected{ a.tab,span.tab{ padding: 3px; border: 1px solid #ccc; - color:blue !important; + color:blue ; font-weight:normal; } + +.outputButtons a.tab, .outputButtons span.tab{ + padding: 3px; + border: 1px solid #eee; + color:blue ; + font-weight:normal; + background: #f0f0f0; +} a.toptab + a.toptab{ border-left:0; } a.tab:hover, a.toptab:hover, a.tab.selected, a.toptab.selected, span.button.selected{ background: #ddd; } +.outputButtons a.tab:hover, .outputButtons span.button.selected { + background: #eee; + border: 1px solid #bbb; +} a.tab.disabled, span.tab.disabled{ border: 1px solid #ddd; color: gray !important; @@ -757,12 +769,29 @@ table.execoutput{ font-family: Courier, monospace; border: 1px solid #eee; } + +table.execoutput th { + background: none; + border:none; +} +table.execoutput td{ + border: 1px solid #eee; +} table.execoutput td{ padding:0; border: 0; } table.execoutput tr.contextRow{ - background: #ddF; + background: #eee; +} +table.execoutput tr.contextRow.expandable:hover { + background: #ccF; +} +table.execoutput tr.contextRow.console { + background: #ddd; +} +table.execoutput tr.contextRow.expandable.console:hover { + background: #ccF; } table.execoutput tr.contextRow.down td{ border-top:1px solid #bbb; @@ -1104,7 +1133,9 @@ table.jobsList td{ table.executionList tr.nowrunning a, table.jobsList tr.nowrunning a{ } -table.jobsList.history td{ +table.jobsList.history td.eventicon, +table.jobsList.history td.argString, +table.jobsList.history td.eventtitle{ vertical-align: top; } table.jobsList.history td.eventtitle span{ @@ -1649,20 +1680,20 @@ div.filter label.additional{ div.jobHead{ } -div.jobHead div.jobInfo{ +div.jobHead .jobInfo{ margin-bottom: 10px; } div.jobHead span.jobInfoPart{ } -div.jobHead div.jobInfoSection{ +div.jobHead .jobInfoSection{ } div.jobHead td{ vertical-align: top; } -div.jobHead div.jobInfoSection + div.jobInfoSection { +div.jobHead .jobInfoSection + .jobInfoSection { margin-top: 15px; } div.jobHead span.jobInfoPart span.partContent{ @@ -1704,6 +1735,9 @@ div.jobHead span.jobSummary{ display:block; } +.executioncontrol a{ + white-space: nowrap; +} span.jobcancel{ margin: 5px; @@ -1716,7 +1750,7 @@ span.jobfinal{ } #commandFlow{ - padding: 10px; + padding: 10px 0; margin: 0 20px; } div.commandFlowError{ @@ -1813,11 +1847,18 @@ div.pflowlist ol{ margin:0; } div.pflowlist.edit{ - min-width: 500px; + width: 100%; + margin-right: 10px; } div.pflowlist.edit ol.flowlist li{ padding:2px; } +div.pflowlist.rounded.adhoc{ + border:0; +} +div.adhoc ol.flowlist li{ + list-style: none; +} div.pflow{ float:left; width:100%;
- --}% + %{--
+ - - - - - - -<%-- - --%> - - - - -<%-- - --%>   -<%-- - --%> -   - - - - + -<%--- - --%> Show the last + - lines, - and update every + lines + %{--,--}% + %{--and update every--}% - - - - + + %{-----}% + %{----}% + %{--+--}% - seconds - + %{--seconds--}% + %{----}% + Download Download ${filesize?filesize+' bytes':''} + controller="execution" action="downloadOutput" id="${execution.id}">Download ${filesize?filesize+' bytes':''}