Skip to content

Commit

Permalink
Merge 71db4bb into a6b0b82
Browse files Browse the repository at this point in the history
  • Loading branch information
sneridagh committed Jul 24, 2018
2 parents a6b0b82 + 71db4bb commit 402856c
Show file tree
Hide file tree
Showing 4 changed files with 75 additions and 60 deletions.
106 changes: 68 additions & 38 deletions src/components/manage/Tiles/Text/Edit.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,9 @@ import { defineMessages, injectIntl, intlShape } from 'react-intl';
import { isEqual } from 'lodash';

import {
extendedBlockRenderMap,
blockStyleFn,
customTiles,
extendedBlockRenderMap,
inlineToolbarButtons,
plugins,
} from '~/config';
Expand Down Expand Up @@ -85,6 +86,7 @@ export default class Edit extends Component {
editorState,
inlineToolbarPlugin,
addNewTileOpened: false,
customTilesOpened: false,
};
}

Expand Down Expand Up @@ -156,9 +158,14 @@ export default class Edit extends Component {

handleClickOutside = e => {
if (this.ref && doesNodeContainClick(this.ref, e)) return;
this.setState(() => ({ addNewTileOpened: false }));
this.setState(() => ({
addNewTileOpened: false,
customTilesOpened: false,
}));
};

openCustomTileMenu = () => this.setState(() => ({ customTilesOpened: true }));

/**
* Render method.
* @method render
Expand Down Expand Up @@ -231,42 +238,65 @@ export default class Edit extends Component {
<Icon name={addSVG} className="tile-add-button" size="24px" />
</Button>
)}
{this.state.addNewTileOpened && (
<div className="add-tile toolbar">
<Button.Group>
<Button
icon
basic
onClick={this.props.onChangeTile.bind(this, this.props.tile, {
'@type': 'image',
})}
>
<Icon name={cameraSVG} size="24px" />
</Button>
</Button.Group>
<Button.Group>
<Button
icon
basic
onClick={this.props.onChangeTile.bind(this, this.props.tile, {
'@type': 'video',
})}
>
<Icon name={videoSVG} size="24px" />
</Button>
</Button.Group>
<div className="separator" />
<Button.Group>
<Button
icon
basic
onClick={this.props.onAddTile.bind(this, 'templatedtiles')}
>
<Icon name={TemplatedTilesSVG} size="24px" />
</Button>
</Button.Group>
</div>
)}
{this.state.addNewTileOpened &&
!this.state.customTilesOpened && (
<div className="add-tile toolbar">
<Button.Group>
<Button
icon
basic
onClick={this.props.onChangeTile.bind(this, this.props.tile, {
'@type': 'image',
})}
>
<Icon name={cameraSVG} size="24px" />
</Button>
</Button.Group>
<Button.Group>
<Button
icon
basic
onClick={this.props.onChangeTile.bind(this, this.props.tile, {
'@type': 'video',
})}
>
<Icon name={videoSVG} size="24px" />
</Button>
</Button.Group>
{customTiles.length !== 0 && (
<React.Fragment>
<div className="separator" />
<Button.Group>
<Button icon basic onClick={this.openCustomTileMenu}>
<Icon name={TemplatedTilesSVG} size="24px" />
</Button>
</Button.Group>
</React.Fragment>
)}
</div>
)}
{this.state.addNewTileOpened &&
this.state.customTilesOpened && (
<div className="add-tile toolbar">
{customTiles.map(tile => (
<Button.Group>
<Button
icon
basic
onClick={this.props.onChangeTile.bind(
this,
this.props.tile,
{
'@type': tile.title,
},
)}
>
<Icon name={tile.icon} size="24px" />
</Button>
</Button.Group>
))}
</div>
)}
{this.props.selected && (
<Button
icon
Expand Down
22 changes: 3 additions & 19 deletions src/config/Tiles.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ import {
EditVideoTile,
} from '../components';

const customTiles = [];

const messagesTiles = defineMessages({
title: {
id: 'title',
Expand All @@ -31,24 +33,6 @@ const messagesTiles = defineMessages({
},
});

const AvailableTiles = [
{
id: 'title',
},
{
id: 'description',
},
{
id: 'text',
},
{
id: 'image',
},
{
id: 'video',
},
];

const getDefaultEditTileView = type => {
switch (type) {
case 'title':
Expand All @@ -66,4 +50,4 @@ const getDefaultEditTileView = type => {
}
};

export { AvailableTiles, getDefaultEditTileView, messagesTiles };
export { customTiles, getDefaultEditTileView, messagesTiles };
4 changes: 2 additions & 2 deletions src/config/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import ToHTMLRenderers, {
import { extendedBlockRenderMap, blockStyleFn } from './RichTextEditor/Blocks';
import plugins, { inlineToolbarButtons } from './RichTextEditor/Plugins';
import FromHTMLCustomBlockFn from './RichTextEditor/FromHTML';
import { AvailableTiles, getDefaultEditTileView, messagesTiles } from './Tiles';
import { customTiles, getDefaultEditTileView, messagesTiles } from './Tiles';

export { layoutViews, contentTypesViews, defaultView };
export { widgetMapping, defaultWidget };
Expand All @@ -26,7 +26,7 @@ export {
ToHTMLRenderers,
ToHTMLOptions,
};
export { AvailableTiles, getDefaultEditTileView, messagesTiles };
export { customTiles, getDefaultEditTileView, messagesTiles };

export default defaults(
{},
Expand Down
3 changes: 2 additions & 1 deletion theme/themes/pastanaga/globals/site.overrides
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,8 @@ body {
&.add-tile {
z-index: 100;
top: -10px;
left: 49px;
left: -9px;
transform: none;
}
}

Expand Down

0 comments on commit 402856c

Please sign in to comment.