[DE] Lock review changes and comments when document is protected
This commit is contained in:
parent
b898aee927
commit
c6cd767264
|
@ -144,10 +144,12 @@ define([
|
||||||
}
|
}
|
||||||
}, this, area);
|
}, this, area);
|
||||||
}.bind(this));
|
}.bind(this));
|
||||||
|
Common.NotificationCenter.on('protect:doclock', _.bind(this.onChangeProtectDocument, this));
|
||||||
},
|
},
|
||||||
onLaunch: function () {
|
onLaunch: function () {
|
||||||
var filter = Common.localStorage.getKeysFilter();
|
var filter = Common.localStorage.getKeysFilter();
|
||||||
this.appPrefix = (filter && filter.length) ? filter.split(',')[0] : '';
|
this.appPrefix = (filter && filter.length) ? filter.split(',')[0] : '';
|
||||||
|
this._state = {viewmode: false};
|
||||||
|
|
||||||
this.collection = this.getApplication().getCollection('Common.Collections.Comments');
|
this.collection = this.getApplication().getCollection('Common.Collections.Comments');
|
||||||
this.setComparator();
|
this.setComparator();
|
||||||
|
@ -1645,16 +1647,26 @@ define([
|
||||||
},
|
},
|
||||||
|
|
||||||
setPreviewMode: function(mode) {
|
setPreviewMode: function(mode) {
|
||||||
if (this.viewmode === mode) return;
|
this._state.viewmode = mode;
|
||||||
this.viewmode = mode;
|
this.updatePreviewMode();
|
||||||
if (mode)
|
},
|
||||||
|
|
||||||
|
updatePreviewMode: function() {
|
||||||
|
var lockMode = this._state.docProtection ? this._state.docProtection.lockMode : undefined;
|
||||||
|
lockMode = (lockMode===Asc.c_oAscProtection.View || lockMode===Asc.c_oAscProtection.Forms);
|
||||||
|
var viewmode = this._state.viewmode || lockMode;
|
||||||
|
|
||||||
|
if (this.viewmode === viewmode) return;
|
||||||
|
this.viewmode = viewmode;
|
||||||
|
|
||||||
|
if (viewmode)
|
||||||
this.prevcanComments = this.mode.canComments;
|
this.prevcanComments = this.mode.canComments;
|
||||||
this.mode.canComments = (mode) ? false : this.prevcanComments;
|
this.mode.canComments = (viewmode) ? false : this.prevcanComments;
|
||||||
this.closeEditing();
|
this.closeEditing();
|
||||||
this.setMode(this.mode);
|
this.setMode(this.mode);
|
||||||
this.updateComments(true);
|
this.updateComments(true);
|
||||||
if (this.getPopover())
|
if (this.getPopover())
|
||||||
mode ? this.getPopover().hide() : this.getPopover().update(true);
|
viewmode ? this.getPopover().hide() : this.getPopover().update(true);
|
||||||
},
|
},
|
||||||
|
|
||||||
clearCollections: function() {
|
clearCollections: function() {
|
||||||
|
@ -1718,6 +1730,17 @@ define([
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.updateComments(true);
|
this.updateComments(true);
|
||||||
|
},
|
||||||
|
|
||||||
|
onChangeProtectDocument: function(props) {
|
||||||
|
if (!props) {
|
||||||
|
var docprotect = this.getApplication().getController('DocProtection');
|
||||||
|
props = docprotect ? docprotect.getDocProps() : null;
|
||||||
|
}
|
||||||
|
if (props) {
|
||||||
|
this._state.docProtection = props;
|
||||||
|
this.updatePreviewMode();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}, Common.Controllers.Comments || {}));
|
}, Common.Controllers.Comments || {}));
|
||||||
|
|
|
@ -102,7 +102,7 @@ define([
|
||||||
this.userCollection = this.getApplication().getCollection('Common.Collections.Users');
|
this.userCollection = this.getApplication().getCollection('Common.Collections.Users');
|
||||||
this.viewmode = false;
|
this.viewmode = false;
|
||||||
|
|
||||||
this._state = {posx: -1000, posy: -1000, popoverVisible: false, previewMode: false, compareSettings: null, wsLock: false, wsProps: []};
|
this._state = {posx: -1000, posy: -1000, popoverVisible: false, previewMode: false, compareSettings: null, wsLock: false, wsProps: [], viewmode: false};
|
||||||
|
|
||||||
Common.NotificationCenter.on('reviewchanges:turn', this.onTurnPreview.bind(this));
|
Common.NotificationCenter.on('reviewchanges:turn', this.onTurnPreview.bind(this));
|
||||||
Common.NotificationCenter.on('spelling:turn', this.onTurnSpelling.bind(this));
|
Common.NotificationCenter.on('spelling:turn', this.onTurnSpelling.bind(this));
|
||||||
|
@ -180,11 +180,20 @@ define([
|
||||||
},
|
},
|
||||||
|
|
||||||
setPreviewMode: function(mode) { //disable accept/reject in popover
|
setPreviewMode: function(mode) { //disable accept/reject in popover
|
||||||
if (this.viewmode === mode) return;
|
this._state.viewmode = mode;
|
||||||
this.viewmode = mode;
|
this.updatePreviewMode();
|
||||||
if (mode)
|
},
|
||||||
|
|
||||||
|
updatePreviewMode: function() {
|
||||||
|
var lockMode = this._state.docProtection ? this._state.docProtection.lockMode : undefined;
|
||||||
|
lockMode = (lockMode===Asc.c_oAscProtection.View || lockMode===Asc.c_oAscProtection.Forms || lockMode===Asc.c_oAscProtection.Comments);
|
||||||
|
var viewmode = this._state.viewmode || lockMode;
|
||||||
|
|
||||||
|
if (this.viewmode === viewmode) return;
|
||||||
|
this.viewmode = viewmode;
|
||||||
|
if (viewmode)
|
||||||
this.prevcanReview = this.appConfig.canReview;
|
this.prevcanReview = this.appConfig.canReview;
|
||||||
this.appConfig.canReview = (mode) ? false : this.prevcanReview;
|
this.appConfig.canReview = (viewmode) ? false : this.prevcanReview;
|
||||||
var me = this;
|
var me = this;
|
||||||
this.popoverChanges && this.popoverChanges.each(function (model) {
|
this.popoverChanges && this.popoverChanges.each(function (model) {
|
||||||
model.set('hint', !me.appConfig.canReview);
|
model.set('hint', !me.appConfig.canReview);
|
||||||
|
@ -1024,6 +1033,7 @@ define([
|
||||||
this.lockToolbar(Common.enumLock.docLockForms, props.docLock && (props.lockMode===Asc.c_oAscProtection.Forms));
|
this.lockToolbar(Common.enumLock.docLockForms, props.docLock && (props.lockMode===Asc.c_oAscProtection.Forms));
|
||||||
this.lockToolbar(Common.enumLock.docLockReview, props.docLock && (props.lockMode===Asc.c_oAscProtection.Review));
|
this.lockToolbar(Common.enumLock.docLockReview, props.docLock && (props.lockMode===Asc.c_oAscProtection.Review));
|
||||||
this.lockToolbar(Common.enumLock.docLockComments, props.docLock && (props.lockMode===Asc.c_oAscProtection.Comments));
|
this.lockToolbar(Common.enumLock.docLockComments, props.docLock && (props.lockMode===Asc.c_oAscProtection.Comments));
|
||||||
|
this.updatePreviewMode();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
@ -113,12 +113,13 @@ define([
|
||||||
if ( !this.leftMenu.panelHistory.isVisible() )
|
if ( !this.leftMenu.panelHistory.isVisible() )
|
||||||
this.clickMenuFileItem(null, 'history');
|
this.clickMenuFileItem(null, 'history');
|
||||||
}, this));
|
}, this));
|
||||||
|
Common.NotificationCenter.on('protect:doclock', _.bind(this.onChangeProtectDocument, this));
|
||||||
},
|
},
|
||||||
|
|
||||||
onLaunch: function() {
|
onLaunch: function() {
|
||||||
this.leftMenu = this.createView('LeftMenu').render();
|
this.leftMenu = this.createView('LeftMenu').render();
|
||||||
this.leftMenu.btnSearchBar.on('toggle', _.bind(this.onMenuSearchBar, this));
|
this.leftMenu.btnSearchBar.on('toggle', _.bind(this.onMenuSearchBar, this));
|
||||||
|
this._state = {viewmode: false};
|
||||||
Common.util.Shortcuts.delegateShortcuts({
|
Common.util.Shortcuts.delegateShortcuts({
|
||||||
shortcuts: {
|
shortcuts: {
|
||||||
'command+shift+s,ctrl+shift+s': _.bind(this.onShortcut, this, 'save'),
|
'command+shift+s,ctrl+shift+s': _.bind(this.onShortcut, this, 'save'),
|
||||||
|
@ -581,8 +582,16 @@ define([
|
||||||
},
|
},
|
||||||
|
|
||||||
setPreviewMode: function(mode) {
|
setPreviewMode: function(mode) {
|
||||||
if (this.viewmode === mode) return;
|
this._state.viewmode = mode;
|
||||||
this.viewmode = mode;
|
this.updatePreviewMode();
|
||||||
|
},
|
||||||
|
|
||||||
|
updatePreviewMode: function() {
|
||||||
|
var lockMode = this._state.docProtection ? this._state.docProtection.lockMode : undefined;
|
||||||
|
lockMode = (lockMode===Asc.c_oAscProtection.View || lockMode===Asc.c_oAscProtection.Forms);
|
||||||
|
var viewmode = this._state.viewmode || lockMode;
|
||||||
|
if (this.viewmode === viewmode) return;
|
||||||
|
this.viewmode = viewmode;
|
||||||
|
|
||||||
this.leftMenu.panelSearch && this.leftMenu.panelSearch.setSearchMode(this.viewmode ? 'no-replace' : 'search');
|
this.leftMenu.panelSearch && this.leftMenu.panelSearch.setSearchMode(this.viewmode ? 'no-replace' : 'search');
|
||||||
},
|
},
|
||||||
|
@ -887,6 +896,17 @@ define([
|
||||||
return this.leftMenu && this.leftMenu.panelComments && this.leftMenu.panelComments.isVisible();
|
return this.leftMenu && this.leftMenu.panelComments && this.leftMenu.panelComments.isVisible();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
onChangeProtectDocument: function(props) {
|
||||||
|
if (!props) {
|
||||||
|
var docprotect = this.getApplication().getController('DocProtection');
|
||||||
|
props = docprotect ? docprotect.getDocProps() : null;
|
||||||
|
}
|
||||||
|
if (props) {
|
||||||
|
this._state.docProtection = props;
|
||||||
|
this.updatePreviewMode();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
textNoTextFound : 'Text not found',
|
textNoTextFound : 'Text not found',
|
||||||
newDocumentTitle : 'Unnamed document',
|
newDocumentTitle : 'Unnamed document',
|
||||||
requestEditRightsText : 'Requesting editing rights...',
|
requestEditRightsText : 'Requesting editing rights...',
|
||||||
|
|
Loading…
Reference in a new issue