From 436fd597b27506821ffb456acd20945ed975a944 Mon Sep 17 00:00:00 2001 From: snoop Date: Fri, 26 May 2017 18:58:37 +0900 Subject: [PATCH] sexy boy --- .gitignore | 4 +- .vscode/tasks.json | 29 ++ public/favicon.ico | Bin 0 -> 24838 bytes public/index.html | 19 ++ src/ts/components/rest.tsx | 34 +++ src/ts/containers/member/login.tsx | 177 +++++++++++ src/ts/containers/member/regist.tsx | 358 ++++++++++++++++------- src/ts/containers/prove/download.tsx | 58 ++++ src/ts/containers/prove/installguide.tsx | 0 src/ts/index.tsx | 3 + 10 files changed, 568 insertions(+), 114 deletions(-) create mode 100644 .vscode/tasks.json create mode 100644 public/favicon.ico create mode 100644 public/index.html create mode 100644 src/ts/components/rest.tsx create mode 100644 src/ts/containers/member/login.tsx create mode 100644 src/ts/containers/prove/download.tsx create mode 100644 src/ts/containers/prove/installguide.tsx diff --git a/.gitignore b/.gitignore index 447f30c..efb558f 100644 --- a/.gitignore +++ b/.gitignore @@ -59,5 +59,5 @@ typings/ dist/ node_modules/ -public/ -.vscode/ + + diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..f5deb72 --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,29 @@ +{ + // See https://go.microsoft.com/fwlink/?LinkId=733558 + // for the documentation about the tasks.json format + "version": "0.1.0", + "isShellCommand": true, + "showOutput": "always", + "suppressTaskName": false, + "args": [ + "--color" + ], + + "tasks": [ + { + "taskName": "npm:webpack-dev-server", + "command": "npm", + "args": ["run", "webpack-dev-server"], + "isBuildCommand": true, + "isTestCommand": false + }, + { + "taskName": "gulp:webpack", + "command": "gulp", + "args": ["webpack"], + "isBuildCommand": true, + "isTestCommand": false + } + + ] +} diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..5c125de5d897c1ff5692a656485b3216123dcd89 GIT binary patch literal 24838 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 + + + + Hello React! + + + + + + + + +
+ + + \ No newline at end of file diff --git a/src/ts/components/rest.tsx b/src/ts/components/rest.tsx new file mode 100644 index 0000000..a08f4e0 --- /dev/null +++ b/src/ts/components/rest.tsx @@ -0,0 +1,34 @@ + + +const url = "http://192.168.1.203:8080/v1/overflow/services"; + +export class OFRest { + + obj: any; + + + constructor(serviceName: string, methodName: string, data: any) { + + this.obj = { + "serviceName": serviceName, + "methodName": methodName, + "param": data + + }; + + + + } + + public Call() { + return fetch(url, { + method: 'POST', + headers: { + 'Accept': 'application/json', + // mode: 'no-cors' + }, + body: JSON.stringify(this.obj) + }) + } + +} \ No newline at end of file diff --git a/src/ts/containers/member/login.tsx b/src/ts/containers/member/login.tsx new file mode 100644 index 0000000..6565a26 --- /dev/null +++ b/src/ts/containers/member/login.tsx @@ -0,0 +1,177 @@ +/** + * In this file, we create a React component + * which incorporates components provided by Material-UI. + */ +import * as React from 'react'; +import RaisedButton from 'material-ui/RaisedButton'; +import Dialog from 'material-ui/Dialog'; +import { deepOrange500 } from 'material-ui/styles/colors'; +import FlatButton from 'material-ui/FlatButton'; +import getMuiTheme from 'material-ui/styles/getMuiTheme'; +import MuiThemeProvider from 'material-ui/styles/MuiThemeProvider'; + +import * as ReactDOM from 'react-dom'; + +import Divider from 'material-ui/Divider'; +import Paper from 'material-ui/Paper'; +import TextField from 'material-ui/TextField'; + +import SelectField from 'material-ui/SelectField'; +import MenuItem from 'material-ui/MenuItem'; + +import Slider from 'material-ui/Slider'; + +import * as http from "http" + + + + +const styles = { + body: { + textAlign: 'center', + }, + container: { + textAlign: 'center', + + }, + + textfield: { + width: 300, + marginLeft: 3 + }, + + customWidth: { + width: 150, + }, + button: { + margin: 12, + } +}; + +const muiTheme = getMuiTheme({ + palette: { + accent1Color: deepOrange500, + }, +}); + +export class MemberLogin extends React.Component { + constructor(props: any, context: any) { + super(props, context); + + this.handleSignUp = this.handleSignUp.bind(this); + + this.state = { + open: false, + value: 1, + + email: "", + pw: "", + }; + } + + handleChange = () => this.setState({}); + + private emailInput: any; + + handleRequestClose = () => { + this.setState({ + open: false, + }); + } + + handleTouchTap = () => { + this.setState({ + open: true, + }); + } + + handleSignUp = () => { + + let output: string; + let obj: any; //new object declaration + obj = { + "email": this.state.email, + "pwSalt": this.state.pw, + }; + + let exeObj: any; + exeObj = { + "serviceName": "Member", + "methodName": "Login", + "param": obj + } + + + output = JSON.stringify(exeObj); + + // obj = { "value": output }; + + fetch('http://192.168.1.203:8080/v1/overflow/services', { + method: 'POST', + headers: { + 'Accept': 'application/json', + // mode: 'no-cors' + }, + body: output + }).then(function (response) { + return response.json(); + }).then(function (json) { + console.log(json); + + }).catch((err) => { + console.log(err); + }); + + + + + + } + + + +btnTouchTap = () => { + alert(event) +}; + +render() { + + return ( + + +
+

Log in with a overflow Account:

+
+ this.setState({ email: newValue })} + /> + +
+ + this.setState({ pw: newValue })} + /> +
+ + + + +
+ +
+ ); +} +} + diff --git a/src/ts/containers/member/regist.tsx b/src/ts/containers/member/regist.tsx index bf7ec16..8293cf3 100644 --- a/src/ts/containers/member/regist.tsx +++ b/src/ts/containers/member/regist.tsx @@ -25,6 +25,8 @@ import * as http from "http" import { MemberRegistResult } from './registResult'; +import { OFRest } from '../../components/rest'; + const styles = { body: { @@ -60,10 +62,13 @@ export class MemberRegist extends React.Component { this.handleSignUp = this.handleSignUp.bind(this); + + this.state = { open: false, value: 1, + id:0, email: "", name: "", company: "", @@ -76,17 +81,7 @@ export class MemberRegist extends React.Component { private emailInput: any; - handleRequestClose = () => { - this.setState({ - open: false, - }); - } - - handleTouchTap = () => { - this.setState({ - open: true, - }); - } + handleSignUp = () => { @@ -100,17 +95,74 @@ export class MemberRegist extends React.Component { "phone": this.state.phone }; - let exeObj :any; + let os: OFRest = new OFRest("Member", "Regist", obj); + + os.Call().then(function (res) { + return res.json(); + }).then(function(json) { + console.log(json); + ReactDOM.render(, document.getElementById('example')); + }).catch(function(err) { +console.log(err); + }); + + // let exeObj: any; + // exeObj = { + // "serviceName": "Member", + // "methodName": "Regist", + // "param": obj + // } + + + // output = JSON.stringify(exeObj); + + // // obj = { "value": output }; + + // fetch('http://192.168.1.203:8080/v1/overflow/services', { + // method: 'POST', + // headers: { + // 'Accept': 'application/json', + // // mode: 'no-cors' + // }, + // body: output + // }).then(function (response) { + // return response.json(); + // }).then(function (json) { + // console.log(json); + // ReactDOM.render(, document.getElementById('example') + // ); + // }).catch((err) => { + // console.log(err); + // }); + + + + + + } + + handleTestRead = () => { + let output: string; + let obj: any; //new object declaration + obj = { + "id":this.state.id, + "email": this.state.email, + "pwSalt": this.state.pw, + "name": this.state.name, + "company": this.state.company, + "phone": this.state.phone + }; + + let exeObj: any; exeObj = { - "serviceName":"Member", - "methodName":"Regist", - "param":obj - } + "serviceName": "Member", + "methodName": "Read", + "param": obj + }; output = JSON.stringify(exeObj); - // obj = { "value": output }; fetch('http://192.168.1.203:8080/v1/overflow/services', { method: 'POST', @@ -123,101 +175,183 @@ export class MemberRegist extends React.Component { return response.json(); }).then(function (json) { console.log(json); - ReactDOM.render(, document.getElementById('example') - ); }).catch((err) => { - console.log(err); - }); - - - - - - } - - - handleResultContainer = () => { - ReactDOM.render( - , - document.getElementById('example') - ); - } - - - btnTouchTap = () => { - alert(event) - }; - - render() { - - return ( - - -
- Get started with Overflow -
- this.setState({ email: newValue })} - /> -
- this.setState({ name: newValue })} - - /> -
- - this.setState({ company: newValue })} - /> -
- - this.setState({ phone: newValue })} - /> -
- - this.setState({ pw: newValue })} - /> -
- - - - -
- -
- ); - } + console.log(err); + }); +} + +handleTestUpdate = () => { + let output: string; + let obj: any; //new object declaration + obj = { + "id":this.state.id, + "email": this.state.email, + "pwSalt": this.state.pw, + "name": this.state.name, + "company": this.state.company, + "phone": this.state.phone + }; + + let exeObj: any; + exeObj = { + "serviceName": "Member", + "methodName": "Modify", + "param": obj + }; + + + output = JSON.stringify(exeObj); + + + fetch('http://192.168.1.203:8080/v1/overflow/services', { + method: 'POST', + headers: { + 'Accept': 'application/json', + // mode: 'no-cors' + }, + body: output + }).then(function (response) { + return response.json(); + }).then(function (json) { + console.log(json); + }).catch((err) => { + console.log(err); + }); +} + +handleTestDelete = () => { + let output: string; + let obj: any; //new object declaration + obj = { + "id":this.state.id, + "email": this.state.email, + "pwSalt": this.state.pw, + "name": this.state.name, + "company": this.state.company, + "phone": this.state.phone + }; + + let exeObj: any; + exeObj = { + "serviceName": "Member", + "methodName": "Remove", + "param": obj + }; + + + output = JSON.stringify(exeObj); + + + fetch('http://192.168.1.203:8080/v1/overflow/services', { + method: 'POST', + headers: { + 'Accept': 'application/json', + // mode: 'no-cors' + }, + body: output + }).then(function (response) { + return response.json(); + }).then(function (json) { + console.log(json); + }).catch((err) => { + console.log(err); + }); + } + + +handleResultContainer = () => { + ReactDOM.render( + , + document.getElementById('example') + ); +} + + +btnTouchTap = () => { + alert(event) +}; + +render() { + + return ( + + +
+ Get started with Overflow +
+ this.setState({ email: newValue })} + /> +
+ this.setState({ name: newValue })} + + /> +
+ + this.setState({ company: newValue })} + /> +
+ + this.setState({ phone: newValue })} + /> +
+ + this.setState({ pw: newValue })} + /> +
+ + + + + + +
+ this.setState({ id: newValue })} + /> +
+ +
+ ); +} } diff --git a/src/ts/containers/prove/download.tsx b/src/ts/containers/prove/download.tsx new file mode 100644 index 0000000..52ee6e8 --- /dev/null +++ b/src/ts/containers/prove/download.tsx @@ -0,0 +1,58 @@ +import * as React from 'react'; + +import { List, ListItem } from 'material-ui/List'; +import ContentInbox from 'material-ui/svg-icons/content/inbox'; +import ActionGrade from 'material-ui/svg-icons/action/grade'; +import ContentSend from 'material-ui/svg-icons/content/send'; +import ContentDrafts from 'material-ui/svg-icons/content/drafts'; +import Divider from 'material-ui/Divider'; +import ActionInfo from 'material-ui/svg-icons/action/info'; +import MuiThemeProvider from 'material-ui/styles/MuiThemeProvider'; + + +const styles = { + container: { + textAlign: "center", + width: 250, + + } +} + +export class ProveDownload extends React.Component { + constructor(props: any, context: any) { + super(props, context) + + } + + + + render() { + + + return ( + +
+ + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + + +
+
+ ); + } +} diff --git a/src/ts/containers/prove/installguide.tsx b/src/ts/containers/prove/installguide.tsx new file mode 100644 index 0000000..e69de29 diff --git a/src/ts/index.tsx b/src/ts/index.tsx index 5011661..3e831f1 100644 --- a/src/ts/index.tsx +++ b/src/ts/index.tsx @@ -4,6 +4,9 @@ import * as injectTapEventPlugin from 'react-tap-event-plugin'; import { MemberRegist } from './containers/member/regist'; import { MemberRegistResult } from './containers/member/registResult'; import { MemberEmailConfirm } from './containers/member/emailConfirm'; +import { MemberLogin } from './containers/member/login'; +import { Main } from './containers/Main'; +import { ProveDownload } from './containers/prove/download'; import '../scss/index.scss';