sproutcore 1.8.1 → 1.8.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/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
|