3.0 source code

This commit is contained in:
agolybev
2015-04-28 17:59:00 +03:00
parent c69fd34bdd
commit 7b3b2248e5
16311 changed files with 1445974 additions and 3108429 deletions

View File

@@ -30,23 +30,11 @@
.loadmask-logo {
display:inline-block;
min-width:220px;
height: 62px;
min-height:62px;
vertical-align:top;
background-image:url('./resources/img/loading-logo.gif');
background-repeat:no-repeat;
}
#loadmask-text {
color: #b2b2b2;
font-size: 10px;
font-weight: bold;
font-family: Arial;
height:14px;
margin-top:32px;
padding-left:40px;
text-align:left;
text-transform: uppercase;
}
</style>
<link href="../../../3rdparty/bootstrap/css/bootstrap.css" rel="stylesheet">
@@ -75,9 +63,7 @@
<div id="loading-mask" class="loadmask">
<div class="loadmask-body" align="center">
<div class="loadmask-logo">
<!-- <div id="loadmask-text">LOADING APPLICATION</div> -->
</div>
<div class="loadmask-logo"></div>
</div>
</div>

View File

@@ -22,35 +22,131 @@
z-index: 20002;
}
.loadmask-body {
position:relative;
top:44%;
.loader-page {
top: 50%;
left: 50%;
width: 50px;
height: 180px;
position: absolute;
margin-top: -100px;
}
.loadmask-logo {
display:inline-block;
min-width:220px;
height: 62px;
vertical-align:top;
background-image:url('./resources/img/loading-logo.gif');
background-repeat:no-repeat;
.romb {
width: 40px;
height: 40px;
-webkit-transform: rotate(135deg) skew(20deg, 20deg);
-moz-transform: rotate(135deg) skew(20deg, 20deg);
-ms-transform: rotate(135deg) skew(20deg, 20deg);
-o-transform: rotate(135deg) skew(20deg, 20deg);
position: absolute;
background: red;
border-radius: 6px;
-webkit-animation: movedown 3s infinite ease;
-moz-animation: movedown 3s infinite ease;
-ms-animation: movedown 3s infinite ease;
-o-animation: movedown 3s infinite ease;
animation: movedown 3s infinite ease;
}
#loadmask-text {
color: #b2b2b2;
font-size: 10px;
font-weight: bold;
font-family: Arial;
height:14px;
margin-top:32px;
padding-left:40px;
text-align:left;
text-transform: uppercase;
#blue {
z-index: 3;
background: #55bce6;
-webkit-animation-name: blue;
-moz-animation-name: blue;
-ms-animation-name: blue;
-o-animation-name: blue;
animation-name: blue;
}
#red {
z-index:1;
background: #de7a59;
-webkit-animation-name: red;
-moz-animation-name: red;
-ms-animation-name: red;
-o-animation-name: red;
animation-name: red;
}
#green {
z-index: 2;
background: #a1cb5c;
-webkit-animation-name: green;
-moz-animation-name: green;
-ms-animation-name: green;
-o-animation-name: green;
animation-name: green;
}
@-webkit-keyframes red {
0% { top:120px; background: #de7a59; }
10% { top:120px; background: #F2CBBF; }
14% { background: #f4f4f4; top:120px; }
15% { background: #f4f4f4; top:0;}
20% { background: #E6E4E4; }
30% { background: #D2D2D2; }
40% { top:120px; }
100% { top:120px; background: #de7a59; }
}
@keyframes red {
0% { top:120px; background: #de7a59; }
10% { top:120px; background: #F2CBBF; }
14% { background: #f4f4f4; top:120px; }
15% { background: #f4f4f4; top:0; }
20% { background: #E6E4E4; }
30% { background: #D2D2D2; }
40% { top:120px; }
100% { top:120px; background: #de7a59; }
}
@-webkit-keyframes green {
0% { top:110px; background: #a1cb5c; opacity:1; }
10% { top:110px; background: #CBE0AC; opacity:1; }
14% { background: #f4f4f4; top:110px; opacity:1; }
15% { background: #f4f4f4; top:0; opacity:1; }
20% { background: #f4f4f4; top:0; opacity:0; }
25% { background: #EFEFEF; top:0; opacity:1; }
30% { background:#E6E4E4; }
70% { top:110px; }
100% { top:110px; background: #a1cb5c; }
}
@keyframes green {
0% { top:110px; background: #a1cb5c; opacity:1; }
10% { top:110px; background: #CBE0AC; opacity:1; }
14% { background: #f4f4f4; top:110px; opacity:1; }
15% { background: #f4f4f4; top:0; opacity:1; }
20% { background: #f4f4f4; top:0; opacity:0; }
25% { background: #EFEFEF; top:0; opacity:1; }
30% { background:#E6E4E4; }
70% { top:110px; }
100% { top:110px; background: #a1cb5c; }
}
@-webkit-keyframes blue {
0% { top:100px; background: #55bce6; opacity:1; }
10% { top:100px; background: #BFE8F8; opacity:1; }
14% { background: #f4f4f4; top:100px; opacity:1; }
15% { background: #f4f4f4; top:0; opacity:1; }
20% { background: #f4f4f4; top:0; opacity:0; }
25% { background: #f4f4f4; top:0; opacity:0; }
45% { background: #EFEFEF; top:0; opacity:0,2; }
100% { top:100px; background: #55bce6; }
}
@keyframes blue {
0% { top:100px; background: #55bce6; opacity:1; }
10% { top:100px; background: #BFE8F8; opacity:1; }
14% { background: #f4f4f4; top:100px; opacity:1; }
15% { background: #f4f4f4; top:0; opacity:1; }
20% { background: #f4f4f4; top:0; opacity:0; }
25% { background: #fff; top:0; opacity:0; }
45% { background: #EFEFEF; top:0; opacity:0,2; }
100% { top:100px; background: #55bce6; }
}
</style>
<link href="../../../3rdparty/bootstrap/css/bootstrap.min.css" rel="stylesheet">
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
@@ -74,11 +170,11 @@
<div id="loading-mask" class="loadmask">
<div class="loadmask-body" align="center">
<div class="loadmask-logo">
<!-- <div id="loadmask-text">LOADING APPLICATION</div> -->
</div>
</div>
<div class="loader-page">
<div class="romb" id="blue"></div>
<div class="romb" id="green"></div>
<div class="romb" id="red"></div>
</div>
</div>
<div id="editor_sdk" class="viewer" style="overflow: hidden;"></div>
@@ -124,12 +220,13 @@
<div class="cmd-loader-title">Please wait...</div>
</div>
<!--3td party-->
<script type="text/javascript" src="../../../3rdparty/jquery/jquery-1.8.1.min.js"></script>
<script type="text/javascript" src="../../../3rdparty/bootstrap/js/bootstrap.min.js"></script>
<script type="text/javascript" src="../../../3rdparty/ZeroClipboard/ZeroClipboard.min.js"></script>
<script type="text/javascript" src="../../../3rdparty/sockjs/sockjs-0.3.min.js"></script>
<script type="text/javascript" src="../../../3rdparty/xregexp/xregexp-all-min.js"></script>
<!--vendor-->
<script type="text/javascript" src="../../../vendor/jquery/jquery.min.js"></script>
<script type="text/javascript" src="../../../vendor/jquery/jquery.browser.min.js"></script>
<script type="text/javascript" src="../../../vendor/bootstrap/dist/js/bootstrap.min.js"></script>
<script type="text/javascript" src="../../../vendor/ZeroClipboard/ZeroClipboard.min.js"></script>
<script type="text/javascript" src="../../../vendor/sockjs/sockjs.min.js"></script>
<script type="text/javascript" src="../../../vendor/xregexp/xregexp-all-min.js"></script>
<!--sdk-->
<script type="text/javascript" src="../../../sdk/Common/AllFonts.js"></script>

View File

@@ -0,0 +1,245 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Documents</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
<meta name="description" content="">
<meta name="author" content="">
<!-- splash -->
<style type="text/css">
.loadmask {
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
overflow: hidden;
border: none;
background-color: #f4f4f4;
z-index: 20002;
}
.loadmask-body {
position:relative;
top:44%;
}
.loadmask-logo {
display:inline-block;
min-width:220px;
min-height:62px;
vertical-align:top;
background-image:url('./resources/img/loading-logo.gif');
background-repeat:no-repeat;
}
</style>
<link href="../../../3rdparty/bootstrap/css/bootstrap.css" rel="stylesheet">
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</head>
<body class="embed-body">
<!--facebook button-->
<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<!--twitter button-->
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
<div id="loading-mask" class="loadmask">
<div class="loadmask-body" align="center">
<div class="loadmask-logo"></div>
</div>
</div>
<div id="editor_sdk" class="viewer" style="overflow: hidden;"></div>
<div class="overlay-controls" style="margin-left: -32px">
<ul class="left" style="width: 90px;">
<li id="id-btn-zoom-in"><button class="overlay"><i class="overlay-icon-zoom-in"></i></button></li>
<li style="width: 10px"></li>
<li id="id-btn-zoom-out"><button class="overlay"><i class="overlay-icon-zoom-out"></i></button></li>
</ul>
</div>
<div class="toolbar" id="toolbar">
<ul class="left">
<li><a class="brand-logo" href="http://www.onlyoffice.com/" target="_blank"></a></li>
<li class="separator"></li>
<li id="id-btn-copy"><button class="control-btn"><i class="control-icon-save"></i><span>Save Copy</span></button></li>
<li id="id-btn-share"><button class="control-btn"><i class="control-icon-share"></i><span>Share</span></button></li>
<li id="id-btn-embed"><button class="control-btn"><i class="control-icon-embed"></i><span>Embed</span></button></li>
</ul>
<ul class="right">
<li><input id="page-number" style="width: 25px" type="text" value="0"><span class="text" id="pages">of 0</span></li>
<li class="separator"></li>
<li><button id="id-btn-fullscreen" class="control-btn no-caption"><i class="control-icon-fullscreen"></i></button></li>
<li><button id="id-btn-close" class="control-btn no-caption"><i class="control-icon-close"></i></button></li>
</ul>
</div>
<div class="error modal hide" id="id-critical-error-dialog" tabindex="-1" role="dialog">
<div class="modal-header">
<h3 id="id-critical-error-title"></h3>
</div>
<div class="modal-body">
<p id="id-critical-error-message"></p>
</div>
<div class="modal-footer">
<button id="id-critical-error-close" class="btn btn-primary" data-dismiss="modal" aria-hidden="true">Close</button>
</div>
</div>
<div id="id-loadmask" class="hide modal cmd-loader-body">
<div class="cmd-loader-image"></div>
<div class="cmd-loader-title">Please wait...</div>
</div>
<!--3td party-->
<script type="text/javascript" src="../../../3rdparty/jquery/jquery-1.8.1.min.js"></script>
<script type="text/javascript" src="../../../3rdparty/bootstrap/js/bootstrap.js"></script>
<script type="text/javascript" src="../../../3rdparty/ZeroClipboard/ZeroClipboard.min.js"></script>
<script type="text/javascript" src="../../../3rdparty/sockjs/sockjs-0.3.min.js"></script>
<script type="text/javascript" src="../../../3rdparty/xregexp/xregexp-all-min.js"></script>
<!--sdk-->
<script type="text/javascript" src="../../../sdk/Common/AllFonts.js"></script>
<script type="text/javascript" src="../../../sdk/Common/browser.js"></script>
<script type="text/javascript" src="../../../sdk/Common/docscoapisettings.js"></script>
<script type="text/javascript" src="../../../sdk/Common/docscoapicommon.js"></script>
<script type="text/javascript" src="../../../sdk/Common/docscoapi.js"></script>
<script type="text/javascript" src="../../../sdk/Common/wordcopypaste.js"></script>
<script type="text/javascript" src="../../../sdk/Common/downloaderfiles.js"></script>
<script type="text/javascript" src="../../../sdk/Common/editorscommon.js"></script>
<script type="text/javascript" src="../../../sdk/Common/apiCommon.js"></script>
<script type="text/javascript" src="../../../sdk/Common/Shapes/Serialize.js"></script>
<script type="text/javascript" src="../../../sdk/Common/Shapes/SerializeWriter.js"></script>
<script type="text/javascript" src="../../../sdk/Common/FontsFreeType/font_engine.js"></script>
<script type="text/javascript" src="../../../sdk/Common/FontsFreeType/FontFile.js"></script>
<script type="text/javascript" src="../../../sdk/Common/FontsFreeType/FontManager.js"></script>
<script type="text/javascript" src="../../../sdk/Word/Drawing/Externals.js"></script>
<script type="text/javascript" src="../../../sdk/Word/Drawing/GlobalLoaders.js"></script>
<script type="text/javascript" src="../../../sdk/Word/Drawing/Metafile.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Drawing/ThemeLoader.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Editor/Format/Table.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Editor/Format/CollaborativeEditing.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Editor/Styles.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Editor/Format/Table.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Editor/Format/Paragraph.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Editor/Format/FontClassification.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Editor/Format/ParagraphContent.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Editor/Format/Spelling.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Editor/Format/Comments.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Editor/GraphicObjects.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Editor/States.js"></script>
<script type="text/javascript" src="../../../sdk/Common/Charts/DrawingObjects.js"></script>
<script type="text/javascript" src="../../../sdk/Common/commonDefines.js"></script>
<script type="text/javascript" src="../../../sdk/Common/SerializeCommonWordExcel.js"></script>
<script type="text/javascript" src="../../../sdk/Word/Editor/Serialize2.js"></script>
<script type="text/javascript" src="../../../sdk/Common/Charts/charts.js"></script>
<script type="text/javascript" src="../../../sdk/Excel/graphics/DrawingContextWord.js"></script>
<script type="text/javascript" src="../../../sdk/Common/trackFile.js"></script>
<script type="text/javascript" src="../../../sdk/Word/Editor/SerializeCommon.js"></script>
<script type="text/javascript" src="../../../sdk/Word/Drawing/GraphicsEvents.js"></script>
<script type="text/javascript" src="../../../sdk/Word/Drawing/WorkEvents.js"></script>
<script type="text/javascript" src="../../../sdk/Word/Drawing/Controls.js"></script>
<script type="text/javascript" src="../../../sdk/Word/Drawing/Rulers.js"></script>
<script type="text/javascript" src="../../../sdk/Word/Editor/Common.js"></script>
<script type="text/javascript" src="../../../sdk/Word/Editor/Sections.js"></script>
<script type="text/javascript" src="../../../sdk/Common/scroll.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Editor/History.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Editor/FlowObjects.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Editor/Format/DocumentContent.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Editor/Format/Presentation.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Editor/SlideShowInfo.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Editor/PresentationProperties.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Editor/Format/Shape.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Editor/Format/GraphicFrame.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Editor/Numbering.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Editor/TrackObjects/AdjustmentTracks.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Editor/TrackObjects/MoveTracks.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Editor/TrackObjects/NewShapeTracks.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Editor/TrackObjects/PolyLine.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Editor/TrackObjects/ResizeTracks.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Editor/TrackObjects/RotateTracks.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Editor/TrackObjects/Spline.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Editor/Format/TextBody.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Editor/Format/Image.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Editor/Format/GroupShape.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Editor/Format/ChartTitle.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Editor/Format/Chart.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Editor/Format/ChartLayout.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Editor/Format/Slide.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Editor/Format/SlideMaster.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Editor/Format/Layout.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Editor/Drawing/Geometry.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Editor/Drawing/CreateGoemetry.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Editor/Drawing/ColorArray.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Editor/Drawing/Math.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Editor/Drawing/Path.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Editor/Drawing/ArcTo.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Editor/Drawing/GraphicFigure.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Editor/Drawing/Clone.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Editor/Drawing/CImage.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Editor/Drawing/Spline.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Editor/Drawing/PolyLine.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Editor/Drawing/Hit.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Editor/Drawing/Joined.js"></script>
<script type="text/javascript" src="../../../sdk/Word/Drawing/Graphics.js"></script>
<script type="text/javascript" src="../../../sdk/Word/Drawing/Overlay.js"></script>
<script type="text/javascript" src="../../../sdk/Word/Drawing/HatchPattern.js"></script>
<script type="text/javascript" src="../../../sdk/Word/Drawing/ShapeDrawer.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Drawing/Transitions.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Drawing/DrawingDocument.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Drawing/HtmlPage.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/Editor/Format.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/apiDefines.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/api.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/apiCommon.js"></script>
<script type="text/javascript" src="../../../sdk/Common/Shapes/EditorSettings.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/themes/Themes.js"></script>
<!--application-->
<link href="resources/css/application.css" rel="stylesheet">
<script type="text/javascript" src="../../common/Gateway.js"></script>
<script type="text/javascript" src="../../common/Analytics.js"></script>
<script type="text/javascript" src="js/ApplicationView.js"></script>
<script type="text/javascript" src="js/ApplicationController.js"></script>
<script type="text/javascript" src="js/application.js"></script>
<script type="text/javascript">
var isBrowserSupported = function() {
return ($.browser.msie && parseFloat($.browser.version) > 8) ||
($.browser.chrome && parseFloat($.browser.version) > 7) ||
($.browser.safari && parseFloat($.browser.version) > 4) ||
($.browser.opera && parseFloat($.browser.version) > 10.4) ||
($.browser.mozilla && parseFloat($.browser.version) > 3.9);
};
if (!isBrowserSupported()){
document.write(
'<div id="id-error-mask" class="errormask">',
'<div class="error-body" align="center">',
'<div id="id-error-mask-title" class="title">Your browser is not supported.</div>',
'<div id="id-error-mask-text">Sorry, ONLYOFFICE Document is currently only supported in the latest versions of the Chrome, Firefox, Safari or Internet Explorer web browsers.</div>',
'</div>',
'</div>'
);
}
</script>
</body>
</html>

View File

@@ -1,54 +1,57 @@
/*
* (c) Copyright Ascensio System SIA 2010-2014
*
* 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
*
*/
var ApplicationView = new(function () {
function createView() {
$("#id-btn-share").popover({
trigger: "manual",
template: '<div class="popover share" id="id-popover-share"><div class="arrow"></div><div class="popover-inner"><div class="popover-content"><p></p></div></div></div>',
content: '<div class="share-link">' + '<span class="caption">Link:</span>' + '<span id="id-short-url" class="input-medium uneditable-input"></span>' + '<button id="id-btn-copy-short" type="button" class="btn btn-mini btn-primary" style="width: 65px;" data-copied-text="Copied">Copy</button>' + "</div> " + '<div class="share-buttons" style="height: 25px" id="id-popover-social-container" data-loaded="false">' + "<ul></ul>" + "</div>"
}).popover("show");
$("#id-btn-embed").popover({
trigger: "manual",
template: '<div class="popover embed" id="id-popover-embed"><div class="arrow"></div><div class="popover-inner"><div class="popover-content"><p></p></div></div></div>',
content: '<div class="size-manual">' + '<span class="caption">Width:</span>' + '<input id="id-input-embed-width" class="input-mini" type="text" value="400px">' + '<input id="id-input-embed-height" class="right input-mini" type="text" value="600px">' + '<span class="right caption">Height:</span>' + "</div>" + '<textarea id="id-textarea-embed" rows="4" readonly></textarea>' + '<button id="id-btn-copy-embed" type="button" class="btn btn-mini btn-primary" data-copied-text="Copied">Copy</button>'
}).popover("show");
$("body").popover({
trigger: "manual",
animation: false,
template: '<div class="popover hyperlink" id="id-tip-hyperlink"><div class="popover-inner"><div class="popover-content"><p></p></div></div></div>',
content: "<br><b>Press Ctrl and click link</b>"
}).popover("show");
}
return {
create: createView
};
/*
* (c) Copyright Ascensio System SIA 2010-2015
*
* 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
*
*/
var ApplicationView = new(function () {
function createView() {
$("#id-btn-share").popover({
trigger: "manual",
html: true,
template: '<div class="popover share" id="id-popover-share"><div class="arrow"></div><div class="popover-inner"><div class="popover-content"><p></p></div></div></div>',
content: '<div class="share-link">' + '<span class="caption">Link:</span>' + '<span id="id-short-url" class="input-medium uneditable-input"></span>' + '<button id="id-btn-copy-short" type="button" class="btn btn-mini btn-primary" style="width: 65px;" data-copied-text="Copied">Copy</button>' + "</div> " + '<div class="share-buttons" style="height: 25px" id="id-popover-social-container" data-loaded="false">' + "<ul></ul>" + "</div>"
}).popover("show");
$("#id-btn-embed").popover({
trigger: "manual",
html: true,
template: '<div class="popover embed" id="id-popover-embed"><div class="arrow"></div><div class="popover-inner"><div class="popover-content"><p></p></div></div></div>',
content: '<div class="size-manual">' + '<span class="caption">Width:</span>' + '<input id="id-input-embed-width" class="input-mini" type="text" value="400px">' + '<input id="id-input-embed-height" class="right input-mini" type="text" value="600px">' + '<span class="right caption">Height:</span>' + "</div>" + '<textarea id="id-textarea-embed" rows="4" readonly></textarea>' + '<button id="id-btn-copy-embed" type="button" class="btn btn-mini btn-primary" data-copied-text="Copied">Copy</button>'
}).popover("show");
$("body").popover({
trigger: "manual",
html: true,
animation: false,
template: '<div class="popover hyperlink" id="id-tip-hyperlink"><div class="popover-inner"><div class="popover-content"><p></p></div></div></div>',
content: "<br><b>Press Ctrl and click link</b>"
}).popover("show");
}
return {
create: createView
};
})();

View File

@@ -1,37 +1,37 @@
/*
* (c) Copyright Ascensio System SIA 2010-2014
*
* 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 ($) {
$(function () {
ApplicationView.create();
ApplicationController.create();
});
/*
* (c) Copyright Ascensio System SIA 2010-2015
*
* 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 ($) {
$(function () {
ApplicationView.create();
ApplicationController.create();
});
})(window.jQuery);

View File

@@ -1,2 +1,2 @@
call npm install less
call npm install less
call npm install watchr

View File

@@ -1,99 +1,99 @@
/*
* (c) Copyright Ascensio System SIA 2010-2014
*
* 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 () {
var path = require("path"),
util = require("util"),
fs = require("fs"),
watchr = require("watchr"),
less = require("less"),
cwd = process.cwd(),
watchPath = process.argv.length === 3 ? path.resolve(cwd, process.argv[2]) : cwd;
var options = {
compress: false,
yuicompress: false,
optimization: 1,
silent: false,
paths: [],
color: true,
strictImports: false
};
var parseLessFile = function (input, output) {
return function (e, data) {
if (e) {
console.log("lessc:", e.message);
}
new(less.Parser)({
paths: [path.dirname(input)],
optimization: options.optimization,
filename: input
}).parse(data, function (err, tree) {
if (err) {
less.writeError(err, options);
} else {
try {
var css = tree.toCSS({
compress: options.compress
});
if (output) {
var fd = fs.openSync(output, "w");
fs.writeSync(fd, css, 0, "utf8");
} else {
console.log("WARNING: output is undefined");
util.print(css);
}
} catch(e) {
less.writeError(e, options);
}
}
});
};
};
console.log(">>> Script is polling for changes. Press Ctrl-C to Stop.");
watchr.watch({
path: watchPath,
listener: function (eventName, filePath, fileCurrentStat, filePreviousStat) {
if (eventName == "change" || eventName == "update") {
console.log(">>> Change detected at", new Date().toLocaleTimeString(), "to:", path.basename(filePath));
var baseFilePath = path.basename(filePath, ".less");
fs.readFile(filePath, "utf-8", parseLessFile(filePath, "../css/" + baseFilePath + ".css"));
console.log("overwrite", baseFilePath + ".css");
}
},
next: function (err, watcher) {
if (err) {
console.log("!!! epic fail");
throw err;
}
console.log("Now watching:", watchPath);
}
});
/*
* (c) Copyright Ascensio System SIA 2010-2015
*
* 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 () {
var path = require("path"),
util = require("util"),
fs = require("fs"),
watchr = require("watchr"),
less = require("less"),
cwd = process.cwd(),
watchPath = process.argv.length === 3 ? path.resolve(cwd, process.argv[2]) : cwd;
var options = {
compress: false,
yuicompress: false,
optimization: 1,
silent: false,
paths: [],
color: true,
strictImports: false
};
var parseLessFile = function (input, output) {
return function (e, data) {
if (e) {
console.log("lessc:", e.message);
}
new(less.Parser)({
paths: [path.dirname(input)],
optimization: options.optimization,
filename: input
}).parse(data, function (err, tree) {
if (err) {
less.writeError(err, options);
} else {
try {
var css = tree.toCSS({
compress: options.compress
});
if (output) {
var fd = fs.openSync(output, "w");
fs.writeSync(fd, css, 0, "utf8");
} else {
console.log("WARNING: output is undefined");
util.print(css);
}
} catch(e) {
less.writeError(e, options);
}
}
});
};
};
console.log(">>> Script is polling for changes. Press Ctrl-C to Stop.");
watchr.watch({
path: watchPath,
listener: function (eventName, filePath, fileCurrentStat, filePreviousStat) {
if (eventName == "change" || eventName == "update") {
console.log(">>> Change detected at", new Date().toLocaleTimeString(), "to:", path.basename(filePath));
var baseFilePath = path.basename(filePath, ".less");
fs.readFile(filePath, "utf-8", parseLessFile(filePath, "../css/" + baseFilePath + ".css"));
console.log("overwrite", baseFilePath + ".css");
}
},
next: function (err, watcher) {
if (err) {
console.log("!!! epic fail");
throw err;
}
console.log("Now watching:", watchPath);
}
});
})();