summaryrefslogtreecommitdiffstats
path: root/web
diff options
context:
space:
mode:
authorralder <ralder@yandex.ru>2015-07-09 03:32:03 -0700
committerralder <ralder@yandex.ru>2015-07-10 12:38:16 -0700
commit6a559febc292c272da24df440d80ae3b26a31d7f (patch)
tree362c911a6277e0dece3d2bba25dc1215979dd520 /web
parent5bb2acc996dc037b15e5a2e1f27b29c87a6bb9b0 (diff)
downloadchat-6a559febc292c272da24df440d80ae3b26a31d7f.tar.gz
chat-6a559febc292c272da24df440d80ae3b26a31d7f.tar.bz2
chat-6a559febc292c272da24df440d80ae3b26a31d7f.zip
fix BrowserStore bug in actionOnItemsWithPrefix and refactor BrowserStore
Diffstat (limited to 'web')
-rw-r--r--web/react/components/delete_post_modal.jsx4
-rw-r--r--web/react/components/edit_post_modal.jsx7
-rw-r--r--web/react/components/signup_team_complete.jsx11
-rw-r--r--web/react/components/signup_user_complete.jsx13
-rw-r--r--web/react/stores/browser_store.jsx153
-rw-r--r--web/react/stores/channel_store.jsx64
-rw-r--r--web/react/stores/error_store.jsx11
-rw-r--r--web/react/stores/post_store.jsx59
-rw-r--r--web/react/stores/socket_store.jsx2
-rw-r--r--web/react/stores/team_store.jsx16
-rw-r--r--web/react/stores/user_store.jsx120
11 files changed, 150 insertions, 310 deletions
diff --git a/web/react/components/delete_post_modal.jsx b/web/react/components/delete_post_modal.jsx
index fefac12d7..11970bc2b 100644
--- a/web/react/components/delete_post_modal.jsx
+++ b/web/react/components/delete_post_modal.jsx
@@ -56,13 +56,13 @@ module.exports = React.createClass({
$(this.refs.modal.getDOMNode()).on('show.bs.modal', function(e) {
var newState = {};
if(BrowserStore.getItem('edit_state_transfer')) {
- newState = JSON.parse(BrowserStore.getItem('edit_state_transfer'));
+ newState = BrowserStore.getItem('edit_state_transfer');
BrowserStore.removeItem('edit_state_transfer');
} else {
var button = e.relatedTarget;
newState = { title: $(button).attr('data-title'), channel_id: $(button).attr('data-channelid'), post_id: $(button).attr('data-postid'), comments: $(button).attr('data-comments') };
}
- self.setState(newState)
+ self.setState(newState);
});
PostStore.addSelectedPostChangeListener(this._onChange);
},
diff --git a/web/react/components/edit_post_modal.jsx b/web/react/components/edit_post_modal.jsx
index d741e189b..21b75bb6e 100644
--- a/web/react/components/edit_post_modal.jsx
+++ b/web/react/components/edit_post_modal.jsx
@@ -4,6 +4,7 @@
var Client = require('../utils/client.jsx');
var AsyncClient = require('../utils/async_client.jsx');
var Textbox = require('./textbox.jsx');
+var BrowserStore = require('../stores/browser_store.jsx');
module.exports = React.createClass({
handleEdit: function(e) {
@@ -13,14 +14,14 @@ module.exports = React.createClass({
if (updatedPost.message.length === 0) {
var tempState = this.state;
delete tempState.editText;
- BrowserStore.setItem('edit_state_transfer', JSON.stringify(tempState));
+ BrowserStore.setItem('edit_state_transfer', tempState);
$("#edit_post").modal('hide');
$("#delete_post").modal('show');
return;
}
- updatedPost.id = this.state.post_id
- updatedPost.channel_id = this.state.channel_id
+ updatedPost.id = this.state.post_id;
+ updatedPost.channel_id = this.state.channel_id;
Client.updatePost(updatedPost,
function(data) {
diff --git a/web/react/components/signup_team_complete.jsx b/web/react/components/signup_team_complete.jsx
index 500ee231e..9e2a13955 100644
--- a/web/react/components/signup_team_complete.jsx
+++ b/web/react/components/signup_team_complete.jsx
@@ -596,19 +596,14 @@ PasswordPage = React.createClass({
module.exports = React.createClass({
updateParent: function(state, skipSet) {
- BrowserStore.setGlobalItem(this.props.hash, JSON.stringify(state));
+ BrowserStore.setGlobalItem(this.props.hash, state);
if (!skipSet) {
this.setState(state);
}
},
getInitialState: function() {
- var props = null;
- try {
- props = JSON.parse(BrowserStore.getGlobalItem(this.props.hash));
- }
- catch(parse_error) {
- }
+ var props = BrowserStore.getGlobalItem(this.props.hash);
if (!props) {
props = {};
@@ -628,7 +623,7 @@ module.exports = React.createClass({
props.data = this.props.data;
}
- return props ;
+ return props;
},
render: function() {
if (this.state.wizard == "welcome") {
diff --git a/web/react/components/signup_user_complete.jsx b/web/react/components/signup_user_complete.jsx
index fb96cc99f..fa0c26017 100644
--- a/web/react/components/signup_user_complete.jsx
+++ b/web/react/components/signup_user_complete.jsx
@@ -17,7 +17,7 @@ module.exports = React.createClass({
return;
}
- var username_error = utils.isValidUsername(this.state.user.username)
+ var username_error = utils.isValidUsername(this.state.user.username);
if (username_error === "Cannot use a reserved word as a username.") {
this.setState({name_error: "This username is reserved, please choose a new one.", email_error: "", password_error: "", server_error: ""});
return;
@@ -53,7 +53,7 @@ module.exports = React.createClass({
UserStore.setLastEmail(this.state.user.email);
UserStore.setCurrentUser(data);
if (this.props.hash > 0)
- BrowserStore.setGlobalItem(this.props.hash, JSON.stringify({wizard: "finished"}));
+ BrowserStore.setGlobalItem(this.props.hash, {wizard: "finished"});
window.location.href = '/channels/town-square';
}.bind(this),
function(err) {
@@ -73,12 +73,7 @@ module.exports = React.createClass({
);
},
getInitialState: function() {
- var props = null;
- try {
- props = JSON.parse(BrowserStore.getGlobalItem(this.props.hash));
- }
- catch(parse_error) {
- }
+ var props = BrowserStore.getGlobalItem(this.props.hash);
if (!props) {
props = {};
@@ -91,7 +86,7 @@ module.exports = React.createClass({
props.original_email = this.props.email;
}
- return props ;
+ return props;
},
render: function() {
diff --git a/web/react/stores/browser_store.jsx b/web/react/stores/browser_store.jsx
index 82cf9a942..4d6eb0b8d 100644
--- a/web/react/stores/browser_store.jsx
+++ b/web/react/stores/browser_store.jsx
@@ -1,85 +1,104 @@
// Copyright (c) 2015 Spinpunch, Inc. All Rights Reserved.
// See License.txt for license information.
-var UserStore = require('../stores/user_store.jsx');
-// Also change model/utils.go ETAG_ROOT_VERSION
-var BROWSER_STORE_VERSION = '.1';
-
-var _initialized = false;
-
-function _initialize() {
- var currentVersion = localStorage.getItem("local_storage_version");
- if (currentVersion !== BROWSER_STORE_VERSION) {
- localStorage.clear();
- sessionStorage.clear();
- localStorage.setItem("local_storage_version", BROWSER_STORE_VERSION);
- }
- _initialized = true;
+var UserStore;
+function getPrefix() {
+ if (!UserStore) UserStore = require('./user_store.jsx');
+ return UserStore.getCurrentId() + '_';
}
-module.exports.setItem = function(name, value) {
- if (!_initialized) _initialize();
- var user_id = UserStore.getCurrentId();
- localStorage.setItem(user_id + "_" + name, value);
-};
+// Also change model/utils.go ETAG_ROOT_VERSION
+var BROWSER_STORE_VERSION = '.3';
-module.exports.getItem = function(name) {
- if (!_initialized) _initialize();
- var user_id = UserStore.getCurrentId();
- return localStorage.getItem(user_id + "_" + name);
-};
+module.exports = {
+ _initialized: false,
-module.exports.removeItem = function(name) {
- if (!_initialized) _initialize();
- var user_id = UserStore.getCurrentId();
- localStorage.removeItem(user_id + "_" + name);
-};
+ _initialize: function() {
+ var currentVersion = localStorage.getItem("local_storage_version");
+ if (currentVersion !== BROWSER_STORE_VERSION) {
+ this.clear();
+ localStorage.setItem("local_storage_version", BROWSER_STORE_VERSION);
+ }
+ this._initialized = true;
+ },
-module.exports.setGlobalItem = function(name, value) {
- if (!_initialized) _initialize();
- localStorage.setItem(name, value);
-};
+ getItem: function(name, defaultValue) {
+ return this.getGlobalItem(getPrefix() + name, defaultValue);
+ },
-module.exports.getGlobalItem = function(name) {
- if (!_initialized) _initialize();
- return localStorage.getItem(name);
-};
+ setItem: function(name, value) {
+ this.setGlobalItem(getPrefix() + name, value);
+ },
-module.exports.removeGlobalItem = function(name) {
- if (!_initialized) _initialize();
- localStorage.removeItem(name);
-};
+ removeItem: function(name) {
+ if (!this._initialized) this._initialize();
-module.exports.clear = function() {
- localStorage.clear();
- sessionStorage.clear();
-};
+ localStorage.removeItem(getPrefix() + name);
+ },
+
+ setGlobalItem: function(name, value) {
+ if (!this._initialized) this._initialize();
+
+ localStorage.setItem(name, JSON.stringify(value));
+ },
+
+ getGlobalItem: function(name, defaultValue) {
+ if (!this._initialized) this._initialize();
-// Preforms the given action on each item that has the given prefix
-// Signiture for action is action(key, value)
-module.exports.actionOnItemsWithPrefix = function (prefix, action) {
- var user_id = UserStore.getCurrentId();
- var id_len = user_id.length;
- var prefix_len = prefix.length;
- for (var key in localStorage) {
- if (key.substring(id_len, id_len + prefix_len) === prefix) {
- var userkey = key.substring(id_len);
- action(userkey, BrowserStore.getItem(key));
+ var result = null;
+ try {
+ result = JSON.parse(localStorage.getItem(name));
+ } catch (err) {}
+
+ if (result === null && typeof defaultValue !== 'undefined') {
+ result = defaultValue;
}
- }
-};
-module.exports.isLocalStorageSupported = function() {
- try {
- sessionStorage.setItem("testSession", '1');
- sessionStorage.removeItem("testSession");
+ return result;
+ },
- localStorage.setItem("testLocal", '1');
- localStorage.removeItem("testLocal", '1');
+ removeGlobalItem: function(name) {
+ if (!this._initialized) this._initialize();
- return true;
- }
- catch (e) {
- return false;
+ localStorage.removeItem(name);
+ },
+
+ clear: function() {
+ localStorage.clear();
+ sessionStorage.clear();
+ },
+
+ /**
+ * Preforms the given action on each item that has the given prefix
+ * Signiture for action is action(key, value)
+ */
+ actionOnItemsWithPrefix: function (prefix, action) {
+ if (!this._initialized) this._initialize();
+
+ var globalPrefix = getPrefix();
+ var globalPrefixiLen = globalPrefix.length;
+ for (var key in localStorage) {
+ if (key.lastIndexOf(globalPrefix + prefix, 0) === 0) {
+ var userkey = key.substring(globalPrefixiLen);
+ action(userkey, this.getGlobalItem(key));
+ }
+ }
+ },
+
+ isLocalStorageSupported: function() {
+ try {
+ sessionStorage.setItem("testSession", '1');
+ sessionStorage.removeItem("testSession");
+
+ localStorage.setItem("testLocal", '1');
+ if (localStorage.getItem("testLocal") != '1') {
+ return false;
+ }
+ localStorage.removeItem("testLocal", '1');
+
+ return true;
+ } catch (e) {
+ return false;
+ }
}
};
diff --git a/web/react/stores/channel_store.jsx b/web/react/stores/channel_store.jsx
index 4429a5312..4a27e5f17 100644
--- a/web/react/stores/channel_store.jsx
+++ b/web/react/stores/channel_store.jsx
@@ -16,6 +16,7 @@ var MORE_CHANGE_EVENT = 'change';
var EXTRA_INFO_EVENT = 'extra_info';
var ChannelStore = assign({}, EventEmitter.prototype, {
+ _current_id: null,
emitChange: function() {
this.emit(CHANGE_EVENT);
},
@@ -88,10 +89,7 @@ var ChannelStore = assign({}, EventEmitter.prototype, {
return this._getMoreChannels();
},
setCurrentId: function(id) {
- if (id == null)
- BrowserStore.removeItem("current_channel_id");
- else
- BrowserStore.setItem("current_channel_id", id);
+ this._current_id = id;
},
setLastVisitedName: function(name) {
if (name == null)
@@ -117,10 +115,10 @@ var ChannelStore = assign({}, EventEmitter.prototype, {
this._storeChannelMembers(cm);
},
getCurrentId: function() {
- return BrowserStore.getItem("current_channel_id");
+ return this._current_id;
},
getCurrent: function() {
- var currentId = ChannelStore.getCurrentId();
+ var currentId = this.getCurrentId();
if (currentId != null)
return this.get(currentId);
@@ -165,49 +163,22 @@ var ChannelStore = assign({}, EventEmitter.prototype, {
return extra;
},
_storeChannels: function(channels) {
- BrowserStore.setItem("channels", JSON.stringify(channels));
+ BrowserStore.setItem("channels", channels);
},
_getChannels: function() {
- var channels = [];
- try {
- channels = JSON.parse(BrowserStore.getItem("channels"));
- }
- catch (err) {
- }
-
- if (channels == null) {
- channels = [];
- }
-
- return channels;
+ return BrowserStore.getItem("channels", []);
},
_storeChannelMembers: function(channelMembers) {
- BrowserStore.setItem("channel_members", JSON.stringify(channelMembers));
+ BrowserStore.setItem("channel_members", channelMembers);
},
_getChannelMembers: function() {
- var members = {};
- try {
- members = JSON.parse(BrowserStore.getItem("channel_members"));
- }
- catch (err) {
- }
-
- if (members == null) {
- members = {};
- }
-
- return members;
+ return BrowserStore.getItem("channel_members", {});
},
_storeMoreChannels: function(channels) {
- BrowserStore.setItem("more_channels", JSON.stringify(channels));
+ BrowserStore.setItem("more_channels", channels);
},
_getMoreChannels: function() {
- var channels = null;
- try {
- channels = JSON.parse(BrowserStore.getItem("more_channels"));
- }
- catch (err) {
- }
+ var channels = BrowserStore.getItem("more_channels");
if (channels == null) {
channels = {};
@@ -217,21 +188,10 @@ var ChannelStore = assign({}, EventEmitter.prototype, {
return channels;
},
_storeExtraInfos: function(extraInfos) {
- BrowserStore.setItem("extra_infos", JSON.stringify(extraInfos));
+ BrowserStore.setItem("extra_infos", extraInfos);
},
_getExtraInfos: function() {
- var members = {};
- try {
- members = JSON.parse(BrowserStore.getItem("extra_infos"));
- }
- catch (err) {
- }
-
- if (members == null) {
- members = {};
- }
-
- return members;
+ return BrowserStore.getItem("extra_infos", {});
}
});
diff --git a/web/react/stores/error_store.jsx b/web/react/stores/error_store.jsx
index 3aed6aef2..203b692ec 100644
--- a/web/react/stores/error_store.jsx
+++ b/web/react/stores/error_store.jsx
@@ -29,18 +29,11 @@ var ErrorStore = assign({}, EventEmitter.prototype, {
BrowserStore.removeItem("last_error");
},
getLastError: function() {
- var error = null;
- try {
- error = JSON.parse(BrowserStore.getItem("last_error"));
- }
- catch (err) {
- }
-
- return error;
+ return BrowserStore.getItem('last_error');
},
_storeLastError: function(error) {
- BrowserStore.setItem("last_error", JSON.stringify(error));
+ BrowserStore.setItem("last_error", error);
},
});
diff --git a/web/react/stores/post_store.jsx b/web/react/stores/post_store.jsx
index 8bf3fdcb2..e773bb688 100644
--- a/web/react/stores/post_store.jsx
+++ b/web/react/stores/post_store.jsx
@@ -106,55 +106,27 @@ var PostStore = assign({}, EventEmitter.prototype, {
this.emitChange();
},
_storePosts: function(channelId, posts) {
- BrowserStore.setItem("posts_" + channelId, JSON.stringify(posts));
+ BrowserStore.setItem("posts_" + channelId, posts);
},
getPosts: function(channelId) {
- var posts = null;
- try {
- posts = JSON.parse(BrowserStore.getItem("posts_" + channelId));
- }
- catch (err) {
- }
-
- return posts;
+ return BrowserStore.getItem("posts_" + channelId);
},
storeSearchResults: function(results, is_mention_search) {
- BrowserStore.setItem("search_results", JSON.stringify(results));
+ BrowserStore.setItem("search_results", results);
is_mention_search = is_mention_search ? true : false; // force to bool
- BrowserStore.setItem("is_mention_search", JSON.stringify(is_mention_search));
+ BrowserStore.setItem("is_mention_search", is_mention_search);
},
getSearchResults: function() {
- var results = null;
- try {
- results = JSON.parse(BrowserStore.getItem("search_results"));
- }
- catch (err) {
- }
-
- return results;
+ return BrowserStore.getItem("search_results");
},
getIsMentionSearch: function() {
- var result = false;
- try {
- result = JSON.parse(BrowserStore.getItem("is_mention_search"));
- }
- catch (err) {
- }
-
- return result;
+ return BrowserStore.getItem("is_mention_search");
},
storeSelectedPost: function(post_list) {
- BrowserStore.setItem("select_post", JSON.stringify(post_list));
+ BrowserStore.setItem("select_post", post_list);
},
getSelectedPost: function() {
- var post_list = null;
- try {
- post_list = JSON.parse(BrowserStore.getItem("select_post"));
- }
- catch (err) {
- }
-
- return post_list;
+ return BrowserStore.getItem("select_post");
},
storeSearchTerm: function(term) {
BrowserStore.setItem("search_term", term);
@@ -165,25 +137,24 @@ var PostStore = assign({}, EventEmitter.prototype, {
storeCurrentDraft: function(draft) {
var channel_id = ChannelStore.getCurrentId();
var user_id = UserStore.getCurrentId();
- BrowserStore.setItem("draft_" + channel_id + "_" + user_id, JSON.stringify(draft));
+ BrowserStore.setItem("draft_" + channel_id + "_" + user_id, draft);
},
getCurrentDraft: function() {
var channel_id = ChannelStore.getCurrentId();
var user_id = UserStore.getCurrentId();
- return JSON.parse(BrowserStore.getItem("draft_" + channel_id + "_" + user_id));
+ return BrowserStore.getItem("draft_" + channel_id + "_" + user_id);
},
storeDraft: function(channel_id, user_id, draft) {
- BrowserStore.setItem("draft_" + channel_id + "_" + user_id, JSON.stringify(draft));
+ BrowserStore.setItem("draft_" + channel_id + "_" + user_id, draft);
},
getDraft: function(channel_id, user_id) {
- return JSON.parse(BrowserStore.getItem("draft_" + channel_id + "_" + user_id));
+ return BrowserStore.getItem("draft_" + channel_id + "_" + user_id);
},
clearDraftUploads: function() {
BrowserStore.actionOnItemsWithPrefix("draft_", function (key, value) {
- var d = JSON.parse(value);
- if (d) {
- d['uploadsInProgress'] = 0;
- BrowserStore.setItem(key, JSON.stringify(d));
+ if (value) {
+ value.uploadsInProgress = 0;
+ BrowserStore.setItem(key, value);
}
});
}
diff --git a/web/react/stores/socket_store.jsx b/web/react/stores/socket_store.jsx
index 39800ead5..8ebb854c9 100644
--- a/web/react/stores/socket_store.jsx
+++ b/web/react/stores/socket_store.jsx
@@ -10,8 +10,6 @@ var client = require('../utils/client.jsx');
var Constants = require('../utils/constants.jsx');
var ActionTypes = Constants.ActionTypes;
-var BrowserStore = require('../stores/browser_store.jsx');
-
var CHANGE_EVENT = 'change';
var conn;
diff --git a/web/react/stores/team_store.jsx b/web/react/stores/team_store.jsx
index c494cb5b5..b7199a4a8 100644
--- a/web/react/stores/team_store.jsx
+++ b/web/react/stores/team_store.jsx
@@ -63,22 +63,10 @@ var TeamStore = assign({}, EventEmitter.prototype, {
this._storeTeams(teams);
},
_storeTeams: function(teams) {
- BrowserStore.setItem("user_teams", JSON.stringify(teams));
+ BrowserStore.setItem("user_teams", teams);
},
_getTeams: function() {
- var teams = {};
-
- try {
- teams = JSON.parse(BrowserStore.getItem("user_teams"));
- }
- catch (err) {
- }
-
- if (teams == null) {
- teams = {};
- }
-
- return teams;
+ return BrowserStore.getItem("user_teams", {});
}
});
diff --git a/web/react/stores/user_store.jsx b/web/react/stores/user_store.jsx
index e832b34c7..93ddfec70 100644
--- a/web/react/stores/user_store.jsx
+++ b/web/react/stores/user_store.jsx
@@ -8,7 +8,7 @@ var client = require('../utils/client.jsx');
var Constants = require('../utils/constants.jsx');
var ActionTypes = Constants.ActionTypes;
-var BrowserStore = require('../stores/browser_store.jsx');
+var BrowserStore = require('./browser_store.jsx');
var CHANGE_EVENT = 'change';
var CHANGE_EVENT_SESSIONS = 'change_sessions';
@@ -18,6 +18,8 @@ var CHANGE_EVENT_STATUSES = 'change_statuses';
var UserStore = assign({}, EventEmitter.prototype, {
+ _current_id: null,
+
emitChange: function(userId) {
this.emit(CHANGE_EVENT, userId);
},
@@ -64,13 +66,10 @@ var UserStore = assign({}, EventEmitter.prototype, {
this.removeListener(CHANGE_EVENT_STATUSES, callback);
},
setCurrentId: function(id) {
- if (id == null)
- BrowserStore.removeGlobalItem("current_user_id");
- else
- BrowserStore.setGlobalItem("current_user_id", id);
+ this._current_id = id;
},
getCurrentId: function(skipFetch) {
- var current_id = BrowserStore.getGlobalItem("current_user_id");
+ var current_id = this._current_id;
// this is a speical case to force fetch the
// current user if it's missing
@@ -97,21 +96,13 @@ var UserStore = assign({}, EventEmitter.prototype, {
this.setCurrentId(user.id);
},
getLastDomain: function() {
- var last_domain = BrowserStore.getItem("last_domain");
- if (last_domain == null) {
- last_domain = "";
- }
- return last_domain;
+ return BrowserStore.getItem("last_domain", '');
},
setLastDomain: function(domain) {
BrowserStore.setItem("last_domain", domain);
},
getLastEmail: function() {
- var last_email = BrowserStore.getItem("last_email");
- if (last_email == null) {
- last_email = "";
- }
- return last_email;
+ return BrowserStore.getItem("last_email", '');
},
setLastEmail: function(email) {
BrowserStore.setItem("last_email", email);
@@ -153,91 +144,36 @@ var UserStore = assign({}, EventEmitter.prototype, {
this._storeProfiles(ps);
},
_storeProfiles: function(profiles) {
- BrowserStore.setGlobalItem("profiles", JSON.stringify(profiles));
+ BrowserStore.setGlobalItem("profiles", profiles);
var profileUsernameMap = {};
for (var id in profiles) {
profileUsernameMap[profiles[id].username] = profiles[id];
}
- BrowserStore.setGlobalItem("profileUsernameMap", JSON.stringify(profileUsernameMap));
+ BrowserStore.setGlobalItem("profileUsernameMap", profileUsernameMap);
},
_getProfiles: function() {
- var profiles = {};
- try {
- profiles = JSON.parse(BrowserStore.getGlobalItem("profiles"));
- }
- catch (err) {
- }
-
- if (profiles == null) {
- profiles = {};
- }
-
- return profiles;
+ return BrowserStore.getGlobalItem("profiles", {});
},
_getProfilesUsernameMap: function() {
- var profileUsernameMap = {};
- try {
- profileUsernameMap = JSON.parse(BrowserStore.getGlobalItem("profileUsernameMap"));
- }
- catch (err) {
- }
-
- if (profileUsernameMap == null) {
- profileUsernameMap = {};
- }
-
- return profileUsernameMap;
+ return BrowserStore.getGlobalItem("profileUsernameMap", {});
},
setSessions: function(sessions) {
- BrowserStore.setItem("sessions", JSON.stringify(sessions));
+ BrowserStore.setItem("sessions", sessions);
},
getSessions: function() {
- var sessions = [];
- try {
- sessions = JSON.parse(BrowserStore.getItem("sessions"));
- }
- catch (err) {
- }
- if (sessions == null) {
- sessions = [];
- }
-
- return sessions;
+ return BrowserStore.getItem("sessions", []);
},
setAudits: function(audits) {
- BrowserStore.setItem("audits", JSON.stringify(audits));
+ BrowserStore.setItem("audits", audits);
},
getAudits: function() {
- var audits = [];
- try {
- audits = JSON.parse(BrowserStore.getItem("audits"));
- }
- catch (err) {
- }
-
- if (audits == null) {
- audits = [];
- }
-
- return audits;
+ return BrowserStore.getItem("audits", []);
},
setTeams: function(teams) {
- BrowserStore.setItem("teams", JSON.stringify(teams));
+ BrowserStore.setItem("teams", teams);
},
getTeams: function() {
- var teams = [];
- try {
- teams = JSON.parse(BrowserStore.getItem("teams"));
-
- }
- catch (err) {
- }
-
- if (teams == null) {
- teams = [];
- }
-
- return teams;
+ return BrowserStore.getItem("teams", []);
},
getCurrentMentionKeys: function() {
var user = this.getCurrentUser();
@@ -258,11 +194,7 @@ var UserStore = assign({}, EventEmitter.prototype, {
}
},
getLastVersion: function() {
- var last_version = BrowserStore.getItem("last_version");
- if (last_version == null) {
- last_version = "";
- }
- return last_version;
+ return BrowserStore.getItem("last_version", '');
},
setLastVersion: function(version) {
BrowserStore.setItem("last_version", version);
@@ -272,7 +204,7 @@ var UserStore = assign({}, EventEmitter.prototype, {
this.emitStatusesChange();
},
_setStatuses: function(statuses) {
- BrowserStore.setItem("statuses", JSON.stringify(statuses));
+ BrowserStore.setItem("statuses", statuses);
},
setStatus: function(user_id, status) {
var statuses = this.getStatuses();
@@ -281,18 +213,7 @@ var UserStore = assign({}, EventEmitter.prototype, {
this.emitStatusesChange();
},
getStatuses: function() {
- var statuses = {};
- try {
- statuses = JSON.parse(BrowserStore.getItem("statuses"));
- }
- catch (err) {
- }
-
- if (statuses == null) {
- statuses = {};
- }
-
- return statuses;
+ return BrowserStore.getItem("statuses", {});
},
getStatus: function(id) {
return this.getStatuses()[id];
@@ -341,4 +262,3 @@ UserStore.setMaxListeners(0);
global.window.UserStore = UserStore;
module.exports = UserStore;
-