'use strict'; define( [ 'vent' ], function (vent) { return { Events: { ConfigUpdatedEvent: 'ConfigUpdatedEvent' }, Keys : { DefaultProfileId : 'DefaultProfileId', DefaultRootFolderId : 'DefaultRootFolderId', UseSeasonFolder : 'UseSeasonFolder', DefaultSeriesType : 'DefaultSeriesType', MonitorEpisodes : 'MonitorEpisodes', AdvancedSettings : 'advancedSettings' }, getValueBoolean: function (key, defaultValue) { defaultValue = defaultValue || false; return this.getValue(key, defaultValue.toString()) === 'true'; }, getValue: function (key, defaultValue) { var storeValue = window.localStorage.getItem(key); if (!storeValue) { return defaultValue; } return storeValue.toString(); }, setValue: function (key, value) { console.log('Config: [{0}] => [{1}]'.format(key, value)); if (this.getValue(key) === value.toString()) { return; } try { window.localStorage.setItem(key, value); vent.trigger(this.Events.ConfigUpdatedEvent, {key: key, value: value}); } catch (error) { console.error('Unable to save config: [{0}] => [{1}]'.format(key, value)); } } }; });