mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
removing Label and going with FormLabel
This commit is contained in:
parent
01251927b3
commit
736db86d6e
@ -1,5 +1,5 @@
|
|||||||
import React, { InputHTMLAttributes, FunctionComponent } from 'react';
|
import React, { InputHTMLAttributes, FunctionComponent } from 'react';
|
||||||
import { Label } from '..';
|
import { FormLabel } from '..';
|
||||||
|
|
||||||
export interface Props extends InputHTMLAttributes<HTMLInputElement> {
|
export interface Props extends InputHTMLAttributes<HTMLInputElement> {
|
||||||
label: string;
|
label: string;
|
||||||
@ -15,7 +15,7 @@ const defaultProps = {
|
|||||||
const FormField: FunctionComponent<Props> = ({ label, labelWidth, inputWidth, ...inputProps }) => {
|
const FormField: FunctionComponent<Props> = ({ label, labelWidth, inputWidth, ...inputProps }) => {
|
||||||
return (
|
return (
|
||||||
<div className="form-field">
|
<div className="form-field">
|
||||||
<Label width={labelWidth}>{label}</Label>
|
<FormLabel width={labelWidth}>{label}</FormLabel>
|
||||||
<input type="text" className={`gf-form-input width-${inputWidth}`} {...inputProps} />
|
<input type="text" className={`gf-form-input width-${inputWidth}`} {...inputProps} />
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
@ -1,16 +1,28 @@
|
|||||||
import React, { SFC, ReactNode } from 'react';
|
import React, { FunctionComponent, ReactNode } from 'react';
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
|
import { Tooltip } from '..';
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
children: ReactNode;
|
children: ReactNode;
|
||||||
htmlFor?: string;
|
|
||||||
className?: string;
|
className?: string;
|
||||||
|
htmlFor?: string;
|
||||||
isFocused?: boolean;
|
isFocused?: boolean;
|
||||||
isInvalid?: boolean;
|
isInvalid?: boolean;
|
||||||
|
tooltip?: string;
|
||||||
|
width?: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
export const FormLabel: SFC<Props> = ({ children, isFocused, isInvalid, className, htmlFor, ...rest }) => {
|
export const FormLabel: FunctionComponent<Props> = ({
|
||||||
const classes = classNames('gf-form-label', className, {
|
children,
|
||||||
|
isFocused,
|
||||||
|
isInvalid,
|
||||||
|
className,
|
||||||
|
htmlFor,
|
||||||
|
tooltip,
|
||||||
|
width,
|
||||||
|
...rest
|
||||||
|
}) => {
|
||||||
|
const classes = classNames(`gf-form-label width-${width ? width : '10'}`, className, {
|
||||||
'gf-form-label--is-focused': isFocused,
|
'gf-form-label--is-focused': isFocused,
|
||||||
'gf-form-label--is-invalid': isInvalid,
|
'gf-form-label--is-invalid': isInvalid,
|
||||||
});
|
});
|
||||||
@ -18,6 +30,13 @@ export const FormLabel: SFC<Props> = ({ children, isFocused, isInvalid, classNam
|
|||||||
return (
|
return (
|
||||||
<label className={classes} {...rest} htmlFor={htmlFor}>
|
<label className={classes} {...rest} htmlFor={htmlFor}>
|
||||||
{children}
|
{children}
|
||||||
|
{tooltip && (
|
||||||
|
<Tooltip placement="auto" content={tooltip}>
|
||||||
|
<div className="gf-form-help-icon--right-normal">
|
||||||
|
<i className="gicon gicon-question gicon--has-hover" />
|
||||||
|
</div>
|
||||||
|
</Tooltip>
|
||||||
|
)}
|
||||||
</label>
|
</label>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
@ -1,25 +0,0 @@
|
|||||||
import React, { SFC, ReactNode } from 'react';
|
|
||||||
import { Tooltip } from '../Tooltip/Tooltip';
|
|
||||||
|
|
||||||
interface Props {
|
|
||||||
tooltip?: string;
|
|
||||||
for?: string;
|
|
||||||
children: ReactNode;
|
|
||||||
width?: number;
|
|
||||||
className?: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
export const Label: SFC<Props> = props => {
|
|
||||||
return (
|
|
||||||
<span className={`gf-form-label width-${props.width ? props.width : '10'}`}>
|
|
||||||
<span>{props.children}</span>
|
|
||||||
{props.tooltip && (
|
|
||||||
<Tooltip placement="auto" content={props.tooltip}>
|
|
||||||
<div className="gf-form-help-icon--right-normal">
|
|
||||||
<i className="gicon gicon-question gicon--has-hover" />
|
|
||||||
</div>
|
|
||||||
</Tooltip>
|
|
||||||
)}
|
|
||||||
</span>
|
|
||||||
);
|
|
||||||
};
|
|
@ -1,7 +1,7 @@
|
|||||||
import React, { ChangeEvent, PureComponent } from 'react';
|
import React, { ChangeEvent, PureComponent } from 'react';
|
||||||
|
|
||||||
import { MappingType, ValueMapping } from '../../types';
|
import { MappingType, ValueMapping } from '../../types';
|
||||||
import { FormField, Label, Select } from '..';
|
import { FormField, FormLabel, Select } from '..';
|
||||||
|
|
||||||
export interface Props {
|
export interface Props {
|
||||||
valueMapping: ValueMapping;
|
valueMapping: ValueMapping;
|
||||||
@ -78,7 +78,7 @@ export default class MappingRow extends PureComponent<Props, State> {
|
|||||||
value={to}
|
value={to}
|
||||||
/>
|
/>
|
||||||
<div className="gf-form gf-form--grow">
|
<div className="gf-form gf-form--grow">
|
||||||
<Label width={4}>Text</Label>
|
<FormLabel width={4}>Text</FormLabel>
|
||||||
<input
|
<input
|
||||||
className="gf-form-input"
|
className="gf-form-input"
|
||||||
onBlur={this.updateMapping}
|
onBlur={this.updateMapping}
|
||||||
@ -101,7 +101,7 @@ export default class MappingRow extends PureComponent<Props, State> {
|
|||||||
inputWidth={8}
|
inputWidth={8}
|
||||||
/>
|
/>
|
||||||
<div className="gf-form gf-form--grow">
|
<div className="gf-form gf-form--grow">
|
||||||
<Label width={4}>Text</Label>
|
<FormLabel width={4}>Text</FormLabel>
|
||||||
<input
|
<input
|
||||||
className="gf-form-input"
|
className="gf-form-input"
|
||||||
onBlur={this.updateMapping}
|
onBlur={this.updateMapping}
|
||||||
@ -119,7 +119,7 @@ export default class MappingRow extends PureComponent<Props, State> {
|
|||||||
return (
|
return (
|
||||||
<div className="gf-form-inline">
|
<div className="gf-form-inline">
|
||||||
<div className="gf-form">
|
<div className="gf-form">
|
||||||
<Label width={5}>Type</Label>
|
<FormLabel width={5}>Type</FormLabel>
|
||||||
<Select
|
<Select
|
||||||
placeholder="Choose type"
|
placeholder="Choose type"
|
||||||
isSearchable={false}
|
isSearchable={false}
|
||||||
|
@ -12,7 +12,6 @@ export { default as resetSelectStyles } from './Select/resetSelectStyles';
|
|||||||
// Forms
|
// Forms
|
||||||
export { FormLabel } from './FormLabel/FormLabel';
|
export { FormLabel } from './FormLabel/FormLabel';
|
||||||
export { FormField } from './FormField/FormField';
|
export { FormField } from './FormField/FormField';
|
||||||
export { Label } from './Label/Label';
|
|
||||||
|
|
||||||
export { LoadingPlaceholder } from './LoadingPlaceholder/LoadingPlaceholder';
|
export { LoadingPlaceholder } from './LoadingPlaceholder/LoadingPlaceholder';
|
||||||
export { ColorPicker } from './ColorPicker/ColorPicker';
|
export { ColorPicker } from './ColorPicker/ColorPicker';
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import React, { PureComponent } from 'react';
|
import React, { PureComponent } from 'react';
|
||||||
|
|
||||||
import { Label, Select } from '@grafana/ui';
|
import { FormLabel, Select } from '@grafana/ui';
|
||||||
import { getBackendSrv, BackendSrv } from 'app/core/services/backend_srv';
|
import { getBackendSrv, BackendSrv } from 'app/core/services/backend_srv';
|
||||||
|
|
||||||
import { DashboardSearchHit } from 'app/types';
|
import { DashboardSearchHit } from 'app/types';
|
||||||
@ -99,12 +99,12 @@ export class SharedPreferences extends PureComponent<Props, State> {
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className="gf-form">
|
<div className="gf-form">
|
||||||
<Label
|
<FormLabel
|
||||||
width={11}
|
width={11}
|
||||||
tooltip="Not finding dashboard you want? Star it first, then it should appear in this select box."
|
tooltip="Not finding dashboard you want? Star it first, then it should appear in this select box."
|
||||||
>
|
>
|
||||||
Home Dashboard
|
Home Dashboard
|
||||||
</Label>
|
</FormLabel>
|
||||||
<Select
|
<Select
|
||||||
value={dashboards.find(dashboard => dashboard.id === homeDashboardId)}
|
value={dashboards.find(dashboard => dashboard.id === homeDashboardId)}
|
||||||
getOptionValue={i => i.id}
|
getOptionValue={i => i.id}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import React, { SFC } from 'react';
|
import React, { SFC } from 'react';
|
||||||
import { Label } from '@grafana/ui';
|
import { FormLabel } from '@grafana/ui';
|
||||||
import { Switch } from '../../../core/components/Switch/Switch';
|
import { Switch } from '../../../core/components/Switch/Switch';
|
||||||
|
|
||||||
export interface Props {
|
export interface Props {
|
||||||
@ -14,14 +14,14 @@ const BasicSettings: SFC<Props> = ({ dataSourceName, isDefault, onDefaultChange,
|
|||||||
<div className="gf-form-group">
|
<div className="gf-form-group">
|
||||||
<div className="gf-form-inline">
|
<div className="gf-form-inline">
|
||||||
<div className="gf-form max-width-30" style={{ marginRight: '3px' }}>
|
<div className="gf-form max-width-30" style={{ marginRight: '3px' }}>
|
||||||
<Label
|
<FormLabel
|
||||||
tooltip={
|
tooltip={
|
||||||
'The name is used when you select the data source in panels. The Default data source is ' +
|
'The name is used when you select the data source in panels. The Default data source is ' +
|
||||||
'preselected in new panels.'
|
'preselected in new panels.'
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
Name
|
Name
|
||||||
</Label>
|
</FormLabel>
|
||||||
<input
|
<input
|
||||||
className="gf-form-input max-width-23"
|
className="gf-form-input max-width-23"
|
||||||
type="text"
|
type="text"
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { connect } from 'react-redux';
|
import { connect } from 'react-redux';
|
||||||
import { Label } from '@grafana/ui';
|
import { FormLabel } from '@grafana/ui';
|
||||||
|
|
||||||
import { SharedPreferences } from 'app/core/components/SharedPreferences/SharedPreferences';
|
import { SharedPreferences } from 'app/core/components/SharedPreferences/SharedPreferences';
|
||||||
import { updateTeam } from './state/actions';
|
import { updateTeam } from './state/actions';
|
||||||
@ -51,7 +51,7 @@ export class TeamSettings extends React.Component<Props, State> {
|
|||||||
<h3 className="page-sub-heading">Team Settings</h3>
|
<h3 className="page-sub-heading">Team Settings</h3>
|
||||||
<form name="teamDetailsForm" className="gf-form-group" onSubmit={this.onUpdate}>
|
<form name="teamDetailsForm" className="gf-form-group" onSubmit={this.onUpdate}>
|
||||||
<div className="gf-form max-width-30">
|
<div className="gf-form max-width-30">
|
||||||
<Label>Name</Label>
|
<FormLabel>Name</FormLabel>
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
required
|
required
|
||||||
@ -62,9 +62,9 @@ export class TeamSettings extends React.Component<Props, State> {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="gf-form max-width-30">
|
<div className="gf-form max-width-30">
|
||||||
<Label tooltip="This is optional and is primarily used to set the team profile avatar (via gravatar service)">
|
<FormLabel tooltip="This is optional and is primarily used to set the team profile avatar (via gravatar service)">
|
||||||
Email
|
Email
|
||||||
</Label>
|
</FormLabel>
|
||||||
<input
|
<input
|
||||||
type="email"
|
type="email"
|
||||||
className="gf-form-input max-width-22"
|
className="gf-form-input max-width-22"
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import React, { PureComponent } from 'react';
|
import React, { PureComponent } from 'react';
|
||||||
import { FormField, Label, PanelOptionsProps, PanelOptionsGroup, Select } from '@grafana/ui';
|
import { FormField, FormLabel, PanelOptionsProps, PanelOptionsGroup, Select } from '@grafana/ui';
|
||||||
import UnitPicker from 'app/core/components/Select/UnitPicker';
|
import UnitPicker from 'app/core/components/Select/UnitPicker';
|
||||||
import { GaugeOptions } from './types';
|
import { GaugeOptions } from './types';
|
||||||
|
|
||||||
@ -40,7 +40,7 @@ export default class ValueOptions extends PureComponent<PanelOptionsProps<GaugeO
|
|||||||
return (
|
return (
|
||||||
<PanelOptionsGroup title="Value">
|
<PanelOptionsGroup title="Value">
|
||||||
<div className="gf-form">
|
<div className="gf-form">
|
||||||
<Label width={labelWidth}>Stat</Label>
|
<FormLabel width={labelWidth}>Stat</FormLabel>
|
||||||
<Select
|
<Select
|
||||||
width={12}
|
width={12}
|
||||||
options={statOptions}
|
options={statOptions}
|
||||||
@ -49,7 +49,7 @@ export default class ValueOptions extends PureComponent<PanelOptionsProps<GaugeO
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className="gf-form">
|
<div className="gf-form">
|
||||||
<Label width={labelWidth}>Unit</Label>
|
<FormLabel width={labelWidth}>Unit</FormLabel>
|
||||||
<UnitPicker defaultValue={unit} onChange={this.onUnitChange} />
|
<UnitPicker defaultValue={unit} onChange={this.onUnitChange} />
|
||||||
</div>
|
</div>
|
||||||
<FormField
|
<FormField
|
||||||
|
Loading…
Reference in New Issue
Block a user