} = require 'kraken/graph/graph-model'
+/**
+ * Helper that wraps a function to return false.
+ */
+stopEventAnd = (fn) ->
+ ~> fn ...; false
+
valueFormatter xValueFormatter yValueFormatter
]>
__bind__ : <[
- render renderAll resizeViewport
+ render renderAll stopAndRender stopAndRenderAll resizeViewport
numberFormatter numberFormatterHTML
- onReady onSync
- onModelChange onScaffoldChange onFirstClickRenderOptionsTab
+ onReady onSync onModelChange onScaffoldChange onFirstClickRenderOptionsTab
]>
__debounce__: <[ render renderAll ]>
ctorName : 'GraphEditView'
template : require 'kraken/template/graph-edit'
events:
- 'click .redraw-button' : 'render'
- 'click .save-button' : 'save'
+ 'click .redraw-button' : 'stopAndRender'
'click .load-button' : 'load'
+ 'click .save-button' : 'save'
+ 'click .done-button' : 'done'
'keypress form.details input[type="text"]' : 'onKeypress'
'keypress form.options .value' : 'onKeypress'
'submit form.details' : 'onDetailsSubmit'
load: ->
console.log "#this.load!"
@model.fetch()
+ false
save: ->
console.log "#this.save!"
id = @model.id or @model.get('slug')
@model.save {id}, {+wait}
+ false
+ done: ->
+ @save()
change: ->
@model.change()
@updateURL()
@trigger 'render', this
- this
+ false
renderAll: ->
return this unless @ready
_.invoke @scaffold.subviews, 'render'
@scaffold.render()
@render()
- this
/**
* Update the page URL using HTML5 History API
### }}}
### Event Handlers {{{
+
onReady: ->
console.log "(#this via GraphEditView).ready!"
@ready = @scaffold.ready = true
@render()
false
+ # Needed because (sigh) _.debounce returns undefined
+ stopAndRender: ->
+ @render ...
+ false
+
+ stopAndRenderAll: ->
+ @renderAll ...
+ false
+
# }}}
toString: -> "#{@ctorName}(#{@model})"