Update prettier formatting and update ESLint rules to match.
parent
fadc145843
commit
7664808e55
|
@ -179,7 +179,7 @@
|
|||
'one-var': 0,
|
||||
'operator-assignment': [2, 'always'],
|
||||
'padded-blocks': [2, 'never'],
|
||||
'quote-props': [2, 'as-needed', {keywords: true, numbers: false }],
|
||||
'quote-props': [2, 'as-needed', {keywords: false, numbers: false }],
|
||||
'require-jsdoc': 0,
|
||||
'semi-spacing': [2, {before: false, after: true}],
|
||||
'semi': [2, 'never'],
|
||||
|
@ -234,6 +234,5 @@
|
|||
'react/require-extension': 0,
|
||||
'react/self-closing-comp': 0, // TODO: we can re-enable this if some brave soul wants to update the code (mostly spans acting as icons)
|
||||
'react/sort-comp': 0, // TODO: 2
|
||||
'react/jsx-wrap-multilines': ['error', {'declaration': false, 'assignment': false}],
|
||||
},
|
||||
}
|
||||
|
|
|
@ -1,11 +1,5 @@
|
|||
import React, {PropTypes} from 'react'
|
||||
import {
|
||||
Tab,
|
||||
Tabs,
|
||||
TabPanel,
|
||||
TabPanels,
|
||||
TabList,
|
||||
} from 'shared/components/Tabs'
|
||||
import {Tab, Tabs, TabPanel, TabPanels, TabList} from 'shared/components/Tabs'
|
||||
import UsersTable from 'src/admin/components/UsersTable'
|
||||
import RolesTable from 'src/admin/components/RolesTable'
|
||||
import QueriesPage from 'src/admin/containers/QueriesPage'
|
||||
|
@ -97,9 +91,9 @@ const AdminTabs = ({
|
|||
{tabs.map((t, i) => <Tab key={tabs[i].type}>{tabs[i].type}</Tab>)}
|
||||
</TabList>
|
||||
<TabPanels customClass="col-md-10 admin-tabs--content">
|
||||
{tabs.map((t, i) => (
|
||||
{tabs.map((t, i) =>
|
||||
<TabPanel key={tabs[i].type}>{t.component}</TabPanel>
|
||||
))}
|
||||
)}
|
||||
</TabPanels>
|
||||
</Tabs>
|
||||
)
|
||||
|
|
|
@ -41,7 +41,7 @@ const DatabaseManager = ({
|
|||
</button>
|
||||
</div>
|
||||
<div className="panel-body">
|
||||
{databases.map(db => (
|
||||
{databases.map(db =>
|
||||
<DatabaseTable
|
||||
key={db.links.self}
|
||||
database={db}
|
||||
|
@ -63,7 +63,7 @@ const DatabaseManager = ({
|
|||
onRemoveRetentionPolicy={onRemoveRetentionPolicy}
|
||||
onDeleteRetentionPolicy={onDeleteRetentionPolicy}
|
||||
/>
|
||||
))}
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
|
|
|
@ -54,7 +54,7 @@ class DatabaseRow extends Component {
|
|||
defaultValue={name}
|
||||
placeholder="Name this RP"
|
||||
onKeyDown={e => this.handleKeyDown(e, database)}
|
||||
ref={r => this.name = r}
|
||||
ref={r => (this.name = r)}
|
||||
autoFocus={true}
|
||||
spellCheck={false}
|
||||
autoComplete={false}
|
||||
|
@ -69,7 +69,7 @@ class DatabaseRow extends Component {
|
|||
defaultValue={formattedDuration}
|
||||
placeholder="How long should Data last"
|
||||
onKeyDown={e => this.handleKeyDown(e, database)}
|
||||
ref={r => this.duration = r}
|
||||
ref={r => (this.duration = r)}
|
||||
autoFocus={!isNew}
|
||||
spellCheck={false}
|
||||
autoComplete={false}
|
||||
|
@ -85,7 +85,7 @@ class DatabaseRow extends Component {
|
|||
defaultValue={replication || 1}
|
||||
placeholder="# of Nodes"
|
||||
onKeyDown={e => this.handleKeyDown(e, database)}
|
||||
ref={r => this.replication = r}
|
||||
ref={r => (this.replication = r)}
|
||||
spellCheck={false}
|
||||
autoComplete={false}
|
||||
/>
|
||||
|
|
|
@ -111,7 +111,7 @@ const Header = ({
|
|||
)
|
||||
}
|
||||
|
||||
const EditHeader = ({database, onEdit, onKeyDown, onConfirm, onCancel}) => (
|
||||
const EditHeader = ({database, onEdit, onKeyDown, onConfirm, onCancel}) =>
|
||||
<div className="db-manager-header db-manager-header--edit">
|
||||
<input
|
||||
className="form-control input-sm"
|
||||
|
@ -127,7 +127,6 @@ const EditHeader = ({database, onEdit, onKeyDown, onConfirm, onCancel}) => (
|
|||
/>
|
||||
<ConfirmButtons item={database} onConfirm={onConfirm} onCancel={onCancel} />
|
||||
</div>
|
||||
)
|
||||
|
||||
const {func, shape, bool} = PropTypes
|
||||
|
||||
|
|
|
@ -1,12 +1,11 @@
|
|||
import React, {PropTypes} from 'react'
|
||||
|
||||
const EmptyRow = ({tableName}) => (
|
||||
const EmptyRow = ({tableName}) =>
|
||||
<tr className="table-empty-state">
|
||||
<th colSpan="5">
|
||||
<p>You don't have any {tableName},<br />why not create one?</p>
|
||||
</th>
|
||||
</tr>
|
||||
)
|
||||
|
||||
const {string} = PropTypes
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ import React, {PropTypes} from 'react'
|
|||
import QueryRow from 'src/admin/components/QueryRow'
|
||||
import {QUERIES_TABLE} from 'src/admin/constants/tableSizing'
|
||||
|
||||
const QueriesTable = ({queries, onKillQuery}) => (
|
||||
const QueriesTable = ({queries, onKillQuery}) =>
|
||||
<div>
|
||||
<div className="panel panel-default">
|
||||
<div className="panel-body">
|
||||
|
@ -21,15 +21,14 @@ const QueriesTable = ({queries, onKillQuery}) => (
|
|||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{queries.map(q => (
|
||||
{queries.map(q =>
|
||||
<QueryRow key={q.id} query={q} onKill={onKillQuery} />
|
||||
))}
|
||||
)}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
|
||||
const {arrayOf, func, shape} = PropTypes
|
||||
|
||||
|
|
|
@ -89,12 +89,9 @@ const RoleRow = ({
|
|||
onApply={handleUpdateUsers}
|
||||
buttonSize="btn-xs"
|
||||
buttonColor="btn-primary"
|
||||
customClass={classnames(
|
||||
`dropdown-${ROLES_TABLE.colUsers}`,
|
||||
{
|
||||
'admin-table--multi-select-empty': !users.length,
|
||||
}
|
||||
)}
|
||||
customClass={classnames(`dropdown-${ROLES_TABLE.colUsers}`, {
|
||||
'admin-table--multi-select-empty': !users.length,
|
||||
})}
|
||||
/>
|
||||
: null}
|
||||
</td>
|
||||
|
|
|
@ -16,7 +16,7 @@ const RolesTable = ({
|
|||
onFilter,
|
||||
onUpdateRoleUsers,
|
||||
onUpdateRolePermissions,
|
||||
}) => (
|
||||
}) =>
|
||||
<div className="panel panel-default">
|
||||
<FilterBar
|
||||
type="roles"
|
||||
|
@ -38,7 +38,7 @@ const RolesTable = ({
|
|||
{roles.length
|
||||
? roles
|
||||
.filter(r => !r.hidden)
|
||||
.map(role => (
|
||||
.map(role =>
|
||||
<RoleRow
|
||||
key={role.links.self}
|
||||
allUsers={allUsers}
|
||||
|
@ -53,13 +53,12 @@ const RolesTable = ({
|
|||
isEditing={role.isEditing}
|
||||
isNew={role.isNew}
|
||||
/>
|
||||
))
|
||||
)
|
||||
: <EmptyRow tableName={'Roles'} />}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
|
||||
const {arrayOf, bool, func, shape, string} = PropTypes
|
||||
|
||||
|
|
|
@ -93,12 +93,9 @@ const UserRow = ({
|
|||
onApply={handleUpdateRoles}
|
||||
buttonSize="btn-xs"
|
||||
buttonColor="btn-primary"
|
||||
customClass={classnames(
|
||||
`dropdown-${USERS_TABLE.colRoles}`,
|
||||
{
|
||||
'admin-table--multi-select-empty': !roles.length,
|
||||
}
|
||||
)}
|
||||
customClass={classnames(`dropdown-${USERS_TABLE.colRoles}`, {
|
||||
'admin-table--multi-select-empty': !roles.length,
|
||||
})}
|
||||
/>
|
||||
</td>
|
||||
: null}
|
||||
|
|
|
@ -19,7 +19,7 @@ const UsersTable = ({
|
|||
onUpdatePermissions,
|
||||
onUpdateRoles,
|
||||
onUpdatePassword,
|
||||
}) => (
|
||||
}) =>
|
||||
<div className="panel panel-default">
|
||||
<FilterBar
|
||||
type="users"
|
||||
|
@ -42,7 +42,7 @@ const UsersTable = ({
|
|||
{users.length
|
||||
? users
|
||||
.filter(u => !u.hidden)
|
||||
.map(user => (
|
||||
.map(user =>
|
||||
<UserRow
|
||||
key={user.links.self}
|
||||
user={user}
|
||||
|
@ -59,13 +59,12 @@ const UsersTable = ({
|
|||
onUpdateRoles={onUpdateRoles}
|
||||
onUpdatePassword={onUpdatePassword}
|
||||
/>
|
||||
))
|
||||
)
|
||||
: <EmptyRow tableName={'Users'} />}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
|
||||
const {arrayOf, bool, func, shape, string} = PropTypes
|
||||
|
||||
|
|
|
@ -62,7 +62,7 @@ export default function admin(state = initialState, action) {
|
|||
const {database} = action.payload
|
||||
const databases = state.databases.map(
|
||||
db =>
|
||||
(db.links.self === database.links.self
|
||||
db.links.self === database.links.self
|
||||
? {
|
||||
...database,
|
||||
retentionPolicies: [
|
||||
|
@ -70,7 +70,7 @@ export default function admin(state = initialState, action) {
|
|||
...database.retentionPolicies,
|
||||
],
|
||||
}
|
||||
: db)
|
||||
: db
|
||||
)
|
||||
|
||||
return {...state, databases}
|
||||
|
@ -112,15 +112,15 @@ export default function admin(state = initialState, action) {
|
|||
const newState = {
|
||||
databases: state.databases.map(
|
||||
db =>
|
||||
(db.links.self === database.links.self
|
||||
db.links.self === database.links.self
|
||||
? {
|
||||
...db,
|
||||
retentionPolicies: db.retentionPolicies.map(
|
||||
rp =>
|
||||
(rp.links.self === stale.links.self ? {...synced} : rp)
|
||||
rp.links.self === stale.links.self ? {...synced} : rp
|
||||
),
|
||||
}
|
||||
: db)
|
||||
: db
|
||||
),
|
||||
}
|
||||
|
||||
|
@ -152,7 +152,7 @@ export default function admin(state = initialState, action) {
|
|||
const newState = {
|
||||
databases: state.databases.map(
|
||||
db =>
|
||||
(db.links.self === database.links.self ? {...db, ...updates} : db)
|
||||
db.links.self === database.links.self ? {...db, ...updates} : db
|
||||
),
|
||||
}
|
||||
|
||||
|
@ -165,17 +165,17 @@ export default function admin(state = initialState, action) {
|
|||
const newState = {
|
||||
databases: state.databases.map(
|
||||
db =>
|
||||
(db.links.self === database.links.self
|
||||
db.links.self === database.links.self
|
||||
? {
|
||||
...db,
|
||||
retentionPolicies: db.retentionPolicies.map(
|
||||
rp =>
|
||||
(rp.links.self === retentionPolicy.links.self
|
||||
rp.links.self === retentionPolicy.links.self
|
||||
? {...rp, ...updates}
|
||||
: rp)
|
||||
: rp
|
||||
),
|
||||
}
|
||||
: db)
|
||||
: db
|
||||
),
|
||||
}
|
||||
|
||||
|
@ -216,14 +216,14 @@ export default function admin(state = initialState, action) {
|
|||
const newState = {
|
||||
databases: state.databases.map(
|
||||
db =>
|
||||
(db.links.self === database.links.self
|
||||
db.links.self === database.links.self
|
||||
? {
|
||||
...db,
|
||||
retentionPolicies: db.retentionPolicies.filter(
|
||||
rp => rp.links.self !== retentionPolicy.links.self
|
||||
),
|
||||
}
|
||||
: db)
|
||||
: db
|
||||
),
|
||||
}
|
||||
|
||||
|
@ -235,9 +235,7 @@ export default function admin(state = initialState, action) {
|
|||
const newState = {
|
||||
databases: state.databases.map(
|
||||
db =>
|
||||
(db.links.self === database.links.self
|
||||
? {...db, deleteCode: ''}
|
||||
: db)
|
||||
db.links.self === database.links.self ? {...db, deleteCode: ''} : db
|
||||
),
|
||||
}
|
||||
|
||||
|
|
|
@ -17,12 +17,12 @@ const Login = ({authData: {auth}}) => {
|
|||
<h1 className="auth-text-logo">Chronograf</h1>
|
||||
<p><strong>{VERSION}</strong> / Time-Series Data Visualization</p>
|
||||
{auth.links &&
|
||||
auth.links.map(({name, login, label}) => (
|
||||
auth.links.map(({name, login, label}) =>
|
||||
<a key={name} className="btn btn-primary" href={login}>
|
||||
<span className={`icon ${name}`} />
|
||||
Login with {label}
|
||||
</a>
|
||||
))}
|
||||
)}
|
||||
</div>
|
||||
<p className="auth-credits">
|
||||
Made by <span className="icon cubo-uniform" />InfluxData
|
||||
|
|
|
@ -19,7 +19,7 @@ const OverlayControls = props => {
|
|||
<div className="overlay-controls--right">
|
||||
<p>Visualization Type:</p>
|
||||
<ul className="nav nav-tablist nav-tablist-sm">
|
||||
{graphTypes.map(graphType => (
|
||||
{graphTypes.map(graphType =>
|
||||
<li
|
||||
key={graphType.type}
|
||||
className={classnames({
|
||||
|
@ -29,7 +29,7 @@ const OverlayControls = props => {
|
|||
>
|
||||
{graphType.menuOption}
|
||||
</li>
|
||||
))}
|
||||
)}
|
||||
</ul>
|
||||
<ConfirmButtons
|
||||
onCancel={onCancel}
|
||||
|
|
|
@ -10,7 +10,7 @@ const TemplateControlBar = ({
|
|||
onSelectTemplate,
|
||||
onOpenTemplateManager,
|
||||
isOpen,
|
||||
}) => (
|
||||
}) =>
|
||||
<div className={classnames('template-control-bar', {show: isOpen})}>
|
||||
<div className="template-control--container">
|
||||
<div className="template-control--controls">
|
||||
|
@ -53,7 +53,6 @@ const TemplateControlBar = ({
|
|||
</button>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
|
||||
const {arrayOf, bool, func, shape, string} = PropTypes
|
||||
|
||||
|
|
|
@ -2,8 +2,7 @@ import React, {Component, PropTypes} from 'react'
|
|||
import classnames from 'classnames'
|
||||
import uuid from 'node-uuid'
|
||||
|
||||
import TemplateVariableTable
|
||||
from 'src/dashboards/components/TemplateVariableTable'
|
||||
import TemplateVariableTable from 'src/dashboards/components/TemplateVariableTable'
|
||||
|
||||
import {TEMPLATE_VARIABLE_TYPES} from 'src/dashboards/constants'
|
||||
|
||||
|
@ -19,7 +18,7 @@ const TemplateVariableManager = ({
|
|||
onDelete,
|
||||
tempVarAlreadyExists,
|
||||
isEdited,
|
||||
}) => (
|
||||
}) =>
|
||||
<div className="template-variable-manager">
|
||||
<div className="template-variable-manager--header">
|
||||
<div className="page-header__left">
|
||||
|
@ -59,7 +58,6 @@ const TemplateVariableManager = ({
|
|||
/>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
|
||||
class TemplateVariableManagerWrapper extends Component {
|
||||
constructor(props) {
|
||||
|
|
|
@ -9,18 +9,14 @@ import classnames from 'classnames'
|
|||
|
||||
import Dropdown from 'shared/components/Dropdown'
|
||||
import DeleteConfirmButtons from 'shared/components/DeleteConfirmButtons'
|
||||
import TemplateQueryBuilder
|
||||
from 'src/dashboards/components/TemplateQueryBuilder'
|
||||
import TemplateQueryBuilder from 'src/dashboards/components/TemplateQueryBuilder'
|
||||
|
||||
import {
|
||||
runTemplateVariableQuery as runTemplateVariableQueryAJAX,
|
||||
} from 'src/dashboards/apis'
|
||||
import {runTemplateVariableQuery as runTemplateVariableQueryAJAX} from 'src/dashboards/apis'
|
||||
|
||||
import parsers from 'shared/parsing'
|
||||
|
||||
import {TEMPLATE_TYPES} from 'src/dashboards/constants'
|
||||
import generateTemplateVariableQuery
|
||||
from 'src/dashboards/utils/templateVariableQueryGenerator'
|
||||
import generateTemplateVariableQuery from 'src/dashboards/utils/templateVariableQueryGenerator'
|
||||
|
||||
import {errorThrown as errorThrownAction} from 'shared/actions/errors'
|
||||
import {publishAutoDismissingNotification} from 'shared/dispatchers'
|
||||
|
@ -117,7 +113,7 @@ const TemplateVariableRow = ({
|
|||
onSubmit,
|
||||
onDelete,
|
||||
onErrorThrown,
|
||||
}) => (
|
||||
}) =>
|
||||
<form
|
||||
className={classnames('template-variable-manager--table-row', {
|
||||
editing: isEditing,
|
||||
|
@ -178,7 +174,6 @@ const TemplateVariableRow = ({
|
|||
/>
|
||||
</div>
|
||||
</form>
|
||||
)
|
||||
|
||||
const TableInput = ({
|
||||
name,
|
||||
|
|
|
@ -9,7 +9,7 @@ const TemplateVariableTable = ({
|
|||
onRunQueryFailure,
|
||||
onDelete,
|
||||
tempVarAlreadyExists,
|
||||
}) => (
|
||||
}) =>
|
||||
<div className="template-variable-manager--table">
|
||||
{templates.length
|
||||
? <div className="template-variable-manager--table-container">
|
||||
|
@ -20,7 +20,7 @@ const TemplateVariableTable = ({
|
|||
<div className="tvm--col-4" />
|
||||
</div>
|
||||
<div className="template-variable-manager--table-rows">
|
||||
{templates.map(t => (
|
||||
{templates.map(t =>
|
||||
<TemplateVariableRow
|
||||
key={t.id}
|
||||
source={source}
|
||||
|
@ -30,7 +30,7 @@ const TemplateVariableTable = ({
|
|||
onDelete={onDelete}
|
||||
tempVarAlreadyExists={tempVarAlreadyExists}
|
||||
/>
|
||||
))}
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
: <div className="generic-empty-state">
|
||||
|
@ -39,7 +39,6 @@ const TemplateVariableTable = ({
|
|||
</h4>
|
||||
</div>}
|
||||
</div>
|
||||
)
|
||||
|
||||
const {arrayOf, bool, func, shape, string} = PropTypes
|
||||
|
||||
|
|
|
@ -68,7 +68,8 @@ export const TEMPLATE_VARIABLE_QUERIES = {
|
|||
measurements: 'SHOW MEASUREMENTS ON :database:',
|
||||
fieldKeys: 'SHOW FIELD KEYS ON :database: FROM :measurement:',
|
||||
tagKeys: 'SHOW TAG KEYS ON :database: FROM :measurement:',
|
||||
tagValues: 'SHOW TAG VALUES ON :database: FROM :measurement: WITH KEY=:tagKey:',
|
||||
tagValues:
|
||||
'SHOW TAG VALUES ON :database: FROM :measurement: WITH KEY=:tagKey:',
|
||||
}
|
||||
|
||||
export const MATCH_INCOMPLETE_TEMPLATES = /:[\w-]*/g
|
||||
|
|
|
@ -10,8 +10,7 @@ import CellEditorOverlay from 'src/dashboards/components/CellEditorOverlay'
|
|||
import DashboardHeader from 'src/dashboards/components/DashboardHeader'
|
||||
import DashboardHeaderEdit from 'src/dashboards/components/DashboardHeaderEdit'
|
||||
import Dashboard from 'src/dashboards/components/Dashboard'
|
||||
import TemplateVariableManager
|
||||
from 'src/dashboards/components/TemplateVariableManager'
|
||||
import TemplateVariableManager from 'src/dashboards/components/TemplateVariableManager'
|
||||
|
||||
import {errorThrown as errorThrownAction} from 'shared/actions/errors'
|
||||
|
||||
|
@ -260,8 +259,8 @@ class DashboardPage extends Component {
|
|||
],
|
||||
}
|
||||
|
||||
const templatesIncludingDashTime = (dashboard &&
|
||||
dashboard.templates.concat(dashboardTime)) || []
|
||||
const templatesIncludingDashTime =
|
||||
(dashboard && dashboard.templates.concat(dashboardTime)) || []
|
||||
|
||||
const {selectedCell, isEditMode, isTemplating} = this.state
|
||||
|
||||
|
@ -314,13 +313,13 @@ class DashboardPage extends Component {
|
|||
showTemplateControlBar={showTemplateControlBar}
|
||||
>
|
||||
{dashboards
|
||||
? dashboards.map((d, i) => (
|
||||
? dashboards.map((d, i) =>
|
||||
<li className="dropdown-item" key={i}>
|
||||
<Link to={`/sources/${sourceID}/dashboards/${d.id}`}>
|
||||
{d.name}
|
||||
</Link>
|
||||
</li>
|
||||
))
|
||||
)
|
||||
: null}
|
||||
</DashboardHeader>}
|
||||
{dashboard
|
||||
|
|
|
@ -97,7 +97,7 @@ const DashboardsPage = React.createClass({
|
|||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{dashboards.map(dashboard => (
|
||||
{dashboards.map(dashboard =>
|
||||
<tr key={dashboard.id} className="">
|
||||
<td className="monotype">
|
||||
<Link
|
||||
|
@ -112,7 +112,7 @@ const DashboardsPage = React.createClass({
|
|||
buttonSize="btn-xs"
|
||||
/>
|
||||
</tr>
|
||||
))}
|
||||
)}
|
||||
</tbody>
|
||||
</table>
|
||||
: <div className="generic-empty-state">
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
import {
|
||||
writeLineProtocol as writeLineProtocolAJAX,
|
||||
} from 'src/data_explorer/apis'
|
||||
import {writeLineProtocol as writeLineProtocolAJAX} from 'src/data_explorer/apis'
|
||||
|
||||
import {errorThrown} from 'shared/actions/errors'
|
||||
import {publishAutoDismissingNotification} from 'shared/dispatchers'
|
||||
|
|
|
@ -66,9 +66,16 @@ const DatabaseDropdown = React.createClass({
|
|||
return (
|
||||
<Dropdown
|
||||
className="dropdown-160 query-builder--db-dropdown"
|
||||
items={namespaces.map(n => ({...n, text: `${n.database}.${n.retentionPolicy}`}))}
|
||||
items={namespaces.map(n => ({
|
||||
...n,
|
||||
text: `${n.database}.${n.retentionPolicy}`,
|
||||
}))}
|
||||
onChoose={onChooseNamespace}
|
||||
selected={(query.database && query.retentionPolicy) ? `${query.database}.${query.retentionPolicy}` : 'Choose a DB & RP'}
|
||||
selected={
|
||||
query.database && query.retentionPolicy
|
||||
? `${query.database}.${query.retentionPolicy}`
|
||||
: 'Choose a DB & RP'
|
||||
}
|
||||
/>
|
||||
)
|
||||
},
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
import React, {PropTypes} from 'react'
|
||||
|
||||
import FieldListItem from 'src/data_explorer/components/FieldListItem'
|
||||
import GroupByTimeDropdown
|
||||
from 'src/data_explorer/components/GroupByTimeDropdown'
|
||||
import GroupByTimeDropdown from 'src/data_explorer/components/GroupByTimeDropdown'
|
||||
import FancyScrollbar from 'shared/components/FancyScrollbar'
|
||||
|
||||
import {showFieldKeys} from 'shared/apis/metaQuery'
|
||||
|
|
|
@ -69,7 +69,12 @@ const QueryMaker = React.createClass({
|
|||
render() {
|
||||
const {height, top, layout} = this.props
|
||||
return (
|
||||
<div className={classnames('query-maker', {'query-maker--panel': layout === 'panel'})} style={{height, top}}>
|
||||
<div
|
||||
className={classnames('query-maker', {
|
||||
'query-maker--panel': layout === 'panel',
|
||||
})}
|
||||
style={{height, top}}
|
||||
>
|
||||
{this.renderQueryTabList()}
|
||||
{this.renderQueryBuilder()}
|
||||
</div>
|
||||
|
@ -77,7 +82,14 @@ const QueryMaker = React.createClass({
|
|||
},
|
||||
|
||||
renderQueryBuilder() {
|
||||
const {timeRange, actions, source, templates, layout, isInDataExplorer} = this.props
|
||||
const {
|
||||
timeRange,
|
||||
actions,
|
||||
source,
|
||||
templates,
|
||||
layout,
|
||||
isInDataExplorer,
|
||||
} = this.props
|
||||
const query = this.getActiveQuery()
|
||||
|
||||
if (!query) {
|
||||
|
@ -145,8 +157,8 @@ const QueryMaker = React.createClass({
|
|||
onDelete={onDeleteQuery}
|
||||
queryTabText={
|
||||
q.rawText ||
|
||||
buildInfluxQLQuery(timeRange, q) ||
|
||||
`Query ${i + 1}`
|
||||
buildInfluxQLQuery(timeRange, q) ||
|
||||
`Query ${i + 1}`
|
||||
}
|
||||
/>
|
||||
)
|
||||
|
|
|
@ -153,7 +153,7 @@ const ChronoTable = React.createClass({
|
|||
<div style={{width: '100%', height: '100%', position: 'relative'}}>
|
||||
{series.length < maximumTabsCount
|
||||
? <div className="table--tabs">
|
||||
{series.map(({name}, i) => (
|
||||
{series.map(({name}, i) =>
|
||||
<TabItem
|
||||
isActive={i === activeSeriesIndex}
|
||||
key={i}
|
||||
|
@ -161,7 +161,7 @@ const ChronoTable = React.createClass({
|
|||
index={i}
|
||||
onClickTab={this.handleClickTab}
|
||||
/>
|
||||
))}
|
||||
)}
|
||||
</div>
|
||||
: <Dropdown
|
||||
className="dropdown-160 table--tabs-dropdown"
|
||||
|
@ -192,12 +192,11 @@ const ChronoTable = React.createClass({
|
|||
key={columnName}
|
||||
columnKey={columnName}
|
||||
header={<Cell>{columnName}</Cell>}
|
||||
cell={({rowIndex}) => (
|
||||
cell={({rowIndex}) =>
|
||||
<CustomCell
|
||||
columnName={columnName}
|
||||
data={values[rowIndex][colIndex]}
|
||||
/>
|
||||
)}
|
||||
/>}
|
||||
width={columnWidths[columnName] || width}
|
||||
minWidth={minWidth}
|
||||
/>
|
||||
|
@ -210,14 +209,13 @@ const ChronoTable = React.createClass({
|
|||
},
|
||||
})
|
||||
|
||||
const TabItem = ({name, index, onClickTab, isActive}) => (
|
||||
const TabItem = ({name, index, onClickTab, isActive}) =>
|
||||
<div
|
||||
className={classnames('table--tab', {active: isActive})}
|
||||
onClick={() => onClickTab(index)}
|
||||
>
|
||||
{name}
|
||||
</div>
|
||||
)
|
||||
|
||||
TabItem.propTypes = {
|
||||
name: string,
|
||||
|
|
|
@ -2,11 +2,11 @@ import React, {PropTypes} from 'react'
|
|||
import classnames from 'classnames'
|
||||
import _ from 'lodash'
|
||||
|
||||
const VisHeader = ({views, view, onToggleView, name}) => (
|
||||
const VisHeader = ({views, view, onToggleView, name}) =>
|
||||
<div className="graph-heading">
|
||||
{views.length
|
||||
? <ul className="nav nav-tablist nav-tablist-sm">
|
||||
{views.map(v => (
|
||||
{views.map(v =>
|
||||
<li
|
||||
key={v}
|
||||
onClick={() => onToggleView(v)}
|
||||
|
@ -14,12 +14,11 @@ const VisHeader = ({views, view, onToggleView, name}) => (
|
|||
>
|
||||
{_.upperFirst(v)}
|
||||
</li>
|
||||
))}
|
||||
)}
|
||||
</ul>
|
||||
: null}
|
||||
<div className="graph-title">{name}</div>
|
||||
</div>
|
||||
)
|
||||
|
||||
const {arrayOf, func, string} = PropTypes
|
||||
|
||||
|
|
|
@ -34,7 +34,8 @@ export const QUERY_TEMPLATES = [
|
|||
},
|
||||
{
|
||||
text: 'Show Tag Values',
|
||||
query: 'SHOW TAG VALUES ON "db_name" FROM "measurement_name" WITH KEY = "tag_key"',
|
||||
query:
|
||||
'SHOW TAG VALUES ON "db_name" FROM "measurement_name" WITH KEY = "tag_key"',
|
||||
},
|
||||
{text: `${SEPARATOR}`},
|
||||
{
|
||||
|
@ -43,7 +44,8 @@ export const QUERY_TEMPLATES = [
|
|||
},
|
||||
{
|
||||
text: 'Create Retention Policy',
|
||||
query: 'CREATE RETENTION POLICY "rp_name" ON "db_name" DURATION 30d REPLICATION 1 DEFAULT',
|
||||
query:
|
||||
'CREATE RETENTION POLICY "rp_name" ON "db_name" DURATION 30d REPLICATION 1 DEFAULT',
|
||||
},
|
||||
{
|
||||
text: 'Drop Retention Policy',
|
||||
|
@ -56,7 +58,8 @@ export const QUERY_TEMPLATES = [
|
|||
},
|
||||
{
|
||||
text: 'Create Continuous Query',
|
||||
query: 'CREATE CONTINUOUS QUERY "cq_name" ON "db_name" BEGIN SELECT min("field") INTO "target_measurement" FROM "current_measurement" GROUP BY time(30m) END',
|
||||
query:
|
||||
'CREATE CONTINUOUS QUERY "cq_name" ON "db_name" BEGIN SELECT min("field") INTO "target_measurement" FROM "current_measurement" GROUP BY time(30m) END',
|
||||
},
|
||||
{
|
||||
text: 'Drop Continuous Query',
|
||||
|
@ -70,7 +73,8 @@ export const QUERY_TEMPLATES = [
|
|||
},
|
||||
{
|
||||
text: 'Create Admin User',
|
||||
query: 'CREATE USER "username" WITH PASSWORD \'password\' WITH ALL PRIVILEGES',
|
||||
query:
|
||||
'CREATE USER "username" WITH PASSWORD \'password\' WITH ALL PRIVILEGES',
|
||||
},
|
||||
{text: 'Drop User', query: 'DROP USER "username"'},
|
||||
{text: `${SEPARATOR}`},
|
||||
|
|
|
@ -231,9 +231,9 @@ class AlertTabs extends Component {
|
|||
{tabs.map((t, i) => <Tab key={tabs[i].type}>{tabs[i].type}</Tab>)}
|
||||
</TabList>
|
||||
<TabPanels customClass="config-endpoint--tab-contents">
|
||||
{tabs.map((t, i) => (
|
||||
{tabs.map((t, i) =>
|
||||
<TabPanel key={tabs[i].type}>{t.component}</TabPanel>
|
||||
))}
|
||||
)}
|
||||
</TabPanels>
|
||||
</Tabs>
|
||||
</div>
|
||||
|
|
|
@ -129,7 +129,8 @@ class KapacitorForm extends Component {
|
|||
<div className="panel-body">
|
||||
<div className="generic-empty-state">
|
||||
<h4 className="no-user-select">
|
||||
Connect to an active Kapacitor instance to configure alerting endpoints
|
||||
Connect to an active Kapacitor instance to configure alerting
|
||||
endpoints
|
||||
</h4>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -29,7 +29,9 @@ const KapacitorRules = ({
|
|||
</PageContents>
|
||||
)
|
||||
}
|
||||
const tableHeader = rules.length === 1 ? '1 Alert Rule' : `${rules.length} Alert Rules`
|
||||
const tableHeader = rules.length === 1
|
||||
? '1 Alert Rule'
|
||||
: `${rules.length} Alert Rules`
|
||||
return (
|
||||
<PageContents source={source}>
|
||||
<div className="panel-heading u-flex u-ai-center u-jc-space-between">
|
||||
|
@ -51,7 +53,7 @@ const KapacitorRules = ({
|
|||
)
|
||||
}
|
||||
|
||||
const PageContents = ({children, source}) => (
|
||||
const PageContents = ({children, source}) =>
|
||||
<div className="page">
|
||||
<div className="page-header">
|
||||
<div className="page-header__container">
|
||||
|
@ -75,7 +77,6 @@ const PageContents = ({children, source}) => (
|
|||
</div>
|
||||
</FancyScrollbar>
|
||||
</div>
|
||||
)
|
||||
|
||||
const {arrayOf, bool, func, shape, node} = PropTypes
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import React, {PropTypes} from 'react'
|
||||
import {Link} from 'react-router'
|
||||
|
||||
const KapacitorRulesTable = ({rules, source, onDelete, onChangeRuleStatus}) => (
|
||||
const KapacitorRulesTable = ({rules, source, onDelete, onChangeRuleStatus}) =>
|
||||
<div className="panel-body">
|
||||
<table className="table v-center">
|
||||
<thead>
|
||||
|
@ -29,9 +29,8 @@ const KapacitorRulesTable = ({rules, source, onDelete, onChangeRuleStatus}) => (
|
|||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
)
|
||||
|
||||
const RuleRow = ({rule, source, onDelete, onChangeRuleStatus}) => (
|
||||
const RuleRow = ({rule, source, onDelete, onChangeRuleStatus}) =>
|
||||
<tr key={rule.id}>
|
||||
<td className="monotype">
|
||||
<RuleTitle rule={rule} source={source} />
|
||||
|
@ -57,7 +56,6 @@ const RuleRow = ({rule, source, onDelete, onChangeRuleStatus}) => (
|
|||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
)
|
||||
|
||||
const RuleTitle = ({rule: {id, name, query}, source}) => {
|
||||
// no queryConfig means the rule was manually created outside of Chronograf
|
||||
|
|
|
@ -2,8 +2,7 @@ import React, {PropTypes} from 'react'
|
|||
import classnames from 'classnames'
|
||||
import ReactTooltip from 'react-tooltip'
|
||||
|
||||
import RuleMessageAlertConfig
|
||||
from 'src/kapacitor/components/RuleMessageAlertConfig'
|
||||
import RuleMessageAlertConfig from 'src/kapacitor/components/RuleMessageAlertConfig'
|
||||
|
||||
import {RULE_MESSAGE_TEMPLATES as templates, DEFAULT_ALERTS} from '../constants'
|
||||
|
||||
|
@ -59,7 +58,7 @@ export const RuleMessage = React.createClass({
|
|||
<div className="rule-section--row rule-section--row-first rule-section--border-bottom">
|
||||
<p>Send this Alert to:</p>
|
||||
<ul className="nav nav-tablist nav-tablist-sm nav-tablist-malachite">
|
||||
{alerts.map(alert => (
|
||||
{alerts.map(alert =>
|
||||
<li
|
||||
key={alert.text}
|
||||
className={classnames({
|
||||
|
@ -69,7 +68,7 @@ export const RuleMessage = React.createClass({
|
|||
>
|
||||
{alert.text}
|
||||
</li>
|
||||
))}
|
||||
)}
|
||||
</ul>
|
||||
</div>
|
||||
<RuleMessageAlertConfig
|
||||
|
|
|
@ -27,9 +27,9 @@ export const ValuesSection = React.createClass({
|
|||
<div className="rule-section--body">
|
||||
<Tabs initialIndex={initialIndex} onSelect={this.handleChooseTrigger}>
|
||||
<TabList isKapacitorTabs="true">
|
||||
{TABS.map(tab => (
|
||||
{TABS.map(tab =>
|
||||
<Tab key={tab} isKapacitorTab={true}>{tab}</Tab>
|
||||
))}
|
||||
)}
|
||||
</TabList>
|
||||
|
||||
<TabPanels>
|
||||
|
|
|
@ -157,7 +157,8 @@ const TelegramConfig = React.createClass({
|
|||
ref={r => (this.disableNotification = r)}
|
||||
/>
|
||||
<label htmlFor="disableNotification">
|
||||
Disable notifications on iOS devices and disable sounds on Android devices. Android users continue to receive notifications.
|
||||
Disable notifications on iOS devices and disable sounds on Android
|
||||
devices. Android users continue to receive notifications.
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -56,19 +56,23 @@ export const RULE_MESSAGE_TEMPLATES = {
|
|||
taskName: {label: '{{.TaskName}}', text: 'The name of the task'},
|
||||
group: {
|
||||
label: '{{.Group}}',
|
||||
text: 'Concatenation of all group-by tags of the form <code>[key=value,]+</code>. If no groupBy is performed equal to literal "nil"',
|
||||
text:
|
||||
'Concatenation of all group-by tags of the form <code>[key=value,]+</code>. If no groupBy is performed equal to literal "nil"',
|
||||
},
|
||||
tags: {
|
||||
label: '{{.Tags}}',
|
||||
text: 'Map of tags. Use <code>{{ index .Tags "key" }}</code> to get a specific tag value',
|
||||
text:
|
||||
'Map of tags. Use <code>{{ index .Tags "key" }}</code> to get a specific tag value',
|
||||
},
|
||||
level: {
|
||||
label: '{{.Level}}',
|
||||
text: 'Alert Level, one of: <code>INFO</code><code>WARNING</code><code>CRITICAL</code>',
|
||||
text:
|
||||
'Alert Level, one of: <code>INFO</code><code>WARNING</code><code>CRITICAL</code>',
|
||||
},
|
||||
fields: {
|
||||
label: '{{ index .Fields "value" }}',
|
||||
text: 'Map of fields. Use <code>{{ index .Fields "key" }}</code> to get a specific field value',
|
||||
text:
|
||||
'Map of fields. Use <code>{{ index .Fields "key" }}</code> to get a specific field value',
|
||||
},
|
||||
time: {
|
||||
label: '{{.Time}}',
|
||||
|
|
|
@ -1,13 +1,7 @@
|
|||
import React, {PropTypes} from 'react'
|
||||
import classnames from 'classnames'
|
||||
|
||||
const ConfirmButtons = ({
|
||||
onConfirm,
|
||||
item,
|
||||
onCancel,
|
||||
buttonSize,
|
||||
isDisabled,
|
||||
}) => (
|
||||
const ConfirmButtons = ({onConfirm, item, onCancel, buttonSize, isDisabled}) =>
|
||||
<div className="confirm-buttons">
|
||||
<button
|
||||
className={classnames('btn btn-info btn-square', {
|
||||
|
@ -28,7 +22,6 @@ const ConfirmButtons = ({
|
|||
<span className="icon checkmark" />
|
||||
</button>
|
||||
</div>
|
||||
)
|
||||
|
||||
const {func, oneOfType, shape, string, bool} = PropTypes
|
||||
|
||||
|
|
|
@ -54,7 +54,9 @@ class CustomTimeRangeDropdown extends Component {
|
|||
onClick={onToggle}
|
||||
>
|
||||
<span className="icon clock" />
|
||||
<span className="dropdown-selected">{`${moment(lower).format('MMM Do HH:mm')} — ${moment(upper).format('MMM Do HH:mm')}`}</span>
|
||||
<span className="dropdown-selected">{`${moment(lower).format(
|
||||
'MMM Do HH:mm'
|
||||
)} — ${moment(upper).format('MMM Do HH:mm')}`}</span>
|
||||
<span className="caret" />
|
||||
</button>
|
||||
<div className="custom-time--container">
|
||||
|
|
|
@ -4,7 +4,7 @@ import classnames from 'classnames'
|
|||
import OnClickOutside from 'shared/components/OnClickOutside'
|
||||
import ConfirmButtons from 'shared/components/ConfirmButtons'
|
||||
|
||||
const DeleteButton = ({onClickDelete, buttonSize}) => (
|
||||
const DeleteButton = ({onClickDelete, buttonSize}) =>
|
||||
<button
|
||||
className={classnames('btn btn-danger table--show-on-row-hover', {
|
||||
[buttonSize]: buttonSize,
|
||||
|
@ -13,7 +13,6 @@ const DeleteButton = ({onClickDelete, buttonSize}) => (
|
|||
>
|
||||
Delete
|
||||
</button>
|
||||
)
|
||||
|
||||
class DeleteConfirmButtons extends Component {
|
||||
constructor(props) {
|
||||
|
|
|
@ -3,10 +3,9 @@ import React from 'react'
|
|||
import DeleteConfirmButtons from 'shared/components/DeleteConfirmButtons'
|
||||
import {ADMIN_TABLE} from 'src/admin/constants/tableSizing'
|
||||
|
||||
const DeleteConfirmTableCell = props => (
|
||||
const DeleteConfirmTableCell = props =>
|
||||
<td className="text-right" style={{width: `${ADMIN_TABLE.colDelete}px`}}>
|
||||
<DeleteConfirmButtons {...props} />
|
||||
</td>
|
||||
)
|
||||
|
||||
export default DeleteConfirmTableCell
|
||||
|
|
|
@ -25,18 +25,14 @@ class FancyScrollbar extends Component {
|
|||
autoHideDuration={250}
|
||||
autoHeight={autoHeight}
|
||||
autoHeightMax={maxHeight}
|
||||
renderTrackHorizontal={props => (
|
||||
<div {...props} className="fancy-scroll--track-h" />
|
||||
)}
|
||||
renderTrackVertical={props => (
|
||||
<div {...props} className="fancy-scroll--track-v" />
|
||||
)}
|
||||
renderThumbHorizontal={props => (
|
||||
<div {...props} className="fancy-scroll--thumb-h" />
|
||||
)}
|
||||
renderThumbVertical={props => (
|
||||
<div {...props} className="fancy-scroll--thumb-v" />
|
||||
)}
|
||||
renderTrackHorizontal={props =>
|
||||
<div {...props} className="fancy-scroll--track-h" />}
|
||||
renderTrackVertical={props =>
|
||||
<div {...props} className="fancy-scroll--track-v" />}
|
||||
renderThumbHorizontal={props =>
|
||||
<div {...props} className="fancy-scroll--thumb-h" />}
|
||||
renderThumbVertical={props =>
|
||||
<div {...props} className="fancy-scroll--thumb-v" />}
|
||||
>
|
||||
{children}
|
||||
</Scrollbars>
|
||||
|
|
|
@ -1,12 +1,11 @@
|
|||
import React, {PropTypes} from 'react'
|
||||
|
||||
const LoadingDots = ({className}) => (
|
||||
const LoadingDots = ({className}) =>
|
||||
<div className={`loading-dots ${className}`}>
|
||||
<div />
|
||||
<div />
|
||||
<div />
|
||||
</div>
|
||||
)
|
||||
|
||||
const {string} = PropTypes
|
||||
|
||||
|
|
|
@ -116,7 +116,7 @@ const NameableGraph = React.createClass({
|
|||
})
|
||||
|
||||
const ContextMenu = OnClickOutside(
|
||||
({isOpen, toggleMenu, onEdit, onRename, onDelete, cell}) => (
|
||||
({isOpen, toggleMenu, onEdit, onRename, onDelete, cell}) =>
|
||||
<div
|
||||
className={classnames('dash-graph--options', {
|
||||
'dash-graph--options-show': isOpen,
|
||||
|
@ -132,6 +132,5 @@ const ContextMenu = OnClickOutside(
|
|||
<li onClick={() => onDelete(cell)}>Delete</li>
|
||||
</ul>
|
||||
</div>
|
||||
)
|
||||
)
|
||||
export default NameableGraph
|
||||
|
|
|
@ -13,7 +13,8 @@ const NoKapacitorError = React.createClass({
|
|||
return (
|
||||
<div>
|
||||
<p>
|
||||
The current source does not have an associated Kapacitor instance, please configure one.
|
||||
The current source does not have an associated Kapacitor instance,
|
||||
please configure one.
|
||||
</p>
|
||||
<Link to={path}>Add Kapacitor</Link>
|
||||
</div>
|
||||
|
|
|
@ -2,9 +2,8 @@ import React, {PropTypes} from 'react'
|
|||
|
||||
import {OVERLAY_TECHNOLOGY} from 'shared/constants/classNames'
|
||||
|
||||
const OverlayTechnologies = ({children}) => (
|
||||
const OverlayTechnologies = ({children}) =>
|
||||
<div className={OVERLAY_TECHNOLOGY}>{children}</div>
|
||||
)
|
||||
|
||||
const {node} = PropTypes
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import React, {PropTypes} from 'react'
|
||||
import ReactTooltip from 'react-tooltip'
|
||||
|
||||
const QuestionMarkTooltip = ({tipID, tipContent}) => (
|
||||
const QuestionMarkTooltip = ({tipID, tipContent}) =>
|
||||
<div className="question-mark-tooltip">
|
||||
<div
|
||||
className="question-mark-tooltip--icon"
|
||||
|
@ -19,7 +19,6 @@ const QuestionMarkTooltip = ({tipID, tipContent}) => (
|
|||
class="influx-tooltip__hover place-bottom"
|
||||
/>
|
||||
</div>
|
||||
)
|
||||
|
||||
const {string} = PropTypes
|
||||
|
||||
|
|
|
@ -7,9 +7,9 @@ const TemplateDrawer = ({
|
|||
selected,
|
||||
onMouseOverTempVar,
|
||||
onClickTempVar,
|
||||
}) => (
|
||||
}) =>
|
||||
<div className="template-drawer">
|
||||
{templates.map(t => (
|
||||
{templates.map(t =>
|
||||
<div
|
||||
className={classnames('template-drawer--item', {
|
||||
'template-drawer--selected': t.tempVar === selected.tempVar,
|
||||
|
@ -22,9 +22,8 @@ const TemplateDrawer = ({
|
|||
>
|
||||
{' '}{t.tempVar}{' '}
|
||||
</div>
|
||||
))}
|
||||
)}
|
||||
</div>
|
||||
)
|
||||
|
||||
const {arrayOf, func, shape, string} = PropTypes
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import React, {PropTypes} from 'react'
|
||||
import ReactTooltip from 'react-tooltip'
|
||||
|
||||
const Tooltip = ({tip, children}) => (
|
||||
const Tooltip = ({tip, children}) =>
|
||||
<div>
|
||||
<div data-tip={tip}>{children}</div>
|
||||
<ReactTooltip
|
||||
|
@ -12,7 +12,6 @@ const Tooltip = ({tip, children}) => (
|
|||
class="influx-tooltip place-bottom"
|
||||
/>
|
||||
</div>
|
||||
)
|
||||
|
||||
const {shape, string} = PropTypes
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import React, {PropTypes} from 'react'
|
||||
import classnames from 'classnames'
|
||||
|
||||
const YesNoButtons = ({onConfirm, onCancel, buttonSize}) => (
|
||||
const YesNoButtons = ({onConfirm, onCancel, buttonSize}) =>
|
||||
<div>
|
||||
<button
|
||||
className={classnames('btn btn-square btn-info', {
|
||||
|
@ -20,7 +20,6 @@ const YesNoButtons = ({onConfirm, onCancel, buttonSize}) => (
|
|||
<span className="icon checkmark" />
|
||||
</button>
|
||||
</div>
|
||||
)
|
||||
|
||||
const {func, string} = PropTypes
|
||||
|
||||
|
|
|
@ -41,7 +41,8 @@ const RenameCluster = React.createClass({
|
|||
<div className="row">
|
||||
<div className="col-md-8 col-md-offset-2 text-center">
|
||||
<p>
|
||||
A cluster can have an alias that replaces its ID in the interface.
|
||||
A cluster can have an alias that replaces its ID in the
|
||||
interface.
|
||||
<br />
|
||||
This does not affect the cluster ID.
|
||||
</p>
|
||||
|
|
|
@ -73,7 +73,7 @@ const InfluxTable = ({
|
|||
router,
|
||||
setActiveKapacitor,
|
||||
handleDeleteKapacitor,
|
||||
}) => (
|
||||
}) =>
|
||||
<div className="row">
|
||||
<div className="col-md-12">
|
||||
<div className="panel panel-minimal">
|
||||
|
@ -146,7 +146,6 @@ const InfluxTable = ({
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
|
||||
const {array, func, shape, string} = PropTypes
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@ export const SourceForm = React.createClass({
|
|||
name: this.sourceName.value,
|
||||
username: this.sourceUsername.value,
|
||||
password: this.sourcePassword.value,
|
||||
'default': this.sourceDefault.checked,
|
||||
default: this.sourceDefault.checked,
|
||||
telegraf: this.sourceTelegraf.value,
|
||||
insecureSkipVerify: this.sourceInsecureSkipVerify
|
||||
? this.sourceInsecureSkipVerify.checked
|
||||
|
|
Loading…
Reference in New Issue