tres 0.1.6 → 0.1.7

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 (3) hide show
  1. data/VERSION +1 -1
  2. data/javascripts/tres.coffee +20 -4
  3. metadata +1 -1
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.6
1
+ 0.1.7
@@ -21,6 +21,10 @@ defaultTemplate = _.template """
21
21
  """
22
22
  # ---
23
23
 
24
+ # Keep a copy by reference of all screens that were instantiated so we
25
+ # can do things like tearing down the whole app.
26
+ Tres.screens = []
27
+
24
28
  # Tres.Device handles/exposes device events (orientation change, accellerometer,
25
29
  # etc), screen width, and other hardware-related goodies
26
30
  class Device
@@ -60,6 +64,7 @@ class Tres.Screen extends Backbone.View
60
64
 
61
65
  initialize: (options = {}) ->
62
66
  _.extend @, options
67
+ Tres.screens.push @
63
68
 
64
69
  # Returns the title of the screen, which will only exist if there's a
65
70
  # header with a <h1> inside of it
@@ -83,7 +88,14 @@ class Tres.Screen extends Backbone.View
83
88
  return false if @embedded
84
89
  @render()
85
90
  $body.prepend @el
86
- @embedded = true
91
+ @embedded = yes
92
+ @
93
+
94
+ # Destroys the element associated with the screen and flags as
95
+ # not embedded
96
+ teardown: ->
97
+ @$el.remove()
98
+ @embedded = no
87
99
  @
88
100
 
89
101
  # Runs whatever @submit method is declared, with the added bonus of
@@ -244,9 +256,6 @@ class Tres.App
244
256
  constructor: (options = {}) ->
245
257
  _.extend @, options
246
258
 
247
- # All the screens that are currently instanced
248
- screens: []
249
-
250
259
  # Takes a hash to use as a mapping of URLs -> Tres.Screen objects
251
260
  on: (map = {}) ->
252
261
  _.each _.keys(map), (url) =>
@@ -269,6 +278,13 @@ class Tres.App
269
278
  __super.apply Backbone.history, arguments
270
279
  Backbone.history.start options
271
280
 
281
+ # Tears down every screen that was instantiated. Pass a list
282
+ # of arguments for types of screen that you'd like to stay
283
+ # intact
284
+ reboot: ->
285
+ for screen in Tres.screens
286
+ screen.teardown()
287
+
272
288
  # ---
273
289
 
274
290
  # Export to `window`
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tres
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.7
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: