@breakside/jskit 2025.36.0 → 2025.37.0
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.
- package/Frameworks/DOM.jsframework/Info.json +2 -2
- package/Frameworks/DOM.jsframework/io.breakside.JSKit.DOM-bundle.js +2 -2
- package/Frameworks/FontKit.jsframework/Info.json +2 -2
- package/Frameworks/FontKit.jsframework/io.breakside.JSKit.FontKit-bundle.js +2 -2
- package/Frameworks/Foundation.jsframework/Info.json +2 -2
- package/Frameworks/Foundation.jsframework/io.breakside.JSKit.Foundation-bundle.js +2 -2
- package/Frameworks/SecurityKit.jsframework/Info.json +2 -2
- package/Frameworks/SecurityKit.jsframework/io.breakside.JSKit.SecurityKit-bundle.js +2 -2
- package/Info.json +2 -2
- package/Node/HTMLProjectServer.js +12 -1
- package/Node/Printer.js +11 -0
- package/Node/io.breakside.jskit-bundle.js +2 -2
- package/Root/Frameworks/APIKit/Info.yaml +1 -1
- package/Root/Frameworks/APIKitTesting/Info.yaml +1 -1
- package/Root/Frameworks/AuthKit/Info.yaml +1 -1
- package/Root/Frameworks/CSSOM/Info.yaml +1 -1
- package/Root/Frameworks/ChartKit/Info.yaml +1 -1
- package/Root/Frameworks/ConferenceKit/Info.yaml +1 -1
- package/Root/Frameworks/DBKit/Info.yaml +1 -1
- package/Root/Frameworks/DOM/Info.yaml +1 -1
- package/Root/Frameworks/Dispatch/Info.yaml +1 -1
- package/Root/Frameworks/FontKit/Info.yaml +1 -1
- package/Root/Frameworks/Foundation/Info.yaml +1 -1
- package/Root/Frameworks/ImageKit/Info.yaml +1 -1
- package/Root/Frameworks/MediaKit/Info.yaml +1 -1
- package/Root/Frameworks/MediaKitUI/Info.yaml +1 -1
- package/Root/Frameworks/NotificationKit/Info.yaml +1 -1
- package/Root/Frameworks/PDFKit/Info.yaml +1 -1
- package/Root/Frameworks/QRKit/Info.yaml +1 -1
- package/Root/Frameworks/SearchKit/Info.yaml +1 -1
- package/Root/Frameworks/SecurityKit/Info.yaml +1 -1
- package/Root/Frameworks/ServerKit/Info.yaml +1 -1
- package/Root/Frameworks/ServerKitTesting/Info.yaml +1 -1
- package/Root/Frameworks/TestKit/Info.yaml +1 -1
- package/Root/Frameworks/UIKit/Info.yaml +1 -1
- package/Root/Frameworks/UIKit/UIAccessibility.js +1 -0
- package/Root/Frameworks/UIKit/UIHTMLDisplayServerCanvasContext.js +5 -2
- package/Root/Frameworks/UIKit/UIListView.js +7 -1
- package/Root/Frameworks/UIKit/UIPopupButton.js +2 -0
- package/Root/Frameworks/UIKit/UIToolbar.js +1 -1
- package/Root/Frameworks/UIKit/UIView.js +1 -0
- package/Root/Frameworks/UIKitTesting/Info.yaml +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"JSBundleType": "framework",
|
|
3
3
|
"JSBundleIdentifier": "io.breakside.JSKit.DOM",
|
|
4
|
-
"JSBundleVersion": "2025.
|
|
4
|
+
"JSBundleVersion": "2025.37.0",
|
|
5
5
|
"JSDevelopmentLanguage": "en",
|
|
6
6
|
"JSCopyright": "Copyright © 2020 Breakside Inc.",
|
|
7
7
|
"JSBundleEnvironments": {
|
|
@@ -9,5 +9,5 @@
|
|
|
9
9
|
"node": "DOM+Node.js"
|
|
10
10
|
},
|
|
11
11
|
"JSLicenseNotice": "Licensed under the Breakside Public License, Version 1.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nIf a copy of the License was not distributed with this file, you may\nobtain a copy at\n\n http://breakside.io/licenses/LICENSE-1.0.txt\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n",
|
|
12
|
-
"GitRevision": "
|
|
12
|
+
"GitRevision": "9291bb0c17f6a29b383c667bbee690664f9fb896"
|
|
13
13
|
}
|
|
@@ -3,7 +3,7 @@ JSBundle.bundles['io.breakside.JSKit.DOM'] = {
|
|
|
3
3
|
"Info": {
|
|
4
4
|
"JSBundleType": "framework",
|
|
5
5
|
"JSBundleIdentifier": "io.breakside.JSKit.DOM",
|
|
6
|
-
"JSBundleVersion": "2025.
|
|
6
|
+
"JSBundleVersion": "2025.37.0",
|
|
7
7
|
"JSDevelopmentLanguage": "en",
|
|
8
8
|
"JSCopyright": "Copyright © 2020 Breakside Inc.",
|
|
9
9
|
"JSBundleEnvironments": {
|
|
@@ -11,7 +11,7 @@ JSBundle.bundles['io.breakside.JSKit.DOM'] = {
|
|
|
11
11
|
"node": "DOM+Node.js"
|
|
12
12
|
},
|
|
13
13
|
"JSLicenseNotice": "Licensed under the Breakside Public License, Version 1.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nIf a copy of the License was not distributed with this file, you may\nobtain a copy at\n\n http://breakside.io/licenses/LICENSE-1.0.txt\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n",
|
|
14
|
-
"GitRevision": "
|
|
14
|
+
"GitRevision": "9291bb0c17f6a29b383c667bbee690664f9fb896"
|
|
15
15
|
},
|
|
16
16
|
"Resources": [],
|
|
17
17
|
"ResourceLookup": {
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"JSBundleType": "framework",
|
|
3
3
|
"JSBundleIdentifier": "io.breakside.JSKit.FontKit",
|
|
4
|
-
"JSBundleVersion": "2025.
|
|
4
|
+
"JSBundleVersion": "2025.37.0",
|
|
5
5
|
"JSDevelopmentLanguage": "en",
|
|
6
6
|
"JSCopyright": "Copyright © 2020 Breakside Inc.",
|
|
7
7
|
"JSBundleEnvironments": {
|
|
8
8
|
"html": "FontKit+HTML.js"
|
|
9
9
|
},
|
|
10
10
|
"JSLicenseNotice": "Licensed under the Breakside Public License, Version 1.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nIf a copy of the License was not distributed with this file, you may\nobtain a copy at\n\n http://breakside.io/licenses/LICENSE-1.0.txt\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n",
|
|
11
|
-
"GitRevision": "
|
|
11
|
+
"GitRevision": "9291bb0c17f6a29b383c667bbee690664f9fb896"
|
|
12
12
|
}
|
|
@@ -3,14 +3,14 @@ JSBundle.bundles['io.breakside.JSKit.FontKit'] = {
|
|
|
3
3
|
"Info": {
|
|
4
4
|
"JSBundleType": "framework",
|
|
5
5
|
"JSBundleIdentifier": "io.breakside.JSKit.FontKit",
|
|
6
|
-
"JSBundleVersion": "2025.
|
|
6
|
+
"JSBundleVersion": "2025.37.0",
|
|
7
7
|
"JSDevelopmentLanguage": "en",
|
|
8
8
|
"JSCopyright": "Copyright © 2020 Breakside Inc.",
|
|
9
9
|
"JSBundleEnvironments": {
|
|
10
10
|
"html": "FontKit+HTML.js"
|
|
11
11
|
},
|
|
12
12
|
"JSLicenseNotice": "Licensed under the Breakside Public License, Version 1.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nIf a copy of the License was not distributed with this file, you may\nobtain a copy at\n\n http://breakside.io/licenses/LICENSE-1.0.txt\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n",
|
|
13
|
-
"GitRevision": "
|
|
13
|
+
"GitRevision": "9291bb0c17f6a29b383c667bbee690664f9fb896"
|
|
14
14
|
},
|
|
15
15
|
"Resources": [],
|
|
16
16
|
"ResourceLookup": {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"JSBundleType": "framework",
|
|
3
3
|
"JSBundleIdentifier": "io.breakside.JSKit.Foundation",
|
|
4
|
-
"JSBundleVersion": "2025.
|
|
4
|
+
"JSBundleVersion": "2025.37.0",
|
|
5
5
|
"JSDevelopmentLanguage": "en",
|
|
6
6
|
"JSCopyright": "Copyright © 2020 Breakside Inc.",
|
|
7
7
|
"JSBundleEnvironments": {
|
|
@@ -9,5 +9,5 @@
|
|
|
9
9
|
"node": "Foundation+Node.js"
|
|
10
10
|
},
|
|
11
11
|
"JSLicenseNotice": "Licensed under the Breakside Public License, Version 1.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nIf a copy of the License was not distributed with this file, you may\nobtain a copy at\n\n http://breakside.io/licenses/LICENSE-1.0.txt\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n",
|
|
12
|
-
"GitRevision": "
|
|
12
|
+
"GitRevision": "9291bb0c17f6a29b383c667bbee690664f9fb896"
|
|
13
13
|
}
|
|
@@ -3,7 +3,7 @@ JSBundle.bundles['io.breakside.JSKit.Foundation'] = {
|
|
|
3
3
|
"Info": {
|
|
4
4
|
"JSBundleType": "framework",
|
|
5
5
|
"JSBundleIdentifier": "io.breakside.JSKit.Foundation",
|
|
6
|
-
"JSBundleVersion": "2025.
|
|
6
|
+
"JSBundleVersion": "2025.37.0",
|
|
7
7
|
"JSDevelopmentLanguage": "en",
|
|
8
8
|
"JSCopyright": "Copyright © 2020 Breakside Inc.",
|
|
9
9
|
"JSBundleEnvironments": {
|
|
@@ -11,7 +11,7 @@ JSBundle.bundles['io.breakside.JSKit.Foundation'] = {
|
|
|
11
11
|
"node": "Foundation+Node.js"
|
|
12
12
|
},
|
|
13
13
|
"JSLicenseNotice": "Licensed under the Breakside Public License, Version 1.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nIf a copy of the License was not distributed with this file, you may\nobtain a copy at\n\n http://breakside.io/licenses/LICENSE-1.0.txt\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n",
|
|
14
|
-
"GitRevision": "
|
|
14
|
+
"GitRevision": "9291bb0c17f6a29b383c667bbee690664f9fb896"
|
|
15
15
|
},
|
|
16
16
|
"Resources": [
|
|
17
17
|
{
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"JSBundleType": "framework",
|
|
3
3
|
"JSBundleIdentifier": "io.breakside.JSKit.SecurityKit",
|
|
4
|
-
"JSBundleVersion": "2025.
|
|
4
|
+
"JSBundleVersion": "2025.37.0",
|
|
5
5
|
"JSDevelopmentLanguage": "en",
|
|
6
6
|
"JSCopyright": "Copyright © 2020 Breakside Inc.",
|
|
7
7
|
"JSBundleEnvironments": {
|
|
@@ -9,5 +9,5 @@
|
|
|
9
9
|
"node": "SecurityKit+Node.js"
|
|
10
10
|
},
|
|
11
11
|
"JSLicenseNotice": "Licensed under the Breakside Public License, Version 1.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nIf a copy of the License was not distributed with this file, you may\nobtain a copy at\n\n http://breakside.io/licenses/LICENSE-1.0.txt\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n",
|
|
12
|
-
"GitRevision": "
|
|
12
|
+
"GitRevision": "9291bb0c17f6a29b383c667bbee690664f9fb896"
|
|
13
13
|
}
|
|
@@ -3,7 +3,7 @@ JSBundle.bundles['io.breakside.JSKit.SecurityKit'] = {
|
|
|
3
3
|
"Info": {
|
|
4
4
|
"JSBundleType": "framework",
|
|
5
5
|
"JSBundleIdentifier": "io.breakside.JSKit.SecurityKit",
|
|
6
|
-
"JSBundleVersion": "2025.
|
|
6
|
+
"JSBundleVersion": "2025.37.0",
|
|
7
7
|
"JSDevelopmentLanguage": "en",
|
|
8
8
|
"JSCopyright": "Copyright © 2020 Breakside Inc.",
|
|
9
9
|
"JSBundleEnvironments": {
|
|
@@ -11,7 +11,7 @@ JSBundle.bundles['io.breakside.JSKit.SecurityKit'] = {
|
|
|
11
11
|
"node": "SecurityKit+Node.js"
|
|
12
12
|
},
|
|
13
13
|
"JSLicenseNotice": "Licensed under the Breakside Public License, Version 1.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nIf a copy of the License was not distributed with this file, you may\nobtain a copy at\n\n http://breakside.io/licenses/LICENSE-1.0.txt\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n",
|
|
14
|
-
"GitRevision": "
|
|
14
|
+
"GitRevision": "9291bb0c17f6a29b383c667bbee690664f9fb896"
|
|
15
15
|
},
|
|
16
16
|
"Resources": [],
|
|
17
17
|
"ResourceLookup": {
|
package/Info.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"JSBundleType": "node",
|
|
3
3
|
"JSBundleIdentifier": "io.breakside.jskit",
|
|
4
|
-
"JSBundleVersion": "2025.
|
|
4
|
+
"JSBundleVersion": "2025.37.0",
|
|
5
5
|
"JSExecutableName": "jskit",
|
|
6
6
|
"NPMOrganization": "breakside",
|
|
7
7
|
"JSResources": [
|
|
8
8
|
"Tests/HTMLTestRunner.js",
|
|
9
9
|
"Tests/NodeTestRunner.js"
|
|
10
10
|
],
|
|
11
|
-
"GitRevision": "
|
|
11
|
+
"GitRevision": "9291bb0c17f6a29b383c667bbee690664f9fb896"
|
|
12
12
|
}
|
|
@@ -101,6 +101,11 @@ JSClass("HTMLProjectServer", JSObject, {
|
|
|
101
101
|
|
|
102
102
|
alwaysExpires: JSLazyInitProperty(() => "Thu, 01 Jan 1970 00:00:01 GMT"),
|
|
103
103
|
neverExpires: JSLazyInitProperty(() => "Thu, 31 Dec 2037 23:55:55 GMT"),
|
|
104
|
+
ingored404URLs: JSLazyInitProperty(() => new Set([
|
|
105
|
+
"/favicon.ico",
|
|
106
|
+
"/apple-touch-icon.png",
|
|
107
|
+
"/apple-touch-icon-precomposed.png"
|
|
108
|
+
])),
|
|
104
109
|
|
|
105
110
|
_handleNodeRequest: async function(nodeRequest, nodeResponse){
|
|
106
111
|
let statusCode = null;
|
|
@@ -178,6 +183,7 @@ JSClass("HTMLProjectServer", JSObject, {
|
|
|
178
183
|
statusCode = 404;
|
|
179
184
|
}
|
|
180
185
|
}catch (e){
|
|
186
|
+
this.printer.ensureNewline();
|
|
181
187
|
logger.error("Error handling request: %{error}", e);
|
|
182
188
|
statusCode = 500;
|
|
183
189
|
}
|
|
@@ -186,6 +192,7 @@ JSClass("HTMLProjectServer", JSObject, {
|
|
|
186
192
|
try{
|
|
187
193
|
nodeResponse.writeHead(statusCode, headers);
|
|
188
194
|
}catch (e){
|
|
195
|
+
this.printer.ensureNewline();
|
|
189
196
|
logger.error("Error sending response headers: %{error}", e);
|
|
190
197
|
nodeResponse.writeHead(500);
|
|
191
198
|
}
|
|
@@ -198,10 +205,14 @@ JSClass("HTMLProjectServer", JSObject, {
|
|
|
198
205
|
nodeResponse.end();
|
|
199
206
|
}
|
|
200
207
|
if (statusCode >= 400){
|
|
201
|
-
|
|
208
|
+
if (statusCode !== 404 || !this.ingored404URLs.has(nodeRequest.url)){
|
|
209
|
+
this.printer.ensureNewline();
|
|
210
|
+
logger.warn("%d %{public} %{public}", statusCode, nodeRequest.method, nodeRequest.url);
|
|
211
|
+
}
|
|
202
212
|
}
|
|
203
213
|
}catch (e){
|
|
204
214
|
nodeRequest.socket.destroy();
|
|
215
|
+
this.printer.ensureNewline();
|
|
205
216
|
logger.error("Error sending response: %{error}", e);
|
|
206
217
|
}
|
|
207
218
|
},
|
package/Node/Printer.js
CHANGED
|
@@ -75,8 +75,19 @@ JSClass("Printer", JSObject, {
|
|
|
75
75
|
}
|
|
76
76
|
},
|
|
77
77
|
|
|
78
|
+
atNewline: true,
|
|
79
|
+
|
|
80
|
+
ensureNewline: function(){
|
|
81
|
+
if (!this.atNewline){
|
|
82
|
+
this._printRawData("\n".utf8());
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
|
|
78
86
|
_printRawData: function(data){
|
|
79
87
|
this.stream.write(data);
|
|
88
|
+
if (data.length > 0){
|
|
89
|
+
this.atNewline = data[data.length - 1] == 0x0A;
|
|
90
|
+
}
|
|
80
91
|
},
|
|
81
92
|
|
|
82
93
|
_erase: function(count){
|
|
@@ -3,14 +3,14 @@ JSBundle.bundles['io.breakside.jskit'] = {
|
|
|
3
3
|
"Info": {
|
|
4
4
|
"JSBundleType": "node",
|
|
5
5
|
"JSBundleIdentifier": "io.breakside.jskit",
|
|
6
|
-
"JSBundleVersion": "2025.
|
|
6
|
+
"JSBundleVersion": "2025.37.0",
|
|
7
7
|
"JSExecutableName": "jskit",
|
|
8
8
|
"NPMOrganization": "breakside",
|
|
9
9
|
"JSResources": [
|
|
10
10
|
"Tests/HTMLTestRunner.js",
|
|
11
11
|
"Tests/NodeTestRunner.js"
|
|
12
12
|
],
|
|
13
|
-
"GitRevision": "
|
|
13
|
+
"GitRevision": "9291bb0c17f6a29b383c667bbee690664f9fb896"
|
|
14
14
|
},
|
|
15
15
|
"Resources": [
|
|
16
16
|
{
|
|
@@ -953,8 +953,11 @@ JSClass("UIHTMLDisplayServerCanvasContext", UIHTMLDisplayServerContext, {
|
|
|
953
953
|
};
|
|
954
954
|
this.accessibilityMousedownListener = function(e){
|
|
955
955
|
// We don't want mousedown to focus the element
|
|
956
|
-
// Unfortunately, this prevents the element from working with drag and drop
|
|
957
|
-
|
|
956
|
+
// Unfortunately, this prevents the element from working with drag and drop,
|
|
957
|
+
// So elements can opt-in to allowing drag by allowing focus-on-mousedown
|
|
958
|
+
if (!accessibility.accessibilityDraggable){
|
|
959
|
+
e.preventDefault();
|
|
960
|
+
}
|
|
958
961
|
};
|
|
959
962
|
this.element.addEventListener("focus", this.accessibilityFocusListener);
|
|
960
963
|
this.element.addEventListener("mousedown", this.accessibilityMousedownListener);
|
|
@@ -3384,7 +3384,13 @@ JSClass("UIListViewDefaultStyler", UIListViewStyler, {
|
|
|
3384
3384
|
if (cell._accessoryView !== null){
|
|
3385
3385
|
var accessorySize = this.accessorySize;
|
|
3386
3386
|
if (accessorySize === null){
|
|
3387
|
-
accessorySize = cell._accessoryView.intrinsicSize;
|
|
3387
|
+
accessorySize = JSSize(cell._accessoryView.intrinsicSize);
|
|
3388
|
+
if (accessorySize.width === UIView.noIntrinsicSize){
|
|
3389
|
+
accessorySize.width = cell._accessoryView.bounds.size.width;
|
|
3390
|
+
}
|
|
3391
|
+
if (accessorySize.height === UIView.noIntrinsicSize){
|
|
3392
|
+
accessorySize.height = cell._accessoryView.bounds.size.height;
|
|
3393
|
+
}
|
|
3388
3394
|
}
|
|
3389
3395
|
cell._accessoryView.frame = JSRect(cell._contentView.bounds.size.width - cell._accessoryInsets.right - accessorySize.width, (cell._contentView.bounds.size.height - accessorySize.height) / 2, accessorySize.width, accessorySize.height);
|
|
3390
3396
|
size.width -= accessorySize.width + cell._accessoryInsets.width;
|
|
@@ -286,6 +286,7 @@ JSClass("UIPopupButton", UIControl, {
|
|
|
286
286
|
this.menu.font = this.titleLabel.font;
|
|
287
287
|
}
|
|
288
288
|
this.menu.delegate = this;
|
|
289
|
+
this.sendActionsForEvents(UIControl.Event.editingDidBegin);
|
|
289
290
|
if (this._pullsDown){
|
|
290
291
|
this.menu.minimumWidth = this.frame.size.width;
|
|
291
292
|
this.menu.openAdjacentToView(this, UIMenu.Placement.below, 1);
|
|
@@ -318,6 +319,7 @@ JSClass("UIPopupButton", UIControl, {
|
|
|
318
319
|
this.menu.delegate = null;
|
|
319
320
|
this.menu.accessibilityParent = null;
|
|
320
321
|
this._isMenuOpen = false;
|
|
322
|
+
this.sendActionsForEvents(UIControl.Event.editingDidEnd);
|
|
321
323
|
},
|
|
322
324
|
|
|
323
325
|
setSelectedIndex: function(index){
|
|
@@ -678,7 +678,7 @@ JSClass("UIToolbarCustomStyler", UIToolbarStyler, {
|
|
|
678
678
|
size = props.overflowButton.intrinsicSize;
|
|
679
679
|
props.overflowButton.frame = JSRect(toolbar.bounds.size.width - this.contentInsets.right - size.width, y + (maxHeight - size.height) / 2.0, size.width, size.height);
|
|
680
680
|
// reduce available width by overflow button width
|
|
681
|
-
availableWidth -= props.overflowButton.bounds.size.width
|
|
681
|
+
availableWidth -= props.overflowButton.bounds.size.width + this.itemSpacing;
|
|
682
682
|
// Back up over any overflowing items
|
|
683
683
|
for (; props.lastVisibleIndex >= 0 && itemsWidth > availableWidth; --props.lastVisibleIndex){
|
|
684
684
|
size = itemSizes[props.lastVisibleIndex];
|