Implemented notes UI.

- Switched from a global reset in www/css/ts-screen.scss to a selected
  top-level elements reset to allow default formatting for user notes.
- Restructured the #entry-list and entry displays.
- Restructured notes div, now has a sub-div for text and a textarea
  element for input.
- Added Showdown.js, a JavaScript Markdown library for formatting comments.
- Moved EntryView blur events to the View events map.
- Added images for expansion of notes.
- Added the ability to edit notes.
- Split EntryListView.addOne into renderOne and addOne so that renderOne
  can be called with a new entry (fixes duration glitch)
This commit is contained in:
Jonathan Bernard
2011-05-16 04:09:37 -05:00
parent 65a9a517f9
commit 2cc17b85f1
35 changed files with 1949 additions and 1427 deletions

View File

@ -4,30 +4,37 @@
*/
/* _rounded.scss */
* {
color: inherit;
margin: 0;
padding: 0; }
color: inherit; }
body {
color: #222222;
width: 75%;
margin: auto; }
margin: auto;
padding: 0; }
input {
border: solid thin #555555;
-webkit-box-shadow: inset 0px 2px 4px #CCC;
box-shadow: inset 0px 2px 4px #CCC;
margin: 0;
margin-bottom: 0.5em;
padding: 0;
font-family: Cantarell; }
#top {
background: #222222;
color: #eeeeee;
margin: 0;
opacity: 1;
padding: 0.5em 0;
padding: 0.5rem 0;
position: fixed;
top: 0px;
width: 75%; }
width: 75%;
z-index: 1; }
#top * {
margin: 0;
padding: 0; }
#top #fade-bar {
background: url("img/fade.png") repeat-x;
height: 32px;
@ -73,6 +80,8 @@ input {
#login {
background: white;
color: #eeeeee;
margin: 0;
padding: 0;
opacity: 1;
position: fixed;
top: 0px;
@ -80,6 +89,9 @@ input {
width: 100%;
height: 100em;
z-index: 10; }
#login * {
margin: 0;
padding: 0; }
#login div.container {
background: #222222;
border-radius: 10px;
@ -138,28 +150,34 @@ input {
width: 10em; }
#entry-list {
margin-top: 6em;
padding-bottom: 1em;
margin-top: 6rem;
padding-bottom: 1rem; }
margin: 6em 0 0 0;
margin: 6rem 0 0 0;
padding-bottom: 1em 0 0 0;
padding-bottom: 1rem 0 0 0; }
#entry-list .day-seperator {
background: #cccccc;
color: #222222;
font-family: Cantarell;
font-weight: bold;
margin-top: 1em;
margin: 1em 0 0 0;
margin: 1rem 0 0 0;
padding: 0 2em;
margin-top: 1rem;
padding: 0 2rem; }
#entry-list .day-seperator * {
margin: 0;
padding: 0; }
#entry-list .day-seperator h4, #entry-list .day-seperator h5 {
display: inline-block; }
#entry-list .day-seperator h5 {
color: #667; }
#entry-list #new-entry {
margin-top: 0.5em;
margin: 0.5em 0 0 0;
padding: 0 2em;
margin-top: 0.5rem;
margin: 0.5rem 0 0 0;
padding: 0 2rem; }
#entry-list #new-entry * {
margin: 0;
padding: 0; }
#entry-list .timestamp, #entry-list .timestamp-input, #entry-list .duration {
text-align: right;
width: 14%; }
@ -172,25 +190,33 @@ input {
#entry-list .entry div {
display: inline-block; }
#entry-list .entry .mark {
margin: 0;
padding: 0;
position: relative; }
#entry-list .entry .mark img.delete-icon {
#entry-list .entry .mark * {
margin: 0;
padding: 0; }
#entry-list .entry .mark img.expand-entry, #entry-list .entry .mark img.collapse-entry {
display: none;
left: -20px;
position: absolute;
top: 6px; }
#entry-list .entry .mark img.notes-icon {
display: none;
margin-top: 6px;
float: right; }
#entry-list .entry:hover .mark img {
#entry-list .entry:hover .mark img.expand-entry, #entry-list .entry.show-notes img.collapse-entry {
display: inline; }
#entry-list .entry .mark-input, #entry-list .entry .timestamp-input {
#entry-list .entry .mark-input, #entry-list .entry .timestamp-input, #entry-list .entry.show-notes:hover img.expand-entry {
display: none; }
#entry-list .entry .notes, #entry-list .entry .notes-input {
#entry-list .entry .notes {
display: none;
font-family: Cantarell;
font-size: small;
padding-left: 1em; }
margin: 0;
padding: 0 0 0 1em; }
#entry-list .entry .notes :first-child {
margin-top: 0; }
#entry-list .entry .notes .notes-input, #entry-list .entry .notes pre, #entry-list .entry .notes code {
font-family: 'Anonymous Pro'; }
#entry-list .entry .notes * {
width: 100%; }
#entry-list .entry.edit-mark .mark-input {
display: inline-block; }
#entry-list .entry.edit-mark .mark {
@ -199,11 +225,20 @@ input {
display: inline-block; }
#entry-list .entry.edit-timestamp .timestamp {
display: none; }
#entry-list .entry .notes-input {
display: none; }
#entry-list .entry.edit-notes .notes-input {
display: block; }
#entry-list .entry.edit-notes .notes-text {
display: none; }
.drop-menu {
margin: 0;
padding: 0;
position: relative; }
.drop-menu * {
margin: 0;
padding: 0; }
.drop-menu .drop-menu-items {
display: none;
list-style: none;
@ -223,10 +258,14 @@ input {
background: #222222;
color: #eeeeee;
font-family: Bentham;
margin: 0;
padding: 1em 0;
padding: 1rem 0;
text-align: center;
width: 100%; }
.footer * {
margin: 0;
padding: 0; }
.footer a {
color: white;
text-decoration: none; }

View File

@ -13,33 +13,41 @@ $medBg: #CCC;
* {
color: inherit;
margin: 0;
padding: 0;
}
body {
color: $darkTxt;
width: 75%;
margin: auto;
padding: 0;
}
input {
border: solid thin lighten($darkTxt, 20%);
-webkit-box-shadow: inset 0px 2px 4px #CCC;
box-shadow: inset 0px 2px 4px #CCC;
margin: 0;
margin-bottom: 0.5em; // IE fix
padding: 0;
font-family: Cantarell;
}
#top {
background: $darkBg;
color: $lightTxt;
margin: 0;
opacity: 1;
padding: 0.5em 0; // IE Fix
padding: 0.5rem 0;
position: fixed;
top: 0px;
width: 75%;
z-index: 1;
* {
margin: 0;
padding: 0;
}
#fade-bar {
background: url('img/fade.png') repeat-x;
@ -103,6 +111,8 @@ input {
background: white;
color: $lightTxt;
margin: 0;
padding: 0;
opacity: 1;
position: fixed;
@ -113,6 +123,11 @@ input {
height: 100em;
z-index: 10;
* {
margin: 0;
padding: 0;
}
div.container {
@ -197,10 +212,10 @@ input {
#entry-list {
margin-top: 6em;
padding-bottom: 1em;
margin-top: 6rem;
padding-bottom: 1rem;
margin: 6em 0 0 0;
margin: 6rem 0 0 0;
padding-bottom: 1em 0 0 0;
padding-bottom: 1rem 0 0 0;
.day-seperator {
@ -208,22 +223,31 @@ input {
color: $darkBg;
font-family: Cantarell;
font-weight: bold;
margin-top: 1em;
margin: 1em 0 0 0;
margin: 1rem 0 0 0;
padding: 0 2em;
margin-top: 1rem;
padding: 0 2rem;
* {
margin: 0;
padding: 0;
}
h4, h5 { display: inline-block; }
h5 { color: #667; }
}
#new-entry {
margin-top: 0.5em;
margin: 0.5em 0 0 0;
padding: 0 2em;
margin-top: 0.5rem;
margin: 0.5rem 0 0 0;
padding: 0 2rem;
* {
margin: 0;
padding: 0;
}
}
.timestamp, .timestamp-input, .duration {
@ -242,32 +266,41 @@ input {
div { display: inline-block; }
.mark {
margin: 0;
padding: 0;
position: relative;
img.delete-icon {
* {
margin: 0;
padding: 0;
}
img.expand-entry, img.collapse-entry {
display: none;
left: -20px;
position: absolute;
top: 6px;
}
img.notes-icon {
display: none;
margin-top: 6px;
float: right;
}
}
&:hover .mark img { display: inline; }
&:hover .mark img.expand-entry, &.show-notes img.collapse-entry { display: inline; }
.mark-input, .timestamp-input { display: none; }
.mark-input, .timestamp-input,
&.show-notes:hover img.expand-entry { display: none; }
.notes, .notes-input {
.notes {
display: none;
font-family: Cantarell;
font-size: small;
padding-left: 1em;
margin: 0;
padding: 0 0 0 1em;
:first-child { margin-top: 0; }
.notes-input, pre, code { font-family: 'Anonymous Pro'; }
}
.notes * { width: 100%; }
&.edit-mark {
.mark-input { display: inline-block; }
@ -279,15 +312,26 @@ input {
.timestamp { display: none; }
}
.notes-input { display: none; }
&.edit-notes .notes-input { display: block; }
&.edit-notes .notes-text { display: none; }
}
}
.drop-menu {
margin: 0;
padding: 0;
position: relative;
* {
margin: 0;
padding: 0;
}
.drop-menu-items {
display: none;
list-style: none;
@ -316,11 +360,17 @@ input {
background: $darkBg;
color: $lightTxt;
font-family: Bentham;
margin: 0;
padding: 1em 0;
padding: 1rem 0;
text-align: center;
width: 100%;
* {
margin: 0;
padding: 0;
}
a {
color: lighten($lightTxt, 20%);
text-decoration: none;