[DE] Fix Bug 40362, Bug 43365, Bug 42936

This commit is contained in:
Julia Radzhabova 2019-11-21 17:29:39 +03:00
parent b82812abd6
commit d433d525bb
3 changed files with 33 additions and 20 deletions

View file

@ -130,7 +130,8 @@ define([
in_header = false,
in_equation = false,
in_image = false,
in_table = false;
in_table = false,
frame_pr = null;
while (++i < selectedObjects.length) {
type = selectedObjects[i].get_ObjectType();
@ -138,6 +139,7 @@ define([
if (type === Asc.c_oAscTypeSelectElement.Paragraph) {
paragraph_locked = pr.get_Locked();
frame_pr = pr;
} else if (type === Asc.c_oAscTypeSelectElement.Header) {
header_locked = pr.get_Locked();
in_header = true;
@ -154,12 +156,19 @@ define([
var control_props = this.api.asc_IsContentControl() ? this.api.asc_GetContentControlProperties() : null,
control_plain = (control_props) ? (control_props.get_ContentControlType()==Asc.c_oAscSdtLevelType.Inline) : false;
var rich_del_lock = (frame_pr) ? !frame_pr.can_DeleteBlockContentControl() : true,
rich_edit_lock = (frame_pr) ? !frame_pr.can_EditBlockContentControl() : true,
plain_del_lock = (frame_pr) ? !frame_pr.can_DeleteInlineContentControl() : true,
plain_edit_lock = (frame_pr) ? !frame_pr.can_EditInlineContentControl() : true;
var need_disable = paragraph_locked || in_equation || in_image || in_header || control_plain;
var need_disable = paragraph_locked || in_equation || in_image || in_header || control_plain || rich_edit_lock || plain_edit_lock;
this.view.btnsNotes.setDisabled(need_disable);
need_disable = paragraph_locked || header_locked || in_header || control_plain;
this.view.btnBookmarks.setDisabled(need_disable);
need_disable = in_header || rich_edit_lock || plain_edit_lock || rich_del_lock || plain_del_lock;
this.view.btnsContents.setDisabled(need_disable);
},
onApiCanAddHyperlink: function(value) {

View file

@ -739,7 +739,11 @@ define([
if (sh)
this.onParagraphColor(sh);
var need_disable = paragraph_locked || header_locked;
var rich_del_lock = (frame_pr) ? !frame_pr.can_DeleteBlockContentControl() : true,
rich_edit_lock = (frame_pr) ? !frame_pr.can_EditBlockContentControl() : true,
plain_del_lock = (frame_pr) ? !frame_pr.can_DeleteInlineContentControl() : true,
plain_edit_lock = (frame_pr) ? !frame_pr.can_EditInlineContentControl() : true;
var need_disable = paragraph_locked || header_locked || rich_edit_lock || plain_edit_lock;
if (this._state.prcontrolsdisable != need_disable) {
if (this._state.activated) this._state.prcontrolsdisable = need_disable;
@ -753,16 +757,17 @@ define([
lock_type = (in_control&&control_props) ? control_props.get_Lock() : Asc.c_oAscSdtLockType.Unlocked,
control_plain = (in_control&&control_props) ? (control_props.get_ContentControlType()==Asc.c_oAscSdtLevelType.Inline) : false;
(lock_type===undefined) && (lock_type = Asc.c_oAscSdtLockType.Unlocked);
var content_locked = lock_type==Asc.c_oAscSdtLockType.SdtContentLocked || lock_type==Asc.c_oAscSdtLockType.ContentLocked;
if (!paragraph_locked && !header_locked) {
var control_disable = control_plain || lock_type==Asc.c_oAscSdtLockType.SdtContentLocked || lock_type==Asc.c_oAscSdtLockType.ContentLocked;
if (!need_disable) {
var control_disable = control_plain || content_locked;
for (var i=0; i<7; i++)
toolbar.btnContentControls.menu.items[i].setDisabled(control_disable);
toolbar.btnContentControls.menu.items[8].setDisabled(!in_control || lock_type==Asc.c_oAscSdtLockType.SdtContentLocked || lock_type==Asc.c_oAscSdtLockType.SdtLocked);
toolbar.btnContentControls.menu.items[8].setDisabled(!in_control || content_locked);
toolbar.btnContentControls.menu.items[10].setDisabled(!in_control);
}
var need_text_disable = paragraph_locked || header_locked || in_chart;
var need_text_disable = paragraph_locked || header_locked || in_chart || rich_edit_lock || plain_edit_lock;
if (this._state.textonlycontrolsdisable != need_text_disable) {
if (this._state.activated) this._state.textonlycontrolsdisable = need_text_disable;
if (!need_disable) {
@ -770,7 +775,7 @@ define([
item.setDisabled(need_text_disable);
}, this);
}
toolbar.btnCopyStyle.setDisabled(need_text_disable);
// toolbar.btnCopyStyle.setDisabled(need_text_disable);
toolbar.btnClearStyle.setDisabled(need_text_disable);
}
@ -796,22 +801,22 @@ define([
if ( !toolbar.btnDropCap.isDisabled() )
toolbar.mnuDropCapAdvanced.setDisabled(disable_dropcapadv);
need_disable = !can_add_table || header_locked || in_equation || control_plain;
need_disable = !can_add_table || header_locked || in_equation || control_plain || rich_edit_lock || plain_edit_lock || rich_del_lock || plain_del_lock;
toolbar.btnInsertTable.setDisabled(need_disable);
need_disable = toolbar.mnuPageNumCurrentPos.isDisabled() && toolbar.mnuPageNumberPosPicker.isDisabled() || control_plain;
toolbar.mnuInsertPageNum.setDisabled(need_disable);
var in_footnote = this.api.asc_IsCursorInFootnote();
need_disable = paragraph_locked || header_locked || in_header || in_image || in_equation && !btn_eq_state || in_footnote || in_control;
need_disable = paragraph_locked || header_locked || in_header || in_image || in_equation && !btn_eq_state || in_footnote || in_control || rich_edit_lock || plain_edit_lock || rich_del_lock;
toolbar.btnsPageBreak.setDisabled(need_disable);
toolbar.btnBlankPage.setDisabled(need_disable);
need_disable = paragraph_locked || header_locked || in_equation || control_plain;
need_disable = paragraph_locked || header_locked || in_equation || control_plain || content_locked;
toolbar.btnInsertShape.setDisabled(need_disable);
toolbar.btnInsertText.setDisabled(need_disable);
need_disable = paragraph_locked || header_locked || in_para && !can_add_image || in_equation || control_plain;
need_disable = paragraph_locked || header_locked || in_para && !can_add_image || in_equation || control_plain || rich_del_lock || plain_del_lock || content_locked;
toolbar.btnInsertImage.setDisabled(need_disable);
toolbar.btnInsertTextArt.setDisabled(need_disable || in_footnote);
@ -820,28 +825,28 @@ define([
this._state.in_chart = in_chart;
}
need_disable = in_chart && image_locked || !in_chart && need_disable || control_plain;
need_disable = in_chart && image_locked || !in_chart && need_disable || control_plain || rich_del_lock || plain_del_lock || content_locked;
toolbar.btnInsertChart.setDisabled(need_disable);
need_disable = paragraph_locked || header_locked || in_chart || !can_add_image&&!in_equation || control_plain;
need_disable = paragraph_locked || header_locked || in_chart || !can_add_image&&!in_equation || control_plain || rich_edit_lock || plain_edit_lock || rich_del_lock || plain_del_lock;
toolbar.btnInsertEquation.setDisabled(need_disable);
toolbar.btnInsertSymbol.setDisabled(!in_para || paragraph_locked || header_locked);
toolbar.btnInsertSymbol.setDisabled(!in_para || paragraph_locked || header_locked || rich_edit_lock || plain_edit_lock || rich_del_lock || plain_del_lock);
need_disable = paragraph_locked || header_locked || in_equation;
need_disable = paragraph_locked || header_locked || in_equation || rich_edit_lock || plain_edit_lock;
toolbar.btnSuperscript.setDisabled(need_disable);
toolbar.btnSubscript.setDisabled(need_disable);
toolbar.btnEditHeader.setDisabled(in_equation);
need_disable = paragraph_locked || header_locked || in_image || control_plain;
need_disable = paragraph_locked || header_locked || in_image || control_plain || rich_edit_lock || plain_edit_lock;
if (need_disable != toolbar.btnColumns.isDisabled())
toolbar.btnColumns.setDisabled(need_disable);
if (toolbar.listStylesAdditionalMenuItem && (frame_pr===undefined) !== toolbar.listStylesAdditionalMenuItem.isDisabled())
toolbar.listStylesAdditionalMenuItem.setDisabled(frame_pr===undefined);
need_disable = !this.api.can_AddQuotedComment() || paragraph_locked || header_locked || image_locked;
need_disable = !this.api.can_AddQuotedComment() || paragraph_locked || header_locked || image_locked || rich_del_lock || rich_edit_lock || plain_del_lock || plain_edit_lock;
if (this.mode.compatibleFeatures) {
need_disable = need_disable || in_image;
}

View file

@ -1955,8 +1955,7 @@ define([
this.btnMailRecepients.setVisible(mode.canCoAuthoring == true && mode.canUseMailMerge);
this.listStylesAdditionalMenuItem.setVisible(mode.canEditStyles);
this.btnContentControls.menu.items[4].setVisible(mode.canEditContentControl);
this.btnContentControls.menu.items[5].setVisible(mode.canEditContentControl);
this.btnContentControls.menu.items[10].setVisible(mode.canEditContentControl);
this.mnuInsertImage.items[2].setVisible(this.mode.canRequestInsertImage || this.mode.fileChoiceUrl && this.mode.fileChoiceUrl.indexOf("{documentType}")>-1);
},