@qooxdoo/framework 7.0.0-beta.5 → 7.0.0-beta.9

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 (1562) hide show
  1. package/CHANGELOG.md +3 -6
  2. package/Manifest.json +1 -1
  3. package/README.md +9 -3
  4. package/lib/compiler/compile-info.json +50 -48
  5. package/lib/compiler/index.js +6948 -4175
  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 -13
  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 +19 -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 +156 -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/__init__.js +5 -3
  302. package/source/class/qx/io/exception/Cancel.js +33 -0
  303. package/source/class/qx/io/exception/Exception.js +37 -0
  304. package/source/class/qx/io/exception/Protocol.js +25 -0
  305. package/source/class/qx/io/exception/Transport.js +38 -0
  306. package/source/class/qx/io/exception/__init__.js +4 -0
  307. package/source/class/qx/io/graphql/Client.js +122 -0
  308. package/source/class/qx/io/graphql/__init__.js +9 -0
  309. package/source/class/qx/io/graphql/protocol/Message.js +65 -0
  310. package/source/class/qx/io/graphql/protocol/Request.js +93 -0
  311. package/source/class/qx/io/graphql/protocol/Response.js +63 -0
  312. package/source/class/qx/io/graphql/protocol/__init__.js +6 -0
  313. package/source/class/qx/io/jsonrpc/Client.js +355 -0
  314. package/source/class/qx/io/jsonrpc/__init__.js +15 -0
  315. package/source/class/qx/io/jsonrpc/protocol/Batch.js +103 -0
  316. package/source/class/qx/io/jsonrpc/protocol/Error.js +65 -0
  317. package/source/class/qx/io/jsonrpc/protocol/Message.js +48 -0
  318. package/source/class/qx/io/jsonrpc/protocol/Notification.js +47 -0
  319. package/source/class/qx/io/jsonrpc/protocol/Parser.js +105 -0
  320. package/source/class/qx/io/jsonrpc/protocol/Request.js +94 -0
  321. package/source/class/qx/io/jsonrpc/protocol/Result.js +49 -0
  322. package/source/class/qx/io/jsonrpc/protocol/__init__.js +5 -0
  323. package/source/class/qx/io/part/ClosurePart.js +16 -35
  324. package/source/class/qx/io/part/Package.js +35 -63
  325. package/source/class/qx/io/part/Part.js +29 -53
  326. package/source/class/qx/io/part/__init__.js +4 -4
  327. package/source/class/qx/io/request/AbstractRequest.js +268 -201
  328. package/source/class/qx/io/request/Jsonp.js +16 -19
  329. package/source/class/qx/io/request/Xhr.js +38 -37
  330. package/source/class/qx/io/request/__init__.js +1 -1
  331. package/source/class/qx/io/request/authentication/Basic.js +7 -13
  332. package/source/class/qx/io/request/authentication/Bearer.js +46 -0
  333. package/source/class/qx/io/request/authentication/IAuthentication.js +3 -6
  334. package/source/class/qx/io/request/authentication/__init__.js +1 -1
  335. package/source/class/qx/io/rest/Resource.js +122 -90
  336. package/source/class/qx/io/transport/AbstractClient.js +121 -0
  337. package/source/class/qx/io/transport/AbstractTransport.js +40 -0
  338. package/source/class/qx/io/transport/Fetch.js +98 -0
  339. package/source/class/qx/io/transport/ITransport.js +42 -0
  340. package/source/class/qx/io/transport/PostMessage.js +54 -0
  341. package/source/class/qx/io/transport/Websocket.js +97 -0
  342. package/source/class/qx/io/transport/Xhr.js +138 -0
  343. package/source/class/qx/io/transport/__init__.js +18 -0
  344. package/source/class/qx/lang/Array.js +133 -170
  345. package/source/class/qx/lang/Function.js +101 -104
  346. package/source/class/qx/lang/Json.js +1041 -774
  347. package/source/class/qx/lang/Number.js +11 -16
  348. package/source/class/qx/lang/Object.js +129 -100
  349. package/source/class/qx/lang/String.js +86 -94
  350. package/source/class/qx/lang/Type.js +44 -65
  351. package/source/class/qx/lang/normalize/Array.js +39 -49
  352. package/source/class/qx/lang/normalize/Date.js +50 -32
  353. package/source/class/qx/lang/normalize/Error.js +4 -7
  354. package/source/class/qx/lang/normalize/Function.js +11 -19
  355. package/source/class/qx/lang/normalize/Number.js +3 -5
  356. package/source/class/qx/lang/normalize/Object.js +17 -18
  357. package/source/class/qx/lang/normalize/String.js +39 -40
  358. package/source/class/qx/locale/Date.js +175 -178
  359. package/source/class/qx/locale/Key.js +13 -11
  360. package/source/class/qx/locale/LocalizedString.js +18 -15
  361. package/source/class/qx/locale/MTranslation.js +22 -23
  362. package/source/class/qx/locale/Manager.js +62 -100
  363. package/source/class/qx/locale/Number.js +20 -12
  364. package/source/class/qx/locale/String.js +26 -15
  365. package/source/class/qx/log/Logger.js +128 -180
  366. package/source/class/qx/log/__init__.js +3 -3
  367. package/source/class/qx/log/appender/Console.js +100 -111
  368. package/source/class/qx/log/appender/Element.js +25 -39
  369. package/source/class/qx/log/appender/Formatter.js +117 -66
  370. package/source/class/qx/log/appender/Native.js +4 -10
  371. package/source/class/qx/log/appender/NodeConsole.js +20 -28
  372. package/source/class/qx/log/appender/PhoneGap.js +5 -13
  373. package/source/class/qx/log/appender/RhinoConsole.js +12 -23
  374. package/source/class/qx/log/appender/RhinoFile.js +19 -26
  375. package/source/class/qx/log/appender/RingBuffer.js +10 -19
  376. package/source/class/qx/log/appender/Util.js +11 -9
  377. package/source/class/qx/module/Animation.js +73 -63
  378. package/source/class/qx/module/Attribute.js +27 -46
  379. package/source/class/qx/module/Blocker.js +33 -41
  380. package/source/class/qx/module/Cookie.js +6 -10
  381. package/source/class/qx/module/Css.js +82 -97
  382. package/source/class/qx/module/Dataset.js +12 -24
  383. package/source/class/qx/module/Environment.js +4 -6
  384. package/source/class/qx/module/Event.js +124 -127
  385. package/source/class/qx/module/Io.js +5 -9
  386. package/source/class/qx/module/Manipulating.js +98 -117
  387. package/source/class/qx/module/MatchMedia.js +50 -24
  388. package/source/class/qx/module/Messaging.js +6 -10
  389. package/source/class/qx/module/Placeholder.js +54 -44
  390. package/source/class/qx/module/Placement.js +33 -33
  391. package/source/class/qx/module/Rest.js +3 -4
  392. package/source/class/qx/module/Storage.js +34 -48
  393. package/source/class/qx/module/Template.js +6 -9
  394. package/source/class/qx/module/TextSelection.js +13 -21
  395. package/source/class/qx/module/Transform.js +28 -45
  396. package/source/class/qx/module/Traversing.js +160 -154
  397. package/source/class/qx/module/__init__.js +1 -1
  398. package/source/class/qx/module/dev/FakeServer.js +19 -25
  399. package/source/class/qx/module/event/GestureHandler.js +25 -13
  400. package/source/class/qx/module/event/Keyboard.js +42 -31
  401. package/source/class/qx/module/event/Mouse.js +48 -46
  402. package/source/class/qx/module/event/Native.js +18 -30
  403. package/source/class/qx/module/event/Orientation.js +11 -18
  404. package/source/class/qx/module/event/OrientationHandler.js +19 -17
  405. package/source/class/qx/module/event/Pinch.js +13 -14
  406. package/source/class/qx/module/event/Pointer.js +22 -22
  407. package/source/class/qx/module/event/PointerHandler.js +14 -11
  408. package/source/class/qx/module/event/Rotate.js +13 -14
  409. package/source/class/qx/module/event/Swipe.js +18 -24
  410. package/source/class/qx/module/event/Tap.js +25 -25
  411. package/source/class/qx/module/event/Touch.js +4 -7
  412. package/source/class/qx/module/event/TouchHandler.js +16 -16
  413. package/source/class/qx/module/event/Track.js +13 -14
  414. package/source/class/qx/module/util/Array.js +30 -41
  415. package/source/class/qx/module/util/Function.js +1 -2
  416. package/source/class/qx/module/util/Object.js +8 -11
  417. package/source/class/qx/module/util/String.js +10 -18
  418. package/source/class/qx/module/util/Type.js +3 -4
  419. package/source/class/qx/test/Annotation.js +195 -89
  420. package/source/class/qx/test/Bootstrap.js +98 -124
  421. package/source/class/qx/test/Browser.js +8 -11
  422. package/source/class/qx/test/Class.js +164 -198
  423. package/source/class/qx/test/Dom.js +10 -28
  424. package/source/class/qx/test/EditDistance.js +16 -16
  425. package/source/class/qx/test/Interface.js +380 -383
  426. package/source/class/qx/test/MAppearance.js +10 -14
  427. package/source/class/qx/test/MDecoration.js +1 -3
  428. package/source/class/qx/test/Mixin.js +418 -173
  429. package/source/class/qx/test/Promise.js +422 -333
  430. package/source/class/qx/test/Theme.js +204 -179
  431. package/source/class/qx/test/Xml.js +155 -84
  432. package/source/class/qx/test/application/Routing.js +45 -44
  433. package/source/class/qx/test/bom/AnimationFrame.js +23 -21
  434. package/source/class/qx/test/bom/Attribute.js +66 -47
  435. package/source/class/qx/test/bom/Basic.js +52 -27
  436. package/source/class/qx/test/bom/Blocker.js +100 -70
  437. package/source/class/qx/test/bom/Class.js +19 -34
  438. package/source/class/qx/test/bom/Cookie.js +49 -28
  439. package/source/class/qx/test/bom/Dataset.js +12 -24
  440. package/source/class/qx/test/bom/Element.js +55 -47
  441. package/source/class/qx/test/bom/Event.js +68 -45
  442. package/source/class/qx/test/bom/FileReader.js +6 -12
  443. package/source/class/qx/test/bom/Font.js +256 -118
  444. package/source/class/qx/test/bom/GeoLocation.js +82 -64
  445. package/source/class/qx/test/bom/History.js +63 -84
  446. package/source/class/qx/test/bom/IdleCallback.js +51 -38
  447. package/source/class/qx/test/bom/Iframe.js +14 -18
  448. package/source/class/qx/test/bom/Label.js +74 -105
  449. package/source/class/qx/test/bom/Location.js +70 -99
  450. package/source/class/qx/test/bom/PageVisibility.js +13 -16
  451. package/source/class/qx/test/bom/Selector.js +16 -16
  452. package/source/class/qx/test/bom/String.js +19 -15
  453. package/source/class/qx/test/bom/Stylesheet.js +39 -48
  454. package/source/class/qx/test/bom/Template.js +49 -57
  455. package/source/class/qx/test/bom/Viewport.js +7 -11
  456. package/source/class/qx/test/bom/WebWorker.js +49 -37
  457. package/source/class/qx/test/bom/Window.js +6 -12
  458. package/source/class/qx/test/bom/client/Css.js +26 -19
  459. package/source/class/qx/test/bom/client/Device.js +29 -18
  460. package/source/class/qx/test/bom/client/OperatingSystem.js +17 -20
  461. package/source/class/qx/test/bom/client/Pdfjs.js +15 -13
  462. package/source/class/qx/test/bom/element/AnimationHandle.js +20 -17
  463. package/source/class/qx/test/bom/element/AnimationJs.js +48 -31
  464. package/source/class/qx/test/bom/element/Background.js +93 -46
  465. package/source/class/qx/test/bom/element/BoxSizing.js +66 -61
  466. package/source/class/qx/test/bom/element/Class.js +33 -58
  467. package/source/class/qx/test/bom/element/Dimension.js +58 -37
  468. package/source/class/qx/test/bom/element/Style.js +87 -83
  469. package/source/class/qx/test/bom/element/Transform.js +209 -86
  470. package/source/class/qx/test/bom/media/Audio.js +18 -14
  471. package/source/class/qx/test/bom/media/MediaTestCase.js +61 -66
  472. package/source/class/qx/test/bom/media/Video.js +39 -28
  473. package/source/class/qx/test/bom/request/Jsonp.js +60 -57
  474. package/source/class/qx/test/bom/request/Script.js +150 -138
  475. package/source/class/qx/test/bom/request/SimpleXhr.js +206 -134
  476. package/source/class/qx/test/bom/request/Xhr.js +179 -132
  477. package/source/class/qx/test/bom/request/XhrWithRemote.js +206 -160
  478. package/source/class/qx/test/bom/rest/Resource.js +345 -281
  479. package/source/class/qx/test/bom/rest/ResourceWithRemote.js +74 -57
  480. package/source/class/qx/test/bom/storage/Local.js +3 -4
  481. package/source/class/qx/test/bom/storage/Session.js +3 -4
  482. package/source/class/qx/test/bom/storage/WebStorageTestCase.js +28 -27
  483. package/source/class/qx/test/bom/webfonts/Abstract.js +8 -10
  484. package/source/class/qx/test/bom/webfonts/Manager.js +127 -80
  485. package/source/class/qx/test/bom/webfonts/Validator.js +36 -30
  486. package/source/class/qx/test/compiler/ClassFile.js +29 -11
  487. package/source/class/qx/test/compiler/jsdoc/Parser.js +122 -96
  488. package/source/class/qx/test/core/Assert.js +151 -86
  489. package/source/class/qx/test/core/Environment.js +162 -123
  490. package/source/class/qx/test/core/EventEmitterDummy.js +7 -8
  491. package/source/class/qx/test/core/InheritanceDummy.js +23 -33
  492. package/source/class/qx/test/core/MemoryManagement.js +13 -5
  493. package/source/class/qx/test/core/Object.js +106 -112
  494. package/source/class/qx/test/core/ObjectId.js +7 -6
  495. package/source/class/qx/test/core/Property.js +483 -387
  496. package/source/class/qx/test/core/PropertyHelper.js +49 -64
  497. package/source/class/qx/test/core/Target.js +9 -13
  498. package/source/class/qx/test/core/Validation.js +409 -136
  499. package/source/class/qx/test/data/DataArray.js +1059 -394
  500. package/source/class/qx/test/data/DataArrayWithChangeBubble.js +315 -172
  501. package/source/class/qx/test/data/__init__.js +4 -4
  502. package/source/class/qx/test/data/controller/Form.js +141 -99
  503. package/source/class/qx/test/data/controller/FormWithArrayAndModel.js +66 -51
  504. package/source/class/qx/test/data/controller/List.js +644 -336
  505. package/source/class/qx/test/data/controller/ListReverse.js +64 -63
  506. package/source/class/qx/test/data/controller/ListWithObjects.js +305 -149
  507. package/source/class/qx/test/data/controller/Object.js +252 -94
  508. package/source/class/qx/test/data/controller/Tree.js +1219 -383
  509. package/source/class/qx/test/data/controller/__init__.js +4 -4
  510. package/source/class/qx/test/data/marshal/Json.js +832 -447
  511. package/source/class/qx/test/data/marshal/__init__.js +4 -4
  512. package/source/class/qx/test/data/singlevalue/Array.js +383 -144
  513. package/source/class/qx/test/data/singlevalue/Deep.js +361 -175
  514. package/source/class/qx/test/data/singlevalue/Resolve.js +51 -29
  515. package/source/class/qx/test/data/singlevalue/Simple.js +530 -208
  516. package/source/class/qx/test/data/singlevalue/TextFieldDummy.js +32 -28
  517. package/source/class/qx/test/data/singlevalue/__init__.js +4 -4
  518. package/source/class/qx/test/data/store/Json.js +574 -313
  519. package/source/class/qx/test/data/store/Jsonp.js +103 -77
  520. package/source/class/qx/test/data/store/Offline.js +127 -110
  521. package/source/class/qx/test/data/store/Rest.js +58 -52
  522. package/source/class/qx/test/data/store/RestWithRemote.js +36 -30
  523. package/source/class/qx/test/data/store/__init__.js +4 -4
  524. package/source/class/qx/test/dev/Debug.js +9 -13
  525. package/source/class/qx/test/dev/StackTrace.js +51 -42
  526. package/source/class/qx/test/dev/unit/Requirements.js +36 -49
  527. package/source/class/qx/test/dev/unit/Sinon.js +85 -73
  528. package/source/class/qx/test/dev/unit/TestCase.js +12 -17
  529. package/source/class/qx/test/dom/Element.js +17 -12
  530. package/source/class/qx/test/dom/Hierarchy.js +53 -38
  531. package/source/class/qx/test/dom/Node.js +97 -43
  532. package/source/class/qx/test/event/Bubbling.js +258 -88
  533. package/source/class/qx/test/event/Emitter.js +38 -39
  534. package/source/class/qx/test/event/GlobalError.js +59 -87
  535. package/source/class/qx/test/event/GlobalEventMonitors.js +22 -25
  536. package/source/class/qx/test/event/Messaging.js +66 -49
  537. package/source/class/qx/test/event/MockBubblingHandler.js +10 -15
  538. package/source/class/qx/test/event/MockHandler.js +14 -33
  539. package/source/class/qx/test/event/Registration.js +38 -32
  540. package/source/class/qx/test/event/Timer.js +61 -39
  541. package/source/class/qx/test/event/Utils.js +164 -123
  542. package/source/class/qx/test/event/dispatch/MouseCapture.js +61 -51
  543. package/source/class/qx/test/event/dispatch/MouseEventOnDocument.js +22 -23
  544. package/source/class/qx/test/event/dispatch/TestingHandler.js +8 -10
  545. package/source/class/qx/test/event/dispatch/TestingWindow.js +9 -13
  546. package/source/class/qx/test/event/dispatch/__init__.js +4 -4
  547. package/source/class/qx/test/event/handler/Offline.js +7 -8
  548. package/source/class/qx/test/event/message/Bus.js +112 -72
  549. package/source/class/qx/test/event/message/__init__.js +4 -4
  550. package/source/class/qx/test/event/type/Dom.js +12 -11
  551. package/source/class/qx/test/event/type/Event.js +7 -16
  552. package/source/class/qx/test/event/type/Mouse.js +12 -11
  553. package/source/class/qx/test/event/type/Native.js +12 -11
  554. package/source/class/qx/test/event/type/__init__.js +4 -4
  555. package/source/class/qx/test/event/util/Keyboard.js +4 -3
  556. package/source/class/qx/test/html/Element.js +538 -239
  557. package/source/class/qx/test/html/Iframe.js +85 -73
  558. package/source/class/qx/test/html/jsx/TestJsx.js +15 -4
  559. package/source/class/qx/test/html/jsx/TestJsxBrowser.js +37 -19
  560. package/source/class/qx/test/html/jsx/TestWidget.js +26 -26
  561. package/source/class/qx/test/io/ImageLoader.js +256 -160
  562. package/source/class/qx/test/io/MAssert.js +46 -0
  563. package/source/class/qx/test/io/MRemoteTest.js +9 -11
  564. package/source/class/qx/test/io/__init__.js +4 -4
  565. package/source/class/qx/test/io/graphql/Client.js +190 -0
  566. package/source/class/qx/test/io/graphql/ClientFetch.js +34 -0
  567. package/source/class/qx/test/io/graphql/Request.js +41 -0
  568. package/source/class/qx/test/io/jsonrpc/Client.js +333 -0
  569. package/source/class/qx/test/io/jsonrpc/Protocol.js +108 -0
  570. package/source/class/qx/test/io/request/Jsonp.js +23 -20
  571. package/source/class/qx/test/io/request/JsonpWithRemote.js +25 -22
  572. package/source/class/qx/test/io/request/MRequest.js +137 -114
  573. package/source/class/qx/test/io/request/Xhr.js +367 -209
  574. package/source/class/qx/test/io/request/XhrWithRemote.js +133 -100
  575. package/source/class/qx/test/io/rest/Resource.js +325 -270
  576. package/source/class/qx/test/io/rest/ResourceWithRemote.js +75 -58
  577. package/source/class/qx/test/io/transport/PostMessage.js +56 -0
  578. package/source/class/qx/test/io/transport/Websocket.js +64 -0
  579. package/source/class/qx/test/lang/Array.js +79 -105
  580. package/source/class/qx/test/lang/Function.js +64 -53
  581. package/source/class/qx/test/lang/Json.js +51 -79
  582. package/source/class/qx/test/lang/Number.js +4 -6
  583. package/source/class/qx/test/lang/Object.js +143 -133
  584. package/source/class/qx/test/lang/String.js +151 -95
  585. package/source/class/qx/test/lang/Type.js +34 -44
  586. package/source/class/qx/test/lang/Webkit.js +8 -13
  587. package/source/class/qx/test/lang/normalize/Array.js +121 -68
  588. package/source/class/qx/test/lang/normalize/Date.js +232 -49
  589. package/source/class/qx/test/lang/normalize/Error.js +5 -8
  590. package/source/class/qx/test/lang/normalize/Function.js +7 -13
  591. package/source/class/qx/test/lang/normalize/Object.js +22 -29
  592. package/source/class/qx/test/lang/normalize/String.js +19 -28
  593. package/source/class/qx/test/locale/Date.js +91 -43
  594. package/source/class/qx/test/locale/Locale.js +52 -32
  595. package/source/class/qx/test/locale/LocalizedString.js +12 -12
  596. package/source/class/qx/test/log/DeprecationMethodOverriding.js +52 -31
  597. package/source/class/qx/test/log/Filters.js +6 -3
  598. package/source/class/qx/test/log/Formatter.js +13 -7
  599. package/source/class/qx/test/log/Logger.js +19 -29
  600. package/source/class/qx/test/log/RingBuffer.js +14 -25
  601. package/source/class/qx/test/log/__init__.js +4 -4
  602. package/source/class/qx/test/log/fixture/ClassA.js +22 -22
  603. package/source/class/qx/test/log/fixture/ClassB1.js +7 -9
  604. package/source/class/qx/test/log/fixture/ClassB2.js +5 -7
  605. package/source/class/qx/test/log/fixture/ClassC1.js +5 -7
  606. package/source/class/qx/test/log/fixture/ClassC2.js +7 -9
  607. package/source/class/qx/test/mobile/LocaleSwitch.js +29 -36
  608. package/source/class/qx/test/mobile/MobileTestCase.js +39 -49
  609. package/source/class/qx/test/mobile/basic/Atom.js +129 -53
  610. package/source/class/qx/test/mobile/basic/Image.js +41 -31
  611. package/source/class/qx/test/mobile/basic/Label.js +6 -10
  612. package/source/class/qx/test/mobile/container/Carousel.js +41 -45
  613. package/source/class/qx/test/mobile/container/Composite.js +48 -65
  614. package/source/class/qx/test/mobile/container/Drawer.js +42 -29
  615. package/source/class/qx/test/mobile/container/Navigation.js +14 -20
  616. package/source/class/qx/test/mobile/container/Scroll.js +23 -19
  617. package/source/class/qx/test/mobile/core/Widget.js +150 -86
  618. package/source/class/qx/test/mobile/dialog/Menu.js +47 -26
  619. package/source/class/qx/test/mobile/dialog/Popup.js +30 -19
  620. package/source/class/qx/test/mobile/embed/Html.js +5 -8
  621. package/source/class/qx/test/mobile/form/Button.js +15 -13
  622. package/source/class/qx/test/mobile/form/CheckBox.js +21 -17
  623. package/source/class/qx/test/mobile/form/Form.js +37 -24
  624. package/source/class/qx/test/mobile/form/Group.js +5 -9
  625. package/source/class/qx/test/mobile/form/Label.js +11 -13
  626. package/source/class/qx/test/mobile/form/NumberField.js +49 -45
  627. package/source/class/qx/test/mobile/form/RadioButton.js +30 -19
  628. package/source/class/qx/test/mobile/form/SelectBox.js +39 -25
  629. package/source/class/qx/test/mobile/form/SingleRenderer.js +31 -27
  630. package/source/class/qx/test/mobile/form/Slider.js +55 -35
  631. package/source/class/qx/test/mobile/form/TextArea.js +34 -24
  632. package/source/class/qx/test/mobile/form/TextField.js +34 -24
  633. package/source/class/qx/test/mobile/form/ToggleButton.js +10 -14
  634. package/source/class/qx/test/mobile/layout/Card.js +21 -17
  635. package/source/class/qx/test/mobile/layout/HBox.js +25 -20
  636. package/source/class/qx/test/mobile/layout/VBox.js +25 -21
  637. package/source/class/qx/test/mobile/list/List.js +114 -83
  638. package/source/class/qx/test/mobile/navigationbar/NavigationBar.js +5 -9
  639. package/source/class/qx/test/mobile/page/Manager.js +7 -13
  640. package/source/class/qx/test/mobile/page/NavigationPage.js +7 -17
  641. package/source/class/qx/test/mobile/page/Page.js +101 -68
  642. package/source/class/qx/test/mobile/tabbar/TabBar.js +11 -21
  643. package/source/class/qx/test/mobile/toolbar/Toolbar.js +16 -16
  644. package/source/class/qx/test/performance/BaseCall.js +31 -36
  645. package/source/class/qx/test/performance/Event.js +60 -53
  646. package/source/class/qx/test/performance/Object.js +16 -22
  647. package/source/class/qx/test/performance/Property.js +20 -22
  648. package/source/class/qx/test/performance/data/Marshaling.js +25 -30
  649. package/source/class/qx/test/performance/decorator/AbstractDecorator.js +22 -34
  650. package/source/class/qx/test/performance/decorator/Background.js +4 -6
  651. package/source/class/qx/test/performance/decorator/BackgroundScale.js +6 -8
  652. package/source/class/qx/test/performance/decorator/Single.js +4 -6
  653. package/source/class/qx/test/performance/element/Element.js +50 -67
  654. package/source/class/qx/test/performance/widget/AbstractWidget.js +31 -44
  655. package/source/class/qx/test/performance/widget/Button.js +5 -7
  656. package/source/class/qx/test/performance/widget/Label.js +5 -7
  657. package/source/class/qx/test/performance/widget/RichLabel.js +6 -8
  658. package/source/class/qx/test/performance/widget/Widget.js +5 -7
  659. package/source/class/qx/test/performance/widget/WidgetWithDecorator.js +7 -9
  660. package/source/class/qx/test/performance/widget/WidgetWithSingle.js +9 -11
  661. package/source/class/qx/test/renderer/Color.js +22 -49
  662. package/source/class/qx/test/testclasses/BaseClassBoth.js +11 -8
  663. package/source/class/qx/test/testclasses/BaseClassIncluded.js +5 -6
  664. package/source/class/qx/test/testclasses/BaseClassPatched.js +15 -8
  665. package/source/class/qx/test/testclasses/DerivedClassBoth.js +7 -7
  666. package/source/class/qx/test/testclasses/DerivedClassIncluded.js +7 -7
  667. package/source/class/qx/test/testclasses/DerivedClassPatched.js +7 -7
  668. package/source/class/qx/test/testclasses/MMixinOne.js +4 -4
  669. package/source/class/qx/test/testclasses/MMixinTwo.js +2 -2
  670. package/source/class/qx/test/testclasses/RootClass.js +8 -8
  671. package/source/class/qx/test/theme/__init__.js +4 -4
  672. package/source/class/qx/test/theme/manager/Color.js +52 -66
  673. package/source/class/qx/test/theme/manager/Decoration.js +177 -154
  674. package/source/class/qx/test/theme/manager/Font.js +68 -39
  675. package/source/class/qx/test/theme/manager/Icon.js +46 -43
  676. package/source/class/qx/test/theme/manager/Meta.js +121 -110
  677. package/source/class/qx/test/theme/manager/__init__.js +4 -4
  678. package/source/class/qx/test/theme/manager/mock/Appearance.js +17 -23
  679. package/source/class/qx/test/theme/manager/mock/Color.js +7 -9
  680. package/source/class/qx/test/theme/manager/mock/Decoration.js +7 -10
  681. package/source/class/qx/test/theme/manager/mock/Font.js +6 -10
  682. package/source/class/qx/test/theme/simple/Appearance.js +268 -210
  683. package/source/class/qx/test/tool/utils/Utils.js +10 -8
  684. package/source/class/qx/test/toolchain/PrivateOptimization.js +20 -13
  685. package/source/class/qx/test/toolchain/TestRunner.js +12 -12
  686. package/source/class/qx/test/toolchain/VariantOptimization.js +37 -26
  687. package/source/class/qx/test/toolchain/__init__.js +4 -4
  688. package/source/class/qx/test/type/Array.js +8 -12
  689. package/source/class/qx/test/type/BaseArray.js +58 -78
  690. package/source/class/qx/test/type/BaseString.js +27 -65
  691. package/source/class/qx/test/type/__init__.js +4 -4
  692. package/source/class/qx/test/ui/BackgroundColor.js +20 -21
  693. package/source/class/qx/test/ui/ChildrenHandling.js +136 -81
  694. package/source/class/qx/test/ui/Destroy.js +310 -248
  695. package/source/class/qx/test/ui/Focus.js +40 -87
  696. package/source/class/qx/test/ui/Insets.js +14 -18
  697. package/source/class/qx/test/ui/LayoutTestCase.js +99 -92
  698. package/source/class/qx/test/ui/LocaleSwitch.js +37 -41
  699. package/source/class/qx/test/ui/RadioItems.js +11 -22
  700. package/source/class/qx/test/ui/Widget.js +13 -17
  701. package/source/class/qx/test/ui/Window.js +26 -39
  702. package/source/class/qx/test/ui/basic/Atom.js +37 -25
  703. package/source/class/qx/test/ui/basic/Image.js +179 -138
  704. package/source/class/qx/test/ui/basic/Label.js +147 -65
  705. package/source/class/qx/test/ui/basic/__init__.js +4 -4
  706. package/source/class/qx/test/ui/command/Command.js +105 -69
  707. package/source/class/qx/test/ui/command/Group.js +24 -21
  708. package/source/class/qx/test/ui/command/GroupManager.js +7 -12
  709. package/source/class/qx/test/ui/container/Stack.js +26 -36
  710. package/source/class/qx/test/ui/core/AbstractScrollArea.js +84 -67
  711. package/source/class/qx/test/ui/core/Appearance.js +53 -54
  712. package/source/class/qx/test/ui/core/Blocker.js +80 -44
  713. package/source/class/qx/test/ui/core/DragDropScrolling.js +69 -55
  714. package/source/class/qx/test/ui/core/Placement.js +22 -34
  715. package/source/class/qx/test/ui/core/Queues.js +28 -39
  716. package/source/class/qx/test/ui/core/SizeHint.js +32 -76
  717. package/source/class/qx/test/ui/core/SizeHintX.js +8 -15
  718. package/source/class/qx/test/ui/core/SizeHintY.js +8 -15
  719. package/source/class/qx/test/ui/core/Spacer.js +11 -18
  720. package/source/class/qx/test/ui/core/Widget.js +117 -112
  721. package/source/class/qx/test/ui/core/__init__.js +4 -4
  722. package/source/class/qx/test/ui/decoration/LinearGradient.js +18 -14
  723. package/source/class/qx/test/ui/embed/Iframe.js +70 -66
  724. package/source/class/qx/test/ui/embed/__init__.js +4 -4
  725. package/source/class/qx/test/ui/form/AbstractSelectBox.js +11 -16
  726. package/source/class/qx/test/ui/form/AbstractVirtualBox.js +12 -19
  727. package/source/class/qx/test/ui/form/BooleanFormat.js +40 -25
  728. package/source/class/qx/test/ui/form/Color.js +29 -19
  729. package/source/class/qx/test/ui/form/ComboBox.js +39 -25
  730. package/source/class/qx/test/ui/form/Date.js +34 -21
  731. package/source/class/qx/test/ui/form/DateField.js +16 -19
  732. package/source/class/qx/test/ui/form/Executable.js +98 -68
  733. package/source/class/qx/test/ui/form/Field.js +65 -54
  734. package/source/class/qx/test/ui/form/Form.js +211 -123
  735. package/source/class/qx/test/ui/form/FormManager.js +72 -100
  736. package/source/class/qx/test/ui/form/FormValidator.js +549 -399
  737. package/source/class/qx/test/ui/form/Label.js +87 -65
  738. package/source/class/qx/test/ui/form/List.js +19 -19
  739. package/source/class/qx/test/ui/form/MenuButton.js +26 -20
  740. package/source/class/qx/test/ui/form/ModelProperty.js +40 -36
  741. package/source/class/qx/test/ui/form/ModelSelection.js +39 -84
  742. package/source/class/qx/test/ui/form/NumberFormat.js +30 -19
  743. package/source/class/qx/test/ui/form/Placeholder.js +147 -87
  744. package/source/class/qx/test/ui/form/RadioButtonGroup.js +31 -26
  745. package/source/class/qx/test/ui/form/RadioGroup.js +58 -54
  746. package/source/class/qx/test/ui/form/Range.js +63 -28
  747. package/source/class/qx/test/ui/form/Renderer.js +39 -33
  748. package/source/class/qx/test/ui/form/Resetter.js +21 -35
  749. package/source/class/qx/test/ui/form/Slider.js +37 -21
  750. package/source/class/qx/test/ui/form/Spinner.js +9 -5
  751. package/source/class/qx/test/ui/form/SplitButton.js +7 -11
  752. package/source/class/qx/test/ui/form/StringFormat.js +60 -30
  753. package/source/class/qx/test/ui/form/TextArea.js +59 -41
  754. package/source/class/qx/test/ui/form/TextField.js +14 -16
  755. package/source/class/qx/test/ui/form/ToggleButton.js +20 -24
  756. package/source/class/qx/test/ui/form/VirtualSelectBox.js +66 -40
  757. package/source/class/qx/test/ui/form/__init__.js +4 -4
  758. package/source/class/qx/test/ui/form/virtual/VirtualComboBox.js +58 -60
  759. package/source/class/qx/test/ui/form/virtual/VirtualDropDownList.js +120 -110
  760. package/source/class/qx/test/ui/form/virtual/VirtualSelectBox.js +43 -27
  761. package/source/class/qx/test/ui/groupbox/CheckGroupBox.js +13 -18
  762. package/source/class/qx/test/ui/indicator/ProgressBar.js +73 -48
  763. package/source/class/qx/test/ui/layout/Box.js +23 -22
  764. package/source/class/qx/test/ui/layout/Flow.js +233 -153
  765. package/source/class/qx/test/ui/layout/Grid.js +88 -101
  766. package/source/class/qx/test/ui/layout/LayoutItem.js +57 -83
  767. package/source/class/qx/test/ui/layout/LayoutRoot.js +7 -11
  768. package/source/class/qx/test/ui/layout/Util.js +30 -31
  769. package/source/class/qx/test/ui/layout/__init__.js +4 -4
  770. package/source/class/qx/test/ui/list/AbstractListTest.js +13 -21
  771. package/source/class/qx/test/ui/list/Group.js +191 -114
  772. package/source/class/qx/test/ui/list/List.js +189 -132
  773. package/source/class/qx/test/ui/list/MAssert.js +14 -9
  774. package/source/class/qx/test/ui/list/ObjectGroup.js +131 -109
  775. package/source/class/qx/test/ui/list/core/MultiSelection.js +58 -44
  776. package/source/class/qx/test/ui/list/core/SingleSelection.js +43 -43
  777. package/source/class/qx/test/ui/list/fixture/GroupMock.js +6 -9
  778. package/source/class/qx/test/ui/list/fixture/ItemMock.js +9 -13
  779. package/source/class/qx/test/ui/root/Inline.js +22 -20
  780. package/source/class/qx/test/ui/selection/AbstractMultiSelectonTest.js +188 -105
  781. package/source/class/qx/test/ui/selection/AbstractSingleSelectonTest.js +173 -125
  782. package/source/class/qx/test/ui/selection/ListMultiSelection.js +19 -21
  783. package/source/class/qx/test/ui/selection/ListSingleSelection.js +19 -21
  784. package/source/class/qx/test/ui/selection/RadioGroup.js +41 -29
  785. package/source/class/qx/test/ui/selection/SelectBox.js +11 -17
  786. package/source/class/qx/test/ui/selection/Stack.js +22 -27
  787. package/source/class/qx/test/ui/selection/TabView.js +35 -26
  788. package/source/class/qx/test/ui/selection/TreeMultiSelection.js +14 -19
  789. package/source/class/qx/test/ui/selection/TreeSingleSelection.js +20 -24
  790. package/source/class/qx/test/ui/selection/__init__.js +4 -4
  791. package/source/class/qx/test/ui/table/Dispose.js +46 -46
  792. package/source/class/qx/test/ui/table/Table.js +74 -69
  793. package/source/class/qx/test/ui/table/__init__.js +4 -4
  794. package/source/class/qx/test/ui/table/celleditor/AbstractField.js +14 -28
  795. package/source/class/qx/test/ui/table/celleditor/ComboBox.js +11 -18
  796. package/source/class/qx/test/ui/table/celleditor/PasswordField.js +6 -10
  797. package/source/class/qx/test/ui/table/celleditor/SelectBox.js +16 -32
  798. package/source/class/qx/test/ui/table/celleditor/TextField.js +6 -9
  799. package/source/class/qx/test/ui/table/celleditor/__init__.js +4 -4
  800. package/source/class/qx/test/ui/table/columnmodel/Basic.js +130 -129
  801. package/source/class/qx/test/ui/table/model/Filtered.js +51 -36
  802. package/source/class/qx/test/ui/table/model/Simple.js +43 -45
  803. package/source/class/qx/test/ui/table/selection/Model.js +70 -22
  804. package/source/class/qx/test/ui/toolbar/OverflowHandling.js +145 -123
  805. package/source/class/qx/test/ui/toolbar/ToolBar.js +20 -30
  806. package/source/class/qx/test/ui/tree/Tree.js +63 -42
  807. package/source/class/qx/test/ui/tree/TreeFolder.js +44 -46
  808. package/source/class/qx/test/ui/tree/virtual/AbstractTreeTest.js +61 -96
  809. package/source/class/qx/test/ui/tree/virtual/MultiSelection.js +68 -39
  810. package/source/class/qx/test/ui/tree/virtual/OneSelection.js +82 -42
  811. package/source/class/qx/test/ui/tree/virtual/OpenCloseController.js +80 -101
  812. package/source/class/qx/test/ui/tree/virtual/SingleSelection.js +40 -32
  813. package/source/class/qx/test/ui/tree/virtual/Sorting.js +46 -47
  814. package/source/class/qx/test/ui/tree/virtual/Tree.js +267 -191
  815. package/source/class/qx/test/ui/tree/virtual/TreeItem.js +60 -63
  816. package/source/class/qx/test/ui/tree/virtual/UtilTest.js +65 -50
  817. package/source/class/qx/test/ui/tree/virtual/WidgetProvider.js +127 -132
  818. package/source/class/qx/test/ui/virtual/Axis.js +210 -193
  819. package/source/class/qx/test/ui/virtual/Pane.js +287 -190
  820. package/source/class/qx/test/ui/virtual/PaneUpdate.js +71 -77
  821. package/source/class/qx/test/ui/virtual/PointerEventMock.js +10 -13
  822. package/source/class/qx/test/ui/virtual/Scroller.js +29 -39
  823. package/source/class/qx/test/ui/virtual/__init__.js +4 -4
  824. package/source/class/qx/test/ui/virtual/cell/WidgetCell.js +39 -40
  825. package/source/class/qx/test/ui/virtual/layer/CellSpanManager.js +157 -127
  826. package/source/class/qx/test/ui/virtual/layer/Column.js +6 -10
  827. package/source/class/qx/test/ui/virtual/layer/GridLines.js +6 -10
  828. package/source/class/qx/test/ui/virtual/layer/GridLinesHorizontal.js +6 -9
  829. package/source/class/qx/test/ui/virtual/layer/GridLinesVertical.js +6 -9
  830. package/source/class/qx/test/ui/virtual/layer/HtmlCell.js +12 -19
  831. package/source/class/qx/test/ui/virtual/layer/HtmlCellSpan.js +13 -21
  832. package/source/class/qx/test/ui/virtual/layer/LayerMock.js +31 -43
  833. package/source/class/qx/test/ui/virtual/layer/LayerSimple.js +26 -26
  834. package/source/class/qx/test/ui/virtual/layer/LayerTestCase.js +52 -50
  835. package/source/class/qx/test/ui/virtual/layer/Row.js +6 -10
  836. package/source/class/qx/test/ui/virtual/layer/WidgetCell.js +45 -52
  837. package/source/class/qx/test/ui/virtual/layer/WidgetCellSpan.js +71 -48
  838. package/source/class/qx/test/ui/virtual/layer/__init__.js +4 -4
  839. package/source/class/qx/test/ui/virtual/performance/AbstractLayerTest.js +84 -68
  840. package/source/class/qx/test/ui/virtual/performance/DomCell.js +6 -9
  841. package/source/class/qx/test/ui/virtual/performance/DomPoolCell.js +6 -9
  842. package/source/class/qx/test/ui/virtual/performance/HtmlDivCell.js +7 -11
  843. package/source/class/qx/test/ui/virtual/performance/HtmlDivRelative.js +6 -9
  844. package/source/class/qx/test/ui/virtual/performance/HtmlTableCell.js +8 -13
  845. package/source/class/qx/test/ui/virtual/performance/HtmlTableCellNaive.js +8 -13
  846. package/source/class/qx/test/ui/virtual/performance/HtmlTableCssCell.js +8 -19
  847. package/source/class/qx/test/ui/virtual/performance/WidgetCell.js +10 -15
  848. package/source/class/qx/test/ui/virtual/performance/__init__.js +4 -4
  849. package/source/class/qx/test/ui/virtual/performance/layer/DomCell.js +24 -18
  850. package/source/class/qx/test/ui/virtual/performance/layer/DomPoolCell.js +28 -26
  851. package/source/class/qx/test/ui/virtual/performance/layer/HtmlDivRelative.js +13 -17
  852. package/source/class/qx/test/ui/virtual/performance/layer/HtmlTableCell.js +29 -28
  853. package/source/class/qx/test/ui/virtual/performance/layer/HtmlTableCellNaive.js +22 -24
  854. package/source/class/qx/test/ui/virtual/performance/layer/HtmlTableCssCell.js +32 -47
  855. package/source/class/qx/test/ui/virtual/performance/layer/__init__.js +4 -4
  856. package/source/class/qx/test/ui/window/Desktop.js +21 -12
  857. package/source/class/qx/test/util/Base64.js +10 -13
  858. package/source/class/qx/test/util/ColorUtil.js +121 -54
  859. package/source/class/qx/test/util/DateFormat.js +569 -299
  860. package/source/class/qx/test/util/DateMock.js +16 -19
  861. package/source/class/qx/test/util/DeferredCall.js +12 -13
  862. package/source/class/qx/test/util/Delegate.js +28 -26
  863. package/source/class/qx/test/util/DisposeUtil.js +32 -14
  864. package/source/class/qx/test/util/DynamicScriptLoader.js +99 -64
  865. package/source/class/qx/test/util/Fsm.js +16 -18
  866. package/source/class/qx/test/util/Function.js +23 -19
  867. package/source/class/qx/test/util/LibraryManager.js +15 -22
  868. package/source/class/qx/test/util/NumberFormat.js +53 -64
  869. package/source/class/qx/test/util/PropertyUtil.js +35 -35
  870. package/source/class/qx/test/util/Request.js +26 -18
  871. package/source/class/qx/test/util/ResourceManager.js +50 -35
  872. package/source/class/qx/test/util/ResponseParser.js +45 -35
  873. package/source/class/qx/test/util/RingBuffer.js +15 -28
  874. package/source/class/qx/test/util/Serializer.js +210 -153
  875. package/source/class/qx/test/util/StringBuilder.js +7 -13
  876. package/source/class/qx/test/util/StringSplit.js +114 -69
  877. package/source/class/qx/test/util/Uri.js +74 -78
  878. package/source/class/qx/test/util/Validate.js +95 -64
  879. package/source/class/qx/test/util/placement/BestFitAxis.js +17 -26
  880. package/source/class/qx/test/util/placement/DirectAxis.js +8 -11
  881. package/source/class/qx/test/util/placement/KeepAlignAxis.js +17 -26
  882. package/source/class/qx/test/util/placement/Placement.js +607 -244
  883. package/source/class/qx/test/util/placement/__init__.js +4 -4
  884. package/source/class/qx/theme/Classic.js +9 -11
  885. package/source/class/qx/theme/Indigo.js +9 -11
  886. package/source/class/qx/theme/Modern.js +9 -11
  887. package/source/class/qx/theme/Simple.js +9 -11
  888. package/source/class/qx/theme/TangibleDark.js +1 -1
  889. package/source/class/qx/theme/TangibleLight.js +1 -1
  890. package/source/class/qx/theme/__init__.js +4 -4
  891. package/source/class/qx/theme/classic/Appearance.js +995 -1336
  892. package/source/class/qx/theme/classic/Color.js +83 -83
  893. package/source/class/qx/theme/classic/Decoration.js +318 -299
  894. package/source/class/qx/theme/classic/Font.js +38 -25
  895. package/source/class/qx/theme/icon/Oxygen.js +4 -5
  896. package/source/class/qx/theme/icon/Tango.js +4 -5
  897. package/source/class/qx/theme/indigo/Appearance.js +66 -85
  898. package/source/class/qx/theme/indigo/Color.js +65 -66
  899. package/source/class/qx/theme/indigo/Decoration.js +31 -45
  900. package/source/class/qx/theme/indigo/Font.js +20 -29
  901. package/source/class/qx/theme/manager/Appearance.js +58 -91
  902. package/source/class/qx/theme/manager/Color.js +20 -41
  903. package/source/class/qx/theme/manager/Decoration.js +72 -100
  904. package/source/class/qx/theme/manager/Font.js +51 -67
  905. package/source/class/qx/theme/manager/Icon.js +13 -27
  906. package/source/class/qx/theme/manager/Meta.js +27 -44
  907. package/source/class/qx/theme/modern/Appearance.js +1049 -1440
  908. package/source/class/qx/theme/modern/Color.js +155 -166
  909. package/source/class/qx/theme/modern/Decoration.js +471 -598
  910. package/source/class/qx/theme/modern/Font.js +59 -52
  911. package/source/class/qx/theme/simple/Appearance.js +936 -1207
  912. package/source/class/qx/theme/simple/Color.js +62 -62
  913. package/source/class/qx/theme/simple/Decoration.js +456 -678
  914. package/source/class/qx/theme/simple/Font.js +18 -25
  915. package/source/class/qx/theme/simple/Image.js +49 -52
  916. package/source/class/qx/theme/tangible/Appearance.js +1575 -1743
  917. package/source/class/qx/theme/tangible/ColorDark.js +5 -5
  918. package/source/class/qx/theme/tangible/ColorEngine.js +38 -35
  919. package/source/class/qx/theme/tangible/ColorLight.js +7 -7
  920. package/source/class/qx/theme/tangible/Decoration.js +1108 -1300
  921. package/source/class/qx/theme/tangible/Font.js +66 -70
  922. package/source/class/qx/theme/tangible/Image.js +44 -48
  923. package/source/class/qx/tool/cli/Application.js +5 -5
  924. package/source/class/qx/tool/cli/Cli.js +103 -52
  925. package/source/class/qx/tool/cli/ConfigDb.js +18 -15
  926. package/source/class/qx/tool/cli/LibraryApplication.js +1 -1
  927. package/source/class/qx/tool/cli/Watch.js +174 -102
  928. package/source/class/qx/tool/cli/api/AbstractApi.js +17 -18
  929. package/source/class/qx/tool/cli/api/CompilerApi.js +15 -8
  930. package/source/class/qx/tool/cli/api/LibraryApi.js +4 -6
  931. package/source/class/qx/tool/cli/api/Test.js +12 -9
  932. package/source/class/qx/tool/cli/commands/Add.js +12 -15
  933. package/source/class/qx/tool/cli/commands/Clean.js +10 -9
  934. package/source/class/qx/tool/cli/commands/Command.js +18 -13
  935. package/source/class/qx/tool/cli/commands/Compile.js +633 -267
  936. package/source/class/qx/tool/cli/commands/Config.js +75 -42
  937. package/source/class/qx/tool/cli/commands/Create.js +108 -59
  938. package/source/class/qx/tool/cli/commands/Deploy.js +138 -86
  939. package/source/class/qx/tool/cli/commands/Es6ify.js +118 -0
  940. package/source/class/qx/tool/cli/commands/Lint.js +75 -34
  941. package/source/class/qx/tool/cli/commands/Migrate.js +13 -7
  942. package/source/class/qx/tool/cli/commands/Package.js +67 -45
  943. package/source/class/qx/tool/cli/commands/Pkg.js +21 -18
  944. package/source/class/qx/tool/cli/commands/Run.js +57 -37
  945. package/source/class/qx/tool/cli/commands/Serve.js +62 -37
  946. package/source/class/qx/tool/cli/commands/Test.js +40 -18
  947. package/source/class/qx/tool/cli/commands/add/Class.js +66 -28
  948. package/source/class/qx/tool/cli/commands/add/Script.js +54 -27
  949. package/source/class/qx/tool/cli/commands/package/Install.js +265 -103
  950. package/source/class/qx/tool/cli/commands/package/List.js +199 -75
  951. package/source/class/qx/tool/cli/commands/package/Migrate.js +7 -3
  952. package/source/class/qx/tool/cli/commands/package/Publish.js +220 -114
  953. package/source/class/qx/tool/cli/commands/package/Remove.js +40 -17
  954. package/source/class/qx/tool/cli/commands/package/Update.js +115 -48
  955. package/source/class/qx/tool/cli/commands/package/Upgrade.js +41 -20
  956. package/source/class/qx/tool/compiler/Analyser.js +427 -222
  957. package/source/class/qx/tool/compiler/ClassFile.js +831 -401
  958. package/source/class/qx/tool/compiler/Console.js +136 -87
  959. package/source/class/qx/tool/compiler/Es6ify.js +404 -0
  960. package/source/class/qx/tool/compiler/Preprocess.js +28 -25
  961. package/source/class/qx/tool/compiler/app/Application.js +149 -72
  962. package/source/class/qx/tool/compiler/app/Cldr.js +506 -106
  963. package/source/class/qx/tool/compiler/app/Library.js +62 -27
  964. package/source/class/qx/tool/compiler/app/Part.js +10 -12
  965. package/source/class/qx/tool/compiler/app/Translation.js +189 -162
  966. package/source/class/qx/tool/compiler/app/WebFont.js +215 -161
  967. package/source/class/qx/tool/compiler/jsdoc/ChildControlParser.js +3 -3
  968. package/source/class/qx/tool/compiler/jsdoc/CommandParser.js +8 -9
  969. package/source/class/qx/tool/compiler/jsdoc/ParamParser.js +7 -6
  970. package/source/class/qx/tool/compiler/jsdoc/Parser.js +27 -18
  971. package/source/class/qx/tool/compiler/jsdoc/ReturnParser.js +3 -3
  972. package/source/class/qx/tool/compiler/jsdoc/ThrowsParser.js +4 -4
  973. package/source/class/qx/tool/compiler/makers/AbstractAppMaker.js +5 -6
  974. package/source/class/qx/tool/compiler/makers/AppMaker.js +40 -19
  975. package/source/class/qx/tool/compiler/makers/Maker.js +29 -21
  976. package/source/class/qx/tool/compiler/resources/AbstractMatcher.js +8 -8
  977. package/source/class/qx/tool/compiler/resources/Asset.js +123 -61
  978. package/source/class/qx/tool/compiler/resources/ImageLoader.js +18 -8
  979. package/source/class/qx/tool/compiler/resources/Manager.js +156 -93
  980. package/source/class/qx/tool/compiler/resources/MetaLoader.js +5 -3
  981. package/source/class/qx/tool/compiler/resources/ResourceConverter.js +8 -8
  982. package/source/class/qx/tool/compiler/resources/ResourceLoader.js +8 -9
  983. package/source/class/qx/tool/compiler/resources/ScssConverter.js +54 -18
  984. package/source/class/qx/tool/compiler/resources/ScssFile.js +157 -80
  985. package/source/class/qx/tool/compiler/resources/ScssIncludeConverter.js +3 -3
  986. package/source/class/qx/tool/compiler/targets/BuildTarget.js +23 -13
  987. package/source/class/qx/tool/compiler/targets/SourceCodeCopier.js +29 -9
  988. package/source/class/qx/tool/compiler/targets/SourceTarget.js +2 -2
  989. package/source/class/qx/tool/compiler/targets/Target.js +292 -187
  990. package/source/class/qx/tool/compiler/targets/TypeScriptWriter.js +163 -103
  991. package/source/class/qx/tool/compiler/targets/meta/AbstractJavascriptMeta.js +48 -23
  992. package/source/class/qx/tool/compiler/targets/meta/ApplicationMeta.js +75 -62
  993. package/source/class/qx/tool/compiler/targets/meta/BootJs.js +49 -29
  994. package/source/class/qx/tool/compiler/targets/meta/Javascript.js +6 -7
  995. package/source/class/qx/tool/compiler/targets/meta/Package.js +54 -51
  996. package/source/class/qx/tool/compiler/targets/meta/PackageJavascript.js +41 -21
  997. package/source/class/qx/tool/compiler/targets/meta/Part.js +9 -10
  998. package/source/class/qx/tool/compiler/targets/meta/PolyfillJs.js +18 -5
  999. package/source/class/qx/tool/compiler/targets/meta/Uglify.js +54 -21
  1000. package/source/class/qx/tool/config/Abstract.js +61 -25
  1001. package/source/class/qx/tool/config/Compile.js +3 -2
  1002. package/source/class/qx/tool/config/Lockfile.js +3 -2
  1003. package/source/class/qx/tool/config/Manifest.js +3 -2
  1004. package/source/class/qx/tool/config/Registry.js +4 -3
  1005. package/source/class/qx/tool/config/Utils.js +88 -37
  1006. package/source/class/qx/tool/migration/BaseMigration.js +67 -25
  1007. package/source/class/qx/tool/migration/M6_0_0.js +96 -46
  1008. package/source/class/qx/tool/migration/M7_0_0.js +12 -6
  1009. package/source/class/qx/tool/migration/Runner.js +28 -14
  1010. package/source/class/qx/tool/utils/IndexedArray.js +15 -18
  1011. package/source/class/qx/tool/utils/Json.js +35 -14
  1012. package/source/class/qx/tool/utils/LogManager.js +50 -26
  1013. package/source/class/qx/tool/utils/Logger.js +11 -12
  1014. package/source/class/qx/tool/utils/Promisify.js +45 -49
  1015. package/source/class/qx/tool/utils/Utils.js +63 -48
  1016. package/source/class/qx/tool/utils/Values.js +4 -7
  1017. package/source/class/qx/tool/utils/Website.js +82 -29
  1018. package/source/class/qx/tool/utils/files/FindFiles.js +37 -33
  1019. package/source/class/qx/tool/utils/files/Utils.js +74 -54
  1020. package/source/class/qx/tool/utils/json/Parser.js +163 -54
  1021. package/source/class/qx/tool/utils/json/Stringify.js +87 -72
  1022. package/source/class/qx/tool/utils/json/Tokenizer.js +64 -39
  1023. package/source/class/qx/tool/utils/json/Writer.js +20 -21
  1024. package/source/class/qx/type/Array.js +19 -41
  1025. package/source/class/qx/type/BaseArray.js +136 -151
  1026. package/source/class/qx/type/BaseError.js +17 -34
  1027. package/source/class/qx/type/BaseString.js +104 -121
  1028. package/source/class/qx/type/__init__.js +3 -3
  1029. package/source/class/qx/ui/basic/Atom.js +75 -109
  1030. package/source/class/qx/ui/basic/Image.js +283 -319
  1031. package/source/class/qx/ui/basic/Label.js +161 -208
  1032. package/source/class/qx/ui/command/Command.js +51 -86
  1033. package/source/class/qx/ui/command/Group.js +43 -50
  1034. package/source/class/qx/ui/command/GroupManager.js +50 -53
  1035. package/source/class/qx/ui/container/Composite.js +15 -29
  1036. package/source/class/qx/ui/container/Resizer.js +7 -11
  1037. package/source/class/qx/ui/container/Scroll.js +10 -21
  1038. package/source/class/qx/ui/container/SlideBar.js +76 -119
  1039. package/source/class/qx/ui/container/Stack.js +27 -54
  1040. package/source/class/qx/ui/control/ColorPopup.js +109 -130
  1041. package/source/class/qx/ui/control/ColorSelector.js +334 -301
  1042. package/source/class/qx/ui/control/DateChooser.js +143 -177
  1043. package/source/class/qx/ui/core/Blocker.js +91 -127
  1044. package/source/class/qx/ui/core/ColumnData.js +16 -34
  1045. package/source/class/qx/ui/core/DragDropCursor.js +17 -30
  1046. package/source/class/qx/ui/core/DragDropScrolling.js +8 -14
  1047. package/source/class/qx/ui/core/EventHandler.js +108 -132
  1048. package/source/class/qx/ui/core/FocusHandler.js +78 -127
  1049. package/source/class/qx/ui/core/IMultiSelection.js +5 -9
  1050. package/source/class/qx/ui/core/ISingleSelection.js +10 -16
  1051. package/source/class/qx/ui/core/ISingleSelectionProvider.js +4 -6
  1052. package/source/class/qx/ui/core/LayoutItem.js +190 -306
  1053. package/source/class/qx/ui/core/MBlocker.js +22 -38
  1054. package/source/class/qx/ui/core/MChildrenHandling.js +14 -29
  1055. package/source/class/qx/ui/core/MContentPadding.js +50 -69
  1056. package/source/class/qx/ui/core/MDragDropScrolling.js +82 -80
  1057. package/source/class/qx/ui/core/MExecutable.js +27 -52
  1058. package/source/class/qx/ui/core/MLayoutHandling.js +6 -14
  1059. package/source/class/qx/ui/core/MMovable.js +64 -80
  1060. package/source/class/qx/ui/core/MMultiSelectionHandling.js +68 -87
  1061. package/source/class/qx/ui/core/MNativeOverflow.js +16 -26
  1062. package/source/class/qx/ui/core/MPlacement.js +171 -170
  1063. package/source/class/qx/ui/core/MRemoteChildrenHandling.js +14 -27
  1064. package/source/class/qx/ui/core/MRemoteLayoutHandling.js +4 -7
  1065. package/source/class/qx/ui/core/MResizable.js +142 -175
  1066. package/source/class/qx/ui/core/MSingleSelectionHandling.js +40 -45
  1067. package/source/class/qx/ui/core/SingleSelectionManager.js +41 -60
  1068. package/source/class/qx/ui/core/Spacer.js +12 -22
  1069. package/source/class/qx/ui/core/Widget.js +628 -983
  1070. package/source/class/qx/ui/core/queue/Appearance.js +15 -24
  1071. package/source/class/qx/ui/core/queue/Dispose.js +7 -16
  1072. package/source/class/qx/ui/core/queue/Layout.js +44 -71
  1073. package/source/class/qx/ui/core/queue/Manager.js +140 -133
  1074. package/source/class/qx/ui/core/queue/Visibility.js +21 -39
  1075. package/source/class/qx/ui/core/queue/Widget.js +15 -26
  1076. package/source/class/qx/ui/core/scroll/AbstractScrollArea.js +124 -162
  1077. package/source/class/qx/ui/core/scroll/IScrollBar.js +13 -24
  1078. package/source/class/qx/ui/core/scroll/MRoll.js +14 -19
  1079. package/source/class/qx/ui/core/scroll/MScrollBarFactory.js +3 -6
  1080. package/source/class/qx/ui/core/scroll/MWheelHandling.js +10 -12
  1081. package/source/class/qx/ui/core/scroll/NativeScrollBar.js +101 -125
  1082. package/source/class/qx/ui/core/scroll/ScrollBar.js +86 -130
  1083. package/source/class/qx/ui/core/scroll/ScrollPane.js +95 -134
  1084. package/source/class/qx/ui/core/scroll/ScrollSlider.js +13 -19
  1085. package/source/class/qx/ui/core/scroll/__init__.js +4 -4
  1086. package/source/class/qx/ui/core/selection/Abstract.js +255 -456
  1087. package/source/class/qx/ui/core/selection/ScrollArea.js +35 -73
  1088. package/source/class/qx/ui/core/selection/Widget.js +57 -120
  1089. package/source/class/qx/ui/decoration/Abstract.js +11 -20
  1090. package/source/class/qx/ui/decoration/Decorator.js +56 -55
  1091. package/source/class/qx/ui/decoration/IDecorator.js +5 -11
  1092. package/source/class/qx/ui/decoration/MBackgroundColor.js +13 -20
  1093. package/source/class/qx/ui/decoration/MBackgroundImage.js +82 -77
  1094. package/source/class/qx/ui/decoration/MBorderImage.js +72 -94
  1095. package/source/class/qx/ui/decoration/MBorderRadius.js +35 -38
  1096. package/source/class/qx/ui/decoration/MBoxShadow.js +61 -55
  1097. package/source/class/qx/ui/decoration/MDoubleBorder.js +157 -155
  1098. package/source/class/qx/ui/decoration/MLinearBackgroundGradient.js +169 -89
  1099. package/source/class/qx/ui/decoration/MSingleBorder.js +138 -124
  1100. package/source/class/qx/ui/decoration/MTransition.js +46 -42
  1101. package/source/class/qx/ui/decoration/__init__.js +2 -2
  1102. package/source/class/qx/ui/embed/AbstractIframe.js +37 -55
  1103. package/source/class/qx/ui/embed/Canvas.js +34 -66
  1104. package/source/class/qx/ui/embed/Html.js +46 -70
  1105. package/source/class/qx/ui/embed/Iframe.js +178 -158
  1106. package/source/class/qx/ui/embed/ThemedIframe.js +91 -135
  1107. package/source/class/qx/ui/form/AbstractField.js +262 -303
  1108. package/source/class/qx/ui/form/AbstractSelectBox.js +65 -87
  1109. package/source/class/qx/ui/form/Button.js +35 -73
  1110. package/source/class/qx/ui/form/CheckBox.js +26 -48
  1111. package/source/class/qx/ui/form/CheckedList.js +41 -25
  1112. package/source/class/qx/ui/form/CheckedSelectBox.js +97 -62
  1113. package/source/class/qx/ui/form/ComboBox.js +98 -121
  1114. package/source/class/qx/ui/form/DateField.js +140 -181
  1115. package/source/class/qx/ui/form/Form.js +50 -69
  1116. package/source/class/qx/ui/form/HoverButton.js +37 -54
  1117. package/source/class/qx/ui/form/IArrayForm.js +8 -16
  1118. package/source/class/qx/ui/form/IBooleanForm.js +8 -16
  1119. package/source/class/qx/ui/form/IColorForm.js +8 -16
  1120. package/source/class/qx/ui/form/IDateForm.js +8 -16
  1121. package/source/class/qx/ui/form/IExecutable.js +7 -14
  1122. package/source/class/qx/ui/form/IField.js +7 -14
  1123. package/source/class/qx/ui/form/IForm.js +17 -32
  1124. package/source/class/qx/ui/form/IListItem.js +1 -4
  1125. package/source/class/qx/ui/form/IModel.js +7 -15
  1126. package/source/class/qx/ui/form/IModelForm.js +8 -16
  1127. package/source/class/qx/ui/form/IModelSelection.js +4 -8
  1128. package/source/class/qx/ui/form/INumberForm.js +8 -15
  1129. package/source/class/qx/ui/form/IRadioItem.js +8 -17
  1130. package/source/class/qx/ui/form/IRange.js +10 -20
  1131. package/source/class/qx/ui/form/IStringForm.js +8 -16
  1132. package/source/class/qx/ui/form/List.js +82 -122
  1133. package/source/class/qx/ui/form/ListItem.js +21 -38
  1134. package/source/class/qx/ui/form/MForm.js +35 -41
  1135. package/source/class/qx/ui/form/MModelProperty.js +9 -14
  1136. package/source/class/qx/ui/form/MModelSelection.js +30 -32
  1137. package/source/class/qx/ui/form/MenuButton.js +50 -77
  1138. package/source/class/qx/ui/form/PasswordField.js +4 -6
  1139. package/source/class/qx/ui/form/RadioButton.js +36 -72
  1140. package/source/class/qx/ui/form/RadioButtonGroup.js +67 -82
  1141. package/source/class/qx/ui/form/RadioGroup.js +92 -127
  1142. package/source/class/qx/ui/form/RepeatButton.js +57 -106
  1143. package/source/class/qx/ui/form/Resetter.js +19 -29
  1144. package/source/class/qx/ui/form/SelectBox.js +62 -105
  1145. package/source/class/qx/ui/form/Slider.js +202 -269
  1146. package/source/class/qx/ui/form/Spinner.js +173 -217
  1147. package/source/class/qx/ui/form/SplitButton.js +73 -115
  1148. package/source/class/qx/ui/form/Tag.js +7 -8
  1149. package/source/class/qx/ui/form/TextArea.js +147 -153
  1150. package/source/class/qx/ui/form/TextField.js +37 -46
  1151. package/source/class/qx/ui/form/ToggleButton.js +54 -90
  1152. package/source/class/qx/ui/form/VirtualComboBox.js +73 -113
  1153. package/source/class/qx/ui/form/VirtualSelectBox.js +264 -274
  1154. package/source/class/qx/ui/form/core/AbstractVirtualBox.js +117 -157
  1155. package/source/class/qx/ui/form/core/VirtualDropDownList.js +101 -144
  1156. package/source/class/qx/ui/form/renderer/AbstractRenderer.js +48 -55
  1157. package/source/class/qx/ui/form/renderer/Double.js +25 -34
  1158. package/source/class/qx/ui/form/renderer/IFormRenderer.js +4 -8
  1159. package/source/class/qx/ui/form/renderer/Single.js +25 -35
  1160. package/source/class/qx/ui/form/renderer/SinglePlaceholder.js +12 -11
  1161. package/source/class/qx/ui/form/renderer/__init__.js +5 -5
  1162. package/source/class/qx/ui/form/validation/AsyncValidator.js +13 -19
  1163. package/source/class/qx/ui/form/validation/Manager.js +74 -108
  1164. package/source/class/qx/ui/form/validation/__init__.js +6 -6
  1165. package/source/class/qx/ui/groupbox/CheckGroupBox.js +30 -47
  1166. package/source/class/qx/ui/groupbox/GroupBox.js +36 -75
  1167. package/source/class/qx/ui/groupbox/RadioGroupBox.js +29 -59
  1168. package/source/class/qx/ui/groupbox/__init__.js +3 -3
  1169. package/source/class/qx/ui/indicator/ProgressBar.js +29 -46
  1170. package/source/class/qx/ui/layout/Abstract.js +28 -53
  1171. package/source/class/qx/ui/layout/Atom.js +95 -111
  1172. package/source/class/qx/ui/layout/Basic.js +29 -30
  1173. package/source/class/qx/ui/layout/Canvas.js +62 -99
  1174. package/source/class/qx/ui/layout/Dock.js +266 -250
  1175. package/source/class/qx/ui/layout/Flow.js +50 -76
  1176. package/source/class/qx/ui/layout/Grid.js +268 -343
  1177. package/source/class/qx/ui/layout/Grow.js +26 -32
  1178. package/source/class/qx/ui/layout/HBox.js +137 -153
  1179. package/source/class/qx/ui/layout/LineSizeIterator.js +19 -28
  1180. package/source/class/qx/ui/layout/Util.js +91 -120
  1181. package/source/class/qx/ui/layout/VBox.js +125 -147
  1182. package/source/class/qx/ui/list/List.js +148 -262
  1183. package/source/class/qx/ui/list/core/IListDelegate.js +13 -26
  1184. package/source/class/qx/ui/list/core/MWidgetController.js +51 -78
  1185. package/source/class/qx/ui/list/provider/IListProvider.js +15 -28
  1186. package/source/class/qx/ui/list/provider/WidgetProvider.js +52 -84
  1187. package/source/class/qx/ui/menu/AbstractButton.js +126 -131
  1188. package/source/class/qx/ui/menu/Button.js +11 -25
  1189. package/source/class/qx/ui/menu/ButtonLayout.js +49 -37
  1190. package/source/class/qx/ui/menu/CheckBox.js +21 -46
  1191. package/source/class/qx/ui/menu/Layout.js +45 -51
  1192. package/source/class/qx/ui/menu/Manager.js +131 -209
  1193. package/source/class/qx/ui/menu/Menu.js +180 -265
  1194. package/source/class/qx/ui/menu/MenuSlideBar.js +13 -20
  1195. package/source/class/qx/ui/menu/RadioButton.js +29 -51
  1196. package/source/class/qx/ui/menu/Separator.js +9 -16
  1197. package/source/class/qx/ui/menubar/Button.js +23 -41
  1198. package/source/class/qx/ui/menubar/MenuBar.js +9 -13
  1199. package/source/class/qx/ui/mobile/__init__.js +5 -5
  1200. package/source/class/qx/ui/mobile/basic/Atom.js +79 -101
  1201. package/source/class/qx/ui/mobile/basic/Image.js +80 -86
  1202. package/source/class/qx/ui/mobile/basic/Label.js +38 -54
  1203. package/source/class/qx/ui/mobile/container/Carousel.js +281 -188
  1204. package/source/class/qx/ui/mobile/container/Collapsible.js +57 -77
  1205. package/source/class/qx/ui/mobile/container/Composite.js +9 -13
  1206. package/source/class/qx/ui/mobile/container/Drawer.js +167 -164
  1207. package/source/class/qx/ui/mobile/container/INavigation.js +6 -10
  1208. package/source/class/qx/ui/mobile/container/IScrollDelegate.js +4 -6
  1209. package/source/class/qx/ui/mobile/container/MIScroll.js +108 -100
  1210. package/source/class/qx/ui/mobile/container/MNativeScroll.js +118 -102
  1211. package/source/class/qx/ui/mobile/container/MScrollHandling.js +8 -7
  1212. package/source/class/qx/ui/mobile/container/Navigation.js +46 -65
  1213. package/source/class/qx/ui/mobile/container/Scroll.js +140 -151
  1214. package/source/class/qx/ui/mobile/control/Picker.js +125 -112
  1215. package/source/class/qx/ui/mobile/core/Blocker.js +62 -71
  1216. package/source/class/qx/ui/mobile/core/DomUpdatedHandler.js +24 -60
  1217. package/source/class/qx/ui/mobile/core/EventHandler.js +158 -138
  1218. package/source/class/qx/ui/mobile/core/MChildrenHandling.js +14 -30
  1219. package/source/class/qx/ui/mobile/core/MLayoutHandling.js +6 -14
  1220. package/source/class/qx/ui/mobile/core/MResize.js +16 -30
  1221. package/source/class/qx/ui/mobile/core/Root.js +90 -80
  1222. package/source/class/qx/ui/mobile/core/Widget.js +351 -479
  1223. package/source/class/qx/ui/mobile/dialog/BusyIndicator.js +31 -46
  1224. package/source/class/qx/ui/mobile/dialog/Manager.js +127 -89
  1225. package/source/class/qx/ui/mobile/dialog/Menu.js +111 -122
  1226. package/source/class/qx/ui/mobile/dialog/Popup.js +202 -194
  1227. package/source/class/qx/ui/mobile/embed/Canvas.js +12 -25
  1228. package/source/class/qx/ui/mobile/embed/Html.js +13 -27
  1229. package/source/class/qx/ui/mobile/form/Button.js +12 -18
  1230. package/source/class/qx/ui/mobile/form/CheckBox.js +20 -35
  1231. package/source/class/qx/ui/mobile/form/Form.js +31 -51
  1232. package/source/class/qx/ui/mobile/form/Group.js +18 -30
  1233. package/source/class/qx/ui/mobile/form/Input.js +30 -35
  1234. package/source/class/qx/ui/mobile/form/Label.js +76 -79
  1235. package/source/class/qx/ui/mobile/form/MState.js +20 -27
  1236. package/source/class/qx/ui/mobile/form/MText.js +27 -47
  1237. package/source/class/qx/ui/mobile/form/MValue.js +66 -94
  1238. package/source/class/qx/ui/mobile/form/NumberField.js +30 -47
  1239. package/source/class/qx/ui/mobile/form/PasswordField.js +8 -14
  1240. package/source/class/qx/ui/mobile/form/RadioButton.js +25 -46
  1241. package/source/class/qx/ui/mobile/form/RadioGroup.js +2 -4
  1242. package/source/class/qx/ui/mobile/form/Row.js +14 -29
  1243. package/source/class/qx/ui/mobile/form/SelectBox.js +77 -104
  1244. package/source/class/qx/ui/mobile/form/Slider.js +116 -144
  1245. package/source/class/qx/ui/mobile/form/TextArea.js +26 -39
  1246. package/source/class/qx/ui/mobile/form/TextField.js +18 -28
  1247. package/source/class/qx/ui/mobile/form/Title.js +11 -19
  1248. package/source/class/qx/ui/mobile/form/ToggleButton.js +35 -58
  1249. package/source/class/qx/ui/mobile/form/__init__.js +1 -1
  1250. package/source/class/qx/ui/mobile/form/renderer/AbstractRenderer.js +24 -31
  1251. package/source/class/qx/ui/mobile/form/renderer/Single.js +59 -85
  1252. package/source/class/qx/ui/mobile/form/renderer/SinglePlaceholder.js +8 -16
  1253. package/source/class/qx/ui/mobile/layout/Abstract.js +48 -85
  1254. package/source/class/qx/ui/mobile/layout/AbstractBox.js +93 -125
  1255. package/source/class/qx/ui/mobile/layout/Card.js +133 -116
  1256. package/source/class/qx/ui/mobile/layout/CardAnimation.js +95 -72
  1257. package/source/class/qx/ui/mobile/layout/HBox.js +9 -12
  1258. package/source/class/qx/ui/mobile/layout/VBox.js +9 -12
  1259. package/source/class/qx/ui/mobile/list/IListDelegate.js +5 -9
  1260. package/source/class/qx/ui/mobile/list/List.js +172 -183
  1261. package/source/class/qx/ui/mobile/list/provider/Provider.js +58 -65
  1262. package/source/class/qx/ui/mobile/list/renderer/Abstract.js +54 -82
  1263. package/source/class/qx/ui/mobile/list/renderer/Default.js +39 -55
  1264. package/source/class/qx/ui/mobile/list/renderer/group/Abstract.js +20 -33
  1265. package/source/class/qx/ui/mobile/list/renderer/group/Default.js +29 -45
  1266. package/source/class/qx/ui/mobile/navigationbar/BackButton.js +11 -15
  1267. package/source/class/qx/ui/mobile/navigationbar/Button.js +11 -15
  1268. package/source/class/qx/ui/mobile/navigationbar/NavigationBar.js +23 -29
  1269. package/source/class/qx/ui/mobile/navigationbar/Title.js +12 -20
  1270. package/source/class/qx/ui/mobile/page/Manager.js +195 -169
  1271. package/source/class/qx/ui/mobile/page/NavigationPage.js +132 -196
  1272. package/source/class/qx/ui/mobile/page/Page.js +109 -148
  1273. package/source/class/qx/ui/mobile/tabbar/TabBar.js +41 -62
  1274. package/source/class/qx/ui/mobile/tabbar/TabButton.js +19 -28
  1275. package/source/class/qx/ui/mobile/toolbar/Button.js +7 -11
  1276. package/source/class/qx/ui/mobile/toolbar/Separator.js +11 -15
  1277. package/source/class/qx/ui/mobile/toolbar/ToolBar.js +30 -39
  1278. package/source/class/qx/ui/popup/Manager.js +41 -53
  1279. package/source/class/qx/ui/popup/Popup.js +22 -47
  1280. package/source/class/qx/ui/popup/__init__.js +32 -32
  1281. package/source/class/qx/ui/progressive/Progressive.js +96 -137
  1282. package/source/class/qx/ui/progressive/State.js +12 -19
  1283. package/source/class/qx/ui/progressive/headfoot/Abstract.js +10 -15
  1284. package/source/class/qx/ui/progressive/headfoot/Null.js +4 -7
  1285. package/source/class/qx/ui/progressive/headfoot/Progress.js +67 -69
  1286. package/source/class/qx/ui/progressive/headfoot/TableHeading.js +42 -54
  1287. package/source/class/qx/ui/progressive/model/Abstract.js +8 -15
  1288. package/source/class/qx/ui/progressive/model/Default.js +17 -29
  1289. package/source/class/qx/ui/progressive/renderer/Abstract.js +6 -11
  1290. package/source/class/qx/ui/progressive/renderer/FunctionCaller.js +4 -7
  1291. package/source/class/qx/ui/progressive/renderer/table/Row.js +215 -242
  1292. package/source/class/qx/ui/progressive/renderer/table/Widths.js +32 -47
  1293. package/source/class/qx/ui/progressive/renderer/table/cell/Abstract.js +17 -24
  1294. package/source/class/qx/ui/progressive/renderer/table/cell/Boolean.js +68 -79
  1295. package/source/class/qx/ui/progressive/renderer/table/cell/Conditional.js +146 -199
  1296. package/source/class/qx/ui/progressive/renderer/table/cell/Default.js +14 -32
  1297. package/source/class/qx/ui/progressive/renderer/table/cell/Html.js +2 -3
  1298. package/source/class/qx/ui/progressive/renderer/table/cell/Icon.js +38 -53
  1299. package/source/class/qx/ui/progressive/renderer/table/cell/Image.js +20 -42
  1300. package/source/class/qx/ui/progressive/renderer/table/cell/String.js +6 -12
  1301. package/source/class/qx/ui/progressive/structure/Abstract.js +14 -26
  1302. package/source/class/qx/ui/progressive/structure/Default.js +20 -40
  1303. package/source/class/qx/ui/root/Abstract.js +73 -90
  1304. package/source/class/qx/ui/root/Application.js +57 -61
  1305. package/source/class/qx/ui/root/Inline.js +78 -64
  1306. package/source/class/qx/ui/root/Page.js +25 -46
  1307. package/source/class/qx/ui/splitpane/Blocker.js +20 -30
  1308. package/source/class/qx/ui/splitpane/HLayout.js +53 -49
  1309. package/source/class/qx/ui/splitpane/Pane.js +112 -150
  1310. package/source/class/qx/ui/splitpane/Slider.js +9 -15
  1311. package/source/class/qx/ui/splitpane/Splitter.js +27 -46
  1312. package/source/class/qx/ui/splitpane/VLayout.js +53 -49
  1313. package/source/class/qx/ui/style/Stylesheet.js +12 -19
  1314. package/source/class/qx/ui/table/ICellEditorFactory.js +4 -8
  1315. package/source/class/qx/ui/table/ICellRenderer.js +3 -7
  1316. package/source/class/qx/ui/table/IColumnMenuButton.js +6 -11
  1317. package/source/class/qx/ui/table/IColumnMenuItem.js +5 -8
  1318. package/source/class/qx/ui/table/IHeaderRenderer.js +4 -8
  1319. package/source/class/qx/ui/table/IRowRenderer.js +6 -12
  1320. package/source/class/qx/ui/table/ITableModel.js +23 -41
  1321. package/source/class/qx/ui/table/MTableContextMenu.js +25 -28
  1322. package/source/class/qx/ui/table/Table.js +556 -748
  1323. package/source/class/qx/ui/table/celleditor/AbstractField.js +16 -26
  1324. package/source/class/qx/ui/table/celleditor/CheckBox.js +15 -16
  1325. package/source/class/qx/ui/table/celleditor/ComboBox.js +24 -34
  1326. package/source/class/qx/ui/table/celleditor/Dynamic.js +25 -32
  1327. package/source/class/qx/ui/table/celleditor/PasswordField.js +4 -8
  1328. package/source/class/qx/ui/table/celleditor/SelectBox.js +29 -38
  1329. package/source/class/qx/ui/table/celleditor/TextField.js +9 -14
  1330. package/source/class/qx/ui/table/cellrenderer/Abstract.js +78 -73
  1331. package/source/class/qx/ui/table/cellrenderer/AbstractImage.js +65 -84
  1332. package/source/class/qx/ui/table/cellrenderer/Boolean.js +36 -50
  1333. package/source/class/qx/ui/table/cellrenderer/Conditional.js +74 -63
  1334. package/source/class/qx/ui/table/cellrenderer/Date.js +12 -22
  1335. package/source/class/qx/ui/table/cellrenderer/Debug.js +9 -9
  1336. package/source/class/qx/ui/table/cellrenderer/Default.js +30 -52
  1337. package/source/class/qx/ui/table/cellrenderer/Dynamic.js +13 -24
  1338. package/source/class/qx/ui/table/cellrenderer/Html.js +6 -8
  1339. package/source/class/qx/ui/table/cellrenderer/Image.js +13 -26
  1340. package/source/class/qx/ui/table/cellrenderer/Number.js +13 -24
  1341. package/source/class/qx/ui/table/cellrenderer/Password.js +8 -11
  1342. package/source/class/qx/ui/table/cellrenderer/Replace.js +27 -42
  1343. package/source/class/qx/ui/table/cellrenderer/String.js +5 -7
  1344. package/source/class/qx/ui/table/columnmenu/Button.js +19 -29
  1345. package/source/class/qx/ui/table/columnmenu/MenuItem.js +11 -19
  1346. package/source/class/qx/ui/table/columnmenu/__init__.js +4 -4
  1347. package/source/class/qx/ui/table/columnmenu/grid/__init__.js +4 -4
  1348. package/source/class/qx/ui/table/columnmenu/simple/__init__.js +4 -4
  1349. package/source/class/qx/ui/table/columnmodel/Basic.js +193 -215
  1350. package/source/class/qx/ui/table/columnmodel/Resize.js +65 -111
  1351. package/source/class/qx/ui/table/columnmodel/resizebehavior/Abstract.js +17 -24
  1352. package/source/class/qx/ui/table/columnmodel/resizebehavior/Default.js +66 -117
  1353. package/source/class/qx/ui/table/headerrenderer/Default.js +25 -46
  1354. package/source/class/qx/ui/table/headerrenderer/HeaderCell.js +36 -51
  1355. package/source/class/qx/ui/table/headerrenderer/Icon.js +11 -27
  1356. package/source/class/qx/ui/table/model/Abstract.js +52 -62
  1357. package/source/class/qx/ui/table/model/Filtered.js +121 -153
  1358. package/source/class/qx/ui/table/model/Remote.js +166 -271
  1359. package/source/class/qx/ui/table/model/Simple.js +215 -250
  1360. package/source/class/qx/ui/table/pane/CellEvent.js +25 -32
  1361. package/source/class/qx/ui/table/pane/Clipper.js +8 -12
  1362. package/source/class/qx/ui/table/pane/FocusIndicator.js +42 -48
  1363. package/source/class/qx/ui/table/pane/Header.js +45 -86
  1364. package/source/class/qx/ui/table/pane/Model.js +80 -97
  1365. package/source/class/qx/ui/table/pane/Pane.js +129 -189
  1366. package/source/class/qx/ui/table/pane/Scroller.js +542 -659
  1367. package/source/class/qx/ui/table/rowrenderer/Default.js +75 -86
  1368. package/source/class/qx/ui/table/selection/Manager.js +23 -57
  1369. package/source/class/qx/ui/table/selection/Model.js +89 -179
  1370. package/source/class/qx/ui/tabview/Page.js +48 -79
  1371. package/source/class/qx/ui/tabview/TabButton.js +45 -72
  1372. package/source/class/qx/ui/tabview/TabView.js +94 -141
  1373. package/source/class/qx/ui/toolbar/Button.js +13 -18
  1374. package/source/class/qx/ui/toolbar/CheckBox.js +13 -17
  1375. package/source/class/qx/ui/toolbar/MenuButton.js +18 -34
  1376. package/source/class/qx/ui/toolbar/Part.js +42 -64
  1377. package/source/class/qx/ui/toolbar/PartContainer.js +19 -28
  1378. package/source/class/qx/ui/toolbar/RadioButton.js +12 -19
  1379. package/source/class/qx/ui/toolbar/Separator.js +15 -25
  1380. package/source/class/qx/ui/toolbar/SplitButton.js +19 -28
  1381. package/source/class/qx/ui/toolbar/ToolBar.js +182 -232
  1382. package/source/class/qx/ui/tooltip/Manager.js +125 -123
  1383. package/source/class/qx/ui/tooltip/ToolTip.js +49 -79
  1384. package/source/class/qx/ui/tooltip/__init__.js +23 -23
  1385. package/source/class/qx/ui/tree/Tree.js +95 -148
  1386. package/source/class/qx/ui/tree/TreeFile.js +8 -15
  1387. package/source/class/qx/ui/tree/TreeFolder.js +8 -15
  1388. package/source/class/qx/ui/tree/VirtualTree.js +207 -333
  1389. package/source/class/qx/ui/tree/VirtualTreeItem.js +30 -45
  1390. package/source/class/qx/ui/tree/__init__.js +50 -50
  1391. package/source/class/qx/ui/tree/core/AbstractItem.js +98 -152
  1392. package/source/class/qx/ui/tree/core/AbstractTreeItem.js +83 -137
  1393. package/source/class/qx/ui/tree/core/FolderOpenButton.js +15 -34
  1394. package/source/class/qx/ui/tree/core/IVirtualTree.js +13 -33
  1395. package/source/class/qx/ui/tree/core/IVirtualTreeDelegate.js +9 -16
  1396. package/source/class/qx/ui/tree/core/MWidgetController.js +58 -69
  1397. package/source/class/qx/ui/tree/core/OpenCloseController.js +29 -35
  1398. package/source/class/qx/ui/tree/core/Util.js +12 -16
  1399. package/source/class/qx/ui/tree/provider/IVirtualTreeProvider.js +10 -23
  1400. package/source/class/qx/ui/tree/provider/WidgetProvider.js +39 -67
  1401. package/source/class/qx/ui/tree/selection/SelectionManager.js +27 -41
  1402. package/source/class/qx/ui/treevirtual/DefaultDataCellRenderer.js +2 -3
  1403. package/source/class/qx/ui/treevirtual/MFamily.js +26 -63
  1404. package/source/class/qx/ui/treevirtual/MNode.js +43 -103
  1405. package/source/class/qx/ui/treevirtual/MTreePrimitive.js +41 -52
  1406. package/source/class/qx/ui/treevirtual/SelectionManager.js +44 -58
  1407. package/source/class/qx/ui/treevirtual/SimpleTreeDataCellRenderer.js +172 -229
  1408. package/source/class/qx/ui/treevirtual/SimpleTreeDataModel.js +256 -367
  1409. package/source/class/qx/ui/treevirtual/SimpleTreeDataRowRenderer.js +8 -18
  1410. package/source/class/qx/ui/treevirtual/TreeVirtual.js +155 -250
  1411. package/source/class/qx/ui/treevirtual/celleditor/NodeEditor.js +10 -16
  1412. package/source/class/qx/ui/treevirtual/pane/Scroller.js +14 -11
  1413. package/source/class/qx/ui/virtual/__init__.js +4 -4
  1414. package/source/class/qx/ui/virtual/behavior/Prefetch.js +71 -86
  1415. package/source/class/qx/ui/virtual/cell/Abstract.js +18 -27
  1416. package/source/class/qx/ui/virtual/cell/AbstractImage.js +42 -51
  1417. package/source/class/qx/ui/virtual/cell/AbstractWidget.js +25 -49
  1418. package/source/class/qx/ui/virtual/cell/Boolean.js +31 -44
  1419. package/source/class/qx/ui/virtual/cell/Cell.js +143 -183
  1420. package/source/class/qx/ui/virtual/cell/CellStylesheet.js +31 -38
  1421. package/source/class/qx/ui/virtual/cell/Date.js +15 -24
  1422. package/source/class/qx/ui/virtual/cell/Html.js +9 -20
  1423. package/source/class/qx/ui/virtual/cell/ICell.js +4 -6
  1424. package/source/class/qx/ui/virtual/cell/IWidgetCell.js +7 -12
  1425. package/source/class/qx/ui/virtual/cell/IWidgetCellDelegate.js +4 -6
  1426. package/source/class/qx/ui/virtual/cell/Image.js +8 -14
  1427. package/source/class/qx/ui/virtual/cell/Number.js +14 -23
  1428. package/source/class/qx/ui/virtual/cell/String.js +11 -20
  1429. package/source/class/qx/ui/virtual/cell/WidgetCell.js +13 -16
  1430. package/source/class/qx/ui/virtual/cell/__init__.js +4 -4
  1431. package/source/class/qx/ui/virtual/core/Axis.js +75 -103
  1432. package/source/class/qx/ui/virtual/core/CellEvent.js +23 -31
  1433. package/source/class/qx/ui/virtual/core/IHtmlCellProvider.js +4 -6
  1434. package/source/class/qx/ui/virtual/core/ILayer.js +5 -15
  1435. package/source/class/qx/ui/virtual/core/IWidgetCellProvider.js +5 -7
  1436. package/source/class/qx/ui/virtual/core/Pane.js +199 -242
  1437. package/source/class/qx/ui/virtual/core/Scroller.js +25 -43
  1438. package/source/class/qx/ui/virtual/layer/Abstract.js +44 -83
  1439. package/source/class/qx/ui/virtual/layer/AbstractBackground.js +47 -68
  1440. package/source/class/qx/ui/virtual/layer/CellSpanManager.js +74 -96
  1441. package/source/class/qx/ui/virtual/layer/Column.js +26 -36
  1442. package/source/class/qx/ui/virtual/layer/GridLines.js +43 -70
  1443. package/source/class/qx/ui/virtual/layer/HtmlCell.js +34 -32
  1444. package/source/class/qx/ui/virtual/layer/HtmlCellSpan.js +54 -56
  1445. package/source/class/qx/ui/virtual/layer/Row.js +28 -36
  1446. package/source/class/qx/ui/virtual/layer/WidgetCell.js +87 -123
  1447. package/source/class/qx/ui/virtual/layer/WidgetCellSpan.js +123 -124
  1448. package/source/class/qx/ui/virtual/selection/Abstract.js +26 -54
  1449. package/source/class/qx/ui/virtual/selection/CellLines.js +11 -21
  1450. package/source/class/qx/ui/virtual/selection/CellRectangle.js +45 -73
  1451. package/source/class/qx/ui/virtual/selection/Column.js +16 -35
  1452. package/source/class/qx/ui/virtual/selection/ISelectionDelegate.js +5 -9
  1453. package/source/class/qx/ui/virtual/selection/MModel.js +84 -122
  1454. package/source/class/qx/ui/virtual/selection/Row.js +29 -61
  1455. package/source/class/qx/ui/website/Accordion.js +39 -42
  1456. package/source/class/qx/ui/website/Button.js +17 -25
  1457. package/source/class/qx/ui/website/Calendar.js +243 -172
  1458. package/source/class/qx/ui/website/Carousel.js +169 -155
  1459. package/source/class/qx/ui/website/DatePicker.js +99 -85
  1460. package/source/class/qx/ui/website/Rating.js +35 -53
  1461. package/source/class/qx/ui/website/Slider.js +174 -153
  1462. package/source/class/qx/ui/website/Table.js +482 -456
  1463. package/source/class/qx/ui/website/Tabs.js +225 -180
  1464. package/source/class/qx/ui/website/Widget.js +39 -52
  1465. package/source/class/qx/ui/window/Desktop.js +14 -12
  1466. package/source/class/qx/ui/window/IDesktop.js +8 -10
  1467. package/source/class/qx/ui/window/IWindowManager.js +7 -9
  1468. package/source/class/qx/ui/window/MDesktop.js +34 -62
  1469. package/source/class/qx/ui/window/Manager.js +31 -57
  1470. package/source/class/qx/ui/window/Window.js +250 -351
  1471. package/source/class/qx/util/AliasManager.js +23 -42
  1472. package/source/class/qx/util/Animation.js +248 -191
  1473. package/source/class/qx/util/Base64.js +144 -89
  1474. package/source/class/qx/util/ColorUtil.js +253 -287
  1475. package/source/class/qx/util/DeferredCall.js +21 -30
  1476. package/source/class/qx/util/DeferredCallManager.js +23 -44
  1477. package/source/class/qx/util/Delegate.js +4 -10
  1478. package/source/class/qx/util/DisposeUtil.js +76 -70
  1479. package/source/class/qx/util/DynamicScriptLoader.js +83 -66
  1480. package/source/class/qx/util/EditDistance.js +64 -58
  1481. package/source/class/qx/util/ExtendedColor.js +157 -163
  1482. package/source/class/qx/util/Function.js +8 -8
  1483. package/source/class/qx/util/LibraryManager.js +11 -18
  1484. package/source/class/qx/util/OOUtil.js +17 -36
  1485. package/source/class/qx/util/ObjectPool.js +19 -45
  1486. package/source/class/qx/util/Permutation.js +9 -16
  1487. package/source/class/qx/util/PropertyUtil.js +58 -70
  1488. package/source/class/qx/util/Request.js +27 -16
  1489. package/source/class/qx/util/ResourceManager.js +103 -104
  1490. package/source/class/qx/util/ResponseParser.js +14 -21
  1491. package/source/class/qx/util/RingBuffer.js +46 -48
  1492. package/source/class/qx/util/Serializer.js +103 -68
  1493. package/source/class/qx/util/StringBuilder.js +11 -22
  1494. package/source/class/qx/util/StringEscape.js +15 -29
  1495. package/source/class/qx/util/StringSplit.js +18 -21
  1496. package/source/class/qx/util/TimerManager.js +61 -70
  1497. package/source/class/qx/util/Uri.js +42 -30
  1498. package/source/class/qx/util/Uuid.js +50 -35
  1499. package/source/class/qx/util/Validate.js +88 -73
  1500. package/source/class/qx/util/ValueManager.js +17 -29
  1501. package/source/class/qx/util/Wheel.js +22 -16
  1502. package/source/class/qx/util/format/DateFormat.js +853 -763
  1503. package/source/class/qx/util/format/IFormat.js +4 -8
  1504. package/source/class/qx/util/format/NumberFormat.js +84 -91
  1505. package/source/class/qx/util/fsm/FiniteStateMachine.js +323 -382
  1506. package/source/class/qx/util/fsm/State.js +210 -249
  1507. package/source/class/qx/util/fsm/Transition.js +138 -160
  1508. package/source/class/qx/util/placement/AbstractAxis.js +12 -14
  1509. package/source/class/qx/util/placement/BestFitAxis.js +5 -8
  1510. package/source/class/qx/util/placement/DirectAxis.js +5 -7
  1511. package/source/class/qx/util/placement/KeepAlignAxis.js +8 -14
  1512. package/source/class/qx/util/placement/Placement.js +39 -56
  1513. package/source/class/qx/util/placement/__init__.js +4 -4
  1514. package/source/class/qx/xml/Document.js +21 -34
  1515. package/source/class/qx/xml/Element.js +90 -73
  1516. package/source/class/qx/xml/String.js +15 -21
  1517. package/source/class/qxWeb.js +102 -69
  1518. package/source/resource/qx/mobile/js/iscroll.js +1328 -982
  1519. package/source/resource/qx/mobile/js/iscroll.min.js +1081 -1
  1520. package/source/resource/qx/test/dynamicscriptloader/first.js +1 -1
  1521. package/source/resource/qx/test/dynamicscriptloader/second.js +1 -1
  1522. package/source/resource/qx/test/dynamicscriptloader/third.js +1 -1
  1523. package/source/resource/qx/test/script.js +1 -1
  1524. package/source/resource/qx/test/webworker.js +2 -2
  1525. package/source/resource/qx/tool/loadsass.js +16 -13
  1526. package/source/resource/qx/tool/schema/compile-1-0-0.json +13 -13
  1527. package/source/resource/qx/tool/website/build/assets/bluebird.min.js +4593 -9
  1528. package/source/resource/qx/tool/website/build/assets/buttons.js +391 -1
  1529. package/source/resource/qx/tool/website/build/assets/fontawesome-all.js +8963 -1
  1530. package/source/resource/qx/tool/website/build/assets/jquery.js +5452 -3
  1531. package/source/resource/qx/tool/website/build/diagnostics/dependson.js +31 -31
  1532. package/source/resource/qx/tool/website/build/diagnostics/requiredby.js +32 -36
  1533. package/source/resource/qx/tool/website/build/scripts/serve.js +87 -66
  1534. package/source/resource/qx/tool/website/src/assets/bluebird.min.js +4593 -9
  1535. package/source/resource/qx/tool/website/src/assets/buttons.js +391 -1
  1536. package/source/resource/qx/tool/website/src/assets/fontawesome-all.js +8963 -1
  1537. package/source/resource/qx/tool/website/src/assets/jquery.js +5452 -3
  1538. package/source/resource/qx/tool/website/src/diagnostics/dependson.js +31 -31
  1539. package/source/resource/qx/tool/website/src/diagnostics/requiredby.js +32 -36
  1540. package/source/resource/qx/tool/website/src/scripts/serve.js +87 -66
  1541. package/source/translation/hr.po +297 -0
  1542. package/lib/resource/qx/static/blank.gif +0 -0
  1543. package/source/class/qx/io/remote/Exchange.js +0 -1063
  1544. package/source/class/qx/io/remote/Request.js +0 -1021
  1545. package/source/class/qx/io/remote/RequestQueue.js +0 -521
  1546. package/source/class/qx/io/remote/Response.js +0 -137
  1547. package/source/class/qx/io/remote/Rpc.js +0 -1075
  1548. package/source/class/qx/io/remote/RpcError.js +0 -198
  1549. package/source/class/qx/io/remote/__init__.js +0 -88
  1550. package/source/class/qx/io/remote/transport/Abstract.js +0 -513
  1551. package/source/class/qx/io/remote/transport/Iframe.js +0 -652
  1552. package/source/class/qx/io/remote/transport/Script.js +0 -475
  1553. package/source/class/qx/io/remote/transport/XmlHttp.js +0 -1019
  1554. package/source/class/qx/io/remote/transport/__init__.js +0 -3
  1555. package/source/class/qx/test/io/remote/AbstractRequest.js +0 -150
  1556. package/source/class/qx/test/io/remote/RequestIframe.js +0 -105
  1557. package/source/class/qx/test/io/remote/RequestXhr.js +0 -151
  1558. package/source/class/qx/test/io/remote/Rpc.js +0 -205
  1559. package/source/class/qx/test/io/remote/__init__.js +0 -4
  1560. package/source/class/qx/test/io/remote/transport/Iframe.js +0 -67
  1561. package/source/class/qx/test/io/remote/transport/XmlHttp.js +0 -133
  1562. package/source/class/qx/test/io/remote/transport/__init__.js +0 -4
