sproutcore 0.9.1 → 0.9.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (208) hide show
  1. data/History.txt +233 -0
  2. data/Manifest.txt +67 -34
  3. data/bin/sc-build +12 -1
  4. data/bin/sc-gen +1 -1
  5. data/bin/sproutcore +14 -0
  6. data/clients/sc_docs/controllers/docs.js +38 -8
  7. data/clients/sc_docs/english.lproj/body.css +80 -127
  8. data/clients/sc_docs/english.lproj/body.rhtml +43 -23
  9. data/clients/sc_docs/english.lproj/no_docs.rhtml +2 -1
  10. data/clients/sc_docs/english.lproj/tabs.rhtml +16 -0
  11. data/clients/sc_docs/main.js +14 -9
  12. data/clients/sc_docs/models/doc.js +1 -1
  13. data/clients/sc_docs/tests/controllers/docs.rhtml +1 -2
  14. data/clients/sc_docs/tests/models/doc.rhtml +1 -2
  15. data/clients/sc_docs/tests/views/doc_frame.rhtml +1 -2
  16. data/clients/sc_docs/tests/views/doc_label_view.rhtml +1 -2
  17. data/clients/sc_docs/views/doc_frame.js +1 -1
  18. data/clients/sc_test_runner/controllers/runner.js +31 -8
  19. data/clients/sc_test_runner/english.lproj/body.css +62 -122
  20. data/clients/sc_test_runner/english.lproj/body.rhtml +62 -26
  21. data/clients/sc_test_runner/main.js +1 -6
  22. data/clients/sc_test_runner/models/test.js +14 -1
  23. data/clients/sc_test_runner/views/runner_frame.js +4 -2
  24. data/clients/view_builder/builders/builder.js +339 -0
  25. data/clients/view_builder/builders/button.js +81 -0
  26. data/clients/view_builder/controllers/document.js +21 -0
  27. data/clients/view_builder/core.js +19 -0
  28. data/clients/view_builder/english.lproj/body.css +77 -0
  29. data/clients/view_builder/english.lproj/body.rhtml +41 -0
  30. data/clients/{sc_docs → view_builder}/english.lproj/controls.css +0 -0
  31. data/clients/view_builder/english.lproj/strings.js +14 -0
  32. data/clients/view_builder/main.js +38 -0
  33. data/clients/view_builder/tests/controllers/document.rhtml +20 -0
  34. data/clients/view_builder/tests/views/builder.rhtml +20 -0
  35. data/clients/view_builder/views/builder.js +23 -0
  36. data/frameworks/prototype/prototype.js +1 -1
  37. data/frameworks/sproutcore/Core.js +32 -7
  38. data/frameworks/sproutcore/README +1 -1
  39. data/frameworks/sproutcore/animation/animation.js +411 -0
  40. data/frameworks/sproutcore/controllers/array.js +17 -9
  41. data/frameworks/sproutcore/controllers/collection.js +9 -110
  42. data/frameworks/sproutcore/controllers/controller.js +1 -1
  43. data/frameworks/sproutcore/controllers/object.js +2 -1
  44. data/frameworks/sproutcore/drag/drag.js +267 -56
  45. data/frameworks/sproutcore/drag/drag_data_source.js +24 -16
  46. data/frameworks/sproutcore/drag/drag_source.js +53 -42
  47. data/frameworks/sproutcore/drag/drop_target.js +2 -2
  48. data/frameworks/sproutcore/english.lproj/buttons.css +337 -236
  49. data/frameworks/sproutcore/english.lproj/core.css +115 -0
  50. data/frameworks/sproutcore/english.lproj/icons.css +227 -0
  51. data/{clients/sc_docs → frameworks/sproutcore}/english.lproj/images/indicator.gif +0 -0
  52. data/frameworks/sproutcore/english.lproj/images/sc-theme-sprite.png +0 -0
  53. data/frameworks/sproutcore/english.lproj/images/sc-theme-ysprite.png +0 -0
  54. data/frameworks/sproutcore/english.lproj/images/shared-icons.png +0 -0
  55. data/frameworks/sproutcore/english.lproj/menu.css +1 -1
  56. data/frameworks/sproutcore/english.lproj/strings.js +1 -1
  57. data/frameworks/sproutcore/english.lproj/theme.css +405 -31
  58. data/frameworks/sproutcore/foundation/application.js +15 -11
  59. data/frameworks/sproutcore/foundation/benchmark.js +1 -1
  60. data/frameworks/sproutcore/foundation/binding.js +2 -2
  61. data/frameworks/sproutcore/foundation/date.js +1 -1
  62. data/frameworks/sproutcore/foundation/error.js +1 -1
  63. data/frameworks/sproutcore/foundation/input_manager.js +32 -21
  64. data/frameworks/sproutcore/foundation/mock.js +1 -1
  65. data/frameworks/sproutcore/foundation/node_descriptor.js +9 -6
  66. data/frameworks/sproutcore/foundation/object.js +249 -177
  67. data/frameworks/sproutcore/foundation/page.js +5 -2
  68. data/frameworks/sproutcore/foundation/path_module.js +11 -10
  69. data/frameworks/sproutcore/foundation/responder.js +5 -2
  70. data/frameworks/sproutcore/foundation/routes.js +17 -13
  71. data/frameworks/sproutcore/foundation/run_loop.js +249 -11
  72. data/frameworks/sproutcore/foundation/server.js +1 -1
  73. data/frameworks/sproutcore/foundation/set.js +3 -3
  74. data/frameworks/sproutcore/foundation/string.js +5 -3
  75. data/frameworks/sproutcore/foundation/timer.js +371 -0
  76. data/frameworks/sproutcore/foundation/undo_manager.js +1 -1
  77. data/frameworks/sproutcore/foundation/unittest.js +3 -3
  78. data/frameworks/sproutcore/foundation/utils.js +161 -2
  79. data/frameworks/sproutcore/globals/panels.js +1 -1
  80. data/frameworks/sproutcore/globals/popups.js +4 -3
  81. data/frameworks/sproutcore/globals/window.js +44 -4
  82. data/frameworks/sproutcore/lib/button_views.rb +328 -0
  83. data/frameworks/sproutcore/lib/collection_view.rb +80 -0
  84. data/frameworks/sproutcore/lib/core_views.rb +281 -0
  85. data/frameworks/sproutcore/lib/form_views.rb +253 -0
  86. data/frameworks/sproutcore/lib/index.rhtml +2 -0
  87. data/frameworks/sproutcore/lib/menu_views.rb +88 -0
  88. data/frameworks/sproutcore/{foundation → mixins}/array.js +60 -29
  89. data/frameworks/sproutcore/mixins/control.js +265 -0
  90. data/frameworks/sproutcore/mixins/delegate_support.js +66 -0
  91. data/frameworks/sproutcore/{foundation → mixins}/observable.js +176 -6
  92. data/frameworks/sproutcore/mixins/scrollable.js +245 -0
  93. data/frameworks/sproutcore/mixins/selection_support.js +148 -0
  94. data/frameworks/sproutcore/mixins/validatable.js +152 -0
  95. data/frameworks/sproutcore/models/collection.js +5 -5
  96. data/frameworks/sproutcore/models/record.js +1 -1
  97. data/frameworks/sproutcore/models/store.js +1 -1
  98. data/frameworks/sproutcore/panes/dialog.js +1 -1
  99. data/frameworks/sproutcore/panes/manager.js +1 -1
  100. data/frameworks/sproutcore/panes/menu.js +1 -1
  101. data/frameworks/sproutcore/panes/overlay.js +2 -2
  102. data/frameworks/sproutcore/panes/panel.js +1 -1
  103. data/frameworks/sproutcore/panes/picker.js +1 -1
  104. data/frameworks/sproutcore/tests/controllers/array.rhtml +44 -4
  105. data/frameworks/sproutcore/tests/foundation/timer/invalidate.rhtml +33 -0
  106. data/frameworks/sproutcore/tests/foundation/timer/invokeLater.rhtml +145 -0
  107. data/frameworks/sproutcore/tests/foundation/timer/isPaused.rhtml +70 -0
  108. data/frameworks/sproutcore/tests/foundation/timer/schedule.rhtml +145 -0
  109. data/frameworks/sproutcore/tests/views/{scroll.rhtml → checkbox.rhtml} +3 -3
  110. data/frameworks/sproutcore/tests/views/{collection.rhtml → collection/base.rhtml} +33 -32
  111. data/frameworks/sproutcore/tests/views/collection/incremental_rendering.rhtml +260 -0
  112. data/frameworks/sproutcore/tests/views/image_cell.rhtml +19 -0
  113. data/frameworks/sproutcore/tests/views/label_item.rhtml +2 -4
  114. data/frameworks/sproutcore/tests/views/list.rhtml +2 -3
  115. data/frameworks/sproutcore/tests/views/list_item.rhtml +20 -0
  116. data/frameworks/sproutcore/tests/views/slider.rhtml +20 -0
  117. data/frameworks/sproutcore/tests/views/text_cell.rhtml +19 -0
  118. data/frameworks/sproutcore/tests/views/view/clippingFrame.rhtml +395 -0
  119. data/frameworks/sproutcore/tests/views/view/frame.rhtml +353 -0
  120. data/frameworks/sproutcore/tests/views/view/innerFrame.rhtml +347 -0
  121. data/frameworks/sproutcore/tests/views/view/isVisibleInWindow.rhtml +148 -0
  122. data/frameworks/sproutcore/tests/views/view/scrollFrame.rhtml +468 -0
  123. data/frameworks/sproutcore/validators/credit_card.js +33 -13
  124. data/frameworks/sproutcore/validators/date.js +26 -6
  125. data/frameworks/sproutcore/validators/email.js +21 -3
  126. data/frameworks/sproutcore/validators/not_empty.js +11 -1
  127. data/frameworks/sproutcore/validators/number.js +18 -4
  128. data/frameworks/sproutcore/validators/password.js +12 -1
  129. data/frameworks/sproutcore/validators/validator.js +204 -194
  130. data/frameworks/sproutcore/views/{button.js → button/button.js} +96 -94
  131. data/frameworks/sproutcore/views/button/checkbox.js +29 -0
  132. data/frameworks/sproutcore/views/button/disclosure.js +42 -0
  133. data/frameworks/sproutcore/views/button/radio.js +29 -0
  134. data/frameworks/sproutcore/views/{collection.js → collection/collection.js} +1373 -1024
  135. data/frameworks/sproutcore/views/collection/grid.js +124 -46
  136. data/frameworks/sproutcore/views/collection/image_cell.js +17 -46
  137. data/frameworks/sproutcore/views/collection/list.js +45 -35
  138. data/frameworks/sproutcore/views/collection/source_list.js +386 -0
  139. data/frameworks/sproutcore/views/collection/table.js +118 -0
  140. data/frameworks/sproutcore/views/container.js +7 -2
  141. data/frameworks/sproutcore/views/error_explanation.js +23 -10
  142. data/frameworks/sproutcore/views/{checkbox_field.js → field/checkbox_field.js} +16 -6
  143. data/frameworks/sproutcore/views/field/field.js +219 -0
  144. data/frameworks/sproutcore/views/{radio_field.js → field/radio_field.js} +27 -12
  145. data/frameworks/sproutcore/views/{select_field.js → field/select_field.js} +116 -90
  146. data/frameworks/sproutcore/views/{text_field.js → field/text_field.js} +57 -8
  147. data/frameworks/sproutcore/views/{textarea_field.js → field/textarea_field.js} +13 -3
  148. data/frameworks/sproutcore/views/filter_button.js +2 -2
  149. data/frameworks/sproutcore/views/form.js +3 -3
  150. data/frameworks/sproutcore/views/image.js +128 -21
  151. data/frameworks/sproutcore/views/inline_text_editor.js +1 -1
  152. data/frameworks/sproutcore/views/label.js +149 -92
  153. data/frameworks/sproutcore/views/list_item.js +225 -0
  154. data/frameworks/sproutcore/views/menu_item.js +10 -4
  155. data/frameworks/sproutcore/views/pagination.js +11 -4
  156. data/frameworks/sproutcore/views/popup_button.js +25 -21
  157. data/frameworks/sproutcore/views/popup_menu.js +10 -4
  158. data/frameworks/sproutcore/views/progress.js +29 -16
  159. data/frameworks/sproutcore/views/radio_group.js +1 -1
  160. data/frameworks/sproutcore/views/scroll.js +60 -20
  161. data/frameworks/sproutcore/views/segmented.js +1 -1
  162. data/frameworks/sproutcore/views/slider.js +132 -0
  163. data/frameworks/sproutcore/views/source_list_group.js +130 -0
  164. data/frameworks/sproutcore/views/spinner.js +1 -1
  165. data/frameworks/sproutcore/views/split.js +292 -0
  166. data/frameworks/sproutcore/views/split_divider.js +109 -0
  167. data/frameworks/sproutcore/views/tab.js +1 -1
  168. data/frameworks/sproutcore/views/toolbar.js +1 -1
  169. data/frameworks/sproutcore/views/view.js +1272 -591
  170. data/generators/client/templates/english.lproj/body.css +1 -1
  171. data/generators/controller/controller_generator.rb +1 -1
  172. data/generators/controller/templates/test.rhtml +2 -1
  173. data/generators/model/templates/test.rhtml +1 -1
  174. data/generators/test/templates/test.rhtml +1 -1
  175. data/generators/view/templates/test.rhtml +1 -1
  176. data/jsdoc/templates/sproutcore/class.tmpl +241 -338
  177. data/jsdoc/templates/sproutcore/default.css +105 -155
  178. data/jsdoc/templates/sproutcore/index.tmpl +43 -8
  179. data/jsdoc/templates/sproutcore/publish.js +9 -4
  180. data/lib/sproutcore/build_tools/html_builder.rb +29 -13
  181. data/lib/sproutcore/build_tools/resource_builder.rb +1 -1
  182. data/lib/sproutcore/bundle.rb +86 -25
  183. data/lib/sproutcore/jsdoc.rb +2 -0
  184. data/lib/sproutcore/version.rb +1 -1
  185. data/lib/sproutcore/view_helpers.rb +36 -3
  186. data/tasks/deployment.rake +1 -1
  187. metadata +69 -36
  188. data/clients/sc_docs/english.lproj/icons/small/next.png +0 -0
  189. data/clients/sc_docs/english.lproj/icons/small/reset.png +0 -0
  190. data/clients/sc_docs/english.lproj/images/gradients.png +0 -0
  191. data/clients/sc_docs/english.lproj/images/toolbar.png +0 -0
  192. data/clients/sc_docs/english.lproj/warning.rhtml +0 -6
  193. data/clients/sc_test_runner/english.lproj/warning.rhtml +0 -6
  194. data/frameworks/sproutcore/english.lproj/buttons.png +0 -0
  195. data/frameworks/sproutcore/english.lproj/collections.css +0 -82
  196. data/frameworks/sproutcore/english.lproj/images/buttons-sprite.png +0 -0
  197. data/frameworks/sproutcore/views/collection/collection_item.js +0 -36
  198. data/frameworks/sproutcore/views/collection/text_cell.js +0 -128
  199. data/frameworks/sproutcore/views/field.js +0 -214
  200. data/frameworks/sproutcore/views/workspace.js +0 -170
  201. data/generators/client/templates/english.lproj/controls.css +0 -0
  202. data/generators/framework/templates/english.lproj/body.css +0 -0
  203. data/generators/framework/templates/english.lproj/body.rhtml +0 -3
  204. data/generators/framework/templates/english.lproj/controls.css +0 -0
  205. data/lib/sproutcore/view_helpers/button_views.rb +0 -302
  206. data/lib/sproutcore/view_helpers/core_views.rb +0 -292
  207. data/lib/sproutcore/view_helpers/form_views.rb +0 -258
  208. data/lib/sproutcore/view_helpers/menu_views.rb +0 -94
