-
Welcome to your transaction web view for {this.state.activeSmartContract}; use this to submit and evaluate new and existing transactions.
+
Welcome to your transaction web view for {this.state.activeSmartContractLabel}; use this to submit and evaluate new and existing transactions.
Unsure of where to start? Follow our introductory Getting Started section opposite.
Smart Contracts
To switch to the web view for a different smart contract, select the smart contract below
- {this.getSmartContractItems(this.state.smartContracts)}
+ {this.getSmartContractItems(this.state.smartContractLabels)}
Getting Started
@@ -69,14 +74,27 @@ class TransactionHome extends Component
{
);
}
- private getSmartContractItems(smartContracts: string[]): any {
+ private setUpState(receivedProps: HomeProps): HomeState {
+ const contractLabels: Array = [];
+ for (const contract of receivedProps.messageData.smartContracts) {
+ contractLabels.push(contract.label);
+ }
+
+ return {
+ activeSmartContractLabel: receivedProps.messageData.activeSmartContract.label,
+ smartContractLabels: contractLabels,
+ switchSmartContract: receivedProps.switchSmartContract
+ };
+ }
+
+ private getSmartContractItems(smartContracts: Array): any {
const smartContractItems: any = [];
for (const contract of smartContracts) {
- if (contract === this.state.activeSmartContract) {
+ if (contract === this.state.activeSmartContractLabel) {
smartContractItems.push({contract});
} else {
- smartContractItems.push( this.switchSmartContract(contract)}>{contract});
+ smartContractItems.push( this.state.switchSmartContract(contract)}>{contract});
}
}
diff --git a/src/components/TransactionSidebar/TransactionSidebar.tsx b/src/components/TransactionSidebar/TransactionSidebar.tsx
index 670346a404..1d96cacffa 100644
--- a/src/components/TransactionSidebar/TransactionSidebar.tsx
+++ b/src/components/TransactionSidebar/TransactionSidebar.tsx
@@ -3,14 +3,13 @@ import './TransactionSidebar.scss';
import SidebarPanel from '../TransactionSidebarPanel/TransactionSidebarPanel';
function TransactionSidebar(): any {
-
- return (
-
- );
+ return (
+
+ );
}
export default TransactionSidebar;
diff --git a/src/components/TransactionSidebarPanel/TransactionSidebarPanel.tsx b/src/components/TransactionSidebarPanel/TransactionSidebarPanel.tsx
index d0b24bf108..166cf607e8 100644
--- a/src/components/TransactionSidebarPanel/TransactionSidebarPanel.tsx
+++ b/src/components/TransactionSidebarPanel/TransactionSidebarPanel.tsx
@@ -1,5 +1,6 @@
import React, { Component } from 'react';
import './TransactionSidebarPanel.scss';
+import Utils from '../../Utils';
import { Button } from 'carbon-components-react';
interface SidebarPanelProps {
@@ -19,14 +20,6 @@ class TransactionSidebarPanel extends Component
-
+
);
diff --git a/src/interfaces/ISmartContract.ts b/src/interfaces/ISmartContract.ts
new file mode 100644
index 0000000000..06d9e58e91
--- /dev/null
+++ b/src/interfaces/ISmartContract.ts
@@ -0,0 +1,12 @@
+import ITransaction from './ITransaction';
+
+interface ISmartContract {
+ name: string;
+ version: string;
+ channel: string;
+ label: string;
+ transactions: Array