diff --git a/src/graphics/icon/gridworks-watermark.psd b/src/graphics/icon/gridworks-watermark.psd new file mode 100644 index 000000000..3fd2d9468 Binary files /dev/null and b/src/graphics/icon/gridworks-watermark.psd differ diff --git a/src/main/webapp/images/gridworks-watermark.png b/src/main/webapp/images/gridworks-watermark.png new file mode 100644 index 000000000..4562c7377 Binary files /dev/null and b/src/main/webapp/images/gridworks-watermark.png differ diff --git a/src/main/webapp/index.html b/src/main/webapp/index.html index a1f841015..141624861 100644 --- a/src/main/webapp/index.html +++ b/src/main/webapp/index.html @@ -1 +1 @@ - Freebase Gridworks
Gridworks
Gridworks

Upload Data File

Data File:
Project Name:

Text File Options

Column separator: leave blank to guess comma or tab
Guess Value Type: (try to parse cells' content into numbers, dates, etc.)
Header lines: (can be zero)

Text File and Excel File Options

Ignore: initial non-blank lines
Skip: initial data rows
Load up to: data rows (leave blank to load all rows)

Import Existing Project

Project .tar or .tar.gz File:
Re-name Project: (optional)
\ No newline at end of file + Freebase Gridworks

Freebase Gridworks

about

Upload a data file to create a new project.

Data File:
Project Name:

Text File Options

Column separator: leave blank to guess comma or tab
Guess Value Type: (try to parse cells' content into numbers, dates, etc.)
Header lines: (can be zero)

Text File and Excel File Options

Ignore: initial non-blank lines
Skip: initial data rows
Load up to: data rows (leave blank to load all rows)

Import an existing Gridworks project that has been exported as a .tar or .tar.gz file.

Project .tar or .tar.gz File:
Re-name Project: (optional)

Projects

\ No newline at end of file diff --git a/src/main/webapp/project.html b/src/main/webapp/project.html index ed2f3b114..38983e757 100644 --- a/src/main/webapp/project.html +++ b/src/main/webapp/project.html @@ -1 +1 @@ - Freebase Gridworks
starting up ...
\ No newline at end of file + Freebase Gridworks
starting up ...
\ No newline at end of file diff --git a/src/main/webapp/scripts/index.js b/src/main/webapp/scripts/index.js index 7f45c70c5..9eea0b7fc 100644 --- a/src/main/webapp/scripts/index.js +++ b/src/main/webapp/scripts/index.js @@ -58,26 +58,37 @@ function renderProjects(data) { projects.push(project); } } + projects.sort(function(a, b) { return b.date.getTime() - a.date.getTime(); }); + var container = $("#projects-container").empty(); if (!projects.length) { - $('#body-empty').show(); - $('#create-project-panel').remove().appendTo($('#body-empty-create-project-panel-container')); + $('
') + .addClass("message") + .text("No existing project. Use form on left to create.") + .appendTo(container); } else { - $('#body-nonempty').show(); - $('#create-project-panel').remove().appendTo($('#body-nonempty-create-project-panel-container')); - - projects.sort(function(a, b) { return b.date.getTime() - a.date.getTime(); }); - if (projects.length > 10) { - $('#body-nonempty-logo-container').css("vertical-align", "top"); - $('#body-nonempty-create-project-panel-container').css("vertical-align", "top"); - } - - var container = $("#projects").empty().show(); - $('

').text("Projects").appendTo(container); + var table = $( + '' + + '' + + '' + + '' + + '
Project NameLast Modified
' + ).appendTo(container)[0]; var renderProject = function(project) { - var div = $('
').addClass("project").appendTo(container); - + var tr = table.insertRow(table.rows.length); + tr.className = "project " + (table.rows.length % 2 ? "even" : "odd"); + + $('') + .text(project.name) + .attr("href", "/project.html?project=" + project.id) + .appendTo(tr.insertCell(tr.cells.length)); + + $('') + .text(formatDate(project.date)) + .addClass("last-modified") + .appendTo(tr.insertCell(tr.cells.length)); + $('') .addClass("delete-project") .attr("title","Delete this project") @@ -92,35 +103,41 @@ function renderProjects(data) { dataType: "json", success: function (data) { if (data && typeof data.code != 'undefined' && data.code == "ok") { - window.location.reload(); + fetchProjects(); } } }); } return false; - }).appendTo(div); - - $('').text(project.name).attr("href", "/project.html?project=" + project.id).appendTo(div); - $('').text(formatDate(project.date)).addClass("last-modified").appendTo(div); + }).appendTo(tr.insertCell(tr.cells.length)); }; - + for (var i = 0; i < projects.length; i++) { renderProject(projects[i]); } } } -function onLoad() { +function fetchProjects() { $.getJSON( "/command/get-all-project-metadata", null, function(data) { renderProjects(data); - $("#upload-file-button").click(onClickUploadFileButton); }, "json" ); +} + +function onLoad() { + fetchProjects(); + $("#form-tabs").tabs(); + $("#upload-file-button").click(onClickUploadFileButton); + + $("#gridworks-version").text( + GridworksVersion.version + "-" + GridworksVersion.revision + ); if (isThereNewRelease()) { $('
' + 'New version "' + GridworksReleases.releases[0].description + '" available for download here.' + diff --git a/src/main/webapp/scripts/project.js b/src/main/webapp/scripts/project.js index 02818fa76..c6c629a5d 100644 --- a/src/main/webapp/scripts/project.js +++ b/src/main/webapp/scripts/project.js @@ -85,7 +85,7 @@ function initializeUI(uiState) { '
' + '
' + '
' + - '
' + + '
' + '
    ' + '
  • Facet/Filter
  • ' + '
  • Undo/Redo
  • ' + diff --git a/src/main/webapp/styles/common.css b/src/main/webapp/styles/common.css index 4818d7da2..ed6377c2f 100644 --- a/src/main/webapp/styles/common.css +++ b/src/main/webapp/styles/common.css @@ -7,7 +7,6 @@ body { font-size: 11px; margin: 0; padding: 0; - background: #eee; } table { @@ -21,14 +20,14 @@ tr, td { div.grid-layout > table { border-collapse: separate; } -div.grid-layout.layout-full table { +div.grid-layout.layout-full > table { width: 100%; max-width: 100% !important; } div.grid-layout > table > tbody > tr > th, div.grid-layout > table > tbody > tr > td { padding: 0px; text-align: left; - vertical-align: top; + vertical-align: baseline; } div.grid-layout.layout-normal { margin: -10px; @@ -92,12 +91,14 @@ div.input-container > input, div.input-container > textarea { vertical-align: top; } -a.action { +a.action, +a.quiet-link { margin: 0 3px; text-decoration: none; color: #448; } -a.action:hover { +a.action:hover, +a.quiet-link:hover { color: #88f; } @@ -201,6 +202,5 @@ img { } #body { - background: white; } diff --git a/src/main/webapp/styles/index.css b/src/main/webapp/styles/index.css index a2cb5d933..d5c7f83f5 100644 --- a/src/main/webapp/styles/index.css +++ b/src/main/webapp/styles/index.css @@ -1,80 +1,80 @@ -#body-empty, #body-nonempty { - display: none; +#body { + padding: 50px; + background: url("/images/gridworks-watermark.png") no-repeat -70px -70px; +} +#body > div.grid-layout > table > tbody > tr > th, +#body > div.grid-layout > table > tbody > tr > td { + vertical-align: top; } -#body-template { - display: none; +#top-panel { + margin-bottom: 15px; } -#body-empty, #body-nonempty { - width: 800px; - padding: 100px 0; - margin: auto; +#top-panel h1 { + margin: 0; + padding: 0; + font-weight: normal; } -#body-empty > table, #body-nonempty > table { - width: 100%; - border-collapse: collapse: -} -#body-empty > table > tbody > tr > td, #body-nonempty > table > tbody > tr > td { - padding: 20px; - vertical-align: middle; -} -#body-empty-logo-container, #body-nonempty-logo-container { - width: 1%; - white-space: pre; - font-size: 400%; -} -#body-empty-create-project-panel-container, #body-nonempty-create-project-panel-container { - border-left: 3px solid #eee; -} - -#body-nonempty { - width: 1000px; -} -#body-nonempty-logo-container { - font-size: 300%; -} - -#body-nonempty-projects-container { - border-left: 3px solid #eee; +#gridworks-info { + color: #aaa; } #create-project-panel h1 { font-size: 120%; margin: 2em 0 1em 0; } - -table.import-project-panel-layout { - white-space: pre; +#projects-panel { + width: 400px; } - #projects { - white-space: pre; + background: #DBE8EB; + -moz-border-radius: 7px; + -webkit-border-radius: 7px; + padding: 15px; } #projects h1 { margin: 0; - margin-bottom: 1em; + margin-bottom: 0.5em; + padding: 0; font-size: 120%; - color: #aaa } -#projects a { + +#projects-container { + border: 1px solid #C5D1D4; + background: white; + padding: 1px; + height: 30em; + overflow: auto; +} +#projects-container .message { + padding: 15px; + color: #aaa; + font-size: 150%; +} +#projects-container table { + border-collapse: collapse; + width: 100%; +} +#projects-container td, #projects-container th { + padding: 5px; + border-right: 1px solid white; + text-align: left; +} +#projects-container th { + background: #C5D1D4; +} +#projects-container tr.project.even { + background: #DBE8EB; +} +.project a { text-decoration: none; font-weight: bold; color: #004; } -#projects a:hover { +.project a:hover { text-decoration: underline; color: #008; } -.project { - margin: 0.25em 0; -} -.delete-project { - margin-right: 0.5em; -} -.last-modified { - margin: 0 0.25em; - color: #aaa; -} #version-message { padding: 20px; diff --git a/src/main/webapp/styles/jquery-ui-overrides.css b/src/main/webapp/styles/jquery-ui-overrides.css new file mode 100644 index 000000000..f3433847d --- /dev/null +++ b/src/main/webapp/styles/jquery-ui-overrides.css @@ -0,0 +1,60 @@ +.gridworks-tabs.ui-tabs { + padding: 0; +} +.gridworks-tabs.ui-corner-all { +} +.gridworks-tabs.ui-widget-content { + border: none; + background: none; + color: inherit; +} +.gridworks-tabs.ui-tabs .ui-tabs-nav { + padding: 0; +} +.gridworks-tabs.ui-tabs .ui-widget-header { + background: none; + border: none; +} +.gridworks-tabs.ui-tabs .ui-tabs-nav li a { + padding: 5px 10px; +} +.gridworks-tabs.ui-tabs .ui-tabs-nav li a span.count { + color: #888; + font-weight: normal; + font-size: 80%; +} + +.gridworks-tabs.ui-tabs .ui-tabs-nav .ui-state-default, +.gridworks-tabs.ui-tabs .ui-tabs-nav .ui-widget-content .ui-state-default { + background: #C5D1D4; +} + +.gridworks-tabs.ui-tabs .ui-tabs-nav .ui-state-default a, +.gridworks-tabs.ui-tabs .ui-tabs-nav .ui-state-default a:link, +.gridworks-tabs.ui-tabs .ui-tabs-nav .ui-state-default a:visited { + color: black; +} + +.gridworks-tabs.ui-tabs .ui-tabs-nav .ui-state-active, +.gridworks-tabs.ui-tabs .ui-tabs-nav .ui-widget-content .ui-state-active { + background: #DBE8EB; + border: none; + color: black; +} + +.gridworks-tabs.ui-tabs .ui-tabs-nav .ui-state-active a, +.gridworks-tabs.ui-tabs .ui-tabs-nav .ui-state-active a:link, +.gridworks-tabs.ui-tabs .ui-tabs-nav .ui-state-active a:visited { + color: black; +} + +.gridworks-tabs.ui-tabs .ui-tabs-panel { + margin: 0px; + padding: 15px; + border: 1px solid #DBE8EB; + background: #DBE8EB; + -moz-border-radius: 7px; + -webkit-border-radius: 7px; + -moz-border-radius-topleft: 0px; + -webkit-border-top-left-radius: 0px; +} diff --git a/src/main/webapp/styles/project.css b/src/main/webapp/styles/project.css index 4113291b6..2fc749f5c 100644 --- a/src/main/webapp/styles/project.css +++ b/src/main/webapp/styles/project.css @@ -52,65 +52,12 @@ body { padding: 0px; font-size: 11px; } -.left-panel .ui-tabs { - padding: 0; -} -.left-panel .ui-corner-all { - -moz-border-radius: 0; - -webkit-border-radius: 0; -} -.left-panel .ui-widget-content { - border: none; - background: none; - color: inherit; -} -.left-panel .ui-tabs .ui-tabs-nav { - padding: 0; -} -.left-panel .ui-tabs .ui-widget-header { - background: none; - border: none; -} -.left-panel .ui-tabs .ui-tabs-nav li a { - padding: 5px 10px; -} -.left-panel .ui-tabs .ui-tabs-nav li a span.count { - color: #888; - font-weight: normal; - font-size: 80%; -} - -.left-panel .ui-tabs .ui-tabs-nav .ui-state-default, -.left-panel .ui-tabs .ui-tabs-nav .ui-widget-content .ui-state-default { - background: #C5D1D4; -} - -.left-panel .ui-tabs .ui-tabs-nav .ui-state-default a, -.left-panel .ui-tabs .ui-tabs-nav .ui-state-default a:link, -.left-panel .ui-tabs .ui-tabs-nav .ui-state-default a:visited { - color: black; -} - -.left-panel .ui-tabs .ui-tabs-nav .ui-state-active, -.left-panel .ui-tabs .ui-tabs-nav .ui-widget-content .ui-state-active { - background: #DBE8EB; - border: none; - color: black; -} - -.left-panel .ui-tabs .ui-tabs-nav .ui-state-active a, -.left-panel .ui-tabs .ui-tabs-nav .ui-state-active a:link, -.left-panel .ui-tabs .ui-tabs-nav .ui-state-active a:visited { - color: black; -} - -.left-panel .ui-tabs .ui-tabs-panel { - margin: 0px; +.left-panel .gridworks-tabs.ui-tabs .ui-tabs-panel { padding: 7px; - border: 1px solid #DBE8EB; - background: #DBE8EB; - -moz-border-radius-bottomleft: 7px; - -webkit-border-bottom-left-radius: 7px; + -moz-border-radius-topright: 0px; + -webkit-border-top-right-radius: 0px; + -moz-border-radius-bottomright: 0px; + -webkit-border-bottom-right-radius: 0px; overflow: hidden; }