data/bin/sc-build CHANGED
@@ -42,6 +42,7 @@ include_dependencies = false
42
42
  verbose = false # show debug level
43
43
  languages = nil
44
44
  clean = false
45
+ docs = false
45
46
 
46
47
  opts = OptionParser.new do |opts|
47
48
  opts.version = SproutCore::VERSION::STRING
@@ -79,6 +80,10 @@ opts = OptionParser.new do |opts|
79
80
  opts.on("-c", "--[no-]clean", "If set, then the build tool will delete a bundle's output before it builds it, so you get a clean build") do |opt_clean|
80
81
  clean = !!opt_clean
81
82
  end
83
+
84
+ opts.on('-d', '--[no-]docs', "Include documentation") do |opt_docs|
85
+ docs = !!opt_docs
86
+ end
82
87
 
83
88
  end
84
89
  opts.parse!
@@ -92,7 +97,7 @@ SC.logger.level = (verbose) ? Logger::DEBUG : Logger::INFO
92
97
  SC.logger.progname = $0
93
98
 
94
99
  # Load Library
95
- library = SC.library_for(library_root, :public_root => build_root, :url_prefix => '', :build_mode => build_mode)
100
+ library = SC.library_for(library_root, :public_root => build_root, :build_mode => build_mode)
96
101
 
