atlas_assets 0.6.6.1 → 0.6.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +8 -8
- data/Gemfile +2 -1
- data/Gemfile.lock +11 -4
- data/docs/_layouts/default.html +0 -1
- data/docs/_plugins/jekyll_assets.rb +0 -2
- data/docs/_posts/2013-10-28-dropdown.md +1 -1
- data/docs/_posts/2014-05-05-select.md +116 -0
- data/lib/assets/javascripts/atlas_assets.js +0 -1
- data/lib/assets/javascripts/templates/dropdown.jst.eco +12 -0
- data/lib/assets/javascripts/templates/select.jst.eco +12 -0
- data/lib/assets/javascripts/views/dropdown_view.coffee +3 -2
- data/lib/assets/javascripts/views/select.coffee +63 -0
- data/lib/assets/stylesheets/atlas_assets.scss +1 -0
- data/lib/assets/stylesheets/atlas_assets/_select.scss +12 -0
- data/lib/atlas_assets.rb +1 -3
- data/lib/atlas_assets/version.rb +1 -1
- metadata +7 -3
- data/lib/assets/javascripts/templates/dropdown.hbs +0 -12
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
MGZiMDhkMDc3ZDM3OWI0MjE3ZjIzMGU0MGU1ZGE5YjRhYWVhYTgzMg==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
MGViZTczY2MxYjE3YjQ5MTJjNzU5MzY2ZjI5MmU2OTcyZGU0ZmJmMg==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
YjIyNDc0OWNiMzk0YTVkNTJlMWVmNDJlYzU3ODlkNDA1ZTZkNTk1ZDU0YjI1
|
10
|
+
NzQ0ZjBjNmM0YmM3YWJiMGI4MmI3MGQxYTVkOGJhODZkMjg4NGRmYmIyZjc5
|
11
|
+
NzZkYjFhMzU3NjM0MzhlYzZiY2ZhYzBjMTM1MDBkZmFhZDMyMjA=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
N2M5NDU3MTdkMGM1NWJkNTg3NzNlMTk1NDg2MGMyNWRkNGNkYzhiNWIzNDM4
|
14
|
+
YTRlYzk1ODM0ZDUzYjNiZGRmNWI2ZjE3NmY4YmU1OTc5NjQ5Mzg0ZWZhODk0
|
15
|
+
NjFkNTFkMzM4Y2FiYWY0NmYwNDRjMTE5MmY0NWU5YTgyODYzYzA=
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,15 +1,16 @@
|
|
1
1
|
GIT
|
2
2
|
remote: git://github.com/ixti/jekyll-assets.git
|
3
|
-
revision:
|
3
|
+
revision: 4ce7eeb9eb4af29b14b77ba32addf05889f6961c
|
4
4
|
specs:
|
5
5
|
jekyll-assets (0.7.7)
|
6
6
|
jekyll (~> 1.0)
|
7
|
+
sass
|
7
8
|
sprockets (~> 2.10)
|
8
9
|
|
9
10
|
PATH
|
10
11
|
remote: .
|
11
12
|
specs:
|
12
|
-
atlas_assets (0.6.6)
|
13
|
+
atlas_assets (0.6.6.1)
|
13
14
|
handlebars_assets (~> 0.15)
|
14
15
|
|
15
16
|
GEM
|
@@ -26,6 +27,11 @@ GEM
|
|
26
27
|
commander (4.1.6)
|
27
28
|
highline (~> 1.6.11)
|
28
29
|
directory_watcher (1.4.1)
|
30
|
+
eco (1.0.0)
|
31
|
+
coffee-script
|
32
|
+
eco-source
|
33
|
+
execjs
|
34
|
+
eco-source (1.1.0.rc.1)
|
29
35
|
execjs (2.0.2)
|
30
36
|
fast-stemmer (1.0.2)
|
31
37
|
handlebars_assets (0.15)
|
@@ -48,7 +54,7 @@ GEM
|
|
48
54
|
kramdown (1.0.2)
|
49
55
|
liquid (2.5.5)
|
50
56
|
maruku (0.7.1)
|
51
|
-
multi_json (1.9.
|
57
|
+
multi_json (1.9.3)
|
52
58
|
posix-spawn (0.3.8)
|
53
59
|
puma (2.0.1)
|
54
60
|
rack (>= 1.1, < 2.0)
|
@@ -63,7 +69,7 @@ GEM
|
|
63
69
|
rake (10.0.4)
|
64
70
|
safe_yaml (0.7.1)
|
65
71
|
sass (3.2.19)
|
66
|
-
sprockets (2.12.
|
72
|
+
sprockets (2.12.1)
|
67
73
|
hike (~> 1.2)
|
68
74
|
multi_json (~> 1.0)
|
69
75
|
rack (~> 1.0)
|
@@ -78,6 +84,7 @@ DEPENDENCIES
|
|
78
84
|
atlas_assets!
|
79
85
|
coderay (~> 1.0.9)
|
80
86
|
coffee-script
|
87
|
+
eco
|
81
88
|
jekyll (~> 1.0.2)
|
82
89
|
jekyll-assets!
|
83
90
|
kramdown (~> 1.0.2)
|
data/docs/_layouts/default.html
CHANGED
@@ -0,0 +1,116 @@
|
|
1
|
+
---
|
2
|
+
layout: default
|
3
|
+
title: "Select View"
|
4
|
+
---
|
5
|
+
|
6
|
+
Select View
|
7
|
+
======
|
8
|
+
|
9
|
+
`classes.SelectView` is a wrapper for the `Select.js` library.
|
10
|
+
|
11
|
+
## Simple Array Example
|
12
|
+
|
13
|
+
The SelectView can be implemented with a simple array. It will construct a Backbone Collection out of the array of values that you pass.
|
14
|
+
|
15
|
+
<div id="simple-array"></div>
|
16
|
+
|
17
|
+
~~~js
|
18
|
+
var select1 = new classes.SelectView({
|
19
|
+
values: ["Rune","Steve","Zach"],
|
20
|
+
helper: "Owner"
|
21
|
+
})
|
22
|
+
$('#simple-array').html(select1.render().el)
|
23
|
+
|
24
|
+
// Listen for change events
|
25
|
+
select1.on("change", function (model) {
|
26
|
+
console.log(model)
|
27
|
+
$('#simple-array').append(model.get('label'))
|
28
|
+
})
|
29
|
+
~~~
|
30
|
+
|
31
|
+
<script>
|
32
|
+
var select1 = new classes.SelectView({
|
33
|
+
values: ["Rune","Steve","Zach"],
|
34
|
+
helper: "Owner"
|
35
|
+
})
|
36
|
+
$('#simple-array').html(select1.render().el)
|
37
|
+
|
38
|
+
// Listen for change events
|
39
|
+
select1.on("change", function (model) {
|
40
|
+
console.log(model)
|
41
|
+
$('#simple-array').append(model.get('label'))
|
42
|
+
})
|
43
|
+
</script>
|
44
|
+
|
45
|
+
## Backbone Collection
|
46
|
+
|
47
|
+
To implement a SelectView with a Backbone Collection, you must pass both a collection and specify which attribute is to be the label.
|
48
|
+
|
49
|
+
<div id="collection-example"></div>
|
50
|
+
|
51
|
+
~~~js
|
52
|
+
var select2 = new classes.SelectView({
|
53
|
+
collection: new Backbone.Collection([
|
54
|
+
{name:"Rune", key:"madsen"},
|
55
|
+
{label:"Steve", key:"klise"},
|
56
|
+
{label:"Zach", key:"Schwartz"}
|
57
|
+
]),
|
58
|
+
label: "name",
|
59
|
+
})
|
60
|
+
$('#collection-example').html(select2.render().el)
|
61
|
+
|
62
|
+
// Listen for changes
|
63
|
+
select2.on('change', function (model) {
|
64
|
+
$('collection-example').append(model.get('key'))
|
65
|
+
})
|
66
|
+
~~~
|
67
|
+
|
68
|
+
<script>
|
69
|
+
var select2 = new classes.SelectView({
|
70
|
+
collection: new Backbone.Collection([
|
71
|
+
{name:"Rune", key:"madsen"},
|
72
|
+
{name:"Steve", key:"klise"},
|
73
|
+
{name:"Zach", key:"schwartz"}
|
74
|
+
]),
|
75
|
+
label: "name",
|
76
|
+
})
|
77
|
+
$('#collection-example').html(select2.render().el)
|
78
|
+
|
79
|
+
// Listen for changes
|
80
|
+
select2.on('change', function (model) {
|
81
|
+
$('#collection-example').append(model.get('key'))
|
82
|
+
})
|
83
|
+
</script>
|
84
|
+
|
85
|
+
|
86
|
+
## Helpers
|
87
|
+
|
88
|
+
You can also add helper text!
|
89
|
+
|
90
|
+
<div id="helper-example"></div>
|
91
|
+
|
92
|
+
~~~js
|
93
|
+
var select3 = new classes.SelectView({
|
94
|
+
collection: new Backbone.Collection([
|
95
|
+
{name:"Rune", key:"madsen"},
|
96
|
+
{name:"Steve", key:"klise"},
|
97
|
+
{name:"Zach", key:"schwartz"}
|
98
|
+
]),
|
99
|
+
helper: "NAMES!",
|
100
|
+
label: "name",
|
101
|
+
})
|
102
|
+
$('#helper-example').html(select3.render().el)
|
103
|
+
~~~
|
104
|
+
|
105
|
+
<script>
|
106
|
+
var select3 = new classes.SelectView({
|
107
|
+
collection: new Backbone.Collection([
|
108
|
+
{name:"Rune", key:"madsen"},
|
109
|
+
{name:"Steve", key:"klise"},
|
110
|
+
{name:"Zach", key:"schwartz"}
|
111
|
+
]),
|
112
|
+
helper: "NAMES!",
|
113
|
+
label: "name",
|
114
|
+
})
|
115
|
+
$('#helper-example').html(select3.render().el)
|
116
|
+
</script>
|
@@ -0,0 +1,12 @@
|
|
1
|
+
<% if @helper?: %>
|
2
|
+
<span class="helper"><%= @helper%></span>
|
3
|
+
<div class="dropdown-with-helper-container">
|
4
|
+
<% end %>
|
5
|
+
<select class="dropdown-list" <% if @multiple: %>multiple<% end %> <% if @placeholder?: %>data-placeholder='<%= @placeholder %>'<% end %>>
|
6
|
+
<% for model in @models: %>
|
7
|
+
<option <% if model.selected?: %>selected<% end %> <% if model.disabled: %>disabled<% end %>><%= model.label %></option>
|
8
|
+
<% end %>
|
9
|
+
</select>
|
10
|
+
<% if @helper?: %>
|
11
|
+
</div>
|
12
|
+
<% end %>
|
@@ -0,0 +1,12 @@
|
|
1
|
+
<% if @helper?: %>
|
2
|
+
<span class="helper"><%= @helper %>:</span>
|
3
|
+
<div class="dropdown-with-helper-container">
|
4
|
+
<% end %>
|
5
|
+
<select class="dropdown-list" <% if @multiple: %>multiple<% end %> <% if @placeholder?: %>data-placeholder='<%= @placeholder %>'<% end %>>
|
6
|
+
<% for model in @models: %>
|
7
|
+
<option <% if model.selected?: %>selected<% end %> <% if model.disabled: %>disabled<% end %>><%= model.get('label') %></option>
|
8
|
+
<% end %>
|
9
|
+
</select>
|
10
|
+
<% if @helper?: %>
|
11
|
+
</div>
|
12
|
+
<% end %>
|
@@ -7,7 +7,7 @@ classes.DropdownView = Backbone.View.extend
|
|
7
7
|
if !@collection?
|
8
8
|
@collection = new classes.DropdownCollection
|
9
9
|
@opts = _.extend({width: "100%", disable_search_threshold: 4}, opts)
|
10
|
-
@template = JST["dropdown"];
|
10
|
+
@template = JST["templates/dropdown"];
|
11
11
|
@listenTo(@collection, 'add', @render)
|
12
12
|
@collection.each (model) =>
|
13
13
|
@set_default(model)
|
@@ -24,7 +24,8 @@ classes.DropdownView = Backbone.View.extend
|
|
24
24
|
|
25
25
|
render: () ->
|
26
26
|
@rendered = true;
|
27
|
-
|
27
|
+
t = @
|
28
|
+
@$el.html(t.template(_.extend(@opts, {models: @collection.toJSON()})))
|
28
29
|
|
29
30
|
this.delegateEvents();
|
30
31
|
@$('.dropdown-list').chosen({width: @opts.width, disable_search_threshold: @opts.disable_search_threshold}).change((e,selected) =>
|
@@ -0,0 +1,63 @@
|
|
1
|
+
# Two ways to createa a Select dropdown
|
2
|
+
#
|
3
|
+
# Start with a Backbone Collection and a specified label
|
4
|
+
#
|
5
|
+
# select_view = new classes.SelectView({
|
6
|
+
# collection:some_collection,
|
7
|
+
# label: "name"
|
8
|
+
# })
|
9
|
+
#
|
10
|
+
# Start with an array
|
11
|
+
#
|
12
|
+
# select_view = new classes.SelectView({
|
13
|
+
# values: ["rune","steve","zach"]
|
14
|
+
# })
|
15
|
+
|
16
|
+
class classes.SelectView extends Backbone.View
|
17
|
+
|
18
|
+
defaults: {label: 'label'}
|
19
|
+
className: "select-dropdown"
|
20
|
+
|
21
|
+
initialize: (options) ->
|
22
|
+
@rendered = false
|
23
|
+
|
24
|
+
@label = if options.label then options.label else "label"
|
25
|
+
@helper = options.helper if options.helper?
|
26
|
+
|
27
|
+
# The select view needs a collection.
|
28
|
+
if !@collection
|
29
|
+
@collection = @collection_from_values(options.values)
|
30
|
+
else if @collection.length > 0
|
31
|
+
t = @
|
32
|
+
@collection.each (model,@label) -> t.set_model_label(model)
|
33
|
+
|
34
|
+
@template = JST["templates/select"]
|
35
|
+
@listenTo(@collection, 'add', @add_model)
|
36
|
+
@listenTo(@collection, 'remove', @render)
|
37
|
+
@listenTo(@, 'rendered', @bind_select)
|
38
|
+
|
39
|
+
collection_from_values: (values) ->
|
40
|
+
@collection = new Backbone.Collection(_.map(values, (v) ->
|
41
|
+
return {"label": v}
|
42
|
+
))
|
43
|
+
|
44
|
+
add_model: (m) ->
|
45
|
+
@set_model_label(m)
|
46
|
+
@render().el
|
47
|
+
|
48
|
+
set_model_label: (model) =>
|
49
|
+
model.set('label',model.get(@label))
|
50
|
+
|
51
|
+
bind_select: ->
|
52
|
+
t = @
|
53
|
+
@rendered = true
|
54
|
+
@select = new Select({el: @$el.find('select')[0] })
|
55
|
+
@select.on('change', (v) ->
|
56
|
+
selected_model = t.collection.find((m) -> m.get(t.label) is v.value)
|
57
|
+
t.trigger('change', selected_model)
|
58
|
+
)
|
59
|
+
|
60
|
+
render: ->
|
61
|
+
@$el.html(@template({models:@collection.models, helper:@helper}))
|
62
|
+
@trigger('rendered') if !@rendered
|
63
|
+
@
|
data/lib/atlas_assets.rb
CHANGED
data/lib/atlas_assets/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: atlas_assets
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rune Skjoldborg Madsen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-05-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: handlebars_assets
|
@@ -61,6 +61,7 @@ files:
|
|
61
61
|
- docs/_posts/2013-10-28-dropdown.md
|
62
62
|
- docs/_posts/2014-03-12-drop.md
|
63
63
|
- docs/_posts/2014-04-03-keypress.md
|
64
|
+
- docs/_posts/2014-05-05-select.md
|
64
65
|
- docs/_posts/2014-2-10-colors.md
|
65
66
|
- docs/glyphicons-license.txt
|
66
67
|
- docs/index.html
|
@@ -96,8 +97,10 @@ files:
|
|
96
97
|
- lib/assets/javascripts/libraries/underscore.js
|
97
98
|
- lib/assets/javascripts/models/dropdown.coffee
|
98
99
|
- lib/assets/javascripts/tabs.js
|
99
|
-
- lib/assets/javascripts/templates/dropdown.
|
100
|
+
- lib/assets/javascripts/templates/dropdown.jst.eco
|
101
|
+
- lib/assets/javascripts/templates/select.jst.eco
|
100
102
|
- lib/assets/javascripts/views/dropdown_view.coffee
|
103
|
+
- lib/assets/javascripts/views/select.coffee
|
101
104
|
- lib/assets/stylesheets/atlas_assets.scss
|
102
105
|
- lib/assets/stylesheets/atlas_assets/_boxes.scss
|
103
106
|
- lib/assets/stylesheets/atlas_assets/_button-groups.scss
|
@@ -122,6 +125,7 @@ files:
|
|
122
125
|
- lib/assets/stylesheets/atlas_assets/_responsive-767.scss
|
123
126
|
- lib/assets/stylesheets/atlas_assets/_responsive-768-979.scss
|
124
127
|
- lib/assets/stylesheets/atlas_assets/_responsive-utilities.scss
|
128
|
+
- lib/assets/stylesheets/atlas_assets/_select.scss
|
125
129
|
- lib/assets/stylesheets/atlas_assets/_tabs.scss
|
126
130
|
- lib/assets/stylesheets/atlas_assets/_utilities.scss
|
127
131
|
- lib/assets/stylesheets/atlas_assets/_variables.scss
|
@@ -1,12 +0,0 @@
|
|
1
|
-
{{#if helper}}
|
2
|
-
<span class="helper">{{helper}}</span>
|
3
|
-
<div class="dropdown-with-helper-container">
|
4
|
-
{{/if}}
|
5
|
-
<select class="dropdown-list" {{#if multiple}}multiple{{/if}} {{#if placeholder}}data-placeholder='{{placeholder}}'{{/if}}>
|
6
|
-
{{#each models}}
|
7
|
-
<option {{#if selected}}selected{{/if}} {{#if disabled}}disabled{{/if}}>{{label}}</option>
|
8
|
-
{{/each}}
|
9
|
-
</select>
|
10
|
-
{{#if helper}}
|
11
|
-
</div>
|
12
|
-
{{/if}}
|