50 Commits

Author SHA1 Message Date
Alexander Brandon Coles e8767481e9 [#70166] Fix accessibility errors found by ERB Lint (#21503)
* Fix GitHub/NoTitleAttribute, LinkHasHref errors

- Replaces `title` attribute with `aria-label` for interactive elements.
- Removes `title` from non-interactive elements.
- Converts `<a>` tags without proper `href` to `<button>` elements,
  using Primer `Button`/`IconButton` where possible.

# Conflicts:
#	app/views/custom_fields/_custom_options.html.erb
#	spec/features/admin/custom_fields/shared_custom_field_expectations.rb
#	spec/features/admin/custom_fields/work_packages/list_spec.rb

* Fix Autocomplete missing errors

* Fix GitHub/NoPositiveTabIndex errors

Removes all positive `tabindex` values.

* Fix Rails/LinkToBlank errors

* Replace toast with Primer Banner on LDAP form

* Add frozen_string_literal

* Ignore erb lint for deprecated files

* Fix linting errors in repository module

* Fix linting errors in budgets and custom actions

* Fix linting errors in member form and 2fa

* Fix linting errors in mcost types and wiki help and storages

* Fix linting errors in multi select filters, ifc viewer, and unsupported browser banner

* Fix failing spec

* Use Primer banner instead of op-toast where ever it is possible

* Use octicon instead of op_icon

* Fix failing tests

* Use no-decoration-on-hover for button links and change the button with only an icon to primer icon button

* Keep webhook response modal activation selector class-based

* use icon button for edit of hourly rate

---------

Co-authored-by: Behrokh Satarnejad <b.satarnejad@openproject.com>
2026-05-07 10:31:10 +02:00
Henriette Darge 375758b32a Primerise the HelpMenu and the onboarding welcome video dialog 2025-07-17 14:44:21 +02:00
Ivan Kuchin fb715f21b9 erb_lint auto fix quotes 2025-02-11 18:49:19 +01:00
Ivan Kuchin 0b1f73ec79 erb_lint auto except rubocop linter 2025-02-11 18:49:19 +01:00
Ivan Kuchin 4911b8a149 remove years from copyrights (except for COPYRIGHT file) 2024-07-31 15:02:49 +02:00
ulferts 3b2121f733 Revert "Merge remote-tracking branch 'origin/release/13.4' into dev"
This reverts commit 40b2bbeb09, reversing
changes made to b4c6cb17cc.
2024-03-21 11:31:17 +01:00
Ivan Kuchin 7787e457a3 Revert "Merge branch 'dev' into release/13.4"
This reverts commit a901541269, reversing
changes made to e573ca00b7.
2024-03-20 20:19:08 +01:00
Henriette Darge 67dcba6fbe Merge button styles "alt-highlight" and "highlight" together in one "primary" style 2024-03-08 14:10:30 +01:00
Henriette Darge 8ceeca8cb1 Adapt onboarding tour to new Gantt module 2024-02-01 16:32:24 +01: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
Christophe Bliard 5150b5d320 Introduce capybara accessible selectors for a11y
- Use accessible selectors `within_modal` / `find_modal` in
  share_spec.rb and define the modal as an accessible one: role=dialog,
  aria-modal=true, aria-labelledby=spotModalTitle
- Set spotModalTitle id on all modals.
- Introduce new custom accessible capybara selectors for list and
  list_item with custom description.
2023-11-29 08:42:43 +01:00
Henriette Darge 73e83b795b Add correct class for cancel buttons in spot modals and take care that the cancel button is hidden at the same point as the mobile version of it is displayed. Otherwise we would have a state where no cancel button was visible. Further the padding was removed from the action bar itself to avoid it being shown when there is no button inside shown any more (see #47994) 2023-08-16 08:17:25 +02:00
Christophe Bliard 21a696ef9b Update copyright information for 2023 2022-12-30 15:51:26 +01:00
Oliver Günther 7cf89cd206 Fix missing close button in onboarding modal 2022-10-17 12:23:14 +02:00
bsatarnejad cda640f584 on-boarding video modal changes 2022-10-04 14:31:02 +02:00
Behrokh Satarnejad 8dec25034b [43842] Re-design and small changes to modal dialogues (DS) for coherence (#11246)
* wp deletion modal changes

* fix test fails

* invite user modal changes

* fix eslint issus and add cancel button to summary modal

* add widget modal changes

* new board modal changes

* form configuration modal changes and remove unnecessary class

* WP table export modal changes

* WP save query modal changes

* visibility setting modal changes

* help text modal changes

* help video modal changes

* 2FA password confimation modal changes

* Delete EE token modal changes

* fix eslint errors

* eslint does not check the unbound method

* minor changes to switch the buttons and icon

* fix specs failing for invite user modal changes

* use the correct translations and revert the previous merge

* Fix opAutofocus directive

The opAutofocus directive was not setting focus if used like a normal
`autofocus` HTML attribute:

```
<input opAutofocus />
```

The above example would not produce a focus, because counterintuitively
Angular treats the default input to the directive here as an empty
string instead of undefined. This causes the default value of `true` NOT
to be set. Instead, the empty string was treated like the falsy value
it is.

* add focus on invite user modal while opening

* fix eslint errors

* eslint errors fix

* add icon delete for deleting ee token

* wp delete modal changes: remove unnecessary loading and change op-icon to a span

* remove unused components

* use spot-list for add-widget modal

* wp table configuration modal changes

* fix finding list item in add widget modal specs

* Chore/modal spacing (#11314)

* [chore] reworked spot-container spacings

* [chore] applied spot-container to spot-modal--body

- added style override for spacing within modal body

* [chore] removed unused modal footer class

* Remove scrollbar from project-include

Project include was creating scrollbars for the project list even if
it was not needed. This was caused by tooltips that were hidden in the
background but still affecting layouting.

This commit hides the tooltips correctly, and aligns the HTML structure
of project include to match that of file link list. A minimum height is
added to the project include list to make sure tooltips are readable even
if there is only one item in the list.

* [chore] rework of datepicker modal

- changed spacings, removed inner margins
- changed anchors to buttons (spot-link)
- added flatpickr override
- removed min-height
- moved project include min-height to root element

* [chore] fixed test selector

Co-authored-by: Benjamin Bädorf <b.baedorf@openproject.com>

* redesign the save query modal changes

* remove op-form class from invite user modal since we have spot-container now

* add text and title for ee modal deletion

* showing the error message when it is not valid value in invite user modal

* close the inroduction video modal  with button

* close the dynamic content modal without jquery

* fx eslint warnnings

* webhook response modal

* remove multiple cancel translation in invite user modal

* fix indentation in html file

Co-authored-by: Benjamin Bädorf <b.baedorf@openproject.com>
Co-authored-by: Eric Schubert <38206611+Kharonus@users.noreply.github.com>
2022-09-22 15:54:22 +02:00
Eric Schubert c8f1e16005 [#43684] migrated op-modal to spot-modal (#11172)
* [#43684] migrated op-modal to spot-modal

- https://community.openproject.org/work_packages/43684
- amended styles
- removed "modal--title"
- removed header component
- removed closing icon
- fixed backdrop click
- removed jquery from modal service

* [#43684] removed unused styling

- fixed some inconsitencies
- readded removed icon
- removed listener on close button

* [#43684] combined spot-action-bar

- used spot-action-bar in combination with spot-modal--footer
- fixed some styling in action bar

* [#43684] replaced more op-modal

- moved spec selectors to spot-modal
- replaced found op-modal in html templates

* [#43684] add no margin to old buttons in new dialogs

- added mobile modal behavior
- fixed some feature spec selectors

* [#43684] added modal close on mobile resolutions

* [#43684] fixed PR issues

- removed old css classes from html
- fixed feature spec click
- readded tour trigger on modal cancel

* when clicking outside the modal it will be closed instaed of clicking on a close button

* exclude _center class from spot-modal sass file itself and add it to the component style sheet

* Words should be break in any case like when there is no space there

* remove unnecessary classes that never used like _fullscreen and _cente, remove _limited-height class to make all the modal look the same

Co-authored-by: bsatarnejad <b.satarnejad@gmail.com>
Co-authored-by: Benjamin Bädorf <b.baedorf@openproject.com>
2022-08-29 10:53:41 +00:00
Henriette Darge fee9925a7d Give the onboarding video activation link a uniqe class to avoid conflicts with the export modals on certain pages (e.g. wiki or project list) 2022-05-05 09:16:05 +02:00
Oliver Günther 218004f2fb Fix missing I18n interpolation in registration 2022-03-10 09:11:28 +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
Oliver Günther cac2bf8716 [37262] Fix modal header icons (#9285)
* [37262] Fix modal header icons

https://community.openproject.org/work_packages/37262

* Add autoheight to onboarding modal

* Render avatar of the user

* Fix different padding for header and align all center

This allows to render different things, not just icons (avatar) while

centering all correctly
2021-05-19 11:55:27 +02:00
Benjamin Bädorf 2667cd1581 Refactor/app header (#9110)
* [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

* Basic BEM changes

* Remove old classes

* Update more classes

* Update togling logic

* Fixed menu opening and some styles

* Added op-menu

* Fix some help menu styles

* Add op-menu to help menug

* Add avatar border

* Fix auth_provider_spec

* Fix zen mode

* Fix static link help menu

* Fixed top menu specs

* Fix self registration specs

* Fix logout spec

* Fix bim revit navigation spec

* Fixed menu permissions spec

* Fix homescreen onboarding tour spec

* Fix top menu item spec

* Remove unused file

* Fix a lot of mobile styles

* Fix more mobile styles

* Fixed build

* Move quick add menu to right hand side

* Improve quick-add-button styles, fix main-menu-toggle close icon

* Remove add new project spec

* Fix spec

* Update project dropdown styles

* Fix click handler for chrome mobile, update some styles

Co-authored-by: Oliver Günther <mail@oliverguenther.de>
2021-04-06 11:09:06 +02:00
Aleix Suau 44cf9e0c5e Epic/placeholder users frontend (#8977)
* Add new button added to select-edit-field

* Permissions Service + show button if canInviteUsersToProject

* Permissions Service + show button if canInviteUsersToProject

* Add initial invite user modal

* Small change to invite user modal

* Small use rmodal changes

* Builds

* Added invite user modal title translation

* Changed modal to module

* Figured out basic modal setup

* Fixed build

* Started adding option-list component

* Adding reactive forms

* vim

* Reactive forms working for option-list

* op-form-field is implemented, project-selection step works

* Working on principal step

* Basics of principal selection are done

* Remove console logs

* Added role step and role api bindings, updated directory structure

* Added basics of message step

* Added summary page

* Add in-project check for selected principal

* Add documentation for principal filters

* Create modal-heading component

* Fix principal emit

* Add API calls to summary component

* Work on translations, rework close fn

* Added translations

* Fixed styling

* Add autofocus, fix typing

* Improve typing

* Add form-binding directive to fix form-field

* Fixed typescript errors

* Fix more translations

* Codeclimate and TSLint errors

* Failing test commented with TODO

* Codeclimate fixes

* Codeclimate fixes

* Open invite user modal from user selection

* Remove console and debugger calls

* Opening modal from CreateAutocompleterComponent

* Add new button added to select-edit-field

* Permissions Service + show button if canInviteUsersToProject

* Permissions Service + show button if canInviteUsersToProject

* Codeclimate and TSLint errors

* Failing test commented with TODO

* Codeclimate fixes

* Codeclimate fixes

* Add initial invite user modal

* Small change to invite user modal

* Small use rmodal changes

* Builds

* Added invite user modal title translation

* Changed modal to module

* Figured out basic modal setup

* Fixed build

* Started adding option-list component

* Adding reactive forms

* vim

* Reactive forms working for option-list

* op-form-field is implemented, project-selection step works

* Working on principal step

* Basics of principal selection are done

* Remove console logs

* Added role step and role api bindings, updated directory structure

* Added basics of message step

* Added summary page

* Add in-project check for selected principal

* Add documentation for principal filters

* Create modal-heading component

* Fix principal emit

* Add API calls to summary component

* Work on translations, rework close fn

* Added translations

* Fixed styling

* Add autofocus, fix typing

* Improve typing

* Add form-binding directive to fix form-field

* Fixed typescript errors

* Fix more translations

* Refactor/op modal (#8978)

* Initial modal refactoring

* Updated modal imports

* More modal module imports

* Fix one more import

* Fixed some styles

* Fixed failing modal specs

* Fix more spec selectors

* Fix more specs

* Updated backend modals

* Improved code style

* Fix export modal styles

* Fix wiki export modal

* Fix more specs

* Fix webhooks modal

* Added loading indicator back into modals

* Fixed wp preview modal

* InviteUserButtonComponent in

* InviteUserButtonComponent in

* InviteUserButtonComponent in MultiSelectEditFieldComponent and SelectEditFieldComponent

* Remove extraneous module

* Add Dragula import

* Remove empty spec

* Fix option-list component

* Remove group creation from invite user modal

* Write feature spec

* Fix TS errors

* Add Placeholder and Group apis to the frontend

* Better api typing

* Remove unnecessary interface

* Remove group creation call

Co-authored-by: Benjamin Bädorf <b.baedorf@openproject.com>
Co-authored-by: Oliver Günther <mail@oliverguenther.de>
Co-authored-by: Benjamin Bädorf <hello@benjaminbaedorf.eu>
2021-02-26 14:38:14 +01:00
ulferts 6140f4c7e9 update copyright to 2021 (#8925)
Updates the copyright to 2021 for all files that have a copyright. Files in our source code without the copyright header still do not receive one automatically. Additionally, backlisted files are also excluded.

Previously the copyright of chiliproject which references redmine stated a copyright of redmine up to and including 2017 which is not true for the code we have in here. Because of that I changed that to 2013
2021-01-13 17:47:45 +01:00
ulferts 27b41a313c replace custom i18n function in views 2020-09-15 07:23:59 +02:00
Henriette Dinger bd7f4e4814 Update copyright notice 2020-01-15 11:31:26 +01:00
ulferts 2690759a31 harmonize header of classical widget and grid 2019-09-18 11:36:27 +02:00
Henriette Dinger 5e1d01a0f3 Show scrollbar on large modals and change position of closing icon 2019-01-07 11:40:03 +01:00
Henriette Dinger 8c652c63ef Adjust language selection modal 2018-10-24 13:52:56 +02:00
Oliver Günther c0e271c160 [28222] Label video modal with close
It's currently not used on first login as far as I can tell

https://community.openproject.com/wp/28222

[ci skip]
2018-08-16 07:59:53 +02:00
Henriette Dinger 41805c3df1 Handle correct redirecting and minor styling issues 2018-06-29 08:16:26 +02:00
Henriette Dinger 933a2c9491 Show language selection on first login 2018-06-29 08:16:26 +02:00
Oliver Günther 946758bb35 Reimplement modal-wrapper as augmenting service
This allows us to use a single service implementation to augment
multiple modal-wrappers instead of bootstrapping the legacy frontend
there on every page load.
2018-06-22 14:45:45 +02:00
Henriette Dinger 8877008623 Let links open in separate tab and add youtube channel link 2018-05-04 14:40:21 +02:00
Oliver Günther c65be9aa1b Consolidate all existing modal styles into one
This does not include the legacy jquery-ui modal window (which is still
used in, e.g., backlogs).
2018-04-25 14:45:55 +02:00
Oliver Günther 6ef4211e77 Bump copyright to 2018 (#6171)
[ci skip]
2018-02-12 08:51:12 +01:00
Henriette Dinger 59a0265014 Change text in onboarding modal 2017-06-01 11:12:02 +02:00
Henriette Dinger 2f092e3f0e Merge remote-tracking branch 'origin/release/6.1' into merge-dev-release 2017-03-07 09:46:10 +01:00
Henriette Dinger 0990cb219d Create modal for registration form 2017-01-20 09:21:20 +01:00
Oliver Günther 7cf11bb689 Update copyright notice 2017-01-10 15:11:43 +01:00
Oliver Günther c5cd149377 Insert iframe into modal body instead of loading it on page load
Fixes https://community.openproject.com/work_packages/24398/
2016-12-05 08:53:02 +01:00
Jens Ulferts b2ef343204 cache help menu
The help menu is costly to render mostly because of the onboarding menu which itself has a partial included.

When dropping the user name from that partial, we can however cache the menu which decreases the time required for rendering significantly.
2016-08-29 13:24:55 +02:00
Oliver Günther 2fb810d07f Re-implement the onboard modal with ngDialog
The foundation modal was horrible to use. Replacing it working towards #23220
2016-08-03 21:05:01 +02:00
Oliver Günther 2715a0e112 Re-implement the ModalFactory ourselves (#4642)
We cannot properly pass 'overlayClose' to the ModalFactory since it's
transformed into 'overlayclose' instead through the `attr` API.

Instead, re-implement the whole factory so we actually have control over
what happens when.
2016-07-08 19:09:45 +02:00
Henriette Dinger 213fef42af Remove doubled id (#4641)
As suggested in #4593 this PR refactors the styling of the onboarding modal since there was a doubled ID. 
https://community.openproject.com/work_packages/22987/activity
2016-07-08 16:56:17 +02:00
Oliver Günther d8801fed03 Fix destruction of modal for 22987 (#4617)
While `modal.destroy` is enough for the modal to close, it only does so
after three seconds, leaving the video running for the time before that.

Fixes https://community.openproject.com/work_packages/22987
2016-07-05 15:16:55 +02:00
Oliver Günther 2eb8aedd1c Move modal contents into partial 2016-06-27 13:05:46 +02:00
Oliver Günther 227e64b27f Use ng-if to remove/add modal to DOM 2016-06-27 13:02:04 +02:00
Henriette Dinger bb5d0750a2 [22987] [Onboarding] Getting started video screen (2) (#4464)
* enable foundation.js

* built foundation-apps.js using webpack

* Add onboarding modal on button click

* Fix specs and little bugs

* Add show behavior for modal

* Pass template data from Rails to zf-modal

* Add closing cross and fix style bugs

* Re-add onboarding menu

* Change ID to class

* Fix styling and avatar problems

* Fix broken specs caused by foundation && improve implementation

* Require openproject-global.css and fix tests
2016-06-10 15:52:40 +02:00