coffeescript-ui
Version:
Coffeescript User Interface System
79 lines (67 loc) • 1.49 kB
text/coffeescript
###
* coffeescript-ui - Coffeescript User Interface System (CUI)
* Copyright (c) 2013 - 2016 Programmfabrik GmbH
* MIT Licence
* https://github.com/programmfabrik/coffeescript-ui, http://www.coffeescript-ui.org
###
class CUI.Prompt extends CUI.Confirm
initOpts: ->
super()
default:
default: ""
check: String
placeholder:
check: String
min_length:
mandatory: true
default: 1
check: (v) =>
v >= 0
readOpts: ->
super()
text =
delete() # delete so the ConfirmationDialog does not warn us
= null
= input: +""
= new CUI.Form
fields: [
type: CUI.Output
multiline: true
markdown:
text: text
,
type: CUI.Input
name: "input"
placeholder:
data:
onConstruct: () =>
onKeyup: (inp, ev) =>
if ev.keyCode() == 13
[1].onClickAction(ev)
onDataChanged: =>
]
.start()
getValue: ->
.getValue()
open: ->
dfr = new CUI.Deferred()
super()
.done (choice) =>
dfr.resolve(.input)
.fail(dfr.reject)
CUI.setTimeout
call: =>
.focus().selectAll()
dfr.promise()
__checkOkBtn: =>
buttons =
if .input.trim().length >=
buttons[1].enable()
else
buttons[1].disable()
CUI.prompt = (opts) ->
new CUI.Prompt(opts).open()