sproutcore 0.9.9 → 0.9.10
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.
- data/History.txt +9 -0
- data/Manifest.txt +32 -32
- data/app_generators/sproutcore/sproutcore_generator.rb +2 -0
- data/app_generators/sproutcore/templates/README +5 -5
- data/bin/sc-gen +1 -1
- data/bin/sproutcore +1 -0
- data/frameworks/sproutcore/Core.js +26 -11
- data/frameworks/sproutcore/HISTORY +6 -0
- data/frameworks/sproutcore/controllers/array.js +1 -1
- data/frameworks/sproutcore/drag/drag.js +2 -2
- data/frameworks/sproutcore/english.lproj/panes.css +1 -1
- data/frameworks/sproutcore/english.lproj/theme.css +4 -4
- data/frameworks/sproutcore/foundation/binding.js +2 -1
- data/frameworks/sproutcore/foundation/input_manager.js +9 -8
- data/frameworks/sproutcore/foundation/path_module.js +1 -1
- data/frameworks/sproutcore/lib/core_views.rb +3 -1
- data/frameworks/sproutcore/lib/index.rhtml +2 -2
- data/frameworks/sproutcore/lib/menu_views.rb +6 -1
- data/frameworks/sproutcore/mixins/observable.js +119 -17
- data/frameworks/sproutcore/mixins/scrollable.js +5 -3
- data/frameworks/sproutcore/tests/views/view/innerFrame.rhtml +3 -1
- data/frameworks/sproutcore/views/button/button.js +15 -0
- data/frameworks/sproutcore/views/field/textarea_field.js +8 -0
- data/frameworks/sproutcore/views/form.js +39 -33
- data/frameworks/sproutcore/views/popup_menu.js +7 -11
- data/frameworks/sproutcore/views/view.js +31 -7
- data/lib/sproutcore/bundle.rb +44 -11
- data/lib/sproutcore/library.rb +5 -5
- data/lib/sproutcore/merb/bundle_controller.rb +7 -3
- data/lib/sproutcore/version.rb +1 -1
- data/{generators → sc_generators}/client/README +1 -1
- data/{generators → sc_generators}/client/USAGE +0 -0
- data/{generators → sc_generators}/client/client_generator.rb +0 -0
- data/{generators → sc_generators}/client/templates/core.js +0 -0
- data/{generators → sc_generators}/client/templates/english.lproj/body.css +0 -0
- data/{generators → sc_generators}/client/templates/english.lproj/body.rhtml +0 -0
- data/{generators → sc_generators}/client/templates/english.lproj/strings.js +0 -0
- data/{generators → sc_generators}/client/templates/main.js +0 -0
- data/{generators → sc_generators}/controller/USAGE +0 -0
- data/{generators → sc_generators}/controller/controller_generator.rb +0 -0
- data/{generators → sc_generators}/controller/templates/controller.js +0 -0
- data/{generators → sc_generators}/controller/templates/test.rhtml +0 -0
- data/{generators → sc_generators}/framework/README +1 -1
- data/{generators → sc_generators}/framework/USAGE +0 -0
- data/{generators → sc_generators}/framework/framework_generator.rb +0 -0
- data/{generators → sc_generators}/framework/templates/core.js +0 -0
- data/{generators → sc_generators}/framework/templates/english.lproj/strings.js +0 -0
- data/{generators → sc_generators}/language/USAGE +0 -0
- data/{generators → sc_generators}/language/language_generator.rb +0 -0
- data/{generators → sc_generators}/language/templates/strings.js +0 -0
- data/{generators → sc_generators}/model/USAGE +0 -0
- data/{generators → sc_generators}/model/model_generator.rb +0 -0
- data/{generators → sc_generators}/model/templates/fixture.js +0 -0
- data/{generators → sc_generators}/model/templates/model.js +0 -0
- data/{generators → sc_generators}/model/templates/test.rhtml +0 -0
- data/{generators → sc_generators}/test/USAGE +0 -0
- data/{generators → sc_generators}/test/templates/test.rhtml +0 -0
- data/{generators → sc_generators}/test/test_generator.rb +0 -0
- data/{generators → sc_generators}/view/USAGE +0 -0
- data/{generators → sc_generators}/view/templates/test.rhtml +0 -0
- data/{generators → sc_generators}/view/templates/view.js +0 -0
- data/{generators → sc_generators}/view/view_generator.rb +0 -0
- metadata +34 -34
@@ -104,7 +104,9 @@ SC.Scrollable = {
|
|
104
104
|
|
105
105
|
// compute new sf
|
106
106
|
var newSf = { x: sf.x - (amount.x || 0), y: sf.y - (amount.y || 0) } ;
|
107
|
-
|
107
|
+
this.set('scrollFrame', newSf) ;
|
108
|
+
newSf = this.get('scrollFrame') ;
|
109
|
+
|
108
110
|
return { x: newSf.x - sf.x, y: newSf.y - sf.y };
|
109
111
|
},
|
110
112
|
|
@@ -141,8 +143,8 @@ SC.Scrollable = {
|
|
141
143
|
};
|
142
144
|
|
143
145
|
// if top edge is not visible, shift origin
|
144
|
-
vo.y
|
145
|
-
vo.x
|
146
|
+
vo.y -= Math.max(0, SC.minY(vo) - SC.minY(vf)) ;
|
147
|
+
vo.x -= Math.max(0, SC.minX(vo) - SC.minX(vf)) ;
|
146
148
|
|
147
149
|
// if bottom edge is not visible, shift origin
|
148
150
|
vo.y += Math.max(0, SC.maxY(vf) - SC.maxY(vo)) ;
|
@@ -112,7 +112,9 @@ Test.context("CASE 3: manual-layout view with some padding and no border", {
|
|
112
112
|
},
|
113
113
|
|
114
114
|
"after frame change, innerFrame should == frame less border, viewFrameDidChange is not required.": function() {
|
115
|
-
var f
|
115
|
+
var f ;
|
116
|
+
|
117
|
+
this.v.set('frame', f = { width: 50, x: 10, y: 10, height: 50 }) ;
|
116
118
|
f.x += CASE3_OFFSET; f.y += CASE3_OFFSET;
|
117
119
|
f.width -= (CASE3_OFFSET*2); f.height -= (CASE3_OFFSET*2) ;
|
118
120
|
//console.log('f: %@ if: %@'.fmt($H(f).inspect(), $H(this.v.get('innerFrame')).inspect()));
|
@@ -184,6 +184,21 @@ SC.ButtonView = SC.View.extend(SC.Control,
|
|
184
184
|
return this._title ;
|
185
185
|
}.property(),
|
186
186
|
|
187
|
+
/**
|
188
|
+
The button href value.
|
189
|
+
|
190
|
+
This property is observable and bindable. Can be used to create localized button href values.
|
191
|
+
*/
|
192
|
+
href: function(key, value) {
|
193
|
+
var el = this.rootElement;
|
194
|
+
if (value !== undefined) {
|
195
|
+
if (el) {
|
196
|
+
el.setAttribute('href', value);
|
197
|
+
}
|
198
|
+
}
|
199
|
+
return (el) ? el.getAttribute('href') : null;
|
200
|
+
}.property(),
|
201
|
+
|
187
202
|
/**
|
188
203
|
The name of the action you want triggered when the button is pressed.
|
189
204
|
|
@@ -18,6 +18,14 @@ SC.TextareaFieldView = SC.TextFieldView.extend(
|
|
18
18
|
/** @scope SC.TextareaFieldView.prototype */ {
|
19
19
|
|
20
20
|
emptyElement: '<textarea></textarea>',
|
21
|
+
didBecomeFirstResponder: function() {
|
22
|
+
if (this.get('isVisibleInWindow')) {
|
23
|
+
this.rootElement.focus();
|
24
|
+
this.invokeLater(this._selectRootElement, 1) ;
|
25
|
+
}
|
26
|
+
// hide the hint text if it is showing.
|
27
|
+
this._updateFieldHint() ;
|
28
|
+
},
|
21
29
|
|
22
30
|
insertNewline: function(evt) { evt._stopWhenHandled = false; return true; }
|
23
31
|
|
@@ -7,39 +7,45 @@ require('views/view') ;
|
|
7
7
|
require('views/button/button') ;
|
8
8
|
require('views/field/text_field') ;
|
9
9
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
10
|
+
/**
|
11
|
+
FormView provides a simple way for you to focus a group of views onto a
|
12
|
+
single content object or set of content objects. It can also be used to
|
13
|
+
"stage" input by buffering data from your views into the form before it is
|
14
|
+
set on your actual content object. This approach is generally deprecated
|
15
|
+
however as the Controller objects now provide this same buffering feature
|
16
|
+
in a more robust way.
|
17
|
+
|
18
|
+
h2. How It Works
|
19
|
+
|
20
|
+
On startup, FormView will walk any child views looking for any views
|
21
|
+
with the property "fieldKey". Any views with this key will be saved as
|
22
|
+
fields on the form. You can access their value directly on the form by
|
23
|
+
getting the value of fieldKey.
|
24
|
+
|
25
|
+
Used this way, you can easily combine multiple views into a single,
|
26
|
+
bindable object. To gain the full functionality however, you should use
|
27
|
+
the content commit capability.
|
28
|
+
|
29
|
+
IMPORTANT: FormView defines some properties of its own. If you try to
|
30
|
+
name your fields with properties already declared in FormView, they will
|
31
|
+
be ignored and a warning will be logged to the console.
|
32
|
+
|
33
|
+
h2. Content Commit
|
34
|
+
|
35
|
+
If you set the content object on a form view, then the form fields will
|
36
|
+
automatically be bound to the same named keys on the content object. When
|
37
|
+
the content object value's change, the fields on the form will update
|
38
|
+
automatically. Likewise, if you change the value of the field, the value
|
39
|
+
of the content object will generally be changed as wel.
|
40
|
+
|
41
|
+
If you prefer, you can also turn on buffered commits by setting the
|
42
|
+
commitChangesImmediately property to NO. This will cause the form to
|
43
|
+
buffer any changes to the field values and only forwards them to the content
|
44
|
+
when you call commitChanges() on the form. This method of buffering is
|
45
|
+
still supported for some simple cases, however it is better to use the newer
|
46
|
+
Controller objects that provide this same buffering in a more robust way.
|
47
|
+
|
48
|
+
*/
|
43
49
|
SC.FormView = SC.View.extend({
|
44
50
|
|
45
51
|
// PROPERTIES
|
@@ -127,17 +127,13 @@ SC.PopupMenuView = SC.View.extend({
|
|
127
127
|
if (w > requiredWidth) requiredWidth = w ;
|
128
128
|
child = child.get('nextSibling') ;
|
129
129
|
}
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
}
|
138
|
-
|
139
|
-
// set this view to the same size.
|
140
|
-
this.set('size',size) ;
|
130
|
+
var oldWidth = this.get("size").width;
|
131
|
+
if(requiredWidth != oldWidth)
|
132
|
+
{
|
133
|
+
var size = { width: requiredWidth };
|
134
|
+
// set this view to the same size.
|
135
|
+
this.set('size',size) ;
|
136
|
+
}
|
141
137
|
}
|
142
138
|
|
143
139
|
});
|
@@ -61,7 +61,7 @@ SC.View = SC.Responder.extend(SC.PathModule, SC.DelegateSupport,
|
|
61
61
|
@param view {SC.View} the view to insert as a child node.
|
62
62
|
@param beforeView {SC.View} view to insert before, or null to insert at
|
63
63
|
end
|
64
|
-
@returns {
|
64
|
+
@returns {SC.View} the receiver
|
65
65
|
*/
|
66
66
|
insertBefore: function(view, beforeView) {
|
67
67
|
this._insertBefore(view,beforeView,true);
|
@@ -125,7 +125,7 @@ SC.View = SC.Responder.extend(SC.PathModule, SC.DelegateSupport,
|
|
125
125
|
This will also remove the view's DOM element from the recievers DOM.
|
126
126
|
|
127
127
|
@param view {SC.View} the view to remove
|
128
|
-
@returns {
|
128
|
+
@returns {SC.View} the receiver
|
129
129
|
*/
|
130
130
|
removeChild: function(view) {
|
131
131
|
if (!view) return ;
|
@@ -163,6 +163,7 @@ SC.View = SC.Responder.extend(SC.PathModule, SC.DelegateSupport,
|
|
163
163
|
|
164
164
|
view.didRemoveFromParent(this) ;
|
165
165
|
this.didRemoveChild(view);
|
166
|
+
return this;
|
166
167
|
},
|
167
168
|
|
168
169
|
/**
|
@@ -175,31 +176,54 @@ SC.View = SC.Responder.extend(SC.PathModule, SC.DelegateSupport,
|
|
175
176
|
|
176
177
|
@param view {SC.View} the view to insert in the DOM
|
177
178
|
@param view {SC.View} the view to remove from the DOM.
|
178
|
-
@returns {
|
179
|
+
@returns {SC.View} the receiver
|
179
180
|
*/
|
180
181
|
replaceChild: function(view, oldView) {
|
181
182
|
this.insertBefore(view,oldView) ; this.removeChild(oldView) ;
|
183
|
+
return this;
|
182
184
|
},
|
183
185
|
|
184
186
|
/**
|
185
187
|
Removes the receiver from its parentNode. If the receiver does not belong
|
186
188
|
to a parentNode, this method does nothing.
|
187
189
|
|
188
|
-
@returns {
|
190
|
+
@returns {null}
|
189
191
|
*/
|
190
192
|
removeFromParent: function() {
|
191
193
|
if (this.parentNode) this.parentNode.removeChild(this) ;
|
194
|
+
return null ;
|
192
195
|
},
|
193
196
|
|
197
|
+
/**
|
198
|
+
Works just like removeFromParent but also removes the view from internal
|
199
|
+
caches and sets the rootElement to null so that the view and its DOM can
|
200
|
+
be garbage collected.
|
201
|
+
|
202
|
+
SproutCore includes special gaurds that ensure views and their related
|
203
|
+
DOM elements will be garbage collected whenever your web page unloads.
|
204
|
+
However, if you create and destroy views frequently while your application
|
205
|
+
is running, you should call this method when views are no longer needed
|
206
|
+
to ensure they will be garbage collected even while your application is
|
207
|
+
still running.
|
208
|
+
|
209
|
+
@returns {null}
|
210
|
+
*/
|
211
|
+
destroy: function() {
|
212
|
+
this.removeFromParent() ;
|
213
|
+
delete SC.View._view[SC.guidFor(this)];
|
214
|
+
return null ;
|
215
|
+
},
|
216
|
+
|
194
217
|
/**
|
195
218
|
Appends the specified view to the end of the receivers childNodes array.
|
196
219
|
This is equivalent to calling insertBefore(view, null);
|
197
220
|
|
198
221
|
@param view {SC.View} the view to insert
|
199
|
-
@returns {
|
222
|
+
@returns {SC.View} the receiver
|
200
223
|
*/
|
201
224
|
appendChild: function(view) {
|
202
|
-
this.insertBefore(view,null) ;
|
225
|
+
this.insertBefore(view,null) ;
|
226
|
+
return this ;
|
203
227
|
},
|
204
228
|
|
205
229
|
/**
|
@@ -636,7 +660,7 @@ SC.View = SC.Responder.extend(SC.PathModule, SC.DelegateSupport,
|
|
636
660
|
@returns {String} the set attribute name
|
637
661
|
*/
|
638
662
|
setAttribute: function(attrName, value) {
|
639
|
-
this.rootElement.setAttribute(
|
663
|
+
this.rootElement.setAttribute(attrName, value) ;
|
640
664
|
},
|
641
665
|
|
642
666
|
/**
|
data/lib/sproutcore/bundle.rb
CHANGED
@@ -81,9 +81,10 @@ module SproutCore
|
|
81
81
|
|
82
82
|
attr_reader :bundle_name, :bundle_type, :required_bundles, :preferred_language
|
83
83
|
attr_reader :javascript_libs, :stylesheet_libs
|
84
|
-
attr_reader :library, :public_root, :url_prefix, :index_prefix
|
84
|
+
attr_reader :library, :public_root, :url_prefix, :index_prefix, :build_prefix
|
85
85
|
attr_reader :source_root, :build_root, :url_root, :index_root
|
86
86
|
attr_reader :build_mode, :layout
|
87
|
+
attr_reader :make_resources_relative
|
87
88
|
|
88
89
|
def library_root
|
89
90
|
@library_root ||= library.nil? ? nil : library.root_path
|
@@ -175,10 +176,15 @@ module SproutCore
|
|
175
176
|
|
176
177
|
# public_root:: The root directory accessible to the web browser.
|
177
178
|
@public_root = normalize_path(opts[:public_root] || 'public')
|
178
|
-
|
179
|
+
|
180
|
+
@make_resources_relative = opts[:resources_relative] || false
|
181
|
+
|
179
182
|
# url_prefix:: The prefix to put in front of all resource requests.
|
180
|
-
@url_prefix = opts[:url_prefix] || opts[:resources_at] || opts[:at] || 'static'
|
181
|
-
|
183
|
+
@url_prefix = opts[:url_prefix] || opts[:resources_at] || opts[:at] || (make_resources_relative ? '../..' : 'static')
|
184
|
+
|
185
|
+
# build_prefix:: The prefix to put in front of the built files directory. Generally if you are using absolute paths you want your build_prefix to match the url_prefix. If you are using relative paths, you don't want a build prefix.
|
186
|
+
@build_prefix = opts[:build_prefix] || (make_resources_relative ? '' : url_prefix)
|
187
|
+
|
182
188
|
# index_prefix:: The prefix to put in front of all index.html request.
|
183
189
|
@index_prefix = opts[:index_prefix] || opts[:index_at] || ''
|
184
190
|
|
@@ -188,10 +194,17 @@ module SproutCore
|
|
188
194
|
@source_root = normalize_path(opts[:source_root] || File.join(bundle_type.to_s.pluralize, bundle_name.to_s))
|
189
195
|
|
190
196
|
# build_root:: The directory that should contain the built files.
|
191
|
-
@build_root = normalize_path(opts[:build_root] || File.join(public_root,
|
197
|
+
@build_root = normalize_path(opts[:build_root] || File.join(public_root, build_prefix.to_s, bundle_name.to_s))
|
192
198
|
|
193
199
|
# url_root:: The url that can be used to reach the built resources
|
194
|
-
|
200
|
+
|
201
|
+
# Note that if the resources are relative, we don't want to include a
|
202
|
+
# '/' at the front. Using nil will cause it to be removed during
|
203
|
+
# compact.
|
204
|
+
@url_root = opts[:url_root] || [
|
205
|
+
(make_resources_relative ? nil : ''),
|
206
|
+
(url_prefix.nil? || url_prefix.size==0) ? nil : url_prefix,
|
207
|
+
bundle_name.to_s].compact.join('/')
|
195
208
|
|
196
209
|
# index_root:: The root url that can be used to reach retrieve the index.html.
|
197
210
|
@index_root = opts[:index_root] || ['',(index_prefix.nil? || index_prefix.size==0) ? nil : index_prefix, bundle_name.to_s].compact.join('/')
|
@@ -489,12 +502,32 @@ module SproutCore
|
|
489
502
|
|
490
503
|
languages.uniq.each { |lang| build_language(lang) }
|
491
504
|
|
492
|
-
# After build is complete, try to copy the index.html file of the
|
493
|
-
# to the build_root
|
505
|
+
# After build is complete, try to copy the index.html file of the
|
506
|
+
# preferred language to the build_root
|
494
507
|
index_entry = entry_for('index.html', :language => preferred_language)
|
495
508
|
if index_entry && File.exists?(index_entry.build_path)
|
496
|
-
|
497
|
-
|
509
|
+
|
510
|
+
# If we are publishing relative resources, then the default
|
511
|
+
# index.html needs to just redirect to the default language.
|
512
|
+
if make_resources_relative
|
513
|
+
index_url = index_entry.url.gsub("#{self.index_root}/",'')
|
514
|
+
file = %(<html><head>
|
515
|
+
<meta http-equiv="refresh" content="0;url=#{index_url}" />
|
516
|
+
<script type="text/javascript">
|
517
|
+
window.location.href='#{index_url}';
|
518
|
+
</script>
|
519
|
+
</head>
|
520
|
+
<body><a href="#{index_url}">Click here</a> if you are not redirected.</body></html>)
|
521
|
+
f = File.open(File.join(build_root, 'index.html'), 'w+')
|
522
|
+
f.write(file)
|
523
|
+
f.close
|
524
|
+
|
525
|
+
# Otherwise, just copy the contents of the index.html for the
|
526
|
+
# preferred language.
|
527
|
+
else
|
528
|
+
FileUtils.mkdir_p(build_root)
|
529
|
+
FileUtils.cp_r(index_entry.build_path, File.join(build_root,'index.html'))
|
530
|
+
end
|
498
531
|
end
|
499
532
|
end
|
500
533
|
|
@@ -682,7 +715,7 @@ module SproutCore
|
|
682
715
|
# Converts the named path to a fully qualified path name using the library
|
683
716
|
# root, if it does not begin with a slash
|
684
717
|
def normalize_path(path)
|
685
|
-
|
718
|
+
File.expand_path(path, library_root)
|
686
719
|
end
|
687
720
|
|
688
721
|
end
|
data/lib/sproutcore/library.rb
CHANGED
@@ -167,9 +167,9 @@ module SproutCore
|
|
167
167
|
end
|
168
168
|
|
169
169
|
# Returns the computed environment for a particular client or framework.
|
170
|
-
# This will go up the chain of parent libraries, retrieving and merging
|
171
|
-
# environment settings. The returned options are suitable for
|
172
|
-
# for registration.
|
170
|
+
# This will go up the chain of parent libraries, retrieving and merging
|
171
|
+
# any known environment settings. The returned options are suitable for
|
172
|
+
# passing to the ClientBuilder for registration.
|
173
173
|
def environment_for(bundle_name)
|
174
174
|
|
175
175
|
is_local_client = client_directories.include?(bundle_name.to_s)
|
@@ -204,8 +204,8 @@ module SproutCore
|
|
204
204
|
ret[key] = all[key] if all.include?(key)
|
205
205
|
end
|
206
206
|
|
207
|
-
# Either way, if we have local settings for this specific client, they
|
208
|
-
# we cooked up just now.
|
207
|
+
# Either way, if we have local settings for this specific client, they
|
208
|
+
# override whatever we cooked up just now.
|
209
209
|
local_settings = environment[bundle_name.to_sym]
|
210
210
|
ret = ret.merge(local_settings) unless local_settings.nil?
|
211
211
|
|
@@ -93,10 +93,14 @@ module SproutCore
|
|
93
93
|
ret = File.open(build_path)
|
94
94
|
|
95
95
|
|
96
|
-
# In development mode only, immediately delete built composite
|
97
|
-
# each request to come directly to us.
|
96
|
+
# In development mode only, immediately delete built composite
|
97
|
+
# resources. We want each request to come directly to us.
|
98
98
|
if (current_bundle.build_mode == :development) && (!entry.cacheable?)
|
99
|
-
|
99
|
+
|
100
|
+
# Deleting composite resources will not work in windows because it
|
101
|
+
# does not like to have files you just open deleted. (Its OK on
|
102
|
+
# windows)
|
103
|
+
FileUtils.rm(build_path) if (RUBY_PLATFORM !~ /mswin32/)
|
100
104
|
end
|
101
105
|
|
102
106
|
return ret
|
data/lib/sproutcore/version.rb
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
Your new SproutCore client application has been created. To access your application, just start sc-
|
1
|
+
Your new SproutCore client application has been created. To access your application, just start sc-server and visit your client name in the web browser.
|
2
2
|
|
3
3
|
If you want to change the deployment settings for your application edit the sc-config.rb file to get started.
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sproutcore
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Charles Jolley
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-06-
|
12
|
+
date: 2008-06-17 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -295,38 +295,6 @@ files:
|
|
295
295
|
- frameworks/sproutcore/views/tab.js
|
296
296
|
- frameworks/sproutcore/views/toolbar.js
|
297
297
|
- frameworks/sproutcore/views/view.js
|
298
|
-
- generators/client/client_generator.rb
|
299
|
-
- generators/client/README
|
300
|
-
- generators/client/templates/core.js
|
301
|
-
- generators/client/templates/english.lproj/body.css
|
302
|
-
- generators/client/templates/english.lproj/body.rhtml
|
303
|
-
- generators/client/templates/english.lproj/strings.js
|
304
|
-
- generators/client/templates/main.js
|
305
|
-
- generators/client/USAGE
|
306
|
-
- generators/controller/controller_generator.rb
|
307
|
-
- generators/controller/templates/controller.js
|
308
|
-
- generators/controller/templates/test.rhtml
|
309
|
-
- generators/controller/USAGE
|
310
|
-
- generators/framework/framework_generator.rb
|
311
|
-
- generators/framework/README
|
312
|
-
- generators/framework/templates/core.js
|
313
|
-
- generators/framework/templates/english.lproj/strings.js
|
314
|
-
- generators/framework/USAGE
|
315
|
-
- generators/language/language_generator.rb
|
316
|
-
- generators/language/templates/strings.js
|
317
|
-
- generators/language/USAGE
|
318
|
-
- generators/model/model_generator.rb
|
319
|
-
- generators/model/templates/fixture.js
|
320
|
-
- generators/model/templates/model.js
|
321
|
-
- generators/model/templates/test.rhtml
|
322
|
-
- generators/model/USAGE
|
323
|
-
- generators/test/templates/test.rhtml
|
324
|
-
- generators/test/test_generator.rb
|
325
|
-
- generators/test/USAGE
|
326
|
-
- generators/view/templates/test.rhtml
|
327
|
-
- generators/view/templates/view.js
|
328
|
-
- generators/view/USAGE
|
329
|
-
- generators/view/view_generator.rb
|
330
298
|
- History.txt
|
331
299
|
- jsdoc/app/DocFile.js
|
332
300
|
- jsdoc/app/Doclet.js
|
@@ -379,6 +347,38 @@ files:
|
|
379
347
|
- Rakefile
|
380
348
|
- README.txt
|
381
349
|
- sc-config.rb
|
350
|
+
- sc_generators/client/client_generator.rb
|
351
|
+
- sc_generators/client/README
|
352
|
+
- sc_generators/client/templates/core.js
|
353
|
+
- sc_generators/client/templates/english.lproj/body.css
|
354
|
+
- sc_generators/client/templates/english.lproj/body.rhtml
|
355
|
+
- sc_generators/client/templates/english.lproj/strings.js
|
356
|
+
- sc_generators/client/templates/main.js
|
357
|
+
- sc_generators/client/USAGE
|
358
|
+
- sc_generators/controller/controller_generator.rb
|
359
|
+
- sc_generators/controller/templates/controller.js
|
360
|
+
- sc_generators/controller/templates/test.rhtml
|
361
|
+
- sc_generators/controller/USAGE
|
362
|
+
- sc_generators/framework/framework_generator.rb
|
363
|
+
- sc_generators/framework/README
|
364
|
+
- sc_generators/framework/templates/core.js
|
365
|
+
- sc_generators/framework/templates/english.lproj/strings.js
|
366
|
+
- sc_generators/framework/USAGE
|
367
|
+
- sc_generators/language/language_generator.rb
|
368
|
+
- sc_generators/language/templates/strings.js
|
369
|
+
- sc_generators/language/USAGE
|
370
|
+
- sc_generators/model/model_generator.rb
|
371
|
+
- sc_generators/model/templates/fixture.js
|
372
|
+
- sc_generators/model/templates/model.js
|
373
|
+
- sc_generators/model/templates/test.rhtml
|
374
|
+
- sc_generators/model/USAGE
|
375
|
+
- sc_generators/test/templates/test.rhtml
|
376
|
+
- sc_generators/test/test_generator.rb
|
377
|
+
- sc_generators/test/USAGE
|
378
|
+
- sc_generators/view/templates/test.rhtml
|
379
|
+
- sc_generators/view/templates/view.js
|
380
|
+
- sc_generators/view/USAGE
|
381
|
+
- sc_generators/view/view_generator.rb
|
382
382
|
- script/destroy
|
383
383
|
- script/generate
|
384
384
|
- script/txt2html
|