diff --git a/scm-ui/.vscode/settings.json b/scm-ui/.vscode/settings.json index f5d90fdf4b..d5728921ff 100644 --- a/scm-ui/.vscode/settings.json +++ b/scm-ui/.vscode/settings.json @@ -4,7 +4,7 @@ "editor.formatOnSave": false, // Enable per-language "[javascript]": { - "editor.formatOnSave": true + "editor.formatOnSave": false }, "flow.pathToFlow": "${workspaceRoot}/node_modules/.bin/flow" } diff --git a/scm-ui/public/locales/en/commons.json b/scm-ui/public/locales/en/commons.json index e6d8fb305e..1feaa80a9b 100644 --- a/scm-ui/public/locales/en/commons.json +++ b/scm-ui/public/locales/en/commons.json @@ -31,7 +31,8 @@ "primary-navigation": { "repositories": "Repositories", "users": "Users", - "logout": "Logout" + "logout": "Logout", + "groups": "Groups" }, "paginator": { "next": "Next", diff --git a/scm-ui/public/locales/en/groups.json b/scm-ui/public/locales/en/groups.json new file mode 100644 index 0000000000..95c42d4452 --- /dev/null +++ b/scm-ui/public/locales/en/groups.json @@ -0,0 +1,56 @@ +{ + "group": { + "name": "Name", + "description": "Description", + "creationDate": "Creation Date", + "lastModified": "Last Modified", + "type": "Type", + "members": "Members" + }, + "groups": { + "title": "Groups", + "subtitle": "Create, read, update and delete groups" + }, + "single-group": { + "error-title": "Error", + "error-subtitle": "Unknown group error", + "navigation-label": "Navigation", + "actions-label": "Actions", + "information-label": "Information", + "back-label": "Back" + }, + "add-group": { + "title": "Create Group", + "subtitle": "Create a new group" + }, + "create-group-button": { + "label": "Create" + }, + "edit-group-button": { + "label": "Edit" + }, + "add-member-button": { + "label": "Add member" + }, + "remove-member-button": { + "label": "Remove member" + }, + "add-member-textfield": { + "label": "Add member", + "error": "Invalid member name" + }, + "group-form": { + "submit": "Submit", + "name-error": "Group name is invalid", + "description-error": "Description is invalid" + }, + "delete-group-button": { + "label": "Delete", + "confirm-alert": { + "title": "Delete Group", + "message": "Do you really want to delete the group?", + "submit": "Yes", + "cancel": "No" + } + } +} diff --git a/scm-ui/src/components/Paginator.js b/scm-ui/src/components/Paginator.js index 5b306b8240..8ec05adec9 100644 --- a/scm-ui/src/components/Paginator.js +++ b/scm-ui/src/components/Paginator.js @@ -93,8 +93,9 @@ class Paginator extends React.Component { if (page + 1 < pageTotal) { links.push(this.renderPageButton(page + 1, "next")); - links.push(this.seperator()); } + if(page+2 < pageTotal) //if there exists pages between next and last + links.push(this.seperator()); if (page < pageTotal) { links.push(this.renderLastButton()); } diff --git a/scm-ui/src/components/buttons/AddButton.js b/scm-ui/src/components/buttons/AddButton.js new file mode 100644 index 0000000000..de72bdaab9 --- /dev/null +++ b/scm-ui/src/components/buttons/AddButton.js @@ -0,0 +1,11 @@ +//@flow +import React from "react"; +import Button, { type ButtonProps } from "./Button"; + +class AddButton extends React.Component { + render() { + return