maily_herald-webui 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (236) hide show
  1. checksums.yaml +15 -0
  2. data/.gitignore +18 -0
  3. data/.rspec +5 -0
  4. data/Gemfile +15 -0
  5. data/Gemfile.lock +250 -0
  6. data/Guardfile +23 -0
  7. data/LICENSE +11 -0
  8. data/README.md +62 -0
  9. data/Rakefile +30 -0
  10. data/app/assets/images/maily_herald/.gitkeep +0 -0
  11. data/app/assets/images/maily_herald/webui/arrow-bottom.png +0 -0
  12. data/app/assets/images/maily_herald/webui/arrow-left.png +0 -0
  13. data/app/assets/images/maily_herald/webui/arrow-right.png +0 -0
  14. data/app/assets/images/maily_herald/webui/arrow-top.png +0 -0
  15. data/app/assets/images/maily_herald/webui/logo.svg +38 -0
  16. data/app/assets/images/maily_herald/webui/sprite-dropdown.png +0 -0
  17. data/app/assets/images/maily_herald/webui/sprite-form.png +0 -0
  18. data/app/assets/images/maily_herald/webui/sprite.png +0 -0
  19. data/app/assets/images/maily_herald/webui/user.png +0 -0
  20. data/app/assets/javascripts/maily_herald/webui/application.js +20 -0
  21. data/app/assets/javascripts/maily_herald/webui/dispatches.coffee +58 -0
  22. data/app/assets/javascripts/maily_herald/webui/webui.coffee +209 -0
  23. data/app/assets/stylesheets/maily_herald/webui/application.css +18 -0
  24. data/app/assets/stylesheets/maily_herald/webui/webui-bootstrap.scss +0 -0
  25. data/app/assets/stylesheets/maily_herald/webui/webui.sass +846 -0
  26. data/app/controllers/maily_herald/webui/application_controller.rb +19 -0
  27. data/app/controllers/maily_herald/webui/dashboard_controller.rb +65 -0
  28. data/app/controllers/maily_herald/webui/dispatches_controller.rb +42 -0
  29. data/app/controllers/maily_herald/webui/lists_controller.rb +69 -0
  30. data/app/controllers/maily_herald/webui/logs_controller.rb +20 -0
  31. data/app/controllers/maily_herald/webui/mailings_controller.rb +68 -0
  32. data/app/controllers/maily_herald/webui/one_time_mailings_controller.rb +32 -0
  33. data/app/controllers/maily_herald/webui/periodical_mailings_controller.rb +25 -0
  34. data/app/controllers/maily_herald/webui/resources_controller.rb +144 -0
  35. data/app/controllers/maily_herald/webui/sequence_mailings_controller.rb +43 -0
  36. data/app/controllers/maily_herald/webui/sequences_controller.rb +56 -0
  37. data/app/controllers/maily_herald/webui/sessions_controller.rb +11 -0
  38. data/app/controllers/maily_herald/webui/subscriptions_controller.rb +33 -0
  39. data/app/helpers/maily_herald/webui/application_helper.rb +157 -0
  40. data/app/helpers/maily_herald/webui/dispatches_helper.rb +18 -0
  41. data/app/helpers/maily_herald/webui/logs_helper.rb +37 -0
  42. data/app/helpers/maily_herald/webui/mailings_helper.rb +64 -0
  43. data/app/helpers/maily_herald/webui/sequence_mailings_helper.rb +13 -0
  44. data/app/helpers/maily_herald/webui/sequences_helper.rb +6 -0
  45. data/app/helpers/maily_herald/webui/subscribers_helper.rb +25 -0
  46. data/app/helpers/maily_herald/webui/subscriptions_helper.rb +11 -0
  47. data/app/helpers/maily_herald_helper.rb +151 -0
  48. data/app/views/layouts/maily_herald/webui/application.html.haml +58 -0
  49. data/app/views/layouts/maily_herald/webui/modal.html.haml +6 -0
  50. data/app/views/maily_herald/webui/dashboard/_log.html.haml +20 -0
  51. data/app/views/maily_herald/webui/dashboard/_log_list.html.haml +19 -0
  52. data/app/views/maily_herald/webui/dashboard/_logs.html.haml +15 -0
  53. data/app/views/maily_herald/webui/dashboard/index.html.haml +43 -0
  54. data/app/views/maily_herald/webui/dashboard/index.js.erb +15 -0
  55. data/app/views/maily_herald/webui/dispatches/_entities.html.haml +7 -0
  56. data/app/views/maily_herald/webui/dispatches/_logs.html.haml +4 -0
  57. data/app/views/maily_herald/webui/dispatches/_schedules.html.haml +4 -0
  58. data/app/views/maily_herald/webui/dispatches/_toggle.js.erb +1 -0
  59. data/app/views/maily_herald/webui/lists/_details.html.haml +14 -0
  60. data/app/views/maily_herald/webui/lists/_details_form.html.haml +14 -0
  61. data/app/views/maily_herald/webui/lists/_form.html.haml +1 -0
  62. data/app/views/maily_herald/webui/lists/_header.html.haml +13 -0
  63. data/app/views/maily_herald/webui/lists/_items.html.haml +24 -0
  64. data/app/views/maily_herald/webui/lists/_opt_outs.html.haml +7 -0
  65. data/app/views/maily_herald/webui/lists/_potential_subscribers.html.haml +7 -0
  66. data/app/views/maily_herald/webui/lists/_subscribers.html.haml +7 -0
  67. data/app/views/maily_herald/webui/lists/context_variables.html.haml +15 -0
  68. data/app/views/maily_herald/webui/lists/subscribe.js.erb +10 -0
  69. data/app/views/maily_herald/webui/lists/unsubscribe.js.erb +7 -0
  70. data/app/views/maily_herald/webui/logs/_items.html.haml +34 -0
  71. data/app/views/maily_herald/webui/logs/preview.html.haml +22 -0
  72. data/app/views/maily_herald/webui/mailings-old/_entity.html.haml +17 -0
  73. data/app/views/maily_herald/webui/mailings-old/_entity_list.html.haml +26 -0
  74. data/app/views/maily_herald/webui/mailings-old/_form.html.haml +32 -0
  75. data/app/views/maily_herald/webui/mailings-old/_print.html.haml +123 -0
  76. data/app/views/maily_herald/webui/mailings-old/create.js.erb +1 -0
  77. data/app/views/maily_herald/webui/mailings-old/destroy.js.erb +1 -0
  78. data/app/views/maily_herald/webui/mailings-old/edit.html.haml +16 -0
  79. data/app/views/maily_herald/webui/mailings-old/edit.js.erb +2 -0
  80. data/app/views/maily_herald/webui/mailings-old/index.html.haml +9 -0
  81. data/app/views/maily_herald/webui/mailings-old/index.js.erb +1 -0
  82. data/app/views/maily_herald/webui/mailings-old/new.html.haml +16 -0
  83. data/app/views/maily_herald/webui/mailings-old/new.js.erb +1 -0
  84. data/app/views/maily_herald/webui/mailings-old/preview.js.erb +2 -0
  85. data/app/views/maily_herald/webui/mailings-old/refresh_list.js.erb +1 -0
  86. data/app/views/maily_herald/webui/mailings-old/show.html.haml +135 -0
  87. data/app/views/maily_herald/webui/mailings-old/show.js.erb +1 -0
  88. data/app/views/maily_herald/webui/mailings-old/update.js.erb +1 -0
  89. data/app/views/maily_herald/webui/mailings/_deliver.js.erb +1 -0
  90. data/app/views/maily_herald/webui/mailings/_details.html.haml +65 -0
  91. data/app/views/maily_herald/webui/mailings/_details_form.html.haml +39 -0
  92. data/app/views/maily_herald/webui/mailings/_form.html.haml +1 -0
  93. data/app/views/maily_herald/webui/mailings/_form_periodical.html.haml +2 -0
  94. data/app/views/maily_herald/webui/mailings/_form_sequence.html.haml +1 -0
  95. data/app/views/maily_herald/webui/mailings/_form_template_generic.html.haml +7 -0
  96. data/app/views/maily_herald/webui/mailings/_form_template_mailer.html.haml +4 -0
  97. data/app/views/maily_herald/webui/mailings/_header.html.haml +24 -0
  98. data/app/views/maily_herald/webui/mailings/_list.html.haml +27 -0
  99. data/app/views/maily_herald/webui/mailings/_template.html.haml +16 -0
  100. data/app/views/maily_herald/webui/mailings/_template_form.html.haml +7 -0
  101. data/app/views/maily_herald/webui/mailings/nav_secondary/_index.html.haml +3 -0
  102. data/app/views/maily_herald/webui/mailings/preview.html.haml +13 -0
  103. data/app/views/maily_herald/webui/mailings/update_form.js.erb +33 -0
  104. data/app/views/maily_herald/webui/resources/edit.js.erb +2 -0
  105. data/app/views/maily_herald/webui/resources/index.html.haml +11 -0
  106. data/app/views/maily_herald/webui/resources/index.js.erb +1 -0
  107. data/app/views/maily_herald/webui/resources/new.html.haml +5 -0
  108. data/app/views/maily_herald/webui/resources/show.html.haml +4 -0
  109. data/app/views/maily_herald/webui/resources/show.js.erb +3 -0
  110. data/app/views/maily_herald/webui/resources/update.js.erb +18 -0
  111. data/app/views/maily_herald/webui/sequences-old/_entity.html.haml +11 -0
  112. data/app/views/maily_herald/webui/sequences-old/_entity_list.html.haml +23 -0
  113. data/app/views/maily_herald/webui/sequences-old/_form.html.haml +17 -0
  114. data/app/views/maily_herald/webui/sequences-old/_log.html.haml +7 -0
  115. data/app/views/maily_herald/webui/sequences-old/_logs.html.haml +16 -0
  116. data/app/views/maily_herald/webui/sequences-old/_mailing.html.haml +4 -0
  117. data/app/views/maily_herald/webui/sequences-old/_mailing_list.html.haml +19 -0
  118. data/app/views/maily_herald/webui/sequences-old/edit.html.haml +14 -0
  119. data/app/views/maily_herald/webui/sequences-old/new.html.haml +13 -0
  120. data/app/views/maily_herald/webui/sequences-old/show.html.haml +122 -0
  121. data/app/views/maily_herald/webui/sequences-old/show.js.erb +2 -0
  122. data/app/views/maily_herald/webui/sequences-old/subscription.html.haml +79 -0
  123. data/app/views/maily_herald/webui/sequences/_details.html.haml +39 -0
  124. data/app/views/maily_herald/webui/sequences/_details_form.html.haml +27 -0
  125. data/app/views/maily_herald/webui/sequences/_form.html.haml +1 -0
  126. data/app/views/maily_herald/webui/sequences/_header.html.haml +11 -0
  127. data/app/views/maily_herald/webui/sequences/_list.html.haml +21 -0
  128. data/app/views/maily_herald/webui/sequences/_mailing_list.html.haml +21 -0
  129. data/app/views/maily_herald/webui/sequences/_mailings.html.haml +7 -0
  130. data/app/views/maily_herald/webui/sequences/update_form.js.erb +14 -0
  131. data/app/views/maily_herald/webui/shared/_context_attributes.html.haml +11 -0
  132. data/app/views/maily_herald/webui/subscribers/_item.html.haml +8 -0
  133. data/app/views/maily_herald/webui/subscribers/_list.html.haml +18 -0
  134. data/app/views/maily_herald/webui/subscription_groups/_form.html.haml +5 -0
  135. data/app/views/maily_herald/webui/subscription_groups/_subscription.html.haml +8 -0
  136. data/app/views/maily_herald/webui/subscription_groups/_subscription_list.html.haml +19 -0
  137. data/app/views/maily_herald/webui/subscription_groups/edit.html.haml +16 -0
  138. data/app/views/maily_herald/webui/subscription_groups/index.html.haml +35 -0
  139. data/app/views/maily_herald/webui/subscription_groups/new.html.haml +11 -0
  140. data/app/views/maily_herald/webui/subscription_groups/show.html.haml +42 -0
  141. data/app/views/maily_herald/webui/subscription_groups/show.js.erb +1 -0
  142. data/app/views/maily_herald/webui/subscriptions/show.html.haml +21 -0
  143. data/app/views/maily_herald/webui/subscriptions/toggle.js.erb +1 -0
  144. data/app/views/maily_herald/webui/webui/index.html.haml +136 -0
  145. data/app/views/maily_herald/webui/webui/show.html.haml +0 -0
  146. data/config/database.yml +5 -0
  147. data/config/initializers/smart_listing.rb +77 -0
  148. data/config/locales/en.yml +237 -0
  149. data/config/routes.rb +103 -0
  150. data/config/spring.rb +1 -0
  151. data/lib/maily_herald/webui.rb +15 -0
  152. data/lib/maily_herald/webui/breadcrumbs.rb +50 -0
  153. data/lib/maily_herald/webui/engine.rb +18 -0
  154. data/lib/maily_herald/webui/form_builder.rb +285 -0
  155. data/lib/maily_herald/webui/menu_manager.rb +66 -0
  156. data/lib/maily_herald/webui/version.rb +5 -0
  157. data/maily_herald-webui.gemspec +40 -0
  158. data/script/rails +8 -0
  159. data/spec/dummy/Guardfile +35 -0
  160. data/spec/dummy/README.rdoc +261 -0
  161. data/spec/dummy/Rakefile +7 -0
  162. data/spec/dummy/app/assets/javascripts/application.js +15 -0
  163. data/spec/dummy/app/assets/stylesheets/application.css +13 -0
  164. data/spec/dummy/app/controllers/application_controller.rb +3 -0
  165. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  166. data/spec/dummy/app/mailers/.gitkeep +0 -0
  167. data/spec/dummy/app/mailers/test_mailer.rb +11 -0
  168. data/spec/dummy/app/models/.gitkeep +0 -0
  169. data/spec/dummy/app/models/user.rb +7 -0
  170. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  171. data/spec/dummy/app/views/test_mailer/sample_mail.text.erb +1 -0
  172. data/spec/dummy/bin/rails +10 -0
  173. data/spec/dummy/bin/rake +7 -0
  174. data/spec/dummy/bin/rspec +7 -0
  175. data/spec/dummy/bin/spring +18 -0
  176. data/spec/dummy/config.ru +4 -0
  177. data/spec/dummy/config/application.rb +65 -0
  178. data/spec/dummy/config/boot.rb +10 -0
  179. data/spec/dummy/config/database.yml +25 -0
  180. data/spec/dummy/config/environment.rb +5 -0
  181. data/spec/dummy/config/environments/development.rb +38 -0
  182. data/spec/dummy/config/environments/production.rb +67 -0
  183. data/spec/dummy/config/environments/test.rb +37 -0
  184. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  185. data/spec/dummy/config/initializers/inflections.rb +15 -0
  186. data/spec/dummy/config/initializers/maily_herald.rb +101 -0
  187. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  188. data/spec/dummy/config/initializers/secret_token.rb +7 -0
  189. data/spec/dummy/config/initializers/session_store.rb +8 -0
  190. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  191. data/spec/dummy/config/locales/en.yml +5 -0
  192. data/spec/dummy/config/locales/maily_herald.en.yml +28 -0
  193. data/spec/dummy/config/routes.rb +4 -0
  194. data/spec/dummy/db/migrate/20130723074347_create_users.rb +11 -0
  195. data/spec/dummy/db/migrate/20140804152249_create_maily_herald_tables.maily_herald.rb +68 -0
  196. data/spec/dummy/db/migrate/20140804152250_create_lists.maily_herald.rb +33 -0
  197. data/spec/dummy/db/schema.rb +79 -0
  198. data/spec/dummy/lib/assets/.gitkeep +0 -0
  199. data/spec/dummy/lib/tasks/dummy.rb +8 -0
  200. data/spec/dummy/log/.gitkeep +0 -0
  201. data/spec/dummy/public/404.html +26 -0
  202. data/spec/dummy/public/422.html +26 -0
  203. data/spec/dummy/public/500.html +25 -0
  204. data/spec/dummy/public/favicon.ico +0 -0
  205. data/spec/dummy/script/rails +6 -0
  206. data/spec/spec_helper.rb +46 -0
  207. data/vendor/assets/fonts/maily_herald/webui/FontAwesome.otf +0 -0
  208. data/vendor/assets/fonts/maily_herald/webui/Nexa_Free_Bold-webfont.eot +0 -0
  209. data/vendor/assets/fonts/maily_herald/webui/Nexa_Free_Bold-webfont.svg +1816 -0
  210. data/vendor/assets/fonts/maily_herald/webui/Nexa_Free_Bold-webfont.ttf +0 -0
  211. data/vendor/assets/fonts/maily_herald/webui/Nexa_Free_Bold-webfont.woff +0 -0
  212. data/vendor/assets/fonts/maily_herald/webui/fontawesome-webfont.eot +0 -0
  213. data/vendor/assets/fonts/maily_herald/webui/fontawesome-webfont.svg +520 -0
  214. data/vendor/assets/fonts/maily_herald/webui/fontawesome-webfont.ttf +0 -0
  215. data/vendor/assets/fonts/maily_herald/webui/fontawesome-webfont.woff +0 -0
  216. data/vendor/assets/fonts/maily_herald/webui/opensans-bold-webfont.eot +0 -0
  217. data/vendor/assets/fonts/maily_herald/webui/opensans-bold-webfont.svg +1825 -0
  218. data/vendor/assets/fonts/maily_herald/webui/opensans-bold-webfont.ttf +0 -0
  219. data/vendor/assets/fonts/maily_herald/webui/opensans-bold-webfont.woff +0 -0
  220. data/vendor/assets/fonts/maily_herald/webui/opensans-italic-webfont.eot +0 -0
  221. data/vendor/assets/fonts/maily_herald/webui/opensans-italic-webfont.svg +1825 -0
  222. data/vendor/assets/fonts/maily_herald/webui/opensans-italic-webfont.ttf +0 -0
  223. data/vendor/assets/fonts/maily_herald/webui/opensans-italic-webfont.woff +0 -0
  224. data/vendor/assets/fonts/maily_herald/webui/opensans-regular-webfont.eot +0 -0
  225. data/vendor/assets/fonts/maily_herald/webui/opensans-regular-webfont.svg +1825 -0
  226. data/vendor/assets/fonts/maily_herald/webui/opensans-regular-webfont.ttf +0 -0
  227. data/vendor/assets/fonts/maily_herald/webui/opensans-regular-webfont.woff +0 -0
  228. data/vendor/assets/javascripts/maily_herald/webui/bootstrap-datepicker.js +1681 -0
  229. data/vendor/assets/javascripts/maily_herald/webui/bootstrap.min.js +6 -0
  230. data/vendor/assets/javascripts/maily_herald/webui/d3.v3.js +5 -0
  231. data/vendor/assets/javascripts/maily_herald/webui/rickshaw.js +4067 -0
  232. data/vendor/assets/stylesheets/maily_herald/webui/bootstrap-datepicker.css +786 -0
  233. data/vendor/assets/stylesheets/maily_herald/webui/bootstrap.min.css +5 -0
  234. data/vendor/assets/stylesheets/maily_herald/webui/font-awesome.min.css +4 -0
  235. data/vendor/assets/stylesheets/maily_herald/webui/rickshaw.css +355 -0
  236. metadata +564 -0
