init repo

This commit is contained in:
nikolay ivanov
2014-07-05 18:22:49 +00:00
commit a8be6b9e72
17348 changed files with 9229832 additions and 0 deletions

View File

@@ -0,0 +1,41 @@
/*
* (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
*
*/
Ext.application({
name: "PE",
icon: "resources/img/icon.png",
tabletStartupScreen: "resources/img/tablet_startup.png",
phoneStartupScreen: "resources/img/phone_startup.png",
viewport: {
autoMaximize: false
},
profiles: ["Tablet", "Phone"]
});

View File

@@ -0,0 +1,278 @@
/*
* (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
*
*/
Ext.define("PE.controller.Main", {
extend: "Ext.app.Controller",
editMode: false,
requires: ["Ext.Anim", "Ext.LoadMask", "Ext.MessageBox"],
launch: function () {
if (!this._isSupport()) {
Common.Gateway.reportError(undefined, this.unsupportedBrowserErrorText);
return;
}
this.initControl();
Common.component.Analytics.initialize("UA-12442749-13", "Presentation Editor Mobile");
var api = this.api,
app = this.getApplication(),
profile = app.getCurrentProfile();
api = new asc_docs_api("id-sdkeditor");
api.SetMobileVersion(true);
api.CreateComponents();
api.SetFontsPath("../../../sdk/Fonts/");
api.Init();
api.initEvents2MobileAdvances();
api.asc_registerCallback("asc_onStartAction", Ext.bind(this.onLongActionBegin, this));
api.asc_registerCallback("asc_onError", Ext.bind(this.onError, this));
api.asc_registerCallback("asc_onEndAction", Ext.bind(this.onLongActionEnd, this));
api.asc_registerCallback("asc_onDocumentContentReady", Ext.bind(this.onDocumentContentReady, this));
api.asc_registerCallback("asc_onOpenDocumentProgress2", Ext.bind(this.onOpenDocument, this));
api.asc_registerCallback("asc_onSaveUrl", Ext.bind(this.onSaveUrl, this));
api.asc_registerCallback("asc_onGetEditorPermissions", Ext.bind(this.onEditorPermissions, this));
Ext.each(app.getControllers(), function (controllerName) {
var controller = this.getApplication().getController(controllerName);
controller && Ext.isFunction(controller.setApi) && controller.setApi(api);
},
this);
this.initApi();
this.editorConfig = {};
Common.Gateway.on("init", Ext.bind(this.loadConfig, this));
Common.Gateway.on("opendocument", Ext.bind(this.loadDocument, this));
Common.Gateway.on("showmessage", Ext.bind(this.onExternalMessage, this));
Common.Gateway.on("resetfocus", Ext.bind(this.onResetFocus, this));
Common.Gateway.on("processsaveresult", Ext.bind(this.onProcessSaveResult, this));
Common.Gateway.ready();
},
initControl: function () {},
initApi: function () {},
loadConfig: function (data) {
this.editorConfig = Ext.merge(this.editorConfig, data.config);
if ((this.editorConfig.user === undefined || this.editorConfig.user === null)) {
this.editorConfig.user = {};
if (this.editorConfig.users) {
this.editorConfig.userId = this.editorConfig.userId || 0;
for (var i = 0; i < this.editorConfig.users.length; i++) {
if (this.editorConfig.users[i].id === this.editorConfig.userId) {
this.editorConfig.user = {
id: this.editorConfig.users[i].id,
name: this.editorConfig.users[i].username
};
break;
}
}
}
}
this.editorConfig.user.id = this.editorConfig.user.id || ("uid-" + Ext.Date.now());
this.editorConfig.user.name = this.editorConfig.user.name || this.textAnonymous;
},
loadDocument: function (data) {
if (data.doc) {
var docInfo = new CDocInfo();
docInfo.put_Id(data.doc.key);
docInfo.put_Url(data.doc.url);
docInfo.put_Title(data.doc.title);
docInfo.put_Format(data.doc.fileType);
docInfo.put_Options(data.doc.options);
docInfo.put_VKey(data.doc.vkey);
docInfo.put_UserId(this.editorConfig.user.id);
docInfo.put_UserName(this.editorConfig.user.name);
var profileName = this.getApplication().getCurrentProfile().getName();
this.getApplication().getController(profileName + ".Main").setPresentationName(data.doc.title || "Unnamed Presentation");
this.api.asc_setDocInfo(docInfo);
this.api.asc_getEditorPermissions();
Common.component.Analytics.trackEvent("Load", "Start");
}
},
onEditorPermissions: function (params) {
this.api.LoadDocument();
this.api.Resize();
},
goBack: function () {
Common.Gateway.goBack();
},
onDocumentContentReady: function () {
if (this.api) {
this.api.StartDemonstration("id-presentation-preview", 0);
}
this._hideLoadSplash();
Common.component.Analytics.trackEvent("Load", "Complete");
},
onOpenDocument: function (progress) {
var elem = document.getElementById("loadmask-text");
if (elem) {
elem.innerHTML = this.textLoadingDocument + ": " + Math.round(progress) + "%";
}
},
onSaveUrl: function (url) {
Common.Gateway.save(url);
},
onLongActionBegin: function (type, id) {
var text = "";
switch (id) {
case c_oAscAsyncAction["Print"]:
text = this.printText;
}
if (type == c_oAscAsyncActionType["BlockInteraction"]) {
Ext.Viewport.setMasked({
xtype: "loadmask",
message: text
});
}
},
onLongActionEnd: function (type) {
Ext.Viewport.unmask();
},
onError: function (id, level, errData) {
this._hideLoadSplash();
var config = {
closable: false
};
switch (id) {
case c_oAscError.ID.Unknown:
config.message = this.unknownErrorText;
break;
case c_oAscError.ID.ConvertationTimeout:
config.message = this.convertationTimeoutText;
break;
case c_oAscError.ID.ConvertationError:
config.message = this.convertationErrorText;
break;
case c_oAscError.ID.DownloadError:
config.message = this.downloadErrorText;
break;
case c_oAscError.ID.UplImageSize:
config.message = this.uploadImageSizeMessage;
break;
case c_oAscError.ID.UplImageExt:
config.message = this.uploadImageExtMessage;
break;
case c_oAscError.ID.UplImageFileCount:
config.message = this.uploadImageFileCountMessage;
break;
case c_oAscError.ID.SplitCellMaxRows:
config.message = this.splitMaxRowsErrorText.replace("%1", errData.get_Value());
break;
case c_oAscError.ID.SplitCellMaxCols:
config.message = this.splitMaxColsErrorText.replace("%1", errData.get_Value());
break;
case c_oAscError.ID.SplitCellRowsDivider:
config.message = this.splitDividerErrorText.replace("%1", errData.get_Value());
break;
case c_oAscError.ID.VKeyEncrypt:
config.msg = this.errorKeyEncrypt;
break;
case c_oAscError.ID.KeyExpire:
config.msg = this.errorKeyExpire;
break;
case c_oAscError.ID.UserCountExceed:
config.msg = this.errorUsersExceed;
break;
default:
config.message = this.errorDefaultMessage.replace("%1", id);
break;
}
if (level == c_oAscError.Level.Critical) {
Common.Gateway.reportError(id, config.message);
config.title = this.criticalErrorTitle;
config.message += "<br/>" + this.criticalErrorExtText;
config.buttons = Ext.Msg.OK;
config.fn = function (btn) {
if (btn == "ok") {
window.location.reload();
}
};
} else {
config.title = this.notcriticalErrorTitle;
config.buttons = Ext.Msg.OK;
config.fn = Ext.emptyFn;
}
Ext.Msg.show(config);
Common.component.Analytics.trackEvent("Internal Error", id.toString());
},
onExternalMessage: function (msg) {
if (msg) {
this._hideLoadSplash();
Ext.Msg.show({
title: msg.title,
msg: "<br/>" + msg.msg,
icon: Ext.Msg[msg.severity.toUpperCase()],
buttons: Ext.Msg.OK
});
Common.component.Analytics.trackEvent("External Error", msg.title);
}
},
onResetFocus: function (data) {
var activeElement = document.activeElement;
activeElement.focus();
},
onProcessSaveResult: function (data) {
this.api && this.api.asc_OnSaveEnd(data.result);
},
_hideLoadSplash: function () {
var preloader = Ext.get("loading-mask");
if (preloader) {
Ext.Anim.run(preloader, "fade", {
out: true,
duration: 250,
after: function () {
preloader.destroy();
}
});
}
},
_isSupport: function () {
return (Ext.browser.is.WebKit && (Ext.os.is.iOS || Ext.os.is.Android || Ext.os.is.Desktop));
},
printText: "Printing...",
criticalErrorTitle: "Error",
notcriticalErrorTitle: "Warning",
errorDefaultMessage: "Error code: %1",
criticalErrorExtText: 'Press "Ok" to reload view page.',
uploadImageSizeMessage: "Maximium image size limit exceeded.",
uploadImageExtMessage: "Unknown image format.",
uploadImageFileCountMessage: "No images uploaded.",
reloadButtonText: "Reload Page",
unknownErrorText: "Unknown error.",
convertationTimeoutText: "Convertation timeout exceeded.",
convertationErrorText: "Convertation failed.",
downloadErrorText: "Download failed.",
unsupportedBrowserErrorText: "Your browser is not supported.",
splitMaxRowsErrorText: "The number of rows must be less than %1",
splitMaxColsErrorText: "The number of columns must be less than %1",
splitDividerErrorText: "The number of rows must be a divisor of %1",
requestEditRightsText: "Requesting editing rights...",
requestEditFailedTitleText: "Access denied",
requestEditFailedMessageText: "Someone is editing this document right now. Please try again later.",
errorKeyEncrypt: "Unknown key descriptor",
errorKeyExpire: "Key descriptor expired",
errorUsersExceed: "Count of users was exceed",
textAnonymous: "Anonymous",
textLoadingDocument: "LOADING DOCUMENT"
});

