@qooxdoo/framework 7.0.0-beta.6 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1555) hide show
  1. package/CHANGELOG.md +0 -6
  2. package/Manifest.json +2 -2
  3. package/README.md +3 -1
  4. package/lib/compiler/compile-info.json +57 -55
  5. package/lib/compiler/index.js +6272 -4273
  6. package/lib/resource/qx/tool/cli/templates/skeleton/mobile/source/theme/custom/css/custom.css.map +1 -1
  7. package/lib/resource/qx/tool/loadsass.js +16 -15
  8. package/lib/resource/qx/tool/schema/compile-1-0-0.json +13 -13
  9. package/lib/resource/qx/tool/website/build/assets/bluebird.min.js +4593 -9
  10. package/lib/resource/qx/tool/website/build/assets/buttons.js +391 -1
  11. package/lib/resource/qx/tool/website/build/assets/fontawesome-all.js +8963 -1
  12. package/lib/resource/qx/tool/website/build/assets/jquery.js +5452 -3
  13. package/lib/resource/qx/tool/website/build/diagnostics/dependson.js +31 -31
  14. package/lib/resource/qx/tool/website/build/diagnostics/requiredby.js +32 -36
  15. package/lib/resource/qx/tool/website/build/scripts/serve.js +87 -66
  16. package/lib/resource/qx/tool/website/src/assets/bluebird.min.js +4593 -9
  17. package/lib/resource/qx/tool/website/src/assets/buttons.js +391 -1
  18. package/lib/resource/qx/tool/website/src/assets/fontawesome-all.js +8963 -1
  19. package/lib/resource/qx/tool/website/src/assets/jquery.js +5452 -3
  20. package/lib/resource/qx/tool/website/src/diagnostics/dependson.js +31 -31
  21. package/lib/resource/qx/tool/website/src/diagnostics/requiredby.js +32 -36
  22. package/lib/resource/qx/tool/website/src/scripts/serve.js +87 -66
  23. package/npm-shrinkwrap.json +7293 -0
  24. package/package.json +6 -4
  25. package/source/class/q.js +4 -2
  26. package/source/class/qx/Annotation.js +48 -57
  27. package/source/class/qx/Bootstrap.js +206 -207
  28. package/source/class/qx/Class.js +602 -504
  29. package/source/class/qx/Interface.js +169 -137
  30. package/source/class/qx/Mixin.js +162 -120
  31. package/source/class/qx/Part.js +48 -77
  32. package/source/class/qx/Promise.js +5891 -4655
  33. package/source/class/qx/Theme.js +200 -134
  34. package/source/class/qx/__init__.js +8 -8
  35. package/source/class/qx/application/AbstractGui.js +20 -32
  36. package/source/class/qx/application/Basic.js +9 -18
  37. package/source/class/qx/application/IApplication.js +6 -10
  38. package/source/class/qx/application/Inline.js +4 -7
  39. package/source/class/qx/application/Mobile.js +22 -45
  40. package/source/class/qx/application/Native.js +8 -19
  41. package/source/class/qx/application/Routing.js +88 -114
  42. package/source/class/qx/application/Standalone.js +4 -9
  43. package/source/class/qx/application/__init__.js +1 -1
  44. package/source/class/qx/bom/AnimationFrame.js +26 -25
  45. package/source/class/qx/bom/Blocker.js +92 -100
  46. package/source/class/qx/bom/Cookie.js +18 -22
  47. package/source/class/qx/bom/Document.js +24 -31
  48. package/source/class/qx/bom/Element.js +65 -51
  49. package/source/class/qx/bom/Event.js +68 -78
  50. package/source/class/qx/bom/FileReader.js +110 -115
  51. package/source/class/qx/bom/Font.js +82 -122
  52. package/source/class/qx/bom/FullScreen.js +32 -41
  53. package/source/class/qx/bom/GeoLocation.js +39 -44
  54. package/source/class/qx/bom/HashHistory.js +58 -64
  55. package/source/class/qx/bom/History.js +61 -89
  56. package/source/class/qx/bom/Html.js +75 -71
  57. package/source/class/qx/bom/IdleCallback.js +20 -23
  58. package/source/class/qx/bom/Iframe.js +37 -69
  59. package/source/class/qx/bom/IframeHistory.js +83 -88
  60. package/source/class/qx/bom/Input.js +50 -66
  61. package/source/class/qx/bom/Label.js +65 -86
  62. package/source/class/qx/bom/Lifecycle.js +7 -9
  63. package/source/class/qx/bom/MediaQuery.js +324 -307
  64. package/source/class/qx/bom/NativeHistory.js +51 -46
  65. package/source/class/qx/bom/Notification.js +41 -47
  66. package/source/class/qx/bom/PageVisibility.js +19 -25
  67. package/source/class/qx/bom/Range.js +20 -30
  68. package/source/class/qx/bom/Selection.js +163 -172
  69. package/source/class/qx/bom/Selector.js +2401 -2181
  70. package/source/class/qx/bom/Shortcut.js +103 -129
  71. package/source/class/qx/bom/Storage.js +9 -8
  72. package/source/class/qx/bom/String.js +285 -290
  73. package/source/class/qx/bom/Style.js +30 -31
  74. package/source/class/qx/bom/Stylesheet.js +36 -60
  75. package/source/class/qx/bom/Template.js +730 -657
  76. package/source/class/qx/bom/Viewport.js +40 -46
  77. package/source/class/qx/bom/Vml.js +43 -28
  78. package/source/class/qx/bom/WebWorker.js +61 -50
  79. package/source/class/qx/bom/Window.js +88 -105
  80. package/source/class/qx/bom/__init__.js +11 -11
  81. package/source/class/qx/bom/client/Browser.js +45 -47
  82. package/source/class/qx/bom/client/Css.js +85 -85
  83. package/source/class/qx/bom/client/CssAnimation.js +41 -49
  84. package/source/class/qx/bom/client/CssTransform.js +21 -29
  85. package/source/class/qx/bom/client/CssTransition.js +9 -12
  86. package/source/class/qx/bom/client/Device.js +45 -45
  87. package/source/class/qx/bom/client/EcmaScript.js +153 -96
  88. package/source/class/qx/bom/client/Engine.js +38 -35
  89. package/source/class/qx/bom/client/Event.js +75 -63
  90. package/source/class/qx/bom/client/Html.js +97 -97
  91. package/source/class/qx/bom/client/Idle.js +4 -6
  92. package/source/class/qx/bom/client/Locale.js +15 -15
  93. package/source/class/qx/bom/client/OperatingSystem.js +89 -106
  94. package/source/class/qx/bom/client/Pdfjs.js +1364 -1067
  95. package/source/class/qx/bom/client/PhoneGap.js +6 -9
  96. package/source/class/qx/bom/client/Plugin.js +93 -97
  97. package/source/class/qx/bom/client/Runtime.js +14 -12
  98. package/source/class/qx/bom/client/Scroll.js +20 -16
  99. package/source/class/qx/bom/client/Stylesheet.js +44 -32
  100. package/source/class/qx/bom/client/Transport.js +38 -41
  101. package/source/class/qx/bom/client/Xml.js +39 -41
  102. package/source/class/qx/bom/client/__init__.js +4 -4
  103. package/source/class/qx/bom/element/Animation.js +15 -12
  104. package/source/class/qx/bom/element/AnimationCss.js +95 -64
  105. package/source/class/qx/bom/element/AnimationHandle.js +22 -29
  106. package/source/class/qx/bom/element/AnimationJs.js +94 -71
  107. package/source/class/qx/bom/element/Attribute.js +119 -134
  108. package/source/class/qx/bom/element/Background.js +35 -35
  109. package/source/class/qx/bom/element/BoxSizing.js +43 -44
  110. package/source/class/qx/bom/element/Class.js +50 -72
  111. package/source/class/qx/bom/element/Clip.js +36 -60
  112. package/source/class/qx/bom/element/Cursor.js +13 -20
  113. package/source/class/qx/bom/element/Dataset.js +33 -31
  114. package/source/class/qx/bom/element/Decoration.js +178 -168
  115. package/source/class/qx/bom/element/Dimension.js +78 -60
  116. package/source/class/qx/bom/element/Location.js +87 -94
  117. package/source/class/qx/bom/element/Opacity.js +42 -44
  118. package/source/class/qx/bom/element/Scroll.js +78 -88
  119. package/source/class/qx/bom/element/Style.js +61 -101
  120. package/source/class/qx/bom/element/Transform.js +38 -56
  121. package/source/class/qx/bom/element/__init__.js +4 -4
  122. package/source/class/qx/bom/media/Abstract.js +136 -143
  123. package/source/class/qx/bom/media/Audio.js +7 -12
  124. package/source/class/qx/bom/media/Video.js +15 -27
  125. package/source/class/qx/bom/request/IRequest.js +18 -21
  126. package/source/class/qx/bom/request/Jsonp.js +34 -39
  127. package/source/class/qx/bom/request/Script.js +94 -90
  128. package/source/class/qx/bom/request/SimpleXhr.js +111 -79
  129. package/source/class/qx/bom/request/Xhr.js +196 -143
  130. package/source/class/qx/bom/request/__init__.js +1 -1
  131. package/source/class/qx/bom/rest/Resource.js +269 -203
  132. package/source/class/qx/bom/storage/Memory.js +18 -29
  133. package/source/class/qx/bom/storage/UserData.js +28 -35
  134. package/source/class/qx/bom/storage/Web.js +19 -30
  135. package/source/class/qx/bom/webfonts/Manager.js +199 -130
  136. package/source/class/qx/bom/webfonts/Validator.js +84 -118
  137. package/source/class/qx/bom/webfonts/WebFont.js +24 -28
  138. package/source/class/qx/bom/webfonts/__init__.js +1 -1
  139. package/source/class/qx/core/Aspect.js +15 -22
  140. package/source/class/qx/core/Assert.js +391 -333
  141. package/source/class/qx/core/AssertionError.js +6 -15
  142. package/source/class/qx/core/BaseInit.js +25 -28
  143. package/source/class/qx/core/Environment.js +72 -86
  144. package/source/class/qx/core/GlobalError.js +12 -20
  145. package/source/class/qx/core/IDisposable.js +6 -9
  146. package/source/class/qx/core/Id.js +25 -15
  147. package/source/class/qx/core/Init.js +20 -20
  148. package/source/class/qx/core/MAssert.js +54 -97
  149. package/source/class/qx/core/MBindTo.js +10 -14
  150. package/source/class/qx/core/MEvent.js +76 -65
  151. package/source/class/qx/core/MLogging.js +9 -18
  152. package/source/class/qx/core/MObjectId.js +104 -65
  153. package/source/class/qx/core/MProperty.js +18 -34
  154. package/source/class/qx/core/Object.js +93 -122
  155. package/source/class/qx/core/ObjectRegistry.js +58 -81
  156. package/source/class/qx/core/Property.js +974 -780
  157. package/source/class/qx/core/ValidationError.js +3 -4
  158. package/source/class/qx/core/WindowError.js +13 -24
  159. package/source/class/qx/core/Wrapper.js +8 -9
  160. package/source/class/qx/data/Array.js +178 -191
  161. package/source/class/qx/data/Conversion.js +11 -18
  162. package/source/class/qx/data/IListData.js +11 -20
  163. package/source/class/qx/data/MBinding.js +31 -26
  164. package/source/class/qx/data/SingleValueBinding.js +491 -225
  165. package/source/class/qx/data/__init__.js +1 -1
  166. package/source/class/qx/data/controller/CheckedList.js +82 -54
  167. package/source/class/qx/data/controller/Form.js +81 -69
  168. package/source/class/qx/data/controller/IControllerDelegate.js +7 -12
  169. package/source/class/qx/data/controller/ISelection.js +6 -10
  170. package/source/class/qx/data/controller/List.js +151 -167
  171. package/source/class/qx/data/controller/MSelection.js +53 -72
  172. package/source/class/qx/data/controller/Object.js +106 -77
  173. package/source/class/qx/data/controller/Tree.js +164 -142
  174. package/source/class/qx/data/controller/__init__.js +1 -1
  175. package/source/class/qx/data/controller/website/List.js +34 -43
  176. package/source/class/qx/data/controller/website/__init__.js +2 -2
  177. package/source/class/qx/data/marshal/IMarshaler.js +4 -7
  178. package/source/class/qx/data/marshal/IMarshalerDelegate.js +10 -18
  179. package/source/class/qx/data/marshal/Json.js +112 -85
  180. package/source/class/qx/data/marshal/MEventBubbling.js +44 -42
  181. package/source/class/qx/data/marshal/__init__.js +1 -1
  182. package/source/class/qx/data/store/IStoreDelegate.js +6 -9
  183. package/source/class/qx/data/store/Json.js +71 -85
  184. package/source/class/qx/data/store/Jsonp.js +19 -25
  185. package/source/class/qx/data/store/Offline.js +21 -29
  186. package/source/class/qx/data/store/Rest.js +25 -23
  187. package/source/class/qx/data/store/__init__.js +1 -1
  188. package/source/class/qx/dev/Debug.js +105 -124
  189. package/source/class/qx/dev/FakeServer.js +68 -65
  190. package/source/class/qx/dev/ObjectSummary.js +33 -39
  191. package/source/class/qx/dev/Profile.js +62 -63
  192. package/source/class/qx/dev/StackTrace.js +64 -70
  193. package/source/class/qx/dev/Tokenizer.js +114 -126
  194. package/source/class/qx/dev/unit/AbstractTestSuite.js +17 -31
  195. package/source/class/qx/dev/unit/AsyncWrapper.js +22 -26
  196. package/source/class/qx/dev/unit/JsUnitTestResult.js +9 -21
  197. package/source/class/qx/dev/unit/MMeasure.js +46 -37
  198. package/source/class/qx/dev/unit/MMock.js +236 -240
  199. package/source/class/qx/dev/unit/MRequirements.js +53 -79
  200. package/source/class/qx/dev/unit/MRequirementsBasic.js +24 -19
  201. package/source/class/qx/dev/unit/MTestLoader.js +52 -57
  202. package/source/class/qx/dev/unit/MeasurementResult.js +18 -22
  203. package/source/class/qx/dev/unit/RequirementError.js +8 -17
  204. package/source/class/qx/dev/unit/Sinon.js +18826 -4613
  205. package/source/class/qx/dev/unit/TestCase.js +40 -51
  206. package/source/class/qx/dev/unit/TestClass.js +22 -23
  207. package/source/class/qx/dev/unit/TestFunction.js +28 -48
  208. package/source/class/qx/dev/unit/TestLoader.js +11 -14
  209. package/source/class/qx/dev/unit/TestLoaderBasic.js +3 -6
  210. package/source/class/qx/dev/unit/TestLoaderInline.js +8 -14
  211. package/source/class/qx/dev/unit/TestLoaderMobile.js +8 -14
  212. package/source/class/qx/dev/unit/TestLoaderNative.js +7 -13
  213. package/source/class/qx/dev/unit/TestResult.js +140 -118
  214. package/source/class/qx/dev/unit/TestSuite.js +46 -55
  215. package/source/class/qx/dom/Element.js +29 -74
  216. package/source/class/qx/dom/Hierarchy.js +60 -95
  217. package/source/class/qx/dom/Node.js +54 -81
  218. package/source/class/qx/dom/__init__.js +9 -9
  219. package/source/class/qx/event/AcceleratingTimer.js +28 -46
  220. package/source/class/qx/event/Emitter.js +54 -49
  221. package/source/class/qx/event/GlobalError.js +22 -38
  222. package/source/class/qx/event/IEventDispatcher.js +4 -9
  223. package/source/class/qx/event/IEventHandler.js +7 -13
  224. package/source/class/qx/event/Idle.js +32 -47
  225. package/source/class/qx/event/Manager.js +222 -237
  226. package/source/class/qx/event/Messaging.js +55 -48
  227. package/source/class/qx/event/Pool.js +5 -8
  228. package/source/class/qx/event/Registration.js +128 -118
  229. package/source/class/qx/event/Timer.js +50 -96
  230. package/source/class/qx/event/Utils.js +41 -28
  231. package/source/class/qx/event/dispatch/AbstractBubbling.js +133 -93
  232. package/source/class/qx/event/dispatch/Direct.js +46 -51
  233. package/source/class/qx/event/dispatch/DomBubbling.js +8 -15
  234. package/source/class/qx/event/dispatch/MouseCapture.js +74 -91
  235. package/source/class/qx/event/handler/Appear.js +40 -77
  236. package/source/class/qx/event/handler/Application.js +100 -126
  237. package/source/class/qx/event/handler/Capture.js +15 -37
  238. package/source/class/qx/event/handler/DragDrop.js +342 -228
  239. package/source/class/qx/event/handler/Element.js +45 -72
  240. package/source/class/qx/event/handler/ElementResize.js +35 -70
  241. package/source/class/qx/event/handler/Focus.js +908 -637
  242. package/source/class/qx/event/handler/Gesture.js +144 -93
  243. package/source/class/qx/event/handler/GestureCore.js +214 -163
  244. package/source/class/qx/event/handler/Iframe.js +21 -35
  245. package/source/class/qx/event/handler/Input.js +332 -209
  246. package/source/class/qx/event/handler/Keyboard.js +325 -270
  247. package/source/class/qx/event/handler/Mouse.js +212 -173
  248. package/source/class/qx/event/handler/Object.js +13 -31
  249. package/source/class/qx/event/handler/Offline.js +52 -67
  250. package/source/class/qx/event/handler/Orientation.js +56 -62
  251. package/source/class/qx/event/handler/OrientationCore.js +33 -43
  252. package/source/class/qx/event/handler/Pointer.js +84 -72
  253. package/source/class/qx/event/handler/PointerCore.js +183 -105
  254. package/source/class/qx/event/handler/Touch.js +43 -59
  255. package/source/class/qx/event/handler/TouchCore.js +159 -120
  256. package/source/class/qx/event/handler/Transition.js +91 -100
  257. package/source/class/qx/event/handler/UserAction.js +18 -42
  258. package/source/class/qx/event/handler/Video.js +12 -12
  259. package/source/class/qx/event/handler/Window.js +53 -69
  260. package/source/class/qx/event/message/Bus.js +109 -128
  261. package/source/class/qx/event/message/Message.js +14 -29
  262. package/source/class/qx/event/type/Data.js +11 -22
  263. package/source/class/qx/event/type/Dom.js +37 -52
  264. package/source/class/qx/event/type/Drag.js +37 -56
  265. package/source/class/qx/event/type/Event.js +80 -104
  266. package/source/class/qx/event/type/Focus.js +5 -8
  267. package/source/class/qx/event/type/GeoPosition.js +32 -41
  268. package/source/class/qx/event/type/KeyInput.js +9 -19
  269. package/source/class/qx/event/type/KeySequence.js +10 -21
  270. package/source/class/qx/event/type/Mouse.js +69 -72
  271. package/source/class/qx/event/type/MouseWheel.js +5 -9
  272. package/source/class/qx/event/type/Native.js +16 -27
  273. package/source/class/qx/event/type/Orientation.js +18 -30
  274. package/source/class/qx/event/type/Pinch.js +21 -27
  275. package/source/class/qx/event/type/Pointer.js +38 -41
  276. package/source/class/qx/event/type/Rest.js +7 -10
  277. package/source/class/qx/event/type/Roll.js +49 -58
  278. package/source/class/qx/event/type/Rotate.js +21 -27
  279. package/source/class/qx/event/type/Swipe.js +75 -86
  280. package/source/class/qx/event/type/Tap.js +2 -4
  281. package/source/class/qx/event/type/Touch.js +262 -286
  282. package/source/class/qx/event/type/Track.js +23 -28
  283. package/source/class/qx/event/type/dom/Custom.js +24 -20
  284. package/source/class/qx/event/type/dom/Pointer.js +86 -60
  285. package/source/class/qx/event/util/Keyboard.js +94 -106
  286. package/source/class/qx/html/Blocker.js +17 -18
  287. package/source/class/qx/html/Canvas.js +13 -29
  288. package/source/class/qx/html/Element.js +372 -497
  289. package/source/class/qx/html/Factory.js +31 -26
  290. package/source/class/qx/html/Iframe.js +35 -69
  291. package/source/class/qx/html/Image.js +43 -55
  292. package/source/class/qx/html/Input.js +44 -57
  293. package/source/class/qx/html/Jsx.js +49 -41
  294. package/source/class/qx/html/JsxRef.js +3 -5
  295. package/source/class/qx/html/Label.js +20 -32
  296. package/source/class/qx/html/Node.js +362 -422
  297. package/source/class/qx/html/Root.js +7 -16
  298. package/source/class/qx/html/Text.js +34 -27
  299. package/source/class/qx/io/ImageLoader.js +66 -90
  300. package/source/class/qx/io/PartLoader.js +17 -30
  301. package/source/class/qx/io/exception/Cancel.js +4 -5
  302. package/source/class/qx/io/exception/Exception.js +4 -5
  303. package/source/class/qx/io/exception/Protocol.js +2 -3
  304. package/source/class/qx/io/exception/Transport.js +13 -14
  305. package/source/class/qx/io/graphql/Client.js +22 -12
  306. package/source/class/qx/io/graphql/protocol/Message.js +3 -3
  307. package/source/class/qx/io/graphql/protocol/Request.js +8 -10
  308. package/source/class/qx/io/graphql/protocol/Response.js +7 -5
  309. package/source/class/qx/io/jsonrpc/Client.js +70 -38
  310. package/source/class/qx/io/jsonrpc/__init__.js +1 -1
  311. package/source/class/qx/io/jsonrpc/protocol/Batch.js +14 -8
  312. package/source/class/qx/io/jsonrpc/protocol/Error.js +11 -9
  313. package/source/class/qx/io/jsonrpc/protocol/Message.js +3 -3
  314. package/source/class/qx/io/jsonrpc/protocol/Notification.js +8 -6
  315. package/source/class/qx/io/jsonrpc/protocol/Parser.js +33 -9
  316. package/source/class/qx/io/jsonrpc/protocol/Request.js +8 -7
  317. package/source/class/qx/io/jsonrpc/protocol/Result.js +7 -6
  318. package/source/class/qx/io/part/ClosurePart.js +16 -35
  319. package/source/class/qx/io/part/Package.js +35 -63
  320. package/source/class/qx/io/part/Part.js +29 -53
  321. package/source/class/qx/io/part/__init__.js +4 -4
  322. package/source/class/qx/io/request/AbstractRequest.js +268 -201
  323. package/source/class/qx/io/request/Jsonp.js +16 -19
  324. package/source/class/qx/io/request/Xhr.js +38 -37
  325. package/source/class/qx/io/request/__init__.js +1 -1
  326. package/source/class/qx/io/request/authentication/Basic.js +7 -13
  327. package/source/class/qx/io/request/authentication/Bearer.js +7 -13
  328. package/source/class/qx/io/request/authentication/IAuthentication.js +3 -6
  329. package/source/class/qx/io/request/authentication/__init__.js +1 -1
  330. package/source/class/qx/io/rest/Resource.js +122 -90
  331. package/source/class/qx/io/transport/AbstractClient.js +31 -10
  332. package/source/class/qx/io/transport/AbstractTransport.js +7 -8
  333. package/source/class/qx/io/transport/Fetch.js +8 -5
  334. package/source/class/qx/io/transport/ITransport.js +4 -2
  335. package/source/class/qx/io/transport/PostMessage.js +1 -2
  336. package/source/class/qx/io/transport/Websocket.js +5 -5
  337. package/source/class/qx/io/transport/Xhr.js +17 -18
  338. package/source/class/qx/lang/Array.js +133 -170
  339. package/source/class/qx/lang/Function.js +101 -104
  340. package/source/class/qx/lang/Json.js +1041 -774
  341. package/source/class/qx/lang/Number.js +11 -16
  342. package/source/class/qx/lang/Object.js +129 -100
  343. package/source/class/qx/lang/String.js +86 -94
  344. package/source/class/qx/lang/Type.js +44 -65
  345. package/source/class/qx/lang/normalize/Array.js +39 -49
  346. package/source/class/qx/lang/normalize/Date.js +50 -32
  347. package/source/class/qx/lang/normalize/Error.js +4 -7
  348. package/source/class/qx/lang/normalize/Function.js +11 -19
  349. package/source/class/qx/lang/normalize/Number.js +3 -5
  350. package/source/class/qx/lang/normalize/Object.js +17 -18
  351. package/source/class/qx/lang/normalize/String.js +39 -40
  352. package/source/class/qx/locale/Date.js +175 -178
  353. package/source/class/qx/locale/Key.js +13 -11
  354. package/source/class/qx/locale/LocalizedString.js +18 -15
  355. package/source/class/qx/locale/MTranslation.js +22 -23
  356. package/source/class/qx/locale/Manager.js +62 -100
  357. package/source/class/qx/locale/Number.js +20 -12
  358. package/source/class/qx/locale/String.js +26 -15
  359. package/source/class/qx/log/Logger.js +128 -180
  360. package/source/class/qx/log/__init__.js +3 -3
  361. package/source/class/qx/log/appender/Console.js +100 -111
  362. package/source/class/qx/log/appender/Element.js +25 -39
  363. package/source/class/qx/log/appender/Formatter.js +117 -66
  364. package/source/class/qx/log/appender/Native.js +4 -10
  365. package/source/class/qx/log/appender/NodeConsole.js +20 -28
  366. package/source/class/qx/log/appender/PhoneGap.js +5 -13
  367. package/source/class/qx/log/appender/RhinoConsole.js +12 -23
  368. package/source/class/qx/log/appender/RhinoFile.js +19 -26
  369. package/source/class/qx/log/appender/RingBuffer.js +10 -19
  370. package/source/class/qx/log/appender/Util.js +11 -9
  371. package/source/class/qx/module/Animation.js +73 -63
  372. package/source/class/qx/module/Attribute.js +27 -46
  373. package/source/class/qx/module/Blocker.js +33 -41
  374. package/source/class/qx/module/Cookie.js +6 -10
  375. package/source/class/qx/module/Css.js +82 -97
  376. package/source/class/qx/module/Dataset.js +12 -24
  377. package/source/class/qx/module/Environment.js +4 -6
  378. package/source/class/qx/module/Event.js +124 -127
  379. package/source/class/qx/module/Io.js +5 -9
  380. package/source/class/qx/module/Manipulating.js +98 -117
  381. package/source/class/qx/module/MatchMedia.js +50 -24
  382. package/source/class/qx/module/Messaging.js +6 -10
  383. package/source/class/qx/module/Placeholder.js +54 -44
  384. package/source/class/qx/module/Placement.js +33 -33
  385. package/source/class/qx/module/Rest.js +3 -4
  386. package/source/class/qx/module/Storage.js +34 -48
  387. package/source/class/qx/module/Template.js +6 -9
  388. package/source/class/qx/module/TextSelection.js +13 -21
  389. package/source/class/qx/module/Transform.js +28 -45
  390. package/source/class/qx/module/Traversing.js +160 -154
  391. package/source/class/qx/module/__init__.js +1 -1
  392. package/source/class/qx/module/dev/FakeServer.js +19 -25
  393. package/source/class/qx/module/event/GestureHandler.js +25 -13
  394. package/source/class/qx/module/event/Keyboard.js +42 -31
  395. package/source/class/qx/module/event/Mouse.js +48 -46
  396. package/source/class/qx/module/event/Native.js +18 -30
  397. package/source/class/qx/module/event/Orientation.js +11 -18
  398. package/source/class/qx/module/event/OrientationHandler.js +19 -17
  399. package/source/class/qx/module/event/Pinch.js +13 -14
  400. package/source/class/qx/module/event/Pointer.js +22 -22
  401. package/source/class/qx/module/event/PointerHandler.js +14 -11
  402. package/source/class/qx/module/event/Rotate.js +13 -14
  403. package/source/class/qx/module/event/Swipe.js +18 -24
  404. package/source/class/qx/module/event/Tap.js +25 -25
  405. package/source/class/qx/module/event/Touch.js +4 -7
  406. package/source/class/qx/module/event/TouchHandler.js +16 -16
  407. package/source/class/qx/module/event/Track.js +13 -14
  408. package/source/class/qx/module/util/Array.js +30 -41
  409. package/source/class/qx/module/util/Function.js +1 -2
  410. package/source/class/qx/module/util/Object.js +8 -11
  411. package/source/class/qx/module/util/String.js +10 -18
  412. package/source/class/qx/module/util/Type.js +3 -4
  413. package/source/class/qx/test/Annotation.js +195 -89
  414. package/source/class/qx/test/Bootstrap.js +98 -124
  415. package/source/class/qx/test/Browser.js +8 -11
  416. package/source/class/qx/test/Class.js +164 -198
  417. package/source/class/qx/test/Dom.js +10 -28
  418. package/source/class/qx/test/EditDistance.js +16 -16
  419. package/source/class/qx/test/Interface.js +380 -383
  420. package/source/class/qx/test/MAppearance.js +10 -14
  421. package/source/class/qx/test/MDecoration.js +1 -3
  422. package/source/class/qx/test/Mixin.js +449 -173
  423. package/source/class/qx/test/Promise.js +422 -333
  424. package/source/class/qx/test/Theme.js +204 -179
  425. package/source/class/qx/test/Xml.js +155 -84
  426. package/source/class/qx/test/application/Routing.js +45 -44
  427. package/source/class/qx/test/bom/AnimationFrame.js +23 -21
  428. package/source/class/qx/test/bom/Attribute.js +66 -47
  429. package/source/class/qx/test/bom/Basic.js +52 -27
  430. package/source/class/qx/test/bom/Blocker.js +100 -70
  431. package/source/class/qx/test/bom/Class.js +19 -34
  432. package/source/class/qx/test/bom/Cookie.js +49 -28
  433. package/source/class/qx/test/bom/Dataset.js +12 -24
  434. package/source/class/qx/test/bom/Element.js +55 -47
  435. package/source/class/qx/test/bom/Event.js +68 -45
  436. package/source/class/qx/test/bom/FileReader.js +6 -12
  437. package/source/class/qx/test/bom/Font.js +256 -118
  438. package/source/class/qx/test/bom/GeoLocation.js +82 -64
  439. package/source/class/qx/test/bom/History.js +63 -84
  440. package/source/class/qx/test/bom/IdleCallback.js +51 -38
  441. package/source/class/qx/test/bom/Iframe.js +14 -18
  442. package/source/class/qx/test/bom/Label.js +74 -105
  443. package/source/class/qx/test/bom/Location.js +70 -99
  444. package/source/class/qx/test/bom/PageVisibility.js +13 -16
  445. package/source/class/qx/test/bom/Selector.js +16 -16
  446. package/source/class/qx/test/bom/String.js +19 -15
  447. package/source/class/qx/test/bom/Stylesheet.js +39 -48
  448. package/source/class/qx/test/bom/Template.js +49 -57
  449. package/source/class/qx/test/bom/Viewport.js +7 -11
  450. package/source/class/qx/test/bom/WebWorker.js +49 -37
  451. package/source/class/qx/test/bom/Window.js +6 -12
  452. package/source/class/qx/test/bom/client/Css.js +26 -19
  453. package/source/class/qx/test/bom/client/Device.js +29 -18
  454. package/source/class/qx/test/bom/client/OperatingSystem.js +17 -20
  455. package/source/class/qx/test/bom/client/Pdfjs.js +15 -13
  456. package/source/class/qx/test/bom/element/AnimationHandle.js +20 -17
  457. package/source/class/qx/test/bom/element/AnimationJs.js +48 -31
  458. package/source/class/qx/test/bom/element/Background.js +93 -46
  459. package/source/class/qx/test/bom/element/BoxSizing.js +66 -61
  460. package/source/class/qx/test/bom/element/Class.js +33 -58
  461. package/source/class/qx/test/bom/element/Dimension.js +58 -37
  462. package/source/class/qx/test/bom/element/Style.js +87 -83
  463. package/source/class/qx/test/bom/element/Transform.js +209 -86
  464. package/source/class/qx/test/bom/media/Audio.js +18 -14
  465. package/source/class/qx/test/bom/media/MediaTestCase.js +61 -66
  466. package/source/class/qx/test/bom/media/Video.js +39 -28
  467. package/source/class/qx/test/bom/request/Jsonp.js +60 -57
  468. package/source/class/qx/test/bom/request/Script.js +150 -138
  469. package/source/class/qx/test/bom/request/SimpleXhr.js +206 -134
  470. package/source/class/qx/test/bom/request/Xhr.js +179 -132
  471. package/source/class/qx/test/bom/request/XhrWithRemote.js +206 -160
  472. package/source/class/qx/test/bom/rest/Resource.js +345 -281
  473. package/source/class/qx/test/bom/rest/ResourceWithRemote.js +74 -57
  474. package/source/class/qx/test/bom/storage/Local.js +3 -4
  475. package/source/class/qx/test/bom/storage/Session.js +3 -4
  476. package/source/class/qx/test/bom/storage/WebStorageTestCase.js +28 -27
  477. package/source/class/qx/test/bom/webfonts/Abstract.js +8 -10
  478. package/source/class/qx/test/bom/webfonts/Manager.js +127 -80
  479. package/source/class/qx/test/bom/webfonts/Validator.js +36 -30
  480. package/source/class/qx/test/compiler/ClassFile.js +29 -11
  481. package/source/class/qx/test/compiler/jsdoc/Parser.js +122 -96
  482. package/source/class/qx/test/core/Assert.js +151 -86
  483. package/source/class/qx/test/core/Environment.js +162 -123
  484. package/source/class/qx/test/core/EventEmitterDummy.js +7 -8
  485. package/source/class/qx/test/core/InheritanceDummy.js +23 -33
  486. package/source/class/qx/test/core/MemoryManagement.js +13 -5
  487. package/source/class/qx/test/core/Object.js +106 -112
  488. package/source/class/qx/test/core/ObjectId.js +7 -6
  489. package/source/class/qx/test/core/Property.js +483 -387
  490. package/source/class/qx/test/core/PropertyHelper.js +49 -64
  491. package/source/class/qx/test/core/Target.js +9 -13
  492. package/source/class/qx/test/core/Validation.js +409 -136
  493. package/source/class/qx/test/data/DataArray.js +1059 -394
  494. package/source/class/qx/test/data/DataArrayWithChangeBubble.js +315 -172
  495. package/source/class/qx/test/data/__init__.js +4 -4
  496. package/source/class/qx/test/data/controller/Form.js +141 -99
  497. package/source/class/qx/test/data/controller/FormWithArrayAndModel.js +66 -51
  498. package/source/class/qx/test/data/controller/List.js +644 -336
  499. package/source/class/qx/test/data/controller/ListReverse.js +64 -63
  500. package/source/class/qx/test/data/controller/ListWithObjects.js +305 -149
  501. package/source/class/qx/test/data/controller/Object.js +252 -94
  502. package/source/class/qx/test/data/controller/Tree.js +1219 -383
  503. package/source/class/qx/test/data/controller/__init__.js +4 -4
  504. package/source/class/qx/test/data/marshal/Json.js +832 -447
  505. package/source/class/qx/test/data/marshal/__init__.js +4 -4
  506. package/source/class/qx/test/data/singlevalue/Array.js +383 -144
  507. package/source/class/qx/test/data/singlevalue/Deep.js +361 -175
  508. package/source/class/qx/test/data/singlevalue/Resolve.js +51 -29
  509. package/source/class/qx/test/data/singlevalue/Simple.js +530 -208
  510. package/source/class/qx/test/data/singlevalue/TextFieldDummy.js +32 -28
  511. package/source/class/qx/test/data/singlevalue/__init__.js +4 -4
  512. package/source/class/qx/test/data/store/Json.js +574 -313
  513. package/source/class/qx/test/data/store/Jsonp.js +103 -77
  514. package/source/class/qx/test/data/store/Offline.js +127 -110
  515. package/source/class/qx/test/data/store/Rest.js +58 -52
  516. package/source/class/qx/test/data/store/RestWithRemote.js +36 -30
  517. package/source/class/qx/test/data/store/__init__.js +4 -4
  518. package/source/class/qx/test/dev/Debug.js +9 -13
  519. package/source/class/qx/test/dev/StackTrace.js +51 -42
  520. package/source/class/qx/test/dev/unit/Requirements.js +36 -49
  521. package/source/class/qx/test/dev/unit/Sinon.js +85 -73
  522. package/source/class/qx/test/dev/unit/TestCase.js +12 -17
  523. package/source/class/qx/test/dom/Element.js +17 -12
  524. package/source/class/qx/test/dom/Hierarchy.js +53 -38
  525. package/source/class/qx/test/dom/Node.js +97 -43
  526. package/source/class/qx/test/event/Bubbling.js +258 -88
  527. package/source/class/qx/test/event/Emitter.js +38 -39
  528. package/source/class/qx/test/event/GlobalError.js +59 -87
  529. package/source/class/qx/test/event/GlobalEventMonitors.js +22 -25
  530. package/source/class/qx/test/event/Messaging.js +66 -49
  531. package/source/class/qx/test/event/MockBubblingHandler.js +10 -15
  532. package/source/class/qx/test/event/MockHandler.js +14 -33
  533. package/source/class/qx/test/event/Registration.js +38 -32
  534. package/source/class/qx/test/event/Timer.js +61 -39
  535. package/source/class/qx/test/event/Utils.js +164 -123
  536. package/source/class/qx/test/event/dispatch/MouseCapture.js +61 -51
  537. package/source/class/qx/test/event/dispatch/MouseEventOnDocument.js +22 -23
  538. package/source/class/qx/test/event/dispatch/TestingHandler.js +8 -10
  539. package/source/class/qx/test/event/dispatch/TestingWindow.js +9 -13
  540. package/source/class/qx/test/event/dispatch/__init__.js +4 -4
  541. package/source/class/qx/test/event/handler/Offline.js +7 -8
  542. package/source/class/qx/test/event/message/Bus.js +112 -72
  543. package/source/class/qx/test/event/message/__init__.js +4 -4
  544. package/source/class/qx/test/event/type/Dom.js +12 -11
  545. package/source/class/qx/test/event/type/Event.js +7 -16
  546. package/source/class/qx/test/event/type/Mouse.js +12 -11
  547. package/source/class/qx/test/event/type/Native.js +12 -11
  548. package/source/class/qx/test/event/type/__init__.js +4 -4
  549. package/source/class/qx/test/event/util/Keyboard.js +4 -3
  550. package/source/class/qx/test/html/Element.js +538 -239
  551. package/source/class/qx/test/html/Iframe.js +85 -73
  552. package/source/class/qx/test/html/jsx/TestJsx.js +15 -4
  553. package/source/class/qx/test/html/jsx/TestJsxBrowser.js +37 -19
  554. package/source/class/qx/test/html/jsx/TestWidget.js +26 -26
  555. package/source/class/qx/test/io/ImageLoader.js +256 -160
  556. package/source/class/qx/test/io/MAssert.js +7 -7
  557. package/source/class/qx/test/io/MRemoteTest.js +9 -11
  558. package/source/class/qx/test/io/__init__.js +4 -4
  559. package/source/class/qx/test/io/graphql/Client.js +135 -114
  560. package/source/class/qx/test/io/graphql/ClientFetch.js +4 -4
  561. package/source/class/qx/test/io/graphql/Request.js +12 -13
  562. package/source/class/qx/test/io/jsonrpc/Client.js +135 -69
  563. package/source/class/qx/test/io/jsonrpc/Protocol.js +42 -14
  564. package/source/class/qx/test/io/request/Jsonp.js +23 -20
  565. package/source/class/qx/test/io/request/JsonpWithRemote.js +25 -22
  566. package/source/class/qx/test/io/request/MRequest.js +137 -114
  567. package/source/class/qx/test/io/request/Xhr.js +367 -209
  568. package/source/class/qx/test/io/request/XhrWithRemote.js +133 -100
  569. package/source/class/qx/test/io/rest/Resource.js +325 -270
  570. package/source/class/qx/test/io/rest/ResourceWithRemote.js +75 -58
  571. package/source/class/qx/test/io/transport/PostMessage.js +5 -5
  572. package/source/class/qx/test/io/transport/Websocket.js +9 -8
  573. package/source/class/qx/test/lang/Array.js +79 -105
  574. package/source/class/qx/test/lang/Function.js +64 -53
  575. package/source/class/qx/test/lang/Json.js +51 -79
  576. package/source/class/qx/test/lang/Number.js +4 -6
  577. package/source/class/qx/test/lang/Object.js +143 -133
  578. package/source/class/qx/test/lang/String.js +151 -95
  579. package/source/class/qx/test/lang/Type.js +34 -44
  580. package/source/class/qx/test/lang/Webkit.js +8 -13
  581. package/source/class/qx/test/lang/normalize/Array.js +121 -68
  582. package/source/class/qx/test/lang/normalize/Date.js +232 -49
  583. package/source/class/qx/test/lang/normalize/Error.js +5 -8
  584. package/source/class/qx/test/lang/normalize/Function.js +7 -13
  585. package/source/class/qx/test/lang/normalize/Object.js +22 -29
  586. package/source/class/qx/test/lang/normalize/String.js +19 -28
  587. package/source/class/qx/test/locale/Date.js +91 -43
  588. package/source/class/qx/test/locale/Locale.js +52 -32
  589. package/source/class/qx/test/locale/LocalizedString.js +12 -12
  590. package/source/class/qx/test/log/DeprecationMethodOverriding.js +52 -31
  591. package/source/class/qx/test/log/Filters.js +6 -3
  592. package/source/class/qx/test/log/Formatter.js +13 -7
  593. package/source/class/qx/test/log/Logger.js +19 -29
  594. package/source/class/qx/test/log/RingBuffer.js +14 -25
  595. package/source/class/qx/test/log/__init__.js +4 -4
  596. package/source/class/qx/test/log/fixture/ClassA.js +22 -22
  597. package/source/class/qx/test/log/fixture/ClassB1.js +7 -9
  598. package/source/class/qx/test/log/fixture/ClassB2.js +5 -7
  599. package/source/class/qx/test/log/fixture/ClassC1.js +5 -7
  600. package/source/class/qx/test/log/fixture/ClassC2.js +7 -9
  601. package/source/class/qx/test/mobile/LocaleSwitch.js +29 -36
  602. package/source/class/qx/test/mobile/MobileTestCase.js +39 -49
  603. package/source/class/qx/test/mobile/basic/Atom.js +129 -53
  604. package/source/class/qx/test/mobile/basic/Image.js +41 -31
  605. package/source/class/qx/test/mobile/basic/Label.js +6 -10
  606. package/source/class/qx/test/mobile/container/Carousel.js +41 -45
  607. package/source/class/qx/test/mobile/container/Composite.js +48 -65
  608. package/source/class/qx/test/mobile/container/Drawer.js +42 -29
  609. package/source/class/qx/test/mobile/container/Navigation.js +14 -20
  610. package/source/class/qx/test/mobile/container/Scroll.js +23 -19
  611. package/source/class/qx/test/mobile/core/Widget.js +150 -86
  612. package/source/class/qx/test/mobile/dialog/Menu.js +47 -26
  613. package/source/class/qx/test/mobile/dialog/Popup.js +30 -19
  614. package/source/class/qx/test/mobile/embed/Html.js +5 -8
  615. package/source/class/qx/test/mobile/form/Button.js +15 -13
  616. package/source/class/qx/test/mobile/form/CheckBox.js +21 -17
  617. package/source/class/qx/test/mobile/form/Form.js +37 -24
  618. package/source/class/qx/test/mobile/form/Group.js +5 -9
  619. package/source/class/qx/test/mobile/form/Label.js +11 -13
  620. package/source/class/qx/test/mobile/form/NumberField.js +49 -45
  621. package/source/class/qx/test/mobile/form/RadioButton.js +30 -19
  622. package/source/class/qx/test/mobile/form/SelectBox.js +39 -25
  623. package/source/class/qx/test/mobile/form/SingleRenderer.js +31 -27
  624. package/source/class/qx/test/mobile/form/Slider.js +55 -35
  625. package/source/class/qx/test/mobile/form/TextArea.js +34 -24
  626. package/source/class/qx/test/mobile/form/TextField.js +34 -24
  627. package/source/class/qx/test/mobile/form/ToggleButton.js +10 -14
  628. package/source/class/qx/test/mobile/layout/Card.js +21 -17
  629. package/source/class/qx/test/mobile/layout/HBox.js +25 -20
  630. package/source/class/qx/test/mobile/layout/VBox.js +25 -21
  631. package/source/class/qx/test/mobile/list/List.js +114 -83
  632. package/source/class/qx/test/mobile/navigationbar/NavigationBar.js +5 -9
  633. package/source/class/qx/test/mobile/page/Manager.js +7 -13
  634. package/source/class/qx/test/mobile/page/NavigationPage.js +7 -17
  635. package/source/class/qx/test/mobile/page/Page.js +101 -68
  636. package/source/class/qx/test/mobile/tabbar/TabBar.js +11 -21
  637. package/source/class/qx/test/mobile/toolbar/Toolbar.js +16 -16
  638. package/source/class/qx/test/performance/BaseCall.js +31 -36
  639. package/source/class/qx/test/performance/Event.js +60 -53
  640. package/source/class/qx/test/performance/Object.js +16 -22
  641. package/source/class/qx/test/performance/Property.js +20 -22
  642. package/source/class/qx/test/performance/data/Marshaling.js +25 -30
  643. package/source/class/qx/test/performance/decorator/AbstractDecorator.js +22 -34
  644. package/source/class/qx/test/performance/decorator/Background.js +4 -6
  645. package/source/class/qx/test/performance/decorator/BackgroundScale.js +6 -8
  646. package/source/class/qx/test/performance/decorator/Single.js +4 -6
  647. package/source/class/qx/test/performance/element/Element.js +50 -67
  648. package/source/class/qx/test/performance/widget/AbstractWidget.js +31 -44
  649. package/source/class/qx/test/performance/widget/Button.js +5 -7
  650. package/source/class/qx/test/performance/widget/Label.js +5 -7
  651. package/source/class/qx/test/performance/widget/RichLabel.js +6 -8
  652. package/source/class/qx/test/performance/widget/Widget.js +5 -7
  653. package/source/class/qx/test/performance/widget/WidgetWithDecorator.js +7 -9
  654. package/source/class/qx/test/performance/widget/WidgetWithSingle.js +9 -11
  655. package/source/class/qx/test/renderer/Color.js +22 -49
  656. package/source/class/qx/test/testclasses/BaseClassBoth.js +11 -8
  657. package/source/class/qx/test/testclasses/BaseClassIncluded.js +5 -6
  658. package/source/class/qx/test/testclasses/BaseClassPatched.js +15 -8
  659. package/source/class/qx/test/testclasses/DerivedClassBoth.js +7 -7
  660. package/source/class/qx/test/testclasses/DerivedClassIncluded.js +7 -7
  661. package/source/class/qx/test/testclasses/DerivedClassPatched.js +7 -7
  662. package/source/class/qx/test/testclasses/MMixinOne.js +4 -4
  663. package/source/class/qx/test/testclasses/MMixinTwo.js +2 -2
  664. package/source/class/qx/test/testclasses/RootClass.js +8 -8
  665. package/source/class/qx/test/theme/__init__.js +4 -4
  666. package/source/class/qx/test/theme/manager/Color.js +52 -66
  667. package/source/class/qx/test/theme/manager/Decoration.js +177 -154
  668. package/source/class/qx/test/theme/manager/Font.js +68 -39
  669. package/source/class/qx/test/theme/manager/Icon.js +46 -43
  670. package/source/class/qx/test/theme/manager/Meta.js +121 -110
  671. package/source/class/qx/test/theme/manager/__init__.js +4 -4
  672. package/source/class/qx/test/theme/manager/mock/Appearance.js +17 -23
  673. package/source/class/qx/test/theme/manager/mock/Color.js +7 -9
  674. package/source/class/qx/test/theme/manager/mock/Decoration.js +7 -10
  675. package/source/class/qx/test/theme/manager/mock/Font.js +6 -10
  676. package/source/class/qx/test/theme/simple/Appearance.js +268 -210
  677. package/source/class/qx/test/tool/utils/Utils.js +10 -8
  678. package/source/class/qx/test/toolchain/PrivateOptimization.js +20 -13
  679. package/source/class/qx/test/toolchain/TestRunner.js +12 -12
  680. package/source/class/qx/test/toolchain/VariantOptimization.js +37 -26
  681. package/source/class/qx/test/toolchain/__init__.js +4 -4
  682. package/source/class/qx/test/type/Array.js +8 -12
  683. package/source/class/qx/test/type/BaseArray.js +58 -78
  684. package/source/class/qx/test/type/BaseString.js +27 -65
  685. package/source/class/qx/test/type/__init__.js +4 -4
  686. package/source/class/qx/test/ui/BackgroundColor.js +20 -21
  687. package/source/class/qx/test/ui/ChildrenHandling.js +136 -81
  688. package/source/class/qx/test/ui/Destroy.js +310 -248
  689. package/source/class/qx/test/ui/Focus.js +40 -87
  690. package/source/class/qx/test/ui/Insets.js +14 -18
  691. package/source/class/qx/test/ui/LayoutTestCase.js +99 -92
  692. package/source/class/qx/test/ui/LocaleSwitch.js +37 -41
  693. package/source/class/qx/test/ui/RadioItems.js +11 -22
  694. package/source/class/qx/test/ui/Widget.js +13 -17
  695. package/source/class/qx/test/ui/Window.js +26 -39
  696. package/source/class/qx/test/ui/basic/Atom.js +37 -25
  697. package/source/class/qx/test/ui/basic/Image.js +179 -138
  698. package/source/class/qx/test/ui/basic/Label.js +147 -65
  699. package/source/class/qx/test/ui/basic/__init__.js +4 -4
  700. package/source/class/qx/test/ui/command/Command.js +105 -69
  701. package/source/class/qx/test/ui/command/Group.js +24 -21
  702. package/source/class/qx/test/ui/command/GroupManager.js +7 -12
  703. package/source/class/qx/test/ui/container/Stack.js +26 -36
  704. package/source/class/qx/test/ui/core/AbstractScrollArea.js +84 -67
  705. package/source/class/qx/test/ui/core/Appearance.js +53 -54
  706. package/source/class/qx/test/ui/core/Blocker.js +80 -44
  707. package/source/class/qx/test/ui/core/DragDropScrolling.js +69 -55
  708. package/source/class/qx/test/ui/core/Placement.js +22 -34
  709. package/source/class/qx/test/ui/core/Queues.js +28 -39
  710. package/source/class/qx/test/ui/core/SizeHint.js +32 -76
  711. package/source/class/qx/test/ui/core/SizeHintX.js +8 -15
  712. package/source/class/qx/test/ui/core/SizeHintY.js +8 -15
  713. package/source/class/qx/test/ui/core/Spacer.js +11 -18
  714. package/source/class/qx/test/ui/core/Widget.js +117 -112
  715. package/source/class/qx/test/ui/core/__init__.js +4 -4
  716. package/source/class/qx/test/ui/decoration/LinearGradient.js +18 -14
  717. package/source/class/qx/test/ui/embed/Iframe.js +69 -65
  718. package/source/class/qx/test/ui/embed/__init__.js +4 -4
  719. package/source/class/qx/test/ui/form/AbstractSelectBox.js +11 -16
  720. package/source/class/qx/test/ui/form/AbstractVirtualBox.js +12 -19
  721. package/source/class/qx/test/ui/form/BooleanFormat.js +40 -25
  722. package/source/class/qx/test/ui/form/Color.js +29 -19
  723. package/source/class/qx/test/ui/form/ComboBox.js +39 -25
  724. package/source/class/qx/test/ui/form/Date.js +34 -21
  725. package/source/class/qx/test/ui/form/DateField.js +16 -19
  726. package/source/class/qx/test/ui/form/Executable.js +98 -68
  727. package/source/class/qx/test/ui/form/Field.js +65 -54
  728. package/source/class/qx/test/ui/form/Form.js +211 -123
  729. package/source/class/qx/test/ui/form/FormManager.js +72 -100
  730. package/source/class/qx/test/ui/form/FormValidator.js +549 -399
  731. package/source/class/qx/test/ui/form/Label.js +87 -65
  732. package/source/class/qx/test/ui/form/List.js +19 -19
  733. package/source/class/qx/test/ui/form/MenuButton.js +26 -20
  734. package/source/class/qx/test/ui/form/ModelProperty.js +40 -36
  735. package/source/class/qx/test/ui/form/ModelSelection.js +39 -84
  736. package/source/class/qx/test/ui/form/NumberFormat.js +30 -19
  737. package/source/class/qx/test/ui/form/Placeholder.js +147 -87
  738. package/source/class/qx/test/ui/form/RadioButtonGroup.js +31 -26
  739. package/source/class/qx/test/ui/form/RadioGroup.js +58 -54
  740. package/source/class/qx/test/ui/form/Range.js +63 -28
  741. package/source/class/qx/test/ui/form/Renderer.js +39 -33
  742. package/source/class/qx/test/ui/form/Resetter.js +21 -35
  743. package/source/class/qx/test/ui/form/Slider.js +37 -21
  744. package/source/class/qx/test/ui/form/Spinner.js +9 -5
  745. package/source/class/qx/test/ui/form/SplitButton.js +7 -11
  746. package/source/class/qx/test/ui/form/StringFormat.js +60 -30
  747. package/source/class/qx/test/ui/form/TextArea.js +59 -41
  748. package/source/class/qx/test/ui/form/TextField.js +14 -16
  749. package/source/class/qx/test/ui/form/ToggleButton.js +20 -24
  750. package/source/class/qx/test/ui/form/VirtualSelectBox.js +66 -40
  751. package/source/class/qx/test/ui/form/__init__.js +4 -4
  752. package/source/class/qx/test/ui/form/virtual/VirtualComboBox.js +58 -60
  753. package/source/class/qx/test/ui/form/virtual/VirtualDropDownList.js +120 -110
  754. package/source/class/qx/test/ui/form/virtual/VirtualSelectBox.js +43 -27
  755. package/source/class/qx/test/ui/groupbox/CheckGroupBox.js +13 -18
  756. package/source/class/qx/test/ui/indicator/ProgressBar.js +73 -48
  757. package/source/class/qx/test/ui/layout/Box.js +23 -22
  758. package/source/class/qx/test/ui/layout/Flow.js +233 -153
  759. package/source/class/qx/test/ui/layout/Grid.js +88 -101
  760. package/source/class/qx/test/ui/layout/LayoutItem.js +57 -83
  761. package/source/class/qx/test/ui/layout/LayoutRoot.js +7 -11
  762. package/source/class/qx/test/ui/layout/Util.js +30 -31
  763. package/source/class/qx/test/ui/layout/__init__.js +4 -4
  764. package/source/class/qx/test/ui/list/AbstractListTest.js +13 -21
  765. package/source/class/qx/test/ui/list/Group.js +191 -114
  766. package/source/class/qx/test/ui/list/List.js +189 -132
  767. package/source/class/qx/test/ui/list/MAssert.js +14 -9
  768. package/source/class/qx/test/ui/list/ObjectGroup.js +131 -109
  769. package/source/class/qx/test/ui/list/core/MultiSelection.js +58 -44
  770. package/source/class/qx/test/ui/list/core/SingleSelection.js +43 -43
  771. package/source/class/qx/test/ui/list/fixture/GroupMock.js +6 -9
  772. package/source/class/qx/test/ui/list/fixture/ItemMock.js +9 -13
  773. package/source/class/qx/test/ui/root/Inline.js +22 -20
  774. package/source/class/qx/test/ui/selection/AbstractMultiSelectonTest.js +188 -105
  775. package/source/class/qx/test/ui/selection/AbstractSingleSelectonTest.js +173 -125
  776. package/source/class/qx/test/ui/selection/ListMultiSelection.js +19 -21
  777. package/source/class/qx/test/ui/selection/ListSingleSelection.js +19 -21
  778. package/source/class/qx/test/ui/selection/RadioGroup.js +41 -29
  779. package/source/class/qx/test/ui/selection/SelectBox.js +11 -17
  780. package/source/class/qx/test/ui/selection/Stack.js +22 -27
  781. package/source/class/qx/test/ui/selection/TabView.js +35 -26
  782. package/source/class/qx/test/ui/selection/TreeMultiSelection.js +14 -19
  783. package/source/class/qx/test/ui/selection/TreeSingleSelection.js +20 -24
  784. package/source/class/qx/test/ui/selection/__init__.js +4 -4
  785. package/source/class/qx/test/ui/table/Dispose.js +46 -46
  786. package/source/class/qx/test/ui/table/Table.js +74 -69
  787. package/source/class/qx/test/ui/table/__init__.js +4 -4
  788. package/source/class/qx/test/ui/table/celleditor/AbstractField.js +14 -28
  789. package/source/class/qx/test/ui/table/celleditor/ComboBox.js +11 -18
  790. package/source/class/qx/test/ui/table/celleditor/PasswordField.js +6 -10
  791. package/source/class/qx/test/ui/table/celleditor/SelectBox.js +16 -32
  792. package/source/class/qx/test/ui/table/celleditor/TextField.js +6 -9
  793. package/source/class/qx/test/ui/table/celleditor/__init__.js +4 -4
  794. package/source/class/qx/test/ui/table/columnmodel/Basic.js +130 -129
  795. package/source/class/qx/test/ui/table/model/Filtered.js +51 -36
  796. package/source/class/qx/test/ui/table/model/Simple.js +43 -45
  797. package/source/class/qx/test/ui/table/selection/Model.js +70 -22
  798. package/source/class/qx/test/ui/toolbar/OverflowHandling.js +145 -123
  799. package/source/class/qx/test/ui/toolbar/ToolBar.js +20 -30
  800. package/source/class/qx/test/ui/tree/Tree.js +63 -42
  801. package/source/class/qx/test/ui/tree/TreeFolder.js +44 -46
  802. package/source/class/qx/test/ui/tree/virtual/AbstractTreeTest.js +61 -96
  803. package/source/class/qx/test/ui/tree/virtual/MultiSelection.js +68 -39
  804. package/source/class/qx/test/ui/tree/virtual/OneSelection.js +82 -42
  805. package/source/class/qx/test/ui/tree/virtual/OpenCloseController.js +80 -101
  806. package/source/class/qx/test/ui/tree/virtual/SingleSelection.js +40 -32
  807. package/source/class/qx/test/ui/tree/virtual/Sorting.js +46 -47
  808. package/source/class/qx/test/ui/tree/virtual/Tree.js +267 -191
  809. package/source/class/qx/test/ui/tree/virtual/TreeItem.js +60 -63
  810. package/source/class/qx/test/ui/tree/virtual/UtilTest.js +65 -50
  811. package/source/class/qx/test/ui/tree/virtual/WidgetProvider.js +127 -132
  812. package/source/class/qx/test/ui/virtual/Axis.js +210 -193
  813. package/source/class/qx/test/ui/virtual/Pane.js +287 -190
  814. package/source/class/qx/test/ui/virtual/PaneUpdate.js +71 -77
  815. package/source/class/qx/test/ui/virtual/PointerEventMock.js +10 -13
  816. package/source/class/qx/test/ui/virtual/Scroller.js +29 -39
  817. package/source/class/qx/test/ui/virtual/__init__.js +4 -4
  818. package/source/class/qx/test/ui/virtual/cell/WidgetCell.js +39 -40
  819. package/source/class/qx/test/ui/virtual/layer/CellSpanManager.js +157 -127
  820. package/source/class/qx/test/ui/virtual/layer/Column.js +6 -10
  821. package/source/class/qx/test/ui/virtual/layer/GridLines.js +6 -10
  822. package/source/class/qx/test/ui/virtual/layer/GridLinesHorizontal.js +6 -9
  823. package/source/class/qx/test/ui/virtual/layer/GridLinesVertical.js +6 -9
  824. package/source/class/qx/test/ui/virtual/layer/HtmlCell.js +12 -19
  825. package/source/class/qx/test/ui/virtual/layer/HtmlCellSpan.js +13 -21
  826. package/source/class/qx/test/ui/virtual/layer/LayerMock.js +31 -43
  827. package/source/class/qx/test/ui/virtual/layer/LayerSimple.js +26 -26
  828. package/source/class/qx/test/ui/virtual/layer/LayerTestCase.js +52 -50
  829. package/source/class/qx/test/ui/virtual/layer/Row.js +6 -10
  830. package/source/class/qx/test/ui/virtual/layer/WidgetCell.js +45 -52
  831. package/source/class/qx/test/ui/virtual/layer/WidgetCellSpan.js +71 -48
  832. package/source/class/qx/test/ui/virtual/layer/__init__.js +4 -4
  833. package/source/class/qx/test/ui/virtual/performance/AbstractLayerTest.js +84 -68
  834. package/source/class/qx/test/ui/virtual/performance/DomCell.js +6 -9
  835. package/source/class/qx/test/ui/virtual/performance/DomPoolCell.js +6 -9
  836. package/source/class/qx/test/ui/virtual/performance/HtmlDivCell.js +7 -11
  837. package/source/class/qx/test/ui/virtual/performance/HtmlDivRelative.js +6 -9
  838. package/source/class/qx/test/ui/virtual/performance/HtmlTableCell.js +8 -13
  839. package/source/class/qx/test/ui/virtual/performance/HtmlTableCellNaive.js +8 -13
  840. package/source/class/qx/test/ui/virtual/performance/HtmlTableCssCell.js +8 -19
  841. package/source/class/qx/test/ui/virtual/performance/WidgetCell.js +10 -15
  842. package/source/class/qx/test/ui/virtual/performance/__init__.js +4 -4
  843. package/source/class/qx/test/ui/virtual/performance/layer/DomCell.js +24 -18
  844. package/source/class/qx/test/ui/virtual/performance/layer/DomPoolCell.js +28 -26
  845. package/source/class/qx/test/ui/virtual/performance/layer/HtmlDivRelative.js +13 -17
  846. package/source/class/qx/test/ui/virtual/performance/layer/HtmlTableCell.js +29 -28
  847. package/source/class/qx/test/ui/virtual/performance/layer/HtmlTableCellNaive.js +22 -24
  848. package/source/class/qx/test/ui/virtual/performance/layer/HtmlTableCssCell.js +32 -47
  849. package/source/class/qx/test/ui/virtual/performance/layer/__init__.js +4 -4
  850. package/source/class/qx/test/ui/window/Desktop.js +21 -12
  851. package/source/class/qx/test/util/Base64.js +10 -13
  852. package/source/class/qx/test/util/ColorUtil.js +121 -54
  853. package/source/class/qx/test/util/DateFormat.js +582 -351
  854. package/source/class/qx/test/util/DateMock.js +16 -19
  855. package/source/class/qx/test/util/DeferredCall.js +12 -13
  856. package/source/class/qx/test/util/Delegate.js +28 -26
  857. package/source/class/qx/test/util/DisposeUtil.js +32 -14
  858. package/source/class/qx/test/util/DynamicScriptLoader.js +99 -64
  859. package/source/class/qx/test/util/Fsm.js +16 -18
  860. package/source/class/qx/test/util/Function.js +23 -19
  861. package/source/class/qx/test/util/LibraryManager.js +15 -22
  862. package/source/class/qx/test/util/NumberFormat.js +53 -64
  863. package/source/class/qx/test/util/PropertyUtil.js +35 -35
  864. package/source/class/qx/test/util/Request.js +26 -18
  865. package/source/class/qx/test/util/ResourceManager.js +50 -35
  866. package/source/class/qx/test/util/ResponseParser.js +45 -35
  867. package/source/class/qx/test/util/RingBuffer.js +15 -28
  868. package/source/class/qx/test/util/Serializer.js +210 -153
  869. package/source/class/qx/test/util/StringBuilder.js +7 -13
  870. package/source/class/qx/test/util/StringSplit.js +114 -69
  871. package/source/class/qx/test/util/Uri.js +74 -78
  872. package/source/class/qx/test/util/Validate.js +95 -64
  873. package/source/class/qx/test/util/placement/BestFitAxis.js +17 -26
  874. package/source/class/qx/test/util/placement/DirectAxis.js +8 -11
  875. package/source/class/qx/test/util/placement/KeepAlignAxis.js +17 -26
  876. package/source/class/qx/test/util/placement/Placement.js +607 -244
  877. package/source/class/qx/test/util/placement/__init__.js +4 -4
  878. package/source/class/qx/theme/Classic.js +9 -11
  879. package/source/class/qx/theme/Indigo.js +9 -11
  880. package/source/class/qx/theme/Modern.js +9 -11
  881. package/source/class/qx/theme/Simple.js +9 -11
  882. package/source/class/qx/theme/TangibleDark.js +1 -1
  883. package/source/class/qx/theme/TangibleLight.js +1 -1
  884. package/source/class/qx/theme/__init__.js +4 -4
  885. package/source/class/qx/theme/classic/Appearance.js +995 -1336
  886. package/source/class/qx/theme/classic/Color.js +83 -83
  887. package/source/class/qx/theme/classic/Decoration.js +318 -299
  888. package/source/class/qx/theme/classic/Font.js +38 -25
  889. package/source/class/qx/theme/icon/Oxygen.js +4 -5
  890. package/source/class/qx/theme/icon/Tango.js +4 -5
  891. package/source/class/qx/theme/indigo/Appearance.js +66 -85
  892. package/source/class/qx/theme/indigo/Color.js +65 -66
  893. package/source/class/qx/theme/indigo/Decoration.js +31 -45
  894. package/source/class/qx/theme/indigo/Font.js +20 -29
  895. package/source/class/qx/theme/manager/Appearance.js +58 -91
  896. package/source/class/qx/theme/manager/Color.js +20 -41
  897. package/source/class/qx/theme/manager/Decoration.js +72 -100
  898. package/source/class/qx/theme/manager/Font.js +51 -67
  899. package/source/class/qx/theme/manager/Icon.js +13 -27
  900. package/source/class/qx/theme/manager/Meta.js +27 -44
  901. package/source/class/qx/theme/modern/Appearance.js +1049 -1440
  902. package/source/class/qx/theme/modern/Color.js +155 -166
  903. package/source/class/qx/theme/modern/Decoration.js +471 -598
  904. package/source/class/qx/theme/modern/Font.js +59 -52
  905. package/source/class/qx/theme/simple/Appearance.js +936 -1207
  906. package/source/class/qx/theme/simple/Color.js +62 -62
  907. package/source/class/qx/theme/simple/Decoration.js +456 -678
  908. package/source/class/qx/theme/simple/Font.js +18 -25
  909. package/source/class/qx/theme/simple/Image.js +49 -52
  910. package/source/class/qx/theme/tangible/Appearance.js +1575 -1743
  911. package/source/class/qx/theme/tangible/ColorDark.js +5 -5
  912. package/source/class/qx/theme/tangible/ColorEngine.js +38 -35
  913. package/source/class/qx/theme/tangible/ColorLight.js +7 -7
  914. package/source/class/qx/theme/tangible/Decoration.js +1108 -1300
  915. package/source/class/qx/theme/tangible/Font.js +66 -70
  916. package/source/class/qx/theme/tangible/Image.js +44 -48
  917. package/source/class/qx/tool/cli/Application.js +5 -5
  918. package/source/class/qx/tool/cli/Cli.js +103 -52
  919. package/source/class/qx/tool/cli/ConfigDb.js +18 -15
  920. package/source/class/qx/tool/cli/LibraryApplication.js +1 -1
  921. package/source/class/qx/tool/cli/Watch.js +174 -102
  922. package/source/class/qx/tool/cli/api/AbstractApi.js +17 -18
  923. package/source/class/qx/tool/cli/api/CompilerApi.js +15 -8
  924. package/source/class/qx/tool/cli/api/LibraryApi.js +4 -6
  925. package/source/class/qx/tool/cli/api/Test.js +12 -9
  926. package/source/class/qx/tool/cli/commands/Add.js +12 -15
  927. package/source/class/qx/tool/cli/commands/Clean.js +10 -9
  928. package/source/class/qx/tool/cli/commands/Command.js +18 -13
  929. package/source/class/qx/tool/cli/commands/Compile.js +630 -264
  930. package/source/class/qx/tool/cli/commands/Config.js +75 -42
  931. package/source/class/qx/tool/cli/commands/Create.js +108 -59
  932. package/source/class/qx/tool/cli/commands/Deploy.js +138 -86
  933. package/source/class/qx/tool/cli/commands/Es6ify.js +118 -0
  934. package/source/class/qx/tool/cli/commands/Lint.js +75 -34
  935. package/source/class/qx/tool/cli/commands/Migrate.js +13 -7
  936. package/source/class/qx/tool/cli/commands/Package.js +67 -45
  937. package/source/class/qx/tool/cli/commands/Pkg.js +21 -18
  938. package/source/class/qx/tool/cli/commands/Run.js +57 -37
  939. package/source/class/qx/tool/cli/commands/Serve.js +62 -37
  940. package/source/class/qx/tool/cli/commands/Test.js +40 -18
  941. package/source/class/qx/tool/cli/commands/add/Class.js +66 -28
  942. package/source/class/qx/tool/cli/commands/add/Script.js +54 -27
  943. package/source/class/qx/tool/cli/commands/package/Install.js +265 -103
  944. package/source/class/qx/tool/cli/commands/package/List.js +199 -75
  945. package/source/class/qx/tool/cli/commands/package/Migrate.js +7 -3
  946. package/source/class/qx/tool/cli/commands/package/Publish.js +209 -117
  947. package/source/class/qx/tool/cli/commands/package/Remove.js +40 -17
  948. package/source/class/qx/tool/cli/commands/package/Update.js +115 -48
  949. package/source/class/qx/tool/cli/commands/package/Upgrade.js +41 -20
  950. package/source/class/qx/tool/compiler/Analyser.js +427 -222
  951. package/source/class/qx/tool/compiler/ClassFile.js +831 -401
  952. package/source/class/qx/tool/compiler/Console.js +136 -87
  953. package/source/class/qx/tool/compiler/Es6ify.js +404 -0
  954. package/source/class/qx/tool/compiler/Preprocess.js +28 -25
  955. package/source/class/qx/tool/compiler/app/Application.js +149 -72
  956. package/source/class/qx/tool/compiler/app/Cldr.js +506 -106
  957. package/source/class/qx/tool/compiler/app/Library.js +62 -27
  958. package/source/class/qx/tool/compiler/app/Part.js +10 -12
  959. package/source/class/qx/tool/compiler/app/Translation.js +189 -162
  960. package/source/class/qx/tool/compiler/app/WebFont.js +215 -161
  961. package/source/class/qx/tool/compiler/jsdoc/ChildControlParser.js +3 -3
  962. package/source/class/qx/tool/compiler/jsdoc/CommandParser.js +8 -9
  963. package/source/class/qx/tool/compiler/jsdoc/ParamParser.js +7 -6
  964. package/source/class/qx/tool/compiler/jsdoc/Parser.js +27 -18
  965. package/source/class/qx/tool/compiler/jsdoc/ReturnParser.js +3 -3
  966. package/source/class/qx/tool/compiler/jsdoc/ThrowsParser.js +4 -4
  967. package/source/class/qx/tool/compiler/makers/AbstractAppMaker.js +5 -6
  968. package/source/class/qx/tool/compiler/makers/AppMaker.js +38 -18
  969. package/source/class/qx/tool/compiler/makers/Maker.js +29 -21
  970. package/source/class/qx/tool/compiler/resources/AbstractMatcher.js +8 -8
  971. package/source/class/qx/tool/compiler/resources/Asset.js +123 -61
  972. package/source/class/qx/tool/compiler/resources/ImageLoader.js +18 -8
  973. package/source/class/qx/tool/compiler/resources/Manager.js +156 -93
  974. package/source/class/qx/tool/compiler/resources/MetaLoader.js +5 -3
  975. package/source/class/qx/tool/compiler/resources/ResourceConverter.js +8 -8
  976. package/source/class/qx/tool/compiler/resources/ResourceLoader.js +8 -9
  977. package/source/class/qx/tool/compiler/resources/ScssConverter.js +54 -18
  978. package/source/class/qx/tool/compiler/resources/ScssFile.js +157 -80
  979. package/source/class/qx/tool/compiler/resources/ScssIncludeConverter.js +3 -3
  980. package/source/class/qx/tool/compiler/targets/BuildTarget.js +23 -13
  981. package/source/class/qx/tool/compiler/targets/SourceCodeCopier.js +29 -9
  982. package/source/class/qx/tool/compiler/targets/SourceTarget.js +2 -2
  983. package/source/class/qx/tool/compiler/targets/Target.js +292 -188
  984. package/source/class/qx/tool/compiler/targets/TypeScriptWriter.js +163 -103
  985. package/source/class/qx/tool/compiler/targets/meta/AbstractJavascriptMeta.js +48 -23
  986. package/source/class/qx/tool/compiler/targets/meta/ApplicationMeta.js +75 -62
  987. package/source/class/qx/tool/compiler/targets/meta/BootJs.js +49 -29
  988. package/source/class/qx/tool/compiler/targets/meta/Javascript.js +6 -7
  989. package/source/class/qx/tool/compiler/targets/meta/Package.js +54 -51
  990. package/source/class/qx/tool/compiler/targets/meta/PackageJavascript.js +41 -21
  991. package/source/class/qx/tool/compiler/targets/meta/Part.js +9 -10
  992. package/source/class/qx/tool/compiler/targets/meta/PolyfillJs.js +10 -5
  993. package/source/class/qx/tool/compiler/targets/meta/Uglify.js +35 -23
  994. package/source/class/qx/tool/config/Abstract.js +61 -25
  995. package/source/class/qx/tool/config/Compile.js +3 -2
  996. package/source/class/qx/tool/config/Lockfile.js +3 -2
  997. package/source/class/qx/tool/config/Manifest.js +3 -2
  998. package/source/class/qx/tool/config/Registry.js +4 -3
  999. package/source/class/qx/tool/config/Utils.js +88 -37
  1000. package/source/class/qx/tool/migration/BaseMigration.js +67 -25
  1001. package/source/class/qx/tool/migration/M6_0_0.js +96 -46
  1002. package/source/class/qx/tool/migration/M7_0_0.js +12 -6
  1003. package/source/class/qx/tool/migration/Runner.js +28 -14
  1004. package/source/class/qx/tool/utils/IndexedArray.js +15 -18
  1005. package/source/class/qx/tool/utils/Json.js +35 -14
  1006. package/source/class/qx/tool/utils/LogManager.js +50 -26
  1007. package/source/class/qx/tool/utils/Logger.js +11 -12
  1008. package/source/class/qx/tool/utils/Promisify.js +45 -49
  1009. package/source/class/qx/tool/utils/Utils.js +63 -48
  1010. package/source/class/qx/tool/utils/Values.js +4 -7
  1011. package/source/class/qx/tool/utils/Website.js +82 -29
  1012. package/source/class/qx/tool/utils/files/FindFiles.js +37 -33
  1013. package/source/class/qx/tool/utils/files/Utils.js +74 -54
  1014. package/source/class/qx/tool/utils/json/Parser.js +163 -54
  1015. package/source/class/qx/tool/utils/json/Stringify.js +87 -72
  1016. package/source/class/qx/tool/utils/json/Tokenizer.js +64 -39
  1017. package/source/class/qx/tool/utils/json/Writer.js +20 -21
  1018. package/source/class/qx/type/Array.js +19 -41
  1019. package/source/class/qx/type/BaseArray.js +136 -151
  1020. package/source/class/qx/type/BaseError.js +17 -34
  1021. package/source/class/qx/type/BaseString.js +104 -121
  1022. package/source/class/qx/type/__init__.js +3 -3
  1023. package/source/class/qx/ui/basic/Atom.js +75 -109
  1024. package/source/class/qx/ui/basic/Image.js +283 -319
  1025. package/source/class/qx/ui/basic/Label.js +161 -208
  1026. package/source/class/qx/ui/command/Command.js +51 -86
  1027. package/source/class/qx/ui/command/Group.js +43 -50
  1028. package/source/class/qx/ui/command/GroupManager.js +50 -53
  1029. package/source/class/qx/ui/container/Composite.js +15 -29
  1030. package/source/class/qx/ui/container/Resizer.js +7 -11
  1031. package/source/class/qx/ui/container/Scroll.js +10 -21
  1032. package/source/class/qx/ui/container/SlideBar.js +76 -119
  1033. package/source/class/qx/ui/container/Stack.js +27 -54
  1034. package/source/class/qx/ui/control/ColorPopup.js +109 -130
  1035. package/source/class/qx/ui/control/ColorSelector.js +334 -301
  1036. package/source/class/qx/ui/control/DateChooser.js +143 -177
  1037. package/source/class/qx/ui/core/Blocker.js +91 -127
  1038. package/source/class/qx/ui/core/ColumnData.js +16 -34
  1039. package/source/class/qx/ui/core/DragDropCursor.js +17 -30
  1040. package/source/class/qx/ui/core/DragDropScrolling.js +8 -14
  1041. package/source/class/qx/ui/core/EventHandler.js +108 -132
  1042. package/source/class/qx/ui/core/FocusHandler.js +78 -127
  1043. package/source/class/qx/ui/core/IMultiSelection.js +5 -9
  1044. package/source/class/qx/ui/core/ISingleSelection.js +10 -16
  1045. package/source/class/qx/ui/core/ISingleSelectionProvider.js +4 -6
  1046. package/source/class/qx/ui/core/LayoutItem.js +190 -306
  1047. package/source/class/qx/ui/core/MBlocker.js +22 -38
  1048. package/source/class/qx/ui/core/MChildrenHandling.js +14 -29
  1049. package/source/class/qx/ui/core/MContentPadding.js +50 -69
  1050. package/source/class/qx/ui/core/MDragDropScrolling.js +82 -80
  1051. package/source/class/qx/ui/core/MExecutable.js +27 -52
  1052. package/source/class/qx/ui/core/MLayoutHandling.js +6 -14
  1053. package/source/class/qx/ui/core/MMovable.js +64 -80
  1054. package/source/class/qx/ui/core/MMultiSelectionHandling.js +68 -87
  1055. package/source/class/qx/ui/core/MNativeOverflow.js +16 -26
  1056. package/source/class/qx/ui/core/MPlacement.js +171 -170
  1057. package/source/class/qx/ui/core/MRemoteChildrenHandling.js +14 -27
  1058. package/source/class/qx/ui/core/MRemoteLayoutHandling.js +4 -7
  1059. package/source/class/qx/ui/core/MResizable.js +142 -175
  1060. package/source/class/qx/ui/core/MSingleSelectionHandling.js +40 -45
  1061. package/source/class/qx/ui/core/SingleSelectionManager.js +41 -60
  1062. package/source/class/qx/ui/core/Spacer.js +12 -22
  1063. package/source/class/qx/ui/core/Widget.js +628 -983
  1064. package/source/class/qx/ui/core/queue/Appearance.js +15 -24
  1065. package/source/class/qx/ui/core/queue/Dispose.js +7 -16
  1066. package/source/class/qx/ui/core/queue/Layout.js +44 -71
  1067. package/source/class/qx/ui/core/queue/Manager.js +140 -133
  1068. package/source/class/qx/ui/core/queue/Visibility.js +21 -39
  1069. package/source/class/qx/ui/core/queue/Widget.js +15 -26
  1070. package/source/class/qx/ui/core/scroll/AbstractScrollArea.js +124 -162
  1071. package/source/class/qx/ui/core/scroll/IScrollBar.js +13 -24
  1072. package/source/class/qx/ui/core/scroll/MRoll.js +14 -19
  1073. package/source/class/qx/ui/core/scroll/MScrollBarFactory.js +3 -6
  1074. package/source/class/qx/ui/core/scroll/MWheelHandling.js +10 -12
  1075. package/source/class/qx/ui/core/scroll/NativeScrollBar.js +101 -125
  1076. package/source/class/qx/ui/core/scroll/ScrollBar.js +86 -130
  1077. package/source/class/qx/ui/core/scroll/ScrollPane.js +95 -134
  1078. package/source/class/qx/ui/core/scroll/ScrollSlider.js +13 -19
  1079. package/source/class/qx/ui/core/scroll/__init__.js +4 -4
  1080. package/source/class/qx/ui/core/selection/Abstract.js +255 -456
  1081. package/source/class/qx/ui/core/selection/ScrollArea.js +35 -73
  1082. package/source/class/qx/ui/core/selection/Widget.js +57 -120
  1083. package/source/class/qx/ui/decoration/Abstract.js +11 -20
  1084. package/source/class/qx/ui/decoration/Decorator.js +56 -55
  1085. package/source/class/qx/ui/decoration/IDecorator.js +5 -11
  1086. package/source/class/qx/ui/decoration/MBackgroundColor.js +13 -20
  1087. package/source/class/qx/ui/decoration/MBackgroundImage.js +82 -77
  1088. package/source/class/qx/ui/decoration/MBorderImage.js +72 -94
  1089. package/source/class/qx/ui/decoration/MBorderRadius.js +35 -38
  1090. package/source/class/qx/ui/decoration/MBoxShadow.js +61 -55
  1091. package/source/class/qx/ui/decoration/MDoubleBorder.js +157 -155
  1092. package/source/class/qx/ui/decoration/MLinearBackgroundGradient.js +169 -89
  1093. package/source/class/qx/ui/decoration/MSingleBorder.js +138 -124
  1094. package/source/class/qx/ui/decoration/MTransition.js +46 -42
  1095. package/source/class/qx/ui/decoration/__init__.js +2 -2
  1096. package/source/class/qx/ui/embed/AbstractIframe.js +37 -55
  1097. package/source/class/qx/ui/embed/Canvas.js +34 -66
  1098. package/source/class/qx/ui/embed/Html.js +46 -70
  1099. package/source/class/qx/ui/embed/Iframe.js +178 -158
  1100. package/source/class/qx/ui/embed/ThemedIframe.js +91 -135
  1101. package/source/class/qx/ui/form/AbstractField.js +262 -303
  1102. package/source/class/qx/ui/form/AbstractSelectBox.js +65 -87
  1103. package/source/class/qx/ui/form/Button.js +35 -73
  1104. package/source/class/qx/ui/form/CheckBox.js +26 -48
  1105. package/source/class/qx/ui/form/CheckedList.js +41 -25
  1106. package/source/class/qx/ui/form/CheckedSelectBox.js +97 -62
  1107. package/source/class/qx/ui/form/ComboBox.js +93 -121
  1108. package/source/class/qx/ui/form/DateField.js +140 -181
  1109. package/source/class/qx/ui/form/Form.js +50 -69
  1110. package/source/class/qx/ui/form/HoverButton.js +37 -54
  1111. package/source/class/qx/ui/form/IArrayForm.js +8 -16
  1112. package/source/class/qx/ui/form/IBooleanForm.js +8 -16
  1113. package/source/class/qx/ui/form/IColorForm.js +8 -16
  1114. package/source/class/qx/ui/form/IDateForm.js +8 -16
  1115. package/source/class/qx/ui/form/IExecutable.js +7 -14
  1116. package/source/class/qx/ui/form/IField.js +7 -14
  1117. package/source/class/qx/ui/form/IForm.js +17 -32
  1118. package/source/class/qx/ui/form/IListItem.js +1 -4
  1119. package/source/class/qx/ui/form/IModel.js +7 -15
  1120. package/source/class/qx/ui/form/IModelForm.js +8 -16
  1121. package/source/class/qx/ui/form/IModelSelection.js +4 -8
  1122. package/source/class/qx/ui/form/INumberForm.js +8 -15
  1123. package/source/class/qx/ui/form/IRadioItem.js +8 -17
  1124. package/source/class/qx/ui/form/IRange.js +10 -20
  1125. package/source/class/qx/ui/form/IStringForm.js +8 -16
  1126. package/source/class/qx/ui/form/List.js +82 -122
  1127. package/source/class/qx/ui/form/ListItem.js +21 -38
  1128. package/source/class/qx/ui/form/MForm.js +35 -41
  1129. package/source/class/qx/ui/form/MModelProperty.js +9 -14
  1130. package/source/class/qx/ui/form/MModelSelection.js +30 -32
  1131. package/source/class/qx/ui/form/MenuButton.js +44 -75
  1132. package/source/class/qx/ui/form/PasswordField.js +4 -6
  1133. package/source/class/qx/ui/form/RadioButton.js +36 -72
  1134. package/source/class/qx/ui/form/RadioButtonGroup.js +67 -82
  1135. package/source/class/qx/ui/form/RadioGroup.js +92 -127
  1136. package/source/class/qx/ui/form/RepeatButton.js +57 -106
  1137. package/source/class/qx/ui/form/Resetter.js +19 -29
  1138. package/source/class/qx/ui/form/SelectBox.js +56 -104
  1139. package/source/class/qx/ui/form/Slider.js +202 -269
  1140. package/source/class/qx/ui/form/Spinner.js +173 -217
  1141. package/source/class/qx/ui/form/SplitButton.js +73 -115
  1142. package/source/class/qx/ui/form/Tag.js +7 -8
  1143. package/source/class/qx/ui/form/TextArea.js +147 -153
  1144. package/source/class/qx/ui/form/TextField.js +37 -46
  1145. package/source/class/qx/ui/form/ToggleButton.js +54 -90
  1146. package/source/class/qx/ui/form/VirtualComboBox.js +73 -113
  1147. package/source/class/qx/ui/form/VirtualSelectBox.js +264 -274
  1148. package/source/class/qx/ui/form/core/AbstractVirtualBox.js +117 -157
  1149. package/source/class/qx/ui/form/core/VirtualDropDownList.js +101 -144
  1150. package/source/class/qx/ui/form/renderer/AbstractRenderer.js +48 -55
  1151. package/source/class/qx/ui/form/renderer/Double.js +25 -34
  1152. package/source/class/qx/ui/form/renderer/IFormRenderer.js +4 -8
  1153. package/source/class/qx/ui/form/renderer/Single.js +25 -35
  1154. package/source/class/qx/ui/form/renderer/SinglePlaceholder.js +12 -11
  1155. package/source/class/qx/ui/form/renderer/__init__.js +5 -5
  1156. package/source/class/qx/ui/form/validation/AsyncValidator.js +13 -19
  1157. package/source/class/qx/ui/form/validation/Manager.js +74 -108
  1158. package/source/class/qx/ui/form/validation/__init__.js +6 -6
  1159. package/source/class/qx/ui/groupbox/CheckGroupBox.js +30 -47
  1160. package/source/class/qx/ui/groupbox/GroupBox.js +36 -75
  1161. package/source/class/qx/ui/groupbox/RadioGroupBox.js +29 -59
  1162. package/source/class/qx/ui/groupbox/__init__.js +3 -3
  1163. package/source/class/qx/ui/indicator/ProgressBar.js +29 -46
  1164. package/source/class/qx/ui/layout/Abstract.js +28 -53
  1165. package/source/class/qx/ui/layout/Atom.js +95 -111
  1166. package/source/class/qx/ui/layout/Basic.js +29 -30
  1167. package/source/class/qx/ui/layout/Canvas.js +62 -99
  1168. package/source/class/qx/ui/layout/Dock.js +266 -250
  1169. package/source/class/qx/ui/layout/Flow.js +50 -76
  1170. package/source/class/qx/ui/layout/Grid.js +268 -343
  1171. package/source/class/qx/ui/layout/Grow.js +26 -32
  1172. package/source/class/qx/ui/layout/HBox.js +137 -153
  1173. package/source/class/qx/ui/layout/LineSizeIterator.js +19 -28
  1174. package/source/class/qx/ui/layout/Util.js +91 -120
  1175. package/source/class/qx/ui/layout/VBox.js +125 -147
  1176. package/source/class/qx/ui/list/List.js +148 -262
  1177. package/source/class/qx/ui/list/core/IListDelegate.js +13 -26
  1178. package/source/class/qx/ui/list/core/MWidgetController.js +51 -78
  1179. package/source/class/qx/ui/list/provider/IListProvider.js +15 -28
  1180. package/source/class/qx/ui/list/provider/WidgetProvider.js +52 -84
  1181. package/source/class/qx/ui/menu/AbstractButton.js +118 -127
  1182. package/source/class/qx/ui/menu/Button.js +11 -25
  1183. package/source/class/qx/ui/menu/ButtonLayout.js +49 -37
  1184. package/source/class/qx/ui/menu/CheckBox.js +21 -46
  1185. package/source/class/qx/ui/menu/Layout.js +45 -51
  1186. package/source/class/qx/ui/menu/Manager.js +131 -209
  1187. package/source/class/qx/ui/menu/Menu.js +164 -259
  1188. package/source/class/qx/ui/menu/MenuSlideBar.js +13 -20
  1189. package/source/class/qx/ui/menu/RadioButton.js +29 -51
  1190. package/source/class/qx/ui/menu/Separator.js +9 -16
  1191. package/source/class/qx/ui/menubar/Button.js +23 -41
  1192. package/source/class/qx/ui/menubar/MenuBar.js +9 -13
  1193. package/source/class/qx/ui/mobile/__init__.js +5 -5
  1194. package/source/class/qx/ui/mobile/basic/Atom.js +79 -101
  1195. package/source/class/qx/ui/mobile/basic/Image.js +80 -86
  1196. package/source/class/qx/ui/mobile/basic/Label.js +38 -54
  1197. package/source/class/qx/ui/mobile/container/Carousel.js +281 -188
  1198. package/source/class/qx/ui/mobile/container/Collapsible.js +57 -77
  1199. package/source/class/qx/ui/mobile/container/Composite.js +9 -13
  1200. package/source/class/qx/ui/mobile/container/Drawer.js +167 -164
  1201. package/source/class/qx/ui/mobile/container/INavigation.js +6 -10
  1202. package/source/class/qx/ui/mobile/container/IScrollDelegate.js +4 -6
  1203. package/source/class/qx/ui/mobile/container/MIScroll.js +108 -100
  1204. package/source/class/qx/ui/mobile/container/MNativeScroll.js +118 -102
  1205. package/source/class/qx/ui/mobile/container/MScrollHandling.js +8 -7
  1206. package/source/class/qx/ui/mobile/container/Navigation.js +46 -65
  1207. package/source/class/qx/ui/mobile/container/Scroll.js +140 -151
  1208. package/source/class/qx/ui/mobile/control/Picker.js +125 -112
  1209. package/source/class/qx/ui/mobile/core/Blocker.js +62 -71
  1210. package/source/class/qx/ui/mobile/core/DomUpdatedHandler.js +24 -60
  1211. package/source/class/qx/ui/mobile/core/EventHandler.js +158 -138
  1212. package/source/class/qx/ui/mobile/core/MChildrenHandling.js +14 -30
  1213. package/source/class/qx/ui/mobile/core/MLayoutHandling.js +6 -14
  1214. package/source/class/qx/ui/mobile/core/MResize.js +16 -30
  1215. package/source/class/qx/ui/mobile/core/Root.js +90 -80
  1216. package/source/class/qx/ui/mobile/core/Widget.js +351 -479
  1217. package/source/class/qx/ui/mobile/dialog/BusyIndicator.js +31 -46
  1218. package/source/class/qx/ui/mobile/dialog/Manager.js +127 -89
  1219. package/source/class/qx/ui/mobile/dialog/Menu.js +111 -122
  1220. package/source/class/qx/ui/mobile/dialog/Popup.js +202 -194
  1221. package/source/class/qx/ui/mobile/embed/Canvas.js +12 -25
  1222. package/source/class/qx/ui/mobile/embed/Html.js +13 -27
  1223. package/source/class/qx/ui/mobile/form/Button.js +12 -18
  1224. package/source/class/qx/ui/mobile/form/CheckBox.js +20 -35
  1225. package/source/class/qx/ui/mobile/form/Form.js +31 -51
  1226. package/source/class/qx/ui/mobile/form/Group.js +18 -30
  1227. package/source/class/qx/ui/mobile/form/Input.js +30 -35
  1228. package/source/class/qx/ui/mobile/form/Label.js +76 -79
  1229. package/source/class/qx/ui/mobile/form/MState.js +20 -27
  1230. package/source/class/qx/ui/mobile/form/MText.js +27 -47
  1231. package/source/class/qx/ui/mobile/form/MValue.js +66 -94
  1232. package/source/class/qx/ui/mobile/form/NumberField.js +30 -47
  1233. package/source/class/qx/ui/mobile/form/PasswordField.js +8 -14
  1234. package/source/class/qx/ui/mobile/form/RadioButton.js +25 -46
  1235. package/source/class/qx/ui/mobile/form/RadioGroup.js +2 -4
  1236. package/source/class/qx/ui/mobile/form/Row.js +14 -29
  1237. package/source/class/qx/ui/mobile/form/SelectBox.js +77 -104
  1238. package/source/class/qx/ui/mobile/form/Slider.js +116 -144
  1239. package/source/class/qx/ui/mobile/form/TextArea.js +26 -39
  1240. package/source/class/qx/ui/mobile/form/TextField.js +18 -28
  1241. package/source/class/qx/ui/mobile/form/Title.js +11 -19
  1242. package/source/class/qx/ui/mobile/form/ToggleButton.js +35 -58
  1243. package/source/class/qx/ui/mobile/form/__init__.js +1 -1
  1244. package/source/class/qx/ui/mobile/form/renderer/AbstractRenderer.js +24 -31
  1245. package/source/class/qx/ui/mobile/form/renderer/Single.js +59 -85
  1246. package/source/class/qx/ui/mobile/form/renderer/SinglePlaceholder.js +8 -16
  1247. package/source/class/qx/ui/mobile/layout/Abstract.js +48 -85
  1248. package/source/class/qx/ui/mobile/layout/AbstractBox.js +93 -125
  1249. package/source/class/qx/ui/mobile/layout/Card.js +133 -116
  1250. package/source/class/qx/ui/mobile/layout/CardAnimation.js +95 -72
  1251. package/source/class/qx/ui/mobile/layout/HBox.js +9 -12
  1252. package/source/class/qx/ui/mobile/layout/VBox.js +9 -12
  1253. package/source/class/qx/ui/mobile/list/IListDelegate.js +5 -9
  1254. package/source/class/qx/ui/mobile/list/List.js +172 -183
  1255. package/source/class/qx/ui/mobile/list/provider/Provider.js +58 -65
  1256. package/source/class/qx/ui/mobile/list/renderer/Abstract.js +54 -82
  1257. package/source/class/qx/ui/mobile/list/renderer/Default.js +39 -55
  1258. package/source/class/qx/ui/mobile/list/renderer/group/Abstract.js +20 -33
  1259. package/source/class/qx/ui/mobile/list/renderer/group/Default.js +29 -45
  1260. package/source/class/qx/ui/mobile/navigationbar/BackButton.js +11 -15
  1261. package/source/class/qx/ui/mobile/navigationbar/Button.js +11 -15
  1262. package/source/class/qx/ui/mobile/navigationbar/NavigationBar.js +23 -29
  1263. package/source/class/qx/ui/mobile/navigationbar/Title.js +12 -20
  1264. package/source/class/qx/ui/mobile/page/Manager.js +195 -169
  1265. package/source/class/qx/ui/mobile/page/NavigationPage.js +132 -196
  1266. package/source/class/qx/ui/mobile/page/Page.js +109 -148
  1267. package/source/class/qx/ui/mobile/tabbar/TabBar.js +41 -62
  1268. package/source/class/qx/ui/mobile/tabbar/TabButton.js +19 -28
  1269. package/source/class/qx/ui/mobile/toolbar/Button.js +7 -11
  1270. package/source/class/qx/ui/mobile/toolbar/Separator.js +11 -15
  1271. package/source/class/qx/ui/mobile/toolbar/ToolBar.js +30 -39
  1272. package/source/class/qx/ui/popup/Manager.js +41 -53
  1273. package/source/class/qx/ui/popup/Popup.js +22 -47
  1274. package/source/class/qx/ui/popup/__init__.js +32 -32
  1275. package/source/class/qx/ui/progressive/Progressive.js +96 -137
  1276. package/source/class/qx/ui/progressive/State.js +12 -19
  1277. package/source/class/qx/ui/progressive/headfoot/Abstract.js +10 -15
  1278. package/source/class/qx/ui/progressive/headfoot/Null.js +4 -7
  1279. package/source/class/qx/ui/progressive/headfoot/Progress.js +67 -69
  1280. package/source/class/qx/ui/progressive/headfoot/TableHeading.js +42 -54
  1281. package/source/class/qx/ui/progressive/model/Abstract.js +8 -15
  1282. package/source/class/qx/ui/progressive/model/Default.js +17 -29
  1283. package/source/class/qx/ui/progressive/renderer/Abstract.js +6 -11
  1284. package/source/class/qx/ui/progressive/renderer/FunctionCaller.js +4 -7
  1285. package/source/class/qx/ui/progressive/renderer/table/Row.js +215 -242
  1286. package/source/class/qx/ui/progressive/renderer/table/Widths.js +32 -47
  1287. package/source/class/qx/ui/progressive/renderer/table/cell/Abstract.js +17 -24
  1288. package/source/class/qx/ui/progressive/renderer/table/cell/Boolean.js +68 -79
  1289. package/source/class/qx/ui/progressive/renderer/table/cell/Conditional.js +146 -199
  1290. package/source/class/qx/ui/progressive/renderer/table/cell/Default.js +14 -32
  1291. package/source/class/qx/ui/progressive/renderer/table/cell/Html.js +2 -3
  1292. package/source/class/qx/ui/progressive/renderer/table/cell/Icon.js +38 -53
  1293. package/source/class/qx/ui/progressive/renderer/table/cell/Image.js +20 -42
  1294. package/source/class/qx/ui/progressive/renderer/table/cell/String.js +6 -12
  1295. package/source/class/qx/ui/progressive/structure/Abstract.js +14 -26
  1296. package/source/class/qx/ui/progressive/structure/Default.js +20 -40
  1297. package/source/class/qx/ui/root/Abstract.js +73 -90
  1298. package/source/class/qx/ui/root/Application.js +57 -61
  1299. package/source/class/qx/ui/root/Inline.js +78 -64
  1300. package/source/class/qx/ui/root/Page.js +25 -46
  1301. package/source/class/qx/ui/splitpane/Blocker.js +20 -30
  1302. package/source/class/qx/ui/splitpane/HLayout.js +53 -49
  1303. package/source/class/qx/ui/splitpane/Pane.js +112 -150
  1304. package/source/class/qx/ui/splitpane/Slider.js +9 -15
  1305. package/source/class/qx/ui/splitpane/Splitter.js +27 -46
  1306. package/source/class/qx/ui/splitpane/VLayout.js +53 -49
  1307. package/source/class/qx/ui/style/Stylesheet.js +12 -19
  1308. package/source/class/qx/ui/table/ICellEditorFactory.js +4 -8
  1309. package/source/class/qx/ui/table/ICellRenderer.js +3 -7
  1310. package/source/class/qx/ui/table/IColumnMenuButton.js +6 -11
  1311. package/source/class/qx/ui/table/IColumnMenuItem.js +5 -8
  1312. package/source/class/qx/ui/table/IHeaderRenderer.js +4 -8
  1313. package/source/class/qx/ui/table/IRowRenderer.js +6 -12
  1314. package/source/class/qx/ui/table/ITableModel.js +23 -41
  1315. package/source/class/qx/ui/table/MTableContextMenu.js +25 -28
  1316. package/source/class/qx/ui/table/Table.js +556 -748
  1317. package/source/class/qx/ui/table/celleditor/AbstractField.js +16 -26
  1318. package/source/class/qx/ui/table/celleditor/CheckBox.js +15 -16
  1319. package/source/class/qx/ui/table/celleditor/ComboBox.js +24 -34
  1320. package/source/class/qx/ui/table/celleditor/Dynamic.js +25 -32
  1321. package/source/class/qx/ui/table/celleditor/PasswordField.js +4 -8
  1322. package/source/class/qx/ui/table/celleditor/SelectBox.js +29 -38
  1323. package/source/class/qx/ui/table/celleditor/TextField.js +9 -14
  1324. package/source/class/qx/ui/table/cellrenderer/Abstract.js +78 -73
  1325. package/source/class/qx/ui/table/cellrenderer/AbstractImage.js +65 -84
  1326. package/source/class/qx/ui/table/cellrenderer/Boolean.js +36 -50
  1327. package/source/class/qx/ui/table/cellrenderer/Conditional.js +74 -63
  1328. package/source/class/qx/ui/table/cellrenderer/Date.js +12 -22
  1329. package/source/class/qx/ui/table/cellrenderer/Debug.js +9 -9
  1330. package/source/class/qx/ui/table/cellrenderer/Default.js +30 -52
  1331. package/source/class/qx/ui/table/cellrenderer/Dynamic.js +13 -24
  1332. package/source/class/qx/ui/table/cellrenderer/Html.js +6 -8
  1333. package/source/class/qx/ui/table/cellrenderer/Image.js +13 -26
  1334. package/source/class/qx/ui/table/cellrenderer/Number.js +13 -24
  1335. package/source/class/qx/ui/table/cellrenderer/Password.js +8 -11
  1336. package/source/class/qx/ui/table/cellrenderer/Replace.js +27 -42
  1337. package/source/class/qx/ui/table/cellrenderer/String.js +5 -7
  1338. package/source/class/qx/ui/table/columnmenu/Button.js +19 -29
  1339. package/source/class/qx/ui/table/columnmenu/MenuItem.js +11 -19
  1340. package/source/class/qx/ui/table/columnmenu/__init__.js +4 -4
  1341. package/source/class/qx/ui/table/columnmenu/grid/__init__.js +4 -4
  1342. package/source/class/qx/ui/table/columnmenu/simple/__init__.js +4 -4
  1343. package/source/class/qx/ui/table/columnmodel/Basic.js +193 -215
  1344. package/source/class/qx/ui/table/columnmodel/Resize.js +65 -111
  1345. package/source/class/qx/ui/table/columnmodel/resizebehavior/Abstract.js +17 -24
  1346. package/source/class/qx/ui/table/columnmodel/resizebehavior/Default.js +66 -117
  1347. package/source/class/qx/ui/table/headerrenderer/Default.js +25 -46
  1348. package/source/class/qx/ui/table/headerrenderer/HeaderCell.js +36 -51
  1349. package/source/class/qx/ui/table/headerrenderer/Icon.js +11 -27
  1350. package/source/class/qx/ui/table/model/Abstract.js +52 -62
  1351. package/source/class/qx/ui/table/model/Filtered.js +121 -153
  1352. package/source/class/qx/ui/table/model/Remote.js +166 -271
  1353. package/source/class/qx/ui/table/model/Simple.js +225 -252
  1354. package/source/class/qx/ui/table/pane/CellEvent.js +25 -32
  1355. package/source/class/qx/ui/table/pane/Clipper.js +8 -12
  1356. package/source/class/qx/ui/table/pane/FocusIndicator.js +42 -48
  1357. package/source/class/qx/ui/table/pane/Header.js +45 -86
  1358. package/source/class/qx/ui/table/pane/Model.js +73 -96
  1359. package/source/class/qx/ui/table/pane/Pane.js +132 -190
  1360. package/source/class/qx/ui/table/pane/Scroller.js +542 -659
  1361. package/source/class/qx/ui/table/rowrenderer/Default.js +75 -86
  1362. package/source/class/qx/ui/table/selection/Manager.js +23 -57
  1363. package/source/class/qx/ui/table/selection/Model.js +89 -179
  1364. package/source/class/qx/ui/tabview/Page.js +48 -79
  1365. package/source/class/qx/ui/tabview/TabButton.js +45 -72
  1366. package/source/class/qx/ui/tabview/TabView.js +94 -141
  1367. package/source/class/qx/ui/toolbar/Button.js +13 -18
  1368. package/source/class/qx/ui/toolbar/CheckBox.js +13 -17
  1369. package/source/class/qx/ui/toolbar/MenuButton.js +18 -34
  1370. package/source/class/qx/ui/toolbar/Part.js +42 -64
  1371. package/source/class/qx/ui/toolbar/PartContainer.js +19 -28
  1372. package/source/class/qx/ui/toolbar/RadioButton.js +12 -19
  1373. package/source/class/qx/ui/toolbar/Separator.js +15 -25
  1374. package/source/class/qx/ui/toolbar/SplitButton.js +19 -28
  1375. package/source/class/qx/ui/toolbar/ToolBar.js +182 -232
  1376. package/source/class/qx/ui/tooltip/Manager.js +125 -123
  1377. package/source/class/qx/ui/tooltip/ToolTip.js +49 -79
  1378. package/source/class/qx/ui/tooltip/__init__.js +23 -23
  1379. package/source/class/qx/ui/tree/Tree.js +95 -148
  1380. package/source/class/qx/ui/tree/TreeFile.js +8 -15
  1381. package/source/class/qx/ui/tree/TreeFolder.js +8 -15
  1382. package/source/class/qx/ui/tree/VirtualTree.js +207 -333
  1383. package/source/class/qx/ui/tree/VirtualTreeItem.js +30 -45
  1384. package/source/class/qx/ui/tree/__init__.js +50 -50
  1385. package/source/class/qx/ui/tree/core/AbstractItem.js +98 -152
  1386. package/source/class/qx/ui/tree/core/AbstractTreeItem.js +83 -137
  1387. package/source/class/qx/ui/tree/core/FolderOpenButton.js +15 -34
  1388. package/source/class/qx/ui/tree/core/IVirtualTree.js +13 -33
  1389. package/source/class/qx/ui/tree/core/IVirtualTreeDelegate.js +9 -16
  1390. package/source/class/qx/ui/tree/core/MWidgetController.js +58 -69
  1391. package/source/class/qx/ui/tree/core/OpenCloseController.js +29 -35
  1392. package/source/class/qx/ui/tree/core/Util.js +12 -16
  1393. package/source/class/qx/ui/tree/provider/IVirtualTreeProvider.js +10 -23
  1394. package/source/class/qx/ui/tree/provider/WidgetProvider.js +39 -67
  1395. package/source/class/qx/ui/tree/selection/SelectionManager.js +27 -41
  1396. package/source/class/qx/ui/treevirtual/DefaultDataCellRenderer.js +2 -3
  1397. package/source/class/qx/ui/treevirtual/MFamily.js +26 -63
  1398. package/source/class/qx/ui/treevirtual/MNode.js +43 -103
  1399. package/source/class/qx/ui/treevirtual/MTreePrimitive.js +41 -52
  1400. package/source/class/qx/ui/treevirtual/SelectionManager.js +44 -58
  1401. package/source/class/qx/ui/treevirtual/SimpleTreeDataCellRenderer.js +172 -229
  1402. package/source/class/qx/ui/treevirtual/SimpleTreeDataModel.js +256 -367
  1403. package/source/class/qx/ui/treevirtual/SimpleTreeDataRowRenderer.js +8 -18
  1404. package/source/class/qx/ui/treevirtual/TreeVirtual.js +155 -250
  1405. package/source/class/qx/ui/treevirtual/celleditor/NodeEditor.js +10 -16
  1406. package/source/class/qx/ui/treevirtual/pane/Scroller.js +14 -11
  1407. package/source/class/qx/ui/virtual/__init__.js +4 -4
  1408. package/source/class/qx/ui/virtual/behavior/Prefetch.js +71 -86
  1409. package/source/class/qx/ui/virtual/cell/Abstract.js +18 -27
  1410. package/source/class/qx/ui/virtual/cell/AbstractImage.js +42 -51
  1411. package/source/class/qx/ui/virtual/cell/AbstractWidget.js +25 -49
  1412. package/source/class/qx/ui/virtual/cell/Boolean.js +31 -44
  1413. package/source/class/qx/ui/virtual/cell/Cell.js +143 -183
  1414. package/source/class/qx/ui/virtual/cell/CellStylesheet.js +31 -38
  1415. package/source/class/qx/ui/virtual/cell/Date.js +15 -24
  1416. package/source/class/qx/ui/virtual/cell/Html.js +9 -20
  1417. package/source/class/qx/ui/virtual/cell/ICell.js +4 -6
  1418. package/source/class/qx/ui/virtual/cell/IWidgetCell.js +7 -12
  1419. package/source/class/qx/ui/virtual/cell/IWidgetCellDelegate.js +4 -6
  1420. package/source/class/qx/ui/virtual/cell/Image.js +8 -14
  1421. package/source/class/qx/ui/virtual/cell/Number.js +14 -23
  1422. package/source/class/qx/ui/virtual/cell/String.js +11 -20
  1423. package/source/class/qx/ui/virtual/cell/WidgetCell.js +13 -16
  1424. package/source/class/qx/ui/virtual/cell/__init__.js +4 -4
  1425. package/source/class/qx/ui/virtual/core/Axis.js +75 -103
  1426. package/source/class/qx/ui/virtual/core/CellEvent.js +23 -31
  1427. package/source/class/qx/ui/virtual/core/IHtmlCellProvider.js +4 -6
  1428. package/source/class/qx/ui/virtual/core/ILayer.js +5 -15
  1429. package/source/class/qx/ui/virtual/core/IWidgetCellProvider.js +5 -7
  1430. package/source/class/qx/ui/virtual/core/Pane.js +199 -242
  1431. package/source/class/qx/ui/virtual/core/Scroller.js +25 -43
  1432. package/source/class/qx/ui/virtual/layer/Abstract.js +44 -83
  1433. package/source/class/qx/ui/virtual/layer/AbstractBackground.js +47 -68
  1434. package/source/class/qx/ui/virtual/layer/CellSpanManager.js +74 -96
  1435. package/source/class/qx/ui/virtual/layer/Column.js +26 -36
  1436. package/source/class/qx/ui/virtual/layer/GridLines.js +43 -70
  1437. package/source/class/qx/ui/virtual/layer/HtmlCell.js +34 -32
  1438. package/source/class/qx/ui/virtual/layer/HtmlCellSpan.js +54 -56
  1439. package/source/class/qx/ui/virtual/layer/Row.js +28 -36
  1440. package/source/class/qx/ui/virtual/layer/WidgetCell.js +87 -123
  1441. package/source/class/qx/ui/virtual/layer/WidgetCellSpan.js +123 -124
  1442. package/source/class/qx/ui/virtual/selection/Abstract.js +26 -54
  1443. package/source/class/qx/ui/virtual/selection/CellLines.js +11 -21
  1444. package/source/class/qx/ui/virtual/selection/CellRectangle.js +45 -73
  1445. package/source/class/qx/ui/virtual/selection/Column.js +16 -35
  1446. package/source/class/qx/ui/virtual/selection/ISelectionDelegate.js +5 -9
  1447. package/source/class/qx/ui/virtual/selection/MModel.js +84 -122
  1448. package/source/class/qx/ui/virtual/selection/Row.js +29 -61
  1449. package/source/class/qx/ui/website/Accordion.js +39 -42
  1450. package/source/class/qx/ui/website/Button.js +17 -25
  1451. package/source/class/qx/ui/website/Calendar.js +243 -172
  1452. package/source/class/qx/ui/website/Carousel.js +169 -155
  1453. package/source/class/qx/ui/website/DatePicker.js +99 -85
  1454. package/source/class/qx/ui/website/Rating.js +35 -53
  1455. package/source/class/qx/ui/website/Slider.js +174 -153
  1456. package/source/class/qx/ui/website/Table.js +482 -456
  1457. package/source/class/qx/ui/website/Tabs.js +225 -180
  1458. package/source/class/qx/ui/website/Widget.js +39 -52
  1459. package/source/class/qx/ui/window/Desktop.js +14 -12
  1460. package/source/class/qx/ui/window/IDesktop.js +8 -10
  1461. package/source/class/qx/ui/window/IWindowManager.js +7 -9
  1462. package/source/class/qx/ui/window/MDesktop.js +34 -62
  1463. package/source/class/qx/ui/window/Manager.js +31 -57
  1464. package/source/class/qx/ui/window/Window.js +250 -351
  1465. package/source/class/qx/util/AliasManager.js +23 -42
  1466. package/source/class/qx/util/Animation.js +248 -191
  1467. package/source/class/qx/util/Base64.js +144 -89
  1468. package/source/class/qx/util/ColorUtil.js +253 -287
  1469. package/source/class/qx/util/DeferredCall.js +21 -30
  1470. package/source/class/qx/util/DeferredCallManager.js +23 -44
  1471. package/source/class/qx/util/Delegate.js +4 -10
  1472. package/source/class/qx/util/DisposeUtil.js +76 -70
  1473. package/source/class/qx/util/DynamicScriptLoader.js +83 -66
  1474. package/source/class/qx/util/EditDistance.js +64 -58
  1475. package/source/class/qx/util/ExtendedColor.js +157 -163
  1476. package/source/class/qx/util/Function.js +8 -8
  1477. package/source/class/qx/util/LibraryManager.js +11 -18
  1478. package/source/class/qx/util/OOUtil.js +17 -36
  1479. package/source/class/qx/util/ObjectPool.js +19 -45
  1480. package/source/class/qx/util/Permutation.js +9 -16
  1481. package/source/class/qx/util/PropertyUtil.js +58 -70
  1482. package/source/class/qx/util/Request.js +27 -16
  1483. package/source/class/qx/util/ResourceManager.js +103 -104
  1484. package/source/class/qx/util/ResponseParser.js +14 -21
  1485. package/source/class/qx/util/RingBuffer.js +46 -48
  1486. package/source/class/qx/util/Serializer.js +103 -68
  1487. package/source/class/qx/util/StringBuilder.js +11 -22
  1488. package/source/class/qx/util/StringEscape.js +15 -29
  1489. package/source/class/qx/util/StringSplit.js +18 -21
  1490. package/source/class/qx/util/TimerManager.js +61 -70
  1491. package/source/class/qx/util/Uri.js +42 -30
  1492. package/source/class/qx/util/Uuid.js +50 -35
  1493. package/source/class/qx/util/Validate.js +88 -73
  1494. package/source/class/qx/util/ValueManager.js +17 -29
  1495. package/source/class/qx/util/Wheel.js +22 -16
  1496. package/source/class/qx/util/format/DateFormat.js +822 -759
  1497. package/source/class/qx/util/format/IFormat.js +4 -8
  1498. package/source/class/qx/util/format/NumberFormat.js +84 -91
  1499. package/source/class/qx/util/fsm/FiniteStateMachine.js +323 -382
  1500. package/source/class/qx/util/fsm/State.js +210 -249
  1501. package/source/class/qx/util/fsm/Transition.js +138 -160
  1502. package/source/class/qx/util/placement/AbstractAxis.js +12 -14
  1503. package/source/class/qx/util/placement/BestFitAxis.js +5 -8
  1504. package/source/class/qx/util/placement/DirectAxis.js +5 -7
  1505. package/source/class/qx/util/placement/KeepAlignAxis.js +8 -14
  1506. package/source/class/qx/util/placement/Placement.js +39 -56
  1507. package/source/class/qx/util/placement/__init__.js +4 -4
  1508. package/source/class/qx/xml/Document.js +21 -34
  1509. package/source/class/qx/xml/Element.js +90 -73
  1510. package/source/class/qx/xml/String.js +15 -21
  1511. package/source/class/qxWeb.js +102 -69
  1512. package/source/resource/qx/mobile/js/iscroll.js +1328 -982
  1513. package/source/resource/qx/mobile/js/iscroll.min.js +1081 -1
  1514. package/source/resource/qx/test/dynamicscriptloader/first.js +1 -1
  1515. package/source/resource/qx/test/dynamicscriptloader/second.js +1 -1
  1516. package/source/resource/qx/test/dynamicscriptloader/third.js +1 -1
  1517. package/source/resource/qx/test/script.js +1 -1
  1518. package/source/resource/qx/test/webworker.js +2 -2
  1519. package/source/resource/qx/tool/loadsass.js +16 -15
  1520. package/source/resource/qx/tool/schema/compile-1-0-0.json +13 -13
  1521. package/source/resource/qx/tool/website/build/assets/bluebird.min.js +4593 -9
  1522. package/source/resource/qx/tool/website/build/assets/buttons.js +391 -1
  1523. package/source/resource/qx/tool/website/build/assets/fontawesome-all.js +8963 -1
  1524. package/source/resource/qx/tool/website/build/assets/jquery.js +5452 -3
  1525. package/source/resource/qx/tool/website/build/diagnostics/dependson.js +31 -31
  1526. package/source/resource/qx/tool/website/build/diagnostics/requiredby.js +32 -36
  1527. package/source/resource/qx/tool/website/build/scripts/serve.js +87 -66
  1528. package/source/resource/qx/tool/website/src/assets/bluebird.min.js +4593 -9
  1529. package/source/resource/qx/tool/website/src/assets/buttons.js +391 -1
  1530. package/source/resource/qx/tool/website/src/assets/fontawesome-all.js +8963 -1
  1531. package/source/resource/qx/tool/website/src/assets/jquery.js +5452 -3
  1532. package/source/resource/qx/tool/website/src/diagnostics/dependson.js +31 -31
  1533. package/source/resource/qx/tool/website/src/diagnostics/requiredby.js +32 -36
  1534. package/source/resource/qx/tool/website/src/scripts/serve.js +87 -66
  1535. package/lib/resource/qx/static/blank.gif +0 -0
  1536. package/source/class/qx/io/remote/Exchange.js +0 -1063
  1537. package/source/class/qx/io/remote/Request.js +0 -1021
  1538. package/source/class/qx/io/remote/RequestQueue.js +0 -521
  1539. package/source/class/qx/io/remote/Response.js +0 -137
  1540. package/source/class/qx/io/remote/Rpc.js +0 -1075
  1541. package/source/class/qx/io/remote/RpcError.js +0 -198
  1542. package/source/class/qx/io/remote/__init__.js +0 -88
  1543. package/source/class/qx/io/remote/transport/Abstract.js +0 -513
  1544. package/source/class/qx/io/remote/transport/Iframe.js +0 -652
  1545. package/source/class/qx/io/remote/transport/Script.js +0 -475
  1546. package/source/class/qx/io/remote/transport/XmlHttp.js +0 -1019
  1547. package/source/class/qx/io/remote/transport/__init__.js +0 -3
  1548. package/source/class/qx/test/io/remote/AbstractRequest.js +0 -150
  1549. package/source/class/qx/test/io/remote/RequestIframe.js +0 -105
  1550. package/source/class/qx/test/io/remote/RequestXhr.js +0 -151
  1551. package/source/class/qx/test/io/remote/Rpc.js +0 -205
  1552. package/source/class/qx/test/io/remote/__init__.js +0 -4
  1553. package/source/class/qx/test/io/remote/transport/Iframe.js +0 -67
  1554. package/source/class/qx/test/io/remote/transport/XmlHttp.js +0 -133
  1555. package/source/class/qx/test/io/remote/transport/__init__.js +0 -4
