boner 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1 @@
1
+ #= require_tree ./_boner
@@ -0,0 +1,91 @@
1
+ /* line 4, boner.css.sass */
2
+ .context_menu {
3
+ -webkit-border-radius: 3px;
4
+ -moz-border-radius: 3px;
5
+ -ms-border-radius: 3px;
6
+ -o-border-radius: 3px;
7
+ border-radius: 3px;
8
+ -webkit-box-shadow: rgba(0, 0, 0, 0.4) 0 2px 10px;
9
+ -moz-box-shadow: rgba(0, 0, 0, 0.4) 0 2px 10px;
10
+ box-shadow: rgba(0, 0, 0, 0.4) 0 2px 10px;
11
+ background-color: white;
12
+ border: 1px solid rgba(0, 0, 0, 0.3);
13
+ cursor: pointer;
14
+ font-weight: 500;
15
+ position: absolute;
16
+ width: 100px; }
17
+ /* line 17, ../../../../../Library/Ruby/Gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
18
+ .context_menu html, .context_menu body, .context_menu div, .context_menu span, .context_menu applet, .context_menu object, .context_menu iframe,
19
+ .context_menu h1, .context_menu h2, .context_menu h3, .context_menu h4, .context_menu h5, .context_menu h6, .context_menu p, .context_menu blockquote, .context_menu pre,
20
+ .context_menu a, .context_menu abbr, .context_menu acronym, .context_menu address, .context_menu big, .context_menu cite, .context_menu code,
21
+ .context_menu del, .context_menu dfn, .context_menu em, .context_menu img, .context_menu ins, .context_menu kbd, .context_menu q, .context_menu s, .context_menu samp,
22
+ .context_menu small, .context_menu strike, .context_menu strong, .context_menu sub, .context_menu sup, .context_menu tt, .context_menu var,
23
+ .context_menu b, .context_menu u, .context_menu i, .context_menu center,
24
+ .context_menu dl, .context_menu dt, .context_menu dd, .context_menu ol, .context_menu ul, .context_menu li,
25
+ .context_menu fieldset, .context_menu form, .context_menu label, .context_menu legend,
26
+ .context_menu table, .context_menu caption, .context_menu tbody, .context_menu tfoot, .context_menu thead, .context_menu tr, .context_menu th, .context_menu td,
27
+ .context_menu article, .context_menu aside, .context_menu canvas, .context_menu details, .context_menu embed,
28
+ .context_menu figure, .context_menu figcaption, .context_menu footer, .context_menu header, .context_menu hgroup,
29
+ .context_menu menu, .context_menu nav, .context_menu output, .context_menu ruby, .context_menu section, .context_menu summary,
30
+ .context_menu time, .context_menu mark, .context_menu audio, .context_menu video {
31
+ margin: 0;
32
+ padding: 0;
33
+ border: 0;
34
+ font-size: 100%;
35
+ font: inherit;
36
+ vertical-align: baseline; }
37
+ /* line 20, ../../../../../Library/Ruby/Gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
38
+ .context_menu body {
39
+ line-height: 1; }
40
+ /* line 22, ../../../../../Library/Ruby/Gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
41
+ .context_menu ol, .context_menu ul {
42
+ list-style: none; }
43
+ /* line 24, ../../../../../Library/Ruby/Gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
44
+ .context_menu table {
45
+ border-collapse: collapse;
46
+ border-spacing: 0; }
47
+ /* line 26, ../../../../../Library/Ruby/Gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
48
+ .context_menu caption, .context_menu th, .context_menu td {
49
+ text-align: left;
50
+ font-weight: normal;
51
+ vertical-align: middle; }
52
+ /* line 28, ../../../../../Library/Ruby/Gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
53
+ .context_menu q, .context_menu blockquote {
54
+ quotes: none; }
55
+ /* line 101, ../../../../../Library/Ruby/Gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
56
+ .context_menu q:before, .context_menu q:after, .context_menu blockquote:before, .context_menu blockquote:after {
57
+ content: "";
58
+ content: none; }
59
+ /* line 30, ../../../../../Library/Ruby/Gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
60
+ .context_menu a img {
61
+ border: none; }
62
+ /* line 114, ../../../../../Library/Ruby/Gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
63
+ .context_menu article, .context_menu aside, .context_menu details, .context_menu figcaption, .context_menu figure, .context_menu footer, .context_menu header, .context_menu hgroup, .context_menu menu, .context_menu nav, .context_menu section, .context_menu summary {
64
+ display: block; }
65
+ /* line 17, boner.css.sass */
66
+ .context_menu hr {
67
+ border: 0;
68
+ border-top: 1px solid rgba(0, 0, 0, 0.15);
69
+ height: 1px;
70
+ margin: 0; }
71
+ /* line 23, boner.css.sass */
72
+ .context_menu hr:last-child {
73
+ display: none; }
74
+ /* line 26, boner.css.sass */
75
+ .context_menu li {
76
+ margin: 0.25em 0;
77
+ padding: 0 0.5em; }
78
+ /* line 30, boner.css.sass */
79
+ .context_menu li:hover {
80
+ background-color: #1084ce;
81
+ color: white; }
82
+ /* line 34, boner.css.sass */
83
+ .context_menu .rename {
84
+ background: white url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAACjSURBVDjL7ZNBCsIwEEVz1mwTo1YjiHdIqyWgFBGPonWTC8T2BjlE4JsUwU0ILe7ExUtgPvNmNkMAkG8gPyAwxiAHYwxKKUgpk/kg8N5n4Zwn6865j4CVLXj1AA//rArsW4hAzCil4wTFsUdx6rBuLLaXJ+aH+zTBqukDFpuzxe5qsagnCIbV32vHybF5Wd/GC3JkBfHJEZu11hBCJHPyvwXyAt6tONifnq6xAAAAAElFTkSuQmCC") no-repeat;
85
+ background-position: 4px 3px;
86
+ padding-left: 24px; }
87
+ /* line 39, boner.css.sass */
88
+ .context_menu .delete {
89
+ background: white url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJdSURBVDjLpZP7S1NhGMf9W7YfogSJboSEUVCY8zJ31trcps6zTI9bLGJpjp1hmkGNxVz4Q6ildtXKXzJNbJRaRmrXoeWx8tJOTWptnrNryre5YCYuI3rh+8vL+/m8PA/PkwIg5X+y5mJWrxfOUBXm91QZM6UluUmthntHqplxUml2lciF6wrmdHriI0Wx3xw2hAediLwZRWRkCPzdDswaSvGqkGCfq8VEUsEyPF1O8Qu3O7A09RbRvjuIttsRbT6HHzebsDjcB4/JgFFlNv9MnkmsEszodIIY7Oaut2OJcSF68Qx8dgv8tmqEL1gQaaARtp5A+N4NzB0lMXxon/uxbI8gIYjB9HytGYuusfiPIQcN71kjgnW6VeFOkgh3XcHLvAwMSDPohOADdYQJdF1FtLMZPmslvhZJk2ahkgRvq4HHUoWHRDqTEDDl2mDkfheiDgt8pw340/EocuClCuFvboQzb0cwIZgki4KhzlaE6w0InipbVzBfqoK/qRH94i0rgokSFeO11iBkp8EdV8cfJo0yD75aE2ZNRvSJ0lZKcBXLaUYmQrCzDT6tDN5SyRqYlWeDLZAg0H4JQ+Jt6M3atNLE10VSwQsN4Z6r0CBwqzXesHmV+BeoyAUri8EyMfi2FowXS5dhd7doo2DVII0V5BAjigP89GEVAtda8b2ehodU4rNaAW+dGfzlFkyo89GTlcrHYCLpKD+V7yeeHNzLjkp24Uu1Ed6G8/F8qjqGRzlbl2H2dzjpMg1KdwsHxOlmJ7GTeZC/nesXbeZ6c9OYnuxUc3fmBuFft/Ff8xMd0s65SXIb/gAAAABJRU5ErkJggg==") no-repeat;
90
+ background-position: 4px 3px;
91
+ padding-left: 24px; }
@@ -0,0 +1,11 @@
1
+ require "boner/version"
2
+
3
+ # Sneaky require for Rails engine environment
4
+ if defined? ::Rails::Engine
5
+ require "boner/rails"
6
+ elsif defined? ::Sprockets
7
+ require "boner/sprockets"
8
+ end
9
+
10
+ module Boner
11
+ end
@@ -0,0 +1,5 @@
1
+ module Boner
2
+ class Rails < Rails::Engine
3
+ # auto wire assets
4
+ end
5
+ end
@@ -0,0 +1,2 @@
1
+ root_dir = File.expand_path(File.dirname(File.dirname(File.dirname(__FILE__))))
2
+ Sprockets.paths << File.join(root_dir, "lib", "assets")
@@ -0,0 +1,3 @@
1
+ module Boner
2
+ VERSION = "0.1.1"
3
+ end
@@ -0,0 +1,17 @@
1
+ %h1 Context Menu
2
+
3
+ :coffeescript
4
+ $('html').on 'contextmenu', (e) ->
5
+ $('.context_menu').remove()
6
+
7
+ e.preventDefault()
8
+
9
+ view = new Boner.Views.Menu
10
+ event: e
11
+ items:
12
+ rename: ->
13
+ alert 'renaming'
14
+ delete: ->
15
+ alert 'deleting'
16
+
17
+ $('html').append(view.render().el)
@@ -0,0 +1,5 @@
1
+ window.namespace = (target, name, block) ->
2
+ [target, name, block] = [(if typeof exports isnt 'undefined' then exports else window), arguments...] if arguments.length < 3
3
+ top = target
4
+ target = target[item] or= {} for item in name.split '.'
5
+ block target, top
@@ -0,0 +1,44 @@
1
+ #= require jquery
2
+ #= require underscore
3
+ #= require backbone
4
+
5
+ $(document).on 'click', ->
6
+ $('.context_menu').remove()
7
+
8
+ namespace "Boner.Views", (Views) ->
9
+ class Views.Menu extends Backbone.View
10
+ className: 'context_menu'
11
+
12
+ events:
13
+ 'click li': 'execute'
14
+
15
+ initialize: (options) ->
16
+ @el = $(@el)
17
+
18
+ @menuItems = options.items
19
+
20
+ @event = options.event
21
+
22
+ execute: (e) =>
23
+ name = $(e.currentTarget).text()
24
+
25
+ @menuItems[name]()
26
+
27
+ render: =>
28
+ ul = $ "<ul></ul>"
29
+
30
+ for name, fn of @menuItems
31
+ li = $ "<li>"
32
+ class: name
33
+ text: name
34
+
35
+ hr = $ "<hr>"
36
+
37
+ ul.append li, hr
38
+
39
+ @el.html ul
40
+ @el.css
41
+ top: @event.pageY
42
+ left: @event.pageX
43
+
44
+ return @
@@ -0,0 +1 @@
1
+ #= require_tree .
@@ -0,0 +1,11 @@
1
+ <!DOCTYPE html>
2
+ %html
3
+ %head
4
+ %meta(charset="utf-8")
5
+ %meta(content="IE=edge,chrome=1" http-equiv="X-UA-Compatible")
6
+
7
+ = stylesheet_link_tag 'boner.css'
8
+ = javascript_include_tag 'boner.js'
9
+
10
+ %body
11
+ = yield
@@ -0,0 +1,42 @@
1
+ @import "compass"
2
+ @import "compass/css3"
3
+
4
+ .context_menu
5
+ @include global-reset
6
+
7
+ +border-radius(3px)
8
+ +box-shadow(rgba(0, 0, 0, 0.4) 0 2px 10px)
9
+
10
+ background-color: #fff
11
+ border: 1px solid rgba(0, 0, 0, 0.3)
12
+ cursor: pointer
13
+ font-weight: 500
14
+ position: absolute
15
+ width: 100px
16
+
17
+ hr
18
+ border: 0
19
+ border-top: 1px solid rgba(0, 0, 0, 0.15)
20
+ height: 1px
21
+ margin: 0
22
+
23
+ hr:last-child
24
+ display: none
25
+
26
+ li
27
+ margin: 0.25em 0
28
+ padding: 0 0.5em
29
+
30
+ &:hover
31
+ background-color: #1084CE
32
+ color: white
33
+
34
+ .rename
35
+ background: #fff url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAACjSURBVDjL7ZNBCsIwEEVz1mwTo1YjiHdIqyWgFBGPonWTC8T2BjlE4JsUwU0ILe7ExUtgPvNmNkMAkG8gPyAwxiAHYwxKKUgpk/kg8N5n4Zwn6865j4CVLXj1AA//rArsW4hAzCil4wTFsUdx6rBuLLaXJ+aH+zTBqukDFpuzxe5qsagnCIbV32vHybF5Wd/GC3JkBfHJEZu11hBCJHPyvwXyAt6tONifnq6xAAAAAElFTkSuQmCC') no-repeat
36
+ background-position: 4px 3px
37
+ padding-left: 24px
38
+
39
+ .delete
40
+ background: #fff url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJdSURBVDjLpZP7S1NhGMf9W7YfogSJboSEUVCY8zJ31trcps6zTI9bLGJpjp1hmkGNxVz4Q6ildtXKXzJNbJRaRmrXoeWx8tJOTWptnrNryre5YCYuI3rh+8vL+/m8PA/PkwIg5X+y5mJWrxfOUBXm91QZM6UluUmthntHqplxUml2lciF6wrmdHriI0Wx3xw2hAediLwZRWRkCPzdDswaSvGqkGCfq8VEUsEyPF1O8Qu3O7A09RbRvjuIttsRbT6HHzebsDjcB4/JgFFlNv9MnkmsEszodIIY7Oaut2OJcSF68Qx8dgv8tmqEL1gQaaARtp5A+N4NzB0lMXxon/uxbI8gIYjB9HytGYuusfiPIQcN71kjgnW6VeFOkgh3XcHLvAwMSDPohOADdYQJdF1FtLMZPmslvhZJk2ahkgRvq4HHUoWHRDqTEDDl2mDkfheiDgt8pw340/EocuClCuFvboQzb0cwIZgki4KhzlaE6w0InipbVzBfqoK/qRH94i0rgokSFeO11iBkp8EdV8cfJo0yD75aE2ZNRvSJ0lZKcBXLaUYmQrCzDT6tDN5SyRqYlWeDLZAg0H4JQ+Jt6M3atNLE10VSwQsN4Z6r0CBwqzXesHmV+BeoyAUri8EyMfi2FowXS5dhd7doo2DVII0V5BAjigP89GEVAtda8b2ehodU4rNaAW+dGfzlFkyo89GTlcrHYCLpKD+V7yeeHNzLjkp24Uu1Ed6G8/F8qjqGRzlbl2H2dzjpMg1KdwsHxOlmJ7GTeZC/nesXbeZ6c9OYnuxUc3fmBuFft/Ff8xMd0s65SXIb/gAAAABJRU5ErkJggg==') no-repeat
41
+ background-position: 4px 3px
42
+ padding-left: 24px
metadata ADDED
@@ -0,0 +1,203 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: boner
3
+ version: !ruby/object:Gem::Version
4
+ hash: 25
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 1
9
+ - 1
10
+ version: 0.1.1
11
+ platform: ruby
12
+ authors:
13
+ - Matt Diebolt
14
+ - Daniel X. Moore
15
+ autorequire:
16
+ bindir: bin
17
+ cert_chain: []
18
+
19
+ date: 2012-06-02 00:00:00 Z
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: middleman
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ hash: 62196421
30
+ segments:
31
+ - 3
32
+ - 0
33
+ - 0
34
+ - beta
35
+ - 3
36
+ version: 3.0.0.beta.3
37
+ type: :development
38
+ version_requirements: *id001
39
+ - !ruby/object:Gem::Dependency
40
+ name: rb-inotify
41
+ prerelease: false
42
+ requirement: &id002 !ruby/object:Gem::Requirement
43
+ none: false
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ hash: 3
48
+ segments:
49
+ - 0
50
+ version: "0"
51
+ type: :development
52
+ version_requirements: *id002
53
+ - !ruby/object:Gem::Dependency
54
+ name: sass
55
+ prerelease: false
56
+ requirement: &id003 !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ hash: 3
62
+ segments:
63
+ - 0
64
+ version: "0"
65
+ type: :development
66
+ version_requirements: *id003
67
+ - !ruby/object:Gem::Dependency
68
+ name: therubyracer
69
+ prerelease: false
70
+ requirement: &id004 !ruby/object:Gem::Requirement
71
+ none: false
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ hash: 3
76
+ segments:
77
+ - 0
78
+ version: "0"
79
+ type: :development
80
+ version_requirements: *id004
81
+ - !ruby/object:Gem::Dependency
82
+ name: coffee-filter
83
+ prerelease: false
84
+ requirement: &id005 !ruby/object:Gem::Requirement
85
+ none: false
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ hash: 3
90
+ segments:
91
+ - 0
92
+ version: "0"
93
+ type: :development
94
+ version_requirements: *id005
95
+ - !ruby/object:Gem::Dependency
96
+ name: underscore-source
97
+ prerelease: false
98
+ requirement: &id006 !ruby/object:Gem::Requirement
99
+ none: false
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ hash: 3
104
+ segments:
105
+ - 0
106
+ version: "0"
107
+ type: :runtime
108
+ version_requirements: *id006
109
+ - !ruby/object:Gem::Dependency
110
+ name: backbone-source
111
+ prerelease: false
112
+ requirement: &id007 !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ hash: 3
118
+ segments:
119
+ - 0
120
+ version: "0"
121
+ type: :runtime
122
+ version_requirements: *id007
123
+ - !ruby/object:Gem::Dependency
124
+ name: jquery-source
125
+ prerelease: false
126
+ requirement: &id008 !ruby/object:Gem::Requirement
127
+ none: false
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ hash: 3
132
+ segments:
133
+ - 0
134
+ version: "0"
135
+ type: :runtime
136
+ version_requirements: *id008
137
+ description: ""
138
+ email:
139
+ - pixie@pixieengine.com
140
+ executables: []
141
+
142
+ extensions: []
143
+
144
+ extra_rdoc_files: []
145
+
146
+ files:
147
+ - .gitignore
148
+ - Gemfile
149
+ - LICENSE.txt
150
+ - README.md
151
+ - Rakefile
152
+ - boner.gemspec
153
+ - config.rb
154
+ - config.ru
155
+ - lib/assets/index.html
156
+ - lib/assets/javascripts/boner.js
157
+ - lib/assets/javascripts/boner.js.coffee
158
+ - lib/assets/stylesheets/boner.css
159
+ - lib/boner.rb
160
+ - lib/boner/rails.rb
161
+ - lib/boner/sprockets.rb
162
+ - lib/boner/version.rb
163
+ - source/index.html.haml
164
+ - source/javascripts/_boner/namespace.js.coffee
165
+ - source/javascripts/_boner/views/menu.js.coffee
166
+ - source/javascripts/boner.js.coffee
167
+ - source/layout.haml
168
+ - source/stylesheets/boner.css.sass
169
+ homepage: https://github.com/PixieEngine/Boner
170
+ licenses: []
171
+
172
+ post_install_message:
173
+ rdoc_options: []
174
+
175
+ require_paths:
176
+ - lib
177
+ required_ruby_version: !ruby/object:Gem::Requirement
178
+ none: false
179
+ requirements:
180
+ - - ">="
181
+ - !ruby/object:Gem::Version
182
+ hash: 3
183
+ segments:
184
+ - 0
185
+ version: "0"
186
+ required_rubygems_version: !ruby/object:Gem::Requirement
187
+ none: false
188
+ requirements:
189
+ - - ">="
190
+ - !ruby/object:Gem::Version
191
+ hash: 3
192
+ segments:
193
+ - 0
194
+ version: "0"
195
+ requirements: []
196
+
197
+ rubyforge_project:
198
+ rubygems_version: 1.8.24
199
+ signing_key:
200
+ specification_version: 3
201
+ summary: ""
202
+ test_files: []
203
+