├── .npmignore
├── examples
└── Example
│ ├── .watchmanconfig
│ ├── img
│ ├── lunch.png
│ ├── archery.png
│ ├── soccer.png
│ ├── badminton.png
│ └── dumbbell.png
│ ├── assets
│ ├── icon.png
│ └── splash.png
│ ├── babel.config.js
│ ├── .gitignore
│ ├── .expo-shared
│ └── assets.json
│ ├── package.json
│ ├── app.json
│ ├── pages
│ ├── basicExample.js
│ ├── template.js
│ ├── customExample.js
│ ├── dotExample.js
│ ├── iconExample.js
│ ├── timelinePressExample.js
│ ├── menu.js
│ ├── twoColumnExample.js
│ ├── refreshLoadMoreExample.js
│ ├── overrideRenderExample.js
│ ├── singleRightExample.js
│ └── react-native-timeline-flatlist.js
│ └── app.js
├── .gitignore
├── package.json
├── LICENSE
├── lib
├── index.d.ts
└── index.js
├── CODE_OF_CONDUCT.md
└── README.md
/.npmignore:
--------------------------------------------------------------------------------
1 | examples
2 |
--------------------------------------------------------------------------------
/examples/Example/.watchmanconfig:
--------------------------------------------------------------------------------
1 | {}
2 |
--------------------------------------------------------------------------------
/examples/Example/img/lunch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eugnis/react-native-timeline-flatlist/HEAD/examples/Example/img/lunch.png
--------------------------------------------------------------------------------
/examples/Example/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eugnis/react-native-timeline-flatlist/HEAD/examples/Example/assets/icon.png
--------------------------------------------------------------------------------
/examples/Example/img/archery.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eugnis/react-native-timeline-flatlist/HEAD/examples/Example/img/archery.png
--------------------------------------------------------------------------------
/examples/Example/img/soccer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eugnis/react-native-timeline-flatlist/HEAD/examples/Example/img/soccer.png
--------------------------------------------------------------------------------
/examples/Example/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eugnis/react-native-timeline-flatlist/HEAD/examples/Example/assets/splash.png
--------------------------------------------------------------------------------
/examples/Example/img/badminton.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eugnis/react-native-timeline-flatlist/HEAD/examples/Example/img/badminton.png
--------------------------------------------------------------------------------
/examples/Example/img/dumbbell.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eugnis/react-native-timeline-flatlist/HEAD/examples/Example/img/dumbbell.png
--------------------------------------------------------------------------------
/examples/Example/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/examples/Example/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules/**/*
2 | .expo/*
3 | npm-debug.*
4 | *.jks
5 | *.p8
6 | *.p12
7 | *.key
8 | *.mobileprovision
9 | *.orig.*
10 | web-build/
11 | web-report/
12 |
--------------------------------------------------------------------------------
/examples/Example/.expo-shared/assets.json:
--------------------------------------------------------------------------------
1 | {
2 | "f9155ac790fd02fadcdeca367b02581c04a353aa6d5aa84409a59f6804c87acd": true,
3 | "89ed26367cdb9b771858e026f2eb95bfdb90e5ae943e716575327ec325f39c44": true,
4 | "f60988cd416e0156baeb414d2a4ebb046d9e7be5606c79ffccf57ba6071f117d": true,
5 | "60fc3ce7945cf71b15eddacf0f64c52c7ccc6eedc36bd4d5a0d8dd6a013bdc25": true,
6 | "eeee5b232ec2240a2c79f499476256a90965f8f3ee7a85955d3928b9bd063595": true,
7 | "46aeaf9b556733ef9f5ec9dbf38b2b462118a14632abf1096eeff36d9b68b739": true,
8 | "23700d9de35758dbf27f05913ba90d710194f7710278d3a93355cd050c69252d": true
9 | }
10 |
--------------------------------------------------------------------------------
/examples/Example/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "main": "node_modules/expo/AppEntry.js",
3 | "scripts": {
4 | "start": "expo start",
5 | "android": "expo start --android",
6 | "ios": "expo start --ios",
7 | "web": "expo start --web",
8 | "eject": "expo eject"
9 | },
10 | "dependencies": {
11 | "expo": "^36.0.0",
12 | "react": "16.9.0",
13 | "react-dom": "16.9.0",
14 | "react-native": "https://github.com/expo/react-native/archive/sdk-36.0.1.tar.gz",
15 | "react-native-deprecated-custom-components": "^0.1.2",
16 | "react-native-timeline-flatlist": "^0.7.1",
17 | "react-native-web": "^0.11.7"
18 | },
19 | "devDependencies": {
20 | "babel-preset-expo": "^8.0.0"
21 | },
22 | "private": true
23 | }
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | .DS_Store
6 |
7 | # Runtime data
8 | pids
9 | *.pid
10 | *.seed
11 |
12 | # Directory for instrumented libs generated by jscoverage/JSCover
13 | lib-cov
14 |
15 | # Coverage directory used by tools like istanbul
16 | coverage
17 |
18 | # nyc test coverage
19 | .nyc_output
20 |
21 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
22 | .grunt
23 |
24 | # node-waf configuration
25 | .lock-wscript
26 |
27 | # Compiled binary addons (http://nodejs.org/api/addons.html)
28 | build/Release
29 |
30 | # Dependency directories
31 | node_modules
32 | jspm_packages
33 |
34 | # Optional npm cache directory
35 | .npm
36 |
37 | # Optional REPL history
38 | .node_repl_history
39 |
--------------------------------------------------------------------------------
/examples/Example/app.json:
--------------------------------------------------------------------------------
1 | {
2 | "expo": {
3 | "name": "Examples Timeline Flatlist",
4 | "slug": "react-native-timeline-flatlist-examples",
5 | "privacy": "public",
6 | "platforms": [
7 | "ios",
8 | "android",
9 | "web"
10 | ],
11 | "version": "1.0.0",
12 | "orientation": "portrait",
13 | "icon": "./assets/icon.png",
14 | "splash": {
15 | "image": "./assets/splash.png",
16 | "resizeMode": "contain",
17 | "backgroundColor": "#ffffff"
18 | },
19 | "updates": {
20 | "fallbackToCacheTimeout": 0
21 | },
22 | "assetBundlePatterns": [
23 | "**/*"
24 | ],
25 | "ios": {
26 | "supportsTablet": true
27 | },
28 | "description": "Examples for React Native Timeline Flatlist",
29 | "githubUrl": "https://github.com/Eugnis/react-native-timeline-flatlist"
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "react-native-timeline-flatlist",
3 | "version": "0.8.0",
4 | "description": "Timeline component for React Native",
5 | "main": "lib/index.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | },
9 | "repository": {
10 | "type": "git",
11 | "url": "git@github.com:eugnis/react-native-timeline-flatlist.git"
12 | },
13 | "keywords": [
14 | "react-native",
15 | "timeline",
16 | "flatlist",
17 | "schedule",
18 | "react native component",
19 | "ios",
20 | "android",
21 | "component"
22 | ],
23 | "peerDependencies": {
24 | "react-native": ">= 0.58.2"
25 | },
26 | "author": "Eugnis (https://github.com/eugnis)",
27 | "contributors": [
28 | "Watcharachai Kanjaikaew (https://github.com/thegamenicorus)",
29 | "Eugnis (https://github.com/eugnis)"
30 | ],
31 | "license": "MIT",
32 | "bugs": {
33 | "url": "https://github.com/eugnis/react-native-timeline-flatlist/issues"
34 | },
35 | "homepage": "https://github.com/eugnis/react-native-timeline-flatlist"
36 | }
37 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2017 Watcharachai Kanjaikaew
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/examples/Example/pages/basicExample.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Sample React Native App
3 | * https://github.com/facebook/react-native
4 | * @flow
5 | */
6 |
7 | import React, { Component } from 'react';
8 | import {
9 | StyleSheet,
10 | Text,
11 | View
12 | } from 'react-native';
13 | import Timeline from 'react-native-timeline-flatlist'
14 |
15 | export default class Example extends Component {
16 | constructor(){
17 | super()
18 | this.data = [
19 | {time: '09:00', title: 'Event 1', description: 'Event 1 Description'},
20 | {time: '10:45', title: 'Event 2', description: 'Event 2 Description'},
21 | {time: '12:00', title: 'Event 3', description: 'Event 3 Description'},
22 | {time: '14:00', title: 'Event 4', description: 'Event 4 Description'},
23 | {time: '16:30', title: 'Event 5', description: 'Event 5 Description'}
24 | ]
25 | }
26 |
27 | render() {
28 | //'rgb(45,156,219)'
29 | return (
30 |
31 |
35 |
36 | );
37 | }
38 | }
39 |
40 | const styles = StyleSheet.create({
41 | container: {
42 | flex: 1,
43 | padding: 20,
44 | paddingTop:65,
45 | backgroundColor:'white'
46 | },
47 | list: {
48 | flex: 1,
49 | marginTop:20,
50 | },
51 | });
52 |
--------------------------------------------------------------------------------
/lib/index.d.ts:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import { StyleProp, ImageStyle, TextStyle, ViewStyle, FlatListProps } from "react-native";
3 |
4 | declare module "react-native-timeline-flatlist" {
5 | type Data = {
6 | time?: string;
7 | title?: string;
8 | description?: any;
9 | lineWidth?: number;
10 | lineColor?: string;
11 | eventContainerStyle?: StyleProp;
12 | circleSize?: number;
13 | circleColor?: string;
14 | dotColor?: string;
15 | icon?: string | React.ReactNode;
16 | position?: 'left' | 'right';
17 | };
18 |
19 | interface TimelineProps {
20 | data: Data[] | any;
21 | innerCircle?: 'none' | 'icon' | 'dot' | 'element';
22 | separator?: boolean;
23 | columnFormat?: 'single-column-left' | 'single-column-right' | 'two-column';
24 | lineWidth?: number;
25 | lineColor?: string;
26 | circleSize?: number;
27 | circleColor?: string;
28 | dotColor?: string;
29 | dotSize?: number;
30 | iconDefault?: string | React.ReactNode;
31 | style?: StyleProp;
32 | circleStyle?: StyleProp
33 | listViewStyle?: StyleProp;
34 | listViewContainerStyle?: StyleProp;
35 | timeStyle?: StyleProp;
36 | titleStyle?: StyleProp;
37 | descriptionStyle?: StyleProp;
38 | iconStyle?: StyleProp;
39 | separatorStyle?: StyleProp;
40 | rowContainerStyle?: StyleProp;
41 | eventContainerStyle?: StyleProp;
42 | eventDetailStyle?: StyleProp;
43 | timeContainerStyle?: StyleProp;
44 | detailContainerStyle?: StyleProp;
45 | onEventPress?: (event: Event) => any;
46 | renderTime?: (rowData: Data | any, rowID: number) => any;
47 | renderDetail?: (rowData: Data | any, rowID: number) => any;
48 | renderCircle?: (rowData: Data | any, rowID: number) => any;
49 | renderFullLine?: boolean;
50 | options?: Partial>;
51 | showTime?: boolean;
52 | isUsingFlatlist?: boolean;
53 | }
54 |
55 | export default class Timeline extends React.Component {}
56 | }
57 |
--------------------------------------------------------------------------------
/examples/Example/pages/template.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Sample React Native App
3 | * https://github.com/facebook/react-native
4 | * @flow
5 | */
6 |
7 | import React, { Component } from 'react';
8 | import {
9 | StyleSheet,
10 | Text,
11 | View
12 | } from 'react-native';
13 | import Timeline from 'react-native-timeline-flatlist'
14 |
15 | export default class Example extends Component {
16 | constructor(){
17 | super()
18 | this.data = [
19 | {time: '09:00', title: 'Archery Training', description: 'Event 1 Description', icon: require('../img/archery.png')},
20 | {time: '10:45', title: 'Event 2', description: 'Event 2 Description', icon: require('../img/badminton.png')},
21 | {time: '12:00', title: 'Event 3', description: 'Event 3 Description', icon: require('../img/lunch.png')},
22 | {time: '14:00', title: 'Event 4', description: 'Event 4 Description', icon: require('../img/soccer.png')},
23 | {time: '16:30', title: 'Event 5', description: 'Event 5 Description', icon: require('../img/dumbbell.png')}
24 | ]
25 | }
26 |
27 | render() {
28 | //'rgb(45,156,219)'
29 | return (
30 |
31 |
52 |
53 | );
54 | }
55 | }
56 |
57 | const styles = StyleSheet.create({
58 | container: {
59 | flex: 1,
60 | padding: 20,
61 | paddingTop:65
62 | },
63 | list: {
64 | flex: 1,
65 | marginTop:20,
66 | },
67 | });
68 |
--------------------------------------------------------------------------------
/examples/Example/pages/customExample.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Sample React Native App
3 | * https://github.com/facebook/react-native
4 | * @flow
5 | */
6 |
7 | import React, { Component } from 'react';
8 | import {
9 | StyleSheet,
10 | Text,
11 | View
12 | } from 'react-native';
13 | import Timeline from 'react-native-timeline-flatlist'
14 |
15 | export default class Example extends Component {
16 | constructor(){
17 | super()
18 | this.data = [
19 | {time: '09:00', title: 'Archery Training', description: 'The Beginner Archery and Beginner Crossbow course does not require you to bring any equipment, since everything you need will be provided for the course. ', circleColor: '#009688',lineColor:'#009688'},
20 | {time: '10:45', title: 'Play Badminton', description: 'Badminton is a racquet sport played using racquets to hit a shuttlecock across a net.'},
21 | {time: '12:00', title: 'Lunch'},
22 | {time: '14:00', title: 'Watch Soccer', description: 'Team sport played between two teams of eleven players with a spherical ball. ',lineColor:'#009688'},
23 | {time: '16:30', title: 'Go to Fitness center', description: 'Look out for the Best Gym & Fitness Centers around me :)', circleColor: '#009688'}
24 | ]
25 | }
26 |
27 | render() {
28 | //'rgb(45,156,219)'
29 | return (
30 |
31 |
45 |
46 | );
47 | }
48 | }
49 |
50 | const styles = StyleSheet.create({
51 | container: {
52 | flex: 1,
53 | padding: 20,
54 | paddingTop:65,
55 | backgroundColor:'white'
56 | },
57 | list: {
58 | flex: 1,
59 | marginTop:20,
60 | },
61 | });
62 |
--------------------------------------------------------------------------------
/examples/Example/pages/dotExample.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Sample React Native App
3 | * https://github.com/facebook/react-native
4 | * @flow
5 | */
6 |
7 | import React, { Component } from 'react';
8 | import {
9 | StyleSheet,
10 | Text,
11 | View
12 | } from 'react-native';
13 | import Timeline from 'react-native-timeline-flatlist'
14 |
15 | export default class Example extends Component {
16 | constructor(){
17 | super()
18 | this.data = [
19 | {time: '09:00', title: 'Archery Training', description: 'The Beginner Archery and Beginner Crossbow course does not require you to bring any equipment, since everything you need will be provided for the course. ', circleColor: '#009688',lineColor:'#009688'},
20 | {time: '10:45', title: 'Play Badminton', description: 'Badminton is a racquet sport played using racquets to hit a shuttlecock across a net.'},
21 | {time: '12:00', title: 'Lunch', icon: require('../img/lunch.png')},
22 | {time: '14:00', title: 'Watch Soccer', description: 'Team sport played between two teams of eleven players with a spherical ball. ',lineColor:'#009688'},
23 | {time: '16:30', title: 'Go to Fitness center', description: 'Look out for the Best Gym & Fitness Centers around me :)', circleColor: '#009688'}
24 | ]
25 | }
26 |
27 | render() {
28 | //'rgb(45,156,219)'
29 | return (
30 |
31 |
46 |
47 | );
48 | }
49 | }
50 |
51 | const styles = StyleSheet.create({
52 | container: {
53 | flex: 1,
54 | padding: 20,
55 | paddingTop:65,
56 | backgroundColor:'white'
57 | },
58 | list: {
59 | flex: 1,
60 | marginTop:20,
61 | },
62 | });
63 |
--------------------------------------------------------------------------------
/examples/Example/pages/iconExample.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Sample React Native App
3 | * https://github.com/facebook/react-native
4 | * @flow
5 | */
6 |
7 | import React, { Component } from 'react';
8 | import {
9 | StyleSheet,
10 | Text,
11 | View,
12 | Image
13 | } from 'react-native';
14 | import Timeline from 'react-native-timeline-flatlist'
15 |
16 | export default class Example extends Component {
17 | constructor(){
18 | super()
19 | this.data = [
20 | {time: '09:00', title: 'Archery Training', description: 'The Beginner Archery and Beginner Crossbow course does not require you to bring any equipment, since everything you need will be provided for the course. ',lineColor:'#009688', icon: require('../img/archery.png')},
21 | {time: '10:45', title: 'Play Badminton', description: 'Badminton is a racquet sport played using racquets to hit a shuttlecock across a net.', icon: require('../img/badminton.png')},
22 | {time: '12:00', title: 'Custom rendered icon', icon: },
26 | {time: '14:00', title: 'Watch Soccer', description: 'Team sport played between two teams of eleven players with a spherical ball. ',lineColor:'#009688', icon: require('../img/soccer.png')},
27 | {time: '16:30', title: 'Go to Fitness center', description: 'Look out for the Best Gym & Fitness Centers around me :)', icon: require('../img/dumbbell.png')}
28 | ]
29 | }
30 |
31 | render() {
32 | //'rgb(45,156,219)'
33 | return (
34 |
35 |
49 |
50 | );
51 | }
52 | }
53 |
54 | const styles = StyleSheet.create({
55 | container: {
56 | flex: 1,
57 | padding: 20,
58 | paddingTop:65,
59 | backgroundColor:'white'
60 | },
61 | list: {
62 | flex: 1,
63 | marginTop:20,
64 | },
65 | });
66 |
--------------------------------------------------------------------------------
/examples/Example/pages/timelinePressExample.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Sample React Native App
3 | * https://github.com/facebook/react-native
4 | * @flow
5 | */
6 |
7 | import React, { Component } from 'react';
8 | import {
9 | StyleSheet,
10 | Text,
11 | View
12 | } from 'react-native';
13 | import Timeline from 'react-native-timeline-flatlist'
14 |
15 | export default class Example extends Component {
16 | constructor(){
17 | super()
18 | this.onEventPress = this.onEventPress.bind(this)
19 | this.renderSelected = this.renderSelected.bind(this)
20 | this.data = [
21 | {time: '09:00', title: 'Archery Training', description: 'The Beginner Archery and Beginner Crossbow course does not require you to bring any equipment, since everything you need will be provided for the course. ',lineColor:'#009688', icon: require('../img/archery.png')},
22 | {time: '10:45', title: 'Play Badminton', description: 'Badminton is a racquet sport played using racquets to hit a shuttlecock across a net.', icon: require('../img/badminton.png')},
23 | {time: '12:00', title: 'Lunch', icon: require('../img/lunch.png')},
24 | {time: '14:00', title: 'Watch Soccer', description: 'Team sport played between two teams of eleven players with a spherical ball. ',lineColor:'#009688', icon: require('../img/soccer.png')},
25 | {time: '16:30', title: 'Go to Fitness center', description: 'Look out for the Best Gym & Fitness Centers around me :)', icon: require('../img/dumbbell.png')}
26 | ]
27 | this.state = {selected: null}
28 | }
29 |
30 | onEventPress(data){
31 | this.setState({selected: data})
32 | }
33 |
34 | renderSelected(){
35 | if(this.state.selected)
36 | return Selected event: {this.state.selected.title} at {this.state.selected.time}
37 | }
38 |
39 | render() {
40 | return (
41 |
42 | {this.renderSelected()}
43 |
58 |
59 | );
60 | }
61 | }
62 |
63 | const styles = StyleSheet.create({
64 | container: {
65 | flex: 1,
66 | padding: 20,
67 | paddingTop:65,
68 | backgroundColor:'white'
69 | },
70 | list: {
71 | flex: 1,
72 | marginTop:20,
73 | },
74 | });
75 |
--------------------------------------------------------------------------------
/examples/Example/pages/menu.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Sample React Native App
3 | * https://github.com/facebook/react-native
4 | * @flow
5 | */
6 |
7 | import React, { Component } from 'react';
8 | import {
9 | StyleSheet,
10 | Text,
11 | View,
12 | Navigator,
13 | TouchableOpacity,
14 | StatusBar
15 | } from 'react-native';
16 |
17 | export default class Example extends Component {
18 | constructor(){
19 | super()
20 |
21 | this.goto = this.goto.bind(this)
22 | }
23 |
24 | goto(page){
25 | this.props.navigator.push(page)
26 | }
27 |
28 | render() {
29 | return (
30 |
31 |
32 | this.goto({name:'basic', title:'Basic Example'})}>
33 | Basic Example
34 |
35 | this.goto({name:'custom', title:'Custom Example'})}>
36 | Custom Example
37 |
38 | this.goto({name:'dot', title:'Circle Dot Example'})}>
39 | Circle Dot Example
40 |
41 | this.goto({name:'icon', title:'Icon Example'})}>
42 | Icon Example
43 |
44 | this.goto({name:'press', title:'Press Example'})}>
45 | Press Example
46 |
47 | this.goto({name:'override', title:'Override Render Example'})}>
48 | Override Render Example
49 |
50 | this.goto({name:'single-right', title:'Single Right Example'})}>
51 | Single Column Right Example
52 |
53 | this.goto({name:'two-column', title:'Two Column Example'})}>
54 | Two Column Example
55 |
56 | this.goto({name:'refresh-loadmore', title:'Refresh Load More'})}>
57 | Refresh and Loadmore
58 |
59 |
60 | )
61 | }
62 | }
63 |
64 | const styles = StyleSheet.create({
65 | container: {
66 | flex: 1,
67 | justifyContent: 'center',
68 | alignItems: 'center',
69 | backgroundColor:'white'
70 | },
71 | button:{
72 | padding:10,
73 | },
74 | menu: {
75 | fontSize: 20
76 | }
77 | });
78 |
--------------------------------------------------------------------------------
/CODE_OF_CONDUCT.md:
--------------------------------------------------------------------------------
1 | # Contributor Covenant Code of Conduct
2 |
3 | ## Our Pledge
4 |
5 | In the interest of fostering an open and welcoming environment, we as
6 | contributors and maintainers pledge to making participation in our project and
7 | our community a harassment-free experience for everyone, regardless of age, body
8 | size, disability, ethnicity, sex characteristics, gender identity and expression,
9 | level of experience, education, socio-economic status, nationality, personal
10 | appearance, race, religion, or sexual identity and orientation.
11 |
12 | ## Our Standards
13 |
14 | Examples of behavior that contributes to creating a positive environment
15 | include:
16 |
17 | * Using welcoming and inclusive language
18 | * Being respectful of differing viewpoints and experiences
19 | * Gracefully accepting constructive criticism
20 | * Focusing on what is best for the community
21 | * Showing empathy towards other community members
22 |
23 | Examples of unacceptable behavior by participants include:
24 |
25 | * The use of sexualized language or imagery and unwelcome sexual attention or
26 | advances
27 | * Trolling, insulting/derogatory comments, and personal or political attacks
28 | * Public or private harassment
29 | * Publishing others' private information, such as a physical or electronic
30 | address, without explicit permission
31 | * Other conduct which could reasonably be considered inappropriate in a
32 | professional setting
33 |
34 | ## Our Responsibilities
35 |
36 | Project maintainers are responsible for clarifying the standards of acceptable
37 | behavior and are expected to take appropriate and fair corrective action in
38 | response to any instances of unacceptable behavior.
39 |
40 | Project maintainers have the right and responsibility to remove, edit, or
41 | reject comments, commits, code, wiki edits, issues, and other contributions
42 | that are not aligned to this Code of Conduct, or to ban temporarily or
43 | permanently any contributor for other behaviors that they deem inappropriate,
44 | threatening, offensive, or harmful.
45 |
46 | ## Scope
47 |
48 | This Code of Conduct applies both within project spaces and in public spaces
49 | when an individual is representing the project or its community. Examples of
50 | representing a project or community include using an official project e-mail
51 | address, posting via an official social media account, or acting as an appointed
52 | representative at an online or offline event. Representation of a project may be
53 | further defined and clarified by project maintainers.
54 |
55 | ## Enforcement
56 |
57 | Instances of abusive, harassing, or otherwise unacceptable behavior may be
58 | reported by contacting the project team at eugenijb@gmail.com. All
59 | complaints will be reviewed and investigated and will result in a response that
60 | is deemed necessary and appropriate to the circumstances. The project team is
61 | obligated to maintain confidentiality with regard to the reporter of an incident.
62 | Further details of specific enforcement policies may be posted separately.
63 |
64 | Project maintainers who do not follow or enforce the Code of Conduct in good
65 | faith may face temporary or permanent repercussions as determined by other
66 | members of the project's leadership.
67 |
68 | ## Attribution
69 |
70 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71 | available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
72 |
73 | [homepage]: https://www.contributor-covenant.org
74 |
75 | For answers to common questions about this code of conduct, see
76 | https://www.contributor-covenant.org/faq
77 |
--------------------------------------------------------------------------------
/examples/Example/app.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Sample React Native App
3 | * https://github.com/facebook/react-native
4 | *
5 | * @format
6 | * @flow
7 | */
8 |
9 | import React, {Component} from 'react';
10 | import {
11 | StyleSheet,
12 | Text,
13 | View,
14 | TouchableOpacity
15 | } from 'react-native';
16 | import {Navigator} from 'react-native-deprecated-custom-components';
17 |
18 |
19 | import Menu from './pages/menu'
20 | import BasicExample from './pages/basicExample'
21 | import CustomExample from './pages/customExample'
22 | import DotExample from './pages/dotExample'
23 | import IconExample from './pages/iconExample'
24 | import PressExample from './pages/timelinePressExample'
25 | import OverrideExample from './pages/overrideRenderExample'
26 | import SingleRightExample from './pages/singleRightExample'
27 | import TwoColumnExample from './pages/twoColumnExample'
28 | import RefreshLoadMore from './pages/refreshLoadMoreExample'
29 |
30 | export default class App extends Component {
31 | constructor(){
32 | super()
33 | this.renderScene = this.renderScene.bind(this)
34 | }
35 |
36 | renderScene(route, nav){
37 | switch (route.name) {
38 | case 'menu':
39 | return