97
102
  ############################################################
98
103
  ## FIND BUNDLES TO BUILD
@@ -139,6 +144,12 @@ bundles.each do |bundle|
139
144
  end
140
145
 
141
146
  bundle.build(*languages)
147
+
148
+ if docs
149
+ SC.logger.debug('~ Building docs')
150
+ SC::JSDoc.generate(:bundle => bundle)
151
+ end
152
+
142
153
  end
143
154
 
144
155
  SC.logger.debug("")
data/bin/sc-gen CHANGED
@@ -3,7 +3,7 @@
3
3
  # GENERATE SPROUTCORE COMPONENTS
4
4
  # Generates components for you in a sproutcore app.
5
5
  # Usages
6
- # sc-gen generator [path] [class]
6
+ # sc-gen generator [client_name|framework_name] [class]
7
7
  #
8
8
 
9
9
  APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
data/bin/sproutcore CHANGED
@@ -13,6 +13,20 @@ if %w(-v --version).include? ARGV.first
13
13
  exit(0)
14
14
  end
15
15
 
16
+ if ARGV.first == 'freeze:edge'
17
+ puts "Freezing SproutCore edge..."
18
+ FileUtils.mkdir_p('frameworks')
19
+ ['sproutcore'].each do |framework|
20
+ if File.exists?(File.join('frameworks', framework, '.svn'))
21
+ puts `svn up #{File.join('frameworks',framework)}`
22
+ else
23
+ puts `svn co http://sproutcore.googlecode.com/svn/trunk/frameworks/#{framework} #{File.join('frameworks', framework)}`
24
+ end
25
+ end
26
+
27
+ exit(0)
28
+ end
29
+
16
30
  require 'rubigen/scripts/generate'
