From 0e2126fe65bf0de3fa03070cc47233eb1e48f049 Mon Sep 17 00:00:00 2001 From: "damian.przygodzki" Date: Thu, 22 Jun 2017 11:43:15 +0200 Subject: [PATCH] #883 Captions are clickable --- src/components/board/Card.js | 8 ++++++-- src/components/board/Lane.js | 4 ++-- src/components/board/Lanes.js | 6 ++++-- src/containers/Board.js | 14 +++++++++++++- 4 files changed, 25 insertions(+), 7 deletions(-) diff --git a/src/components/board/Card.js b/src/components/board/Card.js index 2c2d2238f..5d503811c 100644 --- a/src/components/board/Card.js +++ b/src/components/board/Card.js @@ -73,7 +73,8 @@ class Card extends Component { renderCard = () => { const { caption, description, users, placeholder, connectDragSource, - connectDropTarget, onDelete, cardId, laneId + connectDropTarget, onDelete, cardId, laneId, onCaptionClick, + documentPath } = this.props; const {mouseOn} = this.state; @@ -87,7 +88,10 @@ class Card extends Component { className="pointer meta-icon-close-1 float-xs-right" onClick={() => onDelete(laneId, cardId)} />} - {caption} + onCaptionClick(documentPath)} + >{caption}

{description}

{users.map((user, i) => )} diff --git a/src/components/board/Lanes.js b/src/components/board/Lanes.js index 05a4b1d58..168ed1c09 100644 --- a/src/components/board/Lanes.js +++ b/src/components/board/Lanes.js @@ -8,7 +8,8 @@ class Lanes extends Component { render() { const { - lanes, onDrop, onHover, onReject, onDelete, targetIndicator + lanes, onDrop, onHover, onReject, onDelete, targetIndicator, + onCaptionClick } = this.props; if(!lanes) return false; @@ -19,7 +20,8 @@ class Lanes extends Component { ) diff --git a/src/containers/Board.js b/src/containers/Board.js index e1920e4ef..d0d2d2d98 100644 --- a/src/containers/Board.js +++ b/src/containers/Board.js @@ -2,6 +2,7 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; import {connect} from 'react-redux'; import update from 'immutability-helper'; +import {push} from 'react-router-redux'; import {getData, patchRequest, deleteRequest} from '../actions/GenericActions'; import {connectWS, disconnectWS} from '../actions/WindowActions'; @@ -131,6 +132,16 @@ class Board extends Component { } })); } + + handleCaptionClick = (docPath) => { + const {dispatch} = this.props; + if(!docPath) return; + + dispatch(push( + '/window/' + docPath.windowId + + (docPath.documentId ? '/' + docPath.documentId : '') + )) + } handleDelete = (laneId, cardId) => { const {board} = this.state; @@ -151,7 +162,7 @@ class Board extends Component { render() { const { - modal, rawModal, breadcrumb, indicator + modal, rawModal, breadcrumb, indicator, dispatch } = this.props; const { @@ -193,6 +204,7 @@ class Board extends Component { onHover={this.handleHover} onReject={this.clearTargetIndicator} onDelete={this.handleDelete} + onCaptionClick={this.handleCaptionClick} lanes={board && board.lanes} />