frontend icon indicating copy to clipboard operation
frontend copied to clipboard

Configurable facets

Open Ingvord opened this issue 1 year ago • 14 comments

  • [x] Proof of the concept
  • [x] Refactor dataset-filters.component: extract individual filters
  • [x] Fix tests
  • [x] Add FilterSettingsDialog test
  • [x] Make custom filter UX consistent with dialog
  • [x] #1466
  • [x] store configuration in ngx state management

Ingvord avatar Apr 27 '24 09:04 Ingvord

@Ingvord could we create two forms, one to be shown where the filters are now and one to be shown as modal to edit which filters and condition we would like to add? Please let me know if it makes sense.

nitrosx avatar May 06 '24 14:05 nitrosx

Here my idea based on @Ingvord proof of concept

  1. we assume that this user has the filter form empty configurable_filters_1

  2. user wants to add some filters, she clicks the cog wheel on the filter form and an additional modal form appears configurable_filters_2

  3. she now can select which filter she can add to the form. She select the PID configurable_filters_3

  4. and than she select the filter on location configurable_filters_4

  5. now she is done adding filters to the filter form, she clicks apply and the modal closes and she gets the filters as they are currently in the FE configurable_filters_5

Please notice that removing and filtering of the filters added, can only be done in the settings modal and not in the selection form

nitrosx avatar May 06 '24 19:05 nitrosx

The main idea behind is that the filter form is modified once in a while, so it makes sense to open an additional modal where the user can control the filter form settings and build it as she needs/wants. We will save the filters form settings in the user settings entry in db, so they can will be used as default until the user decides to change.

nitrosx avatar May 06 '24 19:05 nitrosx

@nitrosx thanks for your idea, explanation, the mockups and putting this all together here! I agree with you. Let's introduce a modal dialog.

Ingvord avatar May 07 '24 12:05 Ingvord

@despadam Thanks a lot for your feedback!

  1. ...

Totally agree

  1. ...

The icon indicated usually used for for a menu in many other applications. I guess we can stick with the existing one, as we will change "reset/clear" button icon anyway

I am open to help you with your local setup! Please let me know if you want that. Thanks

Ingvord avatar Jun 07 '24 14:06 Ingvord

Apparently there are some changes picked up from the master which make the overall UI/UX much more consistent., thanks to @Junjiequan . I took the liberty to do minor adjustments though:

Peek 2024-06-07 17-21

Please note the icons and labels:

Screenshot_20240607_172705

Ingvord avatar Jun 07 '24 15:06 Ingvord

@Ingvord it looks good!!! The only concern that I have is that the two reset buttons are not exactly behaving the same way. I think that for consistency sake, we should make sure that the text explicitly says what they do: clear filters and clear text

One more thing: I checked and the three horizontal lines slightly tilted are indeed the official icon for clear all. I will go with what the community decide.

nitrosx avatar Jun 07 '24 15:06 nitrosx

@nitrosx Thanks for your "in no time" comment :)

Regarding the icons I refer to this resource: https://fonts.google.com/icons

The only concern that I have is that the two reset buttons are not exactly behaving the same way.

My intention is to make them consistent in a way that they both do clear and apply. My motivation - they are located in a "major action" section area and have the same look-n-feel as apply/search, so I would expect them to perform something more than just clear. Ah and we lost "x" from full text, which should do only clear...

However the functionality requires more love for sure :cowboy_hat_face:

Ingvord avatar Jun 07 '24 15:06 Ingvord

All green :champagne: :clinking_glasses:

Ingvord avatar Jun 07 '24 23:06 Ingvord

This one is ready for the final review.

@nitrosx I will assign this PR to you. Please feel free to assign to whomever you think it is important to review and test it. Thanks!

Ingvord avatar Jul 15 '24 12:07 Ingvord

@Ingvord Great Job!!! I really like the new filtering form.

Just few items that we can and should discuss later:

  • "Text filter" in the form has the same functionality as the "Search bar" at the top. Should we keep it and just disable it or remove it?
  • Filters apply to high level fields, conditions apply to scientific metadata. They behave differently. We should brainstorm and invest some resources to uniform the behavior.
  • I would change the title of the form from "Filter by..." to "Filters and Conditions". In my opinion this would be more inline with the previous bullet point

