appril-cli 0.0.7 → 0.0.8

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: 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