2011-02-11 16:35:11 -06:00
|
|
|
/*
|
|
|
|
* author: Jonathan Bernard
|
|
|
|
* TimeStamper main CSS for screen media types
|
|
|
|
*/
|
|
|
|
|
|
|
|
@import "rounded";
|
|
|
|
|
2011-05-03 12:50:03 -05:00
|
|
|
$darkTxt: #222;
|
|
|
|
$lightTxt: #eee;
|
|
|
|
$darkBg: #222;
|
|
|
|
$lightBg: #eee;
|
|
|
|
$medBg: #CCC;
|
2011-04-15 13:26:55 -05:00
|
|
|
|
|
|
|
* {
|
2011-05-03 12:50:03 -05:00
|
|
|
color: inherit;
|
2011-02-11 16:35:11 -06:00
|
|
|
}
|
|
|
|
|
|
|
|
body {
|
2011-05-03 12:50:03 -05:00
|
|
|
color: $darkTxt;
|
|
|
|
width: 75%;
|
2011-02-11 16:35:11 -06:00
|
|
|
margin: auto;
|
2011-05-16 04:09:37 -05:00
|
|
|
padding: 0;
|
2011-02-11 16:35:11 -06:00
|
|
|
}
|
|
|
|
|
2011-05-03 12:50:03 -05:00
|
|
|
input {
|
|
|
|
border: solid thin lighten($darkTxt, 20%);
|
|
|
|
-webkit-box-shadow: inset 0px 2px 4px #CCC;
|
|
|
|
box-shadow: inset 0px 2px 4px #CCC;
|
2011-05-16 04:09:37 -05:00
|
|
|
margin: 0;
|
2011-05-06 13:14:57 -05:00
|
|
|
margin-bottom: 0.5em; // IE fix
|
2011-05-16 04:09:37 -05:00
|
|
|
padding: 0;
|
2011-05-03 12:50:03 -05:00
|
|
|
font-family: Cantarell;
|
|
|
|
}
|
|
|
|
|
2011-04-15 13:26:55 -05:00
|
|
|
#top {
|
2011-05-03 12:50:03 -05:00
|
|
|
background: $darkBg;
|
|
|
|
color: $lightTxt;
|
2011-05-16 04:09:37 -05:00
|
|
|
margin: 0;
|
|
|
|
opacity: 1;
|
2011-05-06 13:14:57 -05:00
|
|
|
padding: 0.5em 0; // IE Fix
|
2011-05-03 12:50:03 -05:00
|
|
|
padding: 0.5rem 0;
|
2011-04-15 13:26:55 -05:00
|
|
|
position: fixed;
|
|
|
|
top: 0px;
|
2011-05-03 12:50:03 -05:00
|
|
|
width: 75%;
|
2011-05-16 04:09:37 -05:00
|
|
|
z-index: 1;
|
|
|
|
|
|
|
|
* {
|
|
|
|
margin: 0;
|
|
|
|
padding: 0;
|
|
|
|
}
|
2011-02-11 16:35:11 -06:00
|
|
|
|
2011-04-15 13:26:55 -05:00
|
|
|
#fade-bar {
|
|
|
|
background: url('img/fade.png') repeat-x;
|
|
|
|
height: 32px;
|
|
|
|
width: 100%;
|
2011-03-07 16:43:40 -06:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2011-04-15 13:26:55 -05:00
|
|
|
#timeline {
|
2011-02-12 07:48:19 -06:00
|
|
|
|
2011-05-03 12:50:03 -05:00
|
|
|
border-bottom: thin solid $lightBg;
|
2011-04-15 13:26:55 -05:00
|
|
|
font-family: Arvo;
|
|
|
|
font-size: 1.5em;
|
2011-05-06 13:14:57 -05:00
|
|
|
padding: 0 2em;
|
2011-05-03 12:50:03 -05:00
|
|
|
padding: 0 2rem;
|
2011-02-12 07:48:19 -06:00
|
|
|
|
2011-04-15 13:26:55 -05:00
|
|
|
.timeline-desc {
|
|
|
|
display: inline-block;
|
|
|
|
width: 70%;
|
2011-02-12 07:48:19 -06:00
|
|
|
}
|
|
|
|
|
2011-04-27 14:11:54 -05:00
|
|
|
.timeline-desc-input { width: 70% }
|
|
|
|
|
2011-04-15 13:26:55 -05:00
|
|
|
.timeline-id { display: inline-block; }
|
2011-02-12 07:48:19 -06:00
|
|
|
|
Duration display, time formatting, UI tweaks.
Client Behaviour (ts.js)
========================
- Created EntryView.getViewModel: translates model data to view data,
specifically synthesizes the start time and duration from the timestamp.
- Added nextModel option to EntryView, needed for calculating the entry
duration.
- Created EntryView.formatStart: given the timestamp, return the start time,
in HH:MM format. Code is written for both 24hr and 12hr format, still need
to write a selector mechanism. For now, uses 12hr format.
- Created EntryView.formatDuration: Get the duration of the entry based on
this entry's timestamp and and the next entry's timestamp in a display-able
form. If nextModel is `null` or `undefined` it is assumed that `model`
is the most recent model and duration is calculated against the current time.
- Changed EntryView.render to use getViewModel.
- Added 'blur' listeners to the mark and timestamp input fields to close them
without persisting the changes.
- Created EntryView.update: Refresh the display based on the model using the
existing DOM elements.
- EntryView.save() now uses EntryView.update() instead of EntryView.render()
and no longer includes an implicit close()
- EntryView.close() has been split into seperate save() and close() functions,
to persist the changes and hide the input dialogs, respectively.
- EntryListView.addOne now passes the nextModel to EntryViews is creates.
- EntryListView.createNewEntryOnEnter() now clear the new intry input after
creating a new entry.
- EntryListView.render() now uses a for-structure to traverse the entry
collection and passes the nextModel (if there is one) to EntryListView.addOne.
Client UI (ts-screen.scss)
==========================
- Font size, family, and color adjusted on timeline and user input fields.
- Day seperator secondary header colors adjusted.
- Mark column width shortened, timestamp and duration columns widened.
- Styles added for notes UI
Client UI (index.yaws)
======================
- Markup changes needed for getViewModel chanes.
- Expanded day seperator.
2011-05-07 21:31:30 -05:00
|
|
|
.timeline-desc-input, .timeline-id-input {
|
|
|
|
font-family: inherit;
|
|
|
|
font-size: inherit;
|
|
|
|
color: $darkBg;
|
|
|
|
display: none;
|
|
|
|
}
|
2011-04-27 14:11:54 -05:00
|
|
|
|
|
|
|
&.edit-id {
|
|
|
|
.timeline-id-input { display: inline-block; }
|
|
|
|
.timeline-id { display: none; }
|
|
|
|
}
|
|
|
|
|
|
|
|
&.edit-desc {
|
|
|
|
.timeline-desc-input { display: inline-block; }
|
|
|
|
.timeline-desc { display: none; }
|
|
|
|
}
|
|
|
|
|
|
|
|
.drop-menu {
|
2011-04-15 13:26:55 -05:00
|
|
|
text-align: right;
|
|
|
|
display: inline-block;
|
|
|
|
width: 29%;
|
2011-02-14 17:16:37 -06:00
|
|
|
|
2011-04-15 13:26:55 -05:00
|
|
|
.drop-menu-items {
|
|
|
|
text-align: right;
|
|
|
|
right: 0;
|
2011-05-03 12:50:03 -05:00
|
|
|
width: 172.41%;
|
|
|
|
|
2011-06-10 11:49:45 -05:00
|
|
|
.new-timeline-link {
|
|
|
|
padding-right: 0.5em;
|
2011-05-03 12:50:03 -05:00
|
|
|
font-size: medium;
|
2011-06-10 11:49:45 -05:00
|
|
|
|
|
|
|
a { text-decoration: underline; }
|
2011-06-07 08:34:20 -05:00
|
|
|
|
|
|
|
img {
|
|
|
|
position: relative;
|
|
|
|
top: 4px;
|
|
|
|
left: -4px;
|
|
|
|
}
|
2011-05-03 12:50:03 -05:00
|
|
|
}
|
2011-06-10 11:49:45 -05:00
|
|
|
|
|
|
|
.timeline-link {
|
|
|
|
padding: 0 0.5em;
|
|
|
|
font-size: medium;
|
|
|
|
border-left: thin solid white
|
|
|
|
}
|
2011-04-15 13:26:55 -05:00
|
|
|
}
|
2011-02-12 07:48:19 -06:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2011-06-01 06:29:48 -05:00
|
|
|
.dialog {
|
|
|
|
|
|
|
|
background: white;
|
|
|
|
background: rgba(255, 255, 255, 0.5);
|
|
|
|
color: $lightTxt;
|
|
|
|
margin: 0;
|
|
|
|
padding: 0;
|
|
|
|
|
|
|
|
position: fixed;
|
|
|
|
top: 0px;
|
|
|
|
left: 0px;
|
|
|
|
|
|
|
|
width: 100%;
|
|
|
|
height: 100em;
|
|
|
|
|
|
|
|
z-index: 10;
|
|
|
|
|
|
|
|
* {
|
|
|
|
margin: 0;
|
|
|
|
padding: 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
div.container {
|
|
|
|
|
|
|
|
background: $darkBg;
|
|
|
|
border-radius: 10px;
|
|
|
|
font-family: Cantarell;
|
|
|
|
margin-left: auto;
|
|
|
|
margin-right: auto;
|
|
|
|
margin-top: 4em;
|
|
|
|
padding: 1em;
|
|
|
|
width: 20em;
|
|
|
|
|
|
|
|
h2 {
|
|
|
|
border-bottom: thin solid $lightBg;
|
|
|
|
font-family: Arvo;
|
|
|
|
padding-bottom: 0.5em;
|
|
|
|
margin-bottom: 0.5em;
|
|
|
|
}
|
|
|
|
|
|
|
|
label {
|
|
|
|
display: inline-block;
|
|
|
|
width: 6em;
|
|
|
|
}
|
|
|
|
|
|
|
|
input {
|
|
|
|
color: $darkTxt;
|
|
|
|
}
|
|
|
|
|
|
|
|
.button-panel {
|
|
|
|
margin-top: 0.5em;
|
|
|
|
overflow: hidden;
|
|
|
|
|
|
|
|
.validate-tips { font-size: 1em; }
|
|
|
|
|
|
|
|
.dialog-button {
|
|
|
|
|
|
|
|
float: right;
|
|
|
|
padding-left: 1em;
|
|
|
|
|
|
|
|
font-family: Arvo;
|
|
|
|
font-size: 1.2em;
|
|
|
|
|
|
|
|
a { color: $lightBg; }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#login.dialog {
|
|
|
|
background: white;
|
|
|
|
opacity: 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*#login {
|
2011-05-06 17:45:56 -05:00
|
|
|
|
|
|
|
background: white;
|
|
|
|
color: $lightTxt;
|
2011-05-16 04:09:37 -05:00
|
|
|
margin: 0;
|
|
|
|
padding: 0;
|
2011-05-06 17:45:56 -05:00
|
|
|
opacity: 1;
|
|
|
|
|
|
|
|
position: fixed;
|
|
|
|
top: 0px;
|
|
|
|
left: 0px;
|
|
|
|
|
|
|
|
width: 100%;
|
|
|
|
height: 100em;
|
|
|
|
|
|
|
|
z-index: 10;
|
2011-05-16 04:09:37 -05:00
|
|
|
|
|
|
|
* {
|
|
|
|
margin: 0;
|
|
|
|
padding: 0;
|
|
|
|
}
|
2011-05-06 17:45:56 -05:00
|
|
|
|
|
|
|
div.container {
|
|
|
|
|
|
|
|
background: $darkBg;
|
|
|
|
border-radius: 10px;
|
|
|
|
font-family: Cantarell;
|
|
|
|
margin-left: auto;
|
|
|
|
margin-right: auto;
|
|
|
|
margin-top: 4em;
|
|
|
|
padding: 1em;
|
|
|
|
width: 20em;
|
|
|
|
|
|
|
|
h2 {
|
|
|
|
border-bottom: thin solid $lightBg;
|
|
|
|
font-family: Arvo;
|
|
|
|
padding-bottom: 0.5em;
|
|
|
|
margin-bottom: 0.5em;
|
|
|
|
}
|
|
|
|
|
|
|
|
label {
|
|
|
|
display: inline-block;
|
|
|
|
width: 6em;
|
|
|
|
}
|
|
|
|
|
|
|
|
input {
|
|
|
|
color: $darkTxt;
|
|
|
|
}
|
|
|
|
|
|
|
|
#login-button {
|
|
|
|
|
|
|
|
text-align: right;
|
|
|
|
margin-top: 0.5em;
|
|
|
|
|
|
|
|
font-family: Arvo;
|
|
|
|
font-size: 1.2em;
|
|
|
|
|
|
|
|
.validate-tips { font-size: 1em; }
|
|
|
|
|
|
|
|
a { color: $lightBg; }
|
|
|
|
}
|
|
|
|
}
|
2011-06-01 06:29:48 -05:00
|
|
|
}*/
|
2011-05-06 17:45:56 -05:00
|
|
|
|
|
|
|
#user {
|
|
|
|
|
|
|
|
font-family: "Josefin Sans";
|
|
|
|
margin-top: -0.3em; // IE fix
|
|
|
|
padding: 0 2em;
|
|
|
|
margin-top: -0.3rem;
|
|
|
|
padding: 0 2rem;
|
|
|
|
width: 100%;
|
|
|
|
|
|
|
|
.fullname, .username {
|
|
|
|
display: inline-block;
|
|
|
|
font-size: larger;
|
|
|
|
}
|
|
|
|
|
Duration display, time formatting, UI tweaks.
Client Behaviour (ts.js)
========================
- Created EntryView.getViewModel: translates model data to view data,
specifically synthesizes the start time and duration from the timestamp.
- Added nextModel option to EntryView, needed for calculating the entry
duration.
- Created EntryView.formatStart: given the timestamp, return the start time,
in HH:MM format. Code is written for both 24hr and 12hr format, still need
to write a selector mechanism. For now, uses 12hr format.
- Created EntryView.formatDuration: Get the duration of the entry based on
this entry's timestamp and and the next entry's timestamp in a display-able
form. If nextModel is `null` or `undefined` it is assumed that `model`
is the most recent model and duration is calculated against the current time.
- Changed EntryView.render to use getViewModel.
- Added 'blur' listeners to the mark and timestamp input fields to close them
without persisting the changes.
- Created EntryView.update: Refresh the display based on the model using the
existing DOM elements.
- EntryView.save() now uses EntryView.update() instead of EntryView.render()
and no longer includes an implicit close()
- EntryView.close() has been split into seperate save() and close() functions,
to persist the changes and hide the input dialogs, respectively.
- EntryListView.addOne now passes the nextModel to EntryViews is creates.
- EntryListView.createNewEntryOnEnter() now clear the new intry input after
creating a new entry.
- EntryListView.render() now uses a for-structure to traverse the entry
collection and passes the nextModel (if there is one) to EntryListView.addOne.
Client UI (ts-screen.scss)
==========================
- Font size, family, and color adjusted on timeline and user input fields.
- Day seperator secondary header colors adjusted.
- Mark column width shortened, timestamp and duration columns widened.
- Styles added for notes UI
Client UI (index.yaws)
======================
- Markup changes needed for getViewModel chanes.
- Expanded day seperator.
2011-05-07 21:31:30 -05:00
|
|
|
.fullname-input {
|
|
|
|
font-family: inherit;
|
|
|
|
font-size: inherit;
|
|
|
|
color: $darkBg;
|
|
|
|
display: none;
|
|
|
|
}
|
2011-05-06 17:45:56 -05:00
|
|
|
|
|
|
|
&.edit-fullname{
|
|
|
|
.fullname-input { display: inline-block; }
|
|
|
|
.fullname { display: none; }
|
|
|
|
}
|
|
|
|
|
2011-06-01 06:29:48 -05:00
|
|
|
.user-menu { display: inline-block; }
|
2011-05-06 17:45:56 -05:00
|
|
|
|
2011-06-01 06:29:48 -05:00
|
|
|
.user-menu .user-menu-items {
|
2011-05-06 17:45:56 -05:00
|
|
|
list-style: none;
|
2011-06-01 06:29:48 -05:00
|
|
|
display: none;
|
|
|
|
|
|
|
|
li {
|
|
|
|
display: inline-block;
|
|
|
|
padding-left: 0.5em;
|
|
|
|
}
|
|
|
|
|
|
|
|
a { text-decoration: none; }
|
|
|
|
a:hover { text-decoration: underline; }
|
2011-05-06 17:45:56 -05:00
|
|
|
}
|
|
|
|
|
2011-06-01 06:29:48 -05:00
|
|
|
.user-menu:hover .user-menu-items, .user-menu-items:hover { display: inline-block; }
|
2011-05-06 17:45:56 -05:00
|
|
|
|
|
|
|
}
|
|
|
|
|
2011-05-03 12:50:03 -05:00
|
|
|
#entry-list {
|
2011-05-06 13:14:57 -05:00
|
|
|
|
2011-05-16 04:09:37 -05:00
|
|
|
margin: 6em 0 0 0;
|
|
|
|
margin: 6rem 0 0 0;
|
|
|
|
padding-bottom: 1em 0 0 0;
|
|
|
|
padding-bottom: 1rem 0 0 0;
|
2011-05-03 12:50:03 -05:00
|
|
|
|
2011-05-06 13:14:57 -05:00
|
|
|
.day-seperator {
|
2011-02-11 16:35:11 -06:00
|
|
|
|
2011-05-06 13:14:57 -05:00
|
|
|
background: $medBg;
|
|
|
|
color: $darkBg;
|
|
|
|
font-family: Cantarell;
|
|
|
|
font-weight: bold;
|
2011-05-16 04:09:37 -05:00
|
|
|
margin: 1em 0 0 0;
|
|
|
|
margin: 1rem 0 0 0;
|
2011-05-06 13:14:57 -05:00
|
|
|
padding: 0 2em;
|
|
|
|
padding: 0 2rem;
|
2011-02-11 16:35:11 -06:00
|
|
|
|
2011-05-16 04:09:37 -05:00
|
|
|
* {
|
|
|
|
margin: 0;
|
|
|
|
padding: 0;
|
|
|
|
}
|
|
|
|
|
2011-05-06 13:14:57 -05:00
|
|
|
h4, h5 { display: inline-block; }
|
Duration display, time formatting, UI tweaks.
Client Behaviour (ts.js)
========================
- Created EntryView.getViewModel: translates model data to view data,
specifically synthesizes the start time and duration from the timestamp.
- Added nextModel option to EntryView, needed for calculating the entry
duration.
- Created EntryView.formatStart: given the timestamp, return the start time,
in HH:MM format. Code is written for both 24hr and 12hr format, still need
to write a selector mechanism. For now, uses 12hr format.
- Created EntryView.formatDuration: Get the duration of the entry based on
this entry's timestamp and and the next entry's timestamp in a display-able
form. If nextModel is `null` or `undefined` it is assumed that `model`
is the most recent model and duration is calculated against the current time.
- Changed EntryView.render to use getViewModel.
- Added 'blur' listeners to the mark and timestamp input fields to close them
without persisting the changes.
- Created EntryView.update: Refresh the display based on the model using the
existing DOM elements.
- EntryView.save() now uses EntryView.update() instead of EntryView.render()
and no longer includes an implicit close()
- EntryView.close() has been split into seperate save() and close() functions,
to persist the changes and hide the input dialogs, respectively.
- EntryListView.addOne now passes the nextModel to EntryViews is creates.
- EntryListView.createNewEntryOnEnter() now clear the new intry input after
creating a new entry.
- EntryListView.render() now uses a for-structure to traverse the entry
collection and passes the nextModel (if there is one) to EntryListView.addOne.
Client UI (ts-screen.scss)
==========================
- Font size, family, and color adjusted on timeline and user input fields.
- Day seperator secondary header colors adjusted.
- Mark column width shortened, timestamp and duration columns widened.
- Styles added for notes UI
Client UI (index.yaws)
======================
- Markup changes needed for getViewModel chanes.
- Expanded day seperator.
2011-05-07 21:31:30 -05:00
|
|
|
|
|
|
|
h5 { color: #667; }
|
2011-05-06 13:14:57 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
#new-entry {
|
2011-05-16 04:09:37 -05:00
|
|
|
margin: 0.5em 0 0 0;
|
2011-05-06 13:14:57 -05:00
|
|
|
padding: 0 2em;
|
2011-05-16 04:09:37 -05:00
|
|
|
margin: 0.5rem 0 0 0;
|
2011-05-06 13:14:57 -05:00
|
|
|
padding: 0 2rem;
|
2011-04-20 09:40:54 -05:00
|
|
|
|
2011-05-16 04:09:37 -05:00
|
|
|
* {
|
|
|
|
margin: 0;
|
|
|
|
padding: 0;
|
|
|
|
}
|
2011-05-06 13:14:57 -05:00
|
|
|
}
|
2011-04-20 09:40:54 -05:00
|
|
|
|
2011-05-06 13:14:57 -05:00
|
|
|
.timestamp, .timestamp-input, .duration {
|
|
|
|
text-align: right;
|
Duration display, time formatting, UI tweaks.
Client Behaviour (ts.js)
========================
- Created EntryView.getViewModel: translates model data to view data,
specifically synthesizes the start time and duration from the timestamp.
- Added nextModel option to EntryView, needed for calculating the entry
duration.
- Created EntryView.formatStart: given the timestamp, return the start time,
in HH:MM format. Code is written for both 24hr and 12hr format, still need
to write a selector mechanism. For now, uses 12hr format.
- Created EntryView.formatDuration: Get the duration of the entry based on
this entry's timestamp and and the next entry's timestamp in a display-able
form. If nextModel is `null` or `undefined` it is assumed that `model`
is the most recent model and duration is calculated against the current time.
- Changed EntryView.render to use getViewModel.
- Added 'blur' listeners to the mark and timestamp input fields to close them
without persisting the changes.
- Created EntryView.update: Refresh the display based on the model using the
existing DOM elements.
- EntryView.save() now uses EntryView.update() instead of EntryView.render()
and no longer includes an implicit close()
- EntryView.close() has been split into seperate save() and close() functions,
to persist the changes and hide the input dialogs, respectively.
- EntryListView.addOne now passes the nextModel to EntryViews is creates.
- EntryListView.createNewEntryOnEnter() now clear the new intry input after
creating a new entry.
- EntryListView.render() now uses a for-structure to traverse the entry
collection and passes the nextModel (if there is one) to EntryListView.addOne.
Client UI (ts-screen.scss)
==========================
- Font size, family, and color adjusted on timeline and user input fields.
- Day seperator secondary header colors adjusted.
- Mark column width shortened, timestamp and duration columns widened.
- Styles added for notes UI
Client UI (index.yaws)
======================
- Markup changes needed for getViewModel chanes.
- Expanded day seperator.
2011-05-07 21:31:30 -05:00
|
|
|
width: 14%;
|
2011-05-06 13:14:57 -05:00
|
|
|
}
|
|
|
|
|
Duration display, time formatting, UI tweaks.
Client Behaviour (ts.js)
========================
- Created EntryView.getViewModel: translates model data to view data,
specifically synthesizes the start time and duration from the timestamp.
- Added nextModel option to EntryView, needed for calculating the entry
duration.
- Created EntryView.formatStart: given the timestamp, return the start time,
in HH:MM format. Code is written for both 24hr and 12hr format, still need
to write a selector mechanism. For now, uses 12hr format.
- Created EntryView.formatDuration: Get the duration of the entry based on
this entry's timestamp and and the next entry's timestamp in a display-able
form. If nextModel is `null` or `undefined` it is assumed that `model`
is the most recent model and duration is calculated against the current time.
- Changed EntryView.render to use getViewModel.
- Added 'blur' listeners to the mark and timestamp input fields to close them
without persisting the changes.
- Created EntryView.update: Refresh the display based on the model using the
existing DOM elements.
- EntryView.save() now uses EntryView.update() instead of EntryView.render()
and no longer includes an implicit close()
- EntryView.close() has been split into seperate save() and close() functions,
to persist the changes and hide the input dialogs, respectively.
- EntryListView.addOne now passes the nextModel to EntryViews is creates.
- EntryListView.createNewEntryOnEnter() now clear the new intry input after
creating a new entry.
- EntryListView.render() now uses a for-structure to traverse the entry
collection and passes the nextModel (if there is one) to EntryListView.addOne.
Client UI (ts-screen.scss)
==========================
- Font size, family, and color adjusted on timeline and user input fields.
- Day seperator secondary header colors adjusted.
- Mark column width shortened, timestamp and duration columns widened.
- Styles added for notes UI
Client UI (index.yaws)
======================
- Markup changes needed for getViewModel chanes.
- Expanded day seperator.
2011-05-07 21:31:30 -05:00
|
|
|
.mark, .mark-input { width: 70%; }
|
2011-05-06 13:14:57 -05:00
|
|
|
|
2011-04-15 13:26:55 -05:00
|
|
|
.entry {
|
2011-02-11 16:35:11 -06:00
|
|
|
|
2011-04-15 13:26:55 -05:00
|
|
|
font-family: Cantarell;
|
2011-05-06 13:14:57 -05:00
|
|
|
padding: 0 2em;
|
2011-05-03 12:50:03 -05:00
|
|
|
padding: 0 2rem;
|
2011-02-11 17:09:58 -06:00
|
|
|
|
2011-04-15 13:26:55 -05:00
|
|
|
div { display: inline-block; }
|
2011-02-11 16:35:11 -06:00
|
|
|
|
2011-05-09 10:52:21 -05:00
|
|
|
.mark {
|
2011-05-16 04:09:37 -05:00
|
|
|
margin: 0;
|
|
|
|
padding: 0;
|
2011-05-09 10:52:21 -05:00
|
|
|
position: relative;
|
|
|
|
|
2011-05-16 04:09:37 -05:00
|
|
|
* {
|
|
|
|
margin: 0;
|
|
|
|
padding: 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
img.expand-entry, img.collapse-entry {
|
2011-05-09 10:52:21 -05:00
|
|
|
display: none;
|
|
|
|
left: -20px;
|
|
|
|
position: absolute;
|
|
|
|
top: 6px;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2011-05-16 04:09:37 -05:00
|
|
|
&:hover .mark img.expand-entry, &.show-notes img.collapse-entry { display: inline; }
|
2011-05-09 10:52:21 -05:00
|
|
|
|
2011-05-16 04:09:37 -05:00
|
|
|
.mark-input, .timestamp-input,
|
|
|
|
&.show-notes:hover img.expand-entry { display: none; }
|
2011-03-07 16:43:40 -06:00
|
|
|
|
2011-05-16 04:09:37 -05:00
|
|
|
.notes {
|
2011-05-09 10:52:21 -05:00
|
|
|
display: none;
|
|
|
|
font-family: Cantarell;
|
|
|
|
font-size: small;
|
2011-05-16 04:09:37 -05:00
|
|
|
margin: 0;
|
|
|
|
padding: 0 0 0 1em;
|
|
|
|
|
|
|
|
:first-child { margin-top: 0; }
|
|
|
|
|
|
|
|
.notes-input, pre, code { font-family: 'Anonymous Pro'; }
|
2011-05-09 10:52:21 -05:00
|
|
|
}
|
2011-05-16 04:09:37 -05:00
|
|
|
|
|
|
|
.notes * { width: 100%; }
|
2011-05-06 13:14:57 -05:00
|
|
|
|
2011-05-03 12:50:03 -05:00
|
|
|
&.edit-mark {
|
|
|
|
.mark-input { display: inline-block; }
|
|
|
|
.mark { display: none; }
|
|
|
|
}
|
|
|
|
|
|
|
|
&.edit-timestamp {
|
|
|
|
.timestamp-input { display: inline-block; }
|
|
|
|
.timestamp { display: none; }
|
|
|
|
}
|
|
|
|
|
2011-05-16 04:09:37 -05:00
|
|
|
.notes-input { display: none; }
|
|
|
|
|
Duration display, time formatting, UI tweaks.
Client Behaviour (ts.js)
========================
- Created EntryView.getViewModel: translates model data to view data,
specifically synthesizes the start time and duration from the timestamp.
- Added nextModel option to EntryView, needed for calculating the entry
duration.
- Created EntryView.formatStart: given the timestamp, return the start time,
in HH:MM format. Code is written for both 24hr and 12hr format, still need
to write a selector mechanism. For now, uses 12hr format.
- Created EntryView.formatDuration: Get the duration of the entry based on
this entry's timestamp and and the next entry's timestamp in a display-able
form. If nextModel is `null` or `undefined` it is assumed that `model`
is the most recent model and duration is calculated against the current time.
- Changed EntryView.render to use getViewModel.
- Added 'blur' listeners to the mark and timestamp input fields to close them
without persisting the changes.
- Created EntryView.update: Refresh the display based on the model using the
existing DOM elements.
- EntryView.save() now uses EntryView.update() instead of EntryView.render()
and no longer includes an implicit close()
- EntryView.close() has been split into seperate save() and close() functions,
to persist the changes and hide the input dialogs, respectively.
- EntryListView.addOne now passes the nextModel to EntryViews is creates.
- EntryListView.createNewEntryOnEnter() now clear the new intry input after
creating a new entry.
- EntryListView.render() now uses a for-structure to traverse the entry
collection and passes the nextModel (if there is one) to EntryListView.addOne.
Client UI (ts-screen.scss)
==========================
- Font size, family, and color adjusted on timeline and user input fields.
- Day seperator secondary header colors adjusted.
- Mark column width shortened, timestamp and duration columns widened.
- Styles added for notes UI
Client UI (index.yaws)
======================
- Markup changes needed for getViewModel chanes.
- Expanded day seperator.
2011-05-07 21:31:30 -05:00
|
|
|
&.edit-notes .notes-input { display: block; }
|
|
|
|
|
2011-05-16 04:09:37 -05:00
|
|
|
&.edit-notes .notes-text { display: none; }
|
|
|
|
|
2011-02-13 11:38:50 -06:00
|
|
|
}
|
|
|
|
|
|
|
|
}
|
2011-03-01 08:23:51 -06:00
|
|
|
|
2011-04-15 13:26:55 -05:00
|
|
|
.drop-menu {
|
2011-05-16 04:09:37 -05:00
|
|
|
margin: 0;
|
|
|
|
padding: 0;
|
2011-04-15 13:26:55 -05:00
|
|
|
position: relative;
|
2011-03-03 17:05:30 -06:00
|
|
|
|
2011-05-16 04:09:37 -05:00
|
|
|
* {
|
|
|
|
margin: 0;
|
|
|
|
padding: 0;
|
|
|
|
}
|
|
|
|
|
2011-04-15 13:26:55 -05:00
|
|
|
.drop-menu-items {
|
|
|
|
display: none;
|
|
|
|
list-style: none;
|
|
|
|
position: absolute;
|
2011-03-03 17:05:30 -06:00
|
|
|
|
2011-05-03 12:50:03 -05:00
|
|
|
li {
|
|
|
|
display: inline-block;
|
|
|
|
padding-left: 0.5em;
|
|
|
|
}
|
2011-03-03 17:05:30 -06:00
|
|
|
}
|
2011-03-08 18:02:33 -06:00
|
|
|
|
2011-05-03 12:50:03 -05:00
|
|
|
&:hover .drop-menu-items, .drop-menu-items:hover { display: block; }
|
|
|
|
|
|
|
|
a {
|
|
|
|
display: inline-block;
|
|
|
|
text-decoration: none;
|
|
|
|
|
|
|
|
&:hover {
|
|
|
|
text-decoration: underline;
|
|
|
|
}
|
|
|
|
}
|
2011-03-03 17:05:30 -06:00
|
|
|
}
|
|
|
|
|
2011-04-15 13:26:55 -05:00
|
|
|
.footer {
|
2011-03-07 16:43:40 -06:00
|
|
|
|
2011-05-03 12:50:03 -05:00
|
|
|
background: $darkBg;
|
|
|
|
color: $lightTxt;
|
2011-04-15 13:26:55 -05:00
|
|
|
font-family: Bentham;
|
2011-05-16 04:09:37 -05:00
|
|
|
margin: 0;
|
2011-05-06 13:14:57 -05:00
|
|
|
padding: 1em 0;
|
2011-05-03 12:50:03 -05:00
|
|
|
padding: 1rem 0;
|
2011-04-15 13:26:55 -05:00
|
|
|
text-align: center;
|
|
|
|
width: 100%;
|
2011-03-07 16:43:40 -06:00
|
|
|
|
2011-05-16 04:09:37 -05:00
|
|
|
* {
|
|
|
|
margin: 0;
|
|
|
|
padding: 0;
|
|
|
|
}
|
|
|
|
|
2011-04-15 13:26:55 -05:00
|
|
|
a {
|
2011-05-03 12:50:03 -05:00
|
|
|
color: lighten($lightTxt, 20%);
|
2011-04-15 13:26:55 -05:00
|
|
|
text-decoration: none;
|
2011-03-01 08:23:51 -06:00
|
|
|
|
2011-04-15 13:26:55 -05:00
|
|
|
&:hover { text-decoration: underline; }
|
2011-03-01 08:23:51 -06:00
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2011-04-15 13:26:55 -05:00
|
|
|
.logo {
|
|
|
|
font-family: Bentham;
|
|
|
|
text-decoration: overline underline;
|
|
|
|
color: inherit;
|
2011-03-01 08:23:51 -06:00
|
|
|
}
|
2011-05-06 17:45:56 -05:00
|
|
|
|
|
|
|
.hidden { display: none; }
|