Commit Graph

76 Commits

Author SHA1 Message Date
Alexander Brandon Coles 7eb1b1dc12 Remove ignore for obsolete mixed-decls deprecation 2026-01-23 05:43:47 -03:00
Ivan Kuchin be633df940 update openapi-explorer to 2.4.784 including it through packages 2025-12-19 21:32:18 +01:00
Bruno Pagno ff1b957e31 use BlockNote as a custom element under a shadow dom root
- updated blocknote version
- updated op-blocknote-extensions version
- injecting CSS into the shadow dom
2025-12-12 09:32:54 +01:00
Bruno Pagno 06776cb7d2 update blocknote version, include new dependencies, adjust frontend accordingly 2025-10-16 09:27:32 +02:00
Oliver Günther 6d67ef6d01 Merge remote-tracking branch 'origin/release/16.3' into dev 2025-08-22 08:22:44 +02:00
Alexander Brandon Coles 842fa3b4e3 Tell ng build not to render an HTML index file 2025-08-20 19:50:28 +01:00
Alexander Brandon Coles 46af7847b1 Tell ng build to silence Sass deprecation warnings
Silences the following warnings for now:

- "darken() is deprecated."

  https://sass-lang.com/d/color-functions

- "Global built-in functions are deprecated and will be removed in Dart
  Sass 3.0.0"
- "Sass @import rules are deprecated and will be removed in Dart Sass
  3.0.0."

  https://sass-lang.com/d/import/

- "Sass's behavior for declarations that appear after nested rules will
  be changing to match the behavior specified by CSS in an upcoming
  version."

  https://sass-lang.com/d/mixed-decls/

