88 Commits

Author SHA1 Message Date
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
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
David F 1d1a31f86a Clean up eventually useless code for advanced filters. wp/74380 2026-05-26 08:14:56 +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
Alexander Brandon Coles 7ef28be11b [#74779] Rename WorkPackageCardListComponent
https://community.openproject.org/wp/74779
2026-05-10 19:20:02 +02:00
Alexander Brandon Coles f5405946f1 [#73968] Colocate card component styles
Renames the Backlogs-named card classes (`.op-backlogs-story`,
`.op-sprint-header`, `.op-backlogs-points-label`) after the
component classes extracted under `app/components/open_project/common/`
and moves the rules into colocated `.sass` files. Preparatory work
for https://community.openproject.org/wp/73890.

https://community.openproject.org/work_packages/73968
2026-04-30 17:43:52 +02:00
Alexander Brandon Coles 0794eb4497 [#73968] Add card box truncate-middle pagination
Teaches `WorkPackageCardBoxComponent` an optional
`with_show_more(truncate_middle:, text:)` slot. When set, the box
truncates `work_packages` to the first `truncate_middle` rows plus
a derived tail (20% of first page, min 1) and emits a
`Box-row scheme: :neutral` between them advertising the omitted
middle. The slot is also the toggle — leaving it unset means no
truncation, preserving sprint and bucket behaviour.

Default copy is sourced from the new
`work_package_card_box_component.show_more` locale key with
`one`/`other` plurals; consumers can override via `text:` (with a
`%{count}` placeholder). Adds a Lookbook preview for the slot.

https://community.openproject.org/wp/73968
2026-04-30 16:47:08 +02:00
Jan Sandbrink b5b95dd935 Add a component for inline macros
This is intended to become a replacement for the angular-based
<opce-macro-wp-quickinfo> component.

However, the new component should be more generic, so that it can
also be used for other cases, such as rich links to wiki pages.
2026-04-15 13:23:40 +02:00
Klaus Zanders 95182bfdd9 Implement first view iteration for non working times 2026-03-06 13:28:38 +01:00
Henriette Darge bd88659079 First draft of a registry for inline edit components (wip) 2026-01-29 14:37:02 +01:00
Oliver Günther 43f961cce3 Add FullPagePromptComponent 2026-01-28 13:51:52 +01:00
Behrokh Satarnejad 66269ee57f Replace inline message component 2026-01-23 16:22:38 +01:00
Alexander Brandon Coles 07ae586e1a Rename WarningText to InlineMessageComponent
Aligns implementation with Primer React's InlineMessage component.

See: https://primer.style/product/components/inline-message/
2026-01-14 05:43:58 -03:00
Henriette Darge c37decf9df Merge pull request #21155 from opf/feat/attribute-help-text-caption
Implement attribute help text caption
2025-11-26 10:59:24 +01:00
Tobias Dillmann 1472f7c50f [#68877] Render progress bar for portfolio sub items
[#68877] Include aria-label on ProgressBar
2025-11-26 10:40:18 +01:00
Henriette Darge ac721dbed4 Introduce an AttributeHelpTextCaption component in case a field is rendered manually withput a form around it 2025-11-25 22:06:38 +01:00
Henriette Darge 41dcbca1ed Extract step_wizard page layout to be able to re-use it 2025-11-21 08:43:44 +01:00
Henriette Darge 10cfda4aaa Abstract stepWizard footer to a generic component so that it can be re-used for project creation 2025-11-20 13:52:51 +01:00
Oliver Günther 6717b86738 Project wizard to fill out attributes 2025-11-17 20:16:39 +01:00
Henriette Darge a2ff95a0d8 Use Octicons for homescreen links 2025-09-22 08:28:46 +02:00
Oliver Günther 8a4eebf4cb Move new feature widget to rails 2025-08-29 14:06:29 +02:00
Henriette Darge 7dacdbfee3 Merge pull request #18981 from opf/63888-move-project-selector-to-the-sidebar
[63888] Move project selector to the sidebar
2025-06-30 15:57:39 +02:00
Eric Schubert e36d115295 [#65242] moved most of the wp types related files to new namespace
- https://community.openproject.org/work_packages/65242
- moved a lot of classes under ::Types or ::WorkPackages::Types to
  ::WorkPackageTypes namespace
2025-06-30 13:31:39 +02:00
Henriette Darge cc90002bef Take care that the main menu resizer toggles when the menu is collapsed/expanded
Clean-up sass code

Avoid that the type selector in the WP from is scrolled two far when being activated. Currently, it is scrolled twice (one time when activating it and once again when selecting an item). Thus the dropdown overlaps the actual input

Move logo to the left side

Make naming consistent for MainMenuToggleComponent and add a component test

Let menu toggle button scroll with the rest of the page

Move modules menu to the left and show it on mobile
2025-06-27 11:10:04 +02:00
Henriette Darge bb66d0d5b4 Move toggleButton for menu into the sidebar 2025-06-25 15:45:38 +02:00
Oliver Günther 5ad8a063ae Replace UpsellPageCompomponent with banners rendered as part of the normal flow 2025-06-12 13:38:55 +02:00
Alexander Brandon Coles 2b0e95244d [#63738] Primerize attribute help texts
Creates the following Primerized components:

* `AttributeHelpTextComponent` to render an icon that will invoke the
  attribute help text dialog on click.
* `AttributeLabelComponent` to render an attribute label and help text
  icon together with the correct spacing.
* `AttributeHelpTexts::ShowDialogComponent` to render the attribute help
  text dialog itself.

Also creates accompanying Controller actions, routes and specs.
2025-06-03 12:33:34 +01:00
Dombi Attila 0c51eeb5a8 Order sass imports alphabetically 2025-05-27 23:17:03 +03:00
Oliver Günther e27ac494d3 Consistent naming of upsell, not upsale 2025-04-24 15:52:34 +02:00
Tobias Dillmann bdf86fd0fa move into its own namespace
This is useful in case we want to show actual project hover cards in the
future.
2025-04-08 14:07:36 +02:00
Oliver Günther 9357553e3f Replace common/upsale with component 2025-04-07 10:55:22 +02:00
Henriette Darge bb9e155869 Replace AdminSettingsFormComponent with a wrapper to be able to use it with inline Forms that do not have an own component around 2025-03-31 08:26:33 +02:00
Eric Schubert 4a33a167a0 [chore] add container for admin settings form
- admin setting forms can use as base component
  `AdminSettingsFormComponent` and will benefit from the general
  approved form container for admin setting pages
2025-03-12 13:22:39 +01:00
Henriette Darge 58cb72e370 First draft of a single date mode in datepicker. Therefore, the form was manually build to add buttons into it 2025-02-26 08:36:07 +01:00
Henriette Darge f84c92ca7a Start on mobile layout for Datepicker 2025-02-25 09:18:04 +01:00
Henriette Darge 8fcd639bf6 Avoid that the Dialog is jumping around when switching tabs and the content size changes 2025-02-25 09:18:03 +01:00
Henriette Darge 3884d5e9ed Truncate long words in WP subjects 2025-02-06 11:54:10 +01:00
Bruno Pagno b0fefb83fc create a pattern autocompleter input
This commit introduces a new type of input field which can handle autocomplete with 'tokens', so that we can build
patterns like `Example pattern {{token}} value`.
2025-02-04 08:40:46 +01:00
Jonas Jabari 5e762ea891 render revisions in new activity tab 2025-01-13 16:04:57 +01:00
Kabiru Mwenja 5ab30ac839 Merge pull request #17341 from opf/implementation/59721-add-setedit-reminder-buttondialog-to-workpackage-page
Implementation/59721 add setedit reminder buttondialog to workpackage page
2024-12-12 12:57:44 +03:00
ulferts 94a4abee6f add enterprise edition banner component 2024-12-11 15:28:57 +01:00
Kabiru Mwenja 5dc51a981d Merge branch 'dev' into implementation/59721-add-setedit-reminder-buttondialog-to-workpackage-page 2024-12-04 17:51:13 +03:00
Jonas Jabari 8c08239169 implemented reminder creation/update modal on workpackag page and basic spec coverage 2024-12-03 16:59:34 +01:00
Tobias Dillmann fe106c3396 [#55581] Users::HoverCardComponent 2024-11-29 15:19:30 +01:00
Aaron Contreras e762f0249c Render relations tab via server-side rendered turbo frame 2024-11-13 06:47:44 -05:00
Kabiru Mwenja a42bd7bf6b [#58824] Emoji reactions overlap on mWeb
https://community.openproject.org/work_packages/58824

* Flex wrap the emoji reactions
* Apply a max width of 200px on the overlay on mobile
2024-11-08 17:10:28 +03:00
Kabiru Mwenja 371f2f3cc2 Merge branch 'dev' into feature/40437-emoji-reactions-to-work-package-comments 2024-10-17 15:58:12 +03:00
Kabiru Mwenja 52beb63d99 Merge branch 'dev' into feature/54733-primerise-the-activity-panel 2024-10-14 12:22:03 +03:00
Kabiru Mwenja a3d0747f40 feat[Op#40437]: Introduce view only reactions covered by feature specs
Users who do not have commenting permissions: typically the `add_work_package_notes` and anonymous
users cannot add new reactions but they can view any existing reactions. Futher, the "Add reactions" button
is also hidden from them.

In view only state, the emoji reactions render as primer invisible buttons in disabled state.

> They can respond to user input and provide feedback, but it does not trigger any actions.
> See: https://primer.style/components/button#inactive

The view only reactions mimic primer inactive buttons but without the muted styling and cursor change
2024-10-10 19:09:53 +03:00