snappymail/dev/Stores/AbstractApp.jsx
2016-07-17 18:05:15 +03:00

37 lines
1 KiB
JavaScript

import ko from 'ko';
import {$html, bMobileDevice} from 'Common/Globals';
import * as Settings from 'Storage/Settings';
class AbstractAppStore
{
constructor() {
this.allowLanguagesOnSettings = ko.observable(true);
this.allowLanguagesOnLogin = ko.observable(true);
this.interfaceAnimation = ko.observable(true);
this.interfaceAnimation.subscribe(function(bValue) {
const bAnim = bMobileDevice || !bValue;
$html.toggleClass('rl-anim', !bAnim).toggleClass('no-rl-anim', bAnim);
});
this.interfaceAnimation.valueHasMutated();
this.prem = ko.observable(false);
this.community = ko.observable(true);
}
populate() {
this.allowLanguagesOnLogin(!!Settings.settingsGet('AllowLanguagesOnLogin'));
this.allowLanguagesOnSettings(!!Settings.settingsGet('AllowLanguagesOnSettings'));
this.interfaceAnimation(!!Settings.settingsGet('InterfaceAnimation'));
this.prem(!!Settings.settingsGet('PremType'));
this.community(!!Settings.settingsGet('Community'));
}
}
export {AbstractAppStore, AbstractAppStore as default};