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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 61b2c49ff11c5fedcc25016cc70eed0b218d2211
4
- data.tar.gz: 46a6420c5cf7d573f0e4110719523823c7681238
3
+ metadata.gz: c35966729ddb1fdba992af4e06e467f86fcbe560
4
+ data.tar.gz: deaa22602500fba0fc0bd87af2efdd8f38a46747
5
5
  SHA512:
6
- metadata.gz: d72448e5413aa4b19450adbf1caaec339a94539b2e90d0a55baaa08eaa9a4e82b8db4cf8266d762c0c5783b6410452d5726409ca9817a00c977927a15b7f7ccc
7
- data.tar.gz: 1a4eb3f49d4fd871e254850ed1ba51a00baa322dfacca01c0e965b9e4f85e812572a65990c8619c2056777aba631c58c91f0364aa3354c254c1dee0b758f25df
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 _.has(api, 'acl')
119
- unless _.isFunction(api.acl)
120
- throw new Error("#{controller.name}.acl should be a function")
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
- if api.acl()
123
- deploy_api(api)
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.main
97
+ template: require('templates/layouts/main')
128
98
  partials: partials
129
99
  oncomplete: ->
130
- Render(template: templates.access_denied)
100
+ Render(template: require('templates/access_denied'))
131
101
  #end
132
102
 
133
103
  else
134
- deploy_api(api)
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, list, editor) ->
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
@@ -1,5 +1,5 @@
1
1
  module Appril
2
2
  class CLI
3
- VERSION = '0.0.7'.freeze
3
+ VERSION = '0.0.8'.freeze
4
4
  end
5
5
  end
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.7
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-03 00:00:00.000000000 Z
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.7", "Appril CLI"]'
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