ende 0.1.10 → 0.1.11

Sign up to get free protection for your applications and to get access to all the features.
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