Content
View differences
Updated by Parimal Satyal over 4 years ago
**As** a user of the team planner or the calendar
**I want to** change the date of work packages by drag and drop
**so that** I can do the planning directly inside the module without opening the work package in the split view.
**Acceptance criteria**
One of the primary advantages of the Team planner is the ability to adjust start/end times and change assignees simply by dragging work package strips. strips.
* Small "drag handles" on either end are always visible and allow the user to extend the work package to the left or to the right.
* The left handle modifies start date.
* The right handle modifies end date.
* It is possible that for certain work strips, only one (or indeed none!) of the edge handles are visible, when the start and end dates are beyond the date range visible in the calendar.
* The user may drag a work package strip horizontally within the same assignee row to adjust the start and end dates (keeping the duration constant).
* The user may drag a work package vertically from one row to another to assign it to another user (can also be done simulaneously with a horizotal scroll, ie., one can move the start date and change assignee in one drag-and-drop movement). (This is sspecified individually in work package <mention class="mention" data-id="39500" data-type="work_package" data-text="#39500">#39500</mention>).
* When a work package is being dragged, the "target" date cells--the ones over which the work strip will be moved to--become blue (same as when a date range is selected) to create a new work package. This is also how fullcalendar.io natively does it. _(For visual reference, see added screen below under "Visuals")._
* The modifications are executed immediately on release.
* The work package snaps to position upon release (from its free-floating state when being dragged).
* If the work package duration is longer than the time interval shown (e.g. two weeks), and when either the start date or end date are not visible, we will provide additional feedback to the user when dragging so that the user can ""preview" the new dates before dropping via "date tooltips" on each end that is out of view. (See visual below, or on Figma).
**Error handling**
* When a modification is successful, a green snackbar/toast displayed with the same string that is normally for successful modifications: "Successful update". _(The phrasing of this string could be improved, but we will not create new success strings in this work package)._
* Sometimes, a certain modification is unsuccessful for a range of reasons (detailed in epic <mention class="mention" data-id="39784" data-type="work_package" data-text="#39784">#39784</mention> under "Error handling and exceptions"). In this case, the dragged work package will be returned to its initial location (i.e, the original start date, end date and assignee values) and a red alert snackbar/toast is displayed.
* If the issue is related to permissions, the text should read: "Modification not possible due to issues with permissions." (**Question:** should we be more explicit? Suggest they contact their project admin?")
* If the issue is related to relations blocking date changes, the text should read: "The team planner currently does not currently allow you to move work packages with relations." (**Question:** thoughts on this phrasing, <mention class="mention" data-id="3" data-type="user" data-text="@Niels Lindenthal">@Niels Lindenthal</mention>, <mention class="mention" data-id="87" data-type="user" data-text="@Jens Ulferts">@Jens Ulferts</mention>?)
* Other cases...?
**Visuals**
_Dragging and dropping a work package strip to change assignee or start/end dates_
<figure class="image op-uc-figure"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/24534/content"></div></figure>
_A green snackbar confirming successful modification_
<figure class="image op-uc-figure"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/24535/content"></div></figure>
_Red snackbars warning that modification was unsuccessful_
<figure class="image op-uc-figure"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/24537/content"></div></figure>
<figure class="image op-uc-figure"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/24536/content"></div></figure>
**Date tool-tips when dragging a work package with start/end dates outside of visible range**
<figure class="image op-uc-figure"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/24560/content"></div></figure>
<figure class="image op-uc-figure"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/24561/content"></div></figure>
**I want to** change the date of work packages by drag and drop
**so that** I can do the planning directly inside the module without opening the work package in the split view.
**Acceptance criteria**
One of the primary advantages of the Team planner is the ability to adjust start/end times and change assignees simply by dragging work package strips.
* Small "drag handles" on either end are always visible and allow the user to extend the work package to the left or to the right.
* The left handle modifies start date.
* The right handle modifies end date.
* It is possible that for certain work strips, only one (or indeed none!) of the edge handles are visible, when the start and end dates are beyond the date range visible in the calendar.
* The user may drag a work package strip horizontally within the same assignee row to adjust the start and end dates (keeping the duration constant).
* The user may drag a work package vertically from one row to another to assign it to another user (can also be done simulaneously with a horizotal scroll, ie., one can move the start date and change assignee in one drag-and-drop movement). (This is sspecified individually in work package <mention class="mention" data-id="39500" data-type="work_package" data-text="#39500">#39500</mention>).
* When a work package is being dragged, the "target" date cells--the ones over which the work strip will be moved to--become blue (same as when a date range is selected) to create a new work package. This is also how fullcalendar.io natively does it. _(For visual reference, see added screen below under "Visuals")._
* The modifications are executed immediately on release.
* The work package snaps to position upon release (from its free-floating state when being dragged).
* If the work package duration is longer than the time interval shown (e.g. two weeks), and when either the start date or end date are not visible, we will provide additional feedback to the user when dragging so that the user can ""preview" the new dates before dropping via "date tooltips" on each end that is out of view. (See visual below, or on Figma).
**Error handling**
* When a modification is successful, a green snackbar/toast displayed with the same string that is normally for successful modifications: "Successful update". _(The phrasing of this string could be improved, but we will not create new success strings in this work package)._
* Sometimes, a certain modification is unsuccessful for a range of reasons (detailed in epic <mention class="mention" data-id="39784" data-type="work_package" data-text="#39784">#39784</mention> under "Error handling and exceptions"). In this case, the dragged work package will be returned to its initial location (i.e, the original start date, end date and assignee values) and a red alert snackbar/toast is displayed.
* If the issue is related to permissions, the text should read: "Modification not possible due to issues with permissions." (**Question:** should we be more explicit? Suggest they contact their project admin?")
* If the issue is related to relations blocking date changes, the text should read: "The team planner currently does not currently allow you to move work packages with relations." (**Question:** thoughts on this phrasing, <mention class="mention" data-id="3" data-type="user" data-text="@Niels Lindenthal">@Niels Lindenthal</mention>, <mention class="mention" data-id="87" data-type="user" data-text="@Jens Ulferts">@Jens Ulferts</mention>?)
* Other cases...?
**Visuals**
_Dragging and dropping a work package strip to change assignee or start/end dates_
<figure class="image op-uc-figure"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/24534/content"></div></figure>
_A green snackbar confirming successful modification_
<figure class="image op-uc-figure"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/24535/content"></div></figure>
**Date tool-tips when dragging a work package with start/end dates outside of visible range**
<figure class="image op-uc-figure"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/24560/content"></div></figure>
<figure class="image op-uc-figure"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/24561/content"></div></figure>