import React from "react"; import AppAssetService from "../services/AppAssetService"; import { IAsset, IRegisterComponentState, IGlobalProp, UserTypes } from "../services/AppModels"; import { Card, ListGroup, Media, Button, Modal, Form } from "react-bootstrap"; export default class RegisterAssets extends React.Component< IGlobalProp, IRegisterComponentState > { appService: AppAssetService; constructor(props: IGlobalProp) { super(props); this.appService = this.props.appServiceObj; this.state = { showModal: false, assetTitle: "", assetDescription: "", assetUrl: "", assetPrice: "" }; this.onSubmitClick = this.onSubmitClick.bind(this); this.onModalToggle = this.onModalToggle.bind(this); this.formDataChanged = this.formDataChanged.bind(this); this.refreshData = this.refreshData.bind(this); } componentDidMount() { //this.refreshData(); } refreshData() { /* this.appService.getAllRegisteredAsset().then(data => { this.setState({ propertyAssets: data }); }); */ } onSubmitClick() { let _newAsset: IAsset = { AssetTitle: this.state.assetTitle, AssetDescription: this.state.assetDescription, AssetPicUrl: this.state.assetUrl, AssetPrice:this.state.assetPrice, AssetOwnerAccount:this.props.ethUser.EthereumID, AssetID: 0, IsAssetOnSale:true }; this.appService.registerNewAsset(_newAsset) .then(a => { this.setState({ assetTitle: "", assetDescription: "", assetUrl: "", assetPrice: "" }); //this.refreshData(); //this.props.refreshView(); this.onModalToggle(); this.props.updateBalance(this.props.ethUser.EthereumID); this.props.updateAssets(); }); } onModalToggle() { this.setState((prevState, props) => { return { showModal: !prevState.showModal }; }); } formDataChanged( event: React.ChangeEvent ) { switch (event.target.id) { case "assettitle": this.setState({ assetTitle: event.target.value }); break; case "assetdesc": this.setState({ assetDescription: event.target.value }); break; case "assetpicurl": this.setState({ assetUrl: event.target.value }); break; case "assetprice": this.setState({ assetPrice: event.target.value }); break; } } render() { const renderRegisterButton = () => { return } const renderRegisteredAssetList = () => { if (this.props.ethUser.AppUserType === UserTypes.Admin) return All Registered Assets {this.props.registeredAssets.map((item, index) => { return ( Generic placeholder
{item.AssetTitle}

{item.AssetDescription}

); })}
{renderRegisterButton()}
else return
{renderRegisterButton()}
}; return ( <> {renderRegisteredAssetList()} New Registration
Asset Name Asst Description Asset Media Url Asset Price Enter initial price of asset in Ether
); } }