@@ -68,12 +68,9 @@
68
68
  * NOTE: Instances of this class must be disposed of after use
69
69
  *
70
70
  */
71
- qx.Class.define("qx.util.format.DateFormat",
72
- {
73
- extend : qx.core.Object,
74
- implement : [ qx.util.format.IFormat ],
75
-
76
-
71
+ qx.Class.define("qx.util.format.DateFormat", {
72
+ extend: qx.core.Object,
73
+ implement: [qx.util.format.IFormat],
77
74
 
78
75
  /*
79
76
  *****************************************************************************
@@ -87,37 +84,38 @@ qx.Class.define("qx.util.format.DateFormat",
87
84
  * @param locale {String?} optional locale to be used. In case this is not present, the {@link #locale} property of DateFormat
88
85
  * will be following the {@link qx.locale.Manager#locale} property of qx.locale.Manager
89
86
  */
90
- construct : function(format, locale)
91
- {
92
- this.base(arguments);
87
+ construct(format, locale) {
88
+ super();
93
89
 
94
90
  this.__initialLocale = this.__locale = locale;
95
91
 
96
- if (format != null)
97
- {
92
+ if (format != null) {
98
93
  this.__format = format.toString();
99
- if(this.__format in qx.util.format.DateFormat.ISO_MASKS)
100
- {
101
- if(this.__format === 'isoUtcDateTime') {
94
+ if (this.__format in qx.util.format.DateFormat.ISO_MASKS) {
95
+ if (this.__format === "isoUtcDateTime") {
102
96
  this.__UTC = true;
103
97
  }
104
98
  this.__format = qx.util.format.DateFormat.ISO_MASKS[this.__format];
105
99
  }
106
- } else
107
- {
108
- this.__format = qx.locale.Date.getDateFormat("long", this.getLocale()) + " " + qx.locale.Date.getDateTimeFormat("HHmmss", "HH:mm:ss", this.getLocale());
100
+ } else {
101
+ this.__format =
102
+ qx.locale.Date.getDateFormat("long", this.getLocale()) +
103
+ " " +
104
+ qx.locale.Date.getDateTimeFormat(
105
+ "HHmmss",
106
+ "HH:mm:ss",
107
+ this.getLocale()
108
+ );
109
109
  }
110
110
  },
111
111
 
112
-
113
112
  /*
114
113
  *****************************************************************************
115
114
  STATICS
116
115
  *****************************************************************************
117
116
  */
118
117
 
119
- statics :
120
- {
118
+ statics: {
121
119
  /**
122
120
  * Convenience factory that returns a <code>DateFomat</code> instance that
123
121
  * uses a short date-only format. Beware that the overall layout of the
@@ -128,21 +126,22 @@ qx.Class.define("qx.util.format.DateFormat",
128
126
  *
129
127
  * @return {DateFormat} a DateFormat instance.
130
128
  */
131
- getDateInstance : function()
132
- {
129
+ getDateInstance() {
133
130
  var DateFormat = qx.util.format.DateFormat;
134
131
 
135
132
  var format = qx.locale.Date.getDateFormat("short") + "";
136
133
 
137
134
  // Memoizing the instance, so caller doesn't have to dispose it.
138
- if (DateFormat._dateInstance == null || DateFormat._dateInstance.__format != format) {
135
+ if (
136
+ DateFormat._dateInstance == null ||
137
+ DateFormat._dateInstance.__format != format
138
+ ) {
139
139
  DateFormat._dateInstance = new DateFormat(format);
140
140
  }
141
141
 
142
142
  return DateFormat._dateInstance;
143
143
  },
144
144
 
145
-
146
145
  /**
147
146
  * Convenience factory that returns a <code>DateFomat</code> instance that
148
147
  * uses a long date/time format. Beware that the overall layout of the
@@ -153,64 +152,63 @@ qx.Class.define("qx.util.format.DateFormat",
153
152
  *
154
153
  * @return {DateFormat} a DateFormat instance.
155
154
  */
156
- getDateTimeInstance : function()
157
- {
155
+ getDateTimeInstance() {
158
156
  var DateFormat = qx.util.format.DateFormat;
159
157
 
160
- var format = qx.locale.Date.getDateFormat("long") + " " + qx.locale.Date.getDateTimeFormat("HHmmss", "HH:mm:ss");
158
+ var format =
159
+ qx.locale.Date.getDateFormat("long") +
160
+ " " +
161
+ qx.locale.Date.getDateTimeFormat("HHmmss", "HH:mm:ss");
161
162
 
162
163
  // Memoizing the instance, so caller doesn't have to dispose it.
163
- if (DateFormat._dateTimeInstance == null || DateFormat._dateTimeInstance.__format != format) {
164
+ if (
165
+ DateFormat._dateTimeInstance == null ||
166
+ DateFormat._dateTimeInstance.__format != format
167
+ ) {
164
168
  DateFormat._dateTimeInstance = new DateFormat(format);
165
169
  }
166
170
 
167
171
  return DateFormat._dateTimeInstance;
168
172
  },
169
173
 
170
-
171
174
  /**
172
175
  * @type {Integer} The threshold until when a year should be assumed to belong to the
173
176
  * 21st century (e.g. 12 -> 2012). Years over this threshold but below 100 will be
174
177
  * assumed to belong to the 20th century (e.g. 88 -> 1988). Years over 100 will be
175
178
  * used unchanged (e.g. 1792 -> 1792).
176
179
  */
177
- ASSUME_YEAR_2000_THRESHOLD : 30,
180
+ ASSUME_YEAR_2000_THRESHOLD: 30,
178
181
 
179
182
  /** @type {Map} Special masks of patterns that are used frequently*/
180
- ISO_MASKS : {
181
- isoDate : "yyyy-MM-dd",
182
- isoTime : "HH:mm:ss",
183
- isoDateTime : "yyyy-MM-dd'T'HH:mm:ss",
184
- isoDateTimeTz : "yyyy-MM-dd'T'HH:mm:ssZ",
185
- isoUtcDateTime : "yyyy-MM-dd'T'HH:mm:ss'Z'"
183
+ ISO_MASKS: {
184
+ isoDate: "yyyy-MM-dd",
185
+ isoTime: "HH:mm:ss",
186
+ isoDateTime: "yyyy-MM-dd'T'HH:mm:ss",
187
+ isoDateTimeTz: "yyyy-MM-dd'T'HH:mm:ssZ",
188
+ isoUtcDateTime: "yyyy-MM-dd'T'HH:mm:ss'Z'"
186
189
  },
187
190
 
188
191
  /** @type {String} The am marker. */
189
- AM_MARKER : "am",
192
+ AM_MARKER: "am",
190
193
 
191
194
  /** @type {String} The pm marker. */
192
- PM_MARKER : "pm"
193
-
195
+ PM_MARKER: "pm"
194
196
  },
195
197
 
196
-
197
-
198
-
199
198
  /*
200
199
  *****************************************************************************
201
200
  MEMBERS
202
201
  *****************************************************************************
203
202
  */
204
203
 
205
- members :
206
- {
207
- __locale : null,
208
- __initialLocale : null,
209
- __format : null,
210
- __parseFeed : null,
211
- __parseRules : null,
212
- __formatTree : null,
213
- __UTC : null,
204
+ members: {
205
+ __locale: null,
206
+ __initialLocale: null,
207
+ __format: null,
208
+ __parseFeed: null,
209
+ __parseRules: null,
210
+ __formatTree: null,
211
+ __UTC: null,
214
212
 
215
213
  /**
216
214
  * Fills a number with leading zeros ("25" -> "0025").
@@ -219,9 +217,8 @@ qx.Class.define("qx.util.format.DateFormat",
219
217
  * @param minSize {Integer} the minimum size the returned string should have.
220
218
  * @return {String} the filled number as string.
221
219
  */
222
- __fillNumber : function(number, minSize)
223
- {
224
- var str = "" + (number < 0 ? ((-1) * number) : number);
220
+ __fillNumber(number, minSize) {
221
+ var str = "" + (number < 0 ? -1 * number : number);
225
222
 
226
223
  while (str.length < minSize) {
227
224
  str = "0" + str;
@@ -230,20 +227,17 @@ qx.Class.define("qx.util.format.DateFormat",
230
227
  return number < 0 ? "-" + str : str;
231
228
  },
232
229
 
233
-
234
230
  /**
235
231
  * Returns the day in year of a date.
236
232
  *
237
233
  * @param date {Date} the date.
238
234
  * @return {Integer} the day in year.
239
235
  */
240
- __getDayInYear : function(date)
241
- {
236
+ __getDayInYear(date) {
242
237
  var helpDate = new Date(date.getTime());
243
238
  var day = helpDate.getDate();
244
239
 
245
- while (helpDate.getMonth() != 0)
246
- {
240
+ while (helpDate.getMonth() != 0) {
247
241
  // Set the date to the last day of the previous month
248
242
  helpDate.setDate(-1);
249
243
  day += helpDate.getDate() + 1;
@@ -252,26 +246,25 @@ qx.Class.define("qx.util.format.DateFormat",
252
246
  return day;
253
247
  },
254
248
 
255
-
256
249
  /**
257
250
  * Returns the thursday in the same week as the date.
258
251
  *
259
252
  * @param date {Date} the date to get the thursday of.
260
253
  * @return {Date} the thursday in the same week as the date.
261
254
  */
262
- __thursdayOfSameWeek : function(date) {
263
- return new Date(date.getTime() + (3 - ((date.getDay() + 6) % 7)) * 86400000);
255
+ __thursdayOfSameWeek(date) {
256
+ return new Date(
257
+ date.getTime() + (3 - ((date.getDay() + 6) % 7)) * 86400000
258
+ );
264
259
  },
265
260
 
266
-
267
261
  /**
268
262
  * Returns the week in year of a date.
269
263
  *
270
264
  * @param date {Date} the date to get the week in year of.
271
265
  * @return {Integer} the week in year.
272
266
  */
273
- __getWeekInYear : function(date)
274
- {
267
+ __getWeekInYear(date) {
275
268
  // The following algorithm comes from http://www.salesianer.de/util/kalwoch.html
276
269
  // Get the thursday of the week the date belongs to
277
270
  var thursdayDate = this.__thursdayOfSameWeek(date);
@@ -284,7 +277,9 @@ qx.Class.define("qx.util.format.DateFormat",
284
277
  var thursdayWeek1 = this.__thursdayOfSameWeek(new Date(weekYear, 0, 4));
285
278
 
286
279
  // Calculate the calendar week
287
- return Math.floor(1.5 + (thursdayDate.getTime() - thursdayWeek1.getTime()) / 86400000 / 7);
280
+ return Math.floor(
281
+ 1.5 + (thursdayDate.getTime() - thursdayWeek1.getTime()) / 86400000 / 7
282
+ );
288
283
  },
289
284
 
290
285
  /**
@@ -293,11 +288,15 @@ qx.Class.define("qx.util.format.DateFormat",
293
288
  * @param date {Date} the date to get the week in year of.
294
289
  * @return {Integer} the week in month.
295
290
  */
296
- __getWeekInMonth : function(date)
297
- {
291
+ __getWeekInMonth(date) {
298
292
  var thursdayDate = this.__thursdayOfSameWeek(date);
299
- var thursdayWeek1 = this.__thursdayOfSameWeek(new Date(date.getFullYear(), date.getMonth(), 4));
300
- return Math.floor(1.5 + (thursdayDate.getTime() - thursdayWeek1.getTime()) / 86400000 / 7);
293
+ var thursdayWeek1 = this.__thursdayOfSameWeek(
294
+ new Date(date.getFullYear(), date.getMonth(), 4)
295
+ );
296
+
297
+ return Math.floor(
298
+ 1.5 + (thursdayDate.getTime() - thursdayWeek1.getTime()) / 86400000 / 7
299
+ );
301
300
  },
302
301
 
303
302
  /**
@@ -309,8 +308,7 @@ qx.Class.define("qx.util.format.DateFormat",
309
308
  * @param date {Date} the date to get the week in year of.
310
309
  * @return {Integer} the week year.
311
310
  */
312
- __getWeekYear : function(date)
313
- {
311
+ __getWeekYear(date) {
314
312
  var thursdayDate = this.__thursdayOfSameWeek(date);
315
313
  return thursdayDate.getFullYear();
316
314
  },
@@ -321,9 +319,8 @@ qx.Class.define("qx.util.format.DateFormat",
321
319
  * @param year {Integer} the year to check.
322
320
  * @return {Boolean} true if it is a leap year.
323
321
  */
324
- __isLeapYear : function(year)
325
- {
326
- var februaryDate = new Date(year,2,1);
322
+ __isLeapYear(year) {
323
+ var februaryDate = new Date(year, 2, 1);
327
324
  februaryDate.setDate(-1);
328
325
  return februaryDate.getDate() + 1 === 29;
329
326
  },
@@ -335,34 +332,29 @@ qx.Class.define("qx.util.format.DateFormat",
335
332
  * @param year {Integer} the year to check.
336
333
  * @return {Object} a json object {month: M, day: D}.
337
334
  */
338
- __getMonthAndDayFromDayOfYear : function(dayOfYear,year)
339
- {
335
+ __getMonthAndDayFromDayOfYear(dayOfYear, year) {
340
336
  var month = 0;
341
337
  var day = 0;
342
338
  // if we don't know the year, we take a non-leap year'
343
- if(!year) {
339
+ if (!year) {
344
340
  year = 1971;
345
341
  }
346
342
  var dayCounter = 0;
347
- for(var i=1; i <= 12; i++)
348
- {
349
- var tempDate = new Date(year,i,1);
343
+ for (var i = 1; i <= 12; i++) {
344
+ var tempDate = new Date(year, i, 1);
350
345
  tempDate.setDate(-1);
351
346
  var days = tempDate.getDate() + 1;
352
347
  dayCounter += days;
353
- if(dayCounter < dayOfYear)
354
- {
348
+ if (dayCounter < dayOfYear) {
355
349
  month++;
356
350
  day += days;
357
- }
358
- else
359
- {
360
- day = dayOfYear - (dayCounter-days);
351
+ } else {
352
+ day = dayOfYear - (dayCounter - days);
361
353
  break;
362
354
  }
363
355
  }
364
356
 
365
- return {month: month,day: day};
357
+ return { month: month, day: day };
366
358
  },
367
359
 
368
360
  /**
@@ -373,25 +365,29 @@ qx.Class.define("qx.util.format.DateFormat",
373
365
  * @param dayOfMonth {Integer} the day in month
374
366
  * @return {Integer} the year.
375
367
  */
376
- __getYearFromWeekYearAndMonth : function(weekYear, month, dayOfMonth)
377
- {
368
+ __getYearFromWeekYearAndMonth(weekYear, month, dayOfMonth) {
378
369
  var year;
379
- switch(month){
380
- case 11 :
370
+ switch (month) {
371
+ case 11:
381
372
  year = weekYear - 1;
382
- if (weekYear != this.__getWeekYear(new Date(year,month,dayOfMonth))) {
373
+ if (
374
+ weekYear != this.__getWeekYear(new Date(year, month, dayOfMonth))
375
+ ) {
383
376
  year = weekYear;
384
377
  }
385
- break;
386
- case 0 :
378
+ break;
379
+ case 0:
387
380
  year = weekYear + 1;
388
- if (weekYear != this.__getWeekYear(new Date(year,month,dayOfMonth))) {
381
+ if (
382
+ weekYear != this.__getWeekYear(new Date(year, month, dayOfMonth))
383
+ ) {
389
384
  year = weekYear;
390
385
  }
391
- break;
392
- default :
386
+ break;
387
+ default:
393
388
  year = weekYear;
394
389
  }
390
+
395
391
  return year;
396
392
  },
397
393
 
@@ -400,10 +396,11 @@ qx.Class.define("qx.util.format.DateFormat",
400
396
  * @param value {String} The new value.
401
397
  *
402
398
  */
403
- setLocale : function(value)
404
- {
399
+ setLocale(value) {
405
400
  if (value !== null && typeof value != "string") {
406
- throw new Error("Cannot set locale to " + value + " - please provide a string");
401
+ throw new Error(
402
+ "Cannot set locale to " + value + " - please provide a string"
403
+ );
407
404
  }
408
405
  this.__locale = value === null ? this.__initialLocale : value;
409
406
  },
@@ -411,14 +408,14 @@ qx.Class.define("qx.util.format.DateFormat",
411
408
  /**
412
409
  * Resets the Locale
413
410
  */
414
- resetLocale : function() {
411
+ resetLocale() {
415
412
  this.setLocale(null);
416
413
  },
417
414
 
418
415
  /**
419
416
  * Returns the locale
420
417
  */
421
- getLocale : function() {
418
+ getLocale() {
422
419
  var locale = this.__locale;
423
420
  if (locale === undefined) {
424
421
  locale = qx.locale.Manager.getInstance().getLocale();
@@ -441,22 +438,29 @@ qx.Class.define("qx.util.format.DateFormat",
441
438
  * @param date {Date} The date to format.
442
439
  * @return {String} the formatted date.
443
440
  */
444
- format : function(date)
445
- {
441
+ format(date) {
446
442
  // check for null dates
447
443
  if (date == null) {
448
444
  return null;
449
445
  }
450
446
 
451
- if(isNaN(date.getTime())) {
447
+ if (isNaN(date.getTime())) {
452
448
  if (qx.core.Environment.get("qx.debug")) {
453
449
  qx.log.Logger.error("Provided date is invalid");
454
450
  }
455
451
  return null;
456
452
  }
457
453
 
458
- if(this.__UTC) {
459
- date = new Date(date.getUTCFullYear(),date.getUTCMonth(),date.getUTCDate(),date.getUTCHours(),date.getUTCMinutes(),date.getUTCSeconds(),date.getUTCMilliseconds());
454
+ if (this.__UTC) {
455
+ date = new Date(
456
+ date.getUTCFullYear(),
457
+ date.getUTCMonth(),
458
+ date.getUTCDate(),
459
+ date.getUTCHours(),
460
+ date.getUTCMinutes(),
461
+ date.getUTCSeconds(),
462
+ date.getUTCMilliseconds()
463
+ );
460
464
  }
461
465
 
462
466
  var locale = this.getLocale();
@@ -479,15 +483,12 @@ qx.Class.define("qx.util.format.DateFormat",
479
483
  this.__initFormatTree();
480
484
  var output = "";
481
485
 
482
- for (var i=0; i<this.__formatTree.length; i++)
483
- {
486
+ for (var i = 0; i < this.__formatTree.length; i++) {
484
487
  var currAtom = this.__formatTree[i];
485
488
 
486
489
  if (currAtom.type == "literal") {
487
490
  output += currAtom.text;
488
- }
489
- else
490
- {
491
+ } else {
491
492
  // This is a wildcard
492
493
  var wildcardChar = currAtom.character;
493
494
  var wildcardSize = currAtom.size;
@@ -495,9 +496,8 @@ qx.Class.define("qx.util.format.DateFormat",
495
496
  // Get its replacement
496
497
  var replacement = "?";
497
498
 
498
- switch(wildcardChar)
499
- {
500
- case 'y': // Year
499
+ switch (wildcardChar) {
500
+ case "y": // Year
501
501
  if (wildcardSize == 2) {
502
502
  replacement = this.__fillNumber(fullYear % 100, 2);
503
503
  } else {
@@ -508,16 +508,16 @@ qx.Class.define("qx.util.format.DateFormat",
508
508
  replacement = "0" + replacement;
509
509
  }
510
510
  }
511
- if(fullYear < 0) {
511
+ if (fullYear < 0) {
512
512
  replacement = "-" + replacement;
513
513
  }
514
514
  }
515
515
 
516
516
  break;
517
517
 
518
- case 'Y': // Year
518
+ case "Y": // Year
519
519
  replacement = this.__getWeekYear(date) + "";
520
- var year = replacement.replace('-','');
520
+ var year = replacement.replace("-", "");
521
521
  if (wildcardSize > replacement.length) {
522
522
  for (var j = year.length; j < wildcardSize; j++) {
523
523
  year = "0" + year;
@@ -527,155 +527,275 @@ qx.Class.define("qx.util.format.DateFormat",
527
527
 
528
528
  break;
529
529
 
530
- case 'G': // Era - there is no CLDR data for ERA yet
530
+ case "G": // Era - there is no CLDR data for ERA yet
531
531
  if (wildcardSize >= 1 && wildcardSize <= 3) {
532
- replacement = fullYear > 0 ? 'AD' : 'BC';
533
- }
534
- else if(wildcardSize == 4) {
535
- replacement = fullYear > 0 ? 'Anno Domini' : 'Before Christ';
536
- }
537
- else if(wildcardSize == 5) {
538
- replacement = fullYear > 0 ? 'A' : 'B';
532
+ replacement = fullYear > 0 ? "AD" : "BC";
533
+ } else if (wildcardSize == 4) {
534
+ replacement = fullYear > 0 ? "Anno Domini" : "Before Christ";
535
+ } else if (wildcardSize == 5) {
536
+ replacement = fullYear > 0 ? "A" : "B";
539
537
  }
540
538
 
541
539
  break;
542
540
 
543
- case 'Q': // quarter
541
+ case "Q": // quarter
544
542
  if (wildcardSize == 1 || wildcardSize == 2) {
545
- replacement = this.__fillNumber(parseInt(month/4) + 1, wildcardSize);
543
+ replacement = this.__fillNumber(
544
+ parseInt(month / 4) + 1,
545
+ wildcardSize
546
+ );
546
547
  }
547
- if(wildcardSize == 3) {
548
- replacement = 'Q' + (parseInt(month/4) + 1);
548
+ if (wildcardSize == 3) {
549
+ replacement = "Q" + (parseInt(month / 4) + 1);
549
550
  }
550
551
 
551
552
  break;
552
553
 
553
- case 'q': // quarter stand alone
554
+ case "q": // quarter stand alone
554
555
  if (wildcardSize == 1 || wildcardSize == 2) {
555
- replacement = this.__fillNumber(parseInt(month/4) + 1, wildcardSize);
556
+ replacement = this.__fillNumber(
557
+ parseInt(month / 4) + 1,
558
+ wildcardSize
559
+ );
556
560
  }
557
- if(wildcardSize == 3) {
558
- replacement = 'Q' + (parseInt(month/4) + 1);
561
+ if (wildcardSize == 3) {
562
+ replacement = "Q" + (parseInt(month / 4) + 1);
559
563
  }
560
564
 
561
565
  break;
562
566
 
563
- case 'D': // Day in year (e.g. 189)
564
- replacement = this.__fillNumber(this.__getDayInYear(date), wildcardSize);
567
+ case "D": // Day in year (e.g. 189)
568
+ replacement = this.__fillNumber(
569
+ this.__getDayInYear(date),
570
+ wildcardSize
571
+ );
572
+
565
573
  break;
566
574
 
567
- case 'd': // Day in month
575
+ case "d": // Day in month
568
576
  replacement = this.__fillNumber(dayOfMonth, wildcardSize);
569
577
  break;
570
578
 
571
- case 'w': // Week in year (e.g. 27)
572
- replacement = this.__fillNumber(this.__getWeekInYear(date), wildcardSize);
579
+ case "w": // Week in year (e.g. 27)
580
+ replacement = this.__fillNumber(
581
+ this.__getWeekInYear(date),
582
+ wildcardSize
583
+ );
584
+
573
585
  break;
574
586
 
575
- case 'W': // Week in year (e.g. 27)
587
+ case "W": // Week in year (e.g. 27)
576
588
  replacement = this.__getWeekInMonth(date);
577
589
  break;
578
590
 
579
- case 'E': // Day in week
591
+ case "E": // Day in week
580
592
  if (wildcardSize >= 1 && wildcardSize <= 3) {
581
- replacement = qx.locale.Date.getDayName("abbreviated", dayOfWeek, locale, "format", true);
593
+ replacement = qx.locale.Date.getDayName(
594
+ "abbreviated",
595
+ dayOfWeek,
596
+ locale,
597
+ "format",
598
+ true
599
+ );
582
600
  } else if (wildcardSize == 4) {
583
- replacement = qx.locale.Date.getDayName("wide", dayOfWeek, locale, "format", true);
601
+ replacement = qx.locale.Date.getDayName(
602
+ "wide",
603
+ dayOfWeek,
604
+ locale,
605
+ "format",
606
+ true
607
+ );
584
608
  } else if (wildcardSize == 5) {
585
- replacement = qx.locale.Date.getDayName("narrow", dayOfWeek, locale, "format", true);
609
+ replacement = qx.locale.Date.getDayName(
610
+ "narrow",
611
+ dayOfWeek,
612
+ locale,
613
+ "format",
614
+ true
615
+ );
586
616
  }
587
617
 
588
618
  break;
589
619
 
590
- case 'e': // Day in week
620
+ case "e": // Day in week
591
621
  var startOfWeek = qx.locale.Date.getWeekStart(locale);
592
622
  // the index is 1 based
593
- var localeDayOfWeek = 1 + ((dayOfWeek - startOfWeek >=0) ? (dayOfWeek - startOfWeek) : 7 + (dayOfWeek-startOfWeek));
623
+ var localeDayOfWeek =
624
+ 1 +
625
+ (dayOfWeek - startOfWeek >= 0
626
+ ? dayOfWeek - startOfWeek
627
+ : 7 + (dayOfWeek - startOfWeek));
594
628
  if (wildcardSize >= 1 && wildcardSize <= 2) {
595
629
  replacement = this.__fillNumber(localeDayOfWeek, wildcardSize);
596
630
  } else if (wildcardSize == 3) {
597
- replacement = qx.locale.Date.getDayName("abbreviated", dayOfWeek, locale, "format", true);
631
+ replacement = qx.locale.Date.getDayName(
632
+ "abbreviated",
633
+ dayOfWeek,
634
+ locale,
635
+ "format",
636
+ true
637
+ );
598
638
  } else if (wildcardSize == 4) {
599
- replacement = qx.locale.Date.getDayName("wide", dayOfWeek, locale, "format", true);
639
+ replacement = qx.locale.Date.getDayName(
640
+ "wide",
641
+ dayOfWeek,
642
+ locale,
643
+ "format",
644
+ true
645
+ );
600
646
  } else if (wildcardSize == 5) {
601
- replacement = qx.locale.Date.getDayName("narrow", dayOfWeek, locale, "format", true);
647
+ replacement = qx.locale.Date.getDayName(
648
+ "narrow",
649
+ dayOfWeek,
650
+ locale,
651
+ "format",
652
+ true
653
+ );
602
654
  }
603
655
 
604
656
  break;
605
657
 
606
- case 'c': // Stand-alone local day in week
658
+ case "c": // Stand-alone local day in week
607
659
  var startOfWeek = qx.locale.Date.getWeekStart(locale);
608
660
  // the index is 1 based
609
- var localeDayOfWeek = 1 + ((dayOfWeek - startOfWeek >=0) ? (dayOfWeek - startOfWeek) : 7 + (dayOfWeek-startOfWeek));
661
+ var localeDayOfWeek =
662
+ 1 +
663
+ (dayOfWeek - startOfWeek >= 0
664
+ ? dayOfWeek - startOfWeek
665
+ : 7 + (dayOfWeek - startOfWeek));
610
666
  if (wildcardSize == 1) {
611
- replacement = ''+localeDayOfWeek;
667
+ replacement = "" + localeDayOfWeek;
612
668
  } else if (wildcardSize == 3) {
613
- replacement = qx.locale.Date.getDayName("abbreviated", dayOfWeek, locale, "stand-alone", true);
669
+ replacement = qx.locale.Date.getDayName(
670
+ "abbreviated",
671
+ dayOfWeek,
672
+ locale,
673
+ "stand-alone",
674
+ true
675
+ );
614
676
  } else if (wildcardSize == 4) {
615
- replacement = qx.locale.Date.getDayName("wide", dayOfWeek, locale, "stand-alone", true);
677
+ replacement = qx.locale.Date.getDayName(
678
+ "wide",
679
+ dayOfWeek,
680
+ locale,
681
+ "stand-alone",
682
+ true
683
+ );
616
684
  } else if (wildcardSize == 5) {
617
- replacement = qx.locale.Date.getDayName("narrow", dayOfWeek, locale, "stand-alone", true);
685
+ replacement = qx.locale.Date.getDayName(
686
+ "narrow",
687
+ dayOfWeek,
688
+ locale,
689
+ "stand-alone",
690
+ true
691
+ );
618
692
  }
619
693
 
620
694
  break;
621
695
 
622
- case 'M': // Month
696
+ case "M": // Month
623
697
  if (wildcardSize == 1 || wildcardSize == 2) {
624
698
  replacement = this.__fillNumber(month + 1, wildcardSize);
625
699
  } else if (wildcardSize == 3) {
626
- replacement = qx.locale.Date.getMonthName("abbreviated", month, locale, "format", true);
700
+ replacement = qx.locale.Date.getMonthName(
701
+ "abbreviated",
702
+ month,
703
+ locale,
704
+ "format",
705
+ true
706
+ );
627
707
  } else if (wildcardSize == 4) {
628
- replacement = qx.locale.Date.getMonthName("wide", month, locale, "format", true);
708
+ replacement = qx.locale.Date.getMonthName(
709
+ "wide",
710
+ month,
711
+ locale,
712
+ "format",
713
+ true
714
+ );
629
715
  } else if (wildcardSize == 5) {
630
- replacement = qx.locale.Date.getMonthName("narrow", month, locale, "format", true);
631
-
716
+ replacement = qx.locale.Date.getMonthName(
717
+ "narrow",
718
+ month,
719
+ locale,
720
+ "format",
721
+ true
722
+ );
632
723
  }
633
724
 
634
725
  break;
635
726
 
636
- case 'L': // Stand-alone month
727
+ case "L": // Stand-alone month
637
728
  if (wildcardSize == 1 || wildcardSize == 2) {
638
729
  replacement = this.__fillNumber(month + 1, wildcardSize);
639
730
  } else if (wildcardSize == 3) {
640
- replacement = qx.locale.Date.getMonthName("abbreviated", month, locale, "stand-alone", true);
731
+ replacement = qx.locale.Date.getMonthName(
732
+ "abbreviated",
733
+ month,
734
+ locale,
735
+ "stand-alone",
736
+ true
737
+ );
641
738
  } else if (wildcardSize == 4) {
642
- replacement = qx.locale.Date.getMonthName("wide", month, locale, "stand-alone", true);
739
+ replacement = qx.locale.Date.getMonthName(
740
+ "wide",
741
+ month,
742
+ locale,
743
+ "stand-alone",
744
+ true
745
+ );
643
746
  } else if (wildcardSize == 5) {
644
- replacement = qx.locale.Date.getMonthName("narrow", month, locale, "stand-alone", true);
747
+ replacement = qx.locale.Date.getMonthName(
748
+ "narrow",
749
+ month,
750
+ locale,
751
+ "stand-alone",
752
+ true
753
+ );
645
754
  }
646
755
 
647
756
  break;
648
757
 
649
- case 'a': // am/pm marker
758
+ case "a": // am/pm marker
650
759
  // NOTE: 0:00 is am, 12:00 is pm
651
- replacement = (hours < 12) ? qx.locale.Date.getAmMarker(locale) : qx.locale.Date.getPmMarker(locale);
760
+ replacement =
761
+ hours < 12
762
+ ? qx.locale.Date.getAmMarker(locale)
763
+ : qx.locale.Date.getPmMarker(locale);
652
764
  break;
653
765
 
654
- case 'H': // Hour in day (0-23)
766
+ case "H": // Hour in day (0-23)
655
767
  replacement = this.__fillNumber(hours, wildcardSize);
656
768
  break;
657
769
 
658
- case 'k': // Hour in day (1-24)
659
- replacement = this.__fillNumber((hours == 0) ? 24 : hours, wildcardSize);
770
+ case "k": // Hour in day (1-24)
771
+ replacement = this.__fillNumber(
772
+ hours == 0 ? 24 : hours,
773
+ wildcardSize
774
+ );
775
+
660
776
  break;
661
777
 
662
- case 'K': // Hour in am/pm (0-11)
778
+ case "K": // Hour in am/pm (0-11)
663
779
  replacement = this.__fillNumber(hours % 12, wildcardSize);
664
780
  break;
665
781
 
666
- case 'h': // Hour in am/pm (1-12)
667
- replacement = this.__fillNumber(((hours % 12) == 0) ? 12 : (hours % 12), wildcardSize);
782
+ case "h": // Hour in am/pm (1-12)
783
+ replacement = this.__fillNumber(
784
+ hours % 12 == 0 ? 12 : hours % 12,
785
+ wildcardSize
786
+ );
787
+
668
788
  break;
669
789
 
670
- case 'm': // Minute in hour
790
+ case "m": // Minute in hour
671
791
  replacement = this.__fillNumber(minutes, wildcardSize);
672
792
  break;
673
793
 
674
- case 's': // Second in minute
794
+ case "s": // Second in minute
675
795
  replacement = this.__fillNumber(seconds, wildcardSize);
676
796
  break;
677
797
 
678
- case 'S': // Fractional second
798
+ case "S": // Fractional second
679
799
  replacement = this.__fillNumber(ms, 3);
680
800
  if (wildcardSize < replacement.length) {
681
801
  replacement = replacement.substr(0, wildcardSize);
@@ -687,33 +807,31 @@ qx.Class.define("qx.util.format.DateFormat",
687
807
  }
688
808
  break;
689
809
 
690
- case 'z': // Time zone
691
- if (wildcardSize >= 1 && wildcardSize <= 4)
692
- {
810
+ case "z": // Time zone
811
+ if (wildcardSize >= 1 && wildcardSize <= 4) {
693
812
  replacement =
694
- "GMT" +
695
- ((timezoneSign > 0) ? "-" : "+") +
696
- this.__fillNumber(Math.abs(timezoneHours), 2) +
697
- ":" + this.__fillNumber(timezoneMinutes, 2);
813
+ "GMT" +
814
+ (timezoneSign > 0 ? "-" : "+") +
815
+ this.__fillNumber(Math.abs(timezoneHours), 2) +
816
+ ":" +
817
+ this.__fillNumber(timezoneMinutes, 2);
698
818
  }
699
819
 
700
820
  break;
701
821
 
702
- case 'Z': // RFC 822 time zone
703
- if (wildcardSize >= 1 && wildcardSize <= 3)
704
- {
705
- replacement =
706
- ((timezoneSign > 0) ? "-" : "+") +
707
- this.__fillNumber(Math.abs(timezoneHours), 2) +
708
- this.__fillNumber(timezoneMinutes, 2);
709
- }
710
- else
711
- {
822
+ case "Z": // RFC 822 time zone
823
+ if (wildcardSize >= 1 && wildcardSize <= 3) {
824
+ replacement =
825
+ (timezoneSign > 0 ? "-" : "+") +
826
+ this.__fillNumber(Math.abs(timezoneHours), 2) +
827
+ this.__fillNumber(timezoneMinutes, 2);
828
+ } else {
712
829
  replacement =
713
- "GMT" +
714
- ((timezoneSign > 0) ? "-" : "+") +
715
- this.__fillNumber(Math.abs(timezoneHours), 2) +
716
- ":" + this.__fillNumber(timezoneMinutes, 2);
830
+ "GMT" +
831
+ (timezoneSign > 0 ? "-" : "+") +
832
+ this.__fillNumber(Math.abs(timezoneHours), 2) +
833
+ ":" +
834
+ this.__fillNumber(timezoneMinutes, 2);
717
835
  }
718
836
  break;
719
837
  }
@@ -725,7 +843,6 @@ qx.Class.define("qx.util.format.DateFormat",
725
843
  return output;
726
844
  },
727
845
 
728
-
729
846
  /**
730
847
  * Parses a date.
731
848
  *
@@ -734,35 +851,38 @@ qx.Class.define("qx.util.format.DateFormat",
734
851
  * @throws {Error} If the format is not well formed or if the date string does not
735
852
  * match to the format.
736
853
  */
737
- parse : function(dateStr)
738
- {
854
+ parse(dateStr) {
739
855
  this.__initParseFeed();
740
856
 
741
857
  // Apply the regex
742
858
  var hit = this.__parseFeed.regex.exec(dateStr);
743
859
 
744
860
  if (hit == null) {
745
- throw new Error("Date string '" + dateStr + "' does not match the date format: " + this.__format);
861
+ throw new Error(
862
+ "Date string '" +
863
+ dateStr +
864
+ "' does not match the date format: " +
865
+ this.__format
866
+ );
746
867
  }
747
868
 
748
869
  // Apply the rules
749
- var dateValues =
750
- {
751
- era : 1,
752
- year : 1970,
753
- quarter : 1,
754
- month : 0,
755
- day : 1,
756
- dayOfYear : 1,
757
- hour : 0,
758
- ispm : false,
759
- weekDay : 4,
760
- weekYear : 1970,
761
- weekOfMonth : 1,
762
- weekOfYear : 1,
763
- min : 0,
764
- sec : 0,
765
- ms : 0,
870
+ var dateValues = {
871
+ era: 1,
872
+ year: 1970,
873
+ quarter: 1,
874
+ month: 0,
875
+ day: 1,
876
+ dayOfYear: 1,
877
+ hour: 0,
878
+ ispm: false,
879
+ weekDay: 4,
880
+ weekYear: 1970,
881
+ weekOfMonth: 1,
882
+ weekOfYear: 1,
883
+ min: 0,
884
+ sec: 0,
885
+ ms: 0,
766
886
  tzOffsetMins: null
767
887
  };
768
888
 
@@ -770,8 +890,7 @@ qx.Class.define("qx.util.format.DateFormat",
770
890
  var applyWeekYearAfterRule = false;
771
891
  var applyDayOfYearAfterRule = false;
772
892
 
773
- for (var i=0; i<this.__parseFeed.usedRules.length; i++)
774
- {
893
+ for (var i = 0; i < this.__parseFeed.usedRules.length; i++) {
775
894
  var rule = this.__parseFeed.usedRules[i];
776
895
 
777
896
  var value = hit[currGroup];
@@ -782,79 +901,115 @@ qx.Class.define("qx.util.format.DateFormat",
782
901
  rule.manipulator(dateValues, value, rule.pattern);
783
902
  }
784
903
 
785
- if(rule.pattern == "Y+")
786
- {
904
+ if (rule.pattern == "Y+") {
787
905
  var yearRuleApplied = false;
788
- for(var k=0; k<this.__parseFeed.usedRules.length; k++) {
789
- if(this.__parseFeed.usedRules[k].pattern == 'y+'){
906
+ for (var k = 0; k < this.__parseFeed.usedRules.length; k++) {
907
+ if (this.__parseFeed.usedRules[k].pattern == "y+") {
790
908
  yearRuleApplied = true;
791
909
  break;
792
910
  }
793
911
  }
794
- if(!yearRuleApplied) {
912
+ if (!yearRuleApplied) {
795
913
  applyWeekYearAfterRule = true;
796
914
  }
797
915
  }
798
916
 
799
- if(rule.pattern.indexOf("D") != -1)
800
- {
917
+ if (rule.pattern.indexOf("D") != -1) {
801
918
  var dayRuleApplied = false;
802
- for(var k=0; k<this.__parseFeed.usedRules.length; k++) {
803
- if(this.__parseFeed.usedRules[k].pattern.indexOf("d") != -1){
919
+ for (var k = 0; k < this.__parseFeed.usedRules.length; k++) {
920
+ if (this.__parseFeed.usedRules[k].pattern.indexOf("d") != -1) {
804
921
  dayRuleApplied = true;
805
922
  break;
806
923
  }
807
924
  }
808
- if(!dayRuleApplied) {
925
+ if (!dayRuleApplied) {
809
926
  applyDayOfYearAfterRule = true;
810
927
  }
811
928
  }
812
929
 
813
- currGroup += (rule.groups == null) ? 1 : rule.groups;
930
+ currGroup += rule.groups == null ? 1 : rule.groups;
814
931
  }
815
- if(applyWeekYearAfterRule) {
816
- dateValues.year = this.__getYearFromWeekYearAndMonth(dateValues.weekYear,dateValues.month,dateValues.day);
932
+ if (applyWeekYearAfterRule) {
933
+ dateValues.year = this.__getYearFromWeekYearAndMonth(
934
+ dateValues.weekYear,
935
+ dateValues.month,
936
+ dateValues.day
937
+ );
817
938
  }
818
939
 
819
- if(applyDayOfYearAfterRule)
820
- {
821
- var dayAndMonth = this.__getMonthAndDayFromDayOfYear(dateValues.dayOfYear, dateValues.year);
940
+ if (applyDayOfYearAfterRule) {
941
+ var dayAndMonth = this.__getMonthAndDayFromDayOfYear(
942
+ dateValues.dayOfYear,
943
+ dateValues.year
944
+ );
945
+
822
946
  dateValues.month = dayAndMonth.month;
823
947
  dateValues.day = dayAndMonth.day;
824
948
  }
825
949
 
826
- if(dateValues.era < 0 && (dateValues.year * dateValues.era < 0)) {
950
+ if (dateValues.era < 0 && dateValues.year * dateValues.era < 0) {
827
951
  dateValues.year = dateValues.year * dateValues.era;
828
952
  }
829
953
 
830
954
  var date;
831
955
  if (this.__UTC || dateValues.tzOffsetMins !== null) {
832
- var utcMs = Date.UTC(dateValues.year, dateValues.month, dateValues.day, (dateValues.ispm) ? (dateValues.hour + 12) : dateValues.hour, dateValues.min, dateValues.sec, dateValues.ms);
956
+ var utcMs = Date.UTC(
957
+ dateValues.year,
958
+ dateValues.month,
959
+ dateValues.day,
960
+ dateValues.ispm ? dateValues.hour + 12 : dateValues.hour,
961
+ dateValues.min,
962
+ dateValues.sec,
963
+ dateValues.ms
964
+ );
965
+
833
966
  if (dateValues.tzOffsetMins !== 0) {
834
- utcMs += (dateValues.tzOffsetMins * 60000);
967
+ utcMs += dateValues.tzOffsetMins * 60000;
835
968
  }
836
969
  date = new Date(utcMs);
837
- if (this.__UTC && (dateValues.month !== date.getUTCMonth() || dateValues.year !== date.getUTCFullYear())) {
838
- throw new Error("Error parsing date '" + dateStr + "': the value for day or month is too large");
970
+ if (
971
+ this.__UTC &&
972
+ (dateValues.month !== date.getUTCMonth() ||
973
+ dateValues.year !== date.getUTCFullYear())
974
+ ) {
975
+ throw new Error(
976
+ "Error parsing date '" +
977
+ dateStr +
978
+ "': the value for day or month is too large"
979
+ );
839
980
  }
840
981
  } else {
841
- date = new Date(dateValues.year, dateValues.month, dateValues.day, (dateValues.ispm) ? (dateValues.hour + 12) : dateValues.hour, dateValues.min, dateValues.sec, dateValues.ms);
842
- if (dateValues.month !== date.getMonth() || dateValues.year !== date.getFullYear()) {
843
- throw new Error("Error parsing date '" + dateStr + "': the value for day or month is too large");
982
+ date = new Date(
983
+ dateValues.year,
984
+ dateValues.month,
985
+ dateValues.day,
986
+ dateValues.ispm ? dateValues.hour + 12 : dateValues.hour,
987
+ dateValues.min,
988
+ dateValues.sec,
989
+ dateValues.ms
990
+ );
991
+
992
+ if (
993
+ dateValues.month !== date.getMonth() ||
994
+ dateValues.year !== date.getFullYear()
995
+ ) {
996
+ throw new Error(
997
+ "Error parsing date '" +
998
+ dateStr +
999
+ "': the value for day or month is too large"
1000
+ );
844
1001
  }
845
1002
  }
846
1003
 
847
1004
  return date;
848
1005
  },
849
1006
 
850
-
851
1007
  /**
852
1008
  * Helper method for {@link #format()} and {@link #parse()}.
853
1009
  * Parses the date format.
854
1010
  *
855
1011
  */
856
- __initFormatTree : function()
857
- {
1012
+ __initFormatTree() {
858
1013
  if (this.__formatTree != null) {
859
1014
  return;
860
1015
  }
@@ -870,20 +1025,15 @@ qx.Class.define("qx.util.format.DateFormat",
870
1025
 
871
1026
  var i = 0;
872
1027
 
873
- while (i < format.length)
874
- {
1028
+ while (i < format.length) {
875
1029
  var currChar = format.charAt(i);
876
1030
 
877
- switch(state)
878
- {
1031
+ switch (state) {
879
1032
  case "quoted_literal":
880
1033
  // We are now inside a quoted literal
881
1034
  // Check whether the current character is an escaped "'" character
882
- if (currChar == "'")
883
- {
884
- if (i + 1 >= format.length)
885
- {
886
-
1035
+ if (currChar == "'") {
1036
+ if (i + 1 >= format.length) {
887
1037
  // this is the last character
888
1038
  i++;
889
1039
 
@@ -892,22 +1042,16 @@ qx.Class.define("qx.util.format.DateFormat",
892
1042
 
893
1043
  var lookAhead = format.charAt(i + 1);
894
1044
 
895
- if (lookAhead == "'")
896
- {
1045
+ if (lookAhead == "'") {
897
1046
  currLiteral += currChar;
898
1047
  i++;
899
- }
900
- else
901
- {
902
-
1048
+ } else {
903
1049
  // quoted literal ends
904
1050
  i++;
905
1051
 
906
1052
  state = "unkown";
907
1053
  }
908
- }
909
- else
910
- {
1054
+ } else {
911
1055
  currLiteral += currChar;
912
1056
  i++;
913
1057
  }
@@ -916,21 +1060,17 @@ qx.Class.define("qx.util.format.DateFormat",
916
1060
 
917
1061
  case "wildcard":
918
1062
  // Check whether the currChar belongs to that wildcard
919
- if (currChar == currWildcardChar)
920
- {
1063
+ if (currChar == currWildcardChar) {
921
1064
  // It does -> Raise the size
922
1065
  currWildcardSize++;
923
1066
 
924
1067
  i++;
925
- }
926
- else
927
- {
1068
+ } else {
928
1069
  // It does not -> The current wildcard is done
929
- this.__formatTree.push(
930
- {
931
- type : "wildcard",
932
- character : currWildcardChar,
933
- size : currWildcardSize
1070
+ this.__formatTree.push({
1071
+ type: "wildcard",
1072
+ character: currWildcardChar,
1073
+ size: currWildcardSize
934
1074
  });
935
1075
 
936
1076
  currWildcardChar = null;
@@ -942,17 +1082,16 @@ qx.Class.define("qx.util.format.DateFormat",
942
1082
 
943
1083
  default:
944
1084
  // We are not (any more) in a wildcard or quoted literal -> Check what's starting here
945
- if ((currChar >= 'a' && currChar <= 'z') || (currChar >= 'A' && currChar <= 'Z'))
946
- {
1085
+ if (
1086
+ (currChar >= "a" && currChar <= "z") ||
1087
+ (currChar >= "A" && currChar <= "Z")
1088
+ ) {
947
1089
  // This is a letter -> All letters are wildcards
948
1090
  // Start a new wildcard
949
1091
  currWildcardChar = currChar;
950
1092
  state = "wildcard";
951
- }
952
- else if (currChar == "'")
953
- {
954
- if (i + 1 >= format.length)
955
- {
1093
+ } else if (currChar == "'") {
1094
+ if (i + 1 >= format.length) {
956
1095
  // this is the last character
957
1096
  currLiteral += currChar;
958
1097
  i++;
@@ -961,36 +1100,28 @@ qx.Class.define("qx.util.format.DateFormat",
961
1100
 
962
1101
  var lookAhead = format.charAt(i + 1);
963
1102
 
964
- if (lookAhead == "'")
965
- {
1103
+ if (lookAhead == "'") {
966
1104
  currLiteral += currChar;
967
1105
  i++;
968
1106
  }
969
1107
 
970
1108
  i++;
971
1109
  state = "quoted_literal";
972
- }
973
- else
974
- {
1110
+ } else {
975
1111
  state = "default";
976
1112
  }
977
1113
 
978
- if (state != "default")
979
- {
1114
+ if (state != "default") {
980
1115
  // Add the literal
981
- if (currLiteral.length > 0)
982
- {
983
- this.__formatTree.push(
984
- {
985
- type : "literal",
986
- text : currLiteral
1116
+ if (currLiteral.length > 0) {
1117
+ this.__formatTree.push({
1118
+ type: "literal",
1119
+ text: currLiteral
987
1120
  });
988
1121
 
989
1122
  currLiteral = "";
990
1123
  }
991
- }
992
- else
993
- {
1124
+ } else {
994
1125
  // This is an unquoted literal -> Add it to the current literal
995
1126
  currLiteral += currChar;
996
1127
  i++;
@@ -1001,26 +1132,20 @@ qx.Class.define("qx.util.format.DateFormat",
1001
1132
  }
1002
1133
 
1003
1134
  // Add the last wildcard or literal
1004
- if (currWildcardChar != null)
1005
- {
1006
- this.__formatTree.push(
1007
- {
1008
- type : "wildcard",
1009
- character : currWildcardChar,
1010
- size : currWildcardSize
1135
+ if (currWildcardChar != null) {
1136
+ this.__formatTree.push({
1137
+ type: "wildcard",
1138
+ character: currWildcardChar,
1139
+ size: currWildcardSize
1011
1140
  });
1012
- }
1013
- else if (currLiteral.length > 0)
1014
- {
1015
- this.__formatTree.push(
1016
- {
1017
- type : "literal",
1018
- text : currLiteral
1141
+ } else if (currLiteral.length > 0) {
1142
+ this.__formatTree.push({
1143
+ type: "literal",
1144
+ text: currLiteral
1019
1145
  });
1020
1146
  }
1021
1147
  },
1022
1148
 
1023
-
1024
1149
  /**
1025
1150
  * Initializes the parse feed.
1026
1151
  *
@@ -1029,10 +1154,8 @@ qx.Class.define("qx.util.format.DateFormat",
1029
1154
  *
1030
1155
  * @throws {Error} If the date format is malformed.
1031
1156
  */
1032
- __initParseFeed : function()
1033
- {
1034
- if (this.__parseFeed != null)
1035
- {
1157
+ __initParseFeed() {
1158
+ if (this.__parseFeed != null) {
1036
1159
  // We already have the parse feed
1037
1160
  return;
1038
1161
  }
@@ -1047,15 +1170,12 @@ qx.Class.define("qx.util.format.DateFormat",
1047
1170
  var usedRules = [];
1048
1171
  var pattern = "^";
1049
1172
 
1050
- for (var atomIdx=0; atomIdx<this.__formatTree.length; atomIdx++)
1051
- {
1173
+ for (var atomIdx = 0; atomIdx < this.__formatTree.length; atomIdx++) {
1052
1174
  var currAtom = this.__formatTree[atomIdx];
1053
1175
 
1054
1176
  if (currAtom.type == "literal") {
1055
1177
  pattern += qx.lang.String.escapeRegexpChars(currAtom.text);
1056
- }
1057
- else
1058
- {
1178
+ } else {
1059
1179
  // This is a wildcard
1060
1180
  var wildcardChar = currAtom.character;
1061
1181
  var wildcardSize = currAtom.size;
@@ -1063,12 +1183,10 @@ qx.Class.define("qx.util.format.DateFormat",
1063
1183
  // Get the rule for this wildcard
1064
1184
  var wildcardRule;
1065
1185
 
1066
- for (var ruleIdx=0; ruleIdx<this.__parseRules.length; ruleIdx++)
1067
- {
1186
+ for (var ruleIdx = 0; ruleIdx < this.__parseRules.length; ruleIdx++) {
1068
1187
  var rule = this.__parseRules[ruleIdx];
1069
1188
 
1070
- if ( this.__isRuleForWildcard(rule,wildcardChar,wildcardSize))
1071
- {
1189
+ if (this.__isRuleForWildcard(rule, wildcardChar, wildcardSize)) {
1072
1190
  // We found the right rule for the wildcard
1073
1191
  wildcardRule = rule;
1074
1192
  break;
@@ -1076,19 +1194,22 @@ qx.Class.define("qx.util.format.DateFormat",
1076
1194
  }
1077
1195
 
1078
1196
  // Check the rule
1079
- if (wildcardRule == null)
1080
- {
1197
+ if (wildcardRule == null) {
1081
1198
  // We have no rule for that wildcard -> Malformed date format
1082
1199
  var wildcardStr = "";
1083
1200
 
1084
- for (var i=0; i<wildcardSize; i++) {
1201
+ for (var i = 0; i < wildcardSize; i++) {
1085
1202
  wildcardStr += wildcardChar;
1086
1203
  }
1087
1204
 
1088
- throw new Error("Malformed date format: " + format + ". Wildcard " + wildcardStr + " is not supported");
1089
- }
1090
- else
1091
- {
1205
+ throw new Error(
1206
+ "Malformed date format: " +
1207
+ format +
1208
+ ". Wildcard " +
1209
+ wildcardStr +
1210
+ " is not supported"
1211
+ );
1212
+ } else {
1092
1213
  // Add the rule to the pattern
1093
1214
  usedRules.push(wildcardRule);
1094
1215
  pattern += wildcardRule.regex;
@@ -1103,16 +1224,15 @@ qx.Class.define("qx.util.format.DateFormat",
1103
1224
 
1104
1225
  try {
1105
1226
  regex = new RegExp(pattern);
1106
- } catch(exc) {
1227
+ } catch (exc) {
1107
1228
  throw new Error("Malformed date format: " + format);
1108
1229
  }
1109
1230
 
1110
1231
  // Create the this.__parseFeed
1111
- this.__parseFeed =
1112
- {
1113
- regex : regex,
1114
- "usedRules" : usedRules,
1115
- pattern : pattern
1232
+ this.__parseFeed = {
1233
+ regex: regex,
1234
+ usedRules: usedRules,
1235
+ pattern: pattern
1116
1236
  };
1117
1237
  },
1118
1238
 
@@ -1123,50 +1243,47 @@ qx.Class.define("qx.util.format.DateFormat",
1123
1243
  * @param wildcardSize {Integer} the number of wildcardChar characters in the wildcard
1124
1244
  * @return {Boolean} if the rule matches or not
1125
1245
  */
1126
- __isRuleForWildcard : function(rule, wildcardChar, wildcardSize)
1127
- {
1128
- if(wildcardChar==='y' && rule.pattern==='y+')
1129
- {
1246
+ __isRuleForWildcard(rule, wildcardChar, wildcardSize) {
1247
+ if (wildcardChar === "y" && rule.pattern === "y+") {
1130
1248
  rule.regex = rule.regexFunc(wildcardSize);
1131
1249
  return true;
1132
- }
1133
- else if(wildcardChar==='Y' && rule.pattern==='Y+')
1134
- {
1250
+ } else if (wildcardChar === "Y" && rule.pattern === "Y+") {
1135
1251
  rule.regex = rule.regexFunc(wildcardSize);
1136
1252
  return true;
1137
- }
1138
- else
1139
- {
1140
- return wildcardChar == rule.pattern.charAt(0) && wildcardSize == rule.pattern.length;
1253
+ } else {
1254
+ return (
1255
+ wildcardChar == rule.pattern.charAt(0) &&
1256
+ wildcardSize == rule.pattern.length
1257
+ );
1141
1258
  }
1142
1259
  },
1143
1260
  /**
1144
1261
  * Initializes the static parse rules.
1145
1262
  *
1146
1263
  */
1147
- __initParseRules : function()
1148
- {
1264
+ __initParseRules() {
1149
1265
  var DateFormat = qx.util.format.DateFormat;
1150
1266
  var LString = qx.lang.String;
1151
1267
 
1152
- if (this.__parseRules != null)
1153
- {
1268
+ if (this.__parseRules != null) {
1154
1269
  // The parse rules are already initialized
1155
- return ;
1270
+ return;
1156
1271
  }
1157
1272
 
1158
- var rules = this.__parseRules = [];
1273
+ var rules = (this.__parseRules = []);
1159
1274
 
1160
- var amMarker = qx.locale.Date.getAmMarker(this.getLocale()).toString() || DateFormat.AM_MARKER;
1161
- var pmMarker = qx.locale.Date.getPmMarker(this.getLocale()).toString() || DateFormat.PM_MARKER;
1275
+ var amMarker =
1276
+ qx.locale.Date.getAmMarker(this.getLocale()).toString() ||
1277
+ DateFormat.AM_MARKER;
1278
+ var pmMarker =
1279
+ qx.locale.Date.getPmMarker(this.getLocale()).toString() ||
1280
+ DateFormat.PM_MARKER;
1162
1281
  var locale = this.getLocale();
1163
1282
 
1164
- var yearManipulator = function(dateValues, value)
1165
- {
1283
+ var yearManipulator = function (dateValues, value) {
1166
1284
  value = parseInt(value, 10);
1167
1285
 
1168
- if(value >= 0)
1169
- {
1286
+ if (value >= 0) {
1170
1287
  if (value < DateFormat.ASSUME_YEAR_2000_THRESHOLD) {
1171
1288
  value += 2000;
1172
1289
  } else if (value < 100) {
@@ -1177,12 +1294,10 @@ qx.Class.define("qx.util.format.DateFormat",
1177
1294
  dateValues.year = value;
1178
1295
  };
1179
1296
 
1180
- var weekYearManipulator = function(dateValues, value)
1181
- {
1297
+ var weekYearManipulator = function (dateValues, value) {
1182
1298
  value = parseInt(value, 10);
1183
1299
 
1184
- if(value >= 0)
1185
- {
1300
+ if (value >= 0) {
1186
1301
  if (value < DateFormat.ASSUME_YEAR_2000_THRESHOLD) {
1187
1302
  value += 2000;
1188
1303
  } else if (value < 100) {
@@ -1193,30 +1308,34 @@ qx.Class.define("qx.util.format.DateFormat",
1193
1308
  dateValues.weekYear = value;
1194
1309
  };
1195
1310
 
1196
- var monthManipulator = function(dateValues, value) {
1311
+ var monthManipulator = function (dateValues, value) {
1197
1312
  dateValues.month = parseInt(value, 10) - 1;
1198
1313
  };
1199
1314
 
1200
- var localWeekDayManipulator = function(dateValues, value) {
1315
+ var localWeekDayManipulator = function (dateValues, value) {
1201
1316
  var startOfWeek = qx.locale.Date.getWeekStart(locale);
1202
- var dayOfWeek = (parseInt(value,10) - 1 + startOfWeek) <= 6 ? parseInt(value,10) - 1 + startOfWeek : (parseInt(value,10) - 1 + startOfWeek) -7;
1317
+ var dayOfWeek =
1318
+ parseInt(value, 10) - 1 + startOfWeek <= 6
1319
+ ? parseInt(value, 10) - 1 + startOfWeek
1320
+ : parseInt(value, 10) - 1 + startOfWeek - 7;
1203
1321
  dateValues.weekDay = dayOfWeek;
1204
1322
  };
1205
1323
 
1206
- var ampmManipulator = function(dateValues, value) {
1207
- var pmMarker = qx.locale.Date.getPmMarker(locale).toString() || DateFormat.PM_MARKER;
1208
- dateValues.ispm = (value == pmMarker);
1324
+ var ampmManipulator = function (dateValues, value) {
1325
+ var pmMarker =
1326
+ qx.locale.Date.getPmMarker(locale).toString() || DateFormat.PM_MARKER;
1327
+ dateValues.ispm = value == pmMarker;
1209
1328
  };
1210
1329
 
1211
- var noZeroHourManipulator = function(dateValues, value) {
1330
+ var noZeroHourManipulator = function (dateValues, value) {
1212
1331
  dateValues.hour = parseInt(value, 10) % 24;
1213
1332
  };
1214
1333
 
1215
- var noZeroAmPmHourManipulator = function(dateValues, value) {
1334
+ var noZeroAmPmHourManipulator = function (dateValues, value) {
1216
1335
  dateValues.hour = parseInt(value, 10) % 12;
1217
1336
  };
1218
1337
 
1219
- var timezoneManipulator = function(dateValues, value) {
1338
+ var timezoneManipulator = function (dateValues, value) {
1220
1339
  var regEx = new RegExp("([+-]?)(\\d\\d)(?::?(\\d\\d))?$");
1221
1340
  var tzResults = regEx.exec(value);
1222
1341
  var offsetHours = parseInt(tzResults[2], 10);
@@ -1228,7 +1347,7 @@ qx.Class.define("qx.util.format.DateFormat",
1228
1347
  if (offsetMins > 59) {
1229
1348
  throw new Error("Invalid minutes in time zone offset.");
1230
1349
  }
1231
- dateValues.tzOffsetMins = (offsetHours * 60) + offsetMins;
1350
+ dateValues.tzOffsetMins = offsetHours * 60 + offsetMins;
1232
1351
  if (tzResults[1] === "-") {
1233
1352
  dateValues.tzOffsetMins = -dateValues.tzOffsetMins;
1234
1353
  }
@@ -1238,73 +1357,86 @@ qx.Class.define("qx.util.format.DateFormat",
1238
1357
  // return;
1239
1358
  // };
1240
1359
 
1241
- var narrowEraNames = ['A', 'B'];
1242
- var narrowEraNameManipulator = function(dateValues, value) {
1243
- dateValues.era = value == 'A' ? 1 : -1;
1360
+ var narrowEraNames = ["A", "B"];
1361
+ var narrowEraNameManipulator = function (dateValues, value) {
1362
+ dateValues.era = value == "A" ? 1 : -1;
1244
1363
  };
1245
1364
 
1246
- var abbrevEraNames = ['AD', 'BC'];
1247
- var abbrevEraNameManipulator = function(dateValues, value) {
1248
- dateValues.era = value == 'AD' ? 1 : -1;
1365
+ var abbrevEraNames = ["AD", "BC"];
1366
+ var abbrevEraNameManipulator = function (dateValues, value) {
1367
+ dateValues.era = value == "AD" ? 1 : -1;
1249
1368
  };
1250
1369
 
1251
- var fullEraNames = ['Anno Domini', 'Before Christ'];
1252
- var fullEraNameManipulator = function(dateValues, value) {
1253
- dateValues.era = value == 'Anno Domini' ? 1 : -1;
1370
+ var fullEraNames = ["Anno Domini", "Before Christ"];
1371
+ var fullEraNameManipulator = function (dateValues, value) {
1372
+ dateValues.era = value == "Anno Domini" ? 1 : -1;
1254
1373
  };
1255
1374
 
1256
- var abbrevQuarterNames = ['Q1','Q2','Q3','Q4'];
1257
- var abbrevQuarterManipulator = function(dateValues, value) {
1375
+ var abbrevQuarterNames = ["Q1", "Q2", "Q3", "Q4"];
1376
+ var abbrevQuarterManipulator = function (dateValues, value) {
1258
1377
  dateValues.quarter = abbrevQuarterNames.indexOf(value);
1259
1378
  };
1260
1379
 
1261
- var fullQuarterNames = ['1st quarter','2nd quarter','3rd quarter','4th quarter'];
1262
- var fullQuarterManipulator = function(dateValues, value) {
1380
+ var fullQuarterNames = [
1381
+ "1st quarter",
1382
+ "2nd quarter",
1383
+ "3rd quarter",
1384
+ "4th quarter"
1385
+ ];
1386
+
1387
+ var fullQuarterManipulator = function (dateValues, value) {
1263
1388
  dateValues.quarter = fullQuarterNames.indexOf(value);
1264
1389
  };
1265
1390
 
1266
1391
  var cache = {};
1267
1392
 
1268
- var dateNamesManipulator = function(pattern){
1269
- var monthPatternLetters = ['L','M'];
1270
- var dayPatternLetters = ['c', 'e', 'E'];
1393
+ var dateNamesManipulator = function (pattern) {
1394
+ var monthPatternLetters = ["L", "M"];
1395
+ var dayPatternLetters = ["c", "e", "E"];
1271
1396
  var firstLetterInPattern = pattern.charAt(0);
1272
- var isMonth = monthPatternLetters.indexOf(firstLetterInPattern)>=0;
1397
+ var isMonth = monthPatternLetters.indexOf(firstLetterInPattern) >= 0;
1273
1398
 
1274
- var getContext = function() {
1399
+ var getContext = function () {
1275
1400
  var letters = isMonth ? monthPatternLetters : dayPatternLetters;
1276
- var context = firstLetterInPattern === letters[0] ? "stand-alone" : "format" ;
1401
+ var context =
1402
+ firstLetterInPattern === letters[0] ? "stand-alone" : "format";
1277
1403
  var patternLength = pattern.length;
1278
- var lengthName = 'abbreviated';
1279
- switch(patternLength)
1280
- {
1404
+ var lengthName = "abbreviated";
1405
+ switch (patternLength) {
1281
1406
  case 4:
1282
- lengthName = 'wide';
1407
+ lengthName = "wide";
1283
1408
  break;
1284
1409
  case 5:
1285
- lengthName = 'narrow';
1410
+ lengthName = "narrow";
1286
1411
  break;
1287
1412
  default:
1288
- lengthName = 'abbreviated';
1413
+ lengthName = "abbreviated";
1289
1414
  }
1415
+
1290
1416
  return [context, lengthName];
1291
1417
  };
1292
1418
 
1293
- if(!cache[pattern])
1294
- {
1419
+ if (!cache[pattern]) {
1295
1420
  cache[pattern] = {};
1296
1421
  var context = getContext();
1297
- var func = isMonth ? qx.locale.Date.getMonthNames : qx.locale.Date.getDayNames;
1298
- var names = func.call(qx.locale.Date, context[1], locale, context[0], true);
1299
- for(var i=0, l=names.length; i<l; i++)
1300
- {
1422
+ var func = isMonth
1423
+ ? qx.locale.Date.getMonthNames
1424
+ : qx.locale.Date.getDayNames;
1425
+ var names = func.call(
1426
+ qx.locale.Date,
1427
+ context[1],
1428
+ locale,
1429
+ context[0],
1430
+ true
1431
+ );
1432
+
1433
+ for (var i = 0, l = names.length; i < l; i++) {
1301
1434
  names[i] = LString.escapeRegexpChars(names[i].toString());
1302
1435
  }
1303
1436
  cache[pattern].data = names;
1304
- cache[pattern].func = function(dateValues, value)
1305
- {
1437
+ cache[pattern].func = function (dateValues, value) {
1306
1438
  value = LString.escapeRegexpChars(value);
1307
- dateValues[isMonth ? 'month' : 'weekDay'] = names.indexOf(value);
1439
+ dateValues[isMonth ? "month" : "weekDay"] = names.indexOf(value);
1308
1440
  };
1309
1441
  }
1310
1442
 
@@ -1313,483 +1445,414 @@ qx.Class.define("qx.util.format.DateFormat",
1313
1445
 
1314
1446
  // Unsupported: F (Day of week in month)
1315
1447
 
1316
- rules.push(
1317
- {
1318
- pattern : "y+",
1319
- regexFunc : function(yNumber)
1320
- {
1321
- var regex = "(-*";
1322
- for(var i=0;i<yNumber;i++)
1323
- {
1324
- regex += "\\d";
1325
- if(i===yNumber-1 && i!==1) {
1326
- regex += "+?";
1327
- }
1448
+ rules.push({
1449
+ pattern: "y+",
1450
+ regexFunc(yNumber) {
1451
+ var regex = "(-*";
1452
+ for (var i = 0; i < yNumber; i++) {
1453
+ regex += "\\d";
1454
+ if (i === yNumber - 1 && i !== 1) {
1455
+ regex += "+?";
1328
1456
  }
1329
- regex += ")";
1330
- return regex;
1331
- },
1332
- manipulator : yearManipulator
1333
- });
1334
-
1335
- rules.push(
1336
- {
1337
- pattern : "Y+",
1338
- regexFunc : function(yNumber)
1339
- {
1340
- var regex = "(-*";
1341
- for(var i=0;i<yNumber;i++)
1342
- {
1343
- regex += "\\d";
1344
- if(i===yNumber-1) {
1345
- regex += "+?";
1346
- }
1457
+ }
1458
+ regex += ")";
1459
+ return regex;
1460
+ },
1461
+ manipulator: yearManipulator
1462
+ });
1463
+
1464
+ rules.push({
1465
+ pattern: "Y+",
1466
+ regexFunc(yNumber) {
1467
+ var regex = "(-*";
1468
+ for (var i = 0; i < yNumber; i++) {
1469
+ regex += "\\d";
1470
+ if (i === yNumber - 1) {
1471
+ regex += "+?";
1347
1472
  }
1348
- regex += ")";
1349
- return regex;
1350
- },
1351
- manipulator : weekYearManipulator
1473
+ }
1474
+ regex += ")";
1475
+ return regex;
1476
+ },
1477
+ manipulator: weekYearManipulator
1352
1478
  });
1353
1479
 
1354
- rules.push(
1355
- {
1356
- pattern : "G",
1357
- regex : "(" + abbrevEraNames.join("|") + ")",
1358
- manipulator : abbrevEraNameManipulator
1480
+ rules.push({
1481
+ pattern: "G",
1482
+ regex: "(" + abbrevEraNames.join("|") + ")",
1483
+ manipulator: abbrevEraNameManipulator
1359
1484
  });
1360
1485
 
1361
- rules.push(
1362
- {
1363
- pattern : "GG",
1364
- regex : "(" + abbrevEraNames.join("|") + ")",
1365
- manipulator : abbrevEraNameManipulator
1486
+ rules.push({
1487
+ pattern: "GG",
1488
+ regex: "(" + abbrevEraNames.join("|") + ")",
1489
+ manipulator: abbrevEraNameManipulator
1366
1490
  });
1367
1491
 
1368
- rules.push(
1369
- {
1370
- pattern : "GGG",
1371
- regex : "(" + abbrevEraNames.join("|") + ")",
1372
- manipulator : abbrevEraNameManipulator
1492
+ rules.push({
1493
+ pattern: "GGG",
1494
+ regex: "(" + abbrevEraNames.join("|") + ")",
1495
+ manipulator: abbrevEraNameManipulator
1373
1496
  });
1374
1497
 
1375
- rules.push(
1376
- {
1377
- pattern : "GGGG",
1378
- regex : "(" + fullEraNames.join("|") + ")",
1379
- manipulator : fullEraNameManipulator
1498
+ rules.push({
1499
+ pattern: "GGGG",
1500
+ regex: "(" + fullEraNames.join("|") + ")",
1501
+ manipulator: fullEraNameManipulator
1380
1502
  });
1381
1503
 
1382
- rules.push(
1383
- {
1384
- pattern : "GGGGG",
1385
- regex : "(" + narrowEraNames.join("|") + ")",
1386
- manipulator : narrowEraNameManipulator
1504
+ rules.push({
1505
+ pattern: "GGGGG",
1506
+ regex: "(" + narrowEraNames.join("|") + ")",
1507
+ manipulator: narrowEraNameManipulator
1387
1508
  });
1388
1509
 
1389
- rules.push(
1390
- {
1391
- pattern : "Q",
1392
- regex : "(\\d\\d*?)",
1393
- field : "quarter"
1510
+ rules.push({
1511
+ pattern: "Q",
1512
+ regex: "(\\d\\d*?)",
1513
+ field: "quarter"
1394
1514
  });
1395
1515
 
1396
- rules.push(
1397
- {
1398
- pattern : "QQ",
1399
- regex : "(\\d\\d?)",
1400
- field : "quarter"
1516
+ rules.push({
1517
+ pattern: "QQ",
1518
+ regex: "(\\d\\d?)",
1519
+ field: "quarter"
1401
1520
  });
1402
1521
 
1403
- rules.push(
1404
- {
1405
- pattern : "QQQ",
1406
- regex : "(" + abbrevQuarterNames.join("|") + ")",
1407
- manipulator : abbrevQuarterManipulator
1522
+ rules.push({
1523
+ pattern: "QQQ",
1524
+ regex: "(" + abbrevQuarterNames.join("|") + ")",
1525
+ manipulator: abbrevQuarterManipulator
1408
1526
  });
1409
1527
 
1410
- rules.push(
1411
- {
1412
- pattern : "QQQQ",
1413
- regex : "(" + fullQuarterNames.join("|") + ")",
1414
- manipulator : fullQuarterManipulator
1528
+ rules.push({
1529
+ pattern: "QQQQ",
1530
+ regex: "(" + fullQuarterNames.join("|") + ")",
1531
+ manipulator: fullQuarterManipulator
1415
1532
  });
1416
1533
 
1417
- rules.push(
1418
- {
1419
- pattern : "q",
1420
- regex : "(\\d\\d*?)",
1421
- field : "quarter"
1534
+ rules.push({
1535
+ pattern: "q",
1536
+ regex: "(\\d\\d*?)",
1537
+ field: "quarter"
1422
1538
  });
1423
1539
 
1424
- rules.push(
1425
- {
1426
- pattern : "qq",
1427
- regex : "(\\d\\d?)",
1428
- field : "quarter"
1540
+ rules.push({
1541
+ pattern: "qq",
1542
+ regex: "(\\d\\d?)",
1543
+ field: "quarter"
1429
1544
  });
1430
1545
 
1431
- rules.push(
1432
- {
1433
- pattern : "qqq",
1434
- regex : "(" + abbrevQuarterNames.join("|") + ")",
1435
- manipulator : abbrevQuarterManipulator
1546
+ rules.push({
1547
+ pattern: "qqq",
1548
+ regex: "(" + abbrevQuarterNames.join("|") + ")",
1549
+ manipulator: abbrevQuarterManipulator
1436
1550
  });
1437
1551
 
1438
- rules.push(
1439
- {
1440
- pattern : "qqqq",
1441
- regex : "(" + fullQuarterNames.join("|") + ")",
1442
- manipulator : fullQuarterManipulator
1552
+ rules.push({
1553
+ pattern: "qqqq",
1554
+ regex: "(" + fullQuarterNames.join("|") + ")",
1555
+ manipulator: fullQuarterManipulator
1443
1556
  });
1444
1557
 
1445
- rules.push(
1446
- {
1447
- pattern : "M",
1448
- regex : "(\\d\\d*?)",
1449
- manipulator : monthManipulator
1558
+ rules.push({
1559
+ pattern: "M",
1560
+ regex: "(\\d\\d*?)",
1561
+ manipulator: monthManipulator
1450
1562
  });
1451
1563
 
1452
- rules.push(
1453
- {
1454
- pattern : "MM",
1455
- regex : "(\\d\\d?)",
1456
- manipulator : monthManipulator
1564
+ rules.push({
1565
+ pattern: "MM",
1566
+ regex: "(\\d\\d?)",
1567
+ manipulator: monthManipulator
1457
1568
  });
1458
1569
 
1459
- rules.push(
1460
- {
1461
- pattern : "MMM",
1462
- regex : "(" + dateNamesManipulator("MMM").data.join("|") + ")",
1463
- manipulator : dateNamesManipulator("MMM").func
1570
+ rules.push({
1571
+ pattern: "MMM",
1572
+ regex: "(" + dateNamesManipulator("MMM").data.join("|") + ")",
1573
+ manipulator: dateNamesManipulator("MMM").func
1464
1574
  });
1465
1575
 
1466
- rules.push(
1467
- {
1468
- pattern : "MMMM",
1469
- regex : "(" + dateNamesManipulator("MMMM").data.join("|") + ")",
1470
- manipulator : dateNamesManipulator("MMMM").func
1576
+ rules.push({
1577
+ pattern: "MMMM",
1578
+ regex: "(" + dateNamesManipulator("MMMM").data.join("|") + ")",
1579
+ manipulator: dateNamesManipulator("MMMM").func
1471
1580
  });
1472
1581
 
1473
- rules.push(
1474
- {
1475
- pattern : "MMMMM",
1476
- regex : "(" + dateNamesManipulator("MMMMM").data.join("|") + ")",
1477
- manipulator : dateNamesManipulator("MMMMM").func
1582
+ rules.push({
1583
+ pattern: "MMMMM",
1584
+ regex: "(" + dateNamesManipulator("MMMMM").data.join("|") + ")",
1585
+ manipulator: dateNamesManipulator("MMMMM").func
1478
1586
  });
1479
1587
 
1480
- rules.push(
1481
- {
1482
- pattern : "L",
1483
- regex : "(\\d\\d*?)",
1484
- manipulator : monthManipulator
1588
+ rules.push({
1589
+ pattern: "L",
1590
+ regex: "(\\d\\d*?)",
1591
+ manipulator: monthManipulator
1485
1592
  });
1486
1593
 
1487
- rules.push(
1488
- {
1489
- pattern : "LL",
1490
- regex : "(\\d\\d?)",
1491
- manipulator : monthManipulator
1594
+ rules.push({
1595
+ pattern: "LL",
1596
+ regex: "(\\d\\d?)",
1597
+ manipulator: monthManipulator
1492
1598
  });
1493
1599
 
1494
- rules.push(
1495
- {
1496
- pattern : "LLL",
1497
- regex : "(" + dateNamesManipulator("LLL").data.join("|") + ")",
1498
- manipulator : dateNamesManipulator("LLL").func
1600
+ rules.push({
1601
+ pattern: "LLL",
1602
+ regex: "(" + dateNamesManipulator("LLL").data.join("|") + ")",
1603
+ manipulator: dateNamesManipulator("LLL").func
1499
1604
  });
1500
1605
 
1501
- rules.push(
1502
- {
1503
- pattern : "LLLL",
1504
- regex : "(" + dateNamesManipulator("LLLL").data.join("|") + ")",
1505
- manipulator : dateNamesManipulator("LLLL").func
1606
+ rules.push({
1607
+ pattern: "LLLL",
1608
+ regex: "(" + dateNamesManipulator("LLLL").data.join("|") + ")",
1609
+ manipulator: dateNamesManipulator("LLLL").func
1506
1610
  });
1507
1611
 
1508
- rules.push(
1509
- {
1510
- pattern : "LLLLL",
1511
- regex : "(" + dateNamesManipulator("LLLLL").data.join("|") + ")",
1512
- manipulator : dateNamesManipulator("LLLLL").func
1612
+ rules.push({
1613
+ pattern: "LLLLL",
1614
+ regex: "(" + dateNamesManipulator("LLLLL").data.join("|") + ")",
1615
+ manipulator: dateNamesManipulator("LLLLL").func
1513
1616
  });
1514
1617
 
1515
- rules.push(
1516
- {
1517
- pattern : "dd",
1518
- regex : "(\\d\\d?)",
1519
- field : "day"
1618
+ rules.push({
1619
+ pattern: "dd",
1620
+ regex: "(\\d\\d?)",
1621
+ field: "day"
1520
1622
  });
1521
1623
 
1522
- rules.push(
1523
- {
1524
- pattern : "d",
1525
- regex : "(\\d\\d*?)",
1526
- field : "day"
1624
+ rules.push({
1625
+ pattern: "d",
1626
+ regex: "(\\d\\d*?)",
1627
+ field: "day"
1527
1628
  });
1528
1629
 
1529
- rules.push(
1530
- {
1531
- pattern : "D",
1532
- regex : "(\\d?)",
1533
- field : "dayOfYear"
1630
+ rules.push({
1631
+ pattern: "D",
1632
+ regex: "(\\d?)",
1633
+ field: "dayOfYear"
1534
1634
  });
1535
1635
 
1536
- rules.push(
1537
- {
1538
- pattern : "DD",
1539
- regex : "(\\d\\d?)",
1540
- field : "dayOfYear"
1636
+ rules.push({
1637
+ pattern: "DD",
1638
+ regex: "(\\d\\d?)",
1639
+ field: "dayOfYear"
1541
1640
  });
1542
1641
 
1543
- rules.push(
1544
- {
1545
- pattern : "DDD",
1546
- regex : "(\\d\\d\\d?)",
1547
- field : "dayOfYear"
1642
+ rules.push({
1643
+ pattern: "DDD",
1644
+ regex: "(\\d\\d\\d?)",
1645
+ field: "dayOfYear"
1548
1646
  });
1549
1647
 
1550
- rules.push(
1551
- {
1552
- pattern : "E",
1553
- regex : "(" + dateNamesManipulator("E").data.join("|") + ")",
1554
- manipulator : dateNamesManipulator("E").func
1648
+ rules.push({
1649
+ pattern: "E",
1650
+ regex: "(" + dateNamesManipulator("E").data.join("|") + ")",
1651
+ manipulator: dateNamesManipulator("E").func
1555
1652
  });
1556
1653
 
1557
- rules.push(
1558
- {
1559
- pattern : "EE",
1560
- regex : "(" + dateNamesManipulator("EE").data.join("|") + ")",
1561
- manipulator : dateNamesManipulator("EE").func
1654
+ rules.push({
1655
+ pattern: "EE",
1656
+ regex: "(" + dateNamesManipulator("EE").data.join("|") + ")",
1657
+ manipulator: dateNamesManipulator("EE").func
1562
1658
  });
1563
1659
 
1564
- rules.push(
1565
- {
1566
- pattern : "EEE",
1567
- regex : "(" + dateNamesManipulator("EEE").data.join("|") + ")",
1568
- manipulator : dateNamesManipulator("EEE").func
1660
+ rules.push({
1661
+ pattern: "EEE",
1662
+ regex: "(" + dateNamesManipulator("EEE").data.join("|") + ")",
1663
+ manipulator: dateNamesManipulator("EEE").func
1569
1664
  });
1570
1665
 
1571
- rules.push(
1572
- {
1573
- pattern : "EEEE",
1574
- regex : "(" + dateNamesManipulator("EEEE").data.join("|") + ")",
1575
- manipulator : dateNamesManipulator("EEEE").func
1666
+ rules.push({
1667
+ pattern: "EEEE",
1668
+ regex: "(" + dateNamesManipulator("EEEE").data.join("|") + ")",
1669
+ manipulator: dateNamesManipulator("EEEE").func
1576
1670
  });
1577
1671
 
1578
- rules.push(
1579
- {
1580
- pattern : "EEEEE",
1581
- regex : "(" + dateNamesManipulator("EEEEE").data.join("|") + ")",
1582
- manipulator : dateNamesManipulator("EEEEE").func
1672
+ rules.push({
1673
+ pattern: "EEEEE",
1674
+ regex: "(" + dateNamesManipulator("EEEEE").data.join("|") + ")",
1675
+ manipulator: dateNamesManipulator("EEEEE").func
1583
1676
  });
1584
1677
 
1585
- rules.push(
1586
- {
1587
- pattern : "e",
1588
- regex : "(\\d?)",
1589
- manipulator : localWeekDayManipulator
1678
+ rules.push({
1679
+ pattern: "e",
1680
+ regex: "(\\d?)",
1681
+ manipulator: localWeekDayManipulator
1590
1682
  });
1591
1683
 
1592
- rules.push(
1593
- {
1594
- pattern : "ee",
1595
- regex : "(\\d\\d?)",
1596
- manipulator : localWeekDayManipulator
1684
+ rules.push({
1685
+ pattern: "ee",
1686
+ regex: "(\\d\\d?)",
1687
+ manipulator: localWeekDayManipulator
1597
1688
  });
1598
1689
 
1599
- rules.push(
1600
- {
1601
- pattern : "eee",
1602
- regex : "(" + dateNamesManipulator("eee").data.join("|") + ")",
1603
- manipulator : dateNamesManipulator("eee").func
1690
+ rules.push({
1691
+ pattern: "eee",
1692
+ regex: "(" + dateNamesManipulator("eee").data.join("|") + ")",
1693
+ manipulator: dateNamesManipulator("eee").func
1604
1694
  });
1605
1695
 
1606
- rules.push(
1607
- {
1608
- pattern : "eeee",
1609
- regex : "(" + dateNamesManipulator("eeee").data.join("|") + ")",
1610
- manipulator : dateNamesManipulator("eeee").func
1696
+ rules.push({
1697
+ pattern: "eeee",
1698
+ regex: "(" + dateNamesManipulator("eeee").data.join("|") + ")",
1699
+ manipulator: dateNamesManipulator("eeee").func
1611
1700
  });
1612
1701
 
1613
- rules.push(
1614
- {
1615
- pattern : "eeeee",
1616
- regex : "(" + dateNamesManipulator("eeeee").data.join("|") + ")",
1617
- manipulator : dateNamesManipulator("eeeee").func
1702
+ rules.push({
1703
+ pattern: "eeeee",
1704
+ regex: "(" + dateNamesManipulator("eeeee").data.join("|") + ")",
1705
+ manipulator: dateNamesManipulator("eeeee").func
1618
1706
  });
1619
1707
 
1620
- rules.push(
1621
- {
1622
- pattern : "c",
1623
- regex : "\\d?",
1624
- manipulator : localWeekDayManipulator
1708
+ rules.push({
1709
+ pattern: "c",
1710
+ regex: "\\d?",
1711
+ manipulator: localWeekDayManipulator
1625
1712
  });
1626
1713
 
1627
- rules.push(
1628
- {
1629
- pattern : "ccc",
1630
- regex : "(" + dateNamesManipulator("ccc").data.join("|") + ")",
1631
- manipulator : dateNamesManipulator("ccc").func
1714
+ rules.push({
1715
+ pattern: "ccc",
1716
+ regex: "(" + dateNamesManipulator("ccc").data.join("|") + ")",
1717
+ manipulator: dateNamesManipulator("ccc").func
1632
1718
  });
1633
1719
 
1634
- rules.push(
1635
- {
1636
- pattern : "cccc",
1637
- regex : "(" + dateNamesManipulator("cccc").data.join("|") + ")",
1638
- manipulator : dateNamesManipulator("cccc").func
1720
+ rules.push({
1721
+ pattern: "cccc",
1722
+ regex: "(" + dateNamesManipulator("cccc").data.join("|") + ")",
1723
+ manipulator: dateNamesManipulator("cccc").func
1639
1724
  });
1640
1725
 
1641
- rules.push(
1642
- {
1643
- pattern : "ccccc",
1644
- regex : "(" + dateNamesManipulator("ccccc").data.join("|") + ")",
1645
- manipulator : dateNamesManipulator("ccccc").func
1726
+ rules.push({
1727
+ pattern: "ccccc",
1728
+ regex: "(" + dateNamesManipulator("ccccc").data.join("|") + ")",
1729
+ manipulator: dateNamesManipulator("ccccc").func
1646
1730
  });
1647
1731
 
1648
- rules.push(
1649
- {
1650
- pattern : "a",
1651
- regex : "(" + amMarker + "|" + pmMarker + ")",
1652
- manipulator : ampmManipulator
1732
+ rules.push({
1733
+ pattern: "a",
1734
+ regex: "(" + amMarker + "|" + pmMarker + ")",
1735
+ manipulator: ampmManipulator
1653
1736
  });
1654
1737
 
1655
- rules.push(
1656
- {
1657
- pattern : "W",
1658
- regex : "(\\d?)",
1659
- field : "weekOfMonth"
1738
+ rules.push({
1739
+ pattern: "W",
1740
+ regex: "(\\d?)",
1741
+ field: "weekOfMonth"
1660
1742
  });
1661
1743
 
1662
- rules.push(
1663
- {
1664
- pattern : "w",
1665
- regex : "(\\d\\d?)",
1666
- field : "weekOfYear"
1744
+ rules.push({
1745
+ pattern: "w",
1746
+ regex: "(\\d\\d?)",
1747
+ field: "weekOfYear"
1667
1748
  });
1668
1749
 
1669
- rules.push(
1670
- {
1671
- pattern : "ww",
1672
- regex : "(\\d\\d)",
1673
- field : "weekOfYear"
1750
+ rules.push({
1751
+ pattern: "ww",
1752
+ regex: "(\\d\\d)",
1753
+ field: "weekOfYear"
1674
1754
  });
1675
1755
 
1676
- rules.push(
1677
- {
1678
- pattern : "HH",
1679
- regex : "(\\d\\d?)",
1680
- field : "hour"
1756
+ rules.push({
1757
+ pattern: "HH",
1758
+ regex: "(\\d\\d?)",
1759
+ field: "hour"
1681
1760
  });
1682
1761
 
1683
- rules.push(
1684
- {
1685
- pattern : "H",
1686
- regex : "(\\d\\d?)",
1687
- field : "hour"
1762
+ rules.push({
1763
+ pattern: "H",
1764
+ regex: "(\\d\\d?)",
1765
+ field: "hour"
1688
1766
  });
1689
1767
 
1690
- rules.push(
1691
- {
1692
- pattern : "kk",
1693
- regex : "(\\d\\d?)",
1694
- manipulator : noZeroHourManipulator
1768
+ rules.push({
1769
+ pattern: "kk",
1770
+ regex: "(\\d\\d?)",
1771
+ manipulator: noZeroHourManipulator
1695
1772
  });
1696
1773
 
1697
- rules.push(
1698
- {
1699
- pattern : "k",
1700
- regex : "(\\d\\d?)",
1701
- manipulator : noZeroHourManipulator
1774
+ rules.push({
1775
+ pattern: "k",
1776
+ regex: "(\\d\\d?)",
1777
+ manipulator: noZeroHourManipulator
1702
1778
  });
1703
1779
 
1704
- rules.push(
1705
- {
1706
- pattern : "KK",
1707
- regex : "(\\d\\d?)",
1708
- field : "hour"
1780
+ rules.push({
1781
+ pattern: "KK",
1782
+ regex: "(\\d\\d?)",
1783
+ field: "hour"
1709
1784
  });
1710
1785
 
1711
- rules.push(
1712
- {
1713
- pattern : "K",
1714
- regex : "(\\d\\d?)",
1715
- field : "hour"
1786
+ rules.push({
1787
+ pattern: "K",
1788
+ regex: "(\\d\\d?)",
1789
+ field: "hour"
1716
1790
  });
1717
1791
 
1718
- rules.push(
1719
- {
1720
- pattern : "hh",
1721
- regex : "(\\d\\d?)",
1722
- manipulator : noZeroAmPmHourManipulator
1792
+ rules.push({
1793
+ pattern: "hh",
1794
+ regex: "(\\d\\d?)",
1795
+ manipulator: noZeroAmPmHourManipulator
1723
1796
  });
1724
1797
 
1725
- rules.push(
1726
- {
1727
- pattern : "h",
1728
- regex : "(\\d\\d?)",
1729
- manipulator : noZeroAmPmHourManipulator
1798
+ rules.push({
1799
+ pattern: "h",
1800
+ regex: "(\\d\\d?)",
1801
+ manipulator: noZeroAmPmHourManipulator
1730
1802
  });
1731
1803
 
1732
- rules.push(
1733
- {
1734
- pattern : "mm",
1735
- regex : "(\\d\\d?)",
1736
- field : "min"
1804
+ rules.push({
1805
+ pattern: "mm",
1806
+ regex: "(\\d\\d?)",
1807
+ field: "min"
1737
1808
  });
1738
1809
 
1739
- rules.push(
1740
- {
1741
- pattern : "m",
1742
- regex : "(\\d\\d?)",
1743
- field : "min"
1810
+ rules.push({
1811
+ pattern: "m",
1812
+ regex: "(\\d\\d?)",
1813
+ field: "min"
1744
1814
  });
1745
1815
 
1746
- rules.push(
1747
- {
1748
- pattern : "ss",
1749
- regex : "(\\d\\d?)",
1750
- field : "sec"
1816
+ rules.push({
1817
+ pattern: "ss",
1818
+ regex: "(\\d\\d?)",
1819
+ field: "sec"
1751
1820
  });
1752
1821
 
1753
- rules.push(
1754
- {
1755
- pattern : "s",
1756
- regex : "(\\d\\d?)",
1757
- field : "sec"
1822
+ rules.push({
1823
+ pattern: "s",
1824
+ regex: "(\\d\\d?)",
1825
+ field: "sec"
1758
1826
  });
1759
1827
 
1760
- rules.push(
1761
- {
1762
- pattern : "SSS",
1763
- regex : "(\\d\\d?\\d?)",
1764
- field : "ms"
1828
+ rules.push({
1829
+ pattern: "SSS",
1830
+ regex: "(\\d\\d?\\d?)",
1831
+ field: "ms"
1765
1832
  });
1766
1833
 
1767
- rules.push(
1768
- {
1769
- pattern : "SS",
1770
- regex : "(\\d\\d?\\d?)",
1771
- field : "ms"
1834
+ rules.push({
1835
+ pattern: "SS",
1836
+ regex: "(\\d\\d?\\d?)",
1837
+ field: "ms"
1772
1838
  });
1773
1839
 
1774
- rules.push(
1775
- {
1776
- pattern : "S",
1777
- regex : "(\\d\\d?\\d?)",
1778
- field : "ms"
1840
+ rules.push({
1841
+ pattern: "S",
1842
+ regex: "(\\d\\d?\\d?)",
1843
+ field: "ms"
1779
1844
  });
1780
1845
 
1781
- rules.push(
1782
- {
1783
- pattern : "Z",
1784
- regex : "([\\+\\-]\\d\\d\\d\\d)",
1785
- manipulator : timezoneManipulator
1846
+ rules.push({
1847
+ pattern: "Z",
1848
+ regex: "([\\+\\-]\\d\\d\\d\\d)",
1849
+ manipulator: timezoneManipulator
1786
1850
  });
1787
1851
 
1788
- rules.push(
1789
- {
1790
- pattern : "z",
1791
- regex : "(GMT[\\+\\-]\\d\\d:\\d\\d)",
1792
- manipulator : timezoneManipulator
1852
+ rules.push({
1853
+ pattern: "z",
1854
+ regex: "(GMT[\\+\\-]\\d\\d:\\d\\d)",
1855
+ manipulator: timezoneManipulator
1793
1856
  });
1794
1857
  }
1795
1858
  }