Non blocking feedback. We should have more people testing and getting the feel for it, and brainstorm afterward using the feedback provided from multiple people.

nitrosx avatar Aug 13 '24 10:08 nitrosx

Coverage after merging configurable-facets into master

79.48%
Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
src/app
   app-config.module.ts100%100%100%100%
   app-config.service.ts73.91%100%83.33%66.67%30–32, 35, 7
   app-theme.service.ts88.24%100%100%83.33%19–20
   app.component.ts42.86%16.67%42.86%51.35%27–28, 42–46, 46, 46–47, 49, 52, 52, 52, 52, 52–54, 54, 54, 56–57, 60–61, 64, 68, 73, 79
   theme.ts100%100%100%100%
src/app/_layout/app-header
   app-header.component.ts75.68%50%80%83.33%21–22, 34, 34, 34–36, 40
src/app/_layout/app-layout
   app-layout.component.ts100%100%100%100%
src/app/_layout/app-main-layout
   app-main-layout.component.ts100%100%100%100%
src/app/about/about
   about.component.ts97.92%87.50%100%100%26
src/app/datasets
   archiving.service.ts54.05%28.57%83.33%64.71%16, 32, 37–38, 38, 38–40, 40, 40, 40, 40–41, 43, 43, 43–44, 46–47, 57–58, 60–61, 61, 64–65, 65, 65–66, 70, 73, 75
   datasets.module.ts100%100%100%100%
src/app/datasets/add-dataset-dialog
   add-dataset-dialog.component.ts100%100%100%100%
src/app/datasets/admin-tab
   admin-tab.component.ts37.25%10%66.67%37.50%21, 21, 21–22, 27–28, 32, 32, 32, 32, 32–39, 43–45, 45, 45–47, 50–53
src/app/datasets/batch-card
   batch-card.component.ts87.50%50%87.50%92.86%21–22
   batch-card.module.ts100%100%100%100%
src/app/datasets/batch-view
   batch-view.component.ts30.95%3.13%32.14%43.94%100–101, 101, 101, 104, 109–111, 120–124, 124, 124, 124, 124–127, 140–141, 146, 42, 45–46, 46, 46–47, 57, 57, 57–58, 58, 58, 60, 60, 60–61, 61, 61, 63–64, 66–67, 67, 67–68, 68, 72, 80–81, 81, 81, 81, 81–82, 84, 84, 84, 84, 84, 84, 84, 87, 89, 95, 99
src/app/datasets/dashboard
   dashboard.component.ts73.28%50%68.75%81.01%130, 132–134, 139, 142, 142, 142–143, 147, 147, 147–148, 152–153, 156, 156, 156–158, 31, 36, 42, 67, 81
src/app/datasets/dashboard/full-text-search
   full-text-search-bar.component.ts10.81%100%0%14.81%19–25, 28–29, 32–34, 36–37, 40–42, 46, 49, 52–54, 57
src/app/datasets/datablocks-table
   datablocks-table.component.ts81.82%100%66.67%87.50%13
src/app/datasets/datafiles
   datafiles.component.ts70.56%64.29%77.14%70.09%154, 161–167, 170–173, 181, 181, 181–183, 185, 185, 185–189, 193, 200, 204–205, 205, 205–207, 218–219, 224, 71–76, 85–86, 91–92
src/app/datasets/datafiles-actions
   datafiles-action.component.ts87.65%80%85.71%90.38%18, 34–35, 49–50, 50, 50–51
   datafiles-actions.component.ts91.67%75%100%100%22, 26
src/app/datasets/dataset-detail
   dataset-detail.component.ts74.04%66.07%68.75%79.17%127, 127, 132, 146, 167, 190, 201, 212, 219, 226, 234–246, 42, 42, 60–61, 61, 61–64, 64, 69, 75, 79, 79, 79–80, 84, 84, 84–85, 98
