467 Commits

Author SHA1 Message Date
Mir Bhatia 91d99dee01 Move page to /components 2026-06-12 14:01:42 +02:00
Mir Bhatia aed94f1522 Update quick filter lookbook docs 2026-06-12 12:43:22 +02:00
Mir Bhatia 81304f093d Update docs 2026-06-09 08:51:19 +02:00
Mir Bhatia addc37c0ff Rename QuickFilter::SegmentedControlComponent 2026-06-09 08:51:17 +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
Henriette Darge 13fbeb1612 Merge pull request #23458 from opf/code-maintenance/75462-harmonize-colours-for-selection-state-between-backlogs-workpackages-and-notifications
[75462] Harmonize colours for selection state between Backlogs, WorkPackages & Notifications
2026-06-08 07:48:56 +02:00
Henriette Darge 287b8c6e4a Apply differentiation between selected and pressed to WP table view 2026-06-03 11:48:05 +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
Klaus Zanders 9a875fde7a Merge pull request #23349 from opf/work-package-list-view
[Resource Management] Work Package List View
2026-06-02 16:49:02 +02:00
Klaus Zanders 32e2002f8e Disable Async Dialog trigger while the dialog is loading 2026-06-02 15:23:22 +02:00
OpenProject Actions CI 523ef39065 Merge branch 'release/17.5' into dev 2026-06-01 14:42:29 +00:00
Henriette Darge acfaf0fc5c Add truncation rules for WPCard component 2026-05-29 15:09:09 +02:00
Klaus Zanders 78abead8b4 Fix interaction between Filters::FilterForm and the WorkPackage Query 2026-05-29 13:40:58 +02:00
Klaus Zanders 89f3ab316b Fix lookbook article that was broken by erb_lint 2026-05-29 09:42:34 +02:00
Klaus Zanders cda0ad9616 Add comment about rendered content in lookbook 2026-05-29 09:28:07 +02:00
Klaus Zanders 2a7e93d978 Add compatability for Work Package Queries 2026-05-29 09:28:03 +02:00
Klaus Zanders d726484b7b Add Lookbook for Filter Forms 2026-05-29 09:28:03 +02:00
Klaus Zanders 0fe1f31822 Get rid of CSS styling on #add_filter_block and #add_filter_select.
Instead make it CSS classes and put it on the old instances
2026-05-29 09:28:01 +02:00
Behrokh Satarnejad bfa2588bf4 [74198] Remove newest projects in project widget on homepage (#23136)
* Add footer component for widget box

* Add footer component to the widget box as a slot

* Change projects widget to show the favorite projects

* Fix failing test

* Change the subitems widget

* Change the costs and budgets widgets

* Change the meeting widget

* Change the WPs widget in version

* Change memebers widget in project overview

* Change the favorite projects widget in my page

# Conflicts:
#	frontend/src/app/shared/components/grids/widgets/project-favorites/widget-project-favorites.component.ts

* Add the widget box to the lookbook

* Add footer for members widget in dashboard

* Fix members widget capability check

* Add feature spec for favorites projects in my page

* Remove committed demo project gitlink

* Remove temporary body variables from the costs and budgets widget templates

* Remove the scroll for favorites widget

* Remove scrollbar for members and favorite projects widgets

* Change projects block to favorite projects

* Refine feature specs

* Fix the widget footer styles globally

* Rename the component name from project favorites to favorite projects

* Rename the test selector for project name

* Move widget content inside the body

* grid widgets stretch their content area so widget footers stay pinned to the bottom

* Ensure frontend-rendered grid widgets keep their turbo-loaded content in the widget flex layout so server-rendered footers stay pinned to the bottom
2026-05-29 08:37:17 +02:00
David F fd32b7b765 Add some documentation for advanced filters. wp/74380 2026-05-26 08:14:56 +02:00
Alexander Brandon Coles 1c386ffa74 Refine Border Box List docs
Address follow-up review comments by using the component name, clarifying interactive ARIA behavior, and grouping usage guidance.
2026-05-21 15:11:10 +02:00
Alexander Brandon Coles 87b9373270 Remove link to low-level CollapsibleHeader docs 2026-05-21 15:04:37 +02:00
Alexander Brandon Coles ff22ca77b9 Note Blankslate in empty state docs, show 3 WPs
Mentions that `with_empty_state` renders a `Primer::Beta::Blankslate`
and accepts `title:`, `description:`, and `icon:` keywords. Bumps the
work-package preview from 2 to 3 items for visual consistency with the
other preview scenarios.
2026-05-21 12:28:35 +02:00
Alexander Brandon Coles 986dc16e77 Simplify code structure example
Drops the `title_arguments:` forward-reference to an `id` defined later
in the block. The `aria-describedby` wiring is an advanced pattern that
cluttered an introductory example.
2026-05-21 12:28:35 +02:00
Alexander Brandon Coles 5642c29986 [#75029] Document header parameters and slots
Surfaces the keywords accepted by `with_header` and its sub-slots
(`with_description`, `with_action_button`, `with_menu`) in dedicated
tables so readers do not need to inspect the component source.

https://community.openproject.org/wp/75029
2026-05-21 12:28:34 +02:00
Alexander Brandon Coles d3547a1ff0 [#75029] Document Border Box List in Lookbook
Updates Border Box references to point to higher-level Border Box List
component. Also removes old Border Box examples.

https://community.openproject.org/wp/75029
2026-05-21 12:28:34 +02: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 078cbb78e1 Show description: in Border Box List previews 2026-05-19 14:41:49 +02:00
Alexander Brandon Coles ee714851ee Show padding: param 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
Henriette Darge e0523a54ca Merge remote-tracking branch 'origin/dev' into feature/73089-restyled-work-package-card-in-backlogs-and-sprints-view 2026-05-19 09:37:17 +02:00
Henriette Darge 7dc866dfca Avoid that the status scheme is always set and status specific highlighting is ignored.
Include some further review feedback
2026-05-18 13:41:09 +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 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 20a4783d96 [#72945] Default action button scheme in Header
Adds `DEFAULT_ACTION_SCHEME` (`:default`) to `Header` so callers
no longer need to pass `scheme:` for standard header buttons.
Updates Lookbook preview and Backlogs sprint component to use the
new default.

https://community.openproject.org/wp/72945
2026-05-14 17:02:39 +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
Henriette Darge 91de3310bd Extend the WorkPackageCardComponent with new optionss 2026-05-13 08:51:35 +02:00
Henriette Darge 1ec3629508 Document split_view and split_create rails rendering in the lookbook 2026-05-12 08:14:35 +02:00
Alexander Brandon Coles 7ef28be11b [#74779] Rename WorkPackageCardListComponent
https://community.openproject.org/wp/74779
2026-05-10 19:20:02 +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 29ee672061 Add docs 2026-05-06 10:53:57 +02:00
Alexander Brandon Coles 199dea98a4 Fix WorkPackageCardComponent metric preview
Removes dependency on Backlogs-specific `StoryPointsComponent`.
2026-05-05 13:37:51 +01:00
Alexander Brandon Coles cad8f4b688 Merge branch 'dev' into code-maintenance/74088-backlog-sprints-component-renaming 2026-05-05 09:50:50 +01:00
Alexander Brandon Coles 83573af155 Merge dev into release merge branch
Resolve Backlogs sprint conflicts by porting the release assignability
changes onto the renamed Sprint model.
2026-05-05 08:51:13 +01:00
Alexander Brandon Coles 617dbd1554 [#73968] Move show-more out of common box
The common card box now exposes a generic `item` slot via `with_item`
for manually composed rows. Automatic rendering still only builds
work package items from the `work_packages:` argument.

The Backlogs inbox now owns the truncate-middle show-more row, its
route, Turbo frame, and draggable marker.

https://community.openproject.org/wp/73968
2026-05-01 22:36:50 +02:00
Alexander Brandon Coles 6c1a72dda1 [#73968] Add card menu slot
Expose a top-level menu slot on the common work package card so card
and card-box callers can configure action menus in the same style. Keep
menu_src as a compatibility shortcut for existing deferred Backlogs
menus while allowing inline non-deferred menu items through the slot.

https://community.openproject.org/wp/73968
2026-05-01 21:41:24 +02:00
Alexander Brandon Coles 15ac6ebcec Merge branch 'dev' into code-maintenance/74088-backlog-sprints-component-renaming
# Conflicts:
#	modules/backlogs/app/components/backlogs/backlog_bucket_item_component.rb
#	modules/backlogs/app/components/backlogs/inbox_item_component.rb
#	modules/backlogs/app/components/backlogs/sprint_component.rb
#	modules/backlogs/spec/components/backlogs/backlog_bucket_item_component_spec.rb
#	modules/backlogs/spec/components/backlogs/inbox_item_component_spec.rb
#	modules/backlogs/spec/components/backlogs/sprint_component_spec.rb
2026-05-01 20:23:58 +02:00
Alexander Brandon Coles 35d3fc8e8b [#73968] Move card metrics to Backlogs
Remove the story-points display from the shared work package card and
expose a generic metric slot instead. Backlogs now opts into that slot
with a small story-points component when rendering sprint, bucket, and
inbox cards.

https://community.openproject.org/wp/73968
2026-05-01 19:48:20 +02:00
Alexander Brandon Coles 60bb8e1ea9 [#73968] Add card box item bridge
Extracts the BorderBox row arguments into a row-bridge object
(`WorkPackageCardBoxComponent::Item`) so the box can build rows without
forcing the visual card to render row-level concerns. The visual
`WorkPackageCardComponent` constructor narrows to
`(work_package:, menu_src:)`; in-repo callers updated.

Adds a polymorphic slot API (`with_work_package_item`,
`with_empty_item`) modeled on `Primer::Alpha::FileTreeView`, plus a
public `#build_item` for off-box callers. Renames the URL pass-through
to a generic `params:` kwarg, leaving Backlogs all-state handling at the
call sites.

https://community.openproject.org/wp/73968
2026-05-01 19:11:09 +02:00