Skip to content

Commit f6bf829

Browse files
author
Łukasz Serwatka
authored
Merge pull request #155 from ezsystems/EZP-30205-separate-content-tree-state-for-different-users
EZP-30205: As an editor I would like content tree to hold separate state for different users
2 parents d2b8947 + 93cfaa5 commit f6bf829

File tree

6 files changed

+15
-8
lines changed

6 files changed

+15
-8
lines changed

Resources/public/js/ContentTree.module.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Resources/public/js/ContentTree.module.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Resources/public/js/MultiFileUpload.module.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Resources/public/js/SubItems.module.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Resources/public/js/UniversalDiscovery.module.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/modules/content-tree/content.tree.module.js

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -136,20 +136,26 @@ export default class ContentTreeModule extends Component {
136136
}
137137

138138
readSubtree() {
139-
const { rootLocationId } = this.props;
139+
const { rootLocationId, userId } = this.props;
140140
const savedSubtrees = localStorage.getItem(KEY_CONTENT_TREE_SUBTREE);
141141
const subtrees = savedSubtrees ? JSON.parse(savedSubtrees) : null;
142-
const savedSubtree = subtrees ? subtrees[rootLocationId] : null;
142+
const userSubtrees = subtrees ? subtrees[userId] : null;
143+
const savedSubtree = userSubtrees ? userSubtrees[rootLocationId] : null;
143144
const subtree = savedSubtree ? JSON.parse(savedSubtree) : null;
144145

145146
return subtree;
146147
}
147148

148149
saveSubtree() {
150+
const { rootLocationId, userId } = this.props;
149151
const savedSubtreesStringified = localStorage.getItem(KEY_CONTENT_TREE_SUBTREE);
150152
const subtrees = savedSubtreesStringified ? JSON.parse(savedSubtreesStringified) : {};
151153

152-
subtrees[this.props.rootLocationId] = JSON.stringify(this.subtree);
154+
if (!subtrees[userId]) {
155+
subtrees[userId] = {};
156+
}
157+
158+
subtrees[userId][rootLocationId] = JSON.stringify(this.subtree);
153159

154160
localStorage.setItem(KEY_CONTENT_TREE_SUBTREE, JSON.stringify(subtrees));
155161
}
@@ -319,6 +325,7 @@ eZ.addConfig('modules.ContentTree', ContentTreeModule);
319325
ContentTreeModule.propTypes = {
320326
rootLocationId: PropTypes.number.isRequired,
321327
currentLocationPath: PropTypes.number.isRequired,
328+
userId: PropTypes.number.isRequired,
322329
preloadedLocations: PropTypes.arrayOf(PropTypes.object),
323330
subitemsLimit: PropTypes.number.isRequired,
324331
subitemsLoadLimit: PropTypes.number.isRequired,

0 commit comments

Comments
 (0)