sproutcore 1.8.1 → 1.8.2.1
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION.yml +1 -1
- data/lib/frameworks/sproutcore/CHANGELOG.md +17 -2
- data/lib/frameworks/sproutcore/frameworks/bootstrap/system/loader.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/root_responder.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/root_responder/root_responder.js +23 -0
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/compare.js +26 -24
- data/lib/frameworks/sproutcore/frameworks/desktop/mixins/collection_fast_path.js +117 -118
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/alert.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/alert/ui.js +9 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/scroll/ui.js +48 -38
- data/lib/frameworks/sproutcore/frameworks/desktop/views/grid.js +42 -40
- data/lib/frameworks/sproutcore/frameworks/desktop/views/scroller.js +55 -53
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/mixins/split_child.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/tests/split_child.js +20 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/views/split.js +170 -170
- data/lib/frameworks/sproutcore/frameworks/foundation/views/text_field.js +22 -6
- data/lib/frameworks/sproutcore/frameworks/runtime/core.js +1 -1
- data/lib/frameworks/sproutcore/themes/ace/resources/picker/popover/popover.css +5 -9
- metadata +2 -2
@@ -913,6 +913,9 @@ SC.TextFieldView = SC.FieldView.extend(SC.StaticLayout, SC.Editable,
|
|
913
913
|
// our key/mouse down/up handlers (such as the user choosing Select All
|
914
914
|
// from a menu).
|
915
915
|
SC.Event.add(input, 'select', this, this._textField_selectionDidChange);
|
916
|
+
|
917
|
+
// handle a "paste" from app menu and context menu
|
918
|
+
SC.Event.add(input, 'input', this, this._textField_inputDidChange);
|
916
919
|
},
|
917
920
|
|
918
921
|
/**
|
@@ -926,6 +929,7 @@ SC.TextFieldView = SC.FieldView.extend(SC.StaticLayout, SC.Editable,
|
|
926
929
|
SC.Event.remove(input, 'blur', this, this._textField_fieldDidBlur);
|
927
930
|
SC.Event.remove(input, 'select', this, this._textField_selectionDidChange);
|
928
931
|
SC.Event.remove(input, 'keypress', this, this._firefox_dispatch_keypress);
|
932
|
+
SC.Event.remove(input, 'input', this, this._textField_inputDidChange);
|
929
933
|
},
|
930
934
|
|
931
935
|
/** @private
|
@@ -1004,6 +1008,20 @@ SC.TextFieldView = SC.FieldView.extend(SC.StaticLayout, SC.Editable,
|
|
1004
1008
|
}
|
1005
1009
|
this.updateHintOnFocus();
|
1006
1010
|
},
|
1011
|
+
|
1012
|
+
/** @private
|
1013
|
+
Context-menu paste does not trigger fieldValueDidChange normally. To do so, we'll capture the
|
1014
|
+
input event and avoid duplicating the "fieldValueDidChange" call if it was already issued elsewhere.
|
1015
|
+
|
1016
|
+
I welcome someone else to find a better solution to this problem. However, please make sure that it
|
1017
|
+
works with pasting via shortcut, context menu and the application menu on *All Browsers*.
|
1018
|
+
*/
|
1019
|
+
_textField_inputDidChange: function() {
|
1020
|
+
var timerNotPending = SC.empty(this._fieldValueDidChangeTimer) || !this._fieldValueDidChangeTimer.get('isValid');
|
1021
|
+
if(this.get('applyImmediately') && timerNotPending) {
|
1022
|
+
this.invokeLater(this.fieldValueDidChange, 10);
|
1023
|
+
}
|
1024
|
+
},
|
1007
1025
|
|
1008
1026
|
/** @private
|
1009
1027
|
Make sure to update visibility of hint if it changes
|
@@ -1166,12 +1184,10 @@ SC.TextFieldView = SC.FieldView.extend(SC.StaticLayout, SC.Editable,
|
|
1166
1184
|
}
|
1167
1185
|
|
1168
1186
|
if (this.get('applyImmediately')) {
|
1169
|
-
//
|
1170
|
-
//
|
1171
|
-
|
1172
|
-
|
1173
|
-
self.fieldValueDidChange();
|
1174
|
-
}, 10);
|
1187
|
+
// This has gone back and forth several times between invokeLater and setTimeout.
|
1188
|
+
// Now we're back to invokeLater, please read the code comment above
|
1189
|
+
// this._textField_inputDidChange before changing it again.
|
1190
|
+
this._fieldValueDidChangeTimer = this.invokeLater(this.fieldValueDidChange, 10);
|
1175
1191
|
}
|
1176
1192
|
|
1177
1193
|
return YES;
|
@@ -24,7 +24,7 @@
|
|
24
24
|
left: -25px;
|
25
25
|
right: -25px;
|
26
26
|
|
27
|
-
@include slices("popover_notoolbar.png", $left:
|
27
|
+
@include slices("popover_notoolbar.png", $left: 30, $top: 34, $bottom: 34, $right: 30, $fill: 1 1, $skip: middle);
|
28
28
|
|
29
29
|
.middle { display: none }
|
30
30
|
|
@@ -34,24 +34,20 @@
|
|
34
34
|
&.top-toolbar .popover-background {
|
35
35
|
top: -20px;
|
36
36
|
@include slices(
|
37
|
-
"popover.png", $left:
|
37
|
+
"popover.png", $left: 30, $top: 75, $bottom: 34, $right: 30,
|
38
38
|
$skip: left middle right bottom-left bottom bottom-left bottom-right
|
39
39
|
);
|
40
|
-
|
41
|
-
.left { top: 75px; }
|
42
|
-
.right { top: 75px; }
|
40
|
+
|
43
41
|
}
|
44
42
|
|
45
43
|
|
46
44
|
&.bottom-toolbar .popover-background {
|
47
45
|
bottom: -20px;
|
48
46
|
@include slices(
|
49
|
-
"popover.png", $left:
|
47
|
+
"popover.png", $left: 30, $bottom: 75, $top: 34, $right: 30,
|
50
48
|
$skip: left middle right top-left top top-right
|
51
49
|
);
|
52
50
|
|
53
|
-
.left { bottom: 75px; }
|
54
|
-
.right { bottom: 75px; }
|
55
51
|
}
|
56
52
|
|
57
53
|
}
|
@@ -63,7 +59,7 @@
|
|
63
59
|
top: -25px;
|
64
60
|
bottom: -25px;
|
65
61
|
|
66
|
-
@include slices("popover_empty.png", $left:
|
62
|
+
@include slices("popover_empty.png", $left: 30, $top: 75, $bottom: 40, $right: 30, $fill: 1 1);
|
67
63
|
}
|
68
64
|
}
|
69
65
|
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: sproutcore
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 1.8.1
|
5
|
+
version: 1.8.2.1
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Strobe, Inc., Apple Inc. and contributors
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2012-
|
13
|
+
date: 2012-05-13 00:00:00 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rack
|