diff --git a/apps/documenteditor/mobile/src/controller/settings/Download.jsx b/apps/documenteditor/mobile/src/controller/settings/Download.jsx
index 2b1cfb2d1..06b13bb85 100644
--- a/apps/documenteditor/mobile/src/controller/settings/Download.jsx
+++ b/apps/documenteditor/mobile/src/controller/settings/Download.jsx
@@ -31,11 +31,12 @@ class DownloadController extends Component {
_t.notcriticalErrorTitle,
() => {
if (format == Asc.c_oAscFileType.TXT) {
- const isDocReady = this.props.storeAppOptions.isDocReady;
const advOptions = api.asc_getAdvancedOptions();
this.props.storeEncoding.initOptions({type: Asc.c_oAscAdvancedOptionsID.TXT, advOptions, formatOptions: new Asc.asc_CDownloadOptions(format)});
- onAdvancedOptions(Asc.c_oAscAdvancedOptionsID.TXT, api.asc_getAdvancedOptions(), 2, new Asc.asc_CDownloadOptions(format), _t, isDocReady);
+ this.props.storeEncoding.initPages();
+ this.props.storeEncoding.changeEncoding(advOptions.asc_getRecommendedSettings().asc_getCodePage());
+ f7.views.current.router.navigate('/encoding/');
}
else {
this.closeModal();
@@ -68,67 +69,8 @@ const onAdvancedOptions = (type, advOptions, mode, formatOptions, _t, isDocReady
if ($$('.dlg-adv-options.modal-in').length > 0) return;
const api = Common.EditorApi.get();
- if (type == Asc.c_oAscAdvancedOptionsID.TXT) {
- f7.views.current.router.navigate('/encoding/');
- // let picker;
- // const pages = [];
- // const pagesName = [];
- // for (let page of advOptions.asc_getCodePages()) {
- // pages.push(page.asc_getCodePage());
- // pagesName.push(page.asc_getCodePageName());
- // }
- // Common.Notifications.trigger('preloader:close');
- // Common.Notifications.trigger('preloader:endAction', Asc.c_oAscAsyncActionType['BlockInteraction'], -256, true);
- // const buttons = [];
- // if (mode === 2) {
- // buttons.push({
- // text: _t.textCancel
- // });
- // }
- // buttons.push({
- // text: 'OK',
- // bold: true,
- // onClick: function() {
- // const encoding = picker.value;
- // if (mode==2) {
- // formatOptions && formatOptions.asc_setAdvancedOptions(new Asc.asc_CTextOptions(encoding));
- // api.asc_DownloadAs(formatOptions);
- // } else {
- // api.asc_setAdvancedOptions(type, new Asc.asc_CTextOptions(encoding));
- // }
- // if (!isDocReady) {
- // Common.Notifications.trigger('preloader:beginAction', Asc.c_oAscAsyncActionType['BlockInteraction'], -256);
- // }
- // }
- // });
- // const dialog = f7.dialog.create({
- // title: _t.advTxtOptions,
- // text: '',
- // content:
- // '<div class="content-block">' +
- // '<div class="row">' +
- // '<div class="col-100">' + _t.textEncoding + '</div>' +
- // '</div>' +
- // '<div id="txt-encoding"></div>' +
- // '</div>',
- // buttons: buttons,
- // cssClass: 'dlg-adv-options'
- // }).open();
- // dialog.on('opened', () => {
- // picker = f7.picker.create({
- // containerEl: document.getElementById('txt-encoding'),
- // cols: [
- // {
- // values: pages,
- // displayValues: pagesName
- // }
- // ],
- // toolbar: false,
- // rotateEffect: true,
- // value: [advOptions.asc_getRecommendedSettings().asc_getCodePage()],
- // });
- // });
- } else if (type == Asc.c_oAscAdvancedOptionsID.DRM) {
+
+ if (type == Asc.c_oAscAdvancedOptionsID.DRM) {
Common.Notifications.trigger('preloader:close');
Common.Notifications.trigger('preloader:endAction', Asc.c_oAscAsyncActionType['BlockInteraction'], -256, true);
const buttons = [{
diff --git a/apps/documenteditor/mobile/src/controller/settings/Encoding.jsx b/apps/documenteditor/mobile/src/controller/settings/Encoding.jsx
index f594149bf..2a272aa64 100644
--- a/apps/documenteditor/mobile/src/controller/settings/Encoding.jsx
+++ b/apps/documenteditor/mobile/src/controller/settings/Encoding.jsx
@@ -1,18 +1,28 @@
import React, { Component } from 'react';
import { Device } from '../../../../../common/mobile/utils/device';
-import { f7, Page, Navbar, List, ListItem, BlockTitle, ListButton, Popover, Popup } from "framework7-react";
-import { withTranslation } from 'react-i18next';
-import { observer, inject } from "mobx-react";
+import { f7 } from "framework7-react";
import { Encoding } from "../../view/settings/Encoding";
class EncodingController extends Component {
constructor(props) {
super(props);
+ this.onSaveFormat = this.onSaveFormat.bind(this);
}
- onSaveFormat(type, value) {
+ closeModal() {
+ if (Device.phone) {
+ f7.sheet.close('.settings-popup', true);
+ } else {
+ f7.popover.close('#settings-popover');
+ }
+ }
+
+ onSaveFormat(formatOptions, value) {
const api = Common.EditorApi.get();
- api.asc_setAdvancedOptions(type, new Asc.asc_CTextOptions(value));
+
+ this.closeModal();
+ formatOptions && formatOptions.asc_setAdvancedOptions(new Asc.asc_CTextOptions(value));
+ api.asc_DownloadAs(formatOptions);
}
render() {
diff --git a/apps/documenteditor/mobile/src/view/settings/Encoding.jsx b/apps/documenteditor/mobile/src/view/settings/Encoding.jsx
index 7fc6330fc..f4acd2bd4 100644
--- a/apps/documenteditor/mobile/src/view/settings/Encoding.jsx
+++ b/apps/documenteditor/mobile/src/view/settings/Encoding.jsx
@@ -7,11 +7,9 @@ const PageEncoding = props => {
const { t } = useTranslation();
const _t = t("Settings", { returnObjects: true });
const storeEncoding = props.storeEncoding;
+ const valueEncoding= storeEncoding.valueEncoding;
const nameEncoding = storeEncoding.nameEncoding;
- const type = storeEncoding.type;
- storeEncoding.initPages();
- const advOptions = storeEncoding.advOptions;
- const pagesName = storeEncoding.pagesName;
+ const formatOptions = storeEncoding.formatOptions;
return (
<Page>
@@ -21,7 +19,7 @@ const PageEncoding = props => {
<ListItem title={nameEncoding} href="/encoding-list/"></ListItem>
</List>
<List className="buttons-list">
- <ListButton className='button-fill button-raised' title={_t.textDownload} onClick={() => props.onSaveFormat(type, storeEncoding.valueEncoding)}></ListButton>
+ <ListButton className='button-fill button-raised' title={_t.textDownload} onClick={() => props.onSaveFormat(formatOptions, valueEncoding)}></ListButton>
</List>
</Page>
)
@@ -31,8 +29,7 @@ const PageEncodingList = props => {
const { t } = useTranslation();
const _t = t("Settings", { returnObjects: true });
const storeEncoding = props.storeEncoding;
- const encoding = storeEncoding.encoding;
- // const advOptions = storeEncoding.advOptions;
+ const valueEncoding = storeEncoding.valueEncoding;
const pages = storeEncoding.pages;
const pagesName = storeEncoding.pagesName;
@@ -43,7 +40,7 @@ const PageEncodingList = props => {
<List>
{pagesName.map((name, index) => {
return (
- <ListItem radio checked={encoding === pages[index]} title={name} key={index} value={pages[index]} onChange={() => {
+ <ListItem radio checked={valueEncoding === pages[index]} title={name} key={index} value={pages[index]} onChange={() => {
storeEncoding.changeEncoding(pages[index]);
f7.views.current.router.back();
}}></ListItem>