From cb35e3c19488b439344cd896e1d0e101e5302101 Mon Sep 17 00:00:00 2001 From: JuliaSvinareva Date: Sat, 30 Jan 2021 22:50:17 +0300 Subject: [PATCH] [SSE mobile] Edit add modal --- apps/spreadsheeteditor/mobile/locale/en.json | 2 +- .../add/{AddFormula.jsx => AddFunction.jsx} | 8 +-- .../mobile/src/view/CellEditor.jsx | 2 +- .../mobile/src/view/add/Add.jsx | 61 ++++++++++++++----- .../add/{AddFormula.jsx => AddFunction.jsx} | 4 +- 5 files changed, 53 insertions(+), 24 deletions(-) rename apps/spreadsheeteditor/mobile/src/controller/add/{AddFormula.jsx => AddFunction.jsx} (73%) rename apps/spreadsheeteditor/mobile/src/view/add/{AddFormula.jsx => AddFunction.jsx} (73%) diff --git a/apps/spreadsheeteditor/mobile/locale/en.json b/apps/spreadsheeteditor/mobile/locale/en.json index f7c5fa5cd7..a8c0c94cb7 100644 --- a/apps/spreadsheeteditor/mobile/locale/en.json +++ b/apps/spreadsheeteditor/mobile/locale/en.json @@ -9,7 +9,7 @@ "View" : { "Add" : { "textChart": "Chart", - "textFormula": "Formula", + "textFunction": "Function", "textShape": "Shape", "textOther": "Other" }, diff --git a/apps/spreadsheeteditor/mobile/src/controller/add/AddFormula.jsx b/apps/spreadsheeteditor/mobile/src/controller/add/AddFunction.jsx similarity index 73% rename from apps/spreadsheeteditor/mobile/src/controller/add/AddFormula.jsx rename to apps/spreadsheeteditor/mobile/src/controller/add/AddFunction.jsx index 46959e5c29..14cdcedf7f 100644 --- a/apps/spreadsheeteditor/mobile/src/controller/add/AddFormula.jsx +++ b/apps/spreadsheeteditor/mobile/src/controller/add/AddFunction.jsx @@ -2,9 +2,9 @@ import React, {Component} from 'react'; import { f7 } from 'framework7-react'; import {Device} from '../../../../../common/mobile/utils/device'; -import AddFormula from '../../view/add/AddFormula'; +import AddFunction from '../../view/add/AddFunction'; -class AddFormulaController extends Component { +class AddFunctionController extends Component { constructor (props) { super(props); } @@ -19,10 +19,10 @@ class AddFormulaController extends Component { render () { return ( - ) } } -export default AddFormulaController; \ No newline at end of file +export default AddFunctionController; \ No newline at end of file diff --git a/apps/spreadsheeteditor/mobile/src/view/CellEditor.jsx b/apps/spreadsheeteditor/mobile/src/view/CellEditor.jsx index 4e677c4924..c1439de246 100644 --- a/apps/spreadsheeteditor/mobile/src/view/CellEditor.jsx +++ b/apps/spreadsheeteditor/mobile/src/view/CellEditor.jsx @@ -20,7 +20,7 @@ const CellEditorView = props => { return diff --git a/apps/spreadsheeteditor/mobile/src/view/add/Add.jsx b/apps/spreadsheeteditor/mobile/src/view/add/Add.jsx index 2f6d0b4403..63f1e80909 100644 --- a/apps/spreadsheeteditor/mobile/src/view/add/Add.jsx +++ b/apps/spreadsheeteditor/mobile/src/view/add/Add.jsx @@ -1,12 +1,12 @@ import React, {Component, useEffect} from 'react'; -import {View,Page,Navbar,NavRight,Link,Popup,Popover,Icon,Tabs,Tab} from 'framework7-react'; +import {View,Page,Navbar,NavTitle,NavRight,Link,Popup,Popover,Icon,Tabs,Tab} from 'framework7-react'; import { useTranslation } from 'react-i18next'; import {f7} from 'framework7-react'; import { observer, inject } from "mobx-react"; import {Device} from '../../../../../common/mobile/utils/device'; import AddChartController from "../../controller/add/AddChart"; -import AddFormulaController from "../../controller/add/AddFormula"; +import AddFunctionController from "../../controller/add/AddFunction"; //import AddShapeController from "../../controller/add/AddShape"; //import {AddOtherController} from "../../controller/add/AddOther"; @@ -17,13 +17,16 @@ const AddLayoutNavbar = ({ tabs, inPopover }) => { const isAndroid = Device.android; return ( -
- {tabs.map((item, index) => - - - )} - {isAndroid && } -
+ {tabs.length > 1 ? +
+ {tabs.map((item, index) => + + + )} + {isAndroid && } +
: + { tabs[0].caption } + } { !inPopover && }
) @@ -43,7 +46,7 @@ const AddLayoutContent = ({ tabs }) => { const AddTabs = props => { const { t } = useTranslation(); - const _t = t('Add', {returnObjects: true}); + const _t = t('View.Add', {returnObjects: true}); const showPanels = props.showPanels; const tabs = []; if (!showPanels) { @@ -54,12 +57,12 @@ const AddTabs = props => { component: }); } - if (!showPanels || showPanels === 'formula') { + if (!showPanels || showPanels === 'function') { tabs.push({ - caption: _t.textFormula, - id: 'add-formula', + caption: _t.textFunction, + id: 'add-function', icon: 'icon-add-formula', - component: + component: }); } /*tabs.push({ @@ -112,7 +115,7 @@ const Add = props => { if ( Device.phone ) { f7.popup.open('.add-popup'); } else { - const targetElem = !props.showOptions ? '#btn-add' : props.showOptions.button; + const targetElem = !props.showOptions || !props.showOptions.button ? '#btn-add' : props.showOptions.button; f7.popover.open('#add-popover', targetElem); } @@ -124,9 +127,35 @@ const Add = props => { if ( props.onclosed ) props.onclosed(); }; + + const api = Common.EditorApi.get(); + const cellinfo = api.asc_getCellInfo(); + const seltype = cellinfo.asc_getSelectionType(); + const iscelllocked = cellinfo.asc_getLocked(); + let options; + + if ( !iscelllocked ) { + options = props.showOptions; + if ( !options ) { + switch (seltype) { + case Asc.c_oAscSelectionType.RangeCells: + case Asc.c_oAscSelectionType.RangeRow: + case Asc.c_oAscSelectionType.RangeCol: + case Asc.c_oAscSelectionType.RangeMax: break; + case Asc.c_oAscSelectionType.RangeImage: + case Asc.c_oAscSelectionType.RangeShape: + case Asc.c_oAscSelectionType.RangeChart: + case Asc.c_oAscSelectionType.RangeChartText: + case Asc.c_oAscSelectionType.RangeShapeText: + options = {panels: ['image','shape']}; + break; + } + } + } + return }; diff --git a/apps/spreadsheeteditor/mobile/src/view/add/AddFormula.jsx b/apps/spreadsheeteditor/mobile/src/view/add/AddFunction.jsx similarity index 73% rename from apps/spreadsheeteditor/mobile/src/view/add/AddFormula.jsx rename to apps/spreadsheeteditor/mobile/src/view/add/AddFunction.jsx index b8272b828e..6cd6b24025 100644 --- a/apps/spreadsheeteditor/mobile/src/view/add/AddFormula.jsx +++ b/apps/spreadsheeteditor/mobile/src/view/add/AddFunction.jsx @@ -1,7 +1,7 @@ import React, {Fragment, useState} from 'react'; import {observer, inject} from "mobx-react"; -const AddFormula = props => { +const AddFunction = props => { return ( @@ -9,4 +9,4 @@ const AddFormula = props => { ) }; -export default AddFormula; \ No newline at end of file +export default AddFunction; \ No newline at end of file