Your IP : 18.219.40.177
/**
* Module provide coping link to buffer for current form
* @param {object} window global object
* @param {function} $ jQuery library
* @param {object} EventMgr EventMgr library
* @param {object} App Application
* @return {object} api
*/
App.CopyToBuffer = function(window, $, EventMgr, App) {
'use strict';
function addLinkHandler(e, data) {
var tabId = data.tabId,
elem = App.Dom.byId('permalink-' + tabId),
client;
if (!elem) { return; }
client = new ZeroClipboard(elem);
client.on('aftercopy', function(e) {
EventMgr.trigger('showAlert', {
msg: window.pageInfo.linkCopied,
closeTimeout: 1500
});
});
}
function checkFlash() {
var hasFlash = false;
try {
var fo = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');
if (fo) {
hasFlash = true;
}
} catch (e) {
if (navigator.mimeTypes &&
navigator.mimeTypes['application/x-shockwave-flash'] !== undefined &&
navigator.mimeTypes['application/x-shockwave-flash'].enabledPlugin) {
hasFlash = true;
}
}
return hasFlash;
}
function preventClick(e) {
e.preventDefault();
if (!checkFlash()) {
EventMgr.trigger('showAlert', {
msg: '<div>' + window.pageInfo.linkToCopy + '</div>' +
'<textarea class="b-textarea b-modal-mistake__textarea" readonly>' +
this.getAttribute('data-clipboard-text').replace(/&/g, '&') + '</textarea>'
});
}
}
function init() {
if (window.ZeroClipboard && checkFlash()) {
EventMgr.bind('appendForm,appendList,appendReport,appendMap', addLinkHandler);
}
EventMgr.on($('#main-wrapper'), '.b-permalink', 'click', preventClick);
}
var api = {
init: init
};
return api;
} (window, $, EventMgr, App);