@qooxdoo/framework 7.9.2 → 8.0.0-beta.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 (593) hide show
  1. package/CHANGELOG.md +191 -33
  2. package/Manifest.json +3 -3
  3. package/bin/tools/utils.js +50 -13
  4. package/lib/compiler/compile-info.json +300 -230
  5. package/lib/compiler/index.js +56748 -44036
  6. package/lib/resource/qx/tool/{cli → compiler/cli}/templates/loader/loader-node.tmpl.js +1 -0
  7. package/lib/resource/qx/tool/compiler/cli/templates/skeleton/mobile/source/theme/custom/css/custom.css.map +1 -0
  8. package/{source/resource/qx/tool → lib/resource/qx/tool/compiler}/cli/templates/template_vars.js +12 -9
  9. package/{source/resource/qx/tool → lib/resource/qx/tool/compiler}/schema/Manifest-1-0-0.json +2 -2
  10. package/lib/resource/qx/tool/{schema → compiler/schema}/Manifest-2-0-0.json +2 -2
  11. package/lib/resource/qx/tool/{schema → compiler/schema}/compile-1-0-0.json +15 -3
  12. package/{source/resource/qx/tool → lib/resource/qx/tool/compiler}/schema/qooxdoo-1-0-0.json +1 -1
  13. package/lib/resource/qx/tool/website/build/404.html +22 -22
  14. package/lib/resource/qx/tool/website/build/about.html +23 -23
  15. package/lib/resource/qx/tool/website/build/assets/common.js +30 -18
  16. package/lib/resource/qx/tool/website/build/assets/custom.css +290 -0
  17. package/lib/resource/qx/tool/website/build/assets/qxWeb.js +28 -0
  18. package/lib/resource/qx/tool/website/build/diagnostics/dependson.html +30 -30
  19. package/lib/resource/qx/tool/website/build/diagnostics/dependson.js +49 -40
  20. package/lib/resource/qx/tool/website/build/diagnostics/requiredby.html +20 -23
  21. package/lib/resource/qx/tool/website/build/diagnostics/requiredby.js +38 -31
  22. package/lib/resource/qx/tool/website/build/index.html +24 -24
  23. package/lib/resource/qx/tool/website/build/scripts/serve.js +63 -65
  24. package/lib/resource/qx/tool/website/partials/footer.html +8 -13
  25. package/lib/resource/qx/tool/website/partials/head.html +9 -7
  26. package/lib/resource/qx/tool/website/partials/header.html +3 -3
  27. package/lib/resource/qx/tool/website/src/assets/common.js +32 -0
  28. package/lib/resource/qx/tool/website/src/assets/custom.css +290 -0
  29. package/lib/resource/qx/tool/website/src/assets/qxWeb.js +28 -0
  30. package/lib/resource/qx/tool/website/src/diagnostics/dependson.js +49 -40
  31. package/lib/resource/qx/tool/website/src/diagnostics/requiredby.js +38 -31
  32. package/lib/resource/qx/tool/website/src/index.html +2 -2
  33. package/lib/resource/qx/tool/website/src/scripts/serve.js +63 -65
  34. package/package.json +20 -19
  35. package/source/boot/index.html +2 -2
  36. package/source/class/qx/Bootstrap.js +931 -705
  37. package/source/class/qx/Class.js +1476 -1451
  38. package/source/class/qx/Interface.js +40 -107
  39. package/source/class/qx/Mixin.js +58 -116
  40. package/source/class/qx/Promise.js +1 -0
  41. package/source/class/qx/Theme.js +1 -1
  42. package/source/class/qx/application/Routing.js +2 -0
  43. package/source/class/qx/bom/Font.js +3 -0
  44. package/source/class/qx/bom/client/Locale.js +5 -0
  45. package/source/class/qx/bom/request/Jsonp.js +5 -13
  46. package/source/class/qx/bom/request/Script.js +11 -35
  47. package/source/class/qx/bom/request/SimpleXhr.js +13 -41
  48. package/source/class/qx/bom/request/Xhr.js +19 -80
  49. package/source/class/qx/bom/storage/Memory.js +2 -0
  50. package/source/class/qx/bom/storage/UserData.js +2 -0
  51. package/source/class/qx/bom/storage/Web.js +2 -0
  52. package/source/class/qx/bom/webfonts/Validator.js +13 -5
  53. package/source/class/qx/core/Assert.js +14 -0
  54. package/source/class/qx/core/BaseInit.js +19 -20
  55. package/source/class/qx/core/Environment.js +23 -20
  56. package/source/class/qx/core/MEvent.js +1 -1
  57. package/source/class/qx/core/MObjectId.js +8 -6
  58. package/source/class/qx/core/MProperty.js +172 -136
  59. package/source/class/qx/core/Object.js +88 -102
  60. package/source/class/qx/core/check/AbstractCheck.js +111 -0
  61. package/source/class/qx/core/check/Any.js +63 -0
  62. package/source/class/qx/core/check/CheckFactory.js +151 -0
  63. package/source/class/qx/core/check/DynamicTypeCheck.js +90 -0
  64. package/source/class/qx/core/check/ICheck.js +75 -0
  65. package/source/class/qx/core/check/IsOneOfCheck.js +63 -0
  66. package/source/class/qx/core/check/JsDocCheck.js +71 -0
  67. package/source/class/qx/core/check/SimpleCheck.js +42 -0
  68. package/source/class/qx/core/check/standard/ArrayCheck.js +49 -0
  69. package/source/class/qx/core/check/standard/BooleanCheck.js +47 -0
  70. package/source/class/qx/core/check/standard/ClassCheck.js +33 -0
  71. package/source/class/qx/core/check/standard/ColorCheck.js +33 -0
  72. package/source/class/qx/core/check/standard/DateCheck.js +49 -0
  73. package/source/class/qx/core/check/standard/DecoratorCheck.js +33 -0
  74. package/source/class/qx/core/check/standard/DocumentCheck.js +40 -0
  75. package/source/class/qx/core/check/standard/ElementCheck.js +40 -0
  76. package/source/class/qx/core/check/standard/ErrorCheck.js +46 -0
  77. package/source/class/qx/core/check/standard/EventCheck.js +40 -0
  78. package/source/class/qx/core/check/standard/FontCheck.js +33 -0
  79. package/source/class/qx/core/check/standard/FunctionCheck.js +49 -0
  80. package/source/class/qx/core/check/standard/IntegerCheck.js +54 -0
  81. package/source/class/qx/core/check/standard/InterfaceCheck.js +33 -0
  82. package/source/class/qx/core/check/standard/MapCheck.js +33 -0
  83. package/source/class/qx/core/check/standard/MixinCheck.js +33 -0
  84. package/source/class/qx/core/check/standard/NodeCheck.js +40 -0
  85. package/source/class/qx/core/check/standard/NumberCheck.js +48 -0
  86. package/source/class/qx/core/check/standard/ObjectCheck.js +33 -0
  87. package/source/class/qx/core/check/standard/PositiveIntegerCheck.js +45 -0
  88. package/source/class/qx/core/check/standard/PositiveNumberCheck.js +45 -0
  89. package/source/class/qx/core/check/standard/PromiseCheck.js +33 -0
  90. package/source/class/qx/core/check/standard/RegExpCheck.js +46 -0
  91. package/source/class/qx/core/check/standard/StringCheck.js +43 -0
  92. package/source/class/qx/core/check/standard/ThemeCheck.js +33 -0
  93. package/source/class/qx/core/check/standard/WindowCheck.js +40 -0
  94. package/source/class/qx/core/property/ExplicitPropertyStorage.js +87 -0
  95. package/source/class/qx/core/property/GroupProperty.js +262 -0
  96. package/source/class/qx/core/property/IProperty.js +46 -0
  97. package/source/class/qx/core/property/IPropertyStorage.js +83 -0
  98. package/source/class/qx/core/property/ImmutableArrayStorage.js +38 -0
  99. package/source/class/qx/core/property/ImmutableDataArrayStorage.js +38 -0
  100. package/source/class/qx/core/property/ImmutableObjectStorage.js +39 -0
  101. package/source/class/qx/core/property/Property.js +1481 -0
  102. package/source/class/qx/core/property/PropertyStorageFactory.js +22 -0
  103. package/source/class/qx/core/property/SimplePropertyStorage.js +105 -0
  104. package/source/class/qx/data/Array.js +102 -57
  105. package/source/class/qx/data/MBinding.js +4 -29
  106. package/source/class/qx/data/SingleValueBinding.js +596 -1495
  107. package/source/class/qx/data/binding/AbstractSegment.js +197 -0
  108. package/source/class/qx/data/binding/ArrayIndexSegment.js +148 -0
  109. package/source/class/qx/data/binding/IInputReceiver.js +14 -0
  110. package/source/class/qx/data/binding/PropNameSegment.js +150 -0
  111. package/source/class/qx/data/controller/CheckedList.js +1 -1
  112. package/source/class/qx/data/controller/Form.js +78 -8
  113. package/source/class/qx/data/controller/Tree.js +27 -117
  114. package/source/class/qx/data/marshal/Json.js +46 -149
  115. package/source/class/qx/data/store/Json.js +0 -2
  116. package/source/class/qx/dev/Debug.js +1 -1
  117. package/source/class/qx/dev/LeakDetector.js +144 -0
  118. package/source/class/qx/dev/unit/AsyncWrapper.js +1 -0
  119. package/source/class/qx/dev/unit/MMock.js +7 -2
  120. package/source/class/qx/dev/unit/Sinon.js +0 -4
  121. package/source/class/qx/dev/unit/TestClass.js +2 -2
  122. package/source/class/qx/dev/unit/TestFunction.js +1 -0
  123. package/source/class/qx/dev/unit/TestLoaderBasic.js +1 -0
  124. package/source/class/qx/dev/unit/TestRunner.js +106 -0
  125. package/source/class/qx/event/IEventDispatcher.js +8 -4
  126. package/source/class/qx/event/Manager.js +4 -0
  127. package/source/class/qx/event/Messaging.js +2 -0
  128. package/source/class/qx/event/Pool.js +7 -0
  129. package/source/class/qx/event/Registration.js +33 -55
  130. package/source/class/qx/event/Timer.js +2 -0
  131. package/source/class/qx/event/Utils.js +25 -8
  132. package/source/class/qx/event/dispatch/AbstractBubbling.js +98 -194
  133. package/source/class/qx/event/dispatch/Direct.js +18 -13
  134. package/source/class/qx/event/handler/Appear.js +20 -24
  135. package/source/class/qx/event/handler/Application.js +4 -0
  136. package/source/class/qx/event/handler/DragDrop.js +182 -385
  137. package/source/class/qx/event/handler/Element.js +3 -0
  138. package/source/class/qx/event/handler/Focus.js +36 -30
  139. package/source/class/qx/event/handler/Input.js +5 -0
  140. package/source/class/qx/event/handler/Keyboard.js +107 -165
  141. package/source/class/qx/event/handler/Pointer.js +39 -68
  142. package/source/class/qx/event/handler/PointerCore.js +7 -25
  143. package/source/class/qx/event/handler/Window.js +5 -0
  144. package/source/class/qx/event/type/Event.js +12 -0
  145. package/source/class/qx/event/type/KeySequence.js +3 -0
  146. package/source/class/qx/event/type/Native.js +3 -0
  147. package/source/class/qx/html/Element.js +26 -91
  148. package/source/class/qx/io/jsonrpc/Client.js +1 -1
  149. package/source/class/qx/io/jsonrpc/protocol/Error.js +2 -2
  150. package/source/class/qx/io/jsonrpc/protocol/Parser.js +1 -0
  151. package/source/class/qx/io/jsonrpc/protocol/Result.js +2 -2
  152. package/source/class/qx/io/request/Xhr.js +3 -8
  153. package/source/class/qx/lang/normalize/Array.js +23 -1
  154. package/source/class/qx/locale/Date.js +520 -113
  155. package/source/class/qx/locale/LocalizedString.js +3 -0
  156. package/source/class/qx/locale/Manager.js +14 -3
  157. package/source/class/qx/locale/Number.js +60 -7
  158. package/source/class/qx/log/Logger.js +1 -1
  159. package/source/class/qx/module/Animation.js +2 -0
  160. package/source/class/qx/module/Attribute.js +2 -0
  161. package/source/class/qx/module/Css.js +7 -24
  162. package/source/class/qx/module/Event.js +2 -0
  163. package/source/class/qx/module/Manipulating.js +2 -0
  164. package/source/class/qx/module/Traversing.js +2 -0
  165. package/source/class/qx/test/Bootstrap.js +68 -53
  166. package/source/class/qx/test/Class.js +310 -2
  167. package/source/class/qx/test/Mixin.js +192 -42
  168. package/source/class/qx/test/Promise.js +129 -331
  169. package/source/class/qx/test/Theme.js +11 -0
  170. package/source/class/qx/test/bom/Font.js +2 -5
  171. package/source/class/qx/test/bom/Template.js +1 -1
  172. package/source/class/qx/test/compiler/ClassFile.js +14 -0
  173. package/source/class/qx/test/core/Assert.js +12 -0
  174. package/source/class/qx/test/core/Environment.js +17 -3
  175. package/source/class/qx/test/core/InheritanceDummy.js +10 -1
  176. package/source/class/qx/test/core/Object.js +51 -24
  177. package/source/class/qx/test/core/ObjectId.js +10 -1
  178. package/source/class/qx/test/core/Property.js +1338 -121
  179. package/source/class/qx/test/core/PropertyHelper.js +12 -0
  180. package/source/class/qx/test/core/Target.js +1 -0
  181. package/source/class/qx/test/core/Validation.js +2 -0
  182. package/source/class/qx/test/data/DataArray.js +218 -639
  183. package/source/class/qx/test/data/DataArrayWithChangeBubble.js +45 -215
  184. package/source/class/qx/test/data/MultiBinding.js +42 -0
  185. package/source/class/qx/test/data/async/__init__.js +4 -0
  186. package/source/class/qx/test/data/controller/Form.js +523 -14
  187. package/source/class/qx/test/data/controller/List.js +94 -426
  188. package/source/class/qx/test/data/controller/ListReverse.js +5 -20
  189. package/source/class/qx/test/data/controller/ListWithObjects.js +49 -225
  190. package/source/class/qx/test/data/controller/Object.js +54 -222
  191. package/source/class/qx/test/data/controller/Tree.js +195 -934
  192. package/source/class/qx/test/data/marshal/Json.js +74 -312
  193. package/source/class/qx/test/data/singlevalue/Array.js +55 -279
  194. package/source/class/qx/test/data/singlevalue/Async.js +173 -0
  195. package/source/class/qx/test/data/singlevalue/Deep.js +148 -327
  196. package/source/class/qx/test/data/singlevalue/Resolve.js +8 -28
  197. package/source/class/qx/test/data/singlevalue/Simple.js +124 -359
  198. package/source/class/qx/test/data/store/Json.js +86 -254
  199. package/source/class/qx/test/data/store/Jsonp.js +9 -29
  200. package/source/class/qx/test/data/store/Offline.js +2 -8
  201. package/source/class/qx/test/data/store/Rest.js +3 -3
  202. package/source/class/qx/test/dev/unit/Requirements.js +26 -10
  203. package/source/class/qx/test/event/GlobalError.js +2 -2
  204. package/source/class/qx/test/html/Iframe.js +1 -1
  205. package/source/class/qx/test/io/graphql/Client.js +2 -0
  206. package/source/class/qx/test/io/jsonrpc/Protocol.js +4 -2
  207. package/source/class/qx/test/io/request/MRequest.js +2 -8
  208. package/source/class/qx/test/io/request/Xhr.js +27 -117
  209. package/source/class/qx/test/lang/Function.js +6 -25
  210. package/source/class/qx/test/lang/Type.js +31 -13
  211. package/source/class/qx/test/locale/Date.js +173 -2
  212. package/source/class/qx/test/locale/Locale.js +23 -28
  213. package/source/class/qx/test/locale/Number.js +71 -0
  214. package/source/class/qx/test/log/Logger.js +7 -1
  215. package/source/class/qx/test/log/fixture/ClassA.js +2 -5
  216. package/source/class/qx/test/mobile/basic/Atom.js +3 -3
  217. package/source/class/qx/test/mobile/container/Scroll.js +4 -4
  218. package/source/class/qx/test/mobile/form/CheckBox.js +6 -12
  219. package/source/class/qx/test/performance/Property.js +5 -4
  220. package/source/class/qx/test/performance/widget/WidgetWithDecorator.js +2 -0
  221. package/source/class/qx/test/theme/Simple.js +34 -0
  222. package/source/class/qx/test/{MAppearance.js → theme/SimpleAppearance.js} +5 -4
  223. package/source/class/qx/test/{MDecoration.js → theme/SimpleDecoration.js} +6 -4
  224. package/source/class/qx/test/theme/manager/Meta.js +7 -5
  225. package/source/class/qx/test/tool/__init__.js +3 -0
  226. package/source/class/qx/test/tool/cli/AbstractValue.js +274 -0
  227. package/source/class/qx/test/tool/cli/Argument.js +384 -0
  228. package/source/class/qx/test/tool/cli/Command.js +387 -0
  229. package/source/class/qx/test/tool/cli/Flag.js +413 -0
  230. package/source/class/qx/test/tool/cli/__init__.js +3 -0
  231. package/source/class/qx/test/ui/LayoutTestCase.js +1 -14
  232. package/source/class/qx/test/ui/basic/Label.js +106 -0
  233. package/source/class/qx/test/ui/core/Blocker.js +125 -3
  234. package/source/class/qx/test/ui/form/Form.js +106 -0
  235. package/source/class/qx/test/ui/form/FormManager.js +6 -5
  236. package/source/class/qx/test/ui/form/SplitButton.js +1 -1
  237. package/source/class/qx/test/ui/toolbar/OverflowHandling.js +13 -14
  238. package/source/class/qx/test/ui/toolbar/ToolBar.js +16 -16
  239. package/source/class/qx/test/ui/tree/TreeFolder.js +5 -7
  240. package/source/class/qx/test/ui/tree/virtual/AbstractTreeTest.js +2 -0
  241. package/source/class/qx/test/ui/tree/virtual/Tree.js +36 -0
  242. package/source/class/qx/test/util/DateFormat.js +1 -1
  243. package/source/class/qx/test/util/PropertyUtil.js +0 -36
  244. package/source/class/qx/theme/classic/Appearance.js +1 -1
  245. package/source/class/qx/theme/indigo/ColorDark.js +2 -0
  246. package/source/class/qx/theme/manager/Font.js +6 -1
  247. package/source/class/qx/theme/manager/Meta.js +2 -1
  248. package/source/class/qx/theme/simple/Appearance.js +31 -95
  249. package/source/class/qx/theme/simple/Decoration.js +0 -1
  250. package/source/class/qx/theme/tangible/Appearance.js +1 -1
  251. package/source/class/qx/tool/cli/AbstractCliApp.js +72 -0
  252. package/source/class/qx/tool/cli/AbstractValue.js +186 -0
  253. package/source/class/qx/tool/cli/Argument.js +155 -0
  254. package/source/class/qx/tool/cli/Command.js +518 -0
  255. package/source/class/qx/tool/cli/Flag.js +202 -0
  256. package/source/class/qx/tool/cli/Parser.js +39 -0
  257. package/source/class/qx/tool/cli/__init__.js +26 -1
  258. package/source/class/qx/tool/compiler/Analyser.js +41 -13
  259. package/source/class/qx/tool/compiler/ClassFile.js +37 -9
  260. package/source/class/qx/tool/compiler/Console.js +2 -0
  261. package/source/class/qx/tool/compiler/MetaExtraction.js +53 -33
  262. package/source/class/qx/tool/compiler/app/Library.js +1 -1
  263. package/source/class/qx/tool/compiler/app/WebFont.js +2 -0
  264. package/source/class/qx/tool/compiler/cli/Application.js +58 -0
  265. package/source/class/qx/tool/{cli/commands → compiler/cli}/Command.js +99 -45
  266. package/source/class/qx/tool/{cli → compiler/cli}/ConfigDb.js +7 -7
  267. package/source/class/qx/tool/compiler/cli/ConfigLoader.js +272 -0
  268. package/source/class/qx/tool/{cli → compiler/cli}/LibraryApplication.js +3 -3
  269. package/source/class/qx/tool/compiler/cli/RootCommand.js +63 -0
  270. package/source/class/qx/tool/{cli → compiler/cli}/Watch.js +49 -24
  271. package/source/class/qx/tool/compiler/cli/__init__.js +3 -0
  272. package/source/class/qx/tool/{cli → compiler/cli}/api/AbstractApi.js +2 -11
  273. package/source/class/qx/tool/{cli → compiler/cli}/api/CompilerApi.js +11 -10
  274. package/source/class/qx/tool/{cli → compiler/cli}/api/LibraryApi.js +13 -4
  275. package/source/class/qx/tool/{cli → compiler/cli}/api/Test.js +1 -1
  276. package/source/class/qx/tool/compiler/cli/commands/Add.js +49 -0
  277. package/source/class/qx/tool/{cli → compiler/cli}/commands/Clean.js +12 -25
  278. package/source/class/qx/tool/{cli → compiler/cli}/commands/Compile.js +524 -615
  279. package/source/class/qx/tool/{cli → compiler/cli}/commands/Config.js +22 -20
  280. package/source/class/qx/tool/{cli → compiler/cli}/commands/Create.js +77 -54
  281. package/source/class/qx/tool/{cli → compiler/cli}/commands/Deploy.js +45 -60
  282. package/source/class/qx/tool/{cli → compiler/cli}/commands/Es6ify.js +57 -41
  283. package/source/class/qx/tool/{cli → compiler/cli}/commands/ExportGlyphs.js +26 -7
  284. package/source/class/qx/tool/compiler/cli/commands/Lint.js +420 -0
  285. package/source/class/qx/tool/{cli → compiler/cli}/commands/Migrate.js +40 -20
  286. package/source/class/qx/tool/{cli → compiler/cli}/commands/Package.js +20 -32
  287. package/source/class/qx/tool/compiler/cli/commands/Pkg.js +36 -0
  288. package/source/class/qx/tool/compiler/cli/commands/Prettier.js +278 -0
  289. package/source/class/qx/tool/{cli → compiler/cli}/commands/Run.js +43 -39
  290. package/source/class/qx/tool/{cli → compiler/cli}/commands/Serve.js +63 -61
  291. package/source/class/qx/tool/{cli → compiler/cli}/commands/Test.js +49 -52
  292. package/source/class/qx/tool/{cli → compiler/cli}/commands/Typescript.js +51 -30
  293. package/source/class/qx/tool/{cli → compiler/cli}/commands/add/Class.js +54 -31
  294. package/source/class/qx/tool/{cli → compiler/cli}/commands/add/Script.js +56 -32
  295. package/source/class/qx/tool/{cli → compiler/cli}/commands/config/Delete.js +19 -13
  296. package/source/class/qx/tool/{cli → compiler/cli}/commands/config/Get.js +19 -13
  297. package/source/class/qx/tool/{cli → compiler/cli}/commands/config/List.js +20 -20
  298. package/source/class/qx/tool/{cli → compiler/cli}/commands/config/Set.js +28 -20
  299. package/source/class/qx/tool/{cli → compiler/cli}/commands/package/Install.js +140 -75
  300. package/source/class/qx/tool/{cli → compiler/cli}/commands/package/List.js +119 -80
  301. package/source/class/qx/tool/{cli → compiler/cli}/commands/package/Publish.js +194 -178
  302. package/source/class/qx/tool/{cli → compiler/cli}/commands/package/Remove.js +18 -21
  303. package/source/class/qx/tool/{cli → compiler/cli}/commands/package/Update.js +90 -69
  304. package/source/class/qx/tool/{cli → compiler/cli}/commands/package/Upgrade.js +67 -54
  305. package/source/class/qx/tool/compiler/makers/AbstractAppMaker.js +2 -1
  306. package/source/class/qx/tool/compiler/resources/Manager.js +2 -0
  307. package/source/class/qx/tool/compiler/resources/ScssConverter.js +1 -1
  308. package/source/class/qx/tool/compiler/resources/ScssFile.js +1 -1
  309. package/source/class/qx/tool/compiler/targets/Target.js +5 -10
  310. package/source/class/qx/tool/compiler/targets/TypeScriptWriter.js +6 -2
  311. package/source/class/qx/tool/compiler/targets/meta/ApplicationMeta.js +2 -4
  312. package/source/class/qx/tool/compiler/targets/meta/BootJs.js +2 -0
  313. package/source/class/qx/tool/compiler/targets/meta/PackageJavascript.js +2 -0
  314. package/source/class/qx/tool/config/Abstract.js +5 -5
  315. package/source/class/qx/tool/config/Lockfile.js +1 -1
  316. package/source/class/qx/tool/migration/BaseMigration.js +9 -7
  317. package/source/class/qx/tool/migration/M6_0_0.js +3 -3
  318. package/source/class/qx/tool/migration/M8_0_0.js +958 -0
  319. package/source/class/qx/tool/utils/Debounce.js +0 -1
  320. package/source/class/qx/tool/utils/Http.js +109 -21
  321. package/source/class/qx/tool/utils/LogManager.js +7 -0
  322. package/source/class/qx/tool/utils/Promisify.js +12 -1
  323. package/source/class/qx/tool/utils/QooxdooVersions.js +193 -0
  324. package/source/class/qx/tool/utils/Utils.js +8 -5
  325. package/source/class/qx/tool/utils/Website.js +9 -222
  326. package/source/class/qx/tool/utils/Zip.js +47 -0
  327. package/source/class/qx/tool/utils/files/Utils.js +3 -11
  328. package/source/class/qx/tool/utils/json/Tokenizer.js +5 -0
  329. package/source/class/qx/ui/basic/Atom.js +8 -8
  330. package/source/class/qx/ui/core/Blocker.js +17 -4
  331. package/source/class/qx/ui/core/DragDropCursor.js +2 -1
  332. package/source/class/qx/ui/core/EventHandler.js +13 -21
  333. package/source/class/qx/ui/core/LayoutItem.js +8 -31
  334. package/source/class/qx/ui/core/MExecutable.js +7 -31
  335. package/source/class/qx/ui/core/MNativeOverflow.js +4 -2
  336. package/source/class/qx/ui/core/Widget.js +50 -165
  337. package/source/class/qx/ui/core/scroll/IScrollBar.js +9 -3
  338. package/source/class/qx/ui/core/scroll/ScrollBar.js +7 -1
  339. package/source/class/qx/ui/core/scroll/ScrollPane.js +12 -4
  340. package/source/class/qx/ui/embed/Html.js +6 -2
  341. package/source/class/qx/ui/form/AbstractField.js +4 -12
  342. package/source/class/qx/ui/form/Button.js +6 -4
  343. package/source/class/qx/ui/form/CheckedSelectBox.js +8 -8
  344. package/source/class/qx/ui/form/FileSelectorButton.js +1 -1
  345. package/source/class/qx/ui/form/Form.js +3 -0
  346. package/source/class/qx/ui/form/IListItem.js +3 -1
  347. package/source/class/qx/ui/form/IRadioItem.js +3 -1
  348. package/source/class/qx/ui/form/MForm.js +3 -1
  349. package/source/class/qx/ui/form/Slider.js +6 -2
  350. package/source/class/qx/ui/form/SplitButton.js +5 -5
  351. package/source/class/qx/ui/form/TextField.js +1 -2
  352. package/source/class/qx/ui/form/validation/Manager.js +6 -2
  353. package/source/class/qx/ui/menubar/Button.js +1 -1
  354. package/source/class/qx/ui/mobile/basic/Atom.js +5 -5
  355. package/source/class/qx/ui/mobile/dialog/Menu.js +9 -31
  356. package/source/class/qx/ui/mobile/dialog/Popup.js +13 -1
  357. package/source/class/qx/ui/table/pane/FocusIndicator.js +5 -2
  358. package/source/class/qx/ui/table/pane/Scroller.js +5 -20
  359. package/source/class/qx/ui/table/selection/Model.js +1 -0
  360. package/source/class/qx/ui/toolbar/Button.js +1 -1
  361. package/source/class/qx/ui/toolbar/CheckBox.js +1 -1
  362. package/source/class/qx/ui/toolbar/FileSelectorButton.js +1 -2
  363. package/source/class/qx/ui/toolbar/Part.js +2 -2
  364. package/source/class/qx/ui/toolbar/PartContainer.js +2 -2
  365. package/source/class/qx/ui/toolbar/ToolBar.js +24 -49
  366. package/source/class/qx/ui/tree/VirtualTree.js +6 -4
  367. package/source/class/qx/ui/tree/core/AbstractItem.js +10 -17
  368. package/source/class/qx/ui/tree/core/IVirtualTree.js +4 -2
  369. package/source/class/qx/ui/tree/provider/IVirtualTreeProvider.js +20 -10
  370. package/source/class/qx/ui/treevirtual/SimpleTreeDataModel.js +4 -1
  371. package/source/class/qx/ui/virtual/cell/Cell.js +20 -48
  372. package/source/class/qx/ui/virtual/cell/WidgetCell.js +2 -4
  373. package/source/class/qx/ui/virtual/core/Axis.js +4 -0
  374. package/source/class/qx/ui/virtual/core/ILayer.js +14 -10
  375. package/source/class/qx/ui/virtual/core/Scroller.js +4 -4
  376. package/source/class/qx/ui/virtual/layer/WidgetCell.js +4 -0
  377. package/source/class/qx/ui/virtual/selection/Abstract.js +3 -0
  378. package/source/class/qx/ui/virtual/selection/MModel.js +1 -1
  379. package/source/class/qx/ui/window/IDesktop.js +6 -2
  380. package/source/class/qx/ui/window/IWindowManager.js +10 -4
  381. package/source/class/qx/ui/window/MDesktop.js +2 -1
  382. package/source/class/qx/ui/window/Manager.js +1 -1
  383. package/source/class/qx/ui/window/Window.js +6 -4
  384. package/source/class/qx/util/OOUtil.js +8 -9
  385. package/source/class/qx/util/PropertyUtil.js +34 -154
  386. package/source/class/qx/util/ResponseParser.js +2 -0
  387. package/source/class/qx/util/Serializer.js +69 -114
  388. package/source/class/qx/util/format/DateFormat.js +3 -2
  389. package/source/global.d.ts +4 -0
  390. package/source/resource/qx/tool/bin/download-assets +0 -2
  391. package/source/resource/qx/tool/{cli → compiler/cli}/templates/loader/loader-node.tmpl.js +1 -0
  392. package/{lib/resource/qx/tool → source/resource/qx/tool/compiler}/cli/templates/template_vars.js +12 -9
  393. package/{lib/resource/qx/tool → source/resource/qx/tool/compiler}/schema/Manifest-1-0-0.json +2 -2
  394. package/source/resource/qx/tool/{schema → compiler/schema}/Manifest-2-0-0.json +2 -2
  395. package/source/resource/qx/tool/{schema → compiler/schema}/compile-1-0-0.json +15 -3
  396. package/{lib/resource/qx/tool → source/resource/qx/tool/compiler}/schema/qooxdoo-1-0-0.json +1 -1
  397. package/source/resource/qx/tool/website/build/404.html +22 -22
  398. package/source/resource/qx/tool/website/build/about.html +23 -23
  399. package/source/resource/qx/tool/website/build/assets/common.js +30 -18
  400. package/source/resource/qx/tool/website/build/assets/custom.css +290 -0
  401. package/source/resource/qx/tool/website/build/assets/qxWeb.js +28 -0
  402. package/source/resource/qx/tool/website/build/diagnostics/dependson.html +30 -30
  403. package/source/resource/qx/tool/website/build/diagnostics/dependson.js +49 -40
  404. package/source/resource/qx/tool/website/build/diagnostics/requiredby.html +20 -23
  405. package/source/resource/qx/tool/website/build/diagnostics/requiredby.js +38 -31
  406. package/source/resource/qx/tool/website/build/index.html +24 -24
  407. package/source/resource/qx/tool/website/build/scripts/serve.js +63 -65
  408. package/source/resource/qx/tool/website/partials/footer.html +8 -13
  409. package/source/resource/qx/tool/website/partials/head.html +9 -7
  410. package/source/resource/qx/tool/website/partials/header.html +3 -3
  411. package/source/resource/qx/tool/website/src/assets/common.js +32 -0
  412. package/source/resource/qx/tool/website/src/assets/custom.css +290 -0
  413. package/source/resource/qx/tool/website/src/assets/qxWeb.js +28 -0
  414. package/source/resource/qx/tool/website/src/diagnostics/dependson.js +49 -40
  415. package/source/resource/qx/tool/website/src/diagnostics/requiredby.js +38 -31
  416. package/source/resource/qx/tool/website/src/index.html +2 -2
  417. package/source/resource/qx/tool/website/src/scripts/serve.js +63 -65
  418. package/lib/resource/qx/tool/bin/build-devtools +0 -13
  419. package/lib/resource/qx/tool/bin/build-website +0 -15
  420. package/lib/resource/qx/tool/bin/download-assets +0 -23
  421. package/lib/resource/qx/tool/cli/templates/skeleton/mobile/source/theme/custom/css/custom.css.map +0 -1
  422. package/lib/resource/qx/tool/website/build/assets/bootstrap.css +0 -7
  423. package/lib/resource/qx/tool/website/build/assets/bootstrap.min.css +0 -7
  424. package/lib/resource/qx/tool/website/build/assets/bootstrap.min.css.map +0 -1
  425. package/lib/resource/qx/tool/website/build/assets/jquery.js +0 -5453
  426. package/lib/resource/qx/tool/website/build/qooxdoo.css +0 -21
  427. package/lib/resource/qx/tool/website/sass/qooxdoo.css +0 -3
  428. package/lib/resource/qx/tool/website/sass/qooxdoo.css.map +0 -1
  429. package/lib/resource/qx/tool/website/src/assets/bootstrap.css +0 -7
  430. package/lib/resource/qx/tool/website/src/assets/bootstrap.min.css +0 -7
  431. package/lib/resource/qx/tool/website/src/assets/bootstrap.min.css.map +0 -1
  432. package/lib/resource/qx/tool/website/src/assets/jquery.js +0 -5453
  433. package/source/class/qx/core/Property.js +0 -2100
  434. package/source/class/qx/tool/cli/Application.js +0 -47
  435. package/source/class/qx/tool/cli/Cli.js +0 -713
  436. package/source/class/qx/tool/cli/commands/Add.js +0 -46
  437. package/source/class/qx/tool/cli/commands/Lint.js +0 -255
  438. package/source/class/qx/tool/cli/commands/Pkg.js +0 -56
  439. package/source/class/qx/tool/cli/commands/package/Migrate.js +0 -37
  440. package/source/class/qx/tool/compiler/app/Cldr.js +0 -725
  441. package/source/resource/qx/tool/bin/build-devtools +0 -13
  442. package/source/resource/qx/tool/bin/build-website +0 -15
  443. package/source/resource/qx/tool/website/build/assets/bootstrap.css +0 -7
  444. package/source/resource/qx/tool/website/build/assets/bootstrap.min.css +0 -7
  445. package/source/resource/qx/tool/website/build/assets/bootstrap.min.css.map +0 -1
  446. package/source/resource/qx/tool/website/build/assets/jquery.js +0 -5453
  447. package/source/resource/qx/tool/website/build/qooxdoo.css +0 -21
  448. package/source/resource/qx/tool/website/sass/qooxdoo.scss +0 -31
  449. package/source/resource/qx/tool/website/src/assets/bootstrap.css +0 -7
  450. package/source/resource/qx/tool/website/src/assets/bootstrap.min.css +0 -7
  451. package/source/resource/qx/tool/website/src/assets/bootstrap.min.css.map +0 -1
  452. package/source/resource/qx/tool/website/src/assets/jquery.js +0 -5453
  453. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/TypeScriptWriter-base_declaration.d.ts +0 -0
  454. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/class/default.tmpl.js +0 -0
  455. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/class/header.tmpl.js +0 -0
  456. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/class/interface.tmpl.js +0 -0
  457. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/class/mixin.tmpl.js +0 -0
  458. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/class/singleton.tmpl.js +0 -0
  459. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/loader/loader-browser.tmpl.js +0 -0
  460. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/loader/loader-rhino.tmpl.js +0 -0
  461. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/.gitignore.tmpl +0 -0
  462. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/Manifest.tmpl.json +0 -0
  463. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/compile.tmpl.json +0 -0
  464. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/readme.tmpl.md +0 -0
  465. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/boot/index.tmpl.html +0 -0
  466. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/boot/nojs.tmpl.html +0 -0
  467. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/class/custom/Application.tmpl.js +0 -0
  468. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/class/custom/__init__.tmpl.js +0 -0
  469. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/class/custom/test/DemoTest.tmpl.js +0 -0
  470. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/class/custom/theme/Appearance.tmpl.js +0 -0
  471. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/class/custom/theme/Color.tmpl.js +0 -0
  472. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/class/custom/theme/Decoration.tmpl.js +0 -0
  473. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/class/custom/theme/Font.tmpl.js +0 -0
  474. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/class/custom/theme/Theme.tmpl.js +0 -0
  475. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/resource/custom/app.png +0 -0
  476. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/resource/custom/favicon.png +0 -0
  477. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/resource/custom/js_256x256.png +0 -0
  478. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/resource/custom/test.png +0 -0
  479. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/translation/readme.txt +0 -0
  480. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/.gitignore.tmpl +0 -0
  481. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/Manifest.tmpl.json +0 -0
  482. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/compile.tmpl.json +0 -0
  483. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/readme.tmpl.md +0 -0
  484. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/boot/index.tmpl.html +0 -0
  485. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/boot/nojs.tmpl.html +0 -0
  486. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/class/custom/Application.tmpl.js +0 -0
  487. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/class/custom/__init__.tmpl.js +0 -0
  488. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/class/custom/page/Login.tmpl.js +0 -0
  489. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/class/custom/page/Overview.tmpl.js +0 -0
  490. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/class/custom/page/__init__.tmpl.js +0 -0
  491. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/resource/custom/app.png +0 -0
  492. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/resource/custom/css/.gitignore.tmpl +0 -0
  493. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/resource/custom/favicon.png +0 -0
  494. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/resource/custom/js_256x256.png +0 -0
  495. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/theme/custom/css/custom.css +0 -0
  496. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/translation/readme.txt +0 -0
  497. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/.gitignore.tmpl +0 -0
  498. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/Manifest.tmpl.json +0 -0
  499. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/compile.tmpl.json +0 -0
  500. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/readme.tmpl.md +0 -0
  501. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/source/class/custom/Button.tmpl.js +0 -0
  502. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/source/class/custom/__init__.tmpl.js +0 -0
  503. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/source/class/custom/demo/Application.tmpl.js +0 -0
  504. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/source/class/custom/resource/custom/test.png +0 -0
  505. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/source/class/custom/test/DemoTest.tmpl.js +0 -0
  506. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/source/class/custom/theme/Appearance.tmpl.js +0 -0
  507. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/source/class/custom/theme/Color.tmpl.js +0 -0
  508. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/source/class/custom/theme/Decoration.tmpl.js +0 -0
  509. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/source/class/custom/theme/Font.tmpl.js +0 -0
  510. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/source/class/custom/theme/Theme.tmpl.js +0 -0
  511. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/source/resource/custom/test.png +0 -0
  512. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/source/translation/readme.txt +0 -0
  513. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/server/.gitignore.tmpl +0 -0
  514. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/server/Manifest.tmpl.json +0 -0
  515. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/server/compile.tmpl.json +0 -0
  516. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/server/readme.tmpl.txt +0 -0
  517. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/server/source/class/custom/Application.tmpl.js +0 -0
  518. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/server/source/class/custom/__init__.tmpl.js +0 -0
  519. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/server/source/class/custom/test/DemoTest.tmpl.js +0 -0
  520. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/server/source/resource/custom/.gitignore.tmpl +0 -0
  521. /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/server/source/translation/readme.txt +0 -0
  522. /package/lib/resource/qx/tool/{loadsass.js → compiler/loadsass.js} +0 -0
  523. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/TypeScriptWriter-base_declaration.d.ts +0 -0
  524. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/class/default.tmpl.js +0 -0
  525. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/class/header.tmpl.js +0 -0
  526. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/class/interface.tmpl.js +0 -0
  527. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/class/mixin.tmpl.js +0 -0
  528. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/class/singleton.tmpl.js +0 -0
  529. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/loader/loader-browser.tmpl.js +0 -0
  530. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/loader/loader-rhino.tmpl.js +0 -0
  531. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/.gitignore.tmpl +0 -0
  532. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/Manifest.tmpl.json +0 -0
  533. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/compile.tmpl.json +0 -0
  534. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/readme.tmpl.md +0 -0
  535. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/boot/index.tmpl.html +0 -0
  536. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/boot/nojs.tmpl.html +0 -0
  537. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/class/custom/Application.tmpl.js +0 -0
  538. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/class/custom/__init__.tmpl.js +0 -0
  539. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/class/custom/test/DemoTest.tmpl.js +0 -0
  540. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/class/custom/theme/Appearance.tmpl.js +0 -0
  541. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/class/custom/theme/Color.tmpl.js +0 -0
  542. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/class/custom/theme/Decoration.tmpl.js +0 -0
  543. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/class/custom/theme/Font.tmpl.js +0 -0
  544. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/class/custom/theme/Theme.tmpl.js +0 -0
  545. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/resource/custom/app.png +0 -0
  546. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/resource/custom/favicon.png +0 -0
  547. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/resource/custom/js_256x256.png +0 -0
  548. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/resource/custom/test.png +0 -0
  549. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/translation/readme.txt +0 -0
  550. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/.gitignore.tmpl +0 -0
  551. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/Manifest.tmpl.json +0 -0
  552. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/compile.tmpl.json +0 -0
  553. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/readme.tmpl.md +0 -0
  554. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/boot/index.tmpl.html +0 -0
  555. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/boot/nojs.tmpl.html +0 -0
  556. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/class/custom/Application.tmpl.js +0 -0
  557. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/class/custom/__init__.tmpl.js +0 -0
  558. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/class/custom/page/Login.tmpl.js +0 -0
  559. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/class/custom/page/Overview.tmpl.js +0 -0
  560. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/class/custom/page/__init__.tmpl.js +0 -0
  561. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/resource/custom/app.png +0 -0
  562. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/resource/custom/css/.gitignore.tmpl +0 -0
  563. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/resource/custom/favicon.png +0 -0
  564. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/resource/custom/js_256x256.png +0 -0
  565. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/theme/custom/scss/_styles.scss +0 -0
  566. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/theme/custom/scss/custom.scss +0 -0
  567. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/translation/readme.txt +0 -0
  568. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/.gitignore.tmpl +0 -0
  569. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/Manifest.tmpl.json +0 -0
  570. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/compile.tmpl.json +0 -0
  571. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/readme.tmpl.md +0 -0
  572. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/source/class/custom/Button.tmpl.js +0 -0
  573. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/source/class/custom/__init__.tmpl.js +0 -0
  574. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/source/class/custom/demo/Application.tmpl.js +0 -0
  575. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/source/class/custom/resource/custom/test.png +0 -0
  576. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/source/class/custom/test/DemoTest.tmpl.js +0 -0
  577. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/source/class/custom/theme/Appearance.tmpl.js +0 -0
  578. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/source/class/custom/theme/Color.tmpl.js +0 -0
  579. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/source/class/custom/theme/Decoration.tmpl.js +0 -0
  580. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/source/class/custom/theme/Font.tmpl.js +0 -0
  581. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/source/class/custom/theme/Theme.tmpl.js +0 -0
  582. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/source/resource/custom/test.png +0 -0
  583. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/source/translation/readme.txt +0 -0
  584. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/server/.gitignore.tmpl +0 -0
  585. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/server/Manifest.tmpl.json +0 -0
  586. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/server/compile.tmpl.json +0 -0
  587. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/server/readme.tmpl.txt +0 -0
  588. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/server/source/class/custom/Application.tmpl.js +0 -0
  589. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/server/source/class/custom/__init__.tmpl.js +0 -0
  590. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/server/source/class/custom/test/DemoTest.tmpl.js +0 -0
  591. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/server/source/resource/custom/.gitignore.tmpl +0 -0
  592. /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/server/source/translation/readme.txt +0 -0
  593. /package/source/resource/qx/tool/{loadsass.js → compiler/loadsass.js} +0 -0
@@ -30,8 +30,10 @@ qx.Interface.define("qx.ui.window.IWindowManager", {
30
30
  * @param desktop {qx.ui.window.IDesktop|null} The connected desktop or null
31
31
  */
32
32
  setDesktop(desktop) {
33
- if (desktop !== null) {
34
- this.assertInterface(desktop, qx.ui.window.IDesktop);
33
+ if (qx.core.Environment.get("qx.debug")) {
34
+ if (desktop !== null) {
35
+ this.assertInterface(desktop, qx.ui.window.IDesktop);
36
+ }
35
37
  }
36
38
  },
37
39
 
@@ -54,7 +56,9 @@ qx.Interface.define("qx.ui.window.IWindowManager", {
54
56
  * @param win {qx.ui.window.Window} window to bring to front
55
57
  */
56
58
  bringToFront(win) {
57
- this.assertInstance(win, qx.ui.window.Window);
59
+ if (qx.core.Environment.get("qx.debug")) {
60
+ this.assertInstance(win, qx.ui.window.Window);
61
+ }
58
62
  },
59
63
 
60
64
  /**
@@ -63,7 +67,9 @@ qx.Interface.define("qx.ui.window.IWindowManager", {
63
67
  * @param win {qx.ui.window.Window} window to sent to back
64
68
  */
65
69
  sendToBack(win) {
66
- this.assertInstance(win, qx.ui.window.Window);
70
+ if (qx.core.Environment.get("qx.debug")) {
71
+ this.assertInstance(win, qx.ui.window.Window);
72
+ }
67
73
  }
68
74
  }
69
75
  });
@@ -38,7 +38,8 @@ qx.Mixin.define("qx.ui.window.MDesktop", {
38
38
  apply: "_applyActiveWindow",
39
39
  event: "changeActiveWindow",
40
40
  init: null,
41
- nullable: true
41
+ nullable: true,
42
+ autoApply: false
42
43
  }
43
44
  },
44
45
 
@@ -81,7 +81,7 @@ qx.Class.define("qx.ui.window.Manager", {
81
81
  * {@link qx.ui.core.queue.Widget widget queue}.
82
82
  */
83
83
  syncWidget() {
84
- if (this.isDisposed()){
84
+ if (this.isDisposed()) {
85
85
  return;
86
86
  }
87
87
  this.__desktop.forceUnblock();
@@ -641,10 +641,12 @@ qx.Class.define("qx.ui.window.Window", {
641
641
  return;
642
642
  }
643
643
 
644
- if (! this.fireNonBubblingEvent(
645
- "beforeClose",
646
- qx.event.type.Event,
647
- [ false, true ])) {
644
+ if (
645
+ !this.fireNonBubblingEvent("beforeClose", qx.event.type.Event, [
646
+ false,
647
+ true
648
+ ])
649
+ ) {
648
650
  // preventDefault() was called
649
651
  return;
650
652
  }
@@ -41,15 +41,14 @@ qx.Bootstrap.define("qx.util.OOUtil", {
41
41
  * @return {Map|null} whether the object support the given event.
42
42
  */
43
43
  getPropertyDefinition(clazz, name) {
44
- while (clazz) {
45
- if (clazz.$$properties && clazz.$$properties[name]) {
46
- return clazz.$$properties[name];
47
- }
48
-
49
- clazz = clazz.superclass;
44
+ let property = clazz.prototype.$$allProperties?.[name];
45
+ if (!property) {
46
+ return null;
50
47
  }
51
-
52
- return null;
48
+ while (property.getSuperClass()) {
49
+ property = qx.Class.getByProperty(property.getSuperClass(), name);
50
+ }
51
+ return property.getDefinition();
53
52
  },
54
53
 
55
54
  /**
@@ -72,7 +71,7 @@ qx.Bootstrap.define("qx.util.OOUtil", {
72
71
  * @return {String|null} Event type of the given event.
73
72
  */
74
73
  getEventType(clazz, name) {
75
- var clazz = clazz.constructor;
74
+ clazz = clazz.constructor;
76
75
 
77
76
  while (clazz.superclass) {
78
77
  if (clazz.$$events && clazz.$$events[name] !== undefined) {
@@ -21,185 +21,65 @@
21
21
  *
22
22
  * This class is rather to be used internally. For all regular usage of the
23
23
  * property system the default API should be sufficient.
24
+ *
25
+ * Prior to v8, this class included methods to get/set the user, theme, and init values
26
+ * of properties independently - this methods circumvented the normal operation of the
27
+ * property mechanism. It could be argued that the `get` methods are alloweed, and
28
+ * in some cases can be replicated via the property system, but their meaning was different,
29
+ * ie even `getUserValue` would not return the value of the property, but the value set
30
+ * by a user and not overridden by a theme. For this reason, the `get` methods are not
31
+ * truely compatible and anyone using those methods should think again about exactly what
32
+ * they are trying to achieve, and probably revise their process.
33
+ *
34
+ * As it stands, any use of this class needs to be reviewed from v8 onwards because the
35
+ * `getProperties`/`getAllProperties` methods return instances of `qx.core.property.Property`
36
+ * and not the old POJO.
24
37
  */
25
38
  qx.Class.define("qx.util.PropertyUtil", {
26
39
  statics: {
27
40
  /**
28
41
  * Get the property map of the given class
29
42
  *
30
- * @param clazz {Class} a qooxdoo class
31
- * @return {Map} A properties map as defined in {@link qx.Class#define}
43
+ * @param clazz {qx.Class|qx.core.Object} a qooxdoo class
44
+ * @return {Object<String,qx.core.property.Property>} A properties map as defined in {@link qx.Class#define}
32
45
  * including the properties of included mixins and not including refined
33
46
  * properties.
34
47
  */
35
48
  getProperties(clazz) {
36
- return clazz.$$properties;
49
+ if (clazz instanceof qx.core.Object) {
50
+ clazz = clazz.constructor;
51
+ }
52
+ return clazz.prototype.$$properties;
37
53
  },
38
54
 
39
55
  /**
40
56
  * Get the property map of the given class including the properties of all
41
- * superclasses!
57
+ * superclasses
42
58
  *
43
- * @param clazz {Class} a qooxdoo class
44
- * @return {Map} The properties map as defined in {@link qx.Class#define}
59
+ * @param clazz {qx.Class|qx.core.Object} a qooxdoo class
60
+ * @return {Object<String,qx.core.property.Property>} The properties map as defined in {@link qx.Class#define}
45
61
  * including the properties of included mixins of the current class and
46
62
  * all superclasses.
47
63
  */
48
64
  getAllProperties(clazz) {
49
- var properties = {};
50
- var superclass = clazz;
51
- // go threw the class hierarchy
52
- while (superclass != qx.core.Object) {
53
- var currentProperties = this.getProperties(superclass);
54
- for (var property in currentProperties) {
55
- properties[property] = currentProperties[property];
56
- }
57
- superclass = superclass.superclass;
65
+ if (clazz instanceof qx.core.Object) {
66
+ clazz = clazz.constructor;
58
67
  }
59
- return properties;
60
- },
61
-
62
- /*
63
- -------------------------------------------------------------------------
64
- USER VALUES
65
- -------------------------------------------------------------------------
66
- */
67
-
68
- /**
69
- * Returns the user value of the given property
70
- *
71
- * @param object {Object} The object to access
72
- * @param propertyName {String} The name of the property
73
- * @return {var} The user value
74
- */
75
- getUserValue(object, propertyName) {
76
- return object["$$user_" + propertyName];
77
- },
78
-
79
- /**
80
- * Sets the user value of the given property
81
- *
82
- * @param object {Object} The object to access
83
- * @param propertyName {String} The name of the property
84
- * @param value {var} The value to set
85
- */
86
- setUserValue(object, propertyName, value) {
87
- object["$$user_" + propertyName] = value;
88
- },
89
-
90
- /**
91
- * Deletes the user value of the given property
92
- *
93
- * @param object {Object} The object to access
94
- * @param propertyName {String} The name of the property
95
- */
96
- deleteUserValue(object, propertyName) {
97
- delete object["$$user_" + propertyName];
98
- },
99
-
100
- /*
101
- -------------------------------------------------------------------------
102
- INIT VALUES
103
- -------------------------------------------------------------------------
104
- */
105
-
106
- /**
107
- * Returns the init value of the given property
108
- *
109
- * @param object {Object} The object to access
110
- * @param propertyName {String} The name of the property
111
- * @return {var} The init value
112
- */
113
- getInitValue(object, propertyName) {
114
- return object["$$init_" + propertyName];
115
- },
116
-
117
- /**
118
- * Sets the init value of the given property
119
- *
120
- * @param object {Object} The object to access
121
- * @param propertyName {String} The name of the property
122
- * @param value {var} The value to set
123
- */
124
- setInitValue(object, propertyName, value) {
125
- object["$$init_" + propertyName] = value;
126
- },
127
-
128
- /**
129
- * Deletes the init value of the given property
130
- *
131
- * @param object {Object} The object to access
132
- * @param propertyName {String} The name of the property
133
- */
134
- deleteInitValue(object, propertyName) {
135
- delete object["$$init_" + propertyName];
68
+ return clazz.prototype.$$allProperties;
136
69
  },
137
70
 
138
- /*
139
- -------------------------------------------------------------------------
140
- THEME VALUES
141
- -------------------------------------------------------------------------
142
- */
143
-
144
71
  /**
145
- * Returns the theme value of the given property
72
+ * Returns the property object for a givemn property
146
73
  *
147
- * @param object {Object} The object to access
148
- * @param propertyName {String} The name of the property
149
- * @return {var} The theme value
74
+ * @param {qx.Class|qx.core.Object} clazz
75
+ * @param {String} propertyName
76
+ * @returns {qx.core.property.Property}
150
77
  */
151
- getThemeValue(object, propertyName) {
152
- return object["$$theme_" + propertyName];
153
- },
154
-
155
- /**
156
- * Sets the theme value of the given property
157
- *
158
- * @param object {Object} The object to access
159
- * @param propertyName {String} The name of the property
160
- * @param value {var} The value to set
161
- */
162
- setThemeValue(object, propertyName, value) {
163
- object["$$theme_" + propertyName] = value;
164
- },
165
-
166
- /**
167
- * Deletes the theme value of the given property
168
- *
169
- * @param object {Object} The object to access
170
- * @param propertyName {String} The name of the property
171
- */
172
- deleteThemeValue(object, propertyName) {
173
- delete object["$$theme_" + propertyName];
174
- },
175
-
176
- /*
177
- -------------------------------------------------------------------------
178
- THEMED PROPERTY
179
- -------------------------------------------------------------------------
180
- */
181
-
182
- /**
183
- * Sets a themed property
184
- *
185
- * @param object {Object} The object to access
186
- * @param propertyName {String} The name of the property
187
- * @param value {var} The value to set
188
- */
189
- setThemed(object, propertyName, value) {
190
- var styler = qx.core.Property.$$method.setThemed;
191
- object[styler[propertyName]](value);
192
- },
193
-
194
- /**
195
- * Resets a themed property
196
- *
197
- * @param object {Object} The object to access
198
- * @param propertyName {String} The name of the property
199
- */
200
- resetThemed(object, propertyName) {
201
- var unstyler = qx.core.Property.$$method.resetThemed;
202
- object[unstyler[propertyName]]();
78
+ getProperty(clazz, propertyName) {
79
+ if (clazz instanceof qx.core.Object) {
80
+ clazz = clazz.constructor;
81
+ }
82
+ return clazz.prototype.$$allProperties[propertyName] || null;
203
83
  }
204
84
  }
205
85
  });
@@ -24,6 +24,8 @@
24
24
  * @require(qx.util.ResponseParser#parse)
25
25
  */
26
26
  qx.Bootstrap.define("qx.util.ResponseParser", {
27
+ extend: qx.core.Object,
28
+
27
29
  /**
28
30
  * @param parser {String|Function} See {@link #setParser}.
29
31
  */
@@ -24,6 +24,14 @@
24
24
  */
25
25
  qx.Class.define("qx.util.Serializer", {
26
26
  statics: {
27
+ /**
28
+ * These properties are ignored when serializing qooxdoo objects
29
+ * because they are qooxdoo metadata.
30
+ */
31
+ __IGNORE_PROPERTIES: {
32
+ qxObjectId: true,
33
+ qxOwner: true
34
+ },
27
35
  /**
28
36
  * Serializes the properties of the given qooxdoo object. To get the
29
37
  * serialization working, every property needs to have a string
@@ -42,37 +50,27 @@ qx.Class.define("qx.util.Serializer", {
42
50
  */
43
51
  toUriParameter(object, qxSerializer, dateFormat) {
44
52
  var result = "";
45
- var properties = qx.util.PropertyUtil.getAllProperties(
46
- object.constructor
47
- );
53
+ var properties = qx.util.PropertyUtil.getAllProperties(object.constructor);
48
54
 
49
55
  for (var name in properties) {
56
+ let property = properties[name];
57
+
50
58
  // ignore property groups
51
- if (properties[name].group != undefined) {
59
+ if (property instanceof qx.core.property.GroupProperty || qx.util.Serializer.__IGNORE_PROPERTIES[name]) {
52
60
  continue;
53
61
  }
54
- var value = object["get" + qx.lang.String.firstUp(name)]();
62
+ var value = object[name];
55
63
 
56
64
  // handle arrays
57
65
  if (qx.lang.Type.isArray(value)) {
58
- var isdataArray =
59
- qx.data &&
60
- qx.data.IListData &&
61
- qx.Class.hasInterface(
62
- value && value.constructor,
63
- qx.data.IListData
64
- );
66
+ var isdataArray = qx.data && qx.data.IListData && qx.Class.hasInterface(value && value.constructor, qx.data.IListData);
65
67
 
66
68
  for (var i = 0; i < value.length; i++) {
67
69
  var valueAtI = isdataArray ? value.getItem(i) : value[i];
68
70
  result += this.__toUriParameter(name, valueAtI, qxSerializer);
69
71
  }
70
72
  } else if (qx.lang.Type.isDate(value) && dateFormat != null) {
71
- result += this.__toUriParameter(
72
- name,
73
- dateFormat.format(value),
74
- qxSerializer
75
- );
73
+ result += this.__toUriParameter(name, dateFormat.format(value), qxSerializer);
76
74
  } else {
77
75
  result += this.__toUriParameter(name, value, qxSerializer);
78
76
  }
@@ -90,12 +88,9 @@ qx.Class.define("qx.util.Serializer", {
90
88
  * @return {String} The serialized name value pair.
91
89
  */
92
90
  __toUriParameter(name, value, qxSerializer) {
93
- if (value && value.$$type == "Class") {
94
- value = value.classname;
95
- }
96
-
97
- if (value && (value.$$type == "Interface" || value.$$type == "Mixin")) {
98
- value = value.name;
91
+ const Serializer = qx.util.Serializer;
92
+ if (value && Serializer.__isClassy(value)) {
93
+ value = Serializer.__getNameOfClassy(value);
99
94
  }
100
95
 
101
96
  if (value instanceof qx.core.Object && qxSerializer != null) {
@@ -129,6 +124,7 @@ qx.Class.define("qx.util.Serializer", {
129
124
  * type will vary.
130
125
  */
131
126
  toNativeObject(object, qxSerializer, dateFormat) {
127
+ const Serializer = qx.util.Serializer;
132
128
  var result;
133
129
 
134
130
  // null or undefined
@@ -137,20 +133,10 @@ qx.Class.define("qx.util.Serializer", {
137
133
  }
138
134
 
139
135
  // data array
140
- if (
141
- qx.data &&
142
- qx.data.IListData &&
143
- qx.Class.hasInterface(object.constructor, qx.data.IListData)
144
- ) {
136
+ if (qx.data && qx.data.IListData && qx.Class.hasInterface(object.constructor, qx.data.IListData)) {
145
137
  result = [];
146
138
  for (var i = 0; i < object.getLength(); i++) {
147
- result.push(
148
- qx.util.Serializer.toNativeObject(
149
- object.getItem(i),
150
- qxSerializer,
151
- dateFormat
152
- )
153
- );
139
+ result.push(qx.util.Serializer.toNativeObject(object.getItem(i), qxSerializer, dateFormat));
154
140
  }
155
141
 
156
142
  return result;
@@ -160,26 +146,14 @@ qx.Class.define("qx.util.Serializer", {
160
146
  if (qx.lang.Type.isArray(object)) {
161
147
  result = [];
162
148
  for (var i = 0; i < object.length; i++) {
163
- result.push(
164
- qx.util.Serializer.toNativeObject(
165
- object[i],
166
- qxSerializer,
167
- dateFormat
168
- )
169
- );
149
+ result.push(qx.util.Serializer.toNativeObject(object[i], qxSerializer, dateFormat));
170
150
  }
171
151
 
172
152
  return result;
173
153
  }
174
154
 
175
- // return names for qooxdoo classes
176
- if (object.$$type == "Class") {
177
- return object.classname;
178
- }
179
-
180
- // return names for qooxdoo interfaces and mixins
181
- if (object.$$type == "Interface" || object.$$type == "Mixin") {
182
- return object.name;
155
+ if (Serializer.__isClassy(object)) {
156
+ return Serializer.__getNameOfClassy(object);
183
157
  }
184
158
 
185
159
  // qooxdoo object
@@ -197,22 +171,16 @@ qx.Class.define("qx.util.Serializer", {
197
171
 
198
172
  result = {};
199
173
 
200
- var properties = qx.util.PropertyUtil.getAllProperties(
201
- object.constructor
202
- );
174
+ var properties = qx.util.PropertyUtil.getAllProperties(object.constructor);
203
175
 
204
176
  for (var name in properties) {
205
177
  // ignore property groups
206
- if (properties[name].group != undefined) {
178
+ if (properties[name] instanceof qx.core.property.GroupProperty || Serializer.__IGNORE_PROPERTIES[name]) {
207
179
  continue;
208
180
  }
209
181
 
210
- var value = object["get" + qx.lang.String.firstUp(name)]();
211
- result[name] = qx.util.Serializer.toNativeObject(
212
- value,
213
- qxSerializer,
214
- dateFormat
215
- );
182
+ var value = object[name];
183
+ result[name] = qx.util.Serializer.toNativeObject(value, qxSerializer, dateFormat);
216
184
  }
217
185
 
218
186
  return result;
@@ -224,11 +192,7 @@ qx.Class.define("qx.util.Serializer", {
224
192
  }
225
193
 
226
194
  // localized strings
227
- if (
228
- qx.locale &&
229
- qx.locale.LocalizedString &&
230
- object instanceof qx.locale.LocalizedString
231
- ) {
195
+ if (qx.locale && qx.locale.LocalizedString && object instanceof qx.locale.LocalizedString) {
232
196
  return object.toString();
233
197
  }
234
198
 
@@ -237,11 +201,7 @@ qx.Class.define("qx.util.Serializer", {
237
201
  result = {};
238
202
 
239
203
  for (var key in object) {
240
- result[key] = qx.util.Serializer.toNativeObject(
241
- object[key],
242
- qxSerializer,
243
- dateFormat
244
- );
204
+ result[key] = qx.util.Serializer.toNativeObject(object[key], qxSerializer, dateFormat);
245
205
  }
246
206
 
247
207
  return result;
@@ -265,6 +225,7 @@ qx.Class.define("qx.util.Serializer", {
265
225
  * @return {String} The serialized object.
266
226
  */
267
227
  toJson(object, qxSerializer, dateFormat) {
228
+ const Serializer = qx.util.Serializer;
268
229
  var result = "";
269
230
 
270
231
  // null or undefined
@@ -273,19 +234,10 @@ qx.Class.define("qx.util.Serializer", {
273
234
  }
274
235
 
275
236
  // data array
276
- if (
277
- qx.data &&
278
- qx.data.IListData &&
279
- qx.Class.hasInterface(object.constructor, qx.data.IListData)
280
- ) {
237
+ if (qx.data && qx.data.IListData && qx.Class.hasInterface(object.constructor, qx.data.IListData)) {
281
238
  result += "[";
282
239
  for (var i = 0; i < object.getLength(); i++) {
283
- result +=
284
- qx.util.Serializer.toJson(
285
- object.getItem(i),
286
- qxSerializer,
287
- dateFormat
288
- ) + ",";
240
+ result += qx.util.Serializer.toJson(object.getItem(i), qxSerializer, dateFormat) + ",";
289
241
  }
290
242
  if (result != "[") {
291
243
  result = result.substring(0, result.length - 1);
@@ -297,9 +249,7 @@ qx.Class.define("qx.util.Serializer", {
297
249
  if (qx.lang.Type.isArray(object)) {
298
250
  result += "[";
299
251
  for (var i = 0; i < object.length; i++) {
300
- result +=
301
- qx.util.Serializer.toJson(object[i], qxSerializer, dateFormat) +
302
- ",";
252
+ result += qx.util.Serializer.toJson(object[i], qxSerializer, dateFormat) + ",";
303
253
  }
304
254
  if (result != "[") {
305
255
  result = result.substring(0, result.length - 1);
@@ -307,14 +257,8 @@ qx.Class.define("qx.util.Serializer", {
307
257
  return result + "]";
308
258
  }
309
259
 
310
- // return names for qooxdoo classes
311
- if (object.$$type == "Class") {
312
- return '"' + object.classname + '"';
313
- }
314
-
315
- // return names for qooxdoo interfaces and mixins
316
- if (object.$$type == "Interface" || object.$$type == "Mixin") {
317
- return '"' + object.name + '"';
260
+ if (Serializer.__isClassy(object)) {
261
+ return `"${Serializer.__getNameOfClassy(object)}"`;
318
262
  }
319
263
 
320
264
  // qooxdoo object
@@ -328,22 +272,15 @@ qx.Class.define("qx.util.Serializer", {
328
272
  // continue otherwise
329
273
  }
330
274
  result += "{";
331
- var properties = qx.util.PropertyUtil.getAllProperties(
332
- object.constructor
333
- );
275
+ var properties = qx.util.PropertyUtil.getAllProperties(object.constructor);
334
276
 
335
277
  for (var name in properties) {
336
278
  // ignore property groups
337
- if (properties[name].group != undefined) {
279
+ if (properties[name] instanceof qx.core.property.GroupProperty || Serializer.__IGNORE_PROPERTIES[name]) {
338
280
  continue;
339
281
  }
340
- var value = object["get" + qx.lang.String.firstUp(name)]();
341
- result +=
342
- '"' +
343
- name +
344
- '":' +
345
- qx.util.Serializer.toJson(value, qxSerializer, dateFormat) +
346
- ",";
282
+ var value = object[name];
283
+ result += '"' + name + '":' + qx.util.Serializer.toJson(value, qxSerializer, dateFormat) + ",";
347
284
  }
348
285
  if (result != "{") {
349
286
  result = result.substring(0, result.length - 1);
@@ -352,11 +289,7 @@ qx.Class.define("qx.util.Serializer", {
352
289
  }
353
290
 
354
291
  // localized strings
355
- if (
356
- qx.locale &&
357
- qx.locale.LocalizedString &&
358
- object instanceof qx.locale.LocalizedString
359
- ) {
292
+ if (qx.locale && qx.locale.LocalizedString && object instanceof qx.locale.LocalizedString) {
360
293
  object = object.toString();
361
294
  // no return here because we want to have the string checks as well!
362
295
  }
@@ -370,12 +303,7 @@ qx.Class.define("qx.util.Serializer", {
370
303
  if (qx.lang.Type.isObject(object)) {
371
304
  result += "{";
372
305
  for (var key in object) {
373
- result +=
374
- '"' +
375
- key +
376
- '":' +
377
- qx.util.Serializer.toJson(object[key], qxSerializer, dateFormat) +
378
- ",";
306
+ result += '"' + key + '":' + qx.util.Serializer.toJson(object[key], qxSerializer, dateFormat) + ",";
379
307
  }
380
308
  if (result != "{") {
381
309
  result = result.substring(0, result.length - 1);
@@ -404,6 +332,33 @@ qx.Class.define("qx.util.Serializer", {
404
332
 
405
333
  // all other stuff
406
334
  return object + "";
335
+ },
336
+
337
+ /**
338
+ * Checks whether object is classy i.e. a class, interface, or mixin.
339
+ * @param {Object} object Any object
340
+ * @returns {boolean}
341
+ */
342
+ __isClassy(object) {
343
+ return ["Class", "Interface", "Mixin"].includes(object.$$type);
344
+ },
345
+
346
+ /**
347
+ *
348
+ * @param {Object} object Qooxdoo classy object i.e. class or interface or mixin
349
+ * @returns {string} The name of the classy object, that was passed into the define call
350
+ */
351
+ __getNameOfClassy(object) {
352
+ switch (object.$$type) {
353
+ case "Class":
354
+ return object.classname;
355
+ case "Interface":
356
+ return object.name;
357
+ case "Mixin":
358
+ return object.mixinName;
359
+ default:
360
+ throw new Error("Unknown classy type: " + object.$$type);
361
+ }
407
362
  }
408
363
  }
409
364
  });
@@ -476,8 +476,9 @@ qx.Class.define("qx.util.format.DateFormat", {
476
476
 
477
477
  var timezoneOffset = date.getTimezoneOffset();
478
478
  var timezoneSign = timezoneOffset > 0 ? 1 : -1;
479
- var timezoneHours = Math.floor(Math.abs(timezoneOffset) / 60);
480
- var timezoneMinutes = Math.abs(timezoneOffset) % 60;
479
+ var absTimezoneOffset = Math.abs(timezoneOffset);
480
+ var timezoneHours = Math.floor(absTimezoneOffset / 60);
481
+ var timezoneMinutes = Math.trunc(absTimezoneOffset) % 60;
481
482
 
482
483
  // Create the output
483
484
  this.__initFormatTree();
@@ -0,0 +1,4 @@
1
+ // the reference directive enables tooling to discover the generated type definitions
2
+ /// <reference path="../qooxdoo.d.ts" />
3
+
4
+ // add custom global declarations here