Advertisement
Guest User

Untitled

a guest
Feb 20th, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. class Inventory extends React.Component {
  2.  
  3.     constructor() {
  4.         super();
  5.         this.state = {
  6.             loaded: false,
  7.             selected: -1,
  8.             deposited: false,
  9.         };
  10.         this.items = {};
  11.     }
  12.  
  13.     componentDidMount() {
  14.         $.get('/get-user-inventory', response => {
  15.             this.items = response;
  16.             this.setState({
  17.                 loaded: true,
  18.             });
  19.         });
  20.     }
  21.  
  22.  
  23.     depositClicked() {
  24.         this.setState(
  25.           {deposited: true}
  26.         );
  27.     }
  28.  
  29.     render() {
  30.  
  31.         var {loaded} = this.state;
  32.  
  33.         if (!loaded) {
  34.             return <Spinner />;
  35.         }
  36.  
  37.  
  38.         var itemsList = [];
  39.  
  40.         for (var key in this.items) {
  41.  
  42.  
  43.             if (this.items[key].Marketable && this.items[key].Tradable)
  44.             {
  45.                   itemsList.push(<InventoryItem key={key} item={this.items[key]} />);
  46.             }
  47.             else {
  48.               console.log(this.items[key].Name + " Marketable:" + this.items[key].Marketable);
  49.               console.log(this.items[key].Name + " Tradable:" + this.items[key].Tradable);
  50.             }
  51.  
  52.         }
  53.  
  54.         return (
  55.             <div>
  56.               <div className="box outer">
  57.               {itemsList}
  58.               </div>
  59.               <div> <br><button className="btn btn-success" onClick={() => this.depositClicked()}>Deposit</button>
  60.               </div>
  61.             </div>
  62.         );
  63.     }
  64.  
  65. }
  66.  
  67.  
  68.  
  69.  
  70. class InventoryItem extends React.Component {
  71.  
  72.     constructor(props) {
  73.         super(props);
  74.         this.state = {
  75.             selected: -1,
  76.             deposited: false,
  77.         };
  78.     }
  79.  
  80.     itemClicked(i) {
  81.  
  82.       this.setState({
  83.       selected: -this.state.selected
  84.       });
  85.  
  86.     }
  87.  
  88.     render() {
  89.         var item = this.props.item;
  90.  
  91.         return (
  92.             <div className={"col-md-2 item-bg " + ((this.state.selected > -1) ? 'selected' : '')} onClick={() => this.itemClicked()} >
  93.  
  94.                 <div className="item-img">
  95.                   <InventoryItemImage iconUrl={item.icon_url} />
  96.                 </div>
  97.                 <div className="item-name">{item.Name}</div>
  98.                 <div className="item-prijs">
  99.                     $10,-
  100.                 </div>
  101.             </div>
  102.         );
  103.     }
  104. }
  105.  
  106. class InventoryItemImage extends React.Component {
  107.  
  108.     constructor(props) {
  109.         super(props);
  110.     }
  111.  
  112.     render() {
  113.         var url = "https://steamcommunity-a.akamaihd.net/economy/image/" + this.props.iconUrl + "/120fx100f";
  114.         return <img src={url} />
  115.     }
  116.  
  117. }
  118.  
  119. class Spinner extends React.Component {
  120.     render() {
  121.         return (
  122.             <div className="sk-folding-cube">
  123.                 <div className="sk-cube1 sk-cube"></div>
  124.                 <div className="sk-cube2 sk-cube"></div>
  125.                 <div className="sk-cube4 sk-cube"></div>
  126.                 <div className="sk-cube3 sk-cube"></div>
  127.  
  128.             </div>
  129.         );
  130.     }
  131. }
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140. // ! Hier fangt es an
  141. ReactDOM.render(<Inventory />, document.getElementById('user-inventory'));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement