www/secretary/workbench/views/status.js.rb (32 lines of code) (raw):

# # Encapsulate memory of selected item and delete stack # class Status def self.secmail return {} if not defined? sessionStorage JSON.parse(sessionStorage.getItem('secmail') || '{}') end def self.selected Status.secmail.selected end def self.selected=(value) secmail = Status.secmail secmail.selected=value sessionStorage.setItem('secmail', JSON.stringify(secmail)) end def self.undoStack secmail = Status.secmail return secmail.undoStack || [] end def self.pushDeleted(value) value = value[/\w+\/\w+\/?$/].sub(/\/?$/, '/') secmail = Status.secmail secmail.undoStack ||= [] secmail.undoStack << value sessionStorage.setItem('secmail', JSON.stringify(secmail)) end def self.popStack() secmail = Status.secmail secmail.undoStack ||= [] item = secmail.undoStack.pop() sessionStorage.setItem('secmail', JSON.stringify(secmail)) return item end end