Commit Graph

448 Commits

Author SHA1 Message Date
Mir Bhatia 6f207589ef Update label to change colours and include counter conditionally 2026-06-09 08:53:15 +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
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 a9742d0c33 Render once per example in filter form spec 2026-06-02 18:51:36 +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
Oliver Günther 11dc79a74d Merge remote-tracking branch 'origin/release/17.5' into dev 2026-06-02 16:22:39 +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
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
OpenProject Actions CI b2f72fd486 Merge branch 'release/17.5' into dev 2026-05-30 04:49:04 +00:00
Alexander Brandon Coles 86e40ffffe Adapt specs to capybara_accessible_selectors 0.16
Refactors the custom `:list`/`:list_item` selectors onto CAS's
`add_role_selector` and drops the now-native `Capybara::Node::Simple#role`
hack. `:list_item` resolves the listitem role, so specs matching
non-listitem `<li>` are updated (`have_row` for the custom field table,
presentation dividers via CSS).

CAS 0.16 also resolves role selectors by computed role and accessible
name, which our CSS-styled tables and Primer menus do not expose through
plain markup. Affected feature specs switch to robust locators:
Capybara's `:table_row`, the FullCalendar `data-date`, and the action
menu's real accessible name ("Edit status").

The `:columnheader` `colindex` filter lost its off-by-one offset and now
uses the true 1-based `th` position. Also fixes Webhooks `RowComponent`
spec capitalization.
2026-05-29 20:41:25 +02:00
Tomas Hykel dca5065e56 Add "Beta" to semantic identifier setting page 2026-05-29 10:30:29 +02:00
Behrokh Satarnejad 031c3ce1cc [73372] Wrong icon used when changing non working days (#23292)
* Create a new dialog component for non-working days

* Change the non-working days component

* Add feature spec

* Fix reload after canceling the action

* preserve submitted form data for confirmation, and simplify cancel handling

* Change header text

* Remove the typescript unnecessary codes and listening to a form submit and call update on confirm changes
2026-05-29 09:08:48 +02:00
Dombi Attila b93cec29e4 [#75241] No "Undisclosed" mention for the parent work package on the wp card for a user without permissions to see the parent
https://community.openproject.org/wp/75241
2026-05-28 19:19:31 +03:00
Ivan Kuchin f6e073f0a1 [#74769] Remove portfolio_models feature flag
https://community.openproject.org/wp/74769
2026-05-28 13:53:08 +02:00
Tomas Hykel 78f83d7bec [#75349] Visual patches for the "Reserved identifiers" page
https://community.openproject.org/wp/75349
2026-05-27 17:26:55 +02:00
Alexander Brandon Coles 3028b248d0 Merge pull request #23320 from opf/bug/75275-truncated-text-hellip-misalignment
[#75275] Fix hellip/expandable text alignment
2026-05-26 14:28:36 +02:00
Tomas Hykel 948fa43321 chore: Remove feature flag for project-based work package identifiers 2026-05-25 17:45:06 +02:00
Alexander Brandon Coles 878ff28148 [#75275] Fix hellip/expandable text alignment
Extracts a shared `ExpandableTextComponent` for truncation with
`HiddenTextExpander`, preserving caller classes and data attributes.
Implements it on on the permissions report and workflows matrices so
expanded labels keep the ellipsis aligned with the first line.

https://community.openproject.org/wp/75275
2026-05-22 15:16:52 +02:00
Alexander Brandon Coles c1bb691d2b [#72945] Teach Border Box List title_arguments
Allows headers to receive title arguments so callers can pass system
arguments (including semantic attributes) to rendered headings.

https://community.openproject.org/wp/72945
2026-05-21 10:40:12 +02:00
Alexander Brandon Coles b481660d2f [#72945] Update BorderBoxList description slot
Wraps header descriptions in Primer text so callers can pass system
arguments for layout while keeping muted text as the default.

https://community.openproject.org/wp/72945
2026-05-21 10:39:35 +02:00
Tomas Hykel 15f86021b1 feat: Add progress bar for identifier conversion 2026-05-20 21:28:07 +02:00
Tomas Hykel 46390ca62a feat: Release reserved project identifiers via admin 2026-05-20 20:48:00 +02:00
Tom Hykel 3390c54f15 Merge pull request #22853 from opf/change_instance_conversion_label
Rename label of instance identifier conversion button
2026-05-20 20:39:45 +02:00
Tomas Hykel 1ce03faa03 feat: Improve progress reporting during identifier conversion 2026-05-20 20:27:43 +02:00
Tomas Hykel b8f49b9e6e chore: Rename label of instance identifier conversion button 2026-05-20 17:37:56 +02:00
Alexander Brandon Coles d58b631b66 Merge branch 'dev' into feature/72945-backlogs-container-header-restyling 2026-05-20 13:13:53 +02:00
Dombi Attila f99dc882b0 [#74555] Rename and consolidate Backlogs row-menu components
https://community.openproject.org/wp/74555

- Use work_package variable name instead of story in Backlogs::WorkPackagesController
- Remove baclog_bucket flag from work packages controller spec
2026-05-20 00:11:59 +03:00
Alexander Brandon Coles 5db6e2b591 [#72945] Add configurable header padding
Allow BorderBoxList headers to override their vertical padding while
keeping row padding inherited from the underlying BorderBox.

Use spacious header padding for Backlogs lists that keep condensed rows,
and expose the option in Lookbook previews for review.

https://community.openproject.org/wp/72945
2026-05-19 14:41:49 +02:00
Alexander Brandon Coles 675ae511bf [#72945] Rework BorderBoxList header layout
Move non-collapsible header descriptions into a second grid row so the
actions and menus stay aligned with the heading line.

https://community.openproject.org/wp/72945
2026-05-19 14:41:49 +02:00
Alexander Brandon Coles 078cbb78e1 Show description: in Border Box List previews 2026-05-19 14:41:49 +02:00
Alexander Brandon Coles e372dc089b [#72945] Add BorderBoxList transparent scheme
Adds `scheme: :transparent` to BorderBoxListComponent with CSS overrides
for transparent header background and no separator line. Backlogs
callers adopt the transparent scheme.

https://community.openproject.org/wp/72945
2026-05-19 14:41:48 +02:00
Alexander Brandon Coles be4ef3360d Add BorderBoxList collapsible header option
Render plain BorderBoxList headers by default while keeping the
CollapsibleHeader toggle available behind an explicit option. Align the
plain header branch with CollapsibleHeader markup so later Backlogs
header restyling can reuse the same structure.
2026-05-16 22:03:04 +02:00
Alexander Brandon Coles 0fee00318a Filter reserved BorderBoxList ids
Drop caller-provided list/header/footer wiring ids before assigning the
internally derived ids used for BorderBox and collapsible header wiring.
2026-05-16 21:30:28 +02:00
Alexander Brandon Coles 4fb691df59 Make list announcements opt-in
Add interactive mode for dynamic BorderBox lists and enable it for
Backlogs lists. Generic lists stay quiet by default while Backlogs
updates remain announced.
2026-05-16 21:30:28 +02:00
Alexander Brandon Coles 08f3fec6d0 [#74684] Default counter aria in Header
Adds a `count_label:` keyword to `Header` that defaults to
`I18n.t(:label_x_items, count:)` and always sets `aria-live:
polite` on the counter badge. Callers no longer need to wire
up aria attributes manually. Uses `merge_aria` so additional
caller-provided aria attributes are preserved.

https://community.openproject.org/wp/74684
2026-05-14 16:47:52 +02:00
Alexander Brandon Coles 8f2cdab609 [#74684] Extract BorderBoxListComponent
Introduces a shared BorderBox-backed list component and moves the
Backlogs-specific work package card list into the Backlogs module.

Wires Backlogs callers to the new component API, keeps specialized
card rendering behind an item factory hook, and replaces old OpPrimer
work-package card list coverage with focused component specs.

https://community.openproject.org/wp/74684
2026-05-14 16:06:00 +02:00
OpenProject Actions CI 6f8a56ec02 Merge branch 'release/17.4' into dev 2026-05-12 13:36:07 +00:00
Henriette Darge 73615871ad Change wording slightly 2026-05-12 08:47:16 +02:00
Behrokh Satarnejad 3bc9c7f5d3 Add a spec for the bulk delete 2026-05-12 08:47:16 +02:00
Alexander Brandon Coles 7ef28be11b [#74779] Rename WorkPackageCardListComponent
https://community.openproject.org/wp/74779
2026-05-10 19:20:02 +02:00
Alexander Brandon Coles d8b3885d85 Merge branch 'dev' into merge-release/17.4-20260508131130 2026-05-08 15:26:29 +02:00
Tomas Hykel ae3f4aa689 fix: Adjust save button behaviour in identifier settings 2026-05-07 23:37:05 +02:00
Jan Sandbrink 0e91c6ac03 Merge pull request #23071 from opf/core-health-components
Move health check components into core
2026-05-07 08:13:24 +02:00
Jan Sandbrink 2d4a559cf9 Move health check components into core
The idea is to reuse them in the wikis module and probably elsewhere
as well, offering a similar look & feel.

The ReportComponent has been lightened for this, though. Previously
it included the page layout and a default to render when there was
no report. Now it only focusses on rendering an actual report and
leaves the rest up to the including component or page.
2026-05-06 16:39:32 +02:00
Mir Bhatia 16c0d021cc Merge pull request #23014 from opf/feature/74577-build-primer-quickfilter
[#74577] Build segmented control quickfilter
2026-05-06 16:20:33 +02:00
Mir Bhatia f49a425f98 Move components to op_primer/ 2026-05-06 10:53:12 +02:00
Mir Bhatia dd092f37cd Add component specs 2026-05-06 09:09:20 +02:00