sproutcore 1.0.1009 → 1.0.1024
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/DISTRIBUTION.yml +14 -0
- data/Rakefile +150 -23
- data/VERSION.yml +4 -2
- data/frameworks/sproutcore/Buildfile +1 -1
- data/frameworks/sproutcore/frameworks/bootstrap/system/loader.js +1 -0
- data/frameworks/sproutcore/frameworks/datastore/models/record.js +66 -5
- data/frameworks/sproutcore/frameworks/datastore/models/record_attribute.js +14 -0
- data/frameworks/sproutcore/frameworks/datastore/tests/models/record_attribute.js +28 -3
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/alert.css +1 -1
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/menu_item_view.css +22 -2
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/panel.css +5 -1
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/well.css +72 -0
- data/frameworks/sproutcore/frameworks/desktop/panes/alert.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/panes/picker.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/panes/select_button.js +33 -7
- data/frameworks/sproutcore/frameworks/desktop/system/root_responder.js +24 -23
- data/frameworks/sproutcore/frameworks/desktop/tests/views/list/ui_alternatingrows.js +130 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/list/ui_row_heights.js +9 -10
- data/frameworks/sproutcore/frameworks/desktop/tests/views/list_item.js +4 -0
- data/frameworks/sproutcore/frameworks/desktop/tests/views/progress/ui.js +18 -9
- data/frameworks/sproutcore/frameworks/desktop/tests/views/scroll/methods.js +7 -6
- data/frameworks/sproutcore/frameworks/desktop/tests/views/well/ui.js +54 -0
- data/frameworks/sproutcore/frameworks/desktop/views/button.js +21 -9
- data/frameworks/sproutcore/frameworks/desktop/views/checkbox.js +4 -3
- data/frameworks/sproutcore/frameworks/desktop/views/collection.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/views/grid.js +23 -14
- data/frameworks/sproutcore/frameworks/desktop/views/list_item.js +2 -2
- data/frameworks/sproutcore/frameworks/desktop/views/menu_item.js +3 -3
- data/frameworks/sproutcore/frameworks/desktop/views/radio.js +1 -2
- data/frameworks/sproutcore/frameworks/desktop/views/scroll.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/views/segmented.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/views/slider.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/views/source_list_group.js +1 -1
- data/frameworks/sproutcore/frameworks/desktop/views/well.js +80 -0
- data/frameworks/sproutcore/frameworks/foundation/fixtures/malformed.json +11 -0
- data/frameworks/sproutcore/frameworks/foundation/mixins/button.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/mixins/inline_text_field.js +5 -1
- data/frameworks/sproutcore/frameworks/foundation/panes/pane.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/system/cursor.js +11 -10
- data/frameworks/sproutcore/frameworks/foundation/system/event.js +16 -15
- data/frameworks/sproutcore/frameworks/foundation/system/render_context.js +3 -3
- data/frameworks/sproutcore/frameworks/foundation/system/request.js +6 -5
- data/frameworks/sproutcore/frameworks/foundation/system/response.js +26 -8
- data/frameworks/sproutcore/frameworks/foundation/system/root_responder.js +2 -2
- data/frameworks/sproutcore/frameworks/foundation/system/timer.js +2 -2
- data/frameworks/sproutcore/frameworks/foundation/system/utils.js +122 -13
- data/frameworks/sproutcore/frameworks/foundation/tests/system/core_query/jquery_core.js +2 -3
- data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/tag.js +9 -9
- data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/update.js +3 -3
- data/frameworks/sproutcore/frameworks/foundation/tests/system/request.js +27 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/system/utils/rect.js +99 -0
- data/frameworks/sproutcore/frameworks/foundation/tests/views/image/ui.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/tests/views/view/updateLayer.js +1 -1
- data/frameworks/sproutcore/frameworks/foundation/views/image.js +3 -1
- data/frameworks/sproutcore/frameworks/foundation/views/label.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/system/cookie.js +160 -0
- data/frameworks/sproutcore/frameworks/runtime/system/object.js +1 -1
- data/frameworks/sproutcore/frameworks/runtime/tests/system/cookie.js +163 -0
- data/frameworks/sproutcore/themes/standard_theme/english.lproj/pane.css +12 -2
- data/lib/sproutcore/rack/proxy.rb +4 -2
- data/sproutcore-abbot.gemspec +23 -9
- metadata +32 -5
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/images/standard_fade/000000.png +0 -0
- data/frameworks/sproutcore/frameworks/desktop/english.lproj/images/standard_fade/ffffff.png +0 -0
@@ -34,7 +34,7 @@ htmlbody('<style> .sc-static-layout { border: 1px red dotted; } </style>');
|
|
34
34
|
ok(view.get('status') !== 'loaded', 'PRECOND - status should not be loaded (status=%@)'.fmt(view.get('status')));
|
35
35
|
|
36
36
|
var url = view.$().attr('src')
|
37
|
-
ok((url.indexOf('blank.gif')!=-1), "The src should be blank URL. url = %@".fmt(url));
|
37
|
+
ok((url.indexOf('base64')!=-1) || (url.indexOf('blank.gif')!=-1), "The src should be blank URL. url = %@".fmt(url));
|
38
38
|
});
|
39
39
|
|
40
40
|
test("Verify that all the rendering properties of an image that is loaded are correct", function() {
|
@@ -24,7 +24,7 @@ test("invokes prepareContext() and then updates layer element", function() {
|
|
24
24
|
});
|
25
25
|
|
26
26
|
view.updateLayer();
|
27
|
-
ok(layer.
|
27
|
+
ok(SC.$(layer).attr('class').indexOf('did-update')>=0, 'has class name added by prepareContext()');
|
28
28
|
});
|
29
29
|
|
30
30
|
// ..........................................................
|
@@ -17,7 +17,9 @@ SC.IMAGE_STATE_SPRITE = 'sprite';
|
|
17
17
|
/**
|
18
18
|
URL to a transparent GIF. Used for spriting.
|
19
19
|
*/
|
20
|
-
SC.
|
20
|
+
SC.BLANK_IMAGE_DATAURL = "data:image/gif;base64,R0lGODlhAQABAJAAAP///wAAACH5BAUQAAAALAAAAAABAAEAAAICBAEAOw==";
|
21
|
+
|
22
|
+
SC.BLANK_IMAGE_URL = SC.browser.msie && SC.browser.msie<8 ? sc_static('blank.gif') : SC.BLANK_IMAGE_DATAURL;
|
21
23
|
|
22
24
|
/**
|
23
25
|
@class
|
@@ -272,7 +272,7 @@ SC.LabelView = SC.View.extend(SC.Control,
|
|
272
272
|
|
273
273
|
// add icon if needed
|
274
274
|
if (icon) {
|
275
|
-
var url = (icon.indexOf('/')>=0) ? icon :
|
275
|
+
var url = (icon.indexOf('/')>=0) ? icon : SC.BLANK_IMAGE_URL;
|
276
276
|
var className = (url === icon) ? '' : icon ;
|
277
277
|
icon = '<img src="%@" alt="" class="icon %@" />'.fmt(url, className) ;
|
278
278
|
context.push(icon);
|
@@ -0,0 +1,160 @@
|
|
1
|
+
// ==========================================================================
|
2
|
+
// SC.Cookie
|
3
|
+
// ==========================================================================
|
4
|
+
|
5
|
+
/** @class
|
6
|
+
|
7
|
+
Allows for easier handling of the document.cookie object. To create a cookie,
|
8
|
+
simply call SC.Cookie.create. To retrieve a cookie, use SC.Cookie.find.
|
9
|
+
Cookies are not added to document.cookie, which SC.Cookie.find uses, until you
|
10
|
+
have called SC.Cookie#write.
|
11
|
+
|
12
|
+
Heavy inspiration from the
|
13
|
+
{@link <a href="http://plugins.jquery.com/project/cookie">jQuery cookie plugin</a>}.
|
14
|
+
|
15
|
+
@extends SC.Object
|
16
|
+
@since Sproutcore 1.0
|
17
|
+
@author Colin Campbell
|
18
|
+
*/
|
19
|
+
|
20
|
+
SC.Cookie = SC.Object.extend({
|
21
|
+
|
22
|
+
// ..........................................................
|
23
|
+
// PROPERTIES
|
24
|
+
//
|
25
|
+
|
26
|
+
/**
|
27
|
+
The name of the cookie
|
28
|
+
|
29
|
+
@property {String}
|
30
|
+
*/
|
31
|
+
name: null,
|
32
|
+
|
33
|
+
/**
|
34
|
+
The value of the cookie
|
35
|
+
|
36
|
+
@property {String}
|
37
|
+
*/
|
38
|
+
value: '',
|
39
|
+
|
40
|
+
/**
|
41
|
+
Amount of time until the cookie expires. Set to -1 in order to delete the cookie.
|
42
|
+
|
43
|
+
@property {Integer|SC.DateTime|Date}
|
44
|
+
*/
|
45
|
+
expires: null,
|
46
|
+
|
47
|
+
/**
|
48
|
+
The value of the path atribute of the cookie (default: path of page that created the cookie).
|
49
|
+
|
50
|
+
@property {String}
|
51
|
+
*/
|
52
|
+
path: null,
|
53
|
+
|
54
|
+
/**
|
55
|
+
The value of the domain attribute of the cookie (default: domain of page that created the cookie).
|
56
|
+
|
57
|
+
@property {String}
|
58
|
+
*/
|
59
|
+
domain: null,
|
60
|
+
|
61
|
+
/**
|
62
|
+
If true, the secure attribute of the cookie will be set and the cookie transmission will
|
63
|
+
require a secure protocol (like HTTPS).
|
64
|
+
|
65
|
+
@property {Boolean}
|
66
|
+
*/
|
67
|
+
secure: NO,
|
68
|
+
|
69
|
+
/**
|
70
|
+
Walk like a duck
|
71
|
+
|
72
|
+
@property {Boolean}
|
73
|
+
@isReadOnly
|
74
|
+
*/
|
75
|
+
isCookie: YES,
|
76
|
+
|
77
|
+
// ..........................................................
|
78
|
+
// METHODS
|
79
|
+
//
|
80
|
+
|
81
|
+
/**
|
82
|
+
Sets SC.Cookie#expires to -1, which destroys the cookie.
|
83
|
+
*/
|
84
|
+
destroy: function() {
|
85
|
+
this.set('expires', -1);
|
86
|
+
this.write();
|
87
|
+
|
88
|
+
sc_super();
|
89
|
+
},
|
90
|
+
|
91
|
+
/**
|
92
|
+
Writes this SC.Cookie to document.cookie and adds it to SC.Cookie collection. To find this
|
93
|
+
cookie later, or on reload, use SC.Cookie.find.
|
94
|
+
|
95
|
+
@see SC.Cookie.find
|
96
|
+
*/
|
97
|
+
write: function() {
|
98
|
+
var name = this.get('name'),
|
99
|
+
value = this.get('value'),
|
100
|
+
expires = this.get('expires'),
|
101
|
+
path = this.get('path'),
|
102
|
+
domain = this.get('domain'),
|
103
|
+
secure = this.get('secure');
|
104
|
+
|
105
|
+
var expiresOutput = '';
|
106
|
+
if (expires && (SC.typeOf(expires) === SC.T_NUMBER || (SC.DateTime && expires.get && expires.get('milliseconds')) || SC.typeOf(expires.toUTCString) === SC.T_FUNCTION)) {
|
107
|
+
var date;
|
108
|
+
if (SC.typeOf(expires) === SC.T_NUMBER) {
|
109
|
+
date = new Date();
|
110
|
+
date.setTime(date.getTime()+(expires*24*60*60*1000));
|
111
|
+
}
|
112
|
+
else if (SC.DateTime && expires.get && expires.get('milliseconds')) {
|
113
|
+
date = new Date(expires.get('milliseconds'));
|
114
|
+
}
|
115
|
+
else if (SC.typeOf(expires.toUTCString) === SC.T_FUNCTION) {
|
116
|
+
date = expires;
|
117
|
+
}
|
118
|
+
|
119
|
+
if (date) {
|
120
|
+
expiresOutput = '; expires=' + date.toUTCString();
|
121
|
+
}
|
122
|
+
}
|
123
|
+
|
124
|
+
var pathOutput = path ? '; path=' + path : '';
|
125
|
+
var domainOutput = domain ? '; domain=' + domain : '';
|
126
|
+
var secureOutput = secure ? '; secure' : '';
|
127
|
+
|
128
|
+
document.cookie = [name, '=', encodeURIComponent(value), expiresOutput, pathOutput, domainOutput, secureOutput].join('');
|
129
|
+
|
130
|
+
return this;
|
131
|
+
}
|
132
|
+
|
133
|
+
});
|
134
|
+
|
135
|
+
SC.Cookie.mixin(
|
136
|
+
/** @scope SC.Cookie */ {
|
137
|
+
|
138
|
+
/**
|
139
|
+
Finds a cookie that has been stored
|
140
|
+
|
141
|
+
@param {String} name The name of the cookie
|
142
|
+
@returns SC.Cookie object containing name and value of cookie
|
143
|
+
*/
|
144
|
+
find: function(name) {
|
145
|
+
if (document.cookie && document.cookie != '') {
|
146
|
+
var cookies = document.cookie.split(';');
|
147
|
+
for (var i = 0; i < cookies.length; i++) {
|
148
|
+
var cookie = String(cookies[i]).trim();
|
149
|
+
if (cookie.substring(0, name.length + 1) === (name + "=")) {
|
150
|
+
return SC.Cookie.create({
|
151
|
+
name: name,
|
152
|
+
value: decodeURIComponent(cookie.substring(name.length + 1))
|
153
|
+
});
|
154
|
+
}
|
155
|
+
}
|
156
|
+
}
|
157
|
+
return null;
|
158
|
+
}
|
159
|
+
|
160
|
+
});
|
@@ -822,7 +822,7 @@ SC.instanceOf = function(scObject, scClass) {
|
|
822
822
|
*/
|
823
823
|
SC.kindOf = function(scObject, scClass) {
|
824
824
|
if (scObject && !scObject.isClass) scObject = scObject.constructor;
|
825
|
-
return !!(scObject && scObject.kindOf(scClass));
|
825
|
+
return !!(scObject && scObject.kindOf && scObject.kindOf(scClass));
|
826
826
|
};
|
827
827
|
|
828
828
|
/** @private
|
@@ -0,0 +1,163 @@
|
|
1
|
+
// ==========================================================================
|
2
|
+
// SC.Cookie Unit Test
|
3
|
+
// ==========================================================================
|
4
|
+
|
5
|
+
/*globals module test equals */
|
6
|
+
|
7
|
+
var setCookies = ['cookie', 'cookie2', 'cookie-hashincreate', 'cookie-usingset', 'cookie-2-1', 'cookie-2-2', 'cookie-2-3', 'cookie-expires', 'cookie-destroy', 'cookie-find'];
|
8
|
+
eraseCookies();
|
9
|
+
setCookies = [];
|
10
|
+
|
11
|
+
if (document.cookie != "") {
|
12
|
+
SC.Logger.warn("document.cookie not empty -- test results may be contaminated -- %@".fmt(document.cookie));
|
13
|
+
}
|
14
|
+
|
15
|
+
module("SC.Cookie", {
|
16
|
+
setup: function() {
|
17
|
+
setCookies = [];
|
18
|
+
},
|
19
|
+
teardown: function() {
|
20
|
+
eraseCookies();
|
21
|
+
}
|
22
|
+
});
|
23
|
+
|
24
|
+
|
25
|
+
// functions borrowed from http://www.quirksmode.org/js/cookies.html
|
26
|
+
// should be good to test against
|
27
|
+
|
28
|
+
function createCookie(name,value,days) {
|
29
|
+
var expires;
|
30
|
+
if (days) {
|
31
|
+
var date = new Date();
|
32
|
+
date.setTime(date.getTime()+(days*24*60*60*1000));
|
33
|
+
expires = "; expires="+date.toGMTString();
|
34
|
+
}
|
35
|
+
else expires = "";
|
36
|
+
document.cookie = name+"="+value+expires+"; path=/";
|
37
|
+
}
|
38
|
+
|
39
|
+
function readCookie(name) {
|
40
|
+
var nameEQ = name + "=";
|
41
|
+
var ca = document.cookie.split(';');
|
42
|
+
for(var i=0;i < ca.length;i++) {
|
43
|
+
var c = ca[i];
|
44
|
+
while (c.charAt(0)==' ') c = c.substring(1,c.length);
|
45
|
+
if (c.indexOf(nameEQ) == 0) return decodeURIComponent(c.substring(nameEQ.length,c.length));
|
46
|
+
}
|
47
|
+
return null;
|
48
|
+
}
|
49
|
+
|
50
|
+
function eraseCookies() {
|
51
|
+
setCookies.forEach(function(cookie) {
|
52
|
+
createCookie(cookie, "", -1);
|
53
|
+
});
|
54
|
+
}
|
55
|
+
|
56
|
+
|
57
|
+
test("Setting a cookie - hash in create", function() {
|
58
|
+
var date = new Date();
|
59
|
+
date.setTime(date.getTime() + 1000);
|
60
|
+
var cookie = SC.Cookie.create({name: "cookie-hashincreate", value: "testing value", expires: date}).write();
|
61
|
+
|
62
|
+
var result = readCookie('cookie-hashincreate');
|
63
|
+
equals(result, "testing value", "value from document.cookie should match what we set");
|
64
|
+
|
65
|
+
setCookies = ["cookie-hashincreate"];
|
66
|
+
});
|
67
|
+
|
68
|
+
test("Setting a cookie - using set", function() {
|
69
|
+
var date = new Date();
|
70
|
+
date.setTime(date.getTime() + 1000);
|
71
|
+
var cookie = SC.Cookie.create({expires: date}).set('name', 'cookie-usingset').set('value', "testing value").write();
|
72
|
+
|
73
|
+
var result = readCookie('cookie-usingset');
|
74
|
+
equals(result, "testing value", "value from document.cookie should match what we set");
|
75
|
+
|
76
|
+
setCookies = ["cookie-usingset"];
|
77
|
+
});
|
78
|
+
|
79
|
+
test("Setting a cookie - no write", function() {
|
80
|
+
var date = new Date();
|
81
|
+
date.setTime(date.getTime() + 1000);
|
82
|
+
var cookie = SC.Cookie.create({name: "cookie-nowrite", value: "testing value", expires: date});
|
83
|
+
|
84
|
+
var result = readCookie('cookie-nowrite');
|
85
|
+
equals(result, null, "value from document.cookie should be null");
|
86
|
+
|
87
|
+
setCookies = ["cookie-nowrite"];
|
88
|
+
});
|
89
|
+
|
90
|
+
test("Setting 2 cookies", function() {
|
91
|
+
var date = new Date();
|
92
|
+
date.setTime(date.getTime() + 1000);
|
93
|
+
var cookie = SC.Cookie.create({name: "cookie-2-1", value: "testing value", expires: date}).write();
|
94
|
+
var cookie2 = SC.Cookie.create({name: "cookie-2-2", value: "testing value for second", expires: date}).write();
|
95
|
+
|
96
|
+
var value = readCookie('cookie-2-1');
|
97
|
+
equals(value, "testing value", "value from first cookie");
|
98
|
+
var value2 = readCookie('cookie-2-2');
|
99
|
+
equals(value2, "testing value for second", "value from second cookie");
|
100
|
+
|
101
|
+
setCookies = ['cookie-2-1', 'cookie-2-2'];
|
102
|
+
});
|
103
|
+
|
104
|
+
test("Setting 2 cookies - overwriting", function() {
|
105
|
+
var date = new Date();
|
106
|
+
date.setTime(date.getTime() + 1000);
|
107
|
+
var cookie = SC.Cookie.create({name: "cookie-2-3", value: "testing value", expires: date}).write();
|
108
|
+
|
109
|
+
var value = readCookie('cookie-2-3');
|
110
|
+
equals(value, "testing value", "value from first cookie");
|
111
|
+
|
112
|
+
var cookie2 = SC.Cookie.create({name: "cookie-2-3", value: "testing value for second", expires: date}).write();
|
113
|
+
|
114
|
+
var value2 = readCookie('cookie-2-3');
|
115
|
+
equals(value2, "testing value for second", "value from second cookie");
|
116
|
+
|
117
|
+
setCookies = ['cookie-2-3'];
|
118
|
+
});
|
119
|
+
|
120
|
+
test("Destroying a cookie - expires", function() {
|
121
|
+
var date = new Date();
|
122
|
+
date.setTime(date.getTime() + 1000);
|
123
|
+
var cookie = SC.Cookie.create({name: "cookie-expires", value: "testing value", expires: date}).write();
|
124
|
+
|
125
|
+
var result = readCookie('cookie-expires');
|
126
|
+
equals(result, "testing value", "value from document.cookie should match what we set");
|
127
|
+
|
128
|
+
cookie.set('expires', -1).write();
|
129
|
+
|
130
|
+
var result2 = readCookie('cookie-expires');
|
131
|
+
equals(result2, null, "value from document.cookie should be null");
|
132
|
+
|
133
|
+
setCookies = ["cookie-expires"]; // make sure we get rid of it
|
134
|
+
});
|
135
|
+
|
136
|
+
test("Destroying a cookie - destroy", function() {
|
137
|
+
var date = new Date();
|
138
|
+
date.setTime(date.getTime() + 1000);
|
139
|
+
var cookie = SC.Cookie.create({name: "cookie-destroy", value: "testing value", expires: date}).write();
|
140
|
+
|
141
|
+
var result = readCookie('cookie-destroy');
|
142
|
+
equals(result, "testing value", "value from document.cookie should match what we set");
|
143
|
+
|
144
|
+
cookie.destroy();
|
145
|
+
|
146
|
+
var result2 = readCookie('cookie-destroy');
|
147
|
+
equals(result2, null, "value from document.cookie should be null");
|
148
|
+
|
149
|
+
setCookies = ["cookie-destroy"]; // make sure we get rid of it
|
150
|
+
});
|
151
|
+
|
152
|
+
|
153
|
+
test("find", function() {
|
154
|
+
var date = new Date();
|
155
|
+
date.setTime(date.getTime() + 1000);
|
156
|
+
var cookie = SC.Cookie.create({name: "cookie-find", value: "testing value", expires: date}).write();
|
157
|
+
|
158
|
+
var result = SC.Cookie.find("cookie-find");
|
159
|
+
equals(result.get('name'), cookie.get('name'), "cookie names should be equal");
|
160
|
+
equals(result.get('value'), cookie.get('value'), "cookie values should be equal");
|
161
|
+
|
162
|
+
setCookies = ["cookie-find"];
|
163
|
+
});
|
@@ -1,8 +1,18 @@
|
|
1
1
|
.sc-theme .sc-dialog-pane {
|
2
2
|
z-index: 2000;
|
3
|
-
background:
|
3
|
+
background: #494949;
|
4
4
|
}
|
5
5
|
|
6
|
+
/*
|
7
|
+
Content-Type: multipart/related; boundary="BLANK_IMAGE"
|
8
|
+
|
9
|
+
--BLANK_IMAGE
|
10
|
+
Content-Location:SCTheme
|
11
|
+
Content-Transfer-Encoding:base64
|
12
|
+
|
13
|
+
R0lGODlhAQABAJAAAP///wAAACH5BAUQAAAALAAAAAABAAEAAAICBAEAOw==
|
14
|
+
*/
|
6
15
|
.sc-theme div.sc-ghost-view {
|
7
|
-
background:
|
16
|
+
background-image: url(data:image/gif;base64,R0lGODlhAQABAJAAAP///wAAACH5BAUQAAAALAAAAAABAAEAAAICBAEAOw==) top left no-repeat;
|
17
|
+
*background-image: sc_static('blank.gif') top left no-repeat; /* IE < 8 */
|
8
18
|
}
|
@@ -68,8 +68,10 @@ module SC
|
|
68
68
|
if no_body_method.include?(http_method)
|
69
69
|
response = http.send(http_method, http_path, headers)
|
70
70
|
else
|
71
|
-
|
72
|
-
|
71
|
+
http_body = env['rack.input']
|
72
|
+
some_request = Net::HTTPGenericRequest.new(http_method, '', '', http_path, headers)
|
73
|
+
some_request.body_stream = http_body
|
74
|
+
response = http.request(some_request)
|
73
75
|
end
|
74
76
|
end
|
75
77
|
|
data/sproutcore-abbot.gemspec
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
# Generated by jeweler
|
2
|
-
# DO NOT EDIT THIS FILE
|
3
|
-
# Instead, edit Jeweler::Tasks in Rakefile, and run
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{sproutcore}
|
8
|
-
s.version = "1.0.
|
8
|
+
s.version = "1.0.1024"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Sprout Systems, Inc. Apple Inc. and contributors"]
|
12
|
-
s.date = %q{2009-
|
12
|
+
s.date = %q{2009-11-15}
|
13
13
|
s.description = %q{sproutcore - abbot
|
14
14
|
by Charles Jolley and contributors
|
15
15
|
http://www.sproutcore.com
|
@@ -122,6 +122,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
122
122
|
]
|
123
123
|
s.files = [
|
124
124
|
"Buildfile",
|
125
|
+
"DISTRIBUTION.yml",
|
125
126
|
"History.txt",
|
126
127
|
"README.txt",
|
127
128
|
"Rakefile",
|
@@ -370,8 +371,6 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
370
371
|
"frameworks/sproutcore/frameworks/desktop/english.lproj/images/icons/shared.png",
|
371
372
|
"frameworks/sproutcore/frameworks/desktop/english.lproj/images/panels/sprite-x.png",
|
372
373
|
"frameworks/sproutcore/frameworks/desktop/english.lproj/images/panels/sprite-y.png",
|
373
|
-
"frameworks/sproutcore/frameworks/desktop/english.lproj/images/standard_fade/000000.png",
|
374
|
-
"frameworks/sproutcore/frameworks/desktop/english.lproj/images/standard_fade/ffffff.png",
|
375
374
|
"frameworks/sproutcore/frameworks/desktop/english.lproj/list_item.css",
|
376
375
|
"frameworks/sproutcore/frameworks/desktop/english.lproj/menu.css",
|
377
376
|
"frameworks/sproutcore/frameworks/desktop/english.lproj/menu_item_view.css",
|
@@ -389,6 +388,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
389
388
|
"frameworks/sproutcore/frameworks/desktop/english.lproj/strings.js",
|
390
389
|
"frameworks/sproutcore/frameworks/desktop/english.lproj/tab.css",
|
391
390
|
"frameworks/sproutcore/frameworks/desktop/english.lproj/toolbar.css",
|
391
|
+
"frameworks/sproutcore/frameworks/desktop/english.lproj/well.css",
|
392
392
|
"frameworks/sproutcore/frameworks/desktop/mixins/border.js",
|
393
393
|
"frameworks/sproutcore/frameworks/desktop/mixins/collection_group.js",
|
394
394
|
"frameworks/sproutcore/frameworks/desktop/mixins/collection_row_delegate.js",
|
@@ -453,6 +453,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
453
453
|
"frameworks/sproutcore/frameworks/desktop/tests/views/list/rowDelegate.js",
|
454
454
|
"frameworks/sproutcore/frameworks/desktop/tests/views/list/rowHeightForContentIndex.js",
|
455
455
|
"frameworks/sproutcore/frameworks/desktop/tests/views/list/rowOffsetForContentIndex.js",
|
456
|
+
"frameworks/sproutcore/frameworks/desktop/tests/views/list/ui_alternatingrows.js",
|
456
457
|
"frameworks/sproutcore/frameworks/desktop/tests/views/list/ui_outline.js",
|
457
458
|
"frameworks/sproutcore/frameworks/desktop/tests/views/list/ui_row_heights.js",
|
458
459
|
"frameworks/sproutcore/frameworks/desktop/tests/views/list/ui_simple.js",
|
@@ -481,6 +482,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
481
482
|
"frameworks/sproutcore/frameworks/desktop/tests/views/tab/ui.js",
|
482
483
|
"frameworks/sproutcore/frameworks/desktop/tests/views/web/methods.js",
|
483
484
|
"frameworks/sproutcore/frameworks/desktop/tests/views/web/ui.js",
|
485
|
+
"frameworks/sproutcore/frameworks/desktop/tests/views/well/ui.js",
|
484
486
|
"frameworks/sproutcore/frameworks/desktop/views/button.js",
|
485
487
|
"frameworks/sproutcore/frameworks/desktop/views/checkbox.js",
|
486
488
|
"frameworks/sproutcore/frameworks/desktop/views/collection.js",
|
@@ -509,6 +511,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
509
511
|
"frameworks/sproutcore/frameworks/desktop/views/thumb.js",
|
510
512
|
"frameworks/sproutcore/frameworks/desktop/views/toolbar.js",
|
511
513
|
"frameworks/sproutcore/frameworks/desktop/views/web.js",
|
514
|
+
"frameworks/sproutcore/frameworks/desktop/views/well.js",
|
512
515
|
"frameworks/sproutcore/frameworks/foundation/TESTING",
|
513
516
|
"frameworks/sproutcore/frameworks/foundation/controllers/array.js",
|
514
517
|
"frameworks/sproutcore/frameworks/foundation/controllers/controller.js",
|
@@ -531,6 +534,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
531
534
|
"frameworks/sproutcore/frameworks/foundation/ext/object.js",
|
532
535
|
"frameworks/sproutcore/frameworks/foundation/ext/run_loop.js",
|
533
536
|
"frameworks/sproutcore/frameworks/foundation/fixtures/file_exists.json",
|
537
|
+
"frameworks/sproutcore/frameworks/foundation/fixtures/malformed.json",
|
534
538
|
"frameworks/sproutcore/frameworks/foundation/license.js",
|
535
539
|
"frameworks/sproutcore/frameworks/foundation/mixins/button.js",
|
536
540
|
"frameworks/sproutcore/frameworks/foundation/mixins/collection_content.js",
|
@@ -631,6 +635,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
631
635
|
"frameworks/sproutcore/frameworks/foundation/tests/system/user_defaults.js",
|
632
636
|
"frameworks/sproutcore/frameworks/foundation/tests/system/utils/normalizeURL.js",
|
633
637
|
"frameworks/sproutcore/frameworks/foundation/tests/system/utils/range.js",
|
638
|
+
"frameworks/sproutcore/frameworks/foundation/tests/system/utils/rect.js",
|
634
639
|
"frameworks/sproutcore/frameworks/foundation/tests/validators/credit_card.js",
|
635
640
|
"frameworks/sproutcore/frameworks/foundation/tests/validators/date.js",
|
636
641
|
"frameworks/sproutcore/frameworks/foundation/tests/validators/number.js",
|
@@ -716,6 +721,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
716
721
|
"frameworks/sproutcore/frameworks/runtime/protocols/observable_protocol.js",
|
717
722
|
"frameworks/sproutcore/frameworks/runtime/protocols/sparse_array_delegate.js",
|
718
723
|
"frameworks/sproutcore/frameworks/runtime/system/binding.js",
|
724
|
+
"frameworks/sproutcore/frameworks/runtime/system/cookie.js",
|
719
725
|
"frameworks/sproutcore/frameworks/runtime/system/enumerator.js",
|
720
726
|
"frameworks/sproutcore/frameworks/runtime/system/error.js",
|
721
727
|
"frameworks/sproutcore/frameworks/runtime/system/index_set.js",
|
@@ -748,6 +754,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
748
754
|
"frameworks/sproutcore/frameworks/runtime/tests/mixins/propertyChanges.js",
|
749
755
|
"frameworks/sproutcore/frameworks/runtime/tests/private/observer_queue/isObservingSuspended.js",
|
750
756
|
"frameworks/sproutcore/frameworks/runtime/tests/system/binding.js",
|
757
|
+
"frameworks/sproutcore/frameworks/runtime/tests/system/cookie.js",
|
751
758
|
"frameworks/sproutcore/frameworks/runtime/tests/system/error.js",
|
752
759
|
"frameworks/sproutcore/frameworks/runtime/tests/system/index_set/add.js",
|
753
760
|
"frameworks/sproutcore/frameworks/runtime/tests/system/index_set/addEach.js",
|
@@ -1554,14 +1561,18 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
1554
1561
|
s.add_runtime_dependency(%q<extlib>, [">= 0.9.9"])
|
1555
1562
|
s.add_runtime_dependency(%q<erubis>, [">= 2.6.2"])
|
1556
1563
|
s.add_runtime_dependency(%q<thor>, [">= 0.11.7"])
|
1557
|
-
s.add_development_dependency(%q<
|
1564
|
+
s.add_development_dependency(%q<gemcutter>, [">= 0.1.0"])
|
1565
|
+
s.add_development_dependency(%q<jeweler>, [">= 1.0.0"])
|
1566
|
+
s.add_development_dependency(%q<rspec>, [">= 1.2.0"])
|
1558
1567
|
else
|
1559
1568
|
s.add_dependency(%q<rack>, [">= 0.9.1"])
|
1560
1569
|
s.add_dependency(%q<json_pure>, [">= 1.1.0"])
|
1561
1570
|
s.add_dependency(%q<extlib>, [">= 0.9.9"])
|
1562
1571
|
s.add_dependency(%q<erubis>, [">= 2.6.2"])
|
1563
1572
|
s.add_dependency(%q<thor>, [">= 0.11.7"])
|
1564
|
-
s.add_dependency(%q<
|
1573
|
+
s.add_dependency(%q<gemcutter>, [">= 0.1.0"])
|
1574
|
+
s.add_dependency(%q<jeweler>, [">= 1.0.0"])
|
1575
|
+
s.add_dependency(%q<rspec>, [">= 1.2.0"])
|
1565
1576
|
end
|
1566
1577
|
else
|
1567
1578
|
s.add_dependency(%q<rack>, [">= 0.9.1"])
|
@@ -1569,6 +1580,9 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
1569
1580
|
s.add_dependency(%q<extlib>, [">= 0.9.9"])
|
1570
1581
|
s.add_dependency(%q<erubis>, [">= 2.6.2"])
|
1571
1582
|
s.add_dependency(%q<thor>, [">= 0.11.7"])
|
1572
|
-
s.add_dependency(%q<
|
1583
|
+
s.add_dependency(%q<gemcutter>, [">= 0.1.0"])
|
1584
|
+
s.add_dependency(%q<jeweler>, [">= 1.0.0"])
|
1585
|
+
s.add_dependency(%q<rspec>, [">= 1.2.0"])
|
1573
1586
|
end
|
1574
1587
|
end
|
1588
|
+
|