2018-02-02 04:36:08 +01:00
|
|
|
import { connect } from 'react-redux';
|
|
|
|
import View from './view';
|
2018-02-13 03:18:56 +01:00
|
|
|
import { newAssetRequest, showNewAsset } from 'actions/show';
|
2018-02-02 04:36:08 +01:00
|
|
|
|
|
|
|
const mapStateToProps = ({ show }) => {
|
2018-02-13 04:01:29 +01:00
|
|
|
// select request info
|
|
|
|
const requestType = show.request.type;
|
|
|
|
const requestId = show.request.id;
|
|
|
|
const requestName = show.request.data.name;
|
|
|
|
const requestModifier = show.request.data.modifier;
|
|
|
|
const requestExtension = show.request.data.extension;
|
2018-02-13 03:18:56 +01:00
|
|
|
// select request
|
2018-02-13 04:01:29 +01:00
|
|
|
const previousRequest = show.assetRequests[show.request.id] || null;
|
2018-02-13 04:08:17 +01:00
|
|
|
// select asset info
|
2018-02-13 04:01:29 +01:00
|
|
|
let asset;
|
|
|
|
if (previousRequest) {
|
|
|
|
const assetKey = `a#${previousRequest.name}#${previousRequest.claimId}`; // note: just store this in the request
|
|
|
|
asset = show.assetList[assetKey] || null;
|
|
|
|
};
|
|
|
|
// return props
|
|
|
|
return {
|
|
|
|
requestType,
|
|
|
|
requestId,
|
|
|
|
requestName,
|
|
|
|
requestModifier,
|
|
|
|
requestExtension,
|
|
|
|
previousRequest,
|
|
|
|
asset,
|
2018-02-02 04:36:08 +01:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2018-02-03 03:16:18 +01:00
|
|
|
const mapDispatchToProps = dispatch => {
|
|
|
|
return {
|
2018-02-09 01:23:09 +01:00
|
|
|
// request
|
2018-02-08 03:01:51 +01:00
|
|
|
onNewRequest: (id, name, modifier) => {
|
|
|
|
dispatch(newAssetRequest(id, name, modifier));
|
2018-02-07 22:26:07 +01:00
|
|
|
},
|
2018-02-09 01:23:09 +01:00
|
|
|
// show asset
|
2018-02-08 23:01:45 +01:00
|
|
|
onShowNewAsset: (name, claimId) => {
|
|
|
|
dispatch(showNewAsset(name, claimId));
|
2018-02-07 19:52:09 +01:00
|
|
|
},
|
2018-02-03 03:16:18 +01:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
export default connect(mapStateToProps, mapDispatchToProps)(View);
|