@@ -1,4 +1,3 @@
1
-
2
1
  /* ************************************************************************
3
2
 
4
3
  qooxdoo - the new era of web development
@@ -83,75 +82,71 @@
83
82
  *
84
83
  */
85
84
  qx.Bootstrap.define("qx.ui.website.Table", {
85
+ extend: qx.ui.website.Widget,
86
86
 
87
- extend : qx.ui.website.Widget,
88
-
89
- construct : function(selector, context) {
90
- this.base(arguments, selector, context);
87
+ construct(selector, context) {
88
+ super(selector, context);
91
89
  },
92
90
 
93
- events : {
91
+ events: {
94
92
  /** Fires at each model change */
95
- "modelChange" : "Array",
93
+ modelChange: "Array",
96
94
  /** Fires at each selection change */
97
- "selectionChange" : "qxWeb",
95
+ selectionChange: "qxWeb",
98
96
  /** Fires each time a cell of the widget is clicked */
99
- "cellClick" : "Object",
97
+ cellClick: "Object",
100
98
  /** Fires each time a cell of the widget is hovered */
101
- "cellHover" : "Object",
102
- /** Fires each time the mouse leave a cell of the table widget */
103
- "cellOut" : "Object",
99
+ cellHover: "Object",
100
+ /** Fires each time the mouse leave a cell of the table widget */
101
+ cellOut: "Object",
104
102
  /** Fires after the model has been applied to the widget */
105
- "modelApplied" : "Array",
103
+ modelApplied: "Array",
106
104
  /** Fires each time the value of a cell is rendered into the cell */
107
- "cellRender" : "Object",
105
+ cellRender: "Object",
108
106
  /** Fires after the table rows have been sorted */
109
- "sort" : "Object",
107
+ sort: "Object",
110
108
  /** Fires after the table rows have been filtered */
111
- "filter" : "Object"
109
+ filter: "Object"
112
110
  },
113
111
 
114
-
115
- statics : {
116
-
112
+ statics: {
117
113
  /**
118
- * *caseSensitive*
119
- * Determines if the string sorting/filtering should be case sensitive or not. Default value : <code>false</code>.
120
- *
121
- * *rowSelection*
122
- * Defines the row selection type. Possible values are : 'none', 'single', 'multiple'. Default value : <code>none</code>.
123
- *
124
- */
125
- _config : {
126
- caseSensitive : false,
127
- rowSelection : "none",
128
- sortable : false
114
+ * *caseSensitive*
115
+ * Determines if the string sorting/filtering should be case sensitive or not. Default value : <code>false</code>.
116
+ *
117
+ * *rowSelection*
118
+ * Defines the row selection type. Possible values are : 'none', 'single', 'multiple'. Default value : <code>none</code>.
119
+ *
120
+ */
121
+ _config: {
122
+ caseSensitive: false,
123
+ rowSelection: "none",
124
+ sortable: false
129
125
  },
130
126
 
131
-
132
127
  /**
133
- * *columnDefault*
134
- * The Default cell template for all the table columns. Default value :
135
- *
136
- * <pre>
137
- * <td class='qx-table-cell' data-qx-table-cell-key='{{ cellKey }}'>
138
- * <div class='qx-table-cell-wrapper'>
139
- * <label>{{& value }}</label>
140
- * </div>
141
- * <td>"
142
- * </pre>
143
- *
144
- * To define a custom template for a specific name use <code>setTemplate('colname', template)</code> or use <br>
145
- * <code>setTemplate('columnDefault', template)</code> to set one template for all your table columns.
146
- *
147
- */
148
- _templates : {
149
-
150
- "columnDefault" : "<td class='qx-table-cell' data-qx-table-cell-key='{{ cellKey }}'>"+
151
- "<div class='qx-table-cell-wrapper'>"+
152
- "<label>{{& value }}</label>"+
153
- "</div>"+
154
- "<td>"
128
+ * *columnDefault*
129
+ * The Default cell template for all the table columns. Default value :
130
+ *
131
+ * <pre>
132
+ * <td class='qx-table-cell' data-qx-table-cell-key='{{ cellKey }}'>
133
+ * <div class='qx-table-cell-wrapper'>
134
+ * <label>{{& value }}</label>
135
+ * </div>
136
+ * <td>"
137
+ * </pre>
138
+ *
139
+ * To define a custom template for a specific name use <code>setTemplate('colname', template)</code> or use <br>
140
+ * <code>setTemplate('columnDefault', template)</code> to set one template for all your table columns.
141
+ *
142
+ */
143
+ _templates: {
144
+ columnDefault:
145
+ "<td class='qx-table-cell' data-qx-table-cell-key='{{ cellKey }}'>" +
146
+ "<div class='qx-table-cell-wrapper'>" +
147
+ "<label>{{& value }}</label>" +
148
+ "</div>" +
149
+ "<td>"
155
150
  },
156
151
 
157
152
  /**
@@ -161,7 +156,7 @@ qx.Bootstrap.define("qx.ui.website.Table", {
161
156
  * @return {qx.ui.website.Table} A new table collection.
162
157
  * @attach {qxWeb}
163
158
  */
164
- table : function(model) {
159
+ table(model) {
165
160
  var table = new qx.ui.website.Table(this);
166
161
  table.__model = model;
167
162
  table.init();
@@ -173,9 +168,13 @@ qx.Bootstrap.define("qx.ui.website.Table", {
173
168
  * @param n {String} The String to check the type for
174
169
  * @return {Boolean} The result of the check
175
170
  */
176
- __isNumber : function(n) {
177
- return (Object.prototype.toString.call(n) === '[object Number]' ||
178
- Object.prototype.toString.call(n) === '[object String]') && !isNaN(parseFloat(n)) && isFinite(n.toString().replace(/^-/, ''));
171
+ __isNumber(n) {
172
+ return (
173
+ (Object.prototype.toString.call(n) === "[object Number]" ||
174
+ Object.prototype.toString.call(n) === "[object String]") &&
175
+ !isNaN(parseFloat(n)) &&
176
+ isFinite(n.toString().replace(/^-/, ""))
177
+ );
179
178
  },
180
179
 
181
180
  /**
@@ -183,7 +182,7 @@ qx.Bootstrap.define("qx.ui.website.Table", {
183
182
  * @param val {String} The String to check the type for
184
183
  * @return {Boolean} The result of the check
185
184
  */
186
- __isDate : function(val) {
185
+ __isDate(val) {
187
186
  var d = new Date(val);
188
187
  return !isNaN(d.valueOf());
189
188
  },
@@ -194,7 +193,7 @@ qx.Bootstrap.define("qx.ui.website.Table", {
194
193
  * @param htmlElement {HTMLElement} The HTMLElement
195
194
  * @return {Integer} The position of the htmlElement or -1
196
195
  */
197
- __getIndex : function(htmlCollection, htmlElement) {
196
+ __getIndex(htmlCollection, htmlElement) {
198
197
  var index = -1;
199
198
  for (var i = 0, l = htmlCollection.length; i < l; i++) {
200
199
  if (htmlCollection.item(i) == htmlElement) {
@@ -206,49 +205,48 @@ qx.Bootstrap.define("qx.ui.website.Table", {
206
205
  },
207
206
 
208
207
  /**
209
- * Generates an unique id
210
- * @return {String} The generated id
211
- */
212
- __getUID : function() {
213
- return ((new Date()).getTime() + "" + Math.floor(Math.random() * 1000000)).substr(0, 18);
208
+ * Generates an unique id
209
+ * @return {String} The generated id
210
+ */
211
+ __getUID() {
212
+ return (
213
+ new Date().getTime() +
214
+ "" +
215
+ Math.floor(Math.random() * 1000000)
216
+ ).substr(0, 18);
214
217
  },
215
218
 
216
-
217
219
  /** */
218
- __selectionTypes : ["single", "multiple", "none"],
220
+ __selectionTypes: ["single", "multiple", "none"],
219
221
  /** */
220
- __internalCellClass : "qx-table-cell",
222
+ __internalCellClass: "qx-table-cell",
221
223
  /** */
222
- __internalHeaderClass : "qx-table-header",
224
+ __internalHeaderClass: "qx-table-header",
223
225
  /** */
224
- __internalSelectionClass : "qx-table-row-selection",
226
+ __internalSelectionClass: "qx-table-row-selection",
225
227
  /** */
226
- __internalInputClass : "qx-table-selection-input",
228
+ __internalInputClass: "qx-table-selection-input",
227
229
  /** */
228
- __allColumnSelector : "qx-table-all-columns",
230
+ __allColumnSelector: "qx-table-all-columns",
229
231
  /** */
230
- __dataColName : "data-qx-table-col-name",
232
+ __dataColName: "data-qx-table-col-name",
231
233
  /** */
232
- __dataColType : "data-qx-table-col-type",
234
+ __dataColType: "data-qx-table-col-type",
233
235
  /** */
234
- __dataSortingKey : "data-qx-table-cell-key",
236
+ __dataSortingKey: "data-qx-table-cell-key",
235
237
  /** */
236
- __modelSortingKey : "cellKey",
238
+ __modelSortingKey: "cellKey",
237
239
  /** */
238
- __inputLabelClass : "qx-table-input-label",
240
+ __inputLabelClass: "qx-table-input-label",
239
241
  /** */
240
- __selectedRowClass : "qx-table-row-selected",
242
+ __selectedRowClass: "qx-table-row-selected",
241
243
  /** */
242
- __ascSortingClass : "qx-table-sort-asc",
244
+ __ascSortingClass: "qx-table-sort-asc",
243
245
  /** */
244
- __descSortingClass : "qqx-table-sort-desc"
245
-
246
+ __descSortingClass: "qqx-table-sort-desc"
246
247
  },
247
248
 
248
-
249
-
250
- members : {
251
-
249
+ members: {
252
250
  __model: null,
253
251
  __columnMeta: null,
254
252
  __sortingFunction: null,
@@ -260,9 +258,8 @@ qx.Bootstrap.define("qx.ui.website.Table", {
260
258
  __sortingData: null,
261
259
 
262
260
  // overridden
263
- init : function() {
264
-
265
- if (!this.base(arguments)) {
261
+ init() {
262
+ if (!super.init()) {
266
263
  return false;
267
264
  }
268
265
 
@@ -272,7 +269,7 @@ qx.Bootstrap.define("qx.ui.website.Table", {
272
269
  throw new Error("collection should contains only table elements !!");
273
270
  }
274
271
 
275
- if(!this[0].tHead){
272
+ if (!this[0].tHead) {
276
273
  throw new Error("A Table header element is required for this widget.");
277
274
  }
278
275
 
@@ -290,14 +287,13 @@ qx.Bootstrap.define("qx.ui.website.Table", {
290
287
  return true;
291
288
  },
292
289
 
293
-
294
290
  /**
295
291
  * Sets the given model to the widgets in the collection
296
292
  *
297
293
  * @param model {Array} The model to be set
298
294
  * @return {qx.ui.website.Table} <code>this</code> reference for chaining.
299
295
  */
300
- setModel : function(model) {
296
+ setModel(model) {
301
297
  if (typeof model != "undefined") {
302
298
  if (qx.lang.Type.isArray(model)) {
303
299
  this.__model = model;
@@ -310,110 +306,99 @@ qx.Bootstrap.define("qx.ui.website.Table", {
310
306
  return this;
311
307
  },
312
308
 
313
-
314
309
  /**
315
310
  * Set the column types for the table widgets in the collection
316
311
  * @param columnName {String} The column name
317
312
  * @param type {String} The type of the column
318
313
  * @return {qx.ui.website.Table} <code>this</code> reference for chaining.
319
314
  */
320
- setColumnType : function(columnName, type) {
315
+ setColumnType(columnName, type) {
321
316
  this.__checkColumnExistance(columnName);
322
317
  this.__columnMeta[columnName].type = type;
323
318
 
324
319
  return this;
325
320
  },
326
321
 
327
-
328
-
329
-
330
322
  /**
331
323
  * Returns the type of the specified column
332
324
  * @param columnName {String} The column name
333
325
  * @return {String} The type of the specified column
334
326
  */
335
- getColumnType : function(columnName) {
327
+ getColumnType(columnName) {
336
328
  this.eq(0).__checkColumnExistance(columnName);
337
329
  return this.eq(0).__columnMeta[columnName].type;
338
330
  },
339
331
 
340
-
341
332
  /**
342
333
  * Returns the cell at the given position for the first widget in the collection
343
334
  * @param row {Integer} The row number
344
335
  * @param col {Integer} The column number
345
336
  * @return {qxWeb} The cell found at the given position
346
337
  */
347
- getCell : function(row, col) {
338
+ getCell(row, col) {
348
339
  return qxWeb(this.eq(0).__getRoot().rows.item(row).cells.item(col));
349
340
  },
350
341
 
351
-
352
342
  /**
353
- * Returns a collection containing the rows of the first table in the collection.
354
- * @return {qxWeb} The collection containing the table rows
355
- */
356
- getRows : function() {
343
+ * Returns a collection containing the rows of the first table in the collection.
344
+ * @return {qxWeb} The collection containing the table rows
345
+ */
346
+ getRows() {
357
347
  return qxWeb(this.eq(0).__getRoot().rows);
358
348
  },
359
349
 
360
-
361
350
  /**
362
351
  * Defines the comparison function to use to sort columns of the given type
363
352
  * @param type {String} The type to define the function for
364
353
  * @param compareFunc {Function} The comparison function
365
354
  * @return {qx.ui.website.Table} <code>this</code> reference for chaining.
366
355
  */
367
- setCompareFunction : function(type, compareFunc) {
356
+ setCompareFunction(type, compareFunc) {
368
357
  type = qxWeb.string.firstUp(type);
369
358
  this.setProperty(["_compare" + type], compareFunc);
370
359
  return this;
371
360
  },
372
361
 
373
-
374
362
  /**
375
363
  * Unset the compare function for the given type
376
364
  *
377
365
  * @param type {String} The type to unset the function for
378
366
  * @return {qx.ui.website.Table} <code>this</code> reference for chaining.
379
367
  */
380
- unsetCompareFunction : function(type) {
368
+ unsetCompareFunction(type) {
381
369
  type = qxWeb.string.firstUp(type);
382
370
  var compareFunc = this["_compare" + type] || this._compareString;
383
371
  this.setProperty(["_compare" + type], compareFunc);
384
372
  return this;
385
373
  },
386
374
 
387
-
388
375
  /**
389
376
  * Returns the comparison function for the given type
390
377
  * @param type {String} The type to get the comparison function for
391
378
  * @return {Function} The comparison function
392
379
  */
393
- getCompareFunction : function(type) {
380
+ getCompareFunction(type) {
394
381
  type = qxWeb.string.firstUp(type);
395
382
  return this.getProperty("_compare" + type) || this["_compare" + type];
396
383
  },
397
384
 
398
-
399
385
  /**
400
386
  * Set the function that control the sorting process
401
387
  * @param func {Function} The sorting function
402
388
  * @return {qx.ui.website.Table} <code>this</code> reference for chaining.
403
389
  */
404
- setSortingFunction : function(func) {
405
- func = func || function() {};
390
+ setSortingFunction(func) {
391
+ func = func || function () {};
406
392
  this.__sortingFunction = func;
407
393
 
408
394
  return this;
409
395
  },
410
396
 
411
-
412
397
  /**
413
398
  * Unset the function that control the sorting process
414
399
  * @return {qx.ui.website.Table} <code>this</code> reference for chaining.
415
400
  */
416
- unsetSortingFunction : function() {
401
+ unsetSortingFunction() {
417
402
  this.__sortingFunction = this.__defaultColumnSort;
418
403
 
419
404
  return this;
@@ -424,34 +409,32 @@ qx.Bootstrap.define("qx.ui.website.Table", {
424
409
  * @param func {Function} The filter function
425
410
  * @return {qx.ui.website.Table} <code>this</code> reference for chaining.
426
411
  */
427
- setFilterFunction : function(func) {
412
+ setFilterFunction(func) {
428
413
  this.__filterFunction = func;
429
414
 
430
415
  return this;
431
416
  },
432
417
 
433
-
434
418
  /**
435
419
  * Unset the filter function
436
420
  * @return {qx.ui.website.Table} <code>this</code> reference for chaining.
437
421
  */
438
- unsetFilterFunction : function() {
422
+ unsetFilterFunction() {
439
423
  this.__filterFunction = this.__defaultColumnFilter;
440
424
 
441
425
  return this;
442
426
  },
443
427
 
444
-
445
428
  /**
446
- * Set the filter function to use to filter a specific column
447
- * @param columnName {String} The name of the column
448
- * @param func {Function} The filter
449
- * @return {qx.ui.website.Table} <code>this</code> reference for chaining.
450
- *
451
- */
452
- setColumnFilter : function(columnName, func) {
429
+ * Set the filter function to use to filter a specific column
430
+ * @param columnName {String} The name of the column
431
+ * @param func {Function} The filter
432
+ * @return {qx.ui.website.Table} <code>this</code> reference for chaining.
433
+ *
434
+ */
435
+ setColumnFilter(columnName, func) {
453
436
  this.__checkColumnExistance(columnName);
454
- if(!this.__filterFunc) {
437
+ if (!this.__filterFunc) {
455
438
  this.__filterFunc = {};
456
439
  }
457
440
  this.__filterFunc[columnName] = func;
@@ -459,29 +442,27 @@ qx.Bootstrap.define("qx.ui.website.Table", {
459
442
  return this;
460
443
  },
461
444
 
462
-
463
445
  /**
464
- * Returns the filter function set on a specific column
465
- *
466
- * @param columnName {String} The name of the column
467
- * @return {Function} The filter function
468
- *
469
- */
470
- getColumnFilter : function(columnName) {
471
- if(this.__filterFunc){
446
+ * Returns the filter function set on a specific column
447
+ *
448
+ * @param columnName {String} The name of the column
449
+ * @return {Function} The filter function
450
+ *
451
+ */
452
+ getColumnFilter(columnName) {
453
+ if (this.__filterFunc) {
472
454
  return this.__filterFunc[columnName];
473
455
  }
474
456
  return null;
475
457
  },
476
458
 
477
-
478
459
  /**
479
- * Set the filter function to use to filter the table rows
480
- * @param func {Function} The filter
481
- * @return {qx.ui.website.Table} <code>this</code> reference for chaining.
482
- */
483
- setRowFilter : function(func) {
484
- if(!this.__filterFunc) {
460
+ * Set the filter function to use to filter the table rows
461
+ * @param func {Function} The filter
462
+ * @return {qx.ui.website.Table} <code>this</code> reference for chaining.
463
+ */
464
+ setRowFilter(func) {
465
+ if (!this.__filterFunc) {
485
466
  this.__filterFunc = {};
486
467
  }
487
468
  this.__filterFunc.row = func;
@@ -489,45 +470,42 @@ qx.Bootstrap.define("qx.ui.website.Table", {
489
470
  return this;
490
471
  },
491
472
 
492
-
493
473
  /**
494
- * Returns the filter function set on a specific column
495
- * @return {Function} The filter function
496
- *
497
- */
498
- getRowFilter : function() {
499
- if(this.__filterFunc) {
474
+ * Returns the filter function set on a specific column
475
+ * @return {Function} The filter function
476
+ *
477
+ */
478
+ getRowFilter() {
479
+ if (this.__filterFunc) {
500
480
  return this.__filterFunc.row;
501
481
  }
502
482
  return null;
503
483
  },
504
484
 
505
-
506
485
  /**
507
486
  * Sort the column with the given name according to the specified direction
508
487
  * @param columnName {String} The name of the column to sort
509
488
  * @param dir {String} The sorting direction (asc or desc)
510
489
  * @return {qx.ui.website.Table} <code>this</code> reference for chaining.
511
490
  */
512
- sort : function(columnName, dir) {
491
+ sort(columnName, dir) {
513
492
  this.__checkColumnExistance(columnName);
514
493
 
515
494
  this.setSortingClass(columnName, dir);
516
495
  this.__sortDOM(this.__sort(columnName, dir));
517
496
 
518
- this.emit("sort", {columName : columnName, direction : dir});
497
+ this.emit("sort", { columName: columnName, direction: dir });
519
498
 
520
499
  return this;
521
500
  },
522
501
 
523
-
524
502
  /**
525
- * Filters rows or columns according to the given parameters
526
- * @param keyword {String} The keyword to use to filter
527
- * @param columnName {String ?} The column name
528
- * @return {qx.ui.website.Table} <code>this</code> reference for chaining.
529
- */
530
- filter : function(keyword, columnName) {
503
+ * Filters rows or columns according to the given parameters
504
+ * @param keyword {String} The keyword to use to filter
505
+ * @param columnName {String ?} The column name
506
+ * @return {qx.ui.website.Table} <code>this</code> reference for chaining.
507
+ */
508
+ filter(keyword, columnName) {
531
509
  if (columnName) {
532
510
  this.__checkColumnExistance(columnName);
533
511
  if (keyword == "") {
@@ -545,24 +523,25 @@ qx.Bootstrap.define("qx.ui.website.Table", {
545
523
  this.__filters[columnName].keyword = keyword;
546
524
  this.__getRoot().appendChild(this.__filters[columnName].rows);
547
525
  } else {
548
- this.__filters[columnName] = { keyword : keyword, rows : document.createDocumentFragment() };
526
+ this.__filters[columnName] = {
527
+ keyword: keyword,
528
+ rows: document.createDocumentFragment()
529
+ };
549
530
  }
550
531
 
551
532
  this.__filterDom(keyword, columnName);
552
533
 
553
- this.emit("filter", {columName : columnName, keyword : keyword});
534
+ this.emit("filter", { columName: columnName, keyword: keyword });
554
535
 
555
536
  return this;
556
537
  },
557
538
 
558
-
559
539
  /**
560
- * Resets the filter applied on a specific column
561
- * @param columnName {String ?} The column name
562
- * @return {qx.ui.website.Table} <code>this</code> reference for chaining.
563
- */
564
- resetFilter : function(columnName) {
565
-
540
+ * Resets the filter applied on a specific column
541
+ * @param columnName {String ?} The column name
542
+ * @return {qx.ui.website.Table} <code>this</code> reference for chaining.
543
+ */
544
+ resetFilter(columnName) {
566
545
  var filters = null;
567
546
  filters = this.__filters;
568
547
  if (filters) {
@@ -578,42 +557,39 @@ qx.Bootstrap.define("qx.ui.website.Table", {
578
557
  return this;
579
558
  },
580
559
 
581
-
582
560
  /**
583
- * Removes the rows of in the table body
584
- * @param tableData {String|qxWeb} Html string or collection containing the rows to be added
585
- * @return {qx.ui.website.Table} <code>this</code> reference for chaining.
586
- */
587
- setContent : function(tableData) {
561
+ * Removes the rows of in the table body
562
+ * @param tableData {String|qxWeb} Html string or collection containing the rows to be added
563
+ * @return {qx.ui.website.Table} <code>this</code> reference for chaining.
564
+ */
565
+ setContent(tableData) {
588
566
  var rows = this.__extractTableRows(tableData);
589
- var tbody = this.find('tbody');
567
+ var tbody = this.find("tbody");
590
568
  tbody.empty();
591
569
  rows.appendTo(tbody);
592
570
  this.render();
593
571
  return this;
594
572
  },
595
573
 
596
-
597
574
  /**
598
- * Appends new rows to the table
599
- * @param tableData {String|qxWeb} Html string or collection containing the rows to be appended
600
- * @return {qx.ui.website.Table} <code>this</code> reference for chaining.
601
- */
602
- appendContent : function(tableData) {
575
+ * Appends new rows to the table
576
+ * @param tableData {String|qxWeb} Html string or collection containing the rows to be appended
577
+ * @return {qx.ui.website.Table} <code>this</code> reference for chaining.
578
+ */
579
+ appendContent(tableData) {
603
580
  var rows = this.__extractTableRows(tableData);
604
- var tbody = this.find('tbody');
581
+ var tbody = this.find("tbody");
605
582
  rows.appendTo(tbody);
606
583
  this.render();
607
584
  return this;
608
585
  },
609
586
 
610
-
611
587
  /**
612
- * Extracts table rows from a given HTML String or qxWeb collection
613
- * @param data {qxWeb|String} Data containing the rows to be extracted
614
- * @return {qxWeb} Collection containing extracted rows
615
- */
616
- __extractTableRows : function(data) {
588
+ * Extracts table rows from a given HTML String or qxWeb collection
589
+ * @param data {qxWeb|String} Data containing the rows to be extracted
590
+ * @return {qxWeb} Collection containing extracted rows
591
+ */
592
+ __extractTableRows(data) {
617
593
  var rows = qxWeb();
618
594
  if (typeof data == "string") {
619
595
  var markup = data;
@@ -622,7 +598,7 @@ qx.Bootstrap.define("qx.ui.website.Table", {
622
598
  data = qxWeb.create("<table>" + markup + "</table>");
623
599
  }
624
600
  rows = data.find("tbody tr");
625
- } else if (qxWeb.isNode(data) || (data instanceof qxWeb)) {
601
+ } else if (qxWeb.isNode(data) || data instanceof qxWeb) {
626
602
  data = qxWeb(data);
627
603
  var nodeName = qxWeb.getNodeName(data);
628
604
  switch (nodeName) {
@@ -640,85 +616,82 @@ qx.Bootstrap.define("qx.ui.website.Table", {
640
616
  return rows;
641
617
  },
642
618
 
643
-
644
619
  /**
645
- * Filters the rendered table cells
646
- * @param keyword {String} The keyword to use to filter
647
- * @param columnName {String ?} The column name
648
- * @return {qx.ui.website.Table} <code>this</code> reference for chaining.
649
- */
650
- __filterDom : function(keyword, columnName) {
651
-
620
+ * Filters the rendered table cells
621
+ * @param keyword {String} The keyword to use to filter
622
+ * @param columnName {String ?} The column name
623
+ * @return {qx.ui.website.Table} <code>this</code> reference for chaining.
624
+ */
625
+ __filterDom(keyword, columnName) {
652
626
  var colIndex = this.__getColumnIndex(columnName);
653
- var filterFunc = columnName == qx.ui.website.Table.__allColumnSelector ? this.getRowFilter() : this.getColumnFilter(columnName);
627
+ var filterFunc =
628
+ columnName == qx.ui.website.Table.__allColumnSelector
629
+ ? this.getRowFilter()
630
+ : this.getColumnFilter(columnName);
654
631
  filterFunc = filterFunc || this.__defaultColumnFilter;
655
632
 
656
- var rows = this.__getDataRows(), data = {};
633
+ var rows = this.__getDataRows(),
634
+ data = {};
657
635
 
658
636
  for (var i = 0; i < rows.length; i++) {
659
-
660
637
  data = {
661
- columnName : columnName,
662
- columnIndex : colIndex,
663
- cell : colIndex > -1 ? qxWeb(rows[i].cells.item(colIndex)) : null,
664
- row : qxWeb(rows[i]),
665
- keyword : keyword
638
+ columnName: columnName,
639
+ columnIndex: colIndex,
640
+ cell: colIndex > -1 ? qxWeb(rows[i].cells.item(colIndex)) : null,
641
+ row: qxWeb(rows[i]),
642
+ keyword: keyword
666
643
  };
667
644
 
668
645
  if (!filterFunc.bind(this)(data)) {
669
646
  this.__filters[columnName].rows.appendChild(rows[i]);
670
647
  }
671
-
672
648
  }
673
649
 
674
650
  return this;
675
651
  },
676
652
 
677
-
678
653
  /**
679
654
  * Get the current column sorting information for the first widget in the collection
680
655
  * @return {Map} The map containing the current sorting information
681
656
  */
682
- getSortingData : function() {
657
+ getSortingData() {
683
658
  return this.__sortingData;
684
659
  },
685
660
 
686
-
687
661
  //overridden
688
- render : function() {
662
+ render() {
689
663
  var sortingData = this.getSortingData();
690
664
  var rowSelection = this.getConfig("rowSelection");
691
665
 
692
666
  this.__applyTemplate(this.__model);
693
667
 
694
668
  if (qx.ui.website.Table.__selectionTypes.indexOf(rowSelection) != -1) {
695
-
696
669
  this.__processSelectionInputs(rowSelection);
697
670
  }
698
671
 
699
672
  if (sortingData) {
700
- this.__sortDOM(this.__sort(sortingData.columnName, sortingData.direction));
673
+ this.__sortDOM(
674
+ this.__sort(sortingData.columnName, sortingData.direction)
675
+ );
701
676
  }
702
677
 
703
678
  return this;
704
-
705
679
  },
706
680
 
707
-
708
681
  //Private API
709
682
 
710
683
  /**
711
- * Renders or removes the selection inputs according to the specified widget selection mode
712
- * @param rowSelection {String} The selection mode
713
- * @return {qx.ui.website.Table} <code>this</code> reference for chaining.
714
- */
715
- __processSelectionInputs : function(rowSelection) {
684
+ * Renders or removes the selection inputs according to the specified widget selection mode
685
+ * @param rowSelection {String} The selection mode
686
+ * @return {qx.ui.website.Table} <code>this</code> reference for chaining.
687
+ */
688
+ __processSelectionInputs(rowSelection) {
716
689
  switch (rowSelection) {
717
-
718
690
  case "none":
719
691
  qxWeb("." + qx.ui.website.Table.__internalSelectionClass).remove();
720
692
  break;
721
- case "multiple": case "single":
693
+ case "multiple":
694
+ case "single":
722
695
  this.__createInputs("checkbox");
723
696
  break;
724
697
 
@@ -726,17 +699,16 @@ qx.Bootstrap.define("qx.ui.website.Table", {
726
699
  this.__createInputs("radio");
727
700
  break;
728
701
  }
729
- return this;
730
702
 
703
+ return this;
731
704
  },
732
705
 
733
-
734
706
  /**
735
707
  * Creates input nodes for the row selection
736
708
  * @param type {String} The type of the inputs to creates
737
709
  * @return {qx.ui.website.Table} <code>this</code> reference for chaining.
738
710
  */
739
- __createInputs : function(type) {
711
+ __createInputs(type) {
740
712
  this.__createInput(this.__getHeaderRow(), type);
741
713
  var rows = this.find("tbody")[0].getElementsByTagName("tr");
742
714
  for (var i = 0; i < rows.length; i++) {
@@ -745,15 +717,13 @@ qx.Bootstrap.define("qx.ui.website.Table", {
745
717
  return this;
746
718
  },
747
719
 
748
-
749
720
  /**
750
- * Creates an input an input node for a specific row
751
- * @param row {HTMLTableRowElement} The row to create the input for
752
- * @param type {String} The type of the input tom create (radio or checkbox)
753
- * @param nodeName {String} The nodename of the table cell that will contain the input
754
- */
755
- __createInput : function(row, type, nodeName) {
756
-
721
+ * Creates an input an input node for a specific row
722
+ * @param row {HTMLTableRowElement} The row to create the input for
723
+ * @param type {String} The type of the input tom create (radio or checkbox)
724
+ * @param nodeName {String} The nodename of the table cell that will contain the input
725
+ */
726
+ __createInput(row, type, nodeName) {
757
727
  var cssPrefix = this.getCssPrefix();
758
728
 
759
729
  var clazz = qx.ui.website.Table;
@@ -761,8 +731,11 @@ qx.Bootstrap.define("qx.ui.website.Table", {
761
731
  var selectionMode = this.getConfig("rowSelection");
762
732
 
763
733
  var checked = "";
764
- if(headerInput.length > 0) {
765
- checked = (selectionMode == "multiple") && headerInput[0].checked ? "checked" : "";
734
+ if (headerInput.length > 0) {
735
+ checked =
736
+ selectionMode == "multiple" && headerInput[0].checked
737
+ ? "checked"
738
+ : "";
766
739
  }
767
740
 
768
741
  if (typeof nodeName == "undefined") {
@@ -770,55 +743,81 @@ qx.Bootstrap.define("qx.ui.website.Table", {
770
743
  }
771
744
 
772
745
  var inputName = this.__inputName;
773
- var className = (nodeName == "th") ? clazz.__internalSelectionClass + " " + clazz.__internalHeaderClass : clazz.__internalSelectionClass;
746
+ var className =
747
+ nodeName == "th"
748
+ ? clazz.__internalSelectionClass + " " + clazz.__internalHeaderClass
749
+ : clazz.__internalSelectionClass;
774
750
 
775
- var currentInput = qxWeb(row).find("."+clazz.__internalSelectionClass);
751
+ var currentInput = qxWeb(row).find("." + clazz.__internalSelectionClass);
776
752
 
777
- if(currentInput.length > 0) {
778
- if(currentInput[0].type != type) {
753
+ if (currentInput.length > 0) {
754
+ if (currentInput[0].type != type) {
779
755
  currentInput[0].type = type;
780
756
  }
781
757
  } else {
782
-
783
758
  var id = qx.ui.website.Table.__getUID();
784
- var inputNode = qxWeb.create("<" + nodeName + " class='" + className + "'><input id='"+id+"' name='" + inputName + "' "+checked+" class='"+cssPrefix+"-"+type+" "+ clazz.__internalInputClass + "' type='" + type + "' /><label class='"+clazz.__inputLabelClass+"' for='"+id+"'></label></" + nodeName + ">");
759
+ var inputNode = qxWeb.create(
760
+ "<" +
761
+ nodeName +
762
+ " class='" +
763
+ className +
764
+ "'><input id='" +
765
+ id +
766
+ "' name='" +
767
+ inputName +
768
+ "' " +
769
+ checked +
770
+ " class='" +
771
+ cssPrefix +
772
+ "-" +
773
+ type +
774
+ " " +
775
+ clazz.__internalInputClass +
776
+ "' type='" +
777
+ type +
778
+ "' /><label class='" +
779
+ clazz.__inputLabelClass +
780
+ "' for='" +
781
+ id +
782
+ "'></label></" +
783
+ nodeName +
784
+ ">"
785
+ );
786
+
785
787
  if (row.cells.item(0)) {
786
788
  inputNode.insertBefore(qxWeb(row.cells.item(0)));
787
789
  } else {
788
790
  inputNode.appendTo(qxWeb(row));
789
791
  }
790
792
  }
791
-
792
793
  },
793
794
 
794
-
795
795
  /**
796
- * Checks if a column with the specified name exists
797
- * @param columnName {String} The name of the column to check
798
- */
799
- __checkColumnExistance : function(columnName) {
796
+ * Checks if a column with the specified name exists
797
+ * @param columnName {String} The name of the column to check
798
+ */
799
+ __checkColumnExistance(columnName) {
800
800
  var data = this.__columnMeta;
801
801
  if (data && !data[columnName]) {
802
802
  throw new Error("Column " + columnName + " does not exists !");
803
803
  }
804
804
  },
805
805
 
806
-
807
806
  /**
808
- * Returns the row containing the cells with the column names
809
- * @return {HTMLTableRowElement} The row with meta information
810
- */
811
- __getHeaderRow : function() {
807
+ * Returns the row containing the cells with the column names
808
+ * @return {HTMLTableRowElement} The row with meta information
809
+ */
810
+ __getHeaderRow() {
812
811
  var tHeadOrFoot = this[0].tHead;
813
812
  if (!tHeadOrFoot) {
814
813
  throw new Error("A Table header element is required for this widget.");
815
814
  }
816
815
  var rows = tHeadOrFoot.rows;
817
- if(rows.length == 1) {
816
+ if (rows.length == 1) {
818
817
  return rows.item(0);
819
818
  } else {
820
819
  rows = qxWeb(".qx-table-header-row");
821
- if(rows.length > 0) {
820
+ if (rows.length > 0) {
822
821
  return rows[0];
823
822
  }
824
823
  }
@@ -826,35 +825,36 @@ qx.Bootstrap.define("qx.ui.website.Table", {
826
825
  return null;
827
826
  },
828
827
 
829
-
830
828
  /**
831
829
  * Initializes columns metadata
832
830
  * @param model {Array} The widget's model
833
- * @return {qx.ui.website.Table} <code>this</code> reference for chaining.
831
+ * @return {qx.ui.website.Table} <code>this</code> reference for chaining.
834
832
  */
835
- __getColumnMetaData : function(model) {
836
-
833
+ __getColumnMetaData(model) {
837
834
  this.__addClassToHeaderAndFooter(this[0].tHead);
838
835
  this.__addClassToHeaderAndFooter(this[0].tFoot);
839
836
 
840
- var data = {}, cells = null, colName = null, cell = null;
837
+ var data = {},
838
+ cells = null,
839
+ colName = null,
840
+ cell = null;
841
841
  var headerRow = this.__getHeaderRow();
842
842
 
843
843
  cells = headerRow.cells;
844
844
 
845
845
  for (var i = 0, l = cells.length; i < l; i++) {
846
-
847
846
  cell = qxWeb(cells.item(i));
848
- colName = this.__getColumName(cell[0]) || qx.ui.website.Table.__getUID();
849
- if(!cell[0].getAttribute(qx.ui.website.Table.__dataColName)){
847
+ colName =
848
+ this.__getColumName(cell[0]) || qx.ui.website.Table.__getUID();
849
+ if (!cell[0].getAttribute(qx.ui.website.Table.__dataColName)) {
850
850
  cell.setAttribute(qx.ui.website.Table.__dataColName, colName);
851
851
  }
852
852
 
853
853
  data[colName] = {
854
- type: cell[0].getAttribute(qx.ui.website.Table.__dataColType) || "String",
854
+ type:
855
+ cell[0].getAttribute(qx.ui.website.Table.__dataColType) || "String",
855
856
  name: colName
856
857
  };
857
-
858
858
  }
859
859
 
860
860
  this.__columnMeta = data;
@@ -862,31 +862,35 @@ qx.Bootstrap.define("qx.ui.website.Table", {
862
862
  return this;
863
863
  },
864
864
 
865
-
866
865
  /**
867
866
  * Adds the internal css class to the header and footer cells
868
867
  * @param footOrHead {HTMLElement} Html element representing the header or footer of the table
869
- * @return {qx.ui.website.Table} <code>this</code> reference for chaining.
868
+ * @return {qx.ui.website.Table} <code>this</code> reference for chaining.
870
869
  */
871
- __addClassToHeaderAndFooter : function(footOrHead) {
870
+ __addClassToHeaderAndFooter(footOrHead) {
872
871
  if (footOrHead && footOrHead.rows.length > 0) {
873
872
  if (footOrHead.rows.item(0).cells.length > 0) {
874
873
  var row = this.__getHeaderRow();
875
- if (!qxWeb(row.cells.item(0)).hasClass(qx.ui.website.Table.__internalHeaderClass)) {
876
- qxWeb(row.cells).addClass(qx.ui.website.Table.__internalHeaderClass);
874
+ if (
875
+ !qxWeb(row.cells.item(0)).hasClass(
876
+ qx.ui.website.Table.__internalHeaderClass
877
+ )
878
+ ) {
879
+ qxWeb(row.cells).addClass(
880
+ qx.ui.website.Table.__internalHeaderClass
881
+ );
877
882
  }
878
883
  }
879
884
  }
880
885
  return this;
881
886
  },
882
887
 
883
-
884
888
  /**
885
889
  * Sorts the rows of the table widget
886
890
  * @param dataRows {Array} Array containing the sorted rows
887
891
  * @return {qx.ui.website.Table} <code>this</code> reference for chaining.
888
892
  */
889
- __sortDOM : function(dataRows) {
893
+ __sortDOM(dataRows) {
890
894
  for (var i = 0, l = dataRows.length; i < l; i++) {
891
895
  if (i) {
892
896
  qxWeb(dataRows[i]).insertAfter(dataRows[i - 1]);
@@ -898,20 +902,25 @@ qx.Bootstrap.define("qx.ui.website.Table", {
898
902
  return this;
899
903
  },
900
904
 
901
-
902
905
  /**
903
906
  * registers global events
904
907
  * @return {qx.ui.website.Table} <code>this</code> reference for chaining.
905
908
  */
906
- __registerEvents : function() {
907
-
909
+ __registerEvents() {
908
910
  this.on("tap", this.__detectClickedCell);
909
911
 
910
- this.on("cellClick", function(data) {
911
- if(data.cell && data.cell.hasClass(qx.ui.website.Table.__internalHeaderClass)){
912
- this.__sortingFunction.bind(this)(data);
913
- }
914
- }, this);
912
+ this.on(
913
+ "cellClick",
914
+ function (data) {
915
+ if (
916
+ data.cell &&
917
+ data.cell.hasClass(qx.ui.website.Table.__internalHeaderClass)
918
+ ) {
919
+ this.__sortingFunction.bind(this)(data);
920
+ }
921
+ },
922
+ this
923
+ );
915
924
 
916
925
  this.on("pointerover", this.__cellHover, this);
917
926
  this.on("pointerout", this.__cellOut, this);
@@ -919,23 +928,22 @@ qx.Bootstrap.define("qx.ui.website.Table", {
919
928
  return this;
920
929
  },
921
930
 
922
-
923
931
  /**
924
- * Checks if the selection inputs are already rendered
925
- * @return {Boolean} True if the inputs are rendered and false otherwise
926
- */
927
- __selectionRendered : function() {
928
- return qxWeb("." + qx.ui.website.Table.__internalSelectionClass).length > 0;
932
+ * Checks if the selection inputs are already rendered
933
+ * @return {Boolean} True if the inputs are rendered and false otherwise
934
+ */
935
+ __selectionRendered() {
936
+ return (
937
+ qxWeb("." + qx.ui.website.Table.__internalSelectionClass).length > 0
938
+ );
929
939
  },
930
940
 
931
-
932
941
  /**
933
- * Handles clicks that happen on the selection inputs
934
- * @param cell {qxWeb} The table cell containing the clicked input
935
- * @return {qx.ui.website.Table} <code>this</code> reference for chaining.
936
- */
937
- __processSelection : function(cell) {
938
-
942
+ * Handles clicks that happen on the selection inputs
943
+ * @param cell {qxWeb} The table cell containing the clicked input
944
+ * @return {qx.ui.website.Table} <code>this</code> reference for chaining.
945
+ */
946
+ __processSelection(cell) {
939
947
  var clazz = qx.ui.website.Table;
940
948
  var inputs = qxWeb("." + clazz.__internalInputClass);
941
949
  var clickedInput = cell.find("input");
@@ -944,14 +952,13 @@ qx.Bootstrap.define("qx.ui.website.Table", {
944
952
  var selection = [];
945
953
 
946
954
  if (selectionMode == "multiple") {
947
-
948
955
  if (cell.hasClass(clazz.__internalHeaderClass)) {
949
956
  inputs.setAttribute("checked", clickedInput[0].checked);
950
957
  }
951
958
 
952
959
  var checked = true;
953
960
  for (var i = 0; i < inputs.length; i++) {
954
- if ((inputs[i] != headerInput[0]) && (!inputs[i].checked)) {
961
+ if (inputs[i] != headerInput[0] && !inputs[i].checked) {
955
962
  checked = false;
956
963
  break;
957
964
  }
@@ -964,7 +971,7 @@ qx.Bootstrap.define("qx.ui.website.Table", {
964
971
  qxWeb.array.remove(inputs, headerInput[0]);
965
972
  selection = inputs;
966
973
  } else {
967
- selection = inputs.filter(function(input) {
974
+ selection = inputs.filter(function (input) {
968
975
  return input.checked;
969
976
  });
970
977
  }
@@ -974,64 +981,73 @@ qx.Bootstrap.define("qx.ui.website.Table", {
974
981
  }
975
982
  }
976
983
 
977
- var selectedRows = selection.map(function(elem) {
984
+ var selectedRows = selection.map(function (elem) {
978
985
  return elem.parentNode.parentNode;
979
986
  });
980
987
 
981
988
  selectedRows = qxWeb(selectedRows);
982
- qxWeb("."+clazz.__selectedRowClass).removeClass(clazz.__selectedRowClass);
989
+ qxWeb("." + clazz.__selectedRowClass).removeClass(
990
+ clazz.__selectedRowClass
991
+ );
992
+
983
993
  selectedRows.addClass(clazz.__selectedRowClass);
984
994
 
985
- this.emit("selectionChange", {rows : qxWeb(selectedRows)});
995
+ this.emit("selectionChange", { rows: qxWeb(selectedRows) });
986
996
 
987
997
  return this;
988
998
  },
989
999
 
990
-
991
1000
  /**
992
- * Fires a custom table events
993
- * @param eventType {String} The event type
994
- * @param cell {HTMLTableCellElement} The event target
995
- * @param target {HTMLElement} The native event target
996
- * @return {Map} Map containing the event data
997
- */
998
- __fireEvent : function(eventType, cell, target) {
999
- var row = cell[0].parentNode, cells = row.cells;
1001
+ * Fires a custom table events
1002
+ * @param eventType {String} The event type
1003
+ * @param cell {HTMLTableCellElement} The event target
1004
+ * @param target {HTMLElement} The native event target
1005
+ * @return {Map} Map containing the event data
1006
+ */
1007
+ __fireEvent(eventType, cell, target) {
1008
+ var row = cell[0].parentNode,
1009
+ cells = row.cells;
1000
1010
  var colNumber = qx.ui.website.Table.__getIndex(cells, cell[0]);
1001
1011
  var tHead = this.__getHeaderRow();
1002
1012
  var headCell = tHead.cells.item(colNumber);
1003
1013
  var colName = this.__getColumName(headCell);
1004
- var columnIndex = this.getConfig("rowSelection") != "none" ? this.__getColumnIndex(colName) -1 : this.__getColumnIndex(colName);
1014
+ var columnIndex =
1015
+ this.getConfig("rowSelection") != "none"
1016
+ ? this.__getColumnIndex(colName) - 1
1017
+ : this.__getColumnIndex(colName);
1005
1018
 
1006
1019
  var data = {
1007
- cell : qxWeb(cell),
1008
- row : qxWeb(row),
1009
- target : target,
1010
- columnIndex : columnIndex,
1011
- columnName : colName
1020
+ cell: qxWeb(cell),
1021
+ row: qxWeb(row),
1022
+ target: target,
1023
+ columnIndex: columnIndex,
1024
+ columnName: colName
1012
1025
  };
1013
1026
 
1014
1027
  this.emit(eventType, data);
1015
1028
 
1016
1029
  return data;
1017
-
1018
1030
  },
1019
1031
 
1020
-
1021
1032
  /**
1022
1033
  * Click callback
1023
1034
  *
1024
1035
  * @param e {Event} The native click event.
1025
1036
  * @return {qx.ui.website.Table} <code>this</code> reference for chaining.
1026
1037
  */
1027
- __detectClickedCell : function(e) {
1028
-
1038
+ __detectClickedCell(e) {
1029
1039
  var target = e.getTarget();
1030
1040
 
1031
1041
  var cell = qxWeb(target);
1032
1042
  var clazz = qx.ui.website.Table;
1033
1043
 
1034
- while (!(cell.hasClass(clazz.__internalCellClass) || cell.hasClass(clazz.__internalHeaderClass) || cell.hasClass(clazz.__internalSelectionClass))) {
1044
+ while (
1045
+ !(
1046
+ cell.hasClass(clazz.__internalCellClass) ||
1047
+ cell.hasClass(clazz.__internalHeaderClass) ||
1048
+ cell.hasClass(clazz.__internalSelectionClass)
1049
+ )
1050
+ ) {
1035
1051
  if (cell.hasClass(this.classname)) {
1036
1052
  cell = null;
1037
1053
  break;
@@ -1040,13 +1056,13 @@ qx.Bootstrap.define("qx.ui.website.Table", {
1040
1056
  }
1041
1057
 
1042
1058
  if (cell.hasClass(clazz.__internalSelectionClass)) {
1043
-
1044
- window.setTimeout(function(){
1045
- this.__processSelection(cell);
1046
- }.bind(this), 5);
1047
-
1048
- }else{
1049
-
1059
+ window.setTimeout(
1060
+ function () {
1061
+ this.__processSelection(cell);
1062
+ }.bind(this),
1063
+ 5
1064
+ );
1065
+ } else {
1050
1066
  if (cell && cell.length > 0) {
1051
1067
  this.__fireEvent("cellClick", cell, target);
1052
1068
  }
@@ -1055,93 +1071,92 @@ qx.Bootstrap.define("qx.ui.website.Table", {
1055
1071
  return this;
1056
1072
  },
1057
1073
 
1058
-
1059
1074
  /**
1060
- * Pointerover callback
1061
- *
1062
- * @param e {Event} The native over event.
1063
- */
1064
- __cellHover : function(e) {
1065
-
1075
+ * Pointerover callback
1076
+ *
1077
+ * @param e {Event} The native over event.
1078
+ */
1079
+ __cellHover(e) {
1066
1080
  var target = e.getTarget();
1067
1081
  var cell = qxWeb(target);
1068
1082
  var hovered = this.__hovered;
1069
1083
 
1070
- if(!cell.hasClass("qx-table-cell") && !cell.hasClass("qx-table-header")) {
1084
+ if (
1085
+ !cell.hasClass("qx-table-cell") &&
1086
+ !cell.hasClass("qx-table-header")
1087
+ ) {
1071
1088
  cell = cell.getClosest(".qx-table-cell, .qx-table-header");
1072
1089
  }
1073
1090
 
1074
- if(cell && (cell.length > 0) && ((hovered && (hovered.cell[0] != cell[0])) || (!hovered)) && !cell.hasClass("qx-table-row-selection")) {
1075
-
1076
- if(hovered) {
1091
+ if (
1092
+ cell &&
1093
+ cell.length > 0 &&
1094
+ ((hovered && hovered.cell[0] != cell[0]) || !hovered) &&
1095
+ !cell.hasClass("qx-table-row-selection")
1096
+ ) {
1097
+ if (hovered) {
1077
1098
  this.emit("cellOut", hovered);
1078
1099
  }
1079
1100
 
1080
1101
  this.__hovered = this.__fireEvent("cellHover", cell, target);
1081
1102
  }
1082
-
1083
1103
  },
1084
1104
 
1085
-
1086
1105
  /**
1087
- * pointerout callback
1088
- *
1089
- * @param e {Event} The native over event.
1090
- */
1091
- __cellOut : function(e) {
1092
-
1106
+ * pointerout callback
1107
+ *
1108
+ * @param e {Event} The native over event.
1109
+ */
1110
+ __cellOut(e) {
1093
1111
  var relatedTarget = e.getRelatedTarget();
1094
1112
  var cell = qxWeb(relatedTarget);
1095
1113
 
1096
- if(this.__hovered) {
1097
-
1098
- if(!cell.isChildOf(this)) {
1099
-
1114
+ if (this.__hovered) {
1115
+ if (!cell.isChildOf(this)) {
1100
1116
  this.emit("cellOut", this.__hovered);
1101
1117
  this.__hovered = null;
1102
-
1103
- }else {
1104
-
1105
- if(!cell.hasClass("qx-table-cell") && !cell.hasClass("qx-table-header")) {
1118
+ } else {
1119
+ if (
1120
+ !cell.hasClass("qx-table-cell") &&
1121
+ !cell.hasClass("qx-table-header")
1122
+ ) {
1106
1123
  cell = cell.getClosest(".qx-table-cell, .qx-table-header");
1107
- if(cell.hasClass("qx-table-row-selection")) {
1124
+ if (cell.hasClass("qx-table-row-selection")) {
1108
1125
  this.emit("cellOut", this.__hovered);
1109
1126
  this.__hovered = null;
1110
1127
  }
1111
1128
  }
1112
-
1113
1129
  }
1114
1130
  }
1115
-
1116
1131
  },
1117
1132
 
1118
-
1119
1133
  /**
1120
1134
  * Applies the given model to the table cells depending on
1121
1135
  * the mustache template specified before
1122
1136
  * @param model {Array} The model to apply
1123
1137
  * @return {qx.ui.website.Table} <code>this</code> reference for chaining.
1124
1138
  */
1125
- __applyTemplate : function(model) {
1126
-
1127
- if(model && model.length > 0) {
1139
+ __applyTemplate(model) {
1140
+ if (model && model.length > 0) {
1128
1141
  var cell, row;
1129
1142
  var tHead = this.__getHeaderRow();
1130
- var createdRow = null, colMeta = null;
1143
+ var createdRow = null,
1144
+ colMeta = null;
1131
1145
  var renderedRow = null;
1132
1146
 
1133
- var inputType = (this.getConfig("rowSelection") == "single") ? "radio" : "checkbox";
1147
+ var inputType =
1148
+ this.getConfig("rowSelection") == "single" ? "radio" : "checkbox";
1134
1149
 
1135
1150
  if (this.__getRoot().rows.length > model.length) {
1136
1151
  this.__deleteRows(model.length);
1137
1152
  }
1138
1153
 
1139
- var renderedColIndex = 0, templateApplied = false;
1154
+ var renderedColIndex = 0,
1155
+ templateApplied = false;
1140
1156
  var coltemplate = this.getTemplate("columnDefault");
1141
1157
  var colName = null;
1142
1158
 
1143
1159
  for (var i = 0, rowCount = model.length; i < rowCount; i++) {
1144
-
1145
1160
  row = model[i];
1146
1161
 
1147
1162
  if (!this.__isRowRendered(i)) {
@@ -1152,30 +1167,38 @@ qx.Bootstrap.define("qx.ui.website.Table", {
1152
1167
  }
1153
1168
 
1154
1169
  for (var j = 0, colCount = row.length; j < colCount; j++) {
1155
-
1156
1170
  renderedColIndex = this.__selectionRendered() ? j + 1 : j;
1157
1171
  colName = this.__getColumName(tHead.cells.item(renderedColIndex));
1158
1172
  colMeta = this.__getDataForColumn(colName);
1159
1173
  coltemplate = this.getTemplate(colName) || coltemplate;
1160
1174
  renderedRow = this.__getRoot().rows.item(i);
1161
- cell = qxWeb.create(qxWeb.template.render(coltemplate, model[i][j]))[0];
1175
+ cell = qxWeb.create(
1176
+ qxWeb.template.render(coltemplate, model[i][j])
1177
+ )[0];
1162
1178
 
1163
- if(cell.nodeName.toUpperCase() != "TD") {
1179
+ if (cell.nodeName.toUpperCase() != "TD") {
1164
1180
  break;
1165
1181
  }
1166
1182
 
1167
1183
  if (!this.__isCellRendered(i, renderedColIndex)) {
1168
1184
  renderedRow.appendChild(cell);
1169
- }else {
1170
- renderedRow.replaceChild(cell, this.getCell(i, renderedColIndex)[0]);
1185
+ } else {
1186
+ renderedRow.replaceChild(
1187
+ cell,
1188
+ this.getCell(i, renderedColIndex)[0]
1189
+ );
1171
1190
  }
1172
- this.emit("cellRender", {cell : cell, row : i, col : j, value : model[i][j]});
1191
+ this.emit("cellRender", {
1192
+ cell: cell,
1193
+ row: i,
1194
+ col: j,
1195
+ value: model[i][j]
1196
+ });
1173
1197
  }
1174
1198
 
1175
- if(i == rowCount-1) {
1199
+ if (i == rowCount - 1) {
1176
1200
  templateApplied = true;
1177
1201
  }
1178
-
1179
1202
  }
1180
1203
 
1181
1204
  if (templateApplied) {
@@ -1186,60 +1209,55 @@ qx.Bootstrap.define("qx.ui.website.Table", {
1186
1209
  return this;
1187
1210
  },
1188
1211
 
1189
-
1190
1212
  /**
1191
- * Removes row from the DOM starting from the specified index
1192
- * @param rowCount {Integer} The number of rows the kept
1193
- * @return {qx.ui.website.Table} <code>this</code> reference for chaining.
1194
- */
1195
- __deleteRows : function(rowCount) {
1213
+ * Removes row from the DOM starting from the specified index
1214
+ * @param rowCount {Integer} The number of rows the kept
1215
+ * @return {qx.ui.website.Table} <code>this</code> reference for chaining.
1216
+ */
1217
+ __deleteRows(rowCount) {
1196
1218
  var renderedRows = this.__getRoot().rows;
1197
- while(renderedRows.length > rowCount){
1219
+ while (renderedRows.length > rowCount) {
1198
1220
  this[0].deleteRow(renderedRows.length);
1199
1221
  }
1200
1222
  return this;
1201
1223
  },
1202
1224
 
1203
-
1204
1225
  /**
1205
- * Gets the metadata of the column width the specified name
1206
- * @param columName {String} The name of the column to get the metadata for
1207
- * @return {Map} Map containing the metadata
1208
- */
1209
- __getDataForColumn : function(columName) {
1226
+ * Gets the metadata of the column width the specified name
1227
+ * @param columName {String} The name of the column to get the metadata for
1228
+ * @return {Map} Map containing the metadata
1229
+ */
1230
+ __getDataForColumn(columName) {
1210
1231
  return this.__columnMeta[columName];
1211
1232
  },
1212
1233
 
1213
-
1214
1234
  /**
1215
1235
  * Gets the Root element containing the data rows
1216
1236
  * @return {HTMLElement} The element containing the data rows
1217
1237
  */
1218
- __getRoot : function() {
1238
+ __getRoot() {
1219
1239
  return this[0].tBodies.item(0) || this[0];
1220
1240
  },
1221
1241
 
1222
-
1223
1242
  /**
1224
1243
  * Checks if the row with the given index is rendered
1225
1244
  * @param index {Integer} The index of the row to check
1226
1245
  * @return {Boolean} The result of the check
1227
1246
  */
1228
- __isRowRendered : function(index) {
1247
+ __isRowRendered(index) {
1229
1248
  if (this.__getRoot().rows.item(index)) {
1230
1249
  return true;
1231
1250
  }
1232
1251
  return false;
1233
1252
  },
1234
1253
 
1235
-
1236
1254
  /**
1237
1255
  * Checks if the cell with the given row and column indexes is rendered
1238
1256
  * @param rowIndex {Integer} The index of the row to check
1239
1257
  * @param colIndex {Integer} The index of the column
1240
1258
  * @return {Boolean} The result of the check
1241
1259
  */
1242
- __isCellRendered : function(rowIndex, colIndex) {
1260
+ __isCellRendered(rowIndex, colIndex) {
1243
1261
  if (!this.__isRowRendered(rowIndex)) {
1244
1262
  return false;
1245
1263
  }
@@ -1249,14 +1267,12 @@ qx.Bootstrap.define("qx.ui.website.Table", {
1249
1267
  return false;
1250
1268
  },
1251
1269
 
1252
-
1253
1270
  /**
1254
1271
  * Adds a class to the head and footer of the current sorted column
1255
1272
  * @param columnName {String} The name of the sorted column
1256
1273
  * @param dir {String} The sorting direction
1257
1274
  */
1258
- setSortingClass : function(columnName, dir) {
1259
-
1275
+ setSortingClass(columnName, dir) {
1260
1276
  var data = {
1261
1277
  columnName: columnName,
1262
1278
  direction: dir
@@ -1266,35 +1282,47 @@ qx.Bootstrap.define("qx.ui.website.Table", {
1266
1282
  this.__addSortingClassToCol(this[0].tHead, columnName, dir);
1267
1283
  },
1268
1284
 
1269
-
1270
1285
  /**
1271
1286
  * Adds a class to the head or footer of the current sorted column
1272
1287
  * @param HeaderOrFooter {Node} The n
1273
1288
  * @param columnName {String} The name of the sorted column
1274
1289
  * @param dir {String} The sorting direction
1275
1290
  */
1276
- __addSortingClassToCol : function(HeaderOrFooter, columnName, dir) {
1291
+ __addSortingClassToCol(HeaderOrFooter, columnName, dir) {
1277
1292
  var rows = this.__getHeaderRow();
1278
1293
  if (HeaderOrFooter && rows) {
1279
- qxWeb(rows.cells).removeClasses(["qx-table-sort-asc", "qx-table-sort-desc"]);
1280
- var cell = qxWeb("["+qx.ui.website.Table.__dataColName+"='" + columnName + "'], #" + columnName);
1294
+ qxWeb(rows.cells).removeClasses([
1295
+ "qx-table-sort-asc",
1296
+ "qx-table-sort-desc"
1297
+ ]);
1298
+
1299
+ var cell = qxWeb(
1300
+ "[" +
1301
+ qx.ui.website.Table.__dataColName +
1302
+ "='" +
1303
+ columnName +
1304
+ "'], #" +
1305
+ columnName
1306
+ );
1307
+
1281
1308
  cell.addClass("qx-table-sort-" + dir);
1282
1309
  }
1283
1310
  },
1284
1311
 
1285
-
1286
1312
  /**
1287
1313
  * Sorts the table rows for the given row and direction
1288
1314
  * @param columnName {String} The name of the column to be sorted
1289
1315
  * @param direction {String} The sorting direction
1290
1316
  * @return {Array} Array containing the sorted rows
1291
1317
  */
1292
- __sort : function(columnName, direction) {
1293
-
1318
+ __sort(columnName, direction) {
1294
1319
  var meta = this.__getDataForColumn(columnName);
1295
1320
  var columnType = qxWeb.string.firstUp(meta.type);
1296
1321
 
1297
- if(!this["_compare" + columnType] && !this.getProperty("_compare"+ columnType)) {
1322
+ if (
1323
+ !this["_compare" + columnType] &&
1324
+ !this.getProperty("_compare" + columnType)
1325
+ ) {
1298
1326
  columnType = "String";
1299
1327
  }
1300
1328
 
@@ -1302,15 +1330,15 @@ qx.Bootstrap.define("qx.ui.website.Table", {
1302
1330
  var model = this.__getDataRows();
1303
1331
  var columnIndex = this.__getColumnIndex(columnName);
1304
1332
 
1305
- return model.sort(function(a, b) {
1306
- var x = this.__getSortingKey(qxWeb(a.cells.item(columnIndex)));
1307
- var y = this.__getSortingKey(qxWeb(b.cells.item(columnIndex)));
1308
- return compareFunc(x, y, direction);
1309
- }.bind(this));
1310
-
1333
+ return model.sort(
1334
+ function (a, b) {
1335
+ var x = this.__getSortingKey(qxWeb(a.cells.item(columnIndex)));
1336
+ var y = this.__getSortingKey(qxWeb(b.cells.item(columnIndex)));
1337
+ return compareFunc(x, y, direction);
1338
+ }.bind(this)
1339
+ );
1311
1340
  },
1312
1341
 
1313
-
1314
1342
  /**
1315
1343
  * Compares two number
1316
1344
  * @param x {String} The String value of the first number to compare
@@ -1318,7 +1346,7 @@ qx.Bootstrap.define("qx.ui.website.Table", {
1318
1346
  * @param direction {String} The sorting direction
1319
1347
  * @return {Integer} The result of the comparison
1320
1348
  */
1321
- _compareNumber : function(x, y, direction) {
1349
+ _compareNumber(x, y, direction) {
1322
1350
  x = qx.ui.website.Table.__isNumber(x) ? Number(x) : 0;
1323
1351
  y = qx.ui.website.Table.__isNumber(y) ? Number(y) : 0;
1324
1352
  if (direction == "asc") {
@@ -1329,17 +1357,18 @@ qx.Bootstrap.define("qx.ui.website.Table", {
1329
1357
  return 0;
1330
1358
  },
1331
1359
 
1332
-
1333
1360
  /**
1334
- * Gets the name of the column containing the given cell
1335
- * @param headerCell {HTMLTableCellElement} The cell to get the column name for
1336
- * @return {String} The column name
1337
- */
1338
- __getColumName : function(headerCell) {
1339
- return headerCell.getAttribute(qx.ui.website.Table.__dataColName) || headerCell.getAttribute("id");
1361
+ * Gets the name of the column containing the given cell
1362
+ * @param headerCell {HTMLTableCellElement} The cell to get the column name for
1363
+ * @return {String} The column name
1364
+ */
1365
+ __getColumName(headerCell) {
1366
+ return (
1367
+ headerCell.getAttribute(qx.ui.website.Table.__dataColName) ||
1368
+ headerCell.getAttribute("id")
1369
+ );
1340
1370
  },
1341
1371
 
1342
-
1343
1372
  /**
1344
1373
  * Compares two Dates
1345
1374
  * @param x {String} The String value of the first date to compare
@@ -1347,8 +1376,7 @@ qx.Bootstrap.define("qx.ui.website.Table", {
1347
1376
  * @param direction {String} The sorting direction
1348
1377
  * @return {Integer} The result of the comparison
1349
1378
  */
1350
- _compareDate : function(x, y, direction) {
1351
-
1379
+ _compareDate(x, y, direction) {
1352
1380
  x = qx.ui.website.Table.__isDate(x) ? new Date(x) : new Date(0);
1353
1381
  y = qx.ui.website.Table.__isDate(y) ? new Date(y) : new Date(0);
1354
1382
 
@@ -1360,7 +1388,6 @@ qx.Bootstrap.define("qx.ui.website.Table", {
1360
1388
  return 0;
1361
1389
  },
1362
1390
 
1363
-
1364
1391
  /**
1365
1392
  * Compares two Strings
1366
1393
  * @param x {String} The first string to compare
@@ -1368,51 +1395,53 @@ qx.Bootstrap.define("qx.ui.website.Table", {
1368
1395
  * @param direction {String} The sorting direction
1369
1396
  * @return {Integer} The result of the comparison
1370
1397
  */
1371
- _compareString : function(x, y, direction) {
1398
+ _compareString(x, y, direction) {
1372
1399
  if (!this.getConfig("caseSensitive")) {
1373
1400
  x = x.toLowerCase();
1374
1401
  y = y.toLowerCase();
1375
1402
  }
1376
1403
  if (direction == "asc") {
1377
- return ((x < y) ? -1 : ((x > y) ? 1 : 0));
1404
+ return x < y ? -1 : x > y ? 1 : 0;
1378
1405
  } else if (direction == "desc") {
1379
- return ((x > y) ? -1 : ((x < y) ? 1 : 0));
1406
+ return x > y ? -1 : x < y ? 1 : 0;
1380
1407
  }
1381
1408
  return 0;
1382
1409
  },
1383
1410
 
1384
-
1385
1411
  /**
1386
- * Returns the value of the cell to use for sorting
1387
- * @param cell {qxWeb} The cell to get the value of.
1388
- * @return {String} The sorting key
1389
- */
1390
- __getSortingKey : function(cell) {
1391
- return cell.getAttribute(qx.ui.website.Table.__dataSortingKey) || this.__getCellValue(cell);
1412
+ * Returns the value of the cell to use for sorting
1413
+ * @param cell {qxWeb} The cell to get the value of.
1414
+ * @return {String} The sorting key
1415
+ */
1416
+ __getSortingKey(cell) {
1417
+ return (
1418
+ cell.getAttribute(qx.ui.website.Table.__dataSortingKey) ||
1419
+ this.__getCellValue(cell)
1420
+ );
1392
1421
  },
1393
1422
 
1394
-
1395
1423
  /**
1396
1424
  * Returns the value of the cell that will be used for sorting
1397
1425
  * @param cell {qxWeb} The cell to get the value of
1398
1426
  * @return {String} The text content of the cell
1399
1427
  */
1400
- __getCellValue : function(cell) {
1428
+ __getCellValue(cell) {
1401
1429
  return cell[0].textContent || cell[0].innerText || "";
1402
1430
  },
1403
1431
 
1404
-
1405
1432
  /**
1406
1433
  * Gets the table's data rows from the DOM
1407
1434
  * @return {Array} Array containing the rows of the table
1408
1435
  */
1409
- __getDataRows : function() {
1410
-
1411
- var rows = this.find("tbody")[0].rows, model = [], cell=null, cells = [];
1436
+ __getDataRows() {
1437
+ var rows = this.find("tbody")[0].rows,
1438
+ model = [],
1439
+ cell = null,
1440
+ cells = [];
1412
1441
 
1413
1442
  for (var i = 0, l = rows.length; i < l; i++) {
1414
1443
  cells = rows.item(i).cells;
1415
- if ((cells.length > 0) && (cells[0].nodeName.toUpperCase() != "TD")) {
1444
+ if (cells.length > 0 && cells[0].nodeName.toUpperCase() != "TD") {
1416
1445
  continue;
1417
1446
  }
1418
1447
 
@@ -1428,12 +1457,11 @@ qx.Bootstrap.define("qx.ui.website.Table", {
1428
1457
  return model;
1429
1458
  },
1430
1459
 
1431
-
1432
1460
  /**
1433
1461
  * Default sorting processing
1434
1462
  * @param data {Map} Sorting data
1435
1463
  */
1436
- __defaultColumnSort : function(data) {
1464
+ __defaultColumnSort(data) {
1437
1465
  var dir = "asc";
1438
1466
  var sortedData = this.getSortingData();
1439
1467
 
@@ -1449,33 +1477,34 @@ qx.Bootstrap.define("qx.ui.website.Table", {
1449
1477
  }
1450
1478
  },
1451
1479
 
1452
-
1453
1480
  /**
1454
- * Default column filter function
1455
- * @param data {Map} Map containing the filter data
1456
- * @return {Boolean} True wenn the row containing the current cell should be kept
1457
- */
1458
- __defaultColumnFilter : function(data) {
1459
-
1481
+ * Default column filter function
1482
+ * @param data {Map} Map containing the filter data
1483
+ * @return {Boolean} True wenn the row containing the current cell should be kept
1484
+ */
1485
+ __defaultColumnFilter(data) {
1460
1486
  var caseSensitive = this.getConfig("caseSensitive");
1461
- var cell = data.columnName == qx.ui.website.Table.__allColumnSelector ? data.row : data.cell;
1487
+ var cell =
1488
+ data.columnName == qx.ui.website.Table.__allColumnSelector
1489
+ ? data.row
1490
+ : data.cell;
1462
1491
  var cellValue = this.__getCellValue(cell);
1463
1492
 
1464
- if(caseSensitive){
1493
+ if (caseSensitive) {
1465
1494
  return cellValue.indexOf(data.keyword) != -1;
1466
- }else{
1467
- return cellValue.toLowerCase().indexOf(data.keyword.toLowerCase()) != -1;
1495
+ } else {
1496
+ return (
1497
+ cellValue.toLowerCase().indexOf(data.keyword.toLowerCase()) != -1
1498
+ );
1468
1499
  }
1469
-
1470
1500
  },
1471
1501
 
1472
-
1473
1502
  /**
1474
1503
  * Gets the index of the column with the specified name
1475
1504
  * @param columnName {String} The colukn name
1476
1505
  * @return {Integer} The index of the column or -1 if the column doesn't exists
1477
1506
  */
1478
- __getColumnIndex : function(columnName) {
1507
+ __getColumnIndex(columnName) {
1479
1508
  var tHead = this.__getHeaderRow();
1480
1509
  var cells = tHead.cells;
1481
1510
  for (var i = 0; i < cells.length; i++) {
@@ -1485,14 +1514,11 @@ qx.Bootstrap.define("qx.ui.website.Table", {
1485
1514
  }
1486
1515
  return -1;
1487
1516
  }
1488
-
1489
1517
  },
1490
1518
 
1491
-
1492
- defer : function(statics) {
1519
+ defer(statics) {
1493
1520
  qxWeb.$attach({
1494
1521
  table: statics.table
1495
1522
  });
1496
1523
  }
1497
-
1498
1524
  });