diff options
Diffstat (limited to 'sdnr/wt/odlux/apps/demoApp/src')
11 files changed, 0 insertions, 509 deletions
diff --git a/sdnr/wt/odlux/apps/demoApp/src/actions/authorActions.ts b/sdnr/wt/odlux/apps/demoApp/src/actions/authorActions.ts deleted file mode 100644 index f75075192..000000000 --- a/sdnr/wt/odlux/apps/demoApp/src/actions/authorActions.ts +++ /dev/null @@ -1,51 +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 { Action } from '../../../../framework/src/flux/action'; -import { Dispatch } from '../../../../framework/src/flux/store'; -import { AddErrorInfoAction } from '../../../../framework/src/actions/errorActions'; - -import { IAuthor } from '../models/author'; -import { authorService } from '../services/authorService'; - -export class ApplicationBaseAction extends Action { } - - -export class LoadAllAuthorsAction extends ApplicationBaseAction { - constructor() { - super(); - } -} - -// in React Action is most times a Message -export class AllAuthorsLoadedAction extends ApplicationBaseAction { - constructor(public authors: IAuthor[] | null, public error?: string) { - super(); - - } -} - -export const loadAllAuthorsAsync = (dispatch: Dispatch) => { - dispatch(new LoadAllAuthorsAction()); - authorService.getAllAuthors().then(authors => { - dispatch(new AllAuthorsLoadedAction(authors)); - }, error => { - dispatch(new AllAuthorsLoadedAction(null, error)); - dispatch(new AddErrorInfoAction(error)); - }); -} - diff --git a/sdnr/wt/odlux/apps/demoApp/src/components/counter.tsx b/sdnr/wt/odlux/apps/demoApp/src/components/counter.tsx deleted file mode 100644 index b47fa4507..000000000 --- a/sdnr/wt/odlux/apps/demoApp/src/components/counter.tsx +++ /dev/null @@ -1,34 +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 class Counter extends React.Component<{}, { counter: number }> { - constructor(props: {}) { - super(props); - - this.state = { - counter: 0 - }; - } - - render() { - return ( - <button onClick={ () => this.setState({ counter: this.state.counter + 1 }) }>{ this.state.counter }</button> - ) - } -}
\ No newline at end of file diff --git a/sdnr/wt/odlux/apps/demoApp/src/handlers/demoAppRootHandler.ts b/sdnr/wt/odlux/apps/demoApp/src/handlers/demoAppRootHandler.ts deleted file mode 100644 index 9ff8450c8..000000000 --- a/sdnr/wt/odlux/apps/demoApp/src/handlers/demoAppRootHandler.ts +++ /dev/null @@ -1,43 +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 { combineActionHandler } from '../../../../framework/src/flux/middleware'; - -import { IApplicationStoreState } from '../../../../framework/src/store/applicationStore'; - -import { listAuthorsHandler, IListAuthors } from './listAuthorsHandler'; -import { editAuthorHandler, IEditAuthor } from './editAuthorHandler'; - -export interface IDemoAppStoreState { - listAuthors: IListAuthors; - editAuthor: IEditAuthor; -} - -declare module '../../../../framework/src/store/applicationStore' { - interface IApplicationStoreState { - demo: IDemoAppStoreState - } -} - -const actionHandlers = { - listAuthors: listAuthorsHandler, - editAuthor: editAuthorHandler, -}; - -export const demoAppRootHandler = combineActionHandler <IDemoAppStoreState>(actionHandlers); -export default demoAppRootHandler; diff --git a/sdnr/wt/odlux/apps/demoApp/src/handlers/editAuthorHandler.ts b/sdnr/wt/odlux/apps/demoApp/src/handlers/editAuthorHandler.ts deleted file mode 100644 index 34b533cb1..000000000 --- a/sdnr/wt/odlux/apps/demoApp/src/handlers/editAuthorHandler.ts +++ /dev/null @@ -1,33 +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 { IActionHandler } from '../../../../framework/src/flux/action'; - -import { IAuthor } from '../models/author'; -export interface IEditAuthor { - author: IAuthor | null; - isDirty: boolean; -} - -const editAuthorInit: IEditAuthor = { - author: null, - isDirty: false -}; - -export const editAuthorHandler: IActionHandler<IEditAuthor> = (state = editAuthorInit, action) => { - return state; -}; diff --git a/sdnr/wt/odlux/apps/demoApp/src/handlers/listAuthorsHandler.ts b/sdnr/wt/odlux/apps/demoApp/src/handlers/listAuthorsHandler.ts deleted file mode 100644 index ca2b6d3c6..000000000 --- a/sdnr/wt/odlux/apps/demoApp/src/handlers/listAuthorsHandler.ts +++ /dev/null @@ -1,57 +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 { IActionHandler } from '../../../../framework/src/flux/action'; - -import { IAuthor } from '../models/author'; -import { LoadAllAuthorsAction, AllAuthorsLoadedAction } from '../actions/authorActions'; - -export interface IListAuthors { - authors: IAuthor[]; - busy: boolean; -} - -const listAuthorsInit: IListAuthors = { - authors: [], - busy: false -}; - -export const listAuthorsHandler: IActionHandler<IListAuthors> = (state = listAuthorsInit, action) => { - if (action instanceof LoadAllAuthorsAction) { - - state = { - ...state, - busy: true - }; - - } else if (action instanceof AllAuthorsLoadedAction) { - if (!action.error && action.authors) { - state = { - ...state, - authors: action.authors, - busy: false - }; - } else { - state = { - ...state, - busy: false - }; - } - } - - return state; -};
\ No newline at end of file diff --git a/sdnr/wt/odlux/apps/demoApp/src/index.html b/sdnr/wt/odlux/apps/demoApp/src/index.html deleted file mode 100644 index e85bcbb03..000000000 --- a/sdnr/wt/odlux/apps/demoApp/src/index.html +++ /dev/null @@ -1,25 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - -<head> - <meta charset="UTF-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <meta http-equiv="X-UA-Compatible" content="ie=edge"> - <!-- <link rel="stylesheet" href="./vendor.css" > --> - <title>Demo App</title> -</head> - -<body> - <div id="app"></div> - <script type="text/javascript" src="./require.js"></script> - <script type="text/javascript" src="./config.js"></script> - <script> - // run the application - require(["app","demoApp"], function (app, demoApp) { - demoApp.register(); - app("./app.tsx"); - }); - </script> -</body> - -</html>
\ No newline at end of file diff --git a/sdnr/wt/odlux/apps/demoApp/src/models/author.ts b/sdnr/wt/odlux/apps/demoApp/src/models/author.ts deleted file mode 100644 index 7e28ae8aa..000000000 --- a/sdnr/wt/odlux/apps/demoApp/src/models/author.ts +++ /dev/null @@ -1,19 +0,0 @@ -/** - * Represents an author. - */ -export interface IAuthor { - /** - * Defines the unique id of the autor. - */ - id: number; - - /** - * Defines the first name of this author. - */ - firstName: string; - - /** - * Defines the last name of this author. - */ - lastName: string; -} diff --git a/sdnr/wt/odlux/apps/demoApp/src/plugin.tsx b/sdnr/wt/odlux/apps/demoApp/src/plugin.tsx deleted file mode 100644 index 4d67c28ac..000000000 --- a/sdnr/wt/odlux/apps/demoApp/src/plugin.tsx +++ /dev/null @@ -1,54 +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, Route, Switch, Redirect } from 'react-router-dom'; - -import { faAddressBook, faRegistered } from '@fortawesome/free-solid-svg-icons'; - -import applicationManager from '../../../framework/src/services/applicationManager'; -import connect, { Connect } from '../../../framework/src/flux/connect'; - -import { demoAppRootHandler } from './handlers/demoAppRootHandler'; - -import AuthorsList from './views/authorsList'; -import EditAuthor from './views/editAuthor'; - -import { Counter } from './components/counter'; - -type AppProps = RouteComponentProps & Connect; - -const App = (props: AppProps) => ( - <Switch> - <Route exact path={ `${ props.match.path }/authors` } component={AuthorsList} /> - <Route path={ `${ props.match.path }/authors/:authorId` } component={EditAuthor } /> - <Redirect to={ `${ props.match.path }/authors` } /> - </Switch> -); - -const FinalApp = withRouter(connect()(App)); - -export function register() { - const applicationApi = applicationManager.registerApplication({ - name: "demo", - icon: faAddressBook, - rootComponent: FinalApp, - rootActionHandler: demoAppRootHandler, - exportedComponents: { counter: Counter }, - menuEntry: "Demo" - }); -} diff --git a/sdnr/wt/odlux/apps/demoApp/src/services/authorService.ts b/sdnr/wt/odlux/apps/demoApp/src/services/authorService.ts deleted file mode 100644 index 13e4b316c..000000000 --- a/sdnr/wt/odlux/apps/demoApp/src/services/authorService.ts +++ /dev/null @@ -1,72 +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 { IAuthor } from '../models/author'; - -import * as $ from 'jquery'; - -const base_url = 'https://api.mfico.de/v1/authors'; - -/** - * Represents a web api accessor service for all author related actions. - */ -class AuthorService { - - /** - * Gets all known authors from the backend. - * @returns A promise of the type array of @see {@link IAuthor} containing all known authors. - */ - public getAllAuthors(): Promise<IAuthor[]> { - return new Promise((resolve: (value: IAuthor[]) => void, reject: (err: any) => void) => { - $.ajax({ method: "GET", url: base_url }) - .then((data) => { resolve(data); }, (err) => { reject(err) }); - }); - } - - /** - * Gets an author by its id from the backend. - * @returns A promise of the type @see {@link IAuthor} containing the author to get. - */ - public getAuthorById(id: string | number): Promise<IAuthor> { - return new Promise((resolve: (value: IAuthor) => void, reject: (err: any) => void) => { - $.ajax({ method: "GET", url: base_url + "/" + id }) - .then((data) => { resolve(data); }, (err) => { reject(err) }); - }); - } - - -/** - * Saves the given author to the backend api. - * @returns A promise of the type @see {@link IAuthor} containing the autor returned by the backend api. - */ - public saveAuthor(author: IAuthor): Promise<IAuthor> { - return new Promise((resolve: (value: IAuthor) => void, reject: (err: any) => void) => { - // simulate server save - window.setTimeout(() => { - if (Math.random() > 0.8) { - reject("Could not save author."); - } else { - resolve(author); - } - }, 800); // simulate a short network delay - }); - } -} - -// return as a singleton -export const authorService = new AuthorService(); -export default authorService; diff --git a/sdnr/wt/odlux/apps/demoApp/src/views/authorsList.tsx b/sdnr/wt/odlux/apps/demoApp/src/views/authorsList.tsx deleted file mode 100644 index b461aa7bd..000000000 --- a/sdnr/wt/odlux/apps/demoApp/src/views/authorsList.tsx +++ /dev/null @@ -1,87 +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 Table from '@material-ui/core/Table'; -import TableBody from '@material-ui/core/TableBody'; -import TableCell from '@material-ui/core/TableCell'; -import TableHead from '@material-ui/core/TableHead'; -import TableRow from '@material-ui/core/TableRow'; -import Paper from '@material-ui/core/Paper'; // means border - -import connect from '../../../../framework/src/flux/connect'; - -import { loadAllAuthorsAsync } from '../actions/authorActions'; -import { IAuthor } from '../models/author'; - -interface IAuthorsListProps { - authors: IAuthor[], - busy: boolean, - onLoadAllAuthors: () => void -} - -class AuthorsListComponent extends React.Component<RouteComponentProps & IAuthorsListProps> { - - render(): JSX.Element { - const { authors, busy } = this.props; - return ( - <Paper> - <Table > - <TableHead> - <TableRow> - <TableCell numeric>Id</TableCell> - <TableCell >First Name</TableCell> - <TableCell >Last Name</TableCell> - </TableRow> - </TableHead> - <TableBody> - { authors.map(author => ( - <TableRow key={ author.id } onClick={ (e) => this.editAuthor(author) }> - <TableCell>{ author.id }</TableCell> - <TableCell>{ author.firstName }</TableCell> - <TableCell>{ author.lastName }</TableCell> - </TableRow> - )) } - </TableBody> - </Table> - </Paper> - ); - }; - - public componentDidMount() { - this.props.onLoadAllAuthors(); - } - - private editAuthor = (author: IAuthor) => { - author && this.props.history.push(this.props.match.path + '/' + author.id); - }; -} - -export const AuthorsList = withRouter( - connect( - ({ demo: state }) => ({ - authors: state.listAuthors.authors, - busy: state.listAuthors.busy - }), - (dispatcher) => ({ - onLoadAllAuthors: () => { - dispatcher.dispatch(loadAllAuthorsAsync) - } - }))(AuthorsListComponent)); -export default AuthorsList; diff --git a/sdnr/wt/odlux/apps/demoApp/src/views/editAuthor.tsx b/sdnr/wt/odlux/apps/demoApp/src/views/editAuthor.tsx deleted file mode 100644 index 92f671234..000000000 --- a/sdnr/wt/odlux/apps/demoApp/src/views/editAuthor.tsx +++ /dev/null @@ -1,34 +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'; - -type EditAuthorProps = RouteComponentProps<{ authorId: string}>; - -class EditAuthorComponent extends React.Component<EditAuthorProps> { - render(): JSX.Element { - return ( - <div> - <h2>Edit Author { this.props.match.params.authorId }</h2> - </div> - ) - } -} - -export const EditAuthor = withRouter(EditAuthorComponent); -export default EditAuthor;
\ No newline at end of file |