src/app/datasets/dataset-details-dashboard
   dataset-details-dashboard.component.ts35.57%5.77%44.44%53.16%116, 116, 116, 124, 124, 124, 132, 132, 144, 144, 150, 152, 152, 152–153, 156, 163–164, 168, 171, 171, 171–172, 174, 174, 174, 177–178, 178, 178–180, 183, 185–186, 186, 186–188, 195, 195, 195–196, 196, 196, 196, 196–197, 202, 204, 204, 204, 204, 204–205, 207, 207, 207, 207, 207, 209, 66, 66, 70–71, 73–74, 79, 79, 79, 79, 79, 79, 79, 81–82, 84, 84, 84–85, 85, 85–87, 98, 98
src/app/datasets/dataset-file-uploader
   dataset-file-uploader.component.ts68%41.67%72.73%77.78%22, 22, 22–24, 28, 28, 28–29, 33, 37, 49, 58
src/app/datasets/dataset-lifecycle
   dataset-lifecycle.component.ts84.81%66.67%92.31%88.24%46, 58, 63, 93–94, 94, 94–98
src/app/datasets/dataset-table
   dataset-table.component.ts68.46%53.49%66.67%77.63%127–128, 148, 151, 153, 155, 161, 175–176, 176, 176–180, 43, 43, 43, 43, 43, 43, 43, 49, 51, 54, 54, 54, 54, 54, 54, 54, 60, 62, 86, 89, 92–93
src/app/datasets/dataset-table-actions
   dataset-table-actions.component.ts49.32%0%45%62.79%105, 108, 111, 111, 111–112, 59, 63–64, 64, 64, 64, 64–65, 80–84, 84, 84, 84, 84–87
src/app/datasets/dataset-table-settings
   dataset-table-settings.component.ts100%100%100%100%
src/app/datasets/datasets-filter
   datasets-filter.component.ts95.83%50%90%100%73
src/app/datasets/datasets-filter/settings
   datasets-filter-settings.component.ts45.90%25%41.67%51.22%102, 105, 36, 47–48, 52, 61, 61, 61–63, 67–68, 74, 83–85, 85, 85–87, 90–91, 93, 96, 99
src/app/datasets/jsonScientificMetadata
   jsonScientificMetadata.component.ts17.65%100%0%21.43%10–19, 22
src/app/datasets/public-download-dialog
   public-download-dialog.component.ts58.33%33.33%80%61.54%16, 20, 23, 23, 23–24, 26, 29–30
src/app/datasets/publish
   publish.component.ts60.32%53.13%57.89%64%101, 108, 122–123, 126–127, 138–153, 50, 50, 53, 59, 64, 64, 64, 64, 64–65, 67, 67, 67–68, 72–73, 73, 73–74, 94
src/app/datasets/reduce
   reduce.component.ts52.86%16.67%42.86%62.79%21–23, 61, 64, 67, 71–72, 72, 72–73, 77, 83–84, 84, 84–89
src/app/datasets/related-datasets
   related-datasets.component.ts88.89%50%85.71%94.44%63–64
src/app/datasets/sample-edit
   sample-edit.component.ts92.96%83.33%90%95.56%52–53, 64
src/app/datasets/share-dialog
   share-dialog.component.ts89.58%87.50%88.89%90.32%31–34
src/app/files/files-dashboard
   files-dashboard.component.ts86.67%100%75%90.91%85
src/app/help/help
   help.component.ts100%100%100%100%
src/app/instruments/instrument-details
   instrument-details.component.ts84.85%50%88.89%90%31, 31, 31–32
src/app/instruments/instruments-dashboard
   instruments-dashboard.component.ts92%100%87.50%94.12%18
src/app/jobs/jobs-dashboard
   jobs-dashboard.component.ts61.05%31.25%72.22%65.57%102, 102, 102, 102, 104–105, 108–109, 112, 115–116, 121, 124, 126, 128, 128, 128–130, 132, 136, 141, 53, 65, 65, 65, 67–68, 71–72, 78, 88
src/app/jobs/jobs-dashboard-new
   jobs-dashboard-new.component.ts94.12%100%80%100%
src/app/jobs/jobs-detail
   jobs-detail.component.ts100%100%100%100%
src/app/logbooks
   logbooks.module.ts100%100%100%100%
src/app/logbooks/logbook-filter
   logbook-filter.component.ts86.79%77.78%100%90.63%20–21, 39, 41, 55, 60, 74
src/app/logbooks/logbooks-dashboard
   logbooks-dashboard.component.ts85.07%37.50%88.24%92.86%36, 61, 63, 63, 63–64, 68, 75
