From a04e05bf9bcd09004b0bf96047d456490045bbeb Mon Sep 17 00:00:00 2001 From: Florian Scholdei Date: Wed, 20 Nov 2019 16:14:50 +0100 Subject: [PATCH 01/11] Move Button to right side (and remove doubled note) --- .../src/forms/AddEntryToTableField.tsx | 16 ++++++++++------ .../forms/AutocompleteAddEntryToTableField.tsx | 7 +++---- scm-ui/ui-webapp/public/locales/de/admin.json | 5 ++--- scm-ui/ui-webapp/public/locales/de/groups.json | 3 +-- scm-ui/ui-webapp/public/locales/de/repos.json | 5 ++--- scm-ui/ui-webapp/public/locales/de/users.json | 3 +-- scm-ui/ui-webapp/public/locales/en/admin.json | 11 +++++------ scm-ui/ui-webapp/public/locales/en/groups.json | 3 +-- scm-ui/ui-webapp/public/locales/en/repos.json | 7 +++---- scm-ui/ui-webapp/public/locales/en/users.json | 7 +++---- scm-ui/ui-webapp/public/locales/es/admin.json | 3 +-- scm-ui/ui-webapp/public/locales/es/groups.json | 3 +-- scm-ui/ui-webapp/public/locales/es/repos.json | 7 +++---- scm-ui/ui-webapp/public/locales/es/users.json | 3 +-- .../roles/containers/DeleteRepositoryRole.tsx | 12 ++++-------- .../roles/containers/EditRepositoryRole.tsx | 1 - .../src/containers/ChangeUserPassword.tsx | 7 ++----- .../src/groups/components/GroupForm.tsx | 4 ++-- .../src/groups/containers/DeleteGroup.tsx | 10 +++------- .../src/groups/containers/EditGroup.tsx | 1 - .../src/repos/components/form/RepositoryForm.tsx | 5 ++--- .../src/repos/containers/DeleteRepo.tsx | 9 ++------- .../containers/CreatePermissionForm.tsx | 13 +++++++------ .../src/users/components/SetUserPassword.tsx | 10 +++++----- .../ui-webapp/src/users/components/UserForm.tsx | 7 ++----- .../src/users/containers/DeleteUser.tsx | 10 +++------- .../ui-webapp/src/users/containers/EditUser.tsx | 1 - 27 files changed, 69 insertions(+), 104 deletions(-) diff --git a/scm-ui/ui-components/src/forms/AddEntryToTableField.tsx b/scm-ui/ui-components/src/forms/AddEntryToTableField.tsx index d1e1b77cb6..8f76956c47 100644 --- a/scm-ui/ui-components/src/forms/AddEntryToTableField.tsx +++ b/scm-ui/ui-components/src/forms/AddEntryToTableField.tsx @@ -1,7 +1,7 @@ import React, { MouseEvent } from "react"; - -import { AddButton } from "../buttons"; import InputField from "./InputField"; +import Level from "../layout/Level"; +import { AddButton } from "../buttons"; type Props = { addEntry: (p: string) => void; @@ -48,10 +48,14 @@ class AddEntryToTableField extends React.Component { disabled={disabled} helpText={helpText} /> - + } /> ); diff --git a/scm-ui/ui-components/src/forms/AutocompleteAddEntryToTableField.tsx b/scm-ui/ui-components/src/forms/AutocompleteAddEntryToTableField.tsx index e09b0d1ef2..19042bb2ac 100644 --- a/scm-ui/ui-components/src/forms/AutocompleteAddEntryToTableField.tsx +++ b/scm-ui/ui-components/src/forms/AutocompleteAddEntryToTableField.tsx @@ -1,7 +1,7 @@ import React, { MouseEvent } from "react"; - -import { AutocompleteObject, SelectValue } from "@scm-manager/ui-types"; +import { SelectValue } from "@scm-manager/ui-types"; import Autocomplete from "../Autocomplete"; +import Level from "../layout/Level"; import AddButton from "../buttons/AddButton"; type Props = { @@ -53,8 +53,7 @@ class AutocompleteAddEntryToTableField extends React.Component { noOptionsMessage={noOptionsMessage} creatable={true} /> - - + } /> ); } diff --git a/scm-ui/ui-webapp/public/locales/de/admin.json b/scm-ui/ui-webapp/public/locales/de/admin.json index af34c5b759..364fa5a5b7 100644 --- a/scm-ui/ui-webapp/public/locales/de/admin.json +++ b/scm-ui/ui-webapp/public/locales/de/admin.json @@ -6,7 +6,7 @@ "settingsNavLink": "Einstellungen", "generalNavLink": "Generell" }, - "info": { + "info": { "currentAppVersion": "Aktuelle Software-Versionsnummer", "communityTitle": "Community Support", "communityIconAlt": "Community Support Icon", @@ -91,8 +91,7 @@ "submit": "Speichern" }, "delete": { - "button": "Löschen", - "subtitle": "Berechtigungsrolle löschen", + "button": "Berechtigungsrolle löschen", "confirmAlert": { "title": "Berechtigungsrolle löschen?", "message": "Wollen Sie diese Rolle wirklich löschen? Alle Benutzer mit dieser Rolle verlieren die entsprechenden Berechtigungen.", diff --git a/scm-ui/ui-webapp/public/locales/de/groups.json b/scm-ui/ui-webapp/public/locales/de/groups.json index 04b368c56b..2e8c7aeb88 100644 --- a/scm-ui/ui-webapp/public/locales/de/groups.json +++ b/scm-ui/ui-webapp/public/locales/de/groups.json @@ -60,8 +60,7 @@ } }, "deleteGroup": { - "subtitle": "Gruppe löschen", - "button": "Löschen", + "button": "Gruppe löschen", "confirmAlert": { "title": "Gruppe löschen", "message": "Soll die Gruppe wirklich gelöscht werden?", diff --git a/scm-ui/ui-webapp/public/locales/de/repos.json b/scm-ui/ui-webapp/public/locales/de/repos.json index e156cc903e..bafb590ecd 100644 --- a/scm-ui/ui-webapp/public/locales/de/repos.json +++ b/scm-ui/ui-webapp/public/locales/de/repos.json @@ -114,7 +114,7 @@ "size": "Größe" }, "noSources": "Keine Sources in diesem Branch gefunden.", - "extension" : { + "extension": { "notBound": "Keine Erweiterung angebunden." } }, @@ -166,8 +166,7 @@ } }, "deleteRepo": { - "subtitle": "Repository löschen", - "button": "Löschen", + "button": "Repository löschen", "confirmAlert": { "title": "Repository löschen", "message": "Soll das Repository wirklich gelöscht werden?", diff --git a/scm-ui/ui-webapp/public/locales/de/users.json b/scm-ui/ui-webapp/public/locales/de/users.json index 25b6858c8b..60f9f64423 100644 --- a/scm-ui/ui-webapp/public/locales/de/users.json +++ b/scm-ui/ui-webapp/public/locales/de/users.json @@ -45,8 +45,7 @@ "subtitle": "Erstellen eines neuen Benutzers" }, "deleteUser": { - "subtitle": "Benutzer löschen", - "button": "Löschen", + "button": "Benutzer löschen", "confirmAlert": { "title": "Benutzer löschen", "message": "Soll der Benutzer wirklich gelöscht werden?", diff --git a/scm-ui/ui-webapp/public/locales/en/admin.json b/scm-ui/ui-webapp/public/locales/en/admin.json index c315d1d142..d1360846f7 100644 --- a/scm-ui/ui-webapp/public/locales/en/admin.json +++ b/scm-ui/ui-webapp/public/locales/en/admin.json @@ -11,7 +11,7 @@ "communityTitle": "Community Support", "communityIconAlt": "Community Support Icon", "communityInfo": "Contact the SCM-Manager support team for questions about SCM-Manager, to report bugs or to request features through the official channels.", - "communityButton": "Contact our team", + "communityButton": "Contact our Team", "enterpriseTitle": "Enterprise Support", "enterpriseIconAlt": "Enterprise Support Icon", "enterpriseInfo": "You require support with the integration of SCM-Manager into your processes, with the customization of the tool or simply a service level agreement (SLA)?", @@ -76,8 +76,8 @@ "createSubtitle": "Create Permission Role", "editSubtitle": "Edit Permission Role", "overview": { - "title": "Overview of all permission roles", - "noPermissionRoles": "No permission roles found.", + "title": "Overview of all Permission Roles", + "noPermissionRoles": "No Permission Roles found.", "createButton": "Create Permission Role" }, "editButton": "Edit", @@ -91,10 +91,9 @@ "submit": "Save" }, "delete": { - "button": "Delete", - "subtitle": "Delete permission role", + "button": "Delete Permission Role", "confirmAlert": { - "title": "Delete permission role", + "title": "Delete Permission Role", "message": "Do you really want to delete this permission role? All users will lose their corresponding permissions.", "submit": "Yes", "cancel": "No" diff --git a/scm-ui/ui-webapp/public/locales/en/groups.json b/scm-ui/ui-webapp/public/locales/en/groups.json index 0153f30d30..6911f897f8 100644 --- a/scm-ui/ui-webapp/public/locales/en/groups.json +++ b/scm-ui/ui-webapp/public/locales/en/groups.json @@ -60,8 +60,7 @@ } }, "deleteGroup": { - "subtitle": "Delete Group", - "button": "Delete", + "button": "Delete Group", "confirmAlert": { "title": "Delete Group", "message": "Do you really want to delete the group?", diff --git a/scm-ui/ui-webapp/public/locales/en/repos.json b/scm-ui/ui-webapp/public/locales/en/repos.json index 0466bab77f..6dbbe7fd5a 100644 --- a/scm-ui/ui-webapp/public/locales/en/repos.json +++ b/scm-ui/ui-webapp/public/locales/en/repos.json @@ -114,7 +114,7 @@ "size": "Size" }, "noSources": "No sources found for this branch.", - "extension" : { + "extension": { "notBound": "No extension bound." } }, @@ -166,8 +166,7 @@ } }, "deleteRepo": { - "subtitle": "Delete Repository", - "button": "Delete", + "button": "Delete Repository", "confirmAlert": { "title": "Delete repository", "message": "Do you really want to delete the repository?", @@ -178,7 +177,7 @@ "diff": { "changes": { "add": "added", - "delete": "deleted", + "delete": "deleted", "modify": "modified", "rename": "renamed", "copy": "copied" diff --git a/scm-ui/ui-webapp/public/locales/en/users.json b/scm-ui/ui-webapp/public/locales/en/users.json index b492923a3f..0fab330e6f 100644 --- a/scm-ui/ui-webapp/public/locales/en/users.json +++ b/scm-ui/ui-webapp/public/locales/en/users.json @@ -45,17 +45,16 @@ "subtitle": "Create a new user" }, "deleteUser": { - "subtitle": "Delete User", - "button": "Delete", + "button": "Delete User", "confirmAlert": { - "title": "Delete user", + "title": "Delete User", "message": "Do you really want to delete the user?", "submit": "Yes", "cancel": "No" } }, "singleUserPassword": { - "button": "Set password", + "button": "Set Password", "setPasswordSuccessful": "Password successfully set" }, "userForm": { diff --git a/scm-ui/ui-webapp/public/locales/es/admin.json b/scm-ui/ui-webapp/public/locales/es/admin.json index 155313ed99..4c78d32620 100644 --- a/scm-ui/ui-webapp/public/locales/es/admin.json +++ b/scm-ui/ui-webapp/public/locales/es/admin.json @@ -86,8 +86,7 @@ "submit": "Guardar" }, "delete": { - "button": "Borrar", - "subtitle": "Eliminar el rol", + "button": "Eliminar el rol", "confirmAlert": { "title": "Eliminar el rol", "message": "¿Realmente desea borrar el rol? Todos los usuarios de este rol perderń sus permisos.", diff --git a/scm-ui/ui-webapp/public/locales/es/groups.json b/scm-ui/ui-webapp/public/locales/es/groups.json index 0ce3e7765a..f62cfc62cb 100644 --- a/scm-ui/ui-webapp/public/locales/es/groups.json +++ b/scm-ui/ui-webapp/public/locales/es/groups.json @@ -60,8 +60,7 @@ } }, "deleteGroup": { - "subtitle": "Borrar grupo", - "button": "Borrar", + "button": "Borrar grupo", "confirmAlert": { "title": "Borrar grupo", "message": "¿Realmente desea borrar el grupo?", diff --git a/scm-ui/ui-webapp/public/locales/es/repos.json b/scm-ui/ui-webapp/public/locales/es/repos.json index ef9bd2badc..94c99c44b1 100644 --- a/scm-ui/ui-webapp/public/locales/es/repos.json +++ b/scm-ui/ui-webapp/public/locales/es/repos.json @@ -114,7 +114,7 @@ "size": "tamaño" }, "noSources": "No se han encontrado fuentes para esta rama.", - "extension" : { + "extension": { "notBound": "Sin extensión conectada." } }, @@ -166,8 +166,7 @@ } }, "deleteRepo": { - "subtitle": "Borrar repositorio", - "button": "Borrar", + "button": "Borrar repositorio", "confirmAlert": { "title": "Borrar repositorio", "message": "¿Realmente desea borrar el repositorio?", @@ -178,7 +177,7 @@ "diff": { "changes": { "add": "añadido", - "delete": "borrado", + "delete": "borrado", "modify": "modificado", "rename": "renombrado", "copy": "copiado" diff --git a/scm-ui/ui-webapp/public/locales/es/users.json b/scm-ui/ui-webapp/public/locales/es/users.json index d5ea97b95a..7c8fa4d35e 100644 --- a/scm-ui/ui-webapp/public/locales/es/users.json +++ b/scm-ui/ui-webapp/public/locales/es/users.json @@ -45,8 +45,7 @@ "subtitle": "Crear un nuevo usuario" }, "deleteUser": { - "subtitle": "Borrar usuario", - "button": "Borrar", + "button": "Borrar usuario", "confirmAlert": { "title": "Borrar usuario", "message": "¿Realmente desea borrar el usuario?", diff --git a/scm-ui/ui-webapp/src/admin/roles/containers/DeleteRepositoryRole.tsx b/scm-ui/ui-webapp/src/admin/roles/containers/DeleteRepositoryRole.tsx index 059b110429..93efa5b3dc 100644 --- a/scm-ui/ui-webapp/src/admin/roles/containers/DeleteRepositoryRole.tsx +++ b/scm-ui/ui-webapp/src/admin/roles/containers/DeleteRepositoryRole.tsx @@ -4,7 +4,7 @@ import { withRouter } from "react-router-dom"; import { WithTranslation, withTranslation } from "react-i18next"; import { History } from "history"; import { RepositoryRole } from "@scm-manager/ui-types"; -import { Subtitle, DeleteButton, confirmAlert, ErrorNotification } from "@scm-manager/ui-components"; +import { Level, DeleteButton, confirmAlert, ErrorNotification } from "@scm-manager/ui-components"; import { deleteRole, getDeleteRoleFailure, isDeleteRolePending } from "../modules/roles"; type Props = WithTranslation & { @@ -64,13 +64,9 @@ class DeleteRepositoryRole extends React.Component { return ( <> - -
-
- - -
-
+
+ + } /> ); } diff --git a/scm-ui/ui-webapp/src/admin/roles/containers/EditRepositoryRole.tsx b/scm-ui/ui-webapp/src/admin/roles/containers/EditRepositoryRole.tsx index f09d5c603e..7114a8efc7 100644 --- a/scm-ui/ui-webapp/src/admin/roles/containers/EditRepositoryRole.tsx +++ b/scm-ui/ui-webapp/src/admin/roles/containers/EditRepositoryRole.tsx @@ -44,7 +44,6 @@ class EditRepositoryRole extends React.Component { <> this.updateRepositoryRole(role)} /> -
); diff --git a/scm-ui/ui-webapp/src/containers/ChangeUserPassword.tsx b/scm-ui/ui-webapp/src/containers/ChangeUserPassword.tsx index 9b8275aa0e..46682d6183 100644 --- a/scm-ui/ui-webapp/src/containers/ChangeUserPassword.tsx +++ b/scm-ui/ui-webapp/src/containers/ChangeUserPassword.tsx @@ -4,6 +4,7 @@ import { InputField, Notification, PasswordConfirmation, + Level, SubmitButton } from "@scm-manager/ui-components"; import { WithTranslation, withTranslation } from "react-i18next"; @@ -124,11 +125,7 @@ class ChangeUserPassword extends React.Component { passwordChanged={this.passwordChanged} key={this.state.passwordChanged ? "changed" : "unchanged"} /> -
-
- -
-
+ } /> ); } diff --git a/scm-ui/ui-webapp/src/groups/components/GroupForm.tsx b/scm-ui/ui-webapp/src/groups/components/GroupForm.tsx index b0c41df5c8..47c4414190 100644 --- a/scm-ui/ui-webapp/src/groups/components/GroupForm.tsx +++ b/scm-ui/ui-webapp/src/groups/components/GroupForm.tsx @@ -8,9 +8,9 @@ import { InputField, SubmitButton, Textarea, + Level, Checkbox } from "@scm-manager/ui-components"; - import * as validator from "./groupValidation"; type Props = WithTranslation & { @@ -154,7 +154,7 @@ class GroupForm extends React.Component { /> {this.renderExternalField(group)} {this.renderMemberfields(group)} - + } /> ); diff --git a/scm-ui/ui-webapp/src/groups/containers/DeleteGroup.tsx b/scm-ui/ui-webapp/src/groups/containers/DeleteGroup.tsx index 8c2034f09e..d9e8e4e6b5 100644 --- a/scm-ui/ui-webapp/src/groups/containers/DeleteGroup.tsx +++ b/scm-ui/ui-webapp/src/groups/containers/DeleteGroup.tsx @@ -4,7 +4,7 @@ import { withRouter } from "react-router-dom"; import { WithTranslation, withTranslation } from "react-i18next"; import { History } from "history"; import { Group } from "@scm-manager/ui-types"; -import { Subtitle, DeleteButton, confirmAlert, ErrorNotification } from "@scm-manager/ui-components"; +import { Level, DeleteButton, confirmAlert, ErrorNotification } from "@scm-manager/ui-components"; import { deleteGroup, getDeleteGroupFailure, isDeleteGroupPending } from "../modules/groups"; type Props = WithTranslation & { @@ -64,13 +64,9 @@ export class DeleteGroup extends React.Component { return ( <> - +
-
-
- -
-
+ } /> ); } diff --git a/scm-ui/ui-webapp/src/groups/containers/EditGroup.tsx b/scm-ui/ui-webapp/src/groups/containers/EditGroup.tsx index 9a70bfefa4..57fcc9b75f 100644 --- a/scm-ui/ui-webapp/src/groups/containers/EditGroup.tsx +++ b/scm-ui/ui-webapp/src/groups/containers/EditGroup.tsx @@ -61,7 +61,6 @@ class EditGroup extends React.Component { loading={loading} loadUserSuggestions={this.loadUserAutocompletion} /> -
); diff --git a/scm-ui/ui-webapp/src/repos/components/form/RepositoryForm.tsx b/scm-ui/ui-webapp/src/repos/components/form/RepositoryForm.tsx index 681b2c91f2..a99fc14524 100644 --- a/scm-ui/ui-webapp/src/repos/components/form/RepositoryForm.tsx +++ b/scm-ui/ui-webapp/src/repos/components/form/RepositoryForm.tsx @@ -2,7 +2,7 @@ import React from "react"; import { WithTranslation, withTranslation } from "react-i18next"; import { ExtensionPoint } from "@scm-manager/ui-extensions"; import { Repository, RepositoryType } from "@scm-manager/ui-types"; -import { Subtitle, InputField, Select, SubmitButton, Textarea } from "@scm-manager/ui-components"; +import { Subtitle, InputField, Select, Textarea, Level, SubmitButton } from "@scm-manager/ui-components"; import * as validator from "./repositoryValidation"; type Props = WithTranslation & { @@ -54,7 +54,6 @@ class RepositoryForm extends React.Component { isFalsy(value) { return !value; - } isValid = () => { @@ -91,7 +90,7 @@ class RepositoryForm extends React.Component { const disabled = !this.isModifiable() && !this.isCreateMode(); const submitButton = disabled ? null : ( - + } /> ); let subtitle = null; diff --git a/scm-ui/ui-webapp/src/repos/containers/DeleteRepo.tsx b/scm-ui/ui-webapp/src/repos/containers/DeleteRepo.tsx index 83220b97b8..a8b8c97f84 100644 --- a/scm-ui/ui-webapp/src/repos/containers/DeleteRepo.tsx +++ b/scm-ui/ui-webapp/src/repos/containers/DeleteRepo.tsx @@ -4,7 +4,7 @@ import { withRouter } from "react-router-dom"; import { WithTranslation, withTranslation } from "react-i18next"; import { History } from "history"; import { Repository } from "@scm-manager/ui-types"; -import { Subtitle, DeleteButton, confirmAlert, ErrorNotification } from "@scm-manager/ui-components"; +import { Level, DeleteButton, confirmAlert, ErrorNotification } from "@scm-manager/ui-components"; import { deleteRepo, getDeleteRepoFailure, isDeleteRepoPending } from "../modules/repos"; type Props = WithTranslation & { @@ -65,13 +65,8 @@ class DeleteRepo extends React.Component { return ( <>
- -
-
- -
-
+ } /> ); } diff --git a/scm-ui/ui-webapp/src/repos/permissions/containers/CreatePermissionForm.tsx b/scm-ui/ui-webapp/src/repos/permissions/containers/CreatePermissionForm.tsx index ed9c79b65f..447ef5ec68 100644 --- a/scm-ui/ui-webapp/src/repos/permissions/containers/CreatePermissionForm.tsx +++ b/scm-ui/ui-webapp/src/repos/permissions/containers/CreatePermissionForm.tsx @@ -6,6 +6,7 @@ import { GroupAutocomplete, LabelWithHelpIcon, Radio, + Level, SubmitButton, Subtitle, UserAutocomplete @@ -141,8 +142,8 @@ class CreatePermissionForm extends React.Component {
-
{this.renderAutocompletionField()}
-
+
{this.renderAutocompletionField()}
+
{
-
-
+ -
-
+ } + /> ); diff --git a/scm-ui/ui-webapp/src/users/components/SetUserPassword.tsx b/scm-ui/ui-webapp/src/users/components/SetUserPassword.tsx index f060c7494d..e5e3861fac 100644 --- a/scm-ui/ui-webapp/src/users/components/SetUserPassword.tsx +++ b/scm-ui/ui-webapp/src/users/components/SetUserPassword.tsx @@ -1,7 +1,7 @@ import React from "react"; import { WithTranslation, withTranslation } from "react-i18next"; import { User } from "@scm-manager/ui-types"; -import { SubmitButton, Notification, ErrorNotification, PasswordConfirmation } from "@scm-manager/ui-components"; +import { Level, SubmitButton, Notification, ErrorNotification, PasswordConfirmation } from "@scm-manager/ui-components"; import { setPassword } from "./setPassword"; type Props = WithTranslation & { @@ -98,15 +98,15 @@ class SetUserPassword extends React.Component { passwordChanged={this.passwordChanged} key={this.state.passwordChanged ? "changed" : "unchanged"} /> -
-
+ -
-
+ } + /> ); } diff --git a/scm-ui/ui-webapp/src/users/components/UserForm.tsx b/scm-ui/ui-webapp/src/users/components/UserForm.tsx index db1fc50ea1..1efd2558cd 100644 --- a/scm-ui/ui-webapp/src/users/components/UserForm.tsx +++ b/scm-ui/ui-webapp/src/users/components/UserForm.tsx @@ -6,6 +6,7 @@ import { Checkbox, InputField, PasswordConfirmation, + Level, SubmitButton, validation as validator } from "@scm-manager/ui-components"; @@ -166,11 +167,7 @@ class UserForm extends React.Component { />
-
-
- -
-
+ } /> ); diff --git a/scm-ui/ui-webapp/src/users/containers/DeleteUser.tsx b/scm-ui/ui-webapp/src/users/containers/DeleteUser.tsx index 15beba3c49..6feafaaf91 100644 --- a/scm-ui/ui-webapp/src/users/containers/DeleteUser.tsx +++ b/scm-ui/ui-webapp/src/users/containers/DeleteUser.tsx @@ -4,7 +4,7 @@ import { withRouter } from "react-router-dom"; import { WithTranslation, withTranslation } from "react-i18next"; import { History } from "history"; import { User } from "@scm-manager/ui-types"; -import { Subtitle, DeleteButton, confirmAlert, ErrorNotification } from "@scm-manager/ui-components"; +import { Level, DeleteButton, confirmAlert, ErrorNotification } from "@scm-manager/ui-components"; import { deleteUser, getDeleteUserFailure, isDeleteUserPending } from "../modules/users"; type Props = WithTranslation & { @@ -64,13 +64,9 @@ class DeleteUser extends React.Component { return ( <> - +
-
-
- -
-
+ } /> ); } diff --git a/scm-ui/ui-webapp/src/users/containers/EditUser.tsx b/scm-ui/ui-webapp/src/users/containers/EditUser.tsx index e2594caa44..81f639535c 100644 --- a/scm-ui/ui-webapp/src/users/containers/EditUser.tsx +++ b/scm-ui/ui-webapp/src/users/containers/EditUser.tsx @@ -41,7 +41,6 @@ class EditUser extends React.Component {
this.modifyUser(user)} user={user} loading={loading} /> -
); From 6d80f78cfd1af1c4d0a475d67e46ff217800850e Mon Sep 17 00:00:00 2001 From: Florian Scholdei Date: Wed, 20 Nov 2019 16:15:08 +0100 Subject: [PATCH 02/11] Replace internal/external group icon --- scm-ui/ui-webapp/src/groups/components/table/GroupRow.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scm-ui/ui-webapp/src/groups/components/table/GroupRow.tsx b/scm-ui/ui-webapp/src/groups/components/table/GroupRow.tsx index 2674811ae1..dbc54fbf35 100644 --- a/scm-ui/ui-webapp/src/groups/components/table/GroupRow.tsx +++ b/scm-ui/ui-webapp/src/groups/components/table/GroupRow.tsx @@ -17,9 +17,9 @@ class GroupRow extends React.Component { const { group, t } = this.props; const to = `/group/${group.name}`; const iconType = group.external ? ( - + ) : ( - + ); return ( From d4afbd6a0a8811ae1b97ad43fd9e135e28fffb21 Mon Sep 17 00:00:00 2001 From: Florian Scholdei Date: Tue, 26 Nov 2019 15:20:44 +0100 Subject: [PATCH 03/11] Make DownloadButton props optional (an disabled DownloadButton has no link, disabled should be false by default) --- scm-ui/ui-components/src/buttons/DownloadButton.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scm-ui/ui-components/src/buttons/DownloadButton.tsx b/scm-ui/ui-components/src/buttons/DownloadButton.tsx index 0e63d34073..98860cecc6 100644 --- a/scm-ui/ui-components/src/buttons/DownloadButton.tsx +++ b/scm-ui/ui-components/src/buttons/DownloadButton.tsx @@ -2,8 +2,8 @@ import React from "react"; type Props = { displayName: string; - url: string; - disabled: boolean; + url?: string; + disabled?: boolean; onClick?: () => void; }; From 702cca59ed5e174f1951bf9f252a70c6f73a85db Mon Sep 17 00:00:00 2001 From: Florian Scholdei Date: Tue, 26 Nov 2019 15:22:22 +0100 Subject: [PATCH 04/11] Move Button to right side --- scm-ui/ui-components/src/config/Configuration.tsx | 9 +++++---- .../src/admin/components/form/ConfigForm.tsx | 14 +++++++++----- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/scm-ui/ui-components/src/config/Configuration.tsx b/scm-ui/ui-components/src/config/Configuration.tsx index 967feabb2b..453fac421e 100644 --- a/scm-ui/ui-components/src/config/Configuration.tsx +++ b/scm-ui/ui-components/src/config/Configuration.tsx @@ -1,8 +1,7 @@ -import React from "react"; +import React, { FormEvent } from "react"; import { WithTranslation, withTranslation } from "react-i18next"; import { Links, Link } from "@scm-manager/ui-types"; -import { apiClient, SubmitButton, Loading, ErrorNotification } from "../"; -import { FormEvent } from "react"; +import { apiClient, Level, SubmitButton, Loading, ErrorNotification } from "../"; type RenderProps = { readOnly: boolean; @@ -179,7 +178,9 @@ class Configuration extends React.Component {
{this.props.render(renderProps)}
- + } + /> ); diff --git a/scm-ui/ui-webapp/src/admin/components/form/ConfigForm.tsx b/scm-ui/ui-webapp/src/admin/components/form/ConfigForm.tsx index f7f8f67659..6c87f4359b 100644 --- a/scm-ui/ui-webapp/src/admin/components/form/ConfigForm.tsx +++ b/scm-ui/ui-webapp/src/admin/components/form/ConfigForm.tsx @@ -1,7 +1,7 @@ import React from "react"; import { WithTranslation, withTranslation } from "react-i18next"; import { NamespaceStrategies, Config } from "@scm-manager/ui-types"; -import { SubmitButton, Notification } from "@scm-manager/ui-components"; +import { Level, SubmitButton, Notification } from "@scm-manager/ui-components"; import ProxySettings from "./ProxySettings"; import GeneralSettings from "./GeneralSettings"; import BaseUrlSettings from "./BaseUrlSettings"; @@ -151,10 +151,14 @@ class ConfigForm extends React.Component { hasUpdatePermission={configUpdatePermission} />
- + } /> ); From b17f03247b51d89eebae732488bbddcb00b32bf2 Mon Sep 17 00:00:00 2001 From: Florian Scholdei Date: Tue, 26 Nov 2019 15:59:38 +0100 Subject: [PATCH 05/11] Change AddEntryTo... to single-line component, add className prop to InputField and Autocomplete --- scm-ui/ui-components/src/Autocomplete.tsx | 7 ++- .../src/forms/AddEntryToTableField.tsx | 55 +++++++++++++------ .../AutocompleteAddEntryToTableField.tsx | 42 +++++++++----- scm-ui/ui-components/src/forms/InputField.tsx | 15 ++++- scm-ui/ui-components/src/layout/Level.tsx | 9 ++- 5 files changed, 90 insertions(+), 38 deletions(-) diff --git a/scm-ui/ui-components/src/Autocomplete.tsx b/scm-ui/ui-components/src/Autocomplete.tsx index 7618464b57..814be20aa2 100644 --- a/scm-ui/ui-components/src/Autocomplete.tsx +++ b/scm-ui/ui-components/src/Autocomplete.tsx @@ -1,4 +1,5 @@ import React from "react"; +import classNames from "classnames"; import { Async, AsyncCreatable } from "react-select"; import { SelectValue } from "@scm-manager/ui-types"; import LabelWithHelpIcon from "./forms/LabelWithHelpIcon"; @@ -14,6 +15,7 @@ type Props = { loadingMessage: string; noOptionsMessage: string; creatable?: boolean; + className?: string; }; type State = {}; @@ -53,10 +55,11 @@ class Autocomplete extends React.Component { loadingMessage, noOptionsMessage, loadSuggestions, - creatable + creatable, + className } = this.props; return ( -
+
{creatable ? ( diff --git a/scm-ui/ui-components/src/forms/AddEntryToTableField.tsx b/scm-ui/ui-components/src/forms/AddEntryToTableField.tsx index 8f76956c47..3e18674244 100644 --- a/scm-ui/ui-components/src/forms/AddEntryToTableField.tsx +++ b/scm-ui/ui-components/src/forms/AddEntryToTableField.tsx @@ -1,7 +1,8 @@ import React, { MouseEvent } from "react"; -import InputField from "./InputField"; +import styled from "styled-components"; import Level from "../layout/Level"; -import { AddButton } from "../buttons"; +import InputField from "./InputField"; +import AddButton from "../buttons/AddButton"; type Props = { addEntry: (p: string) => void; @@ -17,6 +18,22 @@ type State = { entryToAdd: string; }; +const StyledLevel = styled(Level)` + align-items: stretch; + margin-bottom: 1rem !important; // same margin as field +`; + +const StyledInputField = styled(InputField)` + width: 100%; + margin-right: 1.5rem; +`; + +const StyledField = styled.div.attrs(props => ({ + className: "field" +}))` + align-self: flex-end; +`; + class AddEntryToTableField extends React.Component { constructor(props: Props) { super(props); @@ -37,27 +54,29 @@ class AddEntryToTableField extends React.Component { render() { const { disabled, buttonLabel, fieldLabel, errorMessage, helpText } = this.props; return ( - <> - - + } + right={ + - } - /> - + + } + /> ); } diff --git a/scm-ui/ui-components/src/forms/AutocompleteAddEntryToTableField.tsx b/scm-ui/ui-components/src/forms/AutocompleteAddEntryToTableField.tsx index 19042bb2ac..8287249858 100644 --- a/scm-ui/ui-components/src/forms/AutocompleteAddEntryToTableField.tsx +++ b/scm-ui/ui-components/src/forms/AutocompleteAddEntryToTableField.tsx @@ -1,7 +1,8 @@ import React, { MouseEvent } from "react"; +import styled from "styled-components"; import { SelectValue } from "@scm-manager/ui-types"; -import Autocomplete from "../Autocomplete"; import Level from "../layout/Level"; +import Autocomplete from "../Autocomplete"; import AddButton from "../buttons/AddButton"; type Props = { @@ -20,6 +21,11 @@ type State = { selectedValue?: SelectValue; }; +const StyledAutocomplete = styled(Autocomplete)` + width: 100%; + margin-right: 1.5rem; +`; + class AutocompleteAddEntryToTableField extends React.Component { constructor(props: Props) { super(props); @@ -41,20 +47,26 @@ class AutocompleteAddEntryToTableField extends React.Component { const { selectedValue } = this.state; return ( -
- - } /> -
+ + } + right={ +
+ +
+ } + /> ); } diff --git a/scm-ui/ui-components/src/forms/InputField.tsx b/scm-ui/ui-components/src/forms/InputField.tsx index a0fd1c631c..d832d8a7d6 100644 --- a/scm-ui/ui-components/src/forms/InputField.tsx +++ b/scm-ui/ui-components/src/forms/InputField.tsx @@ -15,6 +15,7 @@ type Props = { errorMessage?: string; disabled?: boolean; helpText?: string; + className?: string; }; class InputField extends React.Component { @@ -47,11 +48,21 @@ class InputField extends React.Component { }; render() { - const { type, placeholder, value, validationError, errorMessage, disabled, label, helpText } = this.props; + const { + type, + placeholder, + value, + validationError, + errorMessage, + disabled, + label, + helpText, + className + } = this.props; const errorView = validationError ? "is-danger" : ""; const helper = validationError ?

{errorMessage}

: ""; return ( -
+
{ render() { - const { className, left, right } = this.props; + const { className, left, children, right } = this.props; + let child = null; + if (children) { + child =
{children}
; + } + return (
{left}
+ {child}
{right}
); From 111465f85317f50293914e6778e18409154c9129 Mon Sep 17 00:00:00 2001 From: Florian Scholdei Date: Tue, 26 Nov 2019 16:04:42 +0100 Subject: [PATCH 06/11] Make input .help texts position absolute so that it does not affect level negative when pop up, it also saves some space underneath --- scm-ui/ui-styles/src/scm.scss | 4 ++++ .../repos/sources/components/content/FileButtonAddons.tsx | 6 +++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/scm-ui/ui-styles/src/scm.scss b/scm-ui/ui-styles/src/scm.scss index 01d8d3e55a..cc62fa5dd6 100644 --- a/scm-ui/ui-styles/src/scm.scss +++ b/scm-ui/ui-styles/src/scm.scss @@ -622,6 +622,10 @@ form .field:not(.is-grouped) { } } +.help { + position: absolute; +} + // label with help-icon compensation .label-icon-spacing { margin-top: 30px; diff --git a/scm-ui/ui-webapp/src/repos/sources/components/content/FileButtonAddons.tsx b/scm-ui/ui-webapp/src/repos/sources/components/content/FileButtonAddons.tsx index dd52604611..dd0183d51d 100644 --- a/scm-ui/ui-webapp/src/repos/sources/components/content/FileButtonAddons.tsx +++ b/scm-ui/ui-webapp/src/repos/sources/components/content/FileButtonAddons.tsx @@ -18,7 +18,7 @@ class FileButtonAddons extends React.Component { }; color = (selected: boolean) => { - return selected ? "link is-selected" : null; + return selected ? "link is-selected" : ""; }; render() { @@ -27,14 +27,14 @@ class FileButtonAddons extends React.Component { return (
-
- + ); }; From cae4f6abb47ac83866b77a0286e14af0f942fd1d Mon Sep 17 00:00:00 2001 From: Florian Scholdei Date: Thu, 28 Nov 2019 01:57:56 +0100 Subject: [PATCH 08/11] Remove doubled , add key --- .../admin/roles/components/AvailableVerbs.tsx | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/scm-ui/ui-webapp/src/admin/roles/components/AvailableVerbs.tsx b/scm-ui/ui-webapp/src/admin/roles/components/AvailableVerbs.tsx index b230444de5..ec0e1fda29 100644 --- a/scm-ui/ui-webapp/src/admin/roles/components/AvailableVerbs.tsx +++ b/scm-ui/ui-webapp/src/admin/roles/components/AvailableVerbs.tsx @@ -13,15 +13,13 @@ class AvailableVerbs extends React.Component { let verbs = null; if (role.verbs.length > 0) { verbs = ( - - -
    - {role.verbs.map(verb => { - return
  • {t("verbs.repository." + verb + ".displayName")}
  • ; - })} -
- - + +
    + {role.verbs.map((verb, key) => { + return
  • {t("verbs.repository." + verb + ".displayName")}
  • ; + })} +
+ ); } return verbs; From 53147db0e20b5555b4dd2228d2c88cd0bc14b879 Mon Sep 17 00:00:00 2001 From: Florian Scholdei Date: Thu, 28 Nov 2019 02:01:49 +0100 Subject: [PATCH 09/11] Move button to right side and small fixes --- .../components/PermissionRoleDetails.tsx | 10 ++++-- .../repos/components/form/RepositoryForm.tsx | 2 +- .../sources/containers/SourceExtensions.tsx | 31 ++++++++++--------- 3 files changed, 24 insertions(+), 19 deletions(-) diff --git a/scm-ui/ui-webapp/src/admin/roles/components/PermissionRoleDetails.tsx b/scm-ui/ui-webapp/src/admin/roles/components/PermissionRoleDetails.tsx index e4a2a0f05c..f6e0bf35d6 100644 --- a/scm-ui/ui-webapp/src/admin/roles/components/PermissionRoleDetails.tsx +++ b/scm-ui/ui-webapp/src/admin/roles/components/PermissionRoleDetails.tsx @@ -2,7 +2,7 @@ import React from "react"; import { WithTranslation, withTranslation } from "react-i18next"; import { ExtensionPoint } from "@scm-manager/ui-extensions"; import { RepositoryRole } from "@scm-manager/ui-types"; -import { Button } from "@scm-manager/ui-components"; +import { Level, Button } from "@scm-manager/ui-components"; import PermissionRoleDetailsTable from "./PermissionRoleDetailsTable"; type Props = WithTranslation & { @@ -14,7 +14,12 @@ class PermissionRoleDetails extends React.Component { renderEditButton() { const { t, url } = this.props; if (!!this.props.role._links.update) { - return