Mercurial > piecrust2
annotate piecrust/admin/assets/js/foodtruck.js @ 842:a85d08ffe1f6
admin: Fix crash when running `admin run` outside of a website.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Sun, 19 Feb 2017 22:04:33 -0800 |
parents | 5e91bc0e3b4d |
children | 628d639bb30b |
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() { |
657
c1a94e1beb9d
admin: Show a more classic blog post listing in FoodTruck.
Ludovic Chabant <ludovic@chabant.com>
parents:
620
diff
changeset
|
3 $("time.timeago").timeago(); |
c1a94e1beb9d
admin: Show a more classic blog post listing in FoodTruck.
Ludovic Chabant <ludovic@chabant.com>
parents:
620
diff
changeset
|
4 |
620
c2708f20a87b
admin: Make the sidebar togglable for smaller screens.
Ludovic Chabant <ludovic@chabant.com>
parents:
616
diff
changeset
|
5 $('.ft-nav-toggle').click(function() { |
c2708f20a87b
admin: Make the sidebar togglable for smaller screens.
Ludovic Chabant <ludovic@chabant.com>
parents:
616
diff
changeset
|
6 $('.ft-nav-container').toggleClass('ft-nav-enabled'); |
c2708f20a87b
admin: Make the sidebar togglable for smaller screens.
Ludovic Chabant <ludovic@chabant.com>
parents:
616
diff
changeset
|
7 $('.ft-nav').toggleClass('ft-nav-enabled'); |
c2708f20a87b
admin: Make the sidebar togglable for smaller screens.
Ludovic Chabant <ludovic@chabant.com>
parents:
616
diff
changeset
|
8 }); |
c2708f20a87b
admin: Make the sidebar togglable for smaller screens.
Ludovic Chabant <ludovic@chabant.com>
parents:
616
diff
changeset
|
9 |
587
d4a01a023998
admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
10 $('.ft-nav-collapsed + ul').hide(); |
607
c67dcc0fa80f
admin: Prompt the user for a commit message when committing a page.
Ludovic Chabant <ludovic@chabant.com>
parents:
602
diff
changeset
|
11 |
c67dcc0fa80f
admin: Prompt the user for a commit message when committing a page.
Ludovic Chabant <ludovic@chabant.com>
parents:
602
diff
changeset
|
12 $('#ft-commit-modal').on('shown.bs.modal', function () { |
c67dcc0fa80f
admin: Prompt the user for a commit message when committing a page.
Ludovic Chabant <ludovic@chabant.com>
parents:
602
diff
changeset
|
13 $('#ft-commit-msg').focus(); |
c67dcc0fa80f
admin: Prompt the user for a commit message when committing a page.
Ludovic Chabant <ludovic@chabant.com>
parents:
602
diff
changeset
|
14 }); |
615
cbb170d9c894
admin: Improve publish logs showing as alerts in the admin panel.
Ludovic Chabant <ludovic@chabant.com>
parents:
607
diff
changeset
|
15 |
cbb170d9c894
admin: Improve publish logs showing as alerts in the admin panel.
Ludovic Chabant <ludovic@chabant.com>
parents:
607
diff
changeset
|
16 var publogEl = $('#ft-publog'); |
cbb170d9c894
admin: Improve publish logs showing as alerts in the admin panel.
Ludovic Chabant <ludovic@chabant.com>
parents:
607
diff
changeset
|
17 publogEl.mouseenter(function() { |
cbb170d9c894
admin: Improve publish logs showing as alerts in the admin panel.
Ludovic Chabant <ludovic@chabant.com>
parents:
607
diff
changeset
|
18 publogEl.attr('data-autohide', 'false'); |
cbb170d9c894
admin: Improve publish logs showing as alerts in the admin panel.
Ludovic Chabant <ludovic@chabant.com>
parents:
607
diff
changeset
|
19 }); |
cbb170d9c894
admin: Improve publish logs showing as alerts in the admin panel.
Ludovic Chabant <ludovic@chabant.com>
parents:
607
diff
changeset
|
20 publogEl.on('hide', function() { |
cbb170d9c894
admin: Improve publish logs showing as alerts in the admin panel.
Ludovic Chabant <ludovic@chabant.com>
parents:
607
diff
changeset
|
21 var containerEl = $('#ft-publog-container', publogEl); |
cbb170d9c894
admin: Improve publish logs showing as alerts in the admin panel.
Ludovic Chabant <ludovic@chabant.com>
parents:
607
diff
changeset
|
22 containerEl.empty(); |
cbb170d9c894
admin: Improve publish logs showing as alerts in the admin panel.
Ludovic Chabant <ludovic@chabant.com>
parents:
607
diff
changeset
|
23 }); |
cbb170d9c894
admin: Improve publish logs showing as alerts in the admin panel.
Ludovic Chabant <ludovic@chabant.com>
parents:
607
diff
changeset
|
24 |
cbb170d9c894
admin: Improve publish logs showing as alerts in the admin panel.
Ludovic Chabant <ludovic@chabant.com>
parents:
607
diff
changeset
|
25 var closePublogBtn = $('button', publogEl); |
cbb170d9c894
admin: Improve publish logs showing as alerts in the admin panel.
Ludovic Chabant <ludovic@chabant.com>
parents:
607
diff
changeset
|
26 closePublogBtn.on('click', function() { |
cbb170d9c894
admin: Improve publish logs showing as alerts in the admin panel.
Ludovic Chabant <ludovic@chabant.com>
parents:
607
diff
changeset
|
27 publogEl.fadeOut(200); |
cbb170d9c894
admin: Improve publish logs showing as alerts in the admin panel.
Ludovic Chabant <ludovic@chabant.com>
parents:
607
diff
changeset
|
28 }); |
587
d4a01a023998
admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
29 }); |
d4a01a023998
admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
30 |
602
c6bc0ef03f82
admin: Better UI for publishing websites.
Ludovic Chabant <ludovic@chabant.com>
parents:
587
diff
changeset
|
31 var onPublishEvent = function(e) { |
c6bc0ef03f82
admin: Better UI for publishing websites.
Ludovic Chabant <ludovic@chabant.com>
parents:
587
diff
changeset
|
32 |
615
cbb170d9c894
admin: Improve publish logs showing as alerts in the admin panel.
Ludovic Chabant <ludovic@chabant.com>
parents:
607
diff
changeset
|
33 var publogEl = $('#ft-publog'); |
cbb170d9c894
admin: Improve publish logs showing as alerts in the admin panel.
Ludovic Chabant <ludovic@chabant.com>
parents:
607
diff
changeset
|
34 var containerEl = $('#ft-publog-container', publogEl); |
cbb170d9c894
admin: Improve publish logs showing as alerts in the admin panel.
Ludovic Chabant <ludovic@chabant.com>
parents:
607
diff
changeset
|
35 |
cbb170d9c894
admin: Improve publish logs showing as alerts in the admin panel.
Ludovic Chabant <ludovic@chabant.com>
parents:
607
diff
changeset
|
36 var msgEl = $('<div>' + e.data + '</div>'); |
602
c6bc0ef03f82
admin: Better UI for publishing websites.
Ludovic Chabant <ludovic@chabant.com>
parents:
587
diff
changeset
|
37 var removeMsgEl = function() { |
c6bc0ef03f82
admin: Better UI for publishing websites.
Ludovic Chabant <ludovic@chabant.com>
parents:
587
diff
changeset
|
38 msgEl.remove(); |
615
cbb170d9c894
admin: Improve publish logs showing as alerts in the admin panel.
Ludovic Chabant <ludovic@chabant.com>
parents:
607
diff
changeset
|
39 if (containerEl.children().length == 0) { |
cbb170d9c894
admin: Improve publish logs showing as alerts in the admin panel.
Ludovic Chabant <ludovic@chabant.com>
parents:
607
diff
changeset
|
40 // Last message, hide the log window. |
cbb170d9c894
admin: Improve publish logs showing as alerts in the admin panel.
Ludovic Chabant <ludovic@chabant.com>
parents:
607
diff
changeset
|
41 publogEl.fadeOut(200); |
602
c6bc0ef03f82
admin: Better UI for publishing websites.
Ludovic Chabant <ludovic@chabant.com>
parents:
587
diff
changeset
|
42 } |
c6bc0ef03f82
admin: Better UI for publishing websites.
Ludovic Chabant <ludovic@chabant.com>
parents:
587
diff
changeset
|
43 }; |
c6bc0ef03f82
admin: Better UI for publishing websites.
Ludovic Chabant <ludovic@chabant.com>
parents:
587
diff
changeset
|
44 var timeoutId = window.setTimeout(function() { |
615
cbb170d9c894
admin: Improve publish logs showing as alerts in the admin panel.
Ludovic Chabant <ludovic@chabant.com>
parents:
607
diff
changeset
|
45 if (publogEl.attr('data-autohide') == 'true') { |
cbb170d9c894
admin: Improve publish logs showing as alerts in the admin panel.
Ludovic Chabant <ludovic@chabant.com>
parents:
607
diff
changeset
|
46 msgEl.fadeOut(400, removeMsgEl); |
cbb170d9c894
admin: Improve publish logs showing as alerts in the admin panel.
Ludovic Chabant <ludovic@chabant.com>
parents:
607
diff
changeset
|
47 } |
602
c6bc0ef03f82
admin: Better UI for publishing websites.
Ludovic Chabant <ludovic@chabant.com>
parents:
587
diff
changeset
|
48 }, 4000); |
c6bc0ef03f82
admin: Better UI for publishing websites.
Ludovic Chabant <ludovic@chabant.com>
parents:
587
diff
changeset
|
49 |
615
cbb170d9c894
admin: Improve publish logs showing as alerts in the admin panel.
Ludovic Chabant <ludovic@chabant.com>
parents:
607
diff
changeset
|
50 if (containerEl.children().length == 0) { |
cbb170d9c894
admin: Improve publish logs showing as alerts in the admin panel.
Ludovic Chabant <ludovic@chabant.com>
parents:
607
diff
changeset
|
51 // First message, show the log window, reset the mouseover marker. |
cbb170d9c894
admin: Improve publish logs showing as alerts in the admin panel.
Ludovic Chabant <ludovic@chabant.com>
parents:
607
diff
changeset
|
52 publogEl.attr('data-autohide', 'true'); |
cbb170d9c894
admin: Improve publish logs showing as alerts in the admin panel.
Ludovic Chabant <ludovic@chabant.com>
parents:
607
diff
changeset
|
53 publogEl.fadeIn(200); |
cbb170d9c894
admin: Improve publish logs showing as alerts in the admin panel.
Ludovic Chabant <ludovic@chabant.com>
parents:
607
diff
changeset
|
54 } |
cbb170d9c894
admin: Improve publish logs showing as alerts in the admin panel.
Ludovic Chabant <ludovic@chabant.com>
parents:
607
diff
changeset
|
55 containerEl.append(msgEl); |
602
c6bc0ef03f82
admin: Better UI for publishing websites.
Ludovic Chabant <ludovic@chabant.com>
parents:
587
diff
changeset
|
56 }; |
c6bc0ef03f82
admin: Better UI for publishing websites.
Ludovic Chabant <ludovic@chabant.com>
parents:
587
diff
changeset
|
57 |
587
d4a01a023998
admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
58 if (!!window.EventSource) { |
602
c6bc0ef03f82
admin: Better UI for publishing websites.
Ludovic Chabant <ludovic@chabant.com>
parents:
587
diff
changeset
|
59 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
|
60 source.onerror = function(e) { |
d4a01a023998
admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
61 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
|
62 source.close(); |
d4a01a023998
admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
63 }; |
602
c6bc0ef03f82
admin: Better UI for publishing websites.
Ludovic Chabant <ludovic@chabant.com>
parents:
587
diff
changeset
|
64 source.addEventListener('message', onPublishEvent); |
587
d4a01a023998
admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
65 } |
d4a01a023998
admin: Add "FoodTruck" admin panel from the side experiment project.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
66 |
615
cbb170d9c894
admin: Improve publish logs showing as alerts in the admin panel.
Ludovic Chabant <ludovic@chabant.com>
parents:
607
diff
changeset
|
67 |