17
31
  source = RubiGen::PathSource.new(:application,
18
32
  File.join(File.dirname(__FILE__), "../app_generators"))
@@ -7,7 +7,7 @@ require('core');
7
7
  Docs.docsController = SC.Object.create({
8
8
 
9
9
  // This is used in the client warning dialog.
10
- windowLocation: window.location.href,
10
+ windowLocation: window.location.href.toString(),
11
11
 
12
12
  // This is the current client name.
13
13
  clientName: '',
@@ -16,15 +16,25 @@ Docs.docsController = SC.Object.create({
16
16
 
17
17
  isRebuilding: false,
18
18
 
19
+ canRebuild: NO,
20
+
19
21
  nowShowingContainer: function() {
20
- return (this.get('isRebuilding')) ? 'rebuilding' : 'runner';
21
- }.property('isRebuilding'),
22
+ return (this.get('isRebuilding')) ? 'rebuilding' : (this.get('selectedDoc')) ? 'runner' : 'empty' ;
23
+ }.property('isRebuilding', 'selectedDoc'),
22
24
 
23
25
  // This is displayed as the main UI label.
24
26
  displayClientName: function() {
25
- return "%@ Docs".fmt((this.get('clientName') || '').humanize().capitalize()) ;
27
+ var clientName = (this.get('clientName') || '').humanize().capitalize() ;
28
+ if (clientName.toLowerCase() == 'sproutcore') clientName = 'SproutCore';
29
+ return "%@ Reference".fmt(clientName) ;
26
30
  }.property('clientName'),
27
31
 
32
+ nowShowingLabel: function() {
33
+ var sel = this.get('selection') ;
34
+ var rec = (sel && sel.get('length') > 0) ? sel.objectAt(0) : null ;
35
+ return (rec) ? rec.get('title') : '' ;
36
+ }.property('selection'),
37
+
28
38
  arrangedObjects: [],
29
39
  selection: [],
30
40
 
@@ -65,11 +75,32 @@ Docs.docsController = SC.Object.create({
65
75
  // working away immediately.
66
76
  if (recs.length == 0) {
67
77
  SC.page.get('noDocsPanel').set('isVisible',true) ;
68
- setTimeout(this.reloadDocs.bind(this),2000) ;
78
+ this.invokeLater(this.reloadDocs,2000) ;
69
79
  } else {
70
80
  SC.page.get('noDocsPanel').set('isVisible',false) ;
71
81
  }
72
82
 
83
+ this.set('allRecords', recs) ;
84
+ },
85
+
86
+ rebuildArrangedDocs: function() {
87
+
88
+ var search = this.get('search') ;
89
+ var recs = this.get('allRecords') ;
90
+
91
+ // filter out search
92
+ if (search && search.length > 0) {
93
+ search = search.toLowerCase() ;
94
+ var filtered =[];
95
+ var idx = recs.get('length') ;
96
+ while(--idx >= 0) {
97
+ var rec = recs.objectAt(idx) ;
98
+ var symbols = (rec.get('symbols') || '') ;
99
+ if (symbols.indexOf(search) >= 0) filtered.push(rec) ;
100
+ }
101
+ recs = filtered ;
102
+ }
103
+
73
104
  // sort the records by name and set as the new arrangedObjects.
74
105
  recs = recs.sort(function(a,b) {
75
106
 
@@ -89,9 +120,8 @@ Docs.docsController = SC.Object.create({
89
120
 
90
121
  // if the current selection is not in the list, clear the selection.
91
122
  var doc = this.get('selectedDoc') ;
92
- if (doc && !(recs.include(test))) this.set('selection', []) ;
93
-
94
- },
123
+ if (doc && !(recs.include(doc))) this.set('selection', []) ;
124
+ }.observes('allRecords', 'search'),
95
125
 
96
126
  _reloadFailure: function(status, transport) {
97
127
  console.log('TEST RELOAD FAILED!') ;
@@ -1,159 +1,112 @@
1
+ /* @override
2
+ http://localhost:4020/static/sc_docs/en/_cache/body-1208633994.css
3
+ http://localhost:4020/static/sc_docs/en/_cache/body-1208635640.css
4
+ */
1
5
 
2
- /* @group Workspace */
6
+ /* @group Core */
3
7
 
4
- #workspace {
5
- background-color: #8db69a;
8
+ body {
6
9
  position: absolute ;
7
- top: 0;
8
10
  left: 0;
9
- right: 0;
10
- bottom: 0;
11
+ right: 0;
12
+ top: 0;
13
+ bottom: 0;
14
+ padding: 0;
15
+ margin: 0;
16
+ overflow: hidden ;
11
17
  }
12
18
 
13
- #workspace .container {
14
- position: absolute ;
15
- top: 49px;
16
- left: 171px;
17
- right: 0px;
18
- bottom: 0px;
19
- background-color: white ;
20
- overflow: auto;
19
+ .workspace .sidebar {
20
+ position: absolute;
21
+ left: 0;
22
+ top: 0;
23
+ width: 200px;
24
+ bottom: 0;
21
25
  }
22
26
 
23
- #workspace .container iframe {
24
- border: none ;
25
- width: 100%;
26
- height: 100%;
27
- outline: hidden ;
27
+ .sc-theme .workspace.horizontal .sc-split-divider-view {
28
+ position: absolute;
29
+ left: 200px;
30
+ top: 0;
31
+ bottom: 0;
28
32
  }
29
33
 
30
- /* @end */
31
-
32
- /* @group Toolbar */
34
+ .workspace .document_view {
35
+ position: absolute;
36
+ left: 205px;
37
+ right: 0;
38
+ top: 0;
39
+ bottom: 0;
40
+ border: none ;
41
+ background-color: #aaa ;
42
+ }
33
43
 
34
- #workspace .toolbar {
35
- position: absolute ;
36
- top: 0;
37
- left: 0px;
38
- right: 0px;
39
- height: 48px;
40
- border-bottom: 1px solid #62806d;
41
- background: static_url('images/gradients') repeat-x center top;
44
+ .left.app-label {
45
+ padding-top: 5px;
42
46
  }
43
-
44
- #workspace .toolbar .buttons {
45
- text-align: right ;
46
- position: absolute ;
47
- top: 13px ;
48
- right: 10px ;
47
+
48
+ .sc-theme .app-label .sc-label-view {
49
+ text-shadow: white 0px 1px 0px;
50
+ font-weight: bold ;
51
+ font-size: 15px;
49
52
  }
50
53
 
51
- #workspace .toolbar h1 {
52
- border: none ;
53
- padding: 0;
54
- margin : 0;
55
- position: absolute ;
56
- left: 8px;
57
- top: 4px;
58
- font-size: 28px;
59
- font-weight: normal ;
54
+ .app-label img {
55
+ width: 27px;
56
+ height: 27px;
57
+ vertical-align: middle;
58
+ position: relative ;
59
+ top: -3px;
60
+ margin-right: 2px;
60
61
  }
61
62
 
62
63
  /* @end */
63
64
 
64
65
  /* @group Sidebar */
65
66
 
66
- #workspace .sidebar {
67
+ .sidebar .source_list {
67
68
  position: absolute ;
68
- top: 49px;
69
- left: 0px;
70
- width: 170px;
71
- bottom: 0px;
72
- background-color: #e0efed;
73
- border-right: 1px #62806d solid;
74
- overflow: auto ;
75
- }
76
-
77
- .sidebar {
78
- list-style-type: none ;
79
- padding: 0;
80
- margin: 0;
81
- }
82
-
83
- .sidebar h1 {
84
- border: none ;
85
- text-align: left ;
86
- font-size: 11px;
87
- margin: 0;
88
- padding: 0;
89
- margin-top: 8px;
90
- padding-top: 2px;
91
- padding-left: 4px;
92
- padding-bottom: 2px;
93
- margin-left: 2px;
94
- margin-right: 2px ;
95
- margin-bottom: 2px;
96
- text-transform: uppercase ;
97
- color: #454b4a;
98
- border-bottom: 1px solid #b5c6c4;
99
- }
100
-
101
- .sidebar div:first-child h1 {
102
- display: none ;
103
- }
104
-
105
- .sidebar div:first-child a {
106
- font-weight: bold ;
69
+ top: 0;
70
+ left: 0;
71
+ right: 0;
72
+ bottom: 0;
73
+ border: none ;
107
74
  }
108
75
 
109
- .sidebar a {
110
- display: block ;
111
- text-decoration: none ;
112
- color: black ;
113
- border: 1px solid #e0efed;
114
- padding-bottom: 4px;
115
- padding-top: 7px ;
116
- padding-left: 8px ;
117
- border-left-style: none;
118
- border-right-style: none;
119
- -moz-user-select: none;
120
- -khtml-user-select: none;
121
- user-select: none;
122
- }
76
+ /* @end */
123
77
 
124
- .sidebar a.sel {
125
- border: 1px solid #1e504a;
126
- color: white ;
127
- font-weight: bold;
128
- padding-top: 6px;
129
- background: static_url('images/gradients') repeat-x center -144px;
130
- border-top-color: #188b7d;
131
- border-right-style: none;
132
- border-left-style: none;
133
- }
78
+ /* @group Content */
134
79
 
135
- .sidebar a.sel:active {
136
- border: 1px solid #1e504a;
137
- color: white ;
138
- font-weight: bold;
139
- padding-top: 6px;
140
- background: static_url('images/gradients') repeat-x center -144px;
141
- border-top-color: #188b7d;
142
- border-right-style: none;
143
- border-left-style: none;
80
+ .document_view iframe {
81
+ position: absolute ;
82
+ left: 0;
83
+ top: 0;
84
+ width: 100%;
85
+ height: 100%;
86
+ border: none ;
87
+ padding: 0;
88
+ margin: 0;
89
+ background: white;
144
90
  }
145
91
 
146
- .sidebar a:active {
147
- background-color: #cedfdf;
148
- border: 1px solid #cedfdf;
149
- border-right-style: none;
150
- border-left-style: none;
92
+ .document_view .rebuilding_tab .dialog {
93
+ position: absolute ;
94
+ background: #f0f0f0;
95
+ padding: 20px;
96
+ border: 8px #888 solid ;
97
+ width: 400px;
98
+ top: 100px;
99
+ left: 50%;
100
+ margin: 0;
101
+ margin-left: -240px;
102
+ text-align: center ;
151
103
  }
152
104
 
153
- .sidebar hr {
154
- border: none ;
155
- border-top: #ccc solid 1px;
156
- margin: 4px 8px;
105
+ .document_view .rebuilding_tab .dialog h1 {
106
+ font-size: 20px ;
107
+ margin: 0;
108
+ padding: 0;
157
109
  }
158
110
 
159
111
  /* @end */
112
+
@@ -1,33 +1,53 @@
1
1
  <% content_for('body') do %>
2
2
 
3
- <% view :workspace do %>
4
-
5
- <% # PRIMARY TOOLBAR -%>
6
- <div class="toolbar">
7
- <%= label_view :outlet => true, :tag => 'h1', :bind => {
8
- :content => 'Docs.docsController.displayClientName'
9
- } %>
10
- <div class="buttons">
11
- <%= button_view :outlet => true, :label => "Rebuild Docs", :image => static_url('icons/small/reset'), :action => 'Docs.docsController.rebuildDocs' %>
3
+ <% view :header, :class => 'sc-header sc-square-theme' do %>
4
+ <div class="left app-label">
5
+ <img src="<%= static_url('images/sproutcore-logo.png') %>" /><%= label_view :outlet => true, :tag => :span,
6
+ :bind => { :value => 'Docs.docsController.displayClientName' } %>
12
7
  </div>
13
- </div>
14
-
15
- <%= collection_view :outlet => :sidebar, :class => :sidebar, :bind => {
16
- :content => 'Docs.docsController.arrangedObjects',
17
- :selection => 'Docs.docsController.selection',
18
- }, :example_view => 'Docs.DocLabelView', :properties => {
19
- :group_by => '"group"' } %>
20
-
21
- <% tab_view :outlet => 'container', :class => "container", :bind => { :now_showing => 'Docs.docsController.nowShowingContainer' } do %>
8
+ <div class="center">
9
+ </div>
10
+ <div class="right">
11
+ <%= text_field_view :outlet => true, :hint => 'Search Symbols',
12
+ :bind => { :value => 'Docs.docsController.search' } %>
13
+ </div>
14
+ <% end %>
22
15
 
23
- <%= view :outlet => :runner_tab, :tag => :iframe, :view => 'Docs.DocFrameView', :bind => {
24
- :doc => 'Docs.docsController.selectedDoc' } %>
25
16
 
26
- <% view :outlet => :rebuilding_tab do %>
27
- <h1><img src="<%= static_url('spinner') %>" /> Rebuilding Documentation...</h1>
17
+ <% split_view :workspace, :class => 'sc-app-workspace header footer', :direction => :horizontal do %>
18
+ <% view :sidebar, :outlet => true do %>
19
+ <% scroll_view :source_list, :outlet => true do %>
20
+ <%= source_list_view :outlet => true,
21
+ :content_value_key => :title,
22
+ :group_visible_key => true,
23
+ :content_icon_key => :icon,
24
+ :group => :group,
25
+
26
+ :bind => {
27
+ :content => 'Docs.docsController.arrangedObjects',
28
+ :selection => 'Docs.docsController.selection'
29
+ } %>
30
+
31
+ <% end %>
32
+ <% end %>
33
+
34
+ <%= split_divider_view :outlet => true, :width => 5 %>
35
+
36
+ <%= tab_view :document_view, :outlet => true,
37
+ :bind => { :now_showing => 'Docs.docsController.nowShowingContainer' },
38
+ :lazy_tabs => :true %>
39
+
28
40
  <% end %>
29
41
 
30
- <% end %>
42
+ <% view :footer, :class => 'sc-footer sc-square-theme' do %>
43
+ <div class="left">
44
+ <%= button_view :outlet => true, :title => "Rebuild Docs", :action => 'Docs.docsController.rebuildDocs', :bind => { :enabled => 'Docs.docsController.canRebuild' } %>
45
+ </div>
46
+ <div class="center"><%= label_view :outlet => true,
47
+ :bind => { :value => 'Docs.docsController.nowShowingLabel' } %></div>
48
+ <div class="right">
49
+
50
+ </div>
31
51
  <% end %>
32
52
 
33
53
  <script>