diff options
Diffstat (limited to 'app/assets/javascripts/visual_review_toolbar/components/comment_storage.js')
-rw-r--r-- | app/assets/javascripts/visual_review_toolbar/components/comment_storage.js | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/app/assets/javascripts/visual_review_toolbar/components/comment_storage.js b/app/assets/javascripts/visual_review_toolbar/components/comment_storage.js new file mode 100644 index 00000000000..49c9400437e --- /dev/null +++ b/app/assets/javascripts/visual_review_toolbar/components/comment_storage.js @@ -0,0 +1,20 @@ +import { selectCommentBox } from './utils'; +import { sessionStorage, STORAGE_COMMENT } from '../shared'; + +const getSavedComment = () => sessionStorage.getItem(STORAGE_COMMENT) || ''; + +const saveComment = () => { + const currentComment = selectCommentBox(); + + // This may be added to any view via top-level beforeunload listener + // so let's skip if it does not apply + if (currentComment && currentComment.value) { + sessionStorage.setItem(STORAGE_COMMENT, currentComment.value); + } +}; + +const clearSavedComment = () => { + sessionStorage.removeItem(STORAGE_COMMENT); +}; + +export { getSavedComment, saveComment, clearSavedComment }; |