Overview
https://github.com/FreelyGive/contacts/wiki/Creating-the-initial-drag-and-drop-UI
We want a simple way to manage the dashboard. This includes:
- Adding Tabs
- Adding Profile Types
- Adding Roles
- Adding Profile/Views to tabs
- Reordering the content of tabs
- Etc.
Issues
#56 Management Sidebar
- Button to expand sidebar
- The content of the sidebar is the available profiles and views
- Limit to available blocks for the currently being viewed user
- Limit views to ones that have been 'tagged' as 'contacts'
#57 Management Mode
- We need to replace the tab content region with drag and drop regions
- We need to render the blocks as draggable objects that also show configurable fields (eg. title, display mode)
- We want to have a render callback for blocks in 'manage mode' similar to the callback for the blocks now, so we can update the page with ajax.
#58 Persistent saving
- We want to save whenever a change is made in Management mode
- That is when a block is added, moved or deleted
- Single post request that has all the information needed regardless of 'action'
#59 Easy/Advanced Mode
- We want a site wide setting to swap between easy and advanced management.
- This needs fleshing out, but easy mode ties together one user_role(/'hat') with one profile type and one tab. This meets most simple crm use cases.
- Advanced mode is a setting that changes the site to be able to have multiple different profile types mixed in the same tab.
- We probably want a single form (in easy mode) that adds a 'data slice'. This data slice creates a tab, profile type, and user role. Any user that gets given that role will automatically have that tab with the profile in the default display mode in it. Display mode and title as well as tab title are still editable in this mode.
#60 Easy Mode Tab creation
We do not want people to have to think about the relationships to profile types when creating a new tab. By default, when a new tab is created, it will receive all the relationships that are accessible to the contact that is being managed. In a separate area of the site, they will be able to edit this, but we don't worry about this during creation.
- A tab cannot be deleted if it has active relationships
- If a relationship is removed(/deactivated) this will hide the content that requires that relationship but not remove it.
- If all relationships on the tab are deactivated, it will automatically get removed(/hidden).
Overview
https://github.com/FreelyGive/contacts/wiki/Creating-the-initial-drag-and-drop-UI
We want a simple way to manage the dashboard. This includes:
Issues
#56 Management Sidebar
#57 Management Mode
#58 Persistent saving
#59 Easy/Advanced Mode
#60 Easy Mode Tab creation
We do not want people to have to think about the relationships to profile types when creating a new tab. By default, when a new tab is created, it will receive all the relationships that are accessible to the contact that is being managed. In a separate area of the site, they will be able to edit this, but we don't worry about this during creation.