Closed Bug 1222069 Opened 9 years ago Closed 7 years ago

[User Story] Re-arrange Pinned Pages

Categories

(Firefox OS Graveyard :: Gaia::Homescreen, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

(feature-b2g:2.6+)

RESOLVED WONTFIX
2.6 S4 - 1/1
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
feature-b2g: --- → 2.6?
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)
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)
Component: Gaia::System::Browser Chrome → Gaia::Homescreen
Target Milestone: --- → 2.6 S2 - 12/4
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
feature-b2g: 2.6? → 2.6+
Target Milestone: 2.6 S2 - 12/4 → 2.6 S3 - 12/18
Target Milestone: 2.6 S3 - 12/18 → 2.6 S4 - 1/1
Comment on attachment 8709940 [details] [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 on attachment 8709940 [details] [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 on attachment 8709940 [details] [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 on attachment 8709940 [details] [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)
Will this feature be landed in 2.6?
Assignee: gmarty → nobody
Status: ASSIGNED → NEW
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.

Attachment

General

Created:
Updated:
Size: