Merge branch 'release/v7.0.0' into develop
This commit is contained in:
commit
3f2597d5cd
|
@ -808,14 +808,14 @@ define([
|
|||
};
|
||||
|
||||
var el = $(this.dataViewItems[0].el),
|
||||
itemW = el.outerWidth() + parseInt(el.css('margin-left')) + parseInt(el.css('margin-right')),
|
||||
itemW = el.outerWidth() + parseFloat(el.css('margin-left')) + parseFloat(el.css('margin-right')),
|
||||
offsetLeft = this.$el.offset().left,
|
||||
offsetTop = el.offset().top,
|
||||
prevtop = -1, topIdx = 0, leftIdx = 0;
|
||||
|
||||
for (var i=0; i<this.dataViewItems.length; i++) {
|
||||
var top = $(this.dataViewItems[i].el).offset().top - offsetTop;
|
||||
leftIdx = Math.floor(($(this.dataViewItems[i].el).offset().left - offsetLeft)/itemW);
|
||||
leftIdx = Math.floor(($(this.dataViewItems[i].el).offset().left - offsetLeft)/itemW + 0.01);
|
||||
if (top>prevtop) {
|
||||
prevtop = top;
|
||||
this._layoutParams.itemsIndexes.push([]);
|
||||
|
@ -1278,7 +1278,7 @@ define([
|
|||
};
|
||||
|
||||
var el = this.dataViewItems[0].el,
|
||||
itemW = el.outerWidth() + parseInt(el.css('margin-left')) + parseInt(el.css('margin-right')),
|
||||
itemW = el.outerWidth() + parseFloat(el.css('margin-left')) + parseFloat(el.css('margin-right')),
|
||||
offsetLeft = this.$el.offset().left,
|
||||
offsetTop = el.offset().top,
|
||||
prevtop = -1, topIdx = 0, leftIdx = 0;
|
||||
|
|
|
@ -292,6 +292,9 @@ Common.UI.HintManager = new(function() {
|
|||
section = _isEditDiagram ? _currentSection[0] : _currentSection,
|
||||
topSection = _currentLevel !== 0 && $(section).length > 0 && !_isEditDiagram ? $(section).offset().top : 0,
|
||||
bottomSection = _currentLevel !== 0 && $(section).length > 0 && !_isEditDiagram ? topSection + $(section).height() : docH;
|
||||
if ($(section).prop('id') === 'toolbar' && $(section).outerHeight() < $(section).find('.box-controls').outerHeight()) {
|
||||
bottomSection += $(section).find('.box-controls').outerHeight();
|
||||
}
|
||||
|
||||
if (_currentControls.length === 0)
|
||||
_getControls();
|
||||
|
@ -512,7 +515,8 @@ Common.UI.HintManager = new(function() {
|
|||
return;
|
||||
}
|
||||
var needOpenPanel = (curr.attr('content-target') && !$('#' + curr.attr('content-target')).is(':visible') ||
|
||||
(curr.parent().prop('id') === 'slot-btn-chat' && !$('#left-panel-chat').is(':visible')));
|
||||
(curr.parent().prop('id') === 'slot-btn-chat' && !$('#left-panel-chat').is(':visible')) ||
|
||||
(curr.parent().hasClass('ribtab') && !$('#toolbar').children('.toolbar').hasClass('expanded')));
|
||||
if ((!curr.attr('content-target') && curr.parent().prop('id') !== 'slot-btn-chat') || needOpenPanel) { // need to open panel
|
||||
if (!($('#file-menu-panel').is(':visible') && (curr.parent().prop('id') === 'fm-btn-info' && $('#panel-info').is(':visible') ||
|
||||
curr.parent().prop('id') === 'fm-btn-settings' && $('#panel-settings').is(':visible')))) {
|
||||
|
|
|
@ -262,7 +262,7 @@ class SearchView extends Component {
|
|||
<div className="searchbar-inner__center">
|
||||
<div className="searchbar-input-wrap">
|
||||
<input className="searchbar-input" value={searchQuery} placeholder={_t.textSearch} type="search" maxLength="255"
|
||||
onChange={e => {this.changeSearchQuery(e.target.value)}} />
|
||||
onChange={e => {this.changeSearchQuery(e.target.value)}} autoFocus/>
|
||||
{isIos ? <i className="searchbar-icon" /> : null}
|
||||
<span className="input-clear-button" onClick={() => this.changeSearchQuery('')} />
|
||||
</div>
|
||||
|
|
|
@ -60,7 +60,7 @@ const AddCommentPopup = inject("storeComments")(observer(props => {
|
|||
<div className='name'>{userInfo.name}</div>
|
||||
</div>
|
||||
<div className='wrap-textarea'>
|
||||
<Input className="input-comment" type='textarea' placeholder={_t.textAddComment} value={stateText} onChange={(event) => {setText(event.target.value);}}></Input>
|
||||
<Input className="input-comment" autofocus type='textarea' placeholder={_t.textAddComment} value={stateText} onChange={(event) => {setText(event.target.value);}}></Input>
|
||||
</div>
|
||||
</div>
|
||||
</Popup>
|
||||
|
|
|
@ -966,6 +966,16 @@ input[type="number"]::-webkit-inner-spin-button {
|
|||
height: 100%;
|
||||
}
|
||||
|
||||
.dropdown-list {
|
||||
&__placeholder {
|
||||
opacity: 0.6;
|
||||
.item-inner {
|
||||
border-bottom: 1px solid var(--f7-list-item-border-color);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -1835,6 +1835,7 @@ define([
|
|||
var features = {
|
||||
version: '{{PRODUCT_VERSION}}',
|
||||
// eventloading: true,
|
||||
uitype: 'fillform',
|
||||
uithemes: true
|
||||
};
|
||||
var api;
|
||||
|
|
|
@ -402,7 +402,7 @@ define([
|
|||
this.appOptions.canRequestMailMergeRecipients = this.editorConfig.canRequestMailMergeRecipients;
|
||||
this.appOptions.canRequestSharingSettings = this.editorConfig.canRequestSharingSettings;
|
||||
this.appOptions.compatibleFeatures = (typeof (this.appOptions.customization) == 'object') && !!this.appOptions.customization.compatibleFeatures;
|
||||
this.appOptions.canFeatureComparison = !!this.api.asc_isSupportFeature("comparison");
|
||||
this.appOptions.canFeatureComparison = true;
|
||||
this.appOptions.canFeatureContentControl = true;
|
||||
this.appOptions.canFeatureForms = !!this.api.asc_isSupportFeature("forms");
|
||||
|
||||
|
|
|
@ -370,16 +370,13 @@ define([
|
|||
},
|
||||
|
||||
onThemeChanged: function (id) {
|
||||
var document = DE.getController('Main').document;
|
||||
if ( !/^pdf|djvu|xps|oxps$/.test(document.fileType) ) {
|
||||
if ( this.header.menuItemsDarkMode ) {
|
||||
var current_dark = Common.UI.Themes.isDarkTheme();
|
||||
var menuItem = this.header.menuItemsDarkMode;
|
||||
menuItem.setVisible(current_dark);
|
||||
menuItem.$el.prev('.divider')[current_dark ? 'show' : 'hide']();
|
||||
if ( this.header.menuItemsDarkMode ) {
|
||||
var current_dark = Common.UI.Themes.isDarkTheme();
|
||||
var menuItem = this.header.menuItemsDarkMode;
|
||||
menuItem.setVisible(current_dark);
|
||||
menuItem.$el.prev('.divider')[current_dark ? 'show' : 'hide']();
|
||||
|
||||
menuItem.setChecked(Common.UI.Themes.isContentThemeDark());
|
||||
}
|
||||
menuItem.setChecked(Common.UI.Themes.isContentThemeDark());
|
||||
}
|
||||
},
|
||||
|
||||
|
|
|
@ -278,7 +278,9 @@ define([
|
|||
/** coauthoring end **/
|
||||
'<tr class="themes">',
|
||||
'<td class="left"><label><%= scope.strTheme %></label></td>',
|
||||
'<td class="right"><span id="fms-cmb-theme"></span></td>',
|
||||
'<td class="right">',
|
||||
'<div><div id="fms-cmb-theme" style="display: inline-block; margin-right: 15px;vertical-align: middle;"></div>',
|
||||
'<div id="fms-chb-dark-mode" style="display: inline-block; vertical-align: middle;margin-top: 2px;"></div></div></td>',
|
||||
'</tr>','<tr class="divider"></tr>',
|
||||
'<tr>',
|
||||
'<td class="left"><label><%= scope.strZoom %></label></td>',
|
||||
|
@ -547,6 +549,16 @@ define([
|
|||
dataHint: '2',
|
||||
dataHintDirection: 'bottom',
|
||||
dataHintOffset: 'big'
|
||||
}).on('selected', function(combo, record) {
|
||||
me.chDarkMode.setDisabled(record.themeType!=='dark');
|
||||
});
|
||||
|
||||
this.chDarkMode = new Common.UI.CheckBox({
|
||||
el: $markup.findById('#fms-chb-dark-mode'),
|
||||
labelText: this.txtDarkMode,
|
||||
dataHint: '2',
|
||||
dataHintDirection: 'left',
|
||||
dataHintOffset: 'small'
|
||||
});
|
||||
|
||||
this.cmbReviewHover = new Common.UI.ComboBox({
|
||||
|
@ -702,7 +714,7 @@ define([
|
|||
|
||||
var data = [];
|
||||
for (var t in Common.UI.Themes.map()) {
|
||||
data.push({value: t, displayValue: Common.UI.Themes.get(t).text});
|
||||
data.push({value: t, displayValue: Common.UI.Themes.get(t).text, themeType: Common.UI.Themes.get(t).type});
|
||||
}
|
||||
|
||||
if ( data.length ) {
|
||||
|
@ -710,6 +722,8 @@ define([
|
|||
item = this.cmbTheme.store.findWhere({value: Common.UI.Themes.currentThemeId()});
|
||||
this.cmbTheme.setValue(item ? item.get('value') : Common.UI.Themes.defaultThemeId());
|
||||
}
|
||||
this.chDarkMode.setValue(Common.UI.Themes.isContentThemeDark());
|
||||
this.chDarkMode.setDisabled(!Common.UI.Themes.isDarkTheme());
|
||||
|
||||
if (this.mode.canViewReview) {
|
||||
value = Common.Utils.InternalSettings.get("de-settings-review-hover-mode");
|
||||
|
@ -720,6 +734,8 @@ define([
|
|||
|
||||
applySettings: function() {
|
||||
Common.UI.Themes.setTheme(this.cmbTheme.getValue());
|
||||
if (!this.chDarkMode.isDisabled() && (this.chDarkMode.isChecked() !== Common.UI.Themes.isContentThemeDark()))
|
||||
Common.UI.Themes.toggleContentTheme();
|
||||
Common.localStorage.setItem("de-settings-inputmode", this.chInputMode.isChecked() ? 1 : 0);
|
||||
Common.localStorage.setItem("de-settings-zoom", this.cmbZoom.getValue());
|
||||
Common.Utils.InternalSettings.set("de-settings-zoom", Common.localStorage.getItem("de-settings-zoom"));
|
||||
|
@ -855,7 +871,8 @@ define([
|
|||
txtAutoCorrect: 'AutoCorrect options...',
|
||||
strReviewHover: 'Track Changes Display',
|
||||
txtChangesTip: 'Show by hover in tooltips',
|
||||
txtChangesBalloons: 'Show by click in balloons'
|
||||
txtChangesBalloons: 'Show by click in balloons',
|
||||
txtDarkMode: 'Turn on document dark mode'
|
||||
}, DE.Views.FileMenuPanels.Settings || {}));
|
||||
|
||||
DE.Views.FileMenuPanels.RecentFiles = Common.UI.BaseView.extend({
|
||||
|
|
|
@ -1771,6 +1771,7 @@
|
|||
"DE.Views.FileMenuPanels.Settings.txtChangesBalloons": "Show by click in balloons",
|
||||
"DE.Views.FileMenuPanels.Settings.txtChangesTip": "Show by hover in tooltips",
|
||||
"DE.Views.FileMenuPanels.Settings.txtCm": "Centimeter",
|
||||
"DE.Views.FileMenuPanels.Settings.txtDarkMode": "Turn on document dark mode",
|
||||
"DE.Views.FileMenuPanels.Settings.txtFitPage": "Fit to Page",
|
||||
"DE.Views.FileMenuPanels.Settings.txtFitWidth": "Fit to Width",
|
||||
"DE.Views.FileMenuPanels.Settings.txtInch": "Inch",
|
||||
|
|
|
@ -1743,6 +1743,7 @@
|
|||
"DE.Views.FileMenuPanels.Settings.txtChangesBalloons": "Mostrar con un clic en los globos",
|
||||
"DE.Views.FileMenuPanels.Settings.txtChangesTip": "Mostrar al mantener el puntero en la información sobre herramientas",
|
||||
"DE.Views.FileMenuPanels.Settings.txtCm": "Centímetro",
|
||||
"DE.Views.FileMenuPanels.Settings.txtDarkMode": "Activar el modo oscuro para documentos",
|
||||
"DE.Views.FileMenuPanels.Settings.txtFitPage": "Ajustar a la página",
|
||||
"DE.Views.FileMenuPanels.Settings.txtFitWidth": "Ajustar al ancho",
|
||||
"DE.Views.FileMenuPanels.Settings.txtInch": "Pulgada",
|
||||
|
|
|
@ -1743,6 +1743,7 @@
|
|||
"DE.Views.FileMenuPanels.Settings.txtChangesBalloons": "Afficher par clic dans les ballons",
|
||||
"DE.Views.FileMenuPanels.Settings.txtChangesTip": "Afficher lorsque le pointeur est maintenu sur l'infobulle",
|
||||
"DE.Views.FileMenuPanels.Settings.txtCm": "Centimètre",
|
||||
"DE.Views.FileMenuPanels.Settings.txtDarkMode": "Activer le mode sombre pour les documents",
|
||||
"DE.Views.FileMenuPanels.Settings.txtFitPage": "Ajuster à la page",
|
||||
"DE.Views.FileMenuPanels.Settings.txtFitWidth": "Ajuster à la largeur",
|
||||
"DE.Views.FileMenuPanels.Settings.txtInch": "Pouce",
|
||||
|
|
|
@ -1743,6 +1743,7 @@
|
|||
"DE.Views.FileMenuPanels.Settings.txtChangesBalloons": "Afișare în baloane cu un clic",
|
||||
"DE.Views.FileMenuPanels.Settings.txtChangesTip": "Afișarea sfaturilor ecran la trecere",
|
||||
"DE.Views.FileMenuPanels.Settings.txtCm": "Centimetru",
|
||||
"DE.Views.FileMenuPanels.Settings.txtDarkMode": "Activează modul întunecat la nivel de document",
|
||||
"DE.Views.FileMenuPanels.Settings.txtFitPage": "Portivire la pagina",
|
||||
"DE.Views.FileMenuPanels.Settings.txtFitWidth": "Potrivire lățime",
|
||||
"DE.Views.FileMenuPanels.Settings.txtInch": "Inch",
|
||||
|
|
|
@ -1743,6 +1743,7 @@
|
|||
"DE.Views.FileMenuPanels.Settings.txtChangesBalloons": "Показывать при клике в выносках",
|
||||
"DE.Views.FileMenuPanels.Settings.txtChangesTip": "Показывать при наведении в подсказках",
|
||||
"DE.Views.FileMenuPanels.Settings.txtCm": "Сантиметр",
|
||||
"DE.Views.FileMenuPanels.Settings.txtDarkMode": "Включить темный режим",
|
||||
"DE.Views.FileMenuPanels.Settings.txtFitPage": "По размеру страницы",
|
||||
"DE.Views.FileMenuPanels.Settings.txtFitWidth": "По ширине",
|
||||
"DE.Views.FileMenuPanels.Settings.txtInch": "Дюйм",
|
||||
|
|
|
@ -1,71 +1,71 @@
|
|||
import React, {Component, useEffect, useState} from 'react';
|
||||
import { f7, Page, Navbar, List, ListItem, BlockTitle, ListButton, Popover, Popup, View, Link, Sheet } from "framework7-react";
|
||||
import { Device } from '../../../../common/mobile/utils/device';
|
||||
|
||||
const PageDropdownList = props => {
|
||||
const listItems = props.listItems;
|
||||
|
||||
return (
|
||||
<View style={props.style}>
|
||||
<Page>
|
||||
<List>
|
||||
{listItems.length && listItems.map((elem, index) => (
|
||||
<ListItem key={index} className='no-indicator' title={elem.caption} onClick={() => props.onChangeItemList(elem.value)}></ListItem>
|
||||
))}
|
||||
</List>
|
||||
</Page>
|
||||
</View>
|
||||
);
|
||||
};
|
||||
|
||||
class DropdownListView extends Component {
|
||||
constructor(props) {
|
||||
super(props);
|
||||
}
|
||||
|
||||
render() {
|
||||
return (
|
||||
Device.isPhone ?
|
||||
<Sheet id="dropdown-list-sheet" closeByOutsideClick={true} backdrop={false} closeByBackdropClick={false} swipeToStep={true} swipeToClose={true}>
|
||||
<PageDropdownList
|
||||
listItems={this.props.listItems}
|
||||
onChangeItemList={this.props.onChangeItemList}
|
||||
closeModal={this.props.closeModal}
|
||||
/>
|
||||
</Sheet>
|
||||
:
|
||||
<Popover id="dropdown-list-popover" className="popover__titled" closeByOutsideClick={false}>
|
||||
<PageDropdownList
|
||||
listItems={this.props.listItems}
|
||||
onChangeItemList={this.props.onChangeItemList}
|
||||
closeModal={this.props.closeModal}
|
||||
style={{height: '410px'}}
|
||||
/>
|
||||
</Popover>
|
||||
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
const DropdownList = props => {
|
||||
useEffect(() => {
|
||||
if(Device.isPhone) {
|
||||
f7.sheet.open('#dropdown-list-sheet', true);
|
||||
} else {
|
||||
f7.popover.open('#dropdown-list-popover', '#dropdown-list-target');
|
||||
}
|
||||
|
||||
return () => {}
|
||||
});
|
||||
|
||||
return (
|
||||
<DropdownListView
|
||||
listItems={props.listItems}
|
||||
onChangeItemList={props.onChangeItemList}
|
||||
closeModal={props.closeModal}
|
||||
/>
|
||||
);
|
||||
};
|
||||
|
||||
import React, {Component, useEffect, useState} from 'react';
|
||||
import { f7, Page, Navbar, List, ListItem, BlockTitle, ListButton, Popover, Popup, View, Link, Sheet } from "framework7-react";
|
||||
import { Device } from '../../../../common/mobile/utils/device';
|
||||
|
||||
const PageDropdownList = props => {
|
||||
const listItems = props.listItems;
|
||||
|
||||
return (
|
||||
<View style={props.style}>
|
||||
<Page>
|
||||
<List className="dropdown-list">
|
||||
{listItems.length && listItems.map((elem, index) => (
|
||||
<ListItem key={index} className={'no-indicator ' + (index === 0 ? 'dropdown-list__placeholder' : '')} title={elem.caption} onClick={() => props.onChangeItemList(elem.value)}></ListItem>
|
||||
))}
|
||||
</List>
|
||||
</Page>
|
||||
</View>
|
||||
);
|
||||
};
|
||||
|
||||
class DropdownListView extends Component {
|
||||
constructor(props) {
|
||||
super(props);
|
||||
}
|
||||
|
||||
render() {
|
||||
return (
|
||||
Device.isPhone ?
|
||||
<Sheet id="dropdown-list-sheet" closeByOutsideClick={true} backdrop={false} closeByBackdropClick={false} swipeToClose={true}>
|
||||
<PageDropdownList
|
||||
listItems={this.props.listItems}
|
||||
onChangeItemList={this.props.onChangeItemList}
|
||||
closeModal={this.props.closeModal}
|
||||
/>
|
||||
</Sheet>
|
||||
:
|
||||
<Popover id="dropdown-list-popover" className="popover__titled" closeByOutsideClick={false}>
|
||||
<PageDropdownList
|
||||
listItems={this.props.listItems}
|
||||
onChangeItemList={this.props.onChangeItemList}
|
||||
closeModal={this.props.closeModal}
|
||||
style={{height: '410px'}}
|
||||
/>
|
||||
</Popover>
|
||||
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
const DropdownList = props => {
|
||||
useEffect(() => {
|
||||
if(Device.isPhone) {
|
||||
f7.sheet.open('#dropdown-list-sheet', true);
|
||||
} else {
|
||||
f7.popover.open('#dropdown-list-popover', '#dropdown-list-target');
|
||||
}
|
||||
|
||||
return () => {}
|
||||
});
|
||||
|
||||
return (
|
||||
<DropdownListView
|
||||
listItems={props.listItems}
|
||||
onChangeItemList={props.onChangeItemList}
|
||||
closeModal={props.closeModal}
|
||||
/>
|
||||
);
|
||||
};
|
||||
|
||||
export default DropdownList;
|
|
@ -505,6 +505,7 @@ const PageReorder = props => {
|
|||
const EditShape = props => {
|
||||
const { t } = useTranslation();
|
||||
const _t = t('Edit', {returnObjects: true});
|
||||
const api = Common.EditorApi.get();
|
||||
const canFill = props.storeFocusObjects.shapeObject.get_ShapeProperties().get_CanFill();
|
||||
const shapeObject = props.storeFocusObjects.shapeObject;
|
||||
const wrapType = props.storeShapeSettings.getWrapType(shapeObject);
|
||||
|
@ -515,23 +516,32 @@ const EditShape = props => {
|
|||
|| shapeType=='curvedConnector3' || shapeType=='curvedConnector4' || shapeType=='curvedConnector5'
|
||||
|| shapeType=='straightConnector1';
|
||||
|
||||
let controlProps = api && api.asc_IsContentControl() ? api.asc_GetContentControlProperties() : null,
|
||||
fixedSize = false;
|
||||
|
||||
if (controlProps) {
|
||||
let spectype = controlProps.get_SpecificType();
|
||||
fixedSize = (spectype == Asc.c_oAscContentControlSpecificType.CheckBox || spectype == Asc. c_oAscContentControlSpecificType.ComboBox || spectype == Asc.c_oAscContentControlSpecificType.DropDownList || spectype == Asc.c_oAscContentControlSpecificType.None || spectype == Asc.c_oAscContentControlSpecificType.Picture) && controlProps.get_FormPr() && controlProps.get_FormPr().get_Fixed();
|
||||
}
|
||||
|
||||
let disableRemove = !!props.storeFocusObjects.paragraphObject;
|
||||
|
||||
return (
|
||||
<Fragment>
|
||||
<List>
|
||||
{canFill ?
|
||||
<ListItem title={_t.textStyle} link='/edit-shape-style/' routeProps={{
|
||||
onFillColor: props.onFillColor,
|
||||
onBorderSize: props.onBorderSize,
|
||||
onBorderColor: props.onBorderColor,
|
||||
onOpacity: props.onOpacity
|
||||
}}></ListItem> :
|
||||
<ListItem title={_t.textStyle} link='/edit-shape-style-no-fill/' routeProps={{
|
||||
onBorderSize: props.onBorderSize,
|
||||
onBorderColor: props.onBorderColor
|
||||
}}></ListItem>
|
||||
}
|
||||
{!fixedSize ?
|
||||
canFill ?
|
||||
<ListItem title={_t.textStyle} link='/edit-shape-style/' routeProps={{
|
||||
onFillColor: props.onFillColor,
|
||||
onBorderSize: props.onBorderSize,
|
||||
onBorderColor: props.onBorderColor,
|
||||
onOpacity: props.onOpacity
|
||||
}}></ListItem> :
|
||||
<ListItem title={_t.textStyle} link='/edit-shape-style-no-fill/' routeProps={{
|
||||
onBorderSize: props.onBorderSize,
|
||||
onBorderColor: props.onBorderColor
|
||||
}}></ListItem>
|
||||
: null}
|
||||
<ListItem title={_t.textWrap} link='/edit-shape-wrap/' routeProps={{
|
||||
onWrapType: props.onWrapType,
|
||||
onShapeAlign: props.onShapeAlign,
|
||||
|
@ -539,12 +549,12 @@ const EditShape = props => {
|
|||
onOverlap: props.onOverlap,
|
||||
onWrapDistance: props.onWrapDistance
|
||||
}}></ListItem>
|
||||
{ !hideChangeType &&
|
||||
{(!hideChangeType && !fixedSize) &&
|
||||
<ListItem title={_t.textReplace} link='/edit-shape-replace/' routeProps={{
|
||||
onReplace: props.onReplace
|
||||
}}></ListItem>
|
||||
}
|
||||
{ wrapType !== 'inline' && <ListItem title={_t.textReorder} link='/edit-shape-reorder/' routeProps={{
|
||||
{wrapType !== 'inline' && <ListItem title={_t.textReorder} link='/edit-shape-reorder/' routeProps={{
|
||||
onReorder: props.onReorder
|
||||
}}></ListItem> }
|
||||
</List>
|
||||
|
|
|
@ -404,7 +404,7 @@ define([
|
|||
this.appOptions.mentionShare = !((typeof (this.appOptions.customization) == 'object') && (this.appOptions.customization.mentionShare==false));
|
||||
this.appOptions.canMakeActionLink = this.editorConfig.canMakeActionLink;
|
||||
this.appOptions.canFeaturePivot = true;
|
||||
this.appOptions.canFeatureViews = !!this.api.asc_isSupportFeature("sheet-views");
|
||||
this.appOptions.canFeatureViews = true;
|
||||
|
||||
if (this.appOptions.user.guest && this.appOptions.canRenameAnonymous && !this.appOptions.isEditDiagram && !this.appOptions.isEditMailMerge)
|
||||
Common.NotificationCenter.on('user:rename', _.bind(this.showRenameUserDialog, this));
|
||||
|
|
|
@ -366,35 +366,35 @@ const EditTabs = props => {
|
|||
component: <EditCellController />
|
||||
})
|
||||
}
|
||||
if (!store.isLockedShape && settings.indexOf('shape') > -1) {
|
||||
if (!(wsProps.Objects && store.isLockedShape) && settings.indexOf('shape') > -1) {
|
||||
editors.push({
|
||||
caption: _t.textShape,
|
||||
id: 'edit-shape',
|
||||
component: <EditShapeController />
|
||||
})
|
||||
}
|
||||
if (!(wsProps.Objects && store.isLockedText) && settings.indexOf('text') > -1) {
|
||||
editors.push({
|
||||
caption: _t.textText,
|
||||
id: 'edit-text',
|
||||
component: <EditTextController />
|
||||
})
|
||||
}
|
||||
if (!(wsProps.Objects && store.isLockedShape) && settings.indexOf('chart') > -1) {
|
||||
editors.push({
|
||||
caption: _t.textChart,
|
||||
id: 'edit-chart',
|
||||
component: <EditChartController />
|
||||
})
|
||||
}
|
||||
if (!(wsProps.Objects && store.isLockedShape) && settings.indexOf('image') > -1) {
|
||||
editors.push({
|
||||
caption: _t.textImage,
|
||||
id: 'edit-image',
|
||||
component: <EditImageController />
|
||||
})
|
||||
}
|
||||
if(!wsProps.Objects) {
|
||||
if (settings.indexOf('image') > -1) {
|
||||
editors.push({
|
||||
caption: _t.textImage,
|
||||
id: 'edit-image',
|
||||
component: <EditImageController />
|
||||
})
|
||||
}
|
||||
if (settings.indexOf('text') > -1) {
|
||||
editors.push({
|
||||
caption: _t.textText,
|
||||
id: 'edit-text',
|
||||
component: <EditTextController />
|
||||
})
|
||||
}
|
||||
if (settings.indexOf('chart') > -1) {
|
||||
editors.push({
|
||||
caption: _t.textChart,
|
||||
id: 'edit-chart',
|
||||
component: <EditChartController />
|
||||
})
|
||||
}
|
||||
if (settings.indexOf('hyperlink') > -1 || (props.hyperinfo && props.isAddShapeHyperlink)) {
|
||||
editors.push({
|
||||
caption: _t.textHyperlink,
|
||||
|
|
Loading…
Reference in a new issue