sawa 0.0.18 → 0.0.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0c0330504b5c9c89d33e13cb6194afa44d621ded
4
- data.tar.gz: 1c8c8b02de858fe598769e62f326f802cd8f3374
3
+ metadata.gz: ee463088334ff7af72c83f43dbc585691da3687c
4
+ data.tar.gz: 5e48cdc710ef8d36e9d90e733c50e9e2dbe44672
5
5
  SHA512:
6
- metadata.gz: 7875b5b9d76e9509faf10a505236b82d70c6710aef471c13ec5cc4c06bd8ffff309ea0d3e9784fc513ecb366ab7d6d04441af803d1d488555535592e6f7a66d6
7
- data.tar.gz: aefd76f66d531dcdb5ef1e32882a3926248abf6f98580069a2d13d8b786da33e8d3977e154bb5611db047e8798778d4532ceb6453b3b11e01090dae07390863b
6
+ metadata.gz: 57dcd57446a8a7069db47e300fbfcdf768e576555fb7fe18b7b1a72204b4919f63c5b64212faefba7adb227969addf2c72b6aa7cc0dca745c02acf3a5349d09c
7
+ data.tar.gz: cf4a3883616745288bdf8fdb75bdaf79fbc1180c0b7aa49868c2fd799ad5468cf719856eb81e1f20710fcdc98d6152f6d942363f3c6ab89d5df92412e1e2ed6f
@@ -1,3 +1,3 @@
1
1
  eclipse.preferences.version=1
2
- encoding//lib/sawa/tpl/app.js.mustache=UTF-8
2
+ encoding//lib/sawa/tpl/routes.js.mustache=UTF-8
3
3
  encoding/<project>=UTF-8
@@ -1,5 +1,5 @@
1
1
  import React, { Component } from 'react';
