[SSE mobile] Added the ability to insert shape
This commit is contained in:
parent
a81459fcd6
commit
366f1db1de
|
@ -0,0 +1,35 @@
|
||||||
|
import React, {Component} from 'react';
|
||||||
|
import { f7 } from 'framework7-react';
|
||||||
|
import {Device} from '../../../../../common/mobile/utils/device';
|
||||||
|
|
||||||
|
import AddShape from '../../view/add/AddShape';
|
||||||
|
|
||||||
|
class AddShapeController extends Component {
|
||||||
|
constructor (props) {
|
||||||
|
super(props);
|
||||||
|
this.onShapeClick = this.onShapeClick.bind(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
closeModal () {
|
||||||
|
if ( Device.phone ) {
|
||||||
|
f7.sheet.close('.add-popup', true);
|
||||||
|
} else {
|
||||||
|
f7.popover.close('#add-popover');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
onShapeClick (type) {
|
||||||
|
const api = Common.EditorApi.get();
|
||||||
|
api.asc_addShapeOnSheet(type);
|
||||||
|
this.closeModal();
|
||||||
|
}
|
||||||
|
|
||||||
|
render () {
|
||||||
|
return (
|
||||||
|
<AddShape onShapeClick={this.onShapeClick}
|
||||||
|
/>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default AddShapeController;
|
|
@ -8,7 +8,7 @@ import {Device} from '../../../../../common/mobile/utils/device';
|
||||||
import AddChartController from "../../controller/add/AddChart";
|
import AddChartController from "../../controller/add/AddChart";
|
||||||
import {AddFunctionController} from "../../controller/add/AddFunction";
|
import {AddFunctionController} from "../../controller/add/AddFunction";
|
||||||
import {PageFunctionGroup, PageFunctionInfo} from "./AddFunction";
|
import {PageFunctionGroup, PageFunctionInfo} from "./AddFunction";
|
||||||
//import AddShapeController from "../../controller/add/AddShape";
|
import AddShapeController from "../../controller/add/AddShape";
|
||||||
//import {AddOtherController} from "../../controller/add/AddOther";
|
//import {AddOtherController} from "../../controller/add/AddOther";
|
||||||
|
|
||||||
const routes = [
|
const routes = [
|
||||||
|
@ -75,13 +75,15 @@ const AddTabs = props => {
|
||||||
component: <AddFunctionController onOptionClick={props.onOptionClick}/>
|
component: <AddFunctionController onOptionClick={props.onOptionClick}/>
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/*tabs.push({
|
if (!showPanels || showPanels.indexOf('shape') > 0) {
|
||||||
|
tabs.push({
|
||||||
caption: _t.textShape,
|
caption: _t.textShape,
|
||||||
id: 'add-shape',
|
id: 'add-shape',
|
||||||
icon: 'icon-add-shape',
|
icon: 'icon-add-shape',
|
||||||
component: <AddShapeController />
|
component: <AddShapeController/>
|
||||||
});
|
});
|
||||||
tabs.push({
|
}
|
||||||
|
/*tabs.push({
|
||||||
caption: _t.textOther,
|
caption: _t.textOther,
|
||||||
id: 'add-other',
|
id: 'add-other',
|
||||||
icon: 'icon-add-other',
|
icon: 'icon-add-other',
|
||||||
|
|
27
apps/spreadsheeteditor/mobile/src/view/add/AddShape.jsx
Normal file
27
apps/spreadsheeteditor/mobile/src/view/add/AddShape.jsx
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
import React, {Fragment, useState} from 'react';
|
||||||
|
import {observer, inject} from "mobx-react";
|
||||||
|
|
||||||
|
const AddShape = props => {
|
||||||
|
const shapes = props.storeShapeSettings.getStyleGroups();
|
||||||
|
return (
|
||||||
|
<div className={'dataview shapes'}>
|
||||||
|
{shapes.map((row, indexRow) => {
|
||||||
|
return (
|
||||||
|
<ul className="row" key={'shape-row-' + indexRow}>
|
||||||
|
{row.map((shape, index) => {
|
||||||
|
return (
|
||||||
|
<li key={'shape-' + indexRow + '-' + index} onClick={() => {props.onShapeClick(shape.type)}}>
|
||||||
|
<div className="thumb"
|
||||||
|
style={{WebkitMaskImage: `url('resources/img/shapes/${shape.thumb}')`}}>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
)
|
||||||
|
})}
|
||||||
|
</ul>
|
||||||
|
)
|
||||||
|
})}
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
export default inject("storeShapeSettings")(observer(AddShape));
|
Loading…
Reference in a new issue