From d1353e8eaebc3f878fe9074919948d662caf8a89 Mon Sep 17 00:00:00 2001 From: "david.zotloeterer" Date: Tue, 1 Dec 2015 13:36:32 +0100 Subject: [PATCH] fixed custom message obj --- inst/www/shared/shiny.js | 3 ++- inst/www/shared/shiny.js.map | 2 +- inst/www/shared/shiny.min.js | 4 ++-- inst/www/shared/shiny.min.js.map | 2 +- srcjs/shinyapp.js | 3 ++- 5 files changed, 8 insertions(+), 6 deletions(-) diff --git a/inst/www/shared/shiny.js b/inst/www/shared/shiny.js index 8e2f5ce0d..96b0a3404 100644 --- a/inst/www/shared/shiny.js +++ b/inst/www/shared/shiny.js @@ -982,7 +982,8 @@ var ShinyApp = function() { } var tag = tagbuf.join(""); data = data.slice(len+1); - msgObj[tag] = data; + msgObj.custom = {}; + msgObj.custom[tag] = data; } var evt = jQuery.Event('shiny:message'); diff --git a/inst/www/shared/shiny.js.map b/inst/www/shared/shiny.js.map index 7387ad6c7..561d907ef 100644 --- a/inst/www/shared/shiny.js.map +++ b/inst/www/shared/shiny.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../srcjs/_start.js","../../../srcjs/utils.js","../../../srcjs/browser.js","../../../srcjs/input_rate.js","../../../srcjs/shinyapp.js","../../../srcjs/file_processor.js","../../../srcjs/binding_registry.js","../../../srcjs/output_binding.js","../../../srcjs/output_binding_text.js","../../../srcjs/output_binding_image.js","../../../srcjs/output_binding_html.js","../../../srcjs/output_binding_downloadlink.js","../../../srcjs/output_binding_datatable.js","../../../srcjs/output_binding_adapter.js","../../../srcjs/input_binding.js","../../../srcjs/input_binding_text.js","../../../srcjs/input_binding_textarea.js","../../../srcjs/input_binding_number.js","../../../srcjs/input_binding_checkbox.js","../../../srcjs/input_binding_slider.js","../../../srcjs/input_binding_date.js","../../../srcjs/input_binding_daterange.js","../../../srcjs/input_binding_select.js","../../../srcjs/input_binding_radio.js","../../../srcjs/input_binding_checkboxgroup.js","../../../srcjs/input_binding_actionbutton.js","../../../srcjs/input_binding_tabinput.js","../../../srcjs/input_binding_fileinput.js","../../../srcjs/init_shiny.js","../../../srcjs/reactlog.js","../../../srcjs/_end.js"],"names":[],"mappings":"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","file":"shiny.js","sourcesContent":["//---------------------------------------------------------------------\n// Source file: ../srcjs/_start.js\n\n/*jshint\r\n undef:true,\r\n browser:true,\r\n devel: true,\r\n jquery:true,\r\n strict:false,\r\n curly:false,\r\n indent:2\r\n*/\r\n/* global strftime */\r\n\r\n(function() {\r\n var $ = jQuery;\r\n\r\n var exports = window.Shiny = window.Shiny || {};\r\n\r\n\r\n $(document).on('submit', 'form:not([action])', function(e) {\r\n e.preventDefault();\r\n });\r\n","//---------------------------------------------------------------------\n// Source file: ../srcjs/utils.js\n\nfunction escapeHTML(str) {\r\n return str.replace(/&/g, \"&\")\r\n .replace(//g, \">\")\r\n .replace(/\"/g, \""\")\r\n .replace(/'/g, \"'\")\r\n .replace(/\\//g,\"/\");\r\n}\r\n\r\nfunction randomId() {\r\n return Math.floor(0x100000000 + (Math.random() * 0xF00000000)).toString(16);\r\n}\r\n\r\nfunction strToBool(str) {\r\n if (!str || !str.toLowerCase)\r\n return undefined;\r\n\r\n switch(str.toLowerCase()) {\r\n case 'true':\r\n return true;\r\n case 'false':\r\n return false;\r\n default:\r\n return undefined;\r\n }\r\n}\r\n\r\n// A wrapper for getComputedStyle that is compatible with older browsers.\r\n// This is significantly faster than jQuery's .css() function.\r\nfunction getStyle(el, styleProp) {\r\n var x;\r\n if (el.currentStyle)\r\n x = el.currentStyle[styleProp];\r\n else if (window.getComputedStyle) {\r\n // getComputedStyle can return null when we're inside a hidden iframe on\r\n // Firefox; don't attempt to retrieve style props in this case.\r\n // https://bugzilla.mozilla.org/show_bug.cgi?id=548397\r\n var style = document.defaultView.getComputedStyle(el, null);\r\n if (style)\r\n x = style.getPropertyValue(styleProp);\r\n }\r\n return x;\r\n}\r\n\r\n// Convert a number to a string with leading zeros\r\nfunction padZeros(n, digits) {\r\n var str = n.toString();\r\n while (str.length < digits)\r\n str = \"0\" + str;\r\n return str;\r\n}\r\n\r\n// Take a string with format \"YYYY-MM-DD\" and return a Date object.\r\n// IE8 and QTWebKit don't support YYYY-MM-DD, but they support YYYY/MM/DD\r\nfunction parseDate(dateString) {\r\n var date = new Date(dateString);\r\n if (isNaN(date))\r\n date = new Date(dateString.replace(/-/g, \"/\"));\r\n return date;\r\n}\r\n\r\n// Given a Date object, return a string in yyyy-mm-dd format, using the\r\n// UTC date. This may be a day off from the date in the local time zone.\r\nfunction formatDateUTC(date) {\r\n if (date instanceof Date) {\r\n return date.getUTCFullYear() + '-' +\r\n padZeros(date.getUTCMonth()+1, 2) + '-' +\r\n padZeros(date.getUTCDate(), 2);\r\n\r\n } else {\r\n return null;\r\n }\r\n}\r\n\r\n\r\n// Given an element and a function(width, height), returns a function(). When\r\n// the output function is called, it calls the input function with the offset\r\n// width and height of the input element--but only if the size of the element\r\n// is non-zero and the size is different than the last time the output\r\n// function was called.\r\n//\r\n// Basically we are trying to filter out extraneous calls to func, so that\r\n// when the window size changes or whatever, we don't run resize logic for\r\n// elements that haven't actually changed size or aren't visible anyway.\r\nfunction makeResizeFilter(el, func) {\r\n var lastSize = {};\r\n return function() {\r\n var size = { w: el.offsetWidth, h: el.offsetHeight };\r\n if (size.w === 0 && size.h === 0)\r\n return;\r\n if (size.w === lastSize.w && size.h === lastSize.h)\r\n return;\r\n lastSize = size;\r\n func(size.w, size.h);\r\n };\r\n}\r\n\r\nvar _BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder ||\r\n window.MozBlobBuilder || window.MSBlobBuilder;\r\n\r\nfunction makeBlob(parts) {\r\n\r\n // Browser compatibility is a mess right now. The code as written works in\r\n // a variety of modern browsers, but sadly gives a deprecation warning\r\n // message on the console in current versions (as of this writing) of\r\n // Chrome.\r\n\r\n // Safari 6.0 (8536.25) on Mac OS X 10.8.1:\r\n // Has Blob constructor but it doesn't work with ArrayBufferView args\r\n\r\n // Google Chrome 21.0.1180.81 on Xubuntu 12.04:\r\n // Has Blob constructor, accepts ArrayBufferView args, accepts ArrayBuffer\r\n // but with a deprecation warning message\r\n\r\n // Firefox 15.0 on Xubuntu 12.04:\r\n // Has Blob constructor, accepts both ArrayBuffer and ArrayBufferView args\r\n\r\n // Chromium 18.0.1025.168 (Developer Build 134367 Linux) on Xubuntu 12.04:\r\n // No Blob constructor. Has WebKitBlobBuilder.\r\n\r\n try {\r\n return new Blob(parts);\r\n }\r\n catch (e) {\r\n var blobBuilder = new _BlobBuilder();\r\n $.each(parts, function(i, part) {\r\n blobBuilder.append(part);\r\n });\r\n return blobBuilder.getBlob();\r\n }\r\n}\r\n\r\nfunction slice(blob, start, end) {\r\n if (blob.slice)\r\n return blob.slice(start, end);\r\n if (blob.mozSlice)\r\n return blob.mozSlice(start, end);\r\n if (blob.webkitSlice)\r\n return blob.webkitSlice(start, end);\r\n throw \"Blob doesn't support slice\";\r\n}\r\n\r\nfunction pixelRatio() {\r\n if (window.devicePixelRatio) {\r\n return window.devicePixelRatio;\r\n } else {\r\n return 1;\r\n }\r\n}\r\n\r\n// Takes a string expression and returns a function that takes an argument.\r\n//\r\n// When the function is executed, it will evaluate that expression using\r\n// \"with\" on the argument value, and return the result.\r\nfunction scopeExprToFunc(expr) {\r\n /*jshint evil: true */\r\n var func = new Function(\"with (this) {return (\" + expr + \");}\");\r\n return function(scope) {\r\n return func.call(scope);\r\n };\r\n}\r\n\r\nfunction asArray(value) {\r\n if (value === null || value === undefined)\r\n return [];\r\n if ($.isArray(value))\r\n return value;\r\n return [value];\r\n}\r\n\r\n// We need a stable sorting algorithm for ordering\r\n// bindings by priority and insertion order.\r\nfunction mergeSort(list, sortfunc) {\r\n function merge(sortfunc, a, b) {\r\n var ia = 0;\r\n var ib = 0;\r\n var sorted = [];\r\n while (ia < a.length && ib < b.length) {\r\n if (sortfunc(a[ia], b[ib]) <= 0) {\r\n sorted.push(a[ia++]);\r\n }\r\n else {\r\n sorted.push(b[ib++]);\r\n }\r\n }\r\n while (ia < a.length)\r\n sorted.push(a[ia++]);\r\n while (ib < b.length)\r\n sorted.push(b[ib++]);\r\n return sorted;\r\n }\r\n\r\n // Don't mutate list argument\r\n list = list.slice(0);\r\n\r\n for (var chunkSize = 1; chunkSize < list.length; chunkSize *= 2) {\r\n for (var i = 0; i < list.length; i += chunkSize * 2) {\r\n var listA = list.slice(i, i + chunkSize);\r\n var listB = list.slice(i + chunkSize, i + chunkSize * 2);\r\n var merged = merge(sortfunc, listA, listB);\r\n var args = [i, merged.length];\r\n Array.prototype.push.apply(args, merged);\r\n Array.prototype.splice.apply(list, args);\r\n }\r\n }\r\n\r\n return list;\r\n}\r\n\r\n// Escape jQuery selector metacharacters: !\"#$%&'()*+,./:;<=>?@[\\]^`{|}~\r\nvar $escape = exports.$escape = function(val) {\r\n return val.replace(/([!\"#$%&'()*+,.\\/:;<=>?@\\[\\\\\\]^`{|}~])/g, '\\\\$1');\r\n};\r\n\r\n","//---------------------------------------------------------------------\n// Source file: ../srcjs/browser.js\n\nvar browser = (function() {\r\n\r\n var isQt = false;\r\n // For easy handling of Qt quirks using CSS\r\n if (/\\bQt\\//.test(window.navigator.userAgent)) {\r\n $(document.documentElement).addClass('qt');\r\n isQt = true;\r\n }\r\n\r\n // Enable special treatment for Qt 5 quirks on Linux\r\n if (/\\bQt\\/5/.test(window.navigator.userAgent) &&\r\n /Linux/.test(window.navigator.userAgent)) {\r\n $(document.documentElement).addClass('qt5');\r\n }\r\n\r\n // Detect IE information\r\n var isIE = (navigator.appName === 'Microsoft Internet Explorer');\r\n\r\n function getIEVersion() {\r\n var rv = -1;\r\n if (isIE) {\r\n var ua = navigator.userAgent;\r\n var re = new RegExp(\"MSIE ([0-9]{1,}[\\\\.0-9]{0,})\");\r\n if (re.exec(ua) !== null)\r\n rv = parseFloat(RegExp.$1);\r\n }\r\n return rv;\r\n }\r\n\r\n return {\r\n isQt: isQt,\r\n isIE: isIE,\r\n IEVersion: getIEVersion()\r\n };\r\n\r\n})();\r\n","//---------------------------------------------------------------------\n// Source file: ../srcjs/input_rate.js\n\nvar Invoker = function(target, func) {\r\n this.target = target;\r\n this.func = func;\r\n};\r\n\r\n(function() {\r\n this.normalCall =\r\n this.immediateCall = function() {\r\n this.func.apply(this.target, arguments);\r\n };\r\n}).call(Invoker.prototype);\r\n\r\nvar Debouncer = function(target, func, delayMs) {\r\n this.target = target;\r\n this.func = func;\r\n this.delayMs = delayMs;\r\n\r\n this.timerId = null;\r\n this.args = null;\r\n};\r\n\r\n(function() {\r\n this.normalCall = function() {\r\n var self = this;\r\n\r\n this.$clearTimer();\r\n this.args = arguments;\r\n\r\n this.timerId = setTimeout(function() {\r\n // IE8 doesn't reliably clear timeout, so this additional\r\n // check is needed\r\n if (self.timerId === null)\r\n return;\r\n self.$clearTimer();\r\n self.$invoke();\r\n }, this.delayMs);\r\n };\r\n this.immediateCall = function() {\r\n this.$clearTimer();\r\n this.args = arguments;\r\n this.$invoke();\r\n };\r\n this.isPending = function() {\r\n return this.timerId !== null;\r\n };\r\n this.$clearTimer = function() {\r\n if (this.timerId !== null) {\r\n clearTimeout(this.timerId);\r\n this.timerId = null;\r\n }\r\n };\r\n this.$invoke = function() {\r\n this.func.apply(this.target, this.args);\r\n this.args = null;\r\n };\r\n}).call(Debouncer.prototype);\r\n\r\nvar Throttler = function(target, func, delayMs) {\r\n this.target = target;\r\n this.func = func;\r\n this.delayMs = delayMs;\r\n\r\n this.timerId = null;\r\n this.args = null;\r\n};\r\n\r\n(function() {\r\n this.normalCall = function() {\r\n var self = this;\r\n\r\n this.args = arguments;\r\n if (this.timerId === null) {\r\n this.$invoke();\r\n this.timerId = setTimeout(function() {\r\n // IE8 doesn't reliably clear timeout, so this additional\r\n // check is needed\r\n if (self.timerId === null)\r\n return;\r\n self.$clearTimer();\r\n if (self.args)\r\n self.normalCall.apply(self, self.args);\r\n }, this.delayMs);\r\n }\r\n };\r\n this.immediateCall = function() {\r\n this.$clearTimer();\r\n this.args = arguments;\r\n this.$invoke();\r\n };\r\n this.isPending = function() {\r\n return this.timerId !== null;\r\n };\r\n this.$clearTimer = function() {\r\n if (this.timerId !== null) {\r\n clearTimeout(this.timerId);\r\n this.timerId = null;\r\n }\r\n };\r\n this.$invoke = function() {\r\n this.func.apply(this.target, this.args);\r\n this.args = null;\r\n };\r\n}).call(Throttler.prototype);\r\n\r\n// Returns a debounced version of the given function.\r\n// Debouncing means that when the function is invoked,\r\n// there is a delay of `threshold` milliseconds before\r\n// it is actually executed, and if the function is\r\n// invoked again before that threshold has elapsed then\r\n// the clock starts over.\r\n//\r\n// For example, if a function is debounced with a\r\n// threshold of 1000ms, then calling it 17 times at\r\n// 900ms intervals will result in a single execution\r\n// of the underlying function, 1000ms after the 17th\r\n// call.\r\nfunction debounce(threshold, func) {\r\n var timerId = null;\r\n var self, args;\r\n return function() {\r\n self = this;\r\n args = arguments;\r\n if (timerId !== null) {\r\n clearTimeout(timerId);\r\n timerId = null;\r\n }\r\n timerId = setTimeout(function() {\r\n // IE8 doesn't reliably clear timeout, so this additional\r\n // check is needed\r\n if (timerId === null)\r\n return;\r\n timerId = null;\r\n func.apply(self, args);\r\n }, threshold);\r\n };\r\n}\r\n\r\n// Returns a throttled version of the given function.\r\n// Throttling means that the underlying function will\r\n// be executed no more than once every `threshold`\r\n// milliseconds.\r\n//\r\n// For example, if a function is throttled with a\r\n// threshold of 1000ms, then calling it 17 times at\r\n// 900ms intervals will result in something like 15\r\n// or 16 executions of the underlying function.\r\nfunction throttle(threshold, func) {\r\n var executionPending = false;\r\n var timerId = null;\r\n var self, args;\r\n\r\n function throttled() {\r\n self = null;\r\n args = null;\r\n if (timerId === null) {\r\n // Haven't seen a call recently. Execute now and\r\n // start a timer to buffer any subsequent calls.\r\n timerId = setTimeout(function() {\r\n // When time expires, clear the timer; and if\r\n // there has been a call in the meantime, repeat.\r\n timerId = null;\r\n if (executionPending) {\r\n executionPending = false;\r\n throttled.apply(self, args);\r\n }\r\n }, threshold);\r\n func.apply(this, arguments);\r\n }\r\n else {\r\n // Something executed recently. Don't do anything\r\n // except set up target/arguments to be called later\r\n executionPending = true;\r\n self = this;\r\n args = arguments;\r\n }\r\n }\r\n return throttled;\r\n}\r\n\r\n// Schedules data to be sent to shinyapp at the next setTimeout(0).\r\n// Batches multiple input calls into one websocket message.\r\nvar InputBatchSender = function(shinyapp) {\r\n this.shinyapp = shinyapp;\r\n this.timerId = null;\r\n this.pendingData = {};\r\n this.reentrant = false;\r\n this.lastChanceCallback = [];\r\n};\r\n(function() {\r\n this.setInput = function(name, value) {\r\n var self = this;\r\n\r\n this.pendingData[name] = value;\r\n if (!this.timerId && !this.reentrant) {\r\n this.timerId = setTimeout(function() {\r\n self.reentrant = true;\r\n try {\r\n $.each(self.lastChanceCallback, function(i, callback) {\r\n callback();\r\n });\r\n self.timerId = null;\r\n var currentData = self.pendingData;\r\n self.pendingData = {};\r\n self.shinyapp.sendInput(currentData);\r\n } finally {\r\n self.reentrant = false;\r\n }\r\n }, 0);\r\n }\r\n };\r\n}).call(InputBatchSender.prototype);\r\n\r\nvar InputNoResendDecorator = function(target, initialValues) {\r\n this.target = target;\r\n this.lastSentValues = initialValues || {};\r\n};\r\n(function() {\r\n this.setInput = function(name, value) {\r\n var jsonValue = JSON.stringify(value);\r\n if (this.lastSentValues[name] === jsonValue)\r\n return;\r\n this.lastSentValues[name] = jsonValue;\r\n this.target.setInput(name, value);\r\n };\r\n this.reset = function(values) {\r\n values = values || {};\r\n var strValues = {};\r\n $.each(values, function(key, value) {\r\n strValues[key] = JSON.stringify(value);\r\n });\r\n this.lastSentValues = strValues;\r\n };\r\n}).call(InputNoResendDecorator.prototype);\r\n\r\nvar InputDeferDecorator = function(target) {\r\n this.target = target;\r\n this.pendingInput = {};\r\n};\r\n(function() {\r\n this.setInput = function(name, value) {\r\n if (/^\\./.test(name))\r\n this.target.setInput(name, value);\r\n else\r\n this.pendingInput[name] = value;\r\n };\r\n this.submit = function() {\r\n for (var name in this.pendingInput) {\r\n if (this.pendingInput.hasOwnProperty(name))\r\n this.target.setInput(name, this.pendingInput[name]);\r\n }\r\n };\r\n}).call(InputDeferDecorator.prototype);\r\n\r\nvar InputEventDecorator = function(target) {\r\n this.target = target;\r\n};\r\n(function() {\r\n this.setInput = function(name, value, immediate) {\r\n var evt = jQuery.Event(\"shiny:inputchanged\");\r\n var name2 = name.split(':');\r\n evt.name = name2[0];\r\n evt.inputType = name2.length > 1 ? name2[1] : '';\r\n evt.value = value;\r\n $(document).trigger(evt);\r\n if (!evt.isDefaultPrevented()) {\r\n name = evt.name;\r\n if (evt.inputType !== '') name += ':' + evt.inputType;\r\n this.target.setInput(name, evt.value, immediate);\r\n }\r\n };\r\n}).call(InputEventDecorator.prototype);\r\n\r\nvar InputRateDecorator = function(target) {\r\n this.target = target;\r\n this.inputRatePolicies = {};\r\n};\r\n(function() {\r\n this.setInput = function(name, value, immediate) {\r\n this.$ensureInit(name);\r\n if (immediate)\r\n this.inputRatePolicies[name].immediateCall(name, value, immediate);\r\n else\r\n this.inputRatePolicies[name].normalCall(name, value, immediate);\r\n };\r\n this.setRatePolicy = function(name, mode, millis) {\r\n if (mode === 'direct') {\r\n this.inputRatePolicies[name] = new Invoker(this, this.$doSetInput);\r\n }\r\n else if (mode === 'debounce') {\r\n this.inputRatePolicies[name] = new Debouncer(this, this.$doSetInput, millis);\r\n }\r\n else if (mode === 'throttle') {\r\n this.inputRatePolicies[name] = new Throttler(this, this.$doSetInput, millis);\r\n }\r\n };\r\n this.$ensureInit = function(name) {\r\n if (!(name in this.inputRatePolicies))\r\n this.setRatePolicy(name, 'direct');\r\n };\r\n this.$doSetInput = function(name, value) {\r\n this.target.setInput(name, value);\r\n };\r\n}).call(InputRateDecorator.prototype);\r\n","//---------------------------------------------------------------------\n// Source file: ../srcjs/shinyapp.js\n\nvar ShinyApp = function() {\r\n this.$socket = null;\r\n\r\n // Cached input values\r\n this.$inputValues = {};\r\n\r\n // Output bindings\r\n this.$bindings = {};\r\n\r\n // Cached values/errors\r\n this.$values = {};\r\n this.$errors = {};\r\n\r\n // Conditional bindings (show/hide element based on expression)\r\n this.$conditionals = {};\r\n\r\n this.$pendingMessages = [];\r\n this.$activeRequests = {};\r\n this.$nextRequestId = 0;\r\n};\r\n\r\n(function() {\r\n\r\n this.connect = function(initialInput) {\r\n if (this.$socket)\r\n throw \"Connect was already called on this application object\";\r\n\r\n $.extend(initialInput, {\r\n // IE8 and IE9 have some limitations with data URIs\r\n \".clientdata_allowDataUriScheme\": typeof WebSocket !== 'undefined'\r\n });\r\n\r\n this.$socket = this.createSocket();\r\n this.$initialInput = initialInput;\r\n $.extend(this.$inputValues, initialInput);\r\n\r\n this.$updateConditionals();\r\n };\r\n\r\n this.isConnected = function() {\r\n return !!this.$socket;\r\n };\r\n\r\n this.createSocket = function () {\r\n var self = this;\r\n\r\n var createSocketFunc = exports.createSocket || function() {\r\n var protocol = 'ws:';\r\n if (window.location.protocol === 'https:')\r\n protocol = 'wss:';\r\n\r\n var defaultPath = window.location.pathname;\r\n // some older WebKit browsers return the pathname already decoded;\r\n // if we find invalid URL characters in the path, encode them\r\n if (!/^([$#!&-;=?-[\\]_a-z~]|%[0-9a-fA-F]{2})+$/.test(defaultPath)) {\r\n defaultPath = encodeURI(defaultPath);\r\n // Bizarrely, QtWebKit requires us to encode these characters *twice*\r\n if (browser.isQt) {\r\n defaultPath = encodeURI(defaultPath);\r\n }\r\n }\r\n if (!/\\/$/.test(defaultPath))\r\n defaultPath += '/';\r\n defaultPath += 'websocket/';\r\n\r\n var ws = new WebSocket(protocol + '//' + window.location.host + defaultPath);\r\n ws.binaryType = 'arraybuffer';\r\n return ws;\r\n };\r\n\r\n var socket = createSocketFunc();\r\n socket.onopen = function() {\r\n $(document).trigger({\r\n type: 'shiny:connected',\r\n socket: socket\r\n });\r\n socket.send(JSON.stringify({\r\n method: 'init',\r\n data: self.$initialInput\r\n }));\r\n\r\n while (self.$pendingMessages.length) {\r\n var msg = self.$pendingMessages.shift();\r\n socket.send(msg);\r\n }\r\n };\r\n socket.onmessage = function(e) {\r\n self.dispatchMessage(e.data);\r\n };\r\n socket.onclose = function() {\r\n $(document).trigger({\r\n type: 'shiny:disconnected',\r\n socket: socket\r\n });\r\n $(document.body).addClass('disconnected');\r\n self.$notifyDisconnected();\r\n };\r\n return socket;\r\n };\r\n\r\n this.sendInput = function(values) {\r\n var msg = JSON.stringify({\r\n method: 'update',\r\n data: values\r\n });\r\n\r\n this.$sendMsg(msg);\r\n\r\n $.extend(this.$inputValues, values);\r\n this.$updateConditionals();\r\n };\r\n\r\n this.$notifyDisconnected = function() {\r\n\r\n // function to normalize hostnames\r\n var normalize = function(hostname) {\r\n if (hostname == \"127.0.0.1\")\r\n return \"localhost\";\r\n else\r\n return hostname;\r\n };\r\n\r\n // Send a 'disconnected' message to parent if we are on the same domin\r\n var parentUrl = (parent !== window) ? document.referrer : null;\r\n if (parentUrl) {\r\n // parse the parent href\r\n var a = document.createElement('a');\r\n a.href = parentUrl;\r\n\r\n // post the disconnected message if the hostnames are the same\r\n if (normalize(a.hostname) == normalize(window.location.hostname)) {\r\n var protocol = a.protocol.replace(':',''); // browser compatability\r\n var origin = protocol + '://' + a.hostname;\r\n if (a.port)\r\n origin = origin + ':' + a.port;\r\n parent.postMessage('disconnected', origin);\r\n }\r\n }\r\n };\r\n\r\n // NB: Including blobs will cause IE to break!\r\n // TODO: Make blobs work with Internet Explorer\r\n //\r\n // Websocket messages are normally one-way--i.e. the client passes a\r\n // message to the server but there is no way for the server to provide\r\n // a response to that specific message. makeRequest provides a way to\r\n // do asynchronous RPC over websocket. Each request has a method name\r\n // and arguments, plus optionally one or more binary blobs can be\r\n // included as well. The request is tagged with a unique number that\r\n // the server will use to label the corresponding response.\r\n //\r\n // @param method A string that tells the server what logic to run.\r\n // @param args An array of objects that should also be passed to the\r\n // server in JSON-ified form.\r\n // @param onSuccess A function that will be called back if the server\r\n // responds with success. If the server provides a value in the\r\n // response, the function will be called with it as the only argument.\r\n // @param onError A function that will be called back if the server\r\n // responds with error, or if the request fails for any other reason.\r\n // The parameter to onError will be a string describing the error.\r\n // @param blobs Optionally, an array of Blob, ArrayBuffer, or string\r\n // objects that will be made available to the server as part of the\r\n // request. Strings will be encoded using UTF-8.\r\n this.makeRequest = function(method, args, onSuccess, onError, blobs) {\r\n var requestId = this.$nextRequestId;\r\n while (this.$activeRequests[requestId]) {\r\n requestId = (requestId + 1) % 1000000000;\r\n }\r\n this.$nextRequestId = requestId + 1;\r\n\r\n this.$activeRequests[requestId] = {\r\n onSuccess: onSuccess,\r\n onError: onError\r\n };\r\n\r\n var msg = JSON.stringify({\r\n method: method,\r\n args: args,\r\n tag: requestId\r\n });\r\n\r\n if (blobs) {\r\n // We have binary data to transfer; form a different kind of packet.\r\n // Start with a 4-byte signature, then for each blob, emit 4 bytes for\r\n // the length followed by the blob. The json payload is UTF-8 encoded\r\n // and used as the first blob.\r\n\r\n var uint32_to_buf = function(val) {\r\n var buffer = new ArrayBuffer(4);\r\n var view = new DataView(buffer);\r\n view.setUint32(0, val, true); // little-endian\r\n return buffer;\r\n };\r\n\r\n var payload = [];\r\n payload.push(uint32_to_buf(0x01020202)); // signature\r\n\r\n var jsonBuf = makeBlob([msg]);\r\n payload.push(uint32_to_buf(jsonBuf.size));\r\n payload.push(jsonBuf);\r\n\r\n for (var i = 0; i < blobs.length; i++) {\r\n payload.push(uint32_to_buf(blobs[i].byteLength || blobs[i].size || 0));\r\n payload.push(blobs[i]);\r\n }\r\n\r\n msg = makeBlob(payload);\r\n }\r\n\r\n this.$sendMsg(msg);\r\n };\r\n\r\n this.$sendMsg = function(msg) {\r\n if (!this.$socket.readyState) {\r\n this.$pendingMessages.push(msg);\r\n }\r\n else {\r\n this.$socket.send(msg);\r\n }\r\n };\r\n\r\n this.receiveError = function(name, error) {\r\n if (this.$errors[name] === error)\r\n return;\r\n\r\n this.$errors[name] = error;\r\n delete this.$values[name];\r\n\r\n var binding = this.$bindings[name];\r\n var evt = jQuery.Event('shiny:error');\r\n evt.name = name;\r\n evt.error = error;\r\n evt.binding = binding;\r\n $(binding ? binding.el : document).trigger(evt);\r\n if (!evt.isDefaultPrevented() && binding && binding.onValueError) {\r\n binding.onValueError(evt.error);\r\n }\r\n };\r\n\r\n this.receiveOutput = function(name, value) {\r\n if (this.$values[name] === value)\r\n return;\r\n\r\n this.$values[name] = value;\r\n delete this.$errors[name];\r\n\r\n var binding = this.$bindings[name];\r\n var evt = jQuery.Event('shiny:value');\r\n evt.name = name;\r\n evt.value = value;\r\n evt.binding = binding;\r\n $(binding ? binding.el : document).trigger(evt);\r\n if (!evt.isDefaultPrevented() && binding) {\r\n binding.onValueChange(evt.value);\r\n }\r\n\r\n return value;\r\n };\r\n\r\n this.bindOutput = function(id, binding) {\r\n if (!id)\r\n throw \"Can't bind an element with no ID\";\r\n if (this.$bindings[id])\r\n throw \"Duplicate binding for ID \" + id;\r\n this.$bindings[id] = binding;\r\n\r\n if (this.$values[id] !== undefined)\r\n binding.onValueChange(this.$values[id]);\r\n else if (this.$errors[id] !== undefined)\r\n binding.onValueError(this.$errors[id]);\r\n\r\n return binding;\r\n };\r\n\r\n this.unbindOutput = function(id, binding) {\r\n if (this.$bindings[id] === binding) {\r\n delete this.$bindings[id];\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n };\r\n\r\n this.$updateConditionals = function() {\r\n $(document).trigger({\r\n type: 'shiny:conditional'\r\n });\r\n\r\n var inputs = {};\r\n\r\n // Input keys use \"name:type\" format; we don't want the user to\r\n // have to know about the type suffix when referring to inputs.\r\n for (var name in this.$inputValues) {\r\n if (this.$inputValues.hasOwnProperty(name)) {\r\n var shortName = name.replace(/:.*/, '');\r\n inputs[shortName] = this.$inputValues[name];\r\n }\r\n }\r\n\r\n var scope = {input: inputs, output: this.$values};\r\n\r\n var conditionals = $(document).find('[data-display-if]');\r\n for (var i = 0; i < conditionals.length; i++) {\r\n var el = $(conditionals[i]);\r\n var condFunc = el.data('data-display-if-func');\r\n\r\n if (!condFunc) {\r\n var condExpr = el.attr('data-display-if');\r\n condFunc = scopeExprToFunc(condExpr);\r\n el.data('data-display-if-func', condFunc);\r\n }\r\n\r\n var show = condFunc(scope);\r\n var showing = el.css(\"display\") !== \"none\";\r\n if (show !== showing) {\r\n if (show) {\r\n el.trigger('show');\r\n el.show();\r\n el.trigger('shown');\r\n }\r\n else {\r\n el.trigger('hide');\r\n el.hide();\r\n el.trigger('hidden');\r\n }\r\n }\r\n }\r\n };\r\n\r\n // Message handler management functions =================================\r\n\r\n // Records insertion order of handlers. Maps number to name. This is so\r\n // we can dispatch messages to handlers in the order that handlers were\r\n // added.\r\n var messageHandlerOrder = [];\r\n // Keep track of handlers by name. Maps name to handler function.\r\n var messageHandlers = {};\r\n\r\n // Two categories of message handlers: those that are from Shiny, and those\r\n // that are added by the user. The Shiny ones handle messages in\r\n // msgObj.values, msgObj.errors, and so on. The user ones handle messages\r\n // in msgObj.custom.foo and msgObj.custom.bar.\r\n var customMessageHandlerOrder = [];\r\n var customMessageHandlers = {};\r\n\r\n // Adds Shiny (internal) message handler\r\n function addMessageHandler(type, handler) {\r\n if (messageHandlers[type]) {\r\n throw('handler for message of type \"' + type + '\" already added.');\r\n }\r\n if (typeof(handler) !== 'function') {\r\n throw('handler must be a function.');\r\n }\r\n if (handler.length !== 1) {\r\n throw('handler must be a function that takes one argument.');\r\n }\r\n messageHandlerOrder.push(type);\r\n messageHandlers[type] = handler;\r\n }\r\n\r\n // Adds custom message handler - this one is exposed to the user\r\n function addCustomMessageHandler(type, handler) {\r\n if (customMessageHandlers[type]) {\r\n throw('handler for message of type \"' + type + '\" already added.');\r\n }\r\n if (typeof(handler) !== 'function') {\r\n throw('handler must be a function.');\r\n }\r\n if (handler.length !== 1) {\r\n throw('handler must be a function that takes one argument.');\r\n }\r\n\r\n customMessageHandlerOrder.push(type);\r\n customMessageHandlers[type] = handler;\r\n }\r\n\r\n exports.addCustomMessageHandler = addCustomMessageHandler;\r\n\r\n this.dispatchMessage = function(data) {\r\n var msgObj = {};\r\n if(typeof data === \"string\") {\r\n msgObj = JSON.parse(data);\r\n } else { // data is arraybuffer\r\n var len = new DataView(data,0,1).getUint8(0);\r\n var tagdv = new DataView(data,1,len);\r\n var tagbuf = [];\r\n for(var i=0; i 0) {\r\n var el = $obj[0];\r\n var evt = jQuery.Event('shiny:updateinput');\r\n evt.message = message[i].message;\r\n evt.binding = inputBinding;\r\n $(el).trigger(evt);\r\n if (!evt.isDefaultPrevented())\r\n inputBinding.receiveMessage(el, evt.message);\r\n }\r\n }\r\n });\r\n\r\n addMessageHandler('javascript', function(message) {\r\n /*jshint evil: true */\r\n eval(message);\r\n });\r\n\r\n addMessageHandler('console', function(message) {\r\n for (var i = 0; i < message.length; i++) {\r\n if (console.log)\r\n console.log(message[i]);\r\n }\r\n });\r\n\r\n addMessageHandler('progress', function(message) {\r\n if (message.type && message.message) {\r\n var handler = progressHandlers[message.type];\r\n if (handler)\r\n handler.call(this, message.message);\r\n }\r\n });\r\n\r\n addMessageHandler('response', function(message) {\r\n var requestId = message.tag;\r\n var request = this.$activeRequests[requestId];\r\n if (request) {\r\n delete this.$activeRequests[requestId];\r\n if ('value' in message)\r\n request.onSuccess(message.value);\r\n else\r\n request.onError(message.error);\r\n }\r\n });\r\n\r\n addMessageHandler('custom', function(message) {\r\n // For old-style custom messages - should deprecate and migrate to new\r\n // method\r\n if (exports.oncustommessage) {\r\n exports.oncustommessage(message);\r\n }\r\n\r\n // Send messages.foo and messages.bar to appropriate handlers\r\n this._sendMessagesToHandlers(message, customMessageHandlers,\r\n customMessageHandlerOrder);\r\n });\r\n\r\n addMessageHandler('config', function(message) {\r\n this.config = message;\r\n });\r\n\r\n\r\n addCustomMessageHandler('busy', function(message) {\r\n if (message === 'busy') {\r\n $(document.documentElement).addClass('shiny-busy');\r\n $(document).trigger('shiny:busy');\r\n } else if (message === 'idle') {\r\n $(document.documentElement).removeClass('shiny-busy');\r\n $(document).trigger('shiny:idle');\r\n }\r\n });\r\n\r\n addCustomMessageHandler('recalculating', function(message) {\r\n if (message.hasOwnProperty('name') && message.hasOwnProperty('status')) {\r\n var binding = this.$bindings[message.name];\r\n $(binding ? binding.el : null).trigger({\r\n type: 'shiny:' + message.status\r\n });\r\n }\r\n });\r\n\r\n addCustomMessageHandler('reload', function(message) {\r\n window.location.reload();\r\n });\r\n\r\n\r\n // Progress reporting ====================================================\r\n\r\n var progressHandlers = {\r\n // Progress for a particular object\r\n binding: function(message) {\r\n var key = message.id;\r\n var binding = this.$bindings[key];\r\n if (binding && binding.showProgress) {\r\n binding.showProgress(true);\r\n }\r\n },\r\n // Open a page-level progress bar\r\n open: function(message) {\r\n // Add progress container (for all progress items) if not already present\r\n var $container = $('.shiny-progress-container');\r\n if ($container.length === 0) {\r\n $container = $('
');\r\n $('body').append($container);\r\n }\r\n\r\n // Add div for just this progress ID\r\n var depth = $('.shiny-progress.open').length;\r\n var $progress = $(progressHandlers.progressHTML);\r\n $progress.attr('id', message.id);\r\n $container.append($progress);\r\n\r\n // Stack bars\r\n var $progressBar = $progress.find('.progress');\r\n $progressBar.css('top', depth * $progressBar.height() + 'px');\r\n\r\n // Stack text objects\r\n var $progressText = $progress.find('.progress-text');\r\n $progressText.css('top', 3 * $progressBar.height() +\r\n depth * $progressText.outerHeight() + 'px');\r\n\r\n $progress.hide();\r\n },\r\n\r\n // Update page-level progress bar\r\n update: function(message) {\r\n var $progress = $('#' + message.id + '.shiny-progress');\r\n if (typeof(message.message) !== 'undefined') {\r\n $progress.find('.progress-message').text(message.message);\r\n }\r\n if (typeof(message.detail) !== 'undefined') {\r\n $progress.find('.progress-detail').text(message.detail);\r\n }\r\n if (typeof(message.value) !== 'undefined') {\r\n if (message.value !== null) {\r\n $progress.find('.progress').show();\r\n $progress.find('.bar').width((message.value*100) + '%');\r\n }\r\n else {\r\n $progress.find('.progress').hide();\r\n }\r\n }\r\n\r\n $progress.fadeIn();\r\n },\r\n\r\n // Close page-level progress bar\r\n close: function(message) {\r\n var $progress = $('#' + message.id + '.shiny-progress');\r\n $progress.removeClass('open');\r\n\r\n $progress.fadeOut({\r\n complete: function() {\r\n $progress.remove();\r\n\r\n // If this was the last shiny-progress, remove container\r\n if ($('.shiny-progress').length === 0)\r\n $('.shiny-progress-container').remove();\r\n }\r\n });\r\n },\r\n\r\n // The 'bar' class is needed for backward compatibility with Bootstrap 2.\r\n progressHTML: '
' +\r\n '
' +\r\n '
' +\r\n 'message' +\r\n '' +\r\n '
' +\r\n '
'\r\n };\r\n\r\n exports.progressHandlers = progressHandlers;\r\n\r\n\r\n}).call(ShinyApp.prototype);\r\n","//---------------------------------------------------------------------\n// Source file: ../srcjs/file_processor.js\n\n// Generic driver class for doing chunk-wise asynchronous processing of a\r\n// FileList object. Subclass/clone it and override the `on*` functions to\r\n// make it do something useful.\r\nvar FileProcessor = function(files) {\r\n this.files = files;\r\n this.fileIndex = -1;\r\n // Currently need to use small chunk size because R-Websockets can't\r\n // handle continuation frames\r\n this.aborted = false;\r\n this.completed = false;\r\n\r\n // TODO: Register error/abort callbacks\r\n\r\n this.$run();\r\n};\r\n(function() {\r\n // Begin callbacks. Subclassers/cloners may override any or all of these.\r\n this.onBegin = function(files, cont) {\r\n setTimeout(cont, 0);\r\n };\r\n this.onFile = function(file, cont) {\r\n setTimeout(cont, 0);\r\n };\r\n this.onComplete = function() {\r\n };\r\n this.onAbort = function() {\r\n };\r\n // End callbacks\r\n\r\n // Aborts processing, unless it's already completed\r\n this.abort = function() {\r\n if (this.completed || this.aborted)\r\n return;\r\n\r\n this.aborted = true;\r\n this.onAbort();\r\n };\r\n\r\n // Returns a bound function that will call this.$run one time.\r\n this.$getRun = function() {\r\n var self = this;\r\n var called = false;\r\n return function() {\r\n if (called)\r\n return;\r\n called = true;\r\n self.$run();\r\n };\r\n };\r\n\r\n // This function will be called multiple times to advance the process.\r\n // It relies on the state of the object's fields to know what to do next.\r\n this.$run = function() {\r\n\r\n var self = this;\r\n\r\n if (this.aborted || this.completed)\r\n return;\r\n\r\n if (this.fileIndex < 0) {\r\n // Haven't started yet--begin\r\n this.fileIndex = 0;\r\n this.onBegin(this.files, this.$getRun());\r\n return;\r\n }\r\n\r\n if (this.fileIndex === this.files.length) {\r\n // Just ended\r\n this.completed = true;\r\n this.onComplete();\r\n return;\r\n }\r\n\r\n // If we got here, then we have a file to process, or we are\r\n // in the middle of processing a file, or have just finished\r\n // processing a file.\r\n\r\n var file = this.files[this.fileIndex++];\r\n this.onFile(file, this.$getRun());\r\n };\r\n}).call(FileProcessor.prototype);\r\n","//---------------------------------------------------------------------\n// Source file: ../srcjs/binding_registry.js\n\nvar BindingRegistry = function() {\r\n this.bindings = [];\r\n this.bindingNames = {};\r\n};\r\n(function() {\r\n this.register = function(binding, bindingName, priority) {\r\n var bindingObj = {binding: binding, priority: priority || 0};\r\n this.bindings.unshift(bindingObj);\r\n if (bindingName) {\r\n this.bindingNames[bindingName] = bindingObj;\r\n binding.name = bindingName;\r\n }\r\n };\r\n this.setPriority = function(bindingName, priority) {\r\n var bindingObj = this.bindingNames[bindingName];\r\n if (!bindingObj)\r\n throw \"Tried to set priority on unknown binding \" + bindingName;\r\n bindingObj.priority = priority || 0;\r\n };\r\n this.getPriority = function(bindingName) {\r\n var bindingObj = this.bindingNames[bindingName];\r\n if (!bindingObj)\r\n return false;\r\n return bindingObj.priority;\r\n };\r\n this.getBindings = function() {\r\n // Sort the bindings. The ones with higher priority are consulted\r\n // first; ties are broken by most-recently-registered.\r\n return mergeSort(this.bindings, function(a, b) {\r\n return b.priority - a.priority;\r\n });\r\n };\r\n}).call(BindingRegistry.prototype);\r\n\r\n\r\nvar inputBindings = exports.inputBindings = new BindingRegistry();\r\nvar outputBindings = exports.outputBindings = new BindingRegistry();\r\n","//---------------------------------------------------------------------\n// Source file: ../srcjs/output_binding.js\n\nvar OutputBinding = exports.OutputBinding = function() {};\r\n(function() {\r\n // Returns a jQuery object or element array that contains the\r\n // descendants of scope that match this binding\r\n this.find = function(scope) { throw \"Not implemented\"; };\r\n\r\n this.getId = function(el) {\r\n return el['data-input-id'] || el.id;\r\n };\r\n\r\n this.onValueChange = function(el, data) {\r\n this.clearError(el);\r\n this.renderValue(el, data);\r\n };\r\n this.onValueError = function(el, err) {\r\n this.renderError(el, err);\r\n };\r\n this.renderError = function(el, err) {\r\n this.clearError(el);\r\n if (err.message === '') {\r\n // not really error, but we just need to wait (e.g. action buttons)\r\n $(el).empty();\r\n return;\r\n }\r\n var errClass = 'shiny-output-error';\r\n if (err.type !== null) {\r\n // use the classes of the error condition as CSS class names\r\n errClass = errClass + ' ' + $.map(asArray(err.type), function(type) {\r\n return errClass + '-' + type;\r\n }).join(' ');\r\n }\r\n $(el).addClass(errClass).text(err.message);\r\n };\r\n this.clearError = function(el) {\r\n $(el).attr('class', function(i, c) {\r\n return c.replace(/(^|\\s)shiny-output-error\\S*/g, '');\r\n });\r\n };\r\n this.showProgress = function(el, show) {\r\n var RECALC_CLASS = 'recalculating';\r\n if (show)\r\n $(el).addClass(RECALC_CLASS);\r\n else\r\n $(el).removeClass(RECALC_CLASS);\r\n };\r\n}).call(OutputBinding.prototype);\r\n","//---------------------------------------------------------------------\n// Source file: ../srcjs/output_binding_text.js\n\nvar textOutputBinding = new OutputBinding();\r\n$.extend(textOutputBinding, {\r\n find: function(scope) {\r\n return $(scope).find('.shiny-text-output');\r\n },\r\n renderValue: function(el, data) {\r\n $(el).text(data);\r\n }\r\n});\r\noutputBindings.register(textOutputBinding, 'shiny.textOutput');\r\n\r\n","//---------------------------------------------------------------------\n// Source file: ../srcjs/output_binding_image.js\n\nvar imageOutputBinding = new OutputBinding();\r\n$.extend(imageOutputBinding, {\r\n find: function(scope) {\r\n return $(scope).find('.shiny-image-output, .shiny-plot-output');\r\n },\r\n renderValue: function(el, data) {\r\n // The overall strategy:\r\n // * Clear out existing image and event handlers.\r\n // * Create new image.\r\n // * Create various event handlers.\r\n // * Bind those event handlers to events.\r\n // * Insert the new image.\r\n\r\n var outputId = this.getId(el);\r\n\r\n var $el = $(el);\r\n // Load the image before emptying, to minimize flicker\r\n var img = null;\r\n\r\n // Remove event handlers that were added in previous renderValue()\r\n $el.off('.image_output');\r\n // Trigger custom 'remove' event for any existing images in the div\r\n $el.find('img').trigger('remove');\r\n\r\n if (!data) {\r\n $el.empty();\r\n return;\r\n }\r\n\r\n // If value is undefined, return alternate. Sort of like ||, except it won't\r\n // return alternate for other falsy values (0, false, null).\r\n function OR(value, alternate) {\r\n if (value === undefined) return alternate;\r\n return value;\r\n }\r\n\r\n var opts = {\r\n clickId: $el.data('click-id'),\r\n clickClip: OR(strToBool($el.data('click-clip')), true),\r\n\r\n dblclickId: $el.data('dblclick-id'),\r\n dblclickClip: OR(strToBool($el.data('dblclick-clip')), true),\r\n dblclickDelay: OR($el.data('dblclick-delay'), 400),\r\n\r\n hoverId: $el.data('hover-id'),\r\n hoverClip: OR(strToBool($el.data('hover-clip')), true),\r\n hoverDelayType: OR($el.data('hover-delay-type'), 'debounce'),\r\n hoverDelay: OR($el.data('hover-delay'), 300),\r\n hoverNullOutside: OR(strToBool($el.data('hover-null-outside')), false),\r\n\r\n brushId: $el.data('brush-id'),\r\n brushClip: OR(strToBool($el.data('brush-clip')), true),\r\n brushDelayType: OR($el.data('brush-delay-type'), 'debounce'),\r\n brushDelay: OR($el.data('brush-delay'), 300),\r\n brushFill: OR($el.data('brush-fill'), '#666'),\r\n brushStroke: OR($el.data('brush-stroke'), '#000'),\r\n brushOpacity: OR($el.data('brush-opacity'), 0.3),\r\n brushDirection: OR($el.data('brush-direction'), 'xy'),\r\n brushResetOnNew: OR(strToBool($el.data('brush-reset-on-new')), false),\r\n\r\n coordmap: data.coordmap\r\n };\r\n\r\n img = document.createElement('img');\r\n // Copy items from data to img. This should include 'src'\r\n $.each(data, function(key, value) {\r\n if (value !== null)\r\n img[key] = value;\r\n });\r\n\r\n var $img = $(img);\r\n\r\n if (!opts.coordmap)\r\n opts.coordmap = [];\r\n\r\n imageutils.initCoordmap($el, opts.coordmap);\r\n\r\n // This object listens for mousedowns, and triggers mousedown2 and dblclick2\r\n // events as appropriate.\r\n var clickInfo = imageutils.createClickInfo($el, opts.dblclickId, opts.dblclickDelay);\r\n\r\n $el.on('mousedown.image_output', clickInfo.mousedown);\r\n\r\n if (browser.isIE && browser.IEVersion === 8) {\r\n $el.on('dblclick.image_output', clickInfo.dblclickIE8);\r\n }\r\n\r\n // ----------------------------------------------------------\r\n // Register the various event handlers\r\n // ----------------------------------------------------------\r\n if (opts.clickId) {\r\n var clickHandler = imageutils.createClickHandler(opts.clickId,\r\n opts.clickClip, opts.coordmap);\r\n $el.on('mousedown2.image_output', clickHandler.mousedown);\r\n\r\n // When img is removed, do housekeeping: clear $el's mouse listener and\r\n // call the handler's onRemoveImg callback.\r\n $img.on('remove', clickHandler.onRemoveImg);\r\n }\r\n\r\n if (opts.dblclickId) {\r\n // We'll use the clickHandler's mousedown function, but register it to\r\n // our custom 'dblclick2' event.\r\n var dblclickHandler = imageutils.createClickHandler(opts.dblclickId,\r\n opts.clickClip, opts.coordmap);\r\n $el.on('dblclick2.image_output', dblclickHandler.mousedown);\r\n\r\n $img.on('remove', dblclickHandler.onRemoveImg);\r\n }\r\n\r\n if (opts.hoverId) {\r\n var hoverHandler = imageutils.createHoverHandler(opts.hoverId,\r\n opts.hoverDelay, opts.hoverDelayType, opts.hoverClip,\r\n opts.hoverNullOutside, opts.coordmap);\r\n $el.on('mousemove.image_output', hoverHandler.mousemove);\r\n $el.on('mouseout.image_output', hoverHandler.mouseout);\r\n\r\n $img.on('remove', hoverHandler.onRemoveImg);\r\n }\r\n\r\n if (opts.brushId) {\r\n // Make image non-draggable (Chrome, Safari)\r\n $img.css('-webkit-user-drag', 'none');\r\n // Firefox, IE<=10\r\n $img.on('dragstart', function() { return false; });\r\n\r\n // Disable selection of image and text when dragging in IE<=10\r\n $el.on('selectstart.image_output', function() { return false; });\r\n\r\n var brushHandler = imageutils.createBrushHandler(opts.brushId, $el, opts,\r\n opts.coordmap, outputId);\r\n $el.on('mousedown.image_output', brushHandler.mousedown);\r\n $el.on('mousemove.image_output', brushHandler.mousemove);\r\n\r\n $img.on('remove', brushHandler.onRemoveImg);\r\n }\r\n\r\n if (opts.clickId || opts.dblclickId || opts.hoverId || opts.brushId) {\r\n $el.addClass('crosshair');\r\n }\r\n\r\n // Remove all elements except brush, usually image plus error messages.\r\n // These extra contortions are needed to select the bare text of error\r\n // message.\r\n $el.contents().filter(function() {\r\n return this.id !== el.id + '_brush';\r\n }).remove();\r\n\r\n if (img)\r\n $el.append(img);\r\n\r\n if (data.error)\r\n console.log('Error on server extracting coordmap: ' + data.error);\r\n }\r\n});\r\noutputBindings.register(imageOutputBinding, 'shiny.imageOutput');\r\n\r\n\r\nvar imageutils = {};\r\n\r\n\r\n// Modifies the panel objects in a coordmap, adding scale(), scaleInv(),\r\n// and clip() functions to each one.\r\nimageutils.initPanelScales = function(coordmap) {\r\n // Map a value x from a domain to a range. If clip is true, clip it to the\r\n // range.\r\n function mapLinear(x, domainMin, domainMax, rangeMin, rangeMax, clip) {\r\n // By default, clip to range\r\n clip = clip || true;\r\n\r\n var factor = (rangeMax - rangeMin) / (domainMax - domainMin);\r\n var val = x - domainMin;\r\n var newval = (val * factor) + rangeMin;\r\n\r\n if (clip) {\r\n var max = Math.max(rangeMax, rangeMin);\r\n var min = Math.min(rangeMax, rangeMin);\r\n if (newval > max)\r\n newval = max;\r\n else if (newval < min)\r\n newval = min;\r\n }\r\n return newval;\r\n }\r\n\r\n // Create scale and inverse-scale functions for a single direction (x or y).\r\n function scaler1D(domainMin, domainMax, rangeMin, rangeMax, logbase) {\r\n return {\r\n scale: function(val, clip) {\r\n if (logbase)\r\n val = Math.log(val) / Math.log(logbase);\r\n return mapLinear(val, domainMin, domainMax, rangeMin, rangeMax, clip);\r\n },\r\n\r\n scaleInv: function(val, clip) {\r\n var res = mapLinear(val, rangeMin, rangeMax, domainMin, domainMax, clip);\r\n if (logbase)\r\n res = Math.pow(logbase, res);\r\n return res;\r\n }\r\n };\r\n }\r\n\r\n // Modify panel, adding scale and inverse-scale functions that take objects\r\n // like {x:1, y:3}, and also add clip function.\r\n function addScaleFuns(panel) {\r\n var d = panel.domain;\r\n var r = panel.range;\r\n var xlog = (panel.log && panel.log.x) ? panel.log.x : null;\r\n var ylog = (panel.log && panel.log.y) ? panel.log.y : null;\r\n var xscaler = scaler1D(d.left, d.right, r.left, r.right, xlog);\r\n var yscaler = scaler1D(d.bottom, d.top, r.bottom, r.top, ylog);\r\n\r\n panel.scale = function(val, clip) {\r\n return {\r\n x: xscaler.scale(val.x, clip),\r\n y: yscaler.scale(val.y, clip)\r\n };\r\n };\r\n\r\n panel.scaleInv = function(val, clip) {\r\n return {\r\n x: xscaler.scaleInv(val.x, clip),\r\n y: yscaler.scaleInv(val.y, clip)\r\n };\r\n };\r\n\r\n // Given a scaled offset (in pixels), clip it to the nearest panel region.\r\n panel.clip = function(offset) {\r\n var newOffset = {\r\n x: offset.x,\r\n y: offset.y\r\n };\r\n\r\n var bounds = panel.range;\r\n\r\n if (offset.x > bounds.right) newOffset.x = bounds.right;\r\n else if (offset.x < bounds.left) newOffset.x = bounds.left;\r\n\r\n if (offset.y > bounds.bottom) newOffset.y = bounds.bottom;\r\n else if (offset.y < bounds.top) newOffset.y = bounds.top;\r\n\r\n return newOffset;\r\n };\r\n }\r\n\r\n // Add the functions to each panel object.\r\n for (var i=0; i max) {\r\n shiftAmount = max - maxval;\r\n } else if (minval < min) {\r\n shiftAmount = min - minval;\r\n }\r\n\r\n var newvals = [];\r\n for (var i=0; i= b.left - expand &&\r\n y <= b.bottom + expand &&\r\n y >= b.top - expand)\r\n {\r\n matches.push(coordmap[i]);\r\n\r\n // Find distance from edges for x and y\r\n var xdist = 0;\r\n var ydist = 0;\r\n if (x > b.right && x <= b.right + expand) {\r\n xdist = x - b.right;\r\n } else if (x < b.left && x >= b.left - expand) {\r\n xdist = x - b.left;\r\n }\r\n if (y > b.bottom && y <= b.bottom + expand) {\r\n ydist = y - b.bottom;\r\n } else if (y < b.top && y >= b.top - expand) {\r\n ydist = y - b.top;\r\n }\r\n\r\n // Cartesian distance\r\n dists.push(Math.sqrt( Math.pow(xdist, 2) + Math.pow(ydist, 2) ));\r\n }\r\n }\r\n\r\n if (matches.length) {\r\n // Find shortest distance\r\n var min_dist = Math.min.apply(null, dists);\r\n for (i=0; i 2 ||\r\n Math.abs(pending_e.offsetY - e.offsetY) > 2) {\r\n\r\n triggerPendingMousedown2();\r\n scheduleMousedown2(e);\r\n\r\n } else {\r\n // The second click was close to the first one. If it happened\r\n // within specified delay, trigger our custom 'dblclick2' event.\r\n pending_e = null;\r\n triggerEvent('dblclick2', e);\r\n }\r\n }\r\n }\r\n\r\n // IE8 needs a special hack because when you do a double-click it doesn't\r\n // trigger the click event twice - it directly triggers dblclick.\r\n function dblclickIE8(e) {\r\n e.which = 1; // In IE8, e.which is 0 instead of 1. ???\r\n triggerEvent('dblclick2', e);\r\n }\r\n\r\n return {\r\n mousedown: mousedown,\r\n dblclickIE8: dblclickIE8\r\n };\r\n};\r\n\r\n\r\n// ----------------------------------------------------------\r\n// Handler creators for click, hover, brush.\r\n// Each of these returns an object with a few public members. These public\r\n// members are callbacks that are meant to be bound to events on $el with\r\n// the same name (like 'mousedown').\r\n// ----------------------------------------------------------\r\n\r\nimageutils.createClickHandler = function(inputId, clip, coordmap) {\r\n var clickInfoSender = coordmap.mouseCoordinateSender(inputId, clip);\r\n\r\n return {\r\n mousedown: function(e) {\r\n // Listen for left mouse button only\r\n if (e.which !== 1) return;\r\n clickInfoSender(e);\r\n },\r\n onRemoveImg: function() { clickInfoSender(null); }\r\n };\r\n};\r\n\r\n\r\nimageutils.createHoverHandler = function(inputId, delay, delayType, clip,\r\n nullOutside, coordmap)\r\n{\r\n var sendHoverInfo = coordmap.mouseCoordinateSender(inputId, clip, nullOutside);\r\n\r\n var hoverInfoSender;\r\n if (delayType === 'throttle')\r\n hoverInfoSender = new Throttler(null, sendHoverInfo, delay);\r\n else\r\n hoverInfoSender = new Debouncer(null, sendHoverInfo, delay);\r\n\r\n // What to do when mouse exits the image\r\n var mouseout;\r\n if (nullOutside)\r\n mouseout = function() { hoverInfoSender.normalCall(null); };\r\n else\r\n mouseout = function() {};\r\n\r\n return {\r\n mousemove: function(e) { hoverInfoSender.normalCall(e); },\r\n mouseout: mouseout,\r\n onRemoveImg: function() { hoverInfoSender.immediateCall(null); }\r\n };\r\n};\r\n\r\n\r\n// Returns a brush handler object. This has three public functions:\r\n// mousedown, mousemove, and onRemoveImg.\r\nimageutils.createBrushHandler = function(inputId, $el, opts, coordmap, outputId) {\r\n // Parameter: expand the area in which a brush can be started, by this\r\n // many pixels in all directions. (This should probably be a brush option)\r\n var expandPixels = 20;\r\n\r\n // Represents the state of the brush\r\n var brush = imageutils.createBrush($el, opts, coordmap, expandPixels);\r\n\r\n // Brush IDs can span multiple image/plot outputs. When an output is brushed,\r\n // if a brush with the same ID is active on a different image/plot, it must\r\n // be dismissed (but without sending any data to the server). We implement\r\n // this by sending the shiny-internal:brushed event to all plots, and letting\r\n // each plot decide for itself what to do.\r\n //\r\n // The decision to have the event sent to each plot (as opposed to a single\r\n // event triggered on, say, the document) was made to make cleanup easier;\r\n // listening on an event on the document would prevent garbage collection\r\n // of plot outputs that are removed from the document.\r\n $el.on(\"shiny-internal:brushed.image_output\", function(e, coords) {\r\n // If the new brush shares our ID but not our output element ID, we\r\n // need to clear our brush (if any).\r\n if (coords.brushId === inputId && coords.outputId !== outputId) {\r\n $el.data(\"mostRecentBrush\", false);\r\n brush.reset();\r\n }\r\n });\r\n\r\n // Set cursor to one of 7 styles. We need to set the cursor on the whole\r\n // el instead of the brush div, because the brush div has\r\n // 'pointer-events:none' so that it won't intercept pointer events.\r\n // If `style` is null, don't add a cursor style.\r\n function setCursorStyle(style) {\r\n $el.removeClass('crosshair grabbable grabbing ns-resize ew-resize nesw-resize nwse-resize');\r\n\r\n if (style) $el.addClass(style);\r\n }\r\n\r\n function sendBrushInfo() {\r\n var coords = brush.boundsData();\r\n\r\n // We're in a new or reset state\r\n if (isNaN(coords.xmin)) {\r\n exports.onInputChange(inputId, null);\r\n // Must tell other brushes to clear.\r\n imageOutputBinding.find(document).trigger(\"shiny-internal:brushed\", {\r\n brushId: inputId, outputId: null\r\n });\r\n return;\r\n }\r\n\r\n var panel = brush.getPanel();\r\n\r\n // Add the panel (facet) variables, if present\r\n $.extend(coords, panel.panel_vars);\r\n\r\n // Add variable name mappings\r\n coords.mapping = panel.mapping;\r\n\r\n // Add scaling information\r\n coords.domain = panel.domain;\r\n coords.range = panel.range;\r\n coords.log = panel.log;\r\n\r\n coords.direction = opts.brushDirection;\r\n\r\n coords.brushId = inputId;\r\n coords.outputId = outputId;\r\n\r\n // Send data to server\r\n exports.onInputChange(inputId, coords);\r\n\r\n $el.data(\"mostRecentBrush\", true);\r\n imageOutputBinding.find(document).trigger(\"shiny-internal:brushed\", coords);\r\n }\r\n\r\n var brushInfoSender;\r\n if (opts.brushDelayType === 'throttle') {\r\n brushInfoSender = new Throttler(null, sendBrushInfo, opts.brushDelay);\r\n } else {\r\n brushInfoSender = new Debouncer(null, sendBrushInfo, opts.brushDelay);\r\n }\r\n\r\n function mousedown(e) {\r\n // This can happen when mousedown inside the graphic, then mouseup\r\n // outside, then mousedown inside. Just ignore the second\r\n // mousedown.\r\n if (brush.isBrushing() || brush.isDragging() || brush.isResizing()) return;\r\n\r\n // Listen for left mouse button only\r\n if (e.which !== 1) return;\r\n\r\n var offset = coordmap.mouseOffset(e);\r\n\r\n // Ignore mousedown events outside of plotting region, expanded by\r\n // a number of pixels specified in expandPixels.\r\n if (opts.brushClip && !coordmap.isInPanel(offset, expandPixels))\r\n return;\r\n\r\n brush.up({ x: NaN, y: NaN });\r\n brush.down(offset);\r\n\r\n\r\n if (brush.isInResizeArea(offset)) {\r\n brush.startResizing(offset);\r\n\r\n // Attach the move and up handlers to the window so that they respond\r\n // even when the mouse is moved outside of the image.\r\n $(document)\r\n .on('mousemove.image_brush', mousemoveResizing)\r\n .on('mouseup.image_brush', mouseupResizing);\r\n\r\n } else if (brush.isInsideBrush(offset)) {\r\n brush.startDragging(offset);\r\n setCursorStyle('grabbing');\r\n\r\n // Attach the move and up handlers to the window so that they respond\r\n // even when the mouse is moved outside of the image.\r\n $(document)\r\n .on('mousemove.image_brush', mousemoveDragging)\r\n .on('mouseup.image_brush', mouseupDragging);\r\n\r\n } else {\r\n var panel = coordmap.getPanel(offset, expandPixels);\r\n brush.startBrushing(panel.clip(offset));\r\n\r\n // Attach the move and up handlers to the window so that they respond\r\n // even when the mouse is moved outside of the image.\r\n $(document)\r\n .on('mousemove.image_brush', mousemoveBrushing)\r\n .on('mouseup.image_brush', mouseupBrushing);\r\n }\r\n }\r\n\r\n // This sets the cursor style when it's in the el\r\n function mousemove(e) {\r\n var offset = coordmap.mouseOffset(e);\r\n\r\n if (!(brush.isBrushing() || brush.isDragging() || brush.isResizing())) {\r\n // Set the cursor depending on where it is\r\n if (brush.isInResizeArea(offset)) {\r\n var r = brush.whichResizeSides(offset);\r\n\r\n if ((r.left && r.top) || (r.right && r.bottom)) {\r\n setCursorStyle('nwse-resize');\r\n } else if ((r.left && r.bottom) || (r.right && r.top)) {\r\n setCursorStyle('nesw-resize');\r\n } else if (r.left || r.right) {\r\n setCursorStyle('ew-resize');\r\n } else if (r.top || r.bottom) {\r\n setCursorStyle('ns-resize');\r\n }\r\n } else if (brush.isInsideBrush(offset)) {\r\n setCursorStyle('grabbable');\r\n } else if (coordmap.isInPanel(offset, expandPixels)) {\r\n setCursorStyle('crosshair');\r\n } else {\r\n setCursorStyle(null);\r\n }\r\n }\r\n }\r\n\r\n // mousemove handlers while brushing or dragging\r\n function mousemoveBrushing(e) {\r\n brush.brushTo(coordmap.mouseOffset(e));\r\n brushInfoSender.normalCall();\r\n }\r\n\r\n function mousemoveDragging(e) {\r\n brush.dragTo(coordmap.mouseOffset(e));\r\n brushInfoSender.normalCall();\r\n }\r\n\r\n function mousemoveResizing(e) {\r\n brush.resizeTo(coordmap.mouseOffset(e));\r\n brushInfoSender.normalCall();\r\n }\r\n\r\n // mouseup handlers while brushing or dragging\r\n function mouseupBrushing(e) {\r\n // Listen for left mouse button only\r\n if (e.which !== 1) return;\r\n\r\n $(document)\r\n .off('mousemove.image_brush')\r\n .off('mouseup.image_brush');\r\n\r\n brush.up(coordmap.mouseOffset(e));\r\n\r\n brush.stopBrushing();\r\n setCursorStyle('crosshair');\r\n\r\n // If the brush didn't go anywhere, hide the brush, clear value,\r\n // and return.\r\n if (brush.down().x === brush.up().x && brush.down().y === brush.up().y) {\r\n brush.reset();\r\n brushInfoSender.immediateCall();\r\n return;\r\n }\r\n\r\n // Send info immediately on mouseup, but only if needed. If we don't\r\n // do the pending check, we might send the same data twice (with\r\n // with difference nonce).\r\n if (brushInfoSender.isPending())\r\n brushInfoSender.immediateCall();\r\n }\r\n\r\n function mouseupDragging(e) {\r\n // Listen for left mouse button only\r\n if (e.which !== 1) return;\r\n\r\n $(document)\r\n .off('mousemove.image_brush')\r\n .off('mouseup.image_brush');\r\n\r\n brush.up(coordmap.mouseOffset(e));\r\n\r\n brush.stopDragging();\r\n setCursorStyle('grabbable');\r\n\r\n if (brushInfoSender.isPending())\r\n brushInfoSender.immediateCall();\r\n }\r\n\r\n function mouseupResizing(e) {\r\n // Listen for left mouse button only\r\n if (e.which !== 1) return;\r\n\r\n $(document)\r\n .off('mousemove.image_brush')\r\n .off('mouseup.image_brush');\r\n\r\n brush.up(coordmap.mouseOffset(e));\r\n brush.stopResizing();\r\n\r\n if (brushInfoSender.isPending())\r\n brushInfoSender.immediateCall();\r\n\r\n }\r\n\r\n // Brush maintenance: When an image is re-rendered, the brush must either\r\n // be removed (if brushResetOnNew) or imported (if !brushResetOnNew). The\r\n // \"mostRecentBrush\" bit is to ensure that when multiple outputs share the\r\n // same brush ID, inactive brushes don't send null values up to the server.\r\n\r\n // This should be called when the img (not the el) is removed\r\n function onRemoveImg() {\r\n if (opts.brushResetOnNew) {\r\n if ($el.data(\"mostRecentBrush\")) {\r\n brush.reset();\r\n brushInfoSender.immediateCall();\r\n }\r\n }\r\n }\r\n\r\n if (!opts.brushResetOnNew) {\r\n if ($el.data(\"mostRecentBrush\")) {\r\n brush.importOldBrush();\r\n brushInfoSender.immediateCall();\r\n }\r\n }\r\n\r\n return {\r\n mousedown: mousedown,\r\n mousemove: mousemove,\r\n onRemoveImg: onRemoveImg\r\n };\r\n};\r\n\r\n// Returns an object that represents the state of the brush. This gets wrapped\r\n// in a brushHandler, which provides various event listeners.\r\nimageutils.createBrush = function($el, opts, coordmap, expandPixels) {\r\n // Number of pixels outside of brush to allow start resizing\r\n var resizeExpand = 10;\r\n\r\n var el = $el[0];\r\n var $div = null; // The div representing the brush\r\n\r\n var state = {};\r\n reset();\r\n\r\n function reset() {\r\n // Current brushing/dragging/resizing state\r\n state.brushing = false;\r\n state.dragging = false;\r\n state.resizing = false;\r\n\r\n // Offset of last mouse down and up events\r\n state.down = { x: NaN, y: NaN };\r\n state.up = { x: NaN, y: NaN };\r\n\r\n // Which side(s) we're currently resizing\r\n state.resizeSides = {\r\n left: false,\r\n right: false,\r\n top: false,\r\n bottom: false\r\n };\r\n\r\n // Bounding rectangle of the brush, in pixel and data dimensions. We need to\r\n // record data dimensions along with pixel dimensions so that when a new\r\n // plot is sent, we can re-draw the brush div with the appropriate coords.\r\n state.boundsPx = {\r\n xmin: NaN,\r\n xmax: NaN,\r\n ymin: NaN,\r\n ymax: NaN\r\n };\r\n state.boundsData = {\r\n xmin: NaN,\r\n xmax: NaN,\r\n ymin: NaN,\r\n ymax: NaN\r\n };\r\n\r\n // Panel object that the brush is in\r\n state.panel = null;\r\n\r\n // The bounds at the start of a drag/resize\r\n state.changeStartBounds = {\r\n xmin: NaN,\r\n xmax: NaN,\r\n ymin: NaN,\r\n ymax: NaN\r\n };\r\n\r\n if ($div)\r\n $div.remove();\r\n }\r\n\r\n // If there's an existing brush div, use that div to set the new brush's\r\n // settings, provided that the x, y, and panel variables have the same names,\r\n // and there's a panel with matching panel variable values.\r\n function importOldBrush() {\r\n var oldDiv = $el.find('#' + el.id + '_brush');\r\n if (oldDiv.length === 0)\r\n return;\r\n\r\n var oldBoundsData = oldDiv.data('bounds-data');\r\n var oldPanel = oldDiv.data('panel');\r\n\r\n if (!oldBoundsData || !oldPanel)\r\n return;\r\n\r\n // Compare two objects. This checks that objects a and b have the same est\r\n // of keys, and that each key has the same value. This function isn't\r\n // perfect, but it's good enough for comparing variable mappings, below.\r\n function isEquivalent(a, b) {\r\n if (a === undefined) {\r\n if (b === undefined)\r\n return true;\r\n else\r\n return false;\r\n }\r\n if (a === null) {\r\n if (b === null)\r\n return true;\r\n else\r\n return false;\r\n }\r\n\r\n var aProps = Object.getOwnPropertyNames(a);\r\n var bProps = Object.getOwnPropertyNames(b);\r\n\r\n if (aProps.length != bProps.length)\r\n return false;\r\n\r\n for (var i=0; i= bounds.xmin &&\r\n offset.y <= bounds.ymax && offset.y >= bounds.ymin;\r\n }\r\n\r\n // Return true if offset is inside a region to start a resize\r\n function isInResizeArea(offset) {\r\n var sides = whichResizeSides(offset);\r\n return sides.left || sides.right || sides.top || sides.bottom;\r\n }\r\n\r\n // Return an object representing which resize region(s) the cursor is in.\r\n function whichResizeSides(offset) {\r\n var b = state.boundsPx;\r\n // Bounds with expansion\r\n var e = {\r\n xmin: b.xmin - resizeExpand,\r\n xmax: b.xmax + resizeExpand,\r\n ymin: b.ymin - resizeExpand,\r\n ymax: b.ymax + resizeExpand\r\n };\r\n var res = {\r\n left: false,\r\n right: false,\r\n top: false,\r\n bottom: false\r\n };\r\n\r\n if ((opts.brushDirection === 'xy' || opts.brushDirection === 'x') &&\r\n (offset.y <= e.ymax && offset.y >= e.ymin))\r\n {\r\n if (offset.x < b.xmin && offset.x >= e.xmin)\r\n res.left = true;\r\n else if (offset.x > b.xmax && offset.x <= e.xmax)\r\n res.right = true;\r\n }\r\n\r\n if ((opts.brushDirection === 'xy' || opts.brushDirection === 'y') &&\r\n (offset.x <= e.xmax && offset.x >= e.xmin))\r\n {\r\n if (offset.y < b.ymin && offset.y >= e.ymin)\r\n res.top = true;\r\n else if (offset.y > b.ymax && offset.y <= e.ymax)\r\n res.bottom = true;\r\n }\r\n\r\n return res;\r\n }\r\n\r\n\r\n // Sets the bounds of the brush, given a box and optional panel. This\r\n // will fit the box bounds into the panel, so we don't brush outside of it.\r\n // This knows whether we're brushing in the x, y, or xy directions, and sets\r\n // bounds accordingly.\r\n // If no box is passed in, return current bounds.\r\n function boundsPx(box) {\r\n if (box === undefined)\r\n return state.boundsPx;\r\n\r\n var min = { x: box.xmin, y: box.ymin };\r\n var max = { x: box.xmax, y: box.ymax };\r\n\r\n var panel = state.panel;\r\n var panelBounds = panel.range;\r\n\r\n if (opts.brushClip) {\r\n min = panel.clip(min);\r\n max = panel.clip(max);\r\n }\r\n\r\n if (opts.brushDirection === 'xy') {\r\n // No change\r\n\r\n } else if (opts.brushDirection === 'x') {\r\n // Extend top and bottom of plotting area\r\n min.y = panelBounds.top;\r\n max.y = panelBounds.bottom;\r\n\r\n } else if (opts.brushDirection === 'y') {\r\n min.x = panelBounds.left;\r\n max.x = panelBounds.right;\r\n }\r\n\r\n state.boundsPx = {\r\n xmin: min.x,\r\n xmax: max.x,\r\n ymin: min.y,\r\n ymax: max.y\r\n };\r\n\r\n // Positions in data space\r\n var minData = state.panel.scaleInv(min);\r\n var maxData = state.panel.scaleInv(max);\r\n // For reversed scales, the min and max can be reversed, so use findBox\r\n // to ensure correct order.\r\n state.boundsData = coordmap.findBox(minData, maxData);\r\n\r\n // We also need to attach the data bounds and panel as data attributes, so\r\n // that if the image is re-sent, we can grab the data bounds to create a new\r\n // brush. This should be fast because it doesn't actually modify the DOM.\r\n $div.data('bounds-data', state.boundsData);\r\n $div.data('panel', state.panel);\r\n }\r\n\r\n // Get or set the bounds of the brush using coordinates in the data space.\r\n function boundsData(box) {\r\n if (box === undefined) {\r\n return state.boundsData;\r\n }\r\n\r\n var min = { x: box.xmin, y: box.ymin };\r\n var max = { x: box.xmax, y: box.ymax };\r\n\r\n var minPx = state.panel.scale(min);\r\n var maxPx = state.panel.scale(max);\r\n\r\n // The scaling function can reverse the direction of the axes, so we need to\r\n // find the min and max again.\r\n boundsPx({\r\n xmin: Math.min(minPx.x, maxPx.x),\r\n xmax: Math.max(minPx.x, maxPx.x),\r\n ymin: Math.min(minPx.y, maxPx.y),\r\n ymax: Math.max(minPx.y, maxPx.y)\r\n });\r\n }\r\n\r\n function getPanel() {\r\n return state.panel;\r\n }\r\n\r\n // Add a new div representing the brush.\r\n function addDiv() {\r\n if ($div) $div.remove();\r\n\r\n // Start hidden; we'll show it when movement occurs\r\n $div = $(document.createElement('div'))\r\n .attr('id', el.id + '_brush')\r\n .css({\r\n 'background-color': opts.brushFill,\r\n 'opacity': opts.brushOpacity,\r\n 'pointer-events': 'none',\r\n 'position': 'absolute'\r\n })\r\n .hide();\r\n\r\n var borderStyle = '1px solid ' + opts.brushStroke;\r\n if (opts.brushDirection === 'xy') {\r\n $div.css({\r\n 'border': borderStyle\r\n });\r\n } else if (opts.brushDirection === 'x') {\r\n $div.css({\r\n 'border-left': borderStyle,\r\n 'border-right': borderStyle\r\n });\r\n } else if (opts.brushDirection === 'y') {\r\n $div.css({\r\n 'border-top': borderStyle,\r\n 'border-bottom': borderStyle\r\n });\r\n }\r\n\r\n $el.append($div);\r\n $div.offset({x:0, y:0}).width(0).outerHeight(0);\r\n }\r\n\r\n // Update the brush div to reflect the current brush bounds.\r\n function updateDiv() {\r\n // Need parent offset relative to page to calculate mouse offset\r\n // relative to page.\r\n var imgOffset = $el.offset();\r\n var b = state.boundsPx;\r\n $div.offset({\r\n top: imgOffset.top + b.ymin,\r\n left: imgOffset.left + b.xmin\r\n })\r\n .outerWidth(b.xmax - b.xmin + 1)\r\n .outerHeight(b.ymax - b.ymin + 1);\r\n }\r\n\r\n function down(offset) {\r\n if (offset === undefined)\r\n return state.down;\r\n\r\n state.down = offset;\r\n }\r\n\r\n function up(offset) {\r\n if (offset === undefined)\r\n return state.up;\r\n\r\n state.up = offset;\r\n }\r\n\r\n function isBrushing() {\r\n return state.brushing;\r\n }\r\n\r\n function startBrushing() {\r\n state.brushing = true;\r\n addDiv();\r\n state.panel = coordmap.getPanel(state.down, expandPixels);\r\n\r\n boundsPx(coordmap.findBox(state.down, state.down));\r\n updateDiv();\r\n }\r\n\r\n function brushTo(offset) {\r\n boundsPx(coordmap.findBox(state.down, offset));\r\n $div.show();\r\n updateDiv();\r\n }\r\n\r\n function stopBrushing() {\r\n state.brushing = false;\r\n\r\n // Save the final bounding box of the brush\r\n boundsPx(coordmap.findBox(state.down, state.up));\r\n }\r\n\r\n function isDragging() {\r\n return state.dragging;\r\n }\r\n\r\n function startDragging() {\r\n state.dragging = true;\r\n state.changeStartBounds = $.extend({}, state.boundsPx);\r\n }\r\n\r\n function dragTo(offset) {\r\n // How far the brush was dragged\r\n var dx = offset.x - state.down.x;\r\n var dy = offset.y - state.down.y;\r\n\r\n // Calculate what new positions would be, before clipping.\r\n var start = state.changeStartBounds;\r\n var newBounds = {\r\n xmin: start.xmin + dx,\r\n xmax: start.xmax + dx,\r\n ymin: start.ymin + dy,\r\n ymax: start.ymax + dy\r\n };\r\n\r\n // Clip to the plotting area\r\n if (opts.brushClip) {\r\n var panelBounds = state.panel.range;\r\n\r\n // Convert to format for shiftToRange\r\n var xvals = [ newBounds.xmin, newBounds.xmax ];\r\n var yvals = [ newBounds.ymin, newBounds.ymax ];\r\n\r\n xvals = coordmap.shiftToRange(xvals, panelBounds.left, panelBounds.right);\r\n yvals = coordmap.shiftToRange(yvals, panelBounds.top, panelBounds.bottom);\r\n\r\n // Convert back to bounds format\r\n newBounds = {\r\n xmin: xvals[0],\r\n xmax: xvals[1],\r\n ymin: yvals[0],\r\n ymax: yvals[1]\r\n };\r\n }\r\n\r\n boundsPx(newBounds);\r\n updateDiv();\r\n }\r\n\r\n function stopDragging() {\r\n state.dragging = false;\r\n }\r\n\r\n function isResizing() {\r\n return state.resizing;\r\n }\r\n\r\n function startResizing() {\r\n state.resizing = true;\r\n state.changeStartBounds = $.extend({}, state.boundsPx);\r\n state.resizeSides = whichResizeSides(state.down);\r\n }\r\n\r\n function resizeTo(offset) {\r\n // How far the brush was dragged\r\n var dx = offset.x - state.down.x;\r\n var dy = offset.y - state.down.y;\r\n\r\n // Calculate what new positions would be, before clipping.\r\n var b = $.extend({}, state.changeStartBounds);\r\n var panelBounds = state.panel.range;\r\n\r\n if (state.resizeSides.left) {\r\n b.xmin = coordmap.shiftToRange([b.xmin + dx], panelBounds.left, b.xmax)[0];\r\n } else if (state.resizeSides.right) {\r\n b.xmax = coordmap.shiftToRange([b.xmax + dx], b.xmin, panelBounds.right)[0];\r\n }\r\n\r\n if (state.resizeSides.top) {\r\n b.ymin = coordmap.shiftToRange([b.ymin + dy], panelBounds.top, b.ymax)[0];\r\n } else if (state.resizeSides.bottom) {\r\n b.ymax = coordmap.shiftToRange([b.ymax + dy], b.ymin, panelBounds.bottom)[0];\r\n }\r\n\r\n boundsPx(b);\r\n updateDiv();\r\n }\r\n\r\n function stopResizing() {\r\n state.resizing = false;\r\n }\r\n\r\n return {\r\n reset: reset,\r\n\r\n importOldBrush: importOldBrush,\r\n isInsideBrush: isInsideBrush,\r\n isInResizeArea: isInResizeArea,\r\n whichResizeSides: whichResizeSides,\r\n\r\n boundsPx: boundsPx,\r\n boundsData: boundsData,\r\n getPanel: getPanel,\r\n\r\n down: down,\r\n up: up,\r\n\r\n isBrushing: isBrushing,\r\n startBrushing: startBrushing,\r\n brushTo: brushTo,\r\n stopBrushing: stopBrushing,\r\n\r\n isDragging: isDragging,\r\n startDragging: startDragging,\r\n dragTo: dragTo,\r\n stopDragging: stopDragging,\r\n\r\n isResizing: isResizing,\r\n startResizing: startResizing,\r\n resizeTo: resizeTo,\r\n stopResizing: stopResizing\r\n };\r\n};\r\n","//---------------------------------------------------------------------\n// Source file: ../srcjs/output_binding_html.js\n\nvar htmlOutputBinding = new OutputBinding();\r\n$.extend(htmlOutputBinding, {\r\n find: function(scope) {\r\n return $(scope).find('.shiny-html-output');\r\n },\r\n onValueError: function(el, err) {\r\n exports.unbindAll(el);\r\n this.renderError(el, err);\r\n },\r\n renderValue: function(el, data) {\r\n exports.unbindAll(el);\r\n\r\n var html;\r\n var dependencies = [];\r\n if (data === null) {\r\n html = '';\r\n } else if (typeof(data) === 'string') {\r\n html = data;\r\n } else if (typeof(data) === 'object') {\r\n html = data.html;\r\n dependencies = data.deps;\r\n }\r\n\r\n exports.renderHtml(html, el, dependencies);\r\n exports.initializeInputs(el);\r\n exports.bindAll(el);\r\n }\r\n});\r\noutputBindings.register(htmlOutputBinding, 'shiny.htmlOutput');\r\n\r\nvar renderDependencies = exports.renderDependencies = function(dependencies) {\r\n if (dependencies) {\r\n $.each(dependencies, function(i, dep) {\r\n renderDependency(dep);\r\n });\r\n }\r\n};\r\n\r\n// Render HTML in a DOM element, inserting singletons into head as needed\r\nexports.renderHtml = function(html, el, dependencies) {\r\n renderDependencies(dependencies);\r\n return singletons.renderHtml(html, el);\r\n};\r\n\r\nvar htmlDependencies = {};\r\nfunction registerDependency(name, version) {\r\n htmlDependencies[name] = version;\r\n}\r\n\r\n// Client-side dependency resolution and rendering\r\nfunction renderDependency(dep) {\r\n if (htmlDependencies.hasOwnProperty(dep.name))\r\n return false;\r\n\r\n registerDependency(dep.name, dep.version);\r\n\r\n var href = dep.src.href;\r\n\r\n var $head = $(\"head\").first();\r\n\r\n if (dep.meta) {\r\n var metas = $.map(asArray(dep.meta), function(content, name) {\r\n return $(\"\").attr(\"name\", name).attr(\"content\", content);\r\n });\r\n $head.append(metas);\r\n }\r\n\r\n if (dep.stylesheet) {\r\n var stylesheets = $.map(asArray(dep.stylesheet), function(stylesheet) {\r\n return $(\"\")\r\n .attr(\"href\", href + \"/\" + encodeURI(stylesheet));\r\n });\r\n $head.append(stylesheets);\r\n }\r\n\r\n if (dep.script) {\r\n var scripts = $.map(asArray(dep.script), function(scriptName) {\r\n return $(\"