kdf
Version:
74 lines (47 loc) • 1.62 kB
text/coffeescript
KDView = require './../../core/view.coffee'
KDOverlayView = require './../overlay/overlayview.coffee'
KDButtonView = require './../buttons/buttonview.coffee'
module.exports = class KDDialogView extends KDView
constructor: (options = {}, data) ->
options.cssClass = KD.utils.curry 'kddialogview', options.cssClass
options.offset ?= yes
options.container or= null
options.buttons or=
Cancel :
style : 'clean-red'
callback : 'hide'
super options, data
()
()
$(window).one "keydown.kddialogview",(event) =>
() if event.which is 27
show:->
KD.utils.defer =>
?.destroy()
{container} = ()
= new KDOverlayView
click : 'hide'
container : container
'in'
hide:->
'transitionend', =>
.destroy()
()
'in'
setButtons:->
{buttons} = ()
= {}
= new KDView {cssClass : "kddialog-buttons clearfix"}
for own buttonTitle, buttonOptions of buttons
buttonTitle,buttonOptions
createButton:(title,buttonOptions)->
.addSubView button = new KDButtonView
title : title
loader : buttonOptions.loader
style : buttonOptions.style
callback : buttonOptions.callback
[title] = button
destroy: ->
$(window).off "keydown.kddialogview"
super