ende 0.1.10 → 0.1.11

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fb3f9a331bae0aaa9512e91c8c9952b93749bf41
4
- data.tar.gz: b93430fc455f3eb4a5bd21b538d333c93afb9560
3
+ metadata.gz: 9c55828e653402799f49ba9f2a6871858db65cac
4
+ data.tar.gz: 95e66a157139ba4b826546a436e36b1d53061ed0
5
5
  SHA512:
6
- metadata.gz: d7cc092ba680f1b34e963d389e5f9d103221a3fcc19ba11bd8e694b1d9be23c327180b35c414ce22ff8960ae17f0dec7b97d56be92ca2251ee80fc2cf040ebee
7
- data.tar.gz: 58f634421569ebf55ee95182755b4db381a8912bda2e338eb3e31d2e36ccaccec658e27e860b0fffaa9b329a6bc7e742c7e070de245f0ee33c258ed773bfdf60
6
+ metadata.gz: e1634ba748d012ec0ab7fa30d28049e42b34d7ece94dada646c72ce8c0239c97db5934f63aeff155d177a931deba14b047860a9bd5a8a5a47a6e4d31e1b329e4
7
+ data.tar.gz: 0fce80e25a4365288c5f7721187f116c34fb3ef12b3616d66f7f6c64ca70c3ad14c214ca533e35f01ea94f2cabaff6dd231a81a3f46032845bb7c16559b9c00c
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- define ['./states/index', './presenters/default', '/assets/jquery/inview.js'], (templates, presenter) ->
3
+ define ['./states/index', './presenters/default', '/assets/jquery/inview'], (templates, presenter) ->
4
4
 
5
5
  observable = require('indefinido-observable').mixin
6
6
 
