UNPKG

kdf

Version:

KD: a non-document focused UI Framework for web applications.

65 lines (42 loc) 1.46 kB
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 : @bound 'hide' super options, data @bindTransitionEnd() @setButtons() show:-> KD.utils.defer => @overlay?.destroy() {container} = @getOptions() @overlay = new KDOverlayView click : @bound 'hide' container : container @setClass 'in' hide:-> @once 'transitionend', => @overlay.destroy() @destroy() @unsetClass 'in' setButtons:-> {buttons} = @getOptions() @buttons = {} @buttonHolder = new KDView {cssClass : "kddialog-buttons clearfix"} @addSubView @buttonHolder for own buttonTitle, buttonOptions of buttons @createButton buttonTitle,buttonOptions createButton:(title,buttonOptions)-> @buttonHolder.addSubView button = new KDButtonView title : title loader : buttonOptions.loader style : buttonOptions.style callback : buttonOptions.callback @buttons[title] = button