diff --git a/static/js/libs/ZeroClipboard.js b/static/js/libs/ZeroClipboard.js index 9b9f1c6..6d81bed 100644 --- a/static/js/libs/ZeroClipboard.js +++ b/static/js/libs/ZeroClipboard.js @@ -1,359 +1,444 @@ /*! * zeroclipboard - * The Zero Clipboard library provides an easy way to copy text to the clipboard using an invisible Adobe Flash movie, and a JavaScript interface. - * Copyright 2012 Jon Rohan, James M. Greene, . + * The ZeroClipboard library provides an easy way to copy text to the clipboard using an invisible Adobe Flash movie, and a JavaScript interface. + * Copyright 2013 Jon Rohan, James M. Greene, . * Released under the MIT license - * http://jonrohan.github.com/ZeroClipboard/ - * v1.1.7 - */(function() { - "use strict"; - var _getStyle = function(el, prop) { - var y = el.style[prop]; - if (el.currentStyle) y = el.currentStyle[prop]; else if (window.getComputedStyle) y = document.defaultView.getComputedStyle(el, null).getPropertyValue(prop); - if (y == "auto" && prop == "cursor") { - var possiblePointers = [ "a" ]; - for (var i = 0; i < possiblePointers.length; i++) { - if (el.tagName.toLowerCase() == possiblePointers[i]) { - return "pointer"; - } - } - } - return y; - }; - var _elementMouseOver = function(event) { - if (!ZeroClipboard.prototype._singleton) return; - if (!event) { - event = window.event; - } - var target; - if (this !== window) { - target = this; - } else if (event.target) { - target = event.target; - } else if (event.srcElement) { - target = event.srcElement; - } - ZeroClipboard.prototype._singleton.setCurrent(target); - }; - var _addEventHandler = function(element, method, func) { - if (element.addEventListener) { - element.addEventListener(method, func, false); - } else if (element.attachEvent) { - element.attachEvent("on" + method, func); - } - }; - var _removeEventHandler = function(element, method, func) { - if (element.removeEventListener) { - element.removeEventListener(method, func, false); - } else if (element.detachEvent) { - element.detachEvent("on" + method, func); - } - }; - var _addClass = function(element, value) { - if (element.addClass) { - element.addClass(value); - return element; - } - if (value && typeof value === "string") { - var classNames = (value || "").split(/\s+/); - if (element.nodeType === 1) { - if (!element.className) { - element.className = value; + * http://zeroclipboard.github.io/ZeroClipboard/ + * v1.2.0-beta.4 + */ +(function () { + "use strict"; + var _camelizeCssPropName = function () { + var matcherRegex = /\-([a-z])/g, replacerFn = function (match, group) { + return group.toUpperCase(); + }; + return function (prop) { + return prop.replace(matcherRegex, replacerFn); + }; + }(); + var _getStyle = function (el, prop) { + var value, camelProp, tagName, possiblePointers, i, len; + if (window.getComputedStyle) { + value = window.getComputedStyle(el, null).getPropertyValue(prop); } else { - var className = " " + element.className + " ", setClass = element.className; - for (var c = 0, cl = classNames.length; c < cl; c++) { - if (className.indexOf(" " + classNames[c] + " ") < 0) { - setClass += " " + classNames[c]; + camelProp = _camelizeCssPropName(prop); + if (el.currentStyle) { + value = el.currentStyle[camelProp]; + } else { + value = el.style[camelProp]; } - } - element.className = setClass.replace(/^\s+|\s+$/g, ""); } - } - } - return element; - }; - var _removeClass = function(element, value) { - if (element.removeClass) { - element.removeClass(value); - return element; - } - if (value && typeof value === "string" || value === undefined) { - var classNames = (value || "").split(/\s+/); - if (element.nodeType === 1 && element.className) { - if (value) { - var className = (" " + element.className + " ").replace(/[\n\t]/g, " "); - for (var c = 0, cl = classNames.length; c < cl; c++) { - className = className.replace(" " + classNames[c] + " ", " "); - } - element.className = className.replace(/^\s+|\s+$/g, ""); - } else { - element.className = ""; + if (prop === "cursor") { + if (!value || value === "auto") { + tagName = el.tagName.toLowerCase(); + possiblePointers = [ "a" ]; + for (i = 0, len = possiblePointers.length; i < len; i++) { + if (tagName === possiblePointers[i]) { + return "pointer"; + } + } + } } - } - } - return element; - }; - var _getDOMObjectPosition = function(obj) { - var info = { - left: 0, - top: 0, - width: obj.width || obj.offsetWidth || 0, - height: obj.height || obj.offsetHeight || 0, - zIndex: 9999 + return value; }; - var zi = _getStyle(obj, "zIndex"); - if (zi && zi != "auto") { - info.zIndex = parseInt(zi, 10); - } - while (obj) { - var borderLeftWidth = parseInt(_getStyle(obj, "borderLeftWidth"), 10); - var borderTopWidth = parseInt(_getStyle(obj, "borderTopWidth"), 10); - info.left += isNaN(obj.offsetLeft) ? 0 : obj.offsetLeft; - info.left += isNaN(borderLeftWidth) ? 0 : borderLeftWidth; - info.top += isNaN(obj.offsetTop) ? 0 : obj.offsetTop; - info.top += isNaN(borderTopWidth) ? 0 : borderTopWidth; - obj = obj.offsetParent; - } - return info; - }; - var _noCache = function(path) { - return (path.indexOf("?") >= 0 ? "&" : "?") + "nocache=" + (new Date).getTime(); - }; - var _vars = function(options) { - var str = []; - if (options.trustedDomains) { - if (typeof options.trustedDomains === "string") { - str.push("trustedDomain=" + options.trustedDomains); - } else { - str.push("trustedDomain=" + options.trustedDomains.join(",")); - } - } - return str.join("&"); - }; - var _inArray = function(elem, array) { - if (array.indexOf) { - return array.indexOf(elem); - } - for (var i = 0, length = array.length; i < length; i++) { - if (array[i] === elem) { - return i; - } - } - return -1; - }; - var _prepGlue = function(elements) { - if (typeof elements === "string") throw new TypeError("ZeroClipboard doesn't accept query strings."); - if (!elements.length) return [ elements ]; - return elements; - }; - var ZeroClipboard = function(elements, options) { - if (elements) (ZeroClipboard.prototype._singleton || this).glue(elements); - if (ZeroClipboard.prototype._singleton) return ZeroClipboard.prototype._singleton; - ZeroClipboard.prototype._singleton = this; - this.options = {}; - for (var kd in _defaults) this.options[kd] = _defaults[kd]; - for (var ko in options) this.options[ko] = options[ko]; - this.handlers = {}; - if (ZeroClipboard.detectFlashSupport()) _bridge(); - }; - var currentElement, gluedElements = []; - ZeroClipboard.prototype.setCurrent = function(element) { - currentElement = element; - this.reposition(); - if (element.getAttribute("title")) { - this.setTitle(element.getAttribute("title")); - } - this.setHandCursor(_getStyle(element, "cursor") == "pointer"); - }; - ZeroClipboard.prototype.setText = function(newText) { - if (newText && newText !== "") { - this.options.text = newText; - if (this.ready()) this.flashBridge.setText(newText); - } - }; - ZeroClipboard.prototype.setTitle = function(newTitle) { - if (newTitle && newTitle !== "") this.htmlBridge.setAttribute("title", newTitle); - }; - ZeroClipboard.prototype.setSize = function(width, height) { - if (this.ready()) this.flashBridge.setSize(width, height); - }; - ZeroClipboard.prototype.setHandCursor = function(enabled) { - if (this.ready()) this.flashBridge.setHandCursor(enabled); - }; - ZeroClipboard.version = "1.1.7"; - var _defaults = { - moviePath: "ZeroClipboard.swf", - trustedDomains: null, - text: null, - hoverClass: "zeroclipboard-is-hover", - activeClass: "zeroclipboard-is-active", - allowScriptAccess: "sameDomain" - }; - ZeroClipboard.setDefaults = function(options) { - for (var ko in options) _defaults[ko] = options[ko]; - }; - ZeroClipboard.destroy = function() { - ZeroClipboard.prototype._singleton.unglue(gluedElements); - var bridge = ZeroClipboard.prototype._singleton.htmlBridge; - bridge.parentNode.removeChild(bridge); - delete ZeroClipboard.prototype._singleton; - }; - ZeroClipboard.detectFlashSupport = function() { - var hasFlash = false; - try { - if (new ActiveXObject("ShockwaveFlash.ShockwaveFlash")) { - hasFlash = true; - } - } catch (error) { - if (navigator.mimeTypes["application/x-shockwave-flash"]) { - hasFlash = true; - } - } - return hasFlash; - }; - var _bridge = function() { - var client = ZeroClipboard.prototype._singleton; - var container = document.getElementById("global-zeroclipboard-html-bridge"); - if (!container) { - var html = ' '; - container = document.createElement("div"); - container.id = "global-zeroclipboard-html-bridge"; - container.setAttribute("class", "global-zeroclipboard-container"); - container.setAttribute("data-clipboard-ready", false); - container.style.position = "absolute"; - container.style.left = "-9999px"; - container.style.top = "-9999px"; - container.style.width = "15px"; - container.style.height = "15px"; - container.style.zIndex = "9999"; - container.innerHTML = html; - document.body.appendChild(container); - } - client.htmlBridge = container; - client.flashBridge = document["global-zeroclipboard-flash-bridge"] || container.children[0].lastElementChild; - }; - ZeroClipboard.prototype.resetBridge = function() { - this.htmlBridge.style.left = "-9999px"; - this.htmlBridge.style.top = "-9999px"; - this.htmlBridge.removeAttribute("title"); - this.htmlBridge.removeAttribute("data-clipboard-text"); - _removeClass(currentElement, this.options.activeClass); - currentElement = null; - this.options.text = null; - }; - ZeroClipboard.prototype.ready = function() { - var ready = this.htmlBridge.getAttribute("data-clipboard-ready"); - return ready === "true" || ready === true; - }; - ZeroClipboard.prototype.reposition = function() { - if (!currentElement) return false; - var pos = _getDOMObjectPosition(currentElement); - this.htmlBridge.style.top = pos.top + "px"; - this.htmlBridge.style.left = pos.left + "px"; - this.htmlBridge.style.width = pos.width + "px"; - this.htmlBridge.style.height = pos.height + "px"; - this.htmlBridge.style.zIndex = pos.zIndex + 1; - this.setSize(pos.width, pos.height); - }; - ZeroClipboard.dispatch = function(eventName, args) { - ZeroClipboard.prototype._singleton.receiveEvent(eventName, args); - }; - ZeroClipboard.prototype.on = function(eventName, func) { - var events = eventName.toString().split(/\s/g); - for (var i = 0; i < events.length; i++) { - eventName = events[i].toLowerCase().replace(/^on/, ""); - if (!this.handlers[eventName]) this.handlers[eventName] = func; - } - if (this.handlers.noflash && !ZeroClipboard.detectFlashSupport()) { - this.receiveEvent("onNoFlash", null); - } - }; - ZeroClipboard.prototype.addEventListener = ZeroClipboard.prototype.on; - ZeroClipboard.prototype.off = function(eventName, func) { - var events = eventName.toString().split(/\s/g); - for (var i = 0; i < events.length; i++) { - eventName = events[i].toLowerCase().replace(/^on/, ""); - for (var event in this.handlers) { - if (event === eventName && this.handlers[event] === func) { - delete this.handlers[event]; + var _elementMouseOver = function (event) { + if (!ZeroClipboard.prototype._singleton) return; + if (!event) { + event = window.event; } - } - } - }; - ZeroClipboard.prototype.removeEventListener = ZeroClipboard.prototype.off; - ZeroClipboard.prototype.receiveEvent = function(eventName, args) { - eventName = eventName.toString().toLowerCase().replace(/^on/, ""); - var element = currentElement; - switch (eventName) { - case "load": - if (args && parseFloat(args.flashVersion.replace(",", ".").replace(/[^0-9\.]/gi, "")) < 10) { - this.receiveEvent("onWrongFlash", { - flashVersion: args.flashVersion + var target; + if (this !== window) { + target = this; + } else if (event.target) { + target = event.target; + } else if (event.srcElement) { + target = event.srcElement; + } + ZeroClipboard.prototype._singleton.setCurrent(target); + }; + var _addEventHandler = function (element, method, func) { + if (element.addEventListener) { + element.addEventListener(method, func, false); + } else if (element.attachEvent) { + element.attachEvent("on" + method, func); + } + }; + var _removeEventHandler = function (element, method, func) { + if (element.removeEventListener) { + element.removeEventListener(method, func, false); + } else if (element.detachEvent) { + element.detachEvent("on" + method, func); + } + }; + var _addClass = function (element, value) { + if (element.addClass) { + element.addClass(value); + return element; + } + if (value && typeof value === "string") { + var classNames = (value || "").split(/\s+/); + if (element.nodeType === 1) { + if (!element.className) { + element.className = value; + } else { + var className = " " + element.className + " ", setClass = element.className; + for (var c = 0, cl = classNames.length; c < cl; c++) { + if (className.indexOf(" " + classNames[c] + " ") < 0) { + setClass += " " + classNames[c]; + } + } + element.className = setClass.replace(/^\s+|\s+$/g, ""); + } + } + } + return element; + }; + var _removeClass = function (element, value) { + if (element.removeClass) { + element.removeClass(value); + return element; + } + if (value && typeof value === "string" || value === undefined) { + var classNames = (value || "").split(/\s+/); + if (element.nodeType === 1 && element.className) { + if (value) { + var className = (" " + element.className + " ").replace(/[\n\t]/g, " "); + for (var c = 0, cl = classNames.length; c < cl; c++) { + className = className.replace(" " + classNames[c] + " ", " "); + } + element.className = className.replace(/^\s+|\s+$/g, ""); + } else { + element.className = ""; + } + } + } + return element; + }; + var _getZoomFactor = function () { + var rect, physicalWidth, logicalWidth, zoomFactor = 1; + if (typeof document.body.getBoundingClientRect === "function") { + rect = document.body.getBoundingClientRect(); + physicalWidth = rect.right - rect.left; + logicalWidth = document.body.offsetWidth; + zoomFactor = Math.round(physicalWidth / logicalWidth * 100) / 100; + } + return zoomFactor; + }; + var _getDOMObjectPosition = function (obj) { + var info = { + left: 0, + top: 0, + width: 0, + height: 0, + zIndex: 999999999 + }; + var zi = _getStyle(obj, "z-index"); + if (zi && zi !== "auto") { + info.zIndex = parseInt(zi, 10); + } + if (obj.getBoundingClientRect) { + var rect = obj.getBoundingClientRect(); + var pageXOffset, pageYOffset, zoomFactor; + if ("pageXOffset" in window && "pageYOffset" in window) { + pageXOffset = window.pageXOffset; + pageYOffset = window.pageYOffset; + } else { + zoomFactor = _getZoomFactor(); + pageXOffset = Math.round(document.documentElement.scrollLeft / zoomFactor); + pageYOffset = Math.round(document.documentElement.scrollTop / zoomFactor); + } + var leftBorderWidth = document.documentElement.clientLeft || 0; + var topBorderWidth = document.documentElement.clientTop || 0; + info.left = rect.left + pageXOffset - leftBorderWidth; + info.top = rect.top + pageYOffset - topBorderWidth; + info.width = "width" in rect ? rect.width : rect.right - rect.left; + info.height = "height" in rect ? rect.height : rect.bottom - rect.top; + } + return info; + }; + var _noCache = function (path) { + var client = ZeroClipboard.prototype._singleton; + if (client.options.useNoCache) { + return (path.indexOf("?") >= 0 ? "&nocache=" : "?nocache=") + (new Date).getTime(); + } else { + return ""; + } + }; + var _vars = function (options) { + var str = []; + if (options.trustedDomains) { + var domains; + if (typeof options.trustedDomains === "string" && options.trustedDomains) { + domains = [ options.trustedDomains ]; + } else if ("length" in options.trustedDomains) { + domains = options.trustedDomains; + } + str.push("trustedDomain=" + encodeURIComponent(domains.join(","))); + } + if (typeof options.amdModuleId === "string" && options.amdModuleId) { + str.push("amdModuleId=" + encodeURIComponent(options.amdModuleId)); + } + if (typeof options.cjsModuleId === "string" && options.cjsModuleId) { + str.push("cjsModuleId=" + encodeURIComponent(options.cjsModuleId)); + } + return str.join("&"); + }; + var _inArray = function (elem, array) { + if (array.indexOf) { + return array.indexOf(elem); + } + for (var i = 0, length = array.length; i < length; i++) { + if (array[i] === elem) { + return i; + } + } + return -1; + }; + var _prepGlue = function (elements) { + if (typeof elements === "string") throw new TypeError("ZeroClipboard doesn't accept query strings."); + if (!elements.length) return [ elements ]; + return elements; + }; + var _dispatchCallback = function (func, element, instance, args, async) { + if (async) { + window.setTimeout(function () { + func.call(element, instance, args); + }, 0); + } else { + func.call(element, instance, args); + } + }; + var ZeroClipboard = function (elements, options) { + if (elements) (ZeroClipboard.prototype._singleton || this).glue(elements); + if (ZeroClipboard.prototype._singleton) return ZeroClipboard.prototype._singleton; + ZeroClipboard.prototype._singleton = this; + this.options = {}; + for (var kd in _defaults) this.options[kd] = _defaults[kd]; + for (var ko in options) this.options[ko] = options[ko]; + this.handlers = {}; + if (ZeroClipboard.detectFlashSupport()) _bridge(); + }; + var currentElement, gluedElements = []; + ZeroClipboard.prototype.setCurrent = function (element) { + currentElement = element; + this.reposition(); + var titleAttr = element.getAttribute("title"); + if (titleAttr) { + this.setTitle(titleAttr); + } + var useHandCursor = this.options.forceHandCursor === true || _getStyle(element, "cursor") === "pointer"; + _setHandCursor.call(this, useHandCursor); + }; + ZeroClipboard.prototype.setText = function (newText) { + if (newText && newText !== "") { + this.options.text = newText; + if (this.ready()) this.flashBridge.setText(newText); + } + }; + ZeroClipboard.prototype.setTitle = function (newTitle) { + if (newTitle && newTitle !== "") this.htmlBridge.setAttribute("title", newTitle); + }; + ZeroClipboard.prototype.setSize = function (width, height) { + if (this.ready()) this.flashBridge.setSize(width, height); + }; + ZeroClipboard.prototype.setHandCursor = function (enabled) { + enabled = typeof enabled === "boolean" ? enabled : !!enabled; + _setHandCursor.call(this, enabled); + this.options.forceHandCursor = enabled; + }; + var _setHandCursor = function (enabled) { + if (this.ready()) this.flashBridge.setHandCursor(enabled); + }; + ZeroClipboard.version = "1.2.0-beta.4"; + var _defaults = { + moviePath: "ZeroClipboard.swf", + trustedDomains: null, + text: null, + hoverClass: "zeroclipboard-is-hover", + activeClass: "zeroclipboard-is-active", + allowScriptAccess: "sameDomain", + useNoCache: true, + forceHandCursor: false + }; + ZeroClipboard.setDefaults = function (options) { + for (var ko in options) _defaults[ko] = options[ko]; + }; + ZeroClipboard.destroy = function () { + ZeroClipboard.prototype._singleton.unglue(gluedElements); + var bridge = ZeroClipboard.prototype._singleton.htmlBridge; + bridge.parentNode.removeChild(bridge); + delete ZeroClipboard.prototype._singleton; + }; + ZeroClipboard.detectFlashSupport = function () { + var hasFlash = false; + if (typeof ActiveXObject === "function") { + try { + if (new ActiveXObject("ShockwaveFlash.ShockwaveFlash")) { + hasFlash = true; + } + } catch (error) { + } + } + if (!hasFlash && navigator.mimeTypes["application/x-shockwave-flash"]) { + hasFlash = true; + } + return hasFlash; + }; + var _amdModuleId = null; + var _cjsModuleId = null; + var _bridge = function () { + var client = ZeroClipboard.prototype._singleton; + var container = document.getElementById("global-zeroclipboard-html-bridge"); + if (!container) { + var opts = {}; + for (var ko in client.options) opts[ko] = client.options[ko]; + opts.amdModuleId = _amdModuleId; + opts.cjsModuleId = _cjsModuleId; + var flashvars = _vars(opts); + var html = ' '; + container = document.createElement("div"); + container.id = "global-zeroclipboard-html-bridge"; + container.setAttribute("class", "global-zeroclipboard-container"); + container.setAttribute("data-clipboard-ready", false); + container.style.position = "absolute"; + container.style.left = "-9999px"; + container.style.top = "-9999px"; + container.style.width = "15px"; + container.style.height = "15px"; + container.style.zIndex = "9999"; + container.innerHTML = html; + document.body.appendChild(container); + } + client.htmlBridge = container; + client.flashBridge = document["global-zeroclipboard-flash-bridge"] || container.children[0].lastElementChild; + }; + ZeroClipboard.prototype.resetBridge = function () { + this.htmlBridge.style.left = "-9999px"; + this.htmlBridge.style.top = "-9999px"; + this.htmlBridge.removeAttribute("title"); + this.htmlBridge.removeAttribute("data-clipboard-text"); + _removeClass(currentElement, this.options.activeClass); + currentElement = null; + this.options.text = null; + }; + ZeroClipboard.prototype.ready = function () { + var ready = this.htmlBridge.getAttribute("data-clipboard-ready"); + return ready === "true" || ready === true; + }; + ZeroClipboard.prototype.reposition = function () { + if (!currentElement) return false; + var pos = _getDOMObjectPosition(currentElement); + this.htmlBridge.style.top = pos.top + "px"; + this.htmlBridge.style.left = pos.left + "px"; + this.htmlBridge.style.width = pos.width + "px"; + this.htmlBridge.style.height = pos.height + "px"; + this.htmlBridge.style.zIndex = pos.zIndex + 1; + this.setSize(pos.width, pos.height); + }; + ZeroClipboard.dispatch = function (eventName, args) { + ZeroClipboard.prototype._singleton.receiveEvent(eventName, args); + }; + ZeroClipboard.prototype.on = function (eventName, func) { + var events = eventName.toString().split(/\s/g); + for (var i = 0; i < events.length; i++) { + eventName = events[i].toLowerCase().replace(/^on/, ""); + if (!this.handlers[eventName]) this.handlers[eventName] = func; + } + if (this.handlers.noflash && !ZeroClipboard.detectFlashSupport()) { + this.receiveEvent("onNoFlash", null); + } + }; + ZeroClipboard.prototype.addEventListener = ZeroClipboard.prototype.on; + ZeroClipboard.prototype.off = function (eventName, func) { + var events = eventName.toString().split(/\s/g); + for (var i = 0; i < events.length; i++) { + eventName = events[i].toLowerCase().replace(/^on/, ""); + for (var event in this.handlers) { + if (event === eventName && this.handlers[event] === func) { + delete this.handlers[event]; + } + } + } + }; + ZeroClipboard.prototype.removeEventListener = ZeroClipboard.prototype.off; + ZeroClipboard.prototype.receiveEvent = function (eventName, args) { + eventName = eventName.toString().toLowerCase().replace(/^on/, ""); + var element = currentElement; + var performCallbackAsync = true; + switch (eventName) { + case "load": + if (args && parseFloat(args.flashVersion.replace(",", ".").replace(/[^0-9\.]/gi, "")) < 10) { + this.receiveEvent("onWrongFlash", { + flashVersion: args.flashVersion + }); + return; + } + this.htmlBridge.setAttribute("data-clipboard-ready", true); + break; + case "mouseover": + _addClass(element, this.options.hoverClass); + break; + case "mouseout": + _removeClass(element, this.options.hoverClass); + this.resetBridge(); + break; + case "mousedown": + _addClass(element, this.options.activeClass); + break; + case "mouseup": + _removeClass(element, this.options.activeClass); + break; + case "datarequested": + var targetId = element.getAttribute("data-clipboard-target"), targetEl = !targetId ? null : document.getElementById(targetId); + if (targetEl) { + var textContent = targetEl.value || targetEl.textContent || targetEl.innerText; + if (textContent) this.setText(textContent); + } else { + var defaultText = element.getAttribute("data-clipboard-text"); + if (defaultText) this.setText(defaultText); + } + performCallbackAsync = false; + break; + case "complete": + this.options.text = null; + break; + } + if (this.handlers[eventName]) { + var func = this.handlers[eventName]; + if (typeof func === "string" && typeof window[func] === "function") { + func = window[func]; + } + if (typeof func === "function") { + _dispatchCallback(func, element, this, args, performCallbackAsync); + } + } + }; + ZeroClipboard.prototype.glue = function (elements) { + elements = _prepGlue(elements); + for (var i = 0; i < elements.length; i++) { + if (_inArray(elements[i], gluedElements) == -1) { + gluedElements.push(elements[i]); + _addEventHandler(elements[i], "mouseover", _elementMouseOver); + } + } + }; + ZeroClipboard.prototype.unglue = function (elements) { + elements = _prepGlue(elements); + for (var i = 0; i < elements.length; i++) { + _removeEventHandler(elements[i], "mouseover", _elementMouseOver); + var arrayIndex = _inArray(elements[i], gluedElements); + if (arrayIndex != -1) gluedElements.splice(arrayIndex, 1); + } + }; + if (typeof define === "function" && define.amd) { + define([ "require", "exports", "module" ], function (require, exports, module) { + _amdModuleId = module && module.id || null; + return ZeroClipboard; }); - return; - } - this.htmlBridge.setAttribute("data-clipboard-ready", true); - break; - case "mouseover": - _addClass(element, this.options.hoverClass); - break; - case "mouseout": - _removeClass(element, this.options.hoverClass); - this.resetBridge(); - break; - case "mousedown": - _addClass(element, this.options.activeClass); - break; - case "mouseup": - _removeClass(element, this.options.activeClass); - break; - case "datarequested": - var targetId = element.getAttribute("data-clipboard-target"), targetEl = !targetId ? null : document.getElementById(targetId); - if (targetEl) { - var textContent = targetEl.value || targetEl.textContent || targetEl.innerText; - if (textContent) this.setText(textContent); - } else { - var defaultText = element.getAttribute("data-clipboard-text"); - if (defaultText) this.setText(defaultText); - } - break; - case "complete": - this.options.text = null; - break; + } else if (typeof module !== "undefined" && module) { + _cjsModuleId = module.id || null; + module.exports = ZeroClipboard; + } else { + window.ZeroClipboard = ZeroClipboard; } - if (this.handlers[eventName]) { - var func = this.handlers[eventName]; - if (typeof func == "function") { - func.call(element, this, args); - } else if (typeof func == "string") { - window[func].call(element, this, args); - } - } - }; - ZeroClipboard.prototype.glue = function(elements) { - elements = _prepGlue(elements); - for (var i = 0; i < elements.length; i++) { - if (_inArray(elements[i], gluedElements) == -1) { - gluedElements.push(elements[i]); - _addEventHandler(elements[i], "mouseover", _elementMouseOver); - } - } - }; - ZeroClipboard.prototype.unglue = function(elements) { - elements = _prepGlue(elements); - for (var i = 0; i < elements.length; i++) { - _removeEventHandler(elements[i], "mouseover", _elementMouseOver); - var arrayIndex = _inArray(elements[i], gluedElements); - if (arrayIndex != -1) gluedElements.splice(arrayIndex, 1); - } - }; - if (typeof module !== "undefined") { - module.exports = ZeroClipboard; - } else if (typeof define === "function" && define.amd) { - define(function() { - return ZeroClipboard; - }); - } else { - window.ZeroClipboard = ZeroClipboard; - } })(); \ No newline at end of file diff --git a/templates/base.html b/templates/base.html index e047d70..f7edc91 100755 --- a/templates/base.html +++ b/templates/base.html @@ -66,6 +66,7 @@ + diff --git a/templates/views/dlg/EmbedCodes.html b/templates/views/dlg/EmbedCodes.html index 5f2a45b..f8e50b1 100644 --- a/templates/views/dlg/EmbedCodes.html +++ b/templates/views/dlg/EmbedCodes.html @@ -21,13 +21,5 @@ - - {% endblock %} {% block primarybutton %}Got it...{% endblock %} \ No newline at end of file