sproutcore 1.0.1037 → 1.0.1042

Sign up to get free protection for your applications and to get access to all the features.
Files changed (134) hide show
  1. data/History.txt +31 -0
  2. data/README.txt +3 -1
  3. data/Rakefile +11 -4
  4. data/VERSION.yml +3 -3
  5. data/buildtasks/build.rake +5 -0
  6. data/frameworks/sproutcore/Buildfile +3 -1
  7. data/frameworks/sproutcore/frameworks/animation/Buildfile +3 -0
  8. data/frameworks/sproutcore/frameworks/animation/LICENSE +25 -0
  9. data/frameworks/sproutcore/frameworks/animation/README.md +102 -0
  10. data/frameworks/sproutcore/frameworks/animation/core.js +934 -0
  11. data/frameworks/sproutcore/frameworks/animation/tests/core.js +65 -0
  12. data/frameworks/sproutcore/frameworks/datastore/models/record.js +28 -16
  13. data/frameworks/sproutcore/frameworks/datastore/models/record_attribute.js +5 -2
  14. data/frameworks/sproutcore/frameworks/datastore/system/many_array.js +4 -0
  15. data/frameworks/sproutcore/frameworks/datastore/system/query.js +27 -13
  16. data/frameworks/sproutcore/frameworks/datastore/system/record_array.js +36 -6
  17. data/frameworks/sproutcore/frameworks/datastore/system/store.js +7 -7
  18. data/frameworks/sproutcore/frameworks/datastore/tests/models/record/storeDidChangeProperties.js +2 -1
  19. data/frameworks/sproutcore/frameworks/datastore/tests/models/record_attribute.js +13 -0
  20. data/frameworks/sproutcore/frameworks/debug/invoke_once_last_debugging.js +250 -0
  21. data/frameworks/sproutcore/frameworks/desktop/english.lproj/list_item.css +0 -12
  22. data/frameworks/sproutcore/frameworks/desktop/english.lproj/menu_item_view.css +3 -6
  23. data/frameworks/sproutcore/frameworks/desktop/english.lproj/panel.css +0 -8
  24. data/frameworks/sproutcore/frameworks/desktop/english.lproj/picker.css +0 -4
  25. data/frameworks/sproutcore/frameworks/desktop/english.lproj/segmented.css +1 -0
  26. data/frameworks/sproutcore/frameworks/desktop/english.lproj/well.css +0 -1
  27. data/frameworks/sproutcore/frameworks/desktop/mixins/border.js +1 -1
  28. data/frameworks/sproutcore/frameworks/desktop/panes/alert.js +2 -1
  29. data/frameworks/sproutcore/frameworks/desktop/panes/menu.js +11 -4
  30. data/frameworks/sproutcore/frameworks/desktop/panes/palette.js +2 -0
  31. data/frameworks/sproutcore/frameworks/desktop/panes/panel.js +1 -5
  32. data/frameworks/sproutcore/frameworks/desktop/panes/picker.js +24 -23
  33. data/frameworks/sproutcore/frameworks/desktop/panes/select_button.js +91 -60
  34. data/frameworks/sproutcore/frameworks/desktop/panes/sheet.js +124 -24
  35. data/frameworks/sproutcore/frameworks/desktop/system/drag.js +5 -5
  36. data/frameworks/sproutcore/frameworks/desktop/system/root_responder.js +33 -25
  37. data/frameworks/sproutcore/frameworks/desktop/tests/panes/pane_page.js +41 -0
  38. data/frameworks/sproutcore/frameworks/desktop/tests/panes/select_button/methods.js +30 -1
  39. data/frameworks/sproutcore/frameworks/desktop/tests/panes/select_button/ui.js +13 -0
  40. data/frameworks/sproutcore/frameworks/desktop/tests/panes/sheet/ui.js +27 -21
  41. data/frameworks/sproutcore/frameworks/desktop/tests/views/button/methods.js +81 -1
  42. data/frameworks/sproutcore/frameworks/desktop/tests/views/radio/methods.js +3 -4
  43. data/frameworks/sproutcore/frameworks/desktop/views/button.js +65 -36
  44. data/frameworks/sproutcore/frameworks/desktop/views/collection.js +4 -7
  45. data/frameworks/sproutcore/frameworks/desktop/views/disclosure.js +8 -4
  46. data/frameworks/sproutcore/frameworks/desktop/views/list.js +1 -1
  47. data/frameworks/sproutcore/frameworks/desktop/views/list_item.js +38 -5
  48. data/frameworks/sproutcore/frameworks/desktop/views/menu_item.js +5 -1
  49. data/frameworks/sproutcore/frameworks/desktop/views/popup_button.js +4 -1
  50. data/frameworks/sproutcore/frameworks/desktop/views/progress.js +19 -13
  51. data/frameworks/sproutcore/frameworks/desktop/views/radio.js +30 -2
  52. data/frameworks/sproutcore/frameworks/desktop/views/scroll.js +2 -3
  53. data/frameworks/sproutcore/frameworks/desktop/views/segmented.js +14 -17
  54. data/frameworks/sproutcore/frameworks/desktop/views/select_field.js +5 -3
  55. data/frameworks/sproutcore/frameworks/desktop/views/slider.js +4 -2
  56. data/frameworks/sproutcore/frameworks/desktop/views/split.js +58 -59
  57. data/frameworks/sproutcore/frameworks/desktop/views/tab.js +2 -1
  58. data/frameworks/sproutcore/frameworks/desktop/views/well.js +1 -1
  59. data/frameworks/sproutcore/frameworks/foundation/core.js +6 -0
  60. data/frameworks/sproutcore/frameworks/foundation/english.lproj/view.css +2 -1
  61. data/frameworks/sproutcore/frameworks/foundation/mixins/button.js +33 -30
  62. data/frameworks/sproutcore/frameworks/foundation/mixins/inline_text_field.js +8 -4
  63. data/frameworks/sproutcore/frameworks/foundation/mixins/string.js +15 -10
  64. data/frameworks/sproutcore/frameworks/foundation/panes/pane.js +61 -12
  65. data/frameworks/sproutcore/frameworks/foundation/system/bundle.js +2 -1
  66. data/frameworks/sproutcore/frameworks/foundation/system/core_query.js +151 -131
  67. data/frameworks/sproutcore/frameworks/foundation/system/datetime.js +29 -23
  68. data/frameworks/sproutcore/frameworks/foundation/system/event.js +18 -10
  69. data/frameworks/sproutcore/frameworks/foundation/system/page.js +7 -5
  70. data/frameworks/sproutcore/frameworks/foundation/system/ready.js +1 -0
  71. data/frameworks/sproutcore/frameworks/foundation/system/render_context.js +9 -6
  72. data/frameworks/sproutcore/frameworks/foundation/system/request.js +41 -6
  73. data/frameworks/sproutcore/frameworks/foundation/system/response.js +89 -24
  74. data/frameworks/sproutcore/frameworks/foundation/system/routes.js +1 -1
  75. data/frameworks/sproutcore/frameworks/foundation/system/utils.js +0 -1
  76. data/frameworks/sproutcore/frameworks/foundation/tests/controllers/array/array_case.js +27 -8
  77. data/frameworks/sproutcore/frameworks/foundation/tests/system/core_query/jquery_core.js +6 -6
  78. data/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/helpers_style.js +2 -2
  79. data/frameworks/sproutcore/frameworks/foundation/tests/system/request.js +65 -3
  80. data/frameworks/sproutcore/frameworks/foundation/tests/views/pane/append_remove.js +1 -1
  81. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/convertLayouts.js +145 -0
  82. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/didAppendToDocument.js +48 -0
  83. data/frameworks/sproutcore/frameworks/foundation/tests/views/view/nextValidKeyView.js +91 -0
  84. data/frameworks/sproutcore/frameworks/foundation/validators/number.js +9 -5
  85. data/frameworks/sproutcore/frameworks/foundation/views/field.js +16 -14
  86. data/frameworks/sproutcore/frameworks/foundation/views/text_field.js +89 -67
  87. data/frameworks/sproutcore/frameworks/foundation/views/view.js +221 -73
  88. data/frameworks/sproutcore/frameworks/runtime/core.js +43 -22
  89. data/frameworks/sproutcore/frameworks/runtime/mixins/array.js +6 -0
  90. data/frameworks/sproutcore/frameworks/runtime/mixins/copyable.js +1 -1
  91. data/frameworks/sproutcore/frameworks/runtime/mixins/observable.js +53 -34
  92. data/frameworks/sproutcore/frameworks/runtime/private/observer_set.js +7 -3
  93. data/frameworks/sproutcore/frameworks/runtime/system/binding.js +19 -19
  94. data/frameworks/sproutcore/frameworks/runtime/system/logger.js +132 -88
  95. data/frameworks/sproutcore/frameworks/runtime/system/object.js +15 -9
  96. data/frameworks/sproutcore/frameworks/runtime/system/run_loop.js +6 -0
  97. data/frameworks/sproutcore/frameworks/runtime/tests/mixins/observable/observable.js +69 -0
  98. data/frameworks/sproutcore/frameworks/runtime/tests/system/logger.js +14 -2
  99. data/frameworks/sproutcore/license.js +3 -1
  100. data/frameworks/sproutcore/themes/standard_theme/Source/sc-theme-repeat-x.psd +0 -0
  101. data/frameworks/sproutcore/{frameworks/desktop → themes/standard_theme}/english.lproj/images/icons/mini_222222.png +0 -0
  102. data/frameworks/sproutcore/{frameworks/desktop → themes/standard_theme}/english.lproj/images/icons/mini_454545.png +0 -0
  103. data/frameworks/sproutcore/{frameworks/desktop → themes/standard_theme}/english.lproj/images/icons/mini_888888.png +0 -0
  104. data/frameworks/sproutcore/{frameworks/desktop → themes/standard_theme}/english.lproj/images/icons/mini_ffffff.png +0 -0
  105. data/frameworks/sproutcore/{frameworks/desktop → themes/standard_theme}/english.lproj/images/panels/sprite-x.png +0 -0
  106. data/frameworks/sproutcore/{frameworks/desktop → themes/standard_theme}/english.lproj/images/panels/sprite-y.png +0 -0
  107. data/frameworks/sproutcore/themes/standard_theme/english.lproj/images/sc-theme-repeat-x.png +0 -0
  108. data/frameworks/sproutcore/themes/standard_theme/english.lproj/images/sc-theme-ysprite.png +0 -0
  109. data/frameworks/sproutcore/themes/standard_theme/english.lproj/list_item.css +15 -1
  110. data/frameworks/sproutcore/themes/standard_theme/english.lproj/menu_item_view.css +9 -0
  111. data/frameworks/sproutcore/themes/standard_theme/english.lproj/panel.css +33 -0
  112. data/frameworks/sproutcore/themes/standard_theme/english.lproj/picker.css +17 -0
  113. data/frameworks/sproutcore/themes/standard_theme/english.lproj/radio.css +9 -6
  114. data/frameworks/sproutcore/themes/standard_theme/english.lproj/tab.css +0 -4
  115. data/frameworks/sproutcore/themes/standard_theme/english.lproj/well.css +36 -0
  116. data/gen/controller/templates/controllers/@filename@.js +1 -1
  117. data/lib/sproutcore/builders/minify.rb +45 -13
  118. data/lib/sproutcore/helpers/static_helper.rb +2 -2
  119. data/lib/sproutcore/models/manifest_entry.rb +42 -1
  120. data/lib/sproutcore/tools/build.rb +18 -2
  121. data/spec/lib/models/manifest_entry/hyperdomain_prefix.rb +34 -0
  122. data/vendor/yui-compressor/SCyuicompressor-2.4.2.jar +0 -0
  123. metadata +28 -22
  124. data/frameworks/sproutcore/themes/standard_theme/english.lproj/panels/background-fat.jpg +0 -0
  125. data/frameworks/sproutcore/themes/standard_theme/english.lproj/panels/background-thin.jpg +0 -0
  126. data/frameworks/sproutcore/themes/standard_theme/english.lproj/panels/bottom-edge.png +0 -0
  127. data/frameworks/sproutcore/themes/standard_theme/english.lproj/panels/bottom-left-corner.png +0 -0
  128. data/frameworks/sproutcore/themes/standard_theme/english.lproj/panels/bottom-right-corner.png +0 -0
  129. data/frameworks/sproutcore/themes/standard_theme/english.lproj/panels/left-edge.png +0 -0
  130. data/frameworks/sproutcore/themes/standard_theme/english.lproj/panels/overlay.png +0 -0
  131. data/frameworks/sproutcore/themes/standard_theme/english.lproj/panels/right-edge.png +0 -0
  132. data/frameworks/sproutcore/themes/standard_theme/english.lproj/panels/top-edge.png +0 -0
  133. data/frameworks/sproutcore/themes/standard_theme/english.lproj/panels/top-left-corner.png +0 -0
  134. data/frameworks/sproutcore/themes/standard_theme/english.lproj/panels/top-right-corner.png +0 -0
