[DE mobile] Edits Color Schemes

This commit is contained in:
SergeyEzhin 2020-12-07 17:23:44 +03:00
parent e9e6a16826
commit 8b8286e593
3 changed files with 22 additions and 11 deletions

View file

@ -72,6 +72,11 @@ class DocumentSettingsController extends Component {
// Color Schemes
initPageColorSchemes() {
const api = Common.EditorApi.get();
return api.asc_GetCurrentColorSchemeIndex();
}
onColorSchemeChange(newScheme, curScheme) {
const api = Common.EditorApi.get();
if(newScheme !== curScheme) {
@ -87,6 +92,7 @@ class DocumentSettingsController extends Component {
getMargins={this.getMargins}
applyMargins={this.applyMargins}
onColorSchemeChange={this.onColorSchemeChange}
initPageColorSchemes={this.initPageColorSchemes}
/>
)
}

View file

@ -61,13 +61,12 @@ export class storeDocumentSettings {
// Color Schemes
@observable curScheme = Common.EditorApi.get().asc_GetCurrentColorSchemeIndex();
@observable allSchemes;
@observable curScheme;
@action changeColorScheme(value) {
this.curScheme = +value;
}
// @action changeColorScheme(value) {
// this.curScheme = +value;
// }
@action addSchemes(arr) {
this.allSchemes = arr;

View file

@ -128,13 +128,15 @@ const PageDocumentMargins = props => {
const PageDocumentColorSchemes = props => {
const { t } = useTranslation();
const curScheme = props.initPageColorSchemes();
const [stateScheme, setScheme] = useState(curScheme);
const _t = t('Settings', {returnObjects: true});
const storeSettings = props.storeDocumentSettings;
const curScheme = storeSettings.curScheme;
// const curScheme = storeSettings.curScheme;
const allSchemes = storeSettings.allSchemes;
const changeScheme = (newScheme, curScheme) => {
storeSettings.changeColorScheme(newScheme);
// storeSettings.changeColorScheme(newScheme);
props.onColorSchemeChange(newScheme, curScheme);
}
@ -145,8 +147,11 @@ const PageDocumentColorSchemes = props => {
{
allSchemes ? allSchemes.map((scheme, index) => {
return (
<ListItem radio={true} className="color-schemes-menu" key={index} title={scheme.get_name()} value={index} checked={curScheme === index}
onChange={(e) => changeScheme(e.target.value, curScheme)}>
<ListItem radio={true} className="color-schemes-menu" key={index} title={scheme.get_name()} checked={stateScheme === index}
onChange={() => {
setScheme(index);
changeScheme(index, curScheme);
}}>
<div slot="before-title">
<span className="color-schema-block">
{
@ -218,7 +223,8 @@ const PageDocumentSettings = props => {
</List>
<List>
<ListItem title={_t.textColorSchemes} link="/color-schemes/" routeProps={{
onColorSchemeChange: props.onColorSchemeChange
onColorSchemeChange: props.onColorSchemeChange,
initPageColorSchemes: props.initPageColorSchemes
}}></ListItem>
</List>
</Page>