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;