From c9197d0186f56066e8ec0093a240c5f61de14ff0 Mon Sep 17 00:00:00 2001 From: shanshuirenjia <978987373@qq.com> Date: Sun, 16 Dec 2018 15:11:30 +0800 Subject: [PATCH] improve new library dialog --- .../components/dialog/create-repo-dialog.js | 34 ++++++++++++++----- frontend/src/css/modal.css | 18 ++++++++++ 2 files changed, 44 insertions(+), 8 deletions(-) create mode 100644 frontend/src/css/modal.css diff --git a/frontend/src/components/dialog/create-repo-dialog.js b/frontend/src/components/dialog/create-repo-dialog.js index 8cf602f2b3..dc06871b69 100644 --- a/frontend/src/components/dialog/create-repo-dialog.js +++ b/frontend/src/components/dialog/create-repo-dialog.js @@ -1,8 +1,10 @@ import React from 'react'; import PropTypes from 'prop-types'; -import { Button, Modal, ModalHeader, Input, ModalBody, ModalFooter, Form, FormGroup, Label } from 'reactstrap'; +import { Button, Modal, ModalHeader, Input, ModalBody, ModalFooter, Form, FormGroup, Label, FormText } from 'reactstrap'; import { gettext } from '../../utils/constants'; +import '../../css/modal.css'; + const propTypes = { onCreateRepo: PropTypes.func.isRequired, onCreateToggle: PropTypes.func.isRequired, @@ -18,6 +20,7 @@ class CreateRepoDialog extends React.Component { password1: '', password2: '', errMessage: '', + permission: 'rw' }; this.newInput = React.createRef(); } @@ -39,7 +42,8 @@ class CreateRepoDialog extends React.Component { if (isValid) { let repoName = this.state.repoName.trim(); let password = this.state.encrypt ? this.state.password1 : ''; - let repo = this.createRepo(repoName, password); + let permission= this.state.permission; + let repo = this.createRepo(repoName, password, permission); this.props.onCreateRepo(repo); } } @@ -98,6 +102,11 @@ class CreateRepoDialog extends React.Component { return true; } + onPermissionChange = (e) => { + let permission = e.target.value; + this.setState({permission: permission}); + } + onEncrypted = (e) => { let isChecked = e.target.checked; this.setState({ @@ -106,7 +115,7 @@ class CreateRepoDialog extends React.Component { }); } - createRepo = (repoName, password) => { + createRepo = (repoName, password, permission) => { let libraryType = this.props.libraryType; let encrypt = password ? true : false; let repo = null; @@ -131,7 +140,7 @@ class CreateRepoDialog extends React.Component { repo = { repo_name: repoName, password: password, - permission: 'rw', + permission: permission, }; } return repo; @@ -139,12 +148,12 @@ class CreateRepoDialog extends React.Component { render() { return ( - + {gettext('New Library')}
- + {this.newInput = input;}} @@ -153,12 +162,21 @@ class CreateRepoDialog extends React.Component { onChange={this.handleRepoNameChange} /> + {this.props.libraryType === 'group' && ( + + + + + + + + )} - + {gettext('Encrypt')} - +