Adding NoResultsFound

Adding dataArray to list
workbench
Jonas Franz 8 years ago committed by Gitea
parent 8be0eb57ce
commit 20c90cef07
  1. 5
      drawer/Drawer.js
  2. 14
      pages/Home.js
  3. 16
      pages/NoResultsFound.js
  4. 18
      tabs/Stundenliste.js
  5. 59
      tabs/Vertretungsplan.js

@ -1,7 +1,5 @@
import React from "react";
import {DrawerNavigator} from "react-navigation";
import Home from "../pages/Home";
import SideBar from "./Sidebar";
import Stundenplan from '../tabs/Stundenplan';
@ -11,13 +9,12 @@ import Klausurplan from "../tabs/Klausurplan";
const DrawerNav = DrawerNavigator(
{
Home: {screen: Home},
splan: {screen: Stundenplan},
vplan: {screen: Vertretungsplan},
kplan: {screen: Klausurplan}
},
{
initialRouteName: "Home",
initialRouteName: "vplan",
contentOptions: {
activeTintColor: "#e91e63"
},

@ -2,8 +2,20 @@ import React, {Component} from "react";
import {Button, Container, Content, H3, Header, Icon, Left, Right, Text, Title} from "native-base";
import {StatusBar, StyleSheet} from 'react-native';
import DefaultHeader from '../components/DefaultHeader';
import ReplacementLessonsApi from '../api/ReplacementLessonsApi'
import ApiClient from '../ApiClient'
class Home extends Component {
constructor(props) {
super(props)
this.state = {homeText: "Welcome! Loading content now!"}
api = new ApiClient("");
repl = new ReplacementLessonsApi(api);
repl
repl.findReplacementLessons((sx, lessons, s) => {
this.setState({homeText: sx.toString()})
})
}
render() {
return (
<Container>
@ -11,7 +23,7 @@ class Home extends Component {
<Content padder>
<Text>
Content goes here
{this.state.homeText}
</Text>
</Content>

@ -0,0 +1,16 @@
import React, {Component} from "react";
import {Container, Text} from "native-base";
class NoResultsFound extends Component {
render() {
return (
<Container>
<Text>Es konnten keine passenden Ergebnisse gefunden werden.</Text>
</Container>
);
}
}
export default NoResultsFound;

@ -3,20 +3,24 @@ import {StyleSheet} from 'react-native';
import {Body, Left, List, ListItem, Separator, Text} from 'native-base';
export default class Stundenliste extends Component {
constructor(props) {
super(props);
console.log(props);
}
render() {
return (
<List>
<Separator bordered>
<Text>20.03.2017</Text>
</Separator>
<List dataArray={this.props.data}
renderRow={item =>
<ListItem icon>
<Left><Text>1.</Text></Left>
<Left><Text>{item.lesson.period}.</Text></Left>
<Body>
<Text>Englisch</Text>
<Text note>Englisch</Text>
<Text>{item.lesson.subject.name}</Text>
<Text note>{item.lesson.teacher.name}</Text>
</Body>
</ListItem>
}>
</List>
);
}

@ -2,24 +2,61 @@ import React, {Component} from 'react';
import {Container, Content, Header, Tab, Tabs} from 'native-base';
import Stundenliste from './Stundenliste';
import DefaultHeader from "../components/DefaultHeader";
import NoResultsFound from "../pages/NoResultsFound";
import ReplacementLesson from "../model/ReplacementLesson";
export default class Vertretungsplan extends Component {
constructor(props) {
super(props);
this.state = {
replacementLessons: [
ReplacementLesson.constructFromObject({
id: 2,
date: "2017-08-22",
lesson: {teacher: {name: "Szabo"}, period: 1, subject: {name: "Informatik"}}
}),
ReplacementLesson.constructFromObject({
id: 4,
date: "2017-08-22",
lesson: {teacher: {name: "Szabo"}, period: 2, subject: {name: "Informatik"}}
}),
ReplacementLesson.constructFromObject({
id: 3,
date: "2017-08-23",
lesson: {teacher: {name: "Szabo"}, period: 2, subject: {name: "Informatik"}}
})
]
}
}
render() {
return (
<Container>
<DefaultHeader hasTabs title="Vertretungsplan" navigation={this.props.navigation}/>
<Tabs initialPage={0}>
<Tab heading="Mo, 28. Aug">
<Stundenliste/>
</Tab>
<Tab heading="Di, 29. Aug">
<Stundenliste/>
</Tab>
<Tab heading="Mi, 30. Aug">
<Stundenliste/>
</Tab>
</Tabs>
{this.renderTabsForLessons(this.state.replacementLessons)}
</Container>
);
}
/**
*
* @param {ReplacementLesson[]} lessons
*/
renderTabsForLessons(lessons) {
tabsByDate = {};
lessons.forEach((lesson) => {
console.log(lesson);
if (!(lesson.date.toLocaleDateString() in tabsByDate)) {
tabsByDate[lesson.date.toLocaleDateString()] = []
}
tabsByDate[lesson.date.toLocaleDateString()].push(lesson)
});
console.log(tabsByDate);
tabs = Object.keys(tabsByDate).map(value => <Tab heading={value}><Stundenliste
data={tabsByDate[value]}/></Tab>);
if (tabsByDate.length == 0) {
tabsByDate.push(<Tab heading="Keine Ergebnisse"><NoResultsFound/></Tab>)
}
console.log(tabs);
return <Tabs>{tabs}</Tabs>
}
}
Loading…
Cancel
Save