diff options
Diffstat (limited to 'sdnr/wt/odlux/framework/src/views')
-rw-r--r-- | sdnr/wt/odlux/framework/src/views/about.tsx | 31 | ||||
-rw-r--r-- | sdnr/wt/odlux/framework/src/views/frame.tsx | 108 | ||||
-rw-r--r-- | sdnr/wt/odlux/framework/src/views/home.tsx | 28 | ||||
-rw-r--r-- | sdnr/wt/odlux/framework/src/views/login.tsx | 210 | ||||
-rw-r--r-- | sdnr/wt/odlux/framework/src/views/test.tsx | 878 |
5 files changed, 0 insertions, 1255 deletions
diff --git a/sdnr/wt/odlux/framework/src/views/about.tsx b/sdnr/wt/odlux/framework/src/views/about.tsx deleted file mode 100644 index d47e09c3a..000000000 --- a/sdnr/wt/odlux/framework/src/views/about.tsx +++ /dev/null @@ -1,31 +0,0 @@ -/** - * ============LICENSE_START======================================================================== - * ONAP : ccsdk feature sdnr wt odlux - * ================================================================================================= - * Copyright (C) 2019 highstreet technologies GmbH Intellectual Property. All rights reserved. - * ================================================================================================= - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except - * in compliance with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the License - * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express - * or implied. See the License for the specific language governing permissions and limitations under - * the License. - * ============LICENSE_END========================================================================== - */ -import * as React from 'react';
-
-const AboutComponent = () => {
-
- return (
- <div>
- <h2>About</h2>
- <div style={{ margin: "0 auto" }}>##odlux.version##</div>
- </div>
- );
-};
-
-export const About = AboutComponent;
-export default About;
\ No newline at end of file diff --git a/sdnr/wt/odlux/framework/src/views/frame.tsx b/sdnr/wt/odlux/framework/src/views/frame.tsx deleted file mode 100644 index a39516de3..000000000 --- a/sdnr/wt/odlux/framework/src/views/frame.tsx +++ /dev/null @@ -1,108 +0,0 @@ -/** - * ============LICENSE_START======================================================================== - * ONAP : ccsdk feature sdnr wt odlux - * ================================================================================================= - * Copyright (C) 2019 highstreet technologies GmbH Intellectual Property. All rights reserved. - * ================================================================================================= - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except - * in compliance with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the License - * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express - * or implied. See the License for the specific language governing permissions and limitations under - * the License. - * ============LICENSE_END========================================================================== - */ -import * as React from 'react';
-import { HashRouter as Router, Route, Redirect, Switch } from 'react-router-dom';
-
-import { withStyles, WithStyles, createStyles, Theme } from '@material-ui/core/styles';
-import { faHome, faAddressBook, faSignInAlt } from '@fortawesome/free-solid-svg-icons';
-
-import AppFrame from '../components/routing/appFrame';
-import TitleBar from '../components/titleBar';
-import Menu from '../components/navigationMenu';
-import ErrorDisplay from '../components/errorDisplay';
-import SnackDisplay from '../components/material-ui/snackDisplay';
-
-import Home from '../views/home';
-import Login from '../views/login';
-import About from '../views/about';
-import Test from '../views/test';
-
-import applicationService from '../services/applicationManager';
-import { SnackbarProvider } from 'notistack';
-
-const styles = (theme: Theme) => createStyles({
- root: {
- flexGrow: 1,
- height: '100%',
- zIndex: 1,
- overflow: 'hidden',
- position: 'relative',
- display: 'flex',
- },
- content: {
- flexGrow: 1,
- display: "flex",
- flexDirection: "column",
- backgroundColor: theme.palette.background.default,
- padding: theme.spacing.unit * 3,
- minWidth: 0, // So the Typography noWrap works
- },
- toolbar: theme.mixins.toolbar
-});
-
-export const Frame = withStyles(styles)(({ classes }: WithStyles<typeof styles>) => {
- const registrations = applicationService.applications;
- return (
- <SnackbarProvider maxSnack={3}>
- <Router>
- <div className={ classes.root }>
- <SnackDisplay />
- <ErrorDisplay />
- <TitleBar />
- <Menu />
- <main className={ classes.content }>
- <div className={ classes.toolbar } />
- <Switch>
- <Route exact path="/" component={ () => (
- <AppFrame title={ "Home" } icon={ faHome } >
- <Home />
- </AppFrame>
- ) } />
- <Route path="/about" component={ () => (
- <AppFrame title={ "About" } icon={ faAddressBook } >
- <About />
- </AppFrame>
- )} />
- { process.env.NODE_ENV === "development" ? <Route path="/test" component={() => (
- <AppFrame title={"Test"} icon={faAddressBook} >
- <Test />
- </AppFrame>
- )} /> : null}
- <Route path="/login" component={ () => (
- <AppFrame title={ "Login" } icon={ faSignInAlt } >
- <Login />
- </AppFrame>
- ) } />
- { Object.keys(registrations).map(p => {
- const application = registrations[p];
- return (<Route key={ application.name } path={ application.path || `/${ application.name }` } component={ () => (
- <AppFrame title={ application.title || (typeof application.menuEntry === 'string' && application.menuEntry) || application.name } icon={ application.icon } appId={application.name} >
- <application.rootComponent />
- </AppFrame>
- ) } />)
- }) }
- <Redirect to="/" />
- </Switch>
- </main>
- </div>
- </Router>
- </SnackbarProvider>
- );
-});
-
-export default Frame;
diff --git a/sdnr/wt/odlux/framework/src/views/home.tsx b/sdnr/wt/odlux/framework/src/views/home.tsx deleted file mode 100644 index e20c46aa4..000000000 --- a/sdnr/wt/odlux/framework/src/views/home.tsx +++ /dev/null @@ -1,28 +0,0 @@ -/** - * ============LICENSE_START======================================================================== - * ONAP : ccsdk feature sdnr wt odlux - * ================================================================================================= - * Copyright (C) 2019 highstreet technologies GmbH Intellectual Property. All rights reserved. - * ================================================================================================= - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except - * in compliance with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the License - * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express - * or implied. See the License for the specific language governing permissions and limitations under - * the License. - * ============LICENSE_END========================================================================== - */ -import * as React from 'react';
-
-export const Home = (props: React.Props<any>) => {
- return (
- <div>
- <h1>Welcome to ODLUX.</h1>
- </div>
- )
-}
-
-export default Home;
\ No newline at end of file diff --git a/sdnr/wt/odlux/framework/src/views/login.tsx b/sdnr/wt/odlux/framework/src/views/login.tsx deleted file mode 100644 index 9b69ecd7e..000000000 --- a/sdnr/wt/odlux/framework/src/views/login.tsx +++ /dev/null @@ -1,210 +0,0 @@ -/** - * ============LICENSE_START======================================================================== - * ONAP : ccsdk feature sdnr wt odlux - * ================================================================================================= - * Copyright (C) 2019 highstreet technologies GmbH Intellectual Property. All rights reserved. - * ================================================================================================= - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except - * in compliance with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the License - * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express - * or implied. See the License for the specific language governing permissions and limitations under - * the License. - * ============LICENSE_END========================================================================== - */ -import * as React from 'react'; -import { withRouter, RouteComponentProps } from 'react-router-dom'; - -import Avatar from '@material-ui/core/Avatar'; -import Button from '@material-ui/core/Button'; -import Dialog from '@material-ui/core/Dialog'; -import DialogActions from '@material-ui/core/DialogActions'; -import DialogContent from '@material-ui/core/DialogContent'; -import DialogContentText from '@material-ui/core/DialogContentText'; -import DialogTitle from '@material-ui/core/DialogTitle'; -import CssBaseline from '@material-ui/core/CssBaseline'; -import FormControl from '@material-ui/core/FormControl'; -import FormControlLabel from '@material-ui/core/FormControlLabel'; -import Checkbox from '@material-ui/core/Checkbox'; -import Input from '@material-ui/core/Input'; -import InputLabel from '@material-ui/core/InputLabel'; -import LockIcon from '@material-ui/icons/LockOutlined'; -import Paper from '@material-ui/core/Paper'; -import Typography from '@material-ui/core/Typography'; -import { withStyles, WithStyles, createStyles, Theme } from '@material-ui/core/styles'; - -import connect, { Connect } from '../flux/connect'; -import authenticationService from '../services/authenticationService'; - -import { UpdateAuthentication } from '../actions/authentication'; - -const styles = (theme: Theme) => createStyles({ - layout: { - width: 'auto', - display: 'block', // Fix IE11 issue. - marginLeft: theme.spacing.unit * 3, - marginRight: theme.spacing.unit * 3, - [theme.breakpoints.up(400 + theme.spacing.unit * 3 * 2)]: { - width: 400, - marginLeft: 'auto', - marginRight: 'auto', - }, - }, - paper: { - marginTop: theme.spacing.unit * 8, - display: 'flex', - flexDirection: 'column', - alignItems: 'center', - padding: `${theme.spacing.unit * 2}px ${theme.spacing.unit * 3}px ${theme.spacing.unit * 3}px`, - }, - avatar: { - margin: theme.spacing.unit, - backgroundColor: theme.palette.secondary.main, - }, - form: { - width: '100%', // Fix IE11 issue. - marginTop: theme.spacing.unit, - }, - submit: { - marginTop: theme.spacing.unit * 3, - }, -}); - -type LoginProps = RouteComponentProps<{}> & WithStyles<typeof styles> & Connect; - -interface ILoginState { - busy: boolean; - username: string; - password: string; - scope: string; - message: string; -} - - -// todo: ggf. redirect to einbauen -class LoginComponent extends React.Component<LoginProps, ILoginState> { - - constructor (props: LoginProps) { - super(props); - - this.state = { - busy: false, - username: '', - password: '', - scope: 'sdn', - message: '' - }; - } - - render(): JSX.Element { - const { classes } = this.props; - return ( - <React.Fragment> - <CssBaseline /> - <main className={classes.layout}> - <Paper className={classes.paper}> - <Avatar className={classes.avatar}> - <LockIcon /> - </Avatar> - <Typography variant="caption">Sign in</Typography> - <form className={classes.form}> - <FormControl margin="normal" required fullWidth> - <InputLabel htmlFor="username">Username</InputLabel> - <Input id="username" name="username" autoComplete="username" autoFocus - disabled={this.state.busy} - value={this.state.username} - onChange={event => { this.setState({ username: event.target.value }) }} /> - </FormControl> - <FormControl margin="normal" required fullWidth> - <InputLabel htmlFor="password">Password</InputLabel> - <Input - name="password" - type="password" - id="password" - autoComplete="current-password" - disabled={this.state.busy} - value={this.state.password} - onChange={event => { this.setState({ password: event.target.value }) }} - /> - </FormControl> - <FormControl margin="normal" required fullWidth> - <InputLabel htmlFor="password">Domain</InputLabel> - <Input - name="scope" - type="scope" - id="scope" - disabled={this.state.busy} - value={this.state.scope} - onChange={event => { this.setState({ scope: event.target.value }) }} - /> - </FormControl> - <FormControlLabel - control={<Checkbox value="remember" color="primary" />} - label="Remember me" - /> - <Button - type="submit" - fullWidth - variant="raised" - color="primary" - disabled={this.state.busy} - className={classes.submit} - onClick={this.onSignIn} - > - Sign in - </Button> - </form> - </Paper> - </main> - <Dialog - open={!!this.state.message} - onClose={() => { this.setState({ message: '' }) }} - aria-labelledby="alert-dialog-title" - aria-describedby="alert-dialog-description" - > - <DialogTitle id="alert-dialog-title">{"Error"}</DialogTitle> - <DialogContent> - <DialogContentText id="alert-dialog-description"> - {this.state.message} - </DialogContentText> - </DialogContent> - <DialogActions> - <Button onClick={() => { this.setState({ message: '' }) }} color="secondary" autoFocus> - OK - </Button> - </DialogActions> - </Dialog> - </React.Fragment> - ); - } - - private onSignIn = async (event: React.MouseEvent<HTMLButtonElement>) => { - event.preventDefault(); - - this.setState({ busy: true }); - const token = await authenticationService.authenticateUser(this.state.username, this.state.password, this.state.scope); - this.props.dispatch(new UpdateAuthentication(token)); - this.setState({ busy: false }); - - if (token) { - const query = - this.props.state.framework.navigationState.search && - this.props.state.framework.navigationState.search.replace(/^\?/, "") - .split('&').map(e => e.split("=")); - const returnTo = query && query.find(e => e[0] === "returnTo"); - this.props.history.replace(returnTo && returnTo[1] || "/"); - } - else { - this.setState({ - message: "Could not log in. Please check your credentials or ask your administrator for assistence.", - password: "" - }) - } - } -} - -export const Login = withStyles(styles)(withRouter(connect()(LoginComponent))); -export default Login;
\ No newline at end of file diff --git a/sdnr/wt/odlux/framework/src/views/test.tsx b/sdnr/wt/odlux/framework/src/views/test.tsx deleted file mode 100644 index 68b189340..000000000 --- a/sdnr/wt/odlux/framework/src/views/test.tsx +++ /dev/null @@ -1,878 +0,0 @@ -/** - * ============LICENSE_START======================================================================== - * ONAP : ccsdk feature sdnr wt odlux - * ================================================================================================= - * Copyright (C) 2019 highstreet technologies GmbH Intellectual Property. All rights reserved. - * ================================================================================================= - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except - * in compliance with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the License - * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express - * or implied. See the License for the specific language governing permissions and limitations under - * the License. - * ============LICENSE_END========================================================================== - */ -import * as React from 'react'; - -import { withComponents, WithComponents } from '../utilities/withComponents'; -import { withStyles, WithStyles, createStyles, Theme } from '@material-ui/core/styles'; - -import ExpansionPanel from '@material-ui/core/ExpansionPanel'; -import ExpansionPanelSummary from '@material-ui/core/ExpansionPanelSummary'; -import ExpansionPanelDetails from '@material-ui/core/ExpansionPanelDetails'; -import Typography from '@material-ui/core/Typography'; -import ExpandMoreIcon from '@material-ui/icons/ExpandMore'; - -import { MaterialTable, MaterialTableCtorType, ColumnType } from '../components/material-table'; -import { TreeView, ITreeItem, TreeViewCtorType } from '../components/material-ui/treeView'; -import { SvgIconProps } from '@material-ui/core/SvgIcon'; - -const styles = (theme: Theme) => createStyles({ - root: { - width: '100%', - }, - heading: { - fontSize: theme.typography.pxToRem(15), - fontWeight: theme.typography.fontWeightRegular, - }, -}); - -class SampleData { - _id: string; - index: number; - guid: string; - isActive: boolean; - balance: string; - age: number; - firstName: string; - lastName: string; - company: string; - email: string; - registered: string; - latitude: string; - longitude: string; -} - -// https://next.json-generator.com/NJ5Bv-v1I -const tableData: SampleData[] = [ - { - "_id": "5c0e18399919a5c43636fdf2", - "index": 0, - "guid": "48728d8e-8300-4d0f-b967-e2166d023066", - "isActive": false, - "balance": "$3,480.16", - "age": 33, - "firstName": "Brooke", - "lastName": "Morris", - "company": "ZORROMOP", - "email": "brooke.morris@zorromop.de", - "registered": "Sunday, February 11, 2018 2:55 PM", - "latitude": "-69.109379", - "longitude": "113.735639" - }, - { - "_id": "5c0e1839b61e3eeaf164259d", - "index": 1, - "guid": "28723570-1507-422e-b78c-924402371fb1", - "isActive": false, - "balance": "$1,305.01", - "age": 28, - "firstName": "Jolene", - "lastName": "Everett", - "company": "ZENCO", - "email": "jolene.everett@zenco.de", - "registered": "Saturday, December 8, 2018 5:17 PM", - "latitude": "13.683025", - "longitude": "85.101421" - }, - { - "_id": "5c0e1839e81f57913c5d2147", - "index": 2, - "guid": "e914dc5d-91a3-405d-ac48-aee6f0cd391a", - "isActive": true, - "balance": "$1,418.37", - "age": 28, - "firstName": "Elva", - "lastName": "Travis", - "company": "ZYTREK", - "email": "elva.travis@zytrek.de", - "registered": "Thursday, March 10, 2016 5:13 PM", - "latitude": "53.75862", - "longitude": "-67.784532" - }, - { - "_id": "5c0e1839bc9224a2b54c0f69", - "index": 3, - "guid": "88cbdce0-0bcc-4d16-83c3-3017690503c4", - "isActive": true, - "balance": "$1,709.60", - "age": 21, - "firstName": "Ellis", - "lastName": "Mcpherson", - "company": "DIGIPRINT", - "email": "ellis.mcpherson@digiprint.de", - "registered": "Sunday, December 21, 2014 5:25 AM", - "latitude": "46.486149", - "longitude": "-66.657067" - }, - { - "_id": "5c0e183951b51475db0f35d1", - "index": 4, - "guid": "c887ac86-7ba1-4eb6-9b47-e88a1bcb3713", - "isActive": true, - "balance": "$3,578.54", - "age": 25, - "firstName": "Marcia", - "lastName": "Rocha", - "company": "ZAPPIX", - "email": "marcia.rocha@zappix.de", - "registered": "Tuesday, June 16, 2015 11:21 AM", - "latitude": "-39.905461", - "longitude": "150.873895" - }, - { - "_id": "5c0e18398c5be8d362a578eb", - "index": 5, - "guid": "0d160697-9b5b-4941-9b5f-4ba3a7f97b49", - "isActive": true, - "balance": "$414.98", - "age": 32, - "firstName": "Lavonne", - "lastName": "Wilkins", - "company": "FARMAGE", - "email": "lavonne.wilkins@farmage.de", - "registered": "Monday, February 1, 2016 5:27 PM", - "latitude": "-16.839256", - "longitude": "-105.824746" - }, - { - "_id": "5c0e18399804086c836d7d56", - "index": 6, - "guid": "715a5f63-35b6-4903-a46e-ba584b005e64", - "isActive": false, - "balance": "$1,755.78", - "age": 32, - "firstName": "Wise", - "lastName": "Berg", - "company": "ZIZZLE", - "email": "wise.berg@zizzle.de", - "registered": "Saturday, March 28, 2015 1:40 AM", - "latitude": "51.15269", - "longitude": "65.795093" - }, - { - "_id": "5c0e18399c4d13538bcaf8c9", - "index": 7, - "guid": "7ee50269-23e8-499e-9a16-09f393d7600c", - "isActive": false, - "balance": "$342.52", - "age": 27, - "firstName": "Isabel", - "lastName": "Battle", - "company": "EZENTIA", - "email": "isabel.battle@ezentia.de", - "registered": "Thursday, June 7, 2018 12:16 AM", - "latitude": "-53.318152", - "longitude": "-153.516824" - }, - { - "_id": "5c0e18398d7fb9a4eceeffa2", - "index": 8, - "guid": "1e30c9ac-2297-4f16-83e6-9559b1ebe92c", - "isActive": true, - "balance": "$3,184.71", - "age": 36, - "firstName": "Lenora", - "lastName": "Crawford", - "company": "KIDGREASE", - "email": "lenora.crawford@kidgrease.de", - "registered": "Saturday, January 7, 2017 6:17 PM", - "latitude": "-72.431496", - "longitude": "9.413359" - }, - { - "_id": "5c0e18395837069ab6b79d00", - "index": 9, - "guid": "d04a02ed-5899-4729-a7e5-2d85b5d03973", - "isActive": true, - "balance": "$1,553.28", - "age": 35, - "firstName": "Sasha", - "lastName": "Bridges", - "company": "IDEALIS", - "email": "sasha.bridges@idealis.de", - "registered": "Sunday, February 4, 2018 7:02 PM", - "latitude": "8.095691", - "longitude": "-105.758195" - }, - { - "_id": "5c0e18390be19bf65acad180", - "index": 10, - "guid": "3a1a77e6-ef15-4598-8274-c68ac3bb922a", - "isActive": false, - "balance": "$3,587.96", - "age": 20, - "firstName": "Wilkins", - "lastName": "Beasley", - "company": "DIGIFAD", - "email": "wilkins.beasley@digifad.de", - "registered": "Monday, March 5, 2018 1:27 PM", - "latitude": "-88.062704", - "longitude": "149.95661" - }, - { - "_id": "5c0e1839ffbbad5c9954e49f", - "index": 11, - "guid": "97a56950-a08c-4e00-8002-ba2d5de4da5d", - "isActive": false, - "balance": "$1,997.80", - "age": 31, - "firstName": "Sullivan", - "lastName": "Mcclain", - "company": "EARTHMARK", - "email": "sullivan.mcclain@earthmark.de", - "registered": "Saturday, October 27, 2018 2:51 PM", - "latitude": "-81.86349", - "longitude": "-79.596991" - }, - { - "_id": "5c0e183914bd464d55e7325f", - "index": 12, - "guid": "294f6485-d0f9-4b25-b998-325ae90fa769", - "isActive": true, - "balance": "$1,405.46", - "age": 24, - "firstName": "Herminia", - "lastName": "Fischer", - "company": "ECOLIGHT", - "email": "herminia.fischer@ecolight.de", - "registered": "Thursday, January 16, 2014 4:48 PM", - "latitude": "48.224363", - "longitude": "11.08339" - }, - { - "_id": "5c0e183968ec2556d8f6566c", - "index": 13, - "guid": "16edfea4-7b37-4e54-868c-c369b413dd78", - "isActive": false, - "balance": "$3,440.67", - "age": 39, - "firstName": "Blanchard", - "lastName": "Blackwell", - "company": "GEOFORMA", - "email": "blanchard.blackwell@geoforma.de", - "registered": "Wednesday, July 30, 2014 4:07 AM", - "latitude": "-52.169297", - "longitude": "10.415879" - }, - { - "_id": "5c0e183939a0fc955f2d94da", - "index": 14, - "guid": "4ed454e2-dde1-4ab5-a434-4a82205ced2d", - "isActive": true, - "balance": "$1,883.27", - "age": 35, - "firstName": "Gayle", - "lastName": "Little", - "company": "AQUAZURE", - "email": "gayle.little@aquazure.de", - "registered": "Tuesday, December 12, 2017 5:08 PM", - "latitude": "-58.473236", - "longitude": "38.022269" - }, - { - "_id": "5c0e1839099f9221ccd968ac", - "index": 15, - "guid": "1d052fd4-7c54-45fb-b0db-7de1acc4262a", - "isActive": false, - "balance": "$2,601.94", - "age": 31, - "firstName": "Jocelyn", - "lastName": "Richards", - "company": "GINK", - "email": "jocelyn.richards@gink.de", - "registered": "Sunday, October 30, 2016 9:12 PM", - "latitude": "-43.489676", - "longitude": "2.557869" - }, - { - "_id": "5c0e183970f320f377321c3f", - "index": 16, - "guid": "45bca125-8831-48c3-b22b-29ae318e7096", - "isActive": false, - "balance": "$3,441.74", - "age": 34, - "firstName": "Berta", - "lastName": "Valentine", - "company": "ISOSPHERE", - "email": "berta.valentine@isosphere.de", - "registered": "Sunday, March 19, 2017 8:22 PM", - "latitude": "-40.188039", - "longitude": "-170.085092" - }, - { - "_id": "5c0e1839ab960bb0a9f4f392", - "index": 17, - "guid": "d7b5122a-94c9-423c-b799-1a8f8314b152", - "isActive": false, - "balance": "$56.39", - "age": 21, - "firstName": "Russell", - "lastName": "Powers", - "company": "TETAK", - "email": "russell.powers@tetak.de", - "registered": "Thursday, November 3, 2016 9:23 PM", - "latitude": "-51.610519", - "longitude": "-133.280363" - }, - { - "_id": "5c0e183998f0195404b9aaa4", - "index": 18, - "guid": "a043ba97-ea7e-48ce-bb15-18ee09fb393d", - "isActive": true, - "balance": "$1,503.57", - "age": 37, - "firstName": "Rosario", - "lastName": "Brennan", - "company": "VIAGRAND", - "email": "rosario.brennan@viagrand.de", - "registered": "Saturday, March 17, 2018 10:32 PM", - "latitude": "-43.773365", - "longitude": "47.58682" - }, - { - "_id": "5c0e1839bcb2a5cc567129ac", - "index": 19, - "guid": "de6d5d36-201e-4f87-9976-ed31f3160e42", - "isActive": false, - "balance": "$1,160.18", - "age": 29, - "firstName": "Anita", - "lastName": "Hodges", - "company": "TUBALUM", - "email": "anita.hodges@tubalum.de", - "registered": "Sunday, November 26, 2017 11:54 AM", - "latitude": "7.080244", - "longitude": "-9.970715" - }, - { - "_id": "5c0e18394b37e854a1ef371c", - "index": 20, - "guid": "9407113b-896a-4699-ac1b-363bc3c6f8ad", - "isActive": false, - "balance": "$34.81", - "age": 31, - "firstName": "Barrett", - "lastName": "Weaver", - "company": "DUOFLEX", - "email": "barrett.weaver@duoflex.de", - "registered": "Tuesday, November 3, 2015 9:31 AM", - "latitude": "40.30558", - "longitude": "-69.986664" - }, - { - "_id": "5c0e1839b5658f90e16a86e0", - "index": 21, - "guid": "81f894c4-c931-422d-a30e-593824d95bf9", - "isActive": true, - "balance": "$2,808.63", - "age": 26, - "firstName": "Baxter", - "lastName": "Chase", - "company": "BUNGA", - "email": "baxter.chase@bunga.de", - "registered": "Friday, October 28, 2016 7:10 AM", - "latitude": "-49.05652", - "longitude": "63.123535" - }, - { - "_id": "5c0e1839cb9462c9ecbb59af", - "index": 22, - "guid": "92e67862-4fdf-43af-a3ef-ef3edb8d6706", - "isActive": true, - "balance": "$3,552.71", - "age": 29, - "firstName": "Olga", - "lastName": "Kemp", - "company": "OHMNET", - "email": "olga.kemp@ohmnet.de", - "registered": "Saturday, March 26, 2016 11:51 AM", - "latitude": "-17.450481", - "longitude": "-13.945794" - }, - { - "_id": "5c0e18396f999c2b8ac731a9", - "index": 23, - "guid": "a682eaae-34f0-4973-b8a0-30972de0732b", - "isActive": false, - "balance": "$1,999.20", - "age": 21, - "firstName": "Ebony", - "lastName": "Le", - "company": "MULTRON", - "email": "ebony.le@multron.de", - "registered": "Friday, March 27, 2015 9:23 AM", - "latitude": "-70.380014", - "longitude": "173.20685" - }, - { - "_id": "5c0e18391cfb28263eb42db7", - "index": 24, - "guid": "f1cddb5f-0b89-453e-b0c9-8193a56cc610", - "isActive": true, - "balance": "$2,950.91", - "age": 30, - "firstName": "Norman", - "lastName": "Price", - "company": "COMVEX", - "email": "norman.price@comvex.de", - "registered": "Tuesday, August 21, 2018 11:17 PM", - "latitude": "86.501469", - "longitude": "159.545352" - }, - { - "_id": "5c0e18394a6be11128c7e5ca", - "index": 25, - "guid": "dadb738a-40fd-45b6-abac-023a803d95c2", - "isActive": true, - "balance": "$2,767.09", - "age": 25, - "firstName": "Sara", - "lastName": "Ruiz", - "company": "AUSTECH", - "email": "sara.ruiz@austech.de", - "registered": "Wednesday, June 20, 2018 6:34 AM", - "latitude": "86.784904", - "longitude": "-120.331325" - }, - { - "_id": "5c0e183974631549eda97cea", - "index": 26, - "guid": "b5c43ee5-14ed-4ab5-b3db-b31a8bb65ceb", - "isActive": true, - "balance": "$3,235.42", - "age": 32, - "firstName": "Holly", - "lastName": "Santos", - "company": "LOVEPAD", - "email": "holly.santos@lovepad.de", - "registered": "Thursday, November 22, 2018 9:26 PM", - "latitude": "-19.640066", - "longitude": "50.410992" - }, - { - "_id": "5c0e1839ab9b933881429d78", - "index": 27, - "guid": "94961092-65ca-41b9-bc69-3e40ce2cafc9", - "isActive": true, - "balance": "$2,106.34", - "age": 39, - "firstName": "Rachel", - "lastName": "Douglas", - "company": "DEMINIMUM", - "email": "rachel.douglas@deminimum.de", - "registered": "Sunday, April 9, 2017 3:55 AM", - "latitude": "31.395281", - "longitude": "-1.899514" - }, - { - "_id": "5c0e183937f743155859c5a9", - "index": 28, - "guid": "07d7ef18-bcef-483d-999e-0b3da4a7098b", - "isActive": true, - "balance": "$2,260.65", - "age": 40, - "firstName": "Reed", - "lastName": "Workman", - "company": "BUZZMAKER", - "email": "reed.workman@buzzmaker.de", - "registered": "Wednesday, May 28, 2014 3:44 PM", - "latitude": "23.789646", - "longitude": "106.938375" - }, - { - "_id": "5c0e1839f8f4b60beb28b7ed", - "index": 29, - "guid": "9b4952e5-aa0e-4919-9e17-7c357a297394", - "isActive": false, - "balance": "$702.99", - "age": 27, - "firstName": "Cochran", - "lastName": "Ware", - "company": "HIVEDOM", - "email": "cochran.ware@hivedom.de", - "registered": "Monday, October 16, 2017 5:51 AM", - "latitude": "85.953108", - "longitude": "124.590037" - }, - { - "_id": "5c0e1839342fbd54a88269df", - "index": 30, - "guid": "30937d5b-9514-4ebd-b628-2cfb5017fe41", - "isActive": false, - "balance": "$385.88", - "age": 35, - "firstName": "Cote", - "lastName": "Hess", - "company": "TERAPRENE", - "email": "cote.hess@teraprene.de", - "registered": "Thursday, March 15, 2018 4:42 PM", - "latitude": "81.38211", - "longitude": "64.516797" - }, - { - "_id": "5c0e18395b6dc85d73ce1fb3", - "index": 31, - "guid": "f34847da-7f96-4cd8-8d8a-b06c0eb0a8f2", - "isActive": true, - "balance": "$3,494.56", - "age": 27, - "firstName": "Daniels", - "lastName": "Ayala", - "company": "BESTO", - "email": "daniels.ayala@besto.de", - "registered": "Sunday, December 18, 2016 10:52 AM", - "latitude": "47.704227", - "longitude": "41.674767" - }, - { - "_id": "5c0e183974587cdccf30b13f", - "index": 32, - "guid": "fdbb6d83-0e47-4453-b8a7-b47f44e4164b", - "isActive": false, - "balance": "$2,087.38", - "age": 26, - "firstName": "Powers", - "lastName": "Drake", - "company": "GENESYNK", - "email": "powers.drake@genesynk.de", - "registered": "Saturday, September 29, 2018 12:24 AM", - "latitude": "40.580432", - "longitude": "110.940759" - }, - { - "_id": "5c0e18397b51245e971c58b8", - "index": 33, - "guid": "6adfe544-238b-4001-b2a6-f50ea3094da3", - "isActive": true, - "balance": "$3,566.22", - "age": 34, - "firstName": "Pacheco", - "lastName": "Ramsey", - "company": "ENVIRE", - "email": "pacheco.ramsey@envire.de", - "registered": "Friday, September 11, 2015 12:14 AM", - "latitude": "-30.691235", - "longitude": "69.343692" - }, - { - "_id": "5c0e18391ede9c0996fd09e7", - "index": 34, - "guid": "d190b32f-d33b-4c17-a18a-bb2f57e79ba7", - "isActive": false, - "balance": "$1,671.63", - "age": 32, - "firstName": "Mcintyre", - "lastName": "Chan", - "company": "ORBAXTER", - "email": "mcintyre.chan@orbaxter.de", - "registered": "Wednesday, May 7, 2014 7:11 PM", - "latitude": "7.380435", - "longitude": "70.955103" - }, - { - "_id": "5c0e1839fe48069c9c260fa9", - "index": 35, - "guid": "a41c064b-6bf4-4ba5-b229-9b657d286936", - "isActive": false, - "balance": "$24.02", - "age": 27, - "firstName": "Genevieve", - "lastName": "Sparks", - "company": "ZBOO", - "email": "genevieve.sparks@zboo.de", - "registered": "Saturday, December 16, 2017 2:51 PM", - "latitude": "-63.406337", - "longitude": "118.662621" - }, - { - "_id": "5c0e1839a7e8e76accf0803e", - "index": 36, - "guid": "3e71864d-4be5-418e-ace8-346c3d7a9c5f", - "isActive": true, - "balance": "$3,261.01", - "age": 30, - "firstName": "Powell", - "lastName": "Patterson", - "company": "GAZAK", - "email": "powell.patterson@gazak.de", - "registered": "Thursday, May 18, 2017 10:10 AM", - "latitude": "-10.428548", - "longitude": "64.979192" - }, - { - "_id": "5c0e183984b0320f1118a8b0", - "index": 37, - "guid": "ec5b292c-6efb-471b-9bf5-a47286e03515", - "isActive": false, - "balance": "$918.71", - "age": 37, - "firstName": "Tara", - "lastName": "Mcmillan", - "company": "GRAINSPOT", - "email": "tara.mcmillan@grainspot.de", - "registered": "Sunday, May 17, 2015 1:01 PM", - "latitude": "-13.519031", - "longitude": "67.931062" - }, - { - "_id": "5c0e183965875876835ccd79", - "index": 38, - "guid": "b7e97ffb-439a-4454-90af-7f5ebd565ebc", - "isActive": true, - "balance": "$574.99", - "age": 28, - "firstName": "Pennington", - "lastName": "Gallegos", - "company": "CEDWARD", - "email": "pennington.gallegos@cedward.de", - "registered": "Wednesday, September 26, 2018 6:01 AM", - "latitude": "-63.693261", - "longitude": "-38.352153" - }, - { - "_id": "5c0e183922505dd21be49009", - "index": 39, - "guid": "5187aa39-4357-462b-9508-3c537d26d70d", - "isActive": false, - "balance": "$2,447.08", - "age": 26, - "firstName": "Meagan", - "lastName": "Irwin", - "company": "SENTIA", - "email": "meagan.irwin@sentia.de", - "registered": "Saturday, April 2, 2016 4:39 PM", - "latitude": "1.051313", - "longitude": "-86.168315" - }, - { - "_id": "5c0e183900a9f7f896e5b3b1", - "index": 40, - "guid": "31889843-79e7-4636-9ca1-4eb5cbcb0ae3", - "isActive": true, - "balance": "$1,992.25", - "age": 22, - "firstName": "Kelly", - "lastName": "Cobb", - "company": "BOVIS", - "email": "kelly.cobb@bovis.de", - "registered": "Tuesday, August 9, 2016 5:36 PM", - "latitude": "-85.547579", - "longitude": "-89.794104" - }, - { - "_id": "5c0e18393b25b8552ff950e2", - "index": 41, - "guid": "0bf02edc-ca1b-4cfe-8356-b65881bdca11", - "isActive": true, - "balance": "$465.96", - "age": 27, - "firstName": "Angela", - "lastName": "Booker", - "company": "EQUICOM", - "email": "angela.booker@equicom.de", - "registered": "Thursday, July 30, 2015 1:39 AM", - "latitude": "-9.345395", - "longitude": "107.070665" - }, - { - "_id": "5c0e183955d747ebbe25437b", - "index": 42, - "guid": "6405e559-5849-4d12-ae4e-520f13b4dffe", - "isActive": true, - "balance": "$15.63", - "age": 28, - "firstName": "Carrie", - "lastName": "Mclean", - "company": "BOINK", - "email": "carrie.mclean@boink.de", - "registered": "Wednesday, February 1, 2017 1:50 PM", - "latitude": "72.287519", - "longitude": "-135.436286" - }, - { - "_id": "5c0e1839e9cfe1b28e31e7e6", - "index": 43, - "guid": "e49e7ca7-a6cc-4cdb-bebe-5a3b6ba931eb", - "isActive": true, - "balance": "$3,127.94", - "age": 33, - "firstName": "Callie", - "lastName": "Cooley", - "company": "MUSIX", - "email": "callie.cooley@musix.de", - "registered": "Wednesday, August 30, 2017 4:58 PM", - "latitude": "-38.954739", - "longitude": "-152.706424" - }, - { - "_id": "5c0e18391bafa0750ff4f280", - "index": 44, - "guid": "c245ffd3-4924-4dce-ae4a-f4cabf057b54", - "isActive": false, - "balance": "$1,320.36", - "age": 35, - "firstName": "Terry", - "lastName": "Bennett", - "company": "EXOTECHNO", - "email": "terry.bennett@exotechno.de", - "registered": "Friday, June 17, 2016 11:54 PM", - "latitude": "-48.946183", - "longitude": "32.53167" - }, - { - "_id": "5c0e1839e91b27fcce34b70f", - "index": 45, - "guid": "0860cb66-de4c-410e-8233-aeef5ee9d64e", - "isActive": false, - "balance": "$1,187.75", - "age": 30, - "firstName": "Phoebe", - "lastName": "Bartlett", - "company": "VORATAK", - "email": "phoebe.bartlett@voratak.de", - "registered": "Tuesday, July 25, 2017 2:57 AM", - "latitude": "-63.208957", - "longitude": "-91.209743" - }, - { - "_id": "5c0e183987e8a4e98415c8dd", - "index": 46, - "guid": "49219833-172c-4659-9192-d1116a5ca833", - "isActive": false, - "balance": "$3,225.24", - "age": 38, - "firstName": "Jordan", - "lastName": "Evans", - "company": "PHARMACON", - "email": "jordan.evans@pharmacon.de", - "registered": "Sunday, April 23, 2017 6:27 PM", - "latitude": "-59.454678", - "longitude": "67.251185" - }, - { - "_id": "5c0e183944979692cc1a3e48", - "index": 47, - "guid": "680c4d15-d539-4db9-8793-a2f6d3f354aa", - "isActive": false, - "balance": "$2,913.14", - "age": 28, - "firstName": "Goodman", - "lastName": "Cain", - "company": "CAXT", - "email": "goodman.cain@caxt.de", - "registered": "Tuesday, November 1, 2016 6:11 PM", - "latitude": "-30.187547", - "longitude": "-164.313273" - }, - { - "_id": "5c0e1839ef5312ac08e3cbc3", - "index": 48, - "guid": "85f5fa5d-b6b3-47c6-ad1b-faee10a4e1bd", - "isActive": true, - "balance": "$544.97", - "age": 27, - "firstName": "Aisha", - "lastName": "Oliver", - "company": "MINGA", - "email": "aisha.oliver@minga.de", - "registered": "Sunday, July 3, 2016 8:18 AM", - "latitude": "-21.527536", - "longitude": "141.029691" - }, - { - "_id": "5c0e1839c2e58f5da04f29fd", - "index": 49, - "guid": "e2ee9b25-5887-49a9-a1c6-17432154d266", - "isActive": true, - "balance": "$3,621.65", - "age": 31, - "firstName": "Erin", - "lastName": "Lester", - "company": "SLOFAST", - "email": "erin.lester@slofast.de", - "registered": "Saturday, February 20, 2016 5:13 AM", - "latitude": "-30.080798", - "longitude": "-1.291093" - } -]; - -const components = { - 'counter': 'demoApp.counter' -}; - -class TreeDemoItem implements ITreeItem { - title: string; - children?: TreeDemoItem[]; - disabled?: boolean; - icon?: React.ComponentType<SvgIconProps>; -} - -const treeData: TreeDemoItem[] = [ - { - title: "Erste Ebene", children: [ - { - title: "Zweite Ebene", children: [ - { title: "Dritte Ebene" }, - ] - }, - { title: "Zweite Ebene 2" }, - ] - }, - { title: "Erste Ebene 3" }, -]; - -const SampleDataMaterialTable = MaterialTable as MaterialTableCtorType<SampleData>; - -const SampleTree = TreeView as any as TreeViewCtorType<TreeDemoItem>; - -const TestComponent = (props: WithComponents<typeof components> & WithStyles<typeof styles>) => { - - return ( - <div> - <h2>About</h2> - <ExpansionPanel> - <ExpansionPanelSummary expandIcon={<ExpandMoreIcon />}> - <Typography className={props.classes.heading}>Client Side Table Demo</Typography> - </ExpansionPanelSummary> - <ExpansionPanelDetails> - <SampleDataMaterialTable rows={tableData} columns={ - [ - { property: "index", type: ColumnType.text, title: "Index", width: "80px", disableFilter: true, disableSorting: true }, - { property: "firstName", type: ColumnType.text, title: "First Name" }, - { property: "lastName", type: ColumnType.text, title: "Last Name" }, - { property: "age", type: ColumnType.numeric, title: "Age", width: "60px" }, - { property: "email", type: ColumnType.text, title: "eMail" }, - { property: "actions", type: ColumnType.custom, title: "Actions", customControl: ({ rowData }) => (<div>Button</div>) }, - ] - } idProperty={"_id"} title={"Customers 2018"} > - </SampleDataMaterialTable> - </ExpansionPanelDetails> - </ExpansionPanel> - <ExpansionPanel> - <ExpansionPanelSummary expandIcon={<ExpandMoreIcon />}> - <Typography className={props.classes.heading}>Tree Demo</Typography> - </ExpansionPanelSummary> - <ExpansionPanelDetails> - <SampleTree items={treeData} contentProperty={"title"} childrenProperty={"children"} useFolderIcons enableSearchBar /> - </ExpansionPanelDetails> - </ExpansionPanel> - </div> - ) -}; - -export const Test = withComponents(components)(withStyles(styles)(TestComponent)); -export default Test; |