PropTypes

This commit is contained in:
Vladislav Makhov 2020-09-08 15:54:20 +03:00
parent 0b9ed12c85
commit 66a0d9f60d
4 changed files with 203 additions and 180 deletions

View File

@ -1,4 +1,5 @@
import React from "react";
import PropTypes from "prop-types";
import { Box, Text } from "asc-web-components";
import ConsumerToggle from "./consumerToggle";
@ -29,7 +30,6 @@ class ConsumerItem extends React.Component {
</Box>
<Box onClick={setConsumer} data-consumer={consumer.name}>
<ConsumerToggle
consumers={consumers}
consumer={consumer}
onModalOpen={onModalOpen}
sendConsumerNewProps={sendConsumerNewProps}
@ -46,3 +46,11 @@ class ConsumerItem extends React.Component {
}
export default ConsumerItem;
ConsumerItem.propTypes = {
consumer: PropTypes.object.isRequired,
consumers: PropTypes.array.isRequired,
onModalOpen: PropTypes.func.isRequired,
setConsumer: PropTypes.func.isRequired,
sendConsumerNewProps: PropTypes.func.isRequired
}

View File

@ -1,4 +1,5 @@
import React from "react";
import PropTypes from "prop-types";
import {
ModalDialog,
Text,
@ -179,3 +180,15 @@ class ConsumerModalDialog extends React.Component {
}
export default ConsumerModalDialog;
ConsumerModalDialog.propTypes = {
t: PropTypes.func.isRequired,
i18n: PropTypes.object.isRequired,
consumers: PropTypes.array.isRequired,
selectedConsumer: PropTypes.string,
onModalClose: PropTypes.func.isRequired,
dialogVisible: PropTypes.bool.isRequired,
isLoading: PropTypes.bool.isRequired,
onChangeLoading: PropTypes.func.isRequired,
sendConsumerNewProps: PropTypes.func.isRequired
}

View File

@ -1,4 +1,5 @@
import React from "react";
import PropTypes from "prop-types";
import { ToggleButton, toastr } from "asc-web-components";
import styled from "styled-components";
@ -72,3 +73,9 @@ class ConsumerToggle extends React.Component {
}
export default ConsumerToggle;
ConsumerToggle.propTypes = {
consumer: PropTypes.object.isRequired,
onModalOpen: PropTypes.func.isRequired,
sendConsumerNewProps: PropTypes.func.isRequired
}

View File

@ -1,4 +1,5 @@
import React from "react";
import PropTypes from "prop-types";
import { connect } from "react-redux";
import {
getConsumers,
@ -84,17 +85,6 @@ class ThirdPartyServices extends React.Component {
});
};
onModalButtonClick = () => {
//TODO: api -> set tokens,
//this.onModalClose();
//this.setState({ toggleActive: true });
console.log(this.state.selectedConsumer);
};
// onToggleClick = () => {
// this.onModalOpen();
// }
setConsumer = (e) => {
this.setState({
selectedConsumer: e.currentTarget.dataset.consumer,
@ -102,14 +92,13 @@ class ThirdPartyServices extends React.Component {
};
render() {
const { t, consumers, sendConsumerNewProps } = this.props;
const { t, i18n, consumers, sendConsumerNewProps } = this.props;
const { selectedConsumer, dialogVisible, isLoading } = this.state;
const {
onModalClose,
onModalOpen,
onToggleClick,
setConsumer,
onModalButtonClick,
onChangeLoading,
} = this;
@ -169,13 +158,12 @@ class ThirdPartyServices extends React.Component {
{dialogVisible && (
<ConsumerModalDialog
t={t}
i18n={this.props.i18n}
i18n={i18n}
dialogVisible={dialogVisible}
consumers={consumers}
selectedConsumer={selectedConsumer}
isLoading={isLoading}
onModalClose={onModalClose}
onModalButtonClick={onModalButtonClick}
onChangeLoading={onChangeLoading}
sendConsumerNewProps={sendConsumerNewProps}
/>
@ -185,6 +173,13 @@ class ThirdPartyServices extends React.Component {
}
}
ThirdPartyServices.propTypes = {
t: PropTypes.func.isRequired,
i18n: PropTypes.object.isRequired,
consumers: PropTypes.array.isRequired,
sendConsumerNewProps: PropTypes.func.isRequired,
}
const mapStateToProps = (state) => {
const { consumers } = state.settings.integration;
return { consumers };