Closed
Bug 1222069
Opened 9 years ago
Closed 7 years ago
[User Story] Re-arrange Pinned Pages
Categories
(Firefox OS Graveyard :: Gaia::Homescreen, defect)
Tracking
(feature-b2g:2.6+)
People
(Reporter: benfrancis, Unassigned)
References
Details
(Keywords: feature, Whiteboard: [systemsfe])
User Story
As a user I want to be able to re-arrange pinned pages on the homescreen so that I can put them in an order that makes sense to me
Attachments
(1 file)
As a user I want to be able to re-arrange pinned pages on the homescreen so that I can put them in an order that makes sense to me
Reporter | ||
Updated•9 years ago
|
feature-b2g: --- → 2.6?
Comment 1•9 years ago
|
||
This is actually pretty easy, so I'll take it.
Ben, do you want us to store a separate order for pinned pages, or is it ok to just manipulate the pinned time to change the order?
Assignee: nobody → chrislord.net
Status: NEW → ASSIGNED
Flags: needinfo?(bfrancis)
Reporter | ||
Comment 2•9 years ago
|
||
I admire your enthusiasm Chris, but we may want to hold off on this until we do our next sprint plan. We should focus on intermittent test failures in this sprint and UX may have some input on this feature when we do release/sprint planning.
FWIW no I don't think we should manipulate the pinTime to change the order, we need something separate. We should probably sort by a different property rather than pinTime (pinTime may still be useful in future for other purposes like a frecency algorithm).
P.S. Please ignore this temporary component change hack of ridiculousness, it's a workaround.
Component: Gaia::Homescreen → Gaia::System::Browser Chrome
Flags: needinfo?(bfrancis)
Reporter | ||
Updated•9 years ago
|
Component: Gaia::System::Browser Chrome → Gaia::Homescreen
Updated•9 years ago
|
Target Milestone: --- → 2.6 S2 - 12/4
Comment 3•9 years ago
|
||
My plan here was to enable drag-and-drop on the container that has pinned pages, and add similar callback handlers to those on the apps page.
Things that would need doing:
- Add a PagesMetadata object to store/restore page order.
- Restore order from PagesMetadata while asynchronously loading pinned pages on startup.
- Stop using the 'order' style propery to enforce page order and use DOM order instead (alternatively, use the 'order' property but have a slightly more complicated drag-end handler and order-storing function)
- Stop listening to the 'contextmenu' event for edit mode and use a similar mechanism to that which is used in the apps panel (listen to drag events and activate edit mode when dragging a page without moving it over other pages).
- Add similar signal handlers and style classes to those in the apps panel (possibly shared?) to do:
- Drop-placement hinting
- Page-scrolling / overflow hiding (for performance)
- Making sure dragged page appears over other pages/has will-change: transform.
- Set drag-delay to zero in edit mode for the selected page, as is done in the apps panel for the selected icon.
- Store order on drag-rearrange signal.
- Marionette tests for pinned page order storing and drop-hinting, similar to apps panel tests.
Things that need considering that I hadn't fully considered yet:
- Mapping pin time to order on first run (to migrate existing order correctly/handle multiple pins while the homescreen isn't loaded)
I'd say it's approximately a week of solid work.
Assignee: chrislord.net → gmarty
Reporter | ||
Updated•9 years ago
|
feature-b2g: 2.6? → 2.6+
Comment 4•9 years ago
|
||
FYI, current WIP is here:
https://github.com/gmarty/gaia/tree/Bug-1222069-Re-arrange-Pinned-Pages
Updated•9 years ago
|
Target Milestone: 2.6 S2 - 12/4 → 2.6 S3 - 12/18
Updated•9 years ago
|
Target Milestone: 2.6 S3 - 12/18 → 2.6 S4 - 1/1
Comment 5•9 years ago
|
||
Comment 6•9 years ago
|
||
Comment on attachment 8709940 [details] [review]
[gaia] gmarty:Bug-1222069-Re-arrange-Pinned-Pages > mozilla-b2g:master
The current patch needs some polishing but the code is almost there. I'd like to get some feedback before diving into testing.
Attachment #8709940 -
Flags: feedback?(chrislord.net)
Comment 7•9 years ago
|
||
Comment on attachment 8709940 [details] [review]
[gaia] gmarty:Bug-1222069-Re-arrange-Pinned-Pages > mozilla-b2g:master
Great stuff! I have a couple of nits, but nothing much at all. The diff does highlight how much code duplication we'll have though - I think once this and app grouping lands, we should try to refactor and share the drag-n-drop code, but we're fine for now.
Ftr, I don't think this will conflict significantly with app grouping, unless there are significant test changes, so don't worry about landing this if you beat me to it (which you almost certainly will).
Attachment #8709940 -
Flags: feedback?(chrislord.net) → feedback+
Comment 8•9 years ago
|
||
Comment on attachment 8709940 [details] [review]
[gaia] gmarty:Bug-1222069-Re-arrange-Pinned-Pages > mozilla-b2g:master
The patch is ready for review. I fixed some bugs and tests since you gave f+.
How does it look like?
Attachment #8709940 -
Flags: review?(chrislord.net)
Comment 9•9 years ago
|
||
Comment on attachment 8709940 [details] [review]
[gaia] gmarty:Bug-1222069-Re-arrange-Pinned-Pages > mozilla-b2g:master
Mainly nits, but I think you should add some marionette tests if possible. Nice and comprehensive unit testing though :)
If you disagree, I don't mind too much - but I would like to see a version with all/most of the nits addressed before the r+.
Attachment #8709940 -
Flags: review?(chrislord.net)
Comment 11•9 years ago
|
||
Will this feature be landed in 2.6?
Updated•8 years ago
|
Assignee: gmarty → nobody
Status: ASSIGNED → NEW
Comment 12•7 years ago
|
||
Firefox OS is not being worked on
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → WONTFIX
You need to log in
before you can comment on or make changes to this bug.
Description
•