diff --git a/apps/documenteditor/mobile/app/controller/Collaboration.js b/apps/documenteditor/mobile/app/controller/Collaboration.js index cd3bf837c..8af702803 100644 --- a/apps/documenteditor/mobile/app/controller/Collaboration.js +++ b/apps/documenteditor/mobile/app/controller/Collaboration.js @@ -57,7 +57,8 @@ define([ arrChangeReview = [], dateChange = [], _fileKey, - _userId; + _userId, + editUsers = []; return { models: [], @@ -78,6 +79,8 @@ define([ setApi: function(api) { this.api = api; this.api.asc_registerCallback('asc_onShowRevisionsChange', _.bind(this.changeReview, this)); + this.api.asc_registerCallback('asc_onAuthParticipantsChanged', _.bind(this.onChangeEditUsers, this)); + this.api.asc_registerCallback('asc_onParticipantsChanged', _.bind(this.onChangeEditUsers, this)); }, onLaunch: function () { @@ -167,6 +170,9 @@ define([ } else if('#change-view' == pageId) { me.initChange(); Common.Utils.addScrollIfNeed('.page[data-page=change-view]', '.page[data-page=change-view] .page-content'); + } else if('#edit-users-view' == pageId) { + me.initEditUsers(); + Common.Utils.addScrollIfNeed('.page[data-page=edit-users-view]', '.page[data-page=edit-users-view] .page-content'); } else { if(!this.appConfig.canReview) { $('#reviewing-settings').hide(); @@ -565,6 +571,50 @@ define([ } }, + onChangeEditUsers: function(users) { + editUsers = users; + }, + + initEditUsers: function() { + var templateUserItem = _.template([ + '<% _.each(users, function(item) { %>', + '
  • ' + + '
    ' + + '
    '+ + '' + + '<% if (item.len>1) { %><% } %>' + + '
    '+ + '
  • ', + '<% }); %>' + ].join('')); + var users = [], + usersSort = [], + len; + _.each(editUsers, function(item){ + users.push({color: item.asc_getColor(), id: item.id, idOriginal: item.idOriginal, name: item.userName, view: item.view}) + }); + _.each(users, function(item){ + if (usersSort.filter(function (itemFil) {return item.idOriginal === itemFil.idOriginal;}).length === 0) { + len = users.filter(function (itemFil) { + return item.idOriginal === itemFil.idOriginal; + }).length; + usersSort.push({color: item.color, id: item.id, idOriginal: item.idOriginal, name: item.name, view: item.view, len: len}) + } + }); + var templateUserList = _.template( + '
    ' + + this.textEditUser + + '
    ' + + ''); + $('#user-list').html(templateUserList({ + users: usersSort.filter(function (item) { + return !item.view; + }), + })); + }, + @@ -625,7 +675,8 @@ define([ textTableRowsDel: 'Table Rows Deleted', textParaMoveTo: 'Moved:', textParaMoveFromUp: 'Moved Up:', - textParaMoveFromDown: 'Moved Down:' + textParaMoveFromDown: 'Moved Down:', + textEditUser: 'Document is currently being edited by several users.' } })(), DE.Controllers.Collaboration || {})) diff --git a/apps/documenteditor/mobile/app/template/Collaboration.template b/apps/documenteditor/mobile/app/template/Collaboration.template index 9f269f23a..22598a8ce 100644 --- a/apps/documenteditor/mobile/app/template/Collaboration.template +++ b/apps/documenteditor/mobile/app/template/Collaboration.template @@ -11,6 +11,15 @@ + + + +
    + +
    +
    +
    +
    +
    +
    +
    +
    \ No newline at end of file diff --git a/apps/documenteditor/mobile/app/view/Collaboration.js b/apps/documenteditor/mobile/app/view/Collaboration.js index 7dd668531..784c08a5a 100644 --- a/apps/documenteditor/mobile/app/view/Collaboration.js +++ b/apps/documenteditor/mobile/app/view/Collaboration.js @@ -151,7 +151,8 @@ define([ textMarkup: 'Markup', textFinal: 'Final', textOriginal: 'Original', - textChange: 'Review Change' + textChange: 'Review Change', + textEditUsers: 'Edit Users' } })(), DE.Views.Collaboration || {})) diff --git a/apps/documenteditor/mobile/resources/css/app-ios.css b/apps/documenteditor/mobile/resources/css/app-ios.css index a8ee01808..d885020c7 100644 --- a/apps/documenteditor/mobile/resources/css/app-ios.css +++ b/apps/documenteditor/mobile/resources/css/app-ios.css @@ -6914,3 +6914,22 @@ html.pixel-ratio-3 .numbers li { max-height: 100%; overflow: auto; } +#user-list .item-content { + padding-left: 0; +} +#user-list .item-inner { + justify-content: flex-start; + padding-left: 15px; +} +#user-list .length { + margin-left: 4px; +} +#user-list .color { + min-width: 26px; + min-height: 26px; + box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15) inset; + margin-right: 20px; +} +#user-list ul:before { + content: none; +} diff --git a/apps/documenteditor/mobile/resources/css/app-material.css b/apps/documenteditor/mobile/resources/css/app-material.css index e6571e2af..77557022c 100644 --- a/apps/documenteditor/mobile/resources/css/app-material.css +++ b/apps/documenteditor/mobile/resources/css/app-material.css @@ -6685,3 +6685,28 @@ html.pixel-ratio-3 .numbers li { max-height: 100%; overflow: auto; } +#user-list .item-content { + padding-left: 0; +} +#user-list .item-inner { + justify-content: flex-start; + padding-left: 15px; +} +#user-list .length { + margin-left: 4px; +} +#user-list .color { + min-width: 26px; + min-height: 26px; + box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15) inset; + margin-right: 20px; +} +#user-list ul:after { + content: none; +} +#user-list ul:before { + content: none; +} +#user-list .item-inner:after { + content: none; +} diff --git a/apps/documenteditor/mobile/resources/less/app-ios.less b/apps/documenteditor/mobile/resources/less/app-ios.less index f36d5fc97..7e9c431fc 100644 --- a/apps/documenteditor/mobile/resources/less/app-ios.less +++ b/apps/documenteditor/mobile/resources/less/app-ios.less @@ -239,4 +239,27 @@ input, textarea { .modal.modal-in { max-height: 100%; overflow: auto; +} + +//Edit users +#user-list { + .item-content { + padding-left: 0; + } + .item-inner { + justify-content: flex-start; + padding-left: 15px; + } + .length { + margin-left: 4px; + } + .color { + min-width: 26px; + min-height: 26px; + box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15) inset; + margin-right: 20px; + } + ul:before { + content: none; + } } \ No newline at end of file diff --git a/apps/documenteditor/mobile/resources/less/app-material.less b/apps/documenteditor/mobile/resources/less/app-material.less index 37a4adfd3..38e3bd9b7 100644 --- a/apps/documenteditor/mobile/resources/less/app-material.less +++ b/apps/documenteditor/mobile/resources/less/app-material.less @@ -226,4 +226,33 @@ input, textarea { .modal.modal-in { max-height: 100%; overflow: auto; +} + +//Edit users +#user-list { + .item-content { + padding-left: 0; + } + .item-inner { + justify-content: flex-start; + padding-left: 15px; + } + .length { + margin-left: 4px; + } + .color { + min-width: 26px; + min-height: 26px; + box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15) inset; + margin-right: 20px; + } + ul:after { + content: none; + } + ul:before { + content: none; + } + .item-inner:after { + content: none; + } } \ No newline at end of file