You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
1.8 KiB
TypeScript
57 lines
1.8 KiB
TypeScript
// Copyright (C) 2020-2021 Intel Corporation
|
|
//
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
import './styles.scss';
|
|
import React, { useState } from 'react';
|
|
import { Row, Col } from 'antd/lib/grid';
|
|
import Text from 'antd/lib/typography/Text';
|
|
|
|
import { connect } from 'react-redux';
|
|
import CreateProjectContent from './create-project-content';
|
|
import { CombinedState } from '../../reducers/interfaces';
|
|
import CreateProjectContext, { ICreateProjectContext } from './create-project.context';
|
|
|
|
function CreateProjectPageComponent(props: StateToProps): JSX.Element {
|
|
const { isTrainingActive } = props;
|
|
const [projectClass, setProjectClass] = useState('');
|
|
const [trainingEnabled, setTrainingEnabled] = useState(false);
|
|
const [isTrainingActiveState] = useState(isTrainingActive);
|
|
|
|
const defaultContext: ICreateProjectContext = {
|
|
projectClass: {
|
|
value: projectClass,
|
|
set: setProjectClass,
|
|
},
|
|
trainingEnabled: {
|
|
value: trainingEnabled,
|
|
set: setTrainingEnabled,
|
|
},
|
|
isTrainingActive: {
|
|
value: isTrainingActiveState,
|
|
},
|
|
};
|
|
return (
|
|
<CreateProjectContext.Provider value={defaultContext}>
|
|
<Row justify='center' align='top' className='cvat-create-task-form-wrapper'>
|
|
<Col md={20} lg={16} xl={14} xxl={9}>
|
|
<Text className='cvat-title'>Create a new project</Text>
|
|
<CreateProjectContent />
|
|
</Col>
|
|
</Row>
|
|
</CreateProjectContext.Provider>
|
|
);
|
|
}
|
|
|
|
interface StateToProps {
|
|
isTrainingActive: boolean;
|
|
}
|
|
|
|
function mapStateToProps(state: CombinedState): StateToProps {
|
|
return {
|
|
isTrainingActive: state.plugins.list.PREDICT,
|
|
};
|
|
}
|
|
|
|
export default connect(mapStateToProps)(CreateProjectPageComponent);
|