2
- import MiniPage from '../Page';
2
+ import MiniPage from '../tools/Page';
3
3
  class {{page_name}} extends Component {
4
4
 
5
5
  render() {
@@ -0,0 +1,20 @@
1
+ import React, { Component } from 'react';
2
+ {{# sheet_arr}}
3
+ import {{page_name}} from './pages/{{page_name}}'
4
+ {{/ sheet_arr}}
5
+ import CustomRoute from './components/CustomRoute'
6
+ import {Switch,Route} from 'react-router-dom'
7
+ class Routes extends Component {
8
+ render() {
9
+ return (
10
+ <Switch>
11
+ {{# sheet_arr}}
12
+ <Route path='/{{resource_path}}' component={ {{page_name}} } />
13
+ {{/ sheet_arr}}
14
+ <CustomRoute user={this.props.user} setUser={this.props.setUser}/>
15
+ </Switch>
16
+ )
17
+ }
18
+ }
19
+
20
+ export default Routes;
@@ -0,0 +1,34 @@
1
+ import React, { Component } from 'react';
2
+ import CustomMenu from './components/CustomMenu';
3
+ import { Link } from 'react-router-dom'
4
+ import { Menu, Button } from 'semantic-ui-react'
5
+
6
+ class Toolbar extends Component {
7
+
8
+ constructor (props) {
9
+ super(props)
10
+ this.handleItemClick = (e, { name }) => this.setState({ activeItem: name })
11
+ this.state = {activeItem: ""}
12
+ }
13
+
14
+ render() {
15
+ const { activeItem } = this.state
16
+ if(this.props.user === undefined || this.props.user === null) return null
17
+ const admin = this.props.user.role === "ADMIN"
18
+ return(
19
+ <Menu inverted pointing secondary>
20
+ {{# sheet_arr}}
21
+ <Menu.Item style={ {display: admin ? 'block' : 'none'} } name='{{resource_path}}' active={activeItem === '{{resource_path}}'} as={Link} to='/{{resource_path}}' onClick={this.handleItemClick} >{{model_title}}</Menu.Item>
22
+ {{/ sheet_arr}}
23
+ <CustomMenu activeItem={activeItem} onClick={this.handleItemClick} />
24
+ <Menu.Menu position='right'>
25
+ <Menu.Item as={Link} to='/logout'>
26
+ <Button primary >Sign out</Button>
27
+ </Menu.Item>
28
+ </Menu.Menu>
29
+ </Menu>
30
+ )
31
+ }
32
+ }
33
+
34
+ export default Toolbar;
data/lib/sawa/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  class Sawa
2
- VERSION = "0.0.18"
2
+ VERSION = "0.0.19"
3
3
  end
data/lib/sawa.rb CHANGED
@@ -63,17 +63,22 @@ class Sawa
63
63
  str_property = @work.render
64
64
  File.open("#{@XML_PATH}/property.properties", 'w') { |file| file.write(str_property) }
65
65
 
66
- #app.js
67
- @work.template_file = "#{@TPL_PATH}/app.js.mustache"
68
- str_app_js = @work.render
69
- File.open("#{@JSRC_PATH}/App.js", 'w') { |file| file.write(str_app_js) }
66
+ #Routes.js
67
+ @work.template_file = "#{@TPL_PATH}/routes.js.mustache"
68
+ str_routes_js = @work.render
69
+ File.open("#{@JSRC_PATH}/Routes.js", 'w') { |file| file.write(str_routes_js) }
70
+
71
+ #Toolbar.js
72
+ @work.template_file = "#{@TPL_PATH}/toolbar.js.mustache"
73
+ str_toolbar_js = @work.render
74
+ File.open("#{@JSRC_PATH}/Toolbar.js", 'w') { |file| file.write(str_toolbar_js) }
70
75
 
71
- #source.js
76
+ #Source.js
72
77
  @work.template_file = "#{@TPL_PATH}/source.js.mustache"
73
78
  str_source_js = @work.render
74
79
  File.open("#{@JSRC_PATH}/Source.js", 'w') { |file| file.write(str_source_js) }
75
80
 
76
- #page.js
81
+ #pages
77
82
  @work.sheets.each do |name, sheet|
78
83
  sheet.template_file = "#{@TPL_PATH}/page.js.mustache"
79
84
  str_page_js = sheet.render
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sawa
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.18
4
+ version: 0.0.19
5
5
  platform: ruby
6
6
  authors:
7
7
  - shouaya
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-10-06 00:00:00.000000000 Z
11
+ date: 2017-10-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -121,14 +121,15 @@ files:
121
121
  - lib/sawa/MiniSheet.rb
122
122
  - lib/sawa/MiniWork.rb
123
123
  - lib/sawa/tpl/api.mustache
124
- - lib/sawa/tpl/app.js.mustache
125
124
  - lib/sawa/tpl/crud.mustache
126
125
  - lib/sawa/tpl/dao.mustache
127
126
  - lib/sawa/tpl/model.mustache
128
127
  - lib/sawa/tpl/page.js.mustache
129
128
  - lib/sawa/tpl/property.mustache
130
129
  - lib/sawa/tpl/resource.mustache
130
+ - lib/sawa/tpl/routes.js.mustache
131
131
  - lib/sawa/tpl/source.js.mustache
132
+ - lib/sawa/tpl/toolbar.js.mustache
132
133
  - lib/sawa/version.rb
133
134
  - sawa.gemspec
134
135
  homepage: https://github.com/shouaya/sawagem
@@ -1,82 +0,0 @@
1
- import React, { Component } from 'react';
2
- import './App.css';
3
- import Guide from './Guide';
4
- {{# sheet_arr}}
5
- import {{page_name}} from './pages/{{page_name}}'
6
- {{/ sheet_arr}}
7
- import CustomMenu from './CustomMenu'
8
- import CustomRoute from './CustomRoute'
9
- import {
10
- BrowserRouter as Router,
11
- Route,
12
- Link
13
- } from 'react-router-dom'
14
- import { Menu, Divider, Header,Image } from 'semantic-ui-react'
15
-
16
- class App extends Component {
17
- state = {user:null, users: [], login:false}
18
-
19
- handleItemClick = (e, { name }) => this.setState({ activeItem: name })
20
-
21
- getCookie(name) {
22
- var value = "; " + document.cookie;
23
- var parts = value.split("; " + name + "=");
24
- if (parts.length === 2) return parts.pop().split(";").shift();
25
- }
26
-
27
- deleteCookie(name) {
28
- document.cookie = name + '=; expires=Thu, 01 Jan 1970 00:00:01 GMT;';
29
- }
30
-
31
- onError(res){
32
- if(res.status === 403 || res.status === 401){
33
- this.deleteCookie("uid")
34
- this.deleteCookie("tooken")
35
- this.setState({ login:false })
36
- }
37
- }
38
-
39
- componentWillMount(){
40
- let uid = this.getCookie("uid")
41
- let token = this.getCookie("tooken")
42
- if(uid !== null && token !== null){
43
- this.setState({ login:true })
44
- }
45
- }
46
-
47
- onlineChange(users){
48
- this.setState({ users: users })
49
- }
50
-
51
- onLogin(user){
52
- this.setState({ user: user, login:true })
53
- }
54
-
55
- render() {
56
- const { activeItem } = this.state
57
- if(!this.state.login) return <Guide onLogin={this.onLogin.bind(this)} login={this.state.login}/>
58
- return (
59
- <Router>
60
- <div className="body">
61
- <Link to='/'>
62
- <Header><Image src='http://s3.9jialu.com/whale64.png' size='tiny' wrapped verticalAlign='bottom'/></Header>
63
- </Link>
64
- <Menu>
65
- {{# sheet_arr}}
66
- <Menu.Item name='{{resource_path}}' active={activeItem === '{{resource_path}}'} as={Link} to='/{{resource_path}}' onClick={this.handleItemClick} >{{model_title}}</Menu.Item>
67
- {{/ sheet_arr}}
68
- <CustomMenu activeItem={activeItem} onClick={this.handleItemClick} />
69
- </Menu>
70
- <Divider />
71
- <Route exact path="/" render={() => <Guide onLogin={this.onLogin.bind(this)} login={this.state.login} onError={this.onError.bind(this)}/>} />
72
- {{# sheet_arr}}
73
- <Route path='/{{resource_path}}' render={() => <{{page_name}} onError={this.onError.bind(this)}/>}/>
74
- {{/ sheet_arr}}
75
- <CustomRoute onError={this.onError.bind(this)}/>
76
- </div>
77
- </Router>
78
- );
79
- }
80
- }
81
-
82
- export default App;