Commit f11ea296 authored by Alexander Yuzhin's avatar Alexander Yuzhin

[PE mobile] Draft

parent 70cb9913
......@@ -1064,41 +1064,6 @@ define([
// this.getFileMenu().setMode({isDisconnected:true});
},
showTips: function(strings) {
var me = this;
if (!strings.length) return;
if (typeof(strings)!='object') strings = [strings];
// var top_elem = Ext.ComponentQuery.query('petoolbar');
// !top_elem.length && (top_elem = Ext.select('.common-header').first()) || (top_elem = top_elem[0].getEl());
//
function showNextTip() {
var str_tip = strings.shift();
if (str_tip) {
str_tip += me.textCloseTip;
tooltip.setTitle(str_tip);
tooltip.show();
}
}
if (!this.tooltip) {
this.tooltip = new Common.UI.Tooltip({
owner: this.getApplication().getController('Toolbar').getView('Toolbar'),
hideonclick: true,
placement: 'bottom',
cls: 'main-info',
offset: 30
});
}
var tooltip = this.tooltip;
tooltip.on('tooltip:hide', function(){
setTimeout(showNextTip, 300);
});
showNextTip();
},
updateWindowTitle: function(force) {
var isModified = this.api.isDocumentModified();
if (this._state.isDocModified !== isModified || force) {
......
/*
*
* (c) Copyright Ascensio System Limited 2010-2016
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
/**
* app.js
* Presentation Editor
*
* Created by Alexander Yuzhin on 11/21/16
* Copyright (c) 2016 Ascensio System SIA. All rights reserved.
*
*/
'use strict';
var reqerr;
require.config({
baseUrl: '../../',
paths: {
jquery : '../vendor/jquery/jquery',
underscore : '../vendor/underscore/underscore',
backbone : '../vendor/backbone/backbone',
framework7 : '../vendor/framework7/js/framework7',
text : '../vendor/requirejs-text/text',
xregexp : '../vendor/xregexp/xregexp-all-min',
sockjs : '../vendor/sockjs/sockjs.min',
jszip : '../vendor/jszip/jszip.min',
jsziputils : '../vendor/jszip-utils/jszip-utils.min',
jsrsasign : '../vendor/jsrsasign/jsrsasign-latest-all-min',
api : 'api/documents/api',
core : 'common/main/lib/core/application',
extendes : 'common/mobile/utils/extendes',
notification : 'common/main/lib/core/NotificationCenter',
localstorage : 'common/main/lib/util/LocalStorage',
analytics : 'common/Analytics',
gateway : 'common/Gateway',
locale : 'common/locale',
irregularstack : 'common/IrregularStack',
sharedsettings : 'common/mobile/utils/SharedSettings'
},
shim: {
framework7: {
exports: 'Framework7'
},
underscore: {
exports: '_'
},
backbone: {
deps: [
'underscore',
'jquery'
],
exports: 'Backbone'
},
core: {
deps: [
'backbone',
'notification',
'irregularstack',
'sharedsettings'
]
},
extendes: {
deps: [
'underscore',
'jquery',
'framework7'
]
},
gateway: {
deps: [
'jquery'
]
},
analytics: {
deps: [
'jquery'
]
}
}
});
require([
'backbone',
'framework7',
'core',
'underscore',
'extendes',
'api',
'analytics',
'gateway',
'locale',
'jszip',
'jsziputils',
'jsrsasign',
'sockjs'
], function (Backbone, Framework7, Core) {
Backbone.history.start();
/**
* Application instance with DE namespace defined
*/
var app = new Backbone.Application({
nameSpace: 'PE',
autoCreate: false,
controllers : [
'Editor',
'Toolbar',
// 'Search',
'Main'
// 'DocumentHolder',
// 'Settings',
// 'EditContainer',
// 'EditText',
// 'EditParagraph',
// 'EditTable',
// 'EditImage',
// 'EditShape',
// 'EditChart',
// 'EditHyperlink',
// 'AddContainer',
// 'AddTable',
// 'AddShape',
// 'AddImage',
// 'AddOther'
]
});
Common.Locale.apply();
var device = Framework7.prototype.device;
var loadPlatformCss = function (filename, opt){
var fileref = document.createElement('link');
fileref.setAttribute('rel', 'stylesheet');
fileref.setAttribute('type', 'text/css');
fileref.setAttribute('href', filename);
if (typeof fileref != 'undefined') {
document.getElementsByTagName("head")[0].appendChild(fileref);
}
};
//Store Framework7 initialized instance for easy access
window.uiApp = new Framework7({
// Default title for modals
modalTitle: 'ONLYOFFICE',
// If it is webapp, we can enable hash navigation:
// pushState: false,
// If Android
material: device.android,
// Hide and show indicator during ajax requests
onAjaxStart: function (xhr) {
uiApp.showIndicator();
},
onAjaxComplete: function (xhr) {
uiApp.hideIndicator();
}
});
//Export DOM7 to local variable to make it easy accessable
window.$$ = Dom7;
//Load platform styles
loadPlatformCss('resources/css/app-' + (device.android ? 'material' : 'ios') + '.css');
require([
'common/main/lib/util/LocalStorage',
'common/main/lib/util/utils',
'presentationeditor/mobile/app/controller/Editor',
'presentationeditor/mobile/app/controller/Toolbar',
// 'presentationeditor/mobile/app/controller/Search',
'presentationeditor/mobile/app/controller/Main'
// 'presentationeditor/mobile/app/controller/DocumentHolder',
// 'presentationeditor/mobile/app/controller/Settings',
// 'presentationeditor/mobile/app/controller/edit/EditContainer',
// 'presentationeditor/mobile/app/controller/edit/EditText',
// 'presentationeditor/mobile/app/controller/edit/EditParagraph',
// 'presentationeditor/mobile/app/controller/edit/EditTable',
// 'presentationeditor/mobile/app/controller/edit/EditImage',
// 'presentationeditor/mobile/app/controller/edit/EditShape',
// 'presentationeditor/mobile/app/controller/edit/EditChart',
// 'presentationeditor/mobile/app/controller/edit/EditHyperlink',
// 'presentationeditor/mobile/app/controller/add/AddContainer',
// 'presentationeditor/mobile/app/controller/add/AddTable',
// 'presentationeditor/mobile/app/controller/add/AddShape',
// 'presentationeditor/mobile/app/controller/add/AddImage',
// 'presentationeditor/mobile/app/controller/add/AddOther'
], function() {
app.start();
});
}, function(err) {
if (err.requireType == 'timeout' && !reqerr) {
var getUrlParams = function() {
var e,
a = /\+/g, // Regex for replacing addition symbol with a space
r = /([^&=]+)=?([^&]*)/g,
d = function (s) { return decodeURIComponent(s.replace(a, " ")); },
q = window.location.search.substring(1),
urlParams = {};
while (e = r.exec(q))
urlParams[d(e[1])] = d(e[2]);
return urlParams;
};
var encodeUrlParam = function(str) {
return str.replace(/&/g, '&')
.replace(/"/g, '"')
.replace(/'/g, ''')
.replace(/</g, '&lt;')
.replace(/>/g, '&gt;');
};
var lang = (getUrlParams()["lang"] || 'en').split("-")[0];
if ( lang == 'de') reqerr = 'Die Verbindung ist zu langsam, einige Komponenten konnten nicht geladen werden. Aktualisieren Sie bitte die Seite.';
else if ( lang == 'es') reqerr = 'La conexión es muy lenta, algunos de los componentes no han podido cargar. Por favor recargue la página.';
else if ( lang == 'fr') reqerr = 'La connexion est trop lente, certains des composants n\'ons pas pu être chargé. Veuillez recharger la page.';
else if ( lang == 'ru') reqerr = 'Слишком медленное соединение, не удается загрузить некоторые компоненты. Пожалуйста, обновите страницу.';
else reqerr = 'The connection is too slow, some of the components could not be loaded. Please reload the page.';
window.alert(reqerr);
window.location.reload();
}
});
\ No newline at end of file
......@@ -29,20 +29,241 @@
* 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',
/**
* app.js
* Presentation Editor
*
* Created by Alexander Yuzhin on 11/21/16
* Copyright (c) 2016 Ascensio System SIA. All rights reserved.
*
*/
viewport: {
autoMaximize: false // TODO: set as TRUE if standalone version
'use strict';
var reqerr;
require.config({
baseUrl: '../../',
paths: {
jquery : '../vendor/jquery/jquery',
underscore : '../vendor/underscore/underscore',
backbone : '../vendor/backbone/backbone',
framework7 : '../vendor/framework7/js/framework7',
text : '../vendor/requirejs-text/text',
xregexp : '../vendor/xregexp/xregexp-all-min',
sockjs : '../vendor/sockjs/sockjs.min',
jszip : '../vendor/jszip/jszip.min',
jsziputils : '../vendor/jszip-utils/jszip-utils.min',
jsrsasign : '../vendor/jsrsasign/jsrsasign-latest-all-min',
allfonts : '../../sdkjs/common/AllFonts',
sdk : '../../sdkjs/word/sdk-all-min',
api : 'api/documents/api',
core : 'common/main/lib/core/application',
extendes : 'common/mobile/utils/extendes',
notification : 'common/main/lib/core/NotificationCenter',
localstorage : 'common/main/lib/util/LocalStorage',
analytics : 'common/Analytics',
gateway : 'common/Gateway',
locale : 'common/locale',
irregularstack : 'common/IrregularStack',
sharedsettings : 'common/mobile/utils/SharedSettings'
},
shim: {
framework7: {
exports: 'Framework7'
},
underscore: {
exports: '_'
},
backbone: {
deps: [
'underscore',
'jquery'
],
exports: 'Backbone'
},
core: {
deps: [
'backbone',
'notification',
'irregularstack',
'sharedsettings'
]
},
extendes: {
deps: [
'underscore',
'jquery',
'framework7'
]
},
sdk: {
deps: [
'jquery',
'underscore',
'allfonts',
'xregexp',
'sockjs',
'jszip',
'jsziputils',
'jsrsasign'
]
},
gateway: {
deps: [
'jquery'
]
},
analytics: {
deps: [
'jquery'
]
}
}
});
require([
'backbone',
'framework7',
'core',
'underscore',
'extendes',
'sdk',
'api',
'analytics',
'gateway',
'locale'
], function (Backbone, Framework7, Core) {
Backbone.history.start();
profiles: [
'Tablet',
'Phone'
/**
* Application instance with PE namespace defined
*/
var app = new Backbone.Application({
nameSpace: 'PE',
autoCreate: false,
controllers : [
'Editor',
'Toolbar',
// 'Search',
'Main'
// 'DocumentHolder',
// 'Settings',
// 'EditContainer',
// 'EditText',
// 'EditParagraph',
// 'EditTable',
// 'EditImage',
// 'EditShape',
// 'EditChart',
// 'EditHyperlink',
// 'AddContainer',
// 'AddTable',
// 'AddShape',
// 'AddImage',
// 'AddOther'
]
});
Common.Locale.apply();
var device = Framework7.prototype.device;
var loadPlatformCss = function (filename, opt){
var fileref = document.createElement('link');
fileref.setAttribute('rel', 'stylesheet');
fileref.setAttribute('type', 'text/css');
fileref.setAttribute('href', filename);
if (typeof fileref != 'undefined') {
document.getElementsByTagName("head")[0].appendChild(fileref);
}
};
//Store Framework7 initialized instance for easy access
window.uiApp = new Framework7({
// Default title for modals
modalTitle: 'ONLYOFFICE',
// If it is webapp, we can enable hash navigation:
// pushState: false,
// If Android
material: device.android,
// Hide and show indicator during ajax requests
onAjaxStart: function (xhr) {
uiApp.showIndicator();
},
onAjaxComplete: function (xhr) {
uiApp.hideIndicator();
}
});
//Export DOM7 to local variable to make it easy accessable
window.$$ = Dom7;
//Load platform styles
loadPlatformCss('resources/css/app-' + (device.android ? 'material' : 'ios') + '.css');
require([
'common/main/lib/util/LocalStorage',
'common/main/lib/util/utils',
'presentationeditor/mobile/app/controller/Editor',
'presentationeditor/mobile/app/controller/Toolbar',
// 'presentationeditor/mobile/app/controller/Search',
'presentationeditor/mobile/app/controller/Main'
// 'presentationeditor/mobile/app/controller/DocumentHolder',
// 'presentationeditor/mobile/app/controller/Settings',
// 'presentationeditor/mobile/app/controller/edit/EditContainer',
// 'presentationeditor/mobile/app/controller/edit/EditText',
// 'presentationeditor/mobile/app/controller/edit/EditParagraph',
// 'presentationeditor/mobile/app/controller/edit/EditTable',
// 'presentationeditor/mobile/app/controller/edit/EditImage',
// 'presentationeditor/mobile/app/controller/edit/EditShape',
// 'presentationeditor/mobile/app/controller/edit/EditChart',
// 'presentationeditor/mobile/app/controller/edit/EditHyperlink',
// 'presentationeditor/mobile/app/controller/add/AddContainer',
// 'presentationeditor/mobile/app/controller/add/AddTable',
// 'presentationeditor/mobile/app/controller/add/AddShape',
// 'presentationeditor/mobile/app/controller/add/AddImage',
// 'presentationeditor/mobile/app/controller/add/AddOther'
], function() {
app.start();
});
}, function(err) {
if (err.requireType == 'timeout' && !reqerr) {
var getUrlParams = function() {
var e,
a = /\+/g, // Regex for replacing addition symbol with a space
r = /([^&=]+)=?([^&]*)/g,
d = function (s) { return decodeURIComponent(s.replace(a, " ")); },
q = window.location.search.substring(1),
urlParams = {};
while (e = r.exec(q))
urlParams[d(e[1])] = d(e[2]);
return urlParams;
};
var encodeUrlParam = function(str) {
return str.replace(/&/g, '&amp;')
.replace(/"/g, '&quot;')
.replace(/'/g, '&#39;')
.replace(/</g, '&lt;')
.replace(/>/g, '&gt;');
};
var lang = (getUrlParams()["lang"] || 'en').split("-")[0];
if ( lang == 'de') reqerr = 'Die Verbindung ist zu langsam, einige Komponenten konnten nicht geladen werden. Aktualisieren Sie bitte die Seite.';
else if ( lang == 'es') reqerr = 'La conexión es muy lenta, algunos de los componentes no han podido cargar. Por favor recargue la página.';
else if ( lang == 'fr') reqerr = 'La connexion est trop lente, certains des composants n\'ons pas pu être chargé. Veuillez recharger la page.';
else if ( lang == 'ru') reqerr = 'Слишком медленное соединение, не удается загрузить некоторые компоненты. Пожалуйста, обновите страницу.';
else reqerr = 'The connection is too slow, some of the components could not be loaded. Please reload the page.';
window.alert(reqerr);
window.location.reload();
}
});
\ No newline at end of file
......@@ -29,61 +29,84 @@
* 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'
},
*/
/**
* Editor.js
* Presentation Editor
*
* Created by Alexander Yuzhin on 11/21/16
* Copyright (c) 2016 Ascensio System SIA. All rights reserved.
*
*/
define([
'core',
'presentationeditor/mobile/app/view/Editor'
], function (core) {
'use strict';
PE.Controllers.Editor = Backbone.Controller.extend((function() {
// private
function isPhone() {
var ua = navigator.userAgent,
isMobile = /Mobile(\/|\s)/.test(ua);
return /(iPhone|iPod)/.test(ua) ||
(!/(Silk)/.test(ua) && (/(Android)/.test(ua) && (/(Android 2)/.test(ua) || isMobile))) ||
(/(BlackBerry|BB)/.test(ua) && isMobile) ||
/(Windows Phone)/.test(ua);
}
function isTablet() {
var ua = navigator.userAgent;
return !isPhone(ua) && (/iPad/.test(ua) || /Android/.test(ua) || /(RIM Tablet OS)/.test(ua) ||
(/MSIE 10/.test(ua) && /; Touch/.test(ua)));
}
return {
// Specifying a EditorController model
models: [],
// Specifying a collection of out EditorView
collections: [],
// Specifying application views
views: [
'Editor' // is main application layout
],
// When controller is created let's setup view event listeners
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'
// This most important part when we will tell our controller what events should be handled
},
{
id : 'id-tb-btn-next-slide',
ui : 'base',
iconCls : 'right'
},
{
xtype : 'spacer'
},
{
id : 'id-tb-btn-view-share',
ui : 'base',
iconCls : 'share'
setApi: function(api) {
this.api = api;
},
{
id : 'id-tb-btn-fullscreen',
ui : 'base',
iconCls : 'fullscreen'
}
]);
this.callParent(arguments);
// When our application is ready, lets get started
onLaunch: function() {
// Device detection
var phone = isPhone();
console.debug('Layout profile:', phone ? 'Phone' : 'Tablet');
Common.SharedSettings.set('android', Framework7.prototype.device.android);
Common.SharedSettings.set('phone', phone);
$('html').addClass(phone ? 'phone' : 'tablet');
// Create and render main view
this.editorView = this.createView('Editor').render();
$$(window).on('resize', _.bind(this.onWindowResize, this));
},
doneText: 'Done'
onWindowResize: function(e) {
this.api && this.api.Resize();
}
}
})());
});
/*
*
* (c) Copyright Ascensio System Limited 2010-2016
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
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();
}
}
});
/*
*
* (c) Copyright Ascensio System Limited 2010-2016
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
/**
* Toolbar.js
* Presentation Editor
*
* Created by Alexander Yuzhin on 11/21/16
* Copyright (c) 2016 Ascensio System SIA. All rights reserved.
*
*/
define([
'core',
'jquery',
'underscore',
'backbone',
'presentationeditor/mobile/app/view/Toolbar'
], function (core, $, _, Backbone) {
'use strict';
PE.Controllers.Toolbar = Backbone.Controller.extend(_.extend((function() {
// private
var _backUrl;
return {
models: [],
collections: [],
views: [
'Toolbar'
],
initialize: function() {
Common.Gateway.on('init', _.bind(this.loadConfig, this));
},
loadConfig: function (data) {
if (data && data.config && data.config.canBackToFolder !== false &&
data.config.customization && data.config.customization.goback && data.config.customization.goback.url) {
_backUrl = data.config.customization.goback.url;
$('#document-back').show().single('click', _.bind(this.onBack, this));
}
},
setApi: function(api) {
this.api = api;
this.api.asc_registerCallback('asc_onCanUndo', _.bind(this.onApiCanRevert, this, 'undo'));
this.api.asc_registerCallback('asc_onCanRedo', _.bind(this.onApiCanRevert, this, 'redo'));
},
setMode: function (mode) {
this.getView('Toolbar').setMode(mode);
},
onLaunch: function() {
var me = this;
me.createView('Toolbar').render();
$('#toolbar-undo').single('click', _.bind(me.onUndo, me));
$('#toolbar-redo').single('click', _.bind(me.onRedo, me));
},
setDocumentTitle: function (title) {
$('#toolbar-title').html(title);
},
// Handlers
onBack: function (e) {
var me = this;
if (me.api.isDocumentModified()) {
uiApp.modal({
title : me.dlgLeaveTitleText,
text : me.dlgLeaveMsgText,
verticalButtons: true,
buttons : [
{
text: me.leaveButtonText,
onClick: function() {
window.parent.location.href = _backUrl;
}
},
{
text: me.stayButtonText,
bold: true
}
]
});
} else {
window.parent.location.href = _backUrl;
}
},
onUndo: function (e) {
if (this.api)
this.api.Undo();
},
onRedo: function (e) {
if (this.api)
this.api.Redo();
},
// API handlers
onApiCanRevert: function(which, can) {
if (which == 'undo') {
$('#toolbar-undo').toggleClass('disabled', !can);
} else {
$('#toolbar-redo').toggleClass('disabled', !can);
}
},
dlgLeaveTitleText : 'You leave the application',
dlgLeaveMsgText : 'You have unsaved changes in this document. Click \'Stay on this Page\' to await the autosave of the document. Click \'Leave this Page\' to discard all the unsaved changes.',
leaveButtonText : 'Leave this Page',
stayButtonText : 'Stay on this Page'
}
})(), PE.Controllers.Toolbar || {}))
});
\ No newline at end of file
/*
*
* (c) Copyright Ascensio System Limited 2010-2016
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
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){
}
});
\ No newline at end of file
/*
*
* (c) Copyright Ascensio System Limited 2010-2016
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
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);
}
if (Ext.os.is.iOS) {
Ext.each(Ext.ComponentQuery.query('button'), function(button) {
button.element.dom.ontouchstart = Ext.emptyFn();
button.element.dom.ontouchmove = Ext.emptyFn();
button.element.dom.ontouchend = Ext.emptyFn();
}, this);
Ext.each(Ext.ComponentQuery.query('toolbar'), function(toolbar) {
var preventFn = function(e){
e.preventDefault();
};
toolbar.element.dom.ontouchstart = preventFn;
toolbar.element.dom.ontouchmove = preventFn;
toolbar.element.dom.ontouchend = preventFn;
}, 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 !== false &&
data.config.customization && data.config.customization.goback && data.config.customization.goback.url){
this.gobackUrl = data.config.customization.goback.url;
doneButton.show();
}
},
onTapDoneButton: function() {
if (this.gobackUrl) window.parent.location.href = this.gobackUrl;
},
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'
});
\ No newline at end of file
/*
*
* (c) Copyright Ascensio System Limited 2010-2016
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
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');
}
});
\ No newline at end of file
/*
*
* (c) Copyright Ascensio System Limited 2010-2016
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
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');
}
});
\ No newline at end of file
<div class="views">
<div id="pe-preview" style="position:absolute; left: 0; top: 0; display:none; width:100%; height:100%; z-index: 1;"></div>
<div class="view view-main">
<div class="pages navbar-through">
<div data-page="index" class="page">
<div id="editor_sdk" class="page-content no-fastclick"></div>
</div>
</div>
</div>
</div>
\ No newline at end of file
<div class="navbar" id="editor-navbar">
<div class="navbar-inner">
<div class="left">
<a id="document-back" href="#" class="link" style="min-width: 22px; display: none;">
<i class="icon icon-back"></i>
<% if (backTitle && !phone) { %>
<span class="subtitle"><%= backTitle %></span>
<% } %>
</a>
<% if (!android) { %>
<a href="#" id="toolbar-undo" class="link icon-only disabled" style="display: none;">
<i class="icon icon-undo"></i>
</a>
<a href="#" id="toolbar-redo" class="link icon-only disabled" style="display: none;">
<i class="icon icon-redo"></i>
</a>
<% } %>
</div>
<% if (!phone) { %>
<div class="center" id="toolbar-title"></div>
<% } %>
<div class="right">
<% if (android) { %>
<a href="#" id="toolbar-undo" class="link icon-only disabled" style="display: none;">
<i class="icon icon-undo"></i>
</a>
<a href="#" id="toolbar-redo" class="link icon-only disabled" style="display: none;">
<i class="icon icon-redo"></i>
</a>
<% } %>
<a href="#" id="toolbar-edit" class="link icon-only" style="display: none;">
<i class="icon icon-edit"></i>
</a>
<a href="#" id="toolbar-add" class="link icon-only" style="display: none;">
<i class="icon icon-plus"></i>
</a>
<% if (!phone) { %>
<a href="#" id="toolbar-search" class="link icon-only">
<i class="icon icon-search"></i>
</a>
<% } %>
<a href="#" id="toolbar-settings" class="link icon-only">
<i class="icon icon-settings"></i>
</a>
</div>
</div>
</div>
......@@ -29,43 +29,53 @@
* 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'
],
/**
* Editor.js
* Presentation Editor
*
* Created by Alexander Yuzhin on 11/21/16
* Copyright (c) 2016 Ascensio System SIA. All rights reserved.
*
*/
config: {
refs: {
viewToolbar : 'viewtoolbar'
},
control: {
}
},
define([
'text!presentationeditor/mobile/app/template/Editor.template',
'jquery',
'underscore',
'backbone'
], function (editorTemplate, $, _, Backbone) {
'use strict';
launch: function() {
this.callParent(arguments);
},
PE.Views.Editor = Backbone.View.extend({
el: 'body',
initControl: function() {
this.callParent(arguments);
// Compile our stats template
template: _.template(editorTemplate),
// Delegated events for creating new items, and clearing completed ones.
events: {
},
initApi: function() {
this.callParent(arguments);
// Set innerHTML and get the references to the DOM elements
initialize: function() {
//
},
setApi: function(o){
this.api = o;
// Render layout
render: function() {
var el = $(this.el);
el.html(this.template({
backTitle: Framework7.prototype.device.android ? '' : ''
}));
var viewToolbar = this.getViewToolbar();
viewToolbar && viewToolbar.show();
this.api && this.api.asc_enableKeyEvents(false);
},
this.f7View = uiApp.addView('.view-main', {
// params
});
setPresentationName: function(name){
return this;
}
});
});
\ No newline at end of file
/*
*
* (c) Copyright Ascensio System Limited 2010-2016
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
Ext.define('PE.view.Main', {
extend: 'Ext.Container',
initialize: function() {
this.callParent(arguments);
}
});
\ No newline at end of file
......@@ -29,61 +29,112 @@
* 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'
*/
/**
* Toolbar.js
* Presentation Editor
*
* Created by Alexander Yuzhin on 11/21/16
* Copyright (c) 2016 Ascensio System SIA. All rights reserved.
*
*/
define([
'text!presentationeditor/mobile/app/template/Toolbar.template',
'jquery',
'underscore',
'backbone'
], function (toolbarTemplate, $, _, Backbone) {
'use strict';
PE.Views.Toolbar = Backbone.View.extend(_.extend((function() {
// private
return {
el: '.view-main',
// Compile our stats template
template: _.template(toolbarTemplate),
// Delegated events for creating new items, and clearing completed ones.
events: {
"click #toolbar-search" : "searchToggle",
"click #toolbar-edit" : "showEdition",
"click #toolbar-add" : "showInserts",
"click #toolbar-settings" : "showSettings"
},
// Set innerHTML and get the references to the DOM elements
initialize: function() {
this.add([
{
id : 'id-tb-btn-view-done',
ui : 'base-blue',
cls : 'text-offset-12',
hidden : true,
text : this.doneText
var me = this;
Common.NotificationCenter.on('readermode:change', function (reader) {
if (reader) {
me.hideSearch();
$('#toolbar-search').addClass('disabled');
} else {
$('#toolbar-search').removeClass('disabled');
}
});
},
// Render layout
render: function() {
var $el = $(this.el);
$el.prepend(this.template({
android : Common.SharedSettings.get('android'),
phone : Common.SharedSettings.get('phone'),
backTitle : Common.SharedSettings.get('android') ? '' : this.textBack,
scope : this
}));
return this;
},
{
xtype : 'spacer'
setMode: function (mode) {
var isEdit = (mode === 'edit');
if (isEdit) {
$('#toolbar-edit, #toolbar-add, #toolbar-undo, #toolbar-redo').show();
}
},
{
id : 'id-tb-btn-prev-slide',
ui : 'base',
iconCls : 'left'
// Search
searchToggle: function() {
if ($$('.searchbar.document').length > 0) {
this.hideSearch();
} else {
this.showSearch();
}
},
{
id : 'id-tb-btn-play',
ui : 'base',
iconCls : 'play'
showSearch: function () {
PE.getController('Search').showSearch();
},
{
id : 'id-tb-btn-next-slide',
ui : 'base',
iconCls : 'right'
hideSearch: function () {
PE.getController('Search').hideSearch();
},
{
xtype : 'spacer'
// Editor
showEdition: function () {
PE.getController('EditContainer').showModal();
},
{
id : 'id-tb-btn-view-share',
ui : 'base',
iconCls : 'share'
// Inserts
showInserts: function () {
PE.getController('AddContainer').showModal();
},
{
id : 'id-tb-btn-fullscreen',
ui : 'base',
iconCls : 'fullscreen'
}
]);
this.callParent(arguments);
// Settings
showSettings: function () {
PE.getController('Settings').showModal();
},
doneText: 'Done'
textBack: 'Back'
}
})(), PE.Views.Toolbar || {}))
});
\ No newline at end of file
/*
*
* (c) Copyright Ascensio System Limited 2010-2016
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
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);
}
});
\ No newline at end of file
/*
*
* (c) Copyright Ascensio System Limited 2010-2016
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
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);
}
});
<!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="" />
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no, minimal-ui">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="mobile-web-app-capable" content="yes">
<title>ONLYOFFICE Presentations</title>
<link href="http://fonts.googleapis.com/css?family=Roboto:400,300,500,700" rel="stylesheet" type="text/css">
<!-- App styles -->
<!-- splash -->
......@@ -174,66 +180,9 @@
100% { top:100px; background: #55bce6; }
}
</style>
<!--<script src="http://192.168.3.65:3030/target/target-script-min.js#anonymous"></script>-->
<!-- vendors -->
<script type="text/javascript" src="../../../vendor/touch/sencha-touch-debug.js"></script>
<script type="text/javascript" src="../../../vendor/jquery/jquery.min.js"></script>
<script type="text/javascript" src="../../../vendor/sockjs/sockjs.min.js"></script>
<script type="text/javascript" src="../../../vendor/underscore/underscore-min.js"></script>
<script type="text/javascript" src="../../../vendor/megapixel/src/megapix-image.js"></script>
<script type="text/javascript" src="../../../vendor/xregexp/xregexp-all-min.js"></script>
<script type="text/javascript" src="../../../vendor/jszip/jszip.min.js"></script>
<script type="text/javascript" src="../../../vendor/jszip-utils/jszip-utils.min.js"></script>
<script type="text/javascript" src="../../../vendor/jsrsasign/jsrsasign-latest-all-min.js"></script>
<!-- Application -->
<script type="text/javascript">
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>
<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>
<script type="text/javascript" src="../sdk_dev_scripts.js"></script>
<script>
window.sdk_dev_scrpipts.forEach(function(item){
document.write('<script type="text/javascript" src="' + item + '"><\/script>');
});
</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 {
function getUrlParams() {
var e,
a = /\+/g, // Regex for replacing addition symbol with a space
......@@ -286,7 +235,21 @@
'<div class="loader-page-text-loading">' + loading + '</div>' +
'</div>' +
'</div>');
}
</script>
<div id="viewport"></div>
<script type="text/javascript" src="../../../vendor/jquery/jquery.min.js"></script>
<script type="text/javascript" src="../../../vendor/xregexp/xregexp-all-min.js"></script>
<script type="text/javascript" src="../sdk_dev_scripts.js"></script>
<script>
window.sdk_dev_scrpipts.forEach(function(item){
document.write('<script type="text/javascript" src="' + item + '"><\/script>');
});
</script>
<!-- application -->
<script data-main="app-dev" src="../../../vendor/requirejs/require.js"></script>
</body>
</html>
<!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="" />
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no, minimal-ui">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="mobile-web-app-capable" content="yes">
<title>ONLYOFFICE Document Editor</title>
<link href="http://fonts.googleapis.com/css?family=Roboto:400,300,500,700" rel="stylesheet" type="text/css">
<!-- splash -->
......@@ -169,62 +174,14 @@
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; }
25% { background: #fff; top:0; opacity:0; }
45% { background: #EFEFEF; top:0; opacity:0,2; }
100% { top:100px; background: #55bce6; }
}
</style>
<!-- vendors -->
<script type="text/javascript" src="../../../vendor/touch/sencha-touch-all.js"></script>
<script type="text/javascript" src="../../../vendor/jquery/jquery.min.js"></script>
<script type="text/javascript" src="../../../vendor/sockjs/sockjs.min.js"></script>
<script type="text/javascript" src="../../../vendor/underscore/underscore-min.js"></script>
<script type="text/javascript" src="../../../vendor/xregexp/xregexp-all-min.js"></script>
<script type="text/javascript" src="../../../vendor/jszip/jszip.min.js"></script>
<script type="text/javascript" src="../../../vendor/jszip-utils/jszip-utils.min.js"></script>
<script type="text/javascript" src="../../../vendor/jsrsasign/jsrsasign-latest-all-min.js"></script>
<!-- Application -->
<script type="text/javascript">
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>
<script type="text/javascript" src="../../../apps/presentationeditor/mobile/app-all.js"></script>
<!-- SDK -->
<script type="text/javascript" src="../../../../sdkjs/common/AllFonts.js"></script>
<script type="text/javascript" src="../../../../sdkjs/slide/sdk-all-min.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 {
function getUrlParams() {
var e,
a = /\+/g, // Regex for replacing addition symbol with a space
......@@ -277,7 +234,9 @@
'<div class="loader-page-text-loading">' + loading + '</div>' +
'</div>' +
'</div>');
}
</script>
<div id="viewport"></div>
<script data-main="app" src="../../../vendor/requirejs/require.js"></script>
</body>
</html>
This diff is collapsed.
{
"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"
}
\ No newline at end of file
{
"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"
}
\ No newline at end of file
{
"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"
}
\ No newline at end of file
{
"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"
}
\ No newline at end of file
{
"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"
}
\ No newline at end of file
{
"PE.controller.Main.convertationErrorText": "Conversão falhou.",
"PE.controller.Main.convertationTimeoutText": "Tempo limite de conversão excedido.",
"PE.controller.Main.criticalErrorExtText": "Pressione \"OK\" para recarregar a página.",
"PE.controller.Main.criticalErrorTitle": "Erro",
"PE.controller.Main.downloadErrorText": "Download falhou.",
"PE.controller.Main.editModeText": "Modo de edição",
"PE.controller.Main.errorDefaultMessage": "Código do erro: %1",
"PE.controller.Main.errorKeyEncrypt": "Descritor de chave desconhecido",
"PE.controller.Main.errorKeyExpire": "Descritor de chave expirado",
"PE.controller.Main.errorUsersExceed": "O número de usuários permitidos pelo plano de preços foi excedido",
"PE.controller.Main.notcriticalErrorTitle": "Aviso",
"PE.controller.Main.printText": "Imprimindo...",
"PE.controller.Main.reloadButtonText": "Recarregar página",
"PE.controller.Main.requestEditFailedMessageText": "Alguém está editando este documento neste momento. Tente novamente mais tarde.",
"PE.controller.Main.requestEditFailedTitleText": "Acesso negado",
"PE.controller.Main.requestEditRightsText": "Solicitando direitos de edição...",
"PE.controller.Main.splitDividerErrorText": "O número de linhas deve ser um divisor de %1",
"PE.controller.Main.splitMaxColsErrorText": "O número de colunas deve ser menor que %1",
"PE.controller.Main.splitMaxRowsErrorText": "O número de linhas deve ser menor que %1",
"PE.controller.Main.textAnonymous": "Anônimo",
"PE.controller.Main.textLoadingDocument": "Carregando documento",
"PE.controller.Main.unknownErrorText": "Erro desconhecido.",
"PE.controller.Main.unsupportedBrowserErrorText": "Seu navegador não é suportado.",
"PE.controller.Main.uploadImageExtMessage": "Formato de imagem desconhecido.",
"PE.controller.Main.uploadImageFileCountMessage": "Sem imagens carregadas.",
"PE.controller.Main.uploadImageSizeMessage": "Tamanho limite máximo da imagem excedido.",
"PE.controller.Main.viewModeText": "Modo de exibição",
"PE.controller.phone.Main.pageText": "Página",
"PE.controller.tablet.Main.pageText": "Página",
"PE.controller.toolbar.View.txtFinalMessage": "O final da pré-visualização de slide",
"PE.view.phone.toolbar.View.doneText": "Concluído",
"PE.view.tablet.toolbar.View.doneText": "Concluído"
}
\ No newline at end of file
{
"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": "Готово"
}
\ No newline at end of file
{
"PE.controller.Main.convertationErrorText": "Pretvorba ni uspela.",
"PE.controller.Main.convertationTimeoutText": "Pretvorbena prekinitev presežena.",
"PE.controller.Main.criticalErrorExtText": "Pritisnite \"OK\" za osvežitev strani.",
"PE.controller.Main.criticalErrorTitle": "Napaka",
"PE.controller.Main.downloadErrorText": "Prenos ni uspel.",
"PE.controller.Main.editModeText": "Urejevalni način",
"PE.controller.Main.errorDefaultMessage": "Koda napake: %1",
"PE.controller.Main.errorKeyEncrypt": "Neznan ključni deskriptor",
"PE.controller.Main.errorKeyExpire": "Ključni deskriptor je potekel",
"PE.controller.Main.errorUsersExceed": "Število uporabnikov, ki ga dovoljuje cenovni načrt, je bilo preseženo",
"PE.controller.Main.notcriticalErrorTitle": "Opozorilo",
"PE.controller.Main.printText": "Tiskanje...",
"PE.controller.Main.reloadButtonText": "Osveži stran",
"PE.controller.Main.requestEditFailedMessageText": "Nekdo v tem trenutku ureja ta dokument. Prosim ponovno poskusite kasneje.",
"PE.controller.Main.requestEditFailedTitleText": "Dostop zavrnjen",
"PE.controller.Main.requestEditRightsText": "Zahtevanje urejevalnih pravic...",
"PE.controller.Main.splitDividerErrorText": "Število vrstic mora biti delitelj %1",
"PE.controller.Main.splitMaxColsErrorText": "Število stolpcev mora biti manj kot %1",
"PE.controller.Main.splitMaxRowsErrorText": "Število vrstic mora biti manj kot %1",
"PE.controller.Main.textAnonymous": "Anonimno",
"PE.controller.Main.textLoadingDocument": "Nalaganje Dokumenta",
"PE.controller.Main.unknownErrorText": "Neznana napaka.",
"PE.controller.Main.unsupportedBrowserErrorText": "Vaš brskalnik ni podprt.",
"PE.controller.Main.uploadImageExtMessage": "Neznan format slike.",
"PE.controller.Main.uploadImageFileCountMessage": "Ni naloženih slik.",
"PE.controller.Main.uploadImageSizeMessage": "Maksimalni limit velikosti slike je presežen.",
"PE.controller.Main.viewModeText": "Način ogleda",
"PE.controller.phone.Main.pageText": "Stran",
"PE.controller.tablet.Main.pageText": "Stran",
"PE.controller.toolbar.View.txtFinalMessage": "Konec predogleda diapozitiva",
"PE.view.phone.toolbar.View.doneText": "Končano",
"PE.view.tablet.toolbar.View.doneText": "Končano"
}
\ No newline at end of file
{
"PE.controller.Main.convertationErrorText": "Değişim başarısız oldu.",
"PE.controller.Main.convertationTimeoutText": "Değişim süresi aşıldı.",
"PE.controller.Main.criticalErrorExtText": "Sayfayı yenilemek için \"TAMAM\"'a tıklayınız",
"PE.controller.Main.criticalErrorTitle": "Hata",
"PE.controller.Main.downloadErrorText": "Yükleme başarısız oldu.",
"PE.controller.Main.editModeText": "Düzenleme modu",
"PE.controller.Main.errorDefaultMessage": "Hata kodu: %1",
"PE.controller.Main.errorKeyEncrypt": "Bilinmeyen anahtar tanımlayıcı",
"PE.controller.Main.errorKeyExpire": "Anahtar tanımlayıcının süresi doldu",
"PE.controller.Main.errorUsersExceed": "Fiyat planının izin verdiği kullanıcı sayısı aşıldı",
"PE.controller.Main.notcriticalErrorTitle": "Dikkat",
"PE.controller.Main.printText": "Yazdırılıyor...",
"PE.controller.Main.reloadButtonText": "Sayfayı Yenile",
"PE.controller.Main.requestEditFailedMessageText": "Şu bu döküman biri tarafından düzenleniyor. Lütfen daha sonra tekrar deneyin.",
"PE.controller.Main.requestEditFailedTitleText": "Erişim reddedildi",
"PE.controller.Main.requestEditRightsText": "Düzenleme hakları isteniyor...",
"PE.controller.Main.splitDividerErrorText": "Satır sayısı %1'in böleni olmalıdır",
"PE.controller.Main.splitMaxColsErrorText": "Sütun sayısı %1'den az olmalıdır",
"PE.controller.Main.splitMaxRowsErrorText": "Satır sayısı %1'den az olmalıdır",
"PE.controller.Main.textAnonymous": "Anonim",
"PE.controller.Main.textLoadingDocument": "Döküman yükleniyor",
"PE.controller.Main.unknownErrorText": "Bilinmeyen hata.",
"PE.controller.Main.unsupportedBrowserErrorText": "Tarayıcınız desteklenmiyor.",
"PE.controller.Main.uploadImageExtMessage": "Bilinmeyen resim formatı",
"PE.controller.Main.uploadImageFileCountMessage": "Resim yüklenmedi.",
"PE.controller.Main.uploadImageSizeMessage": "Maksimum resim boyutu aşıldı.",
"PE.controller.Main.viewModeText": "Görüntüleme Modu",
"PE.controller.phone.Main.pageText": "Sayfa",
"PE.controller.tablet.Main.pageText": "Sayfa",
"PE.controller.toolbar.View.txtFinalMessage": "Slayt önizlemenin sonu",
"PE.view.phone.toolbar.View.doneText": "Tamamlandı",
"PE.view.tablet.toolbar.View.doneText": "Tamamlandı"
}
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 64 64" style="enable-background:new 0 0 64 64;" xml:space="preserve">
<style type="text/css">
.st0{fill-rule:evenodd;clip-rule:evenodd;}
</style>
<g>
<path id="XMLID_2_" class="st0" d="M9.5,9v46h46V9H9.5z M55,54.5H10v-45h45V54.5z M32,41.5h1v-18h9.5v-1h-20v1H32V41.5z"/>
</g>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 64 64" style="enable-background:new 0 0 64 64;" xml:space="preserve">
<style type="text/css">
.st0{fill-rule:evenodd;clip-rule:evenodd;}
</style>
<path class="st0" d="M54.8,9.3l0.4,0.4l-46,46l-0.4-0.4L54.8,9.3z"/>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 64 64" style="enable-background:new 0 0 64 64;" xml:space="preserve">
<style type="text/css">
.st0{fill-rule:evenodd;clip-rule:evenodd;}
</style>
<g>
<polygon id="XMLID_3_" class="st0" points="55,9 49.5,11 51.6,12 9.3,54.3 9.7,54.7 52,12.4 53.1,14.5 "/>
</g>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 64 64" style="enable-background:new 0 0 64 64;" xml:space="preserve">
<style type="text/css">
.st0{fill-rule:evenodd;clip-rule:evenodd;}
</style>
<g>
<polygon id="XMLID_3_" class="st0" points="53.8,14 55.5,9 50.5,10.8 52.4,11.7 12.7,51.4 11.7,49.5 10,54.5 15,52.7 13.1,51.8
52.8,12.1 "/>
</g>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 64 64" style="enable-background:new 0 0 64 64;" xml:space="preserve">
<style type="text/css">
.st0{fill-rule:evenodd;clip-rule:evenodd;}
</style>
<path class="st0" d="M9.5,8.5H56V55H9.5V8.5z"/>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 64 64" style="enable-background:new 0 0 64 64;" xml:space="preserve">
<style type="text/css">
.st0{fill-rule:evenodd;clip-rule:evenodd;}
</style>
<path class="st0" d="M17,8.5h31.5L56,16v31.5L48.5,55H17l-7.5-7.5V16L17,8.5z"/>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 64 64" style="enable-background:new 0 0 64 64;" xml:space="preserve">
<style type="text/css">
.st0{fill-rule:evenodd;clip-rule:evenodd;}
</style>
<path class="st0" d="M19,8.5h26.5c5.5,0,10,4.5,10,10V45c0,5.5-4.5,10-10,10H19c-5.5,0-10-4.5-10-10V18.5C9,13,13.5,8.5,19,8.5z"/>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 64 64" style="enable-background:new 0 0 64 64;" xml:space="preserve">
<style type="text/css">
.st0{fill-rule:evenodd;clip-rule:evenodd;}
</style>
<path class="st0" d="M32.2,8.5c12.8,0,23.2,10.4,23.2,23.2C55.5,44.6,45.1,55,32.2,55S9,44.6,9,31.8C9,18.9,19.4,8.5,32.2,8.5z"/>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 64 64" style="enable-background:new 0 0 64 64;" xml:space="preserve">
<style type="text/css">
.st0{fill-rule:evenodd;clip-rule:evenodd;}
</style>
<path class="st0" d="M32.8,9L56,55.5H9.5L32.8,9z"/>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 64 64" style="enable-background:new 0 0 64 64;" xml:space="preserve">
<style type="text/css">
.st0{fill-rule:evenodd;clip-rule:evenodd;}
</style>
<path class="st0" d="M9.5,9L56,55.5H9.5L9.5,9z"/>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 64 64" style="enable-background:new 0 0 64 64;" xml:space="preserve">
<style type="text/css">
.st0{fill-rule:evenodd;clip-rule:evenodd;}
</style>
<path class="st0" d="M19,9l26.5,0l15,46.5H4L19,9z"/>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 64 64" style="enable-background:new 0 0 64 64;" xml:space="preserve">
<style type="text/css">
.st0{fill-rule:evenodd;clip-rule:evenodd;}
</style>
<path class="st0" d="M8.8,32.3L32.2,8.8l23.5,23.5L32.2,55.7L8.8,32.3z"/>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 64 64" style="enable-background:new 0 0 64 64;" xml:space="preserve">
<style type="text/css">
.st0{fill-rule:evenodd;clip-rule:evenodd;}
</style>
<path class="st0" d="M33,9l23,23.3L33,55.5v-13H9.5v-20H33V9z"/>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 64 64" style="enable-background:new 0 0 64 64;" xml:space="preserve">
<style type="text/css">
.st0{fill-rule:evenodd;clip-rule:evenodd;}
</style>
<path class="st0" d="M61,32.3L43,55.5v-13H22.5v13l-18-23.2L22.5,9v13.5H43V9L61,32.3z"/>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 64 64" style="enable-background:new 0 0 64 64;" xml:space="preserve">
<g>
<polygon id="XMLID_2_" points="56,30 56,25 25,25 25,14 9.5,27.3 25,40.5 25,30 51,30 51,50 56,50 56,30 "/>
</g>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 64 64" style="enable-background:new 0 0 64 64;" xml:space="preserve">
<g id="XMLID_3_">
<polygon id="XMLID_2_" points="9.5,30 9.5,25 40.5,25 40.5,14 56,27.3 40.5,40.5 40.5,30 14.5,30 14.5,50 9.5,50 9.5,30 "/>
</g>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 64 64" style="enable-background:new 0 0 64 64;" xml:space="preserve">
<style type="text/css">
.st0{fill-rule:evenodd;clip-rule:evenodd;}
</style>
<path class="st0" d="M9.5,8.5H56V40L32.8,55L9.5,40V8.5z"/>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 64 64" style="enable-background:new 0 0 64 64;" xml:space="preserve">
<path d="M32.7,52.6l17.3-16.5c0.2-0.2,5.9-5.4,5.9-11.6c0-7.5-4.6-12-12.4-12c-4.5,0-8.8,3.5-10.8,5.6c-2-2-6.3-5.6-10.8-5.6
c-7.8,0-12.4,4.5-12.4,12c0,6.2,5.7,11.3,5.9,11.5L32.7,52.6z"/>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 64 64" style="enable-background:new 0 0 64 64;" xml:space="preserve">
<style type="text/css">
.st0{fill-rule:evenodd;clip-rule:evenodd;}
</style>
<path class="st0" d="M9,29.5h46.5v5H9V29.5z"/>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 64 64" style="enable-background:new 0 0 64 64;" xml:space="preserve">
<style type="text/css">
.st0{fill-rule:evenodd;clip-rule:evenodd;}
</style>
<g>
<polygon id="XMLID_2_" class="st0" points="55.5,30 35,30 35,9.5 30,9.5 30,30 9.5,30 9.5,35 30,35 30,55.5 35,55.5 35,35 55.5,35
"/>
</g>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 64 64" style="enable-background:new 0 0 64 64;" xml:space="preserve">
<style type="text/css">
.st0{fill-rule:evenodd;clip-rule:evenodd;}
</style>
<path class="st0" d="M14.5,9H61L51,55.5H4.5L14.5,9z"/>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 64 64" style="enable-background:new 0 0 64 64;" xml:space="preserve">
<style type="text/css">
.st0{fill-rule:evenodd;clip-rule:evenodd;}
</style>
<path class="st0" d="M9,11h46.5v36.5H30l-6,6l-5.9-6H9V11z"/>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 64 64" style="enable-background:new 0 0 64 64;" xml:space="preserve">
<style type="text/css">
.st0{fill-rule:evenodd;clip-rule:evenodd;}
</style>
<g>
<path id="XMLID_2_" class="st0" d="M32.8,13C19.9,13,9.5,20.7,9.5,30.2c0,6,4.1,11.2,10.2,14.3c-0.1,0.6-0.3,1.2-0.5,2
C18.4,49.2,17,51,17,51s3.1-0.7,5.5-2.4c1.2-0.8,2.2-1.5,3-1.9c2.3,0.6,4.7,0.9,7.3,0.9c12.8,0,23.2-7.7,23.2-17.2S45.6,13,32.8,13
z"/>
</g>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 64 64" style="enable-background:new 0 0 64 64;" xml:space="preserve">
<style type="text/css">
.st0{fill-rule:evenodd;clip-rule:evenodd;}
</style>
<path class="st0" d="M55.5,38.1c0,5.1-4.1,9.2-9.2,9.2c-1.4,0-2.7-0.3-3.9-0.9c-2,3.1-5.5,5.2-9.5,5.2c-3.8,0-7.2-1.9-9.2-4.8
c-1.3,1.2-3,2-4.9,2c-3.9,0-7-3.2-7-7.1c0-2.5,1.3-4.6,3.1-5.9c-3.4-0.8-6-3.9-6-7.5c0-4.3,3.5-7.8,7.7-7.8c0.8,0,1.5,0.1,2.1,0.3
c0-0.1,0-0.2,0-0.3c0-4.7,3.8-8.5,8.5-8.5c3.7,0,6.9,2.4,8,5.8c2.1-2.7,5.3-4.4,8.9-4.4c6.2,0,11.3,5.1,11.3,11.3
c0,2.7-0.9,5.2-2.5,7.1C54.5,33.5,55.5,35.7,55.5,38.1z"/>
</svg>
@import url('../../../../../vendor/framework7/src/less/ios/_mixins.less');
@import url('../../../../../vendor/framework7/src/less/ios/_colors-vars.less');
// Colors
@themeColor: #DF6737; // (223,103,55)
@import url('../../../../../vendor/framework7/src/less/ios/intro.less');
@import url('../../../../../vendor/framework7/src/less/ios/grid.less');
@import url('../../../../../vendor/framework7/src/less/ios/views.less');
@import url('../../../../../vendor/framework7/src/less/ios/pages.less');
@import url('../../../../../vendor/framework7/src/less/ios/toolbars.less');
@import url('../../../../../vendor/framework7/src/less/ios/toolbars-pages.less');
@import url('../../../../../vendor/framework7/src/less/ios/searchbar.less');
@import url('../../../../../vendor/framework7/src/less/ios/messagebar.less');
@import url('../../../../../vendor/framework7/src/less/ios/icons.less');
//@import url('../../../../../vendor/framework7/src/less/ios/badges.less');
//@import url('../../../../../vendor/framework7/src/less/ios/chips.less');
@import url('../../../../../vendor/framework7/src/less/ios/content-block.less');
@import url('../../../../../vendor/framework7/src/less/ios/lists.less');
//@import url('../../../../../vendor/framework7/src/less/ios/contacts.less');
@import url('../../../../../vendor/framework7/src/less/ios/forms.less');
//@import url('../../../../../vendor/framework7/src/less/ios/floating-button.less');
//@import url('../../../../../vendor/framework7/src/less/ios/accordion.less');
@import url('../../../../../vendor/framework7/src/less/ios/cards.less');
@import url('../../../../../vendor/framework7/src/less/ios/modals.less');
@import url('../../../../../vendor/framework7/src/less/ios/panels.less');
//@import url('../../../../../vendor/framework7/src/less/ios/lazy-load.less');
@import url('../../../../../vendor/framework7/src/less/ios/tabs.less');
@import url('../../../../../vendor/framework7/src/less/ios/messages.less');
@import url('../../../../../vendor/framework7/src/less/ios/statusbar.less');
@import url('../../../../../vendor/framework7/src/less/ios/preloader.less');
@import url('../../../../../vendor/framework7/src/less/ios/progressbar.less');
//@import url('../../../../../vendor/framework7/src/less/ios/pull-to-refresh.less');
//@import url('../../../../../vendor/framework7/src/less/ios/infinite-scroll.less');
//@import url('../../../../../vendor/framework7/src/less/ios/autocomplete.less');
@import url('../../../../../vendor/framework7/src/less/ios/swiper.less');
//@import url('../../../../../vendor/framework7/src/less/ios/photo-browser.less');
@import url('../../../../../vendor/framework7/src/less/ios/picker.less');
//@import url('../../../../../vendor/framework7/src/less/ios/calendar.less');
@import url('../../../../../vendor/framework7/src/less/ios/notifications.less');
//@import url('../../../../../vendor/framework7/src/less/ios/login-screen.less');
@import url('../../../../../vendor/framework7/src/less/ios/disabled.less');
// Disable text select
* {
-webkit-user-select: none;
user-select: none;
}
input, textarea {
-webkit-touch-callout:default;
-webkit-user-select:text;
user-select:text;
}
// Main Toolbar
#editor-navbar.navbar .right a + a,
#editor-navbar.navbar .left a + a {
margin-left: 0;
html:not(.phone) & {
margin-left: 10px;
}
}
@import url('../../../../common/mobile/resources/less/_mixins.less');
@import url('../../../../common/mobile/resources/less/ios/_container.less');
@import url('../../../../common/mobile/resources/less/ios/_dataview.less');
@import url('../../../../common/mobile/resources/less/ios/_listview.less');
@import url('../../../../common/mobile/resources/less/ios/_button.less');
@import url('../../../../common/mobile/resources/less/ios/_contextmenu.less');
@import url('../../../../common/mobile/resources/less/ios/_color-palette.less');
@import url('../../../../common/mobile/resources/less/ios/_about.less');
@import url('ios/_search.less');
@import url('ios/_icons.less');
// Add Container
#add-table,
#add-shape {
.page {
background-color: #fff;
}
}
// Table styles
.table-styles {
.row {
&, li {
margin-bottom: 12px;
}
}
li {
margin: 0;
padding: 1px;
img {
width: 70px;
height: 50px;
}
}
}
// Shapes
.shapes {
li {
width: 70px;
height: 70px;
margin: 0 1px;
.thumb {
width: 100%;
height: 100%;
background-color: @themeColor;
}
}
}
\ No newline at end of file
@import url('../../../../../vendor/framework7/src/less/material/_mixins.less');
@import url('../../../../../vendor/framework7/src/less/material/_colors-vars.less');
// Colors
@themeColor: #DF6737; // (223,103,55)
@navBarIconColor: #fff;
@import url('../../../../../vendor/framework7/src/less/material/intro.less');
@import url('../../../../../vendor/framework7/src/less/material/grid.less');
@import url('../../../../../vendor/framework7/src/less/material/views.less');
@import url('../../../../../vendor/framework7/src/less/material/pages.less');
@import url('../../../../../vendor/framework7/src/less/material/toolbars.less');
@import url('../../../../../vendor/framework7/src/less/material/toolbars-pages.less');
@import url('../../../../../vendor/framework7/src/less/material/searchbar.less');
@import url('../../../../../vendor/framework7/src/less/material/messagebar.less');
@import url('../../../../../vendor/framework7/src/less/material/icons.less');
@import url('../../../../../vendor/framework7/src/less/material/badges.less');
//@import url('../../../../../vendor/framework7/src/less/material/chips.less');
@import url('../../../../../vendor/framework7/src/less/material/content-block.less');
@import url('../../../../../vendor/framework7/src/less/material/lists.less');
//@import url('../../../../../vendor/framework7/src/less/material/contacts.less');
@import url('../../../../../vendor/framework7/src/less/material/forms.less');
@import url('../../../../../vendor/framework7/src/less/material/floating-button.less');
//@import url('../../../../../vendor/framework7/src/less/material/accordion.less');
//@import url('../../../../../vendor/framework7/src/less/material/cards.less');
@import url('../../../../../vendor/framework7/src/less/material/modals.less');
@import url('../../../../../vendor/framework7/src/less/material/panels.less');
//@import url('../../../../../vendor/framework7/src/less/material/lazy-load.less');
@import url('../../../../../vendor/framework7/src/less/material/tabs.less');
@import url('../../../../../vendor/framework7/src/less/material/messages.less');
@import url('../../../../../vendor/framework7/src/less/material/statusbar.less');
@import url('../../../../../vendor/framework7/src/less/material/preloader.less');
@import url('../../../../../vendor/framework7/src/less/material/progressbar.less');
//@import url('../../../../../vendor/framework7/src/less/material/pull-to-refresh.less');
//@import url('../../../../../vendor/framework7/src/less/material/infinite-scroll.less');
//@import url('../../../../../vendor/framework7/src/less/material/autocomplete.less');
//@import url('../../../../../vendor/framework7/src/less/material/swiper.less');
//@import url('../../../../../vendor/framework7/src/less/material/photo-browser.less');
@import url('../../../../../vendor/framework7/src/less/material/picker.less');
//@import url('../../../../../vendor/framework7/src/less/material/calendar.less');
@import url('../../../../../vendor/framework7/src/less/material/notifications.less');
//@import url('../../../../../vendor/framework7/src/less/material/login-screen.less');
@import url('../../../../../vendor/framework7/src/less/material/ripple.less');
@import url('../../../../../vendor/framework7/src/less/material/disabled.less');
@import url('../../../../common/mobile/resources/less/_mixins.less');
@import url('../../../../common/mobile/resources/less/material/_container.less');
@import url('../../../../common/mobile/resources/less/material/_dataview.less');
@import url('../../../../common/mobile/resources/less/material/_listview.less');
@import url('../../../../common/mobile/resources/less/material/_button.less');
@import url('../../../../common/mobile/resources/less/material/_contextmenu.less');
@import url('../../../../common/mobile/resources/less/material/_color-palette.less');
@import url('../../../../common/mobile/resources/less/material/_about.less');
@import url('material/_search.less');
@import url('material/_icons.less');
// Disable text select
* {
-webkit-user-select: none;
user-select: none;
}
input, textarea {
-webkit-touch-callout:default;
-webkit-user-select:text;
user-select:text;
}
// Add Container
#add-table,
#add-shape {
.page {
background-color: #fff;
}
}
// Table styles
.table-styles {
.row {
&, li {
margin-bottom: 12px;
}
}
li {
margin: 0;
padding: 1px;
img {
width: 70px;
height: 50px;
}
}
}
// Shapes
.shapes {
li {
width: 70px;
height: 70px;
margin: 0 1px;
.thumb {
width: 100%;
height: 100%;
background-color: @themeColor;
}
}
}
This diff is collapsed.
// Search
.tablet {
// Replace mode
.searchbar.document.replace {
.center {
.searchbar:first-child {
margin-right: 10px;
}
.replace {
display: flex;
}
}
.right {
.replace {
display: flex;
margin: 0 10px;
}
}
}
// Search mode
.searchbar.document {
.center {
width: 100%;
.searchbar {
background: inherit;
padding: 0;
}
.replace {
display: none;
}
}
.right {
.prev {
margin-left: 0;
}
.replace {
display: none;
}
}
}
}
.phone {
// Replace mode
.searchbar.document.replace {
height: 88px;
.left {
margin-top: -44px;
}
.center {
.searchbar-input {
margin: 8px 0;
}
.replace {
display: block;
}
}
.right {
> .replace {
display: flex;
}
}
}
// Search mode
.searchbar.document {
.left,
.center,
.right {
flex-direction: column;
}
.left {
min-width: 22px;
max-width: 22px;
}
.center {
width: 100%;
.searchbar {
background: inherit;
padding: 0;
&:after {
content: none;
}
}
.replace {
display: none;
}
}
.right {
> p {
margin: 0;
}
> .replace {
display: none;
}
}
}
}
.searchbar.document {
background: lighten(@searchbarBg, 10%);
}
\ No newline at end of file
// 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';
@import 'sencha-touch/default/src/Class';
@import 'sencha-touch/default/src/Button';
//@import 'sencha-touch/default/src/Panel';
@import 'sencha-touch/default/src/Sheet';
@import 'sencha-touch/default/src/MessageBox';
@import 'sencha-touch/default/src/Toolbar';
//@import 'sencha-touch/default/src/Toast';
//@import 'sencha-touch/default/src/Menu';
//@import 'sencha-touch/default/src/carousel/Carousel';
@import 'sencha-touch/default/src/form/Panel';
//@import 'sencha-touch/default/src/form/FieldSet';
//@import 'sencha-touch/default/src/field/Field';
//@import 'sencha-touch/default/src/field/Checkbox';
//@import 'sencha-touch/default/src/field/Radio';
//@import 'sencha-touch/default/src/field/Search';
//@import 'sencha-touch/default/src/field/Select';
//@import 'sencha-touch/default/src/field/Slider';
//@import 'sencha-touch/default/src/field/Spinner';
//@import 'sencha-touch/default/src/field/TextArea';
//@import 'sencha-touch/default/src/dataview/IndexBar';
//@import 'sencha-touch/default/src/dataview/List';
//@import 'sencha-touch/default/src/picker/Picker';
//@import 'sencha-touch/default/src/plugin/ListPaging';
//@import 'sencha-touch/default/src/plugin/PullRefresh';
//@import 'sencha-touch/default/src/slider/Slider';
//@import 'sencha-touch/default/src/slider/Toggle';
//@import 'sencha-touch/default/src/tab/Panel';
//@import 'sencha-touch/default/src/grid/Grid';
@import 'common-buttons';
@import 'common-toolbar';
@import 'application-mixins';
@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;
}
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment