[#22][l]: first pass at new theme (based off bootstrap).
* view.js: refactor html for graph editor form; refactor navigation to be buttons.
This commit is contained in:
9
css/bootstrap.css
vendored
Normal file
9
css/bootstrap.css
vendored
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
body {
|
||||||
|
padding-top: 60px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* we do not have a LH sidebar */
|
||||||
|
.container-fluid > .content {
|
||||||
|
margin-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
491
css/data-explorer.css
Normal file
491
css/data-explorer.css
Normal file
@@ -0,0 +1,491 @@
|
|||||||
|
.data-explorer .header .navigation,
|
||||||
|
.data-explorer .header .navigation li,
|
||||||
|
.data-explorer .header .pagination,
|
||||||
|
.data-explorer .header .pagination form
|
||||||
|
{
|
||||||
|
display: inline;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-explorer .header .navigation {
|
||||||
|
float: left;
|
||||||
|
margin-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header .pagination {
|
||||||
|
float: right;
|
||||||
|
margin: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header .pagination label {
|
||||||
|
float: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header .pagination input {
|
||||||
|
width: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.doc-count {
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 120%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-view-container {
|
||||||
|
display: block;
|
||||||
|
clear: both;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* twitter btn.disabled but for button link that is active. used in navigation */
|
||||||
|
.active .btn {
|
||||||
|
cursor: default;
|
||||||
|
background-image: none;
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||||
|
filter: alpha(opacity=65);
|
||||||
|
-khtml-opacity: 0.65;
|
||||||
|
-moz-opacity: 0.65;
|
||||||
|
opacity: 0.65;
|
||||||
|
-webkit-box-shadow: none;
|
||||||
|
-moz-box-shadow: none;
|
||||||
|
box-shadow: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**********************************************************
|
||||||
|
* Notifications
|
||||||
|
*********************************************************/
|
||||||
|
|
||||||
|
.notification-container {
|
||||||
|
width: 400px;
|
||||||
|
left: 520px;
|
||||||
|
display: none;
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
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: #fe8;
|
||||||
|
-moz-border-radius: 2px;
|
||||||
|
-webkit-border-radius: 2px;
|
||||||
|
border-radius: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.notification-action {
|
||||||
|
padding-left: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.notification-loader {
|
||||||
|
padding: 0 3px 0 0;
|
||||||
|
opacity: 0.3;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**********************************************************
|
||||||
|
* Data Table
|
||||||
|
*********************************************************/
|
||||||
|
|
||||||
|
/* direct borrowing from twitter buttons */
|
||||||
|
.data-table th {
|
||||||
|
background-color: #e6e6e6;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));
|
||||||
|
background-image: -webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
|
||||||
|
background-image: -moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);
|
||||||
|
background-image: -ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
|
||||||
|
background-image: -o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
|
||||||
|
background-image: linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);
|
||||||
|
text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
|
||||||
|
color: #333;
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
border-bottom-color: #bbb;
|
||||||
|
-webkit-border-radius: 4px;
|
||||||
|
-moz-border-radius: 4px;
|
||||||
|
border-radius: 4px;
|
||||||
|
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
|
||||||
|
-moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
|
||||||
|
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
|
||||||
|
-webkit-transition: 0.1s linear all;
|
||||||
|
-moz-transition: 0.1s linear all;
|
||||||
|
-ms-transition: 0.1s linear all;
|
||||||
|
-o-transition: 0.1s linear all;
|
||||||
|
transition: 0.1s linear all;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-table {
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-table td, .data-table th {
|
||||||
|
border-left: 1px solid #ccc;
|
||||||
|
padding: 3px 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-table tr td:first-child, .data-table tr th:first-child {
|
||||||
|
width: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**********************************************************
|
||||||
|
* Data Table Menus
|
||||||
|
*********************************************************/
|
||||||
|
|
||||||
|
a.column-header-menu {
|
||||||
|
float: right;
|
||||||
|
display: block;
|
||||||
|
margin: 0 4px 0 0;
|
||||||
|
width: 17px;
|
||||||
|
height: 19px;
|
||||||
|
background-image: url(images/menu-dropdown.png);
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
}
|
||||||
|
|
||||||
|
a.row-header-menu:hover {
|
||||||
|
background-position: -17px 0px;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
a.row-header-menu {
|
||||||
|
float: left;
|
||||||
|
display: block;
|
||||||
|
margin: -2px 0 -4px 0;
|
||||||
|
width: 17px;
|
||||||
|
height: 18px;
|
||||||
|
background-image: url(images/menu-dropdown.png);
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
}
|
||||||
|
|
||||||
|
a.column-header-menu:hover {
|
||||||
|
background-position: -17px 0px;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.column-header-recon-stats-bar {
|
||||||
|
margin-top: 10px;
|
||||||
|
height: 4px;
|
||||||
|
background: #ddd;
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
position: relative;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.column-header-recon-stats-matched {
|
||||||
|
position: absolute;
|
||||||
|
height: 100%;
|
||||||
|
background: #282;
|
||||||
|
}
|
||||||
|
|
||||||
|
.column-header-recon-stats-blanks {
|
||||||
|
position: absolute;
|
||||||
|
height: 100%;
|
||||||
|
background: #3d3;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.data-table-cell-content {
|
||||||
|
line-height: 1.2;
|
||||||
|
color: #222;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.data-table-cell-content-numeric {
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
a.data-table-cell-edit {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
right: 0;
|
||||||
|
display: block;
|
||||||
|
width: 25px;
|
||||||
|
height: 16px;
|
||||||
|
text-decoration: none;
|
||||||
|
background-image: url(images/edit-map.png);
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
a.data-table-cell-edit:hover {
|
||||||
|
background-position: -25px 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.data-table-cell-content-numeric > a.data-table-cell-edit {
|
||||||
|
left: 0px;
|
||||||
|
right: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-table-value-nonstring {
|
||||||
|
color: #282;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-table-error {
|
||||||
|
color: red;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-table-menu-overlay {
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.data-table-menu {
|
||||||
|
display: none;
|
||||||
|
outline-style: none;
|
||||||
|
background: white;
|
||||||
|
color: black;
|
||||||
|
font-size: 12px;
|
||||||
|
height: auto;
|
||||||
|
list-style: none;
|
||||||
|
overflow: hidden;
|
||||||
|
position: absolute;
|
||||||
|
text-align: left;
|
||||||
|
width: 120px;
|
||||||
|
z-index: 666;
|
||||||
|
border: 1px solid #CCC;
|
||||||
|
border-right: 1px solid #666;
|
||||||
|
border-bottom: 1px solid #666;
|
||||||
|
margin: 0; padding: 0; }
|
||||||
|
ul.data-table-menu * {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0; }
|
||||||
|
ul.data-table-menu a {
|
||||||
|
line-height: 14px;
|
||||||
|
color: black;
|
||||||
|
display: block;
|
||||||
|
padding: 5px 7px;
|
||||||
|
text-decoration: none; }
|
||||||
|
ul.data-table-menu li {
|
||||||
|
height: 24px; }
|
||||||
|
ul.data-table-menu li:hover {
|
||||||
|
background-color: #DBE8F8 }
|
||||||
|
|
||||||
|
/* TODO: not sure the rest of this is needed */
|
||||||
|
.data-table-cell-editor, .data-table-topic-popup {
|
||||||
|
overflow: auto;
|
||||||
|
border: 1px solid #bcf;
|
||||||
|
background: #e3e9ff;
|
||||||
|
padding: 5px;
|
||||||
|
-moz-border-radius: 5px;
|
||||||
|
-webkit-border-radius: 5px;
|
||||||
|
border-radius: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-table-topic-popup-header {
|
||||||
|
padding: 0 0 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-table-cell-editor-editor {
|
||||||
|
overflow: hidden;
|
||||||
|
display: block;
|
||||||
|
width: 98%;
|
||||||
|
height: 3em;
|
||||||
|
font-family: monospace;
|
||||||
|
margin: 3px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-table-cell-copypaste-editor {
|
||||||
|
overflow: hidden;
|
||||||
|
display: block;
|
||||||
|
width: 98%;
|
||||||
|
height: 10em;
|
||||||
|
font-family: monospace;
|
||||||
|
margin: 3px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-table-cell-editor-action {
|
||||||
|
float: left;
|
||||||
|
vertical-align: bottom;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-table-cell-editor-key {
|
||||||
|
font-size: 0.8em;
|
||||||
|
color: #999;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.sorting-dialog-blank-error-positions {
|
||||||
|
margin: 0;
|
||||||
|
padding: 5px;
|
||||||
|
height: 10em;
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
-moz-border-radius: 3px;
|
||||||
|
-webkit-border-radius: 3px;
|
||||||
|
border-radius: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.sorting-dialog-blank-error-positions > li {
|
||||||
|
display: block;
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
background: #eee;
|
||||||
|
padding: 5px;
|
||||||
|
margin: 2px;
|
||||||
|
cursor: move;
|
||||||
|
-moz-border-radius: 3px;
|
||||||
|
-webkit-border-radius: 3px;
|
||||||
|
border-radius: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**********************************************************
|
||||||
|
* Dialogs
|
||||||
|
*********************************************************/
|
||||||
|
|
||||||
|
.dialog-overlay {
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
background: #666;
|
||||||
|
opacity: 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dialog {
|
||||||
|
position: fixed;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dialog-frame {
|
||||||
|
margin: 0 auto;
|
||||||
|
text-align: left;
|
||||||
|
background: white;
|
||||||
|
border: 1px solid #3a5774;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dialog-border {
|
||||||
|
border: 4px solid #c1d9ff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dialog-header {
|
||||||
|
background: #e0edfe;
|
||||||
|
padding: 10px;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 1.6em;
|
||||||
|
color: #000;
|
||||||
|
cursor: move;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dialog-body {
|
||||||
|
overflow: auto;
|
||||||
|
font-size: 1.3em;
|
||||||
|
padding: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dialog-instruction {
|
||||||
|
padding: 0 0 7px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dialog-footer {
|
||||||
|
font-size: 1.3em;
|
||||||
|
background: #eee;
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dialog-busy {
|
||||||
|
width: 400px;
|
||||||
|
border: none;
|
||||||
|
-moz-border-radius: 5px;
|
||||||
|
-webkit-border-radius: 5px;
|
||||||
|
border-radius: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**********************************************************
|
||||||
|
* Transform Dialog
|
||||||
|
*********************************************************/
|
||||||
|
|
||||||
|
#expression-preview-tabs .ui-tabs-nav li a {
|
||||||
|
padding: 0.15em 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
textarea.expression-preview-code {
|
||||||
|
font-family: monospace;
|
||||||
|
height: 5em;
|
||||||
|
vertical-align: top;
|
||||||
|
}
|
||||||
|
|
||||||
|
.expression-preview-parsing-status {
|
||||||
|
color: #999;
|
||||||
|
}
|
||||||
|
|
||||||
|
.expression-preview-parsing-status.error {
|
||||||
|
color: red;
|
||||||
|
}
|
||||||
|
|
||||||
|
#expression-preview-tabs-preview,
|
||||||
|
#expression-preview-tabs-help,
|
||||||
|
#expression-preview-tabs-history,
|
||||||
|
#expression-preview-tabs-starred {
|
||||||
|
padding: 5px;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
#expression-preview-tabs-preview > div,
|
||||||
|
#expression-preview-tabs-help > div,
|
||||||
|
#expression-preview-tabs-history > div,
|
||||||
|
#expression-preview-tabs-starred {
|
||||||
|
height: 200px;
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
#expression-preview-tabs-preview td, #expression-preview-tabs-preview th,
|
||||||
|
#expression-preview-tabs-help td, #expression-preview-tabs-help th,
|
||||||
|
#expression-preview-tabs-history td, #expression-preview-tabs-history th,
|
||||||
|
#expression-preview-tabs-starred td, #expression-preview-tabs-starred th {
|
||||||
|
padding: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.expression-preview-table-wrapper {
|
||||||
|
padding: 7px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.expression-preview-container td {
|
||||||
|
padding: 2px 5px;
|
||||||
|
border-top: 1px solid #ccc;
|
||||||
|
}
|
||||||
|
|
||||||
|
td.expression-preview-heading {
|
||||||
|
border-top: none;
|
||||||
|
background: #ddd;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
td.expression-preview-value {
|
||||||
|
max-width: 250px !important;
|
||||||
|
overflow-x: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.expression-preview-special-value {
|
||||||
|
color: #aaa;
|
||||||
|
}
|
||||||
|
|
||||||
|
.expression-preview-help-container h3 {
|
||||||
|
margin-top: 15px;
|
||||||
|
margin-bottom: 7px;
|
||||||
|
border-bottom: 1px solid #999;
|
||||||
|
}
|
||||||
|
|
||||||
|
.expression-preview-doc-item-title {
|
||||||
|
font-weight: bold;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.expression-preview-doc-item-params {
|
||||||
|
}
|
||||||
|
|
||||||
|
.expression-preview-doc-item-returns {
|
||||||
|
}
|
||||||
|
|
||||||
|
.expression-preview-doc-item-desc {
|
||||||
|
color: #666;
|
||||||
|
}
|
||||||
|
|
||||||
50
css/graph-flot.css
Normal file
50
css/graph-flot.css
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
.data-graph-container .graph {
|
||||||
|
height: 500px;
|
||||||
|
margin-right: 200px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-graph-container .legend table {
|
||||||
|
width: auto;
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**********************************************************
|
||||||
|
* Editor
|
||||||
|
*********************************************************/
|
||||||
|
|
||||||
|
.data-graph-container .editor {
|
||||||
|
float: right;
|
||||||
|
width: 200px;
|
||||||
|
padding-left: 0px;
|
||||||
|
border-top: solid 2px #000;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-graph-container .editor .editor-info {
|
||||||
|
padding-left: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-graph-container .editor form {
|
||||||
|
padding-left: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-graph-container .editor select {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-graph-container .editor-info {
|
||||||
|
border-bottom: 1px solid #ddd;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-graph-container .editor-hide-info h1 span {
|
||||||
|
background-position: -36px -18px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.data-graph-container .editor-hide-info p {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dataexplorer-tableview-hide-editor .data-graph-container .editor {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
BIN
css/images/edit-map.png
Executable file
BIN
css/images/edit-map.png
Executable file
Binary file not shown.
|
After Width: | Height: | Size: 1.5 KiB |
BIN
css/images/menu-dropdown.png
Executable file
BIN
css/images/menu-dropdown.png
Executable file
Binary file not shown.
|
After Width: | Height: | Size: 1.1 KiB |
47
demo/newtheme.html
Normal file
47
demo/newtheme.html
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<title>Recline Data Explorer Demo</title>
|
||||||
|
<meta name="description" content="A demo of the Recline Data Explorer">
|
||||||
|
<meta name="author" content="Rufus Pollock and Max Ogden">
|
||||||
|
|
||||||
|
<!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
<link rel="stylesheet" href="../vendor/bootstrap/1.4.0/bootstrap.css">
|
||||||
|
<link rel="stylesheet" href="../css/data-explorer.css">
|
||||||
|
<link rel="stylesheet" href="../css/graph-flot.css">
|
||||||
|
<link rel="stylesheet" href="../css/bootstrap.css">
|
||||||
|
|
||||||
|
<script type="text/javascript" src="../src/deps-min.js"></script>
|
||||||
|
|
||||||
|
<script type="text/javascript" src="../src/util.js"></script>
|
||||||
|
<script type="text/javascript" src="../src/costco.js"></script>
|
||||||
|
<script type="text/javascript" src="../src/model.js"></script>
|
||||||
|
<script type="text/javascript" src="../src/view.js"></script>
|
||||||
|
<script type="text/javascript" src="js/app.js"></script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="topbar">
|
||||||
|
<div class="topbar-inner">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<a class="brand" href="#">Recline Data Explorer</a>
|
||||||
|
<ul class="nav">
|
||||||
|
</ul>
|
||||||
|
<form class="webstore-load pull-right" title="Update from the specified webstore dataset">
|
||||||
|
<input type="text" name="source" size="50" />
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="content">
|
||||||
|
<div class="data-explorer-here"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
||||||
45
src/view.js
45
src/view.js
@@ -13,14 +13,13 @@ my.DataExplorer = Backbone.View.extend({
|
|||||||
className: 'data-explorer',
|
className: 'data-explorer',
|
||||||
template: ' \
|
template: ' \
|
||||||
<div class="header"> \
|
<div class="header"> \
|
||||||
<ul class="navigation tabs"> \
|
<ul class="navigation"> \
|
||||||
<li class="active"><a href="#datatable">Grid</a> \
|
<li class="active"><a href="#datatable" class="btn">Grid</a> \
|
||||||
<li><a href="#graph">Graph</a></li> \
|
<li><a href="#graph" class="btn">Graph</a></li> \
|
||||||
</ul> \
|
</ul> \
|
||||||
<div class="pagination"> \
|
<div class="pagination"> \
|
||||||
Total: <span class="doc-count">{{docCount}}</span> \
|
|
||||||
<form class="display-count"> \
|
<form class="display-count"> \
|
||||||
<label for="per-page">Per page</label> <input name="displayCount" type="text" value="{{displayCount}}" /> \
|
Showing 0 to <input name="displayCount" type="text" value="{{displayCount}}" /> of <span class="doc-count">{{docCount}}</span> \
|
||||||
</form> \
|
</form> \
|
||||||
</div> \
|
</div> \
|
||||||
</div> \
|
</div> \
|
||||||
@@ -90,6 +89,8 @@ my.DataExplorer = Backbone.View.extend({
|
|||||||
navChange: function(e) {
|
navChange: function(e) {
|
||||||
// TODO: really ugly and will not scale to more widgets ...
|
// TODO: really ugly and will not scale to more widgets ...
|
||||||
var widgetToShow = $(e.target).attr('href').slice(1);
|
var widgetToShow = $(e.target).attr('href').slice(1);
|
||||||
|
this.el.find('.navigation li').removeClass('active');
|
||||||
|
$(e.target).parent().addClass('active');
|
||||||
if (widgetToShow == 'datatable') {
|
if (widgetToShow == 'datatable') {
|
||||||
this.flotGraph.el.hide();
|
this.flotGraph.el.hide();
|
||||||
this.dataTable.el.show();
|
this.dataTable.el.show();
|
||||||
@@ -560,50 +561,50 @@ my.FlotGraph = Backbone.View.extend({
|
|||||||
|
|
||||||
// TODO: normalize css
|
// TODO: normalize css
|
||||||
template: ' \
|
template: ' \
|
||||||
<div class="panel graph"></div> \
|
|
||||||
<div class="editor"> \
|
<div class="editor"> \
|
||||||
<div class="editor-info editor-hide-info"> \
|
<div class="editor-info editor-hide-info"> \
|
||||||
<h1><span></span>Help</h1> \
|
<h3>Help</h3> \
|
||||||
<p>To create a chart select a column (group) to use as the x-axis \
|
<p>To create a chart select a column (group) to use as the x-axis \
|
||||||
then another column (Series A) to plot against it.</p> \
|
then another column (Series A) to plot against it.</p> \
|
||||||
<p>You can add add \
|
<p>You can add add \
|
||||||
additional series by clicking the "Add series" button</p> \
|
additional series by clicking the "Add series" button</p> \
|
||||||
<p>Please note you must be logged in to save charts.</p> \
|
<p>Please note you must be logged in to save charts.</p> \
|
||||||
</div> \
|
</div> \
|
||||||
<form> \
|
<form class="form-stacked"> \
|
||||||
<ul> \
|
<div class="clearfix"> \
|
||||||
<li class="editor-type"> \
|
<label>Graph Type</label> \
|
||||||
<label>Graph Type</label> \
|
<div class="input editor-type"> \
|
||||||
<select> \
|
<select> \
|
||||||
<option value="line">Line</option> \
|
<option value="line">Line</option> \
|
||||||
</select> \
|
</select> \
|
||||||
</li> \
|
</div> \
|
||||||
<li class="editor-group"> \
|
<label>Group Column (x-axis)</label> \
|
||||||
<label>Group Column (x-axis)</label> \
|
<div class="input editor-group"> \
|
||||||
<select> \
|
<select> \
|
||||||
{{#headers}} \
|
{{#headers}} \
|
||||||
<option value="{{.}}">{{.}}</option> \
|
<option value="{{.}}">{{.}}</option> \
|
||||||
{{/headers}} \
|
{{/headers}} \
|
||||||
</select> \
|
</select> \
|
||||||
</li> \
|
</div> \
|
||||||
<li class="editor-series"> \
|
<label>Series <span>A (y-axis)</span></label> \
|
||||||
<label>Series <span>A (y-axis)</span></label> \
|
<div class="input editor-series"> \
|
||||||
<select> \
|
<select> \
|
||||||
{{#headers}} \
|
{{#headers}} \
|
||||||
<option value="{{.}}">{{.}}</option> \
|
<option value="{{.}}">{{.}}</option> \
|
||||||
{{/headers}} \
|
{{/headers}} \
|
||||||
</select> \
|
</select> \
|
||||||
</li> \
|
</div> \
|
||||||
</ul> \
|
|
||||||
<div class="editor-buttons"> \
|
|
||||||
<button class="editor-add">Add Series</button> \
|
|
||||||
</div> \
|
</div> \
|
||||||
<div class="editor-buttons editor-submit"> \
|
<div class="editor-buttons"> \
|
||||||
|
<button class="btn editor-add">Add Series</button> \
|
||||||
|
</div> \
|
||||||
|
<div class="editor-buttons editor-submit" comment="hidden temporarily" style="display: none;"> \
|
||||||
<button class="editor-save">Save</button> \
|
<button class="editor-save">Save</button> \
|
||||||
<input type="hidden" class="editor-id" value="chart-1" /> \
|
<input type="hidden" class="editor-id" value="chart-1" /> \
|
||||||
</div> \
|
</div> \
|
||||||
</form> \
|
</form> \
|
||||||
</div> \
|
</div> \
|
||||||
|
<div class="panel graph"></div> \
|
||||||
</div> \
|
</div> \
|
||||||
',
|
',
|
||||||
|
|
||||||
|
|||||||
2467
vendor/bootstrap/1.4.0/bootstrap.css
vendored
Normal file
2467
vendor/bootstrap/1.4.0/bootstrap.css
vendored
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user