View File

@@ -0,0 +1,51 @@
/*
* (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
*
*/
Ext.define("PE.controller.Presentation", {
extend: "Ext.app.Controller",
config: {
refs: {},
control: {}
},
init: function () {},
launch: function () {
Ext.getCmp("id-conteiner-document").on("resize", this.onEditorResize, this);
},
setApi: function (o) {
this.api = o;
},
onEditorResize: function (cmp) {
if (this.api) {
this.api.Resize();
this.api.zoomFitToWidth();
}
}
});

View File

@@ -0,0 +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
*
*/
Ext.define("PE.controller.phone.Main", {
extend: "PE.controller.Main",
requires: ["Ext.Anim"],
config: {
refs: {
viewToolbar: "viewtoolbar"
},
control: {}
},
launch: function () {
this.callParent(arguments);
},
initControl: function () {
this.callParent(arguments);
},
initApi: function () {
this.callParent(arguments);
},
setApi: function (o) {
this.api = o;
var viewToolbar = this.getViewToolbar();
viewToolbar && viewToolbar.show();
this.api && this.api.asc_enableKeyEvents(false);
},
setPresentationName: function (name) {}
});

View File

@@ -0,0 +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
*
*/
Ext.define("PE.controller.tablet.Main", {
extend: "PE.controller.Main",
requires: ["Ext.Anim"],
config: {
refs: {
viewToolbar: "viewtoolbar"
},
control: {}
},
launch: function () {
this.callParent(arguments);
},
initControl: function () {
this.callParent(arguments);
},
initApi: function () {
this.callParent(arguments);
},
setApi: function (o) {
this.api = o;
var viewToolbar = this.getViewToolbar();
viewToolbar && viewToolbar.show();
this.api && this.api.asc_enableKeyEvents(false);
},
setPresentationName: function (name) {}
});

