diff --git a/apps/common/embed/lib/util/utils.js b/apps/common/embed/lib/util/utils.js new file mode 100644 index 000000000..ebcf1de75 --- /dev/null +++ b/apps/common/embed/lib/util/utils.js @@ -0,0 +1,74 @@ +/* + * + * (c) Copyright Ascensio System Limited 2010-2016 + * + * This program is a free software product. You can redistribute it and/or + * modify it under the terms of the GNU Affero General Public License (AGPL) + * version 3 as published by the Free Software Foundation. In accordance with + * Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect + * that Ascensio System SIA expressly excludes the warranty of non-infringement + * of any third-party rights. + * + * This program is distributed WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For + * details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html + * + * You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia, + * EU, LV-1021. + * + * The interactive user interfaces in modified source and object code versions + * of the Program must display Appropriate Legal Notices, as required under + * Section 5 of the GNU AGPL version 3. + * + * Pursuant to Section 7(b) of the License you must retain the original Product + * logo when distributing the program. Pursuant to Section 7(e) we decline to + * grant you any rights under trademark law for use of our trademarks. + * + * All the Product's GUI elements, including illustrations and icon sets, as + * well as technical writing content are licensed under the terms of the + * Creative Commons Attribution-ShareAlike 4.0 International. See the License + * terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode + * + */ + ++function () { + !window.common && (window.common = {}); + !common.utils && (common.utils = {}); + + common.utils = new(function(){ + return { + openLink: function(url) { + if (url) { + var newDocumentPage = window.open(url, '_blank'); + if (newDocumentPage) + newDocumentPage.focus(); + } + } + , dialogPrint: function(url) { + $('#id-print-frame').remove(); + + if ( !!url ) { + var iframePrint = document.createElement("iframe"); + + iframePrint.id = "id-print-frame"; + iframePrint.style.display = 'none'; + iframePrint.style.visibility = "hidden"; + iframePrint.style.position = "fixed"; + iframePrint.style.right = "0"; + iframePrint.style.bottom = "0"; + document.body.appendChild(iframePrint); + + iframePrint.onload = function () { + iframePrint.contentWindow.focus(); + iframePrint.contentWindow.print(); + iframePrint.contentWindow.blur(); + window.focus(); + }; + + iframePrint.src = url; + } + + } + }; + })(); +}(); diff --git a/apps/documenteditor/embed/index.html b/apps/documenteditor/embed/index.html index a1cc2b7e2..efe4d3ed2 100644 --- a/apps/documenteditor/embed/index.html +++ b/apps/documenteditor/embed/index.html @@ -338,6 +338,7 @@ + diff --git a/apps/documenteditor/embed/js/ApplicationController.js b/apps/documenteditor/embed/js/ApplicationController.js index 41c635df2..2559cb796 100644 --- a/apps/documenteditor/embed/js/ApplicationController.js +++ b/apps/documenteditor/embed/js/ApplicationController.js @@ -42,7 +42,7 @@ var ApplicationController = new(function(){ minEmbedHeight = 600, embedCode = '', created = false, - iframePrint = null; + ttOffset = [0, -10]; // Initialize analytics // ------------------------- @@ -138,14 +138,6 @@ var ApplicationController = new(function(){ $('#page-number').val(number + 1); } - function onHyperlinkClick(url) { - if (url) { - var newDocumentPage = window.open(url, '_blank'); - if (newDocumentPage) - newDocumentPage.focus(); - } - } - function onLongActionBegin(type, id) { var text = ''; switch (id) @@ -225,27 +217,7 @@ var ApplicationController = new(function(){ } function onPrintUrl(url) { - if (iframePrint) { - iframePrint.parentNode.removeChild(iframePrint); - iframePrint = null; - } - if (!iframePrint) { - iframePrint = document.createElement("iframe"); - iframePrint.id = "id-print-frame"; - iframePrint.style.display = 'none'; - iframePrint.style.visibility = "hidden"; - iframePrint.style.position = "fixed"; - iframePrint.style.right = "0"; - iframePrint.style.bottom = "0"; - document.body.appendChild(iframePrint); - iframePrint.onload = function() { - iframePrint.contentWindow.focus(); - iframePrint.contentWindow.print(); - iframePrint.contentWindow.blur(); - window.focus(); - }; - } - if (url) iframePrint.src = url; + common.utils.dialogPrint(url); } function hidePreloader() { @@ -262,7 +234,7 @@ var ApplicationController = new(function(){ api.asc_registerCallback('asc_onMouseMoveStart', onDocMouseMoveStart); api.asc_registerCallback('asc_onMouseMoveEnd', onDocMouseMoveEnd); api.asc_registerCallback('asc_onMouseMove', onDocMouseMove); - api.asc_registerCallback('asc_onHyperlinkClick', onHyperlinkClick); + api.asc_registerCallback('asc_onHyperlinkClick', common.utils.openLink); api.asc_registerCallback('asc_onDownloadUrl', onDownloadUrl); api.asc_registerCallback('asc_onPrint', onPrint); @@ -316,13 +288,13 @@ var ApplicationController = new(function(){ ApplicationView.tools.get('#idt-fullscreen') .on('click', function(){ - openLink(embedConfig.fullscreenUrl); + common.utils.openLink(embedConfig.fullscreenUrl); }); ApplicationView.tools.get('#idt-download') .on('click', function(){ if ( !!embedConfig.saveUrl ){ - openLink(embedConfig.saveUrl); + common.utils.openLink(embedConfig.saveUrl); } else if (api && permissions.print!==false){ api.asc_Print($.browser.chrome || $.browser.safari || $.browser.opera); @@ -532,12 +504,6 @@ var ApplicationController = new(function(){ $txtheight.val(newHeight + 'px'); } - function openLink(url){ - var newDocumentPage = window.open(url); - if (newDocumentPage) - newDocumentPage.focus(); - } - function createController(){ if (created) return me;