|
1 | 1 | import React, {Component} from 'react'; |
| 2 | +import CreatePaletteNavBar from './CreatePaletteNavBar'; |
2 | 3 | import classNames from 'clsx'; |
3 | 4 | import { withStyles } from '@material-ui/core/styles'; |
4 | 5 | import Drawer from '@material-ui/core/Drawer'; |
5 | | -import CssBaseline from '@material-ui/core/CssBaseline'; |
6 | | -import AppBar from '@material-ui/core/AppBar'; |
7 | | -import Toolbar from '@material-ui/core/Toolbar'; |
8 | | -import Typography from '@material-ui/core/Typography'; |
9 | 6 | import Divider from '@material-ui/core/Divider'; |
10 | 7 | import IconButton from '@material-ui/core/IconButton'; |
11 | | -import MenuIcon from '@material-ui/icons/Menu'; |
12 | 8 | import ChevronLeftIcon from '@material-ui/icons/ChevronLeft'; |
13 | 9 | import Button from '@material-ui/core/Button'; |
14 | | -import DraggableColorBoxes from './DraggableColorBoxes'; |
15 | 10 | import { ChromePicker } from 'react-color'; /*Color Picker*/ |
16 | 11 | import { ValidatorForm, TextValidator} from 'react-material-ui-form-validator'; |
17 | 12 | import DraggableColorList from './DraggableColorList'; |
@@ -84,8 +79,7 @@ class CreatePalette extends Component{ |
84 | 79 | open: true, |
85 | 80 | currentColor: "teal", |
86 | 81 | newColorName: "", |
87 | | - colors: this.props.palettes[0].colors, |
88 | | - newPaletteName: "" |
| 82 | + colors: this.props.palettes[0].colors |
89 | 83 | } |
90 | 84 | this.handleDrawerOpen = this.handleDrawerOpen.bind(this); |
91 | 85 | this.handleDrawerClose = this.handleDrawerClose.bind(this); |
@@ -130,14 +124,8 @@ class CreatePalette extends Component{ |
130 | 124 | ({color}) => color !== this.state.currentColor |
131 | 125 | ); |
132 | 126 | }); |
133 | | - ValidatorForm.addValidationRule('isPaletteNameUnique', (value) => { |
134 | | - return this.props.palettes.every( |
135 | | - ({paletteName}) => paletteName.toLowerCase() !== value.toLowerCase() |
136 | | - ); |
137 | | - }); |
138 | 127 | }; |
139 | | - savePalette(){ |
140 | | - let newPaletteName = this.state.newPaletteName; |
| 128 | + savePalette(newPaletteName){ |
141 | 129 | const newPalette = { |
142 | 130 | id: newPaletteName.toLowerCase().replace(/ /g, '-'), |
143 | 131 | paletteName: newPaletteName, |
@@ -167,47 +155,21 @@ class CreatePalette extends Component{ |
167 | 155 | this.setState({colors: [...this.state.colors, randomColor]}); |
168 | 156 | } |
169 | 157 | render() { |
170 | | - const { classes, theme, maxColors } = this.props; |
| 158 | + const { classes, theme, maxColors, palettes} = this.props; |
171 | 159 | const { open, colors } = this.state; |
172 | 160 | const paletteFull = colors.length >= maxColors; |
173 | 161 | return ( |
174 | 162 | <div className={classes.root}> |
175 | | - <CssBaseline /> |
176 | | - <AppBar |
177 | | - position="fixed" |
178 | | - color="default" |
179 | | - className={classNames(classes.appBar, { |
180 | | - [classes.appBarShift]: open, |
181 | | - })} |
182 | | - > |
183 | | - <Toolbar disableGutters={!open}> |
184 | | - <IconButton |
185 | | - color="inherit" |
186 | | - aria-label="Open drawer" |
187 | | - onClick={this.handleDrawerOpen} |
188 | | - className={classNames(classes.menuButton, open && classes.hide)} |
189 | | - > |
190 | | - <MenuIcon /> |
191 | | - </IconButton> |
192 | | - <Typography variant="h6" color="inherit" noWrap> |
193 | | - Persistent drawer |
194 | | - </Typography> |
| 163 | + {/*NavBar*/} |
| 164 | + <CreatePaletteNavBar |
| 165 | + open={open} |
| 166 | + classes={classes} |
| 167 | + palettes={palettes} |
| 168 | + handleDrawerOpen={this.handleDrawerOpen} |
| 169 | + savePalette={this.savePalette} |
| 170 | + /> |
| 171 | + {/*NavBar Ends*/} |
195 | 172 |
|
196 | | - <ValidatorForm onSubmit={this.savePalette}> |
197 | | - <TextValidator |
198 | | - label="Palette Name" |
199 | | - value={this.state.newPaletteName} |
200 | | - name="newPaletteName" |
201 | | - onChange={this.handleNameChange} |
202 | | - validators={['required', 'isPaletteNameUnique']} |
203 | | - errorMessages={['Enter a Color Name', 'Palette Name already exist!']} |
204 | | - /> |
205 | | - <Button variant="contained" color="primary" type="submit"> |
206 | | - Save Palette |
207 | | - </Button> |
208 | | - </ValidatorForm> |
209 | | - </Toolbar> |
210 | | - </AppBar> |
211 | 173 | <Drawer |
212 | 174 | className={classes.drawer} |
213 | 175 | variant="persistent" |
|
0 commit comments