annotate foodtruckui/assets/js/foodtruck.js @ 602:c6bc0ef03f82

admin: Better UI for publishing websites. * Support multiple publish targets. * Dedicated UI for publishing. * Some UI polish.
author Ludovic Chabant <ludovic@chabant.com>
date Wed, 27 Jan 2016 18:02:25 -0800
parents d4a01a023998
children c67dcc0fa80f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
587
d4a01a023998 admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
1
d4a01a023998 admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
2 $(document).ready(function() {
d4a01a023998 admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
3 $('.ft-nav-collapsed + ul').hide();
d4a01a023998 admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
4 });
d4a01a023998 admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
5
602
c6bc0ef03f82 admin: Better UI for publishing websites.
Ludovic Chabant <ludovic@chabant.com>
parents: 587
diff changeset
6 var onPublishEvent = function(e) {
c6bc0ef03f82 admin: Better UI for publishing websites.
Ludovic Chabant <ludovic@chabant.com>
parents: 587
diff changeset
7 var msgEl = $('<div></div>');
c6bc0ef03f82 admin: Better UI for publishing websites.
Ludovic Chabant <ludovic@chabant.com>
parents: 587
diff changeset
8
c6bc0ef03f82 admin: Better UI for publishing websites.
Ludovic Chabant <ludovic@chabant.com>
parents: 587
diff changeset
9 var removeMsgEl = function() {
c6bc0ef03f82 admin: Better UI for publishing websites.
Ludovic Chabant <ludovic@chabant.com>
parents: 587
diff changeset
10 msgEl.remove();
c6bc0ef03f82 admin: Better UI for publishing websites.
Ludovic Chabant <ludovic@chabant.com>
parents: 587
diff changeset
11 var publogEl = $('#ft-publog');
c6bc0ef03f82 admin: Better UI for publishing websites.
Ludovic Chabant <ludovic@chabant.com>
parents: 587
diff changeset
12 if (publogEl.children().length == 0) {
c6bc0ef03f82 admin: Better UI for publishing websites.
Ludovic Chabant <ludovic@chabant.com>
parents: 587
diff changeset
13 publogEl.hide();
c6bc0ef03f82 admin: Better UI for publishing websites.
Ludovic Chabant <ludovic@chabant.com>
parents: 587
diff changeset
14 }
c6bc0ef03f82 admin: Better UI for publishing websites.
Ludovic Chabant <ludovic@chabant.com>
parents: 587
diff changeset
15 };
c6bc0ef03f82 admin: Better UI for publishing websites.
Ludovic Chabant <ludovic@chabant.com>
parents: 587
diff changeset
16
c6bc0ef03f82 admin: Better UI for publishing websites.
Ludovic Chabant <ludovic@chabant.com>
parents: 587
diff changeset
17 msgEl.addClass('alert-dismissible');
c6bc0ef03f82 admin: Better UI for publishing websites.
Ludovic Chabant <ludovic@chabant.com>
parents: 587
diff changeset
18 msgEl.attr('role', 'alert');
c6bc0ef03f82 admin: Better UI for publishing websites.
Ludovic Chabant <ludovic@chabant.com>
parents: 587
diff changeset
19 msgEl.append('<button type="button" class="close" data-dismiss="alert" aria-label="close">' +
c6bc0ef03f82 admin: Better UI for publishing websites.
Ludovic Chabant <ludovic@chabant.com>
parents: 587
diff changeset
20 '<span aria-hidden="true">&times;</span></button>');
c6bc0ef03f82 admin: Better UI for publishing websites.
Ludovic Chabant <ludovic@chabant.com>
parents: 587
diff changeset
21 msgEl.append('<div>' + e.data + '</div>');
c6bc0ef03f82 admin: Better UI for publishing websites.
Ludovic Chabant <ludovic@chabant.com>
parents: 587
diff changeset
22 var timeoutId = window.setTimeout(function() {
c6bc0ef03f82 admin: Better UI for publishing websites.
Ludovic Chabant <ludovic@chabant.com>
parents: 587
diff changeset
23 msgEl.fadeOut(400, removeMsgEl);
c6bc0ef03f82 admin: Better UI for publishing websites.
Ludovic Chabant <ludovic@chabant.com>
parents: 587
diff changeset
24 }, 4000);
c6bc0ef03f82 admin: Better UI for publishing websites.
Ludovic Chabant <ludovic@chabant.com>
parents: 587
diff changeset
25 msgEl.mouseenter(function() {
c6bc0ef03f82 admin: Better UI for publishing websites.
Ludovic Chabant <ludovic@chabant.com>
parents: 587
diff changeset
26 window.clearTimeout(timeoutId);
c6bc0ef03f82 admin: Better UI for publishing websites.
Ludovic Chabant <ludovic@chabant.com>
parents: 587
diff changeset
27 });
c6bc0ef03f82 admin: Better UI for publishing websites.
Ludovic Chabant <ludovic@chabant.com>
parents: 587
diff changeset
28 $('button', msgEl).click(removeMsgEl);
c6bc0ef03f82 admin: Better UI for publishing websites.
Ludovic Chabant <ludovic@chabant.com>
parents: 587
diff changeset
29
c6bc0ef03f82 admin: Better UI for publishing websites.
Ludovic Chabant <ludovic@chabant.com>
parents: 587
diff changeset
30 var logEl = $('#ft-publog');
c6bc0ef03f82 admin: Better UI for publishing websites.
Ludovic Chabant <ludovic@chabant.com>
parents: 587
diff changeset
31 logEl.append(msgEl);
c6bc0ef03f82 admin: Better UI for publishing websites.
Ludovic Chabant <ludovic@chabant.com>
parents: 587
diff changeset
32 logEl.show();
c6bc0ef03f82 admin: Better UI for publishing websites.
Ludovic Chabant <ludovic@chabant.com>
parents: 587
diff changeset
33 };
c6bc0ef03f82 admin: Better UI for publishing websites.
Ludovic Chabant <ludovic@chabant.com>
parents: 587
diff changeset
34
587
d4a01a023998 admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
35 if (!!window.EventSource) {
602
c6bc0ef03f82 admin: Better UI for publishing websites.
Ludovic Chabant <ludovic@chabant.com>
parents: 587
diff changeset
36 var source = new EventSource('/publish-log');
587
d4a01a023998 admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
37 source.onerror = function(e) {
d4a01a023998 admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
38 console.log("Error with SSE, closing.", e);
d4a01a023998 admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
39 source.close();
d4a01a023998 admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
40 };
602
c6bc0ef03f82 admin: Better UI for publishing websites.
Ludovic Chabant <ludovic@chabant.com>
parents: 587
diff changeset
41 source.addEventListener('message', onPublishEvent);
587
d4a01a023998 admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
42 }
d4a01a023998 admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
43