voluntary-ember_js 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/voluntary/ember_js/app.js.coffee +40 -2
- data/app/assets/javascripts/voluntary/ember_js/components/like_or_dislike_component.js.coffee +73 -0
- data/app/assets/javascripts/voluntary/ember_js/components/modal_dialog_component.js.coffee +6 -0
- data/app/assets/javascripts/voluntary/ember_js/components/toggle_text_component.js.coffee +11 -0
- data/app/assets/javascripts/voluntary/ember_js/controllers/application_controller.js.coffee +3 -2
- data/app/assets/javascripts/voluntary/ember_js/controllers/controller.js.coffee +1 -0
- data/app/assets/javascripts/voluntary/ember_js/helpers/name_with_apostrophe_helper.js.coffee +7 -0
- data/app/assets/javascripts/voluntary/ember_js/helpers/t_helper.js.coffee +10 -0
- data/app/assets/javascripts/voluntary/ember_js/mixins/has_current_user.js.coffee +4 -0
- data/app/assets/javascripts/voluntary/ember_js/mixins/singleton.js.coffee +17 -0
- data/app/assets/javascripts/voluntary/ember_js/models/argument.js.coffee +14 -0
- data/app/assets/javascripts/voluntary/ember_js/models/user.js.coffee +1 -0
- data/app/assets/javascripts/voluntary/ember_js/router.js.coffee +3 -0
- data/app/assets/javascripts/voluntary/ember_js/routes/application_route.js.coffee +2 -5
- data/app/assets/javascripts/voluntary/ember_js/templates/components/like-or-dislike.js.handlebars +12 -0
- data/app/assets/javascripts/voluntary/ember_js/templates/components/modal-dialog.js.handlebars +9 -0
- data/app/assets/javascripts/voluntary/ember_js/templates/components/toggle-text.js.handlebars +7 -0
- data/app/views/layouts/voluntary/ember_js.html.erb +4 -0
- data/lib/voluntary/ember_js/version.rb +1 -1
- metadata +15 -21
- data/app/serializers/application_serializer.rb +0 -3
- data/app/serializers/basic_user_serializer.rb +0 -3
- data/app/serializers/current_user_serializer.rb +0 -3
- data/app/serializers/user_serializer.rb +0 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9da223c770795b529aac20b85d4c97e37f2c6310
|
4
|
+
data.tar.gz: eec2022b526439cad03fb2191e5dad492dbf7163
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d5d91d9553c161be75096767cb0da82f0f0c2eab0880159fcf5f59513d2665c5d0ef9d8832fd801071e29423e6e87cfc020f79d73e36332bd6b1bda977f42039
|
7
|
+
data.tar.gz: 6f518f01d1a064f515520e7b662ea0129fb374347157548c0c026d9da52d943ddee23965f5d14ad528fbf83067a106ed01b410856c83224d64500e5ea7c60fa6
|
@@ -1,10 +1,48 @@
|
|
1
|
+
#= require_tree ./mixins
|
1
2
|
#= require_tree ./adapters
|
2
3
|
#= require_tree ./serializers
|
3
4
|
#= require_tree ./models
|
4
5
|
#= require_tree ./controllers
|
5
6
|
#= require_tree ./views
|
6
|
-
#= require_tree ./helpers
|
7
7
|
#= require_tree ./templates
|
8
8
|
#= require_tree ./routes
|
9
|
+
#= require_tree ./helpers
|
10
|
+
#= require_tree ./components
|
9
11
|
#= require ./router
|
10
|
-
#= require_self
|
12
|
+
#= require_self
|
13
|
+
|
14
|
+
Ember.TextField.reopen attributeBindings: [
|
15
|
+
'data-autocomplete', 'data-append-autocomplete', 'data-append-to'
|
16
|
+
]
|
17
|
+
|
18
|
+
Volontariat.alert = (type, message) ->
|
19
|
+
$('#alert_message').text message
|
20
|
+
$('#alert').addClass "alert-#{type}"
|
21
|
+
$("#alert").slideDown()
|
22
|
+
|
23
|
+
setTimeout (->
|
24
|
+
$("#alert").slideUp(400, ->
|
25
|
+
$('#alert').removeClass "alert-#{type}"
|
26
|
+
)
|
27
|
+
), 5000
|
28
|
+
|
29
|
+
Volontariat.reload_alert = (message) ->
|
30
|
+
$('#reload_alert_message').text message
|
31
|
+
$('#reload_alert').slideDown()
|
32
|
+
|
33
|
+
Volontariat.t = (key) ->
|
34
|
+
keyArray = key.split('.')
|
35
|
+
text = Volontariat.translations[keyArray.shift()]
|
36
|
+
|
37
|
+
unless text == undefined || typeof(text) == 'string'
|
38
|
+
$.each keyArray, (index, value) ->
|
39
|
+
if text[value] == undefined
|
40
|
+
text = undefined
|
41
|
+
|
42
|
+
return false
|
43
|
+
|
44
|
+
text = text[value]
|
45
|
+
|
46
|
+
return false if typeof(text) == 'string'
|
47
|
+
|
48
|
+
text
|
@@ -0,0 +1,73 @@
|
|
1
|
+
Volontariat.LikeOrDislikeComponent = Ember.Component.extend
|
2
|
+
likesCount: (->
|
3
|
+
if @get('likes') == null
|
4
|
+
0
|
5
|
+
else
|
6
|
+
@get('likes')
|
7
|
+
).property('likes')
|
8
|
+
|
9
|
+
dislikesCount: (->
|
10
|
+
if @get('dislikes') == null
|
11
|
+
0
|
12
|
+
else
|
13
|
+
@get('dislikes')
|
14
|
+
).property('dislikes')
|
15
|
+
|
16
|
+
liked: (-> @get('positive') == true).property('positive')
|
17
|
+
disliked: (-> @get('positive') == false).property('positive')
|
18
|
+
|
19
|
+
actions:
|
20
|
+
like: ->
|
21
|
+
positiveWas = @get 'positive'
|
22
|
+
@set 'dislikesCount', @get('dislikesCount') - 1 if positiveWas == false
|
23
|
+
@set 'positive', true
|
24
|
+
@set 'likesCount', @get('likesCount') + 1
|
25
|
+
|
26
|
+
$.post("/like/#{@get('targetType')}/#{@get('targetId')}").done(=>
|
27
|
+
).fail(->
|
28
|
+
alert Volontariat.t('likes.create.like_failed')
|
29
|
+
@set 'positive', positiveWas
|
30
|
+
@set 'likesCount', @get('likesCount') - 1
|
31
|
+
)
|
32
|
+
|
33
|
+
unlike: ->
|
34
|
+
@set 'positive', null
|
35
|
+
@set 'likesCount', @get('likesCount') - 1
|
36
|
+
|
37
|
+
$.post("/unlike/#{@get('targetType')}/#{@get('targetId')}").done(=>
|
38
|
+
).fail(->
|
39
|
+
alert Volontariat.t('likes.destroy.unlike_failed')
|
40
|
+
@set 'positive', true
|
41
|
+
@set 'likesCount', @get('likesCount') + 1
|
42
|
+
)
|
43
|
+
|
44
|
+
dislike: ->
|
45
|
+
positiveWas = @get 'positive'
|
46
|
+
@set 'positive', false
|
47
|
+
|
48
|
+
if positiveWas == true
|
49
|
+
@set 'likesCount', @get('likesCount') - 1
|
50
|
+
|
51
|
+
@set 'dislikesCount', @get('dislikesCount') + 1
|
52
|
+
|
53
|
+
$.post("/dislike/#{@get('targetType')}/#{@get('targetId')}").done(=>
|
54
|
+
).fail(->
|
55
|
+
alert Volontariat.t('likes.create.dislike_failed')
|
56
|
+
@set 'positive', positiveWas
|
57
|
+
|
58
|
+
if positiveWas == true
|
59
|
+
@set 'likesCount', @get('likesCount') + 1
|
60
|
+
|
61
|
+
@set 'dislikesCount', @get('dislikesCount') - 1
|
62
|
+
)
|
63
|
+
|
64
|
+
undoDislike: ->
|
65
|
+
@set 'positive', null
|
66
|
+
@set 'dislikesCount', @get('dislikesCount') - 1
|
67
|
+
|
68
|
+
$.post("/unlike/#{@get('targetType')}/#{@get('targetId')}").done(=>
|
69
|
+
).fail(->
|
70
|
+
alert Volontariat.t('likes.destroy.undo_dislike_failed')
|
71
|
+
@set 'positive', false
|
72
|
+
@set 'dislikesCount', @get('dislikesCount') + 1
|
73
|
+
)
|
@@ -0,0 +1,11 @@
|
|
1
|
+
Volontariat.ToggleTextComponent = Ember.Component.extend
|
2
|
+
length: 140
|
3
|
+
collapsed: 'more'
|
4
|
+
|
5
|
+
currentText: (-> if @get('collapsed') == 'more' then @get('text').truncate(@get('length')) else @get('text')).property('text', 'collapsed', 'length')
|
6
|
+
tooLong: (-> @get('text').length > @get('length')).property('text', 'length')
|
7
|
+
|
8
|
+
actions:
|
9
|
+
|
10
|
+
toggle: ->
|
11
|
+
@set 'collapsed', if @get('collapsed') == 'more' then 'less' else 'more'
|
@@ -1,4 +1,4 @@
|
|
1
|
-
Volontariat.ApplicationController = Ember.Controller.extend
|
1
|
+
Volontariat.ApplicationController = Ember.Controller.extend(Volontariat.HasCurrentUser,
|
2
2
|
|
3
3
|
actions:
|
4
4
|
|
@@ -7,4 +7,5 @@ Volontariat.ApplicationController = Ember.Controller.extend
|
|
7
7
|
window.location.reload()
|
8
8
|
).fail((data) ->
|
9
9
|
alert 'Signing out failed!'
|
10
|
-
)
|
10
|
+
)
|
11
|
+
)
|
@@ -0,0 +1 @@
|
|
1
|
+
Volontariat.Controller = Ember.Controller.extend(Volontariat.HasCurrentUser)
|
@@ -0,0 +1,10 @@
|
|
1
|
+
Ember.Handlebars.helper 't', (key, no_html, options) ->
|
2
|
+
text = Volontariat.t key
|
3
|
+
|
4
|
+
if text == undefined
|
5
|
+
if no_html == true
|
6
|
+
"Missing translation: #{key}"
|
7
|
+
else
|
8
|
+
new (Ember.Handlebars.SafeString)('<span class="translation_missing" title="translation missing: ' + Volontariat.locale + '.' + key + '">' + key + '</span>')
|
9
|
+
else
|
10
|
+
text
|
@@ -0,0 +1,17 @@
|
|
1
|
+
Volontariat.Singleton = Em.Mixin.create(
|
2
|
+
current: ->
|
3
|
+
@_current = @createCurrent() unless @_current
|
4
|
+
@_current
|
5
|
+
|
6
|
+
createCurrent: ->
|
7
|
+
@create {}
|
8
|
+
|
9
|
+
currentProp: (property, value) ->
|
10
|
+
instance = @current()
|
11
|
+
return unless instance
|
12
|
+
if typeof (value) isnt "undefined"
|
13
|
+
instance.set property, value
|
14
|
+
value
|
15
|
+
else
|
16
|
+
instance.get property
|
17
|
+
)
|
@@ -0,0 +1,14 @@
|
|
1
|
+
Volontariat.Argument = DS.Model.extend
|
2
|
+
vote: DS.attr('boolean')
|
3
|
+
topicId: DS.attr('number')
|
4
|
+
topicName: DS.attr('string')
|
5
|
+
argumentableType: DS.attr('string')
|
6
|
+
argumentableId: DS.attr('number')
|
7
|
+
argumentableName: DS.attr('string')
|
8
|
+
value: DS.attr('string')
|
9
|
+
|
10
|
+
pro: (-> @get('vote') == true).property('vote')
|
11
|
+
contra: (-> @get('vote') == false).property('vote')
|
12
|
+
neutral: (-> @get('vote') == null).property('vote')
|
13
|
+
|
14
|
+
|
@@ -13,10 +13,7 @@ Volontariat.ApplicationRoute = Ember.Route.extend
|
|
13
13
|
else
|
14
14
|
alert "Something went wrong: HTTP status code #{error.status}!"
|
15
15
|
|
16
|
-
if error.status == undefined
|
17
|
-
|
18
|
-
else
|
19
|
-
@transitionTo('index')
|
20
|
-
|
16
|
+
return true if error.status == undefined
|
17
|
+
|
21
18
|
renderTemplate: ->
|
22
19
|
@render 'application'
|
data/app/assets/javascripts/voluntary/ember_js/templates/components/like-or-dislike.js.handlebars
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
{{#if liked}}
|
2
|
+
<a {{action 'unlike'}}><span class="glyphicon glyphicon-thumbs-up"></span> {{t 'likes.actions.undo_like'}}</a>
|
3
|
+
{{else}}
|
4
|
+
<a {{action 'like'}}><span class="glyphicon glyphicon-thumbs-up"></span> {{t 'likes.actions.like'}}</a>
|
5
|
+
{{/if}}
|
6
|
+
{{likesCount}}
|
7
|
+
{{#if disliked}}
|
8
|
+
<a {{action 'undoDislike'}}><span class="glyphicon glyphicon-thumbs-down"></span> {{t 'likes.actions.undo_dislike'}}</a>
|
9
|
+
{{else}}
|
10
|
+
<a {{action 'dislike'}}><span class="glyphicon glyphicon-thumbs-down"></span> {{t 'likes.actions.dislike'}}</a>
|
11
|
+
{{/if}}
|
12
|
+
{{dislikesCount}}
|
@@ -59,6 +59,10 @@
|
|
59
59
|
#= javascript_include_tag *voluntary_ember_js_javascripts %>
|
60
60
|
-->
|
61
61
|
<%= javascript_include_tag *voluntary_ember_js_javascripts %>
|
62
|
+
<script type="text/javascript">
|
63
|
+
Volontariat.locale = '<%= I18n.locale.to_s %>';
|
64
|
+
Volontariat.translations = <%= I18n.backend.send(:translations)[I18n.locale].to_json.html_safe %>;
|
65
|
+
</script>
|
62
66
|
<%= javascript_tag do %>
|
63
67
|
<%= yield :top_javascript %>
|
64
68
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: voluntary-ember_js
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mathias Gawlista
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-08-
|
11
|
+
date: 2015-08-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: voluntary
|
@@ -66,20 +66,6 @@ dependencies:
|
|
66
66
|
- - '='
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: 1.13.8
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: active_model_serializers
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - "~>"
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: 0.9.3
|
76
|
-
type: :runtime
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - "~>"
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: 0.9.3
|
83
69
|
- !ruby/object:Gem::Dependency
|
84
70
|
name: letter_opener
|
85
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -332,7 +318,7 @@ dependencies:
|
|
332
318
|
- - "~>"
|
333
319
|
- !ruby/object:Gem::Version
|
334
320
|
version: 0.7.1
|
335
|
-
description: 'Ember.js support for #crowdsourcing management system voluntary: bit.ly/vej-0-0-
|
321
|
+
description: 'Ember.js support for #crowdsourcing management system voluntary: bit.ly/vej-0-0-2'
|
336
322
|
email:
|
337
323
|
- gawlista@gmail.com
|
338
324
|
executables: []
|
@@ -346,19 +332,27 @@ files:
|
|
346
332
|
- app/assets/javascripts/voluntary/ember_js/adapters/application_adapter.js.coffee
|
347
333
|
- app/assets/javascripts/voluntary/ember_js/app.js.coffee
|
348
334
|
- app/assets/javascripts/voluntary/ember_js/application.js
|
335
|
+
- app/assets/javascripts/voluntary/ember_js/components/like_or_dislike_component.js.coffee
|
336
|
+
- app/assets/javascripts/voluntary/ember_js/components/modal_dialog_component.js.coffee
|
337
|
+
- app/assets/javascripts/voluntary/ember_js/components/toggle_text_component.js.coffee
|
349
338
|
- app/assets/javascripts/voluntary/ember_js/controllers/application_controller.js.coffee
|
339
|
+
- app/assets/javascripts/voluntary/ember_js/controllers/controller.js.coffee
|
350
340
|
- app/assets/javascripts/voluntary/ember_js/external/preload_store.js
|
341
|
+
- app/assets/javascripts/voluntary/ember_js/helpers/name_with_apostrophe_helper.js.coffee
|
342
|
+
- app/assets/javascripts/voluntary/ember_js/helpers/t_helper.js.coffee
|
343
|
+
- app/assets/javascripts/voluntary/ember_js/mixins/has_current_user.js.coffee
|
344
|
+
- app/assets/javascripts/voluntary/ember_js/mixins/singleton.js.coffee
|
345
|
+
- app/assets/javascripts/voluntary/ember_js/models/argument.js.coffee
|
351
346
|
- app/assets/javascripts/voluntary/ember_js/models/user.js.coffee
|
352
347
|
- app/assets/javascripts/voluntary/ember_js/router.js.coffee
|
353
348
|
- app/assets/javascripts/voluntary/ember_js/routes/application_route.js.coffee
|
354
349
|
- app/assets/javascripts/voluntary/ember_js/serializers/application_serializer.js.coffee
|
350
|
+
- app/assets/javascripts/voluntary/ember_js/templates/components/like-or-dislike.js.handlebars
|
351
|
+
- app/assets/javascripts/voluntary/ember_js/templates/components/modal-dialog.js.handlebars
|
352
|
+
- app/assets/javascripts/voluntary/ember_js/templates/components/toggle-text.js.handlebars
|
355
353
|
- app/assets/javascripts/voluntary/ember_js/views/application_view.js.coffee
|
356
354
|
- app/assets/stylesheets/voluntary/ember_js/application.css
|
357
355
|
- app/controllers/voluntary/ember_js/application_controller.rb
|
358
|
-
- app/serializers/application_serializer.rb
|
359
|
-
- app/serializers/basic_user_serializer.rb
|
360
|
-
- app/serializers/current_user_serializer.rb
|
361
|
-
- app/serializers/user_serializer.rb
|
362
356
|
- app/views/layouts/voluntary/ember_js.html.erb
|
363
357
|
- config/routes.rb
|
364
358
|
- lib/voluntary/ember_js.rb
|