upjs-rails 0.11.1 → 0.12.0

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.
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)