2
0
mirror of https://github.com/YMFE/yapi.git synced 2025-04-12 15:10:23 +08:00

feat group

This commit is contained in:
zwjamnsss 2017-07-17 10:17:29 +08:00
parent 9a0a238f4d
commit 22159a5b64
4 changed files with 22 additions and 30 deletions
client
actions
constants
containers/ProjectGroups/GroupList
reducer/group

@ -1,29 +1,20 @@
import {
FETCH_GROUP_LIST,
FETCH_CURR_GROUP
SET_CURR_GROUP
} from '../constants/action-types';
import axios from 'axios';
export function fetchGroupList() {
return {
type: FETCH_GROUP_LIST,
// payload 可以返回 Promise异步请求使用 axios 即可
payload: axios.get('/group/list')
// payload: new Promise((resolve) => {
// resolve({
// data: ['Hotel', 'Vacation', 'Flight', 'Pay'],
// res: true
// })
// })
}
}
export function fetchCurrGroup() {
export function setCurrGroup(group) {
return {
type: FETCH_CURR_GROUP,
payload: {
data: 'MFE'
}
type: SET_CURR_GROUP,
payload: group
}
}

@ -5,11 +5,11 @@ export const PROJECT_MEMBER_INTERFACE = 'PROJECT_MEMBER_INTERFACE'
// group
export const FETCH_GROUP_LIST = 'FETCH_GROUP_LIST'
export const FETCH_CURR_GROUP = 'FETCH_CURR_GROUP'
export const SET_CURR_GROUP = 'SET_CURR_GROUP'
// login
export const LOGIN = 'LOGIN';
export const REGISTER = 'REGISTER';
//header
export const LOGIN_TYPE = 'LOGIN_TYPE';
export const LOGIN_TYPE = 'LOGIN_TYPE';

@ -6,7 +6,7 @@ import { autobind } from 'core-decorators';
import {
fetchGroupList,
fetchCurrGroup,
setCurrGroup,
addGroup
} from '../../../actions/group.js'
@ -19,7 +19,7 @@ import './GroupList.scss'
}),
{
fetchGroupList,
fetchCurrGroup,
setCurrGroup,
addGroup
}
)
@ -27,9 +27,10 @@ export default class GroupList extends Component {
static propTypes = {
groupList: PropTypes.array,
currGroup: PropTypes.string,
currGroup: PropTypes.object,
addGroup: PropTypes.func,
fetchGroupList: PropTypes.func
fetchGroupList: PropTypes.func,
setCurrGroup: PropTypes.func
}
constructor(props) {
@ -37,7 +38,10 @@ export default class GroupList extends Component {
}
componentWillMount() {
this.props.fetchGroupList();
this.props.fetchGroupList().then(() => {
const currGroup = this.props.groupList[0];
this.props.setCurrGroup(currGroup)
});
}
@autobind
@ -51,7 +55,7 @@ export default class GroupList extends Component {
return (
<Card title="Groups">
<Button type="primary" onClick={this.addGroup}>添加分组</Button>
<div>{currGroup}</div>
<div>{currGroup.group_name}</div>
{
groupList.map((group, index) => (
<div key={index}>{group.group_name}</div>

@ -1,6 +1,6 @@
import {
FETCH_GROUP_LIST,
FETCH_CURR_GROUP
SET_CURR_GROUP
} from '../../constants/action-types';
const initialState = {
@ -19,14 +19,11 @@ export default (state = initialState, action) => {
}
return state;
}
case FETCH_CURR_GROUP: {
if (action.payload.res) {
return {
...state,
currGroup: action.payload.data
};
}
return state;
case SET_CURR_GROUP: {
return {
...state,
currGroup: action.payload
};
}
default: