[PE SSE] Add disables for smart arts (for buttons of change z-indexes, for context menu items)

This commit is contained in:
JuliaSvinareva 2021-11-09 21:22:00 +03:00
parent 3cbb1016b3
commit 31b58fd67d
6 changed files with 108 additions and 64 deletions

View file

@ -813,6 +813,11 @@ define([
if (this._state.in_smartart_internal !== in_smartart_internal) { if (this._state.in_smartart_internal !== in_smartart_internal) {
this.toolbar.lockToolbar(PE.enumLock.inSmartartInternal, in_smartart_internal, {array: me.toolbar.paragraphControls}); this.toolbar.lockToolbar(PE.enumLock.inSmartartInternal, in_smartart_internal, {array: me.toolbar.paragraphControls});
this._state.in_smartart_internal = in_smartart_internal; this._state.in_smartart_internal = in_smartart_internal;
this.toolbar.mnuArrangeFront.setDisabled(in_smartart_internal);
this.toolbar.mnuArrangeBack.setDisabled(in_smartart_internal);
this.toolbar.mnuArrangeForward.setDisabled(in_smartart_internal);
this.toolbar.mnuArrangeBackward.setDisabled(in_smartart_internal);
} }
}, },

View file

@ -2654,56 +2654,64 @@ define([
Common.component.Analytics.trackEvent('DocumentHolder', 'Ungroup Image'); Common.component.Analytics.trackEvent('DocumentHolder', 'Ungroup Image');
}); });
var mnuArrangeFront = new Common.UI.MenuItem({
caption : this.textArrangeFront,
iconCls : 'menu__icon arrange-front'
}).on('click', function(item) {
if (me.api) {
me.api.shapes_bringToFront();
}
me.fireEvent('editcomplete', me);
Common.component.Analytics.trackEvent('DocumentHolder', 'Bring To Front');
});
var mnuArrangeBack = new Common.UI.MenuItem({
caption : this.textArrangeBack,
iconCls : 'menu__icon arrange-back'
}).on('click', function(item) {
if (me.api) {
me.api.shapes_bringToBack();
}
me.fireEvent('editcomplete', me);
Common.component.Analytics.trackEvent('DocumentHolder', 'Bring To Back');
});
var mnuArrangeForward = new Common.UI.MenuItem({
caption : this.textArrangeForward,
iconCls : 'menu__icon arrange-forward'
}).on('click', function(item) {
if (me.api) {
me.api.shapes_bringForward();
}
me.fireEvent('editcomplete', me);
Common.component.Analytics.trackEvent('DocumentHolder', 'Send Forward');
});
var mnuArrangeBackward = new Common.UI.MenuItem({
caption : this.textArrangeBackward,
iconCls : 'menu__icon arrange-backward'
}).on('click', function(item) {
if (me.api) {
me.api.shapes_bringBackward();
}
me.fireEvent('editcomplete', me);
Common.component.Analytics.trackEvent('DocumentHolder', 'Send Backward');
});
var menuImgShapeArrange = new Common.UI.MenuItem({ var menuImgShapeArrange = new Common.UI.MenuItem({
caption : me.txtArrange, caption : me.txtArrange,
menu : new Common.UI.Menu({ menu : new Common.UI.Menu({
cls: 'shifted-right', cls: 'shifted-right',
menuAlign: 'tl-tr', menuAlign: 'tl-tr',
items: [ items: [
new Common.UI.MenuItem({ mnuArrangeFront,
caption : this.textArrangeFront, mnuArrangeBack,
iconCls : 'menu__icon arrange-front' mnuArrangeForward,
}).on('click', function(item) { mnuArrangeBackward,
if (me.api) {
me.api.shapes_bringToFront();
}
me.fireEvent('editcomplete', me);
Common.component.Analytics.trackEvent('DocumentHolder', 'Bring To Front');
}),
new Common.UI.MenuItem({
caption : this.textArrangeBack,
iconCls : 'menu__icon arrange-back'
}).on('click', function(item) {
if (me.api) {
me.api.shapes_bringToBack();
}
me.fireEvent('editcomplete', me);
Common.component.Analytics.trackEvent('DocumentHolder', 'Bring To Back');
}),
new Common.UI.MenuItem({
caption : this.textArrangeForward,
iconCls : 'menu__icon arrange-forward'
}).on('click', function(item) {
if (me.api) {
me.api.shapes_bringForward();
}
me.fireEvent('editcomplete', me);
Common.component.Analytics.trackEvent('DocumentHolder', 'Send Forward');
}),
new Common.UI.MenuItem({
caption : this.textArrangeBackward,
iconCls : 'menu__icon arrange-backward'
}).on('click', function(item) {
if (me.api) {
me.api.shapes_bringBackward();
}
me.fireEvent('editcomplete', me);
Common.component.Analytics.trackEvent('DocumentHolder', 'Send Backward');
}),
{caption: '--'}, {caption: '--'},
mnuGroupImg, mnuGroupImg,
mnuUnGroupImg mnuUnGroupImg
@ -3503,11 +3511,17 @@ define([
shapedisabled = (value.shapeProps!==undefined && value.shapeProps.locked), shapedisabled = (value.shapeProps!==undefined && value.shapeProps.locked),
chartdisabled = (value.chartProps!==undefined && value.chartProps.locked), chartdisabled = (value.chartProps!==undefined && value.chartProps.locked),
disabled = imgdisabled || shapedisabled || chartdisabled || (value.slideProps!==undefined && value.slideProps.locked), disabled = imgdisabled || shapedisabled || chartdisabled || (value.slideProps!==undefined && value.slideProps.locked),
pluginGuid = (value.imgProps) ? value.imgProps.value.asc_getPluginGuid() : null; pluginGuid = (value.imgProps) ? value.imgProps.value.asc_getPluginGuid() : null,
inSmartartInternal = value.shapeProps && value.shapeProps.value.get_FromSmartArtInternal();
mnuArrangeFront.setDisabled(inSmartartInternal);
mnuArrangeBack.setDisabled(inSmartartInternal);
mnuArrangeForward.setDisabled(inSmartartInternal);
mnuArrangeBackward.setDisabled(inSmartartInternal);
menuImgShapeRotate.setVisible(_.isUndefined(value.chartProps) && (pluginGuid===null || pluginGuid===undefined)); menuImgShapeRotate.setVisible(_.isUndefined(value.chartProps) && (pluginGuid===null || pluginGuid===undefined));
if (menuImgShapeRotate.isVisible()) if (menuImgShapeRotate.isVisible())
menuImgShapeRotate.setDisabled(disabled); menuImgShapeRotate.setDisabled(disabled || (value.shapeProps && value.shapeProps.value.get_FromSmartArt()));
// image properties // image properties
menuImgOriginalSize.setVisible(isimage); menuImgOriginalSize.setVisible(isimage);

View file

@ -597,7 +597,7 @@ define([
id: 'id-toolbar-btn-decoffset', id: 'id-toolbar-btn-decoffset',
cls: 'btn-toolbar', cls: 'btn-toolbar',
iconCls: 'toolbar__icon btn-decoffset', iconCls: 'toolbar__icon btn-decoffset',
lock: [_set.decIndentLock, _set.slideDeleted, _set.paragraphLock, _set.lostConnect, _set.noSlides, _set.noParagraphSelected, _set.inSmartart], lock: [_set.decIndentLock, _set.slideDeleted, _set.paragraphLock, _set.lostConnect, _set.noSlides, _set.noParagraphSelected, _set.inSmartart, _set.inSmartartInternal],
dataHint: '1', dataHint: '1',
dataHintDirection: 'top' dataHintDirection: 'top'
}); });
@ -607,7 +607,7 @@ define([
id: 'id-toolbar-btn-incoffset', id: 'id-toolbar-btn-incoffset',
cls: 'btn-toolbar', cls: 'btn-toolbar',
iconCls: 'toolbar__icon btn-incoffset', iconCls: 'toolbar__icon btn-incoffset',
lock: [_set.incIndentLock, _set.slideDeleted, _set.paragraphLock, _set.lostConnect, _set.noSlides, _set.noParagraphSelected, _set.inSmartart], lock: [_set.incIndentLock, _set.slideDeleted, _set.paragraphLock, _set.lostConnect, _set.noSlides, _set.noParagraphSelected, _set.inSmartart, _set.inSmartartInternal],
dataHint: '1', dataHint: '1',
dataHintDirection: 'top' dataHintDirection: 'top'
}); });
@ -925,26 +925,26 @@ define([
lock: [_set.slideDeleted, _set.lostConnect, _set.noSlides, _set.noObjectSelected, _set.disableOnStart], lock: [_set.slideDeleted, _set.lostConnect, _set.noSlides, _set.noObjectSelected, _set.disableOnStart],
menu: new Common.UI.Menu({ menu: new Common.UI.Menu({
items: [ items: [
{ me.mnuArrangeFront = new Common.UI.MenuItem({
caption: me.textArrangeFront, caption: me.textArrangeFront,
iconCls: 'menu__icon arrange-front', iconCls: 'menu__icon arrange-front',
value: 1 value: 1
}, }),
{ me.mnuArrangeBack = new Common.UI.MenuItem({
caption: me.textArrangeBack, caption: me.textArrangeBack,
iconCls: 'menu__icon arrange-back', iconCls: 'menu__icon arrange-back',
value: 2 value: 2
}, }),
{ me.mnuArrangeForward = new Common.UI.MenuItem({
caption: me.textArrangeForward, caption: me.textArrangeForward,
iconCls: 'menu__icon arrange-forward', iconCls: 'menu__icon arrange-forward',
value: 3 value: 3
}, }),
{ me.mnuArrangeBackward = new Common.UI.MenuItem({
caption: me.textArrangeBackward, caption: me.textArrangeBackward,
iconCls: 'menu__icon arrange-backward', iconCls: 'menu__icon arrange-backward',
value: 4 value: 4
}, }),
{caption: '--'}, {caption: '--'},
me.mnuGroupShapes = new Common.UI.MenuItem({ me.mnuGroupShapes = new Common.UI.MenuItem({
caption: me.txtGroup, caption: me.txtGroup,

View file

@ -1831,7 +1831,9 @@ define([
isObjLocked = false, isObjLocked = false,
commentsController = this.getApplication().getController('Common.Controllers.Comments'), commentsController = this.getApplication().getController('Common.Controllers.Comments'),
internaleditor = this.permissions.isEditMailMerge || this.permissions.isEditDiagram, internaleditor = this.permissions.isEditMailMerge || this.permissions.isEditDiagram,
xfs = cellinfo.asc_getXfs(); xfs = cellinfo.asc_getXfs(),
isSmartArt = false,
isSmartArtInternal = false;
switch (seltype) { switch (seltype) {
case Asc.c_oAscSelectionType.RangeCells: iscellmenu = true; break; case Asc.c_oAscSelectionType.RangeCells: iscellmenu = true; break;
@ -1871,6 +1873,10 @@ define([
else { else {
documentHolder.mnuShapeAdvanced.shapeInfo = elValue; documentHolder.mnuShapeAdvanced.shapeInfo = elValue;
isshapemenu = true; isshapemenu = true;
if (shapeprops.asc_getFromSmartArt())
isSmartArt = true;
if (shapeprops.asc_getFromSmartArtInternal())
isSmartArtInternal = true;
} }
} else if ( elValue.asc_getChartProperties() ) { } else if ( elValue.asc_getChartProperties() ) {
documentHolder.mnuChartEdit.chartInfo = elValue; documentHolder.mnuChartEdit.chartInfo = elValue;
@ -1888,6 +1894,11 @@ define([
} }
} }
documentHolder.mnuBringToFront.setDisabled(isSmartArtInternal);
documentHolder.mnuSendToBack.setDisabled(isSmartArtInternal);
documentHolder.mnuBringForward.setDisabled(isSmartArtInternal);
documentHolder.mnuSendBackward.setDisabled(isSmartArtInternal);
var cangroup = this.api.asc_canGroupGraphicsObjects(); var cangroup = this.api.asc_canGroupGraphicsObjects();
documentHolder.mnuUnGroupImg.setDisabled(isObjLocked || !this.api.asc_canUnGroupGraphicsObjects()); documentHolder.mnuUnGroupImg.setDisabled(isObjLocked || !this.api.asc_canUnGroupGraphicsObjects());
documentHolder.mnuGroupImg.setDisabled(isObjLocked || !cangroup); documentHolder.mnuGroupImg.setDisabled(isObjLocked || !cangroup);
@ -1919,7 +1930,7 @@ define([
documentHolder.menuImageArrange.setDisabled(isObjLocked); documentHolder.menuImageArrange.setDisabled(isObjLocked);
documentHolder.menuImgRotate.setVisible(!ischartmenu && (pluginGuid===null || pluginGuid===undefined) && !isslicermenu); documentHolder.menuImgRotate.setVisible(!ischartmenu && (pluginGuid===null || pluginGuid===undefined) && !isslicermenu);
documentHolder.menuImgRotate.setDisabled(isObjLocked); documentHolder.menuImgRotate.setDisabled(isObjLocked || isSmartArt);
documentHolder.menuImgCrop.setVisible(this.api.asc_canEditCrop()); documentHolder.menuImgCrop.setVisible(this.api.asc_canEditCrop());
documentHolder.menuImgCrop.setDisabled(isObjLocked); documentHolder.menuImgCrop.setDisabled(isObjLocked);
@ -1957,8 +1968,11 @@ define([
var value = selectedObjects[i].asc_getObjectValue(), var value = selectedObjects[i].asc_getObjectValue(),
align = value.asc_getVerticalTextAlign(), align = value.asc_getVerticalTextAlign(),
direct = value.asc_getVert(), direct = value.asc_getVert(),
listtype = this.api.asc_getCurrentListType(); listtype = this.api.asc_getCurrentListType(),
shapeProps = value ? value.asc_getShapeProperties() : null;
isObjLocked = isObjLocked || value.asc_getLocked(); isObjLocked = isObjLocked || value.asc_getLocked();
isSmartArt = shapeProps ? shapeProps.asc_getFromSmartArt() : false;
isSmartArtInternal = shapeProps ? shapeProps.asc_getFromSmartArtInternal() : false;
var cls = ''; var cls = '';
switch (align) { switch (align) {
case Asc.c_oAscVAlign.Top: case Asc.c_oAscVAlign.Top:
@ -2033,6 +2047,8 @@ define([
this.clearEquationMenu(4); this.clearEquationMenu(4);
if (showMenu) this.showPopupMenu(documentHolder.textInShapeMenu, {}, event); if (showMenu) this.showPopupMenu(documentHolder.textInShapeMenu, {}, event);
documentHolder.menuParagraphBullets.setDisabled(isSmartArt || isSmartArtInternal);
} else if (!this.permissions.isEditMailMerge && !this.permissions.isEditDiagram || (seltype !== Asc.c_oAscSelectionType.RangeImage && seltype !== Asc.c_oAscSelectionType.RangeShape && } else if (!this.permissions.isEditMailMerge && !this.permissions.isEditDiagram || (seltype !== Asc.c_oAscSelectionType.RangeImage && seltype !== Asc.c_oAscSelectionType.RangeShape &&
seltype !== Asc.c_oAscSelectionType.RangeChart && seltype !== Asc.c_oAscSelectionType.RangeChartText && seltype !== Asc.c_oAscSelectionType.RangeShapeText && seltype !== Asc.c_oAscSelectionType.RangeSlicer)) { seltype !== Asc.c_oAscSelectionType.RangeChart && seltype !== Asc.c_oAscSelectionType.RangeChartText && seltype !== Asc.c_oAscSelectionType.RangeShapeText && seltype !== Asc.c_oAscSelectionType.RangeSlicer)) {
if (!documentHolder.ssMenu || !showMenu && !documentHolder.ssMenu.isVisible()) return; if (!documentHolder.ssMenu || !showMenu && !documentHolder.ssMenu.isVisible()) return;

View file

@ -3457,7 +3457,8 @@ define([
is_image = seltype == Asc.c_oAscSelectionType.RangeImage, is_image = seltype == Asc.c_oAscSelectionType.RangeImage,
is_slicer = seltype == Asc.c_oAscSelectionType.RangeSlicer, is_slicer = seltype == Asc.c_oAscSelectionType.RangeSlicer,
is_mode_2 = is_shape_text || is_shape || is_chart_text || is_chart || is_slicer, is_mode_2 = is_shape_text || is_shape || is_chart_text || is_chart || is_slicer,
is_objLocked = false; is_objLocked = false,
is_smartart_internal = false;
if (!(is_mode_2 || is_image) && this._state.selection_type===seltype && this._state.coauthdisable===coauth_disable) return (seltype===Asc.c_oAscSelectionType.RangeImage); if (!(is_mode_2 || is_image) && this._state.selection_type===seltype && this._state.coauthdisable===coauth_disable) return (seltype===Asc.c_oAscSelectionType.RangeImage);
@ -3465,8 +3466,14 @@ define([
var SelectedObjects = this.api.asc_getGraphicObjectProps(); var SelectedObjects = this.api.asc_getGraphicObjectProps();
for (var i=0; i<SelectedObjects.length; ++i) for (var i=0; i<SelectedObjects.length; ++i)
{ {
if (SelectedObjects[i].asc_getObjectType() == Asc.c_oAscTypeSelectElement.Image) if (SelectedObjects[i].asc_getObjectType() == Asc.c_oAscTypeSelectElement.Image) {
is_objLocked = is_objLocked || SelectedObjects[i].asc_getObjectValue().asc_getLocked(); is_objLocked = is_objLocked || SelectedObjects[i].asc_getObjectValue().asc_getLocked();
var value = SelectedObjects[i].asc_getObjectValue(),
shapeProps = value ? value.asc_getShapeProperties() : null;
if (shapeProps) {
is_smartart_internal = shapeProps.asc_getFromSmartArtInternal();
}
}
} }
} }
@ -3498,6 +3505,7 @@ define([
toolbar.lockToolbar(SSE.enumLock.coAuthText, is_objLocked); toolbar.lockToolbar(SSE.enumLock.coAuthText, is_objLocked);
toolbar.lockToolbar(SSE.enumLock.coAuthText, is_objLocked && (seltype==Asc.c_oAscSelectionType.RangeChart || seltype==Asc.c_oAscSelectionType.RangeChartText), { array: [toolbar.btnInsertChart] } ); toolbar.lockToolbar(SSE.enumLock.coAuthText, is_objLocked && (seltype==Asc.c_oAscSelectionType.RangeChart || seltype==Asc.c_oAscSelectionType.RangeChartText), { array: [toolbar.btnInsertChart] } );
toolbar.lockToolbar(SSE.enumLock.inSmartartInternal, is_smartart_internal);
} }
this._state.controlsdisabled.filters = is_image || is_mode_2 || coauth_disable; this._state.controlsdisabled.filters = is_image || is_mode_2 || coauth_disable;

View file

@ -104,7 +104,8 @@ define([
itemsDisabled: 'all-items-disabled', itemsDisabled: 'all-items-disabled',
wsLockText: 'worksheet-lock-text', wsLockText: 'worksheet-lock-text',
wsLockShape: 'worksheet-lock-shape', wsLockShape: 'worksheet-lock-shape',
wsLockFormat: 'worksheet-lock-format' wsLockFormat: 'worksheet-lock-format',
inSmartartInternal: 'in-smartart-internal'
}; };
SSE.Views.Toolbar = Common.UI.Mixtbar.extend(_.extend({ SSE.Views.Toolbar = Common.UI.Mixtbar.extend(_.extend({
@ -1593,7 +1594,7 @@ define([
iconCls: 'toolbar__icon btn-img-frwd', iconCls: 'toolbar__icon btn-img-frwd',
caption: me.capImgForward, caption: me.capImgForward,
split: true, split: true,
lock : [_set.selRange, _set.selRangeEdit, _set.lostConnect, _set.coAuth, _set.coAuthText, _set["Objects"]], lock : [_set.selRange, _set.selRangeEdit, _set.lostConnect, _set.coAuth, _set.coAuthText, _set["Objects"], _set.inSmartartInternal],
menu: true, menu: true,
dataHint: '1', dataHint: '1',
dataHintDirection: 'bottom', dataHintDirection: 'bottom',
@ -1603,7 +1604,7 @@ define([
cls: 'btn-toolbar x-huge icon-top', cls: 'btn-toolbar x-huge icon-top',
iconCls: 'toolbar__icon btn-img-bkwd', iconCls: 'toolbar__icon btn-img-bkwd',
caption: me.capImgBackward, caption: me.capImgBackward,
lock : [_set.selRange, _set.selRangeEdit, _set.lostConnect, _set.coAuth, _set.coAuthText, _set["Objects"]], lock : [_set.selRange, _set.selRangeEdit, _set.lostConnect, _set.coAuth, _set.coAuthText, _set["Objects"], _set.inSmartartInternal],
split: true, split: true,
menu: true, menu: true,
dataHint: '1', dataHint: '1',