Fix closing broadcast messages
This commit is contained in:
parent
ea88a6271a
commit
1570935099
|
@ -1,10 +1,13 @@
|
||||||
`import Ember from 'ember'`
|
`import Ember from 'ember'`
|
||||||
`import LimitedArray from 'travis/utils/limited-array'`
|
`import LimitedArray from 'travis/utils/limited-array'`
|
||||||
`import Broadcast from 'travis/models/broadcast'`
|
|
||||||
|
|
||||||
Controller = Ember.Controller.extend
|
FlashDisplayComponent = Ember.Component.extend
|
||||||
needs: ['currentUser']
|
auth: Ember.inject.service()
|
||||||
currentUserBinding: 'controllers.currentUser.model'
|
store: Ember.inject.service()
|
||||||
|
currentUserBinding: 'auth.currentUser'
|
||||||
|
|
||||||
|
classNames: ['flash']
|
||||||
|
tagName: 'ul'
|
||||||
|
|
||||||
init: ->
|
init: ->
|
||||||
@_super.apply this, arguments
|
@_super.apply this, arguments
|
||||||
|
@ -28,7 +31,7 @@ Controller = Ember.Controller.extend
|
||||||
broadcasts = Ember.ArrayProxy.create(content: [])
|
broadcasts = Ember.ArrayProxy.create(content: [])
|
||||||
|
|
||||||
if @get('currentUser.id')
|
if @get('currentUser.id')
|
||||||
@store.find('broadcast').then (result) ->
|
@get('store').find('broadcast').then (result) ->
|
||||||
broadcasts.pushObjects(result.toArray())
|
broadcasts.pushObjects(result.toArray())
|
||||||
|
|
||||||
broadcasts
|
broadcasts
|
||||||
|
@ -42,14 +45,14 @@ Controller = Ember.Controller.extend
|
||||||
Ember.run.later(this, (-> @get('flashes.content').removeObject(msg)), 15000)
|
Ember.run.later(this, (-> @get('flashes.content').removeObject(msg)), 15000)
|
||||||
|
|
||||||
close: (msg) ->
|
close: (msg) ->
|
||||||
if msg instanceof Broadcast
|
if msg.constructor.modelName == "broadcast"
|
||||||
msg.setSeen()
|
msg.setSeen()
|
||||||
@notifyPropertyChange('unseenBroadcasts')
|
@notifyPropertyChange('unseenBroadcasts')
|
||||||
else
|
else
|
||||||
@get('flashes').removeObject(msg)
|
@get('flashes').removeObject(msg)
|
||||||
|
|
||||||
actions:
|
actions:
|
||||||
close: (msg) ->
|
closeMessage: (msg) ->
|
||||||
@close(msg)
|
@close(msg)
|
||||||
|
|
||||||
`export default Controller`
|
`export default FlashDisplayComponent`
|
|
@ -1,6 +1,6 @@
|
||||||
`import BasicView from 'travis/views/basic'`
|
`import Ember from 'ember'`
|
||||||
|
|
||||||
View = BasicView.extend
|
FlashItemComponent = Ember.Component.extend
|
||||||
tagName: 'li'
|
tagName: 'li'
|
||||||
classNameBindings: ['type']
|
classNameBindings: ['type']
|
||||||
|
|
||||||
|
@ -10,6 +10,6 @@ View = BasicView.extend
|
||||||
|
|
||||||
actions:
|
actions:
|
||||||
close: ->
|
close: ->
|
||||||
@get('controller').close(@get('flash'))
|
this.attrs.close(@get('flash'))
|
||||||
|
|
||||||
`export default View`
|
`export default FlashItemComponent`
|
3
app/templates/components/flash-display.hbs
Normal file
3
app/templates/components/flash-display.hbs
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
{{#each flash in messages}}
|
||||||
|
{{flash-item flash=flash close=(action 'closeMessage')}}
|
||||||
|
{{/each}}
|
2
app/templates/components/flash-item.hbs
Normal file
2
app/templates/components/flash-item.hbs
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
<p>{{{flash.message}}}</p>
|
||||||
|
<a class="close" {{action "close"}}></a>
|
|
@ -1,6 +1 @@
|
||||||
{{#each flash in messages}}
|
|
||||||
{{#view "flash-item" flashBinding="flash"}}
|
|
||||||
<p>{{{flash.message}}}</p>
|
|
||||||
<a class="close" {{action "close" target=view}}></a>
|
|
||||||
{{/view}}
|
|
||||||
{{/each}}
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
{{render "top"}}
|
{{render "top"}}
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
{{render "flash"}}
|
{{flash-display}}
|
||||||
|
|
||||||
<div class="wrapper-main">
|
<div class="wrapper-main">
|
||||||
<div id="main" role="main">
|
<div id="main" role="main">
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
{{render "top"}}
|
{{render "top"}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{render "flash"}}
|
{{flash-display}}
|
||||||
|
|
||||||
{{yield}}
|
{{yield}}
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<div class="centered">
|
<div class="centered">
|
||||||
{{render "flash"}}
|
{{flash-display}}
|
||||||
<div id="main" class="main" role="main">
|
<div id="main" class="main" role="main">
|
||||||
{{yield}}
|
{{yield}}
|
||||||
|
|
||||||
|
@ -17,4 +17,4 @@
|
||||||
|
|
||||||
<footer>
|
<footer>
|
||||||
{{render "footer"}}
|
{{render "footer"}}
|
||||||
</footer>
|
</footer>
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<div class="centered">
|
<div class="centered">
|
||||||
{{render "flash"}}
|
{{flash-display}}
|
||||||
<div id="main" class="main" role="main">
|
<div id="main" class="main" role="main">
|
||||||
{{yield}}
|
{{yield}}
|
||||||
</div>
|
</div>
|
||||||
|
@ -15,4 +15,4 @@
|
||||||
|
|
||||||
<footer>
|
<footer>
|
||||||
{{render "footer"}}
|
{{render "footer"}}
|
||||||
</footer>
|
</footer>
|
||||||
|
|
|
@ -1,8 +0,0 @@
|
||||||
`import BasicView from 'travis/views/basic'`
|
|
||||||
|
|
||||||
View = BasicView.extend
|
|
||||||
classNames: ['flash']
|
|
||||||
tagName: 'ul'
|
|
||||||
templateName: 'layouts/flash'
|
|
||||||
|
|
||||||
`export default View`
|
|
Loading…
Reference in New Issue
Block a user