src/app/logbooks/logbooks-detail
   logbooks-detail.component.ts100%100%100%100%
src/app/logbooks/logbooks-table
   logbooks-table.component.ts100%100%100%100%
src/app/policies/edit-dialog
   edit-dialog.component.ts19.64%11.90%28.57%23.21%100, 104–105, 105, 105–106, 110–111, 111, 111–112, 119, 124, 124, 124–125, 127, 127, 127–128, 130, 130, 130–131, 133–135, 135, 135–136, 139, 142, 18–20, 62, 62, 62, 62, 62, 65–67, 67, 67, 67, 67–68, 71, 71, 71–72, 76–78, 78, 78, 78, 78–79, 82, 82, 82–83, 87–89, 89, 89, 89, 89–90, 93, 93, 93–94, 98–99, 99, 99
src/app/policies/policies-dashboard
   policies-dashboard.component.ts80.61%64.71%85.71%83.33%134–138, 143–144, 154, 158, 158, 158, 161, 57, 67, 74, 83
src/app/proposals
   proposals.module.ts100%100%100%100%
src/app/proposals/proposal-dashboard
   proposal-dashboard.component.ts85%100%80%86.67%83–84
src/app/proposals/proposal-detail
   proposal-detail.component.ts100%100%100%100%
src/app/proposals/proposal-filter
   proposal-filter.component.ts100%100%100%100%
src/app/proposals/proposal-logbook
   proposal-logbook.component.ts92.11%50%90.91%96%19, 43
src/app/proposals/view-proposal-page
   view-proposal-page.component.ts86.54%50%83.33%91.67%68, 68, 68–69, 78
src/app/publisheddata/publisheddata-dashboard
   publisheddata-dashboard.component.ts96.49%100%90%97.67%117
src/app/publisheddata/publisheddata-details
   publisheddata-details.component.ts75.61%50%70%81.48%32, 34–35, 45, 48–49, 52
src/app/publisheddata/publisheddata-edit
   publisheddata-edit.component.ts67.44%46.15%76.47%76.74%42–43, 46, 51, 56–57, 60, 65, 70, 70, 70–72, 72, 72–73, 78–79, 79, 79–81, 85, 88
src/app/samples/sample-dashboard
   sample-dashboard.component.ts65.85%37.50%62.50%72%101, 103–104, 109, 112, 43, 63, 69, 69, 69–72, 77, 83–84, 95, 98–99
src/app/samples/sample-detail
   sample-detail.component.ts67.78%16.67%70%77.59%104, 104, 104–106, 106, 106–107, 110, 110, 110–111, 116, 116, 116–117, 121, 124, 124, 124–125, 135, 138
src/app/samples/sample-dialog
   sample-dialog.component.ts50.98%33.33%77.78%47.22%29–32, 35–37, 40, 44, 44, 44–45, 47–52, 55, 59–60, 64–65
src/app/shared
   MockStubs.ts48.82%27.27%39.62%60.32%10, 110, 116, 121, 13, 131, 147, 150–151, 16, 176, 188–189, 19, 196, 200–201, 201, 201, 205, 209, 209, 209, 213, 216, 219, 27, 32, 35, 38, 41, 81, 91
   shared.module.ts100%100%100%100%
src/app/shared/modules/breadcrumb
   breadcrumb.component.ts26.76%0%31.25%31.82%100–101, 108, 110, 128, 128, 128, 128, 128, 128, 128, 128, 130, 132, 137, 142, 157, 172, 180, 33, 43–44, 48–49, 51–52, 59, 71–72, 72, 72–73, 75, 86–88, 91, 91, 91–92, 96
   breadcrumb.module.ts100%100%100%100%
src/app/shared/modules/dialog
   dialog.component.ts77.78%100%66.67%83.33%12
   dialog.module.ts100%100%100%100%
src/app/shared/modules/error-page
   error-page.component.ts68%50%75%73.33%17–18, 21, 21–24
   error-page.module.ts100%100%100%100%
src/app/shared/modules/file-uploader
   file-uploader.component.ts49.15%7.14%75%59.46%15, 48–49, 49, 49–50, 52–53, 53, 53, 53, 53–54, 56, 59–60, 60, 60–61, 63–65, 65, 65–66, 68, 68, 68
   file-uploader.module.ts100%100%100%100%
src/app/shared/modules/file-uploader/directives
   drag-and-drop.directive.ts24%0%25%29.41%10–11, 14–16, 19–22, 22, 22, 25, 25, 25–26, 9
src/app/shared/modules/filters
   clearable-input.component.ts75%50%100%80%6–7
   condition-filter.component.ts14.81%0%0%23.53%11–13, 13, 13, 13, 13, 13, 16–17, 19–20, 22–23, 25, 27, 27, 27, 30, 8
   date-range-filter.component.ts94.74%91.67%100%95.24%42–43
   filters.module.ts100%100%100%100%
   group-filter.component.ts100%100%100%100%
   keyword-filter.component.ts100%100%100%100%
   location-filter.component.ts96.15%50%100%100%26
   pid-filter-contains.component.ts100%100%100%100%
   pid-filter-startsWith.component.ts100%100%100%100%
   pid-filter.component.ts91.18%50%100%95.45%24, 45–46
   text-filter.component.ts100%100%100%100%
   type-filter.component.ts100%100%100%100%
   utils.ts68%40%83.33%88.89%13, 32, 5, 8, 8, 8, 8
src/app/shared/modules/scientific-metadata
   scientific-metadata.module.ts100%100%100%100%
src/app/shared/modules/scientific-metadata-tree
   scientific-metadata-tree.modules.ts100%100%100%100%
src/app/shared/modules/scientific-metadata-tree/base-classes
   history-manager.ts81.08%50%77.78%87.50%20, 28, 41, 44–45
   metadata-input-base.ts90.16%94.59%82.35%89.71%101, 114, 117, 127, 90–94
   tree-base.ts86.15%85.48%83.87%87.25%117, 124–125, 125, 125–126, 129, 32, 32–33, 51–53, 53, 53–54, 57, 64, 75–77, 79
src/app/shared/modules/scientific-metadata-tree/metadata-input
   metadata-input.component.ts97.30%87.50%100%100%51, 85
src/app/shared/modules/scientific-metadata-tree/metadata-input-modal
   metadata-input-modal.component.ts61.90%0%66.67%69.23%38–39, 43, 43, 46, 49
src/app/shared/modules/scientific-metadata-tree/tree-edit
   tree-edit.component.ts78.85%80%75.86%78.98%135–136, 146–147, 157, 160, 162–165, 173, 179, 225, 256, 259–263, 266, 270–271, 271, 271–283, 285, 288, 291, 63–64, 64, 64–69
src/app/shared/modules/scientific-metadata-tree/tree-view
   tree-view.component.ts73.81%33.33%80%80.65%14, 14, 39–40, 40, 40–44
src/app/shared/modules/scientific-metadata/metadata-edit
   metadata-edit.component.ts80.23%72.92%85.29%82.22%104–105, 161–162, 181–182, 182, 182, 185–186, 186, 186, 202–203, 205, 215, 215, 215–216, 218–219, 219, 219–221, 224, 70, 77–78
src/app/shared/modules/scientific-metadata/metadata-view
   metadata-view.component.ts84.31%78.57%85.71%86.67%52, 57–58, 58, 58–60
src/app/shared/modules/search-bar
   search-bar.component.ts92.86%75%100%94.44%32–33
   search-bar.module.ts100%100%100%100%
src/app/shared/modules/search-parameters-dialog
   search-parameters-dialog.component.ts90.91%90.91%75%95.35%39, 69–70, 74
   search-parameters-dialog.module.ts100%100%100%100%
src/app/shared/modules/shared-table
   shared-table.component.ts70.37%64.71%66.67%73.76%139–142, 167, 167, 167–168, 171–172, 175, 178–179, 183, 186, 189, 189, 189, 192–194, 194, 194, 196, 200, 205, 208, 214–216, 219–220, 241, 241–242, 242, 242–243, 252, 283–284, 295, 298, 302, 45, 51–52, 84, 87–90, 92–94
   shared-table.module.ts100%100%100%100%
src/app/shared/modules/table
   table.component.ts89.83%60%91.67%97.30%33, 37, 50, 53, 57
   table.module.ts100%100%100%100%
