appril-cli 0.0.7 → 0.0.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/boilerplate/app/base/api/deploy.coffee +35 -0
- data/boilerplate/app/base/core.coffee +26 -55
- data/boilerplate/crudle/base/api/deploy.coffee +41 -0
- data/boilerplate/crudle/generators/api/client.coffee +18 -6
- data/lib/appril-cli/version.rb +1 -1
- metadata +5 -4
- data/boilerplate/crudle/base/core.coffee +0 -128
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c35966729ddb1fdba992af4e06e467f86fcbe560
|
4
|
+
data.tar.gz: deaa22602500fba0fc0bd87af2efdd8f38a46747
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b49fe7811bfd656adb0b6f573668b70cc627d698553cda7d4afef89635696629612fa88e0b2453042626918fae4d07d832d4630586dc4a57c870db421d1d0168
|
7
|
+
data.tar.gz: e95dc5484b014c74976d184f62e0feef2faa3a9589ff04bc24d764ff73e0316e0ac6e1887d46bdbc770b65ec671a4a3e1c33b94d9e9f53032f3e3737651e66d5
|
@@ -0,0 +1,35 @@
|
|
1
|
+
_ = {
|
2
|
+
has: require('lodash/has')
|
3
|
+
}
|
4
|
+
|
5
|
+
templates = {
|
6
|
+
none: require('templates/layouts/none')
|
7
|
+
main: require('templates/layouts/main')
|
8
|
+
}
|
9
|
+
|
10
|
+
previous_layout = null
|
11
|
+
module.exports = (api, env) ->
|
12
|
+
|
13
|
+
layout = if _.has(api, 'layout')
|
14
|
+
if api.layout == false
|
15
|
+
'none'
|
16
|
+
else
|
17
|
+
api.layout
|
18
|
+
else
|
19
|
+
'main'
|
20
|
+
#end
|
21
|
+
|
22
|
+
if layout == previous_layout
|
23
|
+
# do not re-render body if current api uses same layout as previous one
|
24
|
+
return api(env)
|
25
|
+
#end
|
26
|
+
previous_layout = layout
|
27
|
+
|
28
|
+
env.render
|
29
|
+
el: 'body'
|
30
|
+
template: templates[layout] || templates.none
|
31
|
+
oncomplete: ->
|
32
|
+
api(env)
|
33
|
+
#end
|
34
|
+
#end
|
35
|
+
#end
|
@@ -1,13 +1,14 @@
|
|
1
1
|
_ =
|
2
2
|
merge: require('lodash/merge')
|
3
|
-
has: require('lodash/has')
|
4
3
|
isFunction: require('lodash/isFunction')
|
5
4
|
#end
|
6
5
|
|
7
6
|
Core = require('appril')
|
8
7
|
Page = require('appril-page')
|
8
|
+
Load = require('appril-load')
|
9
9
|
Render = require('appril-ractive')
|
10
10
|
Reporter = require('appril-reporter')
|
11
|
+
DeployApi = require('./api/deploy.coffee')
|
11
12
|
require 'appril-polyfills'
|
12
13
|
require 'assets/styles.css'
|
13
14
|
|
@@ -36,10 +37,12 @@ Render.default_el = -> '#content'
|
|
36
37
|
Render.global_data = -> {App: App, Cfg: Cfg, Util: Util}
|
37
38
|
Render.global_handlers = -> {}
|
38
39
|
|
40
|
+
|
39
41
|
for name, controller of Core.controllers
|
40
42
|
App[name] = controller
|
41
43
|
#end
|
42
44
|
|
45
|
+
|
43
46
|
Core.on_initialize = (msg) ->
|
44
47
|
if window.Cfg = msg.data.cfg
|
45
48
|
delete msg.data.cfg
|
@@ -56,51 +59,6 @@ Core.on_initialize = (msg) ->
|
|
56
59
|
#end
|
57
60
|
#end
|
58
61
|
|
59
|
-
templates =
|
60
|
-
none: require('templates/layouts/none')
|
61
|
-
main: require('templates/layouts/main')
|
62
|
-
access_denied: require('templates/access_denied')
|
63
|
-
#end
|
64
|
-
|
65
|
-
partials = {}
|
66
|
-
|
67
|
-
deploy_api = (api) ->
|
68
|
-
|
69
|
-
env = _.merge({
|
70
|
-
render: Render,
|
71
|
-
render_component: Render.component,
|
72
|
-
render_string: Render.string
|
73
|
-
}, new Page)
|
74
|
-
|
75
|
-
layout = if _.has(api, 'layout')
|
76
|
-
if api.layout == false
|
77
|
-
'none'
|
78
|
-
else
|
79
|
-
api.layout
|
80
|
-
else
|
81
|
-
'main'
|
82
|
-
#end
|
83
|
-
|
84
|
-
if App.body
|
85
|
-
# do not re-render body if current api uses same layout as previous one
|
86
|
-
return new api(env) if App.body.layout == layout
|
87
|
-
#end
|
88
|
-
|
89
|
-
components = {}
|
90
|
-
|
91
|
-
App.body = env.render
|
92
|
-
el: 'body'
|
93
|
-
template: templates[layout] || templates.none
|
94
|
-
partials: partials
|
95
|
-
components: components
|
96
|
-
data: {}
|
97
|
-
|
98
|
-
oncomplete: ->
|
99
|
-
this.layout = layout
|
100
|
-
new api(env)
|
101
|
-
#end
|
102
|
-
#end
|
103
|
-
#end
|
104
62
|
|
105
63
|
previous_api = null
|
106
64
|
Core.on_controller_matched = (controller, context) ->
|
@@ -110,33 +68,46 @@ Core.on_controller_matched = (controller, context) ->
|
|
110
68
|
|
111
69
|
api.controller = controller
|
112
70
|
|
71
|
+
env = {
|
72
|
+
render: Render
|
73
|
+
render_component: Render.component
|
74
|
+
render_string: Render.string
|
75
|
+
page: new Page
|
76
|
+
context: context
|
77
|
+
}
|
78
|
+
_.merge(env, env.page)
|
79
|
+
|
113
80
|
if previous_api?.teardown
|
114
|
-
previous_api.teardown()
|
81
|
+
previous_api.teardown(env)
|
115
82
|
#end
|
116
83
|
previous_api = api
|
117
84
|
|
118
|
-
if
|
119
|
-
|
120
|
-
|
85
|
+
if api.has_css && !controller.css_loaded
|
86
|
+
Load.stylesheet controller.client_url + '.css', ->
|
87
|
+
controller.css_loaded = true
|
88
|
+
#end
|
121
89
|
|
122
|
-
|
123
|
-
|
90
|
+
if _.isFunction(api.acl)
|
91
|
+
|
92
|
+
if api.acl(env)
|
93
|
+
DeployApi(api, env)
|
124
94
|
else
|
125
95
|
Render
|
126
96
|
el: 'body'
|
127
|
-
template: templates
|
97
|
+
template: require('templates/layouts/main')
|
128
98
|
partials: partials
|
129
99
|
oncomplete: ->
|
130
|
-
Render(template: templates
|
100
|
+
Render(template: require('templates/access_denied'))
|
131
101
|
#end
|
132
102
|
|
133
103
|
else
|
134
|
-
|
104
|
+
DeployApi(api, env)
|
135
105
|
#end
|
136
106
|
|
137
107
|
#end
|
138
108
|
#end
|
139
109
|
|
110
|
+
|
140
111
|
document.addEventListener 'DOMContentLoaded', ->
|
141
112
|
# make sure this matches the RTCPController URL
|
142
113
|
Core.connect('__rtcp__')
|
@@ -0,0 +1,41 @@
|
|
1
|
+
_ = {
|
2
|
+
has: require('lodash/has')
|
3
|
+
}
|
4
|
+
|
5
|
+
Crudle = require('crudle')
|
6
|
+
|
7
|
+
templates = {
|
8
|
+
none: require('templates/layouts/none')
|
9
|
+
main: require('templates/layouts/main')
|
10
|
+
}
|
11
|
+
|
12
|
+
previous_layout = null
|
13
|
+
module.exports = (api, env) ->
|
14
|
+
|
15
|
+
crudle = Crudle(api.controller.ws, env.page)
|
16
|
+
crudle.partials.menu = require('templates/menu')
|
17
|
+
crudle.data.url = api.controller.url
|
18
|
+
|
19
|
+
layout = if _.has(api, 'layout')
|
20
|
+
if api.layout == false
|
21
|
+
'none'
|
22
|
+
else
|
23
|
+
api.layout
|
24
|
+
else
|
25
|
+
'main'
|
26
|
+
#end
|
27
|
+
|
28
|
+
if layout == previous_layout
|
29
|
+
# do not re-render body if current api uses same layout as previous one
|
30
|
+
return api(env, crudle)
|
31
|
+
#end
|
32
|
+
previous_layout = layout
|
33
|
+
|
34
|
+
env.render
|
35
|
+
el: 'body'
|
36
|
+
template: templates[layout] || templates.none
|
37
|
+
oncomplete: ->
|
38
|
+
api(env, crudle)
|
39
|
+
#end
|
40
|
+
#end
|
41
|
+
#end
|
@@ -1,11 +1,23 @@
|
|
1
|
-
# refer to underlying controller as self.controller
|
2
1
|
|
3
|
-
self = (env, layout
|
4
|
-
editor.partials.editor = require('./editor')
|
5
|
-
layout.components =
|
6
|
-
list: env.render_component(list)
|
7
|
-
editor: env.render_component(editor)
|
2
|
+
self = (env, layout) ->
|
3
|
+
layout.components.editor.partials.editor = require('./editor.html')
|
8
4
|
env.render(layout)
|
9
5
|
#end
|
10
6
|
|
11
7
|
module.exports = self
|
8
|
+
|
9
|
+
# list partials:
|
10
|
+
# - filters_layout
|
11
|
+
# - filters
|
12
|
+
# - pager
|
13
|
+
# - list_layout
|
14
|
+
# - list_header
|
15
|
+
# - list_footer
|
16
|
+
# - items
|
17
|
+
# - item
|
18
|
+
|
19
|
+
# editor partials:
|
20
|
+
# - editor
|
21
|
+
|
22
|
+
# self properties:
|
23
|
+
# - self.controller
|
data/lib/appril-cli/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: appril-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Slee Woo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-05-
|
11
|
+
date: 2016-05-06 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Appril CLI
|
14
14
|
email:
|
@@ -27,6 +27,7 @@ files:
|
|
27
27
|
- boilerplate/app/Gemfile
|
28
28
|
- boilerplate/app/Rakefile
|
29
29
|
- boilerplate/app/base/api/base_controller.rb
|
30
|
+
- boilerplate/app/base/api/deploy.coffee
|
30
31
|
- boilerplate/app/base/api/index/client.coffee
|
31
32
|
- boilerplate/app/base/api/index/layout.html
|
32
33
|
- boilerplate/app/base/api/index/server.rb
|
@@ -65,10 +66,10 @@ files:
|
|
65
66
|
- boilerplate/app/var/.ignore
|
66
67
|
- boilerplate/app/webpack.config.js
|
67
68
|
- boilerplate/crudle/Gemfile
|
69
|
+
- boilerplate/crudle/base/api/deploy.coffee
|
68
70
|
- boilerplate/crudle/base/api/index/client.coffee
|
69
71
|
- boilerplate/crudle/base/api/index/layout.html
|
70
72
|
- boilerplate/crudle/base/api/index/server.rb
|
71
|
-
- boilerplate/crudle/base/core.coffee
|
72
73
|
- boilerplate/crudle/base/templates/menu.html
|
73
74
|
- boilerplate/crudle/generators/api/client.coffee
|
74
75
|
- boilerplate/crudle/generators/api/editor.html
|
@@ -158,5 +159,5 @@ rubyforge_project:
|
|
158
159
|
rubygems_version: 2.5.1
|
159
160
|
signing_key:
|
160
161
|
specification_version: 4
|
161
|
-
summary: '["appril-cli-0.0.
|
162
|
+
summary: '["appril-cli-0.0.8", "Appril CLI"]'
|
162
163
|
test_files: []
|
@@ -1,128 +0,0 @@
|
|
1
|
-
_ =
|
2
|
-
merge: require('lodash/merge')
|
3
|
-
has: require('lodash/has')
|
4
|
-
isFunction: require('lodash/isFunction')
|
5
|
-
#end
|
6
|
-
|
7
|
-
Core = require('appril')
|
8
|
-
Page = require('appril-page')
|
9
|
-
Render = require('appril-ractive')
|
10
|
-
Reporter = require('appril-reporter')
|
11
|
-
require 'appril-polyfills'
|
12
|
-
require 'assets/styles.css'
|
13
|
-
|
14
|
-
CONSIDER_IDLE_AFTER = 5 * 60
|
15
|
-
|
16
|
-
window.Cfg = {}
|
17
|
-
window.Util = {}
|
18
|
-
window.App = {}
|
19
|
-
# window.Alert = require('appril-alert')
|
20
|
-
|
21
|
-
for k, v of require('appril-util')
|
22
|
-
Util[k] = v
|
23
|
-
#end
|
24
|
-
|
25
|
-
# for k, v of require('appril-datetime')
|
26
|
-
# Util[k] = v
|
27
|
-
# #end
|
28
|
-
|
29
|
-
for k, v of require('helpers/application_helpers.coffee')
|
30
|
-
Util[k] = v
|
31
|
-
#end
|
32
|
-
|
33
|
-
Object.freeze(Util)
|
34
|
-
|
35
|
-
Render.default_el = -> '#content'
|
36
|
-
Render.global_data = -> {App: App, Cfg: Cfg, Util: Util}
|
37
|
-
Render.global_handlers = -> {}
|
38
|
-
|
39
|
-
for name, controller of Core.controllers
|
40
|
-
App[name] = controller
|
41
|
-
#end
|
42
|
-
|
43
|
-
Core.on_initialize = (msg) ->
|
44
|
-
if window.Cfg = msg.data.cfg
|
45
|
-
delete msg.data.cfg
|
46
|
-
Object.freeze(Cfg)
|
47
|
-
|
48
|
-
for k, v of msg.data
|
49
|
-
App[k] = v
|
50
|
-
#end
|
51
|
-
|
52
|
-
Reporter CONSIDER_IDLE_AFTER, (status) ->
|
53
|
-
# close connection if user went away
|
54
|
-
Core.disconnect() if status == 'away'
|
55
|
-
#end
|
56
|
-
#end
|
57
|
-
|
58
|
-
templates =
|
59
|
-
none: require('templates/layouts/none.html')
|
60
|
-
main: require('templates/layouts/main.html')
|
61
|
-
access_denied: require('templates/access_denied.html')
|
62
|
-
#end
|
63
|
-
|
64
|
-
partials = {}
|
65
|
-
|
66
|
-
Crudle = require('crudle')
|
67
|
-
CrudleList = require('crudle-list')
|
68
|
-
CrudleEditor = require('crudle-editor')
|
69
|
-
|
70
|
-
deploy_api = (api) ->
|
71
|
-
|
72
|
-
page = new Page
|
73
|
-
env = _.merge({
|
74
|
-
render: Render
|
75
|
-
render_component: Render.component
|
76
|
-
render_string: Render.string
|
77
|
-
}, page)
|
78
|
-
|
79
|
-
crudle = Crudle(api.controller.ws, page)
|
80
|
-
crudle.partials.menu = require('templates/menu.html')
|
81
|
-
crudle.data.url = api.controller.url
|
82
|
-
|
83
|
-
api(
|
84
|
-
env,
|
85
|
-
crudle,
|
86
|
-
CrudleList(api.controller.ws, page),
|
87
|
-
CrudleEditor(api.controller.ws, page)
|
88
|
-
)
|
89
|
-
#end
|
90
|
-
|
91
|
-
previous_api = null
|
92
|
-
Core.on_controller_matched = (controller, context) ->
|
93
|
-
|
94
|
-
controller.load (api) ->
|
95
|
-
context.save()
|
96
|
-
|
97
|
-
api.controller = controller
|
98
|
-
|
99
|
-
if previous_api?.teardown
|
100
|
-
previous_api.teardown()
|
101
|
-
#end
|
102
|
-
previous_api = api
|
103
|
-
|
104
|
-
if _.has(api, 'acl')
|
105
|
-
unless _.isFunction(api.acl)
|
106
|
-
throw new Error("#{controller.name}.acl should be a function")
|
107
|
-
|
108
|
-
if api.acl()
|
109
|
-
deploy_api(api)
|
110
|
-
else
|
111
|
-
Render
|
112
|
-
el: 'body'
|
113
|
-
template: templates.main
|
114
|
-
partials: partials
|
115
|
-
oncomplete: ->
|
116
|
-
Render(template: templates.access_denied)
|
117
|
-
#end
|
118
|
-
|
119
|
-
else
|
120
|
-
deploy_api(api)
|
121
|
-
#end
|
122
|
-
#end
|
123
|
-
#end
|
124
|
-
|
125
|
-
document.addEventListener 'DOMContentLoaded', ->
|
126
|
-
# make sure this matches the RTCPController URL.
|
127
|
-
Core.connect('__rtcp__')
|
128
|
-
#end
|