diff --git a/main/webapp/modules/core/index.vt b/main/webapp/modules/core/index.vt index 24eeef467..3aa883b4c 100644 --- a/main/webapp/modules/core/index.vt +++ b/main/webapp/modules/core/index.vt @@ -18,7 +18,7 @@

Open a Project

- +
diff --git a/main/webapp/modules/core/project.vt b/main/webapp/modules/core/project.vt index 4c72ab70c..f1b0d1892 100644 --- a/main/webapp/modules/core/project.vt +++ b/main/webapp/modules/core/project.vt @@ -43,7 +43,7 @@
-
+
diff --git a/main/webapp/modules/core/scripts/index.js b/main/webapp/modules/core/scripts/index.js index 5ae940cb0..0f9db5635 100644 --- a/main/webapp/modules/core/scripts/index.js +++ b/main/webapp/modules/core/scripts/index.js @@ -227,14 +227,16 @@ function showVersion() { var poll = function() { if ("releases" in window) { if (isThereNewRelease()) { - var div = $('
') - .text('New version "' + releases.releases[0].description + '" ') + var container = $('
') .appendTo(document.body) - + var notification = $('
') + .text('New version! ') + .appendTo(container) $('') + .addClass('notification-action') .attr("href", releases.homepage) - .text("available for download here") - .appendTo(div); + .text('Download ' + releases.releases[0].description + ' now.') + .appendTo(notification); } } else { window.setTimeout(poll, 1000); diff --git a/main/webapp/modules/core/scripts/project.js b/main/webapp/modules/core/scripts/project.js index 594d3b99c..bfcab134e 100644 --- a/main/webapp/modules/core/scripts/project.js +++ b/main/webapp/modules/core/scripts/project.js @@ -68,6 +68,7 @@ function resizeAll() { function initializeUI(uiState) { $("#loading-message").hide(); + $("#notification-container").hide(); $("#project-title").show(); $("#project-controls").show(); $("#body").show(); diff --git a/main/webapp/modules/core/scripts/project/history-panel.html b/main/webapp/modules/core/scripts/project/history-panel.html index 858ed8147..b1909c84c 100644 --- a/main/webapp/modules/core/scripts/project/history-panel.html +++ b/main/webapp/modules/core/scripts/project/history-panel.html @@ -1,14 +1,13 @@ -

Infinite undo history

Don't worry about making mistakes. Every change you make will be shown here, and you can undo your changes anytime.

Learn more »

-
Quick filter: - + +
+Filter:
diff --git a/main/webapp/modules/core/scripts/project/process-panel.js b/main/webapp/modules/core/scripts/project/process-panel.js index 6e2838712..88777ca72 100644 --- a/main/webapp/modules/core/scripts/project/process-panel.js +++ b/main/webapp/modules/core/scripts/project/process-panel.js @@ -58,16 +58,16 @@ ProcessPanel.prototype.showUndo = function(historyEntry) { this._latestHistoryEntry = historyEntry; - this._div.stop(true,false).empty().html( - '
' + - 'Undo ' + - '
' - ).slideDown(200).delay(5000).slideUp(150); + this._div.stop(true,false) + .empty() + .html('') + .fadeIn(200) + .delay(7500) + .fadeOut(200); var elmts = DOM.bind(this._div); elmts.description.text(historyEntry.description); elmts.undo.click(function() { self.undo(); }); - elmts.close.click(function() { $(".process-panel-inner").stop(true,false).slideUp(150); }); }; ProcessPanel.prototype.undo = function() { @@ -102,40 +102,34 @@ ProcessPanel.prototype._render = function(newData) { if (!newData.processes.length) { Refine.setTitle(); - this._div.hide(); + this._div.fadeOut(200); } else { - this._div.show(); - - var innerDiv = $('
').addClass("process-panel-inner").appendTo(this._div); - - var headDiv = $('
').addClass("process-panel-head").appendTo(innerDiv); + this._div.fadeIn(200); + var cancelmessage = "Cancel" + var noticeDiv = $('
').appendTo(this._div); + var descriptionSpan = $('').appendTo(noticeDiv); + var statusDiv = $('
').appendTo(noticeDiv); $('') - .css("margin-right", "3px") - .css("opacity", "0.3") - .appendTo(headDiv); - $('') - .addClass("action") - .text("cancel all") - .click(function() { - self._cancelAll(); - - $(this).text("canceling all processes...").unbind(); - }) - .appendTo(headDiv); - - var bodyDiv = $('
').addClass("process-panel-body").appendTo(innerDiv); + .addClass("notification-loader") + .appendTo(statusDiv); + var progressSpan = $('').appendTo(statusDiv); + var countSpan = $('').appendTo(statusDiv); var renderProcess = function(process) { - var div = $('
').addClass("process-panel-entry").appendTo(bodyDiv); - - if (process.status == "pending") { - div.text(process.description + " (pending)"); - } else { - Refine.setTitle(process.progress + "%"); - div.text(process.description + " (" + process.progress + "%)"); - } + if (process.status != "pending") { + Refine.setTitle(process.progress + "% complete"); + descriptionSpan.text(process.description); + progressSpan.text(process.progress + '% complete'); + } + }; + var renderProcessCount = function(count) { + var pendingcount = count - 1; + countSpan.text(', ' + pendingcount + ' pending processes'); }; - var processes = newData.processes; + if (processes.length >> 1) { + cancelmessage = "Cancel All"; + renderProcessCount(processes.length); + } for (var i = 0; i < processes.length; i++) { var process = processes[i]; renderProcess(process); @@ -143,6 +137,14 @@ ProcessPanel.prototype._render = function(newData) { newProcessMap[process.id] = process; } } + $('') + .addClass("notification-action") + .text(cancelmessage) + .click(function() { + self._cancelAll(); + $(this).text("Canceling...").unbind(); + }) + .appendTo(statusDiv); } if ((this._data) && this._data.processes.length > 0) { diff --git a/main/webapp/modules/core/scripts/util/dialog.js b/main/webapp/modules/core/scripts/util/dialog.js index 711408b2e..25b95b1ec 100644 --- a/main/webapp/modules/core/scripts/util/dialog.js +++ b/main/webapp/modules/core/scripts/util/dialog.js @@ -76,9 +76,9 @@ DialogSystem.createDialog = function() { DialogSystem.showBusy = function(message) { var frame = DialogSystem.createDialog(); - frame.addClass("dialog-busy-frame"); + frame.addClass("dialog-busy"); - var body = $('
').addClass("dialog-busy-body").appendTo(frame); + var body = $('
').attr('id', 'loading-message').appendTo(frame); $('').attr("src", "images/large-spinner.gif").appendTo(body); $('').text(" " + (message || "Working...")).appendTo(body); diff --git a/main/webapp/modules/core/styles/common.less b/main/webapp/modules/core/styles/common.less index ef7c822e7..0e2de5e1c 100644 --- a/main/webapp/modules/core/styles/common.less +++ b/main/webapp/modules/core/styles/common.less @@ -28,6 +28,7 @@ input[type=text] { font-family: inherit; border: #ccc 1px solid; border-top: #888 1px solid; + vertical-align: baseline; } a { @@ -54,7 +55,7 @@ a.selected { } a.inaction { - color: @chrome_primary; + color: @light_grey; } a.selected:hover, a.inaction:hover { @@ -160,16 +161,48 @@ a img { background: #f2f2f2; } +.list-table-itemname { + font-size: 1.2em; + } + #loading-message { - text-align: center; - font-size: 300%; - color: @light_grey; - padding: 4em; -} + text-align: center; + font-size: 300%; + color: @light_grey; + padding: 3em .5em; + } #loading-message img { position: relative; top: -4px; + } + +#notification-container { + position: fixed; + top: 0; + width: 100%; + z-index: 100; + text-align: center; + } + +#notification { + display: inline-block; + margin: 0 auto; + padding: 5px 8px 4px; + font-size: 1.3em; + text-align: left; + font-weight: bold; + background: @notification_primary; + .rounded_corners(2px); + } + +.notification-action { + padding-left: 10px; +} + +.notification-loader { + padding: 0 3px 0 0; + opacity: 0.3; } #header { @@ -229,6 +262,7 @@ a img { input[type="checkbox"], input[type="radio"] { vertical-align: baseline; } + input.inline { vertical-align: middle; } @@ -237,6 +271,7 @@ input.inline { + diff --git a/main/webapp/modules/core/styles/index.less b/main/webapp/modules/core/styles/index.less index 5e84618bb..fbfb1d39c 100644 --- a/main/webapp/modules/core/styles/index.less +++ b/main/webapp/modules/core/styles/index.less @@ -37,10 +37,12 @@ } #projects-container { - border-top: 1px solid @line_accent; + border: 1px solid @chrome_primary; + border-left: 0; + border-right: 0; background: #fff; overflow: auto; - height: 400px; + height: 378px; } #projects-container .project .last-modified { @@ -59,8 +61,9 @@ } .content-block-footer { - padding: @padding_tighter; - text-align: center; + background: #f2f2f2; + padding: @padding_tight; + font-size: 1.1em; } #project-links { @@ -90,7 +93,7 @@ } .project-create-basic { - border-top: 1px solid @line_accent; + border-top: 1px solid @chrome_primary; padding: @padding_loose; background: #fff; } @@ -128,16 +131,4 @@ position: absolute; top: 12px; right: 10px; - } - -#version-message { - position: fixed; - top: -1px; - padding: @padding_loose; - left: 40%; - width: 20%; - background: @fill_primary; - border: 1px solid @chrome_primary; - - .rounded_corners_bottom(10px); } \ No newline at end of file diff --git a/main/webapp/modules/core/styles/jquery-ui-overrides.less b/main/webapp/modules/core/styles/jquery-ui-overrides.less index e4ca9e646..e1c3a372d 100644 --- a/main/webapp/modules/core/styles/jquery-ui-overrides.less +++ b/main/webapp/modules/core/styles/jquery-ui-overrides.less @@ -40,7 +40,7 @@ .ui-tabs .ui-tabs-nav .ui-state-active, .ui-tabs .ui-tabs-nav .ui-widget-content .ui-state-active { - border: 1px solid @line_accent; + border: 1px solid @chrome_primary; border-bottom: none; background: white; } diff --git a/main/webapp/modules/core/styles/project.less b/main/webapp/modules/core/styles/project.less index eec1c068d..041dc8a89 100644 --- a/main/webapp/modules/core/styles/project.less +++ b/main/webapp/modules/core/styles/project.less @@ -45,7 +45,7 @@ padding: 0px; padding-top: @padding_tight; font-size: 1.3em; - background: @fill_normal; + background: @chrome_secondary; .ui-tabs .ui-tabs-panel { border-left: none; diff --git a/main/webapp/modules/core/styles/project/process.less b/main/webapp/modules/core/styles/project/process.less index bac4c3e88..4ceaf63d7 100644 --- a/main/webapp/modules/core/styles/project/process.less +++ b/main/webapp/modules/core/styles/project/process.less @@ -28,8 +28,3 @@ padding: 10px; } -.process-panel-undo { - max-height: 50px; - overflow: auto; - padding: 10px; -} \ No newline at end of file diff --git a/main/webapp/modules/core/styles/project/sidebar.less b/main/webapp/modules/core/styles/project/sidebar.less index 40cfe94f8..c9147f688 100644 --- a/main/webapp/modules/core/styles/project/sidebar.less +++ b/main/webapp/modules/core/styles/project/sidebar.less @@ -60,104 +60,100 @@ line-height: 1.3; } -@history_done_background: white; -@history_undone_background: #f2f2ff; /* #a9e9fb; */ -@history_now_background: @chrome_primary; -@history_entry_vpadding: 7px; -@history_entry_hpadding: 5px; +@history_done_background: #fff; +@history_undone_background: @chrome_secondary; @history_entry_index_width: 30px; -.history-panel-controls { - padding: @padding_normal; - text-align: right; - font-weight: bold; - - a { - text-decoration: none; - } -} - -.history-panel-message { - text-align: center; - font-style: italic; - padding: @padding_loose; -} - -.history-panel-body-controls { - padding: @padding_tighter @padding_normal; - - input { - vertical-align: baseline; - } -} - -.history-panel-body { - background: @history_undone_background; - overflow: auto; - border-top: 1px solid @chrome_primary; -} - -.history-past { - position: relative; - background: @history_done_background; -} -.history-now { - background: @history_now_background; -} -.history-future { - position: relative; -} - -.history-highlight { - position: absolute; - left: 0px; - width: 100%; - display: none; -} -.history-past .history-highlight { - background: @history_undone_background; - bottom: 0px; -} -.history-future .history-highlight { - background: @history_done_background; - top: 0px; -} +a.history-entry { + display: block; + position: relative; + padding: @padding_normal; + padding-left: @padding_normal + @history_entry_index_width; + text-decoration: none; + color: #000; + border-bottom: 1px dotted #ddd; + } .history-entry-index { - position: absolute; - left: 0px; - top: 0px; - width: @history_entry_index_width; - text-align: right; - font-size: 80%; - padding: 2px 0px; -} + position: absolute; + top: 8px; + left: 0; + width: @history_entry_index_width; + text-align: right; + font-size: 80%; + padding: 2px 0px; + } -a.history-entry { - display: block; - position: relative; - padding: @history_entry_vpadding @history_entry_hpadding; - padding-left: @history_entry_hpadding + @history_entry_index_width; - text-decoration: none; - color: black; - border-top: 1px dotted #ddd; -} a.history-entry.filtered-out { - height: 1px; - padding-top: 2px; - padding-bottom: 2px; -} + height: 1px; + padding-top: 2px; + padding-bottom: 2px; + } + a.history-entry.filtered-out > * { - display: none; -} + display: none; + } + +.history-panel-controls { + padding: @padding_normal; + text-align: right; + } + +.history-panel-filter { + padding: @padding_tighter @padding_normal; + background: @chrome_secondary; + border: 1px solid @chrome_primary; + border-left: 0; + border-right: 0; + } + +.history-panel-body { + background: @history_undone_background; + overflow: auto; + } + +.history-past { + position: relative; + background: @history_done_background; + } + +.history-now { + background: @selected_primary; + } + +.history-future { + position: relative; + } + +.history-highlight { + position: absolute; + left: 0px; + width: 100%; + display: none; + } + +.history-past .history-highlight { + background: @history_undone_background; + bottom: 0; + } + +.history-future .history-highlight { + background: @history_done_background; + top: 0; + } .history-future a.history-entry, .history-future a.history-entry-index { - color: @light_grey; -} + color: @light_grey; + } +.history-now a.history-entry, .history-now a.history-entry-index { + color: #fff; + } + .history-past a.history-entry:hover, .history-future a.history-entry:hover { - border-bottom: 2px solid @history_now_background; -} + border-bottom: 1px solid @selected_primary; + } + .extract-operation-dialog-entries { height: 400px; diff --git a/main/webapp/modules/core/styles/theme.less b/main/webapp/modules/core/styles/theme.less index 4addaca6a..221439eb5 100644 --- a/main/webapp/modules/core/styles/theme.less +++ b/main/webapp/modules/core/styles/theme.less @@ -1,15 +1,13 @@ -@fill_normal: #e3e9ff; -@fill_accent: #bbccff; -@line_accent: #bbccff; - @link_primary: #11c; @link_secondary: #4272db; @chrome_primary: #bcf; @chrome_secondary: #e3e9ff; @fill_primary: #ebeef8; @fill_secondary: #f2f2f2; +@selected_primary: #68e; @green_primary: #282; @green_secondary: #3d3; +@notification_primary: #fe8; @faint_grey: #ddd; @light_grey: #999; @metadata_grey: #777; @@ -30,7 +28,7 @@ -webkit-border-radius: @radius; border-radius: @radius; } - + .sharp_corners_left () { -webkit-border-top-right-radius: 0; -webkit-border-bottom-right-radius: 0; @@ -48,12 +46,3 @@ border-top-left-radius: 0; border-bottom-left-radius: 0; } - -.rounded_corners_bottom (@radius: 10px) { - -webkit-border-bottom-left-radius: @radius; - -webkit-border-bottom-right-radius: @radius; - -moz-border-radius-bottomleft: @radius; - -moz-border-radius-bottomright: @radius; - border-bottom-left-radius: @radius; - border-bottom-right-radius: @radius; - } \ No newline at end of file diff --git a/main/webapp/modules/core/styles/util/dialog.less b/main/webapp/modules/core/styles/util/dialog.less index 4735d4c11..2c5903bad 100644 --- a/main/webapp/modules/core/styles/util/dialog.less +++ b/main/webapp/modules/core/styles/util/dialog.less @@ -18,51 +18,38 @@ } .dialog-frame { - margin: 0 auto; - text-align: left; - background: white; - border: 1px solid @dialog_frame; -} + margin: 0 auto; + text-align: left; + background: white; + border: 1px solid @dialog_frame; + } .dialog-border { - border: 4px solid @dialog_border; -} + border: 4px solid @dialog_border; + } .dialog-header { - background: @dialog_header; - padding: @padding_loose; - font-weight: bold; - font-size: 1.6em; - color: #000; - cursor: move; -} + background: @dialog_header; + padding: @padding_loose; + font-weight: bold; + font-size: 1.6em; + color: #000; + cursor: move; + } .dialog-body { font-size: 1.3em; padding: @padding_looser; -} + } .dialog-footer { font-size: 1.3em; background: @dialog_footer; padding: @padding_loose; -} - -.dialog-footer button { -} - -.dialog-busy-frame { - width: 300px; - border: none; - padding: @padding_loose; - -moz-border-radius: 15px; - -webkit-border-radius: 15px; -} -.dialog-busy-body { - margin: 1em; - text-align: center; - font-size: 200%; - font-weight: bold; - color: #aaa; -} + } +.dialog-busy { + width: 400px; + border: none; + .rounded_corners(); + } diff --git a/main/webapp/modules/core/styles/views/data-table-view.less b/main/webapp/modules/core/styles/views/data-table-view.less index ae489030a..800bed20a 100644 --- a/main/webapp/modules/core/styles/views/data-table-view.less +++ b/main/webapp/modules/core/styles/views/data-table-view.less @@ -29,7 +29,7 @@ } .data-table-container { - border-top: 1px solid @line_accent; + border-top: 1px solid @chrome_primary; overflow: auto; } @@ -94,7 +94,7 @@ a.column-header-menu:hover { height: 4px; max-height: 4px; background: #ddd; - border: 1px solid #aaa; + border: 1px solid #ccc; position: relative; width: 100%; }