kdf
Version:
42 lines (30 loc) • 863 B
text/coffeescript
KDObject = require './../../core/object.coffee'
module.exports = class KDModalViewStack extends KDObject
constructor: (options={}, data)->
options.lastToFirst ?= no
super options, data
= []
addModal: (modal)->
modal.on "KDObjectWillBeDestroyed", =>
{lastToFirst} =
.push modal
KD.utils.defer => # deferring to help reposition on hiding
modal.hide()
if lastToFirst
.forEach (modal)-> modal.hide()
.last.show()
else
.first.show()
return modal
next: ->
{lastToFirst} =
if lastToFirst
.pop()
.last?.show()
else
.shift()
.first?.show()
destroy: ->
.forEach (modal)-> KD.utils.defer -> modal.destroy()
= []
super