diff options
Diffstat (limited to 'sdnr/wt/odlux/apps/demoApp/src')
11 files changed, 0 insertions, 527 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 f22d1e0a3..000000000 --- a/sdnr/wt/odlux/apps/demoApp/src/actions/authorActions.ts +++ /dev/null @@ -1,48 +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 { - -} - -// 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 1aad97451..000000000 --- a/sdnr/wt/odlux/apps/demoApp/src/components/counter.tsx +++ /dev/null @@ -1,29 +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 React, { FC, useState } from 'react'; - -const Counter: FC = () => { - const [counter, setCounter] = useState(0); - return ( - <button onClick={() => setCounter(counter + 1 )} color="inherit">{counter}</button> - ); -}; - -Counter.displayName = 'Counter'; - -export { Counter };
\ 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 1f920f2a8..000000000 --- a/sdnr/wt/odlux/apps/demoApp/src/handlers/demoAppRootHandler.ts +++ /dev/null @@ -1,44 +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'; - -// eslint-disable-next-line @typescript-eslint/no-unused-vars -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 1d37a36cc..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 c85eaff04..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 521c8902c..000000000 --- a/sdnr/wt/odlux/apps/demoApp/src/index.html +++ /dev/null @@ -1,26 +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").configureApplication({ authentication:"oauth", enablePolicy: true,}); - 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 bdd414cba..000000000 --- a/sdnr/wt/odlux/apps/demoApp/src/models/author.ts +++ /dev/null @@ -1,37 +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========================================================================== - */ - -/** - * Represents an author. - */ -export interface IAuthor { - /** - * Defines the unique id of the author. - */ - 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 7b29b4045..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 React from 'react'; -import { withRouter, RouteComponentProps, Route, Switch, Redirect } from 'react-router-dom'; - -import { faAddressBook } from '@fortawesome/free-solid-svg-icons/faAddressBook'; - -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() { - 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 deaa2ff76..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 5d9f13a55..000000000 --- a/sdnr/wt/odlux/apps/demoApp/src/views/authorsList.tsx +++ /dev/null @@ -1,93 +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 React from 'react'; -import { withRouter, RouteComponentProps } from 'react-router-dom'; - -import Table from '@mui/material/Table'; -import TableBody from '@mui/material/TableBody'; -import TableCell from '@mui/material/TableCell'; -import TableHead from '@mui/material/TableHead'; -import TableRow from '@mui/material/TableRow'; -import Paper from '@mui/material/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 busy - ? ( - <Paper> - Loading - </Paper> - ) - : ( - <Paper> - <Table padding="normal" > - <TableHead> - <TableRow> - <TableCell align="right">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) => { - if (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 0da619ba2..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 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 |