Skip to content

Commit

Permalink
Reduce number of calls in method
Browse files Browse the repository at this point in the history
  • Loading branch information
lloydwatkin committed Jul 20, 2014
1 parent 455804c commit 636e5c4
Showing 1 changed file with 27 additions and 24 deletions.
51 changes: 27 additions & 24 deletions public/scripts/demo.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,32 @@ var getEntryHtml = function(callback) {
'</div>')
}

var addCallbackDiv = function(html) {
var callbackDiv = html.find('.callback')
callbackDiv.attr('contenteditable', 'true')
.text('{...Write JSON callback data here...}')
callbackDiv.addClass('out')
var callbackButtonDiv = $('<div class="in-callback-submit"></div>')
var callbackButton = $('<button>Send callback</button>')
callbackButtonDiv.append(callbackButton)
html.append(callbackButtonDiv)
setTimeout(function() {
$(callbackButtonDiv).css('height', $(callbackDiv).css('height'))
}, 100)
callbackButton.click(function() {
var parsed = null
try {
parsed = JSON.parse(callbackDiv.text())
} catch (e) {
console.error(e)
return window.alert('You must enter valid JSON:\n\n' + e.toString())
}
callback(parsed)
callbackButtonDiv.remove()
})
callbackDiv.append()
}

var addMessage = function(message, direction, data, callback) {
console.log('IN: ', message, direction, data, callback)
var html = getEntryHtml(callback)
Expand All @@ -38,30 +64,7 @@ var addMessage = function(message, direction, data, callback) {
var isCallback = (incoming[message] && (-1 !== incoming[message].indexOf('callback')))

if (('in' === direction) && isCallback) {

var callbackDiv = html.find('.callback')
callbackDiv.attr('contenteditable', 'true')
.text('{...Write JSON callback data here...}')
callbackDiv.addClass('out')
var callbackButtonDiv = $('<div class="in-callback-submit"></div>')
var callbackButton = $('<button>Send callback</button>')
callbackButtonDiv.append(callbackButton)
html.append(callbackButtonDiv)
setTimeout(function() {
$(callbackButtonDiv).css('height', $(callbackDiv).css('height'))
}, 100)
callbackButton.click(function() {
var parsed = null
try {
parsed = JSON.parse(callbackDiv.text())
} catch (e) {
console.error(e)
return window.alert('You must enter valid JSON:\n\n' + e.toString())
}
callback(parsed)
callbackButtonDiv.remove()
})
callbackDiv.append()
addCallbackDiv(html)
}
$('#messages').append(html)
return id
Expand Down

0 comments on commit 636e5c4

Please sign in to comment.