Remove contracts call functionality (not working) (#1999)
This commit is contained in:
parent
00c3ac381c
commit
0aacf3a09d
@ -18,7 +18,7 @@ import translate from '../translate';
|
||||
interface Props extends I18nProps, RouteComponentProps {
|
||||
basePath: string;
|
||||
contract: ApiContract;
|
||||
onCall: (_?: number) => () => void;
|
||||
onCall?: (_?: number) => () => void;
|
||||
}
|
||||
|
||||
const ContractCard = styled(Card)`
|
||||
@ -82,14 +82,16 @@ function Contract (props: Props): React.ReactElement<Props> | null {
|
||||
size='small'
|
||||
tooltip={t('Forget this contract')}
|
||||
/>
|
||||
<Button
|
||||
icon='play'
|
||||
isPrimary
|
||||
label={t('execute')}
|
||||
onClick={onCall()}
|
||||
size='small'
|
||||
tooltip={t('Call a method on this contract')}
|
||||
/>
|
||||
{onCall && (
|
||||
<Button
|
||||
icon='play'
|
||||
isPrimary
|
||||
label={t('execute')}
|
||||
onClick={onCall()}
|
||||
size='small'
|
||||
tooltip={t('Call a method on this contract')}
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
}
|
||||
isContract
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
// of the Apache-2.0 license. See the LICENSE file for details.
|
||||
|
||||
import { ApiProps } from '@polkadot/react-api/types';
|
||||
import { I18nProps, StringOrNull } from '@polkadot/react-components/types';
|
||||
import { I18nProps } from '@polkadot/react-components/types';
|
||||
import { ComponentProps } from '../types';
|
||||
|
||||
import React, { useState, useEffect } from 'react';
|
||||
@ -14,7 +14,7 @@ import { Button, CardGrid } from '@polkadot/react-components';
|
||||
import translate from '../translate';
|
||||
import Add from './Add';
|
||||
import ContractCard from './Contract';
|
||||
import Call from './Call';
|
||||
// import Call from './Call';
|
||||
import { getContractForAddress } from './util';
|
||||
|
||||
interface Props extends ComponentProps, I18nProps, ApiProps {}
|
||||
@ -27,49 +27,47 @@ function filterContracts ({ api, accounts, contracts: keyringContracts }: Props)
|
||||
|
||||
function Contracts (props: Props): React.ReactElement<Props> {
|
||||
const { accounts, basePath, contracts: keyringContracts, hasCode, showDeploy, t } = props;
|
||||
// const { callAddress, callMessage, isAddOpen, isCallOpen } = this.state;
|
||||
|
||||
const [contracts, setContracts] = useState<ApiContract[]>(filterContracts(props));
|
||||
const [callContractIndex, setCallContractIndex] = useState<number>(0);
|
||||
const [callMessageIndex, setCallMessageIndex] = useState<number>(0);
|
||||
const [isAddOpen, setIsAddOpen] = useState(false);
|
||||
const [isCallOpen, setIsCallOpen] = useState(false);
|
||||
// const [isCallOpen, setIsCallOpen] = useState(false);
|
||||
// const [callContractIndex, setCallContractIndex] = useState<number>(0);
|
||||
// const [callMessageIndex, setCallMessageIndex] = useState<number>(0);
|
||||
|
||||
useEffect((): void => {
|
||||
setContracts(filterContracts(props));
|
||||
}, [accounts, keyringContracts]);
|
||||
|
||||
let callContract = contracts[callContractIndex] || null;
|
||||
// let callContract = contracts[callContractIndex] || null;
|
||||
|
||||
useEffect((): void => {
|
||||
callContract = contracts[callContractIndex];
|
||||
}, [callContractIndex]);
|
||||
// useEffect((): void => {
|
||||
// callContract = contracts[callContractIndex];
|
||||
// }, [callContractIndex]);
|
||||
|
||||
const _toggleAdd = (): void => setIsAddOpen(!isAddOpen);
|
||||
const _toggleCall = (): void => setIsCallOpen(!isCallOpen);
|
||||
// const _toggleCall = (): void => setIsCallOpen(!isCallOpen);
|
||||
|
||||
const _onChangeCallContractAddress = (newCallContractAddress: StringOrNull): void => {
|
||||
const index = contracts.findIndex(({ address }: ApiContract): boolean => newCallContractAddress === address.toString());
|
||||
// const _onChangeCallContractAddress = (newCallContractAddress: StringOrNull): void => {
|
||||
// const index = contracts.findIndex(({ address }: ApiContract): boolean => newCallContractAddress === address.toString());
|
||||
|
||||
if (index > -1) {
|
||||
index !== callContractIndex && setCallMessageIndex(0);
|
||||
setCallContractIndex(index);
|
||||
}
|
||||
};
|
||||
// if (index > -1) {
|
||||
// index !== callContractIndex && setCallMessageIndex(0);
|
||||
// setCallContractIndex(index);
|
||||
// }
|
||||
// };
|
||||
|
||||
const _onChangeCallMessageIndex = (callMessageIndex: number): void => {
|
||||
!!callContract && setCallMessageIndex(callMessageIndex);
|
||||
};
|
||||
// const _onChangeCallMessageIndex = (callMessageIndex: number): void => {
|
||||
// !!callContract && setCallMessageIndex(callMessageIndex);
|
||||
// };
|
||||
|
||||
const _onCall = (callContractIndex: number): (_?: number) => () => void => {
|
||||
return function (callMessageIndex?: number): () => void {
|
||||
return function (): void {
|
||||
setCallContractIndex(callContractIndex);
|
||||
setCallMessageIndex(callMessageIndex || 0);
|
||||
setIsCallOpen(true);
|
||||
};
|
||||
};
|
||||
};
|
||||
// const _onCall = (callContractIndex: number): (_?: number) => () => void => {
|
||||
// return function (callMessageIndex?: number): () => void {
|
||||
// return function (): void {
|
||||
// setCallContractIndex(callContractIndex);
|
||||
// setCallMessageIndex(callMessageIndex || 0);
|
||||
// setIsCallOpen(true);
|
||||
// };
|
||||
// };
|
||||
// };
|
||||
|
||||
return (
|
||||
<>
|
||||
@ -97,31 +95,30 @@ function Contracts (props: Props): React.ReactElement<Props> {
|
||||
</Button.Group>
|
||||
}
|
||||
>
|
||||
{contracts
|
||||
.map((contract: ApiContract, index): React.ReactNode => {
|
||||
return (
|
||||
<ContractCard
|
||||
basePath={basePath}
|
||||
contract={contract}
|
||||
key={contract.address.toString()}
|
||||
onCall={_onCall(index)}
|
||||
/>
|
||||
);
|
||||
})}
|
||||
{contracts.map((contract: ApiContract): React.ReactNode => {
|
||||
return (
|
||||
<ContractCard
|
||||
basePath={basePath}
|
||||
contract={contract}
|
||||
key={contract.address.toString()}
|
||||
// onCall={_onCall(index)}
|
||||
/>
|
||||
);
|
||||
})}
|
||||
</CardGrid>
|
||||
<Add
|
||||
basePath={basePath}
|
||||
isOpen={isAddOpen}
|
||||
onClose={_toggleAdd}
|
||||
/>
|
||||
<Call
|
||||
{/* <Call
|
||||
callContract={callContract}
|
||||
callMessageIndex={callMessageIndex}
|
||||
isOpen={isCallOpen}
|
||||
onChangeCallContractAddress={_onChangeCallContractAddress}
|
||||
onChangeCallMessageIndex={_onChangeCallMessageIndex}
|
||||
onClose={_toggleCall}
|
||||
/>
|
||||
/> */}
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user