taskwarrior-web 1.0.2 → 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. data/lib/taskwarrior-web/app.rb +4 -14
  2. data/lib/taskwarrior-web/command_builders/base.rb +5 -4
  3. data/lib/taskwarrior-web/config.rb +2 -2
  4. data/lib/taskwarrior-web/helpers.rb +5 -5
  5. data/lib/taskwarrior-web/public/css/bootstrap-responsive.min.css +9 -0
  6. data/lib/taskwarrior-web/public/css/bootstrap.min.css +9 -0
  7. data/lib/taskwarrior-web/public/css/datepicker.css +156 -0
  8. data/lib/taskwarrior-web/public/css/styles.css +3 -307
  9. data/lib/taskwarrior-web/public/{images → img}/ajax-loader.gif +0 -0
  10. data/lib/taskwarrior-web/public/img/glyphicons-halflings-white.png +0 -0
  11. data/lib/taskwarrior-web/public/img/glyphicons-halflings.png +0 -0
  12. data/lib/taskwarrior-web/public/js/application.js +22 -55
  13. data/lib/taskwarrior-web/public/js/bootstrap-datepicker.js +401 -0
  14. data/lib/taskwarrior-web/public/js/bootstrap.min.js +6 -0
  15. data/lib/taskwarrior-web/public/js/jquery.min.js +2 -16
  16. data/lib/taskwarrior-web/views/_subnav.erb +13 -0
  17. data/lib/taskwarrior-web/views/_topbar.erb +19 -0
  18. data/lib/taskwarrior-web/views/layout.erb +8 -22
  19. data/lib/taskwarrior-web/views/listing.erb +1 -1
  20. data/lib/taskwarrior-web/views/project.erb +1 -2
  21. data/lib/taskwarrior-web/views/projects.erb +3 -4
  22. data/lib/taskwarrior-web/views/task_form.erb +26 -16
  23. data/taskwarrior-web.gemspec +1 -1
  24. metadata +27 -41
  25. data/lib/taskwarrior-web/public/css/gh-buttons.css +0 -388
  26. data/lib/taskwarrior-web/public/css/jquery-ui.css +0 -738
  27. data/lib/taskwarrior-web/public/css/tipsy.css +0 -7
  28. data/lib/taskwarrior-web/public/images/arrow_right_black.png +0 -0
  29. data/lib/taskwarrior-web/public/images/arrow_right_grey.png +0 -0
  30. data/lib/taskwarrior-web/public/images/bg_fallback.png +0 -0
  31. data/lib/taskwarrior-web/public/images/gh-icons.png +0 -0
  32. data/lib/taskwarrior-web/public/images/grid-view.png +0 -0
  33. data/lib/taskwarrior-web/public/images/icon_sprite.png +0 -0
  34. data/lib/taskwarrior-web/public/images/list-view.png +0 -0
  35. data/lib/taskwarrior-web/public/images/logo.png +0 -0
  36. data/lib/taskwarrior-web/public/images/progress_bar.gif +0 -0
  37. data/lib/taskwarrior-web/public/images/slider_handles.png +0 -0
  38. data/lib/taskwarrior-web/public/images/subnav_background.gif +0 -0
  39. data/lib/taskwarrior-web/public/images/tab_background.gif +0 -0
  40. data/lib/taskwarrior-web/public/images/tipsy.gif +0 -0
  41. data/lib/taskwarrior-web/public/images/ui-icons_222222_256x240.png +0 -0
  42. data/lib/taskwarrior-web/public/images/ui-icons_454545_256x240.png +0 -0
  43. data/lib/taskwarrior-web/public/js/jquery-ui.min.js +0 -163
  44. data/lib/taskwarrior-web/public/js/jquery.cookie.js +0 -96
  45. data/lib/taskwarrior-web/public/js/jquery.tagsinput.js +0 -218
  46. data/lib/taskwarrior-web/public/js/jquery.tipsy.js +0 -104
  47. data/lib/taskwarrior-web/views/_navigation.erb +0 -17
@@ -1,104 +0,0 @@
1
- (function($) {
2
- $.fn.tipsy = function(options) {
3
-
4
- options = $.extend({}, $.fn.tipsy.defaults, options);
5
-
6
- return this.each(function() {
7
-
8
- var opts = $.fn.tipsy.elementOptions(this, options);
9
-
10
- $(this).hover(function() {
11
-
12
- $.data(this, 'cancel.tipsy', true);
13
-
14
- var tip = $.data(this, 'active.tipsy');
15
- if (!tip) {
16
- tip = $('<div class="tipsy"><div class="tipsy-inner"/></div>');
17
- tip.css({position: 'absolute', zIndex: 100000});
18
- $.data(this, 'active.tipsy', tip);
19
- }
20
-
21
- if ($(this).attr('title') || typeof($(this).attr('original-title')) != 'string') {
22
- $(this).attr('original-title', $(this).attr('title') || '').removeAttr('title');
23
- }
24
-
25
- var title;
26
- if (typeof opts.title == 'string') {
27
- title = $(this).attr(opts.title == 'title' ? 'original-title' : opts.title);
28
- } else if (typeof opts.title == 'function') {
29
- title = opts.title.call(this);
30
- }
31
-
32
- tip.find('.tipsy-inner')[opts.html ? 'html' : 'text'](title || opts.fallback);
33
-
34
- var pos = $.extend({}, $(this).offset(), {width: this.offsetWidth, height: this.offsetHeight});
35
- tip.get(0).className = 'tipsy'; // reset classname in case of dynamic gravity
36
- tip.remove().css({top: 0, left: 0, visibility: 'hidden', display: 'block'}).appendTo(document.body);
37
- var actualWidth = tip[0].offsetWidth, actualHeight = tip[0].offsetHeight;
38
- var gravity = (typeof opts.gravity == 'function') ? opts.gravity.call(this) : opts.gravity;
39
-
40
- switch (gravity.charAt(0)) {
41
- case 'n':
42
- tip.css({top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2}).addClass('tipsy-north');
43
- break;
44
- case 's':
45
- tip.css({top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2}).addClass('tipsy-south');
46
- break;
47
- case 'e':
48
- tip.css({top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth}).addClass('tipsy-east');
49
- break;
50
- case 'w':
51
- tip.css({top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width}).addClass('tipsy-west');
52
- break;
53
- }
54
-
55
- if (opts.fade) {
56
- tip.css({opacity: 0, display: 'block', visibility: 'visible'}).animate({opacity: 0.8});
57
- } else {
58
- tip.css({visibility: 'visible'});
59
- }
60
-
61
- }, function() {
62
- $.data(this, 'cancel.tipsy', false);
63
- var self = this;
64
- setTimeout(function() {
65
- if ($.data(this, 'cancel.tipsy')) return;
66
- var tip = $.data(self, 'active.tipsy');
67
- if (opts.fade) {
68
- tip.stop().fadeOut(function() { $(this).remove(); });
69
- } else {
70
- tip.remove();
71
- }
72
- }, 100);
73
-
74
- });
75
-
76
- });
77
-
78
- };
79
-
80
- // Overwrite this method to provide options on a per-element basis.
81
- // For example, you could store the gravity in a 'tipsy-gravity' attribute:
82
- // return $.extend({}, options, {gravity: $(ele).attr('tipsy-gravity') || 'n' });
83
- // (remember - do not modify 'options' in place!)
84
- $.fn.tipsy.elementOptions = function(ele, options) {
85
- return $.metadata ? $.extend({}, options, $(ele).metadata()) : options;
86
- };
87
-
88
- $.fn.tipsy.defaults = {
89
- fade: false,
90
- fallback: '',
91
- gravity: 'n',
92
- html: false,
93
- title: 'title'
94
- };
95
-
96
- $.fn.tipsy.autoNS = function() {
97
- return $(this).offset().top > ($(document).scrollTop() + $(window).height() / 2) ? 's' : 'n';
98
- };
99
-
100
- $.fn.tipsy.autoWE = function() {
101
- return $(this).offset().left > ($(document).scrollLeft() + $(window).width() / 2) ? 'e' : 'w';
102
- };
103
-
104
- })(jQuery);
@@ -1,17 +0,0 @@
1
- <% tabs = { '/tasks' => 'Tasks', '/projects' => 'Projects' } %>
2
- <nav id="navigation">
3
- <ul class="tabs">
4
- <% tabs.each do |path, text| %>
5
- <li><a href="<%= path %>"<%= ' class="selected"' if @current_page.index(path) == 0 %>><%= text %></a></li>
6
- <% end %>
7
- </ul>
8
- </nav>
9
- <nav id="subnav-bar">
10
- <ul>
11
- <% if @subnav %>
12
- <% @subnav.each do |path, text| %>
13
- <li><a href="<%= path %>"<%= ' class="selected"' if @current_page.index(path) == 0 %>><%= text %></a></li>
14
- <% end %>
15
- <% end %>
16
- </ul>
17
- </nav>