View File

@@ -0,0 +1,209 @@
/*
* (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
*
*/
Ext.define("PE.controller.toolbar.View", {
extend: "Ext.app.Controller",
config: {
refs: {
viewToolbar: "viewtoolbar",
fullscreenButton: "#id-tb-btn-fullscreen",
shareButton: "#id-tb-btn-view-share",
btnPrevSlide: "#id-tb-btn-prev-slide",
btnNextSlide: "#id-tb-btn-next-slide",
btnPlaySlide: "#id-tb-btn-play",
overlayContainer: "#id-preview-overlay-container",
doneButton: "#id-tb-btn-view-done"
},
control: {
fullscreenButton: {
tap: "onTapFullscreenButton"
},
shareButton: {
tap: "onTapShareButton"
},
btnPrevSlide: {
tap: "onPrevSlide"
},
btnNextSlide: {
tap: "onNextSlide"
},
btnPlaySlide: {
tap: "onPlaySlide"
},
doneButton: {
tap: "onTapDoneButton"
}
},
isFullscreen: false
},
launch: function () {
this.callParent(arguments);
var overlayContainer = this.getOverlayContainer();
if (overlayContainer) {
overlayContainer.element.on("singletap", this.onSingleTapDocument, this);
overlayContainer.element.on("touchstart", this.onTouchStartDocument, this);
overlayContainer.element.on("touchend", this.onTouchEndDocument, this);
}
Common.Gateway.on("init", Ext.bind(this.loadConfig, this));
},
initControl: function () {
this._startX = 0;
this.callParent(arguments);
},
initApi: function () {},
setApi: function (o) {
this.api = o;
if (this.api) {
this.api.asc_registerCallback("asc_onEndDemonstration", Ext.bind(this.onApiEndDemonstration, this));
this.api.asc_registerCallback("asc_onDemonstrationSlideChanged", Ext.bind(this.onApiDemonstrationSlideChanged, this));
this.api.DemonstrationEndShowMessage(this.txtFinalMessage);
}
},
loadConfig: function (data) {
var doneButton = this.getDoneButton();
if (doneButton && data && data.config && data.config.canBackToFolder === true) {
doneButton.show();
}
},
onTapDoneButton: function () {
Common.Gateway.goBack();
},
onTapFullscreenButton: function (btn) {
var viewToolbar = this.getViewToolbar();
if (viewToolbar) {
this.setIsFullscreen(!this.getIsFullscreen());
if (this.getIsFullscreen()) {
btn.addCls("x-button-pressing");
viewToolbar.setStyle({
position: "absolute",
left: 0,
top: 0,
right: 0,
opacity: 0.9,
"z-index": 7
});
this.onSingleTapDocument();
} else {
viewToolbar.setStyle({
position: "initial",
opacity: 1
});
viewToolbar.setDocked("top");
}
}
},
onTapShareButton: function () {
this.api && this.api.asc_Print();
Common.component.Analytics.trackEvent("ToolBar View", "Share");
},
onSingleTapDocument: function () {
if (this.getIsFullscreen()) {
var viewToolbar = this.getViewToolbar();
if (viewToolbar) {
if (viewToolbar.isHidden()) {
viewToolbar.show({
preserveEndState: true,
easing: "ease-in",
from: {
opacity: 0
},
to: {
opacity: 0.9
}
});
} else {
viewToolbar.hide({
easing: "ease-out",
from: {
opacity: 0.9
},
to: {
opacity: 0
}
});
}
}
}
},
onTouchStartDocument: function (event, node, options, eOpts) {
this._startX = event.pageX;
},
onTouchEndDocument: function (event, node, options, eOpts) {
if (event.pageX - this._startX < -50) {
this.api.DemonstrationNextSlide();
} else {
if (event.pageX - this._startX > 50) {
this.api.DemonstrationPrevSlide();
}
}
},
onPrevSlide: function () {
if (this.api) {
this.api.DemonstrationPrevSlide();
}
},
onNextSlide: function () {
if (this.api) {
this.api.DemonstrationNextSlide();
}
},
onPlaySlide: function () {
var btnPlay = this.getBtnPlaySlide();
if (this.api && btnPlay) {
if (btnPlay.getIconCls() == "play") {
this.api.DemonstrationPlay();
btnPlay.setIconCls("pause");
} else {
this.api.DemonstrationPause();
btnPlay.setIconCls("play");
}
}
},
onApiEndDemonstration: function () {
if (this.api) {
this.api.StartDemonstration("id-presentation-preview", 0);
}
},
onApiDemonstrationSlideChanged: function (slideNum) {
if (this.api && Ext.isNumber(slideNum)) {
var count = this.api.getCountPages(),
btnNextSlide = this.getBtnNextSlide(),
btnPrevSlide = this.getBtnPrevSlide();
if (btnPrevSlide) {
btnPrevSlide.setDisabled(slideNum <= 0);
}
if (btnNextSlide) {
btnNextSlide.setDisabled(slideNum >= count - 1);
}
}
},
txtFinalMessage: "The end of slide preview"
});

View File

@@ -0,0 +1,46 @@
/*
* (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
*
*/
Ext.define("PE.profile.Phone", {
extend: "Ext.app.Profile",
config: {
name: "phone",
namespace: "phone",
controllers: ["Main", "PE.controller.Presentation", "PE.controller.toolbar.View"],
views: ["Main"]
},
isActive: function () {
return (Ext.os.is.Phone && (Ext.os.is.iOS || Ext.os.is.Android));
},
launch: function () {
Ext.widget("pephonemain");
}
});

View File

