Configurable facets
- [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 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.
Here my idea based on @Ingvord proof of concept
-
we assume that this user has the filter form empty
-
user wants to add some filters, she clicks the cog wheel on the filter form and an additional modal form appears
-
she now can select which filter she can add to the form. She select the PID
-
and than she select the filter on location
-
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
Please notice that removing and filtering of the filters added, can only be done in the settings modal and not in the selection form
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 thanks for your idea, explanation, the mockups and putting this all together here! I agree with you. Let's introduce a modal dialog.
@despadam Thanks a lot for your feedback!
- ...
Totally agree
- ...
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
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:
Please note the icons and labels:
@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 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:
All green :champagne: :clinking_glasses:
Quality Gate passed
Issues
30 New issues
0 Accepted issues
Measures
0 Security Hotspots
0.0% Coverage on New Code
2.9% Duplication on New Code
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 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.
Coverage after merging configurable-facets into master
| 79.48% |
|---|
Coverage Report
| File | Stmts | Branches | Funcs | Lines | Uncovered Lines |
|---|---|---|---|---|---|
| src/app | |||||
| app-config.module.ts | 100% | 100% | 100% | 100% | |
| app-config.service.ts | 73.91% | 100% | 83.33% | 66.67% | 30–32, 35, 7 |
| app-theme.service.ts | 88.24% | 100% | 100% | 83.33% | 19–20 |
| app.component.ts | 42.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.ts | 100% | 100% | 100% | 100% | |
| src/app/_layout/app-header | |||||
| app-header.component.ts | 75.68% | 50% | 80% | 83.33% | 21–22, 34, 34, 34–36, 40 |
| src/app/_layout/app-layout | |||||
| app-layout.component.ts | 100% | 100% | 100% | 100% | |
| src/app/_layout/app-main-layout | |||||
| app-main-layout.component.ts | 100% | 100% | 100% | 100% | |
| src/app/about/about | |||||
| about.component.ts | 97.92% | 87.50% | 100% | 100% | 26 |
| src/app/datasets | |||||
| archiving.service.ts | 54.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.ts | 100% | 100% | 100% | 100% | |
| src/app/datasets/add-dataset-dialog | |||||
| add-dataset-dialog.component.ts | 100% | 100% | 100% | 100% | |
| src/app/datasets/admin-tab | |||||
| admin-tab.component.ts | 37.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.ts | 87.50% | 50% | 87.50% | 92.86% | 21–22 |
| batch-card.module.ts | 100% | 100% | 100% | 100% | |
| src/app/datasets/batch-view | |||||
| batch-view.component.ts | 30.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.ts | 73.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.ts | 10.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.ts | 81.82% | 100% | 66.67% | 87.50% | 13 |
| src/app/datasets/datafiles | |||||
| datafiles.component.ts | 70.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.ts | 87.65% | 80% | 85.71% | 90.38% | 18, 34–35, 49–50, 50, 50–51 |
| datafiles-actions.component.ts | 91.67% | 75% | 100% | 100% | 22, 26 |
| src/app/datasets/dataset-detail | |||||
| dataset-detail.component.ts | 74.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.ts | 35.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.ts | 68% | 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.ts | 84.81% | 66.67% | 92.31% | 88.24% | 46, 58, 63, 93–94, 94, 94–98 |
| src/app/datasets/dataset-table | |||||
| dataset-table.component.ts | 68.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.ts | 49.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.ts | 100% | 100% | 100% | 100% | |
| src/app/datasets/datasets-filter | |||||
| datasets-filter.component.ts | 95.83% | 50% | 90% | 100% | 73 |
| src/app/datasets/datasets-filter/settings | |||||
| datasets-filter-settings.component.ts | 45.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.ts | 17.65% | 100% | 0% | 21.43% | 10–19, 22 |
| src/app/datasets/public-download-dialog | |||||
| public-download-dialog.component.ts | 58.33% | 33.33% | 80% | 61.54% | 16, 20, 23, 23, 23–24, 26, 29–30 |
| src/app/datasets/publish | |||||
| publish.component.ts | 60.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.ts | 52.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.ts | 88.89% | 50% | 85.71% | 94.44% | 63–64 |
| src/app/datasets/sample-edit | |||||
| sample-edit.component.ts | 92.96% | 83.33% | 90% | 95.56% | 52–53, 64 |
| src/app/datasets/share-dialog | |||||
| share-dialog.component.ts | 89.58% | 87.50% | 88.89% | 90.32% | 31–34 |
| src/app/files/files-dashboard | |||||
| files-dashboard.component.ts | 86.67% | 100% | 75% | 90.91% | 85 |
| src/app/help/help | |||||
| help.component.ts | 100% | 100% | 100% | 100% | |
| src/app/instruments/instrument-details | |||||
| instrument-details.component.ts | 84.85% | 50% | 88.89% | 90% | 31, 31, 31–32 |
| src/app/instruments/instruments-dashboard | |||||
| instruments-dashboard.component.ts | 92% | 100% | 87.50% | 94.12% | 18 |
| src/app/jobs/jobs-dashboard | |||||
| jobs-dashboard.component.ts | 61.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.ts | 94.12% | 100% | 80% | 100% | |
| src/app/jobs/jobs-detail | |||||
| jobs-detail.component.ts | 100% | 100% | 100% | 100% | |
| src/app/logbooks | |||||
| logbooks.module.ts | 100% | 100% | 100% | 100% | |
| src/app/logbooks/logbook-filter | |||||
| logbook-filter.component.ts | 86.79% | 77.78% | 100% | 90.63% | 20–21, 39, 41, 55, 60, 74 |
| src/app/logbooks/logbooks-dashboard | |||||
| logbooks-dashboard.component.ts | 85.07% | 37.50% | 88.24% | 92.86% | 36, 61, 63, 63, 63–64, 68, 75 |
| src/app/logbooks/logbooks-detail | |||||
| logbooks-detail.component.ts | 100% | 100% | 100% | 100% | |
| src/app/logbooks/logbooks-table | |||||
| logbooks-table.component.ts | 100% | 100% | 100% | 100% | |
| src/app/policies/edit-dialog | |||||
| edit-dialog.component.ts | 19.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.ts | 80.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.ts | 100% | 100% | 100% | 100% | |
| src/app/proposals/proposal-dashboard | |||||
| proposal-dashboard.component.ts | 85% | 100% | 80% | 86.67% | 83–84 |
| src/app/proposals/proposal-detail | |||||
| proposal-detail.component.ts | 100% | 100% | 100% | 100% | |
| src/app/proposals/proposal-filter | |||||
| proposal-filter.component.ts | 100% | 100% | 100% | 100% | |
| src/app/proposals/proposal-logbook | |||||
| proposal-logbook.component.ts | 92.11% | 50% | 90.91% | 96% | 19, 43 |
| src/app/proposals/view-proposal-page | |||||
| view-proposal-page.component.ts | 86.54% | 50% | 83.33% | 91.67% | 68, 68, 68–69, 78 |
| src/app/publisheddata/publisheddata-dashboard | |||||
| publisheddata-dashboard.component.ts | 96.49% | 100% | 90% | 97.67% | 117 |
| src/app/publisheddata/publisheddata-details | |||||
| publisheddata-details.component.ts | 75.61% | 50% | 70% | 81.48% | 32, 34–35, 45, 48–49, 52 |
| src/app/publisheddata/publisheddata-edit | |||||
| publisheddata-edit.component.ts | 67.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.ts | 65.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.ts | 67.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.ts | 50.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.ts | 48.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.ts | 100% | 100% | 100% | 100% | |
| src/app/shared/modules/breadcrumb | |||||
| breadcrumb.component.ts | 26.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.ts | 100% | 100% | 100% | 100% | |
| src/app/shared/modules/dialog | |||||
| dialog.component.ts | 77.78% | 100% | 66.67% | 83.33% | 12 |
| dialog.module.ts | 100% | 100% | 100% | 100% | |
| src/app/shared/modules/error-page | |||||
| error-page.component.ts | 68% | 50% | 75% | 73.33% | 17–18, 21, 21–24 |
| error-page.module.ts | 100% | 100% | 100% | 100% | |
| src/app/shared/modules/file-uploader | |||||
| file-uploader.component.ts | 49.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.ts | 100% | 100% | 100% | 100% | |
| src/app/shared/modules/file-uploader/directives | |||||
| drag-and-drop.directive.ts | 24% | 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.ts | 75% | 50% | 100% | 80% | 6–7 |
| condition-filter.component.ts | 14.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.ts | 94.74% | 91.67% | 100% | 95.24% | 42–43 |
| filters.module.ts | 100% | 100% | 100% | 100% | |
| group-filter.component.ts | 100% | 100% | 100% | 100% | |
| keyword-filter.component.ts | 100% | 100% | 100% | 100% | |
| location-filter.component.ts | 96.15% | 50% | 100% | 100% | 26 |
| pid-filter-contains.component.ts | 100% | 100% | 100% | 100% | |
| pid-filter-startsWith.component.ts | 100% | 100% | 100% | 100% | |
| pid-filter.component.ts | 91.18% | 50% | 100% | 95.45% | 24, 45–46 |
| text-filter.component.ts | 100% | 100% | 100% | 100% | |
| type-filter.component.ts | 100% | 100% | 100% | 100% | |
| utils.ts | 68% | 40% | 83.33% | 88.89% | 13, 32, 5, 8, 8, 8, 8 |
| src/app/shared/modules/scientific-metadata | |||||
| scientific-metadata.module.ts | 100% | 100% | 100% | 100% | |
| src/app/shared/modules/scientific-metadata-tree | |||||
| scientific-metadata-tree.modules.ts | 100% | 100% | 100% | 100% | |
| src/app/shared/modules/scientific-metadata-tree/base-classes | |||||
| history-manager.ts | 81.08% | 50% | 77.78% | 87.50% | 20, 28, 41, 44–45 |
| metadata-input-base.ts | 90.16% | 94.59% | 82.35% | 89.71% | 101, 114, 117, 127, 90–94 |
| tree-base.ts | 86.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.ts | 97.30% | 87.50% | 100% | 100% | 51, 85 |
| src/app/shared/modules/scientific-metadata-tree/metadata-input-modal | |||||
| metadata-input-modal.component.ts | 61.90% | 0% | 66.67% | 69.23% | 38–39, 43, 43, 46, 49 |
| src/app/shared/modules/scientific-metadata-tree/tree-edit | |||||
| tree-edit.component.ts | 78.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.ts | 73.81% | 33.33% | 80% | 80.65% | 14, 14, 39–40, 40, 40–44 |
| src/app/shared/modules/scientific-metadata/metadata-edit | |||||
| metadata-edit.component.ts | 80.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.ts | 84.31% | 78.57% | 85.71% | 86.67% | 52, 57–58, 58, 58–60 |
| src/app/shared/modules/search-bar | |||||
| search-bar.component.ts | 92.86% | 75% | 100% | 94.44% | 32–33 |
| search-bar.module.ts | 100% | 100% | 100% | 100% | |
| src/app/shared/modules/search-parameters-dialog | |||||
| search-parameters-dialog.component.ts | 90.91% | 90.91% | 75% | 95.35% | 39, 69–70, 74 |
| search-parameters-dialog.module.ts | 100% | 100% | 100% | 100% | |
| src/app/shared/modules/shared-table | |||||
| shared-table.component.ts | 70.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.ts | 100% | 100% | 100% | 100% | |
| src/app/shared/modules/table | |||||
| table.component.ts | 89.83% | 60% | 91.67% | 97.30% | 33, 37, 50, 53, 57 |
| table.module.ts | 100% | 100% | 100% | 100% | |
| src/app/shared/pipes | |||||
| description-title.pipe.ts | 28.57% | 0% | 0% | 50% | 5–6, 6, 6 |
| dynamicPipe.pipe.ts | 76.92% | 50% | 66.67% | 87.50% | 8–9 |
| file-path-truncate.pipe.ts | 87.50% | 50% | 100% | 100% | 7 |
| filesize.pipe.ts | 100% | 100% | 100% | 100% | |
| format-number.pipe.ts | 100% | 100% | 100% | 100% | |
| json-head.pipe.ts | 4.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.ts | 22.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.ts | 78.57% | 50% | 100% | 88.89% | 20–21, 25 |
| pipes.module.ts | 100% | 100% | 100% | 100% | |
| pretty-unit.pipe.ts | 90.91% | 50% | 100% | 100% | 10 |
| replace-underscore.pipe.ts | 33.33% | 0% | 0% | 66.67% | 5, 5, 5 |
| stripProposalPrefix.pipe.ts | 100% | 100% | 100% | 100% | |
| thumbnail.pipe.ts | 13.64% | 0% | 0% | 23.08% | 10–11, 11, 11–12, 14, 14, 14–15, 17, 17, 17–18, 20, 6, 9 |
| title-case.pipe.ts | 100% | 100% | 100% | 100% | |
| src/app/shared/services | |||||
| config.service.ts | 33.33% | 0% | 33.33% | 38.46% | 25–26, 29, 29, 29–31, 34–35, 40 |
| date-time.service.ts | 93.10% | 92.86% | 100% | 92.31% | 15, 9 |
| export-excel.service.ts | 11.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.ts | 100% | 100% | 100% | 100% | |
| ownership.service.ts | 50% | 25% | 75% | 66.67% | 11, 14–15, 15, 15–17, 17, 17, 17, 17–18, 8 |
| scicat-data-service.ts | 29.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.ts | 52.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.ts | 98.11% | 100% | 100% | 96.55% | 118 |
| src/app/state-management/actions | |||||
| datasets.actions.ts | 100% | 100% | 100% | 100% | |
| instruments.actions.ts | 100% | 100% | 100% | 100% | |
| jobs.actions.ts | 100% | 100% | 100% | 100% | |
| logbooks.actions.ts | 100% | 100% | 100% | 100% | |
| policies.actions.ts | 100% | 100% | 100% | 100% | |
| proposals.actions.ts | 100% | 100% | 100% | 100% | |
| published-data.actions.ts | 100% | 100% | 100% | 100% | |
| samples.actions.ts | 100% | 100% | 100% | 100% | |
| user.actions.ts | 100% | 100% | 100% | 100% | |
| src/app/state-management/effects | |||||
| datasets.effects.ts | 79.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.ts | 100% | 100% | 100% | 100% | |
| jobs.effects.ts | 98.39% | 100% | 96.88% | 100% | |
| logbooks.effects.ts | 87.27% | 50% | 84% | 92.86% | 33, 36, 41 |
| policies.effects.ts | 94.29% | 50% | 100% | 94.59% | 33, 35, 51–52 |
| proposals.effects.ts | 100% | 100% | 100% | 100% | |
| published-data.effects.ts | 88.24% | 100% | 83.33% | 93.02% | 73, 77, 82 |
| samples.effects.ts | 96.69% | 100% | 95.31% | 98.25% | 44 |
| user.effects.ts | 97.39% | 88.89% | 98.46% | 97.47% | 136–138 |
| src/app/state-management/models | |||||
| index.ts | 100% | 100% | 100% | 100% | |
| src/app/state-management/reducers | |||||
| datasets.reducer.ts | 78.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.ts | 92.59% | 50% | 100% | 100% | 21, 28 |
| jobs.reducer.ts | 94.12% | 50% | 100% | 100% | 30, 35 |
| logbooks.reducer.ts | 95.56% | 50% | 100% | 100% | 43, 48 |
| policies.reducer.ts | 94.55% | 62.50% | 100% | 100% | 43, 47, 52 |
| proposals.reducer.ts | 86.84% | 50% | 95% | 91.30% | 14, 20, 22, 28, 30, 35, 63, 68, 73 |
| published-data.reducer.ts | 76% | 50% | 85.71% | 78.57% | 18, 18, 18–20 |
| samples.reducer.ts | 87.06% | 50% | 92% | 92% | 27, 32, 34, 39, 41, 45, 55, 7, 83 |
| user.reducer.ts | 80.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.ts | 92.22% | 81.82% | 97.78% | 94.87% | 12, 15, 15, 15–16, 18, 20–22, 34, 45, 8 |
| instruments.selectors.ts | 100% | 100% | 100% | 100% | |
| jobs.selectors.ts | 92.59% | 50% | 100% | 93.75% | 16–17 |
| logbooks.selectors.ts | 100% | 100% | 100% | 100% | |
| policies.selectors.ts | 100% | 100% | 100% | 100% | |
| proposals.selectors.ts | 93.42% | 66.67% | 100% | 100% | 13, 13, 13, 42, 5 |
| published-data.selectors.ts | 100% | 100% | 100% | 100% | |
| samples.selectors.ts | 98.63% | 100% | 95.83% | 100% | |
| user.selectors.ts | 88.71% | 76.92% | 90% | 93.10% | 10–11, 18, 23, 4 |
| src/app/state-management/state | |||||
| datasets.store.ts | 100% | 100% | 100% | 100% | |
| instruments.store.ts | 100% | 100% | 100% | 100% | |
| jobs.store.ts | 100% | 100% | 100% | 100% | |
| logbooks.store.ts | 100% | 100% | 100% | 100% | |
| policies.store.ts | 100% | 100% | 100% | 100% | |
| proposals.store.ts | 100% | 100% | 100% | 100% | |
| published-data.store.ts | 100% | 100% | 100% | 100% | |
| samples.store.ts | 100% | 100% | 100% | 100% | |
| user.store.ts | 100% | 100% | 100% | 100% | |
| src/app/users | |||||
| adauth.service.ts | 50% | 100% | 66.67% | 45.45% | 27, 31–35 |
| src/app/users/auth-callback | |||||
| auth-callback.component.ts | 47.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.ts | 75.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.ts | 100% | 100% | 100% | 100% | |
| src/app/users/user-settings | |||||
| user-settings.component.ts | 65.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 |
I applied two conditions on run number, as visible below:
When I click on reset filters, the filters are correctly removed
but when I open the modal to manage filters and conditions, the two conditions on run number are still shown as active:
I'm not oppose to merge this PR as it is and create bug issues to be fixed later on.
@bpedersen2 what is your opinion?
@Ingvord please go ahead and do a squash merge
