diff options
Diffstat (limited to 'frontend/views/page/components/tile.form.js')
| -rw-r--r-- | frontend/views/page/components/tile.form.js | 56 |
1 files changed, 45 insertions, 11 deletions
diff --git a/frontend/views/page/components/tile.form.js b/frontend/views/page/components/tile.form.js index c5f5c0b..1d15296 100644 --- a/frontend/views/page/components/tile.form.js +++ b/frontend/views/page/components/tile.form.js @@ -30,6 +30,10 @@ const REQUIRED_KEYS = { text: ['content'], } +const IMAGE_TILE_STYLES = [ + 'tile', 'cover', 'contain', 'contain no-repeat' +].map(style => ({ name: style, label: style })) + // target_page_id = Column(Integer, ForeignKey('page.id'), nullable=True) // https://s3.amazonaws.com/i.asdf.us/im/1c/gradient_gold1-SpringGreen1_1321159749.jpg @@ -37,6 +41,7 @@ const newImage = (data) => ({ settings: { ...newPosition(), is_tiled: false, + tile_style: 'tile', url: "", }, type: 'image', @@ -222,6 +227,14 @@ class TileForm extends Component { } } + handleDelete() { + const { temporaryTile, isNew } = this.props + const tile_id = temporaryTile.id + if (confirm('Really delete this tile?')) { + actions.tile.delete(temporaryTile.id) + } + } + render() { const { temporaryTile, isNew } = this.props const { title, submitTitle, errorFields } = this.state @@ -255,10 +268,19 @@ class TileForm extends Component { ? this.renderTextForm() : ""} - <SubmitButton - title={submitTitle} - onClick={this.handleSubmit.bind(this)} - /> + <div className='row buttons'> + <SubmitButton + title={submitTitle} + onClick={this.handleSubmit.bind(this)} + /> + {!isNew && + <SubmitButton + title={'Delete'} + className='destroy' + onClick={this.handleDelete.bind(this)} + /> + } + </div> {!!errorFields.size && <label> <span></span> @@ -288,6 +310,7 @@ class TileForm extends Component { // const { isNew } = this.props const { temporaryTile } = this.props const { errorFields } = this.state + console.log(temporaryTile.settings) return ( <div> <TextInput @@ -300,13 +323,24 @@ class TileForm extends Component { onChange={this.handleImageChange.bind(this)} autoComplete="off" /> - <Checkbox - label="Tiled" - name="is_tiled" - data={temporaryTile.settings} - onChange={this.handleSettingsSelect.bind(this)} - autoComplete="off" - /> + <div className='row pair'> + <Checkbox + label="Tiled" + name="is_tiled" + checked={temporaryTile.settings.is_tiled} + onChange={this.handleSettingsSelect.bind(this)} + autoComplete="off" + /> + {temporaryTile.settings.is_tiled && + <Select + name='tile_style' + selected={temporaryTile.settings.tile_style || 'tile'} + options={IMAGE_TILE_STYLES} + title='' + onChange={this.handleSettingsSelect.bind(this)} + /> + } + </div> </div> ) |