@@ -0,0 +1,46 @@
/*
* (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
*
*/
Ext.define("PE.profile.Tablet", {
extend: "Ext.app.Profile",
config: {
name: "tablet",
namespace: "tablet",
controllers: ["Main", "PE.controller.Presentation", "PE.controller.toolbar.View"],
views: ["Main"]
},
isActive: function () {
return (Ext.browser.is.WebKit && ((Ext.os.is.Tablet && (Ext.os.is.iOS || Ext.os.is.Android)) || Ext.os.is.Desktop));
},
launch: function () {
Ext.widget("petabletmain");
}
});

View File

@@ -0,0 +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
*
*/
Ext.define("PE.view.Main", {
extend: "Ext.Container",
initialize: function () {
this.callParent(arguments);
}
});

View File

@@ -0,0 +1,73 @@
/*
* (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
*
*/
Ext.define("PE.view.phone.Main", {
extend: "PE.view.Main",
alias: "widget.pephonemain",
requires: (["PE.view.phone.toolbar.View"]),
config: {
cls: "pe-phone-main",
fullscreen: true,
layout: {
type: "vbox",
pack: "center"
}
},
initialize: function () {
var me = this;
this.add(Ext.create("PE.view.phone.toolbar.View", {
hidden: true
}));
this.add({
xtype: "container",
layout: "vbox",
id: "id-conteiner-document",
flex: 1,
items: [{
xtype: "container",
height: 0,
id: "id-sdkeditor"
},
{
xtype: "container",
flex: 1,
id: "id-presentation-preview"
},
{
xtype: "panel",
cls: "pnl-overlay",
id: "id-preview-overlay-container",
style: "position:absolute; left:0; top:0; width:100%; height:100%; z-index:4;"
}]
});
this.callParent(arguments);
}
});

View File

@@ -0,0 +1,82 @@
/*
* (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
*
*/
Ext.define("PE.view.phone.toolbar.View", {
extend: "Ext.Toolbar",
xtype: "viewtoolbar",
config: {
docked: "top",
minHeight: 44,
ui: "edit"
},
initialize: function () {
this.add([{
id: "id-tb-btn-view-done",
ui: "base-blue",
cls: "text-offset-12",
hidden: true,
text: this.doneText
},
{
xtype: "spacer"
},
{
id: "id-tb-btn-prev-slide",
ui: "base",
iconCls: "left"
},
{
id: "id-tb-btn-play",
ui: "base",
iconCls: "play"
},
{
id: "id-tb-btn-next-slide",
ui: "base",
iconCls: "right"
},
{
xtype: "spacer"
},
{
id: "id-tb-btn-view-share",
ui: "base",
iconCls: "share"
},
{
id: "id-tb-btn-fullscreen",
ui: "base",
iconCls: "fullscreen"
}]);
this.callParent(arguments);
},
doneText: "Done"
});

View File

@@ -0,0 +1,73 @@
/*
* (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
*
*/
Ext.define("PE.view.tablet.Main", {
extend: "PE.view.Main",
alias: "widget.petabletmain",
requires: (["PE.view.tablet.toolbar.View"]),
config: {
cls: "pe-tablet-main",
fullscreen: true,
layout: {
type: "vbox",
pack: "center"
}
},
initialize: function () {
var me = this;
this.add(Ext.create("PE.view.tablet.toolbar.View", {
hidden: true
}));
this.add({
xtype: "container",
layout: "vbox",
id: "id-conteiner-document",
flex: 1,
items: [{
xtype: "container",
height: 0,
id: "id-sdkeditor"
},
{
xtype: "container",
flex: 1,
id: "id-presentation-preview"
},
{
xtype: "panel",
cls: "pnl-overlay",
id: "id-preview-overlay-container",
style: "position:absolute; left:0; top:0; width:100%; height:100%; z-index:4;"
}]
});
this.callParent(arguments);
}
});

View File

@@ -0,0 +1,82 @@
/*
* (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
*
*/
Ext.define("PE.view.tablet.toolbar.View", {
extend: "Ext.Toolbar",
xtype: "viewtoolbar",
config: {
docked: "top",
minHeight: 44,
ui: "edit"
},
initialize: function () {
this.add([{
id: "id-tb-btn-view-done",
ui: "base-blue",
cls: "text-offset-12",
hidden: true,
text: this.doneText
},
{
xtype: "spacer"
},
{
id: "id-tb-btn-prev-slide",
ui: "base",
iconCls: "left"
},
{
id: "id-tb-btn-play",
ui: "base",
iconCls: "play"
},
{
id: "id-tb-btn-next-slide",
ui: "base",
iconCls: "right"
},
{
xtype: "spacer"
},
{
id: "id-tb-btn-view-share",
ui: "base",
iconCls: "share"
},
{
id: "id-tb-btn-fullscreen",
ui: "base",
iconCls: "fullscreen"
}]);
this.callParent(arguments);
},
doneText: "Done"
});

View File