@@ -14,7 +14,7 @@ define ['./states/index', './presenters/default', '/assets/jquery/inview.js'], (
14
14
  identify: (index, element) ->
15
15
  element = $ element
16
16
  identity = _.uniqueId()
17
- element.data('boo', identity)
17
+ element.data 'boo', identity
18
18
  boo.cache[identity] = element
19
19
 
20
20
  shame: (element) ->
@@ -30,7 +30,6 @@ define ['./states/index', './presenters/default', '/assets/jquery/inview.js'], (
30
30
 
31
31
  boo.cache[identity] = ghost
32
32
 
33
-
34
33
  element.css
35
34
  width: element.width()
36
35
  height: element.height()
@@ -52,12 +51,13 @@ define ['./states/index', './presenters/default', '/assets/jquery/inview.js'], (
52
51
  viewed: (event, in_view, horizontal, vertical) ->
53
52
  boo[if in_view then 'pride' else 'shame'] event.target
54
53
 
55
- version: '0.1.2'
54
+ version: '0.1.3'
56
55
 
57
56
  # TODO better separation of concerns
58
57
  # TODO Current remote page that is beign displayed
59
58
  options:
60
59
  resource: 'default'
60
+ records: null
61
61
  # page:
62
62
  # current: 1
63
63
  # per : 5
@@ -73,7 +73,7 @@ define ['./states/index', './presenters/default', '/assets/jquery/inview.js'], (
73
73
 
74
74
  # We extend presentation.selected just to assign all values of the item model
75
75
  # TODO call presenter to do this job
76
- @sandbox.util.extend @presentation.selected, item.model
76
+ @sandbox.util.extend @presentation.selected , item.model
77
77
  @sandbox.emit "viewer.#{@identifier}.selected", item.model
78
78
 
79
79
  scope_to: (scope, child_scope) ->
@@ -97,27 +97,26 @@ define ['./states/index', './presenters/default', '/assets/jquery/inview.js'], (
97
97
 
98
98
  viewer = @presentation.viewer
99
99
  viewer.items = []
100
- presented_ids = []
101
-
102
- # TODO generalise this filtering option
103
- presented = #for item in selected
104
- # if @scope?.scope.data.by_type_id
105
- # querier = item.models.by_type_id.apply item.models, @scope.scope.data.by_type_id
106
- # else
107
- # querier = item.models
108
100
 
109
- # TODO make scope.all method use scope too!
110
- @scope.fetch null, (records) ->
111
- _.map records, @ # TODO make scope.all method use scope too!
101
+ # Generalize this filtering option
102
+ # TODO make scope.all method use scope too, and replace @scope.fetch by it
103
+ presented = @scope.fetch null, (records) ->
104
+ records = _.map records, @, @
112
105
 
113
- for record in records
114
- viewer.items.push record if presented_ids.indexOf(record._id) == -1
106
+ # TODO implement Array.concat ou Array.merge in observer, and
107
+ # use it here instead of pushing each record
108
+ viewer.items.push record for record in records
115
109
 
116
- presented_ids = _.union presented_ids, _.pluck(records, '_id')
117
110
 
118
- $.when(presented...).then =>
119
- boo.initialize @$el.find '.results .items'
120
- presented_ids = []
111
+ presented.then =>
112
+ if viewer.items.length
113
+ boo.initialize @$el.find '.results .items'
114
+ @$el.addClass 'filled'
115
+ @$el.removeClass 'empty'
116
+ else
117
+ # TODO implement state support for viewer widget
118
+ @$el.addClass 'empty'
119
+ @$el.removeClass 'filled'
121
120
 
122
121
  if @load?
123
122
  @load.stop()
@@ -125,16 +124,28 @@ define ['./states/index', './presenters/default', '/assets/jquery/inview.js'], (
125
124
 
126
125
 
127
126
  populate: (handlers) ->
127
+ sandbox = @sandbox
128
+
129
+ @load = @sandbox.ui.loader @results
130
+
128
131
  # Initialize dependencies
129
132
  @scope.all (records) =>
133
+
130
134
  @load.stop()
131
135
 
136
+ # TODO do not fetch for records instead of just rendering an
137
+ # empty viewer
138
+ records = @options.records if @options.records?
139
+
132
140
  @presentation = @presenter records
133
141
 
134
142
  @html templates[@options.resource]
135
- boo.initialize @$el.find '.results .items'
136
143
 
137
- sandbox = @sandbox
144
+ if records.length
145
+ boo.initialize @$el.find '.results .items'
146
+ @$el.addClass 'filled'
147
+ else
148
+ @$el.addClass 'empty'
138
149
 
139
150
  # TODO move binders to application
140
151
  @bind @presentation,
@@ -191,9 +202,6 @@ define ['./states/index', './presenters/default', '/assets/jquery/inview.js'], (
191
202
  @$results = @$el.find '.results .items'
192
203
 
193
204
  # Fetch default data
194
- @load = @sandbox.ui.loader @results
195
- # TODO better scoping support by viewer
196
-
197
205
  @populate handlers
198
206
 
199
207
  @sandbox.logger.log "initialized!"
@@ -1,4 +1,6 @@
1
1
  'use strict'
2
+
3
+ # TODO implement default viewer presenteer
2
4
  define () ->
3
5
 
4
6
  observable = require('observable').mixin
@@ -6,7 +8,6 @@ define () ->
6
8
  self = null
7
9
  view = null
8
10
 
9
-
10
11
  normalizer =
11
12
  normalize: (model) ->
12
13
  observable extend
@@ -32,8 +33,6 @@ define () ->
32
33
  drawing.width = (parseInt(drawing.width ) / 4) + 'px'
33
34
  drawing.height = (parseInt(drawing.height) / 4) + 'px'
34
35
 
35
-
36
-
37
36
  self = (items) ->
38
37
 
39
38
  # TODO create view_model
data/lib/ende/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Ende
2
- VERSION = "0.1.10"
2
+ VERSION = "0.1.11"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ende
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.10
4
+ version: 0.1.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Heitor Salazar
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-10-30 00:00:00.000000000 Z
11
+ date: 2013-10-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -101,7 +101,7 @@ files:
101
101
  - lib/assets/javascripts/widgets/support/main.js.coffee
102
102
  - lib/assets/javascripts/widgets/tray/main.js.coffee
103
103
  - lib/assets/javascripts/widgets/viewer/main.js.coffee
104
- - lib/assets/javascripts/widgets/viewer/presenter.js.coffee
104
+ - lib/assets/javascripts/widgets/viewer/presenters/default.js.coffee
105
105
  - lib/assets/javascripts/widgets/viewer/states/default.html
106
106
  - lib/assets/javascripts/widgets/viewer/states/index.js.coffee
107
107
  - lib/assets/stylesheets/application/modules/authenticator.css.styl