[DE mobile] Added encoding options
This commit is contained in:
parent
2ae5c222f5
commit
de1ac14073
|
@ -31,11 +31,12 @@ class DownloadController extends Component {
|
||||||
_t.notcriticalErrorTitle,
|
_t.notcriticalErrorTitle,
|
||||||
() => {
|
() => {
|
||||||
if (format == Asc.c_oAscFileType.TXT) {
|
if (format == Asc.c_oAscFileType.TXT) {
|
||||||
const isDocReady = this.props.storeAppOptions.isDocReady;
|
|
||||||
const advOptions = api.asc_getAdvancedOptions();
|
const advOptions = api.asc_getAdvancedOptions();
|
||||||
|
|
||||||
this.props.storeEncoding.initOptions({type: Asc.c_oAscAdvancedOptionsID.TXT, advOptions, formatOptions: new Asc.asc_CDownloadOptions(format)});
|
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 {
|
else {
|
||||||
this.closeModal();
|
this.closeModal();
|
||||||
|
@ -68,67 +69,8 @@ const onAdvancedOptions = (type, advOptions, mode, formatOptions, _t, isDocReady
|
||||||
if ($$('.dlg-adv-options.modal-in').length > 0) return;
|
if ($$('.dlg-adv-options.modal-in').length > 0) return;
|
||||||
|
|
||||||
const api = Common.EditorApi.get();
|
const api = Common.EditorApi.get();
|
||||||
if (type == Asc.c_oAscAdvancedOptionsID.TXT) {
|
|
||||||
f7.views.current.router.navigate('/encoding/');
|
if (type == Asc.c_oAscAdvancedOptionsID.DRM) {
|
||||||
// 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) {
|
|
||||||
Common.Notifications.trigger('preloader:close');
|
Common.Notifications.trigger('preloader:close');
|
||||||
Common.Notifications.trigger('preloader:endAction', Asc.c_oAscAsyncActionType['BlockInteraction'], -256, true);
|
Common.Notifications.trigger('preloader:endAction', Asc.c_oAscAsyncActionType['BlockInteraction'], -256, true);
|
||||||
const buttons = [{
|
const buttons = [{
|
||||||
|
|
|
@ -1,18 +1,28 @@
|
||||||
import React, { Component } from 'react';
|
import React, { Component } from 'react';
|
||||||
import { Device } from '../../../../../common/mobile/utils/device';
|
import { Device } from '../../../../../common/mobile/utils/device';
|
||||||
import { f7, Page, Navbar, List, ListItem, BlockTitle, ListButton, Popover, Popup } from "framework7-react";
|
import { f7 } from "framework7-react";
|
||||||
import { withTranslation } from 'react-i18next';
|
|
||||||
import { observer, inject } from "mobx-react";
|
|
||||||
import { Encoding } from "../../view/settings/Encoding";
|
import { Encoding } from "../../view/settings/Encoding";
|
||||||
|
|
||||||
class EncodingController extends Component {
|
class EncodingController extends Component {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
super(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();
|
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() {
|
render() {
|
||||||
|
|
|
@ -7,11 +7,9 @@ const PageEncoding = props => {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
const _t = t("Settings", { returnObjects: true });
|
const _t = t("Settings", { returnObjects: true });
|
||||||
const storeEncoding = props.storeEncoding;
|
const storeEncoding = props.storeEncoding;
|
||||||
|
const valueEncoding= storeEncoding.valueEncoding;
|
||||||
const nameEncoding = storeEncoding.nameEncoding;
|
const nameEncoding = storeEncoding.nameEncoding;
|
||||||
const type = storeEncoding.type;
|
const formatOptions = storeEncoding.formatOptions;
|
||||||
storeEncoding.initPages();
|
|
||||||
const advOptions = storeEncoding.advOptions;
|
|
||||||
const pagesName = storeEncoding.pagesName;
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Page>
|
<Page>
|
||||||
|
@ -21,7 +19,7 @@ const PageEncoding = props => {
|
||||||
<ListItem title={nameEncoding} href="/encoding-list/"></ListItem>
|
<ListItem title={nameEncoding} href="/encoding-list/"></ListItem>
|
||||||
</List>
|
</List>
|
||||||
<List className="buttons-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>
|
</List>
|
||||||
</Page>
|
</Page>
|
||||||
)
|
)
|
||||||
|
@ -31,8 +29,7 @@ const PageEncodingList = props => {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
const _t = t("Settings", { returnObjects: true });
|
const _t = t("Settings", { returnObjects: true });
|
||||||
const storeEncoding = props.storeEncoding;
|
const storeEncoding = props.storeEncoding;
|
||||||
const encoding = storeEncoding.encoding;
|
const valueEncoding = storeEncoding.valueEncoding;
|
||||||
// const advOptions = storeEncoding.advOptions;
|
|
||||||
const pages = storeEncoding.pages;
|
const pages = storeEncoding.pages;
|
||||||
const pagesName = storeEncoding.pagesName;
|
const pagesName = storeEncoding.pagesName;
|
||||||
|
|
||||||
|
@ -43,7 +40,7 @@ const PageEncodingList = props => {
|
||||||
<List>
|
<List>
|
||||||
{pagesName.map((name, index) => {
|
{pagesName.map((name, index) => {
|
||||||
return (
|
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]);
|
storeEncoding.changeEncoding(pages[index]);
|
||||||
f7.views.current.router.back();
|
f7.views.current.router.back();
|
||||||
}}></ListItem>
|
}}></ListItem>
|
||||||
|
|
Loading…
Reference in a new issue