devgeeks/Encryptr — pull request #25 by kenmanheimer (2014-01-22 21:28:59+00:00)
Title: Folders are working

- Folders can be added, persist, like other items
- Folders are models that have entry collections as contents
- contained EntriesCollection is ``FolderModel.contents``
- the id of the EntriesCollection is ``FolderModel.get("contentsId")``
- Navigate into a folder by tapping on it
- there, you can add any kind of entries, including other folders
- use a back button to ascend back (button currently inside the main menu, should be separate)
- The contained EntriesCollection is fetched every time the FolderModel
is fetched. This means we defer heavily to Crypton for caching /
updating behaviors, rather than depending on backbone for it.
- we still have just one sync routine, in backbone.crypton.js
- we may want to rethink that. including unravelling ``.modelId`` versus ``.container``
versus (new) ``FolderModel.contents`` and ``.contentsId``

What's missing:

- Distinct back button, to ascend from folder
- I think we should show both the back button and menu button on
every view *except* the top-level entries folder
- where we should just show the menu button
- the order should be menu button then back button
- I would have implemented this, but there are choices to make. And some code churn.
- Folder name in screen title
- Folder (name) edit - in main menu, for every folder view except top level
- Folder delete - also in main menu, also for every folder except top level
- prompts to confirm deletion of all (recursive) contents
- Ordering - currently too arbitrary
- probably best: all items lexically sorted by name
- but could be folders first, then all entries, each section lexically sorted
- Item relocate
- relocate menu entry for any item, including folders, except top level
- it presents a navigation widget, by which user can nav to new location for the item
- starts from container of current item