@@ -0,0 +1,206 @@
<!DOCTYPE html>
<html>
<head>
<title>ONLYOFFICE Presentation</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="" />
<meta name="keywords" 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;
height: 62px;
vertical-align: top;
background-image: url('./resources/img/loading-logo.gif');
background-image: -webkit-image-set(url('./resources/img/loading-logo.gif') 1x, url('./resources/img/loading-logo@2x.gif') 2x);
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>
<!-- 3rdparty -->
<script type="text/javascript" src="../../../3rdparty/touch/sencha-touch-debug.js"></script>
<script type="text/javascript" src="../../../3rdparty/jquery/jquery-1.7.1.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>
<script type="text/javascript" src="../../../3rdparty/underscore/underscore-min.js"></script>
<!-- Application -->
<script type="text/javascript" src="../../common/Analytics.js"></script>
<script type="text/javascript" src="../../common/Gateway.js"></script>
<script type="text/javascript" src="../../common/mobile/loader.js"></script>
<script type="text/javascript" src="app.js"></script>
<script type="text/javascript" src="../../common/locale.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>
</head>
<body>
<script type="text/javascript">
if (!(Ext.browser.is.WebKit && (Ext.os.is.iOS || Ext.os.is.Android || Ext.os.is.Desktop))) {
document.write(
'<div id="unsuported-view-id" class="unsuported-view"></div>'
);
} else {
document.write(
'<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>');
}
var injectStyleElement = function(url) {
var style = document.createElement('link'),
documentHead = typeof document != 'undefined' && (document.head || document.getElementsByTagName('head')[0]);
style.rel = 'stylesheet';
style.href = url;
style.type = 'text/css';
if (documentHead) {
documentHead.appendChild(style);
return true;
}
return false;
};
injectStyleElement(
(window.devicePixelRatio > 1)
? 'resources/css/application-retina.css'
: 'resources/css/application-normal.css'
);
</script>
</body>
</html>

View File

@@ -0,0 +1,109 @@
<!DOCTYPE html>
<html>
<head>
<title>ONLYOFFICE Presentation</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="" />
<meta name="keywords" 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;
height: 62px;
vertical-align: top;
background-image: url('./resources/img/loading-logo.gif');
background-image: -webkit-image-set(url('./resources/img/loading-logo.gif') 1x, url('./resources/img/loading-logo@2x.gif') 2x);
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>
<!-- 3rdparty -->
<script type="text/javascript" src="../../../3rdparty/touch/sencha-touch-all.js"></script>
<script type="text/javascript" src="../../../3rdparty/jquery/jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="../../../3rdparty/sockjs/sockjs-0.3.min.js"></script>
<script type="text/javascript" src="../../../3rdparty/underscore/underscore-min.js"></script>
<script type="text/javascript" src="../../../3rdparty/xregexp/xregexp-all-min.js"></script>
<!-- Application -->
<script type="text/javascript" src="../../../apps/presentationeditor/mobile/app-all.js"></script>
<!-- SDK -->
<script type="text/javascript" src="../../../sdk/Common/AllFonts.js"></script>
<script type="text/javascript" src="../../../sdk/PowerPoint/sdk-all.js"></script>
</head>
<body>
<script type="text/javascript">
if (!(Ext.browser.is.WebKit && (Ext.os.is.iOS || Ext.os.is.Android || Ext.os.is.Desktop))) {
document.write(
'<div id="unsuported-view-id" class="unsuported-view"></div>'
);
} else {
var injectStyleElement = function(url) {
var style = document.createElement('link'),
documentHead = typeof document != 'undefined' && (document.head || document.getElementsByTagName('head')[0]);
style.rel = 'stylesheet';
style.href = url;
style.type = 'text/css';
if (documentHead) {
documentHead.appendChild(style);
return true;
}
return false;
};
document.write(
'<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>');
injectStyleElement(
(window.devicePixelRatio > 1)
? 'resources/css/application-retina.css'
: 'resources/css/application-normal.css'
);
}
</script>
</body>
</html>

View File

@@ -0,0 +1,34 @@
{
"PE.controller.Main.convertationErrorText": "Konvertierung ist fehlgeschlagen.",
"PE.controller.Main.convertationTimeoutText": "Timeout für die Konvertierung wurde überschritten.",
"PE.controller.Main.criticalErrorExtText": "Klicken Sie auf \"OK\", um die Seite neu zu laden.",
"PE.controller.Main.criticalErrorTitle": "Fehler",
"PE.controller.Main.downloadErrorText": "Download ist fehlgeschlagen.",
"PE.controller.Main.editModeText": "Bearbeitungsmodus",
"PE.controller.Main.errorDefaultMessage": "Fehlercode: %1",
"PE.controller.Main.errorKeyEncrypt": "Unbekannter Schlüsseldeskriptor",
"PE.controller.Main.errorKeyExpire": "Der Schlüsseldeskriptor ist abgelaufen",
"PE.controller.Main.errorUsersExceed": "Die nach dem Zahlungsplan erlaubte Benutzeranzahl ist überschritten",
"PE.controller.Main.notcriticalErrorTitle": "Warnung",
"PE.controller.Main.printText": "Drucken...",
"PE.controller.Main.reloadButtonText": "Seite neu laden",
"PE.controller.Main.requestEditFailedMessageText": "Jemand bearbeitet dieses Dokument in diesem Moment. Bitte versuchen Sie es später erneut.",
"PE.controller.Main.requestEditFailedTitleText": "Zugriff verweigert",
"PE.controller.Main.requestEditRightsText": "Anfrage betreffend die Bearbeitungsberechtigung...",
"PE.controller.Main.splitDividerErrorText": "Die Zeilenanzahl muss ein Divisor von %1 sein.",
"PE.controller.Main.splitMaxColsErrorText": "Die Spaltenanzahl muss weniger sein als %1",
"PE.controller.Main.splitMaxRowsErrorText": "Die Zeilenanzahl muss weniger sein als %1",
"PE.controller.Main.textAnonymous": "Anonym",
"PE.controller.Main.textLoadingDocument": "Ladevorgang",
"PE.controller.Main.unknownErrorText": "Unbekannter Fehler.",
"PE.controller.Main.unsupportedBrowserErrorText": "Ihr Webbrowser wird nicht unterstützt.",
"PE.controller.Main.uploadImageExtMessage": "Unbekanntes Bildformat.",
"PE.controller.Main.uploadImageFileCountMessage": "Keine Bilder hochgeladen.",
"PE.controller.Main.uploadImageSizeMessage": "Die maximal zulässige Bildgröße ist überschritten.",
"PE.controller.Main.viewModeText": "Lesemodus",
"PE.controller.phone.Main.pageText": "Seite",
"PE.controller.tablet.Main.pageText": "Seite",
"PE.controller.toolbar.View.txtFinalMessage": "Folienvorschau beendet",
"PE.view.phone.toolbar.View.doneText": "Fertig",
"PE.view.tablet.toolbar.View.doneText": "Fertig"
}

