1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-12-22 19:07:54 +01:00

feat: boolean strategy paramters (#178)

feat: boolean strategy paramters
This commit is contained in:
Ivar Conradi Østhus 2019-05-10 10:06:02 +02:00 committed by GitHub
commit 9ebaa90b21
2 changed files with 38 additions and 1 deletions

View File

@ -1,6 +1,18 @@
import React from 'react';
import PropTypes from 'prop-types';
import { Textfield, Button, Card, CardTitle, CardText, CardActions, CardMenu, IconButton, Icon } from 'react-mdl';
import {
Textfield,
Button,
Card,
CardTitle,
CardText,
CardActions,
CardMenu,
IconButton,
Icon,
Switch,
Tooltip,
} from 'react-mdl';
import { DragSource, DropTarget } from 'react-dnd';
import { Link } from 'react-router-dom';
import StrategyInputPercentage from './strategy-input-percentage';
@ -60,6 +72,11 @@ class StrategyConfigure extends React.Component {
this.setConfig(key, e.target.value);
};
handleSwitchChange = (key, currentValue) => {
const value = currentValue === 'false' ? 'true' : 'false';
this.setConfig(key, value);
};
setConfig = (key, value) => {
const parameters = this.props.strategy.parameters || {};
parameters[key] = value;
@ -130,6 +147,25 @@ class StrategyConfigure extends React.Component {
{description && <p className={styles.helpText}>{description}</p>}
</div>
);
} else if (type === 'boolean') {
if (!value) {
this.handleSwitchChange(name, value);
}
return (
<div key={name}>
<Switch
onChange={this.handleSwitchChange.bind(this, name, value)}
checked={value === 'true'}
>
{name}{' '}
{description && (
<Tooltip label={description}>
<Icon name="info" style={{ color: 'rgba(0, 0, 0, 0.7)', fontSize: '1em' }} />
</Tooltip>
)}
</Switch>
</div>
);
} else {
return (
<div key={name}>

View File

@ -47,6 +47,7 @@ const Parameter = ({ set, input = {}, index }) => (
<MenuItem onClick={() => set({ type: 'percentage' })}>percentage</MenuItem>
<MenuItem onClick={() => set({ type: 'list' })}>list</MenuItem>
<MenuItem onClick={() => set({ type: 'number' })}>number</MenuItem>
<MenuItem onClick={() => set({ type: 'boolean' })}>boolean</MenuItem>
</Menu>
</div>
<Textfield