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) { %>
<%= comment.userInitials %>
<% } %>', + '
<%= comment.username %>
', + '
<%= comment.date %>
', + '<% 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