src/app/shared/pipes
   description-title.pipe.ts28.57%0%0%50%5–6, 6, 6
   dynamicPipe.pipe.ts76.92%50%66.67%87.50%8–9
   file-path-truncate.pipe.ts87.50%50%100%100%7
   filesize.pipe.ts100%100%100%100%
   format-number.pipe.ts100%100%100%100%
   json-head.pipe.ts4.65%0%0%7.14%10–14, 14, 14–15, 18–21, 21, 21–22, 24–25, 25, 25–27, 27, 27–28, 32–33, 35–36, 36–37, 37, 37–38, 40, 5, 5, 5–6, 8–9
   newDynamicPipe.pipe.ts22.50%16%66.67%23.08%19–20, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 27–28, 30–31, 33–34, 36–37, 39–40, 42–43, 45–46, 48–49, 51–52, 54–55, 57–58, 60–61, 63–64, 66–67, 69–70, 72–73, 75–76, 78–79, 84, 84, 84–86
   obj-keys.pipe.ts78.57%50%100%88.89%20–21, 25
   pipes.module.ts100%100%100%100%
   pretty-unit.pipe.ts90.91%50%100%100%10
   replace-underscore.pipe.ts33.33%0%0%66.67%5, 5, 5
   stripProposalPrefix.pipe.ts100%100%100%100%
   thumbnail.pipe.ts13.64%0%0%23.08%10–11, 11, 11–12, 14, 14, 14–15, 17, 17, 17–18, 20, 6, 9
   title-case.pipe.ts100%100%100%100%
src/app/shared/services
   config.service.ts33.33%0%33.33%38.46%25–26, 29, 29, 29–31, 34–35, 40
   date-time.service.ts93.10%92.86%100%92.31%15, 9
   export-excel.service.ts11.32%100%33.33%8.51%102, 104–105, 111, 113–114, 117, 12–16, 18–19, 21–22, 24–27, 34, 36–41, 46, 55–58, 65, 67, 69–71, 73–75, 81, 88–89
   index.ts100%100%100%100%
   ownership.service.ts50%25%75%66.67%11, 14–15, 15, 15–17, 17, 17, 17, 17–18, 8
   scicat-data-service.ts29.69%18.18%55.56%35.94%116–117, 124–125, 13, 130, 130, 146–147, 152, 152, 18, 18, 18–20, 20, 20–21, 23, 23, 23–24, 26, 28, 28, 28–29, 29, 29, 29, 29, 29, 29, 29, 31–32, 35–36, 39–40, 43–44, 49, 49, 49–50, 52, 52, 52–54, 56, 56, 56–57, 60, 62, 65–66, 69–70, 74, 74, 74–75, 82, 82, 82–83, 83, 83, 83, 83–84, 86, 86, 86, 86, 86–87, 96, 98, 98, 98, 98
   scicat.datasource.ts52.08%18.18%45.45%69.23%34–37, 39, 42, 46, 5, 5, 50, 50, 50, 56–57, 57, 57, 57, 57, 61, 61, 72–73, 75, 78–80, 84, 84, 84, 84, 84–85, 87, 89
   units.service.ts98.11%100%100%96.55%118
src/app/state-management/actions
   datasets.actions.ts100%100%100%100%
   instruments.actions.ts100%100%100%100%
   jobs.actions.ts100%100%100%100%
   logbooks.actions.ts100%100%100%100%
   policies.actions.ts100%100%100%100%
   proposals.actions.ts100%100%100%100%
   published-data.actions.ts100%100%100%100%
   samples.actions.ts100%100%100%100%
   user.actions.ts100%100%100%100%
src/app/state-management/effects
   datasets.effects.ts79.15%43.75%81.72%82.35%107–108, 113–114, 180–182, 185–187, 187, 187, 187, 187–188, 191, 29, 56, 58, 63, 65, 70, 72, 88–89, 94–95
   instruments.effects.ts100%100%100%100%
   jobs.effects.ts98.39%100%96.88%100%
   logbooks.effects.ts87.27%50%84%92.86%33, 36, 41
   policies.effects.ts94.29%50%100%94.59%33, 35, 51–52
   proposals.effects.ts100%100%100%100%
   published-data.effects.ts88.24%100%83.33%93.02%73, 77, 82
   samples.effects.ts96.69%100%95.31%98.25%44
   user.effects.ts97.39%88.89%98.46%97.47%136–138
