unpoly-rails 0.27.3 → 0.28.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of unpoly-rails might be problematic. Click here for more details.

Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +22 -1
  3. data/dist/unpoly.css +29 -21
  4. data/dist/unpoly.js +291 -134
  5. data/dist/unpoly.min.css +1 -1
  6. data/dist/unpoly.min.js +3 -3
  7. data/lib/assets/javascripts/unpoly.js.coffee +1 -0
  8. data/lib/assets/javascripts/unpoly/browser.js.coffee +22 -5
  9. data/lib/assets/javascripts/unpoly/bus.js.coffee +1 -1
  10. data/lib/assets/javascripts/unpoly/flow.js.coffee +9 -6
  11. data/lib/assets/javascripts/unpoly/form.js.coffee +46 -49
  12. data/lib/assets/javascripts/unpoly/history.js.coffee +2 -2
  13. data/lib/assets/javascripts/unpoly/layout.js.coffee +3 -3
  14. data/lib/assets/javascripts/unpoly/modal.js.coffee +30 -2
  15. data/lib/assets/javascripts/unpoly/motion.js.coffee +6 -6
  16. data/lib/assets/javascripts/unpoly/navigation.js.coffee +1 -1
  17. data/lib/assets/javascripts/unpoly/popup.js.coffee +2 -2
  18. data/lib/assets/javascripts/unpoly/proxy.js.coffee +5 -9
  19. data/lib/assets/javascripts/unpoly/syntax.js.coffee +10 -6
  20. data/lib/assets/javascripts/unpoly/toast.js.coffee +66 -0
  21. data/lib/assets/javascripts/unpoly/tooltip.js.coffee +1 -1
  22. data/lib/assets/javascripts/unpoly/util.js.coffee +47 -21
  23. data/lib/assets/stylesheets/unpoly/toast.css.sass +33 -0
  24. data/lib/unpoly/rails/version.rb +1 -1
  25. data/spec_app/Gemfile.lock +1 -1
  26. data/spec_app/app/assets/javascripts/integration_test.coffee +1 -0
  27. data/spec_app/app/assets/stylesheets/integration_test.sass +14 -0
  28. data/spec_app/app/controllers/application_controller.rb +8 -0
  29. data/spec_app/app/controllers/error_test_controller.rb +5 -0
  30. data/spec_app/app/views/error_test/trigger.erb +72 -0
  31. data/spec_app/app/views/error_test/unexpected_response.erb +3 -0
  32. data/spec_app/app/views/pages/start.erb +4 -0
  33. data/spec_app/config/routes.rb +2 -0
  34. data/spec_app/spec/javascripts/helpers/last_request.js.coffee +1 -1
  35. data/spec_app/spec/javascripts/up/browser_spec.js.coffee +62 -0
  36. data/spec_app/spec/javascripts/up/form_spec.js.coffee +116 -3
  37. data/spec_app/spec/javascripts/up/link_spec.js.coffee +2 -2
  38. data/spec_app/spec/javascripts/up/modal_spec.js.coffee +88 -4
  39. data/spec_app/spec/javascripts/up/syntax_spec.js.coffee +27 -1
  40. data/spec_app/spec/javascripts/up/util_spec.js.coffee +12 -0
  41. metadata +8 -3
  42. data/lib/assets/stylesheets/unpoly/error.css.sass +0 -21
@@ -17,7 +17,7 @@ describe 'up.syntax', ->
17
17
 
18
18
  describe 'destructors', ->
19
19
 
20
- it 'allows initializers to return a function that is called when the compiled element is removed', ->
20
+ it 'allows compilers to return a function to call when the compiled element is destroyed', ->
21
21
  destructor = jasmine.createSpy('destructor')
22
22
  up.compiler '.child', ($element) ->
23
23
  destructor
@@ -28,6 +28,32 @@ describe 'up.syntax', ->
28
28
  up.destroy('.container')
29
29
  expect(destructor).toHaveBeenCalled()
30
30
 
31
+ it 'allows compilers to return an array of functions to clal when the compiled element is destroyed', ->
32
+ destructor1 = jasmine.createSpy('destructor1')
33
+ destructor2 = jasmine.createSpy('destructor2')
34
+ up.compiler '.child', ($element) ->
35
+ [ destructor1, destructor2 ]
36
+
37
+ up.hello(affix('.container .child'))
38
+ expect(destructor1).not.toHaveBeenCalled()
39
+ expect(destructor2).not.toHaveBeenCalled()
40
+
41
+ up.destroy('.container')
42
+ expect(destructor1).toHaveBeenCalled()
43
+ expect(destructor2).toHaveBeenCalled()
44
+
45
+ it "does not consider a returned array to be a destructor unless it's comprised entirely of functions", ->
46
+ value1 = jasmine.createSpy('non-destructor')
47
+ value2 = 'two'
48
+ up.compiler '.child', ($element) ->
49
+ [ value1, value2 ]
50
+
51
+ up.hello(affix('.container .child'))
52
+ expect(value1).not.toHaveBeenCalled()
53
+
54
+ up.destroy('.container')
55
+ expect(value1).not.toHaveBeenCalled()
56
+
31
57
  it 'runs all destructors if multiple compilers are applied to the same element', ->
32
58
  destructor1 = jasmine.createSpy('destructor1')
33
59
  up.compiler '.one', ($element) -> destructor1
@@ -2,6 +2,18 @@ describe 'up.util', ->
2
2
 
3
3
  describe 'Javascript functions', ->
4
4
 
5
+ describe 'up.util.sequence', ->
6
+
7
+ it 'combines the given functions into a single function', ->
8
+ values = []
9
+ one = -> values.push('one')
10
+ two = -> values.push('two')
11
+ three = -> values.push('three')
12
+ sequence = up.util.sequence(one, two, three)
13
+ expect(values).toEqual([])
14
+ sequence()
15
+ expect(values).toEqual(['one', 'two', 'three'])
16
+
5
17
  describe 'up.util.createElementFromHtml', ->
6
18
 
7
19
  it 'parses a string that contains a serialized HTML document', ->
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: unpoly-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.27.3
4
+ version: 0.28.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Henning Koch
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-07-25 00:00:00.000000000 Z
11
+ date: 2016-08-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -109,17 +109,18 @@ files:
109
109
  - lib/assets/javascripts/unpoly/proxy.js.coffee
110
110
  - lib/assets/javascripts/unpoly/rails.js.coffee
111
111
  - lib/assets/javascripts/unpoly/syntax.js.coffee
112
+ - lib/assets/javascripts/unpoly/toast.js.coffee
112
113
  - lib/assets/javascripts/unpoly/tooltip.js.coffee
113
114
  - lib/assets/javascripts/unpoly/util.js.coffee
114
115
  - lib/assets/stylesheets/unpoly-bootstrap3.css.sass
115
116
  - lib/assets/stylesheets/unpoly-bootstrap3/modal-ext.css.sass
116
117
  - lib/assets/stylesheets/unpoly.css.sass
117
118
  - lib/assets/stylesheets/unpoly/close.css.sass
118
- - lib/assets/stylesheets/unpoly/error.css.sass
119
119
  - lib/assets/stylesheets/unpoly/flow.css.sass
120
120
  - lib/assets/stylesheets/unpoly/link.css.sass
121
121
  - lib/assets/stylesheets/unpoly/modal.css.sass
122
122
  - lib/assets/stylesheets/unpoly/popup.css.sass
123
+ - lib/assets/stylesheets/unpoly/toast.css.sass
123
124
  - lib/assets/stylesheets/unpoly/tooltip.css.sass
124
125
  - lib/unpoly-rails.rb
125
126
  - lib/unpoly/rails/engine.rb
@@ -145,6 +146,7 @@ files:
145
146
  - spec_app/app/controllers/application_controller.rb
146
147
  - spec_app/app/controllers/binding_test_controller.rb
147
148
  - spec_app/app/controllers/css_test_controller.rb
149
+ - spec_app/app/controllers/error_test_controller.rb
148
150
  - spec_app/app/controllers/form_test/basics_controller.rb
149
151
  - spec_app/app/controllers/form_test/uploads_controller.rb
150
152
  - spec_app/app/controllers/pages_controller.rb
@@ -156,6 +158,8 @@ files:
156
158
  - spec_app/app/views/css_test/popup.erb
157
159
  - spec_app/app/views/css_test/popup_contents.erb
158
160
  - spec_app/app/views/css_test/tooltip.erb
161
+ - spec_app/app/views/error_test/trigger.erb
162
+ - spec_app/app/views/error_test/unexpected_response.erb
159
163
  - spec_app/app/views/form_test/basics/new.erb
160
164
  - spec_app/app/views/form_test/submission_result.erb
161
165
  - spec_app/app/views/form_test/uploads/new.erb
@@ -226,6 +230,7 @@ files:
226
230
  - spec_app/spec/javascripts/helpers/trigger.js.coffee
227
231
  - spec_app/spec/javascripts/helpers/wait_until_dom_ready.js.coffee
228
232
  - spec_app/spec/javascripts/support/jasmine.yml
233
+ - spec_app/spec/javascripts/up/browser_spec.js.coffee
229
234
  - spec_app/spec/javascripts/up/bus_spec.js.coffee
230
235
  - spec_app/spec/javascripts/up/flow_spec.js.coffee
231
236
  - spec_app/spec/javascripts/up/form_spec.js.coffee
@@ -1,21 +0,0 @@
1
- .up-error
2
- background-color: #c30
3
- color: white
4
- padding: 10px
5
- font-family: arial, helvetica, sans-serif
6
- font-size: 14px
7
- line-height: 18px
8
- position: fixed
9
- left: 0
10
- bottom: 0
11
- max-width: 100%
12
- box-sizing: border-box
13
- z-index: 99999999
14
-
15
- .up-error-variable
16
- background-color: rgba(0, 0, 0, 0.3)
17
- padding: 1px 3px
18
- border-radius: 2px
19
- font-weight: normal
20
- max-width: 100px
21
- overflow: hidden