hoverboard 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/.document ADDED
@@ -0,0 +1,5 @@
1
+ README.rdoc
2
+ lib/**/*.rb
3
+ bin/*
4
+ features/**/*.feature
5
+ LICENSE
data/.travis.yml ADDED
@@ -0,0 +1,7 @@
1
+ language: ruby
2
+
3
+ rvm:
4
+ - 1.9.3
5
+
6
+ notifications:
7
+ email: false
data/Gemfile ADDED
@@ -0,0 +1,17 @@
1
+ source :rubygems
2
+
3
+ gem 'rake'
4
+
5
+ gem 'haml'
6
+ gem 'mustache'
7
+
8
+ gem 'sinatra'
9
+ gem 'shotgun'
10
+ gem 'thin'
11
+
12
+ gem 'json'
13
+ gem 'pivotal-tracker', '>= 0.1.3'
14
+
15
+ group :development, :test do
16
+ gem "jeweler"
17
+ end
data/Gemfile.lock ADDED
@@ -0,0 +1,66 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ builder (3.1.4)
5
+ crack (0.3.1)
6
+ daemons (1.1.9)
7
+ eventmachine (1.0.0)
8
+ git (1.2.5)
9
+ haml (3.1.7)
10
+ happymapper (0.4.0)
11
+ libxml-ruby (~> 2.0)
12
+ jeweler (1.8.4)
13
+ bundler (~> 1.0)
14
+ git (>= 1.2.5)
15
+ rake
16
+ rdoc
17
+ json (1.7.5)
18
+ libxml-ruby (2.4.0)
19
+ mime-types (1.19)
20
+ mustache (0.99.4)
21
+ nokogiri (1.5.6)
22
+ nokogiri-happymapper (0.5.6)
23
+ nokogiri (~> 1.5)
24
+ pivotal-tracker (0.5.10)
25
+ builder
26
+ builder
27
+ crack
28
+ happymapper (>= 0.3.2)
29
+ nokogiri (>= 1.4.3)
30
+ nokogiri (>= 1.5.5)
31
+ nokogiri-happymapper (>= 0.5.4)
32
+ rest-client (~> 1.6.0)
33
+ rest-client (~> 1.6.0)
34
+ rack (1.4.1)
35
+ rack-protection (1.3.2)
36
+ rack
37
+ rake (10.0.3)
38
+ rdoc (3.12)
39
+ json (~> 1.4)
40
+ rest-client (1.6.7)
41
+ mime-types (>= 1.16)
42
+ shotgun (0.9)
43
+ rack (>= 1.0)
44
+ sinatra (1.3.3)
45
+ rack (~> 1.3, >= 1.3.6)
46
+ rack-protection (~> 1.2)
47
+ tilt (~> 1.3, >= 1.3.3)
48
+ thin (1.5.0)
49
+ daemons (>= 1.0.9)
50
+ eventmachine (>= 0.12.6)
51
+ rack (>= 1.0.0)
52
+ tilt (1.3.3)
53
+
54
+ PLATFORMS
55
+ ruby
56
+
57
+ DEPENDENCIES
58
+ haml
59
+ jeweler
60
+ json
61
+ mustache
62
+ pivotal-tracker (>= 0.1.3)
63
+ rake
64
+ shotgun
65
+ sinatra
66
+ thin
data/MIT.LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2012 Graham Siener
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,63 @@
1
+ # Hoverboard
2
+
3
+ [![Build Status](https://travis-ci.org/gsiener/hoverboard.png?branch=master)](https://travis-ci.org/gsiener/hoverboard)
4
+ [![Code Climate](https://codeclimate.com/badge.png)](https://codeclimate.com/github/gsiener/hoverboard)
5
+
6
+ Like Marty's hoverboard from Back to the Future 2, this adds a slide out panel to your rails app that directs clients to test stories that have been marked as 'delivered' in Pivotal Tracker.
7
+
8
+ ![hoverboard demo](http://img.skitch.com/20100806-gug4f5uapk6ixh64sk16qenf9s.jpg)
9
+
10
+ ## Installing
11
+
12
+ Add hoverboard to your Gemfile:
13
+
14
+ gem 'hoverboard'
15
+
16
+ Create an initializer to add the Hoverboard::RackApp to your middleware stack and configure your pivotal tracker api token and project id:
17
+
18
+ require 'hoverboard'
19
+
20
+ Hoverboard.configure do |config|
21
+ config.pivotal_tracker_token = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
22
+ config.pivotal_tracker_project = 123456
23
+ end
24
+
25
+ Use the following helper somewhere in your application layout (we recommend at the end of the body):
26
+
27
+ = hoverboard
28
+
29
+ The helper will insert a smidgeon of javascript that will add a tiny tab on the LHS of each page.
30
+
31
+ **Please note** that hoverboard requires `jQuery` to be included in your layout or templates already.
32
+
33
+ Reload a page from your app and give it a whirl.
34
+
35
+ ## Note on Patches/Pull Requests
36
+
37
+ * Fork the project.
38
+ * Make your feature addition or bug fix.
39
+ * Add tests for it. This is important so I don't break it in a future version unintentionally.
40
+ * Commit, do not mess with rakefile, version, or history.
41
+ (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
42
+ * Send me a pull request. Bonus points for topic branches.
43
+
44
+ ### rake dev
45
+
46
+ If you'd like to contribute to `hoverboard` you can get started by running
47
+
48
+ rake dev
49
+
50
+ This sets up the correct configuration and environment (follow the instructions), then starts a sinatra app under shotgun. You can use this sinatra app to verify your work on `hoverboard`.
51
+
52
+ All assets are regenerated from their constituents on each request. The constituents are located in the `dev` directory.
53
+
54
+ ## Contributors
55
+
56
+ * Ben Askins
57
+ * Lachie Cox
58
+ * Ben Webster
59
+ * Daniel Neighman
60
+
61
+ ## Copyright
62
+
63
+ Copyright © 2010 Plus2. See LICENSE for details.
data/Rakefile ADDED
@@ -0,0 +1,82 @@
1
+ require 'rubygems'
2
+ require 'rake'
3
+
4
+ begin
5
+ require 'jeweler'
6
+ Jeweler::Tasks.new do |gem|
7
+ gem.name = "hoverboard"
8
+ gem.summary = %Q{Direct your clients to test delivered features}
9
+ gem.description = %Q{Adds a toolbar to your rails app that directs your clients to test stories that have been marked as 'delivered' in Pivotal Tracker }
10
+ gem.email = "siener@gmail.com"
11
+ gem.homepage = "http://github.com/gsiener/hoverboard"
12
+ gem.authors = ["Ben Askins", "Lachie Cox", "Ben Webster", "Graham Siener"]
13
+ # gem is a Gem::Specificatiohttp://www.rubygems.org/read/chapter/20 n... see http://www.rubygems.org/read/chapter/20 for additional settings
14
+ gem.add_dependency("pivotal-tracker", ">= 0.1.3")
15
+ gem.add_dependency("haml", ">= 2.2.0")
16
+ gem.add_dependency("rack", ">= 1.0.0")
17
+ end
18
+ Jeweler::GemcutterTasks.new
19
+ rescue LoadError
20
+ puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
21
+ end
22
+
23
+
24
+ rake_app = Rake::Application.new
25
+ rake_app.collect_tasks
26
+ if rake_app.top_level_tasks.include?('dev')
27
+ require 'pathname'
28
+
29
+ sh "bundle check || bundle install"
30
+
31
+ task :dev => %w{dev:run}
32
+
33
+ namespace :dev do
34
+ task :run => :setup do
35
+ sh 'bundle exec shotgun --server thin dev/dev.rb'
36
+ end
37
+
38
+ task :setup do
39
+ gem_root = Pathname('..').expand_path(__FILE__)
40
+ pivotal_config = gem_root+'pivotal_config.dont_commit.rb'
41
+ unless pivotal_config.exist?
42
+ puts "What's your pivotal tracker token? (find your down the bottom of https://www.pivotaltracker.com/profile)."
43
+ token = $stdin.gets.chomp
44
+
45
+ puts "What pivotal tracker project do you want to test against? (e.g. The digits at the end of http://www.pivotaltracker.com/projects/12345)."
46
+ project_id = $stdin.gets.chomp
47
+
48
+ puts "Creating config using your details."
49
+
50
+ pivotal_config.open('w') {|f|
51
+ f << %{Hoverboard.configure do |config|
52
+ config.pivotal_tracker_token = "#{token}"
53
+ config.pivotal_tracker_project = #{project_id}
54
+ end
55
+ }.gsub(/^\s{3,16}/,'')
56
+ }
57
+ end
58
+ end
59
+ end
60
+
61
+ else
62
+ desc "set up and run app in a convenient dev-only way. rake dev *must* be called as the only top level task (i.e. as 'rake dev')"
63
+ task :dev do
64
+ abort "Please run rake dev as 'rake dev'"
65
+ end
66
+ end
67
+
68
+ task :bundled_env do
69
+ require 'rubygems'
70
+ require 'bundler'
71
+ Bundler.setup
72
+
73
+ $LOAD_PATH << File.expand_path('../lib',__FILE__)
74
+ require 'hoverboard'
75
+ end
76
+
77
+ namespace :assets do
78
+ desc "Rebuild assets for distribution"
79
+ task :rebuild => :bundled_env do
80
+ Hoverboard::Assets.rebuild!
81
+ end
82
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.1.0
@@ -0,0 +1,166 @@
1
+ #uat-bar {
2
+ width: auto;
3
+ font-size: .9em;
4
+ text-align: center;
5
+ position: absolute;
6
+ top: 30%;
7
+ left: 0;
8
+ padding: 0;
9
+ z-index: 2147483647;
10
+ font-family: Helvetica, Arial, sans-serif;
11
+ }
12
+
13
+ #uat-bar a:link, #uat-bar a:visited {
14
+ color: #efefef;
15
+ text-decoration: none;
16
+ }
17
+
18
+ #uat-bar a:active, #uat-bar a:hover, #uat-bar a:focus {
19
+ color: #fff;
20
+ text-decoration: underline;
21
+ }
22
+
23
+ #uat-bar a.wua-go {
24
+ position: absolute;
25
+ top: 0;
26
+ left: 0;
27
+ font-weight: bold;
28
+ padding: .5em;
29
+ display: block;
30
+ width: 40px;
31
+ height: 125px;
32
+ font-size: 0.001em;
33
+ text-indent: -2000em;
34
+ background: #212121 url(data:image/gif;base64,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) no-repeat -4px -10px;
35
+ -moz-border-radius-bottomright: 10px;
36
+ -webkit-border-bottom-right-radius: 10px;
37
+ -moz-border-radius-topright: 10px;
38
+ -webkit-border-top-right-radius: 10px
39
+ }
40
+
41
+ #uat-bar a.wua-go:hover {
42
+ background-position: -2px -10px;
43
+ }
44
+
45
+ #uat-bar .wua-pop-over {
46
+ min-height: 450px;
47
+ width: 0;
48
+ clear: right;
49
+ background: #212121;
50
+ color: #efefef;
51
+ text-align: left;
52
+ padding: 0 0 .75em 0;
53
+ -moz-border-radius-bottomright: 10px;
54
+ -webkit-border-bottom-right-radius: 10px;
55
+ }
56
+
57
+ #uat-bar .wua-pop-over ol {
58
+ height: 450px;
59
+ overflow: auto;
60
+ list-style: none;
61
+ margin: 0 0 0;
62
+ padding: 5px 10px
63
+ }
64
+
65
+ #uat-bar .wua-pop-over li {
66
+ padding: .9em .75em .75em 95px;
67
+ margin-bottom: 5px;
68
+ position: relative;
69
+ }
70
+
71
+ #uat-bar .wua-pop-over li.wua-header {font-size: 18px;font-weight:normal;border-bottom: 1px solid #2c2c2c;margin-bottom: 1em;padding-left: 0;}
72
+
73
+ #uat-bar .wua-pop-over li.wua-rejected {
74
+ background: #a82a30;
75
+ }
76
+
77
+ #uat-bar .wua-pop-over li.wua-accepted {
78
+ background: #9ec74e;
79
+ }
80
+
81
+ #uat-bar .wua-pop-over li:hover {
82
+ background-color: #323232;
83
+ cursor: pointer
84
+ }
85
+
86
+ #uat-bar .wua-pop-over li.wua-header:hover {background:transparent;}
87
+
88
+ #uat-bar .wua-hide {
89
+ display: none;
90
+ }
91
+
92
+ #uat-bar input {
93
+ clear: none;
94
+ }
95
+
96
+ #uat-bar .wua-pop-over li a.wua-accept {
97
+ position: absolute;
98
+ top: 0;
99
+ left: 0;
100
+ display:block;
101
+ width: 25px;
102
+ height: 28px;
103
+ background: url(data:image/png;base64,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) no-repeat 1px 5px;
104
+ font-size: 0.001em;
105
+ text-indent: -20000em;
106
+ }
107
+
108
+ #uat-bar .wua-pop-over li a.wua-accept:hover {
109
+ background-position: 1px -24px;
110
+ }
111
+
112
+ #uat-bar .wua-pop-over li a.wua-reject {
113
+ position: absolute;
114
+ top: 0;
115
+ left: 29px;
116
+ display:block;
117
+ width: 25px;
118
+ height: 30px;
119
+ background: url(data:image/png;base64,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) no-repeat 0 8px;
120
+ font-size: 0.001em;
121
+ text-indent: -20000em;
122
+ }
123
+
124
+ #uat-bar .wua-pop-over li a.wua-reject:hover {
125
+ background-position: 0 -24px;
126
+ }
127
+
128
+ #uat-bar .wua-pop-over li a.wua-pivotal {
129
+ position: absolute;
130
+ top: 0;
131
+ left: 60px;
132
+ display:block;
133
+ width: 25px;
134
+ height: 30px;
135
+ background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAAxCAYAAAFPM6JnAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABWpJREFUeNpi/P//PwMMMH//88dNJTj7Tsq5QyfAIpcvXfoLohmRlTExIAGwHlcnpzvBYWGoegACCK6H5YSQ+n8GRkYGlhQJFrs3b98ww6XgRmGqAQggiFlFtf93c8r9v9sxCaJBXU2NdQ+3/P+LAur/d7JKggQZURyH1ZEogCgzAQIIu5mTZ0yv3soo8n8ro+j/3Pz8fLDoIVO3/zf51f/fEND4f8wt9D9Y54cr1/+fBpoHwp8fPYEIMjExMWw/fOjeut0774F0ggSJdzwJgjjd+ePKjcMgTLo7AQIIHKPMzMwMre3tDi/fvX358u7938/fvHkeFRNjxc7ODrYXrFBPT4/126nz//fyKf0/CzT2EhCfAeJd7NL/v129+Z+FGRL/TOa2tvZnC6sZuJhZGbiB2nkYGIE0IwMPNw/DxfImBlcPDze4nxKSkotuTp7zfyuDyP+dLFL/tzCI/X+0cv1/OweHUrxhSXSo0Uch9cORITU72+Wwtdf/44Lq4AgGRSI4koFZ6rhP9H9Pb293eMgQE44AAURUODIxMjIyGRsZMZy+cnnN60ePv7998vTb3mNHlzk4ODCA5MA+lZaWZnjy5Mn/zVyyDJx//zP8Axr8h4uNwfXNrb9CgoIsnz9/ZmDqnzJlxRZOWQYRTm4GMS4eBglgAhBkZmfYLanN3DNlylKwSa+ePPl9QdGcRRwoCUopIPCZ4T/Di88fGbTvnvwhIy/HyfTr9x9wEgY7/z8DA8wbjEDGj79/wVymldu2rPzDzcnwFejEz0AZkClfgOw/0mIM85Ys3gjWwMvDw3Dz0aP/F7VsGRjfvGX4/4+RgVFOkkHj5DYGBXEJSAr+/OULk6WhIeOeRN/FYud3/RS/uPPXRj+bZSAFIEMwik6Kks8wV0Tf9MQASk+7WKXBpT4MXACydzBL/H/84OF3cASjpCfkHIwrPV0U1GC4AMS0S08AAcaIhP+LiIj8T09PZ3j1+rWEiZWlLQc3tw4TKysvByvrx8f371/69uHjsc2bNr08d/48w+/fv2H6Gf4jJUpGHqDTDA0NWbr7+iq/fvv25f2hE/8vpBb8P2jg9H+vitn/A0bO/6/kVv7/cOLc/3ffvn5ctHhxgZGRETM8LEABBDIPVKz5+Pg4/v7/78v1yub/Gxj4/4Mq1iPAgghUv58EFUhAfBSId3PI/l/HwPf/Xt+M/x++f/tsZGxsASt/wGWQk4uL2vwli/d+qO2WeTx7MYOAkBAD5z8GBnZgZLACkxTIH0Auw28g/yeQ/g6Mk4/v3zKoNpQz/I4Lfurr4mpz7+7dB+AocvHy0mJ591H63dGTDGxs7Aws/0GGMDCwAQ0C0SxgNggzQvjAlggbKwfDq50HGHj//hezsrMzhifU/du3X37DxvRE1MOJ4devHwy/gYp/ASV+AN3zC+gaUDD/BOP/ED7Qsp+/fzCI+nsyPPr86c32TZsuwAMfRGhra9uu27lj8//VW/lvF9UxcHBwMLBzcgJdCVIASX1/gJZ8//YVlOoYdOZMYHhvpvvBx8k54MXz5weRSxhgToGUjQnJyYVnrl97+/rGrf9XW/r+n/CP/X/UIfD/yYD4/zd6pv1/c/f+/2MXL7y3d7AvB7XjoPrgsQlPcAyIYpSBl5ubiY2dQ4lHgF+RhY2N98+vn19ZGJnuAV1xH5h0/iD7CjmdEV0zU72uHTVskBs2QsozBlB59vDF88cXU4uAjS5RsCGgZt39gITL4Fbbv38fQfT9gMTLoGbeYUE1oDrh/zcbuv5fuXf3iaKSkgLMMJzlmcK6eXLs2uo2wGKAD0QrrJsrR3Z5dj8o6dHPqzePAK38BKLvByU/GrrlGQDr9ThSDN5z3wAAAABJRU5ErkJggg==) no-repeat 0 10px;
136
+ font-size: 0.001em;
137
+ text-indent: -20000em;
138
+ }
139
+
140
+ #uat-bar .wua-pop-over li a.wua-pivotal:hover {
141
+ background-position: 0 -22px;
142
+ }
143
+
144
+
145
+ #uat-bar label {margin-top: 5px;padding-top:5px;display:block;font-weight:bold;border-top: 1px dashed #2c2c2c;}
146
+ #uat-bar textarea {width: 250px;height: 40px;margin-bottom: 5px;}
147
+ #uat-bar button.wua-reject {
148
+ display:block;
149
+ width: 60px;
150
+ height: 25px;
151
+ background: url(data:image/png;base64,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) no-repeat 0 0;
152
+ font-size: 0.001em;
153
+ text-indent: -20000em;
154
+ border:none;
155
+ cursor: pointer;
156
+ }
157
+
158
+
159
+ #uat-bar .wua-go-spinner {
160
+ display: block;
161
+ position: absolute;
162
+
163
+ left: 13px;
164
+ top: 54px;
165
+
166
+ }
@@ -0,0 +1,123 @@
1
+ (function($) {
2
+ $(function() {
3
+ var bar, popOver, tab, stories, spinner;
4
+
5
+ $("body").prepend("<div id='uat-bar'><a class='wua-go' href='#'>Show me what to test</a><div class='wua-pop-over'></div></div>");
6
+
7
+ spinner = $('<img src="data:image/gif;base64,R0lGODlhEAAQAPQAACEhIf///yYmJs3NzYuLi/j4+Nzc3ENDQ2tra+rq6peXl6WlpTc3N3l5eVFRUb+/v7OzswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCgAAACwAAAAAEAAQAAAFUCAgjmRpnqUwFGwhKoRgqq2YFMaRGjWA8AbZiIBbjQQ8AmmFUJEQhQGJhaKOrCksgEla+KIkYvC6SJKQOISoNSYdeIk1ayA8ExTyeR3F749CACH5BAkKAAAALAAAAAAQABAAAAVoICCKR9KMaCoaxeCoqEAkRX3AwMHWxQIIjJSAZWgUEgzBwCBAEQpMwIDwY1FHgwJCtOW2UDWYIDyqNVVkUbYr6CK+o2eUMKgWrqKhj0FrEM8jQQALPFA3MAc8CQSAMA5ZBjgqDQmHIyEAIfkECQoAAAAsAAAAABAAEAAABWAgII4j85Ao2hRIKgrEUBQJLaSHMe8zgQo6Q8sxS7RIhILhBkgumCTZsXkACBC+0cwF2GoLLoFXREDcDlkAojBICRaFLDCOQtQKjmsQSubtDFU/NXcDBHwkaw1cKQ8MiyEAIfkECQoAAAAsAAAAABAAEAAABVIgII5kaZ6AIJQCMRTFQKiDQx4GrBfGa4uCnAEhQuRgPwCBtwK+kCNFgjh6QlFYgGO7baJ2CxIioSDpwqNggWCGDVVGphly3BkOpXDrKfNm/4AhACH5BAkKAAAALAAAAAAQABAAAAVgICCOZGmeqEAMRTEQwskYbV0Yx7kYSIzQhtgoBxCKBDQCIOcoLBimRiFhSABYU5gIgW01pLUBYkRItAYAqrlhYiwKjiWAcDMWY8QjsCf4DewiBzQ2N1AmKlgvgCiMjSQhACH5BAkKAAAALAAAAAAQABAAAAVfICCOZGmeqEgUxUAIpkA0AMKyxkEiSZEIsJqhYAg+boUFSTAkiBiNHks3sg1ILAfBiS10gyqCg0UaFBCkwy3RYKiIYMAC+RAxiQgYsJdAjw5DN2gILzEEZgVcKYuMJiEAOwAAAAAAAAAAAA==">');
8
+
9
+ bar = $('#uat-bar');
10
+ popOver = $(".wua-pop-over" ,bar);
11
+ tab = $("a.wua-go" ,bar);
12
+
13
+ tab.toggle(
14
+ function() {
15
+ if (popOver.find("ol").length > 0) {
16
+ slideOut();
17
+ } else {
18
+ var goSpinner = spinner.clone()
19
+ .addClass('wua-go-spinner')
20
+ .insertAfter(tab)
21
+ .fadeIn();
22
+
23
+ $.ajax({
24
+ url: '/hoverboard',
25
+ success: function(response) {
26
+ goSpinner.fadeOut(function() {goSpinner.remove()});
27
+ popOver.append(response);
28
+ stories = popOver.find("ol");
29
+ slideOut();
30
+ }
31
+ });
32
+ }
33
+ },
34
+ function() {
35
+ slideIn();
36
+ }
37
+ );
38
+
39
+ function slideOut() {
40
+ popOver.animate({width: '400px'}, 500, function() {
41
+ stories.fadeIn(100);
42
+ });
43
+ tab.animate({left: '400px'}, 510);
44
+ }
45
+
46
+ function slideIn() {
47
+ stories.fadeOut(100, function() {
48
+ tab.animate({left: '0px'}, 490);
49
+ popOver.animate({width: '0px'}, 510);
50
+ });
51
+ }
52
+
53
+
54
+ $("a.wua-accept", bar).live("click", function() {
55
+ var acceptLink, storyName, storyId, storySpinner, listItem;
56
+
57
+ acceptLink = $(this);
58
+
59
+ storyId = acceptLink.siblings(".wua-story-id").html();
60
+ storyName = acceptLink.siblings("span.wua-story");
61
+ listItem = acceptLink.parent();
62
+
63
+ storySpinner = spinner.clone().insertBefore(storyName).fadeIn();
64
+
65
+ $.ajax({
66
+ method: "POST",
67
+ url: '/hoverboard/' + storyId + '/accept',
68
+ success: function(response) {
69
+ listItem.removeClass("wua-rejected").addClass("wua-accepted");
70
+ storySpinner.fadeOut(function() {storySpinner.remove()});
71
+ }
72
+ });
73
+
74
+ return false;
75
+ });
76
+
77
+ $("a.wua-reject", bar).live("click",
78
+ function() {
79
+ var rejectLink, reasonForm;
80
+
81
+ rejectLink = $(this);
82
+
83
+ reasonForm = rejectLink.siblings("form");
84
+
85
+ if (reasonForm.is(':visible')) {
86
+ reasonForm.slideUp();
87
+ } else {
88
+ reasonForm.slideDown();
89
+ }
90
+
91
+ return false;
92
+ }
93
+ );
94
+
95
+ $("button.wua-reject", bar).live("click", function() {
96
+ var button, reasonForm, storyName, storyId, spinner, listItem;
97
+
98
+ button = $(this);
99
+
100
+ reasonForm = button.parent();
101
+ storyId = reasonForm.siblings(".wua-story-id").html();
102
+ storyName = reasonForm.siblings("span.wua-story");
103
+ spinner = reasonForm.siblings(".wua-spinner");
104
+ listItem = reasonForm.parent();
105
+
106
+ spinner.fadeIn();
107
+
108
+ $.ajax({
109
+ method: "POST",
110
+ url: '/hoverboard/' + storyId + '/reject',
111
+ data: {reason: $(".wua-reason").val()},
112
+ success: function(response) {
113
+ listItem.removeClass("wua-accepted").addClass("wua-rejected");
114
+ reasonForm.slideUp();
115
+ spinner.fadeOut();
116
+ }
117
+ });
118
+
119
+ return false;
120
+ });
121
+
122
+ });
123
+ })(jQuery);