@@ -0,0 +1,38 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
5
+ width="513.75px" height="120px" viewBox="0 0 513.75 120" enable-background="new 0 0 513.75 120" xml:space="preserve">
6
+ <g id="icon">
7
+ <path fill="#969291" d="M120.758,78.119c-18.713,13.116-27.106,24.68-31.538,28.716c-4.407,4.013-6.256,3.067-6.256,3.067
8
+ L14.974,75.122l14.338-40.967L120.758,78.119z"/>
9
+ <path fill="#CBC6BF" d="M87.928,106.178c6.267-9.393,16.18-21.831,25.289-47.585l-79.37-37.395L14.974,75.122l67.989,34.781
10
+ C82.963,109.903,84.813,110.848,87.928,106.178z"/>
11
+ <path fill="#E4554F" d="M82.963,109.903c0,0-1.85-0.946,0.005-6.243c3.72-10.628,12.584-23.5,20.672-59.064L30.055,10.351
12
+ c-8.042,33.817-16.193,46.269-19.747,56.421c-1.771,5.059,4.666,8.351,4.666,8.351L82.963,109.903z"/>
13
+ <polygon fill="#A51421" points="103.641,44.596 70.081,53.756 30.055,10.351 "/>
14
+ <polygon fill="#FF7067" points="30.055,10.35 103.641,44.596 51.563,44.853 "/>
15
+ </g>
16
+ <g id="type">
17
+ <path fill="#1F1D1C" d="M190.427,53.828l-10.924,14.565h-1.244l-10.685-14.612v24.338h-6.324V44.63h7.282l10.492,14.421
18
+ l10.493-14.421h7.233v33.489h-6.324V53.828z"/>
19
+ <path fill="#1F1D1C" d="M226.042,71.794h-17.535l-2.874,6.325h-6.853l15.044-33.5h6.899l15.043,33.5h-6.898L226.042,71.794z
20
+ M217.274,51.625l-6.229,14.277h12.457L217.274,51.625z"/>
21
+ <path fill="#1F1D1C" d="M237.672,78.119v-33.5h6.276v33.5H237.672z"/>
22
+ <path fill="#1F1D1C" d="M255.512,44.619v27.655h17.248v5.845h-23.572v-33.5H255.512z"/>
23
+ <path fill="#1F1D1C" d="M284.081,58.428l8.911-13.809h7.618v0.287l-13.367,19.366v13.847h-6.324V64.272l-12.888-19.366v-0.287
24
+ h7.522L284.081,58.428z"/>
25
+ <path fill="#1F1D1C" d="M335.853,78.119V64.608h-16.481v13.511h-6.324V44.63h6.324v14.133h16.481V44.63h6.276v33.489H335.853z"/>
26
+ <path fill="#1F1D1C" d="M372.699,78.119h-25.105c0-11.163,0-22.337,0-33.5h25.105v6.096H353.87v7.713h18.158v5.893H353.87v7.569
27
+ h18.829V78.119z"/>
28
+ <path fill="#1F1D1C" d="M407.656,78.119h-7.521l-9.773-11.211h-6.085v11.211h-6.324v-33.5c5.317,0,10.636,0.048,15.953,0.048
29
+ c7.906,0.048,12.073,5.232,12.073,11.03c0,4.599-2.108,9.246-8.479,10.54l10.156,11.45V78.119z M384.277,50.475v10.732h9.629
30
+ c4.025,0,5.75-2.683,5.75-5.367c0-2.683-1.773-5.365-5.75-5.365H384.277z"/>
31
+ <path fill="#1F1D1C" d="M435.575,71.794H418.04l-2.874,6.325h-6.852l15.044-33.5h6.899l15.042,33.5h-6.897L435.575,71.794z
32
+ M426.808,51.625l-6.229,14.277h12.456L426.808,51.625z"/>
33
+ <path fill="#1F1D1C" d="M453.52,44.619v27.655h17.247v5.845h-23.571v-33.5H453.52z"/>
34
+ <path fill="#1F1D1C" d="M503.161,61.063c0.144,8.479-5.03,17.056-16.767,17.056c-4.12,0-9.056,0-13.176,0v-33.5
35
+ c4.12,0,9.056,0,13.176,0C497.891,44.619,503.017,52.775,503.161,61.063z M479.495,72.034h6.899c7.618,0,10.634-5.558,10.49-11.019
36
+ c-0.145-5.222-3.208-10.444-10.49-10.444h-6.899V72.034z"/>
37
+ </g>
38
+ </svg>
@@ -0,0 +1,20 @@
1
+ // This is a manifest file that'll be compiled into application.js, which will include all the files
2
+ // listed below.
3
+ //
4
+ // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5
+ // or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
6
+ //
7
+ // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
+ // the compiled file.
9
+ //
10
+ // WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD
11
+ // GO AFTER THE REQUIRES BELOW.
12
+ //
13
+ //= require jquery
14
+ //= require jquery_ujs
15
+ //= require maily_herald/webui/bootstrap.min
16
+ //= require maily_herald/webui/bootstrap-datepicker
17
+ //= require maily_herald/webui/d3.v3.js
18
+ //= require maily_herald/webui/rickshaw.js
19
+ //= require smart_listing
20
+ //= require_tree .
@@ -0,0 +1,58 @@
1
+ $.fn.handleDispatchForm = () ->
2
+ $(this).each ->
3
+ form = $(this)
4
+ mailer_select = form.find("#item_mailer_name")
5
+ list_select = form.find("#item_list")
6
+ template_generic = form.find(".template-generic")
7
+ template_mailer = form.find(".template-mailer")
8
+ template_mailer = form.find(".template-mailer")
9
+ mailing_from = form.find(".mailing-from")
10
+ dispatch_start_at = form.find(".dispatch-start-at")
11
+
12
+ update_form = () ->
13
+ $.ajax(
14
+ method: "post",
15
+ url: form.data("update-form-path"),
16
+ data: form.find("input[name^=item], textarea[name^=item], select[name^=item]").serialize(),
17
+ dataType: "script"
18
+ )
19
+
20
+ update_from = () ->
21
+ from_value = mailing_from.find("input[type=radio]:checked").val()
22
+ from_field = mailing_from.find("input[type=text]")
23
+
24
+ if from_value == "default"
25
+ from_field.hide()
26
+ else if from_value == "specify"
27
+ from_field.show()
28
+
29
+ update_start_at = () ->
30
+ dispatch_start_at.find('[data-toggle="tooltip"]').tooltip()
31
+ dispatch_start_at.find('button:first-child').focus ->
32
+ dispatch_start_at.find("input.form-control").focus()
33
+ true
34
+ dispatch_start_at.find("input.form-control").datepicker(
35
+ forceParse: false,
36
+ format: "yyyy-mm-dd"
37
+ )
38
+
39
+ mailer_select.change ->
40
+ update_form()
41
+
42
+ list_select.change ->
43
+ update_form()
44
+
45
+ if mailer_select.val() == "generic"
46
+ template_mailer.hide()
47
+ else
48
+ template_generic.hide()
49
+
50
+ mailing_from.on "change", "input[type=radio]", ->
51
+ update_from()
52
+
53
+ update_from()
54
+ update_start_at()
55
+
56
+ $ ->
57
+ $(".dispatch-form").handleDispatchForm()
58
+
@@ -0,0 +1,209 @@
1
+ $.rails.allowAction = (link) ->
2
+ return true unless link.attr('data-confirm')
3
+ $.rails.showConfirmDialog(link) # look bellow for implementations
4
+ false # always stops the action since code runs asynchronously
5
+
6
+ $.rails.confirmed = (link) ->
7
+ confirm = link.attr("data-confirm")
8
+ link.removeAttr('data-confirm')
9
+ link.trigger('click.rails')
10
+ link.popover('destroy')
11
+ link.attr("data-confirm", confirm)
12
+
13
+ $.rails.showConfirmDialog = (link) ->
14
+ message = link.attr 'data-confirm'
15
+ link.popover('destroy')
16
+
17
+ content = $("#popover-confirmation").clone().removeClass("fade")
18
+ content.find(".popover-msg").html(message)
19
+ content.find('.confirm').unbind "click"
20
+ content.find('.confirm').click ->
21
+ $.rails.confirmed(link)
22
+ content.find('.cancel').click ->
23
+ link.popover('hide')
24
+
25
+ link.popover(content: content, html: true, trigger: 'manual', title: $("#popover-confirmation").data("title"))
26
+ link.popover('show')
27
+
28
+ # Bootstrap tabs
29
+ $('.btn-default a').click (e) ->
30
+ e.preventDefault()
31
+ $(this).tab('show')
32
+ $.fn.observeField = (opts = {}) ->
33
+ field = $(this)
34
+ key_timeout = null
35
+ last_value = null
36
+ options =
37
+ onFilled: () ->
38
+ onEmpty: () ->
39
+ onChange: () ->
40
+ options = $.extend(options, opts)
41
+
42
+ keyChange = () ->
43
+ if field.val().length > 0
44
+ options.onFilled()
45
+ else
46
+ options.onEmpty()
47
+
48
+ if field.val() == last_value && field.val().length != 0
49
+ return
50
+ lastValue = field.val()
51
+
52
+ options.onChange()
53
+
54
+ field.data('observed', true)
55
+
56
+ field.bind 'keydown', (e) ->
57
+ if(key_timeout)
58
+ clearTimeout(key_timeout)
59
+
60
+ key_timeout = setTimeout(->
61
+ keyChange()
62
+ , 400)
63
+
64
+ $.fn.editable = (v) ->
65
+ if v == "cancel"
66
+ if $(this).data("edit-bkp")
67
+ $(this).html("")
68
+ $(this).append($(this).data("edit-bkp"))
69
+ $(this).removeData("edit-bkp")
70
+ else
71
+ $(this).editable("cancel")
72
+ children = $(this).children()
73
+ children.detach()
74
+ $(this).data("edit-bkp", children)
75
+ $(this).html(v)
76
+
77
+ $.fn.historyGraph = () ->
78
+ createSeries = (obj) ->
79
+ series = []
80
+ for date of obj
81
+ value = obj[date]
82
+ point =
83
+ x: Date.parse(date) / 1000
84
+ y: value
85
+
86
+ series.unshift point
87
+ series
88
+
89
+ $(this).each ->
90
+ container = $(this)
91
+
92
+ delivered = createSeries(container.data("delivered"))
93
+ skipped = createSeries(container.data("skipped"))
94
+ failed = createSeries(container.data("failed"))
95
+
96
+ if !container.data("graph")
97
+ graph = new Rickshaw.Graph(
98
+ element: container[0]
99
+ width: container.width()
100
+ height: 200
101
+ renderer: "line"
102
+ interpolation: "linear"
103
+ series: [
104
+ {
105
+ color: "#a94442"
106
+ data: failed
107
+ name: "Failed"
108
+ }
109
+ {
110
+ color: "#3c763d"
111
+ data: delivered
112
+ name: "Delivered"
113
+ }
114
+ {
115
+ color: "#006f68"
116
+ data: skipped
117
+ name: "Skipped"
118
+ }
119
+ ]
120
+ )
121
+ x_axis = new Rickshaw.Graph.Axis.Time(graph: graph)
122
+ y_axis = new Rickshaw.Graph.Axis.Y(
123
+ graph: graph
124
+ tickFormat: Rickshaw.Fixtures.Number.formatKMBT
125
+ ticksTreatment: "glow"
126
+ )
127
+ graph.render()
128
+ hoverDetail = new Rickshaw.Graph.HoverDetail(
129
+ graph: graph
130
+ yFormatter: (y) ->
131
+ Math.floor(y)
132
+ )
133
+
134
+ container.data("graph", graph)
135
+ else
136
+ graph = container.data("graph")
137
+ graph.series[0]["data"] = failed
138
+ graph.series[1]["data"] = delivered
139
+ graph.series[2]["data"] = skipped
140
+ graph.update()
141
+
142
+ $ ->
143
+ SmartListing.config.merge()
144
+
145
+ $(document).on "click", ".resource-editable button.cancel", ->
146
+ $(this).closest(".resource-editable").editable("cancel")
147
+ false
148
+
149
+ $(document).tooltip
150
+ selector: 'a[data-toggle=tooltip]'
151
+
152
+ $(document).on 'hidden.bs.modal', (e) ->
153
+ $(e.target).removeData('bs.modal')
154
+
155
+
156
+ # form ui
157
+ $('input[type=radio]').on 'change', ->
158
+ $("input[type=radio][name=#{$(this).attr("name")}]").each ->
159
+ if $(this).is(":checked")
160
+ $(this).parent().addClass("radio-checked")
161
+ else
162
+ $(this).parent().removeClass("radio-checked")
163
+
164
+ $('input[type=checkbox]').on 'change', ->
165
+ if $(this).is(":checked")
166
+ $(this).parent().addClass("checkbox-checked")
167
+ else
168
+ $(this).parent().removeClass("checkbox-checked")
169
+
170
+ $('input[type="radio"]:checked').parent().addClass 'radio-checked'
171
+ $('input[type="checkbox"]:checked').parent().addClass 'checkbox-checked'
172
+
173
+ $(".select-wrap").click ->
174
+ $(this).toggleClass "select-btn"
175
+ # end form ui
176
+
177
+ $(document).on "ajax:before", "a", (e) ->
178
+ dummy = () ->
179
+ false
180
+
181
+ target = $(e.target)
182
+ target.addClass("disabled")
183
+ target.bind "click", dummy
184
+ if target.find("i.fa").length == 0
185
+ target.prepend("<i class='fa fa-spinner fa-spin'></i> ")
186
+
187
+ target.on "ajax:success", (e) ->
188
+ target.removeClass("disabled")
189
+ target.find("i.fa-spinner").remove()
190
+ target.unbind "click", dummy
191
+
192
+ target.on "ajax:error", (e) ->
193
+ target.removeClass("disabled")
194
+ target.addClass("error")
195
+
196
+ $(document).on "ajax:before", "form", (e) ->
197
+ target = $(e.target)
198
+ button = target.find("button[type='submit']")
199
+ button.attr("disabled", "disabled")
200
+ button.prepend("<i class='fa fa-spinner fa-spin'></i>")
201
+
202
+ button.on "ajax:success", (e) ->
203
+ button.removeAttr("disabled")
204
+ button.find("i.fa-spinner").remove()
205
+
206
+ $(".history-graph").historyGraph()
207
+
208
+ return
209
+
@@ -0,0 +1,18 @@
1
+ /*
2
+ * This is a manifest file that'll be compiled into application.css, which will include all the files
3
+ * listed below.
4
+ *
5
+ * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
6
+ * or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
7
+ *
8
+ * You're free to add application-wide styles to this file and they'll appear at the top of the
9
+ * compiled file, but it's generally better to create a new file per style scope.
10
+ *
11
+ *= require_self
12
+ *= require maily_herald/webui/bootstrap.min
13
+ *= require maily_herald/webui/bootstrap-datepicker
14
+ *= require maily_herald/webui/font-awesome.min
15
+ *= require maily_herald/webui/rickshaw
16
+ *= require_tree .
17
+ */
18
+
@@ -0,0 +1,846 @@
1
+ @font-face
2
+ font-family: 'Nexa Free'
3
+ src: asset-url('maily_herald/webui/Nexa_Free_Bold-webfont.eot')
4
+ src: asset-url('maily_herald/webui/Nexa_Free_Bold-webfont.eot?#iefix') format('embedded-opentype')
5
+ src: asset-url('maily_herald/webui/Nexa_Free_Bold-webfont.woff') format('woff')
6
+ src: asset-url('maily_herald/webui/Nexa_Free_Bold-webfont.ttf') format('truetype')
7
+ font-weight: bold
8
+ font-style: normal
9
+
10
+ @font-face
11
+ font-family: 'Open Sans'
12
+ src: asset-url('maily_herald/webui/opensans-regular-webfont.eot')
13
+ src: asset-url('maily_herald/webui/opensans-regular-webfont.eot?#iefix') format('embedded-opentype')
14
+ src: asset-url('maily_herald/webui/opensans-regular-webfont.woff') format('woff')
15
+ src: asset-url('maily_herald/webui/opensans-regular-webfont.ttf') format('truetype')
16
+ font-weight: normal
17
+ font-style: normal
18
+
19
+ @font-face
20
+ font-family: 'Open Sans'
21
+ src: asset-url('maily_herald/webui/opensans-italic-webfont.eot')
22
+ src: asset-url('maily_herald/webui/opensans-italic-webfont.eot?#iefix') format('embedded-opentype')
23
+ src: asset-url('maily_herald/webui/opensans-italic-webfont.woff') format('woff')
24
+ src: asset-url('maily_herald/webui/opensans-italic-webfont.ttf') format('truetype')
25
+ src: asset-url('maily_herald/webui/opensans-italic-webfont.svg#nexa_boldregular') format('svg')
26
+ font-weight: normal
27
+ font-style: italic
28
+
29
+ @font-face
30
+ font-family: 'Open Sans'
31
+ src: asset-url('maily_herald/webui/opensans-bold-webfont.eot')
32
+ src: asset-url('maily_herald/webui/opensans-bold-webfont.eot?#iefix') format('embedded-opentype')
33
+ src: asset-url('maily_herald/webui/opensans-bold-webfont.woff') format('woff')
34
+ src: asset-url('maily_herald/webui/opensans-bold-webfont.ttf') format('truetype')
35
+ src: asset-url('maily_herald/webui/opensans-bold-webfont.svg#nexa_boldregular') format('svg')
36
+ font-weight: normal
37
+ font-style: italic
38
+
39
+ @font-face
40
+ font-family: 'FontAwesome'
41
+ src: asset-url('maily_herald/webui/fontawesome-webfont.eot?v=4.2.0')
42
+ src: asset-url('maily_herald/webui/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'), asset-url('maily_herald/webui/fontawesome-webfont.woff?v=4.2.0') format('woff'), asset-url('maily_herald/webui/fontawesome-webfont.ttf?v=4.2.0') format('truetype'), asset-url('maily_herald/webui/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg')
43
+ font-weight: normal
44
+ font-style: normal
45
+
46
+ // Variable
47
+ $font_open: 'Open Sans', sans-serif
48
+
49
+ $font_nexa: 'Nexa Free', sans-serif
50
+
51
+ // General
52
+ body
53
+ font-family: $font_open
54
+ //font-size: 14px
55
+ //line-height: 1.5
56
+ color: #4b4847
57
+ background-color: #e7e2db
58
+
59
+ // Headlines
60
+ h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6
61
+ text-transform: uppercase
62
+ margin: 0 0 20px
63
+ font-family: $font_nexa
64
+ font-weight: bold
65
+ &.border
66
+ border-bottom: 2px solid #cbc6bf
67
+ padding-bottom: 5px
68
+ small
69
+
70
+ &.red
71
+ color: #a51421
72
+ a.link
73
+ position: relative
74
+ display: inline-block
75
+ padding: 0 0 0 10px
76
+ margin: 0 0 0 10px
77
+ &:before
78
+ content: '·'
79
+ color: #969291
80
+ font-family: $font_nexa
81
+ position: absolute
82
+ left: -3px
83
+ top: 0
84
+ &.link-sm
85
+ font-size: 70%
86
+ &.link-help
87
+ color: #bbb
88
+ &:hover
89
+ color: #000
90
+ h1, .h1
91
+ a.link
92
+ &.link-sm
93
+ font-size: 60%
94
+
95
+ span.translation_missing
96
+ color: #f00
97
+
98
+ .hero
99
+ .logo
100
+ height: 50px
101
+ margin: 0 auto
102
+ .breadcrumb
103
+ margin: 0
104
+ li
105
+ line-height: 50px
106
+
107
+ h1, .h2
108
+ font-size: 21px
109
+ h2, .h2
110
+ font-size: 17px
111
+ h3, .h3
112
+ font-size: 14px
113
+ h4, .h4
114
+ font-size: 12px
115
+
116
+
117
+ // Links
118
+ a
119
+ color: #e4554f
120
+ &:hover, &:focus
121
+ color: #ff7067
122
+ text-decoration: none
123
+ &:active
124
+ color: #a51421
125
+
126
+ &.alternative
127
+ color: #634a4d
128
+ &:hover
129
+ color: #957a7c
130
+ &:active
131
+ color: #4a3335
132
+ .btn-link
133
+ color: #e4554f
134
+ &:hover, &:focus
135
+ color: #ff7067
136
+ text-decoration: none
137
+ &:active
138
+ color: #a51421
139
+
140
+ a.disabled
141
+ color: #c8c8c8 !important
142
+ i.fa
143
+ animation: 2s linear 0s normal none infinite fa-spin
144
+ i.fa:before
145
+ content: "" !important
146
+ a.error
147
+ color: #f00 !important
148
+ i.fa:before
149
+ content: "" !important
150
+
151
+ em
152
+ font-style: italic
153
+
154
+ strong
155
+ font-weight: 700
156
+
157
+ hr
158
+ border-top: 2px solid #cbc6bf
159
+
160
+ p
161
+ margin: 0 0 20px
162
+
163
+ pre
164
+ background: #e7e2db
165
+ font-size: 12px
166
+ border: 1px solid #cbc6bf
167
+ border-radius: 0
168
+ max-height: 400px
169
+ white-space: pre-wrap
170
+
171
+ .no-margin
172
+ margin-bottom: 0
173
+
174
+ // Breadcrumbs
175
+ .breadcrumb
176
+ background: none
177
+ padding: 0
178
+ > li
179
+ + li
180
+ &:before
181
+ content: '>'
182
+ font-family: $font_nexa
183
+ color: #969291
184
+ a
185
+ color: #e4554f
186
+ &:hover
187
+ color: #ff7067
188
+ > .active
189
+ color: #1f1d1c
190
+
191
+ // Pagination
192
+ .pagination-wrapper
193
+ text-align: right
194
+ .pagination
195
+ border: 1px solid #e7e2db
196
+ > li
197
+ > a
198
+ border: 1px solid #e7e2db
199
+ color: #634a4d
200
+ &:hover
201
+ color: #957a7c
202
+
203
+ &:first-child
204
+ > a, > span
205
+ border-bottom-left-radius: 2px
206
+ border-top-left-radius: 2px
207
+
208
+ &:last-child
209
+ > a, > span
210
+ border-top-right-radius: 2px
211
+ border-bottom-right-radius: 2px
212
+
213
+ > .active
214
+ > a, > span
215
+ background: #e7e2db
216
+ color: #4a3335
217
+ border-color: #e7e2db
218
+ span
219
+ position: relative
220
+ float: left
221
+ margin-left: -1px
222
+ line-height: 1.428571429
223
+ text-decoration: none
224
+ background-color: #fff
225
+ border: 1px solid #e7e2db
226
+ color: #634a4d
227
+ font-weight: 700
228
+ &.first
229
+ margin-left: 0
230
+ &.current
231
+ background: #e7e2db
232
+ padding: 10px 15px
233
+ color: #4a3335
234
+ a
235
+ color: #634a4d
236
+ padding: 10px 15px
237
+ display: inline-block
238
+ &:hover
239
+ color: #957a7c
240
+
241
+
242
+
243
+ // Buttons
244
+ button i
245
+ margin-right: 5px
246
+
247
+ .btn
248
+ border-radius: 2px
249
+ position: relative
250
+
251
+ .btn-webui
252
+ text-transform: uppercase
253
+ color: #fff
254
+ font-weight: bold
255
+ background: #e4554f
256
+ padding: 6px 20px
257
+ box-shadow: 0px 5px 0 #a51421
258
+ &:hover
259
+ background: #ff7067 !important
260
+ color: #fff
261
+ &:active
262
+ background: #e4554f !important
263
+ box-shadow: 0px -5px 0 #a51421
264
+ color: #fff
265
+ top: 5px
266
+ .glyphicon
267
+ color: #cbc6bf
268
+
269
+ .btn-webui-alternative
270
+ text-transform: uppercase
271
+ color: #fff
272
+ font-weight: bold
273
+ background: #634a4d
274
+ padding: 6px 20px
275
+ box-shadow: 0px 5px 0 #4a3335
276
+ &:hover
277
+ background: #957a7c
278
+ color: #fff
279
+ &:active
280
+ background: #634a4d
281
+ box-shadow: 0px -5px 0 #4a3335
282
+ color: #fff
283
+ top: 5px
284
+
285
+ // Nav
286
+ .context-menu
287
+ text-align: right
288
+ margin: 0 0 20px
289
+ form
290
+ display: inline-block
291
+
292
+ .nav
293
+ &.nav-main
294
+ > li
295
+ float: left
296
+ font-family: $font_nexa
297
+ font-weight: bold
298
+ > a
299
+ border-radius: 0
300
+ text-transform: uppercase
301
+ color: #634a4d
302
+ font-weight: bold
303
+ padding: 15px 20px
304
+ color: #e4554f
305
+ &:hover
306
+ background: none
307
+ color: #ff7067
308
+ &.active
309
+ > a
310
+ background: #fff
311
+ color: #634a4d
312
+
313
+ &.nav-secondary
314
+ border-radius: 2px
315
+ border: 2px solid #cbc6bf
316
+ display: inline-block
317
+ background: #fff
318
+ > li
319
+ float: left
320
+ position: relative
321
+ margin: 0 1px 0 0
322
+ &:after
323
+ content: '·'
324
+ color: #969291
325
+ font-family: $font_nexa
326
+ position: absolute
327
+ right: -2px
328
+ top: 28%
329
+ &:last-child
330
+ margin: 0
331
+ &:after
332
+ display: none
333
+ a
334
+ text-transform: uppercase
335
+ font-weight: bold
336
+ float: left
337
+ padding: 5px 15px
338
+ &:hover
339
+ background: none
340
+ color: #ff7067
341
+ &.active
342
+ > a
343
+ background: none
344
+ color: #634a4d
345
+
346
+ strong
347
+ display: block
348
+ padding: 10px 0 10px 15px
349
+ float: left
350
+
351
+ &.nav-justified
352
+ > li
353
+ float: none
354
+
355
+ .glyphicon
356
+ color: #634a4d
357
+ font-size: 12px
358
+
359
+ // Dropdown
360
+ .dropdown
361
+ background: #fff
362
+ display: inline-block
363
+ > a
364
+ text-decoration: none
365
+ color: #634a4d
366
+ outline: none
367
+ line-height: 38px
368
+ span
369
+ display: inline-block
370
+ padding: 0 50px 0 20px
371
+ background: asset-url('maily_herald/webui/sprite-dropdown.png') no-repeat
372
+ background-position: 100% 0
373
+ min-height: 40px
374
+ &.open
375
+ > a
376
+ span
377
+ background-position: 100% 100%
378
+
379
+ .dropdown-menu
380
+ border-radius: 0
381
+ width: 100%
382
+ border: none
383
+ margin: 20px 0 0
384
+ padding: 20px 0
385
+ box-shadow: none
386
+ //left: 0 !important
387
+ &:before
388
+ content: ''
389
+ position: absolute
390
+ top: -10px
391
+ left: 50%
392
+ margin-left: -5px
393
+ width: 0
394
+ height: 0
395
+ border-left: 10px solid transparent
396
+ border-right: 10px solid transparent
397
+ border-bottom: 10px solid white
398
+ > li
399
+ a
400
+ font-size: 12px
401
+ line-height: 20px
402
+ color: #e4554f
403
+ padding: 0 20px
404
+
405
+
406
+ // Table
407
+ .table-listing
408
+ > thead
409
+ > tr
410
+ > th
411
+ border-bottom: 3px solid #cbc6bf
412
+ padding: 10px 20px 10px 0
413
+ > tbody
414
+ > tr
415
+ > td
416
+ border-bottom: 1px solid #cbc6bf
417
+ padding: 10px 20px 10px 0
418
+ &:last-child
419
+ > td
420
+ border-bottom: 3px solid #cbc6bf
421
+
422
+
423
+ // Forms
424
+
425
+ form, .form-horizontal
426
+ ::-webkit-input-placeholder
427
+ color: #b0b0b0
428
+ \:-moz-placeholder
429
+ color: #b0b0b0
430
+ opacity: 1
431
+ ::-moz-placeholder
432
+ color: #b0b0b0
433
+ opacity: 1
434
+ \:-ms-input-placeholder
435
+ color: #b0b0b0
436
+
437
+ label
438
+ font-weight: normal
439
+ input
440
+ &[type='text'], &[type='email'], &[type='password']
441
+ //line-height: 22px
442
+ //height: 30px
443
+ border: 2px solid #969291
444
+ //padding: 0 10px
445
+ //min-width: 180px
446
+ //outline: none
447
+ //background-color: #fff
448
+ //border-radius: 3px
449
+ &:focus
450
+ border-color: #ff7067
451
+ &[type='submit']
452
+
453
+ textarea
454
+ border: 2px solid #969291
455
+ background-color: #fff
456
+ border-radius: 3px
457
+ outline: none
458
+ padding: 5px 10px
459
+ &:focus
460
+ border-color: #ff7067
461
+ .select-wrap
462
+ position: relative
463
+ display: inline-block
464
+ background: asset-url('maily_herald/webui/sprite-dropdown.png') no-repeat
465
+ background-position: 100% 0
466
+ height: 40px
467
+ min-width: 202px
468
+ overflow: hidden
469
+ border: 2px solid #969291
470
+ border-radius: 3px
471
+ &.select-btn
472
+ background-position: 100% 95%
473
+ select
474
+ height: 38px
475
+ border: none
476
+ padding: 7px 0 6px 10px
477
+ width: 107%
478
+ outline: none
479
+ border-radius: 0
480
+ overflow: hidden
481
+ outline: none
482
+ -webkit-appearance: none
483
+ -moz-appearance: none
484
+ appearance: none
485
+ background-color: transparent
486
+ background-image: none
487
+ .field_with_errors, .has-error
488
+ input
489
+ &[type='text'], &[type='email'], &[type='password']
490
+ border-color: #a51421
491
+ select, .select-wrap
492
+ border-color: #a51421
493
+
494
+ .radio, .checkbox
495
+ padding-left: 0
496
+ display: inline-block
497
+ padding-right: 21px
498
+ .webui-input, .radio-btn, .check-box
499
+ display: inline-block
500
+ float: left
501
+ > label
502
+ padding-left: 2px
503
+
504
+ .checkbox
505
+ color: #4b4847
506
+ font-size: 14px
507
+ cursor: pointer
508
+ input[type='checkbox']
509
+ visibility: hidden
510
+ .checkbox-wrap
511
+ display: inline-block
512
+ width: 20px
513
+ height: 20px
514
+ margin: 0 10px 0 0
515
+ vertical-align: middle
516
+ background: asset-url('maily_herald/webui/sprite-form.png') no-repeat 0 0
517
+ cursor: pointer
518
+ outline: none
519
+ &.checkbox-checked
520
+ background-position: -29px 0
521
+ &.field_with_errors, &.has-error
522
+ .check-box
523
+ background-position: -60px 0
524
+ &.checkbox-checked
525
+ background-position: -29px 0
526
+
527
+ .radio
528
+ color: #4b4847
529
+ font-size: 14px
530
+ cursor: pointer
531
+ position: relative
532
+
533
+ input[type='radio']
534
+ visibility: hidden
535
+ > .radio-btn
536
+ display: inline-block
537
+ width: 20px
538
+ height: 20px
539
+ margin: 0 10px 0 0
540
+ vertical-align: middle
541
+ background: asset-url('maily_herald/webui/sprite-form.png') no-repeat 0 -45px
542
+ cursor: pointer
543
+ outline: none
544
+ &.radio-checked
545
+ background: asset-url('maily_herald/webui/sprite-form.png') no-repeat -29px -45px
546
+ &.field_with_errors, &.has-error
547
+ > .radio-btn
548
+ background-position: -60px -45px
549
+ &.radio-checked
550
+ background: asset-url('maily_herald/webui/sprite-form.png') no-repeat -29px -45px
551
+
552
+ .input-group
553
+ .input-group-btn
554
+ .btn
555
+ border: 2px solid #969291
556
+ padding: 5px 12px
557
+ i
558
+ margin: 0
559
+ &:last-child > .btn, &:last-child > .btn-group
560
+ margin-left: -2px
561
+ .input-group-addon
562
+ border: 2px solid #969291
563
+ border-left: none
564
+
565
+
566
+ // Modal
567
+ .modal
568
+ background: rgba(#634a4d, .6)
569
+ .modal-dialog
570
+ width: 800px
571
+
572
+ .modal-content
573
+ border-radius: 0
574
+ top: 30px
575
+ .modal-header
576
+ background: #fff
577
+ border-bottom: 2px solid #cbc6bf
578
+ h3
579
+ margin: 0
580
+ .close
581
+ color: #e4554f
582
+ font-family: $font_nexa
583
+ font-size: 30px
584
+ opacity: 1
585
+ &:hover
586
+ opacity: .5
587
+ .modal-footer
588
+ border-top: none
589
+ #modal-confirmation
590
+ .modal-dialog
591
+ width: 400px
592
+
593
+ // Tooltip
594
+ .tooltip
595
+ position: absolute
596
+ z-index: 1030
597
+ display: block
598
+ font-size: 12px
599
+ line-height: 1.4
600
+ opacity: 0
601
+ filter: alpha(opacity = 0)
602
+ visibility: visible
603
+ &.in
604
+ opacity: 1
605
+ filter: alpha(opacity = 1)
606
+ &.top
607
+ padding: 5px 0 8px
608
+ margin-top: -4px
609
+ &.right
610
+ padding: 0 5px 0 8px
611
+ margin-left: 4px
612
+ &.bottom
613
+ padding: 8px 0 5px
614
+ margin-top: 4px
615
+ &.left
616
+ padding: 0 8px 0 5px
617
+ margin-left: -4px
618
+
619
+ .tooltip-inner
620
+ font-family: $font_open
621
+ font-weight: normal
622
+ text-transform: none
623
+ max-width: 400px
624
+ min-width: 200px
625
+ padding: 15px 15px
626
+ color: #4b4847
627
+ text-align: left
628
+ text-decoration: none
629
+ background-color: #fff
630
+ border-radius: 0
631
+ border: 2px solid #634a4d
632
+ white-space: normal
633
+
634
+ .tooltip-arrow
635
+ position: absolute
636
+ width: 20px
637
+ height: 10px
638
+ border: none !important
639
+
640
+ .tooltip
641
+ &.top .tooltip-arrow
642
+ bottom: 0
643
+ left: 50%
644
+ margin-left: -10px
645
+ background: asset-url('maily_herald/webui/arrow-top.png') no-repeat
646
+ &.top-left .tooltip-arrow
647
+ width: 10px
648
+ height: 20px
649
+ bottom: 0
650
+ left: 10px
651
+ background: asset-url('maily_herald/webui/arrow-left.png') no-repeat
652
+ &.top-right .tooltip-arrow
653
+ width: 10px
654
+ height: 20px
655
+ right: 10px
656
+ bottom: 0
657
+ background: asset-url('maily_herald/webui/arrow-right.png') no-repeat
658
+ &.right .tooltip-arrow
659
+ width: 10px
660
+ height: 20px
661
+ top: 50%
662
+ left: 0
663
+ margin-top: -10px
664
+ background: asset-url('maily_herald/webui/arrow-right.png') no-repeat
665
+ &.left .tooltip-arrow
666
+ width: 10px
667
+ height: 20px
668
+ top: 50%
669
+ right: 0
670
+ margin-top: -10px
671
+ background: asset-url('maily_herald/webui/arrow-left.png') no-repeat
672
+ &.bottom .tooltip-arrow
673
+ top: 0
674
+ left: 50%
675
+ background: asset-url('maily_herald/webui/arrow-bottom.png') no-repeat
676
+ margin-left: -10px
677
+ &.bottom-left .tooltip-arrow
678
+ width: 10px
679
+ height: 20px
680
+ top: 0
681
+ left: 10px
682
+ background: asset-url('maily_herald/webui/arrow-left.png') no-repeat
683
+ &.bottom-right .tooltip-arrow
684
+ width: 10px
685
+ height: 20px
686
+ top: 0
687
+ right: 10px
688
+ background: asset-url('maily_herald/webui/arrow-right.png') no-repeat
689
+
690
+ h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6
691
+ .tooltip.right .tooltip-inner, .popover-content
692
+ font-family: $font_open
693
+ text-transform: none
694
+ text-align: left
695
+ font-weight: normal
696
+ font-size: 14px
697
+ .popover-content
698
+ p
699
+ margin-bottom: 10px
700
+ .btn.btn-webui
701
+ padding: 3px 10px
702
+
703
+
704
+
705
+ // Box
706
+ .box
707
+ border: 2px solid #cbc6bf
708
+ padding: 15px
709
+ background: #fff
710
+ margin: 0 0 20px
711
+ &.darken
712
+ background: #e7e2db
713
+ &.noborder
714
+ border: none
715
+
716
+ // dl-horizontal
717
+ .dl-horizontal
718
+ &:last-child
719
+ margin-bottom: 0
720
+ dt
721
+ color: #969291
722
+ font-weight: 400
723
+ margin: 0 0 5px
724
+ &:last-of-type
725
+ margin: 0
726
+
727
+ // Custom
728
+ .hero
729
+ padding: 20px 0
730
+ h1
731
+ margin: 0
732
+ line-height: 38px
733
+
734
+ .content-container
735
+ padding: 40px
736
+ background: #fff
737
+ margin: 0 0 20px
738
+ .breadcrumb
739
+ line-height: 45px
740
+
741
+ .smart-listing
742
+ margin-bottom: 30px
743
+ .pagination
744
+ margin: 0 0 5px
745
+ .pagination-per-page
746
+ text-align: right !important
747
+ tr
748
+ td.actions
749
+ &:after
750
+ content: '·'
751
+ padding: 0 7px
752
+ //color: #b1b1b1
753
+ color: #e4554f
754
+ //margin-left: -10px
755
+ margin-left: -22px
756
+ .text-muted
757
+ color: #aaa
758
+ &:hover
759
+ td.actions
760
+ &:after
761
+ display: none
762
+ td
763
+ background-color: #f3f3f3 !important
764
+ td.actions
765
+ .action-group
766
+ visibility: visible
767
+ &:before
768
+ visibility: visible
769
+ td.actions
770
+ white-space: nowrap
771
+ text-align: right
772
+ a.show
773
+ display: inline !important
774
+ .action-group
775
+ display: inline-block
776
+ visibility: hidden
777
+ &:before
778
+ content: '·'
779
+ color: #e4554f
780
+ font-family: $font_nexa
781
+ padding: 0 5px
782
+ visibility: hidden
783
+ &:first-child:before
784
+ display: none
785
+
786
+ // Search
787
+ .filter-search
788
+ position: relative
789
+ display: inline-block
790
+ input[type='text']
791
+ padding-right: 36px
792
+ max-width: 200px
793
+ input[type='submit'], button
794
+ position: absolute
795
+ top: 0
796
+ right: 0
797
+ bottom: 0
798
+ background: none
799
+ color: #4b4847
800
+ outline: none !important
801
+ &.disabled
802
+ color: #969291
803
+ &:active
804
+ box-shadow: none
805
+
806
+ .footer
807
+ margin: 0 0 20px
808
+ font-size: 13px
809
+ padding: 0 40px
810
+ color: #777
811
+ strong
812
+ color: #4b4847
813
+ font-weight: normal
814
+ a
815
+ color: #4b4847
816
+ &:hover
817
+ color: #000
818
+ span
819
+ display: inline-block
820
+ &:after
821
+ content: '·'
822
+ color: #969291
823
+ font-family: $font_nexa
824
+ padding: 0 5px
825
+ &:last-child
826
+ margin: 0
827
+ &:after
828
+ display: none
829
+
830
+
831
+ .mailing-mailer
832
+ white-space: nowrap
833
+ i
834
+ margin-right: -5px
835
+
836
+ .datepicker-dropdown
837
+ width: auto
838
+
839
+ .statusbox
840
+ text-align: center
841
+
842
+ .dashboard-periods
843
+ a
844
+ color: #777
845
+ &.active, &:hover
846
+ color: #4b4847