diff --git a/app/controllers/flash.coffee b/app/components/flash-display.coffee similarity index 78% rename from app/controllers/flash.coffee rename to app/components/flash-display.coffee index 5d22d884..dcf379a0 100644 --- a/app/controllers/flash.coffee +++ b/app/components/flash-display.coffee @@ -1,10 +1,13 @@ `import Ember from 'ember'` `import LimitedArray from 'travis/utils/limited-array'` -`import Broadcast from 'travis/models/broadcast'` -Controller = Ember.Controller.extend - needs: ['currentUser'] - currentUserBinding: 'controllers.currentUser.model' +FlashDisplayComponent = Ember.Component.extend + auth: Ember.inject.service() + store: Ember.inject.service() + currentUserBinding: 'auth.currentUser' + + classNames: ['flash'] + tagName: 'ul' init: -> @_super.apply this, arguments @@ -28,7 +31,7 @@ Controller = Ember.Controller.extend broadcasts = Ember.ArrayProxy.create(content: []) if @get('currentUser.id') - @store.find('broadcast').then (result) -> + @get('store').find('broadcast').then (result) -> broadcasts.pushObjects(result.toArray()) broadcasts @@ -42,14 +45,14 @@ Controller = Ember.Controller.extend Ember.run.later(this, (-> @get('flashes.content').removeObject(msg)), 15000) close: (msg) -> - if msg instanceof Broadcast + if msg.constructor.modelName == "broadcast" msg.setSeen() @notifyPropertyChange('unseenBroadcasts') else @get('flashes').removeObject(msg) actions: - close: (msg) -> + closeMessage: (msg) -> @close(msg) -`export default Controller` +`export default FlashDisplayComponent` diff --git a/app/views/flash-item.coffee b/app/components/flash-item.coffee similarity index 51% rename from app/views/flash-item.coffee rename to app/components/flash-item.coffee index 9b8107f4..5f6df701 100644 --- a/app/views/flash-item.coffee +++ b/app/components/flash-item.coffee @@ -1,6 +1,6 @@ -`import BasicView from 'travis/views/basic'` +`import Ember from 'ember'` -View = BasicView.extend +FlashItemComponent = Ember.Component.extend tagName: 'li' classNameBindings: ['type'] @@ -10,6 +10,6 @@ View = BasicView.extend actions: close: -> - @get('controller').close(@get('flash')) + this.attrs.close(@get('flash')) -`export default View` +`export default FlashItemComponent` diff --git a/app/templates/components/flash-display.hbs b/app/templates/components/flash-display.hbs new file mode 100644 index 00000000..c61c8b3f --- /dev/null +++ b/app/templates/components/flash-display.hbs @@ -0,0 +1,3 @@ +{{#each flash in messages}} + {{flash-item flash=flash close=(action 'closeMessage')}} +{{/each}} diff --git a/app/templates/components/flash-item.hbs b/app/templates/components/flash-item.hbs new file mode 100644 index 00000000..f8d0528d --- /dev/null +++ b/app/templates/components/flash-item.hbs @@ -0,0 +1,2 @@ +
{{{flash.message}}}
+ diff --git a/app/templates/layouts/flash.hbs b/app/templates/layouts/flash.hbs index a155045a..8b137891 100644 --- a/app/templates/layouts/flash.hbs +++ b/app/templates/layouts/flash.hbs @@ -1,6 +1 @@ -{{#each flash in messages}} - {{#view "flash-item" flashBinding="flash"}} -{{{flash.message}}}
- - {{/view}} -{{/each}} + diff --git a/app/templates/layouts/home.hbs b/app/templates/layouts/home.hbs index 10517cdc..98a3b537 100644 --- a/app/templates/layouts/home.hbs +++ b/app/templates/layouts/home.hbs @@ -4,7 +4,7 @@ {{render "top"}} - {{render "flash"}} + {{flash-display}}