From d6920073de8bec050b8f23eb96f2a04659d04a50 Mon Sep 17 00:00:00 2001 From: JuliaSvinareva Date: Thu, 28 Oct 2021 21:21:49 +0300 Subject: [PATCH 1/5] [DE] Hide controls for smart arts in right panel --- .../main/app/template/ShapeSettings.template | 6 ++--- .../app/template/TextArtSettings.template | 6 ++--- .../main/app/view/ShapeSettings.js | 24 ++++++++++++++----- .../main/app/view/TextArtSettings.js | 16 ++++++++++++- 4 files changed, 39 insertions(+), 13 deletions(-) diff --git a/apps/documenteditor/main/app/template/ShapeSettings.template b/apps/documenteditor/main/app/template/ShapeSettings.template index 69c8f9757..4aa46c70e 100644 --- a/apps/documenteditor/main/app/template/ShapeSettings.template +++ b/apps/documenteditor/main/app/template/ShapeSettings.template @@ -142,17 +142,17 @@ - +
- + - + diff --git a/apps/documenteditor/main/app/template/TextArtSettings.template b/apps/documenteditor/main/app/template/TextArtSettings.template index 711f3e443..7ca7e0e6c 100644 --- a/apps/documenteditor/main/app/template/TextArtSettings.template +++ b/apps/documenteditor/main/app/template/TextArtSettings.template @@ -120,17 +120,17 @@ - + - + - + diff --git a/apps/documenteditor/main/app/view/ShapeSettings.js b/apps/documenteditor/main/app/view/ShapeSettings.js index c13aeed6d..dffc80ac4 100644 --- a/apps/documenteditor/main/app/view/ShapeSettings.js +++ b/apps/documenteditor/main/app/view/ShapeSettings.js @@ -102,7 +102,9 @@ define([ DisabledControls: false, HideShapeOnlySettings: false, HideChangeTypeSettings: false, - isFromImage: false + HideRotationSettings: false, + isFromImage: false, + isFromSmartArtInternal: false }; this.lockedControls = []; this._locked = false; @@ -144,6 +146,7 @@ define([ this.TransparencyContainer = $('#shape-panel-transparent-fill'); this.ShapeOnlySettings = $('.shape-only'); this.CanChangeType = $('.change-type'); + this.RotationSettings = $('.shape-rotation'); }, setApi: function(api) { @@ -804,16 +807,18 @@ define([ this.disableControls(this._locked, !shapeprops.get_CanFill()); this.hideShapeOnlySettings(shapeprops.get_FromChart() || shapeprops.get_FromImage()); + this.hideRotationSettings(shapeprops.get_FromSmartArt()); - var hidechangetype = shapeprops.get_FromChart() || shapetype=='line' || shapetype=='bentConnector2' || shapetype=='bentConnector3' + var hidechangetype = shapeprops.get_FromChart() || shapeprops.get_FromSmartArt() || shapetype=='line' || shapetype=='bentConnector2' || shapetype=='bentConnector3' || shapetype=='bentConnector4' || shapetype=='bentConnector5' || shapetype=='curvedConnector2' || shapetype=='curvedConnector3' || shapetype=='curvedConnector4' || shapetype=='curvedConnector5' || shapetype=='straightConnector1'; this.hideChangeTypeSettings(hidechangetype); this._state.isFromImage = !!shapeprops.get_FromImage(); + this._state.isFromSmartArtInternal = !!shapeprops.get_FromSmartArtInternal(); if (!hidechangetype && this.btnChangeShape.menu.items.length) { - this.btnChangeShape.menu.items[0].setVisible(shapeprops.get_FromImage()); - this.btnChangeShape.menu.items[1].setVisible(!shapeprops.get_FromImage()); + this.btnChangeShape.menu.items[0].setVisible(shapeprops.get_FromImage() || shapeprops.get_FromSmartArtInternal()); + this.btnChangeShape.menu.items[1].setVisible(!shapeprops.get_FromImage() && !shapeprops.get_FromSmartArtInternal()); } var value = props.get_WrappingStyle(); @@ -1845,8 +1850,8 @@ define([ me.btnChangeShape.menu.hide(); }); } - me.btnChangeShape.menu.items[0].setVisible(me._state.isFromImage); - me.btnChangeShape.menu.items[1].setVisible(!me._state.isFromImage); + me.btnChangeShape.menu.items[0].setVisible(me._state.isFromImage || me._state.isFromSmartArtInternal); + me.btnChangeShape.menu.items[1].setVisible(!me._state.isFromImage && !me._state.isFromSmartArtInternal); }, UpdateThemeColors: function() { @@ -1976,6 +1981,13 @@ define([ } }, + hideRotationSettings: function(value) { + if (this._state.HideRotationSettings !== value) { + this._state.HideRotationSettings = value; + this.RotationSettings.toggleClass('hidden', value==true); + } + }, + onPositionChange: function(btn) { var pos = btn.getNumberValue(), minValue = (this.GradColor.currentIdx-1<0) ? 0 : this.GradColor.values[this.GradColor.currentIdx-1], diff --git a/apps/documenteditor/main/app/view/TextArtSettings.js b/apps/documenteditor/main/app/view/TextArtSettings.js index d17adc1fa..5f8128e0a 100644 --- a/apps/documenteditor/main/app/view/TextArtSettings.js +++ b/apps/documenteditor/main/app/view/TextArtSettings.js @@ -90,7 +90,9 @@ define([ GradFillType: Asc.c_oAscFillGradType.GRAD_LINEAR, FormId: null, DisabledControls: false, - applicationPixelRatio: Common.Utils.applicationPixelRatio() + applicationPixelRatio: Common.Utils.applicationPixelRatio(), + isFromSmartArtInternal: false, + HideTransformSettings: false }; this.lockedControls = []; this._locked = false; @@ -123,6 +125,8 @@ define([ this.FillGradientContainer = $('#textart-panel-gradient-fill'); this.TransparencyContainer = $('#textart-panel-transparent-fill'); + this.TransformSettings = $('.textart-transform'); + $(window).on('resize', _.bind(this.onWindowResize, this)); }, @@ -547,6 +551,9 @@ define([ if (this._initSettings) this.createDelayedElements(); + this._state.isFromSmartArtInternal = props.get_ShapeProperties() && props.get_ShapeProperties().get_FromSmartArtInternal(); + this.hideTransformSettings(this._state.isFromSmartArtInternal); + if (props && props.get_ShapeProperties() && props.get_ShapeProperties().get_TextArtProperties()) { var shapeprops = props.get_ShapeProperties().get_TextArtProperties(); @@ -1344,6 +1351,13 @@ define([ this._state.applicationPixelRatio = Common.Utils.applicationPixelRatio(); }, + hideTransformSettings: function(value) { + if (this._state.HideTransformSettings !== value) { + this._state.HideTransformSettings = value; + this.TransformSettings.toggleClass('hidden', value === true); + } + }, + txtNoBorders : 'No Line', strStroke : 'Stroke', strColor : 'Color', From 598e20d97391387847dc309158fe0513199fd86a Mon Sep 17 00:00:00 2001 From: JuliaSvinareva Date: Sat, 30 Oct 2021 22:47:44 +0300 Subject: [PATCH 2/5] [DE PE SSE] Hide or disable controls for smart arts in right panel and advanced settings --- .../main/app/view/ImageSettingsAdvanced.js | 9 +++++++ .../main/app/template/ShapeSettings.template | 6 ++--- .../app/template/TextArtSettings.template | 6 ++--- .../main/app/view/ShapeSettings.js | 24 ++++++++++++++----- .../main/app/view/ShapeSettingsAdvanced.js | 12 +++++++++- .../main/app/view/TextArtSettings.js | 16 ++++++++++++- .../main/app/template/ShapeSettings.template | 6 ++--- .../app/template/TextArtSettings.template | 6 ++--- .../main/app/view/ShapeSettings.js | 24 ++++++++++++++----- .../main/app/view/ShapeSettingsAdvanced.js | 11 ++++++++- .../main/app/view/TextArtSettings.js | 16 ++++++++++++- 11 files changed, 108 insertions(+), 28 deletions(-) diff --git a/apps/documenteditor/main/app/view/ImageSettingsAdvanced.js b/apps/documenteditor/main/app/view/ImageSettingsAdvanced.js index 75278fe85..3ab49cfa5 100644 --- a/apps/documenteditor/main/app/view/ImageSettingsAdvanced.js +++ b/apps/documenteditor/main/app/view/ImageSettingsAdvanced.js @@ -1546,6 +1546,15 @@ define([ 'text!documenteditor/main/app/template/ImageSettingsAdvanced.templat _setShapeDefaults: function(props) { if (props ){ + if (props.get_FromSmartArt()) { + this.radioHSizePc.setDisabled(true); + this.radioVSizePc.setDisabled(true); + this.btnsCategory[2].setDisabled(true); + } + if (props.get_FromSmartArtInternal()) { + this.chAutofit.setDisabled(true); + } + var stroke = props.get_stroke(); if (stroke) { var value = stroke.get_linejoin(); diff --git a/apps/presentationeditor/main/app/template/ShapeSettings.template b/apps/presentationeditor/main/app/template/ShapeSettings.template index 1d24763b0..bc8a1ba44 100644 --- a/apps/presentationeditor/main/app/template/ShapeSettings.template +++ b/apps/presentationeditor/main/app/template/ShapeSettings.template @@ -142,17 +142,17 @@ - + - + - +
diff --git a/apps/presentationeditor/main/app/template/TextArtSettings.template b/apps/presentationeditor/main/app/template/TextArtSettings.template index d129cfd94..38d4e8846 100644 --- a/apps/presentationeditor/main/app/template/TextArtSettings.template +++ b/apps/presentationeditor/main/app/template/TextArtSettings.template @@ -160,17 +160,17 @@ - + - + - + diff --git a/apps/presentationeditor/main/app/view/ShapeSettings.js b/apps/presentationeditor/main/app/view/ShapeSettings.js index b8b7c8ec4..0f7589b5b 100644 --- a/apps/presentationeditor/main/app/view/ShapeSettings.js +++ b/apps/presentationeditor/main/app/view/ShapeSettings.js @@ -97,7 +97,9 @@ define([ DisabledControls: false, HideShapeOnlySettings: false, HideChangeTypeSettings: false, - isFromImage: false + HideRotationSettings: false, + isFromImage: false, + isFromSmartArtInternal: false }; this.lockedControls = []; this._locked = false; @@ -133,6 +135,7 @@ define([ this.TransparencyContainer = $('#shape-panel-transparent-fill'); this.ShapeOnlySettings = $('.shape-only'); this.CanChangeType = $('.change-type'); + this.RotationSettings = $('.shape-rotation'); }, render: function () { @@ -763,16 +766,18 @@ define([ this.disableControls(this._locked==true, props.get_CanFill() !== true); this.hideShapeOnlySettings(props.get_FromChart() || props.get_FromImage()); + this.hideRotationSettings(props.get_FromSmartArt()); - var hidechangetype = props.get_FromChart() || shapetype=='line' || shapetype=='bentConnector2' || shapetype=='bentConnector3' + var hidechangetype = props.get_FromChart() || props.get_FromSmartArt() || shapetype=='line' || shapetype=='bentConnector2' || shapetype=='bentConnector3' || shapetype=='bentConnector4' || shapetype=='bentConnector5' || shapetype=='curvedConnector2' || shapetype=='curvedConnector3' || shapetype=='curvedConnector4' || shapetype=='curvedConnector5' || shapetype=='straightConnector1'; this.hideChangeTypeSettings(hidechangetype); this._state.isFromImage = !!props.get_FromImage(); + this._state.isFromSmartArtInternal = !!props.get_FromSmartArtInternal(); if (!hidechangetype && this.btnChangeShape.menu.items.length) { - this.btnChangeShape.menu.items[0].setVisible(props.get_FromImage()); - this.btnChangeShape.menu.items[1].setVisible(!props.get_FromImage()); + this.btnChangeShape.menu.items[0].setVisible(props.get_FromImage() || props.get_FromSmartArtInternal()); + this.btnChangeShape.menu.items[1].setVisible(!props.get_FromImage() && !props.get_FromSmartArtInternal()); } // background colors @@ -1708,8 +1713,8 @@ define([ }); } - me.btnChangeShape.menu.items[0].setVisible(me._state.isFromImage); - me.btnChangeShape.menu.items[1].setVisible(!me._state.isFromImage); + me.btnChangeShape.menu.items[0].setVisible(me._state.isFromImage || me._state.isFromSmartArtInternal); + me.btnChangeShape.menu.items[1].setVisible(!me._state.isFromImage && !me._state.isFromSmartArtInternal); }, UpdateThemeColors: function() { @@ -1855,6 +1860,13 @@ define([ } }, + hideRotationSettings: function(value) { + if (this._state.HideRotationSettings !== value) { + this._state.HideRotationSettings = value; + this.RotationSettings.toggleClass('hidden', value==true); + } + }, + onPositionChange: function(btn) { var pos = btn.getNumberValue(), minValue = (this.GradColor.currentIdx-1<0) ? 0 : this.GradColor.values[this.GradColor.currentIdx-1], diff --git a/apps/presentationeditor/main/app/view/ShapeSettingsAdvanced.js b/apps/presentationeditor/main/app/view/ShapeSettingsAdvanced.js index 8023bba9e..388c8ef53 100644 --- a/apps/presentationeditor/main/app/view/ShapeSettingsAdvanced.js +++ b/apps/presentationeditor/main/app/view/ShapeSettingsAdvanced.js @@ -569,6 +569,15 @@ define([ 'text!presentationeditor/main/app/template/ShapeSettingsAdvanced.tem _setDefaults: function(props) { if (props ){ + if (props.get_FromSmartArt()) { + this.btnsCategory[1].setDisabled(true); + } + if (props.get_FromSmartArtInternal()) { + this.radioNofit.setDisabled(true); + this.radioShrink.setDisabled(true); + this.radioFit.setDisabled(true); + } + this.spnWidth.setValue(Common.Utils.Metric.fnRecalcFromMM(props.get_Width()).toFixed(2), true); this.spnHeight.setValue(Common.Utils.Metric.fnRecalcFromMM(props.get_Height()).toFixed(2), true); @@ -606,7 +615,8 @@ define([ 'text!presentationeditor/main/app/template/ShapeSettingsAdvanced.tem this.btnsCategory[3].setDisabled(null === margins); // Margins var shapetype = props.asc_getType(); - this.btnsCategory[4].setDisabled(shapetype=='line' || shapetype=='bentConnector2' || shapetype=='bentConnector3' + this.btnsCategory[4].setDisabled(props.get_FromSmartArtInternal() + || shapetype=='line' || shapetype=='bentConnector2' || shapetype=='bentConnector3' || shapetype=='bentConnector4' || shapetype=='bentConnector5' || shapetype=='curvedConnector2' || shapetype=='curvedConnector3' || shapetype=='curvedConnector4' || shapetype=='curvedConnector5' || shapetype=='straightConnector1'); diff --git a/apps/presentationeditor/main/app/view/TextArtSettings.js b/apps/presentationeditor/main/app/view/TextArtSettings.js index 0fc6a8569..611f8cbd8 100644 --- a/apps/presentationeditor/main/app/view/TextArtSettings.js +++ b/apps/presentationeditor/main/app/view/TextArtSettings.js @@ -94,7 +94,9 @@ define([ GradFillType: Asc.c_oAscFillGradType.GRAD_LINEAR, FormId: null, DisabledControls: false, - applicationPixelRatio: Common.Utils.applicationPixelRatio() + applicationPixelRatio: Common.Utils.applicationPixelRatio(), + isFromSmartArtInternal: false, + HideTransformSettings: false }; this.lockedControls = []; this._locked = false; @@ -125,6 +127,8 @@ define([ this.FillGradientContainer = $('#textart-panel-gradient-fill'); this.TransparencyContainer = $('#textart-panel-transparent-fill'); + this.TransformSettings = $('.textart-transform'); + PE.getCollection('Common.Collections.TextArt').bind({ reset: this.fillTextArt.bind(this) }); @@ -691,6 +695,9 @@ define([ if (this._initSettings) this.createDelayedElements(); + this._state.isFromSmartArtInternal = props.get_FromSmartArtInternal(); + this.hideTransformSettings(this._state.isFromSmartArtInternal); + if (props && props.get_TextArtProperties()) { var shapeprops = props.get_TextArtProperties(); @@ -1788,6 +1795,13 @@ define([ this._state.applicationPixelRatio = Common.Utils.applicationPixelRatio(); }, + hideTransformSettings: function(value) { + if (this._state.HideTransformSettings !== value) { + this._state.HideTransformSettings = value; + this.TransformSettings.toggleClass('hidden', value === true); + } + }, + txtNoBorders : 'No Line', strStroke : 'Stroke', strColor : 'Color', diff --git a/apps/spreadsheeteditor/main/app/template/ShapeSettings.template b/apps/spreadsheeteditor/main/app/template/ShapeSettings.template index 1d24763b0..bc8a1ba44 100644 --- a/apps/spreadsheeteditor/main/app/template/ShapeSettings.template +++ b/apps/spreadsheeteditor/main/app/template/ShapeSettings.template @@ -142,17 +142,17 @@ - + - + - +
diff --git a/apps/spreadsheeteditor/main/app/template/TextArtSettings.template b/apps/spreadsheeteditor/main/app/template/TextArtSettings.template index d129cfd94..38d4e8846 100644 --- a/apps/spreadsheeteditor/main/app/template/TextArtSettings.template +++ b/apps/spreadsheeteditor/main/app/template/TextArtSettings.template @@ -160,17 +160,17 @@ - + - + - + diff --git a/apps/spreadsheeteditor/main/app/view/ShapeSettings.js b/apps/spreadsheeteditor/main/app/view/ShapeSettings.js index c32067a35..d30d74bf9 100644 --- a/apps/spreadsheeteditor/main/app/view/ShapeSettings.js +++ b/apps/spreadsheeteditor/main/app/view/ShapeSettings.js @@ -98,7 +98,9 @@ define([ DisabledControls: false, HideShapeOnlySettings: false, HideChangeTypeSettings: false, - isFromImage: false + HideRotationSettings: false, + isFromImage: false, + isFromSmartArtInternal: false }; this.lockedControls = []; this._locked = false; @@ -134,6 +136,7 @@ define([ this.TransparencyContainer = $('#shape-panel-transparent-fill'); this.ShapeOnlySettings = $('.shape-only'); this.CanChangeType = $('.change-type'); + this.RotationSettings = $('.shape-rotation'); }, render: function () { @@ -759,16 +762,18 @@ define([ this.disableControls(this._locked, !shapeprops.asc_getCanFill()); this.hideShapeOnlySettings(shapeprops.asc_getFromChart() || shapeprops.asc_getFromImage()); + this.hideRotationSettings(shapeprops.asc_getFromSmartArt()); - var hidechangetype = shapeprops.get_FromChart() || shapetype=='line' || shapetype=='bentConnector2' || shapetype=='bentConnector3' + var hidechangetype = shapeprops.get_FromChart() || shapeprops.asc_getFromSmartArt() || shapetype=='line' || shapetype=='bentConnector2' || shapetype=='bentConnector3' || shapetype=='bentConnector4' || shapetype=='bentConnector5' || shapetype=='curvedConnector2' || shapetype=='curvedConnector3' || shapetype=='curvedConnector4' || shapetype=='curvedConnector5' || shapetype=='straightConnector1'; this.hideChangeTypeSettings(hidechangetype); this._state.isFromImage = !!shapeprops.get_FromImage(); + this._state.isFromSmartArtInternal = !!shapeprops.asc_getFromSmartArtInternal(); if (!hidechangetype && this.btnChangeShape.menu.items.length) { - this.btnChangeShape.menu.items[0].setVisible(shapeprops.get_FromImage()); - this.btnChangeShape.menu.items[1].setVisible(!shapeprops.get_FromImage()); + this.btnChangeShape.menu.items[0].setVisible(shapeprops.get_FromImage() || shapeprops.asc_getFromSmartArtInternal()); + this.btnChangeShape.menu.items[1].setVisible(!shapeprops.get_FromImage() && !shapeprops.asc_getFromSmartArtInternal()); } // background colors @@ -1715,8 +1720,8 @@ define([ me.btnChangeShape.menu.hide(); }); } - me.btnChangeShape.menu.items[0].setVisible(me._state.isFromImage); - me.btnChangeShape.menu.items[1].setVisible(!me._state.isFromImage); + me.btnChangeShape.menu.items[0].setVisible(me._state.isFromImage || me._state.isFromSmartArtInternal); + me.btnChangeShape.menu.items[1].setVisible(!me._state.isFromImage && !me._state.isFromSmartArtInternal); }, onBtnRotateClick: function(btn) { @@ -1874,6 +1879,13 @@ define([ } }, + hideRotationSettings: function(value) { + if (this._state.HideRotationSettings !== value) { + this._state.HideRotationSettings = value; + this.RotationSettings.toggleClass('hidden', value==true); + } + }, + onPositionChange: function(btn) { var pos = btn.getNumberValue(), minValue = (this.GradColor.currentIdx-1<0) ? 0 : this.GradColor.values[this.GradColor.currentIdx-1], diff --git a/apps/spreadsheeteditor/main/app/view/ShapeSettingsAdvanced.js b/apps/spreadsheeteditor/main/app/view/ShapeSettingsAdvanced.js index 566045676..ddb8ffd01 100644 --- a/apps/spreadsheeteditor/main/app/view/ShapeSettingsAdvanced.js +++ b/apps/spreadsheeteditor/main/app/view/ShapeSettingsAdvanced.js @@ -629,6 +629,14 @@ define([ 'text!spreadsheeteditor/main/app/template/ShapeSettingsAdvanced.temp if (props && props.asc_getShapeProperties()){ var shapeprops = props.asc_getShapeProperties(); + if (shapeprops.asc_getFromSmartArt()) { + this.btnsCategory[1].setDisabled(true); + } + if (shapeprops.asc_getFromSmartArtInternal()) { + this.chAutofit.setDisabled(true); + this.chOverflow.setDisabled(true); + } + this.spnWidth.setValue(Common.Utils.Metric.fnRecalcFromMM(props.asc_getWidth()).toFixed(2), true); this.spnHeight.setValue(Common.Utils.Metric.fnRecalcFromMM(props.asc_getHeight()).toFixed(2), true); @@ -657,7 +665,8 @@ define([ 'text!spreadsheeteditor/main/app/template/ShapeSettingsAdvanced.temp this.chOverflow.setValue(shapeprops.asc_getVertOverflowType()==AscFormat.nOTOwerflow); var shapetype = shapeprops.asc_getType(); - this.btnsCategory[4].setDisabled(shapetype=='line' || shapetype=='bentConnector2' || shapetype=='bentConnector3' + this.btnsCategory[4].setDisabled(shapeprops.asc_getFromSmartArtInternal() + || shapetype=='line' || shapetype=='bentConnector2' || shapetype=='bentConnector3' || shapetype=='bentConnector4' || shapetype=='bentConnector5' || shapetype=='curvedConnector2' || shapetype=='curvedConnector3' || shapetype=='curvedConnector4' || shapetype=='curvedConnector5' || shapetype=='straightConnector1'); diff --git a/apps/spreadsheeteditor/main/app/view/TextArtSettings.js b/apps/spreadsheeteditor/main/app/view/TextArtSettings.js index c91b60d53..87d413834 100644 --- a/apps/spreadsheeteditor/main/app/view/TextArtSettings.js +++ b/apps/spreadsheeteditor/main/app/view/TextArtSettings.js @@ -95,7 +95,9 @@ define([ GradFillType: Asc.c_oAscFillGradType.GRAD_LINEAR, FormId: null, DisabledControls: false, - applicationPixelRatio: Common.Utils.applicationPixelRatio() + applicationPixelRatio: Common.Utils.applicationPixelRatio(), + isFromSmartArtInternal: false, + HideTransformSettings: false }; this.lockedControls = []; this._locked = false; @@ -126,6 +128,8 @@ define([ this.FillGradientContainer = $('#textart-panel-gradient-fill'); this.TransparencyContainer = $('#textart-panel-transparent-fill'); + this.TransformSettings = $('.textart-transform'); + SSE.getCollection('Common.Collections.TextArt').bind({ reset: this.fillTextArt.bind(this) }); @@ -694,6 +698,9 @@ define([ if (this._initSettings) this.createDelayedElements(); + this._state.isFromSmartArtInternal = props.asc_getShapeProperties() && props.asc_getShapeProperties().asc_getFromSmartArtInternal(); + this.hideTransformSettings(this._state.isFromSmartArtInternal); + if (props && props.asc_getShapeProperties() && props.asc_getShapeProperties().get_TextArtProperties()) { var shapeprops = props.asc_getShapeProperties().get_TextArtProperties(); @@ -1791,6 +1798,13 @@ define([ this._state.applicationPixelRatio = Common.Utils.applicationPixelRatio(); }, + hideTransformSettings: function(value) { + if (this._state.HideTransformSettings !== value) { + this._state.HideTransformSettings = value; + this.TransformSettings.toggleClass('hidden', value === true); + } + }, + txtNoBorders : 'No Line', strStroke : 'Stroke', strColor : 'Color', From 3cbb1016b3d98b2386f403cb71f3562593765548 Mon Sep 17 00:00:00 2001 From: JuliaSvinareva Date: Mon, 1 Nov 2021 19:50:22 +0300 Subject: [PATCH 3/5] [PE] Disable controls for smart arts in toolbar --- .../main/app/controller/Toolbar.js | 18 +++++++++++++++++- .../main/app/view/Toolbar.js | 14 ++++++++------ 2 files changed, 25 insertions(+), 7 deletions(-) diff --git a/apps/presentationeditor/main/app/controller/Toolbar.js b/apps/presentationeditor/main/app/controller/Toolbar.js index 973f47519..b24ce66d3 100644 --- a/apps/presentationeditor/main/app/controller/Toolbar.js +++ b/apps/presentationeditor/main/app/controller/Toolbar.js @@ -696,7 +696,9 @@ define([ in_equation = false, in_chart = false, layout_index = -1, - no_columns = false; + no_columns = false, + in_smartart = false, + in_smartart_internal = false; while (++i < selectedObjects.length) { type = selectedObjects[i].get_ObjectType(); @@ -731,6 +733,10 @@ define([ || shapetype=='curvedConnector3' || shapetype=='curvedConnector4' || shapetype=='curvedConnector5' || shapetype=='straightConnector1') no_columns = true; + if (pr.get_FromSmartArt()) + in_smartart = true; + if (pr.get_FromSmartArtInternal()) + in_smartart_internal = true; } if (type == Asc.c_oAscTypeSelectElement.Image || type == Asc.c_oAscTypeSelectElement.Table) no_columns = true; @@ -798,6 +804,16 @@ define([ else this.toolbar.btnChangeSlide.mnuSlidePicker = {options: {layout_index: layout_index}}; } + + if (this._state.in_smartart !== in_smartart) { + this.toolbar.lockToolbar(PE.enumLock.inSmartart, in_smartart, {array: me.toolbar.paragraphControls}); + this._state.in_smartart = in_smartart; + } + + if (this._state.in_smartart_internal !== in_smartart_internal) { + this.toolbar.lockToolbar(PE.enumLock.inSmartartInternal, in_smartart_internal, {array: me.toolbar.paragraphControls}); + this._state.in_smartart_internal = in_smartart_internal; + } }, onApiStyleChange: function(v) { diff --git a/apps/presentationeditor/main/app/view/Toolbar.js b/apps/presentationeditor/main/app/view/Toolbar.js index ca034b008..c0822a2f3 100644 --- a/apps/presentationeditor/main/app/view/Toolbar.js +++ b/apps/presentationeditor/main/app/view/Toolbar.js @@ -84,7 +84,9 @@ define([ inEquation: 'in-equation', commentLock: 'can-comment', noColumns: 'no-columns', - transitLock: 'transit-lock' + transitLock: 'transit-lock', + inSmartart: 'in-smartart', + inSmartartInternal: 'in-smartart-internal' }; PE.Views.Toolbar = Common.UI.Mixtbar.extend(_.extend((function(){ @@ -376,7 +378,7 @@ define([ enableToggle: true, allowDepress: true, split: true, - lock: [_set.slideDeleted, _set.paragraphLock, _set.lostConnect, _set.noSlides, _set.noTextSelected, _set.shapeLock], + lock: [_set.slideDeleted, _set.paragraphLock, _set.lostConnect, _set.noSlides, _set.noTextSelected, _set.shapeLock, _set.inSmartart, _set.inSmartartInternal], menu: new Common.UI.Menu({ style: 'min-width: 100px;', items: [ @@ -453,7 +455,7 @@ define([ id: 'id-toolbar-btn-markers', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-setmarkers', - lock: [_set.slideDeleted, _set.paragraphLock, _set.lostConnect, _set.noSlides, _set.noParagraphSelected], + lock: [_set.slideDeleted, _set.paragraphLock, _set.lostConnect, _set.noSlides, _set.noParagraphSelected, _set.inSmartart, _set.inSmartartInternal], enableToggle: true, toggleGroup: 'markersGroup', split: true, @@ -468,7 +470,7 @@ define([ id: 'id-toolbar-btn-numbering', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-numbering', - lock: [_set.slideDeleted, _set.paragraphLock, _set.lostConnect, _set.noSlides, _set.noParagraphSelected], + lock: [_set.slideDeleted, _set.paragraphLock, _set.lostConnect, _set.noSlides, _set.noParagraphSelected, _set.inSmartart, _set.inSmartartInternal], enableToggle: true, toggleGroup: 'markersGroup', split: true, @@ -595,7 +597,7 @@ define([ id: 'id-toolbar-btn-decoffset', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-decoffset', - lock: [_set.decIndentLock, _set.slideDeleted, _set.paragraphLock, _set.lostConnect, _set.noSlides, _set.noParagraphSelected], + lock: [_set.decIndentLock, _set.slideDeleted, _set.paragraphLock, _set.lostConnect, _set.noSlides, _set.noParagraphSelected, _set.inSmartart], dataHint: '1', dataHintDirection: 'top' }); @@ -605,7 +607,7 @@ define([ id: 'id-toolbar-btn-incoffset', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-incoffset', - lock: [_set.incIndentLock, _set.slideDeleted, _set.paragraphLock, _set.lostConnect, _set.noSlides, _set.noParagraphSelected], + lock: [_set.incIndentLock, _set.slideDeleted, _set.paragraphLock, _set.lostConnect, _set.noSlides, _set.noParagraphSelected, _set.inSmartart], dataHint: '1', dataHintDirection: 'top' }); From 31b58fd67dfeff6ad0f2a672193f03eb562dc00b Mon Sep 17 00:00:00 2001 From: JuliaSvinareva Date: Tue, 9 Nov 2021 21:22:00 +0300 Subject: [PATCH 4/5] [PE SSE] Add disables for smart arts (for buttons of change z-indexes, for context menu items) --- .../main/app/controller/Toolbar.js | 5 + .../main/app/view/DocumentHolder.js | 106 ++++++++++-------- .../main/app/view/Toolbar.js | 20 ++-- .../main/app/controller/DocumentHolder.js | 22 +++- .../main/app/controller/Toolbar.js | 12 +- .../main/app/view/Toolbar.js | 7 +- 6 files changed, 108 insertions(+), 64 deletions(-) diff --git a/apps/presentationeditor/main/app/controller/Toolbar.js b/apps/presentationeditor/main/app/controller/Toolbar.js index b24ce66d3..259b27c33 100644 --- a/apps/presentationeditor/main/app/controller/Toolbar.js +++ b/apps/presentationeditor/main/app/controller/Toolbar.js @@ -813,6 +813,11 @@ define([ if (this._state.in_smartart_internal !== in_smartart_internal) { this.toolbar.lockToolbar(PE.enumLock.inSmartartInternal, in_smartart_internal, {array: me.toolbar.paragraphControls}); 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); } }, diff --git a/apps/presentationeditor/main/app/view/DocumentHolder.js b/apps/presentationeditor/main/app/view/DocumentHolder.js index 3b7142a96..dd6c23309 100644 --- a/apps/presentationeditor/main/app/view/DocumentHolder.js +++ b/apps/presentationeditor/main/app/view/DocumentHolder.js @@ -2654,56 +2654,64 @@ define([ 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({ caption : me.txtArrange, menu : new Common.UI.Menu({ cls: 'shifted-right', menuAlign: 'tl-tr', items: [ - 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'); - }), - 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'); - }), + mnuArrangeFront, + mnuArrangeBack, + mnuArrangeForward, + mnuArrangeBackward, {caption: '--'}, mnuGroupImg, mnuUnGroupImg @@ -3503,11 +3511,17 @@ define([ shapedisabled = (value.shapeProps!==undefined && value.shapeProps.locked), chartdisabled = (value.chartProps!==undefined && value.chartProps.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)); if (menuImgShapeRotate.isVisible()) - menuImgShapeRotate.setDisabled(disabled); + menuImgShapeRotate.setDisabled(disabled || (value.shapeProps && value.shapeProps.value.get_FromSmartArt())); // image properties menuImgOriginalSize.setVisible(isimage); diff --git a/apps/presentationeditor/main/app/view/Toolbar.js b/apps/presentationeditor/main/app/view/Toolbar.js index c0822a2f3..fcc338dab 100644 --- a/apps/presentationeditor/main/app/view/Toolbar.js +++ b/apps/presentationeditor/main/app/view/Toolbar.js @@ -597,7 +597,7 @@ define([ id: 'id-toolbar-btn-decoffset', cls: 'btn-toolbar', 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', dataHintDirection: 'top' }); @@ -607,7 +607,7 @@ define([ id: 'id-toolbar-btn-incoffset', cls: 'btn-toolbar', 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', dataHintDirection: 'top' }); @@ -925,26 +925,26 @@ define([ lock: [_set.slideDeleted, _set.lostConnect, _set.noSlides, _set.noObjectSelected, _set.disableOnStart], menu: new Common.UI.Menu({ items: [ - { + me.mnuArrangeFront = new Common.UI.MenuItem({ caption: me.textArrangeFront, iconCls: 'menu__icon arrange-front', value: 1 - }, - { + }), + me.mnuArrangeBack = new Common.UI.MenuItem({ caption: me.textArrangeBack, iconCls: 'menu__icon arrange-back', value: 2 - }, - { + }), + me.mnuArrangeForward = new Common.UI.MenuItem({ caption: me.textArrangeForward, iconCls: 'menu__icon arrange-forward', value: 3 - }, - { + }), + me.mnuArrangeBackward = new Common.UI.MenuItem({ caption: me.textArrangeBackward, iconCls: 'menu__icon arrange-backward', value: 4 - }, + }), {caption: '--'}, me.mnuGroupShapes = new Common.UI.MenuItem({ caption: me.txtGroup, diff --git a/apps/spreadsheeteditor/main/app/controller/DocumentHolder.js b/apps/spreadsheeteditor/main/app/controller/DocumentHolder.js index 77a596703..824c6b102 100644 --- a/apps/spreadsheeteditor/main/app/controller/DocumentHolder.js +++ b/apps/spreadsheeteditor/main/app/controller/DocumentHolder.js @@ -1831,7 +1831,9 @@ define([ isObjLocked = false, commentsController = this.getApplication().getController('Common.Controllers.Comments'), internaleditor = this.permissions.isEditMailMerge || this.permissions.isEditDiagram, - xfs = cellinfo.asc_getXfs(); + xfs = cellinfo.asc_getXfs(), + isSmartArt = false, + isSmartArtInternal = false; switch (seltype) { case Asc.c_oAscSelectionType.RangeCells: iscellmenu = true; break; @@ -1871,6 +1873,10 @@ define([ else { documentHolder.mnuShapeAdvanced.shapeInfo = elValue; isshapemenu = true; + if (shapeprops.asc_getFromSmartArt()) + isSmartArt = true; + if (shapeprops.asc_getFromSmartArtInternal()) + isSmartArtInternal = true; } } else if ( elValue.asc_getChartProperties() ) { 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(); documentHolder.mnuUnGroupImg.setDisabled(isObjLocked || !this.api.asc_canUnGroupGraphicsObjects()); documentHolder.mnuGroupImg.setDisabled(isObjLocked || !cangroup); @@ -1919,7 +1930,7 @@ define([ documentHolder.menuImageArrange.setDisabled(isObjLocked); 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.setDisabled(isObjLocked); @@ -1957,8 +1968,11 @@ define([ var value = selectedObjects[i].asc_getObjectValue(), align = value.asc_getVerticalTextAlign(), 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(); + isSmartArt = shapeProps ? shapeProps.asc_getFromSmartArt() : false; + isSmartArtInternal = shapeProps ? shapeProps.asc_getFromSmartArtInternal() : false; var cls = ''; switch (align) { case Asc.c_oAscVAlign.Top: @@ -2033,6 +2047,8 @@ define([ this.clearEquationMenu(4); 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 && 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; diff --git a/apps/spreadsheeteditor/main/app/controller/Toolbar.js b/apps/spreadsheeteditor/main/app/controller/Toolbar.js index 9b29a6259..0e1080b31 100644 --- a/apps/spreadsheeteditor/main/app/controller/Toolbar.js +++ b/apps/spreadsheeteditor/main/app/controller/Toolbar.js @@ -3457,7 +3457,8 @@ define([ is_image = seltype == Asc.c_oAscSelectionType.RangeImage, is_slicer = seltype == Asc.c_oAscSelectionType.RangeSlicer, 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); @@ -3465,8 +3466,14 @@ define([ var SelectedObjects = this.api.asc_getGraphicObjectProps(); for (var i=0; i Date: Tue, 9 Nov 2021 22:05:54 +0300 Subject: [PATCH 5/5] [DE] Add disables for smart arts in context menu --- .../main/app/view/DocumentHolder.js | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/apps/documenteditor/main/app/view/DocumentHolder.js b/apps/documenteditor/main/app/view/DocumentHolder.js index 296401d4c..15c092237 100644 --- a/apps/documenteditor/main/app/view/DocumentHolder.js +++ b/apps/documenteditor/main/app/view/DocumentHolder.js @@ -143,8 +143,13 @@ define([ menu_props.imgProps.isChart = true; else if (shapeprops.get_FromImage()) menu_props.imgProps.isOnlyImg = true; - else + else { + if (shapeprops.get_FromSmartArt()) + menu_props.imgProps.isSmartArt = true; + if (shapeprops.get_FromSmartArtInternal()) + menu_props.imgProps.isSmartArtInternal = true; menu_props.imgProps.isShape = true; + } } else if ( chartprops ) menu_props.imgProps.isChart = true; else @@ -2683,7 +2688,7 @@ define([ menuImgRotate.setVisible(!value.imgProps.isChart && (pluginGuid===null || pluginGuid===undefined)); if (menuImgRotate.isVisible()) - menuImgRotate.setDisabled(islocked); + menuImgRotate.setDisabled(islocked || value.imgProps.isSmartArt); me.menuImgCrop.setVisible(me.api.asc_canEditCrop()); if (me.menuImgCrop.isVisible()) @@ -2703,7 +2708,12 @@ define([ menuImageAlign.menu.items[7].setDisabled(objcount==2 && (!alignto || alignto==3)); menuImageAlign.menu.items[8].setDisabled(objcount==2 && (!alignto || alignto==3)); } - menuImageArrange.setDisabled( (wrapping == Asc.c_oAscWrapStyle2.Inline) && !value.imgProps.value.get_FromGroup() || content_locked); + menuImageArrange.setDisabled( (wrapping == Asc.c_oAscWrapStyle2.Inline) && !value.imgProps.value.get_FromGroup() || content_locked || + (me.api && !me.api.CanUnGroup() && !me.api.CanGroup() && value.imgProps.isSmartArtInternal)); + menuImageArrange.menu.items[0].setDisabled(value.imgProps.isSmartArtInternal); + menuImageArrange.menu.items[1].setDisabled(value.imgProps.isSmartArtInternal); + menuImageArrange.menu.items[2].setDisabled(value.imgProps.isSmartArtInternal); + menuImageArrange.menu.items[3].setDisabled(value.imgProps.isSmartArtInternal); if (me.api) { mnuUnGroup.setDisabled(islocked || !me.api.CanUnGroup());