Commit Graph

745 Commits

Author SHA1 Message Date
Phil-Ah
78b507921d Enhance ui-elements to be more accessible on smaller screens (#1950)
Enable breaking of content to be fully available on small screens or highly zoomed displays. This should help improve accessibility.

Co-authored-by: Florian Scholdei <florian.scholdei@cloudogu.com>
Co-authored-by: Konstantin Schaper <konstantin.schaper@cloudogu.com>
2022-02-18 14:48:21 +01:00
Eduard Heimbuch
b85dc8f0e6 Split frontend code by routes (#1955)
Split large frontend components into own bundles. This way we decrease loading times and load the bundles right as they are used. We replace SystemJS with our own implementation to load the lazy modules right as there are required.

Co-authored-by: Sebastian Sdorra <sebastian.sdorra@cloudogu.com>
2022-02-18 14:47:37 +01:00
Matthias Thieroff
1fe7b0a01e Improve accessibility (#1956)
Fixes several accessibility issues:

- Provide a style for empty table column headers
- Add aria references and aria-labels
- Remove aria references if the referenced element is not rendered
2022-02-17 14:00:16 +01:00
Eduard Heimbuch
1c2e00455d Improve tooltip accessibility (#1954)
There has been the requirement to improve accessibility for our tooltips by allowing tooltips to be closed via the escape key as well as allowing users to hover over the tooltip text. These combined requirements were not possible with the previous implementation that used a bulma-tooltip extension. That meant we had to implement the full tooltip html and css from scratch. A declared goal was to keep the new implementation as close to the previous look-and-feel as possible. The redundant dependency has been removed in the process.

This is the fixed re-commit of #1938 (Commit 67bd96ea81)

Co-authored-by: Konstantin Schaper <konstantin.schaper@cloudogu.com>
Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2022-02-16 10:51:30 +01:00
René Pfeuffer
cf52209c1d Revert "improve tooltip accessibility (#1938)" (#1949)
This reverts commit 67bd96ea81, because the changes to the tooltips caused a rendering error for ahead/behind tags for branches.
2022-02-15 12:08:43 +01:00
Eduard Heimbuch
5cbf9e4b32 Link directly to file sources from file history view (#1945)
Link directly to the selected file with the file history sources link instead of the root dir.
2022-02-02 16:13:10 +01:00
Konstantin Schaper
ac06cb7827 fix storyshots 2022-02-02 14:26:27 +01:00
Konstantin Schaper
4e3c1ffe02 fix copy button not having pointer cursor 2022-02-02 13:49:14 +01:00
Sebastian Sdorra
c74e9984f6 Handle Plugin Center Authentication failures (#1940)
If the plugin center authentication fails,
the plugins are fetched without authentication
and a warning is displayed on the plugin page.

Co-authored-by: Konstantin Schaper <konstantin.schaper@cloudogu.com>
2022-01-31 15:41:12 +01:00
Konstantin Schaper
67bd96ea81 improve tooltip accessibility (#1938)
There has been the requirement to improve accessibility for our tooltips by allowing tooltips to be closed via the escape key as well as allowing users to hover over the tooltip text. These combined requirements were not possible with the previous implementation that used a bulma-tooltip extension. That meant we had to implement the full tooltip html and css from scratch. A declared goal was to keep the new implementation as close to the previous look-and-feel as possible. The redundant dependency has been removed in the process.
2022-01-28 15:32:35 +01:00
Konstantin Schaper
de36c0d09d Fix markdown toggle & only show source copy button on hover (#1939)
A recent update added a button that lets users copy source code. In markdown files, the toggle button covers the copy button visually which does not look good and makes it hard/impossible to use. Additionally, larger markdown files with multiple code blocks have too many visible buttons that clutter the screen. This PR moves the markdown toggle above the actual display and only shows the copy button upon hovering the code that is to be copied.
2022-01-28 14:01:43 +01:00
René Pfeuffer
099c0ad6f6 Fixes input dialog for password field (#1934)
Fixes an javascript error in the create user dialog where the "event" from the password field is a simple string, no event.
2022-01-26 10:05:22 +01:00
Konstantin Schaper
d0cf976a54 Improve modal accessibility
Implement initial focus for modals. Change all modals including forms to put initial focus on the first input. When Enter is pressed on any input (CTRL + Enter for Textareas), the form is submitted if it is valid.

Co-authored-by: Sebastian Sdorra <sebastian.sdorra@cloudogu.com>
Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2022-01-21 14:25:19 +01:00
René Pfeuffer
f2a1effc77 Sorted autocomplete (#1918)
Users, groups, repositories and repository roles have been sorted in the rest layer by default if no other sort option was given. In the layers "below" (aka the manager classes or the dao), the collections have been unsorted. This led to the effect, that the autocomplete resource, which did not sort all values beforehand, returned unsorted results. As a sideeffect, direct matches for an input could occur at a random position or not at all (as reported in #1695), when there were enough other matches.

With this pull request the databases for users, groups, repositories and repository roles will use instances of TreeMap instead of LinkedHashMap internally, so that these values are sorted implicitly (by id respectively name for users, groups and repository roles and namespace/name for repositories).

Due to this change the default sort applied in the rest layer could be removed.
2022-01-18 09:46:10 +01:00
René Pfeuffer
070d5105d3 Cleanup Autocomplete component (#1917)
Extract common properties for both autocomplete variations.
2022-01-12 09:10:18 +01:00
René Pfeuffer
e9f22e89ec Autocomplete for namespaces (#1916)
Changes the "namespace" input in the repository creation form or the "rename repository" dialog to an
autocomplete input. Of course this is only available for the "custom" namespace strategy.
2022-01-11 16:17:57 +01:00
Florian Scholdei
586a060043 Fix high contrast mode issues (#1910)
Additionally adds css variables to be used by plugins

Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2022-01-07 16:54:17 +01:00
René Pfeuffer
61b0cf9843 Fixup for markdown copy button (#1902)
Somehow the essential changes were missing in the
original commit (788787d).
2022-01-06 15:20:56 +01:00
Eduard Heimbuch
82ac06f896 Add property to make breadcrumb not clickable (#1907)
Make breadcrumb not clickable with new property. This is useful to show the breadcrumb for path that does not exist yet.

Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2022-01-05 14:30:14 +01:00
Matthias Thieroff
a756b86f77 Add ability to render storyshots async (#1906) 2022-01-04 12:32:37 +01:00
René Pfeuffer
37f89bed77 Fix colors in autocomplete component (#1905)
Further fixes for the high contrast mode, modly regarded to the autocomplete component.

This is a fixup for #1892

Co-authored-by: Sebastian Sdorra <sebastian.sdorra@cloudogu.com>
2021-12-22 14:07:03 +01:00
Matthias Thieroff
bc86ed4474 Display search result fixes (#1901)
Fix syntax highlighting on non highlighted fields. Fix ellipsis on new lines in code syntax highlighting. Fix ellipsis on content start or end in non code fields.

Co-authored-by: Sebastian Sdorra <sebastian.sdorra@cloudogu.com>
2021-12-21 15:10:08 +01:00
Eduard Heimbuch
fb7aecd5e1 Revert popover changes 2021-12-17 16:27:58 +01:00
Florian Scholdei
16960d742e High contrast mode findings (#1892)
Fixes most of the flaws in high contrast mode.
2021-12-16 17:54:39 +01:00
Matthias Thieroff
11673e6d07 Fix display of ellipsis in search fragments (#1896)
Display ellipsis as an indicator that there is more content before or behind a search result fragment only if there really is more content.
2021-12-15 15:07:46 +01:00
Sebastian Sdorra
e2d63cc2a1 Use more accurate language detection for syntax highlighting (#1891)
Updated spotter to version 4 in order to get prism syntax mode for detected coding languages.
Expose syntax modes of coding languages as headers on content endpoint and as fields on diff dto.
Remove leading line break on search result fragments.
Use mark instead of span or strong for highlighted search results.
Add option to use syntax highlighting in TextHitField component.

Co-authored-by: Matthias Thieroff <matthias.thieroff@cloudogu.com>
2021-12-13 17:03:08 +01:00
Sebastian Sdorra
6eba01161f Integrate Plugin Center myCloudogu Authentication (#1884)
Allows scm-manager instances to authenticate with the configured plugin center. If the default plugin center is used, a myCloudogu account is used for authentication which in turn enables downloading special myCloudogu plugins directly through the plugin administration page.

Co-authored-by: Konstantin Schaper <konstantin.schaper@cloudogu.com>
Co-authored-by: Matthias Thieroff <93515444+mthieroff@users.noreply.github.com>
Co-authored-by: Philipp Ahrendt <philipp.ahrendt@cloudogu.com>
2021-12-13 15:15:57 +01:00
Eduard Heimbuch
b8d6c219ee Add extension point to branches overview (#1888)
Prepare branches overview to show additional branch details.

Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2021-12-10 11:04:59 +01:00
Eduard Heimbuch
289175331f Fix es lint errors and warnings and enforce es lint as build breaker. (#1878)
Co-authored-by: Konstantin Schaper <konstantin.schaper@cloudogu.com>
2021-12-09 09:12:02 +01:00
Sebastian Sdorra
ad5bbfeef3 Fix search highlighting conflict with jsx code (#1886)
Replaces "<>", "</>" highlighting marks with "<|[[--" and "--]]|>" to avoid conflicts when highlighting jsx code.
2021-12-06 16:49:31 +01:00
Eduard Heimbuch
f7d8636b35 Fix footer links (#1882)
Fix footer links. Before each personal link were redirected to the theme page.
2021-12-03 08:50:37 +01:00
Florian Scholdei
7f807a8e0f Improve headings structure (#1883)
The content of the SCM-Manager should be made accessible and usable in a sensibly structured way so that web content is easy to use for ever user.
2021-12-02 08:45:50 +01:00
Eduard Heimbuch
9cc134f5a8 Feature/branch details (#1876)
Enrich branch overview with more details like last committer and ahead/behind commits. Since calculating this information is pretty intense, we request it in chunks to prevent very long loading times. Also we cache the results in frontend and backend.

Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2021-12-01 14:19:18 +01:00
Eduard Heimbuch
5eb1d9cd22 Clean up html structure (#1869)
Fix different html syntax errors to improve a11y.
2021-11-29 13:57:05 +01:00
Sebastian Sdorra
9dee08f68d Update Gradle to 7.3 (#1873)
Update Gradle to 7.3. in order to profit from the performance improvement and to prepare for dependency lockfiles. Due to the upgrade to 7.x we had to use a license plugin which supports Gradle 7.
2021-11-29 09:05:24 +01:00
Eduard Heimbuch
e58d3dd70c Fix repository file search (#1867) 2021-11-19 14:38:11 +01:00
René Pfeuffer
f45fd47cdd Fix color for available plugins
Fixes the background of the plugins in the "Available Plugins" section in the settings.
2021-11-16 14:55:06 +01:00
Eduard Heimbuch
dc5f7d0f23 Feature/fix tabulator stops (#1831)
Add tab stops to action to increase accessibility of SCM-Manager with keyboard only usage. Also add a focus trap for modals to ensure the actions inside the modal can be used without losing the focus.

Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2021-11-16 11:35:58 +01:00
René Pfeuffer
0530e3864f Render disabled buttons as disabled (#1858) 2021-11-16 06:57:57 +01:00
Eduard Heimbuch
749c08c83f Add rounded borders to repository contact avatar 2021-11-12 12:50:20 +01:00
Eduard Heimbuch
4ed6a40cde Add contact icon to repository overview (#1855)
Show repository contact on repository overview with "mail to" action if contact is set. Click on this icon to send a mail to the contact.
2021-11-11 14:50:11 +01:00
Sebastian Sdorra
2938074e1a Update to webpack v5 (#1848)
Update webpack in the following components to version 5:

ui-styles (StyleGuide)
ui-components (Storybook)
ui-scripts (gradle run/build)
This change will also fix a circular dependency between ui-api and ui-components.

Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2021-11-10 10:10:17 +01:00
Eduard Heimbuch
cb7dbb0578 Fix useChangesets hook limit and refactor ChangesetRow.tsx 2021-11-08 14:20:11 +01:00
Eduard Heimbuch
6f61fefec5 Improve a11y (#1841)
Improve accessibility by removing unnecessary tags without hrefs. Also remove many eslint errors and warnings.
2021-11-04 09:16:08 +01:00
Sebastian Sdorra
0efdd2a483 Add experimental high contrast mode (#1845)
Add an experimental high contrast color theme to SCM-Manager. The high contrast mode uses a dark background and color with a high contrast for a better accessibility.
The change adds the theme to ui-styles and theme switcher to the storybook of ui-components.
2021-11-04 08:33:11 +01:00
Sebastian Sdorra
241dcb6f0c Add viewer for pdf files (#1843)
Adds an viewer for pdf files to the source code browser.
2021-11-03 14:47:14 +01:00
Eduard Heimbuch
0cc12ba061 Fix storyshots 2021-11-03 10:53:46 +01:00
Florian Scholdei
b896df5046 Add alternative text to controls to allow screen readers to read them aloud (#1840)
Add alternative text to controls to allow screen readers to read them aloud.

Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2021-11-03 10:11:40 +01:00
Eduard Heimbuch
b78742ed0b Read all errors with screen reader (#1839)
Make error notifications accessible for screen readers.
2021-11-03 08:14:54 +01:00
René Pfeuffer
e1a2d27256 Implement file lock for git (#1838)
Adds a "file lock" command that can be used to mark files as locked by a specific user. This command is implemented for git using a store to keep the locks.

Additionally, the Git LFS locking API is implemented.

To display locks, the scm-manager/scm-file-lock-plugin can be used.

Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2021-11-01 16:54:58 +01:00