@breakside/jskit 2022.25.0 → 2022.25.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.
Files changed (40) hide show
  1. package/Frameworks/DOM.jsframework/Info.json +2 -2
  2. package/Frameworks/DOM.jsframework/io.breakside.JSKit.DOM-bundle.js +2 -2
  3. package/Frameworks/FontKit.jsframework/Info.json +2 -2
  4. package/Frameworks/FontKit.jsframework/io.breakside.JSKit.FontKit-bundle.js +2 -2
  5. package/Frameworks/Foundation.jsframework/Info.json +2 -2
  6. package/Frameworks/Foundation.jsframework/JS/JSURL.js +3 -0
  7. package/Frameworks/Foundation.jsframework/io.breakside.JSKit.Foundation-bundle.js +2 -2
  8. package/Frameworks/SecurityKit.jsframework/Info.json +2 -2
  9. package/Frameworks/SecurityKit.jsframework/io.breakside.JSKit.SecurityKit-bundle.js +2 -2
  10. package/Info.json +2 -2
  11. package/Node/io.breakside.jskit-bundle.js +2 -2
  12. package/Root/Frameworks/APIKit/Info.yaml +1 -1
  13. package/Root/Frameworks/APIKitTesting/Info.yaml +1 -1
  14. package/Root/Frameworks/AuthKit/Info.yaml +1 -1
  15. package/Root/Frameworks/CSSOM/Info.yaml +1 -1
  16. package/Root/Frameworks/ChartKit/Info.yaml +1 -1
  17. package/Root/Frameworks/ConferenceKit/Info.yaml +1 -1
  18. package/Root/Frameworks/DBKit/Info.yaml +1 -1
  19. package/Root/Frameworks/DOM/Info.yaml +1 -1
  20. package/Root/Frameworks/Dispatch/Info.yaml +1 -1
  21. package/Root/Frameworks/FontKit/Info.yaml +1 -1
  22. package/Root/Frameworks/Foundation/Info.yaml +1 -1
  23. package/Root/Frameworks/Foundation/JSURL.js +3 -0
  24. package/Root/Frameworks/ImageKit/Info.yaml +1 -1
  25. package/Root/Frameworks/MediaKit/Info.yaml +1 -1
  26. package/Root/Frameworks/MediaKitUI/Info.yaml +1 -1
  27. package/Root/Frameworks/NotificationKit/Info.yaml +1 -1
  28. package/Root/Frameworks/PDFKit/Info.yaml +1 -1
  29. package/Root/Frameworks/QRKit/Info.yaml +1 -1
  30. package/Root/Frameworks/SearchKit/Info.yaml +1 -1
  31. package/Root/Frameworks/SecurityKit/Info.yaml +1 -1
  32. package/Root/Frameworks/ServerKit/Info.yaml +1 -1
  33. package/Root/Frameworks/ServerKitTesting/Info.yaml +1 -1
  34. package/Root/Frameworks/TestKit/Info.yaml +1 -1
  35. package/Root/Frameworks/UIKit/Info.yaml +1 -1
  36. package/Root/Frameworks/UIKit/UIHTMLApplication.js +52 -14
  37. package/Root/Frameworks/UIKit/UILabel.js +2 -0
  38. package/Root/Frameworks/UIKit/UIState.js +8 -1
  39. package/Root/Frameworks/UIKitTesting/Info.yaml +1 -1
  40. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "JSBundleType": "framework",
3
3
  "JSBundleIdentifier": "io.breakside.JSKit.DOM",
