Merge pull request #1499 from ONLYOFFICE/fix/fix-mobile

[DE Mobile] disable editing for fill forms and commenting when no lic…
This commit is contained in:
Julia Radzhabova 2022-01-19 18:44:57 +03:00 committed by GitHub
commit a81547d4ae
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 59 additions and 51 deletions

View file

@ -558,32 +558,31 @@ class MainController extends Component {
storeDocumentSettings.changeDocSize(w, h);
});
const storeAppOptions = this.props.storeAppOptions;
this.api.asc_registerCallback('asc_onShowContentControlsActions', (obj, x, y) => {
const storeAppOptions = this.props.storeAppOptions;
if (!storeAppOptions.isEdit && !(storeAppOptions.isRestrictedEdit && storeAppOptions.canFillForms) || this.props.users.isDisconnected) return;
if (storeAppOptions.isEdit || storeAppOptions.isRestrictedEdit && storeAppOptions.canFillForms) {
this.api.asc_registerCallback('asc_onShowContentControlsActions', (obj, x, y) => {
switch (obj.type) {
case Asc.c_oAscContentControlSpecificType.DateTime:
this.onShowDateActions(obj, x, y);
break;
case Asc.c_oAscContentControlSpecificType.Picture:
if (obj.pr && obj.pr.get_Lock) {
let lock = obj.pr.get_Lock();
if (lock == Asc.c_oAscSdtLockType.SdtContentLocked || lock == Asc.c_oAscSdtLockType.ContentLocked)
return;
}
this.api.asc_addImage(obj);
setTimeout(() => {
this.api.asc_UncheckContentControlButtons();
}, 500);
break;
case Asc.c_oAscContentControlSpecificType.DropDownList:
case Asc.c_oAscContentControlSpecificType.ComboBox:
this.onShowListActions(obj, x, y);
break;
}
});
}
switch (obj.type) {
case Asc.c_oAscContentControlSpecificType.DateTime:
this.onShowDateActions(obj, x, y);
break;
case Asc.c_oAscContentControlSpecificType.Picture:
if (obj.pr && obj.pr.get_Lock) {
let lock = obj.pr.get_Lock();
if (lock == Asc.c_oAscSdtLockType.SdtContentLocked || lock == Asc.c_oAscSdtLockType.ContentLocked)
return;
}
this.api.asc_addImage(obj);
setTimeout(() => {
this.api.asc_UncheckContentControlButtons();
}, 500);
break;
case Asc.c_oAscContentControlSpecificType.DropDownList:
case Asc.c_oAscContentControlSpecificType.ComboBox:
this.onShowListActions(obj, x, y);
break;
}
});
const storeTextSettings = this.props.storeTextSettings;
storeTextSettings.resetFontsRecent(LocalStorage.getItem('dde-settings-recent-fonts'));

View file

@ -196,7 +196,7 @@ class ContextMenu extends ContextMenuController {
initMenuItems() {
if ( !Common.EditorApi ) return [];
const { isEdit } = this.props;
const { isEdit, isDisconnected } = this.props;
if (isEdit && EditorUIController.ContextMenu) {
return EditorUIController.ContextMenu.mapMenuItems(this);
@ -253,18 +253,20 @@ class ContextMenu extends ContextMenuController {
icon: 'icon-copy'
});
}
if (canViewComments && this.isComments && !isEdit) {
itemsText.push({
caption: _t.menuViewComment,
event: 'viewcomment'
});
}
if (!isChart && api.can_AddQuotedComment() !== false && canCoAuthoring && canComments && !locked) {
itemsText.push({
caption: _t.menuAddComment,
event: 'addcomment'
});
if(!isDisconnected) {
if (canViewComments && this.isComments && !isEdit) {
itemsText.push({
caption: _t.menuViewComment,
event: 'viewcomment'
});
}
if (!isChart && api.can_AddQuotedComment() !== false && canCoAuthoring && canComments && !locked) {
itemsText.push({
caption: _t.menuAddComment,
event: 'addcomment'
});
}
}
if (isLink) {

View file

@ -209,7 +209,7 @@ class ContextMenu extends ContextMenuController {
const { t } = this.props;
const _t = t("ContextMenu", { returnObjects: true });
const { isEdit } = this.props;
const { isEdit, isDisconnected } = this.props;
if (isEdit && EditorUIController.ContextMenu) {
return EditorUIController.ContextMenu.mapMenuItems(this);
@ -249,18 +249,20 @@ class ContextMenu extends ContextMenuController {
event: 'openlink'
});
}
if (canViewComments && hasComments && hasComments.length>0) {
itemsText.push({
caption: _t.menuViewComment,
event: 'viewcomment'
});
}
if (iscellmenu && !api.isCellEdited && canCoAuthoring && canComments && hasComments && hasComments.length<1) {
itemsText.push({
caption: _t.menuAddComment,
event: 'addcomment'
});
if(!isDisconnected) {
if (canViewComments && hasComments && hasComments.length>0) {
itemsText.push({
caption: _t.menuViewComment,
event: 'viewcomment'
});
}
if (iscellmenu && !api.isCellEdited && canCoAuthoring && canComments && hasComments && hasComments.length<1) {
itemsText.push({
caption: _t.menuAddComment,
event: 'addcomment'
});
}
}
return itemsIcon.concat(itemsText);

View file

@ -426,11 +426,16 @@ class MainController extends Component {
this.api.asc_registerCallback('asc_onActiveSheetChanged', this.onChangeProtectSheet.bind(this));
this.api.asc_registerCallback('asc_onRenameCellTextEnd', this.onRenameText.bind(this));
this.api.asc_registerCallback('asc_onEntriesListMenu', this.onEntriesListMenu.bind(this, false));
this.api.asc_registerCallback('asc_onValidationListMenu', this.onEntriesListMenu.bind(this, true));
}
onEntriesListMenu(validation, textArr, addArr) {
const storeAppOptions = this.props.storeAppOptions;
if (!storeAppOptions.isEdit && !storeAppOptions.isRestrictedEdit || this.props.users.isDisconnected) return;
const { t } = this.props;
const boxSdk = $$('#editor_sdk');