View File

@@ -0,0 +1,34 @@
{
"PE.controller.Main.convertationErrorText": "Conversion failed.",
"PE.controller.Main.convertationTimeoutText": "Conversion timeout exceeded.",
"PE.controller.Main.criticalErrorExtText": "Press \"OK\" to reload the page.",
"PE.controller.Main.criticalErrorTitle": "Error",
"PE.controller.Main.downloadErrorText": "Download failed.",
"PE.controller.Main.editModeText": "Edit Mode",
"PE.controller.Main.errorDefaultMessage": "Error code: %1",
"PE.controller.Main.errorKeyEncrypt": "Unknown key descriptor",
"PE.controller.Main.errorKeyExpire": "Key descriptor expired",
"PE.controller.Main.errorUsersExceed": "The number of users allowed by the pricing plan was exceeded",
"PE.controller.Main.notcriticalErrorTitle": "Warning",
"PE.controller.Main.printText": "Printing...",
"PE.controller.Main.reloadButtonText": "Reload Page",
"PE.controller.Main.requestEditFailedMessageText": "Someone is editing this document right now. Please try again later.",
"PE.controller.Main.requestEditFailedTitleText": "Access denied",
"PE.controller.Main.requestEditRightsText": "Requesting editing rights...",
"PE.controller.Main.splitDividerErrorText": "The number of rows must be a divisor of %1",
"PE.controller.Main.splitMaxColsErrorText": "The number of columns must be less than %1",
"PE.controller.Main.splitMaxRowsErrorText": "The number of rows must be less than %1",
"PE.controller.Main.textAnonymous": "Anonymous",
"PE.controller.Main.textLoadingDocument": "Loading document",
"PE.controller.Main.unknownErrorText": "Unknown error.",
"PE.controller.Main.unsupportedBrowserErrorText": "Your browser is not supported.",
"PE.controller.Main.uploadImageExtMessage": "Unknown image format.",
"PE.controller.Main.uploadImageFileCountMessage": "No images uploaded.",
"PE.controller.Main.uploadImageSizeMessage": "Maximium image size limit exceeded.",
"PE.controller.Main.viewModeText": "View Mode",
"PE.controller.phone.Main.pageText": "Page",
"PE.controller.tablet.Main.pageText": "Page",
"PE.controller.toolbar.View.txtFinalMessage": "The end of slide preview",
"PE.view.phone.toolbar.View.doneText": "Done",
"PE.view.tablet.toolbar.View.doneText": "Done"
}

View File

@@ -0,0 +1,34 @@
{
"PE.controller.Main.convertationErrorText": "Conversión fallida.",
"PE.controller.Main.convertationTimeoutText": "Tiempo de conversión está superado.",
"PE.controller.Main.criticalErrorExtText": "Pulse \"OK\" para recargar la página. ",
"PE.controller.Main.criticalErrorTitle": "Error",
"PE.controller.Main.downloadErrorText": "Descarga fallida.",
"PE.controller.Main.editModeText": "Modo de edición",
"PE.controller.Main.errorDefaultMessage": "Código de error: %1",
"PE.controller.Main.errorKeyEncrypt": "Descriptor de clave desconocido",
"PE.controller.Main.errorKeyExpire": "Descriptor de clave ha expirado",
"PE.controller.Main.errorUsersExceed": "El número de usuarios permitido según su plano de precios fue excedido",
"PE.controller.Main.notcriticalErrorTitle": "Aviso",
"PE.controller.Main.printText": "Imprimiendo...",
"PE.controller.Main.reloadButtonText": "Recargar página",
"PE.controller.Main.requestEditFailedMessageText": "Alguien está editando el documento en este momento. Por favor, inténtelo de nuevo más tarde.",
"PE.controller.Main.requestEditFailedTitleText": "Acceso negado",
"PE.controller.Main.requestEditRightsText": "Solicitando derechos de edición...",
"PE.controller.Main.splitDividerErrorText": "El número de filas hay que ser un divisor de %1",
"PE.controller.Main.splitMaxColsErrorText": "El número de columnas debe ser menos que %1",
"PE.controller.Main.splitMaxRowsErrorText": "El número de filas debe ser menos que %1",
"PE.controller.Main.textAnonymous": "Anónimo",
"PE.controller.Main.textLoadingDocument": "Cargando documento",
"PE.controller.Main.unknownErrorText": "Error desconocido.",
"PE.controller.Main.unsupportedBrowserErrorText": "Su navegador no está soportado.",
"PE.controller.Main.uploadImageExtMessage": "Formato de imagen desconocido.",
"PE.controller.Main.uploadImageFileCountMessage": "No hay imágenes subidas.",
"PE.controller.Main.uploadImageSizeMessage": "Tamaño de imagen máximo está superado.",
"PE.controller.Main.viewModeText": "Modo de vista",
"PE.controller.phone.Main.pageText": "Página",
"PE.controller.tablet.Main.pageText": "Página",
"PE.controller.toolbar.View.txtFinalMessage": "El fin de vista previa",
"PE.view.phone.toolbar.View.doneText": "Listo",
"PE.view.tablet.toolbar.View.doneText": "Listo"
}

View File

