career paths calendar
This commit is contained in:
parent
8d25174671
commit
4d10f614ac
|
@ -49,7 +49,9 @@ class Calendar extends React.Component {
|
||||||
{key: 'fourth', weekDay: 'seg', day:15},
|
{key: 'fourth', weekDay: 'seg', day:15},
|
||||||
|
|
||||||
],
|
],
|
||||||
CP:'SEM'
|
CP:'SEM',
|
||||||
|
cpColor:'white',
|
||||||
|
careerPath:{name:'', color:''}
|
||||||
};
|
};
|
||||||
|
|
||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
|
@ -205,6 +207,8 @@ class Calendar extends React.Component {
|
||||||
|
|
||||||
|
|
||||||
}}
|
}}
|
||||||
|
circleSize={0}
|
||||||
|
dotColor={'#CC1A17'}
|
||||||
keyExtractor={(item, index) => index.toString()}
|
keyExtractor={(item, index) => index.toString()}
|
||||||
|
|
||||||
|
|
||||||
|
@ -268,16 +272,17 @@ class Calendar extends React.Component {
|
||||||
return (
|
return (
|
||||||
<View style={{flex:1}}>
|
<View style={{flex:1}}>
|
||||||
<View>
|
<View>
|
||||||
|
{ this.props.careerPath!=undefined &&
|
||||||
<Text style={{
|
<Text style={{
|
||||||
backgroundColor:"#CC1A17",
|
backgroundColor:this.props.careerPath.color,
|
||||||
color:'white',
|
color:'white',
|
||||||
fontWeight:'bold',
|
fontWeight:'bold',
|
||||||
fontSize:15,
|
fontSize:15,
|
||||||
textAlign:'center',
|
textAlign:'center',
|
||||||
|
|
||||||
}}>
|
}}>{this.props.careerPath.name}
|
||||||
{this.props.careerPath}
|
|
||||||
</Text>
|
</Text>
|
||||||
|
}
|
||||||
</View>
|
</View>
|
||||||
<TabView
|
<TabView
|
||||||
navigationState={this.state}
|
navigationState={this.state}
|
||||||
|
|
|
@ -67,9 +67,12 @@ class choosePath extends React.Component {
|
||||||
var sessions = this.props.sessions;
|
var sessions = this.props.sessions;
|
||||||
|
|
||||||
for (let key in sessions) {
|
for (let key in sessions) {
|
||||||
|
|
||||||
if (sessions[key].Name == "IA") {
|
if (sessions[key].Name == "IA") {
|
||||||
this.setState({ guest: "9" });
|
this.setState({ guest: "9" });
|
||||||
}
|
}
|
||||||
|
//...
|
||||||
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
|
@ -284,7 +287,9 @@ class choosePath extends React.Component {
|
||||||
</Picker>
|
</Picker>
|
||||||
</View>
|
</View>
|
||||||
<View style={{ width: SCREEN_WIDTH }}>
|
<View style={{ width: SCREEN_WIDTH }}>
|
||||||
{!this.props.changingGuest && (
|
{ this.state.guest==0 && <View><Text>chosse one</Text><View>}
|
||||||
|
|
||||||
|
{!this.props.changingGuest && this.state.guest!=0 && (
|
||||||
<FlatList
|
<FlatList
|
||||||
data={this.props.Blocks}
|
data={this.props.Blocks}
|
||||||
renderItem={({ item, index }) => (
|
renderItem={({ item, index }) => (
|
||||||
|
|
|
@ -28,6 +28,7 @@ import { compose } from "redux";
|
||||||
import tap from "lodash/fp/tap";
|
import tap from "lodash/fp/tap";
|
||||||
import flow from "lodash/fp/flow";
|
import flow from "lodash/fp/flow";
|
||||||
import groupBy from "lodash/fp/groupBy";
|
import groupBy from "lodash/fp/groupBy";
|
||||||
|
import { colors } from "react-native-elements";
|
||||||
|
|
||||||
const axios = require("axios");
|
const axios = require("axios");
|
||||||
|
|
||||||
|
@ -38,9 +39,7 @@ axios.defaults.baseURL = "http://enei2019.uingress.com/internal/api";
|
||||||
const map = require("lodash/fp/map").convert({ cap: false });
|
const map = require("lodash/fp/map").convert({ cap: false });
|
||||||
|
|
||||||
export function openModal(info, t) {
|
export function openModal(info, t) {
|
||||||
|
|
||||||
return dispatch => {
|
return dispatch => {
|
||||||
|
|
||||||
dispatch({
|
dispatch({
|
||||||
type: OPEN_MODAL,
|
type: OPEN_MODAL,
|
||||||
modalInfo: info,
|
modalInfo: info,
|
||||||
|
@ -79,7 +78,38 @@ export function updateUser(token, user) {
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
function getCareerPath(sessions) {
|
||||||
|
careerPath = "Sem Career Path";
|
||||||
|
careerColor = "white";
|
||||||
|
|
||||||
|
for (let key in sessions) {
|
||||||
|
if (sessions[key].Name == "IA") {
|
||||||
|
careerPath = "Artificial Inteligence";
|
||||||
|
careerColor='#CC1A17'
|
||||||
|
}
|
||||||
|
if (sessions[key].Name == "IOT") {
|
||||||
|
careerPath = "Internet of Things";
|
||||||
|
careerColor= "green"
|
||||||
|
}
|
||||||
|
if (sessions[key].Name == "WEB") {
|
||||||
|
careerPath = "Web Development";
|
||||||
|
careerColor="purple"
|
||||||
|
}
|
||||||
|
if (sessions[key].Name == "NET") {
|
||||||
|
careerPath = "Networking and Security";
|
||||||
|
careerColor="blue"
|
||||||
|
}
|
||||||
|
if (sessions[key].Name == "MOB") {
|
||||||
|
careerPath = "Mobile Development";
|
||||||
|
careerColor="orange"
|
||||||
|
}
|
||||||
|
if(sessions[key].Name=="DS"){
|
||||||
|
careerPath="Data Science"
|
||||||
|
careerColor="yellow"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return { name: careerPath, color: careerColor };
|
||||||
|
}
|
||||||
export const waitChangeGuest = () => {
|
export const waitChangeGuest = () => {
|
||||||
return dispatch => {
|
return dispatch => {
|
||||||
dispatch({
|
dispatch({
|
||||||
|
@ -117,26 +147,17 @@ export function signSession(token, idSession) {
|
||||||
.post("/Session/AddAttendee", obj)
|
.post("/Session/AddAttendee", obj)
|
||||||
//se não existir erro na chamada...
|
//se não existir erro na chamada...
|
||||||
.then(a => {
|
.then(a => {
|
||||||
if (response.data.Success == true) {
|
if (a.data.Success) {
|
||||||
axios
|
axios
|
||||||
.get("/Attendee/AvailableSessions")
|
.get("/Attendee/AvailableSessions")
|
||||||
|
|
||||||
.then(function(response) {
|
.then(function(response) {
|
||||||
console.log(response);
|
console.log(response);
|
||||||
|
|
||||||
var careerPath = "SEM";
|
|
||||||
|
|
||||||
var sessions = response.data;
|
var sessions = response.data;
|
||||||
|
var careerPath = getCareerPath(sessions);
|
||||||
var cenas = [];
|
var cenas = [];
|
||||||
|
|
||||||
for (let key in sessions) {
|
|
||||||
if (sessions[key].Name == "IA") {
|
|
||||||
careerPath = "IA";
|
|
||||||
}
|
|
||||||
//.....
|
|
||||||
}
|
|
||||||
|
|
||||||
const result = flow(groupBy("SessionStart"))(response.data);
|
const result = flow(groupBy("SessionStart"))(response.data);
|
||||||
|
|
||||||
for (let key in result) {
|
for (let key in result) {
|
||||||
|
@ -146,19 +167,35 @@ export function signSession(token, idSession) {
|
||||||
|
|
||||||
alert("Inscrição efectuada com sucesso");
|
alert("Inscrição efectuada com sucesso");
|
||||||
|
|
||||||
dispatch({
|
//obter informações pessoais:
|
||||||
type: SIGN_SESSION,
|
axios
|
||||||
sessions: response.data,
|
.get("/Attendee/Detail")
|
||||||
Blocks: cenas
|
|
||||||
});
|
.catch(error => {
|
||||||
|
alert(error);
|
||||||
|
})
|
||||||
|
.then(sucess => {
|
||||||
|
dispatch({
|
||||||
|
type: SIGN_SESSION,
|
||||||
|
sessions: response.data,
|
||||||
|
Blocks: cenas,
|
||||||
|
changeGuestList: false,
|
||||||
|
careerPath: careerPath,
|
||||||
|
user: sucess.data
|
||||||
|
});
|
||||||
|
});
|
||||||
})
|
})
|
||||||
.catch(function(error) {
|
.catch(function(error) {
|
||||||
alert("Error a obter sessões disponíveis!!");
|
alert("Erro a obter sessões disponíveis!!");
|
||||||
|
|
||||||
console.log(error);
|
console.log(error);
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
alert("Erro a inscrever na palestra");
|
alert("Erro a inscrever na palestra");
|
||||||
|
dispatch({
|
||||||
|
type: SIGN_SESSION,
|
||||||
|
waitChangeGuest: false
|
||||||
|
});
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch(b => {
|
.catch(b => {
|
||||||
|
@ -168,7 +205,6 @@ export function signSession(token, idSession) {
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getSessions(token) {
|
export function getSessions(token) {
|
||||||
console.log("aquiiii");
|
|
||||||
axios.defaults.headers.common = {
|
axios.defaults.headers.common = {
|
||||||
Authorization: `bearer ${token.access_token}`
|
Authorization: `bearer ${token.access_token}`
|
||||||
};
|
};
|
||||||
|
@ -183,14 +219,14 @@ export function getSessions(token) {
|
||||||
axios
|
axios
|
||||||
.get("/Attendee/AvailableSessions")
|
.get("/Attendee/AvailableSessions")
|
||||||
.then(function(response) {
|
.then(function(response) {
|
||||||
var careerPath = "SEM";
|
|
||||||
var sessions = response.data;
|
var sessions = response.data;
|
||||||
|
|
||||||
|
var careerPath = getCareerPath(sessions);
|
||||||
|
|
||||||
|
console.log(careerPath);
|
||||||
|
|
||||||
var cenas = [];
|
var cenas = [];
|
||||||
for (let key in sessions) {
|
|
||||||
if (sessions[key].Name == "IA") {
|
|
||||||
careerPath = "IA";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
const result = flow(
|
const result = flow(
|
||||||
groupBy("SessionStart")
|
groupBy("SessionStart")
|
||||||
// map((Id) => ({Id})),
|
// map((Id) => ({Id})),
|
||||||
|
@ -252,6 +288,7 @@ export function getAvailableGuestlists(token) {
|
||||||
|
|
||||||
*/
|
*/
|
||||||
export function changeGuestList(token, guestID) {
|
export function changeGuestList(token, guestID) {
|
||||||
|
|
||||||
//http://enei2019.uingress.com/internal/api/Attendee/ChangeGuestlist/
|
//http://enei2019.uingress.com/internal/api/Attendee/ChangeGuestlist/
|
||||||
|
|
||||||
axios.defaults.headers.common = {
|
axios.defaults.headers.common = {
|
||||||
|
@ -264,6 +301,7 @@ export function changeGuestList(token, guestID) {
|
||||||
axios
|
axios
|
||||||
.get(full)
|
.get(full)
|
||||||
.then(function(response) {
|
.then(function(response) {
|
||||||
|
console.log(response)
|
||||||
axios.defaults.baseURL = "http://enei2019.uingress.com/internal/api";
|
axios.defaults.baseURL = "http://enei2019.uingress.com/internal/api";
|
||||||
|
|
||||||
axios.defaults.headers.common = {
|
axios.defaults.headers.common = {
|
||||||
|
@ -278,12 +316,13 @@ export function changeGuestList(token, guestID) {
|
||||||
//console.log(response);
|
//console.log(response);
|
||||||
|
|
||||||
var cenas = [];
|
var cenas = [];
|
||||||
|
c= getCareerPath(response.data);
|
||||||
const result = flow(
|
const result = flow(
|
||||||
groupBy("SessionStart")
|
groupBy("SessionStart")
|
||||||
// map((Id) => ({Id})),
|
// map((Id) => ({Id})),
|
||||||
//tap(console.log)
|
//tap(console.log)
|
||||||
)(response.data);
|
)(response.data);
|
||||||
|
|
||||||
for (let key in result) {
|
for (let key in result) {
|
||||||
result[key].option = 0;
|
result[key].option = 0;
|
||||||
cenas.push(result[key]);
|
cenas.push(result[key]);
|
||||||
|
@ -293,8 +332,9 @@ export function changeGuestList(token, guestID) {
|
||||||
dispatch({
|
dispatch({
|
||||||
type: CHANGE_GUEST,
|
type: CHANGE_GUEST,
|
||||||
sessions: response.data,
|
sessions: response.data,
|
||||||
|
Blocks: cenas,
|
||||||
|
careerPath: c
|
||||||
|
|
||||||
Blocks: cenas
|
|
||||||
//guests: response.data
|
//guests: response.data
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
|
|
|
@ -39,7 +39,7 @@ let apiState = {
|
||||||
sessions: {},
|
sessions: {},
|
||||||
Blocks: {},
|
Blocks: {},
|
||||||
onHoldBlocks: true,
|
onHoldBlocks: true,
|
||||||
careerPath: "SEM",
|
careerPath:{name:'Sem Career Path', color:'#eeeeee'},
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -124,7 +124,7 @@ const apiReducer = (state = apiState, action) => {
|
||||||
return state;
|
return state;
|
||||||
|
|
||||||
case LOGOUT_USER:
|
case LOGOUT_USER:
|
||||||
state = Object.assign({}, state, { logged: false });
|
state = Object.assign({}, state, { user:{}, userDetails:{}, logged:false});
|
||||||
|
|
||||||
return state;
|
return state;
|
||||||
|
|
||||||
|
@ -161,8 +161,11 @@ const apiReducer = (state = apiState, action) => {
|
||||||
|
|
||||||
case SIGN_SESSION:
|
case SIGN_SESSION:
|
||||||
state = Object.assign({}, state, {
|
state = Object.assign({}, state, {
|
||||||
|
sessions: action.sessions,
|
||||||
Blocks: action.Blocks,
|
Blocks: action.Blocks,
|
||||||
changingGuest: false
|
careerPath: action.careerPath,
|
||||||
|
changingGuest: action.changingGuest,
|
||||||
|
user:action.user
|
||||||
});
|
});
|
||||||
return state;
|
return state;
|
||||||
|
|
||||||
|
@ -186,7 +189,8 @@ const apiReducer = (state = apiState, action) => {
|
||||||
state = Object.assign({}, state, {
|
state = Object.assign({}, state, {
|
||||||
changingGuest: false,
|
changingGuest: false,
|
||||||
sessions: action.sessions,
|
sessions: action.sessions,
|
||||||
Blocks: action.Blocks
|
Blocks: action.Blocks,
|
||||||
|
careerPath: action.careerPath
|
||||||
});
|
});
|
||||||
return state;
|
return state;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue