upjs-rails 0.12.4 → 0.12.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -36,8 +36,7 @@ up.tooltip = (($) ->
36
36
  ###*
37
37
  Sets default options for future tooltips.
38
38
 
39
- @method up.tooltip.config
40
- @property
39
+ @property up.tooltip.config
41
40
  @param {String} [config.position]
42
41
  The default position of tooltips relative to the element.
43
42
  Can be either `"top"` or `"bottom"`.
@@ -85,7 +84,7 @@ up.tooltip = (($) ->
85
84
  html: 'Enter multiple words or phrases'
86
85
  });
87
86
 
88
- @method up.tooltip.attach
87
+ @function up.tooltip.attach
89
88
  @param {Element|jQuery|String} elementOrSelector
90
89
  @param {String} [options.html]
91
90
  The HTML to display in the tooltip.
@@ -110,7 +109,7 @@ up.tooltip = (($) ->
110
109
  Closes a currently shown tooltip.
111
110
  Does nothing if no tooltip is currently shown.
112
111
 
113
- @method up.tooltip.close
112
+ @function up.tooltip.close
114
113
  @param {Object} options
115
114
  See options for [`up.animate`](/up.animate).
116
115
  ###
@@ -131,7 +130,7 @@ up.tooltip = (($) ->
131
130
 
132
131
  <a href="/decks" up-tooltip="Show all decks" up-position="bottom">Decks</a>
133
132
 
134
- @method [up-tooltip]
133
+ @selector [up-tooltip]
135
134
  @param {String} [up-animation]
136
135
  The animation used to open the tooltip.
137
136
  Defaults to [`up.tooltip.config.openAnimation`](/up.tooltip.config).
@@ -139,7 +138,6 @@ up.tooltip = (($) ->
139
138
  The default position of tooltips relative to the element.
140
139
  Can be either `"top"` or `"bottom"`.
141
140
  Defaults to [`up.tooltip.config.position`](/up.tooltip.config).
142
- @ujs
143
141
  ###
144
142
 
145
143
  ###*
@@ -147,8 +145,7 @@ up.tooltip = (($) ->
147
145
 
148
146
  <a href="/decks" up-tooltip="Show &lt;b&gt;all&lt;/b&gt; decks">Decks</a>
149
147
 
150
- @method [up-tooltip-html]
151
- @ujs
148
+ @selector [up-tooltip-html]
152
149
  ###
153
150
  up.compiler('[up-tooltip], [up-tooltip-html]', ($link) ->
154
151
  # Don't register these events on document since *every*
@@ -32,7 +32,7 @@ up.util = (($) ->
32
32
  $.ajax(request)
33
33
 
34
34
  ###*
35
- @method up.util.isStandardPort
35
+ @function up.util.isStandardPort
36
36
  @private
37
37
  ###
38
38
  isStandardPort = (protocol, port) ->
@@ -44,22 +44,17 @@ up.util = (($) ->
44
44
 
45
45
  By default hashes are ignored, search queries are included.
46
46
 
47
- @method up.util.normalizeUrl
47
+ @function up.util.normalizeUrl
48
48
  @param {Boolean} [options.hash=false]
49
+ Whether to include an `#hash` anchor in the normalized URL
49
50
  @param {Boolean} [options.search=true]
51
+ Whether to include a `?query` string in the normalized URL
52
+ @param {Boolean} [options.stripTrailingSlash=false]
53
+ Whether to strip a trailing slash from the pathname
50
54
  @protected
51
55
  ###
52
56
  normalizeUrl = (urlOrAnchor, options) ->
53
- anchor = null
54
- if isString(urlOrAnchor)
55
- anchor = $('<a>').attr(href: urlOrAnchor).get(0)
56
- # In IE11 the #hostname and #port properties of such a link are empty
57
- # strings. However, we can fix this by assigning the anchor its own
58
- # href because computer:
59
- # https://gist.github.com/jlong/2428561#comment-1461205
60
- anchor.href = anchor.href if isBlank(anchor.hostname)
61
- else
62
- anchor = unJquery(urlOrAnchor)
57
+ anchor = parseUrl(urlOrAnchor)
63
58
  normalized = anchor.protocol + "//" + anchor.hostname
64
59
  normalized += ":#{anchor.port}" unless isStandardPort(anchor.protocol, anchor.port)
65
60
  pathname = anchor.pathname
@@ -74,7 +69,24 @@ up.util = (($) ->
74
69
  normalized
75
70
 
76
71
  ###*
77
- @method up.util.normalizeMethod
72
+ @function up.util.parseUrl
73
+ @private
74
+ ###
75
+ parseUrl = (urlOrAnchor) ->
76
+ anchor = null
77
+ if isString(urlOrAnchor)
78
+ anchor = $('<a>').attr(href: urlOrAnchor).get(0)
79
+ # In IE11 the #hostname and #port properties of such a link are empty
80
+ # strings. However, we can fix this by assigning the anchor its own
81
+ # href because computer:
82
+ # https://gist.github.com/jlong/2428561#comment-1461205
83
+ anchor.href = anchor.href if isBlank(anchor.hostname)
84
+ else
85
+ anchor = unJquery(urlOrAnchor)
86
+ anchor
87
+
88
+ ###*
89
+ @function up.util.normalizeMethod
78
90
  @protected
79
91
  ###
80
92
  normalizeMethod = (method) ->
@@ -115,7 +127,7 @@ up.util = (($) ->
115
127
  element
116
128
 
117
129
  ###*
118
- @method up.debug
130
+ @function up.debug
119
131
  @protected
120
132
  ###
121
133
  debug = (message, args...) ->
@@ -123,7 +135,7 @@ up.util = (($) ->
123
135
  up.browser.puts('debug', message, args...)
124
136
 
125
137
  ###*
126
- @method up.warn
138
+ @function up.warn
127
139
  @protected
128
140
  ###
129
141
  warn = (message, args...) ->
@@ -142,7 +154,7 @@ up.util = (($) ->
142
154
  up.error('Division by zero')
143
155
  up.error('Unexpected result %o', result)
144
156
 
145
- @method up.error
157
+ @function up.error
146
158
  ###
147
159
  error = (args...) ->
148
160
  args[0] = "[UP] #{args[0]}"
@@ -349,7 +361,7 @@ up.util = (($) ->
349
361
  In that case you cannot change the sources with a `||` operator
350
362
  (since that doesn't short-circuit at `false`).
351
363
 
352
- @method up.util.option
364
+ @function up.util.option
353
365
  @param {Array} args...
354
366
  ###
355
367
  option = (args...) ->
@@ -429,7 +441,7 @@ up.util = (($) ->
429
441
  Modifies the given function so it only runs once.
430
442
  Subsequent calls will return the previous return value.
431
443
 
432
- @method up.util.once
444
+ @function up.util.once
433
445
  @private
434
446
  ###
435
447
  once = (fun) ->
@@ -442,7 +454,7 @@ up.util = (($) ->
442
454
  ###*
443
455
  # Temporarily sets the CSS for the given element.
444
456
  #
445
- # @method up.util.temporaryCss
457
+ # @function up.util.temporaryCss
446
458
  # @param {jQuery} $element
447
459
  # @param {Object} css
448
460
  # @param {Function} [block]
@@ -483,7 +495,7 @@ up.util = (($) ->
483
495
  To improve performance, the element will be forced into compositing for
484
496
  the duration of the animation.
485
497
 
486
- @method up.util.cssAnimate
498
+ @function up.util.cssAnimate
487
499
  @param {Element|jQuery|String} elementOrSelector
488
500
  The element to animate.
489
501
  @param {Object} lastFrame
@@ -544,7 +556,7 @@ up.util = (($) ->
544
556
 
545
557
  Also see [`up.motion.finish`](/up.motion.finish).
546
558
 
547
- @method up.util.finishCssAnimate
559
+ @function up.util.finishCssAnimate
548
560
  @protected
549
561
  @param {Element|jQuery|String} elementOrSelector
550
562
  ###
@@ -655,6 +667,9 @@ up.util = (($) ->
655
667
  resolvedPromise = ->
656
668
  resolvedDeferred().promise()
657
669
 
670
+ unresolvablePromise = ->
671
+ $.Deferred().promise()
672
+
658
673
  nullJquery = ->
659
674
  is: -> false
660
675
  attr: ->
@@ -734,7 +749,7 @@ up.util = (($) ->
734
749
  obj
735
750
 
736
751
  ###*
737
- @method up.util.cache
752
+ @function up.util.cache
738
753
  @param {Number|Function} [config.size]
739
754
  Maximum number of cache entries.
740
755
  Set to `undefined` to not limit the cache size.
@@ -899,6 +914,7 @@ up.util = (($) ->
899
914
  fixedToAbsolute: fixedToAbsolute
900
915
  presentAttr: presentAttr
901
916
  createElement: createElement
917
+ parseUrl: parseUrl
902
918
  normalizeUrl: normalizeUrl
903
919
  normalizeMethod: normalizeMethod
904
920
  createElementFromHtml: createElementFromHtml
@@ -966,6 +982,7 @@ up.util = (($) ->
966
982
  clientSize: clientSize
967
983
  only: only
968
984
  trim: trim
985
+ unresolvablePromise: unresolvablePromise
969
986
  resolvedPromise: resolvedPromise
970
987
  resolvedDeferred: resolvedDeferred
971
988
  resolvableWhen: resolvableWhen
@@ -1,5 +1,5 @@
1
1
  module Upjs
2
2
  module Rails
3
- VERSION = '0.12.4'
3
+ VERSION = '0.12.5'
4
4
  end
5
5
  end
@@ -161,6 +161,36 @@ describe 'up.flow', ->
161
161
  expect(@revealedHTML).toContain('new-middle')
162
162
  done()
163
163
 
164
+ describe 'when there is an anchor #hash in the URL', ->
165
+
166
+ it 'reveals a child with the ID of that #hash', (done) ->
167
+ @request = up.replace('.middle', '/path#three', reveal: true)
168
+ @responseText =
169
+ """
170
+ <div class="middle">
171
+ <div id="one">one</div>
172
+ <div id="two">two</div>
173
+ <div id="three">three</div>
174
+ </div>
175
+ """
176
+ @respond()
177
+ @request.then =>
178
+ expect(@revealedHTML).toEqual('<div id="three">three</div>')
179
+ done()
180
+
181
+ it "reveals the entire element if it has no child with the ID of that #hash", (done) ->
182
+ @request = up.replace('.middle', '/path#four', reveal: true)
183
+ @responseText =
184
+ """
185
+ <div class="middle">
186
+ new-middle
187
+ </div>
188
+ """
189
+ @respond()
190
+ @request.then =>
191
+ expect(@revealedHTML).toContain('new-middle')
192
+ done()
193
+
164
194
  it 'reveals a new element that is being appended', (done) ->
165
195
  @request = up.replace('.middle:after', '/path', reveal: true)
166
196
  @respond()
@@ -135,6 +135,12 @@ describe 'up.link', ->
135
135
 
136
136
  expect($viewport.scrollTop()).toEqual(65)
137
137
 
138
+ # describe "when the browser is already on the link's destination", ->
139
+ #
140
+ # it "doesn't make a request and reveals the target container"
141
+ #
142
+ # it "doesn't make a request and reveals the target of a #hash in the URL"
143
+
138
144
  else
139
145
 
140
146
  it 'follows the given link', ->
@@ -106,7 +106,7 @@ describe 'up.proxy', ->
106
106
  beforeEach ->
107
107
  up.proxy.config.busyDelay = 0
108
108
  @events = []
109
- u.each ['up:proxy:load', 'up:proxy:receive', 'up:proxy:busy', 'up:proxy:idle'], (eventName) =>
109
+ u.each ['up:proxy:load', 'up:proxy:received', 'up:proxy:busy', 'up:proxy:idle'], (eventName) =>
110
110
  up.on eventName, =>
111
111
  @events.push eventName
112
112
 
@@ -136,7 +136,7 @@ describe 'up.proxy', ->
136
136
  'up:proxy:load',
137
137
  'up:proxy:busy',
138
138
  'up:proxy:load',
139
- 'up:proxy:receive'
139
+ 'up:proxy:received'
140
140
  ])
141
141
 
142
142
  jasmine.Ajax.requests.at(1).respondWith
@@ -148,8 +148,8 @@ describe 'up.proxy', ->
148
148
  'up:proxy:load',
149
149
  'up:proxy:busy',
150
150
  'up:proxy:load',
151
- 'up:proxy:receive',
152
- 'up:proxy:receive',
151
+ 'up:proxy:received',
152
+ 'up:proxy:received',
153
153
  'up:proxy:idle'
154
154
  ])
155
155
 
@@ -180,7 +180,7 @@ describe 'up.proxy', ->
180
180
  expect(@events).toEqual([
181
181
  'up:proxy:load',
182
182
  'up:proxy:busy',
183
- 'up:proxy:receive',
183
+ 'up:proxy:received',
184
184
  'up:proxy:idle'
185
185
  ])
186
186
  expect(up.proxy.busy()).toBe(false)
@@ -213,7 +213,7 @@ describe 'up.proxy', ->
213
213
  expect(@events).toEqual([
214
214
  'up:proxy:load',
215
215
  'up:proxy:busy',
216
- 'up:proxy:receive',
216
+ 'up:proxy:received',
217
217
  'up:proxy:idle'
218
218
  ])
219
219
 
@@ -237,7 +237,7 @@ describe 'up.proxy', ->
237
237
 
238
238
  expect(@events).toEqual([
239
239
  'up:proxy:load',
240
- 'up:proxy:receive'
240
+ 'up:proxy:received'
241
241
  ])
242
242
 
243
243
  it 'emits up:proxy:idle if a request returned but failed', ->
@@ -257,7 +257,7 @@ describe 'up.proxy', ->
257
257
  expect(@events).toEqual([
258
258
  'up:proxy:load',
259
259
  'up:proxy:busy',
260
- 'up:proxy:receive',
260
+ 'up:proxy:received',
261
261
  'up:proxy:idle'
262
262
  ])
263
263
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: upjs-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.4
4
+ version: 0.12.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Henning Koch
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-11-11 00:00:00.000000000 Z
11
+ date: 2015-11-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -92,7 +92,6 @@ files:
92
92
  - lib/assets/javascripts/up-bootstrap/modal-ext.js.coffee
93
93
  - lib/assets/javascripts/up-bootstrap/navigation-ext.js.coffee
94
94
  - lib/assets/javascripts/up.js.coffee
95
- - lib/assets/javascripts/up/boot.js.coffee
96
95
  - lib/assets/javascripts/up/browser.js.coffee
97
96
  - lib/assets/javascripts/up/bus.js.coffee
98
97
  - lib/assets/javascripts/up/flow.js.coffee
@@ -1,3 +0,0 @@
1
- if up.browser.isSupported()
2
- up.emit('up:framework:boot')
3
- up.emit('up:framework:booted')