Finishing centralization of BrowserStore
Этот коммит содержится в:
@@ -7,6 +7,7 @@
|
|||||||
var utils = require('../utils/utils.jsx');
|
var utils = require('../utils/utils.jsx');
|
||||||
var client = require('../utils/client.jsx');
|
var client = require('../utils/client.jsx');
|
||||||
var UserStore = require('../stores/user_store.jsx');
|
var UserStore = require('../stores/user_store.jsx');
|
||||||
|
var BrowserStore = require('../stores/browser_store.jsx');
|
||||||
|
|
||||||
|
|
||||||
var FindTeamDomain = React.createClass({
|
var FindTeamDomain = React.createClass({
|
||||||
@@ -21,7 +22,7 @@ var FindTeamDomain = React.createClass({
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!utils.isLocalStorageSupported()) {
|
if (!BrowserStore.isLocalStorageSupported()) {
|
||||||
state.server_error = "This service requires local storage to be enabled. Please enable it or exit private browsing.";
|
state.server_error = "This service requires local storage to be enabled. Please enable it or exit private browsing.";
|
||||||
this.setState(state);
|
this.setState(state);
|
||||||
return;
|
return;
|
||||||
@@ -114,7 +115,7 @@ module.exports = React.createClass({
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!utils.isLocalStorageSupported()) {
|
if (!BrowserStore.isLocalStorageSupported()) {
|
||||||
state.server_error = "This service requires local storage to be enabled. Please enable it or exit private browsing.";
|
state.server_error = "This service requires local storage to be enabled. Please enable it or exit private browsing.";
|
||||||
this.setState(state);
|
this.setState(state);
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -5,11 +5,12 @@
|
|||||||
var utils = require('../utils/utils.jsx');
|
var utils = require('../utils/utils.jsx');
|
||||||
var client = require('../utils/client.jsx');
|
var client = require('../utils/client.jsx');
|
||||||
var UserStore = require('../stores/user_store.jsx');
|
var UserStore = require('../stores/user_store.jsx');
|
||||||
var constants = require('../utils/constants.jsx')
|
var BrowserStore = require('../stores/browser_store.jsx');
|
||||||
|
var constants = require('../utils/constants.jsx');
|
||||||
|
|
||||||
WelcomePage = React.createClass({
|
WelcomePage = React.createClass({
|
||||||
submitNext: function (e) {
|
submitNext: function (e) {
|
||||||
if (!utils.isLocalStorageSupported()) {
|
if (!BrowserStore.isLocalStorageSupported()) {
|
||||||
this.setState({ storage_error: "This service requires local storage to be enabled. Please enable it or exit private browsing."} );
|
this.setState({ storage_error: "This service requires local storage to be enabled. Please enable it or exit private browsing."} );
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -32,7 +33,7 @@ WelcomePage = React.createClass({
|
|||||||
this.setState(state);
|
this.setState(state);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else if (!utils.isLocalStorageSupported()) {
|
else if (!BrowserStore.isLocalStorageSupported()) {
|
||||||
state.email_error = "This service requires local storage to be enabled. Please enable it or exit private browsing.";
|
state.email_error = "This service requires local storage to be enabled. Please enable it or exit private browsing.";
|
||||||
this.setState(state);
|
this.setState(state);
|
||||||
return;
|
return;
|
||||||
@@ -595,7 +596,7 @@ PasswordPage = React.createClass({
|
|||||||
|
|
||||||
module.exports = React.createClass({
|
module.exports = React.createClass({
|
||||||
updateParent: function(state, skipSet) {
|
updateParent: function(state, skipSet) {
|
||||||
localStorage.setItem(this.props.hash, JSON.stringify(state));
|
BrowserStore.setGlobalItem(this.props.hash, JSON.stringify(state));
|
||||||
|
|
||||||
if (!skipSet) {
|
if (!skipSet) {
|
||||||
this.setState(state);
|
this.setState(state);
|
||||||
@@ -604,7 +605,7 @@ module.exports = React.createClass({
|
|||||||
getInitialState: function() {
|
getInitialState: function() {
|
||||||
var props = null;
|
var props = null;
|
||||||
try {
|
try {
|
||||||
props = JSON.parse(localStorage.getItem(this.props.hash));
|
props = JSON.parse(BrowserStore.getGlobalItem(this.props.hash));
|
||||||
}
|
}
|
||||||
catch(parse_error) {
|
catch(parse_error) {
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
var utils = require('../utils/utils.jsx');
|
var utils = require('../utils/utils.jsx');
|
||||||
var client = require('../utils/client.jsx');
|
var client = require('../utils/client.jsx');
|
||||||
var UserStore = require('../stores/user_store.jsx');
|
var UserStore = require('../stores/user_store.jsx');
|
||||||
|
var BrowserStore = require('../stores/browser_store.jsx');
|
||||||
|
|
||||||
module.exports = React.createClass({
|
module.exports = React.createClass({
|
||||||
handleSubmit: function(e) {
|
handleSubmit: function(e) {
|
||||||
@@ -53,7 +53,7 @@ module.exports = React.createClass({
|
|||||||
UserStore.setLastEmail(this.state.user.email);
|
UserStore.setLastEmail(this.state.user.email);
|
||||||
UserStore.setCurrentUser(data);
|
UserStore.setCurrentUser(data);
|
||||||
if (this.props.hash > 0)
|
if (this.props.hash > 0)
|
||||||
localStorage.setItem(this.props.hash, JSON.stringify({wizard: "finished"}));
|
BrowserStore.setGlobalItem(this.props.hash, JSON.stringify({wizard: "finished"}));
|
||||||
window.location.href = '/channels/town-square';
|
window.location.href = '/channels/town-square';
|
||||||
}.bind(this),
|
}.bind(this),
|
||||||
function(err) {
|
function(err) {
|
||||||
@@ -75,7 +75,7 @@ module.exports = React.createClass({
|
|||||||
getInitialState: function() {
|
getInitialState: function() {
|
||||||
var props = null;
|
var props = null;
|
||||||
try {
|
try {
|
||||||
props = JSON.parse(localStorage.getItem(this.props.hash));
|
props = JSON.parse(BrowserStore.getGlobalItem(this.props.hash));
|
||||||
}
|
}
|
||||||
catch(parse_error) {
|
catch(parse_error) {
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,6 +28,18 @@ module.exports.removeItem = function(name) {
|
|||||||
localStorage.removeItem(user_id + "_" + name);
|
localStorage.removeItem(user_id + "_" + name);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
module.exports.setGlobalItem = function(name, value) {
|
||||||
|
localStorage.setItem(name, value);
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports.getGlobalItem = function(name) {
|
||||||
|
return localStorage.getItem(name);
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports.removeGlobalItem = function(name) {
|
||||||
|
localStorage.removeItem(name);
|
||||||
|
};
|
||||||
|
|
||||||
module.exports.clear = function() {
|
module.exports.clear = function() {
|
||||||
localStorage.clear();
|
localStorage.clear();
|
||||||
sessionStorage.clear();
|
sessionStorage.clear();
|
||||||
@@ -46,3 +58,18 @@ module.exports.actionOnItemsWithPrefix = function (prefix, action) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
module.exports.isLocalStorageSupported = function() {
|
||||||
|
try {
|
||||||
|
sessionStorage.setItem("testSession", '1');
|
||||||
|
sessionStorage.removeItem("testSession");
|
||||||
|
|
||||||
|
localStorage.setItem("testLocal", '1');
|
||||||
|
localStorage.removeItem("testLocal", '1');
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
catch (e) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -65,12 +65,12 @@ var UserStore = assign({}, EventEmitter.prototype, {
|
|||||||
},
|
},
|
||||||
setCurrentId: function(id) {
|
setCurrentId: function(id) {
|
||||||
if (id == null)
|
if (id == null)
|
||||||
localStorage.removeItem("current_user_id");
|
BrowserStore.removeGlobalItem("current_user_id");
|
||||||
else
|
else
|
||||||
localStorage.setItem("current_user_id", id);
|
BrowserStore.setGlobalItem("current_user_id", id);
|
||||||
},
|
},
|
||||||
getCurrentId: function(skipFetch) {
|
getCurrentId: function(skipFetch) {
|
||||||
var current_id = localStorage.getItem("current_user_id");
|
var current_id = BrowserStore.getGlobalItem("current_user_id");
|
||||||
|
|
||||||
// this is a speical case to force fetch the
|
// this is a speical case to force fetch the
|
||||||
// current user if it's missing
|
// current user if it's missing
|
||||||
@@ -153,17 +153,17 @@ var UserStore = assign({}, EventEmitter.prototype, {
|
|||||||
this._storeProfiles(ps);
|
this._storeProfiles(ps);
|
||||||
},
|
},
|
||||||
_storeProfiles: function(profiles) {
|
_storeProfiles: function(profiles) {
|
||||||
localStorage.setItem("profiles", JSON.stringify(profiles));
|
BrowserStore.setGlobalItem("profiles", JSON.stringify(profiles));
|
||||||
var profileUsernameMap = {};
|
var profileUsernameMap = {};
|
||||||
for (var id in profiles) {
|
for (var id in profiles) {
|
||||||
profileUsernameMap[profiles[id].username] = profiles[id];
|
profileUsernameMap[profiles[id].username] = profiles[id];
|
||||||
}
|
}
|
||||||
localStorage.setItem("profileUsernameMap", JSON.stringify(profileUsernameMap));
|
BrowserStore.setGlobalItem("profileUsernameMap", JSON.stringify(profileUsernameMap));
|
||||||
},
|
},
|
||||||
_getProfiles: function() {
|
_getProfiles: function() {
|
||||||
var profiles = {};
|
var profiles = {};
|
||||||
try {
|
try {
|
||||||
profiles = JSON.parse(localStorage.getItem("profiles"));
|
profiles = JSON.parse(BrowserStore.getGlobalItem("profiles"));
|
||||||
}
|
}
|
||||||
catch (err) {
|
catch (err) {
|
||||||
}
|
}
|
||||||
@@ -177,7 +177,7 @@ var UserStore = assign({}, EventEmitter.prototype, {
|
|||||||
_getProfilesUsernameMap: function() {
|
_getProfilesUsernameMap: function() {
|
||||||
var profileUsernameMap = {};
|
var profileUsernameMap = {};
|
||||||
try {
|
try {
|
||||||
profileUsernameMap = JSON.parse(localStorage.getItem("profileUsernameMap"));
|
profileUsernameMap = JSON.parse(BrowserStore.getGlobalItem("profileUsernameMap"));
|
||||||
}
|
}
|
||||||
catch (err) {
|
catch (err) {
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -97,20 +97,6 @@ module.exports.getCookie = function(name) {
|
|||||||
if (parts.length == 2) return parts.pop().split(";").shift();
|
if (parts.length == 2) return parts.pop().split(";").shift();
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports.isLocalStorageSupported = function() {
|
|
||||||
try {
|
|
||||||
sessionStorage.setItem("testSession", '1');
|
|
||||||
sessionStorage.removeItem("testSession");
|
|
||||||
|
|
||||||
localStorage.setItem("testLocal", '1');
|
|
||||||
localStorage.removeItem("testLocal", '1');
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
catch (e) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports.notifyMe = function(title, body, channel) {
|
module.exports.notifyMe = function(title, body, channel) {
|
||||||
if ("Notification" in window && Notification.permission !== 'denied') {
|
if ("Notification" in window && Notification.permission !== 'denied') {
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user