From 55f08657499cd577e2f9ed000fb8552ead8f9d91 Mon Sep 17 00:00:00 2001 From: JuliaSvinareva Date: Thu, 17 Dec 2020 22:52:25 +0300 Subject: [PATCH] [PE mobile] Fixed slide size settings into presentation settings --- .../mobile/src/controller/Main.jsx | 7 +------ .../controller/settings/PresentationSettings.jsx | 15 +++++++++++++-- .../mobile/src/store/presentationSettings.js | 12 ++++++++---- .../src/view/settings/PresentationSettings.jsx | 1 + 4 files changed, 23 insertions(+), 12 deletions(-) diff --git a/apps/presentationeditor/mobile/src/controller/Main.jsx b/apps/presentationeditor/mobile/src/controller/Main.jsx index d846d0345f..9dc26fcf98 100644 --- a/apps/presentationeditor/mobile/src/controller/Main.jsx +++ b/apps/presentationeditor/mobile/src/controller/Main.jsx @@ -169,12 +169,7 @@ class MainController extends Component { const storePresentationSettings = this.props.storePresentationSettings; me.api.asc_registerCallback('asc_onPresentationSize', (width, height) => { - const slideSizeArr = storePresentationSettings.getSlideSizes; - slideSizeArr.forEach((array, index) => { - if(Math.abs(array[0] - width) < 0.001 && Math.abs((array[1] - height)) < 0.001) { - storePresentationSettings.changeSizeIndex(index); - } - }) + storePresentationSettings.changeSizeIndex(width, height); }); me.api.asc_registerCallback('asc_onSendThemeColorSchemes', (arr) => { diff --git a/apps/presentationeditor/mobile/src/controller/settings/PresentationSettings.jsx b/apps/presentationeditor/mobile/src/controller/settings/PresentationSettings.jsx index f12ca84d4e..144d4a66ed 100644 --- a/apps/presentationeditor/mobile/src/controller/settings/PresentationSettings.jsx +++ b/apps/presentationeditor/mobile/src/controller/settings/PresentationSettings.jsx @@ -1,9 +1,19 @@ import React, {Component} from 'React'; +import { observer, inject } from "mobx-react"; import {PresentationSettings} from '../../view/settings/PresentationSettings'; class PresentationSettingsController extends Component { constructor(props) { super(props); + this.initSlideSize = this.initSlideSize.bind(this); + } + + initSlideSize() { + if (!this.init) { + const api = Common.EditorApi.get(); + this.props.storePresentationSettings.changeSizeIndex(api.get_PresentationWidth(), api.get_PresentationHeight()); + this.init = true; + } } onSlideSize(slideSizeArr) { @@ -26,7 +36,8 @@ class PresentationSettingsController extends Component { render() { return ( - { + if(Math.abs(array[0] - width) < 0.001 && Math.abs((array[1] - height)) < 0.001) { + this.slideSizeIndex = index; + } + }) } // Color Schemes diff --git a/apps/presentationeditor/mobile/src/view/settings/PresentationSettings.jsx b/apps/presentationeditor/mobile/src/view/settings/PresentationSettings.jsx index 08029d0a99..e6da2e8225 100644 --- a/apps/presentationeditor/mobile/src/view/settings/PresentationSettings.jsx +++ b/apps/presentationeditor/mobile/src/view/settings/PresentationSettings.jsx @@ -6,6 +6,7 @@ import { useTranslation } from "react-i18next"; const PagePresentationSettings = props => { const { t } = useTranslation(); const _t = t("View.Settings", { returnObjects: true }); + props.initSlideSize(); const store = props.storePresentationSettings; const slideSizeArr = store.getSlideSizes; const slideSizeIndex = store.slideSizeIndex;