Merge lp:~stephen-stewart/snapweb/the-sun-is-the-same-in-a-relative-way into lp:~snappy-dev/snapweb/trunk

Proposed by Stephen Stewart
Status: Merged
Approved by: Sergio Schvezov
Approved revision: 151
Merged at revision: 145
Proposed branch: lp:~stephen-stewart/snapweb/the-sun-is-the-same-in-a-relative-way
Merge into: lp:~snappy-dev/snapweb/trunk
Prerequisite: lp:~stephen-stewart/snapweb/icons-icons-icons
Diff against target: 136 lines (+74/-4)
6 files modified
package.json (+1/-0)
www/src/css/infobar.css (+11/-0)
www/src/js/templates/layout-infobar.hbs (+5/-0)
www/src/js/templates/layout.hbs (+1/-0)
www/src/js/views/layout-infobar.js (+49/-0)
www/src/js/views/layout.js (+7/-4)
To merge this branch: bzr merge lp:~stephen-stewart/snapweb/the-sun-is-the-same-in-a-relative-way
Reviewer Review Type Date Requested Status
Sergio Schvezov Approve
Review via email: mp+259933@code.launchpad.net

Commit message

add a clock as per design doc

To post a comment you must log in.
Revision history for this message
Sergio Schvezov (sergiusens) wrote :

We should probably find someone who can review the actual code ;-)

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'package.json'
2--- package.json 2015-05-26 21:20:54 +0000
3+++ package.json 2015-05-26 21:20:54 +0000
4@@ -35,6 +35,7 @@
5 "karma-jasmine-ajax": "^0.1.12",
6 "karma-phantomjs-launcher": "~0.1.4",
7 "lodash": "~3.3.1",
8+ "moment": "^2.10.3",
9 "normalize.css": "^3.0.3",
10 "postcss-bem-linter": "git://github.com/necolas/postcss-bem-linter",
11 "postcss-custom-media": "^3.0.0",
12
13=== added file 'www/src/css/infobar.css'
14--- www/src/css/infobar.css 1970-01-01 00:00:00 +0000
15+++ www/src/css/infobar.css 2015-05-26 21:20:54 +0000
16@@ -0,0 +1,11 @@
17+/** @define b-infobar; weak */
18+
19+.b-infobar {
20+ padding:8px 0;
21+ font-size:12px;
22+}
23+
24+.b-infobar__datetime {
25+ float:right;
26+ display:inline-block;
27+}
28
29=== added file 'www/src/js/templates/layout-infobar.hbs'
30--- www/src/js/templates/layout-infobar.hbs 1970-01-01 00:00:00 +0000
31+++ www/src/js/templates/layout-infobar.hbs 2015-05-26 21:20:54 +0000
32@@ -0,0 +1,5 @@
33+<div class="b-layout__container">
34+ <div class="b-infobar__datetime">
35+ {{datetime}}
36+ </div>
37+</div>
38
39=== modified file 'www/src/js/templates/layout.hbs'
40--- www/src/js/templates/layout.hbs 2015-05-05 11:20:39 +0000
41+++ www/src/js/templates/layout.hbs 2015-05-26 21:20:54 +0000
42@@ -1,4 +1,5 @@
43 <div class="b-layout__alerts"></div>
44 <div class="b-layout__banner"></div>
45+<div class="b-layout__infobar"></div>
46 <div class="b-layout__main"></div>
47 <div class="b-layout__footer"></div>
48
49=== added file 'www/src/js/views/layout-infobar.js'
50--- www/src/js/views/layout-infobar.js 1970-01-01 00:00:00 +0000
51+++ www/src/js/views/layout-infobar.js 2015-05-26 21:20:54 +0000
52@@ -0,0 +1,49 @@
53+// infobar view
54+var _ = require('lodash');
55+var $ = require('jquery');
56+var moment = require('moment');
57+var Backbone = require('backbone');
58+Backbone.$ = $;
59+var Marionette = require('backbone.marionette');
60+var template = require('../templates/layout-infobar.hbs');
61+
62+module.exports = Marionette.ItemView.extend({
63+
64+ initialize: function() {
65+ },
66+
67+ ui: {
68+ 'datetime': '.b-infobar__datetime'
69+ },
70+
71+ className: 'b-infobar',
72+
73+ template : function(data) {
74+ return template(data);
75+ },
76+
77+ serializeData: function() {
78+ return {
79+ datetime: this.getDatetime
80+ };
81+ },
82+
83+ onDomRefresh: function() {
84+ this.updateClock();
85+ },
86+
87+ onBeforeDestroy: function() {
88+ clearTimeout(this.timeoutID);
89+ },
90+
91+ getDatetime: function() {
92+ return moment().format('ddd, MMMM Do YYYY, h:mm:ss a');
93+ },
94+
95+ updateClock: function() {
96+ var now = this.getDatetime();
97+ this.ui.datetime.text(now);
98+ this.timeoutID = setTimeout(_.bind(this.updateClock, this), 1000);
99+ }
100+
101+});
102
103=== modified file 'www/src/js/views/layout.js'
104--- www/src/js/views/layout.js 2015-05-05 11:20:39 +0000
105+++ www/src/js/views/layout.js 2015-05-26 21:20:54 +0000
106@@ -6,6 +6,7 @@
107 var Marionette = require('backbone.marionette');
108 var Radio = require('backbone.radio');
109 var BannerView = require('./layout-banner.js');
110+var InfobarView = require('./layout-infobar.js');
111 var FooterView = require('./layout-footer.js');
112 var NotificationsView = require('./alerts.js');
113 var template = require('../templates/layout.hbs');
114@@ -26,6 +27,7 @@
115
116 onRender: function() {
117 this.showChildView('bannerRegion', new BannerView());
118+ this.showChildView('infobarRegion', new InfobarView());
119 this.showChildView('footerRegion', new FooterView());
120 },
121
122@@ -40,9 +42,10 @@
123 },
124
125 regions: {
126- bannerRegion: '.b-layout__banner',
127- mainRegion: '.b-layout__main',
128- footerRegion: '.b-layout__footer',
129- alertsRegion: '.b-layout__alerts'
130+ bannerRegion: '.b-layout__banner',
131+ infobarRegion: '.b-layout__infobar',
132+ mainRegion: '.b-layout__main',
133+ footerRegion: '.b-layout__footer',
134+ alertsRegion: '.b-layout__alerts'
135 }
136 });

Subscribers

People subscribed via source and target branches