Design view: moveable design note pins
What does this MR do?
Adds ability to move pins on a design within Design Management (raised in #34353 (closed)).
What is involved?
3 main parts:
- Adding logic and event handlers to enable note-moving functionality
- Supporting new graphQL mutation,
updateImageDiffNote
- Adds function to
cache_update
to update Apollo Cache - Adds optimistic response builder func. for this mutation
- Adds function to
- Adding
userPermissions
anddiscussion
toDesignNote
graphql fragment
This MR is currently targeting branch moveable-new-comment-pin
, and depends on !24769 (merged) being merged.
Testing this MR
To test E2E (with backend)
A branch has been created, tq/temp-movable-note-pins-be-fe
. This branch has:
- Everything from
34353-graphql-mutation-update-image-diff
, which is where backend component is implemented - Everything from this MR (literally
git merge moveable-comment-pins
)
To Test w/ no backend
To test without backend, apply the following diff to design/index.vue
:
this.updateImageDiffNoteInStore(this.$apollo.getClient().cache, {
data: updateImageDiffNoteOptimisticResponse(note, { position }),
});
// return this.$apollo.mutate(mutationPayload).catch(e => this.onUpdateImageDiffNoteError(e));
This doesn't perform the GraphQL query, but instead uses the optimistic response.
Demo video
Video demonstrates:
- moving comments (and while zoomed in)
- attempting to move note outside of image boundary
- moving new comment pin
Does this MR meet the acceptance criteria?
Conformity
-
Changelog entry -
Documentation (if required) -
Code review guidelines -
Merge request performance guidelines -
Style guides - [-] Database guides
- [-] Separation of EE specific content
Availability and Testing
-
Review and add/update tests for this feature/bug. Consider all test levels. See the Test Planning Process. -
Tested in all supported browsers - [-] Informed Infrastructure department of a default or new setting change, if applicable per definition of done
Security
If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:
- [-] Label as security and @ mention
@gitlab-com/gl-security/appsec
- [-] The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
- [-] Security reports checked/validated by a reviewer from the AppSec team
Edited by 🤖 GitLab Bot 🤖