4
- "JSBundleVersion": "2022.25.0",
4
+ "JSBundleVersion": "2022.25.1",
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": "9581f64d123afcc737e61d661ef3a9f1f49ff23a"
12
+ "GitRevision": "2e97a8a0dcc3e1907a4ba7e8e31cd544e87cb0a4"
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": "2022.25.0",
6
+ "JSBundleVersion": "2022.25.1",
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": "9581f64d123afcc737e61d661ef3a9f1f49ff23a"
14
+ "GitRevision": "2e97a8a0dcc3e1907a4ba7e8e31cd544e87cb0a4"
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": "2022.25.0",
4
+ "JSBundleVersion": "2022.25.1",
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": "9581f64d123afcc737e61d661ef3a9f1f49ff23a"
11
+ "GitRevision": "2e97a8a0dcc3e1907a4ba7e8e31cd544e87cb0a4"
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": "2022.25.0",
6
+ "JSBundleVersion": "2022.25.1",
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": "9581f64d123afcc737e61d661ef3a9f1f49ff23a"
13
+ "GitRevision": "2e97a8a0dcc3e1907a4ba7e8e31cd544e87cb0a4"
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": "2022.25.0",
4
+ "JSBundleVersion": "2022.25.1",
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": "9581f64d123afcc737e61d661ef3a9f1f49ff23a"
12
+ "GitRevision": "2e97a8a0dcc3e1907a4ba7e8e31cd544e87cb0a4"
13
13
  }
