ember_cli_deploy_redis 0.1.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. checksums.yaml +8 -8
  2. data/.gitignore +2 -0
  3. data/.jrubyrc +1 -0
  4. data/.rspec +1 -0
  5. data/.travis.yml +5 -0
  6. data/README.md +69 -15
  7. data/ember_cli_deploy_redis.gemspec +28 -25
  8. data/lib/ember_cli_deploy_redis.rb +8 -2
  9. data/lib/ember_cli_deploy_redis/application.rb +12 -1
  10. data/lib/ember_cli_deploy_redis/configuration.rb +31 -3
  11. data/lib/ember_cli_deploy_redis/errors.rb +1 -1
  12. data/lib/ember_cli_deploy_redis/revision.rb +17 -9
  13. data/lib/ember_cli_deploy_redis/revision_list.rb +12 -6
  14. data/lib/ember_cli_deploy_redis/version.rb +1 -1
  15. data/lib/ember_cli_deploy_redis/web.rb +59 -0
  16. data/lib/ember_cli_deploy_redis/web_helpers.rb +162 -0
  17. data/spec/lib/ember_cli_deploy_redis/application_spec.rb +12 -2
  18. data/spec/lib/ember_cli_deploy_redis/revision_list_spec.rb +34 -3
  19. data/spec/lib/ember_cli_deploy_redis/revision_spec.rb +29 -12
  20. data/spec/lib/ember_cli_deploy_redis/web_helpers_spec.rb +69 -0
  21. data/spec/lib/ember_cli_deploy_redis/web_spec.rb +164 -0
  22. data/spec/lib/ember_cli_deploy_redis_spec.rb +21 -8
  23. data/spec/spec_helper.rb +15 -5
  24. data/web/assets/images/bootstrap/glyphicons-halflings-white.png +0 -0
  25. data/web/assets/images/bootstrap/glyphicons-halflings.png +0 -0
  26. data/web/assets/javascripts/application.js +67 -0
  27. data/web/assets/javascripts/locales/README.md +27 -0
  28. data/web/assets/javascripts/locales/jquery.timeago.ar.js +96 -0
  29. data/web/assets/javascripts/locales/jquery.timeago.bg.js +18 -0
  30. data/web/assets/javascripts/locales/jquery.timeago.bs.js +49 -0
  31. data/web/assets/javascripts/locales/jquery.timeago.ca.js +18 -0
  32. data/web/assets/javascripts/locales/jquery.timeago.cs.js +18 -0
  33. data/web/assets/javascripts/locales/jquery.timeago.cy.js +20 -0
  34. data/web/assets/javascripts/locales/jquery.timeago.da.js +18 -0
  35. data/web/assets/javascripts/locales/jquery.timeago.de.js +18 -0
  36. data/web/assets/javascripts/locales/jquery.timeago.el.js +18 -0
  37. data/web/assets/javascripts/locales/jquery.timeago.en-short.js +20 -0
  38. data/web/assets/javascripts/locales/jquery.timeago.en.js +20 -0
  39. data/web/assets/javascripts/locales/jquery.timeago.es.js +18 -0
  40. data/web/assets/javascripts/locales/jquery.timeago.et.js +18 -0
  41. data/web/assets/javascripts/locales/jquery.timeago.fa.js +22 -0
  42. data/web/assets/javascripts/locales/jquery.timeago.fi.js +28 -0
  43. data/web/assets/javascripts/locales/jquery.timeago.fr-short.js +16 -0
  44. data/web/assets/javascripts/locales/jquery.timeago.fr.js +17 -0
  45. data/web/assets/javascripts/locales/jquery.timeago.he.js +18 -0
  46. data/web/assets/javascripts/locales/jquery.timeago.hr.js +49 -0
  47. data/web/assets/javascripts/locales/jquery.timeago.hu.js +18 -0
  48. data/web/assets/javascripts/locales/jquery.timeago.hy.js +18 -0
  49. data/web/assets/javascripts/locales/jquery.timeago.id.js +18 -0
  50. data/web/assets/javascripts/locales/jquery.timeago.it.js +16 -0
  51. data/web/assets/javascripts/locales/jquery.timeago.ja.js +19 -0
  52. data/web/assets/javascripts/locales/jquery.timeago.ko.js +17 -0
  53. data/web/assets/javascripts/locales/jquery.timeago.lt.js +20 -0
  54. data/web/assets/javascripts/locales/jquery.timeago.mk.js +20 -0
  55. data/web/assets/javascripts/locales/jquery.timeago.nl.js +20 -0
  56. data/web/assets/javascripts/locales/jquery.timeago.no.js +18 -0
  57. data/web/assets/javascripts/locales/jquery.timeago.pl.js +31 -0
  58. data/web/assets/javascripts/locales/jquery.timeago.pt-br.js +16 -0
  59. data/web/assets/javascripts/locales/jquery.timeago.pt.js +16 -0
  60. data/web/assets/javascripts/locales/jquery.timeago.ro.js +18 -0
  61. data/web/assets/javascripts/locales/jquery.timeago.rs.js +49 -0
  62. data/web/assets/javascripts/locales/jquery.timeago.ru.js +34 -0
  63. data/web/assets/javascripts/locales/jquery.timeago.sk.js +18 -0
  64. data/web/assets/javascripts/locales/jquery.timeago.sl.js +44 -0
  65. data/web/assets/javascripts/locales/jquery.timeago.sv.js +18 -0
  66. data/web/assets/javascripts/locales/jquery.timeago.th.js +20 -0
  67. data/web/assets/javascripts/locales/jquery.timeago.tr.js +16 -0
  68. data/web/assets/javascripts/locales/jquery.timeago.uk.js +34 -0
  69. data/web/assets/javascripts/locales/jquery.timeago.uz.js +19 -0
  70. data/web/assets/javascripts/locales/jquery.timeago.zh-cn.js +20 -0
  71. data/web/assets/javascripts/locales/jquery.timeago.zh-tw.js +20 -0
  72. data/web/assets/stylesheets/application.css +580 -0
  73. data/web/assets/stylesheets/bootstrap.css +9 -0
  74. data/web/locales/en.yml +13 -0
  75. data/web/views/_footer.erb +14 -0
  76. data/web/views/application.erb +38 -0
  77. data/web/views/dashboard.erb +26 -0
  78. data/web/views/layout.erb +26 -0
  79. metadata +89 -42
  80. data/Gemfile.lock +0 -121
