luca 0.9.2 → 0.9.4
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +1 -0
- data/.rvmrc +1 -1
- data/CHANGELOG +46 -2
- data/Gemfile +1 -1
- data/Gemfile.lock +2 -2
- data/Guardfile +1 -1
- data/README.md +64 -27
- data/ROADMAP +17 -2
- data/Rakefile +49 -1
- data/app.rb +38 -2
- data/assets/javascripts/luca-ui-base.coffee +1 -20
- data/assets/javascripts/luca-ui-full.js +3 -0
- data/assets/javascripts/luca-ui.coffee +0 -5
- data/assets/javascripts/sandbox/application.coffee +24 -18
- data/assets/javascripts/sandbox/router.coffee +16 -6
- data/assets/javascripts/sandbox/templates/builder/component_list.luca +1 -0
- data/assets/javascripts/sandbox/templates/builder.luca +2 -0
- data/assets/javascripts/sandbox/templates/main.luca +4 -3
- data/assets/javascripts/sandbox/templates/sandbox/docs_index.luca +1 -0
- data/assets/javascripts/sandbox/templates/sandbox/navigation.luca +6 -1
- data/assets/javascripts/sandbox/templates/sandbox/readme.luca +30 -0
- data/assets/javascripts/sandbox/views/builder/builder_canvas.coffee +3 -0
- data/assets/javascripts/sandbox/views/builder/builder_editor.coffee +6 -0
- data/assets/javascripts/sandbox/views/builder/component_list.coffee +38 -0
- data/assets/javascripts/sandbox/views/builder/project_browser.coffee +14 -0
- data/assets/javascripts/sandbox/views/builder.coffee +133 -0
- data/assets/javascripts/sandbox/views/docs_controller.coffee +7 -0
- data/assets/javascripts/sandbox/views/inspector/instance_filter.coffee +18 -0
- data/assets/javascripts/sandbox/{collections/sample.coffee → views/inspector/instance_list.coffee} +0 -0
- data/assets/javascripts/sandbox/views/inspector.coffee +11 -0
- data/assets/javascripts/sandbox.coffee +2 -0
- data/assets/stylesheets/luca-ui-full.css +3 -0
- data/assets/stylesheets/sandbox/builder.scss +79 -0
- data/assets/stylesheets/sandbox/sandbox.scss +2 -1
- data/docs/application.md +41 -0
- data/docs/collection.md +79 -0
- data/docs/collection_manager.md +76 -0
- data/docs/container_philosophy.md +122 -0
- data/docs/event_binding_helpers.md +164 -0
- data/docs/method_caching_and_computed_properties.md +77 -0
- data/docs/view.md +119 -0
- data/lib/luca/rails/version.rb +1 -1
- data/lib/luca/template.rb +9 -9
- data/site/assets/bootstrap.min.js +7 -0
- data/site/assets/luca-ui-bootstrap.css +19 -1
- data/site/assets/luca-ui-development-tools.css +10 -0
- data/site/assets/luca-ui-development-tools.min.js +15 -0
- data/site/assets/luca-ui-full.min.js +8 -0
- data/site/assets/luca-ui.min.js +4 -0
- data/site/assets/sandbox.css +52 -4
- data/site/assets/sandbox.js +368 -30
- data/site/docs/application.html +41 -0
- data/site/docs/caching.html +43 -0
- data/site/docs/collection.html +75 -0
- data/site/docs/collection_manager.html +71 -0
- data/site/docs/containers.html +118 -0
- data/site/docs/events.html +153 -0
- data/site/docs/view.html +128 -0
- data/site/img/glyphicons-halflings-white.png +0 -0
- data/site/img/glyphicons-halflings.png +0 -0
- data/site/source-map.js +1 -0
- data/spec/core/view_spec.coffee +5 -17
- data/spec/managers/collection_manager_spec.coffee +4 -7
- data/src/components/application.coffee +202 -77
- data/src/components/base_toolbar.coffee +1 -1
- data/src/components/collection_view.coffee +38 -10
- data/src/components/controller.coffee +24 -1
- data/src/components/fields/checkbox_field.coffee +9 -12
- data/src/components/fields/label_field.coffee +14 -0
- data/src/components/fields/select_field.coffee +2 -2
- data/src/components/fields/text_field.coffee +12 -7
- data/src/components/fields/type_ahead_field.coffee +1 -0
- data/src/components/form_view.coffee +44 -25
- data/src/components/page_controller.coffee +2 -0
- data/src/containers/card_view.coffee +4 -1
- data/src/containers/column_view.coffee +2 -1
- data/src/containers/modal_view.coffee +6 -2
- data/src/containers/page_view.coffee +2 -0
- data/src/containers/panel_toolbar.coffee +0 -5
- data/src/containers/viewport.coffee +28 -10
- data/src/core/collection.coffee +7 -1
- data/src/core/container.coffee +57 -30
- data/src/core/core.coffee +0 -186
- data/src/core/field.coffee +11 -3
- data/src/core/model.coffee +31 -16
- data/src/core/panel.coffee +6 -46
- data/src/core/registry.coffee +19 -2
- data/src/core/script_loader.coffee +32 -0
- data/src/core/view.coffee +112 -139
- data/src/define.coffee +110 -0
- data/src/framework.coffee +8 -2
- data/src/luca.coffee +22 -0
- data/src/managers/collection_manager.coffee +65 -31
- data/src/modules/load_mask.coffee +47 -0
- data/src/plugins/development_tool_helpers.coffee +21 -0
- data/src/plugins/events.coffee +54 -0
- data/src/stylesheets/components/viewport.scss +15 -0
- data/src/stylesheets/containers/container.scss +1 -4
- data/src/stylesheets/tools/component_tester.scss +18 -0
- data/src/templates/fields/select_field.luca +6 -5
- data/src/templates/fields/text_field.luca +10 -9
- data/src/tools/application_inspector.coffee +2 -0
- data/src/tools/coffee_script_editor.coffee +28 -6
- data/src/tools/collections/components.coffee +59 -0
- data/src/tools/collections/instances.coffee +15 -0
- data/src/tools/component_tester.coffee +12 -22
- data/src/tools/console.coffee +22 -4
- data/src/tools/models/components.coffee +16 -54
- data/src/tools/models/instance.coffee +2 -0
- data/src/{core/util.coffee → util.coffee} +10 -1
- data/vendor/assets/javascripts/luca-ui-base.js +132 -137
- data/vendor/assets/javascripts/luca-ui-development-tools.js +191 -219
- data/vendor/assets/javascripts/luca-ui-development-tools.min.js +2 -2
- data/vendor/assets/javascripts/luca-ui-full.js +4680 -0
- data/vendor/assets/javascripts/luca-ui-full.min.js +8 -0
- data/vendor/assets/javascripts/luca-ui-spec.js +291 -225
- data/vendor/assets/javascripts/luca-ui.js +1001 -724
- data/vendor/assets/javascripts/luca-ui.min.js +4 -4
- data/vendor/assets/stylesheets/luca-ui-bootstrap.css +19 -1
- data/vendor/assets/stylesheets/luca-ui-development-tools.css +10 -0
- data/vendor/assets/stylesheets/luca-ui-full.css +1334 -0
- data/vendor/assets/stylesheets/luca-ui-spec.css +19 -1
- data/vendor/assets/stylesheets/luca-ui.css +19 -1
- data/views/index.erb +2 -5
- metadata +58 -9
- data/lib/sprockets/luca_template.rb +0 -49
- data/src/tools/class_browser.coffee +0 -39
- data/src/tools/components/class_browser_detail.coffee +0 -10
- data/src/tools/components/class_browser_list.coffee +0 -74
@@ -119,8 +119,16 @@
|
|
119
119
|
.with-mask .load-mask .progress {
|
120
120
|
margin: 50px auto;
|
121
121
|
width: 50%; }
|
122
|
+
html.luca-ui-fullscreen, body.luca-ui-fullscreen {
|
123
|
+
height: 100%; }
|
124
|
+
|
125
|
+
.luca-ui-fullscreen .fluid-viewport-wrapper {
|
126
|
+
padding-top: 40px; }
|
127
|
+
.luca-ui-fullscreen .luca-ui-viewport, .luca-ui-fullscreen .fullscreen-container {
|
128
|
+
min-height: 100%;
|
129
|
+
height: auto !important;
|
130
|
+
height: 100%; }
|
122
131
|
.toolbar-container {
|
123
|
-
overflow: hidden;
|
124
132
|
clear: both; }
|
125
133
|
|
126
134
|
.toolbar-container.top {
|
@@ -558,6 +566,16 @@ ul.typeahead.dropdown-menu {
|
|
558
566
|
.font-large .CodeMirror {
|
559
567
|
font-size: 18px;
|
560
568
|
line-height: 1.7; }
|
569
|
+
|
570
|
+
#component_tester #editor_container .toolbar-container.bottom {
|
571
|
+
margin: 0px; }
|
572
|
+
#component_tester #editor_container .toolbar-container.bottom .luca-ui-toolbar {
|
573
|
+
margin: 0px;
|
574
|
+
padding: 0px; }
|
575
|
+
#component_tester [data-luca-owner="component_detail"] {
|
576
|
+
max-height: 600px;
|
577
|
+
overflow: scroll;
|
578
|
+
min-height: 400px; }
|
561
579
|
.luca-ui-console .CodeMirror {
|
562
580
|
font-family: "Monaco";
|
563
581
|
font-size: 14px;
|
@@ -119,8 +119,16 @@
|
|
119
119
|
.with-mask .load-mask .progress {
|
120
120
|
margin: 50px auto;
|
121
121
|
width: 50%; }
|
122
|
+
html.luca-ui-fullscreen, body.luca-ui-fullscreen {
|
123
|
+
height: 100%; }
|
124
|
+
|
125
|
+
.luca-ui-fullscreen .fluid-viewport-wrapper {
|
126
|
+
padding-top: 40px; }
|
127
|
+
.luca-ui-fullscreen .luca-ui-viewport, .luca-ui-fullscreen .fullscreen-container {
|
128
|
+
min-height: 100%;
|
129
|
+
height: auto !important;
|
130
|
+
height: 100%; }
|
122
131
|
.toolbar-container {
|
123
|
-
overflow: hidden;
|
124
132
|
clear: both; }
|
125
133
|
|
126
134
|
.toolbar-container.top {
|
@@ -558,6 +566,16 @@ ul.typeahead.dropdown-menu {
|
|
558
566
|
.font-large .CodeMirror {
|
559
567
|
font-size: 18px;
|
560
568
|
line-height: 1.7; }
|
569
|
+
|
570
|
+
#component_tester #editor_container .toolbar-container.bottom {
|
571
|
+
margin: 0px; }
|
572
|
+
#component_tester #editor_container .toolbar-container.bottom .luca-ui-toolbar {
|
573
|
+
margin: 0px;
|
574
|
+
padding: 0px; }
|
575
|
+
#component_tester [data-luca-owner="component_detail"] {
|
576
|
+
max-height: 600px;
|
577
|
+
overflow: scroll;
|
578
|
+
min-height: 400px; }
|
561
579
|
.luca-ui-console .CodeMirror {
|
562
580
|
font-family: "Monaco";
|
563
581
|
font-size: 14px;
|
data/views/index.erb
CHANGED
@@ -5,17 +5,14 @@
|
|
5
5
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
6
6
|
<title>Luca. Container Framework For Backbone Views</title>
|
7
7
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
8
|
-
<link rel="stylesheet" href="<%= asset_path('luca-ui-
|
8
|
+
<link rel="stylesheet" href="<%= asset_path('luca-ui-full.css') %>">
|
9
9
|
<link rel="stylesheet" href="<%= asset_path('luca-ui-development-tools.css') %>">
|
10
10
|
<link rel="stylesheet" href="<%= asset_path('sandbox.css') %>">
|
11
|
-
<link rel="stylesheet" href="<%= asset_path('prettify.css') %>">
|
12
11
|
</head>
|
13
12
|
<body>
|
14
13
|
<div id="viewport"></div>
|
15
14
|
|
16
|
-
<script src="<%= asset_path('
|
17
|
-
<script src="<%= asset_path('luca-ui-bootstrap.js') %>"></script>
|
18
|
-
<script src="<%= asset_path('luca-ui.js') %>"></script>
|
15
|
+
<script src="<%= asset_path('luca-ui-full.js') %>"></script>
|
19
16
|
<script src="<%= asset_path('luca-ui-development-tools.js') %>"></script>
|
20
17
|
<script src="<%= asset_path('sandbox.js') %>"></script>
|
21
18
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: luca
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-11-02 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: railties
|
@@ -136,16 +136,29 @@ files:
|
|
136
136
|
- assets/javascripts/luca-ui-base.coffee
|
137
137
|
- assets/javascripts/luca-ui-bootstrap.js
|
138
138
|
- assets/javascripts/luca-ui-development-tools.coffee
|
139
|
+
- assets/javascripts/luca-ui-full.js
|
139
140
|
- assets/javascripts/luca-ui-spec.coffee
|
140
141
|
- assets/javascripts/luca-ui.coffee
|
141
142
|
- assets/javascripts/sandbox.coffee
|
142
143
|
- assets/javascripts/sandbox/application.coffee
|
143
|
-
- assets/javascripts/sandbox/collections/sample.coffee
|
144
144
|
- assets/javascripts/sandbox/config.coffee
|
145
145
|
- assets/javascripts/sandbox/router.coffee
|
146
|
+
- assets/javascripts/sandbox/templates/builder.luca
|
147
|
+
- assets/javascripts/sandbox/templates/builder/component_list.luca
|
146
148
|
- assets/javascripts/sandbox/templates/main.luca
|
147
149
|
- assets/javascripts/sandbox/templates/sandbox.luca
|
150
|
+
- assets/javascripts/sandbox/templates/sandbox/docs_index.luca
|
148
151
|
- assets/javascripts/sandbox/templates/sandbox/navigation.luca
|
152
|
+
- assets/javascripts/sandbox/templates/sandbox/readme.luca
|
153
|
+
- assets/javascripts/sandbox/views/builder.coffee
|
154
|
+
- assets/javascripts/sandbox/views/builder/builder_canvas.coffee
|
155
|
+
- assets/javascripts/sandbox/views/builder/builder_editor.coffee
|
156
|
+
- assets/javascripts/sandbox/views/builder/component_list.coffee
|
157
|
+
- assets/javascripts/sandbox/views/builder/project_browser.coffee
|
158
|
+
- assets/javascripts/sandbox/views/docs_controller.coffee
|
159
|
+
- assets/javascripts/sandbox/views/inspector.coffee
|
160
|
+
- assets/javascripts/sandbox/views/inspector/instance_filter.coffee
|
161
|
+
- assets/javascripts/sandbox/views/inspector/instance_list.coffee
|
149
162
|
- assets/javascripts/sandbox/views/top_navigation.coffee
|
150
163
|
- assets/javascripts/spec-dependencies.coffee
|
151
164
|
- assets/stylesheets/bootstrap-responsive.min.css
|
@@ -156,15 +169,24 @@ files:
|
|
156
169
|
- assets/stylesheets/jasmine.css
|
157
170
|
- assets/stylesheets/luca-ui-bootstrap.css
|
158
171
|
- assets/stylesheets/luca-ui-development-tools.css
|
172
|
+
- assets/stylesheets/luca-ui-full.css
|
159
173
|
- assets/stylesheets/luca-ui-spec.css
|
160
174
|
- assets/stylesheets/luca-ui.css
|
161
175
|
- assets/stylesheets/prettify.css
|
162
176
|
- assets/stylesheets/sandbox.css
|
177
|
+
- assets/stylesheets/sandbox/builder.scss
|
163
178
|
- assets/stylesheets/sandbox/sandbox.scss
|
164
179
|
- assets/stylesheets/themes/amelia-bootstrap.css
|
165
180
|
- assets/stylesheets/themes/slate-bootstrap.css
|
166
181
|
- assets/stylesheets/themes/superhero-bootstrap.css
|
167
182
|
- config.ru
|
183
|
+
- docs/application.md
|
184
|
+
- docs/collection.md
|
185
|
+
- docs/collection_manager.md
|
186
|
+
- docs/container_philosophy.md
|
187
|
+
- docs/event_binding_helpers.md
|
188
|
+
- docs/method_caching_and_computed_properties.md
|
189
|
+
- docs/view.md
|
168
190
|
- lib/luca.rb
|
169
191
|
- lib/luca/code_browser.rb
|
170
192
|
- lib/luca/command_line.rb
|
@@ -173,12 +195,12 @@ files:
|
|
173
195
|
- lib/luca/rails/version.rb
|
174
196
|
- lib/luca/template.rb
|
175
197
|
- lib/luca/test_harness.rb
|
176
|
-
- lib/sprockets/luca_template.rb
|
177
198
|
- lib/templates/spec_manifest_javascripts.erb
|
178
199
|
- lib/templates/spec_manifest_stylesheets.erb
|
179
200
|
- luca.gemspec
|
180
201
|
- public/jasmine/index.html
|
181
202
|
- public/sandbox/api.js
|
203
|
+
- site/assets/bootstrap.min.js
|
182
204
|
- site/assets/dependencies.js
|
183
205
|
- site/assets/glyphicons-halflings-white.png
|
184
206
|
- site/assets/glyphicons-halflings.png
|
@@ -186,9 +208,22 @@ files:
|
|
186
208
|
- site/assets/luca-ui-bootstrap.js
|
187
209
|
- site/assets/luca-ui-development-tools.css
|
188
210
|
- site/assets/luca-ui-development-tools.js
|
211
|
+
- site/assets/luca-ui-development-tools.min.js
|
212
|
+
- site/assets/luca-ui-full.min.js
|
213
|
+
- site/assets/luca-ui.min.js
|
189
214
|
- site/assets/sandbox.css
|
190
215
|
- site/assets/sandbox.js
|
216
|
+
- site/docs/application.html
|
217
|
+
- site/docs/caching.html
|
218
|
+
- site/docs/collection.html
|
219
|
+
- site/docs/collection_manager.html
|
220
|
+
- site/docs/containers.html
|
221
|
+
- site/docs/events.html
|
222
|
+
- site/docs/view.html
|
223
|
+
- site/img/glyphicons-halflings-white.png
|
224
|
+
- site/img/glyphicons-halflings.png
|
191
225
|
- site/index.html
|
226
|
+
- site/source-map.js
|
192
227
|
- spec/components/application_spec.coffee
|
193
228
|
- spec/components/collection_loader_view_spec.coffee
|
194
229
|
- spec/components/controller_spec.coffee
|
@@ -224,6 +259,7 @@ files:
|
|
224
259
|
- src/components/fields/checkbox_field.coffee
|
225
260
|
- src/components/fields/file_upload_field.coffee
|
226
261
|
- src/components/fields/hidden_field.coffee
|
262
|
+
- src/components/fields/label_field.coffee
|
227
263
|
- src/components/fields/select_field.coffee
|
228
264
|
- src/components/fields/text_area_field.coffee
|
229
265
|
- src/components/fields/text_field.coffee
|
@@ -233,6 +269,7 @@ files:
|
|
233
269
|
- src/components/grid_view.coffee
|
234
270
|
- src/components/load_mask.coffee
|
235
271
|
- src/components/nav_bar.coffee
|
272
|
+
- src/components/page_controller.coffee
|
236
273
|
- src/components/record_manager.coffee
|
237
274
|
- src/components/router.coffee
|
238
275
|
- src/components/template.coffee
|
@@ -240,6 +277,7 @@ files:
|
|
240
277
|
- src/containers/card_view.coffee
|
241
278
|
- src/containers/column_view.coffee
|
242
279
|
- src/containers/modal_view.coffee
|
280
|
+
- src/containers/page_view.coffee
|
243
281
|
- src/containers/panel_toolbar.coffee
|
244
282
|
- src/containers/panel_view.coffee
|
245
283
|
- src/containers/split_view.coffee
|
@@ -253,14 +291,19 @@ files:
|
|
253
291
|
- src/core/observer.coffee
|
254
292
|
- src/core/panel.coffee
|
255
293
|
- src/core/registry.coffee
|
256
|
-
- src/core/
|
294
|
+
- src/core/script_loader.coffee
|
257
295
|
- src/core/view.coffee
|
296
|
+
- src/define.coffee
|
258
297
|
- src/framework.coffee
|
259
298
|
- src/index.coffee
|
299
|
+
- src/luca.coffee
|
260
300
|
- src/managers/collection_manager.coffee
|
261
301
|
- src/managers/socket_manager.coffee
|
262
302
|
- src/modules/deferrable.coffee
|
303
|
+
- src/modules/load_mask.coffee
|
263
304
|
- src/modules/local_storage.coffee
|
305
|
+
- src/plugins/development_tool_helpers.coffee
|
306
|
+
- src/plugins/events.coffee
|
264
307
|
- src/samples/definition.coffee
|
265
308
|
- src/stylesheets/base.scss
|
266
309
|
- src/stylesheets/components/checkbox_array.scss
|
@@ -268,6 +311,7 @@ files:
|
|
268
311
|
- src/stylesheets/components/grid_view.scss
|
269
312
|
- src/stylesheets/components/load_mask.scss
|
270
313
|
- src/stylesheets/components/toolbar.scss
|
314
|
+
- src/stylesheets/components/viewport.scss
|
271
315
|
- src/stylesheets/containers/container.scss
|
272
316
|
- src/stylesheets/containers/modal_view.scss
|
273
317
|
- src/stylesheets/containers/panels.scss
|
@@ -301,17 +345,19 @@ files:
|
|
301
345
|
- src/templates/fields/text_field.luca
|
302
346
|
- src/templates/sample/contents.luca
|
303
347
|
- src/templates/sample/welcome.luca
|
304
|
-
- src/tools/
|
348
|
+
- src/tools/application_inspector.coffee
|
305
349
|
- src/tools/code_editor.coffee
|
306
350
|
- src/tools/code_mirror_field.coffee
|
307
351
|
- src/tools/coffee_script_editor.coffee
|
308
352
|
- src/tools/collection_inspector.coffee
|
353
|
+
- src/tools/collections/components.coffee
|
354
|
+
- src/tools/collections/instances.coffee
|
309
355
|
- src/tools/component_tester.coffee
|
310
|
-
- src/tools/components/class_browser_detail.coffee
|
311
|
-
- src/tools/components/class_browser_list.coffee
|
312
356
|
- src/tools/console.coffee
|
313
357
|
- src/tools/models/components.coffee
|
358
|
+
- src/tools/models/instance.coffee
|
314
359
|
- src/tools/templates/component_tester/help.luca
|
360
|
+
- src/util.coffee
|
315
361
|
- vendor/assets/images/glyphicons-halflings-white.png
|
316
362
|
- vendor/assets/images/glyphicons-halflings.png
|
317
363
|
- vendor/assets/javascripts/coffee-script.js
|
@@ -322,6 +368,8 @@ files:
|
|
322
368
|
- vendor/assets/javascripts/luca-ui-development-dependencies.js
|
323
369
|
- vendor/assets/javascripts/luca-ui-development-tools.js
|
324
370
|
- vendor/assets/javascripts/luca-ui-development-tools.min.js
|
371
|
+
- vendor/assets/javascripts/luca-ui-full.js
|
372
|
+
- vendor/assets/javascripts/luca-ui-full.min.js
|
325
373
|
- vendor/assets/javascripts/luca-ui-spec.js
|
326
374
|
- vendor/assets/javascripts/luca-ui.js
|
327
375
|
- vendor/assets/javascripts/luca-ui.min.js
|
@@ -397,6 +445,7 @@ files:
|
|
397
445
|
- vendor/assets/stylesheets/luca-spec-dependencies.css
|
398
446
|
- vendor/assets/stylesheets/luca-ui-bootstrap.css
|
399
447
|
- vendor/assets/stylesheets/luca-ui-development-tools.css
|
448
|
+
- vendor/assets/stylesheets/luca-ui-full.css
|
400
449
|
- vendor/assets/stylesheets/luca-ui-spec.css
|
401
450
|
- vendor/assets/stylesheets/luca-ui.css
|
402
451
|
- views/index.erb
|
@@ -422,7 +471,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
422
471
|
version: 1.3.6
|
423
472
|
requirements: []
|
424
473
|
rubyforge_project:
|
425
|
-
rubygems_version: 1.8.
|
474
|
+
rubygems_version: 1.8.24
|
426
475
|
signing_key:
|
427
476
|
specification_version: 3
|
428
477
|
summary: A Backbone.JS Component Framework
|
@@ -1,49 +0,0 @@
|
|
1
|
-
require 'tilt'
|
2
|
-
|
3
|
-
module Sprockets
|
4
|
-
class LucaTemplate < Tilt::Template
|
5
|
-
attr_accessor :namespace
|
6
|
-
def self.default_mime_type
|
7
|
-
'application/javascript'
|
8
|
-
end
|
9
|
-
|
10
|
-
def self.engine_initialized?
|
11
|
-
defined? ::EJS
|
12
|
-
defined? ::Haml
|
13
|
-
end
|
14
|
-
|
15
|
-
def initialize_engine
|
16
|
-
require_template_library 'ejs'
|
17
|
-
require_template_library 'haml'
|
18
|
-
end
|
19
|
-
|
20
|
-
def prepare
|
21
|
-
options = @options.merge(:filename => eval_file, :line => line, :escape_attrs => false)
|
22
|
-
@engine = ::Haml::Engine.new(data, options)
|
23
|
-
self.namespace = "Luca.templates"
|
24
|
-
end
|
25
|
-
|
26
|
-
def evaluate(scope, locals, &block)
|
27
|
-
compiled = @engine.render(scope, locals, &block)
|
28
|
-
code = EJS.compile(compiled)
|
29
|
-
tmpl = scope.logical_path
|
30
|
-
|
31
|
-
tmpl.gsub! /^.*\/templates\//, ''
|
32
|
-
|
33
|
-
<<-JST
|
34
|
-
(function() {
|
35
|
-
#{namespace} || (#{namespace} = {});
|
36
|
-
#{namespace}[#{ tmpl.inspect }] = #{indent(code)};
|
37
|
-
}).call(this);
|
38
|
-
JST
|
39
|
-
end
|
40
|
-
|
41
|
-
private
|
42
|
-
|
43
|
-
def indent(string)
|
44
|
-
string.gsub(/$(.)/m, "\\1 ").strip
|
45
|
-
end
|
46
|
-
|
47
|
-
end
|
48
|
-
end
|
49
|
-
|
@@ -1,39 +0,0 @@
|
|
1
|
-
# The Class Browser takes a map of your application's source code and the
|
2
|
-
# classes it defines and allows you to view and even edit the source code
|
3
|
-
# for a given class in the browser.
|
4
|
-
|
5
|
-
# We do this by combining the functionality of a Luca CollectionList View
|
6
|
-
# which inspects the Luca component registry, and a CodeMirror Editor instance
|
7
|
-
# which compiles coffeescript and evaluates it on the fly. The Luca Framework
|
8
|
-
# is capable of updating all of the application components with the changes
|
9
|
-
# you make to their code.
|
10
|
-
_.def("Luca.tools.ClassBrowser").extends("Luca.containers.SplitView").with
|
11
|
-
|
12
|
-
name: "class_browser"
|
13
|
-
|
14
|
-
className: "luca-class-browser row"
|
15
|
-
|
16
|
-
layout:["span3","span9"]
|
17
|
-
# Composite views can be made up by specifying a list of components
|
18
|
-
# either as a collection of object configurations, or as a list
|
19
|
-
# of names corresponding to component types. The various types of
|
20
|
-
# Luca containers will handle rendering these components and arranging
|
21
|
-
# them visually
|
22
|
-
components:["class_browser_list","class_browser_detail"]
|
23
|
-
|
24
|
-
# The container is responsible for handling communication between components.
|
25
|
-
# We provide a nice API for this via the @componentEvents property.
|
26
|
-
componentEvents:
|
27
|
-
"class_browser_list component:loaded" : "loadSourceCode"
|
28
|
-
|
29
|
-
bottomToolbar:
|
30
|
-
buttons:[
|
31
|
-
label: "Add New"
|
32
|
-
icon: "plus"
|
33
|
-
color: "primary"
|
34
|
-
white: true
|
35
|
-
align: 'right'
|
36
|
-
]
|
37
|
-
|
38
|
-
loadSourceCode: (model, response)->
|
39
|
-
Luca("class_browser_detail").loadComponent( model )
|
@@ -1,74 +0,0 @@
|
|
1
|
-
_.def("Luca.tools.ClassBrowserList").extends("Luca.View").with
|
2
|
-
tagName: "ul"
|
3
|
-
className: "nav nav-list class-browser-list"
|
4
|
-
|
5
|
-
autoBindEventHandlers: true
|
6
|
-
|
7
|
-
events:
|
8
|
-
"click li.namespace a" : "namespaceClickHandler"
|
9
|
-
"click li.className a" : "classClickHandler"
|
10
|
-
|
11
|
-
initialize: (@options={})->
|
12
|
-
@deferrable = @collection = new Luca.collections.Components()
|
13
|
-
|
14
|
-
collapseAllNamespaceLists: ()->
|
15
|
-
@$('ul.classList').collapse('hide')
|
16
|
-
|
17
|
-
namespaceClickHandler: (e)->
|
18
|
-
me = my = $( e.target )
|
19
|
-
classList = my.siblings('.classList')
|
20
|
-
classList.collapse('toggle')
|
21
|
-
|
22
|
-
classClickHandler: (e)->
|
23
|
-
e.preventDefault()
|
24
|
-
|
25
|
-
me = my = $( e.currentTarget )
|
26
|
-
className = my.data('component')
|
27
|
-
list = @
|
28
|
-
|
29
|
-
model = @collection.detect (component)->
|
30
|
-
component.get("className") is className
|
31
|
-
|
32
|
-
if model and !model.get("contents")
|
33
|
-
# TODO Why is this firing twice?
|
34
|
-
model.fetch success: _.once (model, response)->
|
35
|
-
list.trigger "component:loaded", model, response
|
36
|
-
|
37
|
-
afterRender: ()->
|
38
|
-
@collapseAllNamespaceLists()
|
39
|
-
Luca.View::afterRender?.apply(@, arguments)
|
40
|
-
|
41
|
-
attach: _.once( Luca.View::$attach )
|
42
|
-
|
43
|
-
render: ()->
|
44
|
-
tree = @
|
45
|
-
data = @collection.asTree()
|
46
|
-
|
47
|
-
_( data ).each (namespace, root)->
|
48
|
-
target = tree.make("a",{},root)
|
49
|
-
li = tree.make("li",class:"root", target)
|
50
|
-
namespaceList = _( namespace ).keys()
|
51
|
-
|
52
|
-
namespaceElements = _( namespaceList ).map (namespace)->
|
53
|
-
classId = namespace.toLowerCase().replace(/\./g, '-')
|
54
|
-
target = tree.make("a",{},namespace)
|
55
|
-
nli = tree.make "li", {class:"namespace #{ classId }"}, target
|
56
|
-
|
57
|
-
resolved = Luca.util.resolve(namespace, (window || global))
|
58
|
-
classes = _( resolved ).keys()
|
59
|
-
classElements = _( classes ).map (componentClass)->
|
60
|
-
fullName = "#{ namespace }.#{ componentClass }"
|
61
|
-
link = tree.make("a",{"data-component":fullName}, fullName)
|
62
|
-
classId = fullName.toLowerCase().replace(/\./g, '-')
|
63
|
-
tree.make "li", {class:"className #{ classId }"}, link
|
64
|
-
|
65
|
-
cul = tree.make "ul", {class:"classList"}, classElements
|
66
|
-
$( nli ).append( cul )
|
67
|
-
nli
|
68
|
-
|
69
|
-
ul = tree.make "ul",{class:"namespace"}, namespaceElements
|
70
|
-
|
71
|
-
$( li ).append(ul)
|
72
|
-
tree.$append( li )
|
73
|
-
|
74
|
-
@attach()
|