diff --git a/frontend/src/__mocks__/react-mdl.js b/frontend/src/__mocks__/react-mdl.js index dda2ca9455..b8fe741af9 100644 --- a/frontend/src/__mocks__/react-mdl.js +++ b/frontend/src/__mocks__/react-mdl.js @@ -5,6 +5,7 @@ module.exports = { CardMenu: 'react-mdl-CardMenu', DataTable: 'react-mdl-DataTable', Cell: 'react-mdl-Cell', + Chip: 'react-mdl-Chip', Grid: 'react-mdl-Grid', Icon: 'react-mdl-Icon', IconButton: 'react-mdl-IconButton', diff --git a/frontend/src/component/archive/__tests__/__snapshots__/archive-list-component-test.jsx.snap b/frontend/src/component/archive/__tests__/__snapshots__/archive-list-component-test.jsx.snap index 97ef0d45fd..76efcd1391 100644 --- a/frontend/src/component/archive/__tests__/__snapshots__/archive-list-component-test.jsx.snap +++ b/frontend/src/component/archive/__tests__/__snapshots__/archive-list-component-test.jsx.snap @@ -45,8 +45,19 @@ exports[`renders correctly with archived toggles 1`] = ` style={Object {}} > adin-pay-confirm-disabled + + + + default + + +
Disables the confirm-functionality from API
@@ -75,8 +86,19 @@ exports[`renders correctly with archived toggles 1`] = ` style={Object {}} > adin-pay-platform-sch-payment + + + + default + + +
Enables use of schibsted payment from order-payment-management
diff --git a/frontend/src/component/archive/archive-list-component.jsx b/frontend/src/component/archive/archive-list-component.jsx index f4372b88f4..7c138f3f23 100644 --- a/frontend/src/component/archive/archive-list-component.jsx +++ b/frontend/src/component/archive/archive-list-component.jsx @@ -1,7 +1,7 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; import { Link } from 'react-router'; -import { Icon, Card, List, ListItem, ListItemContent, ListItemAction } from 'react-mdl'; +import { Icon, Card, List, ListItem, ListItemContent, ListItemAction, Chip } from 'react-mdl'; import { styles as commonStyles } from '../common'; import styles from './archive.scss'; @@ -12,18 +12,49 @@ class ArchiveList extends Component { fetchArchive: PropTypes.func, revive: PropTypes.func, }; - flag = this.props.name; + componentDidMount() { this.props.fetchArchive(); - this.props.archive.map(f => (f.displayDetail = false)); } - renderStrategies(feature) { - let cumul = feature.strategies.reduce((total, f) => { - // todo: do we want to display paramters - total += `${f.name} `; - return total; - }, ''); - return cumul; + renderStrategyDetail(feature) { + let strategiesList = ( + + {feature.strategies.map((s, i) => ( + + {s.name} + {Object.keys(s.parameters).map((p, j) => ( + {s.parameters[p]} + ))} + + ))} + + ); + return strategiesList; + } + renderStrategiesInList(feature) { + let display = []; + if (feature.strategies && feature.strategies.length > 0) { + const strategiesToShow = Math.min(feature.strategies.length, 3); + const remainingStrategies = feature.strategies.length - strategiesToShow; + + const strategyChips = + feature.strategies && + feature.strategies.slice(0, strategiesToShow).map((s, i) => ( + + {s.name} + + )); + const remaining = ( + + +{remainingStrategies} + + ); + if (remainingStrategies > 0) { + display.push(remaining); + } + display.push(strategyChips); + } + return display; } render() { const { archive, revive } = this.props; @@ -59,12 +90,16 @@ class ArchiveList extends Component { ' ' )} > + {this.renderStrategiesInList(feature).map((strategyChip, i) => ( + {strategyChip} + ))} + {feature.name} -
+
{feature.description}
-
- Strategy: {this.renderStrategies(feature)} +
+ {this.renderStrategyDetail(feature)}
) : ( @@ -75,7 +110,12 @@ class ArchiveList extends Component { )} > {feature.name} -
+ + {this.renderStrategiesInList(feature).map((strategyChip, i) => ( + {strategyChip} + ))} + +
{feature.description}
diff --git a/frontend/src/component/archive/archive-container.js b/frontend/src/component/archive/archive-list-container.js similarity index 100% rename from frontend/src/component/archive/archive-container.js rename to frontend/src/component/archive/archive-list-container.js diff --git a/frontend/src/component/archive/archive.scss b/frontend/src/component/archive/archive.scss index a02c87f20a..aadacd0034 100644 --- a/frontend/src/component/archive/archive.scss +++ b/frontend/src/component/archive/archive.scss @@ -1,6 +1,6 @@ .archiveList { background-color: #fff; - color: #000; + color: rgba(0, 0, 0, 0.54); align-items: center; padding: 0 16px 0 18px; font-family: "Roboto", "Helvetica", "Arial", sans-serif; @@ -31,3 +31,10 @@ display: block; padding: 0; } +.strategiesList { + flex-shrink: 0; + float: right; + margin-left: 8px !important; +} + + diff --git a/frontend/src/component/feature/form/index.jsx b/frontend/src/component/feature/form/index.jsx index 6e6b029dd1..366227d139 100644 --- a/frontend/src/component/feature/form/index.jsx +++ b/frontend/src/component/feature/form/index.jsx @@ -82,7 +82,6 @@ class AddFeatureToggleComponent extends Component {
)} - ;