Commit Graph

3535 Commits

Author SHA1 Message Date
Henriette Darge 454bf70b0e Merge pull request #23651 from opf/bug/dream-724-search-input-is-not-initially-focused
[DREAM-724] Search input is not initially focused
2026-06-11 07:50:46 +02:00
Oliver Günther d851d25524 Merge remote-tracking branch 'origin/release/17.5' into dev 2026-06-10 11:29:44 +02:00
Henriette Darge fa766e315f Automatically focus the search input when the project selector is opened 2026-06-10 08:01:25 +02:00
Mir Bhatia 9f89ecda16 Merge pull request #23166 from opf/implementation/74725-build-select-panel-quickfilter
[#74725] Build select panel quickfilter
2026-06-09 15:38:06 +02:00
Kabiru Mwenja bb317278ba Merge pull request #23582 from opf/bug/stc-811-documents-pagination-breaks-upon-filtering-the-list
[STC-811] Fix pagination for filtered Documents & Reserved identifiers
2026-06-09 14:32:29 +03:00
ulferts db815d0d22 Merge remote-tracking branch 'origin/dev' into merge-release/17.5-20260609045502 2026-06-09 09:32:19 +02:00
Mir Bhatia 6f0e53f406 Please rubocop 2026-06-09 09:05:28 +02:00
Mir Bhatia 6f207589ef Update label to change colours and include counter conditionally 2026-06-09 08:53:15 +02:00
Mir Bhatia 7957079830 Add clear button and turbo navigate instead of full page reload 2026-06-09 08:53:14 +02:00
Mir Bhatia eaf8eb0c17 Add single select version 2026-06-09 08:53:12 +02:00
Mir Bhatia 141f4b1669 Improve async version 2026-06-09 08:53:11 +02:00
Mir Bhatia 1d8329c220 Try async fetch 2026-06-09 08:53:08 +02:00
Mir Bhatia cc3c3fbdf6 Add component specs 2026-06-09 08:51:19 +02:00
Mir Bhatia addc37c0ff Rename QuickFilter::SegmentedControlComponent 2026-06-09 08:51:17 +02:00
Mir Bhatia e0d7aff43a Add QuickFilter::SelectPanelComponent 2026-06-09 08:45:13 +02:00
Tomas Hykel e9f0615e51 apply the index overload via optional pagination_params 2026-06-08 21:54:28 +02:00
Henriette Darge 7411f1d985 Set min-height to avoid label being cut off 2026-06-08 11:01:35 +02:00
Henriette Darge 396de9362f [74625] Make project hierarchy collapsable in the global project selector (#23137)
* Use new async FilterableTreeView for global project selector

* Remove replaced angular component

* Fine tune sorting and expansion state of the new project selector

* Update primer to 0.86.1

* Add workspace information and filter results hierarchy information to project selector

* Include review feedback: Harmonize I18n keys, fix visible scope, use guarded local storage

* Add a turboFrame in the project select overlay to only load the projects when it is actually opened

* Restore BIM tab styles which were broken for a while already but the new project selector changes made it so bad that the test broke because the plus icon was overlapping the checkbox

* Clarify spec expectation
2026-06-08 08:14:47 +02:00
Kabiru Mwenja fd22629702 Code Maintenance/STC-462: Tidy the activity-tab paginator and centralise filter modes (#23552)
https://community.openproject.org/wp/STC-462

Two readability passes over the work package activity tab, no behaviour change. The paginator's private methods are reordered to follow their call order so the file reads top-down from `#call`, and the three activity filter modes (`:all`, `:only_comments`, `:only_changes`) — until now bare symbols duplicated across the controller, paginator, journal components and the hidden form — move into a single `WorkPackages::ActivitiesTab::Filters` module so the modes have one source of truth and can't drift apart. The diff reaches beyond the paginator into the controller, several components and a form, since that's where the symbols were scattered.
2026-06-05 16:50:08 +03:00
Tomas Hykel 285f3381a9 [STC-811] Fix pagination for filtered Documents & Reserved identifiers 2026-06-05 14:18:05 +02:00
Kabiru Mwenja 5fdf57df69 Defer activity-tab sequence_version to anchor resolution
The work package activity tab computed a per-journal sequence_version on
every render — a ROW_NUMBER() window function over a LATERAL join — only to
stamp the legacy data-anchor-activity-id that #activity-N deep links rely on.
Nothing mints those links anymore; copy and share links use
#comment-<journal id>, which needs no extra query.

The activity number is now resolved on demand. Only a request carrying
?anchor=activity-N runs the window function, mapping the number to a journal
id the paginator exposes as resolved_anchor. The view hands that to the
client, which rewrites #activity-N to the canonical #comment-<id> and scrolls
using the comment anchor already present in the DOM. Default renders no longer
touch the window function.

References WP #68063.
2026-06-05 14:26:04 +03:00
Alexander Brandon Coles 71c3cec789 Merge pull request #23488 from opf/code-maintenance/75446-filters-form-component-rework
[OP-19415] Convert FilterForm to ViewComponent
2026-06-03 15:58:36 +02:00
OpenProject Actions CI 13c2ee75ba Merge branch 'release/17.5' into dev 2026-06-03 12:57:00 +00:00
Behrokh Satarnejad 78f5124afd [OP-19404] Section cannot be dragged and dropped outside of current view (#23527)
Fix type form section drag auto-scroll
2026-06-03 14:53:34 +02:00
Kabiru Mwenja 07029e9f26 Merge pull request #23514 from opf/bug/stc-742-admin-page-for-semantic-ids-long-ids-cause-overflow
Bug/STC-742: Fix column overflow in semantic ID autofix preview table
2026-06-03 12:13:22 +03:00
Kabiru Mwenja 284e62abbf Switch to inline message component as the more conventional structure
Discussed in UX meeting an accepted:
https://community.openproject.org/meetings/10359#outcome-3654
2026-06-03 11:27:28 +03:00
Pavel Balashou 5f962c1831 Merge pull request #23482 from opf/bug/75436-jira-migrator-project-selector-ui-state-is-wrong-when-server-response-is-slow-for-some-request
[#75436] Jira Migrator Project Selector: UI state is wrong when server response is slow
2026-06-03 08:36:33 +02:00
Alexander Brandon Coles e7b2215248 Preserve caller data-controller on form wrapper
Use OpPrimer::AttributesHelper so a caller-supplied data-controller is
concatenated with the required filter--filters-form controller instead of
being overwritten. The wrapper spec now asserts both controllers survive.
2026-06-02 19:05:56 +02:00
Alexander Brandon Coles 1a623ddf4b Add controller-aware OpPrimer::AttributesHelper
Stimulus supports multiple controllers on one element, but Primer's
`merge_data` is not controller-aware and silently drops a caller's
`data-controller` when a component merges in its own. Treat `controller`
as a plural data attribute so the values concatenate instead.
2026-06-02 19:05:56 +02:00
Alexander Brandon Coles 8572a3c7be [OP-19415] Primer patterns in FilterFormComponent
Uses `ConditionalWrapper` to eliminate template duplication in the
`wrap_with_controller` branch, and `merge_data` from
`Primer::AttributesHelper` for Stimulus data attributes.

https://community.openproject.org/wp/OP-19415
2026-06-02 18:51:05 +02:00
Alexander Brandon Coles e7a01b741f [OP-19415] Convert FilterForm to ViewComponent
Replaces `Filters::FilterForm` (an `ApplicationForm` subclass) with
`Filters::FilterFormComponent` (an `ApplicationComponent`). The old form
overrode `:nodoc:` Primer hooks (`before_render`, `perform_render`) and
read semi-public ivars (`@builder`, `@view_context`). The new component
receives the builder as an explicit keyword arg and uses a standard ERB
template, reducing Primer internal coupling from five semi-public APIs
to one (`FormList`).

https://community.openproject.org/wp/OP-19415
2026-06-02 18:50:35 +02:00
Kabiru Mwenja 23736a12bd Add bottom spacing below the autofix preview table
The Convert identifiers button sat flush against the preview table.
The table now carries its own bottom margin (mb: 3, via Primer::Box),
matching the spacing the previous hand-rolled box had.
2026-06-02 17:23:35 +03:00
Oliver Günther 11dc79a74d Merge remote-tracking branch 'origin/release/17.5' into dev 2026-06-02 16:22:39 +02:00
Kabiru Mwenja e6a49517cd Render semantic ID autofix preview via BorderBoxTableComponent
Long identifiers overflowed into the neighbouring column. Replace the
hand-rolled flex table with the design-system BorderBoxTableComponent,
which handles column spacing, wrapping, and responsive stacking; the
project and previous-identifier columns wrap as main columns.
2026-06-02 16:56:12 +03:00
Henriette Darge c7cec8d567 Merge pull request #23492 from opf/op-19403-User-cannot-scroll-down-on-page-when-enterprise-banner-is-showing
[19403] User cannot scroll down on page when enterprise banner is showing
2026-06-02 14:58:54 +02:00
Henriette Darge f3207d5a02 Merge pull request #23455 from opf/75387-rename-section-action-is-called-rename-group
[75387] Updates the type form configuration labels to use the Figma terminology
2026-06-02 14:54:13 +02:00
Jens Ulferts bfd971bf3d Merge pull request #23443 from opf/bug/75241-no-undisclosed-mention-for-the-parent-work-package-on-the-wp-card-for-a-user-without-permissions-to-see-the-parent
[#75241] No "Undisclosed" mention for the parent work package on the wp card
2026-06-02 10:39:28 +02:00
Behrokh Satarnejad 74183943d5 Use test selectors instead of text selector 2026-06-01 18:58:47 +02:00
OpenProject Actions CI 523ef39065 Merge branch 'release/17.5' into dev 2026-06-01 14:42:29 +00:00
Behrokh Satarnejad 9f0cb66e43 Move EE banners into active configuration pane 2026-06-01 16:13:17 +02:00
Behrokh Satarnejad b28412185e [75384] Section cannot be dragged and dropped outside of current view (#23460)
Fix form configuration sections drag-and-drop scrolling
2026-06-01 16:04:52 +02:00
Henriette Darge 3e05ccb74d Merge pull request #23414 from opf/fix/73968-card-truncation
[73968] Add truncation rules for WPCard component
2026-06-01 14:15:04 +02:00
Alexander Brandon Coles ba80c908ca Merge pull request #21480 from opf/dependabot/bundler/dev/capybara_accessible_selectors-v0.16.0
Bump capybara_accessible_selectors from v0.15.0 to v0.16.0
2026-06-01 12:31:49 +02:00
Andrej 177ea97d6b Merge branch 'release/17.5' into bug/75436-jira-migrator-project-selector-ui-state-is-wrong-when-server-response-is-slow-for-some-request 2026-06-01 11:39:07 +02:00
as-op ea65c5b133 [#75436] Jira Migrator Project Selector: UI state is wrong when server response is slow for some request
https://community.openproject.org/wp/75436
2026-06-01 11:17:22 +02:00
Henriette Darge 0f6e27bc49 Merge remote-tracking branch 'origin/release/17.5' into dev 2026-06-01 08:40:50 +02:00
Behrokh Satarnejad 5a940d06e4 [69526] Text overflow in Baseline modal banner (#23431)
* Wrap enterprise upsell buttons when space is not enough

* Undo grid template changes in baseline banner
2026-06-01 08:29:24 +02:00
Alexander Brandon Coles 0b4bcb5d3c Set accessible names on table column headers
capybara_accessible_selectors 0.16 resolves role selectors such as
`:columnheader` by the computed accessible name. In a browser that name
folds in the CSS `text-transform: uppercase` styling and the column
action-menu trigger text, so `have_columnheader("Subject")` no longer
matches a header whose accessible name resolves to "SUBJECT Open menu".

Sets an explicit `aria-label` equal to the plain caption on each header
cell, in both the server-rendered tables and the work package table, so
the accessible name is the column title alone. This also improves screen
reader output, which previously announced the uppercased text and the
menu label.
2026-05-29 19:30:27 +02:00
Henriette Darge acfaf0fc5c Add truncation rules for WPCard component 2026-05-29 15:09:09 +02:00
Klaus Zanders 1f00123aa4 Extract a Filters::FilterForm that can be re-used in other primer forms 2026-05-29 09:28:02 +02:00