See list of deprecation IDs: https://sass-lang.com/documentation/cli/dart-sass/#fatal-deprecation
2025-08-20 19:50:28 +01:00
Alexander Brandon Coles 91f1283667 Configure ng build to define NODE_ENV
This is necessary to ensure we get production builds of react-dom and
other packages.
2025-08-20 19:22:47 +01:00
Alexander Brandon Coles 6e0ea8d18c Bump ng2-charts to ^8.0.0 (#19680)
* Bump ng2-charts to ^8.0.0

* Bump chart.js to 4.5.0

* Update imports, providers using default config

* Remove chart.js dependencies from CJS allowlist

These dependencies are now provided as ESM.

* Revert A11y-related Chart colour changes

These improvements were intended to improve the contrast (and thus
accessibility) of bar charts rendered by the Work Packages Overview
widget. However, the solution as implemented, when combined with the
upgrade to ng-charts2 8.0.0, breaks styling of non-bar charts rendered
by the Work Packages Graph widget.

This partially reverts commit 89135ae36c.
2025-08-19 13:33:12 +02:00
Alexander Brandon Coles aec52d6c25 Make jQuery an external script, load immediately
Make jQuery available to inline scripts.
2025-07-23 13:46:20 +01:00
Alexander Brandon Coles f8369da8f2 Merge pull request #19658 from opf/code-maintenance/angular-20
[#65998] Upgrade Angular to v20
2025-07-23 09:19:19 +01:00
Alexander Brandon Coles 2869da6f90 Update Angular to v20
Force updates Angular dependencies:

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

And performs automated upgrade:

- Moves imports of `DOCUMENT` from `@angular/common` to `@angular/core`.
- Replaces usages of the deprecated InjectFlags enum.
2025-07-23 08:54:14 +01:00
Alexander Brandon Coles 3cf7a563cd Custom esbuild config: prepend dir to chunk names
Prevents potential naming collisions when  `--named-chunks` option is
passed to `ng build`.
2025-07-22 15:33:03 +01:00
Alexander Brandon Coles e6b2ccaaa9 Switch to custom ESBuild builder
See: https://github.com/just-jeb/angular-builders/tree/18.x.x/packages/custom-esbuild
2025-07-18 08:49:43 +01:00
Alexander Brandon Coles a7282bdad6 Switch to application bundler
See: https://angular.dev/tools/cli/build-system-migration#for-existing-applications
2025-07-18 08:49:42 +01:00
Alexander Brandon Coles aa9febc397 [#64605] First pass migrating to browser-esbuild
* Switches ng build to browser-esbuild builder.
* Fixes static and dynamic imports.
* Switches to relative asset paths.
* Modernizes tsconfig files.
* Vendors jquery-ui. / HT https://gorails.com/episodes/how-to-use-jquery-with-esbuild
* Fixes various out-of-date path references.

See https://angular.dev/tools/cli/build-system-migration\#manual-migration-to-the-compatibility-builder
2025-07-18 08:49:40 +01:00
Bruno Pagno ab2013677c Use BlockNote in open project 2025-06-30 08:54:35 +02:00
Oliver Günther b151e8017d Use explicit fast build without source maps and minify for testing and PullPreview (#16563)
Use explicit fast build without source maps and minify for testing and PP
2024-08-30 10:41:53 +02:00
Oliver Günther 5995f0a05d Remove backlogs pages in favor of custom css 2024-06-12 15:13:16 +02:00
Oliver Günther e95884a5ce Bump Angular to 17 2024-04-15 20:35:45 +02:00
Oliver Günther b82ddbc583 Remove storybook from actively building, keep last build 2023-11-08 14:05:33 +01:00
Cyril Rohr 8ff5d7117a Use fast build for CI assets 2023-11-06 17:38:33 +01:00
Jonas Jabari 16588d0cc1 [37297] automatic meeting agendas and minutes linked to work packages
Squashed from https://github.com/opf/openproject/pull/13527

https://community.openproject.org/work_packages/37297
2023-09-20 09:51:29 +02:00
Oliver Günther 4500118f13 Try faster pullpreview builds 2023-08-07 14:31:42 +02:00
Oliver Günther 8989f2d439 Add lookbook 2023-08-02 13:57:27 +02:00
Oliver Günther 3de2e70089 Use custom webpack config with terser to keep classnames 2023-07-25 16:25:46 +02:00
Henriette Darge d90573f8ac Introduce Primer CSS and Primer ViewComponents 2023-07-11 12:04:14 +02:00
Oliver Günther 2da517a5c4 Exclude stimulus controllers from compodoc build 2023-07-04 14:36:08 +02:00
Oliver Günther 3aa4e87614 angular.json expects an empty string, not boolean 2023-06-15 11:15:42 +02:00
Oliver Günther 88fbf0d946 Don't build angular index.html 2023-06-15 11:00:09 +02:00
Oliver Günther 05e5ebd5cf Enable cache in all environments 2023-05-25 21:17:33 +02:00
Yule cf02771a5d Update to storybook v7
This commit updates storybook to version 7, which comes with some nice updates to the way stories are written and presented.

Closes https://community.openproject.org/work_packages/47635/activity
2023-04-25 12:08:36 +00:00
Oliver Günther 39360ebde2 Update Angular to v15 (#11778)
* Update angular to v15

Also bumps fullcalendar to v6-beta to be compatible

Bump fullcalendar to v6 final

* Fix accessing readOnly property that no longer exists

* Replace content projection

* Fix confusing duplicate variables scss, sass file

One can be imported by helpers, the other not
2023-01-03 15:35:39 +00:00
Oliver Günther dddcc03c77 Work around fullcalendar css import
https://github.com/fullcalendar/fullcalendar-angular/issues/403
2022-12-06 13:37:42 +01:00
Oliver Günther facc347fc3 Bump angular to v14 2022-12-06 13:37:40 +01:00
Benjamin Bädorf 0c67a5b821 Fix PR comments 2022-03-07 17:12:57 +01:00
Oliver Günther 4ede61e42c Bump angular to 12.0 (#9334)
* Upgrade angular to 12.0

* Fix TS errors after upgrade

* Upgrade pako and fix usage of deflate

Pako 2 no longer outputs binary encoded strings, so we need to use a separate helper lib

* Better spec error reporting and fix beforeunload spec

* Bump node compiler size
2021-06-01 08:46:32 +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
Oliver Günther 6944affca8 [35527] Add quick-menu to top menu (#9058)
* [35527] Add quick add button menu in top menu

* Add quick menu item to top menu

* Refactor top_menu.sass to follow BEM

* Only render project-based path if persisted

* Render project types when in project context

* Add headline and determine if any types are visible

* Hide quick add menu for unauthorized users

* Fix login menu dropdown by adding class

* Add schematic for correctly generating components

* Add augment service for triggering invite user modal

* Fix allowed_to? check in menu

* Add spec

* Highlight types and show all

* Fix help menu overridden

* Extend spec

* Add parent_id to project in dropdown and expand advanced settings

* Reload the page if the modal returned any data

* Fix invalid url allowed check if there is no URL to check

* Restrict top_menu sass

* Remove unused imports

* Reduce required permissions to show quick add

* Spec review feedback

* Rename project fieldset ID
2021-03-24 17:51:14 +01:00
Oliver Günther 3b78be087b Migrate tslint to eslint (#9064)
* tslint to eslint migration

* Autofix issues

* Fix codeclimate path to eslintrc

* Extend linter config for use with ng lint

* Change prefix to op in angular lints
2021-03-05 21:34:26 +01:00
Oliver Günther 1ef61291f1 Bump Angular to 11.0 (#8913)
* Bump Angular to 11

* Bump fullcalendar

* Bump uirouter

* bump typescript and rxjs

fixup! bump typescript and rxjs

* Run angular update migrations

* Fix deprecated options in serve, they are kept in builder

* Replace node-sass with sass and fix errors

* Include all ts files again to fix warnings

We have scripts that should be contained but are only loaded dynamically. It seems this trips up TS

to print warnings that these files are unused, which they really aren't.

* Address typescript compilation errors and warnings due to 4.0 upgrade

* Link to styles.css not js with updated sass

* Only reposition dropdown if appendTo is set

* Initialize resource property in edit field component

Correctly update field component and handler properties

Always use the changeset schema

Fix removed property in custom text
2021-01-11 10:07:25 +01:00
Oliver Günther e1e07609c8 Fix breaking changes of fullcalendar 5 2020-07-31 14:27:09 +02:00
Oliver Günther 645b3319a6 Remove e2e config that is not used 2020-07-31 14:27:08 +02:00
Oliver Günther 3ec2e09133 Perform upgrade to angular 10 2020-07-31 14:27:08 +02:00
Oliver Günther dd56bc08f3 Add deployUrl for cloud
Importing relative assets from components will get them output to the
deployPath and prepended with the `deployUrl`.

This unfortunately is static, and not supported with our
RELATIVE_URL_ROOT rails option, which currently does not trigger
compilation.

On cloud, this is not a problem so enabling this option for the
subscription plugin
2020-07-10 14:15:34 +02:00
Oliver Günther 0a7b21975e Don't load styles on test mode 2020-06-30 07:50:54 +02:00
Oliver Günther 04558a8881 Fix more variables 2020-06-29 08:17:42 +02:00
Henriette Darge c8115a8924 Move global CSS to frontend/src/global_styles and start resolving some conflicts (WiP)
[ci skip]
2020-06-26 14:54:30 +02:00
Aleix Suau 97ee9909b2 Added some tests 2020-06-22 11:00:12 +02:00
Henriette Darge b3dd61946e [32880] Display scheduling mode in work package view (full, split & table) (#8410)
* Show icon next to start date depending on the scheduling mode

* Show modal when opening date edit fields which shall be able to change the dates and the scheduling mode

* Introduce flatpickr as a datepicker for the modal of the dateEditField

* Use new datepicker within opDatePickerComponent

* Reuse existing Datepicker class for better code abstraction

* Set dates only when Instance is ready

* Let augmentedDatePicker use generic DatePicker class, too.

* Remove jQuery UI datepicker specific styles as they do not apply any more.

* Use localized strings in new datepicker

* Close datepicker only on click outside

* Allow single and multi selection of dates and save changes

* Update schedulingMode button correctly && remove unused method

* Show combined field for start and end date within the WP single view

* Show normal datepicker for most date fields and the modal with the extended datepicker only for startDate

* Add datepicker edit field and component helper

* Correctly save start and end date

* Show correct default value for dateEditFields  && Adapt some tests to new datepicker and combined date field

* Fix date editor spec

* Fix expecting datepicker for start/due date as milestone

* Prevent overflow on body by using modal-portal class && make edit input for combinedDates visible again to show something in a create form

* Only output one debounced change event for op datepicker

* Show combined datepickerModal for dueDate in table, too && save correct scheduling value

* Hide modal if the showing component gets destroyed

* Correctly check for closed datepicker

* Add spec for toggling scheduling mode

* Fix setting dates to modal

* Avoid too many (unnecessary) close events and use keydown instead

* Fix date setting and add custom field date spec

* Change layout of combined date picker modal

* Switch from a range date picker to a multiple selection in order to be able to set only start or due date && Highlight date field that is changed next

* Highlight range manually

* Highlight dueDate initially when the user clicked on the due date field && handle special case that one of the values is not set yet. In this case we don't want to keep both values but only the newly clicked.

* Move helper functions to own class && Improve the range selection to be able highlight ranges over multiple months && Prevent that a start date > due date can be chosen by setting minDate and maxDate

* Adapt test to new way of changing the scheduling mode

* Handle case that the user clicks on a already selected date and thus deselects it

Co-authored-by: Oliver Günther <mail@oliverguenther.de>
2020-06-16 05:50:51 +02:00