ghost-portal/packages/app-storage/src/index.js
Jaco Greeff 397dd0c983
Update jsonrpc dependency tree (#54)
* Use tyopeToString from @polkadot/params

* Upgrades... before checks

* Cleanups... WIP.

* more WIP.

* Expand defaultValue & handlers

* Cleanups

* CodeClimate cleanups

* Additional CodeClimate cleanups

* Base for app-rpc

* Initial split into ui-signer

* Signer operational (extrinsics)

* Decode extrinsic method

* RPC progress...

* RPC class works again

* @flow cleanups
2018-05-23 18:01:42 +02:00

66 lines
1.4 KiB
JavaScript

// Copyright 2017-2018 Jaco Greeff
// This software may be modified and distributed under the terms
// of the ISC license. See the LICENSE file for details.
// @flow
import type { I18nProps } from '@polkadot/ui-app/types';
import type { StorageQuery } from './types';
import './index.css';
import React from 'react';
import classes from '@polkadot/ui-app/util/classes';
import Queries from './Queries';
import Selection from './Selection';
import translate from './translate';
type Props = I18nProps & {};
type State = {
queue: Array<StorageQuery>
}
class StorageApp extends React.PureComponent<Props, State> {
state: State = {
queue: []
};
render (): React$Node {
const { className, style } = this.props;
const { queue } = this.state;
return (
<div
className={classes('storage--App', className)}
style={style}
>
<Selection onAdd={this.onAdd} />
<Queries
onRemove={this.onRemove}
value={queue}
/>
</div>
);
}
onAdd = (query: StorageQuery): void => {
this.setState(
(prevState: State): State => ({
queue: [query].concat(prevState.queue)
})
);
}
onRemove = (id: number): void => {
this.setState(
(prevState: State): State => ({
queue: prevState.queue.filter((item) => item.id !== id)
})
);
}
}
export default translate(StorageApp);