@@ -523,6 +523,9 @@ JSClass("JSURL", JSObject, {
523
523
  },
524
524
 
525
525
  isEqual: function(url){
526
+ if (url === null || url === undefined){
527
+ return false;
528
+ }
526
529
  if (this._scheme !== url._scheme){
527
530
  return false;
528
531
  }
@@ -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": "2022.25.0",
6
+ "JSBundleVersion": "2022.25.1",
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": "9581f64d123afcc737e61d661ef3a9f1f49ff23a"
14
+ "GitRevision": "2e97a8a0dcc3e1907a4ba7e8e31cd544e87cb0a4"
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": "2022.25.0",
4
+ "JSBundleVersion": "2022.25.1",
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": "9581f64d123afcc737e61d661ef3a9f1f49ff23a"
12
+ "GitRevision": "2e97a8a0dcc3e1907a4ba7e8e31cd544e87cb0a4"
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": "2022.25.0",
6
+ "JSBundleVersion": "2022.25.1",
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": "9581f64d123afcc737e61d661ef3a9f1f49ff23a"
14
+ "GitRevision": "2e97a8a0dcc3e1907a4ba7e8e31cd544e87cb0a4"
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": "2022.25.0",
4
+ "JSBundleVersion": "2022.25.1",
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": "9581f64d123afcc737e61d661ef3a9f1f49ff23a"
11
+ "GitRevision": "2e97a8a0dcc3e1907a4ba7e8e31cd544e87cb0a4"
12
12
  }
@@ -3,14 +3,14 @@ JSBundle.bundles['io.breakside.jskit'] = {
3
3
  "Info": {
4
4
  "JSBundleType": "node",
5
5
  "JSBundleIdentifier": "io.breakside.jskit",
6
- "JSBundleVersion": "2022.25.0",
6
+ "JSBundleVersion": "2022.25.1",
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": "9581f64d123afcc737e61d661ef3a9f1f49ff23a"
13
+ "GitRevision": "2e97a8a0dcc3e1907a4ba7e8e31cd544e87cb0a4"
14
14
  },
15
15
  "Resources": [
16
16
  {
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.APIKit
3
- JSBundleVersion: 2022.25.0
3
+ JSBundleVersion: 2022.25.1
4
4
  JSDevelopmentLanguage: en
5
5
  JSCopyright: Copyright © 2020 Breakside Inc.
6
6
  JSIncludeDirectories:
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.APIKitTesting
3
- JSBundleVersion: 2022.25.0
3
+ JSBundleVersion: 2022.25.1
4
4
  JSDevelopmentLanguage: en
5
5
  JSCopyright: Copyright © 2020 Breakside Inc.
6
6
  JSLicenseNotice: |
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.AuthKit
3
- JSBundleVersion: 2022.25.0
3
+ JSBundleVersion: 2022.25.1
4
4
  JSDevelopmentLanguage: en
5
5
  JSCopyright: Copyright © 2020 Breakside Inc.
6
6
  JSLicenseNotice: |
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.CSSOM
3
- JSBundleVersion: 2022.25.0
3
+ JSBundleVersion: 2022.25.1
4
4
  JSDevelopmentLanguage: en
5
5
  JSCopyright: Copyright © 2020 Breakside Inc.
6
6
  JSBundleEnvironments:
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.ChartKit
3
- JSBundleVersion: 2022.25.0
3
+ JSBundleVersion: 2022.25.1
4
4
  JSDevelopmentLanguage: en
5
5
  JSCopyright: Copyright © 2021 Breakside Inc.
6
6
  # JSBundleEnvironments:
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.ConferenceKit
3
- JSBundleVersion: 2022.25.0
3
+ JSBundleVersion: 2022.25.1
4
4
  JSDevelopmentLanguage: en
5
5
  JSCopyright: Copyright © 2020 Breakside Inc.
6
6
  JSBundleEnvironments:
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.DBKit
3
- JSBundleVersion: 2022.25.0
3
+ JSBundleVersion: 2022.25.1
4
4
  JSDevelopmentLanguage: en
5
5
  JSCopyright: Copyright © 2020 Breakside Inc.
6
6
  JSBundleEnvironments:
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.DOM
3
- JSBundleVersion: 2022.25.0
3
+ JSBundleVersion: 2022.25.1
4
4
  JSDevelopmentLanguage: en
5
5
  JSCopyright: Copyright © 2020 Breakside Inc.
6
6
  JSBundleEnvironments:
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.Dispatch
3
- JSBundleVersion: 2022.25.0
3
+ JSBundleVersion: 2022.25.1
4
4
  JSCopyright: Copyright © 2020 Breakside Inc.
5
5
  JSBundleEnvironments:
6
6
  html: Dispatch+HTML.js
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.FontKit
3
- JSBundleVersion: 2022.25.0
3
+ JSBundleVersion: 2022.25.1
4
4
  JSDevelopmentLanguage: en
5
5
  JSCopyright: Copyright © 2020 Breakside Inc.
6
6
  JSBundleEnvironments:
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.Foundation
3
- JSBundleVersion: 2022.25.0
3
+ JSBundleVersion: 2022.25.1
4
4
  JSDevelopmentLanguage: en
5
5
  JSCopyright: Copyright © 2020 Breakside Inc.
6
6
  JSBundleEnvironments:
@@ -523,6 +523,9 @@ JSClass("JSURL", JSObject, {
523
523
  },
524
524
 
525
525
  isEqual: function(url){
526
+ if (url === null || url === undefined){
527
+ return false;
528
+ }
526
529
  if (this._scheme !== url._scheme){
527
530
  return false;
528
531
  }
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.ImageKit
3
- JSBundleVersion: 2022.25.0
3
+ JSBundleVersion: 2022.25.1
4
4
  JSDevelopmentLanguage: en
5
5
  JSCopyright: Copyright © 2020 Breakside Inc.
6
6
  JSBundleEnvironments:
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.MediaKit
3
- JSBundleVersion: 2022.25.0
3
+ JSBundleVersion: 2022.25.1
4
4
  JSDevelopmentLanguage: en
5
5
  JSCopyright: Copyright © 2020 Breakside Inc.
6
6
  JSBundleEnvironments:
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.MediaKitUI
3
- JSBundleVersion: 2022.25.0
3
+ JSBundleVersion: 2022.25.1
4
4
  JSDevelopmentLanguage: en
5
5
  JSCopyright: Copyright © 2020 Breakside Inc.
6
6
  JSBundleEnvironments:
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.NotificationKit
3
- JSBundleVersion: 2022.25.0
3
+ JSBundleVersion: 2022.25.1
4
4
  JSDevelopmentLanguage: en
5
5
  JSCopyright: Copyright © 2021 Breakside Inc.
6
6
  JSBundleEnvironments:
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.PDFKit
3
- JSBundleVersion: 2022.25.0
3
+ JSBundleVersion: 2022.25.1
4
4
  JSDevelopmentLanguage: en
5
5
  JSCopyright: Copyright © 2020 Breakside Inc.
6
6
  JSLicenseNotice: |
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.QRKit
3
- JSBundleVersion: 2022.25.0
3
+ JSBundleVersion: 2022.25.1
4
4
  JSDevelopmentLanguage: en
5
5
  JSCopyright: Copyright © 2020 Breakside Inc.
6
6
  JSLicenseNotice: |
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.SearchKit
3
- JSBundleVersion: 2022.25.0
3
+ JSBundleVersion: 2022.25.1
4
4
  JSDevelopmentLanguage: en
5
5
  JSCopyright: Copyright © 2020 Breakside Inc.
6
6
  JSLicenseNotice: |
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.SecurityKit
3
- JSBundleVersion: 2022.25.0
3
+ JSBundleVersion: 2022.25.1
4
4
  JSDevelopmentLanguage: en
5
5
  JSCopyright: Copyright © 2020 Breakside Inc.
6
6
  JSBundleEnvironments:
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.ServerKit
3
- JSBundleVersion: 2022.25.0
3
+ JSBundleVersion: 2022.25.1
4
4
  JSDevelopmentLanguage: en
5
5
  JSCopyright: Copyright © 2020 Breakside Inc.
6
6
  JSBundleEnvironments:
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.ServerKitTesting
3
- JSBundleVersion: 2022.25.0
3
+ JSBundleVersion: 2022.25.1
4
4
  JSDevelopmentLanguage: en
5
5
  JSCopyright: Copyright © 2020 Breakside Inc.
6
6
  JSLicenseNotice: |
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.TestKit
3
- JSBundleVersion: 2022.25.0
3
+ JSBundleVersion: 2022.25.1
4
4
  JSDevelopmentLanguage: en
5
5
  JSCopyright: Copyright © 2020 Breakside Inc.
6
6
  JSLicenseNotice: |
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.UIKit
3
- JSBundleVersion: 2022.25.0
3
+ JSBundleVersion: 2022.25.1
4
4
  JSDevelopmentLanguage: en
5
5
  JSCopyright: Copyright © 2020 Breakside Inc.
6
6
  JSBundleEnvironments:
@@ -29,6 +29,7 @@ JSClass("UIHTMLApplication", UIApplication, {
29
29
  initWithBundle: function(bundle, windowServer){
30
30
  UIHTMLApplication.$super.initWithBundle.call(this, bundle, windowServer);
31
31
  this.domWindow = this.windowServer.domWindow;
32
+ this.rememberStateInPath = this.bundle.info.UIHTMLUseURLPathForState === true;
32
33
  },
33
34
 
34
35
  setup: function(completion, target){
@@ -93,17 +94,15 @@ JSClass("UIHTMLApplication", UIApplication, {
93
94
  this.stop(reload);
94
95
  },
95
96
 
96
- baseURL: JSReadOnlyProperty('_baseURL'),
97
+ baseURL: JSReadOnlyProperty('_baseURL', null),
98
+ rememberStateInPath: false,
97
99
 
98
100
  setState: function(state){
99
- UIHTMLApplication.$super.setState.call(this, state);
100
- var url = JSURL.initWithURL(this.baseURL);
101
- if (state.path !== "/"){
102
- url.fragment = state.path;
103
- }
104
- if (!this._isHandlingHashChange){
105
- var href = url.encodedString;
106
- if (href != this.domWindow.location.href){
101
+ if (!state.isEqual(this.state)){
102
+ UIHTMLApplication.$super.setState.call(this, state);
103
+ if (!this._isHandlingBrowserStateChange){
104
+ var url = this.urlForState(state);
105
+ var href = url.encodedString;
107
106
  this.domWindow.history.pushState(null, null, url.encodedString);
108
107
  }
109
108
  }
@@ -111,11 +110,20 @@ JSClass("UIHTMLApplication", UIApplication, {
111
110
 
112
111
  setStateReplacingHTMLState: function(state){
113
112
  UIHTMLApplication.$super.setState.call(this, state);
113
+ var url = this.urlForState(state);
114
+ this.domWindow.history.replaceState(null, null, url.encodedString);
115
+ },
116
+
117
+ urlForState: function(state){
114
118
  var url = JSURL.initWithURL(this.baseURL);
115
- if (state.path !== "/"){
116
- url.fragment = state.path;
119
+ if (state.pathComponents.length > 1){
120
+ if (this.rememberStateInPath){
121
+ url.appendPathComponents(state.pathComponents.slice(1));
122
+ }else{
123
+ url.fragment = state.path;
124
+ }
117
125
  }
118
- this.domWindow.history.replaceState(null, null, url.encodedString);
126
+ return url;
119
127
  },
120
128
 
121
129
  addEventListeners: function(){
@@ -123,6 +131,7 @@ JSClass("UIHTMLApplication", UIApplication, {
123
131
  this.domWindow.addEventListener("unhandledrejection", this);
124
132
  this.domWindow.addEventListener("beforeunload", this);
125
133
  this.domWindow.addEventListener("hashchange", this);
134
+ this.domWindow.addEventListener("popstate", this);
126
135
  },
127
136
 
128
137
  handleEvent: function(e){
@@ -160,7 +169,10 @@ JSClass("UIHTMLApplication", UIApplication, {
160
169
  },
161
170
 
162
171
  _event_hashchange: function(e){
163
- this._isHandlingHashChange = true;
172
+ if (this.rememberStateInPath){
173
+ return;
174
+ }
175
+ this._isHandlingBrowserStateChange = true;
164
176
  try{
165
177
  var requestedURL = JSURL.initWithString(this.domWindow.location.href);
166
178
  var requestedFragment = requestedURL.fragment;
@@ -185,7 +197,33 @@ JSClass("UIHTMLApplication", UIApplication, {
185
197
  }
186
198
  this.setStateReplacingHTMLState(state);
187
199
  }finally{
188
- this._isHandlingHashChange = false;
200
+ this._isHandlingBrowserStateChange = false;
201
+ }
202
+ },
203
+
204
+ _event_popstate: function(e){
205
+ if (!this.rememberStateInPath){
206
+ return;
207
+ }
208
+ this._isHandlingBrowserStateChange = true;
209
+ try{
210
+ var requestedURL = JSURL.initWithString(this.domWindow.location.href);
211
+ var relativeURL = JSURL.initWithString(requestedURL.encodedStringRelativeTo(this._baseURL));
212
+ var requestedState = UIState.initWithPath(relativeURL.path);
213
+ var state = null;
214
+ if (this.delegate && this.delegate.applicationDidRequestState){
215
+ state = this.delegate.applicationDidRequestState(this, requestedState);
216
+ }
217
+ if (state === null || state === undefined){
218
+ state = this.state;
219
+ }
220
+ if (state.isEqual(requestedState)){
221
+ UIHTMLApplication.$super.setState.call(this, state);
222
+ }else{
223
+ this.setStateReplacingHTMLState(state);
224
+ }
225
+ }finally{
226
+ this._isHandlingBrowserStateChange = false;
189
227
  }
190
228
  },
191
229
 
@@ -40,10 +40,12 @@ JSClass('UILabel', UIView, {
40
40
  this.maximumNumberOfLines = 1;
41
41
  this.textColor = JSColor.text;
42
42
  this._selectionColor = JSColor.initWithUIStyles(JSColor.black.colorWithAlpha(0.2), JSColor.white.colorWithAlpha(0.2));
43
+ this.layer.textContainer.framesetter.typesetter.delegate = this;
43
44
  },
44
45
 
45
46
  initWithSpec: function(spec){
46
47
  UILabel.$super.initWithSpec.call(this, spec);
48
+ this.layer.textContainer.framesetter.typesetter.delegate = this;
47
49
  if (spec.containsKey("font")){
48
50
  this.font = spec.valueForKey("font", JSFont);
49
51
  }
@@ -161,7 +161,14 @@ JSClass("UIState", JSObject, {
161
161
  var state = UIState.initWithPath(this._path);
162
162
  state._removeFileExtension();
163
163
  return state;
164
- }
164
+ },
165
+
166
+ isEqual: function(other){
167
+ if (other === null || other === undefined){
168
+ return false;
169
+ }
170
+ return this._path === other._path;
171
+ },
165
172
 
166
173
  });
167
174
 
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.UIKitTesting
3
- JSBundleVersion: 2022.25.0
3
+ JSBundleVersion: 2022.25.1
4
4
  JSDevelopmentLanguage: en
5
5
  JSCopyright: Copyright © 2020 Breakside Inc.
6
6
  JSLicenseNotice: |
package/package.json CHANGED
@@ -9,7 +9,7 @@
9
9
  "node": ">=10.10.0"
10
10
  },
11
11
  "name": "@breakside/jskit",
12
- "version": "2022.25.0",
12
+ "version": "2022.25.1",
13
13
  "license": "SEE LICENSE IN LICENSE.txt",
14
14
  "files": [
15
15
  "*"