65 lines
2.2 KiB
JavaScript
65 lines
2.2 KiB
JavaScript
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);
|
|
this.onSlideSize = this.onSlideSize.bind(this);
|
|
this.initSlideSize();
|
|
}
|
|
|
|
initSlideSize() {
|
|
if (!this.init) {
|
|
const api = Common.EditorApi.get();
|
|
const slideSizes = [
|
|
[9144000, 6858000, Asc.c_oAscSlideSZType.SzScreen4x3],
|
|
[12192000, 6858000, Asc.c_oAscSlideSZType.SzCustom]
|
|
];
|
|
|
|
this.props.storePresentationSettings.changeSizeIndex(api.get_PresentationWidth(), api.get_PresentationHeight());
|
|
this.props.storePresentationSettings.initSlideSizes(slideSizes);
|
|
this.init = true;
|
|
}
|
|
}
|
|
|
|
onSlideSize(slideSizeArr) {
|
|
const api = Common.EditorApi.get();
|
|
|
|
let ratio = slideSizeArr[1] / slideSizeArr[0];
|
|
let currentHeight = this.props.storePresentationSettings.currentPageSize.height;
|
|
let currentPageSize = {
|
|
width: (currentHeight || slideSizeArr[1]) / ratio,
|
|
height: currentHeight
|
|
};
|
|
// api.changeSlideSize(slideSizeArr[0], slideSizeArr[1], slideSizeArr[2]);
|
|
api.changeSlideSize(currentPageSize.width, currentPageSize.height, slideSizeArr[2]);
|
|
}
|
|
|
|
// Color Schemes
|
|
|
|
initPageColorSchemes() {
|
|
const api = Common.EditorApi.get();
|
|
return api.asc_GetCurrentColorSchemeIndex();
|
|
}
|
|
|
|
onColorSchemeChange(newScheme) {
|
|
const api = Common.EditorApi.get();
|
|
api.asc_ChangeColorSchemeByIdx(newScheme);
|
|
}
|
|
|
|
|
|
render() {
|
|
return (
|
|
<PresentationSettings
|
|
initSlideSize={this.initSlideSize}
|
|
onSlideSize={this.onSlideSize}
|
|
onColorSchemeChange={this.onColorSchemeChange}
|
|
initPageColorSchemes={this.initPageColorSchemes}
|
|
/>
|
|
)
|
|
}
|
|
}
|
|
|
|
export default inject("storePresentationSettings")(observer(PresentationSettingsController)); |