diff --git a/apps/common/mobile/lib/controller/Collaboration.js b/apps/common/mobile/lib/controller/Collaboration.js
index dc8ec38c7..71e42bbd4 100644
--- a/apps/common/mobile/lib/controller/Collaboration.js
+++ b/apps/common/mobile/lib/controller/Collaboration.js
@@ -797,7 +797,8 @@ define([
},
updateViewComment: function() {
- DE.getController('Common.Controllers.Collaboration').getView('Common.Views.Collaboration').renderViewComments(this.showComments, this.indexCurrentComment);
+ var appPrefix = !!window.DE ? DE : !!window.PE ? PE : SSE;
+ appPrefix.getController('Common.Controllers.Collaboration').getView('Common.Views.Collaboration').renderViewComments(this.showComments, this.indexCurrentComment);
$('.comment-menu').single('click', _.bind(this.initMenuComments, this));
$('.reply-menu').single('click', _.bind(this.initReplyMenu, this));
$('.comment-resolve').single('click', _.bind(this.onClickResolveComment, this, false));
@@ -963,7 +964,7 @@ define([
this.indexCurrentComment -= 1;
}
var me = this;
- DE.getController('Common.Controllers.Collaboration').getView('Common.Views.Collaboration').renderViewComments(me.showComments, me.indexCurrentComment);
+ me.getView('Common.Views.Collaboration').renderViewComments(me.showComments, me.indexCurrentComment);
_.defer(function () {
$('.comment-menu').single('click', _.bind(me.initMenuComments, me));
$('.reply-menu').single('click', _.bind(me.initReplyMenu, me));
@@ -980,7 +981,7 @@ define([
this.indexCurrentComment += 1;
}
var me = this;
- DE.getController('Common.Controllers.Collaboration').getView('Common.Views.Collaboration').renderViewComments(me.showComments, me.indexCurrentComment);
+ me.getView('Common.Views.Collaboration').renderViewComments(me.showComments, me.indexCurrentComment);
_.defer(function () {
$('.comment-menu').single('click', _.bind(me.initMenuComments, me));
$('.reply-menu').single('click', _.bind(me.initReplyMenu, me));
diff --git a/apps/presentationeditor/mobile/app-dev.js b/apps/presentationeditor/mobile/app-dev.js
index 931f572a8..552212b59 100644
--- a/apps/presentationeditor/mobile/app-dev.js
+++ b/apps/presentationeditor/mobile/app-dev.js
@@ -150,6 +150,7 @@ require([
'AddImage',
'AddLink',
'AddSlide',
+ 'AddOther',
'Common.Controllers.Collaboration'
]
});
@@ -218,6 +219,7 @@ require([
'presentationeditor/mobile/app/controller/add/AddImage',
'presentationeditor/mobile/app/controller/add/AddLink',
'presentationeditor/mobile/app/controller/add/AddSlide',
+ 'presentationeditor/mobile/app/controller/add/AddOther',
'common/mobile/lib/controller/Collaboration'
], function() {
diff --git a/apps/presentationeditor/mobile/app.js b/apps/presentationeditor/mobile/app.js
index abcec73a8..39ff0d4ef 100644
--- a/apps/presentationeditor/mobile/app.js
+++ b/apps/presentationeditor/mobile/app.js
@@ -160,6 +160,7 @@ require([
'AddImage',
'AddLink',
'AddSlide',
+ 'AddOther',
'Common.Controllers.Collaboration'
]
});
@@ -228,6 +229,7 @@ require([
'presentationeditor/mobile/app/controller/add/AddImage',
'presentationeditor/mobile/app/controller/add/AddLink',
'presentationeditor/mobile/app/controller/add/AddSlide',
+ 'presentationeditor/mobile/app/controller/add/AddOther',
'common/mobile/lib/controller/Collaboration'
], function() {
app.start();
diff --git a/apps/presentationeditor/mobile/app/controller/DocumentHolder.js b/apps/presentationeditor/mobile/app/controller/DocumentHolder.js
index 9f629e27d..b43aa613e 100644
--- a/apps/presentationeditor/mobile/app/controller/DocumentHolder.js
+++ b/apps/presentationeditor/mobile/app/controller/DocumentHolder.js
@@ -56,7 +56,9 @@ define([
_view,
_actionSheets = [],
_isEdit = false,
- _isPopMenuHidden = false;
+ _isPopMenuHidden = false,
+ _isComments = false,
+ _canViewComments = true;
return {
models: [],
@@ -83,10 +85,21 @@ define([
me.api.asc_registerCallback('asc_onDocumentContentReady', _.bind(me.onApiDocumentContentReady, me));
Common.NotificationCenter.on('api:disconnect', _.bind(me.onCoAuthoringDisconnect, me));
me.api.asc_registerCallback('asc_onCoAuthoringDisconnect', _.bind(me.onCoAuthoringDisconnect,me));
+ me.api.asc_registerCallback('asc_onShowComment', _.bind(me.onApiShowComment, me));
+ me.api.asc_registerCallback('asc_onHideComment', _.bind(me.onApiHideComment, me));
+ },
+
+ onApiShowComment: function(comments) {
+ _isComments = comments && comments.length>0;
+ },
+
+ onApiHideComment: function() {
+ _isComments = false;
},
setMode: function (mode) {
_isEdit = mode.isEdit;
+ _canViewComments = mode.canViewComments;
},
// When our application is ready, lets get started
@@ -152,6 +165,13 @@ define([
return true;
}
});
+ } else if ('viewcomment' == eventName) {
+ var getCollaboration = PE.getController('Common.Controllers.Collaboration');
+ getCollaboration.showCommentModal();
+ } else if ('addcomment' == eventName) {
+ _view.hideMenu();
+ PE.getController('AddContainer').showModal();
+ PE.getController('AddOther').getView('AddOther').showPageComment(false);
} else if ('showActionSheet' == eventName && _actionSheets.length > 0) {
_.delay(function () {
_.each(_actionSheets, function (action) {
@@ -268,6 +288,12 @@ define([
icon: 'icon-copy'
});
}
+ if (_canViewComments && _isComments && !_isEdit) {
+ arrItems.push({
+ caption: me.menuViewComment,
+ event: 'viewcomment'
+ });
+ }
if (stack.length > 0) {
var topObject = stack[stack.length - 1],
@@ -316,6 +342,20 @@ define([
event: 'addlink'
});
}
+
+ if (_isComments && _canViewComments) {
+ arrItems.push({
+ caption: me.menuViewComment,
+ event: 'viewcomment'
+ });
+ }
+
+ if (_canViewComments) {
+ arrItems.push({
+ caption: me.menuAddComment,
+ event: 'addcomment'
+ });
+ }
}
}
@@ -353,6 +393,8 @@ define([
menuAddLink: 'Add Link',
menuOpenLink: 'Open Link',
menuMore: 'More',
+ menuViewComment: 'View Comment',
+ menuAddComment: 'Add Comment',
sheetCancel: 'Cancel',
textCopyCutPasteActions: 'Copy, Cut and Paste Actions',
errorCopyCutPaste: 'Copy, cut and paste actions using the context menu will be performed within the current file only. You cannot copy or paste to or from other applications.'
diff --git a/apps/presentationeditor/mobile/app/controller/Main.js b/apps/presentationeditor/mobile/app/controller/Main.js
index 303d3a172..7d8dd1958 100644
--- a/apps/presentationeditor/mobile/app/controller/Main.js
+++ b/apps/presentationeditor/mobile/app/controller/Main.js
@@ -698,7 +698,10 @@ define([
me.appOptions.canHistoryClose = me.editorConfig.canHistoryClose;
me.appOptions.canUseMailMerge = me.appOptions.canLicense && me.appOptions.canEdit && !me.appOptions.isDesktopApp;
me.appOptions.canSendEmailAddresses = me.appOptions.canLicense && me.editorConfig.canSendEmailAddresses && me.appOptions.canEdit && me.appOptions.canCoAuthoring;
- me.appOptions.canComments = me.appOptions.canLicense && !((typeof (me.editorConfig.customization) == 'object') && me.editorConfig.customization.comments===false);
+ me.appOptions.canComments = me.appOptions.canLicense && (me.permissions.comment===undefined ? me.appOptions.isEdit : me.permissions.comment) && (me.editorConfig.mode !== 'view');
+ me.appOptions.canComments = me.appOptions.canComments && !((typeof (me.editorConfig.customization) == 'object') && me.editorConfig.customization.comments===false);
+ me.appOptions.canViewComments = me.appOptions.canComments || !((typeof (me.editorConfig.customization) == 'object') && me.editorConfig.customization.comments===false);
+ me.appOptions.canEditComments = me.appOptions.isOffline || !(typeof (me.editorConfig.customization) == 'object' && me.editorConfig.customization.commentAuthorOnly);
me.appOptions.canChat = me.appOptions.canLicense && !me.appOptions.isOffline && !((typeof (me.editorConfig.customization) == 'object') && me.editorConfig.customization.chat===false);
me.appOptions.canEditStyles = me.appOptions.canLicense && me.appOptions.canEdit;
me.appOptions.canPrint = (me.permissions.print !== false);
diff --git a/apps/presentationeditor/mobile/app/controller/add/AddContainer.js b/apps/presentationeditor/mobile/app/controller/add/AddContainer.js
index 4a38ed5ad..95fe5aea1 100644
--- a/apps/presentationeditor/mobile/app/controller/add/AddContainer.js
+++ b/apps/presentationeditor/mobile/app/controller/add/AddContainer.js
@@ -134,6 +134,14 @@ define([
.rootLayout()
});
+ addViews.push({
+ caption: me.textOther,
+ id: 'add-other',
+ layout: PE.getController('AddOther')
+ .getView('AddOther')
+ .rootLayout()
+ });
+
return addViews;
},
@@ -287,7 +295,8 @@ define([
textTable: 'Table',
textShape: 'Shape',
textImage: 'Image',
- textLink: 'Link'
+ textLink: 'Link',
+ textOther: 'Other'
}
})(), PE.Controllers.AddContainer || {}))
});
\ No newline at end of file
diff --git a/apps/presentationeditor/mobile/app/controller/add/AddOther.js b/apps/presentationeditor/mobile/app/controller/add/AddOther.js
new file mode 100644
index 000000000..2a41e9423
--- /dev/null
+++ b/apps/presentationeditor/mobile/app/controller/add/AddOther.js
@@ -0,0 +1,142 @@
+/*
+ *
+ * (c) Copyright Ascensio System SIA 2010-2019
+ *
+ * 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 20A-12 Ernesta Birznieka-Upisha
+ * street, Riga, Latvia, EU, LV-1050.
+ *
+ * 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
+ *
+ */
+/**
+ * AddOther.js
+ * Presentation Editor
+ *
+ * Created by Julia Svinareva on 10/04/20
+ * Copyright (c) 2020 Ascensio System SIA. All rights reserved.
+ *
+ */
+
+define([
+ 'core',
+ 'presentationeditor/mobile/app/view/add/AddOther',
+ 'jquery',
+ 'underscore',
+ 'backbone'
+], function (core, view, $, _, Backbone) {
+ 'use strict';
+
+ PE.Controllers.AddOther = Backbone.Controller.extend(_.extend((function() {
+
+ return {
+ models: [],
+ collections: [],
+ views: [
+ 'AddOther'
+ ],
+
+ initialize: function () {
+ Common.NotificationCenter.on('addcontainer:show', _.bind(this.initEvents, this));
+
+ this.addListeners({
+ 'AddOther': {
+ 'page:show' : this.onPageShow
+ }
+ });
+ },
+
+ setApi: function (api) {
+ var me = this;
+ me.api = api;
+ },
+
+ setMode: function (mode) {
+ this.view = this.getView('AddOther');
+ this.view.canViewComments = mode.canViewComments;
+ },
+
+ onLaunch: function () {
+ this.createView('AddOther').render();
+ },
+
+ initEvents: function () {
+ var me = this;
+
+ },
+
+ onPageShow: function (view, pageId) {
+ var me = this;
+
+ $('.page[data-page=addother-comment] li a').single('click', _.buffered(me.onInsertComment, 100, me));
+
+ if (pageId == '#addother-insert-comment') {
+ me.initInsertComment();
+ }
+ },
+
+ // Handlers
+ initInsertComment: function () {
+ var comment = PE.getController('Common.Controllers.Collaboration').getCommentInfo();
+ if (comment) {
+ this.getView('AddOther').renderComment(comment);
+ $('#done-comment').single('click', _.bind(this.onDoneComment, this));
+ $('.back-from-add-comment').single('click', _.bind(function () {
+ if ($('#comment-text').val().length > 0) {
+ uiApp.modal({
+ title: '',
+ text: this.textDeleteDraft,
+ buttons: [
+ {
+ text: this.textCancel
+ },
+ {
+ text: this.textContinue,
+ onClick: function () {
+ PE.getController('AddContainer').rootView.router.back();
+ }
+ }]
+ })
+ } else {
+ PE.getController('AddContainer').rootView.router.back();
+ }
+ }, this))
+ }
+ },
+
+ onDoneComment: function() {
+ var value = $('#comment-text').val();
+ if (value.length > 0) {
+ PE.getController('Common.Controllers.Collaboration').onAddNewComment(value);
+ PE.getController('AddContainer').hideModal();
+ }
+ },
+
+ textDeleteDraft: 'Delete draft?',
+ textCancel: 'Cancel',
+ textContinue: 'Continue'
+
+ }
+ })(), PE.Controllers.AddOther || {}))
+});
\ No newline at end of file
diff --git a/apps/presentationeditor/mobile/app/template/AddOther.template b/apps/presentationeditor/mobile/app/template/AddOther.template
new file mode 100644
index 000000000..6b894f93e
--- /dev/null
+++ b/apps/presentationeditor/mobile/app/template/AddOther.template
@@ -0,0 +1,37 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/presentationeditor/mobile/app/view/add/AddOther.js b/apps/presentationeditor/mobile/app/view/add/AddOther.js
new file mode 100644
index 000000000..82e94a6ad
--- /dev/null
+++ b/apps/presentationeditor/mobile/app/view/add/AddOther.js
@@ -0,0 +1,154 @@
+/*
+ *
+ * (c) Copyright Ascensio System SIA 2010-2019
+ *
+ * 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 20A-12 Ernesta Birznieka-Upisha
+ * street, Riga, Latvia, EU, LV-1050.
+ *
+ * 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
+ *
+ */
+
+/**
+ * AddOther.js
+ * Presentation Editor
+ *
+ * Created by Julia Svinareva on 10/04/20
+ * Copyright (c) 2020 Ascensio System SIA. All rights reserved.
+ *
+ */
+
+define([
+ 'text!presentationeditor/mobile/app/template/AddOther.template',
+ 'jquery',
+ 'underscore',
+ 'backbone'
+], function (addTemplate, $, _, Backbone) {
+ 'use strict';
+
+ PE.Views.AddOther = Backbone.View.extend(_.extend((function() {
+ // private
+
+ return {
+ // el: '.view-main',
+
+ template: _.template(addTemplate),
+
+ events: {
+ },
+
+ initialize: function () {
+ Common.NotificationCenter.on('addcontainer:show', _.bind(this.initEvents, this));
+ },
+
+ initEvents: function () {
+ var me = this;
+
+ $('#add-other-comment').single('click', _.bind(me.showPageComment, me));
+
+ me.initControls();
+ },
+
+ // Render layout
+ render: function () {
+ this.layout = $('
').append(this.template({
+ android : Common.SharedSettings.get('android'),
+ phone : Common.SharedSettings.get('phone'),
+ scope : this
+ }));
+
+ return this;
+ },
+
+ rootLayout: function () {
+ if (this.layout) {
+ if (!this.canViewComments) {
+ this.layout.find('#addother-root-view #item-comment').remove();
+ }
+ return this.layout
+ .find('#addother-root-view')
+ .html();
+ }
+
+ return '';
+ },
+
+ initControls: function () {
+ //
+ },
+
+ showPage: function (templateId, animate) {
+ var rootView = PE.getController('AddContainer').rootView;
+
+ if (rootView && this.layout) {
+ var $content = this.layout.find(templateId);
+
+ // Android fix for navigation
+ if (Framework7.prototype.device.android) {
+ $content.find('.page').append($content.find('.navbar'));
+ }
+
+ rootView.router.load({
+ content: $content.html(),
+ animatePages: animate !== false
+ });
+
+ this.fireEvent('page:show', [this, templateId]);
+ }
+ },
+
+ showPageComment: function(animate) {
+ this.showPage('#addother-insert-comment', animate);
+ },
+
+ renderComment: function(comment) {
+ _.delay(function () {
+ var $commentInfo = $('#comment-info');
+ var template = [
+ '<% if (android) { %><% } %>',
+ '
'
+ ].join('');
+ var insert = _.template(template)({
+ android: Framework7.prototype.device.android,
+ comment: comment
+ });
+ $commentInfo.html(insert);
+ _.defer(function () {
+ var $textarea = $('.comment-textarea')[0];
+ $textarea.focus();
+ });
+ }, 100);
+ },
+
+ textComment: 'Comment',
+ textAddComment: 'Add Comment',
+ textDone: 'Done'
+
+ }
+ })(), PE.Views.AddOther || {}))
+});
\ No newline at end of file
diff --git a/apps/presentationeditor/mobile/resources/css/app-ios.css b/apps/presentationeditor/mobile/resources/css/app-ios.css
index 7b7a308b7..fd9fef61d 100644
--- a/apps/presentationeditor/mobile/resources/css/app-ios.css
+++ b/apps/presentationeditor/mobile/resources/css/app-ios.css
@@ -7220,12 +7220,14 @@ i.icon.icon-in-indent {
background-color: #aa5252;
-webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%2022%2022%22%20fill%3D%22%23aa5252%22%3E%3Cg%3E%3Cpath%20d%3D%22M1%2C20v-1h21v1H1z%20M12%2C16H1v-1h11V16z%20M12%2C12H1v-1h11V12z%20M12%2C8H1V7h11V8z%20M21%2C11.2l0.2%2C0.3L21%2C11.8L16.7%2C16L16%2C15.3l3.8-3.8L16%2C7.7L16.7%2C7L21%2C11.2z%20M22%2C4H1V3h21V4z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}
-i.icon.icon-prev {
+i.icon.icon-prev,
+i.icon.icon-prev-comment {
width: 22px;
height: 22px;
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%2022%2022%22%20fill%3D%22%23aa5252%22%3E%3Cg%3E%3Cpath%20d%3D%22M16%2C20.5L15%2C21.5L4.5%2C11l0%2C0l0%2C0L15%2C0.5L16%2C1.5L6.6%2C11L16%2C20.5z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}
-i.icon.icon-next {
+i.icon.icon-next,
+i.icon.icon-next-comment {
width: 22px;
height: 22px;
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%2022%2022%22%20fill%3D%22%23aa5252%22%3E%3Cg%3E%3Cpath%20d%3D%22M15.5%2C11L6%2C1.5l1.1-1.1L17.5%2C11l0%2C0l0%2C0L7.1%2C21.5L6%2C20.5L15.5%2C11z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
@@ -7478,6 +7480,26 @@ i.icon.icon-paste {
height: 24px;
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M5%202H0V20H9V24H24V7H19V2H14V3H18V7H9V19H1V3H5V2ZM10%208H23V23H10V8Z%22%20fill%3D%22white%22%2F%3E%3Cpath%20d%3D%22M5%200H14V5H5V0Z%22%20fill%3D%22white%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M21%2012H12V11H21V12Z%22%20fill%3D%22white%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M21%2016H12V15H21V16Z%22%20fill%3D%22white%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M21%2020H12V19H21V20Z%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E");
}
+i.icon.icon-menu-comment {
+ width: 30px;
+ height: 30px;
+ background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2230%22%20height%3D%2230%22%20viewBox%3D%220%200%2030%2030%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M10%2015C10%2016.6569%208.65685%2018%207%2018C5.34315%2018%204%2016.6569%204%2015C4%2013.3431%205.34315%2012%207%2012C8.65685%2012%2010%2013.3431%2010%2015ZM7%2016.7143C7.94677%2016.7143%208.71429%2015.9468%208.71429%2015C8.71429%2014.0532%207.94677%2013.2857%207%2013.2857C6.05323%2013.2857%205.28571%2014.0532%205.28571%2015C5.28571%2015.9468%206.05323%2016.7143%207%2016.7143Z%22%20fill%3D%22%23A3A3A3%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M18%2015C18%2016.6569%2016.6569%2018%2015%2018C13.3431%2018%2012%2016.6569%2012%2015C12%2013.3431%2013.3431%2012%2015%2012C16.6569%2012%2018%2013.3431%2018%2015ZM15%2016.7143C15.9468%2016.7143%2016.7143%2015.9468%2016.7143%2015C16.7143%2014.0532%2015.9468%2013.2857%2015%2013.2857C14.0532%2013.2857%2013.2857%2014.0532%2013.2857%2015C13.2857%2015.9468%2014.0532%2016.7143%2015%2016.7143Z%22%20fill%3D%22%23A3A3A3%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M26%2015C26%2016.6569%2024.6569%2018%2023%2018C21.3431%2018%2020%2016.6569%2020%2015C20%2013.3431%2021.3431%2012%2023%2012C24.6569%2012%2026%2013.3431%2026%2015ZM23%2016.7143C23.9468%2016.7143%2024.7143%2015.9468%2024.7143%2015C24.7143%2014.0532%2023.9468%2013.2857%2023%2013.2857C22.0532%2013.2857%2021.2857%2014.0532%2021.2857%2015C21.2857%2015.9468%2022.0532%2016.7143%2023%2016.7143Z%22%20fill%3D%22%23A3A3A3%22%2F%3E%3C%2Fsvg%3E");
+}
+i.icon.icon-resolve-comment {
+ width: 30px;
+ height: 30px;
+ background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2230%22%20height%3D%2230%22%20viewBox%3D%220%200%2030%2030%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M11.6195%2020.8555C11.8237%2021.0673%2012.1658%2021.0577%2012.358%2020.8349L22.516%209.05783C22.7843%208.74676%2022.7528%208.27781%2022.4453%208.00545C22.1315%207.72756%2021.651%207.7604%2021.3779%208.07839L12.3546%2018.587C12.1638%2018.8092%2011.8238%2018.8206%2011.6186%2018.6117L8.10643%2015.0366C7.81574%2014.7407%207.34084%2014.7345%207.04258%2015.0228C6.74283%2015.3125%206.73444%2015.7903%207.02383%2016.0904L11.6195%2020.8555Z%22%20fill%3D%22%23A3A3A3%22%2F%3E%3C%2Fsvg%3E");
+}
+i.icon.icon-resolve-comment.check {
+ width: 30px;
+ height: 30px;
+ background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2230%22%20height%3D%2230%22%20viewBox%3D%220%200%2030%2030%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M0%200H30V30H0V0Z%22%20fill%3D%22white%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M11.6195%2020.8555C11.8237%2021.0673%2012.1658%2021.0577%2012.358%2020.8349L22.516%209.05783C22.7843%208.74676%2022.7528%208.27781%2022.4453%208.00545V8.00545C22.1315%207.72756%2021.651%207.7604%2021.3779%208.07839L12.3546%2018.587C12.1638%2018.8092%2011.8238%2018.8206%2011.6186%2018.6117L8.10643%2015.0366C7.81575%2014.7407%207.34084%2014.7345%207.04258%2015.0228V15.0228C6.74283%2015.3125%206.73444%2015.7903%207.02383%2016.0904L11.6195%2020.8555Z%22%20fill%3D%22%234cd964%22%2F%3E%3C%2Fsvg%3E");
+}
+i.icon.icon-insert-comment {
+ width: 24px;
+ height: 24px;
+ background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M20.1538%209.00708H11.8462C10.8266%209.00708%2010%209.83461%2010%2010.8554V15.1694C10%2016.1902%2010.8266%2017.0177%2011.8462%2017.0177H13.8329C13.9409%2017.0177%2014.0454%2017.0556%2014.1284%2017.1248L18.243%2020.392C18.5436%2020.6428%2019%2020.4288%2019%2020.037V17.4798C19%2017.2246%2019.2066%2017.0177%2019.4615%2017.0177H20.1538C21.1734%2017.0177%2022%2016.1902%2022%2015.1694V10.8554C22%209.83461%2021.1734%209.00708%2020.1538%209.00708ZM20%2010.0083C20.5523%2010.0083%2021%2010.4565%2021%2011.0095V15.0154C21%2015.5683%2020.5523%2016.0165%2020%2016.0165H18.0025L18%2018.8995C18%2019.2912%2018%2019%2018%2019L14.5%2016.0165H12C11.4477%2016.0165%2011%2015.5683%2011%2015.0154V11.0095C11%2010.4565%2011.4477%2010.0083%2012%2010.0083H20Z%22%20fill%3D%22%23aa5252%22%2F%3E%3Cpath%20d%3D%22M14.5%203H4.5C3.18908%203%202%204.2153%202%205.50295V12.0346C2%2013.3222%203.18908%2014.013%204.5%2014.013H5.5C5.82773%2014.013%206%2014.1917%206%2014.5136V17.5183C6%2018.0125%206.6135%2018.3352%207%2018.0189L11%2014.9858V13.5L7%2016.5V13.0118H4.5C3.78992%2013.0118%203%2012.732%203%2012.0346V5.50295C3%204.80547%203.78992%204.00118%204.5%204.00118H14.5C15.2101%204.00118%2016%204.80547%2016%205.50295V8.0059H17V5.50295C17%204.2153%2015.8109%203%2014.5%203Z%22%20fill%3D%22%23aa5252%22%2F%3E%3C%2Fsvg%3E");
+}
.label-switch input[type="checkbox"]:checked + .checkbox {
background: #aa5252;
}
diff --git a/apps/presentationeditor/mobile/resources/css/app-material.css b/apps/presentationeditor/mobile/resources/css/app-material.css
index dc5561f6e..d5be5c3ff 100644
--- a/apps/presentationeditor/mobile/resources/css/app-material.css
+++ b/apps/presentationeditor/mobile/resources/css/app-material.css
@@ -7091,6 +7091,51 @@ i.icon.icon-paste {
height: 24px;
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M5%202H0V20H9V24H24V7H19V2H14V3H18V7H9V19H1V3H5V2ZM10%208H23V23H10V8Z%22%20fill%3D%22black%22%2F%3E%3Cpath%20d%3D%22M5%200H14V5H5V0Z%22%20fill%3D%22black%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M21%2012H12V11H21V12Z%22%20fill%3D%22black%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M21%2016H12V15H21V16Z%22%20fill%3D%22black%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M21%2020H12V19H21V20Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E");
}
+i.icon.icon-menu-comment {
+ width: 24px;
+ height: 24px;
+ background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M16.6047%2016.5848C17.0078%2016.1793%2017.4729%2015.9766%2018%2015.9766C18.5271%2015.9766%2018.9922%2016.1793%2019.3953%2016.5848C19.7984%2016.9903%2020%2017.4581%2020%2017.9883C20%2018.5185%2019.7984%2018.9864%2019.3953%2019.3918C18.9922%2019.7973%2018.5271%2020%2018%2020C17.4729%2020%2017.0078%2019.7973%2016.6047%2019.3918C16.2016%2018.9864%2016%2018.5185%2016%2017.9883C16%2017.4581%2016.2016%2016.9903%2016.6047%2016.5848ZM16.6047%2010.5965C17.0078%2010.191%2017.4729%209.9883%2018%209.9883C18.5271%209.9883%2018.9922%2010.191%2019.3953%2010.5965C19.7984%2011.0019%2020%2011.4698%2020%2012C20%2012.5302%2019.7984%2012.9981%2019.3953%2013.4035C18.9922%2013.809%2018.5271%2014.0117%2018%2014.0117C17.4729%2014.0117%2017.0078%2013.809%2016.6047%2013.4035C16.2016%2012.9981%2016%2012.5302%2016%2012C16%2011.4698%2016.2016%2011.0019%2016.6047%2010.5965ZM19.3953%207.4152C18.9922%207.82066%2018.5271%208.02339%2018%208.02339C17.4729%208.02339%2017.0078%207.82066%2016.6047%207.4152C16.2016%207.00975%2016%206.54191%2016%206.0117C16%205.48148%2016.2016%205.01365%2016.6047%204.60819C17.0078%204.20273%2017.4729%204%2018%204C18.5271%204%2018.9922%204.20273%2019.3953%204.60819C19.7984%205.01365%2020%205.48148%2020%206.0117C20%206.54191%2019.7984%207.00975%2019.3953%207.4152Z%22%20fill%3D%22black%22%20fill-opacity%3D%220.6%22%2F%3E%3C%2Fsvg%3E");
+}
+i.icon.icon-resolve-comment {
+ width: 24px;
+ height: 24px;
+ background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M9%2016.1719L19.5938%205.57812L21%206.98438L9%2018.9844L3.42188%2013.4062L4.82812%2012L9%2016.1719Z%22%20fill%3D%22black%22%20fill-opacity%3D%220.6%22%2F%3E%3C%2Fsvg%3E");
+}
+i.icon.icon-resolve-comment.check {
+ width: 24px;
+ height: 24px;
+ background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M9%2016.1719L19.5938%205.57812L21%206.98438L9%2018.9844L3.42188%2013.4062L4.82812%2012L9%2016.1719Z%22%20fill%3D%22%2340865C%22%20fill-opacity%3D%220.6%22%2F%3E%3C%2Fsvg%3E");
+}
+i.icon.icon-prev-comment {
+ width: 24px;
+ height: 24px;
+ background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M15.4219%207.40625L10.8281%2012L15.4219%2016.5938L14.0156%2018L8.01562%2012L14.0156%206L15.4219%207.40625Z%22%20fill%3D%22%23aa5252%22%2F%3E%3C%2Fsvg%3E");
+}
+i.icon.icon-next-comment {
+ width: 24px;
+ height: 24px;
+ background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M9.98438%206L15.9844%2012L9.98438%2018L8.57812%2016.5938L13.1719%2012L8.57812%207.40625L9.98438%206Z%22%20fill%3D%22%23aa5252%22%2F%3E%3C%2Fsvg%3E");
+}
+i.icon.icon-close-comment {
+ width: 24px;
+ height: 24px;
+ background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M18.9844%206.42188L13.4062%2012L18.9844%2017.5781L17.5781%2018.9844L12%2013.4062L6.42188%2018.9844L5.01562%2017.5781L10.5938%2012L5.01562%206.42188L6.42188%205.01562L12%2010.5938L17.5781%205.01562L18.9844%206.42188Z%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%200.6)%22%2F%3E%3C%2Fsvg%3E");
+}
+i.icon.icon-done-comment {
+ width: 24px;
+ height: 24px;
+ background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M9%2016.1719L19.5938%205.57812L21%206.98438L9%2018.9844L3.42188%2013.4062L4.82812%2012L9%2016.1719Z%22%20fill%3D%22%23aa5252%22%2F%3E%3C%2Fsvg%3E");
+}
+i.icon.icon-insert-comment {
+ width: 24px;
+ height: 24px;
+ background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M20.1538%209.00708H11.8462C10.8266%209.00708%2010%209.83461%2010%2010.8554V15.1694C10%2016.1902%2010.8266%2017.0177%2011.8462%2017.0177H13.8329C13.9409%2017.0177%2014.0454%2017.0556%2014.1284%2017.1248L18.243%2020.392C18.5436%2020.6428%2019%2020.4288%2019%2020.037V17.4798C19%2017.2246%2019.2066%2017.0177%2019.4615%2017.0177H20.1538C21.1734%2017.0177%2022%2016.1902%2022%2015.1694V10.8554C22%209.83461%2021.1734%209.00708%2020.1538%209.00708ZM20%2010.0083C20.5523%2010.0083%2021%2010.4565%2021%2011.0095V15.0154C21%2015.5683%2020.5523%2016.0165%2020%2016.0165H18.0025L18%2018.8995C18%2019.2912%2018%2019%2018%2019L14.5%2016.0165H12C11.4477%2016.0165%2011%2015.5683%2011%2015.0154V11.0095C11%2010.4565%2011.4477%2010.0083%2012%2010.0083H20Z%22%20fill%3D%22%23aa5252%22%2F%3E%3Cpath%20d%3D%22M14.5%203H4.5C3.18908%203%202%204.2153%202%205.50295V12.0346C2%2013.3222%203.18908%2014.013%204.5%2014.013H5.5C5.82773%2014.013%206%2014.1917%206%2014.5136V17.5183C6%2018.0125%206.6135%2018.3352%207%2018.0189L11%2014.9858V13.5L7%2016.5V13.0118H4.5C3.78992%2013.0118%203%2012.732%203%2012.0346V5.50295C3%204.80547%203.78992%204.00118%204.5%204.00118H14.5C15.2101%204.00118%2016%204.80547%2016%205.50295V8.0059H17V5.50295C17%204.2153%2015.8109%203%2014.5%203Z%22%20fill%3D%22%23aa5252%22%2F%3E%3C%2Fsvg%3E");
+}
+i.icon.icon-done-comment-white {
+ width: 24px;
+ height: 24px;
+ background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M9%2016.1719L19.5938%205.57812L21%206.98438L9%2018.9844L3.42188%2013.4062L4.82812%2012L9%2016.1719Z%22%20fill%3D%22%23FFFFFF%22%2F%3E%3C%2Fsvg%3E");
+}
.navbar i.icon.icon-logo {
width: 100px;
height: 14px;
diff --git a/apps/presentationeditor/mobile/resources/less/ios/_icons.less b/apps/presentationeditor/mobile/resources/less/ios/_icons.less
index 82bca371a..719330b78 100644
--- a/apps/presentationeditor/mobile/resources/less/ios/_icons.less
+++ b/apps/presentationeditor/mobile/resources/less/ios/_icons.less
@@ -155,12 +155,12 @@ i.icon {
height: 22px;
.encoded-svg-mask(' ');
}
- &.icon-prev {
+ &.icon-prev, &.icon-prev-comment {
width: 22px;
height: 22px;
.encoded-svg-background(' ');
}
- &.icon-next {
+ &.icon-next, &.icon-next-comment {
width: 22px;
height: 22px;
.encoded-svg-background(' ');
@@ -430,4 +430,25 @@ i.icon {
height: 24px;
.encoded-svg-background(' ');
}
+ //comments
+ &.icon-menu-comment {
+ width: 30px;
+ height: 30px;
+ .encoded-svg-background(' ');
+ }
+ &.icon-resolve-comment {
+ width: 30px;
+ height: 30px;
+ .encoded-svg-background(' ');
+ }
+ &.icon-resolve-comment.check {
+ width: 30px;
+ height: 30px;
+ .encoded-svg-background(' ');
+ }
+ &.icon-insert-comment {
+ width: 24px;
+ height: 24px;
+ .encoded-svg-background(' ');
+ }
}
\ No newline at end of file
diff --git a/apps/presentationeditor/mobile/resources/less/material/_icons.less b/apps/presentationeditor/mobile/resources/less/material/_icons.less
index bc7d5e766..b8dcb4460 100644
--- a/apps/presentationeditor/mobile/resources/less/material/_icons.less
+++ b/apps/presentationeditor/mobile/resources/less/material/_icons.less
@@ -395,6 +395,52 @@ i.icon {
height: 24px;
.encoded-svg-background(' ');
}
+ //Comments
+ &.icon-menu-comment {
+ width: 24px;
+ height: 24px;
+ .encoded-svg-background(' ');
+ }
+ &.icon-resolve-comment {
+ width: 24px;
+ height: 24px;
+ .encoded-svg-background(' ');
+ }
+ &.icon-resolve-comment.check {
+ width: 24px;
+ height: 24px;
+ .encoded-svg-background(' ');
+ }
+ &.icon-prev-comment {
+ width: 24px;
+ height: 24px;
+ .encoded-svg-background(' ');
+ }
+ &.icon-next-comment {
+ width: 24px;
+ height: 24px;
+ .encoded-svg-background(' ');
+ }
+ &.icon-close-comment {
+ width: 24px;
+ height: 24px;
+ .encoded-svg-background(' ');
+ }
+ &.icon-done-comment {
+ width: 24px;
+ height: 24px;
+ .encoded-svg-background(' ');
+ }
+ &.icon-insert-comment {
+ width: 24px;
+ height: 24px;
+ .encoded-svg-background(' ');
+ }
+ &.icon-done-comment-white {
+ width: 24px;
+ height: 24px;
+ .encoded-svg-background(' ');
+ }
}
// Overwrite color for toolbar