Tags: SciCatProject/frontend
Tags
RELEASE 2026-02-02 (#2207) ## Description Short description of the pull request ## Motivation Background on use case, changes needed ## Fixes: Please provide a list of the fixes implemented in this PR * Items added ## Changes: Please provide a list of the changes implemented by this PR * changes made ## Tests included - [ ] Included for each change/fix? - [ ] Passing? (Merge will not be approved unless this is checked) ## Documentation - [ ] swagger documentation updated \[required\] - [ ] official documentation updated \[nice-to-have\] ### official documentation info If you have updated the official documentation, please provide PR # and URL of the pages where the updates are included ## Backend version - [ ] Does it require a specific version of the backend - which version of the backend is required: ## Summary by Sourcery Introduce an admin area with configurable frontend settings and user management, add configurable scientific metadata number formatting, simplify table filtering UX, and refine layouts, configuration loading, and supporting infrastructure. New Features: - Add an admin dashboard with tabs for frontend configuration editing and a users list, protected by an admin route and exposed via the user menu. - Introduce runtime configuration and users NgRx slices/effects to load and update frontend configuration and fetch users from the backend. - Add a JSON preview dialog and custom JSONForms renderers (accordion arrays and expandable groups) to support rich editing of the frontend config schema. - Make scientific metadata number formatting configurable via app configuration and apply it across metadata views, trees, inputs, and dataset tables, including export. Bug Fixes: - Ensure the admin guard correctly waits for login state, redirects unauthenticated users to login, and returns a 401 page for non-admin users. - Correct ordering of dataset lifecycle history by returning events in reverse chronological order. - Improve robustness of metadata number handling by ignoring non-finite values and not reformatting integers while still applying scientific notation where configured. Enhancements: - Move the public/my data toggle into the dataset filters panel, wiring it to public view mode and refreshing datasets and facet counts when changed. - Unify checkbox filter collapsing behavior inside the shared-filter component and reuse shared styles across datasets and proposals side filters. - Simplify the dynamic material table header by removing per-column header filters and the clear-filter menu action while tightening table row heights and layout. - Refine layouts and spacing for dashboards, breadcrumbs, main layout padding, and jsonforms-generated forms, including tweaks for boolean controls and card content padding. - Update app configuration and theme loading services to use modern RxJS patterns, provide default metadata float formatting, and support new config fields. - Display an Admin Settings (Beta) entry in the header menu for admin users and adjust the dashboard/table toolbars and breadcrumb appearance. - Initialize publish metadata from configured default values and format scientific metadata consistently in view and tree components. Build: - Upgrade GitHub Actions workflows to newer versions of cache, upload-artifact, and dependabot metadata actions. - Bump frontend dependencies including the SciCat Angular SDK and TypeScript/node typings and add baseline-browser-mapping for test/browser support. CI: - Adjust Cypress tests, including removing the proposal column filter test, increasing a datasets config wait timeout, and updating coverage artifact handling. Documentation: - Tidy project documentation by removing the SonarCloud badge from the README. Tests: - Extend and adapt unit tests for datasets filters, metadata views and trees, scientific metadata inputs, app configuration, and instruments mapping to cover new behaviors and configuration-driven formatting. - Add NgRx tests around runtime configuration selectors/reducers and update existing specs to account for the new configuration service usage.
RELEASE 2025-12-05 (#2145) ## Description Short description of the pull request ## Motivation Background on use case, changes needed ## Fixes: Please provide a list of the fixes implemented in this PR * Items added ## Changes: Please provide a list of the changes implemented by this PR * changes made ## Tests included - [ ] Included for each change/fix? - [ ] Passing? (Merge will not be approved unless this is checked) ## Documentation - [ ] swagger documentation updated \[required\] - [ ] official documentation updated \[nice-to-have\] ### official documentation info If you have updated the official documentation, please provide PR # and URL of the pages where the updates are included ## Backend version - [ ] Does it require a specific version of the backend - which version of the backend is required:
fix(hot fix): disable sorting for 'image' column (#2096) ## Description This PR disables image sort in dynamic material table ## Motivation Sorting image does not give any value ## Fixes: Please provide a list of the fixes implemented in this PR * Items added ## Changes: Please provide a list of the changes implemented by this PR * changes made ## Tests included - [ ] Included for each change/fix? - [ ] Passing? (Merge will not be approved unless this is checked) ## Documentation - [ ] swagger documentation updated \[required\] - [ ] official documentation updated \[nice-to-have\] ### official documentation info If you have updated the official documentation, please provide PR # and URL of the pages where the updates are included ## Backend version - [ ] Does it require a specific version of the backend - which version of the backend is required: ## Summary by Sourcery Enhancements: - Prevent image columns from being sortable by adding a check to the disabled sorting condition in the table header
RELEASE 2025-11-11 (#2094) ## Description Short description of the pull request ## Motivation Background on use case, changes needed ## Fixes: Please provide a list of the fixes implemented in this PR * Items added ## Changes: Please provide a list of the changes implemented by this PR * changes made ## Tests included - [ ] Included for each change/fix? - [ ] Passing? (Merge will not be approved unless this is checked) ## Documentation - [ ] swagger documentation updated \[required\] - [ ] official documentation updated \[nice-to-have\] ### official documentation info If you have updated the official documentation, please provide PR # and URL of the pages where the updates are included ## Backend version - [ ] Does it require a specific version of the backend - which version of the backend is required: ## Summary by Sourcery Implement advanced proposal and dataset filtering capabilities, enhance shared filter and multi-select components, streamline application configuration loading, improve metadata display control, and update CI workflows and tests for robust coverage. New Features: - Introduce proposal filter management actions and selectors (add, remove, clear, and initial filters) with state and effect integration - Auto-set filter end dates to the current date when only a start date is provided for datasets and proposals - Introduce a hideEmptyMetadataTable configuration flag to conditionally suppress empty metadata sections across detail views - Enable dynamic facet parameter handling in proposal effects using front-end configuration Bug Fixes: - Fix DynamicMatTable getColumnValue to correctly handle comma-separated field names - Ensure proposal filters reset pagination skip when adding or removing filters - Prevent empty or null IDs from appearing in checkbox facet lists Enhancements: - Refactor SharedFilterComponent to improve checkbox facet search, ordering, deduplication, and display threshold - Enhance MultiSelectFilterComponent to map facet IDs to labels and emit structured selection events - Consolidate application configuration merging in AppConfigService with array-replace behavior and support for override toggling - Provide custom date formats for proposal date pickers via MAT_DATE_FORMATS in the proposals module - Refactor instrument selectors to return arrays of {_id,label} pairs and update related selectors and components CI: - Upgrade GitHub Actions setup-node to v6 and upload-artifact to v5 across CI workflows Tests: - Add unit tests for proposal filter actions, selectors, reducers, and SharedFilter behaviors - Extend Cypress end-to-end tests to cover filter auto-end-date logic and dynamic detail view reloads Chores: - Bump dependencies: @SciCatProject SDK, luxon, mathjs - Add CODEOWNERS file - Update package and lock files versions
RELEASE 2025/28/10 (#2080) ## Description RELEASE 2025/28/10 ## Summary by Sourcery Implement advanced filtering for proposals and datasets by introducing NgRx-based add/remove filter actions, dynamic facet count selectors, and configurable filter behaviors, refactor the AppConfigService to support override merging, update filter components to simplify multiselect and shared filters, and extend tests to cover the new filter logic. New Features: - Add NgRx actions and reducer handlers for adding, removing, and clearing proposal filters with multiSelect, checkbox, and dateRange support - Introduce selectors for full facet parameters and per-key filter state, and integrate dynamic facet count retrieval by key - Update AppConfigService to support allowConfigOverrides flag and custom merging of base and override configurations - Enable default filter settings from app config and immediate filter application for checkbox and multiselect in dataset filters Enhancements: - Refactor mergeConfig in AppConfigService to use mergeWith for array replacement and remove deprecated loadAndMerge - Simplify MultiSelectFilterComponent by managing id-label mapping internally and removing external getFacetId util - Improve SharedFilterComponent filtering logic to normalize labels and faceted checkbox helper methods Build: - Bump @scicatproject/scicat-sdk-ts-angular, luxon, and mathjs dependencies Tests: - Expand unit tests for AppConfigService to verify override behavior, and add specs for proposal filter actions, reducers, selectors, and side-bar filter component - Update dataset and proposal effects and reducer tests to reflect new filter actions and selectors --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Jay <b331998513@gmail.com> Co-authored-by: snyk-bot <snyk-bot@snyk.io> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Omkar Zade <omkar.zade@psi.ch>
RELEASE 2025-10-07 (#2049) ## Description Short description of the pull request ## Motivation Background on use case, changes needed ## Fixes: Please provide a list of the fixes implemented in this PR * Items added ## Changes: Please provide a list of the changes implemented by this PR * changes made ## Tests included - [ ] Included for each change/fix? - [ ] Passing? (Merge will not be approved unless this is checked) ## Documentation - [ ] swagger documentation updated \[required\] - [ ] official documentation updated \[nice-to-have\] ### official documentation info If you have updated the official documentation, please provide PR # and URL of the pages where the updates are included ## Backend version - [ ] Does it require a specific version of the backend - which version of the backend is required:
BREAKING CHANGE: release major version bump (#2025) ## Description Release v5.5.0 includes a breaking change: the Docker image port has changed from 80 to 8080. Therefore, the release should have been a major bump instead of a minor bump. ## Motivation Background on use case, changes needed ## Fixes: Please provide a list of the fixes implemented in this PR * Items added ## Changes: Please provide a list of the changes implemented by this PR * changes made ## Tests included - [ ] Included for each change/fix? - [ ] Passing? (Merge will not be approved unless this is checked) ## Documentation - [ ] swagger documentation updated \[required\] - [ ] official documentation updated \[nice-to-have\] ### official documentation info If you have updated the official documentation, please provide PR # and URL of the pages where the updates are included ## Backend version - [ ] Does it require a specific version of the backend - which version of the backend is required:
RELEASE 01-07-2025 (#1924) ## Description Short description of the pull request ## Motivation Background on use case, changes needed ## Fixes: Please provide a list of the fixes implemented in this PR * Items added ## Changes: Please provide a list of the changes implemented by this PR * changes made ## Tests included - [ ] Included for each change/fix? - [ ] Passing? (Merge will not be approved unless this is checked) ## Documentation - [ ] swagger documentation updated \[required\] - [ ] official documentation updated \[nice-to-have\] ### official documentation info If you have updated the official documentation, please provide PR # and URL of the pages where the updates are included ## Backend version - [ ] Does it require a specific version of the backend - which version of the backend is required: ## Summary by Sourcery Unify and streamline table rendering across the application by replacing bespoke table implementations with a shared dynamic-mat-table component, introduce a fully integrated files dashboard with state management and pagination, persist user table preferences, expand datafiles action types with JSON-download support, and add configurable main-page routing along with accompanying state, effects, and tests. New Features: - Replace custom dataset, samples, files, jobs, and metadata tables with a centralized dynamic-mat-table component - Add a files dashboard for origDatablocks with pagination, sorting, and global search via new NgRx state slice, selectors, actions, and effects - Enable user-configurable table settings (columns, sort, pagination) persisted through user settings and TableConfigService - Introduce a new 'json-download' type for datafiles actions with templated payloads and filename substitution - Add MainPageConfiguration and MainPageGuard to route users to configurable default main pages Enhancements: - Refactor AppConfigService to support defaultMainPage and add validation for application configuration - Migrate job and sample handling to SciCat SDK v3 endpoints and DTOs, updating effects, selectors, and reducers - Consolidate HTML and SCSS across multiple components, removing redundant markup and styles for tables and cards - Extend MetadataViewComponent to support export rendering and paging mode configuration - Bump dependencies and generator scripts (openapi-generator-cli, scicat-sdk-ts-angular, zone.js, @types/node) and add a lint:errors task CI: - Update SDK generation scripts to openapi-generator-cli v7.13.0 - Add lint:errors npm script Documentation: - Add comprehensive Datafiles Actions documentation for form and JSON-download configurations Tests: - Revise and expand unit tests for dynamic-mat-table interactions, convertSavedColumns logic, nested metadata resolution, files selectors, and new event types
PreviousNext