@@ -27,7 +27,7 @@ SC.BENCHMARK_OBJECTS = NO;
27
27
  number of optimizations that can make init'ing a new object much faster
28
28
  including:
29
29
 
30
- - concating concatenatedProperties
30
+ - concatenating concatenatedProperties
31
31
  - prepping a list of bindings, observers, and dependent keys
32
32
  - caching local observers so they don't need to be manually constructed.
33
33
 
@@ -278,16 +278,16 @@ SC.mixin(SC.Object, /** @scope SC.Object */ {
278
278
  /**
279
279
  Creates a new instance of the class.
280
280
 
281
- Unlike most frameworks, you do not pass paramters into the init funciton
282
- for an object. Instead, you pass a hash of additonal properties you
281
+ Unlike most frameworks, you do not pass parameters to the init function
282
+ for an object. Instead, you pass a hash of additional properties you
283
283
  want to have assigned to the object when it is first created. This is
284
- functionally like creating a anonymous subclass of the receiver and then
284
+ functionally like creating an anonymous subclass of the receiver and then
285
285
  instantiating it, but more efficient.
286
286
 
287
287
  You can use create() like you would a normal constructor in a
288
288
  class-based system, or you can use it to create highly customized
289
289
  singleton objects such as controllers or app-level objects. This is
290
- often more efficient than creating subclasses and than instantiating
290
+ often more efficient than creating subclasses and then instantiating
291
291
  them.
292
292
 
293
293
  You can pass any hash of properties to this method, including mixins.
@@ -523,7 +523,7 @@ SC.Object.prototype = {
523
523
  },
524
524
 
525
525
  /**
526
- Attemps to invoked the named method, passing the included two arguments.
526
+ Attemps to invoke the named method, passing the included two arguments.
527
527
  Returns NO if the method is either not implemented or if the handler
528
528
  returns NO (indicating that it did not handle the event). This method
529
529
  is invoked to deliver actions from menu items and to deliver events.
@@ -657,7 +657,10 @@ SC.Object.prototype = {
657
657
  too expensive to execute more than once, such as methods that update the
658
658
  DOM.
659
659
 
660
- @param {Funciton|String} method method or method name
660
+ Note that in development mode only, the object and method that call this
661
+ method will be recorded, for help in debugging scheduled code.
662
+
663
+ @param {Function|String} method method or method name
661
664
  @returns {SC.Object} receiver
662
665
  */
663
666
  invokeOnce: function(method) {
@@ -675,7 +678,7 @@ SC.Object.prototype = {
675
678
  A simple example is setting the selection on a collection controller to a
676
679
  newly created object. Because the collection controller won't have its
677
680
  content collection updated until later in the run loop, setting the
678
- selection immediately will have no affect. In this situation, you could do
681
+ selection immediately will have no effect. In this situation, you could do
679
682
  this instead:
680
683
 
681
684
  {{{
@@ -695,6 +698,9 @@ SC.Object.prototype = {
695
698
  You can call invokeLast as many times as you like and the method will
696
699
  only be invoked once.
697
700
 
701
+ Note that in development mode only, the object and method that call this
702
+ method will be recorded, for help in debugging scheduled code.
703
+
698
704
  @param {Funciton|String} method method or method name
699
705
  @returns {SC.Object} receiver
700
706
  */
@@ -777,7 +783,7 @@ function findClassNames() {
777
783
 
778
784
  searchObject(null, window, 2) ;
779
785
 
780
- // Internet Explorer doesn's loop over global variables...
786
+ // Internet Explorer doesn't loop over global variables...
781
787
  /*if ( SC.browser.isIE ) {
782
788
  searchObject('SC', SC, 2) ; // get names for the SC classes
783
789
 
@@ -98,6 +98,9 @@ SC.RunLoop = SC.Object.extend(/** @scope SC.RunLoop.prototype */ {
98
98
  Usually you will not call this method directly but use invokeOnce()
99
99
  defined on SC.Object.
100
100
 
101
+ Note that in development mode only, the object and method that call this
102
+ method will be recorded, for help in debugging scheduled code.
103
+
101
104
  @param {Object} target
102
105
  @param {Function} method
103
106
  @returns {SC.RunLoop} receiver
@@ -125,6 +128,9 @@ SC.RunLoop = SC.Object.extend(/** @scope SC.RunLoop.prototype */ {
125
128
  Usually you will not call this method directly but use invokeLast()
126
129
  defined on SC.Object.
127
130
 
131
+ Note that in development mode only, the object and method that call this
132
+ method will be recorded, for help in debugging scheduled code.
133
+
128
134
  @param {Object} target
129
135
  @param {Function} method
130
136
  @returns {SC.RunLoop} receiver
@@ -56,6 +56,75 @@ test("should call unknownProperty when value is undefined", function() {
56
56
  equals(object.lastUnknownProperty, "unknown") ;
57
57
  });
58
58
 
59
+ // ..........................................................
60
+ // SC.GET()
61
+ //
62
+ module("SC.get()", {
63
+ setup: function() {
64
+ objectA = SC.Object.create({
65
+
66
+ normal: 'value',
67
+ numberVal: 24,
68
+ toggleVal: true,
69
+
70
+ computed: function() { return 'value'; }.property(),
71
+
72
+ method: function() { return "value"; },
73
+
74
+ nullProperty: null,
75
+
76
+ unknownProperty: function(key, value) {
77
+ this.lastUnknownProperty = key ;
78
+ return "unknown" ;
79
+ }
80
+
81
+ });
82
+
83
+ objectB = {
84
+ normal: 'value',
85
+
86
+ nullProperty: null
87
+ };
88
+ }
89
+ });
90
+
91
+ test("should get normal properties on SC.Observable", function() {
92
+ equals(SC.get(objectA, 'normal'), 'value') ;
93
+ });
94
+
95
+ test("should call computed properties on SC.Observable and return their result", function() {
96
+ equals(SC.get(objectA, "computed"), "value") ;
97
+ });
98
+
99
+ test("should return the function for a non-computed property on SC.Observable", function() {
100
+ var value = SC.get(objectA, "method") ;
101
+ equals(SC.typeOf(value), SC.T_FUNCTION) ;
102
+ });
103
+
104
+ test("should return null when property value is null on SC.Observable", function() {
105
+ equals(SC.get(objectA, "nullProperty"), null) ;
106
+ });
107
+
108
+ test("should call unknownProperty when value is undefined on SC.Observable", function() {
109
+ equals(SC.get(object, "unknown"), "unknown") ;
110
+ equals(object.lastUnknownProperty, "unknown") ;
111
+ });
112
+
113
+ test("should get normal properties on standard objects", function() {
114
+ equals(SC.get(objectB, 'normal'), 'value');
115
+ });
116
+
117
+ test("should return null when property is null on standard objects", function() {
118
+ equals(SC.get(objectB, 'nullProperty'), null);
119
+ });
120
+
121
+ test("should return undefined if the provided object is null", function() {
122
+ equals(SC.get(null, 'key'), undefined);
123
+ });
124
+
125
+ test("should return undefined if the provided object is undefined", function() {
126
+ equals(SC.get(undefined, 'key'), undefined);
127
+ });
59
128
 
60
129
  // ..........................................................
61
130
  // SET()
@@ -13,6 +13,7 @@ function testConsole() {
13
13
  return {
14
14
  log: function() { return true; },
15
15
  alert: function() { return true; },
16
+ debug: function() { return true; },
16
17
  dir: function() { return true; },
17
18
  dirxml: function() { return true; },
18
19
  error: function() { return true; },
@@ -26,12 +27,13 @@ function testConsole() {
26
27
  trace: function() { return true; },
27
28
  warn: function() { return true; }
28
29
  };
29
- };
30
+ }
30
31
 
31
32
  module("SC.Logger", {
32
33
  setup: function() {
33
34
  SC.Logger.set('reporter', testConsole());
34
35
 
36
+ SC.Logger.debugEnabled = true;
35
37
  SC.Logger.format = true;
36
38
  SC.Logger.fallBackOnLog = true;
37
39
  SC.Logger.fallBackOnAlert = false;
@@ -58,6 +60,16 @@ test("log", function() {
58
60
  equals(SC.Logger.log("test"), true, "Function is null -- fallBackOnAlert true");
59
61
  });
60
62
 
63
+ test("debug", function() {
64
+ equals(SC.Logger.debug("Debug"), true, "Function is defined");
65
+
66
+ SC.Logger.get('reporter').debug = null;
67
+ equals(SC.Logger.debug("Debug"), true, "Function is null -- fallBackOnLog true");
68
+
69
+ SC.Logger.fallBackOnLog = false;
70
+ equals(SC.Logger.debug("Debug"), false, "Function is null -- fallBackOnLog false");
71
+ });
72
+
61
73
  test("dir", function() {
62
74
  equals(SC.Logger.dir({test:"string"}), true, "Function is defined");
63
75
 
@@ -162,4 +174,4 @@ test("_argumentsToString", function() {
162
174
 
163
175
  SC.LOGGER_LOG_DELIMITER = "|";
164
176
  equals(SC.Logger._argumentsToString.apply(SC.Logger, ["test", "test2"]), "test|test2", "Formatting using custom delimiter");
165
- });
177
+ });
@@ -1,7 +1,7 @@
1
1
  /*! @license
2
2
  ==========================================================================
3
3
  SproutCore -- JavaScript Application Framework
4
- copyright 2006-2008, Sprout Systems, Inc. and contributors.
4
+ copyright 2006-2009, Sprout Systems Inc., Apple Inc. and contributors.
5
5
 
6
6
  Permission is hereby granted, free of charge, to any person obtaining a
7
7
  copy of this software and associated documentation files (the "Software"),
@@ -21,6 +21,8 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21
21
  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22
22
  DEALINGS IN THE SOFTWARE.
23
23
 
24
+ SproutCore and the SproutCore logo are trademarks of Sprout Systems, Inc.
25
+
24
26
  For more information about SproutCore, visit http://www.sproutcore.com
25
27
 
26
28
 
@@ -65,4 +65,18 @@
65
65
  }
66
66
 
67
67
 
68
- /* @end */
68
+ /* @end */
69
+
70
+ /* @group Branch */
71
+
72
+ .sc-list-item-view .branch {
73
+ background-image: sc_static('icons/mini_454545');
74
+ background-position: -32px 0;
75
+ }
76
+
77
+ .sc-list-item-view.sel .branch,
78
+ .sc-list-item-view.active .branch {
79
+ background-image: sc_static('icons/mini_ffffff');
80
+ }
81
+
82
+ /* @end */
@@ -1,3 +1,12 @@
1
1
  .sc-theme .sc-menu-item {
2
2
  display:block !important;
3
+ }
4
+
5
+ .sc-menu-item div.checkbox {
6
+ background-image: sc_static('icons/mini_454545');
7
+ background-position: -66px -147px;
8
+ }
9
+
10
+ .sc-menu-item.focus div.checkbox {
11
+ background-image: sc_static('icons/mini_ffffff');
3
12
  }
@@ -0,0 +1,33 @@
1
+ /** SC.Panel Support */
2
+
3
+ .sc-theme .sc-pane.sc-panel > .top-right-edge {
4
+ background: static_url('images/panels/sprite-x.png') no-repeat -40px -120px;
5
+ }
6
+
7
+ .sc-theme .sc-pane.sc-panel > .top-left-edge {
8
+ background: static_url('images/panels/sprite-x.png') no-repeat 0px -120px;
9
+ }
10
+
11
+ .sc-theme .sc-pane.sc-panel > .bottom-left-edge {
12
+ background: static_url('images/panels/sprite-x.png') no-repeat 0px -160px;
13
+ }
14
+
15
+ .sc-theme .sc-pane.sc-panel > .bottom-right-edge {
16
+ background: static_url('images/panels/sprite-x.png') no-repeat -40px -160px;
17
+ }
18
+
19
+ .sc-theme .sc-pane.sc-panel > .top-edge {
20
+ background: static_url('images/panels/sprite-x.png') repeat-x 0px -230px;
21
+ }
22
+
23
+ .sc-theme .sc-pane.sc-panel > .bottom-edge {
24
+ background: static_url('images/panels/sprite-x.png') repeat-x 0px -210px;
25
+ }
26
+
27
+ .sc-theme .sc-pane.sc-panel > .left-edge {
28
+ background: static_url('images/panels/sprite-y.png') repeat-y 0px 0px;
29
+ }
30
+
31
+ .sc-theme .sc-pane.sc-panel > .right-edge {
32
+ background: static_url('images/panels/sprite-y.png') repeat-y -20px 0px;
33
+ }
@@ -0,0 +1,17 @@
1
+ /** SC.PickerPane Support */
2
+
3
+ .sc-theme .sc-pane.sc-panel.sc-picker .perfectRight {
4
+ background: static_url('images/panels/sprite-x.png') no-repeat 0px -30px;
5
+ }
6
+
7
+ .sc-theme .sc-pane.sc-panel.sc-picker .perfectLeft {
8
+ background: static_url('images/panels/sprite-x.png') no-repeat -30px -30px;
9
+ }
10
+
11
+ .sc-theme .sc-pane.sc-panel.sc-picker .perfectTop {
12
+ background: static_url('images/panels/sprite-x.png') no-repeat 0px -90px;
13
+ }
14
+
15
+ .sc-theme .sc-pane.sc-panel.sc-picker .perfectBottom {
16
+ background: static_url('images/panels/sprite-x.png') no-repeat 0px 0px;
17
+ }
@@ -118,32 +118,35 @@
118
118
 
119
119
  .sc-theme .sc-radio-view .sc-radio-button.disabled span.button,
120
120
  .sc-theme .sc-radio-view.disabled .sc-radio-button span.button,
121
- .sc-theme .sc-radio-view.active .sc-radio-button.disabled:hover span.button {
121
+ .sc-theme .sc-radio-view.disabled .sc-radio-button.active:hover span.button,
122
+ .sc-theme .sc-radio-view .sc-radio-button.disabled.active:hover span.button {
122
123
  background: static_url('images/sc-theme-repeat-x.png') no-repeat -16px -226px;
123
124
  }
124
125
 
125
126
  .sc-theme .sc-radio-view.disabled .sc-radio-button.sel span.button,
127
+ .sc-theme .sc-radio-view.disabled .sc-radio-button.sel.active:hover span.button,
126
128
  .sc-theme .sc-radio-view .sc-radio-button.sel.disabled span.button,
127
- .sc-theme .sc-radio-view.active .sc-radio-button.sel.disabled:hover span.button {
129
+ .sc-theme .sc-radio-view .sc-radio-button.sel.disabled.active:hover span.button {
128
130
  background: static_url('images/sc-theme-repeat-x.png') no-repeat -16px -280px;
129
131
  }
130
132
 
131
133
  .sc-theme .sc-radio-view.disabled .sc-radio-button.mixed span.button,
132
134
  .sc-theme .sc-radio-view .sc-radio-button.mixed.disabled span.button,
133
- .sc-theme .sc-radio-view.active .sc-radio-button.mixed.disabled:hover span.button {
135
+ .sc-theme .sc-radio-view.disabled .sc-radio-button.mixed.active:hover span.button,
136
+ .sc-theme .sc-radio-view .sc-radio-button.mixed.disabled span.button {
134
137
  background: static_url('images/sc-theme-repeat-x.png') no-repeat 0px -308px;
135
138
  }
136
139
 
137
140
 
138
- .sc-theme .sc-radio-view.active .sc-radio-button:hover span.button {
141
+ .sc-theme .sc-radio-view .sc-radio-button.active:hover span.button {
139
142
  background: static_url('images/sc-theme-repeat-x.png') no-repeat -32px -200px;
140
143
  }
141
144
 
142
- .sc-theme .sc-radio-view.active .sc-radio-button.sel:hover span.button {
145
+ .sc-theme .sc-radio-view .sc-radio-button.active.sel:hover span.button {
143
146
  background: static_url('images/sc-theme-repeat-x.png') no-repeat 0px -226px;
144
147
  }
145
148
 
146
- .sc-theme .sc-radio-view.active .sc-radio-button.mixed:hover span.button {
149
+ .sc-theme .sc-radio-view .sc-radio-button.mixed.active:hover span.button {
147
150
  background: static_url('images/sc-theme-repeat-x.png') no-repeat -16px -308px;
148
151
  }
149
152
 
@@ -13,7 +13,3 @@
13
13
  .sc-theme .sc-tab-view .sc-tab-view {
14
14
  background-color: transparent;
15
15
  }
16
-
17
- .sc-theme .sc-tab-view > .sc-segmented-view{
18
- z-index: 100;
19
- }
@@ -0,0 +1,36 @@
1
+ .sc-theme .sc-well-view .top-right-edge {
2
+ background: static_url('images/sc-theme-repeat-x.png') no-repeat right -1646px;
3
+ }
4
+
5
+ .sc-theme .sc-well-view .top-left-edge {
6
+ background: static_url('images/sc-theme-repeat-x.png') no-repeat left -1646px;
7
+ }
8
+
9
+ .sc-theme .sc-well-view .bottom-left-edge {
10
+ background: static_url('images/sc-theme-repeat-x.png') no-repeat left -1657px;
11
+ }
12
+
13
+ .sc-theme .sc-well-view .bottom-right-edge {
14
+ background: static_url('images/sc-theme-repeat-x.png') no-repeat right -1657px;
15
+ }
16
+
17
+ .sc-theme .sc-well-view .top-edge {
18
+ background: static_url('images/sc-theme-repeat-x.png') repeat-x right -1668px;
19
+ }
20
+
21
+ .sc-theme .sc-well-view .bottom-edge {
22
+ background: static_url('images/sc-theme-repeat-x.png') repeat-x right -1680px;
23
+ }
24
+
25
+ .sc-theme .sc-well-view .left-edge {
26
+ background: static_url('images/sc-theme-ysprite.png') repeat-y -16px top;
27
+ }
28
+
29
+ .sc-theme .sc-well-view .right-edge {
30
+ background: static_url('images/sc-theme-ysprite.png') repeat-y -28px top;
31
+ }
32
+
33
+ .sc-theme .sc-well-view .content-background {
34
+ background: #57647f;
35
+ opacity:0.4;
36
+ }
@@ -10,7 +10,7 @@
10
10
 
11
11
  @extends <%= base_class_name || 'SC.Object' %>
12
12
  */
13
- <%= namespace_instance_name %> = <%= base_class_name || 'SC.Object' %>.create(
13
+ <%= namespace_instance_name %> = <%= base_class_name || 'SC.ObjectController' %>.create(
14
14
  /** @scope <%= namespace_instance_name %>.prototype */ {
15
15
 
16
16
  // TODO: Add your own code here.
@@ -33,22 +33,55 @@ module SC
33
33
  end
34
34
 
35
35
  def build_css(dst_path)
36
- yui_root = File.expand_path(File.join(LIBPATH, '..', 'vendor', 'yui-compressor'))
37
- jar_path = File.join(yui_root, 'yuicompressor-2.4.2.jar')
38
- FileUtils.mkdir_p(File.dirname(dst_path)) # make sure loc exists...
39
- filecompress = "java -jar " + jar_path + " --charset utf-8 --line-break 0 --nomunge --preserve-semi --disable-optimizations " + entry.source_path + " -o \"" + dst_path + "\" 2>&1"
40
- SC.logger.info 'Compressing CSS with YUI .... '+ dst_path
41
- SC.logger.debug `#{filecompress}`
36
+ a = Regexp.new('^'+MANIFEST.build_root)
37
+ if dst_path =~ a
38
+ $to_minify= $to_minify+" "+dst_path
39
+ FileUtils.mkdir_p(File.dirname(dst_path))
40
+ FileUtils.copy(entry.source_path, dst_path)
41
+ else
42
+ yui_root = File.expand_path(File.join(LIBPATH, '..', 'vendor', 'yui-compressor'))
43
+ jar_path = File.join(yui_root, 'yuicompressor-2.4.2.jar')
44
+ FileUtils.mkdir_p(File.dirname(dst_path)) # make sure loc exists...
45
+ filecompress = "java -jar " + jar_path + " --charset utf-8 --line-break 0 --nomunge --preserve-semi --disable-optimizations " + entry.source_path + " -o \"" + dst_path + "\" 2>&1"
46
+ SC.logger.info 'Compressing CSS with YUI .... '+ dst_path
47
+ SC.logger.debug `#{filecompress}`
42
48
 
43
- if $?.exitstatus != 0
44
- _report_error(output, entry.filename, entry.source_path)
45
- SC.logger.fatal("!!!!YUI compressor failed, please check that your css code is valid.")
46
- SC.logger.fatal("!!!!Failed compressing CSS... "+ dst_path)
49
+ if $?.exitstatus != 0
50
+ _report_error(output, entry.filename, entry.source_path)
51
+ SC.logger.fatal("!!!!YUI compressor failed, please check that your css code is valid.")
52
+ SC.logger.fatal("!!!!Failed compressing CSS... "+ dst_path)
53
+ end
47
54
  end
48
55
  end
49
56
 
50
57
  # Minify some javascript by invoking the YUI compressor.
51
58
  def build_javascript(dst_path)
59
+ a = Regexp.new('^'+MANIFEST.build_root)
60
+ if dst_path =~ a
61
+ $to_minify= $to_minify+" "+dst_path
62
+ FileUtils.mkdir_p(File.dirname(dst_path))
63
+ FileUtils.copy(entry.source_path, dst_path)
64
+ else
65
+ yui_root = File.expand_path(File.join(LIBPATH, '..', 'vendor', 'yui-compressor'))
66
+ jar_path = File.join(yui_root, 'yuicompressor-2.4.2.jar')
67
+ FileUtils.mkdir_p(File.dirname(dst_path)) # make sure loc exists...
68
+ filecompress = "java -jar " + jar_path + " --charset utf-8 --line-break 80 " + entry.source_path + " -o \"" + dst_path + "\" 2>&1"
69
+ SC.logger.info 'Compressing with YUI: '+ dst_path + "..."
70
+
71
+ output = `#{filecompress}` # It'd be nice to just read STDERR, but
72
+ # I can't find a reasonable, commonly-
73
+ # installed, works-on-all-OSes solution.
74
+ if $?.exitstatus != 0
75
+ _report_error(output, entry.filename, entry.source_path)
76
+ SC.logger.fatal("!!!!YUI compressor failed, please check that your js code is valid")
77
+ SC.logger.fatal("!!!!Failed compressing ... "+ dst_path)
78
+ end
79
+ end
80
+ end
81
+
82
+ def build_inline_javascript(dst_path)
83
+ SC.logger.info 'Compressing inline Javascript with YUI: ' + dst_path + "..."
84
+ system(yui_command('--line-break 0', dst_path))
52
85
  yui_root = File.expand_path(File.join(LIBPATH, '..', 'vendor', 'yui-compressor'))
53
86
  jar_path = File.join(yui_root, 'yuicompressor-2.4.2.jar')
54
87
  FileUtils.mkdir_p(File.dirname(dst_path)) # make sure loc exists...
@@ -56,14 +89,13 @@ module SC
56
89
  SC.logger.info 'Compressing with YUI: '+ dst_path + "..."
57
90
 
58
91
  output = `#{filecompress}` # It'd be nice to just read STDERR, but
59
- # I can't find a reasonable, commonly-
60
- # installed, works-on-all-OSes solution.
92
+ # I can't find a reasonable, commonly-
93
+ # installed, works-on-all-OSes solution.
61
94
  if $?.exitstatus != 0
62
95
  _report_error(output, entry.filename, entry.source_path)
63
96
  SC.logger.fatal("!!!!YUI compressor failed, please check that your js code is valid")
64
97
  SC.logger.fatal("!!!!Failed compressing ... "+ dst_path)
65
98
  end
66
-
67
99
  end
68
100
 
69
101