[DE] Disable protect settings when review mode is changed.

This commit is contained in:
Julia Radzhabova 2017-11-28 15:32:07 +03:00
parent 981ce99e64
commit ab99ce6adb
4 changed files with 21 additions and 56 deletions

View file

@ -534,6 +534,8 @@ define([
if (comments) if (comments)
comments.setPreviewMode(disable); comments.setPreviewMode(disable);
leftMenu.getMenu('file').miProtect.setDisabled(disable);
if (this.view) { if (this.view) {
this.view.$el.find('.no-group-mask').css('opacity', 1); this.view.$el.find('.no-group-mask').css('opacity', 1);
} }

View file

@ -357,7 +357,6 @@ define([
this.rightmenu.chartSettings.disableControls(disabled); this.rightmenu.chartSettings.disableControls(disabled);
if (!allowSignature && this.rightmenu.signatureSettings) { if (!allowSignature && this.rightmenu.signatureSettings) {
this.rightmenu.signatureSettings.disableControls(disabled);
this.rightmenu.btnSignature.setDisabled(disabled); this.rightmenu.btnSignature.setDisabled(disabled);
} }

View file

@ -126,6 +126,13 @@ define([
canFocused: false canFocused: false
}); });
this.miProtect = new Common.UI.MenuItem({
el : $('#fm-btn-protect',this.el),
action : 'protect',
caption : this.btnProtectCaption,
canFocused: false
});
this.miRecent = new Common.UI.MenuItem({ this.miRecent = new Common.UI.MenuItem({
el : $('#fm-btn-recent',this.el), el : $('#fm-btn-recent',this.el),
action : 'recent', action : 'recent',
@ -168,12 +175,7 @@ define([
this.miSaveAs, this.miSaveAs,
this.miPrint, this.miPrint,
this.miRename, this.miRename,
new Common.UI.MenuItem({ this.miProtect,
el : $('#fm-btn-protect',this.el),
action : 'protect',
caption : this.btnProtectCaption,
canFocused: false
}),
this.miRecent, this.miRecent,
this.miNew, this.miNew,
new Common.UI.MenuItem({ new Common.UI.MenuItem({
@ -221,10 +223,11 @@ define([
show: function(panel, opts) { show: function(panel, opts) {
if (this.isVisible() && panel===undefined) return; if (this.isVisible() && panel===undefined) return;
var defPanel = (this.mode.canDownload && (!this.mode.isDesktopApp || !this.mode.isOffline)) ? 'saveas' : 'info';
if (!panel) if (!panel)
panel = this.active || ((this.mode.canDownload && (!this.mode.isDesktopApp || !this.mode.isOffline)) ? 'saveas' : 'info'); panel = this.active || defPanel;
this.$el.show(); this.$el.show();
this.selectMenu(panel, opts); this.selectMenu(panel, opts, defPanel);
this.api.asc_enableKeyEvents(false); this.api.asc_enableKeyEvents(false);
this.fireEvent('menu:show', [this]); this.fireEvent('menu:show', [this]);
@ -240,8 +243,8 @@ define([
applyMode: function() { applyMode: function() {
this.miPrint[this.mode.canPrint?'show':'hide'](); this.miPrint[this.mode.canPrint?'show':'hide']();
this.miRename[(this.mode.canRename && !this.mode.isDesktopApp) ?'show':'hide'](); this.miRename[(this.mode.canRename && !this.mode.isDesktopApp) ?'show':'hide']();
this.items[7][(this.mode.isEdit && this.mode.isDesktopApp && this.mode.isOffline) ?'show':'hide'](); this.miProtect[(this.mode.isEdit && this.mode.isDesktopApp && this.mode.isOffline) ?'show':'hide']();
this.items[7].$el.find('+.devider')[!this.mode.isDisconnected?'show':'hide'](); this.miProtect.$el.find('+.devider')[!this.mode.isDisconnected?'show':'hide']();
this.miRecent[this.mode.canOpenRecent?'show':'hide'](); this.miRecent[this.mode.canOpenRecent?'show':'hide']();
this.miNew[this.mode.canCreateNew?'show':'hide'](); this.miNew[this.mode.canCreateNew?'show':'hide']();
this.miNew.$el.find('+.devider')[this.mode.canCreateNew?'show':'hide'](); this.miNew.$el.find('+.devider')[this.mode.canCreateNew?'show':'hide']();
@ -318,10 +321,14 @@ define([
this.document = data.doc; this.document = data.doc;
}, },
selectMenu: function(menu, opts) { selectMenu: function(menu, opts, defMenu) {
if ( menu ) { if ( menu ) {
var item = this._getMenuItem(menu), var item = this._getMenuItem(menu),
panel = this.panels[menu]; panel = this.panels[menu];
if ( item.isDisabled() ) {
item = this._getMenuItem(defMenu);
panel = this.panels[defMenu];
}
if ( item && panel ) { if ( item && panel ) {
$('.fm-btn',this.el).removeClass('active'); $('.fm-btn',this.el).removeClass('active');
item.$el.addClass('active'); item.$el.addClass('active');

View file

@ -67,8 +67,6 @@ define([
var me = this; var me = this;
this._state = { this._state = {
DisabledControls: false,
DisabledInsertControls: false,
requestedSignatures: undefined, requestedSignatures: undefined,
validSignatures: undefined, validSignatures: undefined,
invalidSignatures: undefined, invalidSignatures: undefined,
@ -76,37 +74,6 @@ define([
ready: false ready: false
}; };
this._locked = false; this._locked = false;
this._noApply = false;
this._originalProps = null;
this.templateRequested = _.template([
'<td class="padding-large <% if (signatures.length<1) { %>hidden<% } %>">',
'<table class="<% if (signatures.length<1) { %>hidden<% } %>" style="width:100%">',
'<tr><td colspan="2" class="padding-large"><label class="header"><%= header %></label></td></tr>',
'<% _.each(signatures, function(item) { %>',
'<tr>',
'<td style="padding-bottom: 5px;"><label class="signature-sign-name"><%= Common.Utils.String.htmlEncode(item.name) %></label></td>',
'<td style="padding: 0 5px; vertical-align: top; text-align: right;"><label class="link-solid signature-sign-link" data-value="<%= item.guid %>">' + this.strSign + '</label></td>',
'</tr>',
'<% }); %>',
'</table>',
'</td>'
].join(''));
this.templateValid = _.template([
'<td class="padding-large <% if (signatures.length<1) { %>hidden<% } %>"">',
'<table class="<% if (signatures.length<1) { %>hidden<% } %>" style="width:100%">',
'<tr><td colspan="2" class="padding-large"><label class="header"><%= header %></label></td></tr>',
'<% _.each(signatures, function(item) { %>',
'<tr>',
'<td><div class="signature-sign-name"><%= Common.Utils.String.htmlEncode(item.name) %></div></td>',
'<td rowspan="2" style="padding: 0 5px; vertical-align: top; text-align: right;"><label class="link-solid signature-view-link" data-value="<%= item.guid %>">' + this.strView + '</label></td>',
'</tr>',
'<tr><td style="padding-bottom: 3px;"><label class="signature-sign-name"><%= Common.Utils.String.htmlEncode(item.date) %></label></td></tr>',
'<% }); %>',
'</table>',
'</td>'
].join(''));
this.render(); this.render();
}, },
@ -186,22 +153,12 @@ define([
ChangeSettings: function(props) { ChangeSettings: function(props) {
if (!this._state.requestedSignatures || !this._state.validSignatures || !this._state.invalidSignatures) if (!this._state.requestedSignatures || !this._state.validSignatures || !this._state.invalidSignatures)
this.updateSignatures(this.api.asc_getSignatures(), this.api.asc_getRequestSignatures()); this.updateSignatures(this.api.asc_getSignatures(), this.api.asc_getRequestSignatures());
this.disableControls(this._locked);
}, },
setLocked: function (locked) { setLocked: function (locked) {
this._locked = locked; this._locked = locked;
}, },
disableControls: function(disable) {
if (this._state.DisabledControls!==disable) {
this._state.DisabledControls = disable;
this.$linksSign && this.$linksSign.toggleClass('disabled', disable);
this.$linksView && this.$linksView.toggleClass('disabled', disable);
}
},
setMode: function(mode) { setMode: function(mode) {
this.mode = mode; this.mode = mode;
}, },