@@ -0,0 +1,34 @@
{
"PE.controller.Main.convertationErrorText": "Échec de la conversion.",
"PE.controller.Main.convertationTimeoutText": "Expiration du délai de conversion.",
"PE.controller.Main.criticalErrorExtText": "Cliquez sur \"OK\" pour recharger la page.",
"PE.controller.Main.criticalErrorTitle": "Erreur",
"PE.controller.Main.downloadErrorText": "Échec du téléchargement.",
"PE.controller.Main.editModeText": "Mode d'édition",
"PE.controller.Main.errorDefaultMessage": "Code d'erreur: %1",
"PE.controller.Main.errorKeyEncrypt": "Descripteur de clés inconnu",
"PE.controller.Main.errorKeyExpire": "Descripteur de clés expiré",
"PE.controller.Main.errorUsersExceed": "Le nombre d'utilisateurs autorisés par le plan tarifaire a été dépassé",
"PE.controller.Main.notcriticalErrorTitle": "Avertissement",
"PE.controller.Main.printText": "Impression en cours...",
"PE.controller.Main.reloadButtonText": "Recharger la page",
"PE.controller.Main.requestEditFailedMessageText": "Quelqu'un est en train de modifier ce document. Veuillez réessayer plus tard.",
"PE.controller.Main.requestEditFailedTitleText": "Accès refusé",
"PE.controller.Main.requestEditRightsText": "Demande des droits de modification...",
"PE.controller.Main.splitDividerErrorText": "Le nombre de lignes doit être un diviseur de %1",
"PE.controller.Main.splitMaxColsErrorText": "Le nombre de colonnes doit être inférieure à %1",
"PE.controller.Main.splitMaxRowsErrorText": "Le nombre de lignes doit être inférieure à %1",
"PE.controller.Main.textAnonymous": "Anonyme",
"PE.controller.Main.textLoadingDocument": "Chargement du document",
"PE.controller.Main.unknownErrorText": "Erreur inconnue.",
"PE.controller.Main.unsupportedBrowserErrorText": "Votre navigateur n'est pas pris en charge.",
"PE.controller.Main.uploadImageExtMessage": "Format d'image inconnu.",
"PE.controller.Main.uploadImageFileCountMessage": "Aucune image n'est téléchargée.",
"PE.controller.Main.uploadImageSizeMessage": "La taille de l'image a dépassé la limite maximale.",
"PE.controller.Main.viewModeText": "Mode d'affichage",
"PE.controller.phone.Main.pageText": "Page",
"PE.controller.tablet.Main.pageText": "Page",
"PE.controller.toolbar.View.txtFinalMessage": "La fin de la prévisualisation",
"PE.view.phone.toolbar.View.doneText": "Fait",
"PE.view.tablet.toolbar.View.doneText": "Fait"
}

View File

@@ -0,0 +1,34 @@
{
"PE.controller.Main.convertationErrorText": "Conversione fallita.",
"PE.controller.Main.convertationTimeoutText": "E' stato superato il tempo limite della conversione.",
"PE.controller.Main.criticalErrorExtText": "Clicca su \"OK\" per ricaricare la pagina.",
"PE.controller.Main.criticalErrorTitle": "Errore",
"PE.controller.Main.downloadErrorText": "Download fallito.",
"PE.controller.Main.editModeText": "Modifica",
"PE.controller.Main.errorDefaultMessage": "Codice errore: %1",
"PE.controller.Main.errorKeyEncrypt": "Descrittore di chiave sconosciuto",
"PE.controller.Main.errorKeyExpire": "Descrittore di chiave scaduto",
"PE.controller.Main.errorUsersExceed": "E' stato superato il numero di utenti consentito dal piano tariffario",
"PE.controller.Main.notcriticalErrorTitle": "Avviso",
"PE.controller.Main.printText": "Stampa in corso...",
"PE.controller.Main.reloadButtonText": "Ricarica pagina",
"PE.controller.Main.requestEditFailedMessageText": "Qualcuno sta modificando questo documento. Si prega di provare più tardi.",
"PE.controller.Main.requestEditFailedTitleText": "Accesso vietato",
"PE.controller.Main.requestEditRightsText": "Richiesta di autorizzazione di modifica...",
"PE.controller.Main.splitDividerErrorText": "Il numero di righe deve essere un divisore di %1",
"PE.controller.Main.splitMaxColsErrorText": "Il numero di colonne deve essere inferiore a %1",
"PE.controller.Main.splitMaxRowsErrorText": "Il numero di righe deve essere inferiore a %1",
"PE.controller.Main.textAnonymous": "Anonimo",
"PE.controller.Main.textLoadingDocument": "Caricamento del documento",
"PE.controller.Main.unknownErrorText": "Errore sconosciuto.",
"PE.controller.Main.unsupportedBrowserErrorText": "Il tuo browser non è supportato.",
"PE.controller.Main.uploadImageExtMessage": "Formato immagine sconosciuto.",
"PE.controller.Main.uploadImageFileCountMessage": "Nessun immagine caricata.",
"PE.controller.Main.uploadImageSizeMessage": "E' stata superata la dimensione massima.",
"PE.controller.Main.viewModeText": "Visualizzazione",
"PE.controller.phone.Main.pageText": "Pagina",
"PE.controller.tablet.Main.pageText": "Pagina",
"PE.controller.toolbar.View.txtFinalMessage": "Fine di visualizzazione",
"PE.view.phone.toolbar.View.doneText": "Fatto",
"PE.view.tablet.toolbar.View.doneText": "Fatto"
}

View File

