mirror of https://github.com/vector-im/riot-web
Merge remote-tracking branch 'origin/develop' into develop
commit
4c4b813aa1
|
@ -17,6 +17,7 @@ limitations under the License.
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
import { MatrixClient } from 'matrix-js-sdk';
|
import { MatrixClient } from 'matrix-js-sdk';
|
||||||
|
import GeminiScrollbar from 'react-gemini-scrollbar';
|
||||||
import TagOrderStore from '../../stores/TagOrderStore';
|
import TagOrderStore from '../../stores/TagOrderStore';
|
||||||
|
|
||||||
import GroupActions from '../../actions/GroupActions';
|
import GroupActions from '../../actions/GroupActions';
|
||||||
|
@ -83,8 +84,6 @@ const TagPanel = React.createClass({
|
||||||
},
|
},
|
||||||
|
|
||||||
onClick(e) {
|
onClick(e) {
|
||||||
// Ignore clicks on children
|
|
||||||
if (e.target !== e.currentTarget) return;
|
|
||||||
dis.dispatch({action: 'deselect_tags'});
|
dis.dispatch({action: 'deselect_tags'});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -93,9 +92,14 @@ const TagPanel = React.createClass({
|
||||||
dis.dispatch({action: 'view_create_group'});
|
dis.dispatch({action: 'view_create_group'});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
onLogoClick(ev) {
|
||||||
|
dis.dispatch({action: 'deselect_tags'});
|
||||||
|
},
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
const GroupsButton = sdk.getComponent('elements.GroupsButton');
|
const GroupsButton = sdk.getComponent('elements.GroupsButton');
|
||||||
const DNDTagTile = sdk.getComponent('elements.DNDTagTile');
|
const DNDTagTile = sdk.getComponent('elements.DNDTagTile');
|
||||||
|
const AccessibleButton = sdk.getComponent('elements.AccessibleButton');
|
||||||
|
|
||||||
const tags = this.state.orderedTags.map((tag, index) => {
|
const tags = this.state.orderedTags.map((tag, index) => {
|
||||||
return <DNDTagTile
|
return <DNDTagTile
|
||||||
|
@ -106,25 +110,31 @@ const TagPanel = React.createClass({
|
||||||
/>;
|
/>;
|
||||||
});
|
});
|
||||||
return <div className="mx_TagPanel">
|
return <div className="mx_TagPanel">
|
||||||
<Droppable
|
<AccessibleButton className="mx_TagPanel_logo" onClick={this.onLogoClick}>
|
||||||
droppableId="tag-panel-droppable"
|
<img src="img/logos/riot-logo.svg" />
|
||||||
type="draggable-TagTile"
|
</AccessibleButton>
|
||||||
|
<div className="mx_TagPanel_divider" />
|
||||||
|
<GeminiScrollbar
|
||||||
|
className="mx_TagPanel_scroller"
|
||||||
|
autoShow={true}
|
||||||
|
onClick={this.onClick}
|
||||||
>
|
>
|
||||||
{ (provided, snapshot) => (
|
<Droppable
|
||||||
<div
|
droppableId="tag-panel-droppable"
|
||||||
className="mx_TagPanel_tagTileContainer"
|
type="draggable-TagTile"
|
||||||
ref={provided.innerRef}
|
>
|
||||||
// react-beautiful-dnd has a bug that emits a click to the parent
|
{ (provided, snapshot) => (
|
||||||
// of draggables upon dropping
|
<div
|
||||||
// https://github.com/atlassian/react-beautiful-dnd/issues/273
|
className="mx_TagPanel_tagTileContainer"
|
||||||
// so we use onMouseDown here as a workaround.
|
ref={provided.innerRef}
|
||||||
onMouseDown={this.onClick}
|
>
|
||||||
>
|
{ tags }
|
||||||
{ tags }
|
{ provided.placeholder }
|
||||||
{ provided.placeholder }
|
</div>
|
||||||
</div>
|
) }
|
||||||
) }
|
</Droppable>
|
||||||
</Droppable>
|
</GeminiScrollbar>
|
||||||
|
<div className="mx_TagPanel_divider" />
|
||||||
<div className="mx_TagPanel_createGroupButton">
|
<div className="mx_TagPanel_createGroupButton">
|
||||||
<GroupsButton tooltip={true} />
|
<GroupsButton tooltip={true} />
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Reference in New Issue