Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update dataset/dataset field tagging experience #2761

Merged
merged 22 commits into from
Apr 16, 2024

Conversation

davidsharp7
Copy link
Member

@davidsharp7 davidsharp7 commented Mar 7, 2024

Problem

The Adding and deleting of tags was not providing an intuitive and seemless experience.

Solution

Based on the feedback i've changed how the datasets details/tags/info components work by introducing a switch which allows field level tags to be exposed. Refresh only now occurs when the slide toggle is true. You can add multiple tags in one go now as well.

Screenshot 2024-04-03 at 16 22 46 Screenshot 2024-04-03 at 16 23 03

Screenshot 2024-04-05 at 16 41 18

One-line summary:

Update dataset/dataset field tagging experience.

Checklist

  • You've signed-off your work
  • Your changes are accompanied by tests (if relevant)
  • Your change contains a small diff and is self-contained
  • You've updated any relevant documentation (if relevant)
  • You've included a one-line summary of your change for the CHANGELOG.md (Depending on the change, this may not be necessary).
  • You've versioned your .sql database schema migration according to Flyway's naming convention (if relevant)
  • You've included a header in any source code files (if relevant)

Signed-off-by: sharpd <davidsharp7@gmail.com>
Signed-off-by: sharpd <davidsharp7@gmail.com>
Signed-off-by: sharpd <davidsharp7@gmail.com>
@boring-cyborg boring-cyborg bot added the web label Mar 7, 2024
Copy link

netlify bot commented Mar 7, 2024

Deploy Preview for peppy-sprite-186812 canceled.

Name Link
🔨 Latest commit 3bb97d4
🔍 Latest deploy log https://app.netlify.com/sites/peppy-sprite-186812/deploys/661f0a5e721c940008ad860c

Signed-off-by: sharpd <davidsharp7@gmail.com>
@davidsharp7 davidsharp7 marked this pull request as ready for review March 7, 2024 21:17
Copy link

codecov bot commented Mar 7, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 84.47%. Comparing base (17909a2) to head (ef2de7b).

❗ Current head ef2de7b differs from pull request most recent head 3bb97d4. Consider uploading reports for the commit 3bb97d4 to get more accurate results

Additional details and impacted files
@@            Coverage Diff            @@
##               main    #2761   +/-   ##
=========================================
  Coverage     84.47%   84.47%           
  Complexity     1429     1429           
=========================================
  Files           251      251           
  Lines          6460     6460           
  Branches        299      299           
=========================================
  Hits           5457     5457           
  Misses          850      850           
  Partials        153      153           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@wslulciuc wslulciuc requested a review from phixMe March 8, 2024 07:45
@wslulciuc wslulciuc added the bug Something isn't working label Mar 8, 2024
@wslulciuc wslulciuc added this to the 0.46.0 milestone Mar 8, 2024
Signed-off-by: sharpd <davidsharp7@gmail.com>
@boring-cyborg boring-cyborg bot added the api API layer changes label Mar 11, 2024
@@ -32,7 +32,7 @@ export type IDatasetsState = {
totalCount: number
init: boolean
deletedDatasetName: string
refreshTags: boolean
refreshTags: string
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why would this be a string and not a boolean?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So the thinking is twofold - one to bring it into line with

}, [lineageDataset.name, datasets.refreshTags])

where we are refreshing based on the change in dataset name.

Second reason was for trouble shooting purposes. Based on the concatanation of namespace/datasetname/field/tag it was just easier to understand/diagnose what was happening.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can always change the dependency to

datasets.refreshTags === true

and change the reducer to set refreshTags to False when its updating then True on success.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, let's just go with what you have here.

Signed-off-by: sharpd <davidsharp7@gmail.com>
Copy link
Member

@phixMe phixMe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @davidsharp7

@davidsharp7 davidsharp7 marked this pull request as draft April 1, 2024 17:20
davidsharp7 and others added 8 commits April 2, 2024 19:37
Signed-off-by: sharpd <davidsharp7@gmail.com>
Signed-off-by: sharpd <davidsharp7@gmail.com>
Signed-off-by: sharpd <davidsharp7@gmail.com>
Signed-off-by: sharpd <davidsharp7@gmail.com>
Signed-off-by: sharpd <davidsharp7@gmail.com>
Signed-off-by: sharpd <davidsharp7@gmail.com>
@davidsharp7 davidsharp7 changed the title Fixing state of refreshTags Update dataset/dataset field tagging experience Apr 5, 2024
@davidsharp7 davidsharp7 requested a review from phixMe April 5, 2024 22:38
Signed-off-by: sharpd <davidsharp7@gmail.com>
@davidsharp7 davidsharp7 marked this pull request as ready for review April 13, 2024 19:10
Signed-off-by: sharpd <davidsharp7@gmail.com>
}

const handleDelete = (deletedTag: string) => {
const index = selectedTags.indexOf(deletedTag)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can do this a little more functionally like:

const newSelectedTags = selectedTags.filter((tag) => deletedTag !== tag);
setSelectedTags(newSelectedTags);

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe let's make this change and I'll merge if that sounds good?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Surely can.

Signed-off-by: sharpd <davidsharp7@gmail.com>
Copy link
Member

@wslulciuc wslulciuc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤩

@@ -100,4 +100,38 @@ public void testApp_testDatasetTagFieldDelete() {
// assert that only SENSITIVE remains
assertThat(taggedDatasetFieldDelete.getFields().get(0).getTags()).containsExactly("SENSITIVE");
}

@Test
public void testApp_testDatasetTagFieldConflict() {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

❤️

@wslulciuc wslulciuc enabled auto-merge (squash) April 16, 2024 23:33
@wslulciuc wslulciuc merged commit ac23c1b into MarquezProject:main Apr 16, 2024
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api API layer changes bug Something isn't working web
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

None yet

3 participants