mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-15 09:46:16 +01:00
review changes
This commit is contained in:
@@ -1,34 +1,24 @@
|
|||||||
// @flow
|
// @flow
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import { translate } from "react-i18next";
|
import { translate } from "react-i18next";
|
||||||
import type { SelectValue } from "@scm-manager/ui-types";
|
import type AutocompleteProps from "./UserGroupAutocomplete";
|
||||||
import UserGroupAutocomplete from "./UserGroupAutocomplete";
|
import UserGroupAutocomplete from "./UserGroupAutocomplete";
|
||||||
|
|
||||||
type Props = {
|
type Props = AutocompleteProps & {
|
||||||
groupAutocompleteLink: string,
|
|
||||||
valueSelected: SelectValue => void,
|
|
||||||
value?: SelectValue,
|
|
||||||
|
|
||||||
// Context props
|
// Context props
|
||||||
t: string => string
|
t: string => string
|
||||||
};
|
};
|
||||||
|
|
||||||
class GroupAutocomplete extends React.Component<Props> {
|
class GroupAutocomplete extends React.Component<Props> {
|
||||||
selectName = (selection: SelectValue) => {
|
|
||||||
this.props.valueSelected(selection);
|
|
||||||
};
|
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
const { groupAutocompleteLink, t, value } = this.props;
|
const { t } = this.props;
|
||||||
return (
|
return (
|
||||||
<UserGroupAutocomplete
|
<UserGroupAutocomplete
|
||||||
autocompleteLink={groupAutocompleteLink}
|
|
||||||
label={t("autocomplete.group")}
|
label={t("autocomplete.group")}
|
||||||
noOptionsMessage={t("autocomplete.noGroupOptions")}
|
noOptionsMessage={t("autocomplete.noGroupOptions")}
|
||||||
loadingMessage={t("autocomplete.loading")}
|
loadingMessage={t("autocomplete.loading")}
|
||||||
placeholder={t("autocomplete.groupPlaceholder")}
|
placeholder={t("autocomplete.groupPlaceholder")}
|
||||||
valueSelected={this.selectName}
|
{...this.props}
|
||||||
value={value}
|
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,34 +1,24 @@
|
|||||||
// @flow
|
// @flow
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import { translate } from "react-i18next";
|
import { translate } from "react-i18next";
|
||||||
import type { SelectValue } from "@scm-manager/ui-types";
|
import type AutocompleteProps from "./UserGroupAutocomplete";
|
||||||
import UserGroupAutocomplete from "./UserGroupAutocomplete";
|
import UserGroupAutocomplete from "./UserGroupAutocomplete";
|
||||||
|
|
||||||
type Props = {
|
type Props = AutocompleteProps & {
|
||||||
userAutocompleteLink: string,
|
|
||||||
valueSelected: SelectValue => void,
|
|
||||||
value?: SelectValue,
|
|
||||||
|
|
||||||
// Context props
|
// Context props
|
||||||
t: string => string
|
t: string => string
|
||||||
};
|
};
|
||||||
|
|
||||||
class UserAutocomplete extends React.Component<Props> {
|
class UserAutocomplete extends React.Component<Props> {
|
||||||
selectName = (selection: SelectValue) => {
|
|
||||||
this.props.valueSelected(selection);
|
|
||||||
};
|
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
const { userAutocompleteLink, t, value } = this.props;
|
const { t } = this.props;
|
||||||
return (
|
return (
|
||||||
<UserGroupAutocomplete
|
<UserGroupAutocomplete
|
||||||
autocompleteLink={userAutocompleteLink}
|
|
||||||
label={t("autocomplete.user")}
|
label={t("autocomplete.user")}
|
||||||
noOptionsMessage={t("autocomplete.noUserOptions")}
|
noOptionsMessage={t("autocomplete.noUserOptions")}
|
||||||
loadingMessage={t("autocomplete.loading")}
|
loadingMessage={t("autocomplete.loading")}
|
||||||
placeholder={t("autocomplete.userPlaceholder")}
|
placeholder={t("autocomplete.userPlaceholder")}
|
||||||
valueSelected={this.selectName}
|
{...this.props}
|
||||||
value={value}
|
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,17 +3,20 @@ import React from "react";
|
|||||||
import type { SelectValue } from "@scm-manager/ui-types";
|
import type { SelectValue } from "@scm-manager/ui-types";
|
||||||
import Autocomplete from "./Autocomplete";
|
import Autocomplete from "./Autocomplete";
|
||||||
|
|
||||||
type Props = {
|
export type AutocompleteProps = {
|
||||||
autocompleteLink: string,
|
autocompleteLink: string,
|
||||||
label: string,
|
|
||||||
noOptionsMessage: string,
|
|
||||||
loadingMessage: string,
|
|
||||||
placeholder: string,
|
|
||||||
valueSelected: SelectValue => void,
|
valueSelected: SelectValue => void,
|
||||||
value?: SelectValue
|
value?: SelectValue
|
||||||
};
|
};
|
||||||
|
|
||||||
class UserGroupAutocomplete extends React.Component<Props> {
|
type Props = AutocompleteProps & {
|
||||||
|
label: string,
|
||||||
|
noOptionsMessage: string,
|
||||||
|
loadingMessage: string,
|
||||||
|
placeholder: string
|
||||||
|
};
|
||||||
|
|
||||||
|
export default class UserGroupAutocomplete extends React.Component<Props> {
|
||||||
loadSuggestions = (inputValue: string) => {
|
loadSuggestions = (inputValue: string) => {
|
||||||
const url = this.props.autocompleteLink;
|
const url = this.props.autocompleteLink;
|
||||||
const link = url + "?q=";
|
const link = url + "?q=";
|
||||||
@@ -37,21 +40,13 @@ class UserGroupAutocomplete extends React.Component<Props> {
|
|||||||
};
|
};
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
const { autocompleteLink, label, noOptionsMessage, loadingMessage, placeholder, value } = this.props;
|
|
||||||
return (
|
return (
|
||||||
<Autocomplete
|
<Autocomplete
|
||||||
autocompleteLink={autocompleteLink}
|
|
||||||
label={label}
|
|
||||||
noOptionsMessage={noOptionsMessage}
|
|
||||||
loadingMessage={loadingMessage}
|
|
||||||
placeholder={placeholder}
|
|
||||||
loadSuggestions={this.loadSuggestions}
|
loadSuggestions={this.loadSuggestions}
|
||||||
valueSelected={this.selectName}
|
valueSelected={this.selectName}
|
||||||
value={value}
|
|
||||||
creatable={true}
|
creatable={true}
|
||||||
|
{...this.props}
|
||||||
/>
|
/>
|
||||||
); // {...this.props}
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default UserGroupAutocomplete;
|
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ class CreatePermissionForm extends React.Component<Props, State> {
|
|||||||
if (group) {
|
if (group) {
|
||||||
return (
|
return (
|
||||||
<GroupAutocomplete
|
<GroupAutocomplete
|
||||||
groupAutocompleteLink={this.props.groupAutocompleteLink}
|
autocompleteLink={this.props.groupAutocompleteLink}
|
||||||
valueSelected={this.selectName}
|
valueSelected={this.selectName}
|
||||||
value={this.state.value ? this.state.value : ""}
|
value={this.state.value ? this.state.value : ""}
|
||||||
/>
|
/>
|
||||||
@@ -82,7 +82,7 @@ class CreatePermissionForm extends React.Component<Props, State> {
|
|||||||
}
|
}
|
||||||
return (
|
return (
|
||||||
<UserAutocomplete
|
<UserAutocomplete
|
||||||
userAutocompleteLink={this.props.userAutocompleteLink}
|
autocompleteLink={this.props.userAutocompleteLink}
|
||||||
valueSelected={this.selectName}
|
valueSelected={this.selectName}
|
||||||
value={this.state.value ? this.state.value : ""}
|
value={this.state.value ? this.state.value : ""}
|
||||||
/>
|
/>
|
||||||
|
|||||||
Reference in New Issue
Block a user