keeweb/app/scripts/views/settings/settings-general-view.js

74 lines
2.2 KiB
JavaScript
Raw Normal View History

2015-10-17 23:49:24 +02:00
'use strict';
var Backbone = require('backbone'),
Launcher = require('../../comp/launcher'),
2015-10-25 20:26:33 +01:00
Updater = require('../../comp/updater'),
Format = require('../../util/format'),
2015-10-17 23:49:24 +02:00
AppSettingsModel = require('../../models/app-settings-model');
var SettingsGeneralView = Backbone.View.extend({
template: require('templates/settings/settings-general.html'),
events: {
2015-10-25 20:26:33 +01:00
'change #settings__general-theme': 'changeTheme',
'change #settings__general-auto-update': 'changeAutoUpdate',
2015-10-23 22:12:12 +02:00
'click .settings__general-dev-tools-link': 'openDevTools'
2015-10-17 23:49:24 +02:00
},
allThemes: {
d: 'default',
fb: 'flat blue',
wh: 'white'
},
render: function() {
2015-10-25 20:26:33 +01:00
var lastUpdateCheck;
switch (Updater.status) {
case 'checking':
lastUpdateCheck = 'Checking...';
break;
case 'err':
lastUpdateCheck = 'Error checking';
break;
case 'ok':
lastUpdateCheck = Format.dtStr(Updater.lastCheckDate) + ': ' +
(Updater.needUpdate ? 'New version available: ' + Updater.lastVersion +
' (released ' + Format.dStr(Updater.lastVersionReleaseDate) + ')'
: 'You are using the latest version');
break;
default:
lastUpdateCheck = 'Never';
break;
}
2015-10-17 23:49:24 +02:00
this.renderTemplate({
themes: this.allThemes,
2015-10-25 20:26:33 +01:00
activeTheme: AppSettingsModel.instance.get('theme'),
autoUpdate: AppSettingsModel.instance.get('autoUpdate'),
canAutoUpdate: !!Launcher,
lastUpdateCheck: lastUpdateCheck,
2015-10-23 22:12:12 +02:00
devTools: Launcher && Launcher.devTools
2015-10-17 23:49:24 +02:00
});
},
changeTheme: function(e) {
var theme = e.target.value;
AppSettingsModel.instance.set('theme', theme);
2015-10-23 22:12:12 +02:00
},
2015-10-25 20:26:33 +01:00
changeAutoUpdate: function(e) {
var autoUpdate = e.target.checked;
AppSettingsModel.instance.set('autoUpdate', autoUpdate);
if (autoUpdate) {
Updater.check();
}
},
2015-10-23 22:12:12 +02:00
openDevTools: function() {
if (Launcher) {
Launcher.openDevTools();
}
2015-10-17 23:49:24 +02:00
}
});
module.exports = SettingsGeneralView;