From c72a5aa308ab4f0b163f1e19d60456a3c8d4b422 Mon Sep 17 00:00:00 2001 From: Brett Sun Date: Wed, 28 Oct 2015 11:26:54 +0100 Subject: [PATCH] Add Lumenus specific data forms to edition and piece details --- js/components/ascribe_detail/edition.js | 19 ++++++-- .../ascribe_detail/edition_action_panel.js | 26 +++++++---- .../ascribe_detail/edition_container.js | 4 ++ .../ascribe_detail/piece_container.js | 12 ++++- .../lumenus_edition_container.js | 30 ++++++++++++ .../lumenus_detail/lumenus_further_details.js | 46 +++++++++++++++++++ .../lumenus_detail/lumenus_piece_container.js | 27 +++++++++++ .../lumenus_additional_data_form.js | 18 +++++--- .../components/lumenus/lumenus_piece_list.js | 21 --------- .../lumenus/lumenus_register_piece.js | 11 ++--- .../whitelabel/wallet/wallet_routes.js | 6 ++- 11 files changed, 170 insertions(+), 50 deletions(-) create mode 100644 js/components/whitelabel/wallet/components/lumenus/lumenus_detail/lumenus_edition_container.js create mode 100644 js/components/whitelabel/wallet/components/lumenus/lumenus_detail/lumenus_further_details.js create mode 100644 js/components/whitelabel/wallet/components/lumenus/lumenus_detail/lumenus_piece_container.js diff --git a/js/components/ascribe_detail/edition.js b/js/components/ascribe_detail/edition.js index bcd2902c..bcd6743c 100644 --- a/js/components/ascribe_detail/edition.js +++ b/js/components/ascribe_detail/edition.js @@ -40,6 +40,8 @@ import { getLangText } from '../../utils/lang_utils'; */ let Edition = React.createClass({ propTypes: { + actionPanelButtonListType: React.PropTypes.func, + furtherDetailsType: React.PropTypes.func, edition: React.PropTypes.object, loadEdition: React.PropTypes.func, location: React.PropTypes.object @@ -47,6 +49,12 @@ let Edition = React.createClass({ mixins: [History], + getDefaultProps() { + return { + furtherDetailsType: FurtherDetails + }; + }, + getInitialState() { return UserStore.getState(); }, @@ -74,6 +82,8 @@ let Edition = React.createClass({ }, render() { + let FurtherDetailsType = this.props.furtherDetailsType; + return ( @@ -89,6 +99,7 @@ let Edition = React.createClass({
@@ -151,13 +162,13 @@ let Edition = React.createClass({ show={this.props.edition.acl.acl_edit || Object.keys(this.props.edition.extra_data).length > 0 || this.props.edition.other_data.length > 0}> - + location={this.props.location} /> {this.getStatus()} diff --git a/js/components/ascribe_detail/edition_action_panel.js b/js/components/ascribe_detail/edition_action_panel.js index bd423e4c..3d6d3043 100644 --- a/js/components/ascribe_detail/edition_action_panel.js +++ b/js/components/ascribe_detail/edition_action_panel.js @@ -34,6 +34,7 @@ import { getLangText } from '../../utils/lang_utils'; */ let EditionActionPanel = React.createClass({ propTypes: { + actionPanelButtonListType: React.PropTypes.func, edition: React.PropTypes.object, currentUser: React.PropTypes.object, handleSuccess: React.PropTypes.func @@ -41,6 +42,12 @@ let EditionActionPanel = React.createClass({ mixins: [History], + getDefaultProps() { + return { + actionPanelButtonListType: AclButtonList + }; + }, + getInitialState() { return PieceListStore.getState(); }, @@ -85,7 +92,8 @@ let EditionActionPanel = React.createClass({ }, render(){ - let {edition, currentUser} = this.props; + let { edition, currentUser } = this.props; + let ActionPanelButtonListType = this.props.actionPanelButtonListType; if (edition && edition.notifications && @@ -102,7 +110,7 @@ let EditionActionPanel = React.createClass({ return ( -