@@ -0,0 +1,34 @@
{
"PE.controller.Main.convertationErrorText": "Конвертация не удалась.",
"PE.controller.Main.convertationTimeoutText": "Превышено время ожидания конвертации.",
"PE.controller.Main.criticalErrorExtText": "Нажмите \"OK\", чтобы обновить страницу.",
"PE.controller.Main.criticalErrorTitle": "Ошибка",
"PE.controller.Main.downloadErrorText": "Загрузка не удалась.",
"PE.controller.Main.editModeText": "Режим редактирования",
"PE.controller.Main.errorDefaultMessage": "Код ошибки: %1",
"PE.controller.Main.errorKeyEncrypt": "Неизвестный дескриптор ключа",
"PE.controller.Main.errorKeyExpire": "Срок действия дескриптора ключа истек",
"PE.controller.Main.errorUsersExceed": "Превышено количество пользователей, разрешенных согласно тарифному плану",
"PE.controller.Main.notcriticalErrorTitle": "Предупреждение",
"PE.controller.Main.printText": "Печать...",
"PE.controller.Main.reloadButtonText": "Обновить страницу",
"PE.controller.Main.requestEditFailedMessageText": "В настоящее время документ редактируется. Пожалуйста, попробуйте позже.",
"PE.controller.Main.requestEditFailedTitleText": "Доступ запрещен",
"PE.controller.Main.requestEditRightsText": "Запрос прав на редактирование...",
"PE.controller.Main.splitDividerErrorText": "Число строк должно являться делителем для %1",
"PE.controller.Main.splitMaxColsErrorText": "Число столбцов должно быть меньше, чем %1",
"PE.controller.Main.splitMaxRowsErrorText": "Число строк должно быть меньше, чем %1",
"PE.controller.Main.textAnonymous": "Аноним",
"PE.controller.Main.textLoadingDocument": "Загрузка документа",
"PE.controller.Main.unknownErrorText": "Неизвестная ошибка.",
"PE.controller.Main.unsupportedBrowserErrorText": "Ваш браузер не поддерживается.",
"PE.controller.Main.uploadImageExtMessage": "Неизвестный формат изображения.",
"PE.controller.Main.uploadImageFileCountMessage": "Ни одного изображения не загружено.",
"PE.controller.Main.uploadImageSizeMessage": "Превышен максимальный размер изображения.",
"PE.controller.Main.viewModeText": "Режим просмотра",
"PE.controller.phone.Main.pageText": "Страница",
"PE.controller.tablet.Main.pageText": "Страница",
"PE.controller.toolbar.View.txtFinalMessage": "Просмотр слайдов завершен",
"PE.view.phone.toolbar.View.doneText": "Готово",
"PE.view.tablet.toolbar.View.doneText": "Готово"
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

View File

@@ -0,0 +1,77 @@
// Basic
$base-color : #cbcbcb;
$active-color : #688AD2;
$base-gradient : 'matte';
$include-default-icons : false;
$include-default-uis : false;
// Toolbar
$toolbar-icon-size : 1.0em;
// Image default icons
$icons-default-size : 24px;
$icons-default-image-width : 72px;
$icons-default-image-height : 144px;
@import 'sencha-touch/default/all';
@import 'common-buttons';
@import 'common-toolbar';
@import 'application-mixins';
@include sencha-panel;
@include sencha-buttons;
@include sencha-toolbar;
@include sencha-toolbar-forms;
@include sencha-indexbar;
@include sencha-layout;
@include sencha-form;
@include sencha-msgbox;
@include sencha-loading-spinner;
@include common-toolbar-ui('edit', $base-color);
@include common-toolbar-ui('search', $base-color);
@include application-icon-normal('share', 0);
@include application-icon-normal('search', 1);
@include application-icon-normal('fullscreen', 1);
@include application-icon-normal('right', 2);
@include application-icon-normal('left', 3);
@include application-icon-normal('play', 4);
@include application-icon-normal('pause', 5);
@include common-button-ui('base', $base-color);
@include common-button-ui('light', lighten($base-color, 100%));
@include common-button-ui('base-blue', $active-color, 'dark');
@include common-button-ui('back', $base-color);
/*
* unsupport
*/
//TODO: need retina resolution
.unsuported-view {
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
background: url(../img/ios-only.png) no-repeat center #efefef;
background-attachment: fixed;
z-index: 90000;
}
/*
* Additional styles
*/
.x-button.text-offset-12 {
padding-left: 12px;
padding-right: 12px;
}
.x-button.text-offset-30 {
padding-left: 30px;
padding-right: 30px;
}

View File

@@ -0,0 +1,19 @@
@mixin application-icon-normal($name, $index) {
.x-button-icon.#{$name},
.list-icon.#{$name} {
background-image: url($icons-default-path);
background-color: transparent;
background-position: 0 -1 * $index * $icons-default-size;
background-size: $icons-default-image-width $icons-default-image-height;
}
.x-button-pressing,
.x-button-pressed,
.x-button-active,
.x-item-pressed {
.x-button-icon.#{$name},
.list-icon.#{$name} {
background-position: -1 * $icons-default-size -1 * $index * $icons-default-size;
}
}
}

View File

@@ -0,0 +1,3 @@
$icons-default-path : '../img/icons/icons-normal.png';
@import 'application-base';

View File

@@ -0,0 +1,3 @@
$icons-default-path : '../img/icons/icons-retina.png';
@import 'application-base';

View File

@@ -0,0 +1,14 @@
# Get the directory that this configuration file exists in
dir = File.dirname(__FILE__)
# Load the sencha-touch framework automatically.
load File.join(dir, '..', '..', '..', '..', '..', '3rdparty', 'touch', 'resources', 'themes')
# Add include path for command styles
add_import_path File.join(dir, '..', '..', '..', '..', '..', 'apps', 'common', 'mobile', 'resources', 'sass')
# Compass configurations
sass_path = dir
css_path = File.join(dir, "..", "css")
environment = :development
output_style = :expanded

View File

@@ -0,0 +1,14 @@
# Get the directory that this configuration file exists in
dir = File.dirname(__FILE__)
# Load the sencha-touch framework automatically.
load File.join(dir, '..', '..', '..', '..', '..', '3rdparty', 'touch', 'resources', 'themes')
# Add include path for command styles
add_import_path File.join(dir, '..', '..', '..', '..', '..', 'apps', 'common', 'mobile', 'resources', 'sass')
# Compass configurations
sass_path = dir
css_path = File.join(dir, "..", "css")
environment = :production
output_style = :compressed