Skip to content

Design view: moveable design note pins

Tom Quirk requested to merge moveable-comment-pins into master

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
  • Adding userPermissions and discussion to DesignNote 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

new-note-final-demo

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

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 🤖

Merge request reports

Loading