Add Option handler to param inputs (#1686)
* Add Option handler to param inputs * Remove stray debug log * Linting cleanups * Bump deps
This commit is contained in:
parent
17fafc63ef
commit
7c6a4b1b07
@ -10,10 +10,10 @@
|
||||
"packages/*"
|
||||
],
|
||||
"resolutions": {
|
||||
"@polkadot/api": "^0.94.0-beta.1",
|
||||
"@polkadot/api-contract": "^0.94.0-beta.1",
|
||||
"@polkadot/api": "^0.94.0-beta.8",
|
||||
"@polkadot/api-contract": "^0.94.0-beta.8",
|
||||
"@polkadot/keyring": "^1.5.1",
|
||||
"@polkadot/types": "^0.94.0-beta.1",
|
||||
"@polkadot/types": "^0.94.0-beta.8",
|
||||
"@polkadot/util": "^1.5.1",
|
||||
"@polkadot/util-crypto": "^1.5.1",
|
||||
"@types/styled-components": "4.1.8",
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.6.2",
|
||||
"@polkadot/react-components": "^0.36.0-beta.51",
|
||||
"@polkadot/react-qr": "^0.45.1",
|
||||
"@polkadot/react-qr": "^0.46.0-beta.0",
|
||||
"@types/file-saver": "^2.0.0",
|
||||
"@types/yargs": "^13.0.2",
|
||||
"babel-plugin-module-resolver": "^3.1.1",
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.6.2",
|
||||
"@polkadot/api-contract": "^0.94.0-beta.1",
|
||||
"@polkadot/api-contract": "^0.94.0-beta.8",
|
||||
"@polkadot/react-components": "^0.36.0-beta.51"
|
||||
}
|
||||
}
|
||||
|
||||
@ -267,7 +267,9 @@ class Vote extends TxModal<Props, State> {
|
||||
return;
|
||||
}
|
||||
|
||||
api.derive.elections.approvalsOfAt(accountId, voteCount)
|
||||
// FIXME This any is a mismatch in api-derive
|
||||
api.derive.elections
|
||||
.approvalsOfAt(accountId as any, voteCount)
|
||||
.then((approvals: boolean[]): void => {
|
||||
if ((voterPositions && voterPositions[accountId.toString()]) && approvals && approvals.length && approvals !== this.state.approvals) {
|
||||
this.setState({
|
||||
|
||||
@ -133,7 +133,6 @@ function Referendum ({ chain_bestNumber, className, democracy_enactmentPeriod, d
|
||||
</Static>
|
||||
<VoteThreshold
|
||||
isDisabled
|
||||
isOptional={false}
|
||||
defaultValue={{ isValid: true, value: value.threshold }}
|
||||
label={t('vote threshold')}
|
||||
name='voteThreshold'
|
||||
|
||||
@ -13,13 +13,14 @@ import { getTypeDef } from '@polkadot/types';
|
||||
import { Button, InputStorage, TxComponent } from '@polkadot/react-components';
|
||||
import Params from '@polkadot/react-params';
|
||||
import { withApi, withMulti } from '@polkadot/react-api';
|
||||
import { isUndefined } from '@polkadot/util';
|
||||
import { isNull, isUndefined } from '@polkadot/util';
|
||||
|
||||
import translate from '../translate';
|
||||
|
||||
interface Props extends ComponentProps, ApiProps, I18nProps {}
|
||||
|
||||
interface State {
|
||||
isLinked: boolean;
|
||||
isValid: boolean;
|
||||
key: StorageEntryPromise;
|
||||
defaultValues?: RawParams | null;
|
||||
@ -39,6 +40,7 @@ class Modules extends TxComponent<Props, State> {
|
||||
|
||||
this.defaultValue = api.query.timestamp.now;
|
||||
this.state = {
|
||||
isLinked: false,
|
||||
isValid: true,
|
||||
key: this.defaultValue,
|
||||
values: [],
|
||||
@ -112,15 +114,23 @@ class Modules extends TxComponent<Props, State> {
|
||||
};
|
||||
}
|
||||
|
||||
const hasParam = key.creator.meta.type.isMap;
|
||||
const isValid = values.length === (hasParam ? 1 : 0) && areParamsValid();
|
||||
const isMap = key.creator.meta.type.isMap;
|
||||
const isLinked = isMap && key.creator.meta.type.asMap.linked.isTrue;
|
||||
const isValid = values.length === (isMap ? 1 : 0) && areParamsValid();
|
||||
|
||||
return {
|
||||
defaultValues: null,
|
||||
isLinked,
|
||||
isValid,
|
||||
key,
|
||||
params: hasParam
|
||||
? [{ type: getTypeDef(key.creator.meta.type.asMap.key.toString()) }]
|
||||
params: isMap
|
||||
? [{
|
||||
type: getTypeDef(
|
||||
isLinked
|
||||
? `Option<${key.creator.meta.type.asMap.key.toString()}>`
|
||||
: key.creator.meta.type.asMap.key.toString()
|
||||
)
|
||||
}]
|
||||
: [],
|
||||
values
|
||||
};
|
||||
@ -145,12 +155,12 @@ class Modules extends TxComponent<Props, State> {
|
||||
|
||||
private onAdd = (): void => {
|
||||
const { onAdd } = this.props;
|
||||
const { key, values } = this.state;
|
||||
const { isLinked, key, values } = this.state;
|
||||
|
||||
onAdd({
|
||||
isConst: false,
|
||||
key,
|
||||
params: values
|
||||
params: values.filter(({ value }): boolean => !isLinked || !isNull(value))
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@ -9,9 +9,10 @@ import { QueueTxRpcAdd } from '@polkadot/react-components/Status/types';
|
||||
|
||||
import React from 'react';
|
||||
import rpc from '@polkadot/jsonrpc';
|
||||
import { getTypeDef } from '@polkadot/types';
|
||||
import { Button, InputRpc, TxComponent } from '@polkadot/react-components';
|
||||
import Params from '@polkadot/react-params';
|
||||
import { getTypeDef } from '@polkadot/types';
|
||||
import { isNull } from '@polkadot/util';
|
||||
|
||||
import translate from './translate';
|
||||
|
||||
@ -40,7 +41,6 @@ class Selection extends TxComponent<Props, State> {
|
||||
const { t } = this.props;
|
||||
const { isValid, rpc } = this.state;
|
||||
const params = rpc.params.map(({ isOptional, name, type }): ParamDef => ({
|
||||
isOptional,
|
||||
name,
|
||||
type: getTypeDef(isOptional ? `Option<${type}>` : type)
|
||||
}));
|
||||
@ -64,7 +64,6 @@ class Selection extends TxComponent<Props, State> {
|
||||
isDisabled={!isValid}
|
||||
isPrimary
|
||||
onClick={this.onSubmit}
|
||||
|
||||
label={t('Submit RPC call')}
|
||||
icon='sign-in'
|
||||
ref={this.button}
|
||||
@ -111,7 +110,9 @@ class Selection extends TxComponent<Props, State> {
|
||||
queueRpc({
|
||||
accountId,
|
||||
rpc,
|
||||
values: values.map(({ value }): any => value)
|
||||
values: values
|
||||
.filter(({ value }): boolean => !isNull(value))
|
||||
.map(({ value }): any => value)
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
"@babel/runtime": "^7.6.2",
|
||||
"@polkadot/react-components": "^0.36.0-beta.51",
|
||||
"@polkadot/react-signer": "^0.36.0-beta.51",
|
||||
"@polkadot/ui-assets": "^0.45.1",
|
||||
"@polkadot/ui-assets": "^0.46.0-beta.0",
|
||||
"query-string": "^6.8.3"
|
||||
}
|
||||
}
|
||||
|
||||
@ -31,7 +31,7 @@
|
||||
"homepage": "https://github.com/polkadot-js/ui/tree/master/packages/ui-reactive#readme",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.6.2",
|
||||
"@polkadot/api": "^0.94.0-beta.1",
|
||||
"@polkadot/api": "^0.94.0-beta.8",
|
||||
"@polkadot/extension-dapp": "^0.12.0-beta.2",
|
||||
"edgeware-node-types": "^1.0.10",
|
||||
"rxjs-compat": "^6.5.3"
|
||||
|
||||
@ -13,10 +13,10 @@
|
||||
"@babel/runtime": "^7.6.2",
|
||||
"@polkadot/keyring": "^1.5.1",
|
||||
"@polkadot/react-api": "^0.36.0-beta.51",
|
||||
"@polkadot/react-identicon": "^0.45.1",
|
||||
"@polkadot/react-identicon": "^0.46.0-beta.0",
|
||||
"@polkadot/react-query": "^0.36.0-beta.51",
|
||||
"@polkadot/ui-keyring": "^0.45.1",
|
||||
"@polkadot/ui-settings": "^0.45.1",
|
||||
"@polkadot/ui-keyring": "^0.46.0-beta.0",
|
||||
"@polkadot/ui-settings": "^0.46.0-beta.0",
|
||||
"@types/chart.js": "^2.8.5",
|
||||
"@types/i18next": "^13.0.0",
|
||||
"@types/react-copy-to-clipboard": "^4.2.6",
|
||||
|
||||
@ -11,7 +11,7 @@ import { Button } from '@polkadot/react-components';
|
||||
import BaseBytes from './BaseBytes';
|
||||
import File from './File';
|
||||
|
||||
export default function Bytes ({ className, defaultValue, isDisabled, isOptional, isError, label, name, onChange, onEnter, style, type, withLabel }: Props): React.ReactElement<Props> {
|
||||
export default function Bytes ({ className, defaultValue, isDisabled, isError, label, name, onChange, onEnter, style, type, withLabel }: Props): React.ReactElement<Props> {
|
||||
const [isFileDrop, setIsFileDrop] = useState(false);
|
||||
|
||||
const _toggleFile = (): void => setIsFileDrop(true);
|
||||
@ -40,7 +40,6 @@ export default function Bytes ({ className, defaultValue, isDisabled, isOptional
|
||||
defaultValue={defaultValue}
|
||||
isDisabled={isDisabled}
|
||||
isError={isError}
|
||||
isOptional={isOptional}
|
||||
label={label}
|
||||
length={-1}
|
||||
name={name}
|
||||
|
||||
@ -9,13 +9,12 @@ import React from 'react';
|
||||
import Bytes from './Bytes';
|
||||
import BytesFile from './File';
|
||||
|
||||
function renderDisabled ({ className, defaultValue, isError, isOptional, label, onEnter, style, type, withLabel }: Props): React.ReactNode {
|
||||
function renderDisabled ({ className, defaultValue, isError, label, onEnter, style, type, withLabel }: Props): React.ReactNode {
|
||||
return (
|
||||
<Bytes
|
||||
className={className}
|
||||
defaultValue={defaultValue}
|
||||
isError={isError}
|
||||
isOptional={isOptional}
|
||||
label={label}
|
||||
onEnter={onEnter}
|
||||
style={style}
|
||||
|
||||
@ -8,14 +8,13 @@ import React from 'react';
|
||||
|
||||
import BaseBytes from './BaseBytes';
|
||||
|
||||
export default function Hash ({ className, defaultValue, isDisabled, isError, isOptional, label, name, onChange, onEnter, style, type, withLabel }: Props): React.ReactElement<Props> {
|
||||
export default function Hash ({ className, defaultValue, isDisabled, isError, label, name, onChange, onEnter, style, type, withLabel }: Props): React.ReactElement<Props> {
|
||||
return (
|
||||
<BaseBytes
|
||||
className={className}
|
||||
defaultValue={defaultValue}
|
||||
isDisabled={isDisabled}
|
||||
isError={isError}
|
||||
isOptional={isOptional}
|
||||
label={label}
|
||||
length={32}
|
||||
name={name}
|
||||
|
||||
@ -8,9 +8,9 @@ import { Props as BaseProps, RawParam } from '../types';
|
||||
import React, { useState } from 'react';
|
||||
import { WithTranslation } from 'react-i18next';
|
||||
import { Vec } from '@polkadot/types';
|
||||
import translate from '@polkadot/react-components/translate';
|
||||
import { assert, isHex, u8aToHex, u8aToString } from '@polkadot/util';
|
||||
|
||||
import translate from '../translate';
|
||||
import Base from './Base';
|
||||
import Bytes from './Bytes';
|
||||
import File from './File';
|
||||
@ -76,7 +76,6 @@ function KeyValueArray ({ className, defaultValue, isDisabled, isError, label, o
|
||||
<Bytes
|
||||
defaultValue={{ value } as unknown as RawParam}
|
||||
isDisabled
|
||||
isOptional={false}
|
||||
key={keyHex}
|
||||
label={keyHex}
|
||||
name={keyHex}
|
||||
|
||||
@ -49,7 +49,6 @@ export default function Code (props: Props): React.ReactNode {
|
||||
className={className}
|
||||
defaultValue={defaultValue}
|
||||
isDisabled={isDisabled}
|
||||
isOptional={false}
|
||||
isError={isError}
|
||||
label={label}
|
||||
onChange={onChange(props)}
|
||||
|
||||
65
packages/react-params/src/Param/Option.tsx
Normal file
65
packages/react-params/src/Param/Option.tsx
Normal file
@ -0,0 +1,65 @@
|
||||
// Copyright 2017-2019 @polkadot/react-components authors & contributors
|
||||
// This software may be modified and distributed under the terms
|
||||
// of the Apache-2.0 license. See the LICENSE file for details.
|
||||
|
||||
import { TypeDef } from '@polkadot/types/types';
|
||||
import { I18nProps } from '@polkadot/react-components/types';
|
||||
import { Props as CProps } from '../types';
|
||||
|
||||
import React, { useEffect, useState } from 'react';
|
||||
import styled from 'styled-components';
|
||||
import { Toggle } from '@polkadot/react-components';
|
||||
|
||||
import translate from '../translate';
|
||||
import Param from './index';
|
||||
|
||||
interface Props extends CProps, I18nProps {}
|
||||
|
||||
function Option ({ className, defaultValue, isDisabled, name, onChange, onEnter, t, type: { sub } }: Props): React.ReactElement<Props> {
|
||||
const [isActive, setIsActive] = useState(true);
|
||||
|
||||
useEffect((): void => {
|
||||
!isActive && onChange && onChange({
|
||||
isValid: true,
|
||||
value: null
|
||||
});
|
||||
}, [isActive]);
|
||||
|
||||
return (
|
||||
<div className={className}>
|
||||
<Param
|
||||
defaultValue={defaultValue}
|
||||
isDisabled={isDisabled || !isActive}
|
||||
isOptional={!isActive}
|
||||
name={name}
|
||||
onChange={onChange}
|
||||
onEnter={onEnter}
|
||||
type={sub as TypeDef}
|
||||
/>
|
||||
{!isDisabled && (
|
||||
<Toggle
|
||||
className='ui--Param-Option-toggle'
|
||||
label={
|
||||
isActive
|
||||
? t('include option')
|
||||
: t('exclude option')
|
||||
}
|
||||
onChange={setIsActive}
|
||||
value={isActive}
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export default translate(
|
||||
styled(Option)`
|
||||
position: relative;
|
||||
|
||||
.ui--Param-Option-toggle {
|
||||
position: absolute;
|
||||
right: 3.5rem;
|
||||
top: 0.5rem;
|
||||
}
|
||||
`
|
||||
);
|
||||
@ -7,8 +7,8 @@ import { Props as BareProps, RawParam } from '../types';
|
||||
|
||||
import React from 'react';
|
||||
import { Static } from '@polkadot/react-components';
|
||||
import translate from '@polkadot/react-components/translate';
|
||||
|
||||
import translate from '../translate';
|
||||
import Bare from './Bare';
|
||||
|
||||
interface Props extends BareProps, WithTranslation {
|
||||
@ -28,7 +28,7 @@ function StaticParam ({ asHex, className, defaultValue, label, style, t }: Props
|
||||
<Static
|
||||
className='full'
|
||||
label={label}
|
||||
value={value || t('empty')}
|
||||
value={value || t('<empty>')}
|
||||
/>
|
||||
</Bare>
|
||||
);
|
||||
|
||||
@ -66,7 +66,6 @@ export default class Tuple extends React.PureComponent<Props, State> {
|
||||
<Component
|
||||
defaultValue={values[index] || {}}
|
||||
isDisabled={isDisabled}
|
||||
isOptional={false}
|
||||
key={index}
|
||||
label={sub[index]}
|
||||
onChange={this.onChange(index)}
|
||||
|
||||
@ -15,7 +15,7 @@ interface Props extends BareProps {
|
||||
}
|
||||
|
||||
export default function Unknown (props: Props): React.ReactElement<Props> {
|
||||
const { className, defaultValue, isDisabled, isError, isOptional, label, name, onChange, onEnter, style, type } = props;
|
||||
const { className, defaultValue, isDisabled, isError, label, name, onChange, onEnter, style, type } = props;
|
||||
|
||||
if (isDisabled) {
|
||||
return <Static {...props} />;
|
||||
@ -28,7 +28,6 @@ export default function Unknown (props: Props): React.ReactElement<Props> {
|
||||
defaultValue={defaultValue}
|
||||
isDisabled={isDisabled}
|
||||
isError={isError}
|
||||
isOptional={isOptional}
|
||||
label={label}
|
||||
length={-1}
|
||||
name={name}
|
||||
|
||||
@ -8,9 +8,9 @@ import { Props as BareProps, RawParam } from '../types';
|
||||
|
||||
import React, { useEffect, useState } from 'react';
|
||||
import { Button } from '@polkadot/react-components';
|
||||
import translate from '@polkadot/react-components/translate';
|
||||
import { isUndefined } from '@polkadot/util';
|
||||
|
||||
import translate from '../translate';
|
||||
import getInitValue from '../initValue';
|
||||
import Base from './Base';
|
||||
import findComponent from './findComponent';
|
||||
@ -86,7 +86,6 @@ function Vector ({ className, defaultValue, isDisabled = false, label, onChange,
|
||||
<Component
|
||||
defaultValue={value}
|
||||
isDisabled={isDisabled}
|
||||
isOptional={false}
|
||||
key={index}
|
||||
label={`${index}: ${subType.type}`}
|
||||
onChange={
|
||||
|
||||
@ -22,6 +22,7 @@ import Proposal from './Proposal';
|
||||
import KeyValue from './KeyValue';
|
||||
import KeyValueArray from './KeyValueArray';
|
||||
import Null from './Null';
|
||||
import Option from './Option';
|
||||
import Struct from './Struct';
|
||||
import Text from './Text';
|
||||
import Tuple from './Tuple';
|
||||
@ -49,6 +50,7 @@ const components: ComponentMap = ([
|
||||
{ c: KeyValueArray, t: ['Vec<KeyValue>'] },
|
||||
{ c: Moment, t: ['Moment', 'MomentOf'] },
|
||||
{ c: Null, t: ['Null'] },
|
||||
{ c: Option, t: ['Option'] },
|
||||
{ c: Proposal, t: ['Proposal'] },
|
||||
{ c: Text, t: ['String', 'Text'] },
|
||||
{ c: Struct, t: ['Struct'] },
|
||||
@ -71,9 +73,11 @@ export default function findComponent (def: TypeDef, overrides: ComponentMap = {
|
||||
const type = (({ info, sub, type }: TypeDef): string => {
|
||||
switch (info) {
|
||||
case TypeDefInfo.Compact:
|
||||
case TypeDefInfo.Option:
|
||||
return (sub as TypeDef).type;
|
||||
|
||||
case TypeDefInfo.Option:
|
||||
return 'Option';
|
||||
|
||||
case TypeDefInfo.Enum:
|
||||
return 'Enum';
|
||||
|
||||
|
||||
@ -7,13 +7,15 @@ import { BaseProps, Props as CProps, ComponentMap } from '../types';
|
||||
|
||||
import React, { useRef } from 'react';
|
||||
import { classes } from '@polkadot/react-components/util';
|
||||
import translate from '@polkadot/react-components/translate';
|
||||
import { isUndefined } from '@polkadot/util';
|
||||
|
||||
import translate from '../translate';
|
||||
import findComponent from './findComponent';
|
||||
import Static from './Static';
|
||||
|
||||
interface Props extends I18nProps, BaseProps {
|
||||
isDisabled?: boolean;
|
||||
isOptional?: boolean;
|
||||
overrides?: ComponentMap;
|
||||
}
|
||||
|
||||
@ -24,25 +26,32 @@ function Param ({ className, defaultValue, isDisabled, isOptional, name, onChang
|
||||
return null;
|
||||
}
|
||||
|
||||
return (
|
||||
<compRef.current
|
||||
className={classes('ui--Param', className)}
|
||||
defaultValue={defaultValue}
|
||||
key={`${name}:${type}`}
|
||||
isDisabled={isDisabled}
|
||||
isOptional={isOptional}
|
||||
label={
|
||||
isUndefined(name)
|
||||
? type.type
|
||||
: `${name}: ${type.type}`
|
||||
}
|
||||
name={name}
|
||||
onChange={onChange}
|
||||
onEnter={onEnter}
|
||||
style={style}
|
||||
type={type}
|
||||
/>
|
||||
);
|
||||
const label = isUndefined(name)
|
||||
? type.type
|
||||
: `${name}: ${type.type}`;
|
||||
|
||||
return isOptional
|
||||
? (
|
||||
<Static
|
||||
defaultValue={defaultValue}
|
||||
label={label}
|
||||
type={type}
|
||||
/>
|
||||
)
|
||||
: (
|
||||
<compRef.current
|
||||
className={classes('ui--Param', className)}
|
||||
defaultValue={defaultValue}
|
||||
key={`${name}:${type}`}
|
||||
isDisabled={isDisabled}
|
||||
label={label}
|
||||
name={name}
|
||||
onChange={onChange}
|
||||
onEnter={onEnter}
|
||||
style={style}
|
||||
type={type}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
export default translate(Param);
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
.ui--Params {
|
||||
border-left: 0.25rem solid #f2f2f2;
|
||||
|
||||
.ui--Param label {
|
||||
.ui--Param .ui--Labelled label {
|
||||
text-transform: none !important;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
@ -9,11 +9,10 @@ import './Params.css';
|
||||
|
||||
import React from 'react';
|
||||
import styled from 'styled-components';
|
||||
import { Toggle } from '@polkadot/react-components';
|
||||
import { classes } from '@polkadot/react-components/util';
|
||||
import translate from '@polkadot/react-components/translate';
|
||||
|
||||
import Param from './Param';
|
||||
import translate from './translate';
|
||||
import { createValue } from './values';
|
||||
|
||||
interface Props extends I18nProps {
|
||||
@ -27,16 +26,11 @@ interface Props extends I18nProps {
|
||||
|
||||
interface State {
|
||||
handlersChange?: RawParamOnChange[];
|
||||
handlersOption?: ((value: boolean) => void)[];
|
||||
onChangeOption: (at: number, value: boolean) => void;
|
||||
onChangeParam: (at: number, next: RawParamOnChangeValue) => void;
|
||||
optional?: boolean[];
|
||||
params?: ParamDef[];
|
||||
values?: RawParams;
|
||||
}
|
||||
|
||||
const DISABLED_OPTIONAL = { isValid: true, value: undefined };
|
||||
|
||||
class Params extends React.PureComponent<Props, State> {
|
||||
public state: State;
|
||||
|
||||
@ -44,7 +38,6 @@ class Params extends React.PureComponent<Props, State> {
|
||||
super(props);
|
||||
|
||||
this.state = {
|
||||
onChangeOption: this.onChangeOption,
|
||||
onChangeParam: this.onChangeParam
|
||||
};
|
||||
}
|
||||
@ -72,18 +65,8 @@ class Params extends React.PureComponent<Props, State> {
|
||||
prevState.onChangeParam(index, value)
|
||||
);
|
||||
|
||||
const optional = params.map(({ isOptional }): boolean => !isOptional);
|
||||
|
||||
const handlersOption = params.map(
|
||||
(_, index): (value: boolean) => void =>
|
||||
(value: boolean): void =>
|
||||
prevState.onChangeOption(index, value)
|
||||
);
|
||||
|
||||
return {
|
||||
handlersChange,
|
||||
handlersOption,
|
||||
optional,
|
||||
params,
|
||||
values: newValues
|
||||
};
|
||||
@ -107,7 +90,7 @@ class Params extends React.PureComponent<Props, State> {
|
||||
|
||||
public render (): React.ReactNode {
|
||||
const { className, isDisabled, onEnter, overrides, params, style } = this.props;
|
||||
const { handlersChange = [], handlersOption = [], optional = [], values = this.props.values } = this.state;
|
||||
const { handlersChange = [], values = this.props.values } = this.state;
|
||||
|
||||
if (!params || params.length === 0) {
|
||||
return null;
|
||||
@ -119,12 +102,11 @@ class Params extends React.PureComponent<Props, State> {
|
||||
style={style}
|
||||
>
|
||||
<div className='ui--Params-Content'>
|
||||
{params.map(({ isOptional = false, name, type }: ParamDef, index: number): React.ReactNode => {
|
||||
{params.map(({ name, type }: ParamDef, index: number): React.ReactNode => {
|
||||
if (!values || values.length === 0) {
|
||||
return null;
|
||||
}
|
||||
|
||||
const isDisabledOptional = isOptional && !optional[index];
|
||||
const key = `${name}:${type}:${index}`;
|
||||
|
||||
return (
|
||||
@ -133,13 +115,8 @@ class Params extends React.PureComponent<Props, State> {
|
||||
key={key}
|
||||
>
|
||||
<Param
|
||||
defaultValue={
|
||||
isDisabledOptional
|
||||
? DISABLED_OPTIONAL
|
||||
: values[index]
|
||||
}
|
||||
isDisabled={isDisabled || isDisabledOptional}
|
||||
isOptional={isOptional}
|
||||
defaultValue={values[index]}
|
||||
isDisabled={isDisabled}
|
||||
key={`input:${key}`}
|
||||
name={name}
|
||||
onChange={handlersChange[index]}
|
||||
@ -147,18 +124,6 @@ class Params extends React.PureComponent<Props, State> {
|
||||
overrides={overrides}
|
||||
type={type}
|
||||
/>
|
||||
{isOptional && (
|
||||
<Toggle
|
||||
className='ui--Param-overlay'
|
||||
key={`option:${key}`}
|
||||
label={
|
||||
optional[index]
|
||||
? 'include option'
|
||||
: 'exclude option'
|
||||
}
|
||||
onChange={handlersOption[index]}
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
);
|
||||
})}
|
||||
@ -168,33 +133,14 @@ class Params extends React.PureComponent<Props, State> {
|
||||
}
|
||||
|
||||
private extractValues (): RawParam[] {
|
||||
const { optional, values } = this.state;
|
||||
const { values } = this.state;
|
||||
const { isDisabled } = this.props;
|
||||
|
||||
if (isDisabled || !optional || !values) {
|
||||
if (isDisabled || !values) {
|
||||
return [];
|
||||
}
|
||||
|
||||
return values
|
||||
.map((value, index): RawParam | null =>
|
||||
optional[index]
|
||||
? value
|
||||
: null
|
||||
)
|
||||
.filter((value): boolean => !!value) as RawParam[];
|
||||
}
|
||||
|
||||
private onChangeOption = (at: number, value: boolean): void => {
|
||||
this.setState(
|
||||
(prevState: State): Pick<State, never> => ({
|
||||
optional: (prevState.optional || []).map((prev, index): boolean =>
|
||||
index !== at
|
||||
? prev
|
||||
: value
|
||||
)
|
||||
}),
|
||||
this.triggerUpdate
|
||||
);
|
||||
return values;
|
||||
}
|
||||
|
||||
private onChangeParam = (at: number, newValue: RawParamOnChangeValue): void => {
|
||||
@ -219,10 +165,10 @@ class Params extends React.PureComponent<Props, State> {
|
||||
}
|
||||
|
||||
private triggerUpdate = (): void => {
|
||||
const { optional, values } = this.state;
|
||||
const { values } = this.state;
|
||||
const { onChange, isDisabled } = this.props;
|
||||
|
||||
if (isDisabled || !optional || !values) {
|
||||
if (isDisabled || !values) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
7
packages/react-params/src/translate.ts
Normal file
7
packages/react-params/src/translate.ts
Normal file
@ -0,0 +1,7 @@
|
||||
// Copyright 2017-2019 @polkadot/react-components authors & contributors
|
||||
// This software may be modified and distributed under the terms
|
||||
// of the Apache-2.0 license. See the LICENSE file for details.
|
||||
|
||||
import { withTranslation } from 'react-i18next';
|
||||
|
||||
export default withTranslation(['ui-params']);
|
||||
@ -29,7 +29,6 @@ export type RawParams = RawParam[];
|
||||
|
||||
export interface BaseProps extends BareProps {
|
||||
defaultValue: RawParam;
|
||||
isOptional: boolean;
|
||||
name?: string;
|
||||
onChange?: RawParamOnChange;
|
||||
onEnter?: RawParamOnEnter;
|
||||
@ -49,7 +48,6 @@ export type Size = 'full' | 'large' | 'medium' | 'small';
|
||||
export type ComponentMap = Record<string, React.ComponentType<Props>>;
|
||||
|
||||
export interface ParamDef {
|
||||
isOptional?: boolean;
|
||||
name?: string;
|
||||
type: TypeDef;
|
||||
}
|
||||
|
||||
@ -12,6 +12,6 @@
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.6.2",
|
||||
"@polkadot/react-components": "^0.36.0-beta.51",
|
||||
"@polkadot/react-qr": "^0.45.1"
|
||||
"@polkadot/react-qr": "^0.46.0-beta.0"
|
||||
}
|
||||
}
|
||||
|
||||
142
yarn.lock
142
yarn.lock
@ -2006,45 +2006,45 @@
|
||||
once "^1.4.0"
|
||||
universal-user-agent "^4.0.0"
|
||||
|
||||
"@polkadot/api-contract@^0.94.0-beta.1":
|
||||
version "0.94.0-beta.1"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/api-contract/-/api-contract-0.94.0-beta.1.tgz#ef6876a16336967f12d5c98a5f9b8f572a1653f1"
|
||||
integrity sha512-OtXejC1gZWCywDxJhZeO6Bdj7EeUAnQfGKRLIEMTlToP100eHp87TMTt6Dky2iG+I3OB6Yc9D3Mgc9RaIMHonw==
|
||||
"@polkadot/api-contract@^0.94.0-beta.8":
|
||||
version "0.94.0-beta.8"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/api-contract/-/api-contract-0.94.0-beta.8.tgz#0429ff9e02cbe0cb3e33b30c58458b31f8d0b2a9"
|
||||
integrity sha512-4N9KS30ivcEpxcUcKwRuBfhES1Oaao9nYb615cloI7HUcsswKy3VDoQI5gWbc+aIho5s5M1n2zoSosOUNZew8A==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.6.2"
|
||||
"@polkadot/types" "^0.94.0-beta.1"
|
||||
"@polkadot/types" "^0.94.0-beta.8"
|
||||
|
||||
"@polkadot/api-derive@^0.94.0-beta.1":
|
||||
version "0.94.0-beta.1"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/api-derive/-/api-derive-0.94.0-beta.1.tgz#0dc866bf8caea3d592adbc61a46cebc6cc11117e"
|
||||
integrity sha512-Q0vOa+fufKx3XztMuY/MnW3UAsxKcjGT1w5N2lr/1F+AcV+o+h1Mc4p506UrqmEplebaTJibDShHFLN5GX7uOA==
|
||||
"@polkadot/api-derive@^0.94.0-beta.8":
|
||||
version "0.94.0-beta.8"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/api-derive/-/api-derive-0.94.0-beta.8.tgz#363e46fe68abdeb73d9e7b43a4752e53ef26d1c5"
|
||||
integrity sha512-SrAL//PKcJgQjfyTjDBFobbBA9xMqK3Z92YFM4do96vv1XmG7Bj030+At4N6fMnJPJ9slaAm/NV2pFJYEH0UmA==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.6.2"
|
||||
"@polkadot/api" "^0.94.0-beta.1"
|
||||
"@polkadot/types" "^0.94.0-beta.1"
|
||||
"@polkadot/api" "^0.94.0-beta.8"
|
||||
"@polkadot/types" "^0.94.0-beta.8"
|
||||
|
||||
"@polkadot/api-metadata@^0.94.0-beta.1":
|
||||
version "0.94.0-beta.1"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/api-metadata/-/api-metadata-0.94.0-beta.1.tgz#5f43d261506132ca97d80472462613dd4b2e72fa"
|
||||
integrity sha512-wEz5pMoSASjNjkBvuZjbgMYl5yXTxvRAvbL/krljc/9hQIlFQOEaECUyNBisVvpfGKteXPt/Xv+n55NO2NSnCA==
|
||||
"@polkadot/api-metadata@^0.94.0-beta.8":
|
||||
version "0.94.0-beta.8"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/api-metadata/-/api-metadata-0.94.0-beta.8.tgz#23fc442c080beff270641c9269ac7b2447081ad3"
|
||||
integrity sha512-shLLZuI/IWBfh6au55UB+akTh/7GyHsP3nzyuFSJlFLnnBCpyqfc9AEJRUckD3nPcqNuBcU0C27jSesivqkBKQ==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.6.2"
|
||||
"@polkadot/types" "^0.94.0-beta.1"
|
||||
"@polkadot/types" "^0.94.0-beta.8"
|
||||
"@polkadot/util" "^1.5.1"
|
||||
"@polkadot/util-crypto" "^1.5.1"
|
||||
|
||||
"@polkadot/api@^0.94.0-beta.1":
|
||||
version "0.94.0-beta.1"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/api/-/api-0.94.0-beta.1.tgz#68a74658b755f3298c6bd55b5a790e929c0e6cce"
|
||||
integrity sha512-elFNKgT2Bwu6TPFfi5FoQ8cIRXKHHFvLd4DiU2OSTtQOiqC15lMulifmdV4+M3xTOe/cEQn36gb+OotXZLYOpw==
|
||||
"@polkadot/api@^0.94.0-beta.8":
|
||||
version "0.94.0-beta.8"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/api/-/api-0.94.0-beta.8.tgz#dd690b5b0745d2cc131af751c770094cf6703985"
|
||||
integrity sha512-OdgQfOkP7M9o137M61S4RNgS2vOyG7WKEfspjqexlINqYpfNq/7cayUAU3WwWOC8LwJjt+koIA8iAm4nZ3V6Ng==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.6.2"
|
||||
"@polkadot/api-derive" "^0.94.0-beta.1"
|
||||
"@polkadot/api-metadata" "^0.94.0-beta.1"
|
||||
"@polkadot/api-derive" "^0.94.0-beta.8"
|
||||
"@polkadot/api-metadata" "^0.94.0-beta.8"
|
||||
"@polkadot/keyring" "^1.5.1"
|
||||
"@polkadot/rpc-core" "^0.94.0-beta.1"
|
||||
"@polkadot/rpc-provider" "^0.94.0-beta.1"
|
||||
"@polkadot/types" "^0.94.0-beta.1"
|
||||
"@polkadot/rpc-core" "^0.94.0-beta.8"
|
||||
"@polkadot/rpc-provider" "^0.94.0-beta.8"
|
||||
"@polkadot/types" "^0.94.0-beta.8"
|
||||
"@polkadot/util-crypto" "^1.5.1"
|
||||
|
||||
"@polkadot/dev-react@^0.31.1":
|
||||
@ -2143,10 +2143,10 @@
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.6.2"
|
||||
|
||||
"@polkadot/jsonrpc@^0.94.0-beta.1":
|
||||
version "0.94.0-beta.1"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/jsonrpc/-/jsonrpc-0.94.0-beta.1.tgz#053925013b30821ecb30685b04ea439230faabcc"
|
||||
integrity sha512-dZlj4n++uNGxdHG2w1vJxF8d5PATqSUzLfF0diRQ5IgTE5EyZ24k63JvUYGH0Df9LFqF01WWm5pVJG01ccU4rg==
|
||||
"@polkadot/jsonrpc@^0.94.0-beta.8":
|
||||
version "0.94.0-beta.8"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/jsonrpc/-/jsonrpc-0.94.0-beta.8.tgz#e02c4e694b5fcd6f5c0adfda9b5e47c1d3a71466"
|
||||
integrity sha512-csDQCirPRsmijmAILzKpTuecbR6OdRY2yH1yzRt1q34K8WrbtBdwpbOq8UXa5OsDM/2o+ptqfuxpr1v7NlIwgw==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.6.2"
|
||||
|
||||
@ -2159,14 +2159,14 @@
|
||||
"@polkadot/util" "^1.5.1"
|
||||
"@polkadot/util-crypto" "^1.5.1"
|
||||
|
||||
"@polkadot/react-identicon@^0.45.1":
|
||||
version "0.45.1"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/react-identicon/-/react-identicon-0.45.1.tgz#3bca5d3dcc5109a4bb5cb7347b2ee898b737fc6c"
|
||||
integrity sha512-8qz4s15cTGS1i/GlYE4DoecrOHu3/BoOK8MnQF/2ZKY28k7Ha5BtSdR/eJi9mGhMrnVZyiUzykhm9ut73flB+w==
|
||||
"@polkadot/react-identicon@^0.46.0-beta.0":
|
||||
version "0.46.0-beta.0"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/react-identicon/-/react-identicon-0.46.0-beta.0.tgz#76f041d7b2e7bf8ce2a701f505a41907c15daa5b"
|
||||
integrity sha512-mX8HX2iU1Rv+w4/RhlmnTZPtXVdhNf5HAqpaZN4EDJU4Ru9kNtgaUwLJ/59AGWC5xfvczDrG0xHINqp5qin0dw==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.6.2"
|
||||
"@polkadot/ui-settings" "^0.45.1"
|
||||
"@polkadot/ui-shared" "^0.45.1"
|
||||
"@polkadot/ui-settings" "^0.46.0-beta.0"
|
||||
"@polkadot/ui-shared" "^0.46.0-beta.0"
|
||||
"@types/color" "^3.0.0"
|
||||
"@types/react-copy-to-clipboard" "^4.2.6"
|
||||
color "^3.1.2"
|
||||
@ -2174,35 +2174,35 @@
|
||||
react-copy-to-clipboard "^5.0.1"
|
||||
styled-components "^4.4.0"
|
||||
|
||||
"@polkadot/react-qr@^0.45.1":
|
||||
version "0.45.1"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/react-qr/-/react-qr-0.45.1.tgz#31f704f48755659fbeb35380a6155568cc55cc88"
|
||||
integrity sha512-C2ZvdnHZVSUm78/YcvgI7cb7IweLKT5/Kl9tV6HQULKO4Pag3dVYeViTabYCcEgSqYIdFnPBfhbkvZgP3GUUeg==
|
||||
"@polkadot/react-qr@^0.46.0-beta.0":
|
||||
version "0.46.0-beta.0"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/react-qr/-/react-qr-0.46.0-beta.0.tgz#e8358bfdd0cdfd598f9286f3732d9d1f4a45566e"
|
||||
integrity sha512-NacVC6I/MERhCSduXcKMe4PLRcHdWuzCx8kw+936KLBvbcaLLhZpKiowAaVu8YdmB2mdyZ41+cxX9+DVLfDFtQ==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.6.2"
|
||||
"@types/react-qr-reader" "^2.1.1"
|
||||
qrcode-generator "^1.4.4"
|
||||
react-qr-reader "^2.2.1"
|
||||
|
||||
"@polkadot/rpc-core@^0.94.0-beta.1":
|
||||
version "0.94.0-beta.1"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/rpc-core/-/rpc-core-0.94.0-beta.1.tgz#4eb55243ef18b6f62225d042e337fe0be36b658e"
|
||||
integrity sha512-J8mZ07xgYmVXwefcSjAHziNgIi1jvn613x+rLoCvUGmIf1kgkB2TAVs+smgRlpCkDfdDM2EQWO1V/i2t1r8GDA==
|
||||
"@polkadot/rpc-core@^0.94.0-beta.8":
|
||||
version "0.94.0-beta.8"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/rpc-core/-/rpc-core-0.94.0-beta.8.tgz#e795abd14d0c1802d261788692b2eccfbb59eb19"
|
||||
integrity sha512-1uU+tCQlzdRtRAKW+PtpeXlr4LJqi0/XJJ7s8Wo0L4KZA7fhY7bjuWgFXszyIn/Odt4FA4xQVmWjZCejIdBiJg==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.6.2"
|
||||
"@polkadot/jsonrpc" "^0.94.0-beta.1"
|
||||
"@polkadot/rpc-provider" "^0.94.0-beta.1"
|
||||
"@polkadot/types" "^0.94.0-beta.1"
|
||||
"@polkadot/jsonrpc" "^0.94.0-beta.8"
|
||||
"@polkadot/rpc-provider" "^0.94.0-beta.8"
|
||||
"@polkadot/types" "^0.94.0-beta.8"
|
||||
"@polkadot/util" "^1.5.1"
|
||||
rxjs "^6.5.3"
|
||||
|
||||
"@polkadot/rpc-provider@^0.94.0-beta.1":
|
||||
version "0.94.0-beta.1"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/rpc-provider/-/rpc-provider-0.94.0-beta.1.tgz#151bde79c691a600c6b91321ff9a18d9023de541"
|
||||
integrity sha512-N0RroG1OTigZYYCaIl2h2lnSl23fj0Zh6pvpPPN+wvMyK1/PHwonhe/zvlrWYveE6pq5T5JMDd7eclkpL4NDGg==
|
||||
"@polkadot/rpc-provider@^0.94.0-beta.8":
|
||||
version "0.94.0-beta.8"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/rpc-provider/-/rpc-provider-0.94.0-beta.8.tgz#4313ebea0e913efeb4080fd556b18d378d7b07de"
|
||||
integrity sha512-mq6QH8p2Ukff19fmyySCO8j9SrVFsE+GosQCbcKLd2KpquuUXHPp1U9e1lE+Zg0QQHKFijoA2MlZDOhnGfWYLg==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.6.2"
|
||||
"@polkadot/api-metadata" "^0.94.0-beta.1"
|
||||
"@polkadot/api-metadata" "^0.94.0-beta.8"
|
||||
"@polkadot/util" "^1.5.1"
|
||||
"@polkadot/util-crypto" "^1.5.1"
|
||||
"@types/nock" "^11.1.0"
|
||||
@ -2217,10 +2217,10 @@
|
||||
dependencies:
|
||||
"@types/chrome" "^0.0.89"
|
||||
|
||||
"@polkadot/types@^0.94.0-beta.1":
|
||||
version "0.94.0-beta.1"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/types/-/types-0.94.0-beta.1.tgz#fdf185effd75602edce4d3299408a809d146012f"
|
||||
integrity sha512-+6qVFsAqUDyR+Uh44SWh998jMZywZpmZyX5Z1K4CLdW5CZ3AgLgXP4hKzcC3WfybJvSE7g6cq6WAJUb5vbCFgQ==
|
||||
"@polkadot/types@^0.94.0-beta.8":
|
||||
version "0.94.0-beta.8"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/types/-/types-0.94.0-beta.8.tgz#c17b1a69d3c66c15b81e589ad6aca2fd9a1cb997"
|
||||
integrity sha512-7XNdn7KemITpn4U4sxlBMF4NS9GuMfXGb0CsruaanNRqRElCFzo8j66Kxy9naWbr433LADREdu2Kh6mYIq9PjQ==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.6.2"
|
||||
"@polkadot/util" "^1.5.1"
|
||||
@ -2228,17 +2228,17 @@
|
||||
"@types/memoizee" "^0.4.3"
|
||||
memoizee "^0.4.14"
|
||||
|
||||
"@polkadot/ui-assets@^0.45.1":
|
||||
version "0.45.1"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/ui-assets/-/ui-assets-0.45.1.tgz#d6e23ede41096a62af639e7bac2cd87af0008ea0"
|
||||
integrity sha512-xuR7Mj3d5ElqjWA+XZjH2kNWuIqjEOd8mAPYEJM6um5wdK9csjpEzj7YRZMfxid7h2LHY+f5z1Z1T6eGt+SUgA==
|
||||
"@polkadot/ui-assets@^0.46.0-beta.0":
|
||||
version "0.46.0-beta.0"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/ui-assets/-/ui-assets-0.46.0-beta.0.tgz#2ac11e99df009508c6d36a8ca7afdde4c7e935b0"
|
||||
integrity sha512-yaJIrHW39tKad2oQd9m1DVBOytYfhl+IXHE/HDsi0W8s3pTFsGVZKcXWv+XRWpyHn2JvJglEVpE2e5uvNzhafg==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.6.2"
|
||||
|
||||
"@polkadot/ui-keyring@^0.45.1":
|
||||
version "0.45.1"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/ui-keyring/-/ui-keyring-0.45.1.tgz#0d0e1db99fad750c2854dac6ed0f917fc8b60f3a"
|
||||
integrity sha512-B7nc5L990em2iB9nNLfex0nlTbxAqKjzO0dRgSGQpWsumkmYecfeQ2YV/ni5GhBNT3NznB7KlDwRKGUCRyUflA==
|
||||
"@polkadot/ui-keyring@^0.46.0-beta.0":
|
||||
version "0.46.0-beta.0"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/ui-keyring/-/ui-keyring-0.46.0-beta.0.tgz#c9cc74426a83fd75292c5a6897e0fef13ec15a97"
|
||||
integrity sha512-cPXsak3bkmoazxMcPWzg7auXiQlJ0nwBztuD/tDYQPTZxziXABItXJKPo27SiZaaKSkD9Ug6eqFfaIseNgRGog==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.6.2"
|
||||
"@ledgerhq/hw-transport-u2f" "^4.70.0"
|
||||
@ -2254,19 +2254,19 @@
|
||||
optionalDependencies:
|
||||
"@ledgerhq/hw-transport-node-hid" "^4.70.0"
|
||||
|
||||
"@polkadot/ui-settings@^0.45.1":
|
||||
version "0.45.1"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/ui-settings/-/ui-settings-0.45.1.tgz#1d4b38c82c78aaf093372af40600d783bfb9dae9"
|
||||
integrity sha512-a50fjB5eq6AEaeL29x7ibpSzO20nWltNrph3fgf+2dv34ucaTsSBJIi1fgmD1JYy2tFI8bPZurXCrTOcyPfnVQ==
|
||||
"@polkadot/ui-settings@^0.46.0-beta.0":
|
||||
version "0.46.0-beta.0"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/ui-settings/-/ui-settings-0.46.0-beta.0.tgz#1dc3aeed14092de221256fba414c9d8249c6750c"
|
||||
integrity sha512-+rK8pPiyAvXGvS1UTiWsfPiIIex2Hp5BDRfcm/8jysW7FBBdhrSYgCZKPOxce8l+Fff52jQ11x7HzDkQGqh10Q==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.6.2"
|
||||
"@types/store" "^2.0.2"
|
||||
store "^2.0.12"
|
||||
|
||||
"@polkadot/ui-shared@^0.45.1":
|
||||
version "0.45.1"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/ui-shared/-/ui-shared-0.45.1.tgz#bfee1d85070948c86d34774cc3e365b2dfc54b87"
|
||||
integrity sha512-/5z5o+GkEbwrzSDWhh1XdJpAgNmanrssFEnOw5obp42qfbNp12M64N0VEjyT76qxoXa9OcimmnNkmBG+Zqpw8Q==
|
||||
"@polkadot/ui-shared@^0.46.0-beta.0":
|
||||
version "0.46.0-beta.0"
|
||||
resolved "https://registry.yarnpkg.com/@polkadot/ui-shared/-/ui-shared-0.46.0-beta.0.tgz#2c2900f697b037eaef6ac157543f1dc8f19a16f5"
|
||||
integrity sha512-IafyzwcwUGPNsoorg/UWvmwth7WXB3sC2keIThQlctL+6pTj5IYoZqbeaUWlYhCqLhNK+DBRszTc18ZSS+khOA==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.6.2"
|
||||
"@types/color" "^3.0.0"
|
||||
|
||||
Loading…
Reference in New Issue
Block a user