diff --git a/tracks/app/controllers/todo_controller.rb b/tracks/app/controllers/todo_controller.rb index be8f56c6..719ff8f6 100644 --- a/tracks/app/controllers/todo_controller.rb +++ b/tracks/app/controllers/todo_controller.rb @@ -61,7 +61,8 @@ class TodoController < ApplicationController @on_page = "home" if @saved - @up_count = @todos.collect { |x| ( !x.done? and !x.context.hide? ) ? x:nil }.compact.size.to_s + self.init # we have to do this again to update @todos + @up_count = @todos.reject { |x| x.done? or x.context.hide? }.size.to_s end return if request.xhr? @@ -202,7 +203,8 @@ class TodoController < ApplicationController @saved = @item.destroy @on_page = "home" if @saved - @down_count = @todos.collect { |x| ( !x.done? and !x.context.hide? ) ? x:nil }.compact.size.to_s + self.init + @down_count = @todos.reject { |x| x.done? or x.context.hide? }.size.to_s end return if request.xhr? diff --git a/tracks/app/views/layouts/standard.rhtml b/tracks/app/views/layouts/standard.rhtml index c750a862..5b6be65f 100644 --- a/tracks/app/views/layouts/standard.rhtml +++ b/tracks/app/views/layouts/standard.rhtml @@ -10,6 +10,8 @@ <%= javascript_include_tag 'calendar', 'calendar-en', 'calendar-setup' %> <%= javascript_include_tag "accesskey-hints" %> <%= javascript_include_tag "todo-items" %> + <%= javascript_include_tag "lightbox" %> + <%= stylesheet_link_tag "lightbox" %> <%= auto_discovery_link_tag(:rss,{:controller => "feed", :action => "na_feed", :name => "#{@user.login}", :token => "#{@user.word}"}, {:title => "RSS feed of next actions"}) %> diff --git a/tracks/app/views/shared/_new_action_form.rhtml b/tracks/app/views/shared/_new_action_form.rhtml new file mode 100644 index 00000000..1683a334 --- /dev/null +++ b/tracks/app/views/shared/_new_action_form.rhtml @@ -0,0 +1,48 @@ +
\ No newline at end of file diff --git a/tracks/app/views/shared/sidebar.rhtml b/tracks/app/views/shared/sidebar.rhtml index f15c090f..010a9e7a 100644 --- a/tracks/app/views/shared/sidebar.rhtml +++ b/tracks/app/views/shared/sidebar.rhtml @@ -1,6 +1,6 @@
'
+
+ //insert the closer image into the div
+ new Insertion.Top(this.element, closer);
+
+ Event.observe($('close'), 'click', this.hideBox.bindAsEventListener(this) );
+
+ if (this.options.closeOnOverlayClick){
+ Event.observe($('overlay'), 'click', this.hideBox.bindAsEventListener(this) );
+ }
+ if (this.options.externalControl){
+ Event.observe($(this.options.externalControl), 'click', this.hideBox.bindAsEventListener(this) );
+ }
+
+ this.showBox();
+ },
+
+ showBox : function(){
+ //show the overlay
+ Element.show('overlay');
+
+ //center the lightbox
+ this.center();
+
+ //show the lightbox
+ Element.show(this.element);
+ return false;
+ },
+
+ hideBox : function(evt){
+ Element.removeClassName(this.element, this.options.lightboxClassName)
+ Element.hide(this.element);
+ //remove the overlay element from the DOM completely
+ Element.remove('overlay');
+ return false;
+ },
+
+ center : function(){
+ var my_width = 0;
+ var my_height = 0;
+
+ if ( typeof( window.innerWidth ) == 'number' ){
+ my_width = window.innerWidth;
+ my_height = window.innerHeight;
+ }else if ( document.documentElement &&
+ ( document.documentElement.clientWidth ||
+ document.documentElement.clientHeight ) ){
+ my_width = document.documentElement.clientWidth;
+ my_height = document.documentElement.clientHeight;
+ }
+ else if ( document.body &&
+ ( document.body.clientWidth || document.body.clientHeight ) ){
+ my_width = document.body.clientWidth;
+ my_height = document.body.clientHeight;
+ }
+
+ this.element.style.position = 'absolute';
+ this.element.style.zIndex = 99;
+
+ var scrollY = 0;
+
+ if ( document.documentElement && document.documentElement.scrollTop ){
+ scrollY = document.documentElement.scrollTop;
+ }else if ( document.body && document.body.scrollTop ){
+ scrollY = document.body.scrollTop;
+ }else if ( window.pageYOffset ){
+ scrollY = window.pageYOffset;
+ }else if ( window.scrollY ){
+ scrollY = window.scrollY;
+ }
+
+ var elementDimensions = Element.getDimensions(this.element);
+
+ var setX = ( my_width - elementDimensions.width ) / 2;
+ var setY = ( my_height - elementDimensions.height ) / 2 + scrollY;
+
+ setX = ( setX < 0 ) ? 0 : setX;
+ setY = ( setY < 0 ) ? 0 : setY;
+
+ this.element.style.left = setX + "px";
+ this.element.style.top = setY + "px";
+
+ }
+
+
+}
+
diff --git a/tracks/public/stylesheets/calendar-system.css b/tracks/public/stylesheets/calendar-system.css
index ca33cde0..742a1c77 100644
--- a/tracks/public/stylesheets/calendar-system.css
+++ b/tracks/public/stylesheets/calendar-system.css
@@ -8,6 +8,7 @@ div.calendar { position: relative; }
color: #000;
cursor: default;
background: #eef;
+ z-index: 110;
font-family: tahoma,verdana,sans-serif;
}
diff --git a/tracks/public/stylesheets/lightbox.css b/tracks/public/stylesheets/lightbox.css
new file mode 100755
index 00000000..48be6420
--- /dev/null
+++ b/tracks/public/stylesheets/lightbox.css
@@ -0,0 +1,44 @@
+/*body {
+ font-family:arial, helvetica, sans-serif;
+}
+*/
+#overlay{
+ position:absolute;
+ top:0;
+ left:0;
+ width:100%;
+ height:100%;
+ z-index:80;
+ background-color:#000;
+ -moz-opacity: 0.8;
+ opacity:.80;
+ filter: alpha(opacity=80);
+ }
+#overlay[id]{ /* IE6 and below Can't See This */
+ position:fixed;
+ }
+
+
+.lightbox{
+ width:350px;
+ background:#eee;
+ padding:10px;
+ border:2px solid #666;
+}
+
+.lightbox h2 {
+ background-color: #666;
+ color: #fff !important;
+ margin-left: -10px;
+ margin-right: -5px;
+ margin-top: -10px;
+ padding: 5px;
+}
+
+#close{
+ position:absolute;
+ top:-5px;
+ right:-5px;
+ cursor:pointer;
+}
+
diff --git a/tracks/public/stylesheets/standard.css b/tracks/public/stylesheets/standard.css
index 63f4939e..e5ff5aec 100644
--- a/tracks/public/stylesheets/standard.css
+++ b/tracks/public/stylesheets/standard.css
@@ -308,7 +308,7 @@ a.footer_link:hover {color: #fff; background-color: #cc3334 !important;}
}
#status .confirmation {
- width: 220px;
+ margin: 2px 5px;
}
#warning, .warning {
padding: 2px;