16 Commits

Author SHA1 Message Date
Alexander Brandon Coles 7020778ee5 [OP-19470] Update Angular to v22
Force updates Angular dependencies:

    ng update @angular/core@22 @angular/cli@22 --force

And performs automated upgrade:

= Adds `ChangeDetectionStrategy.Eager` to all components.
- Adds 'withXhr' to 'provideHttpClient' function calls when the
  'HttpXhrBackend' is used.
- Wraps optional chaining expressions in $safeNavigationMigration().
- Disables the 'nullishCoalescingNotNullable & optionalChainNotNullable
  extended diagnostics.
- Adds 'strictTemplates: false' in tsconfig.json when not set.

https://community.openproject.org/wp/OP-19470
2026-06-07 21:01:53 +01:00
Alexander Brandon Coles c32f2f2e26 [#74950] Migrate Angular DI to inject()
Migrates Angular constructor-based dependency injection to the
`inject()` function. The initial pass used the Angular schematic;
manual follow-up handled abstract classes, inheritance-sensitive
constructors, and call sites that still instantiate services
directly.

Schematic command:

  cd frontend && npx ng generate @angular/core:inject-migration \
    --path ./ \
    --migrate-abstract-classes \
    --backwards-compatible-constructors=false \
    --non-nullable-optional=false

https://community.openproject.org/wp/74950
2026-05-18 10:23:52 +02:00
Alexander Brandon Coles 6e8510ca1d [#66563] Migrate specs to Vitest
Apply Angular's Vitest migration schematic to update frontend and plugin
specs from Jasmine globals to Vitest APIs.

    ng g @schematics/angular:refactor-jasmine-vitest

Fix migrated edge cases where async assertions or shallow tests changed.

https://community.openproject.org/wp/66563
2026-05-08 09:52:17 +02:00
Alexander Brandon Coles 718b07cf19 Migrate templates to self-closing tags
Automated conversion with:

    ng generate @angular/core:self-closing-tag
2025-09-16 10:45:40 +01:00
Alexander Brandon Coles 39b29c2789 Update Angular to v19
Force updates Angular dependencies:

    ng update @angular/core@19 @angular/cli@19 --force

And performs automated upgrade:

- Updates non-standalone Directives, Component and Pipes to
  'standalone:false' and removes 'standalone:true' from those who are
  standalone.
2025-07-22 18:22:19 +01:00
Alexander Brandon Coles 818466e8cf Fix CSS selector in github-tab component spec
Updates spec for selector change in 077112d.
2025-01-27 08:15:04 -03:00
Ivan Kuchin 4911b8a149 remove years from copyrights (except for COPYRIGHT file) 2024-07-31 15:02:49 +02:00
Christophe Bliard c795874f7f Update copyright year for 2024
command used: `rg -l 'Copyright \(C\) 2012-202\d the OpenProject' | xargs -n 100 sed -i -r 's/Copyright \(C\) 2012-202. the OpenProject/Copyright (C) 2012-2024 the OpenProject/'`
2024-01-02 16:23:54 +01:00
Oliver Günther 077112df43 Replace github state with store 2023-04-18 16:02:58 +02:00
Christophe Bliard 21a696ef9b Update copyright information for 2023 2022-12-30 15:51:26 +01:00
Christophe Bliard bc8d423ec2 update copyright information for 2022 2022-03-01 17:05:59 +01:00
Oliver Günther ccfa29c728 Move license and copyright docs to root, fix names and references 2021-09-02 21:50:46 +02:00
Benjamin Bädorf 3a877457ad Feat/frontend linting (#9424)
* Change eslintrc config

* Try esprint fix

* Run linter fix

* Set most of the typescript linting rules to warn, run with --fix

* Fix some linting errors

* Optimize imports

* Build works again

* Remove fixes that didn't fix anything

* Make imports lint-conform again && disable trailing underscores as it is part of Angular and our convention

* Remove wrong automated fix

* Rename components with suffix "Component" for linting

* Linting, refactor reorder-delta-builder to a more functional style

* Update delta reorder specs

* Add exceptions for "++" in loops and bracket expressions in arrow functions

* Some linting fixes

* Fix some more linting

* Optimize imports

Co-authored-by: Henriette Darge <h.darge@openproject.com>
2021-07-08 15:38:01 +00:00
Aleix Suau 7e2e05c88f Feature/36390 code structure (#9319)
* core/shared/features in progress

* shared/components in progress

* Fix rebase errors

* core: added admin + apiv3

* shared: attachments + attirbute-help-text

* core: OpenprojectAugmentingModule

* shared: OpenprojectAutocompleterModule

* shared: Autocompleter

* feature: backlog

* feature: bim

* feature: boards

* shared: calendar

* core: userModule

* feature: dashboards

* shared: editor

* shared: fields

* shared: focus

* core: globalsearch

* shared: grid

* shared: grid fix

* core: hal

* shared: icon

* feature: invite user modal

* feature: job status

* shared: members autocomplete

* shared: modal

* feature: my page

* feature: overview

* shared: principal

* feature: projects

* feature: repoting

* core: routing

* shared: time entries

* shared: OpenprojectWorkPackageGraphsModule

* feature: workpackages

* core: active window

* shared: autofocus

* features: wp: back-button

* core: browser

* shared: collapseible section

* core: config

* shared: copy-to-clipboard

* shared: date-time

* shared: helpers: drag-and-drop

* shared: draggable autocompleter

* shared: dynamic bootstrapper

* shared: dynamic forms

* features: wp: edit actions bar

* shared: EditableToolbarTitleComponent

* core: BannersService

* shared: OpFormFieldComponent

* shared: hide section

* shared: highlight col

* core: I18 + Sanitizer

* shared: isClickedWithModifier

* core: LoadingIndicator

* core: Modal Heading

* core: Model auth

* shared: no results

* shared: notifications

* shared: datepicker

* shared: option-list

* core: path helper

* shared: persistent toggle

* shared: remote field

* shared: set click position

* shared: slide toggle

* shared: tabs

* shared: drag-scroll

* shared: keyCodes

* shared: OPSharedModule

* global styles: common

* core:

* import fixes

* shared: Enterprise banner

* features: wps: filters

* features: home screen

* import fixes

* core: html

* import fixes

* core: main-menu

* features: home screen

* shared: modals

* shared: op-context-menu

* core + shared: current project

* core: schema-cache

* shared: table-pagination

* features: wps: time-entries

* shared: user-link

* features: wps

* features: wps

* features: wps: all wp-* components

* core: states

* Rename: angular4-modules to app.module

* core: expression service

* Modules just with plugins

* Test fixes

* added missing content-tabs.component.sass

* Replaced with .op-ckeditor--wrapper

* Replaced by .op-ckeditor-source-element

* Replaced by the entire wysiwyg_editor.rb with dev version

* Replacements by ckeditor-augmented-textarea

* Fixes ./spec/support/components/work_packages/table_configuration_modal.rb:106

* Fixes ./modules/reporting/spec/features/update_entries_spec.rb:69

* work_packages renamed to work-packages

* TimeEntryChangeset moved to helpers

* 'filters' moved to wps/components

* 'admin' moved to features

* HAL moved to shared

* plugins moved to features

* plugins moved to features

* Test fixes

* Unit test fixes

* plugin generator into /features/plugins

* fix sass rule indentation

* Revert "plugins moved to features"

This reverts commit f65ccbfd4b.

* Import fixes

* Avoid commiting in linked plugins

Co-authored-by: ulferts <jens.ulferts@googlemail.com>
Co-authored-by: Oliver Günther <mail@oliverguenther.de>
2021-06-08 21:10:58 +02:00
Philipp Tessenow 2f9d252456 Show github pull requests in the GitHub tab (#9148)
* WIP: prototype wiring up the API with the angular frontend

* little refactorings in namespace and loading logic

* frontend styling and polishing

* pairing with aleix

* Avoid empty pullRequest.githubUser to be displayed

* added feature specs, a workaround for a pr-reload-bug in angular, and some readme improvements

* Title for partial PRs added

* GitActionsMenuComponent tests

* Test improvements

* GitHubTabComponent tests

* TabHeaderComponent tests

* TabPrsComponent tests

* revert change to karma runner

* start styling

* i18n in component

* avoid container element

* git actions menu tests

* Github interfaces

* PullRequestComponent tests

* Comment removed

* Typings improvements

* Merge fixes

* Tests fixes

* fix: wp list id links working with tabs

* remove partial github pr state

A PR might still be incomplete but enough data can be pulled from a github issuee notification to fill in most of the information

* avoid duplicate spec

* Fix import paths of op-icon

Co-authored-by: Aleix Suau <info@macrofonoestudio.es>
Co-authored-by: ulferts <jens.ulferts@googlemail.com>
Co-authored-by: Oliver Günther <mail@oliverguenther.de>
2021-05-06 16:40:37 +02:00
Philipp Tessenow a46de71009 [#36204] Add new GitHub plugin tab enabling users to copy git actions (#9027)
* Let GitHub integration show changes in a separate tab

* added new github integration icons to icon font
* add tab content:  working tab-header and copy-menu

* modernise github_integrations ruby code

* refactored some code to be more modern ruby (if wrote most of it 7
  years ago and couldn't look at some parts without squinting too much)
* make some intended-to-be-private module methods actually private
* fixed all rubocop errors in the /modules/github_integration
* re-organized tests a little
* gave our rubocop.yml some RSpec-related defaults -- happy to discuss
  these, but I think we can live with these as a good starting point

👆 all without actually (intentionally) changing the behaviour

* removed dead angular template code

* codeclimate found more things than rubocop :)

* removed create-pr-button since we decided against implementing that feature

* added missing translations

* properly cache the github related part of the wp api

* lower case pull requests in translations

* fix specs
2021-04-07 09:34:56 +02:00