/*global alert */ var appStates, SettingsAppController; appStates = { active: 'active', working: 'working', inactive: 'inactive' }; SettingsAppController = Ember.ObjectController.extend({ appState: appStates.active, buttonText: '', setAppState: function () { this.set('appState', this.get('active') ? appStates.active : appStates.inactive); }.on('init'), buttonTextSetter: function () { switch (this.get('appState')) { case appStates.active: this.set('buttonText', 'Deactivate'); break; case appStates.inactive: this.set('buttonText', 'Activate'); break; case appStates.working: this.set('buttonText', 'Working'); break; } }.observes('appState').on('init'), activeClass: Ember.computed('appState', function () { return this.appState === appStates.active ? true : false; }), inactiveClass: Ember.computed('appState', function () { return this.appState === appStates.inactive ? true : false; }), actions: { toggleApp: function (app) { var self = this; this.set('appState', appStates.working); app.set('active', !app.get('active')); app.save().then(function () { self.setAppState(); }) .then(function () { alert('@TODO: Success'); }) .catch(function () { alert('@TODO: Failure'); }); } } }); export default SettingsAppController;