Merge pull request #1298 from ONLYOFFICE/feature/disables-for-smart-arts

Feature/disables for smart arts
This commit is contained in:
Julia Radzhabova 2021-11-10 12:23:07 +03:00 committed by GitHub
commit 3bf59d16e9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
22 changed files with 291 additions and 113 deletions

View file

@ -142,17 +142,17 @@
</div>
</td>
</tr>
<tr class="shape-only">
<tr class="shape-only shape-rotation">
<td class="padding-small">
<div class="separator horizontal"></div>
</td>
</tr>
<tr class="shape-only">
<tr class="shape-only shape-rotation">
<td class="padding-small">
<label class="header"><%= scope.textRotation %></label>
</td>
</tr>
<tr class="shape-only">
<tr class="shape-only shape-rotation">
<td>
<table cols="2" style="width: 100%;">
<tr>

View file

@ -120,17 +120,17 @@
</div>
</td>
</tr>
<tr>
<tr class="textart-transform">
<td class="padding-small">
<div class="separator horizontal"></div>
</td>
</tr>
<tr>
<tr class="textart-transform">
<td>
<label class="header"><%= scope.textTransform %></label>
</td>
</tr>
<tr>
<tr class="textart-transform">
<td class="padding-small">
<div class="" id="textart-combo-transform" style="width: 100%; height: 42px;"></div>
</td>

View file

@ -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
@ -2693,7 +2698,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())
@ -2713,7 +2718,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());

View file

@ -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();

View file

@ -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],

View file

@ -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',

View file

@ -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,21 @@ 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;
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);
}
},
onApiStyleChange: function(v) {

View file

@ -142,17 +142,17 @@
</div>
</td>
</tr>
<tr class="shape-only">
<tr class="shape-only shape-rotation">
<td class="padding-small">
<div class="separator horizontal"></div>
</td>
</tr>
<tr class="shape-only">
<tr class="shape-only shape-rotation">
<td class="padding-small">
<label class="header"><%= scope.textRotation %></label>
</td>
</tr>
<tr class="shape-only">
<tr class="shape-only shape-rotation">
<td>
<table cols="2" style="width: 100%;">
<tr>

View file

@ -160,17 +160,17 @@
</div>
</td>
</tr>
<tr>
<tr class="textart-transform">
<td class="padding-small">
<div class="separator horizontal"></div>
</td>
</tr>
<tr>
<tr class="textart-transform">
<td>
<label class="header"><%= scope.textTransform %></label>
</td>
</tr>
<tr>
<tr class="textart-transform">
<td class="padding-small">
<div class="" id="textart-combo-transform" style="width: 100%; height: 42px;"></div>
</td>

View file

@ -2699,56 +2699,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
@ -3548,11 +3556,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);

View file

@ -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],

View file

@ -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');

View file

@ -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',

View file

@ -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, _set.inSmartartInternal],
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, _set.inSmartartInternal],
dataHint: '1',
dataHintDirection: 'top'
});
@ -923,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,

View file

@ -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;

View file

@ -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<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();
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 && (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;

View file

@ -142,17 +142,17 @@
</div>
</td>
</tr>
<tr class="shape-only">
<tr class="shape-only shape-rotation">
<td class="padding-small">
<div class="separator horizontal"></div>
</td>
</tr>
<tr class="shape-only">
<tr class="shape-only shape-rotation">
<td class="padding-small">
<label class="header"><%= scope.textRotation %></label>
</td>
</tr>
<tr class="shape-only">
<tr class="shape-only shape-rotation">
<td>
<table cols="2" style="width: 100%;">
<tr>

View file

@ -160,17 +160,17 @@
</div>
</td>
</tr>
<tr>
<tr class="textart-transform">
<td class="padding-small">
<div class="separator horizontal"></div>
</td>
</tr>
<tr>
<tr class="textart-transform">
<td>
<label class="header"><%= scope.textTransform %></label>
</td>
</tr>
<tr>
<tr class="textart-transform">
<td class="padding-small">
<div class="" id="textart-combo-transform" style="width: 100%; height: 42px;"></div>
</td>

View file

@ -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],

View file

@ -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');

View file

@ -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',

View file

@ -104,7 +104,8 @@ define([
itemsDisabled: 'all-items-disabled',
wsLockText: 'worksheet-lock-text',
wsLockShape: 'worksheet-lock-shape',
wsLockFormat: 'worksheet-lock-format'
wsLockFormat: 'worksheet-lock-format',
inSmartartInternal: 'in-smartart-internal'
};
SSE.Views.Toolbar = Common.UI.Mixtbar.extend(_.extend({
@ -1593,7 +1594,7 @@ define([
iconCls: 'toolbar__icon btn-img-frwd',
caption: me.capImgForward,
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,
dataHint: '1',
dataHintDirection: 'bottom',
@ -1603,7 +1604,7 @@ define([
cls: 'btn-toolbar x-huge icon-top',
iconCls: 'toolbar__icon btn-img-bkwd',
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,
menu: true,
dataHint: '1',