upjs-rails 0.11.1 → 0.12.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +50 -0
  3. data/dist/up-bootstrap.js +9 -17
  4. data/dist/up-bootstrap.min.js +1 -1
  5. data/dist/up.js +384 -458
  6. data/dist/up.min.js +2 -2
  7. data/lib/assets/javascripts/up/boot.js.coffee +2 -2
  8. data/lib/assets/javascripts/up/browser.js.coffee +2 -2
  9. data/lib/assets/javascripts/up/bus.js.coffee +39 -88
  10. data/lib/assets/javascripts/up/flow.js.coffee +25 -33
  11. data/lib/assets/javascripts/up/form.js.coffee +2 -2
  12. data/lib/assets/javascripts/up/history.js.coffee +8 -7
  13. data/lib/assets/javascripts/up/layout.js.coffee +19 -18
  14. data/lib/assets/javascripts/up/link.js.coffee +2 -2
  15. data/lib/assets/javascripts/up/magic.js.coffee +41 -27
  16. data/lib/assets/javascripts/up/modal.js.coffee +74 -57
  17. data/lib/assets/javascripts/up/motion.js.coffee +11 -10
  18. data/lib/assets/javascripts/up/navigation.js.coffee +11 -10
  19. data/lib/assets/javascripts/up/popup.js.coffee +19 -16
  20. data/lib/assets/javascripts/up/proxy.js.coffee +17 -16
  21. data/lib/assets/javascripts/up/tooltip.js.coffee +28 -14
  22. data/lib/assets/javascripts/up/util.js.coffee +14 -22
  23. data/lib/assets/javascripts/up-bootstrap/layout-ext.js.coffee +5 -6
  24. data/lib/assets/javascripts/up-bootstrap/modal-ext.js.coffee +8 -8
  25. data/lib/assets/javascripts/up-bootstrap/navigation-ext.js.coffee +2 -5
  26. data/lib/assets/javascripts/up.js.coffee +0 -1
  27. data/lib/upjs/rails/version.rb +1 -1
  28. data/spec_app/Gemfile.lock +1 -1
  29. data/spec_app/spec/javascripts/up/bus_spec.js.coffee +43 -6
  30. data/spec_app/spec/javascripts/up/flow_spec.js.coffee +1 -1
  31. data/spec_app/spec/javascripts/up/history_spec.js.coffee +3 -3
  32. data/spec_app/spec/javascripts/up/layout_spec.js.coffee +9 -11
  33. data/spec_app/spec/javascripts/up/link_spec.js.coffee +7 -9
  34. data/spec_app/spec/javascripts/up/magic_spec.js.coffee +5 -5
  35. data/spec_app/spec/javascripts/up/modal_spec.js.coffee +8 -10
  36. data/spec_app/spec/javascripts/up/navigation_spec.js.coffee +13 -13
  37. data/spec_app/spec/javascripts/up/popup_spec.js.coffee +1 -5
  38. data/spec_app/spec/javascripts/up/proxy_spec.js.coffee +51 -52
  39. data/spec_app/spec/javascripts/up/tooltip_spec.js.coffee +19 -5
  40. data/spec_app/spec/javascripts/up/util_spec.js.coffee +14 -23
  41. metadata +1 -3
  42. data/lib/assets/javascripts/up/slot.js.coffee +0 -63
  43. data/spec_app/spec/javascripts/up/slot_spec.js.coffee +0 -16
@@ -6,37 +6,37 @@ This modules contains functions to scroll the viewport and reveal contained elem
6
6
 
7
7
  @class up.layout
8
8
  ###
