sproutcore 1.5.0.pre.4.1 → 1.5.0.pre.5
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +7 -0
- data/VERSION.yml +1 -1
- data/lib/buildtasks/manifest.rake +4 -3
- data/lib/frameworks/sproutcore/Buildfile +1 -2
- data/lib/frameworks/sproutcore/CHANGELOG.md +8 -3
- data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/css/app-selector.css +19 -23
- data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/css/button.css +139 -135
- data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/css/dock.css +5 -0
- data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/css/general.css +0 -1
- data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/css/menu.css +10 -13
- data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/css/modal.css +9 -8
- data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/css/picker.css +19 -12
- data/lib/frameworks/sproutcore/apps/greenhouse/models/design.js +2 -2
- data/lib/frameworks/sproutcore/apps/greenhouse/states/modals.js +1 -1
- data/lib/frameworks/sproutcore/apps/greenhouse/theme.js +2 -2
- data/lib/frameworks/sproutcore/apps/greenhouse/views/plist_item.js +3 -1
- data/lib/frameworks/sproutcore/frameworks/animation/core.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/bootstrap/system/browser.js +31 -20
- data/lib/frameworks/sproutcore/frameworks/bootstrap/tests/system/browser.js +15 -9
- data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/responder_context.js +5 -5
- data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/pane.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/browser.js +23 -45
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/device.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/platform.js +60 -5
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/ready.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/render_context.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/root_responder.js +4 -4
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/ready/done.js +32 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/utils/offset.js +5 -2
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/pane/append_remove.js +8 -3
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/pane/layout.js +4 -4
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/template_view/collection.js +51 -5
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/template_view/core.js +18 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/template_view/handlebars.js +261 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/animation.js +55 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/clippingFrame.js +2 -19
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/convertFrames.js +3 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/insertBefore.js +17 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/layoutStyle.js +96 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/prepareContext.js +15 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/updateLayerLocation.js +19 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/template/collection.js +8 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view.js +179 -4
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/animation.js +8 -14
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/cursor.js +7 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/enabled.js +4 -4
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/layout.js +51 -114
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/layout_style.js +84 -36
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/manipulation.js +4 -67
- data/lib/frameworks/sproutcore/frameworks/datastore/data_sources/data_source.js +244 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/models/child_attribute.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/models/children_attribute.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/models/record_attribute.js +7 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/system/child_array.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/system/store.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/normalize.js +23 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/commitChanges.js +4 -2
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/commitChangesFromNestedStore.js +4 -0
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/discardChanges.js +4 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/record_type_is.js +4 -0
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/registered_comparisons.js +4 -0
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/registered_query_extensions.js +4 -0
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/commitChangesFromNestedStore.js +4 -0
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/createRecord.js +5 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/destroyRecord.js +5 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/loadRecord.js +64 -0
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/recordDidChange.js +38 -35
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/unloadRecords.js +4 -0
- data/lib/frameworks/sproutcore/frameworks/datetime/system/datetime.js +7 -4
- data/lib/frameworks/sproutcore/frameworks/datetime/tests/system/datetime.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/debug/core.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/debug/invoke_once_last_debugging.js +5 -5
- data/lib/frameworks/sproutcore/frameworks/designer/coders/object.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/designer/designers/view_designer.js +11 -3
- data/lib/frameworks/sproutcore/frameworks/designer/ext/binding.js +33 -0
- data/lib/frameworks/sproutcore/frameworks/designer/ext/object.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/designer/ext/page.js +5 -33
- data/lib/frameworks/sproutcore/frameworks/designer/ext/view.js +0 -27
- data/lib/frameworks/sproutcore/frameworks/designer/tests/coders/page.js +54 -0
- data/lib/frameworks/sproutcore/frameworks/designer/tests/designers/view_designer.js +47 -0
- data/lib/frameworks/sproutcore/frameworks/designer/views/drawing.js +4 -4
- data/lib/frameworks/sproutcore/frameworks/desktop/mixins/border.js +19 -6
- data/lib/frameworks/sproutcore/frameworks/desktop/mixins/collection_view_delegate.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/mixins/navigation_builder.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/mixins/scrollable.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/picker.js +133 -39
- data/lib/frameworks/sproutcore/frameworks/desktop/system/drag.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/mixins/border.js +6 -5
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/picker/ui.js +8 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/select_button/ui.js +10 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/button/ui.js +8 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/checkbox/ui.js +10 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/ui_diagram.js +15 -9
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/progress/ui.js +8 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/radio/ui.js +8 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/segmented/ui.js +10 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/select/ui.js +10 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/select_field/methods.js +31 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/select_field/ui.js +10 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/separator.js +10 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/split/ui.js +10 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/stacked/ui_comments.js +15 -8
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/tab/ui.js +10 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/views/button.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/views/file.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/views/list_item.js +1 -7
- data/lib/frameworks/sproutcore/frameworks/desktop/views/select_field.js +10 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/views/toolbar.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/collection_content.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/inline_text_field.js +17 -5
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/inner_frame.js +60 -27
- data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/canvas_image.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/system/benchmark.js +4 -4
- data/lib/frameworks/sproutcore/frameworks/foundation/system/cookie.js +29 -18
- data/lib/frameworks/sproutcore/frameworks/foundation/system/module.js +18 -18
- data/lib/frameworks/sproutcore/frameworks/foundation/system/user_defaults.js +5 -5
- data/lib/frameworks/sproutcore/frameworks/foundation/system/utils/misc.js +62 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/integration/creating_views.js +8 -3
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/button/ui.js +4 -3
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/editable/ui.js +5 -3
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_text_field/ui.js +5 -3
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/cookie.js +20 -4
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/utils/pointInElement.js +235 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/container/ui.js +5 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/image/ui.js +0 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/label/ui.js +8 -3
- data/lib/frameworks/sproutcore/frameworks/foundation/views/container.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/views/image.js +19 -11
- data/lib/frameworks/sproutcore/frameworks/foundation/views/label.js +6 -13
- data/lib/frameworks/sproutcore/frameworks/handlebars/extensions.js +23 -117
- data/lib/frameworks/sproutcore/frameworks/handlebars/extensions/bind.js +136 -0
- data/lib/frameworks/sproutcore/frameworks/handlebars/extensions/collection.js +75 -0
- data/lib/frameworks/sproutcore/frameworks/handlebars/extensions/localization.js +5 -0
- data/lib/frameworks/sproutcore/frameworks/handlebars/extensions/view.js +115 -0
- data/lib/frameworks/sproutcore/frameworks/handlebars/handlebars.js +143 -80
- data/lib/frameworks/sproutcore/frameworks/jquery/jquery-buffer.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/media/views/audio.js +4 -4
- data/lib/frameworks/sproutcore/frameworks/media/views/video.js +5 -5
- data/lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array.js +14 -0
- data/lib/frameworks/sproutcore/frameworks/runtime/mixins/enumerable.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/runtime/mixins/observable.js +13 -13
- data/lib/frameworks/sproutcore/frameworks/runtime/system/binding.js +4 -4
- data/lib/frameworks/sproutcore/frameworks/runtime/system/run_loop.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/array.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/testing/system/plan.js +25 -17
- data/lib/frameworks/sproutcore/themes/ace/designs/psds/panel/pointers.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/18px/button.css +18 -12
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/24px/button.css +30 -16
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/30px/button.css +27 -15
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/44px/button.css +5 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/button.css +8 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/24px/button.css +25 -16
- data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/30px/button.css +21 -15
- data/lib/frameworks/sproutcore/themes/ace/resources/imagebutton/ace/imagebutton.css +11 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/picker/ace/panel.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/picker/ace/picker.css +41 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/picker/ace/pointers.png +0 -0
- data/lib/sproutcore.rb +2 -0
- data/lib/sproutcore/buildfile.rb +17 -17
- data/lib/sproutcore/buildfile/task.rb +4 -12
- data/lib/sproutcore/buildfile/task_manager.rb +13 -4
- data/lib/sproutcore/models/manifest.rb +3 -3
- data/lib/sproutcore/models/target.rb +1 -1
- data/spec/fixtures/real_world/Buildfile +1 -1
- data/vendor/chance/lib/chance/imagers/data_url.rb +38 -19
- data/vendor/chance/lib/chance/instance.rb +4 -7
- data/vendor/chance/lib/chance/slicing.rb +6 -10
- metadata +18 -5
- data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/css/tabbed.css +0 -68
- data/lib/frameworks/sproutcore/frameworks/designer/coders/localization.js +0 -19
- data/lib/sproutcore/buildfile/cloneable.rb +0 -34
@@ -22,6 +22,7 @@
|
|
22
22
|
border: none;
|
23
23
|
}
|
24
24
|
|
25
|
+
.sc-theme .anchored .sc-collection-view .sc-collection-item.sel,
|
25
26
|
.sc-theme.focus .anchored .sc-collection-view.focus .sc-collection-item.sel {
|
26
27
|
background: #A4BE49;
|
27
28
|
color: #000;
|
@@ -66,6 +67,10 @@
|
|
66
67
|
border-top: 1px solid #333;
|
67
68
|
}
|
68
69
|
|
70
|
+
.anchored .sc-label-view {
|
71
|
+
color: #fff;
|
72
|
+
}
|
73
|
+
|
69
74
|
.anchored .sc-label-view.title {
|
70
75
|
top: 12px !important;
|
71
76
|
}
|
@@ -21,11 +21,7 @@
|
|
21
21
|
background: none;
|
22
22
|
}
|
23
23
|
|
24
|
-
.sc-panel.sc-menu .sc-menu-item a span
|
25
|
-
color: #eaeaea;
|
26
|
-
text-shadow: 0 1px 0 #000;
|
27
|
-
}
|
28
|
-
|
24
|
+
.sc-panel.sc-menu .sc-menu-item a span,
|
29
25
|
.sc-panel.sc-menu .sc-menu-item.focus a span {
|
30
26
|
color: #eaeaea;
|
31
27
|
text-shadow: 0 1px 0 #000;
|
@@ -40,13 +36,14 @@
|
|
40
36
|
}
|
41
37
|
|
42
38
|
/* Hide superfluous divs (css3 baby!) */
|
43
|
-
.
|
44
|
-
.
|
45
|
-
.
|
46
|
-
.
|
47
|
-
.
|
48
|
-
.
|
49
|
-
.
|
50
|
-
.
|
39
|
+
.greenhouse.menu .panel-background .top-left,
|
40
|
+
.greenhouse.menu .panel-background .top,
|
41
|
+
.greenhouse.menu .panel-background .top-right,
|
42
|
+
.greenhouse.menu .panel-background .left,
|
43
|
+
.greenhouse.menu .panel-background .middle,
|
44
|
+
.greenhouse.menu .panel-background .right,
|
45
|
+
.greenhouse.menu .panel-background .bottom-left,
|
46
|
+
.greenhouse.menu .panel-background .bottom,
|
47
|
+
.greenhouse.menu .panel-background .bottom-right {
|
51
48
|
display: none;
|
52
49
|
}
|
@@ -28,13 +28,14 @@
|
|
28
28
|
}
|
29
29
|
|
30
30
|
/* Hide superfluous divs (css3 baby!) */
|
31
|
-
.
|
32
|
-
.
|
33
|
-
.
|
34
|
-
.
|
35
|
-
.
|
36
|
-
.
|
37
|
-
.
|
38
|
-
.
|
31
|
+
.greenhouse.panel .panel-background .top-left,
|
32
|
+
.greenhouse.panel .panel-background .top,
|
33
|
+
.greenhouse.panel .panel-background .top-right,
|
34
|
+
.greenhouse.panel .panel-background .left,
|
35
|
+
.greenhouse.panel .panel-background .middle,
|
36
|
+
.greenhouse.panel .panel-background .right,
|
37
|
+
.greenhouse.panel .panel-background .bottom-left,
|
38
|
+
.greenhouse.panel .panel-background .bottom,
|
39
|
+
.greenhouse.panel .panel-background .bottom-right {
|
39
40
|
display: none;
|
40
41
|
}
|
@@ -7,7 +7,8 @@
|
|
7
7
|
|
8
8
|
|
9
9
|
/* Pointers */
|
10
|
-
|
10
|
+
|
11
|
+
.sc-pane.sc-panel.sc-picker.gh-picker .perfectBottom {
|
11
12
|
width: 25px;
|
12
13
|
height: 15px;
|
13
14
|
top: -11px;
|
@@ -15,7 +16,7 @@
|
|
15
16
|
margin-left: -13px;
|
16
17
|
background: static_url('images/picker/pointer-top.png') no-repeat;
|
17
18
|
}
|
18
|
-
.
|
19
|
+
.sc-pane.sc-panel.sc-picker.gh-picker .perfectTop {
|
19
20
|
width: 21px;
|
20
21
|
height: 11px;
|
21
22
|
bottom: -11px;
|
@@ -23,14 +24,14 @@
|
|
23
24
|
margin-left: -11px;
|
24
25
|
background: static_url('images/picker/pointer-bottom.png') no-repeat;
|
25
26
|
}
|
26
|
-
.
|
27
|
+
.sc-pane.sc-panel.sc-picker.gh-picker .perfectLeft {
|
27
28
|
width: 12px;
|
28
29
|
height: 22px;
|
29
30
|
right: -13px;
|
30
31
|
top: 22%;
|
31
32
|
background: static_url('images/picker/pointer-right.png') no-repeat;
|
32
33
|
}
|
33
|
-
.
|
34
|
+
.sc-pane.sc-panel.sc-picker.gh-picker .perfectRight {
|
34
35
|
width: 12px;
|
35
36
|
height: 22px;
|
36
37
|
left: -13px;
|
@@ -39,7 +40,12 @@
|
|
39
40
|
}
|
40
41
|
|
41
42
|
/* Edges */
|
42
|
-
|
43
|
+
|
44
|
+
.gh-picker .panel-background div {
|
45
|
+
position: absolute;
|
46
|
+
}
|
47
|
+
|
48
|
+
.gh-picker .panel-background .top-left {
|
43
49
|
width: 18px;
|
44
50
|
height: 53px;
|
45
51
|
top: 0px;
|
@@ -48,7 +54,7 @@
|
|
48
54
|
background: static_url('images/picker/top-left.png') no-repeat;
|
49
55
|
}
|
50
56
|
|
51
|
-
.gh-picker.
|
57
|
+
.gh-picker .panel-background .top {
|
52
58
|
left: 9px;
|
53
59
|
right: 9px;
|
54
60
|
height: 53px;
|
@@ -56,7 +62,7 @@
|
|
56
62
|
background: static_url('images/picker/top.png') repeat-x;
|
57
63
|
}
|
58
64
|
|
59
|
-
.gh-picker.
|
65
|
+
.gh-picker .panel-background .top-right {
|
60
66
|
width: 18px;
|
61
67
|
height: 53px;
|
62
68
|
top: 0px;
|
@@ -65,7 +71,7 @@
|
|
65
71
|
background: static_url('images/picker/top-right.png') no-repeat;
|
66
72
|
}
|
67
73
|
|
68
|
-
.gh-picker.
|
74
|
+
.gh-picker .panel-background .right {
|
69
75
|
top: 53px;
|
70
76
|
bottom: 11px;
|
71
77
|
width: 18px;
|
@@ -73,7 +79,7 @@
|
|
73
79
|
background: static_url('images/picker/right.png') repeat-y;
|
74
80
|
}
|
75
81
|
|
76
|
-
.gh-picker.
|
82
|
+
.gh-picker .panel-background .bottom-right {
|
77
83
|
width: 18px;
|
78
84
|
height: 23px;
|
79
85
|
bottom: -12px;
|
@@ -82,7 +88,7 @@
|
|
82
88
|
background: static_url('images/picker/bottom-right.png') no-repeat;
|
83
89
|
}
|
84
90
|
|
85
|
-
.gh-picker.
|
91
|
+
.gh-picker .panel-background .bottom {
|
86
92
|
left: 9px;
|
87
93
|
right: 9px;
|
88
94
|
height: 23px;
|
@@ -90,7 +96,7 @@
|
|
90
96
|
background: static_url('images/picker/bottom.png') repeat-x;
|
91
97
|
}
|
92
98
|
|
93
|
-
.gh-picker.
|
99
|
+
.gh-picker .panel-background .bottom-left {
|
94
100
|
width: 18px;
|
95
101
|
height: 23px;
|
96
102
|
bottom: -12px;
|
@@ -99,7 +105,7 @@
|
|
99
105
|
background: static_url('images/picker/bottom-left.png') no-repeat;
|
100
106
|
}
|
101
107
|
|
102
|
-
.gh-picker.
|
108
|
+
.gh-picker .panel-background .left {
|
103
109
|
top: 53px;
|
104
110
|
bottom: 11px;
|
105
111
|
width: 18px;
|
@@ -118,6 +124,7 @@
|
|
118
124
|
border: none;
|
119
125
|
}
|
120
126
|
|
127
|
+
.sc-theme .sc-panel.sc-palette .sc-collection-view .sc-collection-item.sel,
|
121
128
|
.sc-theme.focus .sc-panel.sc-palette .sc-collection-view.focus .sc-collection-item.sel {
|
122
129
|
background: #A4BE49;
|
123
130
|
color: #000;
|
@@ -20,7 +20,7 @@ Greenhouse.Design = SC.Record.extend(
|
|
20
20
|
defaults: SC.Record.attr(Object),
|
21
21
|
|
22
22
|
canEdit: function(){
|
23
|
-
return this.
|
24
|
-
}.property().cacheable()
|
23
|
+
return this.getPath('parentRecord.canEdit');
|
24
|
+
}.property('parentRecord').cacheable()
|
25
25
|
|
26
26
|
}) ;
|
@@ -22,7 +22,7 @@ Greenhouse.mixin( /** @scope Greenhouse */{
|
|
22
22
|
parallelStatechart: 'modals',
|
23
23
|
|
24
24
|
newBindingPopup: function(item){
|
25
|
-
Greenhouse.createBindingPopup.
|
25
|
+
Greenhouse.setPath('modalStates.createBindingPopup.newItem', item);
|
26
26
|
this.gotoState('createBindingPopup');
|
27
27
|
},
|
28
28
|
|
@@ -16,10 +16,10 @@ SC.Theme.addTheme(Greenhouse.Theme);
|
|
16
16
|
SC.defaultTheme = 'greenhouse';
|
17
17
|
|
18
18
|
|
19
|
-
Greenhouse.Theme.
|
19
|
+
Greenhouse.Theme.wellRenderDelegate = SC.Object.create({
|
20
20
|
name: 'container',
|
21
21
|
|
22
22
|
render: function(dataSource, context) {},
|
23
23
|
|
24
24
|
update: function() {}
|
25
|
-
});
|
25
|
+
});
|
@@ -27,7 +27,6 @@ Greenhouse.PlistItemView = SC.View.extend(SC.Control,
|
|
27
27
|
key = this.get('contentValueKey');
|
28
28
|
propertyKey = (key && content) ? (content.get ? content.get(key) : content[key]) : content ;
|
29
29
|
value = content.get('value');
|
30
|
-
|
31
30
|
//do the label
|
32
31
|
context.begin('label').addStyle({paddingLeft: 5}).text(propertyKey).end();
|
33
32
|
if(value !== undefined){
|
@@ -38,6 +37,9 @@ Greenhouse.PlistItemView = SC.View.extend(SC.Control,
|
|
38
37
|
this.renderCheckbox(context,content.get('value'));
|
39
38
|
//context.begin('span').addStyle(this._valueStyle).text("bool").end();
|
40
39
|
}
|
40
|
+
else if(value.isBinding){
|
41
|
+
context.begin('span').addStyle(this._valueStyle).text(value.displayValue()).end();
|
42
|
+
}
|
41
43
|
else{
|
42
44
|
value = value.toString();
|
43
45
|
context.begin('span').addStyle(this._valueStyle).text(value).end();
|
@@ -62,7 +62,7 @@ SC.Animatable = {
|
|
62
62
|
|
63
63
|
// properties that adjust should relay to style
|
64
64
|
_styleProperties: [ "display", "transform" ],
|
65
|
-
_layoutStyles: 'width height top bottom marginLeft marginTop left right zIndex minWidth maxWidth minHeight maxHeight centerX centerY opacity'.w(),
|
65
|
+
_layoutStyles: 'width height top bottom marginLeft marginTop left right zIndex minWidth maxWidth minHeight maxHeight centerX centerY opacity border borderTop borderRight borderBottom borderLeft'.w(),
|
66
66
|
|
67
67
|
// we cache this dictionary so we don't generate a new one each time we make
|
68
68
|
// a new animation. It is used so we can start the animations in order—
|
@@ -17,38 +17,49 @@ SC._detectBrowser = function(userAgent, language) {
|
|
17
17
|
version = browser.version = (userAgent.match( /.*(?:rv|chrome|webkit|opera|ie)[\/: ](.+?)([ \);]|$)/ ) || [])[1];
|
18
18
|
webkitVersion = (userAgent.match( /webkit\/(.+?) / ) || [])[1];
|
19
19
|
|
20
|
-
|
21
|
-
|
22
|
-
browser.
|
23
|
-
browser.
|
24
|
-
browser.
|
25
|
-
browser.
|
26
|
-
|
27
|
-
|
20
|
+
browser.windows = browser.isWindows = !!/windows/.test(userAgent);
|
21
|
+
browser.mac = browser.isMac = !!/macintosh/.test(userAgent) || (/mac os x/.test(userAgent) && !/like mac os x/.test(userAgent));
|
22
|
+
browser.iPhone = browser.isiPhone = !!/iphone/.test(userAgent);
|
23
|
+
browser.iPod = browser.isiPod = !!/ipod/.test(userAgent);
|
24
|
+
browser.iPad = browser.isiPad = !!/ipad/.test(userAgent);
|
25
|
+
browser.iOS = browser.isiOS = browser.iPhone || browser.iPod || browser.iPad;
|
26
|
+
browser.android = browser.isAndroid = !!/android/.test(userAgent);
|
27
|
+
|
28
28
|
browser.opera = /opera/.test(userAgent) ? version : 0;
|
29
|
+
browser.isOpera = !!browser.opera;
|
30
|
+
|
29
31
|
browser.msie = /msie/.test(userAgent) && !browser.opera ? version : 0;
|
32
|
+
browser.isIE = !!browser.msie;
|
33
|
+
browser.isIE8OrLower = !!(browser.msie && parseInt(browser.msie, 10) <= 8);
|
30
34
|
|
31
|
-
// Mozilla browsers
|
32
35
|
browser.mozilla = /mozilla/.test(userAgent) && !/(compatible|webkit|msie)/.test(userAgent) ? version : 0;
|
36
|
+
browser.isMozilla = !!browser.mozilla;
|
33
37
|
|
34
|
-
// Webkit-based browsers
|
35
38
|
browser.webkit = /webkit/.test(userAgent) ? webkitVersion : 0;
|
39
|
+
browser.isWebkit = !!browser.webkit;
|
40
|
+
|
36
41
|
browser.chrome = /chrome/.test(userAgent) ? version: 0;
|
42
|
+
browser.isChrome = !!browser.chrome;
|
43
|
+
|
37
44
|
browser.mobileSafari = /apple.*mobile.*safari/.test(userAgent) && browser.iOS ? webkitVersion : 0;
|
38
|
-
browser.
|
39
|
-
|
40
|
-
|
41
|
-
|
45
|
+
browser.isMobileSafari = !!browser.mobileSafari;
|
46
|
+
|
47
|
+
browser.iPadSafari = browser.iPad && browser.isMobileSafari ? webkitVersion : 0;
|
48
|
+
browser.isiPadSafari = !!browser.iPadSafari;
|
49
|
+
|
50
|
+
browser.iPhoneSafari = browser.iPhone && browser.isMobileSafari ? webkitVersion : 0;
|
51
|
+
browser.isiPhoneSafari = !!browser.iphoneSafari;
|
52
|
+
|
53
|
+
browser.iPodSafari = browser.iPod && browser.isMobileSafari ? webkitVersion : 0;
|
54
|
+
browser.isiPodSafari = !!browser.iPodSafari;
|
55
|
+
|
42
56
|
browser.safari = browser.webkit && !browser.chrome && !browser.iOS && !browser.android ? webkitVersion : 0;
|
57
|
+
browser.isSafari = !!browser.safari;
|
43
58
|
|
44
|
-
// Language
|
45
59
|
browser.language = language.split('-', 1)[0];
|
46
60
|
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
browser.current = browser.msie ? 'msie' : browser.mozilla ? 'mozilla' : browser.chrome ? 'chrome' : browser.safari ? 'safari' : browser.opera ? 'opera' : browser.mobileSafari ? 'mobile-safari' : 'unknown' ;
|
51
|
-
return browser ;
|
61
|
+
browser.current = browser.msie ? 'msie' : browser.mozilla ? 'mozilla' : browser.chrome ? 'chrome' : browser.safari ? 'safari' : browser.opera ? 'opera' : browser.mobileSafari ? 'mobile-safari' : 'unknown';
|
62
|
+
return browser;
|
52
63
|
};
|
53
64
|
|
54
65
|
SC.browser = SC._detectBrowser();
|
@@ -10,6 +10,9 @@ var cleanBrowser = {
|
|
10
10
|
windows: 0,
|
11
11
|
mac: 0,
|
12
12
|
iOS: 0,
|
13
|
+
iPhone: 0,
|
14
|
+
iPod: 0,
|
15
|
+
iPad: 0,
|
13
16
|
android: 0,
|
14
17
|
opera: 0,
|
15
18
|
msie: 0,
|
@@ -17,6 +20,9 @@ var cleanBrowser = {
|
|
17
20
|
webkit: 0,
|
18
21
|
chrome: 0,
|
19
22
|
mobileSafari: 0,
|
23
|
+
iPadSafari: 0,
|
24
|
+
iPodSafari: 0,
|
25
|
+
iPhoneSafari: 0,
|
20
26
|
safari: 0
|
21
27
|
};
|
22
28
|
|
@@ -133,27 +139,27 @@ test("Firefox Windows 4.0b7pre", function() {
|
|
133
139
|
|
134
140
|
test("Mobile Safari - iOS 3.2.2 iPad", function() {
|
135
141
|
var userAgent = "Mozilla/5.0 (iPad; U; CPU OS 3_2_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B500 Safari/531.21.10";
|
136
|
-
testUserAgent(userAgent, { version: '531.21.10', webkit: '531.21.10', mobileSafari: '531.21.10', current: 'mobile-safari', iOS: true });
|
142
|
+
testUserAgent(userAgent, { version: '531.21.10', webkit: '531.21.10', mobileSafari: '531.21.10', iPadSafari: '531.21.10', current: 'mobile-safari', iOS: true, iPad: true });
|
137
143
|
});
|
138
144
|
|
139
|
-
test("Mobile Safari - iOS 4.0", function() {
|
145
|
+
test("Mobile Safari - iOS 4.0 iPhone", function() {
|
140
146
|
var userAgent = "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7";
|
141
|
-
testUserAgent(userAgent, { version: '532.9', webkit: '532.9', mobileSafari: '532.9', current: 'mobile-safari', iOS: true });
|
147
|
+
testUserAgent(userAgent, { version: '532.9', webkit: '532.9', mobileSafari: '532.9', iPhoneSafari: '532.9', current: 'mobile-safari', iOS: true, iPhone: true });
|
142
148
|
});
|
143
149
|
|
144
|
-
test("Mobile Safari - iOS 4.1", function() {
|
150
|
+
test("Mobile Safari - iOS 4.1 iPhone", function() {
|
145
151
|
var userAgent = "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_1 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8B117 Safari/6531.22.7";
|
146
|
-
testUserAgent(userAgent, { version: '532.9', webkit: '532.9', mobileSafari: '532.9', current: 'mobile-safari', iOS: true });
|
152
|
+
testUserAgent(userAgent, { version: '532.9', webkit: '532.9', mobileSafari: '532.9', iPhoneSafari: '532.9', current: 'mobile-safari', iOS: true, iPhone: true });
|
147
153
|
});
|
148
154
|
|
149
|
-
test("iOS WebView - iOS 4.1", function() {
|
155
|
+
test("iOS WebView - iOS 4.1 iPhone", function() {
|
150
156
|
var userAgent = "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_1 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Mobile/8B117";
|
151
|
-
testUserAgent(userAgent, { version: '532.9', webkit: '532.9', current: 'unknown', iOS: true });
|
157
|
+
testUserAgent(userAgent, { version: '532.9', webkit: '532.9', current: 'unknown', iOS: true, iPhone: true });
|
152
158
|
});
|
153
159
|
|
154
|
-
test("iOS WebView - iOS 4.2.1", function() {
|
160
|
+
test("iOS WebView - iOS 4.2.1 iPhone", function() {
|
155
161
|
var userAgent = "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_2_1 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Mobile/8C14";
|
156
|
-
testUserAgent(userAgent, { version: '533.17.9', webkit: '533.17.9', current: 'unknown', iOS: true });
|
162
|
+
testUserAgent(userAgent, { version: '533.17.9', webkit: '533.17.9', current: 'unknown', iOS: true, iPhone: true });
|
157
163
|
});
|
158
164
|
|
159
165
|
test("Unknown", function() {
|
@@ -128,7 +128,7 @@ SC.ResponderContext = {
|
|
128
128
|
|
129
129
|
if (this._locked) {
|
130
130
|
if (trace) {
|
131
|
-
|
131
|
+
SC.Logger.log('%@: AFTER ACTION: makeFirstResponder => %@'.fmt(this, this.responderNameFor(responder)));
|
132
132
|
}
|
133
133
|
|
134
134
|
this._pendingResponder = responder;
|
@@ -136,7 +136,7 @@ SC.ResponderContext = {
|
|
136
136
|
}
|
137
137
|
|
138
138
|
if (trace) {
|
139
|
-
|
139
|
+
SC.Logger.log('%@: makeFirstResponder => %@'.fmt(this, this.responderNameFor(responder)));
|
140
140
|
}
|
141
141
|
|
142
142
|
if (responder) responder.set("becomingFirstResponder", YES);
|
@@ -233,7 +233,7 @@ SC.ResponderContext = {
|
|
233
233
|
|
234
234
|
this._locked = YES;
|
235
235
|
if (trace) {
|
236
|
-
|
236
|
+
SC.Logger.log("%@: begin action '%@' (%@, %@)".fmt(this, action, sender, context));
|
237
237
|
}
|
238
238
|
|
239
239
|
if (!handled && !working && this.tryToPerform) {
|
@@ -251,8 +251,8 @@ SC.ResponderContext = {
|
|
251
251
|
}
|
252
252
|
|
253
253
|
if (trace) {
|
254
|
-
if (!handled)
|
255
|
-
else
|
254
|
+
if (!handled) SC.Logger.log("%@: action '%@' NOT HANDLED".fmt(this,action));
|
255
|
+
else SC.Logger.log("%@: action '%@' handled by %@".fmt(this, action, this.responderNameFor(working)));
|
256
256
|
}
|
257
257
|
|
258
258
|
this._locked = NO ;
|
@@ -654,7 +654,7 @@ SC.Pane = SC.View.extend(SC.ResponderContext,
|
|
654
654
|
init: function() {
|
655
655
|
// Backwards compatibility
|
656
656
|
if (this.hasTouchIntercept === YES) {
|
657
|
-
|
657
|
+
SC.Logger.warn("Do not set hasTouchIntercept directly. Use wantsTouchIntercept instead.");
|
658
658
|
this.hasTouchIntercept = SC.platform.touch;
|
659
659
|
}
|
660
660
|
|
@@ -5,54 +5,32 @@
|
|
5
5
|
// License: Licensed under MIT license (see license.js)
|
6
6
|
// ==========================================================================
|
7
7
|
|
8
|
-
|
9
|
-
SC.
|
10
|
-
var viewport = window.innerWidth,
|
11
|
-
browser = SC.browser,
|
12
|
-
standalone = navigator.standalone;
|
13
|
-
|
14
|
-
// Add more SC-like descriptions...
|
15
|
-
SC.extend(browser, /** @scope SC.browser */ {
|
16
|
-
|
17
|
-
isOpera: !!browser.opera,
|
18
|
-
isIE: !!browser.msie,
|
19
|
-
isSafari: !!browser.safari,
|
20
|
-
isMobileSafari: (!!browser.mobileSafari || !!browser.standalone),
|
21
|
-
isMozilla: !!browser.mozilla,
|
22
|
-
isWindows: !!browser.windows,
|
23
|
-
isMac: !!browser.mac,
|
24
|
-
isAndroid: !!browser.android,
|
25
|
-
isiPhone: ((!!browser.mobileSafari || !!browser.standalone) && (viewport == 320 || viewport == 480)),
|
8
|
+
SC.mixin(SC.browser,
|
9
|
+
/** @scope SC.browser */ {
|
26
10
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
};
|
41
|
-
this._versionSplit = SC.A(this.version.split('.')).map(coerce);
|
42
|
-
}
|
11
|
+
/**
|
12
|
+
Pass any number of arguments, and this will check them against the browser
|
13
|
+
version split on ".". If any of them are not equal, return the inequality.
|
14
|
+
If as many arguments as were passed in are equal, return 0. If something
|
15
|
+
is NaN, return 0.
|
16
|
+
*/
|
17
|
+
compareVersion: function () {
|
18
|
+
if (this._versionSplit === undefined) {
|
19
|
+
var coerce = function (part) {
|
20
|
+
return Number(part.match(/^[0-9]+/));
|
21
|
+
};
|
22
|
+
this._versionSplit = SC.A(this.version.split('.')).map(coerce);
|
23
|
+
}
|
43
24
|
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
}
|
50
|
-
|
51
|
-
return 0;
|
25
|
+
var tests = SC.A(arguments).map(Number);
|
26
|
+
for (var i = 0; i < tests.length; i++) {
|
27
|
+
var check = this._versionSplit[i] - tests[i];
|
28
|
+
if (isNaN(check)) return 0;
|
29
|
+
if (check !== 0) return check;
|
52
30
|
}
|
53
31
|
|
54
|
-
|
55
|
-
|
32
|
+
return 0;
|
33
|
+
}
|
56
34
|
|
57
|
-
})
|
35
|
+
});
|
58
36
|
|