express functionality of component by name

This commit is contained in:
Florian Scholdei
2019-06-20 13:40:12 +02:00
parent d0f8e7019c
commit 6046e20908
8 changed files with 27 additions and 46 deletions

View File

@@ -95,7 +95,7 @@ class ProtocolInformation extends React.Component<Props, State> {
return ( return (
<div className={classes.protocols}> <div className={classes.protocols}>
<ButtonGroup className={classes.switcher}> <ButtonGroup connected={true} className={classes.switcher}>
{protocols.map(this.renderProtocolButton)} {protocols.map(this.renderProtocolButton)}
</ButtonGroup> </ButtonGroup>
{ cloneInformation } { cloneInformation }

View File

@@ -1,7 +1,9 @@
// @flow // @flow
import * as React from "react"; import * as React from "react";
import classNames from "classnames";
type Props = { type Props = {
connected?: boolean,
addons?: boolean, addons?: boolean,
className?: string, className?: string,
children: React.Node children: React.Node
@@ -14,17 +16,26 @@ class ButtonGroup extends React.Component<Props> {
}; };
render() { render() {
const { addons, className, children } = this.props; const {connected, addons, className, children} = this.props;
let styleClasses = "buttons";
if (addons) { if (!connected) {
styleClasses += " has-addons"; var childWrapper = [];
} React.Children.forEach(children, child => {
if (className) { if (child) {
styleClasses += " " + className; childWrapper.push(<p className="control">{child}</p>);
} }
});
return ( return (
<div className={styleClasses}> <div className={classNames("field", "is-grouped", className)}>
{ children } {childWrapper}
</div>
);
}
return (
<div className={classNames("buttons", addons ? "has-addons" : "", className)}>
{children}
</div> </div>
); );
} }

View File

@@ -1,29 +0,0 @@
// @flow
import * as React from "react";
import classNames from "classnames";
type Props = {
className?: string,
children: React.Node
};
class ButtonGrouped extends React.Component<Props> {
render() {
const { className, children } = this.props;
var childWrapper = [];
React.Children.forEach(children, child => {
if (child) {
childWrapper.push(<p className="control">{child}</p>);
}
});
return (
<div className={classNames("field", "is-grouped", className)}>
{childWrapper}
</div>
);
}
}
export default ButtonGrouped;

View File

@@ -8,7 +8,6 @@ export { default as EditButton } from "./EditButton.js";
export { default as SubmitButton } from "./SubmitButton.js"; export { default as SubmitButton } from "./SubmitButton.js";
export { default as DownloadButton } from "./DownloadButton.js"; export { default as DownloadButton } from "./DownloadButton.js";
export { default as ButtonGroup } from "./ButtonGroup.js"; export { default as ButtonGroup } from "./ButtonGroup.js";
export { default as ButtonGrouped } from "./ButtonGrouped.js";
export { export {
default as RemoveEntryOfTableButton default as RemoveEntryOfTableButton
} from "./RemoveEntryOfTableButton.js"; } from "./RemoveEntryOfTableButton.js";

View File

@@ -22,7 +22,7 @@ class ChangesetButtonGroup extends React.Component<Props> {
const sourcesLink = createSourcesLink(repository, changeset); const sourcesLink = createSourcesLink(repository, changeset);
return ( return (
<ButtonGroup className="is-pulled-right"> <ButtonGroup connected={true} className="is-pulled-right">
<Button link={changesetLink} className="reduced-mobile"> <Button link={changesetLink} className="reduced-mobile">
<span className="icon"> <span className="icon">
<i className="fas fa-exchange-alt" /> <i className="fas fa-exchange-alt" />

View File

@@ -24,7 +24,7 @@ class BranchButtonGroup extends React.Component<Props> {
}/sources/${encodeURIComponent(branch.name)}/`; }/sources/${encodeURIComponent(branch.name)}/`;
return ( return (
<ButtonGroup> <ButtonGroup connected={true}>
<Button link={changesetLink} className="reduced-mobile"> <Button link={changesetLink} className="reduced-mobile">
<span className="icon"> <span className="icon">
<i className="fas fa-exchange-alt" /> <i className="fas fa-exchange-alt" />

View File

@@ -1,7 +1,7 @@
// @flow // @flow
import React from "react"; import React from "react";
import { import {
ButtonGrouped, ButtonGroup,
Button, Button,
SubmitButton, SubmitButton,
Modal Modal
@@ -60,13 +60,13 @@ class AdvancedPermissionsDialog extends React.Component<Props, State> {
const footer = ( const footer = (
<form onSubmit={this.onSubmit}> <form onSubmit={this.onSubmit}>
<ButtonGrouped> <ButtonGroup connected={false}>
{submitButton} {submitButton}
<Button <Button
label={t("permission.advanced.dialog.abort")} label={t("permission.advanced.dialog.abort")}
action={onClose} action={onClose}
/> />
</ButtonGrouped> </ButtonGroup>
</form> </form>
); );

View File

@@ -26,7 +26,7 @@ class FileButtonGroup extends React.Component<Props> {
const { t, historyIsSelected } = this.props; const { t, historyIsSelected } = this.props;
return ( return (
<ButtonGroup> <ButtonGroup connected={true}>
<Button <Button
action={this.showSources} action={this.showSources}
className="reduced-mobile" className="reduced-mobile"