@@ -0,0 +1,18 @@
1
+ // Norwegian
2
+ jQuery.timeago.settings.strings = {
3
+ prefixAgo: "for",
4
+ prefixFromNow: "om",
5
+ suffixAgo: "siden",
6
+ suffixFromNow: "",
7
+ seconds: "mindre enn et minutt",
8
+ minute: "ca. et minutt",
9
+ minutes: "%d minutter",
10
+ hour: "ca. en time",
11
+ hours: "ca. %d timer",
12
+ day: "en dag",
13
+ days: "%d dager",
14
+ month: "ca. en måned",
15
+ months: "%d måneder",
16
+ year: "ca. et år",
17
+ years: "%d år"
18
+ };
@@ -0,0 +1,31 @@
1
+ // Polish
2
+ (function() {
3
+ function numpf(n, s, t) {
4
+ // s - 2-4, 22-24, 32-34 ...
5
+ // t - 5-21, 25-31, ...
6
+ var n10 = n % 10;
7
+ if ( (n10 > 1) && (n10 < 5) && ( (n > 20) || (n < 10) ) ) {
8
+ return s;
9
+ } else {
10
+ return t;
11
+ }
12
+ }
13
+
14
+ jQuery.timeago.settings.strings = {
15
+ prefixAgo: null,
16
+ prefixFromNow: "za",
17
+ suffixAgo: "temu",
18
+ suffixFromNow: null,
19
+ seconds: "mniej niż minutę",
20
+ minute: "minutę",
21
+ minutes: function(value) { return numpf(value, "%d minuty", "%d minut"); },
22
+ hour: "godzinę",
23
+ hours: function(value) { return numpf(value, "%d godziny", "%d godzin"); },
24
+ day: "dzień",
25
+ days: "%d dni",
26
+ month: "miesiąc",
27
+ months: function(value) { return numpf(value, "%d miesiące", "%d miesięcy"); },
28
+ year: "rok",
29
+ years: function(value) { return numpf(value, "%d lata", "%d lat"); }
30
+ };
31
+ })();
@@ -0,0 +1,16 @@
1
+ // Brasilian Portuguese
2
+ jQuery.timeago.settings.strings = {
3
+ suffixAgo: "atrás",
4
+ suffixFromNow: "a partir de agora",
5
+ seconds: "menos de um minuto",
6
+ minute: "cerca de um minuto",
7
+ minutes: "%d minutos",
8
+ hour: "cerca de uma hora",
9
+ hours: "cerca de %d horas",
10
+ day: "um dia",
11
+ days: "%d dias",
12
+ month: "cerca de um mês",
13
+ months: "%d meses",
14
+ year: "cerca de um ano",
15
+ years: "%d anos"
16
+ };
@@ -0,0 +1,16 @@
1
+ // Portuguese
2
+ jQuery.timeago.settings.strings = {
3
+ suffixAgo: "atrás",
4
+ suffixFromNow: "a partir de agora",
5
+ seconds: "menos de um minuto",
6
+ minute: "cerca de um minuto",
7
+ minutes: "%d minutos",
8
+ hour: "cerca de uma hora",
9
+ hours: "cerca de %d horas",
10
+ day: "um dia",
11
+ days: "%d dias",
12
+ month: "cerca de um mês",
13
+ months: "%d meses",
14
+ year: "cerca de um ano",
15
+ years: "%d anos"
16
+ };
@@ -0,0 +1,18 @@
1
+ // Romanian
2
+ $.timeago.settings.strings = {
3
+ prefixAgo: "acum",
4
+ prefixFromNow: "in timp de",
5
+ suffixAgo: "",
6
+ suffixFromNow: "",
7
+ seconds: "mai putin de un minut",
8
+ minute: "un minut",
9
+ minutes: "%d minute",
10
+ hour: "o ora",
11
+ hours: "%d ore",
12
+ day: "o zi",
13
+ days: "%d zile",
14
+ month: "o luna",
15
+ months: "%d luni",
16
+ year: "un an",
17
+ years: "%d ani"
18
+ };
@@ -0,0 +1,49 @@
1
+ // Serbian
2
+ (function () {
3
+ var numpf;
4
+
5
+ numpf = function (n, f, s, t) {
6
+ var n10;
7
+ n10 = n % 10;
8
+ if (n10 === 1 && (n === 1 || n > 20)) {
9
+ return f;
10
+ } else if (n10 > 1 && n10 < 5 && (n > 20 || n < 10)) {
11
+ return s;
12
+ } else {
13
+ return t;
14
+ }
15
+ };
16
+
17
+ jQuery.timeago.settings.strings = {
18
+ prefixAgo: "pre",
19
+ prefixFromNow: "za",
20
+ suffixAgo: null,
21
+ suffixFromNow: null,
22
+ second: "sekund",
23
+ seconds: function (value) {
24
+ return numpf(value, "%d sekund", "%d sekunde", "%d sekundi");
25
+ },
26
+ minute: "oko minut",
27
+ minutes: function (value) {
28
+ return numpf(value, "%d minut", "%d minuta", "%d minuta");
29
+ },
30
+ hour: "oko jedan sat",
31
+ hours: function (value) {
32
+ return numpf(value, "%d sat", "%d sata", "%d sati");
33
+ },
34
+ day: "jedan dan",
35
+ days: function (value) {
36
+ return numpf(value, "%d dan", "%d dana", "%d dana");
37
+ },
38
+ month: "mesec dana",
39
+ months: function (value) {
40
+ return numpf(value, "%d mesec", "%d meseca", "%d meseci");
41
+ },
42
+ year: "pre godinu dana",
43
+ years: function (value) {
44
+ return numpf(value, "%d godinu", "%d godine", "%d godina");
45
+ },
46
+ wordSeparator: " "
47
+ };
48
+
49
+ }).call(this);
@@ -0,0 +1,34 @@
1
+ // Russian
2
+ (function() {
3
+ function numpf(n, f, s, t) {
4
+ // f - 1, 21, 31, ...
5
+ // s - 2-4, 22-24, 32-34 ...
6
+ // t - 5-20, 25-30, ...
7
+ var n10 = n % 10;
8
+ if ( (n10 == 1) && ( (n == 1) || (n > 20) ) ) {
9
+ return f;
10
+ } else if ( (n10 > 1) && (n10 < 5) && ( (n > 20) || (n < 10) ) ) {
11
+ return s;
12
+ } else {
13
+ return t;
14
+ }
15
+ }
16
+
17
+ jQuery.timeago.settings.strings = {
18
+ prefixAgo: null,
19
+ prefixFromNow: "через",
20
+ suffixAgo: "назад",
21
+ suffixFromNow: null,
22
+ seconds: "меньше минуты",
23
+ minute: "минуту",
24
+ minutes: function(value) { return numpf(value, "%d минута", "%d минуты", "%d минут"); },
25
+ hour: "час",
26
+ hours: function(value) { return numpf(value, "%d час", "%d часа", "%d часов"); },
27
+ day: "день",
28
+ days: function(value) { return numpf(value, "%d день", "%d дня", "%d дней"); },
29
+ month: "месяц",
30
+ months: function(value) { return numpf(value, "%d месяц", "%d месяца", "%d месяцев"); },
31
+ year: "год",
32
+ years: function(value) { return numpf(value, "%d год", "%d года", "%d лет"); }
33
+ };
34
+ })();
@@ -0,0 +1,18 @@
1
+ // Slovak
2
+ jQuery.timeago.settings.strings = {
3
+ prefixAgo: "pred",
4
+ prefixFromNow: null,
5
+ suffixAgo: null,
6
+ suffixFromNow: null,
7
+ seconds: "menej než minútou",
8
+ minute: "minútou",
9
+ minutes: "%d minútami",
10
+ hour: "hodinou",
11
+ hours: "%d hodinami",
12
+ day: "1 dňom",
13
+ days: "%d dňami",
14
+ month: "1 mesiacom",
15
+ months: "%d mesiacmi",
16
+ year: "1 rokom",
17
+ years: "%d rokmi"
18
+ };
@@ -0,0 +1,44 @@
1
+ // Slovenian with support for dual
2
+ (function () {
3
+ var numpf;
4
+ numpf = function (n, d, m) {
5
+ if (n == 2) {
6
+ return d;
7
+ } else {
8
+ return m;
9
+ }
10
+ };
11
+
12
+ jQuery.timeago.settings.strings = {
13
+ prefixAgo: "pred",
14
+ prefixFromNow: "čez",
15
+ suffixAgo: null,
16
+ suffixFromNow: null,
17
+ second: "sekundo",
18
+ seconds: function (value) {
19
+ return numpf(value, "%d sekundama", "%d sekundami");
20
+ },
21
+ minute: "minuto",
22
+ minutes: function (value) {
23
+ return numpf(value, "%d minutama", "%d minutami");
24
+ },
25
+ hour: "uro",
26
+ hours: function (value) {
27
+ return numpf(value, "%d urama", "%d urami");
28
+ },
29
+ day: "dnevom",
30
+ days: function (value) {
31
+ return numpf(value, "%d dnevi", "%d dnevi");
32
+ },
33
+ month: "enim mescem",
34
+ months: function (value) {
35
+ return numpf(value, "%d mesecema", "%d meseci");
36
+ },
37
+ year: "enim letom",
38
+ years: function (value) {
39
+ return numpf(value, "%d letoma", "%d leti");
40
+ },
41
+ wordSeparator: " "
42
+ };
43
+
44
+ }).call(this);
@@ -0,0 +1,18 @@
1
+ // Swedish
2
+ jQuery.timeago.settings.strings = {
3
+ prefixAgo: "för",
4
+ prefixFromNow: "om",
5
+ suffixAgo: "sedan",
6
+ suffixFromNow: "",
7
+ seconds: "mindre än en minut",
8
+ minute: "ungefär en minut",
9
+ minutes: "%d minuter",
10
+ hour: "ungefär en timme",
11
+ hours: "ungefär %d timmar",
12
+ day: "en dag",
13
+ days: "%d dagar",
14
+ month: "ungefär en månad",
15
+ months: "%d månader",
16
+ year: "ungefär ett år",
17
+ years: "%d år"
18
+ };
@@ -0,0 +1,20 @@
1
+ // Thai
2
+ jQuery.timeago.settings.strings = {
3
+ prefixAgo: null,
4
+ prefixFromNow: null,
5
+ suffixAgo: "ที่แล้ว",
6
+ suffixFromNow: "จากตอนนี้",
7
+ seconds: "น้อยกว่าหนึ่งนาที",
8
+ minute: "ประมาณหนึ่งนาที",
9
+ minutes: "%d นาที",
10
+ hour: "ประมาณหนึ่งชั่วโมง",
11
+ hours: "ประมาณ %d ชั่วโมง",
12
+ day: "หนึ่งวัน",
13
+ days: "%d วัน",
14
+ month: "ประมาณหนึ่งเดือน",
15
+ months: "%d เดือน",
16
+ year: "ประมาณหนึ่งปี",
17
+ years: "%d ปี",
18
+ wordSeparator: "",
19
+ numbers: []
20
+ };
@@ -0,0 +1,16 @@
1
+ // Turkish
2
+ jQuery.extend($.timeago.settings.strings, {
3
+ suffixAgo: 'önce',
4
+ suffixFromNow: null,
5
+ seconds: '1 dakikadan',
6
+ minute: '1 dakika',
7
+ minutes: '%d dakika',
8
+ hour: '1 saat',
9
+ hours: '%d saat',
10
+ day: '1 gün',
11
+ days: '%d gün',
12
+ month: '1 ay',
13
+ months: '%d ay',
14
+ year: '1 yıl',
15
+ years: '%d yıl'
16
+ });
@@ -0,0 +1,34 @@
1
+ // Ukrainian
2
+ (function() {
3
+ function numpf(n, f, s, t) {
4
+ // f - 1, 21, 31, ...
5
+ // s - 2-4, 22-24, 32-34 ...
6
+ // t - 5-20, 25-30, ...
7
+ var n10 = n % 10;
8
+ if ( (n10 == 1) && ( (n == 1) || (n > 20) ) ) {
9
+ return f;
10
+ } else if ( (n10 > 1) && (n10 < 5) && ( (n > 20) || (n < 10) ) ) {
11
+ return s;
12
+ } else {
13
+ return t;
14
+ }
15
+ }
16
+
17
+ jQuery.timeago.settings.strings = {
18
+ prefixAgo: null,
19
+ prefixFromNow: "через",
20
+ suffixAgo: "тому",
21
+ suffixFromNow: null,
22
+ seconds: "менше хвилини",
23
+ minute: "хвилина",
24
+ minutes: function(value) { return numpf(value, "%d хвилина", "%d хвилини", "%d хвилин"); },
25
+ hour: "година",
26
+ hours: function(value) { return numpf(value, "%d година", "%d години", "%d годин"); },
27
+ day: "день",
28
+ days: function(value) { return numpf(value, "%d день", "%d дні", "%d днів"); },
29
+ month: "місяць",
30
+ months: function(value) { return numpf(value, "%d місяць", "%d місяці", "%d місяців"); },
31
+ year: "рік",
32
+ years: function(value) { return numpf(value, "%d рік", "%d роки", "%d років"); }
33
+ };
34
+ })();
@@ -0,0 +1,19 @@
1
+ //Uzbek
2
+ jQuery.timeago.settings.strings = {
3
+ prefixAgo: null,
4
+ prefixFromNow: "keyin",
5
+ suffixAgo: "avval",
6
+ suffixFromNow: null,
7
+ seconds: "bir necha soniya",
8
+ minute: "1 daqiqa",
9
+ minutes: function(value) { return "%d daqiqa" },
10
+ hour: "1 soat",
11
+ hours: function(value) { return "%d soat" },
12
+ day: "1 kun",
13
+ days: function(value) { return "%d kun" },
14
+ month: "1 oy",
15
+ months: function(value) { return "%d oy" },
16
+ year: "1 yil",
17
+ years: function(value) { return "%d yil" },
18
+ wordSeparator: " "
19
+ };
@@ -0,0 +1,20 @@
1
+ // Simplified Chinese
2
+ jQuery.timeago.settings.strings = {
3
+ prefixAgo: null,
4
+ prefixFromNow: "从现在开始",
5
+ suffixAgo: "之前",
6
+ suffixFromNow: null,
7
+ seconds: "不到 1 分钟",
8
+ minute: "大约 1 分钟",
9
+ minutes: "%d 分钟",
10
+ hour: "大约 1 小时",
11
+ hours: "大约 %d 小时",
12
+ day: "1 天",
13
+ days: "%d 天",
14
+ month: "大约 1 个月",
15
+ months: "%d 月",
16
+ year: "大约 1 年",
17
+ years: "%d 年",
18
+ numbers: [],
19
+ wordSeparator: ""
20
+ };
@@ -0,0 +1,20 @@
1
+ // Traditional Chinese, zh-tw
2
+ jQuery.timeago.settings.strings = {
3
+ prefixAgo: null,
4
+ prefixFromNow: "從現在開始",
5
+ suffixAgo: "之前",
6
+ suffixFromNow: null,
7
+ seconds: "不到 1 分鐘",
8
+ minute: "大約 1 分鐘",
9
+ minutes: "%d 分鐘",
10
+ hour: "大約 1 小時",
11
+ hours: "%d 小時",
12
+ day: "大約 1 天",
13
+ days: "%d 天",
14
+ month: "大約 1 個月",
15
+ months: "%d 個月",
16
+ year: "大約 1 年",
17
+ years: "%d 年",
18
+ numbers: [],
19
+ wordSeparator: ""
20
+ };
@@ -0,0 +1,580 @@
1
+ * {
2
+ box-sizing: border-box;
3
+ }
4
+
5
+ body {
6
+ color: #585454;
7
+ padding: 0;
8
+ text-rendering: optimizeLegibility;
9
+ -webkit-font-smoothing: antialiased;
10
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
11
+ background: white;
12
+ }
13
+
14
+ a {
15
+ color: #b1003e;
16
+ }
17
+ a:active, a:hover, a:visited {
18
+ color: #4b001a;
19
+ }
20
+ a.btn {
21
+ color: #585454;
22
+ }
23
+ a.btn-primary {
24
+ color: white;
25
+ }
26
+
27
+ h1, h2, h3, h4, h5, h6, strong {
28
+ font-weight: 700;
29
+ }
30
+
31
+ .navbar-brand, .navbar .navbar-brand, h5, h4, h3, h2, h1 {
32
+ font-family: Armata, "Helvetica Neue", Helvetica, Arial, sans-serif;
33
+ font-weight: 400;
34
+ }
35
+
36
+ .title {
37
+ color: #b1003e;
38
+ }
39
+
40
+ pre {
41
+ font-size: 11px;
42
+ }
43
+
44
+ code {
45
+ background: none;
46
+ border: none;
47
+ }
48
+
49
+ section {
50
+ padding-top: 10px;
51
+ }
52
+
53
+ code {
54
+ padding: 0;
55
+ }
56
+
57
+ footer {
58
+ padding: 40px 20px;
59
+ text-align: center;
60
+ }
61
+ footer .edits {
62
+ margin-right: 40px;
63
+ }
64
+
65
+ body {
66
+ padding: 0 20px;
67
+ }
68
+
69
+ h3 {
70
+ line-height: 45px;
71
+ }
72
+
73
+ .centered {
74
+ text-align: center;
75
+ }
76
+
77
+ .admin #page {
78
+ padding: 60px 0;
79
+ }
80
+
81
+ header.row .pagination {
82
+ margin: 12px 0;
83
+ }
84
+
85
+ .summary_bar .status {
86
+ margin-left: 10px;
87
+ }
88
+ .summary_bar .summary {
89
+ margin-top: 12px;
90
+ background-color: #fff;
91
+ -webkit-box-shadow: 0 0 5px rgba(50, 50, 50, 0.25);
92
+ -moz-box-shadow: 0 0 5px rgba(50, 50, 50, 0.25);
93
+ box-shadow: 0 0 5px rgba(50, 50, 50, 0.25);
94
+ -webkit-border-radius: 4px;
95
+ -moz-border-radius: 4px;
96
+ border-radius: 4px;
97
+ padding: 8px;
98
+ margin-bottom: 10px;
99
+ border-width: 0;
100
+ }
101
+ .poll-wrapper {
102
+ margin: 9px;
103
+ }
104
+ #live-poll.active {
105
+ background-color: #009300;
106
+ }
107
+ .summary_bar ul {
108
+ margin: 0 0 38px 0;
109
+ }
110
+ .summary_bar ul h3 {
111
+ font-size: 1em;
112
+ margin: 0;
113
+ font-weight: normal;
114
+ line-height: 1em;
115
+ }
116
+ .summary_bar ul li {
117
+ padding: 4px 0 2px 0;
118
+ text-align: center;
119
+ width: 14%;
120
+ }
121
+ @media (max-width: 767px) and (min-width: 400px) {
122
+ .summary_bar ul li {
123
+ width: 100%;
124
+ }
125
+
126
+ .summary_bar ul li span {
127
+ width: 50% !important;
128
+ }
129
+ .summary_bar ul .desc {
130
+ text-align: left;
131
+ }
132
+ .summary_bar ul .count {
133
+ text-align: right;
134
+ }
135
+ }
136
+ @media (max-width: 979px) and (min-width: 768px) {
137
+ .summary_bar ul li.col-sm-2 {
138
+ margin: 0 10px;
139
+ width: 96px !important;
140
+ }
141
+ }
142
+ /*@media (max-width: 1199px) and (min-width: 980px) {
143
+ .summary_bar ul li.col-sm-2 {
144
+ width: 130px !important;
145
+ }
146
+ }
147
+ @media (min-width: 1200px) {
148
+ .summary_bar ul li.col-sm-2 {
149
+ width: 154px !important;
150
+ }
151
+ }*/
152
+ .summary_bar ul .desc {
153
+ display: block;
154
+ font-size: 1em;
155
+ font-weight: normal;
156
+ width: 100%;
157
+ }
158
+ .summary_bar ul .count {
159
+ color: #b1003e;
160
+ display: block;
161
+ font-size: 1em;
162
+ font-weight: bold;
163
+ float: right;
164
+ padding: 0 0 2px 0;
165
+ width: 100%;
166
+ }
167
+
168
+ .table_container {
169
+ overflow: overlay;
170
+ }
171
+
172
+ table.table-white {
173
+ background-color: #fff;
174
+ }
175
+
176
+ .revisions form {
177
+ margin: 0;
178
+ }
179
+
180
+ form .btn {
181
+ margin-right: 5px;
182
+ }
183
+
184
+ form .btn-group .btn {
185
+ margin-right: 1px;
186
+ }
187
+
188
+ td form {
189
+ margin-bottom: 0;
190
+ }
191
+
192
+ .table tr > td.table-checkbox, .table tr > th.table-checkbox {
193
+ padding: 0;
194
+ }
195
+
196
+ table .table-checkbox label {
197
+ height: 100%;
198
+ width: 100%;
199
+ padding: 0 16px;
200
+ margin-bottom: 0;
201
+ line-height: 32px;
202
+ }
203
+
204
+ .navbar .navbar-brand {
205
+ color: #b1003e;
206
+ padding: 13px;
207
+ text-shadow: none;
208
+ }
209
+
210
+ .navbar .navbar-brand .status {
211
+ color: #585454;
212
+ }
213
+
214
+ @media (max-width: 768px) {
215
+ .navbar .navbar-header .navbar-livereload {
216
+ border: none;
217
+ margin: 9px 10px 0;
218
+ padding: 0;
219
+ }
220
+
221
+ .navbar .navbar-collapse {
222
+ max-height: 400px;
223
+ }
224
+
225
+ .navbar .navbar-collapse .navbar-livereload {
226
+ display: none;
227
+ }
228
+
229
+ .navbar.navbar-fixed-top ul {
230
+ margin-right: -15px!important;
231
+ }
232
+
233
+ .navbar .nav a {
234
+ text-align: center;
235
+ }
236
+ }
237
+
238
+ @media (width: 768px) {
239
+ .navbar .navbar-collapse .navbar-livereload {
240
+ display: block;
241
+ margin-top: 5px;
242
+ }
243
+
244
+ .navbar .poll-wrapper {
245
+ margin: 4px 4px 0 0;
246
+ }
247
+
248
+ .navbar .dropdown-menu {
249
+ min-width: 120px;
250
+ }
251
+
252
+ .navbar .dropdown-menu a {
253
+ text-align: left;
254
+ }
255
+ }
256
+
257
+ .nav .dropdown {
258
+ display: none;
259
+ }
260
+
261
+ .navbar-footer .navbar ul.nav {
262
+ text-align: center;
263
+ float: none;
264
+ }
265
+ .navbar-footer .navbar ul.nav a {
266
+ font-weight: 700;
267
+ font-size: 16px;
268
+ padding: 15px;
269
+ }
270
+
271
+ .navbar-footer .navbar ul.nav a.navbar-brand {
272
+ font-weight: 400;
273
+ padding: 0 15px 0 0;
274
+ }
275
+
276
+ .navbar-footer .navbar ul.nav li {
277
+ display: inline-block;
278
+ float: none;
279
+ }
280
+ .navbar-footer .navbar.affix {
281
+ top: 0;
282
+ width: 100%;
283
+ z-index: 10;
284
+ }
285
+
286
+ img.smallogo {
287
+ width: 30px;
288
+ margin: 0 0 6px 0;
289
+ }
290
+
291
+ .navbar-fixed-bottom li {
292
+ margin-right: 20px;
293
+ }
294
+
295
+ .status-sprite {
296
+ background-image: url(../images/status-sd8051fd480.png);
297
+ height: 19px;
298
+ width: 20px;
299
+ display: inline-block;
300
+ background-size: 20px;
301
+ }
302
+ .status-active {
303
+ background-position: 0 0;
304
+ }
305
+
306
+ .status-idle {
307
+ background-position: 0 -54px;
308
+ }
309
+
310
+ .btn {
311
+ font-weight: 700;
312
+ border: none;
313
+ -webkit-border-radius: 3px;
314
+ -moz-border-radius: 3px;
315
+ -ms-border-radius: 3px;
316
+ -o-border-radius: 3px;
317
+ border-radius: 3px;
318
+ -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.4);
319
+ -moz-box-shadow: 0 0 2px rgba(0, 0, 0, 0.4);
320
+ box-shadow: 0 0 2px rgba(0, 0, 0, 0.4);
321
+ background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #fafafa), color-stop(100%, #ededed));
322
+ background-image: -webkit-linear-gradient(#fafafa, #ededed);
323
+ background-image: -moz-linear-gradient(#fafafa, #ededed);
324
+ background-image: -o-linear-gradient(#fafafa, #ededed);
325
+ background-image: linear-gradient(#fafafa, #ededed);
326
+ }
327
+ .btn:hover {
328
+ background-color: #ededed;
329
+ }
330
+
331
+ .btn-primary {
332
+ background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #b1003e), color-stop(100%, #980035));
333
+ background-image: -webkit-linear-gradient(#b1003e, #980035);
334
+ background-image: -moz-linear-gradient(#b1003e, #980035);
335
+ background-image: -o-linear-gradient(#b1003e, #980035);
336
+ background-image: linear-gradient(#b1003e, #980035);
337
+ }
338
+ .btn-primary:hover {
339
+ background-color: #980035;
340
+ }
341
+
342
+ .btn-danger {
343
+ background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #b1003e), color-stop(100%, #980035));
344
+ background-image: -webkit-linear-gradient(#b1003e, #980035);
345
+ background-image: -moz-linear-gradient(#b1003e, #980035);
346
+ background-image: -o-linear-gradient(#b1003e, #980035);
347
+ background-image: linear-gradient(#b1003e, #980035);
348
+ }
349
+ .btn-danger:hover {
350
+ background-color: #980035;
351
+ }
352
+
353
+ .poll-status {
354
+ padding: 10px 0;
355
+ }
356
+
357
+ .redis-wrapper {
358
+ width: 100%;
359
+ text-align: center;
360
+ }
361
+
362
+ .stats-container {
363
+ display: inline-block;
364
+ }
365
+
366
+ .stat {
367
+ float: left;
368
+ text-align: center;
369
+ margin-right: 20px;
370
+ border: 1px solid rgba(0, 0, 0, 0.1);
371
+ padding: 5px;
372
+ width: 150px;
373
+ margin-bottom: 20px;
374
+ }
375
+
376
+ .stat:last-child {
377
+ margin-right: 0;
378
+ }
379
+
380
+ .stat p {
381
+ font-size: 0.9em;
382
+ }
383
+ @media (max-width: 767px) {
384
+ .stats-container {
385
+ display: block;
386
+ }
387
+ .stat {
388
+ float: left;
389
+ margin-right: 10px;
390
+ width: 100%;
391
+ text-align: left;
392
+ line-height: 45px;
393
+ }
394
+ .stat h3{
395
+ float: right;
396
+ margin: 5px 10px 5px 5px;
397
+ }
398
+ .stat p{
399
+ font-size: 1em;
400
+ margin: 5px 5px 5px 10px;
401
+ }
402
+ }
403
+
404
+ /* Dashboard
405
+ ********************************** */
406
+ div.dashboard h3 {
407
+ float: left;
408
+ }
409
+
410
+ div.interval-slider {
411
+ float: right;
412
+ line-height: 1.3;
413
+ font-size: 0.95em;
414
+ padding: 15px 0 0;
415
+ }
416
+
417
+ span.current-interval {
418
+ min-width: 40px;
419
+ display: inline-block;
420
+ padding: 0 0 5px 0;
421
+ color: #B1003E;
422
+ }
423
+
424
+ div.interval-slider input {
425
+ width: 160px;
426
+ }
427
+
428
+ #realtime-legend,
429
+ #history-legend {
430
+ width: 580px;
431
+ text-align: left;
432
+ margin-top: 5px;
433
+ float: right;
434
+ }
435
+ #realtime-legend .timestamp,
436
+ #history-legend .timestamp {
437
+ display: inline-block;
438
+ width: 220px;
439
+ text-align: right;
440
+ }
441
+ #realtime-legend .line,
442
+ #history-legend .line {
443
+ display: inline-block;
444
+ margin: 0 0 0 20px;
445
+ }
446
+ #realtime-legend .swatch,
447
+ #history-legend .swatch {
448
+ display: inline-block;
449
+ width: 10px;
450
+ height: 10px;
451
+ margin: 0 8px 0 0;
452
+ }
453
+ #realtime-legend .tag,
454
+ #history-legend .tag {
455
+ display: inline-block;
456
+ }
457
+
458
+ @media (max-width: 790px) {
459
+ #realtime-legend,
460
+ #history-legend {
461
+ float: none;
462
+ width: 100%;
463
+ margin-bottom: 20px;
464
+ }
465
+ }
466
+
467
+ @media (max-width: 500px) {
468
+ #realtime-legend,
469
+ #history-legend {
470
+ text-align: center;
471
+ }
472
+ }
473
+
474
+ @media (max-width: 767px) {
475
+ .navbar .navbar-brand {
476
+ float: none;
477
+ display: block;
478
+ }
479
+
480
+ .navbar.navbar-fixed-top ul {
481
+ margin-right: 0;
482
+ }
483
+
484
+ .navbar.navbar-fixed-top li {
485
+ margin-right: 0;
486
+ }
487
+
488
+ .poll-wrapper {
489
+ width: 100%;
490
+ text-align: center;
491
+ }
492
+
493
+ .poll-wrapper > a {
494
+ display: inline-block;
495
+ margin: 5px;
496
+ }
497
+
498
+ .navbar.navbar-fixed-bottom ul {
499
+ float: none;
500
+ margin-right: 0;
501
+ }
502
+
503
+ .navbar.navbar-fixed-bottom li {
504
+ float: none;
505
+ margin-right: 0;
506
+ }
507
+
508
+ .navbar-text {
509
+ float:none;
510
+ line-height: 30px;
511
+ margin: 15px auto;
512
+ }
513
+ }
514
+
515
+ @media (max-width: 767px) {
516
+ .navbar-fixed-top, .navbar-fixed-bottom {
517
+ margin: 0 -20px;
518
+ }
519
+
520
+ .navbar ul.nav li a {
521
+ padding-left: 8px;
522
+ padding-right: 8px;
523
+ }
524
+
525
+ .admin #page {
526
+ padding-top: 10px;
527
+ }
528
+ }
529
+
530
+ @media (max-width: 500px) {
531
+ .navbar-footer .navbar ul.nav a.navbar-brand {
532
+ padding-right: 5px;
533
+ }
534
+ }
535
+
536
+ /* BOOTSTRAP 3 FIXES */
537
+ /* @grid-float-breakpoint -1 */
538
+ .container {
539
+ padding: 0;
540
+ }
541
+ @media (max-width: 767px) {
542
+ .navbar-fixed-top, .navbar-fixed-bottom {
543
+ position: relative;
544
+ top: auto;
545
+ }
546
+ }
547
+
548
+ .redis-url, .redis-namespace {
549
+ overflow: hidden;
550
+ white-space: nowrap;
551
+ }
552
+
553
+ @media (min-width: 768px) {
554
+ .redis-url {
555
+ max-width: 200px;
556
+ }
557
+
558
+ .redis-namespace {
559
+ max-width: 150px;
560
+ }
561
+ }
562
+
563
+ @media (min-width: 992px) {
564
+ .redis-url {
565
+ max-width: 390px;
566
+ }
567
+
568
+ .redis-namespace {
569
+ max-width: 300px;
570
+ }
571
+ }
572
+ @media (min-width: 1200px) {
573
+ .redis-url {
574
+ max-width: 480px;
575
+ }
576
+
577
+ .redis-namespace {
578
+ max-width: 350px;
579
+ }
580
+ }