9
- up.layout = (->
9
+ up.layout = (($) ->
10
10
 
11
11
  u = up.util
12
12
 
13
13
  ###*
14
14
  Configures the application layout.
15
15
 
16
- @method up.layout.defaults
17
- @param {Array<String>} [options.viewports]
16
+ @method up.layout.config
17
+ @param {Array<String>} [config.viewports]
18
18
  An array of CSS selectors that find viewports
19
19
  (containers that scroll their contents).
20
- @param {Array<String>} [options.fixedTop]
20
+ @param {Array<String>} [config.fixedTop]
21
21
  An array of CSS selectors that find elements fixed to the
22
22
  top edge of the screen (using `position: fixed`).
23
- @param {Array<String>} [options.fixedBottom]
23
+ @param {Array<String>} [config.fixedBottom]
24
24
  An array of CSS selectors that find elements fixed to the
25
25
  bottom edge of the screen (using `position: fixed`).
26
- @param {Array<String>} [options.anchoredRight]
26
+ @param {Array<String>} [config.anchoredRight]
27
27
  An array of CSS selectors that find elements anchored to the
28
28
  right edge of the screen (using `position: fixed` or `position: absolute`).
29
- @param {Number} [options.duration]
29
+ @param {Number} [config.duration]
30
30
  The duration of the scrolling animation in milliseconds.
31
31
  Setting this to `0` will disable scrolling animations.
32
- @param {String} [options.easing]
32
+ @param {String} [config.easing]
33
33
  The timing function that controls the animation's acceleration.
34
34
  See [W3C documentation](http://www.w3.org/TR/css3-transitions/#transition-timing-function)
35
35
  for a list of pre-defined timing functions.
36
- @param {Number} [options.snap]
36
+ @param {Number} [config.snap]
37
37
  When [revealing](#up.reveal) elements, Up.js will scroll an viewport
38
- to the top when the revealed element is closer to the top than `options.snap`.
39
- @param {Number} [options.substance]
38
+ to the top when the revealed element is closer to the top than `config.snap`.
39
+ @param {Number} [config.substance]
40
40
  A number indicating how many top pixel rows of an element to [reveal](#up.reveal).
41
41
  ###
42
42
  config = u.config
@@ -182,7 +182,7 @@ up.layout = (->
182
182
  - the currently open [modal](/up.modal)
183
183
  - an element with the attribute `[up-viewport]`
184
184
  - the `<body>` element
185
- - an element matching the selector you have configured using `up.viewport.defaults({ viewSelector: 'my-custom-selector' })`
185
+ - an element matching the selector you have configured using `up.viewport.config.viewports.push('my-custom-selector')`
186
186
 
187
187
  \#\#\#\# Fixed elements obstruction the viewport
188
188
 
@@ -192,7 +192,7 @@ up.layout = (->
192
192
  To make `up.aware` of these fixed elements you can either:
193
193
 
194
194
  - give the element an attribute [`up-fixed="top"`](#up-fixed-top) or [`up-fixed="bottom"`](up-fixed-bottom)
195
- - [configure default options](#up.layout.defaults) for `fixedTop` or `fixedBottom`
195
+ - [configure default options](#up.layout.config) for `fixedTop` or `fixedBottom`
196
196
 
197
197
  @method up.reveal
198
198
  @param {String|Element|jQuery} element
@@ -336,7 +336,7 @@ up.layout = (->
336
336
 
337
337
  ###*
338
338
  Saves the top scroll positions of all the
339
- viewports configured in `up.layout.defaults('viewports').
339
+ viewports configured in [`up.layout.config.viewports`](#up.layout.config).
340
340
  The saved scroll positions can be restored by calling
341
341
  [`up.layout.restoreScroll()`](#up.layout.restoreScroll).
342
342
 
@@ -352,7 +352,7 @@ up.layout = (->
352
352
 
353
353
  ###*
354
354
  Restores the top scroll positions of all the
355
- viewports configured in `up.layout.defaults('viewports')`.
355
+ viewports configured in [`up.layout.config.viewports`](#up.layout.config).
356
356
 
357
357
  @method up.layout.restoreScroll
358
358
  @param {jQuery} [options.around]
@@ -458,12 +458,13 @@ up.layout = (->
458
458
  @ujs
459
459
  ###
460
460
 
461
- up.bus.on 'framework:reset', reset
461
+ up.on 'up:framework:reset', reset
462
462
 
463
463
  reveal: reveal
464
464
  scroll: scroll
465
465
  finishScrolling: finishScrolling
466
- defaults: config.update
466
+ config: config
467
+ defaults: -> u.error('up.layout.defaults(...) no longer exists. Set values on he up.layout.config property instead.')
467
468
  viewportOf: viewportOf
468
469
  viewportsWithin: viewportsWithin
469
470
  viewports: viewports
@@ -473,7 +474,7 @@ up.layout = (->
473
474
  anchoredRight: anchoredRight
474
475
  fixedChildren: fixedChildren
475
476
 
476
- )()
477
+ )(jQuery)
477
478
 
478
479
  up.scroll = up.layout.scroll
479
480
  up.reveal = up.layout.reveal
@@ -82,7 +82,7 @@ Read on
82
82
  @class up.link
83
83
  ###
84
84
 
85
- up.link = (->
85
+ up.link = (($) ->
86
86
 
87
87
  u = up.util
88
88
 
@@ -409,7 +409,7 @@ up.link = (->
409
409
  childClicked: childClicked
410
410
  followMethod: followMethod
411
411
 
412
- )()
412
+ )(jQuery)
413
413
 
414
414
  up.visit = up.link.visit
415
415
  up.follow = up.link.follow
@@ -14,7 +14,7 @@ We need to work on this page:
14
14
 
15
15
  @class up.magic
16
16
  ###
17
- up.magic = (->
17
+ up.magic = (($) ->
18
18
 
19
19
  u = up.util
20
20
 
@@ -69,8 +69,10 @@ up.magic = (->
69
69
  @method up.on
70
70
  @param {String} events
71
71
  A space-separated list of event names to bind.
72
- @param {String} selector
73
- The selector an on which the event must be triggered.
72
+ @param {String} [selector]
73
+ The selector of an element on which the event must be triggered.
74
+ Omit the selector to listen to all events with that name, regardless
75
+ of the event target.
74
76
  @param {Function(event, $element, data)} behavior
75
77
  The handler that should be called.
76
78
  The function takes the affected element as the first argument (as a jQuery object).
@@ -80,16 +82,28 @@ up.magic = (->
80
82
  liveDescriptions = []
81
83
  defaultLiveDescriptions = null
82
84
 
83
- live = (events, selector, behavior) ->
85
+ ###*
86
+ # Convert an Up.js style listener (second argument is the event target
87
+ # as a jQuery collection) to a vanilla jQuery listener
88
+ ###
89
+ upListenerToJqueryListener = (upListener) ->
90
+ (event) ->
91
+ $me = event.$element || $(this)
92
+ upListener.apply($me.get(0), [event, $me, data($me)])
93
+
94
+ live = (args...) ->
84
95
  # Silently discard any event handlers that are registered on unsupported browsers
85
96
  return unless up.browser.isSupported()
86
- description = [
87
- events,
88
- selector,
89
- (event) ->
90
- behavior.apply(this, [event, $(this), data(this)])
91
- ]
97
+
98
+ description = u.copy(args)
99
+ lastIndex = description.length - 1
100
+ behavior = description[lastIndex]
101
+ description[lastIndex] = upListenerToJqueryListener(behavior)
102
+
103
+ # Remember the descriptions we registered, so we can
104
+ # clean up after ourselves during a reset
92
105
  liveDescriptions.push(description)
106
+
93
107
  $(document).on(description...)
94
108
 
95
109
  ###*
@@ -326,13 +340,13 @@ up.magic = (->
326
340
  other Up.js methods. You will only need to call this if you
327
341
  manipulate the DOM without going through Up.js.
328
342
 
329
- @method up.ready
330
- @param {String|Element|jQuery} selectorOrFragment
343
+ @method up.hello
344
+ @param {String|Element|jQuery} selectorOrElement
331
345
  ###
332
- ready = (selectorOrFragment) ->
333
- $fragment = $(selectorOrFragment)
334
- up.bus.emit('fragment:ready', $fragment)
335
- $fragment
346
+ hello = (selectorOrElement) ->
347
+ $element = $(selectorOrElement)
348
+ up.bus.emit('up:fragment:inserted', $element: $element)
349
+ $element
336
350
 
337
351
  onEscape = (handler) ->
338
352
  live('keydown', 'body', (event) ->
@@ -340,23 +354,23 @@ up.magic = (->
340
354
  handler(event)
341
355
  )
342
356
 
343
- up.bus.on 'app:ready', (-> ready(document.body))
344
- up.bus.on 'fragment:ready', compile
345
- up.bus.on 'fragment:destroy', destroy
346
- up.bus.on 'framework:ready', snapshot
347
- up.bus.on 'framework:reset', reset
357
+ live 'ready', (-> hello(document.body))
358
+ live 'up:fragment:inserted', (event) -> compile(event.$element)
359
+ live 'up:fragment:destroy', (event) -> destroy(event.$element)
360
+ live 'up:framework:boot', snapshot
361
+ live 'up:framework:reset', reset
348
362
 
349
363
  compiler: compiler
350
364
  on: live
351
- ready: ready
365
+ hello: hello
352
366
  onEscape: onEscape
353
367
  data: data
354
368
 
355
- )()
369
+ )(jQuery)
356
370
 
357
371
  up.compiler = up.magic.compiler
358
372
  up.on = up.magic.on
359
- up.ready = up.magic.ready
360
- up.awaken = (args...) ->
361
- up.util.warn("up.awaken has been renamed to up.compiler and will be removed in a future version")
362
- up.compiler(args...)
373
+ up.hello = up.magic.hello
374
+
375
+ up.ready = -> up.util.error('up.ready no longer exists. Please use up.hello instead.')
376
+ up.awaken = -> up.util.error('up.awaken no longer exists. Please use up.compiler instead.')
@@ -9,30 +9,30 @@ For small popup overlays ("dropdowns") see [up.popup](/up.popup) instead.
9
9
 
10
10
  @class up.modal
11
11
  ###
12
- up.modal = (->
12
+ up.modal = (($) ->
13
13
 
14
14
  u = up.util
15
15
 
16
16
  ###*
17
17
  Sets default options for future modals.
18
18
 
19
- @method up.modal.defaults
20
- @param {Number} [options.width]
19
+ @method up.modal.config
20
+ @param {Number} [config.width]
21
21
  The width of the dialog as a CSS value like `'400px'` or `50%`.
22
22
 
23
23
  Defaults to `undefined`, meaning that the dialog will grow to fit its contents
24
- until it reaches `options.maxWidth`. Leaving this as `undefined` will
24
+ until it reaches `config.maxWidth`. Leaving this as `undefined` will
25
25
  also allow you to control the width using CSS on `.up-modal-dialog´.
26
- @param {Number} [options.maxWidth]
26
+ @param {Number} [config.maxWidth]
27
27
  The width of the dialog as a CSS value like `'400px'` or `50%`.
28
28
  You can set this to `undefined` to make the dialog fit its contents.
29
29
  Be aware however, that e.g. Bootstrap stretches input elements
30
30
  to `width: 100%`, meaning the dialog will also stretch to the full
31
31
  width of the screen.
32
- @param {Number} [options.height='auto']
32
+ @param {Number} [config.height='auto']
33
33
  The height of the dialog in pixels.
34
34
  Defaults to `undefined`, meaning that the dialog will grow to fit its contents.
35
- @param {String|Function(config)} [options.template]
35
+ @param {String|Function(config)} [config.template]
36
36
  A string containing the HTML structure of the modal.
37
37
  You can supply an alternative template string, but make sure that it
38
38
  defines tag with the classes `up-modal`, `up-modal-dialog` and `up-modal-content`.
@@ -40,12 +40,12 @@ up.modal = (->
40
40
  You can also supply a function that returns a HTML string.
41
41
  The function will be called with the modal options (merged from these defaults
42
42
  and any per-open overrides) whenever a modal opens.
43
- @param {String} [options.closeLabel='X']
43
+ @param {String} [config.closeLabel='X']
44
44
  The label of the button that closes the dialog.
45
- @param {String} [options.openAnimation='fade-in']
45
+ @param {String} [config.openAnimation='fade-in']
46
46
  The animation used to open the modal. The animation will be applied
47
47
  to both the dialog box and the overlay dimming the page.
48
- @param {String} [options.closeAnimation='fade-out']
48
+ @param {String} [config.closeAnimation='fade-out']
49
49
  The animation used to close the modal. The animation will be applied
50
50
  to both the dialog box and the overlay dimming the page.
51
51
  ###
@@ -134,29 +134,27 @@ up.modal = (->
134
134
  unshiftElements.push(unshiftElement)
135
135
 
136
136
  updated = ($modal, animation, animateOptions) ->
137
- up.bus.emit('modal:open')
138
137
  shiftElements()
139
138
  $modal.show()
140
- promise = up.animate($modal, animation, animateOptions)
141
- promise.then -> up.bus.emit('modal:opened')
142
- promise
139
+ deferred = up.animate($modal, animation, animateOptions)
140
+ deferred.then -> up.bus.emit('up:modal:opened')
143
141
 
144
142
  ###*
145
143
  Opens the given link's destination in a modal overlay:
146
144
 
147
145
  var $link = $('...');
148
- up.modal.open($link);
146
+ up.modal.follow($link);
149
147
 
150
148
  Any option attributes for [`a[up-modal]`](#a.up-modal) will be honored.
151
149
 
152
150
  \#\#\#\# Events
153
151
 
154
- - Emits an [event](/up.bus) `modal:open` when the modal
152
+ - Emits an [event](/up.bus) `up:modal:open` when the modal
155
153
  is starting to open.
156
- - Emits an [event](/up.bus) `modal:opened` when the opening
154
+ - Emits an [event](/up.bus) `up:modal:opened` when the opening
157
155
  animation has finished and the modal contents are fully visible.
158
156
 
159
- @method up.modal.open
157
+ @method up.modal.follow
160
158
  @param {Element|jQuery|String} elementOrSelector
161
159
  The link to follow.
162
160
  @param {String} [options.target]
@@ -183,19 +181,24 @@ up.modal = (->
183
181
  @return {Promise}
184
182
  A promise that will be resolved when the modal has finished loading.
185
183
  ###
184
+ follow = ($link, options) ->
185
+ options = u.options(options)
186
+ options.$link = $link
187
+ open(options)
188
+
186
189
 
187
190
  ###*
188
191
  Opens a modal for the given URL.
189
192
 
190
193
  Example:
191
194
 
192
- up.modal.open({ url: '/foo', target: '.list' })
195
+ up.modal.visit('/foo', { target: '.list' })
193
196
 
194
197
  This will request `/foo`, extract the `.list` selector from the response
195
198
  and open the selected container in a modal dialog.
196
199
 
197
- @method up.modal.open
198
- @param {String} options.url
200
+ @method up.modal.visit
201
+ @param {String} url
199
202
  The URL to load.
200
203
  @param {String} options.target
201
204
  The CSS selector to extract from the response.
@@ -203,15 +206,18 @@ up.modal = (->
203
206
  @param {Object} options
204
207
  See options for [previous `up.modal.open` variant](#up.modal.open).
205
208
  ###
206
- open = (args...) ->
207
- if u.isObject(args[0]) && !u.isElement(args[0]) && !u.isJQuery(args[0])
208
- $link = u.nullJquery()
209
- options = args[0]
210
- else
211
- $link = $(args[0])
212
- options = args[1]
209
+ visit = (url, options) ->
210
+ options = u.options(options)
211
+ options.url = url
212
+ open(options)
213
+
213
214
 
215
+ ###*
216
+ @private
217
+ ###
218
+ open = (options) ->
214
219
  options = u.options(options)
220
+ $link = u.option(options.$link, u.nullJquery())
215
221
  url = u.option(options.url, $link.attr('up-href'), $link.attr('href'))
216
222
  selector = u.option(options.target, $link.attr('up-modal'), 'body')
217
223
  width = u.option(options.width, $link.attr('up-width'), config.width)
@@ -226,17 +232,21 @@ up.modal = (->
226
232
  animateOptions = up.motion.animateOptions(options, $link)
227
233
 
228
234
  close()
229
- $modal = createHiddenModal
230
- selector: selector
231
- width: width
232
- maxWidth: maxWidth
233
- height: height
234
- sticky: sticky
235
-
236
- up.replace(selector, url,
237
- history: history
238
- insert: -> updated($modal, animation, animateOptions)
239
- )
235
+
236
+ if up.bus.nobodyPrevents('up:modal:open', url: url)
237
+ $modal = createHiddenModal
238
+ selector: selector
239
+ width: width
240
+ maxWidth: maxWidth
241
+ height: height
242
+ sticky: sticky
243
+ up.replace selector, url,
244
+ history: history
245
+ insert: -> updated($modal, animation, animateOptions)
246
+ else
247
+ # Although someone prevented the destruction, keep a uniform API for
248
+ # callers by returning a Deferred that will never be resolved.
249
+ $.Deferred()
240
250
 
241
251
  ###*
242
252
  Returns the source URL for the fragment displayed in the current modal overlay,
@@ -267,18 +277,22 @@ up.modal = (->
267
277
  close = (options) ->
268
278
  $modal = $('.up-modal')
269
279
  if $modal.length
270
- options = u.options(options,
271
- animation: config.closeAnimation,
272
- url: $modal.attr('up-previous-url')
273
- title: $modal.attr('up-previous-title')
274
- )
275
- currentSource = undefined
276
- up.bus.emit('modal:close')
277
- deferred = up.destroy($modal, options)
278
- deferred.then ->
279
- unshifter() while unshifter = unshiftElements.pop()
280
- up.bus.emit('modal:closed')
281
- deferred
280
+ if up.bus.nobodyPrevents('up:modal:close', $element: $modal)
281
+ options = u.options(options,
282
+ animation: config.closeAnimation,
283
+ url: $modal.attr('up-previous-url')
284
+ title: $modal.attr('up-previous-title')
285
+ )
286
+ currentSource = undefined
287
+ deferred = up.destroy($modal, options)
288
+ deferred.then ->
289
+ unshifter() while unshifter = unshiftElements.pop()
290
+ up.bus.emit('up:modal:closed')
291
+ deferred
292
+ else
293
+ # Although someone prevented the destruction, keep a uniform API for
294
+ # callers by returning a Deferred that will never be resolved.
295
+ $.Deferred()
282
296
  else
283
297
  u.resolvedDeferred()
284
298
 
@@ -339,7 +353,7 @@ up.modal = (->
339
353
  </div>
340
354
 
341
355
  If you want to change the design beyond CSS, you can
342
- configure Up.js to [use a different HTML structure](#up.modal.defaults).
356
+ configure Up.js to [use a different HTML structure](#up.modal.config).
343
357
 
344
358
 
345
359
  \#\#\#\# Closing behavior
@@ -379,7 +393,7 @@ up.modal = (->
379
393
  close()
380
394
  )
381
395
 
382
- up.bus.on('fragment:ready', ($fragment) ->
396
+ up.on('up:fragment:inserted', (event, $fragment) ->
383
397
  if contains($fragment)
384
398
  if newSource = $fragment.attr('up-source')
385
399
  currentSource = newSource
@@ -407,12 +421,15 @@ up.modal = (->
407
421
  )
408
422
 
409
423
  # The framework is reset between tests
410
- up.bus.on 'framework:reset', reset
424
+ up.on 'up:framework:reset', reset
411
425
 
412
- open: open
426
+ visit: visit
427
+ follow: follow
428
+ open: -> up.error('up.modal.open no longer exists. Please use either up.modal.follow or up.modal.visit.')
413
429
  close: close
414
430
  source: source
415
- defaults: config.update
431
+ config: config
432
+ defaults: -> u.error('up.modal.defaults(...) no longer exists. Set values on he up.modal.config property instead.')
416
433
  contains: contains
417
434
 
418
- )()
435
+ )(jQuery)
@@ -25,7 +25,7 @@ We need to work on this page:
25
25
 
26
26
  @class up.motion
27
27
  ###
28
- up.motion = (->
28
+ up.motion = (($) ->
29
29
 
30
30
  u = up.util
31
31
 
@@ -37,10 +37,10 @@ up.motion = (->
37
37
  ###*
38
38
  Sets default options for animations and transitions.
39
39
 
40
- @method up.motion.defaults
41
- @param {Number} [options.duration=300]
42
- @param {Number} [options.delay=0]
43
- @param {String} [options.easing='ease']
40
+ @method up.motion.config
41
+ @param {Number} [config.duration=300]
42
+ @param {Number} [config.delay=0]
43
+ @param {String} [config.easing='ease']
44
44
  ###
45
45
  config = u.config
46
46
  duration: 300
@@ -151,7 +151,7 @@ up.motion = (->
151
151
  options
152
152
 
153
153
  findAnimation = (name) ->
154
- animations[name] or u.error("Unknown animation %o", animation)
154
+ animations[name] or u.error("Unknown animation %o", name)
155
155
 
156
156
  GHOSTING_PROMISE_KEY = 'up-ghosting-promise'
157
157
 
@@ -577,8 +577,8 @@ up.motion = (->
577
577
  )
578
578
  )
579
579
 
580
- up.bus.on 'framework:ready', snapshot
581
- up.bus.on 'framework:reset', reset
580
+ up.on 'up:framework:boot', snapshot
581
+ up.on 'up:framework:reset', reset
582
582
 
583
583
  morph: morph
584
584
  animate: animate
@@ -586,12 +586,13 @@ up.motion = (->
586
586
  finish: finish
587
587
  transition: transition
588
588
  animation: animation
589
- defaults: config.update
589
+ config: config
590
+ defaults: -> u.error('up.motion.defaults(...) no longer exists. Set values on he up.motion.config property instead.')
590
591
  none: none
591
592
  when: resolvableWhen
592
593
  prependCopy: prependCopy
593
594
 
594
- )()
595
+ )(jQuery)
595
596
 
596
597
  up.transition = up.motion.transition
597
598
  up.animation = up.motion.animation
@@ -11,16 +11,16 @@ by providing instant feedback for user interactions.
11
11
 
12
12
  @class up.navigation
13
13
  ###
14
- up.navigation = (->
14
+ up.navigation = (($) ->
15
15
 
16
16
  u = up.util
17
17
 
18
18
  ###*
19
19
  Sets default options for this module.
20
20
 
21
- @method up.navigation.defaults
22
- @param {Number} [options.currentClass]
23
- The class to set on [links that point the current location](#up-current).
21
+ @method up.navigation.config
22
+ @param {Number} [config.currentClasses]
23
+ An array of classes to set on [links that point the current location](#up-current).
24
24
  ###
25
25
  config = u.config
26
26
  currentClasses: ['up-current']
@@ -189,17 +189,17 @@ up.navigation = (->
189
189
  @method [up-current]
190
190
  @ujs
191
191
  ###
192
- up.bus.on 'fragment:ready', ->
192
+ up.on 'up:fragment:inserted', ->
193
193
  # If a new fragment is inserted, it's likely to be the result
194
194
  # of the active action. So we can remove the active marker.
195
195
  unmarkActive()
196
- # When a fragment is ready it might either have brought a location change
196
+ # When a fragment is inserted it might either have brought a location change
197
197
  # with it, or it might have opened a modal / popup which we consider
198
198
  # to be secondary location sources (the primary being the browser's
199
199
  # location bar).
200
200
  locationChanged()
201
201
 
202
- up.bus.on 'fragment:destroy', ($fragment) ->
202
+ up.on 'up:fragment:destroy', (event, $fragment) ->
203
203
  # If the destroyed fragment is a modal or popup container
204
204
  # this changes which URLs we consider currents.
205
205
  # Also modals and popups restore their previous history
@@ -208,8 +208,9 @@ up.navigation = (->
208
208
  locationChanged()
209
209
 
210
210
  # The framework is reset between tests
211
- up.bus.on 'framework:reset', reset
211
+ up.on 'up:framework:reset', reset
212
212
 
213
- defaults: config.update
213
+ config: config
214
+ defaults: -> u.error('up.navigation.defaults(...) no longer exists. Set values on he up.navigation.config property instead.')
214
215
 
215
- )()
216
+ )(jQuery)