src/app/state-management/models
   index.ts100%100%100%100%
src/app/state-management/reducers
   datasets.reducer.ts78.38%44%78.13%84.96%122, 133, 133, 133, 133, 133, 133, 138, 142, 144, 148, 150, 16, 164, 166, 180, 182, 189, 191, 201, 24, 256, 276, 32, 61, 68, 74, 76, 82, 84, 89, 92, 98–99
   instruments.reducer.ts92.59%50%100%100%21, 28
   jobs.reducer.ts94.12%50%100%100%30, 35
   logbooks.reducer.ts95.56%50%100%100%43, 48
   policies.reducer.ts94.55%62.50%100%100%43, 47, 52
   proposals.reducer.ts86.84%50%95%91.30%14, 20, 22, 28, 30, 35, 63, 68, 73
   published-data.reducer.ts76%50%85.71%78.57%18, 18, 18–20
   samples.reducer.ts87.06%50%92%92%27, 32, 34, 39, 41, 45, 55, 7, 83
   user.reducer.ts80.36%56.25%77.14%88.52%118, 121, 49, 57, 57, 59–60, 82, 90, 90, 90, 90, 90–91
src/app/state-management/selectors
   datasets.selectors.ts92.22%81.82%97.78%94.87%12, 15, 15, 15–16, 18, 20–22, 34, 45, 8
   instruments.selectors.ts100%100%100%100%
   jobs.selectors.ts92.59%50%100%93.75%16–17
   logbooks.selectors.ts100%100%100%100%
   policies.selectors.ts100%100%100%100%
   proposals.selectors.ts93.42%66.67%100%100%13, 13, 13, 42, 5
   published-data.selectors.ts100%100%100%100%
   samples.selectors.ts98.63%100%95.83%100%
   user.selectors.ts88.71%76.92%90%93.10%10–11, 18, 23, 4
src/app/state-management/state
   datasets.store.ts100%100%100%100%
   instruments.store.ts100%100%100%100%
   jobs.store.ts100%100%100%100%
   logbooks.store.ts100%100%100%100%
   policies.store.ts100%100%100%100%
   proposals.store.ts100%100%100%100%
   published-data.store.ts100%100%100%100%
   samples.store.ts100%100%100%100%
   user.store.ts100%100%100%100%
src/app/users
   adauth.service.ts50%100%66.67%45.45%27, 31–35
src/app/users/auth-callback
   auth-callback.component.ts47.06%0%83.33%50%16–17, 21, 24, 32–34, 34, 34, 34, 34, 36, 40, 49–50, 50, 50
src/app/users/login
   login.component.ts75.28%63.64%81.82%78.57%100, 100, 100, 100, 100–103, 105–106, 49, 52, 88–90, 90, 90, 95, 97–98
src/app/users/privacy-dialog
   privacy-dialog.component.ts100%100%100%100%
src/app/users/user-settings
   user-settings.component.ts65.67%25%85.71%82.50%51, 51, 53, 53–54, 57–58, 63–64, 64, 64, 64, 66, 66, 66, 66, 66–68, 68, 68–69

github-actions[bot] avatar Aug 13 '24 14:08 github-actions[bot]

Quality Gate Failed Quality Gate failed

Failed conditions
8.1% Duplication on New Code (required ≤ 3%)

See analysis details on SonarCloud

sonarqubecloud[bot] avatar Aug 20 '24 17:08 sonarqubecloud[bot]

I applied two conditions on run number, as visible below: image

When I click on reset filters, the filters are correctly removed image

but when I open the modal to manage filters and conditions, the two conditions on run number are still shown as active: image

nitrosx avatar Aug 21 '24 09:08 nitrosx

I'm not oppose to merge this PR as it is and create bug issues to be fixed later on.

nitrosx avatar Aug 21 '24 09:08 nitrosx

@bpedersen2 what is your opinion?

nitrosx avatar Aug 21 '24 09:08 nitrosx

@Ingvord please go ahead and do a squash merge

nitrosx avatar Aug 21 '24 10:08 nitrosx