@@ -18,12 +18,14 @@ import { createStyles, Theme, withStyles } from "@material-ui/core/styles";
1818import Grid from "@material-ui/core/Grid" ;
1919import get from "lodash/get" ;
2020import { InputLabel , Tooltip } from "@material-ui/core" ;
21+ import IconButton from "@material-ui/core/IconButton" ;
2122import HelpIcon from "@material-ui/icons/Help" ;
2223import InputBoxWrapper from "../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper" ;
2324import {
2425 fieldBasic ,
2526 tooltipHelper ,
2627} from "../../Common/FormComponents/common/styleLibrary" ;
28+ import DeleteIcon from "../../../../icons/DeleteIcon" ;
2729import { IZone } from "./types" ;
2830
2931interface IZonesMultiSelector {
@@ -37,7 +39,7 @@ interface IZonesMultiSelector {
3739
3840const gridBasic = {
3941 display : "grid" ,
40- gridTemplateColumns : "calc(50% - 4px ) calc(50% - 4px) " ,
42+ gridTemplateColumns : "calc(50% - 20px ) calc(50% - 20px) 30px " ,
4143 gridGap : 8 ,
4244} ;
4345
@@ -66,6 +68,13 @@ const styles = (theme: Theme) =>
6668 ...gridBasic ,
6769 marginBottom : 5 ,
6870 } ,
71+ deleteIconContainer : {
72+ alignSelf : "center" ,
73+ "& button" : {
74+ padding : 0 ,
75+ marginBottom : 10 ,
76+ } ,
77+ } ,
6978 } ) ;
7079
7180const ZonesMultiSelector = ( {
@@ -122,6 +131,16 @@ const ZonesMultiSelector = ({
122131 setCurrentElements ( updatedElement ) ;
123132 } ;
124133
134+ const deleteElement = ( zoneToRemove : number ) => {
135+ const zonesClone = [ ...currentElements ] ;
136+
137+ const newArray = zonesClone
138+ . slice ( 0 , zoneToRemove )
139+ . concat ( zonesClone . slice ( zoneToRemove + 1 , zonesClone . length ) ) ;
140+
141+ setCurrentElements ( newArray ) ;
142+ } ;
143+
125144 const inputs = currentElements . map ( ( element , index ) => {
126145 return (
127146 < React . Fragment key = { `zone-${ name } -${ index . toString ( ) } ` } >
@@ -148,6 +167,17 @@ const ZonesMultiSelector = ({
148167 key = { `Zones-${ name } -${ index . toString ( ) } -servers` }
149168 />
150169 </ div >
170+ < div className = { classes . deleteIconContainer } >
171+ < IconButton
172+ color = "primary"
173+ onClick = { ( ) => {
174+ deleteElement ( index ) ;
175+ } }
176+ disabled = { index === currentElements . length - 1 }
177+ >
178+ < DeleteIcon />
179+ </ IconButton >
180+ </ div >
151181 </ React . Fragment >
152182 ) ;
153183 } ) ;
0 commit comments