diff --git a/apps/common/main/lib/controller/Comments.js b/apps/common/main/lib/controller/Comments.js
index 40644084a..57b59d16b 100644
--- a/apps/common/main/lib/controller/Comments.js
+++ b/apps/common/main/lib/controller/Comments.js
@@ -74,7 +74,7 @@ define([
subEditStrings : {},
filter : undefined,
hintmode : false,
- previewmode: false,
+ viewmode: false,
isSelectedComment : false,
uids : [],
oldUids : [],
@@ -169,7 +169,7 @@ define([
this.currentUserName = data.config.user.fullname;
this.sdkViewName = data['sdkviewname'] || this.sdkViewName;
this.hintmode = data['hintmode'] || false;
- this.previewmode = data['previewmode'] || false;
+ this.viewmode = data['viewmode'] || false;
}
},
setApi: function (api) {
@@ -194,10 +194,8 @@ define([
setMode: function(mode) {
this.mode = mode;
this.isModeChanged = true; // change show-comment mode from/to hint mode using canComments flag
- if (!this.mode.canComments) {
- this.view.changeLayout(mode);
- }
-
+ this.view.viewmode = !this.mode.canComments;
+ this.view.changeLayout(mode);
return this;
},
//
@@ -283,8 +281,6 @@ define([
return false;
},
onShowComment: function (id, selected) {
- if (this.previewmode) return;
-
var comment = this.findComment(id);
if (comment) {
if (null !== comment.get('quote')) {
@@ -818,11 +814,9 @@ define([
}
},
onApiShowComment: function (uids, posX, posY, leftX, opts, hint) {
- if (this.previewmode) return;
- this.isModeChanged = false;
var same_uids = (0 === _.difference(this.uids, uids).length) && (0 === _.difference(uids, this.uids).length);
- if (hint && this.isSelectedComment && same_uids) {
+ if (hint && this.isSelectedComment && same_uids && !this.isModeChanged) {
// хотим показать тот же коментарий что был и выбран
return;
}
@@ -833,7 +827,7 @@ define([
if (popover) {
this.clearDummyComment();
- if (this.isSelectedComment && same_uids) {
+ if (this.isSelectedComment && same_uids && !this.isModeChanged) {
//NOTE: click to sdk view ?
if (this.api) {
//this.view.txtComment.blur();
@@ -905,6 +899,7 @@ define([
popover.setLeftTop(posX, posY, leftX);
popover.showComments(animate, false, true, text);
}
+ this.isModeChanged = false;
},
onApiHideComment: function (hint) {
var t = this;
@@ -940,8 +935,6 @@ define([
}
},
onApiUpdateCommentPosition: function (uids, posX, posY, leftX) {
- if (this.previewmode) return;
-
var i, useAnimation = false,
comment = null,
text = undefined,
@@ -1480,9 +1473,16 @@ define([
},
setPreviewMode: function(mode) {
- this.previewmode = mode;
+ if (this.viewmode === mode) return;
+ this.viewmode = mode;
+ if (mode)
+ this.prevcanComments = this.mode.canComments;
+ this.mode.canComments = (mode) ? false : this.prevcanComments;
+ this.closeEditing();
+ this.setMode(this.mode);
+ this.updateComments(true);
if (this.getPopover())
- this.getPopover().hide();
+ this.getPopover().update(true);
}
}, Common.Controllers.Comments || {}));
diff --git a/apps/common/main/lib/controller/ReviewChanges.js b/apps/common/main/lib/controller/ReviewChanges.js
index 938252cc1..7d31d22b6 100644
--- a/apps/common/main/lib/controller/ReviewChanges.js
+++ b/apps/common/main/lib/controller/ReviewChanges.js
@@ -573,13 +573,11 @@ define([
app.getController('Common.Controllers.Plugins').getView('Common.Views.Plugins').disableControls(disable);
}
- var leftMenu = app.getController('LeftMenu').leftMenu;
- leftMenu.btnComments.setDisabled(disable);
- if (disable) leftMenu.close();
var comments = app.getController('Common.Controllers.Comments');
if (comments)
comments.setPreviewMode(disable);
+ var leftMenu = app.getController('LeftMenu').leftMenu;
leftMenu.getMenu('file').miProtect.setDisabled(disable);
if (this.view) {
diff --git a/apps/common/main/lib/template/Comments.template b/apps/common/main/lib/template/Comments.template
index bd2986c3f..cf458d5e3 100644
--- a/apps/common/main/lib/template/Comments.template
+++ b/apps/common/main/lib/template/Comments.template
@@ -10,7 +10,7 @@
<% if (quote!==null && quote!=='') { %>
<%=scope.getFixedQuote(quote)%>
<% } %>
- <% if (!editText || hint) { %>
+ <% if (!editText || scope.viewmode) { %>
<%=scope.pickLink(comment)%>
<% } else { %>
@@ -25,14 +25,14 @@
<% if (replys.length) { %>
<% _.each(replys, function (item, index) { %>
-
style="padding-bottom: 0;" <% } %>;>
+
style="padding-bottom: 0;" <% } %>;>
<%=item.get("usercolor")%><% } else { %> #cfcfcf <% } %>; " >
<%= scope.getUserName(item.get("username")) %>
<%=item.get("date")%>
<% if (!item.get("editText")) { %>
<%=scope.pickLink(item.get("reply"))%>
- <% if (!hint) { %>
+ <% if (!scope.viewmode) { %>
<% if (item.get("editable")) { %>
">
@@ -53,7 +53,7 @@
- <% if (!showReply && !hint) { %>
+ <% if (!showReply && !scope.viewmode) { %>
<% if (replys.length) { %>
<% } else { %>
@@ -63,7 +63,7 @@
- <% if (!editText && !lock && !hint) { %>
+ <% if (!editText && !lock && !scope.viewmode) { %>
<% if (editable) { %>
diff --git a/apps/common/main/lib/view/Comments.js b/apps/common/main/lib/view/Comments.js
index df32ed3f0..be9d648ae 100644
--- a/apps/common/main/lib/view/Comments.js
+++ b/apps/common/main/lib/view/Comments.js
@@ -79,6 +79,7 @@ define([
addCommentHeight: 45,
newCommentHeight: 110,
textBoxAutoSizeLocked: undefined, // disable autosize textbox
+ viewmode: false,
initialize: function (options) {
Common.UI.BaseView.prototype.initialize.call(this, options);
@@ -550,13 +551,38 @@ define([
},
changeLayout: function(mode) {
+ var me = this,
+ add = $('.new-comment-ct', this.el),
+ to = $('.add-link-ct', this.el),
+ msgs = $('.messages-ct', this.el);
+ msgs.toggleClass('stretch', !mode.canComments);
if (!mode.canComments) {
- var add = $('.new-comment-ct', this.el),
- to = $('.add-link-ct', this.el),
- msgs = $('.messages-ct', this.el);
add.hide(); to.hide();
- msgs.addClass('stretch');
this.layout.changeLayout([{el: msgs[0], rely: false, stretch: true}]);
+ } else {
+ var container = $('#comments-box', this.el),
+ items = container.find(' > .layout-item');
+ to.show();
+ this.layout.changeLayout([{el: items[0], rely: true,
+ resize: {
+ hidden: false,
+ autohide: false,
+ fmin: (function () {
+ var height = container.height();
+ if (add.css('display') !== 'none') {
+ if (height * 0.5 < me.newCommentHeight)
+ return height - me.newCommentHeight;
+ }
+ return height * 0.5;
+ }),
+ fmax: (function () {
+ if (add.css('display') !== 'none')
+ return container.height() - me.newCommentHeight;
+ return container.height() - me.addCommentHeight;
+ })
+ }},
+ {el: items[1], stretch: true},
+ {el: items[2], stretch: true}]);
}
},
diff --git a/apps/documenteditor/main/app/view/SignatureSettings.js b/apps/documenteditor/main/app/view/SignatureSettings.js
index 9bd94f688..023b914de 100644
--- a/apps/documenteditor/main/app/view/SignatureSettings.js
+++ b/apps/documenteditor/main/app/view/SignatureSettings.js
@@ -390,8 +390,8 @@ define([
DE.getController('DocumentHolder').getView().SetDisabled(disable, true);
DE.getController('Navigation') && DE.getController('Navigation').SetDisabled(disable);
- var leftMenu = DE.getController('LeftMenu').leftMenu;
- leftMenu.btnComments.setDisabled(disable);
+ // var leftMenu = DE.getController('LeftMenu').leftMenu;
+ // leftMenu.btnComments.setDisabled(disable);
var comments = DE.getController('Common.Controllers.Comments');
if (comments)
comments.setPreviewMode(disable);
diff --git a/apps/presentationeditor/main/app/view/SignatureSettings.js b/apps/presentationeditor/main/app/view/SignatureSettings.js
index aa7b4db8f..788cc5082 100644
--- a/apps/presentationeditor/main/app/view/SignatureSettings.js
+++ b/apps/presentationeditor/main/app/view/SignatureSettings.js
@@ -343,8 +343,8 @@ define([
PE.getController('Common.Controllers.ReviewChanges').SetDisabled(disable);
PE.getController('DocumentHolder').getView('DocumentHolder').SetDisabled(disable);
- var leftMenu = PE.getController('LeftMenu').leftMenu;
- leftMenu.btnComments.setDisabled(disable);
+ // var leftMenu = PE.getController('LeftMenu').leftMenu;
+ // leftMenu.btnComments.setDisabled(disable);
var comments = PE.getController('Common.Controllers.Comments');
if (comments)
comments.setPreviewMode(disable);
diff --git a/apps/spreadsheeteditor/main/app/view/SignatureSettings.js b/apps/spreadsheeteditor/main/app/view/SignatureSettings.js
index 5ba6694ee..52661efa7 100644
--- a/apps/spreadsheeteditor/main/app/view/SignatureSettings.js
+++ b/apps/spreadsheeteditor/main/app/view/SignatureSettings.js
@@ -389,8 +389,8 @@ define([
SSE.getController('Common.Controllers.ReviewChanges').SetDisabled(disable);
SSE.getController('DocumentHolder').SetDisabled(disable, true);
- var leftMenu = SSE.getController('LeftMenu').leftMenu;
- leftMenu.btnComments.setDisabled(disable);
+ // var leftMenu = SSE.getController('LeftMenu').leftMenu;
+ // leftMenu.btnComments.setDisabled(disable);
var comments = SSE.getController('Common.Controllers.Comments');
if (comments)
comments.setPreviewMode(disable);