mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-11 07:55:47 +01:00
Merged 2.0.0-m3
This commit is contained in:
3
Jenkinsfile
vendored
3
Jenkinsfile
vendored
@@ -26,7 +26,7 @@ node('docker') {
|
|||||||
}
|
}
|
||||||
|
|
||||||
stage('Build') {
|
stage('Build') {
|
||||||
mvn 'clean install -DskipTests'
|
mvn 'clean install -Pdoc -DskipTests'
|
||||||
}
|
}
|
||||||
|
|
||||||
stage('Unit Test') {
|
stage('Unit Test') {
|
||||||
@@ -53,6 +53,7 @@ node('docker') {
|
|||||||
stage('Archive') {
|
stage('Archive') {
|
||||||
archiveArtifacts 'scm-webapp/target/scm-webapp.war'
|
archiveArtifacts 'scm-webapp/target/scm-webapp.war'
|
||||||
archiveArtifacts 'scm-server/target/scm-server-app.*'
|
archiveArtifacts 'scm-server/target/scm-server-app.*'
|
||||||
|
archiveArtifacts 'scm-webapp/target/scm-webapp-restdocs.zip'
|
||||||
}
|
}
|
||||||
|
|
||||||
stage('Docker') {
|
stage('Docker') {
|
||||||
|
|||||||
2
pom.xml
2
pom.xml
@@ -777,7 +777,7 @@
|
|||||||
<jaxrs.version>2.0.1</jaxrs.version>
|
<jaxrs.version>2.0.1</jaxrs.version>
|
||||||
<resteasy.version>3.1.3.Final</resteasy.version>
|
<resteasy.version>3.1.3.Final</resteasy.version>
|
||||||
<jersey-client.version>1.19.4</jersey-client.version>
|
<jersey-client.version>1.19.4</jersey-client.version>
|
||||||
<enunciate.version>2.9.1</enunciate.version>
|
<enunciate.version>2.11.1</enunciate.version>
|
||||||
<jackson.version>2.8.6</jackson.version>
|
<jackson.version>2.8.6</jackson.version>
|
||||||
<guice.version>4.0</guice.version>
|
<guice.version>4.0</guice.version>
|
||||||
|
|
||||||
|
|||||||
@@ -137,7 +137,7 @@
|
|||||||
|
|
||||||
<profiles>
|
<profiles>
|
||||||
<profile>
|
<profile>
|
||||||
<id>doc</id>
|
<id>plugin-doc</id>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
<plugins>
|
<plugins>
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
//@flow
|
//@flow
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import Button, { type ButtonProps } from "./Button";
|
|
||||||
import type {File} from "@scm-manager/ui-types";
|
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
displayName: string,
|
displayName: string,
|
||||||
@@ -10,9 +8,9 @@ type Props = {
|
|||||||
|
|
||||||
class DownloadButton extends React.Component<Props> {
|
class DownloadButton extends React.Component<Props> {
|
||||||
render() {
|
render() {
|
||||||
const {displayName, url} = this.props;
|
const { displayName, url } = this.props;
|
||||||
return (
|
return (
|
||||||
<a className="button is-large is-info" href={url}>
|
<a className="button is-large is-link" href={url}>
|
||||||
<span className="icon is-medium">
|
<span className="icon is-medium">
|
||||||
<i className="fas fa-arrow-circle-down" />
|
<i className="fas fa-arrow-circle-down" />
|
||||||
</span>
|
</span>
|
||||||
|
|||||||
45
scm-ui-components/packages/ui-components/src/forms/Radio.js
Normal file
45
scm-ui-components/packages/ui-components/src/forms/Radio.js
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
//@flow
|
||||||
|
import React from "react";
|
||||||
|
import { Help } from "../index";
|
||||||
|
|
||||||
|
type Props = {
|
||||||
|
label?: string,
|
||||||
|
name?: string,
|
||||||
|
value?: string,
|
||||||
|
checked: boolean,
|
||||||
|
onChange?: (value: boolean, name?: string) => void,
|
||||||
|
disabled?: boolean,
|
||||||
|
helpText?: string
|
||||||
|
};
|
||||||
|
|
||||||
|
class Radio extends React.Component<Props> {
|
||||||
|
renderHelp = () => {
|
||||||
|
const helpText = this.props.helpText;
|
||||||
|
if (helpText) {
|
||||||
|
return <Help message={helpText} />;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
render() {
|
||||||
|
return (
|
||||||
|
<div className="field is-grouped">
|
||||||
|
<div className="control">
|
||||||
|
<label className="radio" disabled={this.props.disabled}>
|
||||||
|
<input
|
||||||
|
type="radio"
|
||||||
|
name={this.props.name}
|
||||||
|
value={this.props.value}
|
||||||
|
checked={this.props.checked}
|
||||||
|
onChange={this.props.onChange}
|
||||||
|
disabled={this.props.disabled}
|
||||||
|
/>{" "}
|
||||||
|
{this.props.label}
|
||||||
|
{this.renderHelp()}
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Radio;
|
||||||
@@ -4,6 +4,7 @@ export { default as AddEntryToTableField } from "./AddEntryToTableField.js";
|
|||||||
export { default as AutocompleteAddEntryToTableField } from "./AutocompleteAddEntryToTableField.js";
|
export { default as AutocompleteAddEntryToTableField } from "./AutocompleteAddEntryToTableField.js";
|
||||||
export { default as MemberNameTable } from "./MemberNameTable.js";
|
export { default as MemberNameTable } from "./MemberNameTable.js";
|
||||||
export { default as Checkbox } from "./Checkbox.js";
|
export { default as Checkbox } from "./Checkbox.js";
|
||||||
|
export { default as Radio } from "./Radio.js";
|
||||||
export { default as InputField } from "./InputField.js";
|
export { default as InputField } from "./InputField.js";
|
||||||
export { default as Select } from "./Select.js";
|
export { default as Select } from "./Select.js";
|
||||||
export { default as Textarea } from "./Textarea.js";
|
export { default as Textarea } from "./Textarea.js";
|
||||||
|
|||||||
@@ -25,9 +25,9 @@ class ButtonGroup extends React.Component<Props> {
|
|||||||
let historyColor = "";
|
let historyColor = "";
|
||||||
|
|
||||||
if (historyIsSelected) {
|
if (historyIsSelected) {
|
||||||
historyColor = "info is-selected";
|
historyColor = "link is-selected";
|
||||||
} else {
|
} else {
|
||||||
sourcesColor = "info is-selected";
|
sourcesColor = "link is-selected";
|
||||||
}
|
}
|
||||||
|
|
||||||
const sourcesLabel = (
|
const sourcesLabel = (
|
||||||
|
|||||||
@@ -89,6 +89,7 @@ class UserForm extends React.Component<Props, State> {
|
|||||||
let passwordChangeField = null;
|
let passwordChangeField = null;
|
||||||
if (!this.props.user) {
|
if (!this.props.user) {
|
||||||
nameField = (
|
nameField = (
|
||||||
|
<div className="column is-half">
|
||||||
<InputField
|
<InputField
|
||||||
label={t("user.name")}
|
label={t("user.name")}
|
||||||
onChange={this.handleUsernameChange}
|
onChange={this.handleUsernameChange}
|
||||||
@@ -97,6 +98,7 @@ class UserForm extends React.Component<Props, State> {
|
|||||||
errorMessage={t("validation.name-invalid")}
|
errorMessage={t("validation.name-invalid")}
|
||||||
helpText={t("help.usernameHelpText")}
|
helpText={t("help.usernameHelpText")}
|
||||||
/>
|
/>
|
||||||
|
</div>
|
||||||
);
|
);
|
||||||
|
|
||||||
passwordChangeField = (
|
passwordChangeField = (
|
||||||
@@ -105,9 +107,9 @@ class UserForm extends React.Component<Props, State> {
|
|||||||
}
|
}
|
||||||
return (
|
return (
|
||||||
<form onSubmit={this.submit}>
|
<form onSubmit={this.submit}>
|
||||||
<div className="columns">
|
<div className="columns is-multiline">
|
||||||
<div className="column is-half">
|
|
||||||
{nameField}
|
{nameField}
|
||||||
|
<div className="column is-half">
|
||||||
<InputField
|
<InputField
|
||||||
label={t("user.displayName")}
|
label={t("user.displayName")}
|
||||||
onChange={this.handleDisplayNameChange}
|
onChange={this.handleDisplayNameChange}
|
||||||
|
|||||||
@@ -4,6 +4,8 @@
|
|||||||
$blue: #33b2e8;
|
$blue: #33b2e8;
|
||||||
$mint: #11dfd0;
|
$mint: #11dfd0;
|
||||||
|
|
||||||
|
$info: $blue;
|
||||||
|
|
||||||
// $footer-background-color
|
// $footer-background-color
|
||||||
|
|
||||||
.is-ellipsis-overflow {
|
.is-ellipsis-overflow {
|
||||||
|
|||||||
@@ -896,6 +896,11 @@
|
|||||||
<artifactId>enunciate-lombok</artifactId>
|
<artifactId>enunciate-lombok</artifactId>
|
||||||
<version>${enunciate.version}</version>
|
<version>${enunciate.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.mapstruct</groupId>
|
||||||
|
<artifactId>mapstruct-processor</artifactId>
|
||||||
|
<version>${org.mapstruct.version}</version>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
</plugin>
|
</plugin>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user