@qooxdoo/framework 7.0.0-beta.6 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1555) hide show
  1. package/CHANGELOG.md +0 -6
  2. package/Manifest.json +2 -2
  3. package/README.md +3 -1
  4. package/lib/compiler/compile-info.json +57 -55
  5. package/lib/compiler/index.js +6272 -4273
  6. package/lib/resource/qx/tool/cli/templates/skeleton/mobile/source/theme/custom/css/custom.css.map +1 -1
  7. package/lib/resource/qx/tool/loadsass.js +16 -15
  8. package/lib/resource/qx/tool/schema/compile-1-0-0.json +13 -13
  9. package/lib/resource/qx/tool/website/build/assets/bluebird.min.js +4593 -9
  10. package/lib/resource/qx/tool/website/build/assets/buttons.js +391 -1
  11. package/lib/resource/qx/tool/website/build/assets/fontawesome-all.js +8963 -1
  12. package/lib/resource/qx/tool/website/build/assets/jquery.js +5452 -3
  13. package/lib/resource/qx/tool/website/build/diagnostics/dependson.js +31 -31
  14. package/lib/resource/qx/tool/website/build/diagnostics/requiredby.js +32 -36
  15. package/lib/resource/qx/tool/website/build/scripts/serve.js +87 -66
  16. package/lib/resource/qx/tool/website/src/assets/bluebird.min.js +4593 -9
  17. package/lib/resource/qx/tool/website/src/assets/buttons.js +391 -1
  18. package/lib/resource/qx/tool/website/src/assets/fontawesome-all.js +8963 -1
  19. package/lib/resource/qx/tool/website/src/assets/jquery.js +5452 -3
  20. package/lib/resource/qx/tool/website/src/diagnostics/dependson.js +31 -31
  21. package/lib/resource/qx/tool/website/src/diagnostics/requiredby.js +32 -36
  22. package/lib/resource/qx/tool/website/src/scripts/serve.js +87 -66
  23. package/npm-shrinkwrap.json +7293 -0
  24. package/package.json +6 -4
  25. package/source/class/q.js +4 -2
  26. package/source/class/qx/Annotation.js +48 -57
  27. package/source/class/qx/Bootstrap.js +206 -207
  28. package/source/class/qx/Class.js +602 -504
  29. package/source/class/qx/Interface.js +169 -137
  30. package/source/class/qx/Mixin.js +162 -120
  31. package/source/class/qx/Part.js +48 -77
  32. package/source/class/qx/Promise.js +5891 -4655
  33. package/source/class/qx/Theme.js +200 -134
  34. package/source/class/qx/__init__.js +8 -8
  35. package/source/class/qx/application/AbstractGui.js +20 -32
  36. package/source/class/qx/application/Basic.js +9 -18
  37. package/source/class/qx/application/IApplication.js +6 -10
  38. package/source/class/qx/application/Inline.js +4 -7
  39. package/source/class/qx/application/Mobile.js +22 -45
  40. package/source/class/qx/application/Native.js +8 -19
  41. package/source/class/qx/application/Routing.js +88 -114
  42. package/source/class/qx/application/Standalone.js +4 -9
  43. package/source/class/qx/application/__init__.js +1 -1
  44. package/source/class/qx/bom/AnimationFrame.js +26 -25
  45. package/source/class/qx/bom/Blocker.js +92 -100
  46. package/source/class/qx/bom/Cookie.js +18 -22
  47. package/source/class/qx/bom/Document.js +24 -31
  48. package/source/class/qx/bom/Element.js +65 -51
  49. package/source/class/qx/bom/Event.js +68 -78
  50. package/source/class/qx/bom/FileReader.js +110 -115
  51. package/source/class/qx/bom/Font.js +82 -122
  52. package/source/class/qx/bom/FullScreen.js +32 -41
  53. package/source/class/qx/bom/GeoLocation.js +39 -44
  54. package/source/class/qx/bom/HashHistory.js +58 -64
  55. package/source/class/qx/bom/History.js +61 -89
  56. package/source/class/qx/bom/Html.js +75 -71
  57. package/source/class/qx/bom/IdleCallback.js +20 -23
  58. package/source/class/qx/bom/Iframe.js +37 -69
  59. package/source/class/qx/bom/IframeHistory.js +83 -88
  60. package/source/class/qx/bom/Input.js +50 -66
  61. package/source/class/qx/bom/Label.js +65 -86
  62. package/source/class/qx/bom/Lifecycle.js +7 -9
  63. package/source/class/qx/bom/MediaQuery.js +324 -307
  64. package/source/class/qx/bom/NativeHistory.js +51 -46
  65. package/source/class/qx/bom/Notification.js +41 -47
  66. package/source/class/qx/bom/PageVisibility.js +19 -25
  67. package/source/class/qx/bom/Range.js +20 -30
  68. package/source/class/qx/bom/Selection.js +163 -172
  69. package/source/class/qx/bom/Selector.js +2401 -2181
  70. package/source/class/qx/bom/Shortcut.js +103 -129
  71. package/source/class/qx/bom/Storage.js +9 -8
  72. package/source/class/qx/bom/String.js +285 -290
  73. package/source/class/qx/bom/Style.js +30 -31
  74. package/source/class/qx/bom/Stylesheet.js +36 -60
  75. package/source/class/qx/bom/Template.js +730 -657
  76. package/source/class/qx/bom/Viewport.js +40 -46
  77. package/source/class/qx/bom/Vml.js +43 -28
  78. package/source/class/qx/bom/WebWorker.js +61 -50
  79. package/source/class/qx/bom/Window.js +88 -105
  80. package/source/class/qx/bom/__init__.js +11 -11
  81. package/source/class/qx/bom/client/Browser.js +45 -47
  82. package/source/class/qx/bom/client/Css.js +85 -85
  83. package/source/class/qx/bom/client/CssAnimation.js +41 -49
  84. package/source/class/qx/bom/client/CssTransform.js +21 -29
  85. package/source/class/qx/bom/client/CssTransition.js +9 -12
  86. package/source/class/qx/bom/client/Device.js +45 -45
  87. package/source/class/qx/bom/client/EcmaScript.js +153 -96
  88. package/source/class/qx/bom/client/Engine.js +38 -35
  89. package/source/class/qx/bom/client/Event.js +75 -63
  90. package/source/class/qx/bom/client/Html.js +97 -97
  91. package/source/class/qx/bom/client/Idle.js +4 -6
  92. package/source/class/qx/bom/client/Locale.js +15 -15
  93. package/source/class/qx/bom/client/OperatingSystem.js +89 -106
  94. package/source/class/qx/bom/client/Pdfjs.js +1364 -1067
  95. package/source/class/qx/bom/client/PhoneGap.js +6 -9
  96. package/source/class/qx/bom/client/Plugin.js +93 -97
  97. package/source/class/qx/bom/client/Runtime.js +14 -12
  98. package/source/class/qx/bom/client/Scroll.js +20 -16
  99. package/source/class/qx/bom/client/Stylesheet.js +44 -32
  100. package/source/class/qx/bom/client/Transport.js +38 -41
  101. package/source/class/qx/bom/client/Xml.js +39 -41
  102. package/source/class/qx/bom/client/__init__.js +4 -4
  103. package/source/class/qx/bom/element/Animation.js +15 -12
  104. package/source/class/qx/bom/element/AnimationCss.js +95 -64
  105. package/source/class/qx/bom/element/AnimationHandle.js +22 -29
  106. package/source/class/qx/bom/element/AnimationJs.js +94 -71
  107. package/source/class/qx/bom/element/Attribute.js +119 -134
  108. package/source/class/qx/bom/element/Background.js +35 -35
  109. package/source/class/qx/bom/element/BoxSizing.js +43 -44
  110. package/source/class/qx/bom/element/Class.js +50 -72
  111. package/source/class/qx/bom/element/Clip.js +36 -60
  112. package/source/class/qx/bom/element/Cursor.js +13 -20
  113. package/source/class/qx/bom/element/Dataset.js +33 -31
  114. package/source/class/qx/bom/element/Decoration.js +178 -168
  115. package/source/class/qx/bom/element/Dimension.js +78 -60
  116. package/source/class/qx/bom/element/Location.js +87 -94
  117. package/source/class/qx/bom/element/Opacity.js +42 -44
  118. package/source/class/qx/bom/element/Scroll.js +78 -88
  119. package/source/class/qx/bom/element/Style.js +61 -101
  120. package/source/class/qx/bom/element/Transform.js +38 -56
  121. package/source/class/qx/bom/element/__init__.js +4 -4
  122. package/source/class/qx/bom/media/Abstract.js +136 -143
  123. package/source/class/qx/bom/media/Audio.js +7 -12
  124. package/source/class/qx/bom/media/Video.js +15 -27
  125. package/source/class/qx/bom/request/IRequest.js +18 -21
  126. package/source/class/qx/bom/request/Jsonp.js +34 -39
  127. package/source/class/qx/bom/request/Script.js +94 -90
  128. package/source/class/qx/bom/request/SimpleXhr.js +111 -79
  129. package/source/class/qx/bom/request/Xhr.js +196 -143
  130. package/source/class/qx/bom/request/__init__.js +1 -1
  131. package/source/class/qx/bom/rest/Resource.js +269 -203
  132. package/source/class/qx/bom/storage/Memory.js +18 -29
  133. package/source/class/qx/bom/storage/UserData.js +28 -35
  134. package/source/class/qx/bom/storage/Web.js +19 -30
  135. package/source/class/qx/bom/webfonts/Manager.js +199 -130
  136. package/source/class/qx/bom/webfonts/Validator.js +84 -118
  137. package/source/class/qx/bom/webfonts/WebFont.js +24 -28
  138. package/source/class/qx/bom/webfonts/__init__.js +1 -1
  139. package/source/class/qx/core/Aspect.js +15 -22
  140. package/source/class/qx/core/Assert.js +391 -333
  141. package/source/class/qx/core/AssertionError.js +6 -15
  142. package/source/class/qx/core/BaseInit.js +25 -28
  143. package/source/class/qx/core/Environment.js +72 -86
  144. package/source/class/qx/core/GlobalError.js +12 -20
  145. package/source/class/qx/core/IDisposable.js +6 -9
  146. package/source/class/qx/core/Id.js +25 -15
  147. package/source/class/qx/core/Init.js +20 -20
  148. package/source/class/qx/core/MAssert.js +54 -97
  149. package/source/class/qx/core/MBindTo.js +10 -14
  150. package/source/class/qx/core/MEvent.js +76 -65
  151. package/source/class/qx/core/MLogging.js +9 -18
  152. package/source/class/qx/core/MObjectId.js +104 -65
  153. package/source/class/qx/core/MProperty.js +18 -34
  154. package/source/class/qx/core/Object.js +93 -122
  155. package/source/class/qx/core/ObjectRegistry.js +58 -81
  156. package/source/class/qx/core/Property.js +974 -780
  157. package/source/class/qx/core/ValidationError.js +3 -4
  158. package/source/class/qx/core/WindowError.js +13 -24
  159. package/source/class/qx/core/Wrapper.js +8 -9
  160. package/source/class/qx/data/Array.js +178 -191
  161. package/source/class/qx/data/Conversion.js +11 -18
  162. package/source/class/qx/data/IListData.js +11 -20
  163. package/source/class/qx/data/MBinding.js +31 -26
  164. package/source/class/qx/data/SingleValueBinding.js +491 -225
  165. package/source/class/qx/data/__init__.js +1 -1
  166. package/source/class/qx/data/controller/CheckedList.js +82 -54
  167. package/source/class/qx/data/controller/Form.js +81 -69
  168. package/source/class/qx/data/controller/IControllerDelegate.js +7 -12
  169. package/source/class/qx/data/controller/ISelection.js +6 -10
  170. package/source/class/qx/data/controller/List.js +151 -167
  171. package/source/class/qx/data/controller/MSelection.js +53 -72
  172. package/source/class/qx/data/controller/Object.js +106 -77
  173. package/source/class/qx/data/controller/Tree.js +164 -142
  174. package/source/class/qx/data/controller/__init__.js +1 -1
  175. package/source/class/qx/data/controller/website/List.js +34 -43
  176. package/source/class/qx/data/controller/website/__init__.js +2 -2
  177. package/source/class/qx/data/marshal/IMarshaler.js +4 -7
  178. package/source/class/qx/data/marshal/IMarshalerDelegate.js +10 -18
  179. package/source/class/qx/data/marshal/Json.js +112 -85
  180. package/source/class/qx/data/marshal/MEventBubbling.js +44 -42
  181. package/source/class/qx/data/marshal/__init__.js +1 -1
  182. package/source/class/qx/data/store/IStoreDelegate.js +6 -9
  183. package/source/class/qx/data/store/Json.js +71 -85
  184. package/source/class/qx/data/store/Jsonp.js +19 -25
  185. package/source/class/qx/data/store/Offline.js +21 -29
  186. package/source/class/qx/data/store/Rest.js +25 -23
  187. package/source/class/qx/data/store/__init__.js +1 -1
  188. package/source/class/qx/dev/Debug.js +105 -124
  189. package/source/class/qx/dev/FakeServer.js +68 -65
  190. package/source/class/qx/dev/ObjectSummary.js +33 -39
  191. package/source/class/qx/dev/Profile.js +62 -63
  192. package/source/class/qx/dev/StackTrace.js +64 -70
  193. package/source/class/qx/dev/Tokenizer.js +114 -126
  194. package/source/class/qx/dev/unit/AbstractTestSuite.js +17 -31
  195. package/source/class/qx/dev/unit/AsyncWrapper.js +22 -26
  196. package/source/class/qx/dev/unit/JsUnitTestResult.js +9 -21
  197. package/source/class/qx/dev/unit/MMeasure.js +46 -37
  198. package/source/class/qx/dev/unit/MMock.js +236 -240
  199. package/source/class/qx/dev/unit/MRequirements.js +53 -79
  200. package/source/class/qx/dev/unit/MRequirementsBasic.js +24 -19
  201. package/source/class/qx/dev/unit/MTestLoader.js +52 -57
  202. package/source/class/qx/dev/unit/MeasurementResult.js +18 -22
  203. package/source/class/qx/dev/unit/RequirementError.js +8 -17
  204. package/source/class/qx/dev/unit/Sinon.js +18826 -4613
  205. package/source/class/qx/dev/unit/TestCase.js +40 -51
  206. package/source/class/qx/dev/unit/TestClass.js +22 -23
  207. package/source/class/qx/dev/unit/TestFunction.js +28 -48
  208. package/source/class/qx/dev/unit/TestLoader.js +11 -14
  209. package/source/class/qx/dev/unit/TestLoaderBasic.js +3 -6
  210. package/source/class/qx/dev/unit/TestLoaderInline.js +8 -14
  211. package/source/class/qx/dev/unit/TestLoaderMobile.js +8 -14
  212. package/source/class/qx/dev/unit/TestLoaderNative.js +7 -13
  213. package/source/class/qx/dev/unit/TestResult.js +140 -118
  214. package/source/class/qx/dev/unit/TestSuite.js +46 -55
  215. package/source/class/qx/dom/Element.js +29 -74
  216. package/source/class/qx/dom/Hierarchy.js +60 -95
  217. package/source/class/qx/dom/Node.js +54 -81
  218. package/source/class/qx/dom/__init__.js +9 -9
  219. package/source/class/qx/event/AcceleratingTimer.js +28 -46
  220. package/source/class/qx/event/Emitter.js +54 -49
  221. package/source/class/qx/event/GlobalError.js +22 -38
  222. package/source/class/qx/event/IEventDispatcher.js +4 -9
  223. package/source/class/qx/event/IEventHandler.js +7 -13
  224. package/source/class/qx/event/Idle.js +32 -47
  225. package/source/class/qx/event/Manager.js +222 -237
  226. package/source/class/qx/event/Messaging.js +55 -48
  227. package/source/class/qx/event/Pool.js +5 -8
  228. package/source/class/qx/event/Registration.js +128 -118
  229. package/source/class/qx/event/Timer.js +50 -96
  230. package/source/class/qx/event/Utils.js +41 -28
  231. package/source/class/qx/event/dispatch/AbstractBubbling.js +133 -93
  232. package/source/class/qx/event/dispatch/Direct.js +46 -51
  233. package/source/class/qx/event/dispatch/DomBubbling.js +8 -15
  234. package/source/class/qx/event/dispatch/MouseCapture.js +74 -91
  235. package/source/class/qx/event/handler/Appear.js +40 -77
  236. package/source/class/qx/event/handler/Application.js +100 -126
  237. package/source/class/qx/event/handler/Capture.js +15 -37
  238. package/source/class/qx/event/handler/DragDrop.js +342 -228
  239. package/source/class/qx/event/handler/Element.js +45 -72
  240. package/source/class/qx/event/handler/ElementResize.js +35 -70
  241. package/source/class/qx/event/handler/Focus.js +908 -637
  242. package/source/class/qx/event/handler/Gesture.js +144 -93
  243. package/source/class/qx/event/handler/GestureCore.js +214 -163
  244. package/source/class/qx/event/handler/Iframe.js +21 -35
  245. package/source/class/qx/event/handler/Input.js +332 -209
  246. package/source/class/qx/event/handler/Keyboard.js +325 -270
  247. package/source/class/qx/event/handler/Mouse.js +212 -173
  248. package/source/class/qx/event/handler/Object.js +13 -31
  249. package/source/class/qx/event/handler/Offline.js +52 -67
  250. package/source/class/qx/event/handler/Orientation.js +56 -62
  251. package/source/class/qx/event/handler/OrientationCore.js +33 -43
  252. package/source/class/qx/event/handler/Pointer.js +84 -72
  253. package/source/class/qx/event/handler/PointerCore.js +183 -105
  254. package/source/class/qx/event/handler/Touch.js +43 -59
  255. package/source/class/qx/event/handler/TouchCore.js +159 -120
  256. package/source/class/qx/event/handler/Transition.js +91 -100
  257. package/source/class/qx/event/handler/UserAction.js +18 -42
  258. package/source/class/qx/event/handler/Video.js +12 -12
  259. package/source/class/qx/event/handler/Window.js +53 -69
  260. package/source/class/qx/event/message/Bus.js +109 -128
  261. package/source/class/qx/event/message/Message.js +14 -29
  262. package/source/class/qx/event/type/Data.js +11 -22
  263. package/source/class/qx/event/type/Dom.js +37 -52
  264. package/source/class/qx/event/type/Drag.js +37 -56
  265. package/source/class/qx/event/type/Event.js +80 -104
  266. package/source/class/qx/event/type/Focus.js +5 -8
  267. package/source/class/qx/event/type/GeoPosition.js +32 -41
  268. package/source/class/qx/event/type/KeyInput.js +9 -19
  269. package/source/class/qx/event/type/KeySequence.js +10 -21
  270. package/source/class/qx/event/type/Mouse.js +69 -72
  271. package/source/class/qx/event/type/MouseWheel.js +5 -9
  272. package/source/class/qx/event/type/Native.js +16 -27
  273. package/source/class/qx/event/type/Orientation.js +18 -30
  274. package/source/class/qx/event/type/Pinch.js +21 -27
  275. package/source/class/qx/event/type/Pointer.js +38 -41
  276. package/source/class/qx/event/type/Rest.js +7 -10
  277. package/source/class/qx/event/type/Roll.js +49 -58
  278. package/source/class/qx/event/type/Rotate.js +21 -27
  279. package/source/class/qx/event/type/Swipe.js +75 -86
  280. package/source/class/qx/event/type/Tap.js +2 -4
  281. package/source/class/qx/event/type/Touch.js +262 -286
  282. package/source/class/qx/event/type/Track.js +23 -28
  283. package/source/class/qx/event/type/dom/Custom.js +24 -20
  284. package/source/class/qx/event/type/dom/Pointer.js +86 -60
  285. package/source/class/qx/event/util/Keyboard.js +94 -106
  286. package/source/class/qx/html/Blocker.js +17 -18
  287. package/source/class/qx/html/Canvas.js +13 -29
  288. package/source/class/qx/html/Element.js +372 -497
  289. package/source/class/qx/html/Factory.js +31 -26
  290. package/source/class/qx/html/Iframe.js +35 -69
  291. package/source/class/qx/html/Image.js +43 -55
  292. package/source/class/qx/html/Input.js +44 -57
  293. package/source/class/qx/html/Jsx.js +49 -41
  294. package/source/class/qx/html/JsxRef.js +3 -5
  295. package/source/class/qx/html/Label.js +20 -32
  296. package/source/class/qx/html/Node.js +362 -422
  297. package/source/class/qx/html/Root.js +7 -16
  298. package/source/class/qx/html/Text.js +34 -27
  299. package/source/class/qx/io/ImageLoader.js +66 -90
  300. package/source/class/qx/io/PartLoader.js +17 -30
  301. package/source/class/qx/io/exception/Cancel.js +4 -5
  302. package/source/class/qx/io/exception/Exception.js +4 -5
  303. package/source/class/qx/io/exception/Protocol.js +2 -3
  304. package/source/class/qx/io/exception/Transport.js +13 -14
  305. package/source/class/qx/io/graphql/Client.js +22 -12
  306. package/source/class/qx/io/graphql/protocol/Message.js +3 -3
  307. package/source/class/qx/io/graphql/protocol/Request.js +8 -10
  308. package/source/class/qx/io/graphql/protocol/Response.js +7 -5
  309. package/source/class/qx/io/jsonrpc/Client.js +70 -38
  310. package/source/class/qx/io/jsonrpc/__init__.js +1 -1
  311. package/source/class/qx/io/jsonrpc/protocol/Batch.js +14 -8
  312. package/source/class/qx/io/jsonrpc/protocol/Error.js +11 -9
  313. package/source/class/qx/io/jsonrpc/protocol/Message.js +3 -3
  314. package/source/class/qx/io/jsonrpc/protocol/Notification.js +8 -6
  315. package/source/class/qx/io/jsonrpc/protocol/Parser.js +33 -9
  316. package/source/class/qx/io/jsonrpc/protocol/Request.js +8 -7
  317. package/source/class/qx/io/jsonrpc/protocol/Result.js +7 -6
  318. package/source/class/qx/io/part/ClosurePart.js +16 -35
  319. package/source/class/qx/io/part/Package.js +35 -63
  320. package/source/class/qx/io/part/Part.js +29 -53
  321. package/source/class/qx/io/part/__init__.js +4 -4
  322. package/source/class/qx/io/request/AbstractRequest.js +268 -201
  323. package/source/class/qx/io/request/Jsonp.js +16 -19
  324. package/source/class/qx/io/request/Xhr.js +38 -37
  325. package/source/class/qx/io/request/__init__.js +1 -1
  326. package/source/class/qx/io/request/authentication/Basic.js +7 -13
  327. package/source/class/qx/io/request/authentication/Bearer.js +7 -13
  328. package/source/class/qx/io/request/authentication/IAuthentication.js +3 -6
  329. package/source/class/qx/io/request/authentication/__init__.js +1 -1
  330. package/source/class/qx/io/rest/Resource.js +122 -90
  331. package/source/class/qx/io/transport/AbstractClient.js +31 -10
  332. package/source/class/qx/io/transport/AbstractTransport.js +7 -8
  333. package/source/class/qx/io/transport/Fetch.js +8 -5
  334. package/source/class/qx/io/transport/ITransport.js +4 -2
  335. package/source/class/qx/io/transport/PostMessage.js +1 -2
  336. package/source/class/qx/io/transport/Websocket.js +5 -5
  337. package/source/class/qx/io/transport/Xhr.js +17 -18
  338. package/source/class/qx/lang/Array.js +133 -170
  339. package/source/class/qx/lang/Function.js +101 -104
  340. package/source/class/qx/lang/Json.js +1041 -774
  341. package/source/class/qx/lang/Number.js +11 -16
  342. package/source/class/qx/lang/Object.js +129 -100
  343. package/source/class/qx/lang/String.js +86 -94
  344. package/source/class/qx/lang/Type.js +44 -65
  345. package/source/class/qx/lang/normalize/Array.js +39 -49
  346. package/source/class/qx/lang/normalize/Date.js +50 -32
  347. package/source/class/qx/lang/normalize/Error.js +4 -7
  348. package/source/class/qx/lang/normalize/Function.js +11 -19
  349. package/source/class/qx/lang/normalize/Number.js +3 -5
  350. package/source/class/qx/lang/normalize/Object.js +17 -18
  351. package/source/class/qx/lang/normalize/String.js +39 -40
  352. package/source/class/qx/locale/Date.js +175 -178
  353. package/source/class/qx/locale/Key.js +13 -11
  354. package/source/class/qx/locale/LocalizedString.js +18 -15
  355. package/source/class/qx/locale/MTranslation.js +22 -23
  356. package/source/class/qx/locale/Manager.js +62 -100
  357. package/source/class/qx/locale/Number.js +20 -12
  358. package/source/class/qx/locale/String.js +26 -15
  359. package/source/class/qx/log/Logger.js +128 -180
  360. package/source/class/qx/log/__init__.js +3 -3
  361. package/source/class/qx/log/appender/Console.js +100 -111
  362. package/source/class/qx/log/appender/Element.js +25 -39
  363. package/source/class/qx/log/appender/Formatter.js +117 -66
  364. package/source/class/qx/log/appender/Native.js +4 -10
  365. package/source/class/qx/log/appender/NodeConsole.js +20 -28
  366. package/source/class/qx/log/appender/PhoneGap.js +5 -13
  367. package/source/class/qx/log/appender/RhinoConsole.js +12 -23
  368. package/source/class/qx/log/appender/RhinoFile.js +19 -26
  369. package/source/class/qx/log/appender/RingBuffer.js +10 -19
  370. package/source/class/qx/log/appender/Util.js +11 -9
  371. package/source/class/qx/module/Animation.js +73 -63
  372. package/source/class/qx/module/Attribute.js +27 -46
  373. package/source/class/qx/module/Blocker.js +33 -41
  374. package/source/class/qx/module/Cookie.js +6 -10
  375. package/source/class/qx/module/Css.js +82 -97
  376. package/source/class/qx/module/Dataset.js +12 -24
  377. package/source/class/qx/module/Environment.js +4 -6
  378. package/source/class/qx/module/Event.js +124 -127
  379. package/source/class/qx/module/Io.js +5 -9
  380. package/source/class/qx/module/Manipulating.js +98 -117
  381. package/source/class/qx/module/MatchMedia.js +50 -24
  382. package/source/class/qx/module/Messaging.js +6 -10
  383. package/source/class/qx/module/Placeholder.js +54 -44
  384. package/source/class/qx/module/Placement.js +33 -33
  385. package/source/class/qx/module/Rest.js +3 -4
  386. package/source/class/qx/module/Storage.js +34 -48
  387. package/source/class/qx/module/Template.js +6 -9
  388. package/source/class/qx/module/TextSelection.js +13 -21
  389. package/source/class/qx/module/Transform.js +28 -45
  390. package/source/class/qx/module/Traversing.js +160 -154
  391. package/source/class/qx/module/__init__.js +1 -1
  392. package/source/class/qx/module/dev/FakeServer.js +19 -25
  393. package/source/class/qx/module/event/GestureHandler.js +25 -13
  394. package/source/class/qx/module/event/Keyboard.js +42 -31
  395. package/source/class/qx/module/event/Mouse.js +48 -46
  396. package/source/class/qx/module/event/Native.js +18 -30
  397. package/source/class/qx/module/event/Orientation.js +11 -18
  398. package/source/class/qx/module/event/OrientationHandler.js +19 -17
  399. package/source/class/qx/module/event/Pinch.js +13 -14
  400. package/source/class/qx/module/event/Pointer.js +22 -22
  401. package/source/class/qx/module/event/PointerHandler.js +14 -11
  402. package/source/class/qx/module/event/Rotate.js +13 -14
  403. package/source/class/qx/module/event/Swipe.js +18 -24
  404. package/source/class/qx/module/event/Tap.js +25 -25
  405. package/source/class/qx/module/event/Touch.js +4 -7
  406. package/source/class/qx/module/event/TouchHandler.js +16 -16
  407. package/source/class/qx/module/event/Track.js +13 -14
  408. package/source/class/qx/module/util/Array.js +30 -41
  409. package/source/class/qx/module/util/Function.js +1 -2
  410. package/source/class/qx/module/util/Object.js +8 -11
  411. package/source/class/qx/module/util/String.js +10 -18
  412. package/source/class/qx/module/util/Type.js +3 -4
  413. package/source/class/qx/test/Annotation.js +195 -89
  414. package/source/class/qx/test/Bootstrap.js +98 -124
  415. package/source/class/qx/test/Browser.js +8 -11
  416. package/source/class/qx/test/Class.js +164 -198
  417. package/source/class/qx/test/Dom.js +10 -28
  418. package/source/class/qx/test/EditDistance.js +16 -16
  419. package/source/class/qx/test/Interface.js +380 -383
  420. package/source/class/qx/test/MAppearance.js +10 -14
  421. package/source/class/qx/test/MDecoration.js +1 -3
  422. package/source/class/qx/test/Mixin.js +449 -173
  423. package/source/class/qx/test/Promise.js +422 -333
  424. package/source/class/qx/test/Theme.js +204 -179
  425. package/source/class/qx/test/Xml.js +155 -84
  426. package/source/class/qx/test/application/Routing.js +45 -44
  427. package/source/class/qx/test/bom/AnimationFrame.js +23 -21
  428. package/source/class/qx/test/bom/Attribute.js +66 -47
  429. package/source/class/qx/test/bom/Basic.js +52 -27
  430. package/source/class/qx/test/bom/Blocker.js +100 -70
  431. package/source/class/qx/test/bom/Class.js +19 -34
  432. package/source/class/qx/test/bom/Cookie.js +49 -28
  433. package/source/class/qx/test/bom/Dataset.js +12 -24
  434. package/source/class/qx/test/bom/Element.js +55 -47
  435. package/source/class/qx/test/bom/Event.js +68 -45
  436. package/source/class/qx/test/bom/FileReader.js +6 -12
  437. package/source/class/qx/test/bom/Font.js +256 -118
  438. package/source/class/qx/test/bom/GeoLocation.js +82 -64
  439. package/source/class/qx/test/bom/History.js +63 -84
  440. package/source/class/qx/test/bom/IdleCallback.js +51 -38
  441. package/source/class/qx/test/bom/Iframe.js +14 -18
  442. package/source/class/qx/test/bom/Label.js +74 -105
  443. package/source/class/qx/test/bom/Location.js +70 -99
  444. package/source/class/qx/test/bom/PageVisibility.js +13 -16
  445. package/source/class/qx/test/bom/Selector.js +16 -16
  446. package/source/class/qx/test/bom/String.js +19 -15
  447. package/source/class/qx/test/bom/Stylesheet.js +39 -48
  448. package/source/class/qx/test/bom/Template.js +49 -57
  449. package/source/class/qx/test/bom/Viewport.js +7 -11
  450. package/source/class/qx/test/bom/WebWorker.js +49 -37
  451. package/source/class/qx/test/bom/Window.js +6 -12
  452. package/source/class/qx/test/bom/client/Css.js +26 -19
  453. package/source/class/qx/test/bom/client/Device.js +29 -18
  454. package/source/class/qx/test/bom/client/OperatingSystem.js +17 -20
  455. package/source/class/qx/test/bom/client/Pdfjs.js +15 -13
  456. package/source/class/qx/test/bom/element/AnimationHandle.js +20 -17
  457. package/source/class/qx/test/bom/element/AnimationJs.js +48 -31
  458. package/source/class/qx/test/bom/element/Background.js +93 -46
  459. package/source/class/qx/test/bom/element/BoxSizing.js +66 -61
  460. package/source/class/qx/test/bom/element/Class.js +33 -58
  461. package/source/class/qx/test/bom/element/Dimension.js +58 -37
  462. package/source/class/qx/test/bom/element/Style.js +87 -83
  463. package/source/class/qx/test/bom/element/Transform.js +209 -86
  464. package/source/class/qx/test/bom/media/Audio.js +18 -14
  465. package/source/class/qx/test/bom/media/MediaTestCase.js +61 -66
  466. package/source/class/qx/test/bom/media/Video.js +39 -28
  467. package/source/class/qx/test/bom/request/Jsonp.js +60 -57
  468. package/source/class/qx/test/bom/request/Script.js +150 -138
  469. package/source/class/qx/test/bom/request/SimpleXhr.js +206 -134
  470. package/source/class/qx/test/bom/request/Xhr.js +179 -132
  471. package/source/class/qx/test/bom/request/XhrWithRemote.js +206 -160
  472. package/source/class/qx/test/bom/rest/Resource.js +345 -281
  473. package/source/class/qx/test/bom/rest/ResourceWithRemote.js +74 -57
  474. package/source/class/qx/test/bom/storage/Local.js +3 -4
  475. package/source/class/qx/test/bom/storage/Session.js +3 -4
  476. package/source/class/qx/test/bom/storage/WebStorageTestCase.js +28 -27
  477. package/source/class/qx/test/bom/webfonts/Abstract.js +8 -10
  478. package/source/class/qx/test/bom/webfonts/Manager.js +127 -80
  479. package/source/class/qx/test/bom/webfonts/Validator.js +36 -30
  480. package/source/class/qx/test/compiler/ClassFile.js +29 -11
  481. package/source/class/qx/test/compiler/jsdoc/Parser.js +122 -96
  482. package/source/class/qx/test/core/Assert.js +151 -86
  483. package/source/class/qx/test/core/Environment.js +162 -123
  484. package/source/class/qx/test/core/EventEmitterDummy.js +7 -8
  485. package/source/class/qx/test/core/InheritanceDummy.js +23 -33
  486. package/source/class/qx/test/core/MemoryManagement.js +13 -5
  487. package/source/class/qx/test/core/Object.js +106 -112
  488. package/source/class/qx/test/core/ObjectId.js +7 -6
  489. package/source/class/qx/test/core/Property.js +483 -387
  490. package/source/class/qx/test/core/PropertyHelper.js +49 -64
  491. package/source/class/qx/test/core/Target.js +9 -13
  492. package/source/class/qx/test/core/Validation.js +409 -136
  493. package/source/class/qx/test/data/DataArray.js +1059 -394
  494. package/source/class/qx/test/data/DataArrayWithChangeBubble.js +315 -172
  495. package/source/class/qx/test/data/__init__.js +4 -4
  496. package/source/class/qx/test/data/controller/Form.js +141 -99
  497. package/source/class/qx/test/data/controller/FormWithArrayAndModel.js +66 -51
  498. package/source/class/qx/test/data/controller/List.js +644 -336
  499. package/source/class/qx/test/data/controller/ListReverse.js +64 -63
  500. package/source/class/qx/test/data/controller/ListWithObjects.js +305 -149
  501. package/source/class/qx/test/data/controller/Object.js +252 -94
  502. package/source/class/qx/test/data/controller/Tree.js +1219 -383
  503. package/source/class/qx/test/data/controller/__init__.js +4 -4
  504. package/source/class/qx/test/data/marshal/Json.js +832 -447
  505. package/source/class/qx/test/data/marshal/__init__.js +4 -4
  506. package/source/class/qx/test/data/singlevalue/Array.js +383 -144
  507. package/source/class/qx/test/data/singlevalue/Deep.js +361 -175
  508. package/source/class/qx/test/data/singlevalue/Resolve.js +51 -29
  509. package/source/class/qx/test/data/singlevalue/Simple.js +530 -208
  510. package/source/class/qx/test/data/singlevalue/TextFieldDummy.js +32 -28
  511. package/source/class/qx/test/data/singlevalue/__init__.js +4 -4
  512. package/source/class/qx/test/data/store/Json.js +574 -313
  513. package/source/class/qx/test/data/store/Jsonp.js +103 -77
  514. package/source/class/qx/test/data/store/Offline.js +127 -110
  515. package/source/class/qx/test/data/store/Rest.js +58 -52
  516. package/source/class/qx/test/data/store/RestWithRemote.js +36 -30
  517. package/source/class/qx/test/data/store/__init__.js +4 -4
  518. package/source/class/qx/test/dev/Debug.js +9 -13
  519. package/source/class/qx/test/dev/StackTrace.js +51 -42
  520. package/source/class/qx/test/dev/unit/Requirements.js +36 -49
  521. package/source/class/qx/test/dev/unit/Sinon.js +85 -73
  522. package/source/class/qx/test/dev/unit/TestCase.js +12 -17
  523. package/source/class/qx/test/dom/Element.js +17 -12
  524. package/source/class/qx/test/dom/Hierarchy.js +53 -38
  525. package/source/class/qx/test/dom/Node.js +97 -43
  526. package/source/class/qx/test/event/Bubbling.js +258 -88
  527. package/source/class/qx/test/event/Emitter.js +38 -39
  528. package/source/class/qx/test/event/GlobalError.js +59 -87
  529. package/source/class/qx/test/event/GlobalEventMonitors.js +22 -25
  530. package/source/class/qx/test/event/Messaging.js +66 -49
  531. package/source/class/qx/test/event/MockBubblingHandler.js +10 -15
  532. package/source/class/qx/test/event/MockHandler.js +14 -33
  533. package/source/class/qx/test/event/Registration.js +38 -32
  534. package/source/class/qx/test/event/Timer.js +61 -39
  535. package/source/class/qx/test/event/Utils.js +164 -123
  536. package/source/class/qx/test/event/dispatch/MouseCapture.js +61 -51
  537. package/source/class/qx/test/event/dispatch/MouseEventOnDocument.js +22 -23
  538. package/source/class/qx/test/event/dispatch/TestingHandler.js +8 -10
  539. package/source/class/qx/test/event/dispatch/TestingWindow.js +9 -13
  540. package/source/class/qx/test/event/dispatch/__init__.js +4 -4
  541. package/source/class/qx/test/event/handler/Offline.js +7 -8
  542. package/source/class/qx/test/event/message/Bus.js +112 -72
  543. package/source/class/qx/test/event/message/__init__.js +4 -4
  544. package/source/class/qx/test/event/type/Dom.js +12 -11
  545. package/source/class/qx/test/event/type/Event.js +7 -16
  546. package/source/class/qx/test/event/type/Mouse.js +12 -11
  547. package/source/class/qx/test/event/type/Native.js +12 -11
  548. package/source/class/qx/test/event/type/__init__.js +4 -4
  549. package/source/class/qx/test/event/util/Keyboard.js +4 -3
  550. package/source/class/qx/test/html/Element.js +538 -239
  551. package/source/class/qx/test/html/Iframe.js +85 -73
  552. package/source/class/qx/test/html/jsx/TestJsx.js +15 -4
  553. package/source/class/qx/test/html/jsx/TestJsxBrowser.js +37 -19
  554. package/source/class/qx/test/html/jsx/TestWidget.js +26 -26
  555. package/source/class/qx/test/io/ImageLoader.js +256 -160
  556. package/source/class/qx/test/io/MAssert.js +7 -7
  557. package/source/class/qx/test/io/MRemoteTest.js +9 -11
  558. package/source/class/qx/test/io/__init__.js +4 -4
  559. package/source/class/qx/test/io/graphql/Client.js +135 -114
  560. package/source/class/qx/test/io/graphql/ClientFetch.js +4 -4
  561. package/source/class/qx/test/io/graphql/Request.js +12 -13
  562. package/source/class/qx/test/io/jsonrpc/Client.js +135 -69
  563. package/source/class/qx/test/io/jsonrpc/Protocol.js +42 -14
  564. package/source/class/qx/test/io/request/Jsonp.js +23 -20
  565. package/source/class/qx/test/io/request/JsonpWithRemote.js +25 -22
  566. package/source/class/qx/test/io/request/MRequest.js +137 -114
  567. package/source/class/qx/test/io/request/Xhr.js +367 -209
  568. package/source/class/qx/test/io/request/XhrWithRemote.js +133 -100
  569. package/source/class/qx/test/io/rest/Resource.js +325 -270
  570. package/source/class/qx/test/io/rest/ResourceWithRemote.js +75 -58
  571. package/source/class/qx/test/io/transport/PostMessage.js +5 -5
  572. package/source/class/qx/test/io/transport/Websocket.js +9 -8
  573. package/source/class/qx/test/lang/Array.js +79 -105
  574. package/source/class/qx/test/lang/Function.js +64 -53
  575. package/source/class/qx/test/lang/Json.js +51 -79
  576. package/source/class/qx/test/lang/Number.js +4 -6
  577. package/source/class/qx/test/lang/Object.js +143 -133
  578. package/source/class/qx/test/lang/String.js +151 -95
  579. package/source/class/qx/test/lang/Type.js +34 -44
  580. package/source/class/qx/test/lang/Webkit.js +8 -13
  581. package/source/class/qx/test/lang/normalize/Array.js +121 -68
  582. package/source/class/qx/test/lang/normalize/Date.js +232 -49
  583. package/source/class/qx/test/lang/normalize/Error.js +5 -8
  584. package/source/class/qx/test/lang/normalize/Function.js +7 -13
  585. package/source/class/qx/test/lang/normalize/Object.js +22 -29
  586. package/source/class/qx/test/lang/normalize/String.js +19 -28
  587. package/source/class/qx/test/locale/Date.js +91 -43
  588. package/source/class/qx/test/locale/Locale.js +52 -32
  589. package/source/class/qx/test/locale/LocalizedString.js +12 -12
  590. package/source/class/qx/test/log/DeprecationMethodOverriding.js +52 -31
  591. package/source/class/qx/test/log/Filters.js +6 -3
  592. package/source/class/qx/test/log/Formatter.js +13 -7
  593. package/source/class/qx/test/log/Logger.js +19 -29
  594. package/source/class/qx/test/log/RingBuffer.js +14 -25
  595. package/source/class/qx/test/log/__init__.js +4 -4
  596. package/source/class/qx/test/log/fixture/ClassA.js +22 -22
  597. package/source/class/qx/test/log/fixture/ClassB1.js +7 -9
  598. package/source/class/qx/test/log/fixture/ClassB2.js +5 -7
  599. package/source/class/qx/test/log/fixture/ClassC1.js +5 -7
  600. package/source/class/qx/test/log/fixture/ClassC2.js +7 -9
  601. package/source/class/qx/test/mobile/LocaleSwitch.js +29 -36
  602. package/source/class/qx/test/mobile/MobileTestCase.js +39 -49
  603. package/source/class/qx/test/mobile/basic/Atom.js +129 -53
  604. package/source/class/qx/test/mobile/basic/Image.js +41 -31
  605. package/source/class/qx/test/mobile/basic/Label.js +6 -10
  606. package/source/class/qx/test/mobile/container/Carousel.js +41 -45
  607. package/source/class/qx/test/mobile/container/Composite.js +48 -65
  608. package/source/class/qx/test/mobile/container/Drawer.js +42 -29
  609. package/source/class/qx/test/mobile/container/Navigation.js +14 -20
  610. package/source/class/qx/test/mobile/container/Scroll.js +23 -19
  611. package/source/class/qx/test/mobile/core/Widget.js +150 -86
  612. package/source/class/qx/test/mobile/dialog/Menu.js +47 -26
  613. package/source/class/qx/test/mobile/dialog/Popup.js +30 -19
  614. package/source/class/qx/test/mobile/embed/Html.js +5 -8
  615. package/source/class/qx/test/mobile/form/Button.js +15 -13
  616. package/source/class/qx/test/mobile/form/CheckBox.js +21 -17
  617. package/source/class/qx/test/mobile/form/Form.js +37 -24
  618. package/source/class/qx/test/mobile/form/Group.js +5 -9
  619. package/source/class/qx/test/mobile/form/Label.js +11 -13
  620. package/source/class/qx/test/mobile/form/NumberField.js +49 -45
  621. package/source/class/qx/test/mobile/form/RadioButton.js +30 -19
  622. package/source/class/qx/test/mobile/form/SelectBox.js +39 -25
  623. package/source/class/qx/test/mobile/form/SingleRenderer.js +31 -27
  624. package/source/class/qx/test/mobile/form/Slider.js +55 -35
  625. package/source/class/qx/test/mobile/form/TextArea.js +34 -24
  626. package/source/class/qx/test/mobile/form/TextField.js +34 -24
  627. package/source/class/qx/test/mobile/form/ToggleButton.js +10 -14
  628. package/source/class/qx/test/mobile/layout/Card.js +21 -17
  629. package/source/class/qx/test/mobile/layout/HBox.js +25 -20
  630. package/source/class/qx/test/mobile/layout/VBox.js +25 -21
  631. package/source/class/qx/test/mobile/list/List.js +114 -83
  632. package/source/class/qx/test/mobile/navigationbar/NavigationBar.js +5 -9
  633. package/source/class/qx/test/mobile/page/Manager.js +7 -13
  634. package/source/class/qx/test/mobile/page/NavigationPage.js +7 -17
  635. package/source/class/qx/test/mobile/page/Page.js +101 -68
  636. package/source/class/qx/test/mobile/tabbar/TabBar.js +11 -21
  637. package/source/class/qx/test/mobile/toolbar/Toolbar.js +16 -16
  638. package/source/class/qx/test/performance/BaseCall.js +31 -36
  639. package/source/class/qx/test/performance/Event.js +60 -53
  640. package/source/class/qx/test/performance/Object.js +16 -22
  641. package/source/class/qx/test/performance/Property.js +20 -22
  642. package/source/class/qx/test/performance/data/Marshaling.js +25 -30
  643. package/source/class/qx/test/performance/decorator/AbstractDecorator.js +22 -34
  644. package/source/class/qx/test/performance/decorator/Background.js +4 -6
  645. package/source/class/qx/test/performance/decorator/BackgroundScale.js +6 -8
  646. package/source/class/qx/test/performance/decorator/Single.js +4 -6
  647. package/source/class/qx/test/performance/element/Element.js +50 -67
  648. package/source/class/qx/test/performance/widget/AbstractWidget.js +31 -44
  649. package/source/class/qx/test/performance/widget/Button.js +5 -7
  650. package/source/class/qx/test/performance/widget/Label.js +5 -7
  651. package/source/class/qx/test/performance/widget/RichLabel.js +6 -8
  652. package/source/class/qx/test/performance/widget/Widget.js +5 -7
  653. package/source/class/qx/test/performance/widget/WidgetWithDecorator.js +7 -9
  654. package/source/class/qx/test/performance/widget/WidgetWithSingle.js +9 -11
  655. package/source/class/qx/test/renderer/Color.js +22 -49
  656. package/source/class/qx/test/testclasses/BaseClassBoth.js +11 -8
  657. package/source/class/qx/test/testclasses/BaseClassIncluded.js +5 -6
  658. package/source/class/qx/test/testclasses/BaseClassPatched.js +15 -8
  659. package/source/class/qx/test/testclasses/DerivedClassBoth.js +7 -7
  660. package/source/class/qx/test/testclasses/DerivedClassIncluded.js +7 -7
  661. package/source/class/qx/test/testclasses/DerivedClassPatched.js +7 -7
  662. package/source/class/qx/test/testclasses/MMixinOne.js +4 -4
  663. package/source/class/qx/test/testclasses/MMixinTwo.js +2 -2
  664. package/source/class/qx/test/testclasses/RootClass.js +8 -8
  665. package/source/class/qx/test/theme/__init__.js +4 -4
  666. package/source/class/qx/test/theme/manager/Color.js +52 -66
  667. package/source/class/qx/test/theme/manager/Decoration.js +177 -154
  668. package/source/class/qx/test/theme/manager/Font.js +68 -39
  669. package/source/class/qx/test/theme/manager/Icon.js +46 -43
  670. package/source/class/qx/test/theme/manager/Meta.js +121 -110
  671. package/source/class/qx/test/theme/manager/__init__.js +4 -4
  672. package/source/class/qx/test/theme/manager/mock/Appearance.js +17 -23
  673. package/source/class/qx/test/theme/manager/mock/Color.js +7 -9
  674. package/source/class/qx/test/theme/manager/mock/Decoration.js +7 -10
  675. package/source/class/qx/test/theme/manager/mock/Font.js +6 -10
  676. package/source/class/qx/test/theme/simple/Appearance.js +268 -210
  677. package/source/class/qx/test/tool/utils/Utils.js +10 -8
  678. package/source/class/qx/test/toolchain/PrivateOptimization.js +20 -13
  679. package/source/class/qx/test/toolchain/TestRunner.js +12 -12
  680. package/source/class/qx/test/toolchain/VariantOptimization.js +37 -26
  681. package/source/class/qx/test/toolchain/__init__.js +4 -4
  682. package/source/class/qx/test/type/Array.js +8 -12
  683. package/source/class/qx/test/type/BaseArray.js +58 -78
  684. package/source/class/qx/test/type/BaseString.js +27 -65
  685. package/source/class/qx/test/type/__init__.js +4 -4
  686. package/source/class/qx/test/ui/BackgroundColor.js +20 -21
  687. package/source/class/qx/test/ui/ChildrenHandling.js +136 -81
  688. package/source/class/qx/test/ui/Destroy.js +310 -248
  689. package/source/class/qx/test/ui/Focus.js +40 -87
  690. package/source/class/qx/test/ui/Insets.js +14 -18
  691. package/source/class/qx/test/ui/LayoutTestCase.js +99 -92
  692. package/source/class/qx/test/ui/LocaleSwitch.js +37 -41
  693. package/source/class/qx/test/ui/RadioItems.js +11 -22
  694. package/source/class/qx/test/ui/Widget.js +13 -17
  695. package/source/class/qx/test/ui/Window.js +26 -39
  696. package/source/class/qx/test/ui/basic/Atom.js +37 -25
  697. package/source/class/qx/test/ui/basic/Image.js +179 -138
  698. package/source/class/qx/test/ui/basic/Label.js +147 -65
  699. package/source/class/qx/test/ui/basic/__init__.js +4 -4
  700. package/source/class/qx/test/ui/command/Command.js +105 -69
  701. package/source/class/qx/test/ui/command/Group.js +24 -21
  702. package/source/class/qx/test/ui/command/GroupManager.js +7 -12
  703. package/source/class/qx/test/ui/container/Stack.js +26 -36
  704. package/source/class/qx/test/ui/core/AbstractScrollArea.js +84 -67
  705. package/source/class/qx/test/ui/core/Appearance.js +53 -54
  706. package/source/class/qx/test/ui/core/Blocker.js +80 -44
  707. package/source/class/qx/test/ui/core/DragDropScrolling.js +69 -55
  708. package/source/class/qx/test/ui/core/Placement.js +22 -34
  709. package/source/class/qx/test/ui/core/Queues.js +28 -39
  710. package/source/class/qx/test/ui/core/SizeHint.js +32 -76
  711. package/source/class/qx/test/ui/core/SizeHintX.js +8 -15
  712. package/source/class/qx/test/ui/core/SizeHintY.js +8 -15
  713. package/source/class/qx/test/ui/core/Spacer.js +11 -18
  714. package/source/class/qx/test/ui/core/Widget.js +117 -112
  715. package/source/class/qx/test/ui/core/__init__.js +4 -4
  716. package/source/class/qx/test/ui/decoration/LinearGradient.js +18 -14
  717. package/source/class/qx/test/ui/embed/Iframe.js +69 -65
  718. package/source/class/qx/test/ui/embed/__init__.js +4 -4
  719. package/source/class/qx/test/ui/form/AbstractSelectBox.js +11 -16
  720. package/source/class/qx/test/ui/form/AbstractVirtualBox.js +12 -19
  721. package/source/class/qx/test/ui/form/BooleanFormat.js +40 -25
  722. package/source/class/qx/test/ui/form/Color.js +29 -19
  723. package/source/class/qx/test/ui/form/ComboBox.js +39 -25
  724. package/source/class/qx/test/ui/form/Date.js +34 -21
  725. package/source/class/qx/test/ui/form/DateField.js +16 -19
  726. package/source/class/qx/test/ui/form/Executable.js +98 -68
  727. package/source/class/qx/test/ui/form/Field.js +65 -54
  728. package/source/class/qx/test/ui/form/Form.js +211 -123
  729. package/source/class/qx/test/ui/form/FormManager.js +72 -100
  730. package/source/class/qx/test/ui/form/FormValidator.js +549 -399
  731. package/source/class/qx/test/ui/form/Label.js +87 -65
  732. package/source/class/qx/test/ui/form/List.js +19 -19
  733. package/source/class/qx/test/ui/form/MenuButton.js +26 -20
  734. package/source/class/qx/test/ui/form/ModelProperty.js +40 -36
  735. package/source/class/qx/test/ui/form/ModelSelection.js +39 -84
  736. package/source/class/qx/test/ui/form/NumberFormat.js +30 -19
  737. package/source/class/qx/test/ui/form/Placeholder.js +147 -87
  738. package/source/class/qx/test/ui/form/RadioButtonGroup.js +31 -26
  739. package/source/class/qx/test/ui/form/RadioGroup.js +58 -54
  740. package/source/class/qx/test/ui/form/Range.js +63 -28
  741. package/source/class/qx/test/ui/form/Renderer.js +39 -33
  742. package/source/class/qx/test/ui/form/Resetter.js +21 -35
  743. package/source/class/qx/test/ui/form/Slider.js +37 -21
  744. package/source/class/qx/test/ui/form/Spinner.js +9 -5
  745. package/source/class/qx/test/ui/form/SplitButton.js +7 -11
  746. package/source/class/qx/test/ui/form/StringFormat.js +60 -30
  747. package/source/class/qx/test/ui/form/TextArea.js +59 -41
  748. package/source/class/qx/test/ui/form/TextField.js +14 -16
  749. package/source/class/qx/test/ui/form/ToggleButton.js +20 -24
  750. package/source/class/qx/test/ui/form/VirtualSelectBox.js +66 -40
  751. package/source/class/qx/test/ui/form/__init__.js +4 -4
  752. package/source/class/qx/test/ui/form/virtual/VirtualComboBox.js +58 -60
  753. package/source/class/qx/test/ui/form/virtual/VirtualDropDownList.js +120 -110
  754. package/source/class/qx/test/ui/form/virtual/VirtualSelectBox.js +43 -27
  755. package/source/class/qx/test/ui/groupbox/CheckGroupBox.js +13 -18
  756. package/source/class/qx/test/ui/indicator/ProgressBar.js +73 -48
  757. package/source/class/qx/test/ui/layout/Box.js +23 -22
  758. package/source/class/qx/test/ui/layout/Flow.js +233 -153
  759. package/source/class/qx/test/ui/layout/Grid.js +88 -101
  760. package/source/class/qx/test/ui/layout/LayoutItem.js +57 -83
  761. package/source/class/qx/test/ui/layout/LayoutRoot.js +7 -11
  762. package/source/class/qx/test/ui/layout/Util.js +30 -31
  763. package/source/class/qx/test/ui/layout/__init__.js +4 -4
  764. package/source/class/qx/test/ui/list/AbstractListTest.js +13 -21
  765. package/source/class/qx/test/ui/list/Group.js +191 -114
  766. package/source/class/qx/test/ui/list/List.js +189 -132
  767. package/source/class/qx/test/ui/list/MAssert.js +14 -9
  768. package/source/class/qx/test/ui/list/ObjectGroup.js +131 -109
  769. package/source/class/qx/test/ui/list/core/MultiSelection.js +58 -44
  770. package/source/class/qx/test/ui/list/core/SingleSelection.js +43 -43
  771. package/source/class/qx/test/ui/list/fixture/GroupMock.js +6 -9
  772. package/source/class/qx/test/ui/list/fixture/ItemMock.js +9 -13
  773. package/source/class/qx/test/ui/root/Inline.js +22 -20
  774. package/source/class/qx/test/ui/selection/AbstractMultiSelectonTest.js +188 -105
  775. package/source/class/qx/test/ui/selection/AbstractSingleSelectonTest.js +173 -125
  776. package/source/class/qx/test/ui/selection/ListMultiSelection.js +19 -21
  777. package/source/class/qx/test/ui/selection/ListSingleSelection.js +19 -21
  778. package/source/class/qx/test/ui/selection/RadioGroup.js +41 -29
  779. package/source/class/qx/test/ui/selection/SelectBox.js +11 -17
  780. package/source/class/qx/test/ui/selection/Stack.js +22 -27
  781. package/source/class/qx/test/ui/selection/TabView.js +35 -26
  782. package/source/class/qx/test/ui/selection/TreeMultiSelection.js +14 -19
  783. package/source/class/qx/test/ui/selection/TreeSingleSelection.js +20 -24
  784. package/source/class/qx/test/ui/selection/__init__.js +4 -4
  785. package/source/class/qx/test/ui/table/Dispose.js +46 -46
  786. package/source/class/qx/test/ui/table/Table.js +74 -69
  787. package/source/class/qx/test/ui/table/__init__.js +4 -4
  788. package/source/class/qx/test/ui/table/celleditor/AbstractField.js +14 -28
  789. package/source/class/qx/test/ui/table/celleditor/ComboBox.js +11 -18
  790. package/source/class/qx/test/ui/table/celleditor/PasswordField.js +6 -10
  791. package/source/class/qx/test/ui/table/celleditor/SelectBox.js +16 -32
  792. package/source/class/qx/test/ui/table/celleditor/TextField.js +6 -9
  793. package/source/class/qx/test/ui/table/celleditor/__init__.js +4 -4
  794. package/source/class/qx/test/ui/table/columnmodel/Basic.js +130 -129
  795. package/source/class/qx/test/ui/table/model/Filtered.js +51 -36
  796. package/source/class/qx/test/ui/table/model/Simple.js +43 -45
  797. package/source/class/qx/test/ui/table/selection/Model.js +70 -22
  798. package/source/class/qx/test/ui/toolbar/OverflowHandling.js +145 -123
  799. package/source/class/qx/test/ui/toolbar/ToolBar.js +20 -30
  800. package/source/class/qx/test/ui/tree/Tree.js +63 -42
  801. package/source/class/qx/test/ui/tree/TreeFolder.js +44 -46
  802. package/source/class/qx/test/ui/tree/virtual/AbstractTreeTest.js +61 -96
  803. package/source/class/qx/test/ui/tree/virtual/MultiSelection.js +68 -39
  804. package/source/class/qx/test/ui/tree/virtual/OneSelection.js +82 -42
  805. package/source/class/qx/test/ui/tree/virtual/OpenCloseController.js +80 -101
  806. package/source/class/qx/test/ui/tree/virtual/SingleSelection.js +40 -32
  807. package/source/class/qx/test/ui/tree/virtual/Sorting.js +46 -47
  808. package/source/class/qx/test/ui/tree/virtual/Tree.js +267 -191
  809. package/source/class/qx/test/ui/tree/virtual/TreeItem.js +60 -63
  810. package/source/class/qx/test/ui/tree/virtual/UtilTest.js +65 -50
  811. package/source/class/qx/test/ui/tree/virtual/WidgetProvider.js +127 -132
  812. package/source/class/qx/test/ui/virtual/Axis.js +210 -193
  813. package/source/class/qx/test/ui/virtual/Pane.js +287 -190
  814. package/source/class/qx/test/ui/virtual/PaneUpdate.js +71 -77
  815. package/source/class/qx/test/ui/virtual/PointerEventMock.js +10 -13
  816. package/source/class/qx/test/ui/virtual/Scroller.js +29 -39
  817. package/source/class/qx/test/ui/virtual/__init__.js +4 -4
  818. package/source/class/qx/test/ui/virtual/cell/WidgetCell.js +39 -40
  819. package/source/class/qx/test/ui/virtual/layer/CellSpanManager.js +157 -127
  820. package/source/class/qx/test/ui/virtual/layer/Column.js +6 -10
  821. package/source/class/qx/test/ui/virtual/layer/GridLines.js +6 -10
  822. package/source/class/qx/test/ui/virtual/layer/GridLinesHorizontal.js +6 -9
  823. package/source/class/qx/test/ui/virtual/layer/GridLinesVertical.js +6 -9
  824. package/source/class/qx/test/ui/virtual/layer/HtmlCell.js +12 -19
  825. package/source/class/qx/test/ui/virtual/layer/HtmlCellSpan.js +13 -21
  826. package/source/class/qx/test/ui/virtual/layer/LayerMock.js +31 -43
  827. package/source/class/qx/test/ui/virtual/layer/LayerSimple.js +26 -26
  828. package/source/class/qx/test/ui/virtual/layer/LayerTestCase.js +52 -50
  829. package/source/class/qx/test/ui/virtual/layer/Row.js +6 -10
  830. package/source/class/qx/test/ui/virtual/layer/WidgetCell.js +45 -52
  831. package/source/class/qx/test/ui/virtual/layer/WidgetCellSpan.js +71 -48
  832. package/source/class/qx/test/ui/virtual/layer/__init__.js +4 -4
  833. package/source/class/qx/test/ui/virtual/performance/AbstractLayerTest.js +84 -68
  834. package/source/class/qx/test/ui/virtual/performance/DomCell.js +6 -9
  835. package/source/class/qx/test/ui/virtual/performance/DomPoolCell.js +6 -9
  836. package/source/class/qx/test/ui/virtual/performance/HtmlDivCell.js +7 -11
  837. package/source/class/qx/test/ui/virtual/performance/HtmlDivRelative.js +6 -9
  838. package/source/class/qx/test/ui/virtual/performance/HtmlTableCell.js +8 -13
  839. package/source/class/qx/test/ui/virtual/performance/HtmlTableCellNaive.js +8 -13
  840. package/source/class/qx/test/ui/virtual/performance/HtmlTableCssCell.js +8 -19
  841. package/source/class/qx/test/ui/virtual/performance/WidgetCell.js +10 -15
  842. package/source/class/qx/test/ui/virtual/performance/__init__.js +4 -4
  843. package/source/class/qx/test/ui/virtual/performance/layer/DomCell.js +24 -18
  844. package/source/class/qx/test/ui/virtual/performance/layer/DomPoolCell.js +28 -26
  845. package/source/class/qx/test/ui/virtual/performance/layer/HtmlDivRelative.js +13 -17
  846. package/source/class/qx/test/ui/virtual/performance/layer/HtmlTableCell.js +29 -28
  847. package/source/class/qx/test/ui/virtual/performance/layer/HtmlTableCellNaive.js +22 -24
  848. package/source/class/qx/test/ui/virtual/performance/layer/HtmlTableCssCell.js +32 -47
  849. package/source/class/qx/test/ui/virtual/performance/layer/__init__.js +4 -4
  850. package/source/class/qx/test/ui/window/Desktop.js +21 -12
  851. package/source/class/qx/test/util/Base64.js +10 -13
  852. package/source/class/qx/test/util/ColorUtil.js +121 -54
  853. package/source/class/qx/test/util/DateFormat.js +582 -351
  854. package/source/class/qx/test/util/DateMock.js +16 -19
  855. package/source/class/qx/test/util/DeferredCall.js +12 -13
  856. package/source/class/qx/test/util/Delegate.js +28 -26
  857. package/source/class/qx/test/util/DisposeUtil.js +32 -14
  858. package/source/class/qx/test/util/DynamicScriptLoader.js +99 -64
  859. package/source/class/qx/test/util/Fsm.js +16 -18
  860. package/source/class/qx/test/util/Function.js +23 -19
  861. package/source/class/qx/test/util/LibraryManager.js +15 -22
  862. package/source/class/qx/test/util/NumberFormat.js +53 -64
  863. package/source/class/qx/test/util/PropertyUtil.js +35 -35
  864. package/source/class/qx/test/util/Request.js +26 -18
  865. package/source/class/qx/test/util/ResourceManager.js +50 -35
  866. package/source/class/qx/test/util/ResponseParser.js +45 -35
  867. package/source/class/qx/test/util/RingBuffer.js +15 -28
  868. package/source/class/qx/test/util/Serializer.js +210 -153
  869. package/source/class/qx/test/util/StringBuilder.js +7 -13
  870. package/source/class/qx/test/util/StringSplit.js +114 -69
  871. package/source/class/qx/test/util/Uri.js +74 -78
  872. package/source/class/qx/test/util/Validate.js +95 -64
  873. package/source/class/qx/test/util/placement/BestFitAxis.js +17 -26
  874. package/source/class/qx/test/util/placement/DirectAxis.js +8 -11
  875. package/source/class/qx/test/util/placement/KeepAlignAxis.js +17 -26
  876. package/source/class/qx/test/util/placement/Placement.js +607 -244
  877. package/source/class/qx/test/util/placement/__init__.js +4 -4
  878. package/source/class/qx/theme/Classic.js +9 -11
  879. package/source/class/qx/theme/Indigo.js +9 -11
  880. package/source/class/qx/theme/Modern.js +9 -11
  881. package/source/class/qx/theme/Simple.js +9 -11
  882. package/source/class/qx/theme/TangibleDark.js +1 -1
  883. package/source/class/qx/theme/TangibleLight.js +1 -1
  884. package/source/class/qx/theme/__init__.js +4 -4
  885. package/source/class/qx/theme/classic/Appearance.js +995 -1336
  886. package/source/class/qx/theme/classic/Color.js +83 -83
  887. package/source/class/qx/theme/classic/Decoration.js +318 -299
  888. package/source/class/qx/theme/classic/Font.js +38 -25
  889. package/source/class/qx/theme/icon/Oxygen.js +4 -5
  890. package/source/class/qx/theme/icon/Tango.js +4 -5
  891. package/source/class/qx/theme/indigo/Appearance.js +66 -85
  892. package/source/class/qx/theme/indigo/Color.js +65 -66
  893. package/source/class/qx/theme/indigo/Decoration.js +31 -45
  894. package/source/class/qx/theme/indigo/Font.js +20 -29
  895. package/source/class/qx/theme/manager/Appearance.js +58 -91
  896. package/source/class/qx/theme/manager/Color.js +20 -41
  897. package/source/class/qx/theme/manager/Decoration.js +72 -100
  898. package/source/class/qx/theme/manager/Font.js +51 -67
  899. package/source/class/qx/theme/manager/Icon.js +13 -27
  900. package/source/class/qx/theme/manager/Meta.js +27 -44
  901. package/source/class/qx/theme/modern/Appearance.js +1049 -1440
  902. package/source/class/qx/theme/modern/Color.js +155 -166
  903. package/source/class/qx/theme/modern/Decoration.js +471 -598
  904. package/source/class/qx/theme/modern/Font.js +59 -52
  905. package/source/class/qx/theme/simple/Appearance.js +936 -1207
  906. package/source/class/qx/theme/simple/Color.js +62 -62
  907. package/source/class/qx/theme/simple/Decoration.js +456 -678
  908. package/source/class/qx/theme/simple/Font.js +18 -25
  909. package/source/class/qx/theme/simple/Image.js +49 -52
  910. package/source/class/qx/theme/tangible/Appearance.js +1575 -1743
  911. package/source/class/qx/theme/tangible/ColorDark.js +5 -5
  912. package/source/class/qx/theme/tangible/ColorEngine.js +38 -35
  913. package/source/class/qx/theme/tangible/ColorLight.js +7 -7
  914. package/source/class/qx/theme/tangible/Decoration.js +1108 -1300
  915. package/source/class/qx/theme/tangible/Font.js +66 -70
  916. package/source/class/qx/theme/tangible/Image.js +44 -48
  917. package/source/class/qx/tool/cli/Application.js +5 -5
  918. package/source/class/qx/tool/cli/Cli.js +103 -52
  919. package/source/class/qx/tool/cli/ConfigDb.js +18 -15
  920. package/source/class/qx/tool/cli/LibraryApplication.js +1 -1
  921. package/source/class/qx/tool/cli/Watch.js +174 -102
  922. package/source/class/qx/tool/cli/api/AbstractApi.js +17 -18
  923. package/source/class/qx/tool/cli/api/CompilerApi.js +15 -8
  924. package/source/class/qx/tool/cli/api/LibraryApi.js +4 -6
  925. package/source/class/qx/tool/cli/api/Test.js +12 -9
  926. package/source/class/qx/tool/cli/commands/Add.js +12 -15
  927. package/source/class/qx/tool/cli/commands/Clean.js +10 -9
  928. package/source/class/qx/tool/cli/commands/Command.js +18 -13
  929. package/source/class/qx/tool/cli/commands/Compile.js +630 -264
  930. package/source/class/qx/tool/cli/commands/Config.js +75 -42
  931. package/source/class/qx/tool/cli/commands/Create.js +108 -59
  932. package/source/class/qx/tool/cli/commands/Deploy.js +138 -86
  933. package/source/class/qx/tool/cli/commands/Es6ify.js +118 -0
  934. package/source/class/qx/tool/cli/commands/Lint.js +75 -34
  935. package/source/class/qx/tool/cli/commands/Migrate.js +13 -7
  936. package/source/class/qx/tool/cli/commands/Package.js +67 -45
  937. package/source/class/qx/tool/cli/commands/Pkg.js +21 -18
  938. package/source/class/qx/tool/cli/commands/Run.js +57 -37
  939. package/source/class/qx/tool/cli/commands/Serve.js +62 -37
  940. package/source/class/qx/tool/cli/commands/Test.js +40 -18
  941. package/source/class/qx/tool/cli/commands/add/Class.js +66 -28
  942. package/source/class/qx/tool/cli/commands/add/Script.js +54 -27
  943. package/source/class/qx/tool/cli/commands/package/Install.js +265 -103
  944. package/source/class/qx/tool/cli/commands/package/List.js +199 -75
  945. package/source/class/qx/tool/cli/commands/package/Migrate.js +7 -3
  946. package/source/class/qx/tool/cli/commands/package/Publish.js +209 -117
  947. package/source/class/qx/tool/cli/commands/package/Remove.js +40 -17
  948. package/source/class/qx/tool/cli/commands/package/Update.js +115 -48
  949. package/source/class/qx/tool/cli/commands/package/Upgrade.js +41 -20
  950. package/source/class/qx/tool/compiler/Analyser.js +427 -222
  951. package/source/class/qx/tool/compiler/ClassFile.js +831 -401
  952. package/source/class/qx/tool/compiler/Console.js +136 -87
  953. package/source/class/qx/tool/compiler/Es6ify.js +404 -0
  954. package/source/class/qx/tool/compiler/Preprocess.js +28 -25
  955. package/source/class/qx/tool/compiler/app/Application.js +149 -72
  956. package/source/class/qx/tool/compiler/app/Cldr.js +506 -106
  957. package/source/class/qx/tool/compiler/app/Library.js +62 -27
  958. package/source/class/qx/tool/compiler/app/Part.js +10 -12
  959. package/source/class/qx/tool/compiler/app/Translation.js +189 -162
  960. package/source/class/qx/tool/compiler/app/WebFont.js +215 -161
  961. package/source/class/qx/tool/compiler/jsdoc/ChildControlParser.js +3 -3
  962. package/source/class/qx/tool/compiler/jsdoc/CommandParser.js +8 -9
  963. package/source/class/qx/tool/compiler/jsdoc/ParamParser.js +7 -6
  964. package/source/class/qx/tool/compiler/jsdoc/Parser.js +27 -18
  965. package/source/class/qx/tool/compiler/jsdoc/ReturnParser.js +3 -3
  966. package/source/class/qx/tool/compiler/jsdoc/ThrowsParser.js +4 -4
  967. package/source/class/qx/tool/compiler/makers/AbstractAppMaker.js +5 -6
  968. package/source/class/qx/tool/compiler/makers/AppMaker.js +38 -18
  969. package/source/class/qx/tool/compiler/makers/Maker.js +29 -21
  970. package/source/class/qx/tool/compiler/resources/AbstractMatcher.js +8 -8
  971. package/source/class/qx/tool/compiler/resources/Asset.js +123 -61
  972. package/source/class/qx/tool/compiler/resources/ImageLoader.js +18 -8
  973. package/source/class/qx/tool/compiler/resources/Manager.js +156 -93
  974. package/source/class/qx/tool/compiler/resources/MetaLoader.js +5 -3
  975. package/source/class/qx/tool/compiler/resources/ResourceConverter.js +8 -8
  976. package/source/class/qx/tool/compiler/resources/ResourceLoader.js +8 -9
  977. package/source/class/qx/tool/compiler/resources/ScssConverter.js +54 -18
  978. package/source/class/qx/tool/compiler/resources/ScssFile.js +157 -80
  979. package/source/class/qx/tool/compiler/resources/ScssIncludeConverter.js +3 -3
  980. package/source/class/qx/tool/compiler/targets/BuildTarget.js +23 -13
  981. package/source/class/qx/tool/compiler/targets/SourceCodeCopier.js +29 -9
  982. package/source/class/qx/tool/compiler/targets/SourceTarget.js +2 -2
  983. package/source/class/qx/tool/compiler/targets/Target.js +292 -188
  984. package/source/class/qx/tool/compiler/targets/TypeScriptWriter.js +163 -103
  985. package/source/class/qx/tool/compiler/targets/meta/AbstractJavascriptMeta.js +48 -23
  986. package/source/class/qx/tool/compiler/targets/meta/ApplicationMeta.js +75 -62
  987. package/source/class/qx/tool/compiler/targets/meta/BootJs.js +49 -29
  988. package/source/class/qx/tool/compiler/targets/meta/Javascript.js +6 -7
  989. package/source/class/qx/tool/compiler/targets/meta/Package.js +54 -51
  990. package/source/class/qx/tool/compiler/targets/meta/PackageJavascript.js +41 -21
  991. package/source/class/qx/tool/compiler/targets/meta/Part.js +9 -10
  992. package/source/class/qx/tool/compiler/targets/meta/PolyfillJs.js +10 -5
  993. package/source/class/qx/tool/compiler/targets/meta/Uglify.js +35 -23
  994. package/source/class/qx/tool/config/Abstract.js +61 -25
  995. package/source/class/qx/tool/config/Compile.js +3 -2
  996. package/source/class/qx/tool/config/Lockfile.js +3 -2
  997. package/source/class/qx/tool/config/Manifest.js +3 -2
  998. package/source/class/qx/tool/config/Registry.js +4 -3
  999. package/source/class/qx/tool/config/Utils.js +88 -37
  1000. package/source/class/qx/tool/migration/BaseMigration.js +67 -25
  1001. package/source/class/qx/tool/migration/M6_0_0.js +96 -46
  1002. package/source/class/qx/tool/migration/M7_0_0.js +12 -6
  1003. package/source/class/qx/tool/migration/Runner.js +28 -14
  1004. package/source/class/qx/tool/utils/IndexedArray.js +15 -18
  1005. package/source/class/qx/tool/utils/Json.js +35 -14
  1006. package/source/class/qx/tool/utils/LogManager.js +50 -26
  1007. package/source/class/qx/tool/utils/Logger.js +11 -12
  1008. package/source/class/qx/tool/utils/Promisify.js +45 -49
  1009. package/source/class/qx/tool/utils/Utils.js +63 -48
  1010. package/source/class/qx/tool/utils/Values.js +4 -7
  1011. package/source/class/qx/tool/utils/Website.js +82 -29
  1012. package/source/class/qx/tool/utils/files/FindFiles.js +37 -33
  1013. package/source/class/qx/tool/utils/files/Utils.js +74 -54
  1014. package/source/class/qx/tool/utils/json/Parser.js +163 -54
  1015. package/source/class/qx/tool/utils/json/Stringify.js +87 -72
  1016. package/source/class/qx/tool/utils/json/Tokenizer.js +64 -39
  1017. package/source/class/qx/tool/utils/json/Writer.js +20 -21
  1018. package/source/class/qx/type/Array.js +19 -41
  1019. package/source/class/qx/type/BaseArray.js +136 -151
  1020. package/source/class/qx/type/BaseError.js +17 -34
  1021. package/source/class/qx/type/BaseString.js +104 -121
  1022. package/source/class/qx/type/__init__.js +3 -3
  1023. package/source/class/qx/ui/basic/Atom.js +75 -109
  1024. package/source/class/qx/ui/basic/Image.js +283 -319
  1025. package/source/class/qx/ui/basic/Label.js +161 -208
  1026. package/source/class/qx/ui/command/Command.js +51 -86
  1027. package/source/class/qx/ui/command/Group.js +43 -50
  1028. package/source/class/qx/ui/command/GroupManager.js +50 -53
  1029. package/source/class/qx/ui/container/Composite.js +15 -29
  1030. package/source/class/qx/ui/container/Resizer.js +7 -11
  1031. package/source/class/qx/ui/container/Scroll.js +10 -21
  1032. package/source/class/qx/ui/container/SlideBar.js +76 -119
  1033. package/source/class/qx/ui/container/Stack.js +27 -54
  1034. package/source/class/qx/ui/control/ColorPopup.js +109 -130
  1035. package/source/class/qx/ui/control/ColorSelector.js +334 -301
  1036. package/source/class/qx/ui/control/DateChooser.js +143 -177
  1037. package/source/class/qx/ui/core/Blocker.js +91 -127
  1038. package/source/class/qx/ui/core/ColumnData.js +16 -34
  1039. package/source/class/qx/ui/core/DragDropCursor.js +17 -30
  1040. package/source/class/qx/ui/core/DragDropScrolling.js +8 -14
  1041. package/source/class/qx/ui/core/EventHandler.js +108 -132
  1042. package/source/class/qx/ui/core/FocusHandler.js +78 -127
  1043. package/source/class/qx/ui/core/IMultiSelection.js +5 -9
  1044. package/source/class/qx/ui/core/ISingleSelection.js +10 -16
  1045. package/source/class/qx/ui/core/ISingleSelectionProvider.js +4 -6
  1046. package/source/class/qx/ui/core/LayoutItem.js +190 -306
  1047. package/source/class/qx/ui/core/MBlocker.js +22 -38
  1048. package/source/class/qx/ui/core/MChildrenHandling.js +14 -29
  1049. package/source/class/qx/ui/core/MContentPadding.js +50 -69
  1050. package/source/class/qx/ui/core/MDragDropScrolling.js +82 -80
  1051. package/source/class/qx/ui/core/MExecutable.js +27 -52
  1052. package/source/class/qx/ui/core/MLayoutHandling.js +6 -14
  1053. package/source/class/qx/ui/core/MMovable.js +64 -80
  1054. package/source/class/qx/ui/core/MMultiSelectionHandling.js +68 -87
  1055. package/source/class/qx/ui/core/MNativeOverflow.js +16 -26
  1056. package/source/class/qx/ui/core/MPlacement.js +171 -170
  1057. package/source/class/qx/ui/core/MRemoteChildrenHandling.js +14 -27
  1058. package/source/class/qx/ui/core/MRemoteLayoutHandling.js +4 -7
  1059. package/source/class/qx/ui/core/MResizable.js +142 -175
  1060. package/source/class/qx/ui/core/MSingleSelectionHandling.js +40 -45
  1061. package/source/class/qx/ui/core/SingleSelectionManager.js +41 -60
  1062. package/source/class/qx/ui/core/Spacer.js +12 -22
  1063. package/source/class/qx/ui/core/Widget.js +628 -983
  1064. package/source/class/qx/ui/core/queue/Appearance.js +15 -24
  1065. package/source/class/qx/ui/core/queue/Dispose.js +7 -16
  1066. package/source/class/qx/ui/core/queue/Layout.js +44 -71
  1067. package/source/class/qx/ui/core/queue/Manager.js +140 -133
  1068. package/source/class/qx/ui/core/queue/Visibility.js +21 -39
  1069. package/source/class/qx/ui/core/queue/Widget.js +15 -26
  1070. package/source/class/qx/ui/core/scroll/AbstractScrollArea.js +124 -162
  1071. package/source/class/qx/ui/core/scroll/IScrollBar.js +13 -24
  1072. package/source/class/qx/ui/core/scroll/MRoll.js +14 -19
  1073. package/source/class/qx/ui/core/scroll/MScrollBarFactory.js +3 -6
  1074. package/source/class/qx/ui/core/scroll/MWheelHandling.js +10 -12
  1075. package/source/class/qx/ui/core/scroll/NativeScrollBar.js +101 -125
  1076. package/source/class/qx/ui/core/scroll/ScrollBar.js +86 -130
  1077. package/source/class/qx/ui/core/scroll/ScrollPane.js +95 -134
  1078. package/source/class/qx/ui/core/scroll/ScrollSlider.js +13 -19
  1079. package/source/class/qx/ui/core/scroll/__init__.js +4 -4
  1080. package/source/class/qx/ui/core/selection/Abstract.js +255 -456
  1081. package/source/class/qx/ui/core/selection/ScrollArea.js +35 -73
  1082. package/source/class/qx/ui/core/selection/Widget.js +57 -120
  1083. package/source/class/qx/ui/decoration/Abstract.js +11 -20
  1084. package/source/class/qx/ui/decoration/Decorator.js +56 -55
  1085. package/source/class/qx/ui/decoration/IDecorator.js +5 -11
  1086. package/source/class/qx/ui/decoration/MBackgroundColor.js +13 -20
  1087. package/source/class/qx/ui/decoration/MBackgroundImage.js +82 -77
  1088. package/source/class/qx/ui/decoration/MBorderImage.js +72 -94
  1089. package/source/class/qx/ui/decoration/MBorderRadius.js +35 -38
  1090. package/source/class/qx/ui/decoration/MBoxShadow.js +61 -55
  1091. package/source/class/qx/ui/decoration/MDoubleBorder.js +157 -155
  1092. package/source/class/qx/ui/decoration/MLinearBackgroundGradient.js +169 -89
  1093. package/source/class/qx/ui/decoration/MSingleBorder.js +138 -124
  1094. package/source/class/qx/ui/decoration/MTransition.js +46 -42
  1095. package/source/class/qx/ui/decoration/__init__.js +2 -2
  1096. package/source/class/qx/ui/embed/AbstractIframe.js +37 -55
  1097. package/source/class/qx/ui/embed/Canvas.js +34 -66
  1098. package/source/class/qx/ui/embed/Html.js +46 -70
  1099. package/source/class/qx/ui/embed/Iframe.js +178 -158
  1100. package/source/class/qx/ui/embed/ThemedIframe.js +91 -135
  1101. package/source/class/qx/ui/form/AbstractField.js +262 -303
  1102. package/source/class/qx/ui/form/AbstractSelectBox.js +65 -87
  1103. package/source/class/qx/ui/form/Button.js +35 -73
  1104. package/source/class/qx/ui/form/CheckBox.js +26 -48
  1105. package/source/class/qx/ui/form/CheckedList.js +41 -25
  1106. package/source/class/qx/ui/form/CheckedSelectBox.js +97 -62
  1107. package/source/class/qx/ui/form/ComboBox.js +93 -121
  1108. package/source/class/qx/ui/form/DateField.js +140 -181
  1109. package/source/class/qx/ui/form/Form.js +50 -69
  1110. package/source/class/qx/ui/form/HoverButton.js +37 -54
  1111. package/source/class/qx/ui/form/IArrayForm.js +8 -16
  1112. package/source/class/qx/ui/form/IBooleanForm.js +8 -16
  1113. package/source/class/qx/ui/form/IColorForm.js +8 -16
  1114. package/source/class/qx/ui/form/IDateForm.js +8 -16
  1115. package/source/class/qx/ui/form/IExecutable.js +7 -14
  1116. package/source/class/qx/ui/form/IField.js +7 -14
  1117. package/source/class/qx/ui/form/IForm.js +17 -32
  1118. package/source/class/qx/ui/form/IListItem.js +1 -4
  1119. package/source/class/qx/ui/form/IModel.js +7 -15
  1120. package/source/class/qx/ui/form/IModelForm.js +8 -16
  1121. package/source/class/qx/ui/form/IModelSelection.js +4 -8
  1122. package/source/class/qx/ui/form/INumberForm.js +8 -15
  1123. package/source/class/qx/ui/form/IRadioItem.js +8 -17
  1124. package/source/class/qx/ui/form/IRange.js +10 -20
  1125. package/source/class/qx/ui/form/IStringForm.js +8 -16
  1126. package/source/class/qx/ui/form/List.js +82 -122
  1127. package/source/class/qx/ui/form/ListItem.js +21 -38
  1128. package/source/class/qx/ui/form/MForm.js +35 -41
  1129. package/source/class/qx/ui/form/MModelProperty.js +9 -14
  1130. package/source/class/qx/ui/form/MModelSelection.js +30 -32
  1131. package/source/class/qx/ui/form/MenuButton.js +44 -75
  1132. package/source/class/qx/ui/form/PasswordField.js +4 -6
  1133. package/source/class/qx/ui/form/RadioButton.js +36 -72
  1134. package/source/class/qx/ui/form/RadioButtonGroup.js +67 -82
  1135. package/source/class/qx/ui/form/RadioGroup.js +92 -127
  1136. package/source/class/qx/ui/form/RepeatButton.js +57 -106
  1137. package/source/class/qx/ui/form/Resetter.js +19 -29
  1138. package/source/class/qx/ui/form/SelectBox.js +56 -104
  1139. package/source/class/qx/ui/form/Slider.js +202 -269
  1140. package/source/class/qx/ui/form/Spinner.js +173 -217
  1141. package/source/class/qx/ui/form/SplitButton.js +73 -115
  1142. package/source/class/qx/ui/form/Tag.js +7 -8
  1143. package/source/class/qx/ui/form/TextArea.js +147 -153
  1144. package/source/class/qx/ui/form/TextField.js +37 -46
  1145. package/source/class/qx/ui/form/ToggleButton.js +54 -90
  1146. package/source/class/qx/ui/form/VirtualComboBox.js +73 -113
  1147. package/source/class/qx/ui/form/VirtualSelectBox.js +264 -274
  1148. package/source/class/qx/ui/form/core/AbstractVirtualBox.js +117 -157
  1149. package/source/class/qx/ui/form/core/VirtualDropDownList.js +101 -144
  1150. package/source/class/qx/ui/form/renderer/AbstractRenderer.js +48 -55
  1151. package/source/class/qx/ui/form/renderer/Double.js +25 -34
  1152. package/source/class/qx/ui/form/renderer/IFormRenderer.js +4 -8
  1153. package/source/class/qx/ui/form/renderer/Single.js +25 -35
  1154. package/source/class/qx/ui/form/renderer/SinglePlaceholder.js +12 -11
  1155. package/source/class/qx/ui/form/renderer/__init__.js +5 -5
  1156. package/source/class/qx/ui/form/validation/AsyncValidator.js +13 -19
  1157. package/source/class/qx/ui/form/validation/Manager.js +74 -108
  1158. package/source/class/qx/ui/form/validation/__init__.js +6 -6
  1159. package/source/class/qx/ui/groupbox/CheckGroupBox.js +30 -47
  1160. package/source/class/qx/ui/groupbox/GroupBox.js +36 -75
  1161. package/source/class/qx/ui/groupbox/RadioGroupBox.js +29 -59
  1162. package/source/class/qx/ui/groupbox/__init__.js +3 -3
  1163. package/source/class/qx/ui/indicator/ProgressBar.js +29 -46
  1164. package/source/class/qx/ui/layout/Abstract.js +28 -53
  1165. package/source/class/qx/ui/layout/Atom.js +95 -111
  1166. package/source/class/qx/ui/layout/Basic.js +29 -30
  1167. package/source/class/qx/ui/layout/Canvas.js +62 -99
  1168. package/source/class/qx/ui/layout/Dock.js +266 -250
  1169. package/source/class/qx/ui/layout/Flow.js +50 -76
  1170. package/source/class/qx/ui/layout/Grid.js +268 -343
  1171. package/source/class/qx/ui/layout/Grow.js +26 -32
  1172. package/source/class/qx/ui/layout/HBox.js +137 -153
  1173. package/source/class/qx/ui/layout/LineSizeIterator.js +19 -28
  1174. package/source/class/qx/ui/layout/Util.js +91 -120
  1175. package/source/class/qx/ui/layout/VBox.js +125 -147
  1176. package/source/class/qx/ui/list/List.js +148 -262
  1177. package/source/class/qx/ui/list/core/IListDelegate.js +13 -26
  1178. package/source/class/qx/ui/list/core/MWidgetController.js +51 -78
  1179. package/source/class/qx/ui/list/provider/IListProvider.js +15 -28
  1180. package/source/class/qx/ui/list/provider/WidgetProvider.js +52 -84
  1181. package/source/class/qx/ui/menu/AbstractButton.js +118 -127
  1182. package/source/class/qx/ui/menu/Button.js +11 -25
  1183. package/source/class/qx/ui/menu/ButtonLayout.js +49 -37
  1184. package/source/class/qx/ui/menu/CheckBox.js +21 -46
  1185. package/source/class/qx/ui/menu/Layout.js +45 -51
  1186. package/source/class/qx/ui/menu/Manager.js +131 -209
  1187. package/source/class/qx/ui/menu/Menu.js +164 -259
  1188. package/source/class/qx/ui/menu/MenuSlideBar.js +13 -20
  1189. package/source/class/qx/ui/menu/RadioButton.js +29 -51
  1190. package/source/class/qx/ui/menu/Separator.js +9 -16
  1191. package/source/class/qx/ui/menubar/Button.js +23 -41
  1192. package/source/class/qx/ui/menubar/MenuBar.js +9 -13
  1193. package/source/class/qx/ui/mobile/__init__.js +5 -5
  1194. package/source/class/qx/ui/mobile/basic/Atom.js +79 -101
  1195. package/source/class/qx/ui/mobile/basic/Image.js +80 -86
  1196. package/source/class/qx/ui/mobile/basic/Label.js +38 -54
  1197. package/source/class/qx/ui/mobile/container/Carousel.js +281 -188
  1198. package/source/class/qx/ui/mobile/container/Collapsible.js +57 -77
  1199. package/source/class/qx/ui/mobile/container/Composite.js +9 -13
  1200. package/source/class/qx/ui/mobile/container/Drawer.js +167 -164
  1201. package/source/class/qx/ui/mobile/container/INavigation.js +6 -10
  1202. package/source/class/qx/ui/mobile/container/IScrollDelegate.js +4 -6
  1203. package/source/class/qx/ui/mobile/container/MIScroll.js +108 -100
  1204. package/source/class/qx/ui/mobile/container/MNativeScroll.js +118 -102
  1205. package/source/class/qx/ui/mobile/container/MScrollHandling.js +8 -7
  1206. package/source/class/qx/ui/mobile/container/Navigation.js +46 -65
  1207. package/source/class/qx/ui/mobile/container/Scroll.js +140 -151
  1208. package/source/class/qx/ui/mobile/control/Picker.js +125 -112
  1209. package/source/class/qx/ui/mobile/core/Blocker.js +62 -71
  1210. package/source/class/qx/ui/mobile/core/DomUpdatedHandler.js +24 -60
  1211. package/source/class/qx/ui/mobile/core/EventHandler.js +158 -138
  1212. package/source/class/qx/ui/mobile/core/MChildrenHandling.js +14 -30
  1213. package/source/class/qx/ui/mobile/core/MLayoutHandling.js +6 -14
  1214. package/source/class/qx/ui/mobile/core/MResize.js +16 -30
  1215. package/source/class/qx/ui/mobile/core/Root.js +90 -80
  1216. package/source/class/qx/ui/mobile/core/Widget.js +351 -479
  1217. package/source/class/qx/ui/mobile/dialog/BusyIndicator.js +31 -46
  1218. package/source/class/qx/ui/mobile/dialog/Manager.js +127 -89
  1219. package/source/class/qx/ui/mobile/dialog/Menu.js +111 -122
  1220. package/source/class/qx/ui/mobile/dialog/Popup.js +202 -194
  1221. package/source/class/qx/ui/mobile/embed/Canvas.js +12 -25
  1222. package/source/class/qx/ui/mobile/embed/Html.js +13 -27
  1223. package/source/class/qx/ui/mobile/form/Button.js +12 -18
  1224. package/source/class/qx/ui/mobile/form/CheckBox.js +20 -35
  1225. package/source/class/qx/ui/mobile/form/Form.js +31 -51
  1226. package/source/class/qx/ui/mobile/form/Group.js +18 -30
  1227. package/source/class/qx/ui/mobile/form/Input.js +30 -35
  1228. package/source/class/qx/ui/mobile/form/Label.js +76 -79
  1229. package/source/class/qx/ui/mobile/form/MState.js +20 -27
  1230. package/source/class/qx/ui/mobile/form/MText.js +27 -47
  1231. package/source/class/qx/ui/mobile/form/MValue.js +66 -94
  1232. package/source/class/qx/ui/mobile/form/NumberField.js +30 -47
  1233. package/source/class/qx/ui/mobile/form/PasswordField.js +8 -14
  1234. package/source/class/qx/ui/mobile/form/RadioButton.js +25 -46
  1235. package/source/class/qx/ui/mobile/form/RadioGroup.js +2 -4
  1236. package/source/class/qx/ui/mobile/form/Row.js +14 -29
  1237. package/source/class/qx/ui/mobile/form/SelectBox.js +77 -104
  1238. package/source/class/qx/ui/mobile/form/Slider.js +116 -144
  1239. package/source/class/qx/ui/mobile/form/TextArea.js +26 -39
  1240. package/source/class/qx/ui/mobile/form/TextField.js +18 -28
  1241. package/source/class/qx/ui/mobile/form/Title.js +11 -19
  1242. package/source/class/qx/ui/mobile/form/ToggleButton.js +35 -58
  1243. package/source/class/qx/ui/mobile/form/__init__.js +1 -1
  1244. package/source/class/qx/ui/mobile/form/renderer/AbstractRenderer.js +24 -31
  1245. package/source/class/qx/ui/mobile/form/renderer/Single.js +59 -85
  1246. package/source/class/qx/ui/mobile/form/renderer/SinglePlaceholder.js +8 -16
  1247. package/source/class/qx/ui/mobile/layout/Abstract.js +48 -85
  1248. package/source/class/qx/ui/mobile/layout/AbstractBox.js +93 -125
  1249. package/source/class/qx/ui/mobile/layout/Card.js +133 -116
  1250. package/source/class/qx/ui/mobile/layout/CardAnimation.js +95 -72
  1251. package/source/class/qx/ui/mobile/layout/HBox.js +9 -12
  1252. package/source/class/qx/ui/mobile/layout/VBox.js +9 -12
  1253. package/source/class/qx/ui/mobile/list/IListDelegate.js +5 -9
  1254. package/source/class/qx/ui/mobile/list/List.js +172 -183
  1255. package/source/class/qx/ui/mobile/list/provider/Provider.js +58 -65
  1256. package/source/class/qx/ui/mobile/list/renderer/Abstract.js +54 -82
  1257. package/source/class/qx/ui/mobile/list/renderer/Default.js +39 -55
  1258. package/source/class/qx/ui/mobile/list/renderer/group/Abstract.js +20 -33
  1259. package/source/class/qx/ui/mobile/list/renderer/group/Default.js +29 -45
  1260. package/source/class/qx/ui/mobile/navigationbar/BackButton.js +11 -15
  1261. package/source/class/qx/ui/mobile/navigationbar/Button.js +11 -15
  1262. package/source/class/qx/ui/mobile/navigationbar/NavigationBar.js +23 -29
  1263. package/source/class/qx/ui/mobile/navigationbar/Title.js +12 -20
  1264. package/source/class/qx/ui/mobile/page/Manager.js +195 -169
  1265. package/source/class/qx/ui/mobile/page/NavigationPage.js +132 -196
  1266. package/source/class/qx/ui/mobile/page/Page.js +109 -148
  1267. package/source/class/qx/ui/mobile/tabbar/TabBar.js +41 -62
  1268. package/source/class/qx/ui/mobile/tabbar/TabButton.js +19 -28
  1269. package/source/class/qx/ui/mobile/toolbar/Button.js +7 -11
  1270. package/source/class/qx/ui/mobile/toolbar/Separator.js +11 -15
  1271. package/source/class/qx/ui/mobile/toolbar/ToolBar.js +30 -39
  1272. package/source/class/qx/ui/popup/Manager.js +41 -53
  1273. package/source/class/qx/ui/popup/Popup.js +22 -47
  1274. package/source/class/qx/ui/popup/__init__.js +32 -32
  1275. package/source/class/qx/ui/progressive/Progressive.js +96 -137
  1276. package/source/class/qx/ui/progressive/State.js +12 -19
  1277. package/source/class/qx/ui/progressive/headfoot/Abstract.js +10 -15
  1278. package/source/class/qx/ui/progressive/headfoot/Null.js +4 -7
  1279. package/source/class/qx/ui/progressive/headfoot/Progress.js +67 -69
  1280. package/source/class/qx/ui/progressive/headfoot/TableHeading.js +42 -54
  1281. package/source/class/qx/ui/progressive/model/Abstract.js +8 -15
  1282. package/source/class/qx/ui/progressive/model/Default.js +17 -29
  1283. package/source/class/qx/ui/progressive/renderer/Abstract.js +6 -11
  1284. package/source/class/qx/ui/progressive/renderer/FunctionCaller.js +4 -7
  1285. package/source/class/qx/ui/progressive/renderer/table/Row.js +215 -242
  1286. package/source/class/qx/ui/progressive/renderer/table/Widths.js +32 -47
  1287. package/source/class/qx/ui/progressive/renderer/table/cell/Abstract.js +17 -24
  1288. package/source/class/qx/ui/progressive/renderer/table/cell/Boolean.js +68 -79
  1289. package/source/class/qx/ui/progressive/renderer/table/cell/Conditional.js +146 -199
  1290. package/source/class/qx/ui/progressive/renderer/table/cell/Default.js +14 -32
  1291. package/source/class/qx/ui/progressive/renderer/table/cell/Html.js +2 -3
  1292. package/source/class/qx/ui/progressive/renderer/table/cell/Icon.js +38 -53
  1293. package/source/class/qx/ui/progressive/renderer/table/cell/Image.js +20 -42
  1294. package/source/class/qx/ui/progressive/renderer/table/cell/String.js +6 -12
  1295. package/source/class/qx/ui/progressive/structure/Abstract.js +14 -26
  1296. package/source/class/qx/ui/progressive/structure/Default.js +20 -40
  1297. package/source/class/qx/ui/root/Abstract.js +73 -90
  1298. package/source/class/qx/ui/root/Application.js +57 -61
  1299. package/source/class/qx/ui/root/Inline.js +78 -64
  1300. package/source/class/qx/ui/root/Page.js +25 -46
  1301. package/source/class/qx/ui/splitpane/Blocker.js +20 -30
  1302. package/source/class/qx/ui/splitpane/HLayout.js +53 -49
  1303. package/source/class/qx/ui/splitpane/Pane.js +112 -150
  1304. package/source/class/qx/ui/splitpane/Slider.js +9 -15
  1305. package/source/class/qx/ui/splitpane/Splitter.js +27 -46
  1306. package/source/class/qx/ui/splitpane/VLayout.js +53 -49
  1307. package/source/class/qx/ui/style/Stylesheet.js +12 -19
  1308. package/source/class/qx/ui/table/ICellEditorFactory.js +4 -8
  1309. package/source/class/qx/ui/table/ICellRenderer.js +3 -7
  1310. package/source/class/qx/ui/table/IColumnMenuButton.js +6 -11
  1311. package/source/class/qx/ui/table/IColumnMenuItem.js +5 -8
  1312. package/source/class/qx/ui/table/IHeaderRenderer.js +4 -8
  1313. package/source/class/qx/ui/table/IRowRenderer.js +6 -12
  1314. package/source/class/qx/ui/table/ITableModel.js +23 -41
  1315. package/source/class/qx/ui/table/MTableContextMenu.js +25 -28
  1316. package/source/class/qx/ui/table/Table.js +556 -748
  1317. package/source/class/qx/ui/table/celleditor/AbstractField.js +16 -26
  1318. package/source/class/qx/ui/table/celleditor/CheckBox.js +15 -16
  1319. package/source/class/qx/ui/table/celleditor/ComboBox.js +24 -34
  1320. package/source/class/qx/ui/table/celleditor/Dynamic.js +25 -32
  1321. package/source/class/qx/ui/table/celleditor/PasswordField.js +4 -8
  1322. package/source/class/qx/ui/table/celleditor/SelectBox.js +29 -38
  1323. package/source/class/qx/ui/table/celleditor/TextField.js +9 -14
  1324. package/source/class/qx/ui/table/cellrenderer/Abstract.js +78 -73
  1325. package/source/class/qx/ui/table/cellrenderer/AbstractImage.js +65 -84
  1326. package/source/class/qx/ui/table/cellrenderer/Boolean.js +36 -50
  1327. package/source/class/qx/ui/table/cellrenderer/Conditional.js +74 -63
  1328. package/source/class/qx/ui/table/cellrenderer/Date.js +12 -22
  1329. package/source/class/qx/ui/table/cellrenderer/Debug.js +9 -9
  1330. package/source/class/qx/ui/table/cellrenderer/Default.js +30 -52
  1331. package/source/class/qx/ui/table/cellrenderer/Dynamic.js +13 -24
  1332. package/source/class/qx/ui/table/cellrenderer/Html.js +6 -8
  1333. package/source/class/qx/ui/table/cellrenderer/Image.js +13 -26
  1334. package/source/class/qx/ui/table/cellrenderer/Number.js +13 -24
  1335. package/source/class/qx/ui/table/cellrenderer/Password.js +8 -11
  1336. package/source/class/qx/ui/table/cellrenderer/Replace.js +27 -42
  1337. package/source/class/qx/ui/table/cellrenderer/String.js +5 -7
  1338. package/source/class/qx/ui/table/columnmenu/Button.js +19 -29
  1339. package/source/class/qx/ui/table/columnmenu/MenuItem.js +11 -19
  1340. package/source/class/qx/ui/table/columnmenu/__init__.js +4 -4
  1341. package/source/class/qx/ui/table/columnmenu/grid/__init__.js +4 -4
  1342. package/source/class/qx/ui/table/columnmenu/simple/__init__.js +4 -4
  1343. package/source/class/qx/ui/table/columnmodel/Basic.js +193 -215
  1344. package/source/class/qx/ui/table/columnmodel/Resize.js +65 -111
  1345. package/source/class/qx/ui/table/columnmodel/resizebehavior/Abstract.js +17 -24
  1346. package/source/class/qx/ui/table/columnmodel/resizebehavior/Default.js +66 -117
  1347. package/source/class/qx/ui/table/headerrenderer/Default.js +25 -46
  1348. package/source/class/qx/ui/table/headerrenderer/HeaderCell.js +36 -51
  1349. package/source/class/qx/ui/table/headerrenderer/Icon.js +11 -27
  1350. package/source/class/qx/ui/table/model/Abstract.js +52 -62
  1351. package/source/class/qx/ui/table/model/Filtered.js +121 -153
  1352. package/source/class/qx/ui/table/model/Remote.js +166 -271
  1353. package/source/class/qx/ui/table/model/Simple.js +225 -252
  1354. package/source/class/qx/ui/table/pane/CellEvent.js +25 -32
  1355. package/source/class/qx/ui/table/pane/Clipper.js +8 -12
  1356. package/source/class/qx/ui/table/pane/FocusIndicator.js +42 -48
  1357. package/source/class/qx/ui/table/pane/Header.js +45 -86
  1358. package/source/class/qx/ui/table/pane/Model.js +73 -96
  1359. package/source/class/qx/ui/table/pane/Pane.js +132 -190
  1360. package/source/class/qx/ui/table/pane/Scroller.js +542 -659
  1361. package/source/class/qx/ui/table/rowrenderer/Default.js +75 -86
  1362. package/source/class/qx/ui/table/selection/Manager.js +23 -57
  1363. package/source/class/qx/ui/table/selection/Model.js +89 -179
  1364. package/source/class/qx/ui/tabview/Page.js +48 -79
  1365. package/source/class/qx/ui/tabview/TabButton.js +45 -72
  1366. package/source/class/qx/ui/tabview/TabView.js +94 -141
  1367. package/source/class/qx/ui/toolbar/Button.js +13 -18
  1368. package/source/class/qx/ui/toolbar/CheckBox.js +13 -17
  1369. package/source/class/qx/ui/toolbar/MenuButton.js +18 -34
  1370. package/source/class/qx/ui/toolbar/Part.js +42 -64
  1371. package/source/class/qx/ui/toolbar/PartContainer.js +19 -28
  1372. package/source/class/qx/ui/toolbar/RadioButton.js +12 -19
  1373. package/source/class/qx/ui/toolbar/Separator.js +15 -25
  1374. package/source/class/qx/ui/toolbar/SplitButton.js +19 -28
  1375. package/source/class/qx/ui/toolbar/ToolBar.js +182 -232
  1376. package/source/class/qx/ui/tooltip/Manager.js +125 -123
  1377. package/source/class/qx/ui/tooltip/ToolTip.js +49 -79
  1378. package/source/class/qx/ui/tooltip/__init__.js +23 -23
  1379. package/source/class/qx/ui/tree/Tree.js +95 -148
  1380. package/source/class/qx/ui/tree/TreeFile.js +8 -15
  1381. package/source/class/qx/ui/tree/TreeFolder.js +8 -15
  1382. package/source/class/qx/ui/tree/VirtualTree.js +207 -333
  1383. package/source/class/qx/ui/tree/VirtualTreeItem.js +30 -45
  1384. package/source/class/qx/ui/tree/__init__.js +50 -50
  1385. package/source/class/qx/ui/tree/core/AbstractItem.js +98 -152
  1386. package/source/class/qx/ui/tree/core/AbstractTreeItem.js +83 -137
  1387. package/source/class/qx/ui/tree/core/FolderOpenButton.js +15 -34
  1388. package/source/class/qx/ui/tree/core/IVirtualTree.js +13 -33
  1389. package/source/class/qx/ui/tree/core/IVirtualTreeDelegate.js +9 -16
  1390. package/source/class/qx/ui/tree/core/MWidgetController.js +58 -69
  1391. package/source/class/qx/ui/tree/core/OpenCloseController.js +29 -35
  1392. package/source/class/qx/ui/tree/core/Util.js +12 -16
  1393. package/source/class/qx/ui/tree/provider/IVirtualTreeProvider.js +10 -23
  1394. package/source/class/qx/ui/tree/provider/WidgetProvider.js +39 -67
  1395. package/source/class/qx/ui/tree/selection/SelectionManager.js +27 -41
  1396. package/source/class/qx/ui/treevirtual/DefaultDataCellRenderer.js +2 -3
  1397. package/source/class/qx/ui/treevirtual/MFamily.js +26 -63
  1398. package/source/class/qx/ui/treevirtual/MNode.js +43 -103
  1399. package/source/class/qx/ui/treevirtual/MTreePrimitive.js +41 -52
  1400. package/source/class/qx/ui/treevirtual/SelectionManager.js +44 -58
  1401. package/source/class/qx/ui/treevirtual/SimpleTreeDataCellRenderer.js +172 -229
  1402. package/source/class/qx/ui/treevirtual/SimpleTreeDataModel.js +256 -367
  1403. package/source/class/qx/ui/treevirtual/SimpleTreeDataRowRenderer.js +8 -18
  1404. package/source/class/qx/ui/treevirtual/TreeVirtual.js +155 -250
  1405. package/source/class/qx/ui/treevirtual/celleditor/NodeEditor.js +10 -16
  1406. package/source/class/qx/ui/treevirtual/pane/Scroller.js +14 -11
  1407. package/source/class/qx/ui/virtual/__init__.js +4 -4
  1408. package/source/class/qx/ui/virtual/behavior/Prefetch.js +71 -86
  1409. package/source/class/qx/ui/virtual/cell/Abstract.js +18 -27
  1410. package/source/class/qx/ui/virtual/cell/AbstractImage.js +42 -51
  1411. package/source/class/qx/ui/virtual/cell/AbstractWidget.js +25 -49
  1412. package/source/class/qx/ui/virtual/cell/Boolean.js +31 -44
  1413. package/source/class/qx/ui/virtual/cell/Cell.js +143 -183
  1414. package/source/class/qx/ui/virtual/cell/CellStylesheet.js +31 -38
  1415. package/source/class/qx/ui/virtual/cell/Date.js +15 -24
  1416. package/source/class/qx/ui/virtual/cell/Html.js +9 -20
  1417. package/source/class/qx/ui/virtual/cell/ICell.js +4 -6
  1418. package/source/class/qx/ui/virtual/cell/IWidgetCell.js +7 -12
  1419. package/source/class/qx/ui/virtual/cell/IWidgetCellDelegate.js +4 -6
  1420. package/source/class/qx/ui/virtual/cell/Image.js +8 -14
  1421. package/source/class/qx/ui/virtual/cell/Number.js +14 -23
  1422. package/source/class/qx/ui/virtual/cell/String.js +11 -20
  1423. package/source/class/qx/ui/virtual/cell/WidgetCell.js +13 -16
  1424. package/source/class/qx/ui/virtual/cell/__init__.js +4 -4
  1425. package/source/class/qx/ui/virtual/core/Axis.js +75 -103
  1426. package/source/class/qx/ui/virtual/core/CellEvent.js +23 -31
  1427. package/source/class/qx/ui/virtual/core/IHtmlCellProvider.js +4 -6
  1428. package/source/class/qx/ui/virtual/core/ILayer.js +5 -15
  1429. package/source/class/qx/ui/virtual/core/IWidgetCellProvider.js +5 -7
  1430. package/source/class/qx/ui/virtual/core/Pane.js +199 -242
  1431. package/source/class/qx/ui/virtual/core/Scroller.js +25 -43
  1432. package/source/class/qx/ui/virtual/layer/Abstract.js +44 -83
  1433. package/source/class/qx/ui/virtual/layer/AbstractBackground.js +47 -68
  1434. package/source/class/qx/ui/virtual/layer/CellSpanManager.js +74 -96
  1435. package/source/class/qx/ui/virtual/layer/Column.js +26 -36
  1436. package/source/class/qx/ui/virtual/layer/GridLines.js +43 -70
  1437. package/source/class/qx/ui/virtual/layer/HtmlCell.js +34 -32
  1438. package/source/class/qx/ui/virtual/layer/HtmlCellSpan.js +54 -56
  1439. package/source/class/qx/ui/virtual/layer/Row.js +28 -36
  1440. package/source/class/qx/ui/virtual/layer/WidgetCell.js +87 -123
  1441. package/source/class/qx/ui/virtual/layer/WidgetCellSpan.js +123 -124
  1442. package/source/class/qx/ui/virtual/selection/Abstract.js +26 -54
  1443. package/source/class/qx/ui/virtual/selection/CellLines.js +11 -21
  1444. package/source/class/qx/ui/virtual/selection/CellRectangle.js +45 -73
  1445. package/source/class/qx/ui/virtual/selection/Column.js +16 -35
  1446. package/source/class/qx/ui/virtual/selection/ISelectionDelegate.js +5 -9
  1447. package/source/class/qx/ui/virtual/selection/MModel.js +84 -122
  1448. package/source/class/qx/ui/virtual/selection/Row.js +29 -61
  1449. package/source/class/qx/ui/website/Accordion.js +39 -42
  1450. package/source/class/qx/ui/website/Button.js +17 -25
  1451. package/source/class/qx/ui/website/Calendar.js +243 -172
  1452. package/source/class/qx/ui/website/Carousel.js +169 -155
  1453. package/source/class/qx/ui/website/DatePicker.js +99 -85
  1454. package/source/class/qx/ui/website/Rating.js +35 -53
  1455. package/source/class/qx/ui/website/Slider.js +174 -153
  1456. package/source/class/qx/ui/website/Table.js +482 -456
  1457. package/source/class/qx/ui/website/Tabs.js +225 -180
  1458. package/source/class/qx/ui/website/Widget.js +39 -52
  1459. package/source/class/qx/ui/window/Desktop.js +14 -12
  1460. package/source/class/qx/ui/window/IDesktop.js +8 -10
  1461. package/source/class/qx/ui/window/IWindowManager.js +7 -9
  1462. package/source/class/qx/ui/window/MDesktop.js +34 -62
  1463. package/source/class/qx/ui/window/Manager.js +31 -57
  1464. package/source/class/qx/ui/window/Window.js +250 -351
  1465. package/source/class/qx/util/AliasManager.js +23 -42
  1466. package/source/class/qx/util/Animation.js +248 -191
  1467. package/source/class/qx/util/Base64.js +144 -89
  1468. package/source/class/qx/util/ColorUtil.js +253 -287
  1469. package/source/class/qx/util/DeferredCall.js +21 -30
  1470. package/source/class/qx/util/DeferredCallManager.js +23 -44
  1471. package/source/class/qx/util/Delegate.js +4 -10
  1472. package/source/class/qx/util/DisposeUtil.js +76 -70
  1473. package/source/class/qx/util/DynamicScriptLoader.js +83 -66
  1474. package/source/class/qx/util/EditDistance.js +64 -58
  1475. package/source/class/qx/util/ExtendedColor.js +157 -163
  1476. package/source/class/qx/util/Function.js +8 -8
  1477. package/source/class/qx/util/LibraryManager.js +11 -18
  1478. package/source/class/qx/util/OOUtil.js +17 -36
  1479. package/source/class/qx/util/ObjectPool.js +19 -45
  1480. package/source/class/qx/util/Permutation.js +9 -16
  1481. package/source/class/qx/util/PropertyUtil.js +58 -70
  1482. package/source/class/qx/util/Request.js +27 -16
  1483. package/source/class/qx/util/ResourceManager.js +103 -104
  1484. package/source/class/qx/util/ResponseParser.js +14 -21
  1485. package/source/class/qx/util/RingBuffer.js +46 -48
  1486. package/source/class/qx/util/Serializer.js +103 -68
  1487. package/source/class/qx/util/StringBuilder.js +11 -22
  1488. package/source/class/qx/util/StringEscape.js +15 -29
  1489. package/source/class/qx/util/StringSplit.js +18 -21
  1490. package/source/class/qx/util/TimerManager.js +61 -70
  1491. package/source/class/qx/util/Uri.js +42 -30
  1492. package/source/class/qx/util/Uuid.js +50 -35
  1493. package/source/class/qx/util/Validate.js +88 -73
  1494. package/source/class/qx/util/ValueManager.js +17 -29
  1495. package/source/class/qx/util/Wheel.js +22 -16
  1496. package/source/class/qx/util/format/DateFormat.js +822 -759
  1497. package/source/class/qx/util/format/IFormat.js +4 -8
  1498. package/source/class/qx/util/format/NumberFormat.js +84 -91
  1499. package/source/class/qx/util/fsm/FiniteStateMachine.js +323 -382
  1500. package/source/class/qx/util/fsm/State.js +210 -249
  1501. package/source/class/qx/util/fsm/Transition.js +138 -160
  1502. package/source/class/qx/util/placement/AbstractAxis.js +12 -14
  1503. package/source/class/qx/util/placement/BestFitAxis.js +5 -8
  1504. package/source/class/qx/util/placement/DirectAxis.js +5 -7
  1505. package/source/class/qx/util/placement/KeepAlignAxis.js +8 -14
  1506. package/source/class/qx/util/placement/Placement.js +39 -56
  1507. package/source/class/qx/util/placement/__init__.js +4 -4
  1508. package/source/class/qx/xml/Document.js +21 -34
  1509. package/source/class/qx/xml/Element.js +90 -73
  1510. package/source/class/qx/xml/String.js +15 -21
  1511. package/source/class/qxWeb.js +102 -69
  1512. package/source/resource/qx/mobile/js/iscroll.js +1328 -982
  1513. package/source/resource/qx/mobile/js/iscroll.min.js +1081 -1
  1514. package/source/resource/qx/test/dynamicscriptloader/first.js +1 -1
  1515. package/source/resource/qx/test/dynamicscriptloader/second.js +1 -1
  1516. package/source/resource/qx/test/dynamicscriptloader/third.js +1 -1
  1517. package/source/resource/qx/test/script.js +1 -1
  1518. package/source/resource/qx/test/webworker.js +2 -2
  1519. package/source/resource/qx/tool/loadsass.js +16 -15
  1520. package/source/resource/qx/tool/schema/compile-1-0-0.json +13 -13
  1521. package/source/resource/qx/tool/website/build/assets/bluebird.min.js +4593 -9
  1522. package/source/resource/qx/tool/website/build/assets/buttons.js +391 -1
  1523. package/source/resource/qx/tool/website/build/assets/fontawesome-all.js +8963 -1
  1524. package/source/resource/qx/tool/website/build/assets/jquery.js +5452 -3
  1525. package/source/resource/qx/tool/website/build/diagnostics/dependson.js +31 -31
  1526. package/source/resource/qx/tool/website/build/diagnostics/requiredby.js +32 -36
  1527. package/source/resource/qx/tool/website/build/scripts/serve.js +87 -66
  1528. package/source/resource/qx/tool/website/src/assets/bluebird.min.js +4593 -9
  1529. package/source/resource/qx/tool/website/src/assets/buttons.js +391 -1
  1530. package/source/resource/qx/tool/website/src/assets/fontawesome-all.js +8963 -1
  1531. package/source/resource/qx/tool/website/src/assets/jquery.js +5452 -3
  1532. package/source/resource/qx/tool/website/src/diagnostics/dependson.js +31 -31
  1533. package/source/resource/qx/tool/website/src/diagnostics/requiredby.js +32 -36
  1534. package/source/resource/qx/tool/website/src/scripts/serve.js +87 -66
  1535. package/lib/resource/qx/static/blank.gif +0 -0
  1536. package/source/class/qx/io/remote/Exchange.js +0 -1063
  1537. package/source/class/qx/io/remote/Request.js +0 -1021
  1538. package/source/class/qx/io/remote/RequestQueue.js +0 -521
  1539. package/source/class/qx/io/remote/Response.js +0 -137
  1540. package/source/class/qx/io/remote/Rpc.js +0 -1075
  1541. package/source/class/qx/io/remote/RpcError.js +0 -198
  1542. package/source/class/qx/io/remote/__init__.js +0 -88
  1543. package/source/class/qx/io/remote/transport/Abstract.js +0 -513
  1544. package/source/class/qx/io/remote/transport/Iframe.js +0 -652
  1545. package/source/class/qx/io/remote/transport/Script.js +0 -475
  1546. package/source/class/qx/io/remote/transport/XmlHttp.js +0 -1019
  1547. package/source/class/qx/io/remote/transport/__init__.js +0 -3
  1548. package/source/class/qx/test/io/remote/AbstractRequest.js +0 -150
  1549. package/source/class/qx/test/io/remote/RequestIframe.js +0 -105
  1550. package/source/class/qx/test/io/remote/RequestXhr.js +0 -151
  1551. package/source/class/qx/test/io/remote/Rpc.js +0 -205
  1552. package/source/class/qx/test/io/remote/__init__.js +0 -4
  1553. package/source/class/qx/test/io/remote/transport/Iframe.js +0 -67
  1554. package/source/class/qx/test/io/remote/transport/XmlHttp.js +0 -133
  1555. package/source/class/qx/test/io/remote/transport/__init__.js +0 -4
@@ -1 +1,1081 @@
1
- (function(e,t){function A(e){if(i==="")return e;e=e.charAt(0).toUpperCase()+e.substr(1);return i+e}var n=Math,r=t.createElement("div").style,i=function(){var e="t,webkitT,MozT,msT,OT".split(","),t,n=0,i=e.length;for(;n<i;n++){t=e[n]+"ransform";if(t in r){return e[n].substr(0,e[n].length-1)}}return false}(),s=i?"-"+i.toLowerCase()+"-":"",o=A("transform"),u=A("transitionProperty"),a=A("transitionDuration"),f=A("transformOrigin"),l=A("transitionTimingFunction"),c=A("transitionDelay"),h=/android/gi.test(navigator.appVersion),p=/iphone|ipad/gi.test(navigator.appVersion),d=/hp-tablet/gi.test(navigator.appVersion),v=A("perspective")in r,m="ontouchstart"in e&&!d,g=i!==false,y=A("transition")in r,b="onorientationchange"in e?"orientationchange":"resize",w=m?"touchstart":"mousedown",E=m?"touchmove":"mousemove",S=m?"touchend":"mouseup",x=m?"touchcancel":"mouseup",T=function(){if(i===false)return false;var e={"":"transitionend",webkit:"webkitTransitionEnd",Moz:"transitionend",O:"otransitionend",ms:"MSTransitionEnd"};return e[i]}(),N=function(){return e.requestAnimationFrame||e.webkitRequestAnimationFrame||e.mozRequestAnimationFrame||e.oRequestAnimationFrame||e.msRequestAnimationFrame||function(e){return setTimeout(e,1)}}(),C=function(){return e.cancelRequestAnimationFrame||e.webkitCancelAnimationFrame||e.webkitCancelRequestAnimationFrame||e.mozCancelRequestAnimationFrame||e.oCancelRequestAnimationFrame||e.msCancelRequestAnimationFrame||clearTimeout}(),k=v?" translateZ(0)":"",L=function(n,r){var i=this,c;i.wrapper=typeof n=="object"?n:t.getElementById(n);i.wrapper.style.overflow="hidden";i.scroller=i.wrapper.children[0];i.options={hScroll:true,vScroll:true,x:0,y:0,bounce:true,bounceLock:false,momentum:true,lockDirection:true,useTransform:true,useTransition:false,topOffset:0,checkDOMChanges:false,handleClick:true,hScrollbar:true,vScrollbar:true,fixedScrollbar:h,hideScrollbar:p,fadeScrollbar:p&&v,scrollbarClass:"",zoom:false,zoomMin:1,zoomMax:4,doubleTapZoom:2,wheelAction:"scroll",snap:false,snapThreshold:1,onRefresh:null,onBeforeScrollStart:function(e){e.preventDefault()},onScrollStart:null,onBeforeScrollMove:null,onScrollMove:null,onBeforeScrollEnd:null,onScrollEnd:null,onTouchEnd:null,onDestroy:null,onZoomStart:null,onZoom:null,onZoomEnd:null};for(c in r)i.options[c]=r[c];i.x=i.options.x;i.y=i.options.y;i.options.useTransform=g&&i.options.useTransform;i.options.hScrollbar=i.options.hScroll&&i.options.hScrollbar;i.options.vScrollbar=i.options.vScroll&&i.options.vScrollbar;i.options.zoom=i.options.useTransform&&i.options.zoom;i.options.useTransition=y&&i.options.useTransition;if(i.options.zoom&&h){k=""}i.scroller.style[u]=i.options.useTransform?s+"transform":"top left";i.scroller.style[a]="0";i.scroller.style[f]="0 0";if(i.options.useTransition)i.scroller.style[l]="cubic-bezier(0.33,0.66,0.66,1)";if(i.options.useTransform)i.scroller.style[o]="translate("+i.x+"px,"+i.y+"px)"+k;else i.scroller.style.cssText+=";position:absolute;top:"+i.y+"px;left:"+i.x+"px";if(i.options.useTransition)i.options.fixedScrollbar=true;i.refresh();i._bind(b,e);i._bind(w);if(!m){if(i.options.wheelAction!="none"){i._bind("DOMMouseScroll");i._bind("mousewheel")}}if(i.options.checkDOMChanges)i.checkDOMTime=setInterval(function(){i._checkDOMChanges()},500)};L.prototype={enabled:true,x:0,y:0,steps:[],scale:1,currPageX:0,currPageY:0,pagesX:[],pagesY:[],aniTime:null,wheelZoomCount:0,handleEvent:function(e){var t=this;switch(e.type){case w:if(!m&&e.button!==0)return;t._start(e);break;case E:t._move(e);break;case S:case x:t._end(e);break;case b:t._resize();break;case"DOMMouseScroll":case"mousewheel":t._wheel(e);break;case T:t._transitionEnd(e);break}},_checkDOMChanges:function(){if(this.moved||this.zoomed||this.animating||this.scrollerW==this.scroller.offsetWidth*this.scale&&this.scrollerH==this.scroller.offsetHeight*this.scale)return;this.refresh()},_scrollbar:function(e){var r=this,i;if(!r[e+"Scrollbar"]){if(r[e+"ScrollbarWrapper"]){if(g)r[e+"ScrollbarIndicator"].style[o]="";r[e+"ScrollbarWrapper"].parentNode.removeChild(r[e+"ScrollbarWrapper"]);r[e+"ScrollbarWrapper"]=null;r[e+"ScrollbarIndicator"]=null}return}if(!r[e+"ScrollbarWrapper"]){i=t.createElement("div");if(r.options.scrollbarClass)i.className=r.options.scrollbarClass+e.toUpperCase();else i.style.cssText="position:absolute;z-index:100;"+(e=="h"?"height:7px;bottom:1px;left:2px;right:"+(r.vScrollbar?"7":"2")+"px":"width:7px;bottom:"+(r.hScrollbar?"7":"2")+"px;top:2px;right:1px");i.style.cssText+=";pointer-events:none;"+s+"transition-property:opacity;"+s+"transition-duration:"+(r.options.fadeScrollbar?"350ms":"0")+";overflow:hidden;opacity:"+(r.options.hideScrollbar?"0":"1");r.wrapper.appendChild(i);r[e+"ScrollbarWrapper"]=i;i=t.createElement("div");if(!r.options.scrollbarClass){i.style.cssText="position:absolute;z-index:100;background:rgba(0,0,0,0.5);border:1px solid rgba(255,255,255,0.9);"+s+"background-clip:padding-box;"+s+"box-sizing:border-box;"+(e=="h"?"height:100%":"width:100%")+";"+s+"border-radius:3px;border-radius:3px"}i.style.cssText+=";pointer-events:none;"+s+"transition-property:"+s+"transform;"+s+"transition-timing-function:cubic-bezier(0.33,0.66,0.66,1);"+s+"transition-duration:0;"+s+"transform: translate(0,0)"+k;if(r.options.useTransition)i.style.cssText+=";"+s+"transition-timing-function:cubic-bezier(0.33,0.66,0.66,1)";r[e+"ScrollbarWrapper"].appendChild(i);r[e+"ScrollbarIndicator"]=i}if(e=="h"){r.hScrollbarSize=r.hScrollbarWrapper.clientWidth;r.hScrollbarIndicatorSize=n.max(n.round(r.hScrollbarSize*r.hScrollbarSize/r.scrollerW),8);r.hScrollbarIndicator.style.width=r.hScrollbarIndicatorSize+"px";r.hScrollbarMaxScroll=r.hScrollbarSize-r.hScrollbarIndicatorSize;r.hScrollbarProp=r.hScrollbarMaxScroll/r.maxScrollX}else{r.vScrollbarSize=r.vScrollbarWrapper.clientHeight;r.vScrollbarIndicatorSize=n.max(n.round(r.vScrollbarSize*r.vScrollbarSize/r.scrollerH),8);r.vScrollbarIndicator.style.height=r.vScrollbarIndicatorSize+"px";r.vScrollbarMaxScroll=r.vScrollbarSize-r.vScrollbarIndicatorSize;r.vScrollbarProp=r.vScrollbarMaxScroll/r.maxScrollY}r._scrollbarPos(e,true)},_resize:function(){var e=this;setTimeout(function(){e.refresh()},h?200:0)},_pos:function(e,t){if(this.zoomed)return;e=this.hScroll?e:0;t=this.vScroll?t:0;if(this.options.useTransform){this.scroller.style[o]="translate("+e+"px,"+t+"px) scale("+this.scale+")"+k}else{e=n.round(e);t=n.round(t);this.scroller.style.left=e+"px";this.scroller.style.top=t+"px"}this.x=e;this.y=t;this._scrollbarPos("h");this._scrollbarPos("v")},_scrollbarPos:function(e,t){var r=this,i=e=="h"?r.x:r.y,s;if(!r[e+"Scrollbar"])return;i=r[e+"ScrollbarProp"]*i;if(i<0){if(!r.options.fixedScrollbar){s=r[e+"ScrollbarIndicatorSize"]+n.round(i*3);if(s<8)s=8;r[e+"ScrollbarIndicator"].style[e=="h"?"width":"height"]=s+"px"}i=0}else if(i>r[e+"ScrollbarMaxScroll"]){if(!r.options.fixedScrollbar){s=r[e+"ScrollbarIndicatorSize"]-n.round((i-r[e+"ScrollbarMaxScroll"])*3);if(s<8)s=8;r[e+"ScrollbarIndicator"].style[e=="h"?"width":"height"]=s+"px";i=r[e+"ScrollbarMaxScroll"]+(r[e+"ScrollbarIndicatorSize"]-s)}else{i=r[e+"ScrollbarMaxScroll"]}}r[e+"ScrollbarWrapper"].style[c]="0";r[e+"ScrollbarWrapper"].style.opacity=t&&r.options.hideScrollbar?"0":"1";r[e+"ScrollbarIndicator"].style[o]="translate("+(e=="h"?i+"px,0)":"0,"+i+"px)")+k},_start:function(t){var r=this,i=m?t.touches[0]:t,s,u,a,f,l;if(!r.enabled)return;if(r.options.onBeforeScrollStart)r.options.onBeforeScrollStart.call(r,t);if(r.options.useTransition||r.options.zoom)r._transitionTime(0);r.moved=false;r.animating=false;r.zoomed=false;r.distX=0;r.distY=0;r.absDistX=0;r.absDistY=0;r.dirX=0;r.dirY=0;if(r.options.zoom&&m&&t.touches.length>1){f=n.abs(t.touches[0].pageX-t.touches[1].pageX);l=n.abs(t.touches[0].pageY-t.touches[1].pageY);r.touchesDistStart=n.sqrt(f*f+l*l);r.originX=n.abs(t.touches[0].pageX+t.touches[1].pageX-r.wrapperOffsetLeft*2)/2-r.x;r.originY=n.abs(t.touches[0].pageY+t.touches[1].pageY-r.wrapperOffsetTop*2)/2-r.y;if(r.options.onZoomStart)r.options.onZoomStart.call(r,t)}if(r.options.momentum){if(r.options.useTransform){s=getComputedStyle(r.scroller,null)[o].replace(/[^0-9\-.,]/g,"").split(",");u=+(s[12]||s[4]);a=+(s[13]||s[5])}else{u=+getComputedStyle(r.scroller,null).left.replace(/[^0-9-]/g,"");a=+getComputedStyle(r.scroller,null).top.replace(/[^0-9-]/g,"")}if(u!=r.x||a!=r.y){if(r.options.useTransition)r._unbind(T);else C(r.aniTime);r.steps=[];r._pos(u,a);if(r.options.onScrollEnd)r.options.onScrollEnd.call(r)}}r.absStartX=r.x;r.absStartY=r.y;r.startX=r.x;r.startY=r.y;r.pointX=i.pageX;r.pointY=i.pageY;r.startTime=t.timeStamp||Date.now();if(r.options.onScrollStart)r.options.onScrollStart.call(r,t);r._bind(E,e);r._bind(S,e);r._bind(x,e)},_move:function(e){var t=this,r=m?e.touches[0]:e,i=r.pageX-t.pointX,s=r.pageY-t.pointY,u=t.x+i,a=t.y+s,f,l,c,h=e.timeStamp||Date.now();if(t.options.onBeforeScrollMove)t.options.onBeforeScrollMove.call(t,e);if(t.options.zoom&&m&&e.touches.length>1){f=n.abs(e.touches[0].pageX-e.touches[1].pageX);l=n.abs(e.touches[0].pageY-e.touches[1].pageY);t.touchesDist=n.sqrt(f*f+l*l);t.zoomed=true;c=1/t.touchesDistStart*t.touchesDist*this.scale;if(c<t.options.zoomMin)c=.5*t.options.zoomMin*Math.pow(2,c/t.options.zoomMin);else if(c>t.options.zoomMax)c=2*t.options.zoomMax*Math.pow(.5,t.options.zoomMax/c);t.lastScale=c/this.scale;u=this.originX-this.originX*t.lastScale+this.x;a=this.originY-this.originY*t.lastScale+this.y;this.scroller.style[o]="translate("+u+"px,"+a+"px) scale("+c+")"+k;if(t.options.onZoom)t.options.onZoom.call(t,e);return}t.pointX=r.pageX;t.pointY=r.pageY;if(u>0||u<t.maxScrollX){u=t.options.bounce?t.x+i/2:u>=0||t.maxScrollX>=0?0:t.maxScrollX}if(a>t.minScrollY||a<t.maxScrollY){a=t.options.bounce?t.y+s/2:a>=t.minScrollY||t.maxScrollY>=0?t.minScrollY:t.maxScrollY}t.distX+=i;t.distY+=s;t.absDistX=n.abs(t.distX);t.absDistY=n.abs(t.distY);if(t.absDistX<6&&t.absDistY<6){return}if(t.options.lockDirection){if(t.absDistX>t.absDistY+5){a=t.y;s=0}else if(t.absDistY>t.absDistX+5){u=t.x;i=0}}t.moved=true;t._pos(u,a);t.dirX=i>0?-1:i<0?1:0;t.dirY=s>0?-1:s<0?1:0;if(h-t.startTime>300){t.startTime=h;t.startX=t.x;t.startY=t.y}if(t.options.onScrollMove)t.options.onScrollMove.call(t,e)},_end:function(r){if(m&&r.touches.length!==0)return;var i=this,s=m?r.changedTouches[0]:r,u,f,l={dist:0,time:0},c={dist:0,time:0},h=(r.timeStamp||Date.now())-i.startTime,p=i.x,d=i.y,v,g,y,b,w;i._unbind(E,e);i._unbind(S,e);i._unbind(x,e);if(i.options.onBeforeScrollEnd)i.options.onBeforeScrollEnd.call(i,r);if(i.zoomed){w=i.scale*i.lastScale;w=Math.max(i.options.zoomMin,w);w=Math.min(i.options.zoomMax,w);i.lastScale=w/i.scale;i.scale=w;i.x=i.originX-i.originX*i.lastScale+i.x;i.y=i.originY-i.originY*i.lastScale+i.y;i.scroller.style[a]="200ms";i.scroller.style[o]="translate("+i.x+"px,"+i.y+"px) scale("+i.scale+")"+k;i.zoomed=false;i.refresh();if(i.options.onZoomEnd)i.options.onZoomEnd.call(i,r);return}if(!i.moved){if(m){if(i.doubleTapTimer&&i.options.zoom){clearTimeout(i.doubleTapTimer);i.doubleTapTimer=null;if(i.options.onZoomStart)i.options.onZoomStart.call(i,r);i.zoom(i.pointX,i.pointY,i.scale==1?i.options.doubleTapZoom:1);if(i.options.onZoomEnd){setTimeout(function(){i.options.onZoomEnd.call(i,r)},200)}}else if(this.options.handleClick){i.doubleTapTimer=setTimeout(function(){i.doubleTapTimer=null;u=s.target;while(u.nodeType!=1)u=u.parentNode;if(u.tagName!="SELECT"&&u.tagName!="INPUT"&&u.tagName!="TEXTAREA"){f=t.createEvent("MouseEvents");f.initMouseEvent("click",true,true,r.view,1,s.screenX,s.screenY,s.clientX,s.clientY,r.ctrlKey,r.altKey,r.shiftKey,r.metaKey,0,null);f._fake=true;u.dispatchEvent(f)}},i.options.zoom?250:0)}}i._resetPos(400);if(i.options.onTouchEnd)i.options.onTouchEnd.call(i,r);return}if(h<300&&i.options.momentum){l=p?i._momentum(p-i.startX,h,-i.x,i.scrollerW-i.wrapperW+i.x,i.options.bounce?i.wrapperW:0):l;c=d?i._momentum(d-i.startY,h,-i.y,i.maxScrollY<0?i.scrollerH-i.wrapperH+i.y-i.minScrollY:0,i.options.bounce?i.wrapperH:0):c;p=i.x+l.dist;d=i.y+c.dist;if(i.x>0&&p>0||i.x<i.maxScrollX&&p<i.maxScrollX)l={dist:0,time:0};if(i.y>i.minScrollY&&d>i.minScrollY||i.y<i.maxScrollY&&d<i.maxScrollY)c={dist:0,time:0}}if(l.dist||c.dist){y=n.max(n.max(l.time,c.time),10);if(i.options.snap){v=p-i.absStartX;g=d-i.absStartY;if(n.abs(v)<i.options.snapThreshold&&n.abs(g)<i.options.snapThreshold){i.scrollTo(i.absStartX,i.absStartY,200)}else{b=i._snap(p,d);p=b.x;d=b.y;y=n.max(b.time,y)}}i.scrollTo(n.round(p),n.round(d),y);if(i.options.onTouchEnd)i.options.onTouchEnd.call(i,r);return}if(i.options.snap){v=p-i.absStartX;g=d-i.absStartY;if(n.abs(v)<i.options.snapThreshold&&n.abs(g)<i.options.snapThreshold)i.scrollTo(i.absStartX,i.absStartY,200);else{b=i._snap(i.x,i.y);if(b.x!=i.x||b.y!=i.y)i.scrollTo(b.x,b.y,b.time)}if(i.options.onTouchEnd)i.options.onTouchEnd.call(i,r);return}i._resetPos(200);if(i.options.onTouchEnd)i.options.onTouchEnd.call(i,r)},_resetPos:function(e){var t=this,n=t.x>=0?0:t.x<t.maxScrollX?t.maxScrollX:t.x,r=t.y>=t.minScrollY||t.maxScrollY>0?t.minScrollY:t.y<t.maxScrollY?t.maxScrollY:t.y;if(n==t.x&&r==t.y){if(t.moved){t.moved=false;if(t.options.onScrollEnd)t.options.onScrollEnd.call(t)}if(t.hScrollbar&&t.options.hideScrollbar){if(i=="webkit")t.hScrollbarWrapper.style[c]="300ms";t.hScrollbarWrapper.style.opacity="0"}if(t.vScrollbar&&t.options.hideScrollbar){if(i=="webkit")t.vScrollbarWrapper.style[c]="300ms";t.vScrollbarWrapper.style.opacity="0"}return}t.scrollTo(n,r,e||0)},_wheel:function(e){var t=this,n,r,i,s,o;if("wheelDeltaX"in e){n=e.wheelDeltaX/12;r=e.wheelDeltaY/12}else if("wheelDelta"in e){n=r=e.wheelDelta/12}else if("detail"in e){n=r=-e.detail*3}else{return}if(t.options.wheelAction=="zoom"){o=t.scale*Math.pow(2,1/3*(r?r/Math.abs(r):0));if(o<t.options.zoomMin)o=t.options.zoomMin;if(o>t.options.zoomMax)o=t.options.zoomMax;if(o!=t.scale){if(!t.wheelZoomCount&&t.options.onZoomStart)t.options.onZoomStart.call(t,e);t.wheelZoomCount++;t.zoom(e.pageX,e.pageY,o,400);setTimeout(function(){t.wheelZoomCount--;if(!t.wheelZoomCount&&t.options.onZoomEnd)t.options.onZoomEnd.call(t,e)},400)}return}i=t.x+n;s=t.y+r;if(i>0)i=0;else if(i<t.maxScrollX)i=t.maxScrollX;if(s>t.minScrollY)s=t.minScrollY;else if(s<t.maxScrollY)s=t.maxScrollY;if(t.maxScrollY<0){t.scrollTo(i,s,0)}},_transitionEnd:function(e){var t=this;if(e.target!=t.scroller)return;t._unbind(T);t._startAni()},_startAni:function(){var e=this,t=e.x,r=e.y,i=Date.now(),s,o,u;if(e.animating)return;if(!e.steps.length){e._resetPos(400);return}s=e.steps.shift();if(s.x==t&&s.y==r)s.time=0;e.animating=true;e.moved=true;if(e.options.useTransition){e._transitionTime(s.time);e._pos(s.x,s.y);e.animating=false;if(s.time)e._bind(T);else e._resetPos(0);return}u=function(){var a=Date.now(),f,l;if(a>=i+s.time){e._pos(s.x,s.y);e.animating=false;if(e.options.onAnimationEnd)e.options.onAnimationEnd.call(e);e._startAni();return}a=(a-i)/s.time-1;o=n.sqrt(1-a*a);f=(s.x-t)*o+t;l=(s.y-r)*o+r;e._pos(f,l);if(e.animating)e.aniTime=N(u)};u()},_transitionTime:function(e){e+="ms";this.scroller.style[a]=e;if(this.hScrollbar)this.hScrollbarIndicator.style[a]=e;if(this.vScrollbar)this.vScrollbarIndicator.style[a]=e},_momentum:function(e,t,r,i,s){var o=6e-4,u=n.abs(e)/t,a=u*u/(2*o),f=0,l=0;if(e>0&&a>r){l=s/(6/(a/u*o));r=r+l;u=u*r/a;a=r}else if(e<0&&a>i){l=s/(6/(a/u*o));i=i+l;u=u*i/a;a=i}a=a*(e<0?-1:1);f=u/o;return{dist:a,time:n.round(f)}},_offset:function(e){var t=-e.offsetLeft,n=-e.offsetTop;while(e=e.offsetParent){t-=e.offsetLeft;n-=e.offsetTop}if(e!=this.wrapper){t*=this.scale;n*=this.scale}return{left:t,top:n}},_snap:function(e,t){var r=this,i,s,o,u,a,f;o=r.pagesX.length-1;for(i=0,s=r.pagesX.length;i<s;i++){if(e>=r.pagesX[i]){o=i;break}}if(o==r.currPageX&&o>0&&r.dirX<0)o--;e=r.pagesX[o];a=n.abs(e-r.pagesX[r.currPageX]);a=a?n.abs(r.x-e)/a*500:0;r.currPageX=o;o=r.pagesY.length-1;for(i=0;i<o;i++){if(t>=r.pagesY[i]){o=i;break}}if(o==r.currPageY&&o>0&&r.dirY<0)o--;t=r.pagesY[o];f=n.abs(t-r.pagesY[r.currPageY]);f=f?n.abs(r.y-t)/f*500:0;r.currPageY=o;u=n.round(n.max(a,f))||200;return{x:e,y:t,time:u}},_bind:function(e,t,n){(t||this.scroller).addEventListener(e,this,!!n)},_unbind:function(e,t,n){(t||this.scroller).removeEventListener(e,this,!!n)},destroy:function(){var t=this;t.scroller.style[o]="";t.hScrollbar=false;t.vScrollbar=false;t._scrollbar("h");t._scrollbar("v");t._unbind(b,e);t._unbind(w);t._unbind(E,e);t._unbind(S,e);t._unbind(x,e);if(!t.options.hasTouch){t._unbind("DOMMouseScroll");t._unbind("mousewheel")}if(t.options.useTransition)t._unbind(T);if(t.options.checkDOMChanges)clearInterval(t.checkDOMTime);if(t.options.onDestroy)t.options.onDestroy.call(t)},refresh:function(){var e=this,t,r,i,s,o=0,u=0;if(e.scale<e.options.zoomMin)e.scale=e.options.zoomMin;e.wrapperW=e.wrapper.clientWidth||1;e.wrapperH=e.wrapper.clientHeight||1;e.minScrollY=-e.options.topOffset||0;e.scrollerW=n.round(e.scroller.offsetWidth*e.scale);e.scrollerH=n.round((e.scroller.offsetHeight+e.minScrollY)*e.scale);e.maxScrollX=e.wrapperW-e.scrollerW;e.maxScrollY=e.wrapperH-e.scrollerH+e.minScrollY;e.dirX=0;e.dirY=0;if(e.options.onRefresh)e.options.onRefresh.call(e);e.hScroll=e.options.hScroll&&e.maxScrollX<0;e.vScroll=e.options.vScroll&&(!e.options.bounceLock&&!e.hScroll||e.scrollerH>e.wrapperH);e.hScrollbar=e.hScroll&&e.options.hScrollbar;e.vScrollbar=e.vScroll&&e.options.vScrollbar&&e.scrollerH>e.wrapperH;t=e._offset(e.wrapper);e.wrapperOffsetLeft=-t.left;e.wrapperOffsetTop=-t.top;if(typeof e.options.snap=="string"){e.pagesX=[];e.pagesY=[];s=e.scroller.querySelectorAll(e.options.snap);for(r=0,i=s.length;r<i;r++){o=e._offset(s[r]);o.left+=e.wrapperOffsetLeft;o.top+=e.wrapperOffsetTop;e.pagesX[r]=o.left<e.maxScrollX?e.maxScrollX:o.left*e.scale;e.pagesY[r]=o.top<e.maxScrollY?e.maxScrollY:o.top*e.scale}}else if(e.options.snap){e.pagesX=[];while(o>=e.maxScrollX){e.pagesX[u]=o;o=o-e.wrapperW;u++}if(e.maxScrollX%e.wrapperW)e.pagesX[e.pagesX.length]=e.maxScrollX-e.pagesX[e.pagesX.length-1]+e.pagesX[e.pagesX.length-1];o=0;u=0;e.pagesY=[];while(o>=e.maxScrollY){e.pagesY[u]=o;o=o-e.wrapperH;u++}if(e.maxScrollY%e.wrapperH)e.pagesY[e.pagesY.length]=e.maxScrollY-e.pagesY[e.pagesY.length-1]+e.pagesY[e.pagesY.length-1]}e._scrollbar("h");e._scrollbar("v");if(!e.zoomed){e.scroller.style[a]="0";e._resetPos(400)}},scrollTo:function(e,t,n,r){var i=this,s=e,o,u;i.stop();if(!s.length)s=[{x:e,y:t,time:n,relative:r}];for(o=0,u=s.length;o<u;o++){if(s[o].relative){s[o].x=i.x-s[o].x;s[o].y=i.y-s[o].y}i.steps.push({x:s[o].x,y:s[o].y,time:s[o].time||0})}i._startAni()},scrollToElement:function(e,t){var r=this,i;e=e.nodeType?e:r.scroller.querySelector(e);if(!e)return;i=r._offset(e);i.left+=r.wrapperOffsetLeft;i.top+=r.wrapperOffsetTop;i.left=i.left>0?0:i.left<r.maxScrollX?r.maxScrollX:i.left;i.top=i.top>r.minScrollY?r.minScrollY:i.top<r.maxScrollY?r.maxScrollY:i.top;t=t===undefined?n.max(n.abs(i.left)*2,n.abs(i.top)*2):t;r.scrollTo(i.left,i.top,t)},scrollToPage:function(e,t,n){var r=this,i,s;n=n===undefined?400:n;if(r.options.onScrollStart)r.options.onScrollStart.call(r);if(r.options.snap){e=e=="next"?r.currPageX+1:e=="prev"?r.currPageX-1:e;t=t=="next"?r.currPageY+1:t=="prev"?r.currPageY-1:t;e=e<0?0:e>r.pagesX.length-1?r.pagesX.length-1:e;t=t<0?0:t>r.pagesY.length-1?r.pagesY.length-1:t;r.currPageX=e;r.currPageY=t;i=r.pagesX[e];s=r.pagesY[t]}else{i=-r.wrapperW*e;s=-r.wrapperH*t;if(i<r.maxScrollX)i=r.maxScrollX;if(s<r.maxScrollY)s=r.maxScrollY}r.scrollTo(i,s,n)},disable:function(){this.stop();this._resetPos(0);this.enabled=false;this._unbind(E,e);this._unbind(S,e);this._unbind(x,e)},enable:function(){this.enabled=true},stop:function(){if(this.options.useTransition)this._unbind(T);else C(this.aniTime);this.steps=[];this.moved=false;this.animating=false},zoom:function(e,t,n,r){var i=this,s=n/i.scale;if(!i.options.useTransform)return;i.zoomed=true;r=r===undefined?200:r;e=e-i.wrapperOffsetLeft-i.x;t=t-i.wrapperOffsetTop-i.y;i.x=e-e*s+i.x;i.y=t-t*s+i.y;i.scale=n;i.refresh();i.x=i.x>0?0:i.x<i.maxScrollX?i.maxScrollX:i.x;i.y=i.y>i.minScrollY?i.minScrollY:i.y<i.maxScrollY?i.maxScrollY:i.y;i.scroller.style[a]=r+"ms";i.scroller.style[o]="translate("+i.x+"px,"+i.y+"px) scale("+n+")"+k;i.zoomed=false},isReady:function(){return!this.moved&&!this.zoomed&&!this.animating}};r=null;if(typeof exports!=="undefined")exports.iScroll=L;else e.iScroll=L})(window,document)
1
+ (function (e, t) {
2
+ function A(e) {
3
+ if (i === "") return e;
4
+ e = e.charAt(0).toUpperCase() + e.substr(1);
5
+ return i + e;
6
+ }
7
+ var n = Math,
8
+ r = t.createElement("div").style,
9
+ i = (function () {
10
+ var e = "t,webkitT,MozT,msT,OT".split(","),
11
+ t,
12
+ n = 0,
13
+ i = e.length;
14
+ for (; n < i; n++) {
15
+ t = e[n] + "ransform";
16
+ if (t in r) {
17
+ return e[n].substr(0, e[n].length - 1);
18
+ }
19
+ }
20
+ return false;
21
+ })(),
22
+ s = i ? "-" + i.toLowerCase() + "-" : "",
23
+ o = A("transform"),
24
+ u = A("transitionProperty"),
25
+ a = A("transitionDuration"),
26
+ f = A("transformOrigin"),
27
+ l = A("transitionTimingFunction"),
28
+ c = A("transitionDelay"),
29
+ h = /android/gi.test(navigator.appVersion),
30
+ p = /iphone|ipad/gi.test(navigator.appVersion),
31
+ d = /hp-tablet/gi.test(navigator.appVersion),
32
+ v = A("perspective") in r,
33
+ m = "ontouchstart" in e && !d,
34
+ g = i !== false,
35
+ y = A("transition") in r,
36
+ b = "onorientationchange" in e ? "orientationchange" : "resize",
37
+ w = m ? "touchstart" : "mousedown",
38
+ E = m ? "touchmove" : "mousemove",
39
+ S = m ? "touchend" : "mouseup",
40
+ x = m ? "touchcancel" : "mouseup",
41
+ T = (function () {
42
+ if (i === false) return false;
43
+ var e = {
44
+ "": "transitionend",
45
+ webkit: "webkitTransitionEnd",
46
+ Moz: "transitionend",
47
+ O: "otransitionend",
48
+ ms: "MSTransitionEnd"
49
+ };
50
+
51
+ return e[i];
52
+ })(),
53
+ N = (function () {
54
+ return (
55
+ e.requestAnimationFrame ||
56
+ e.webkitRequestAnimationFrame ||
57
+ e.mozRequestAnimationFrame ||
58
+ e.oRequestAnimationFrame ||
59
+ e.msRequestAnimationFrame ||
60
+ function (e) {
61
+ return setTimeout(e, 1);
62
+ }
63
+ );
64
+ })(),
65
+ C = (function () {
66
+ return (
67
+ e.cancelRequestAnimationFrame ||
68
+ e.webkitCancelAnimationFrame ||
69
+ e.webkitCancelRequestAnimationFrame ||
70
+ e.mozCancelRequestAnimationFrame ||
71
+ e.oCancelRequestAnimationFrame ||
72
+ e.msCancelRequestAnimationFrame ||
73
+ clearTimeout
74
+ );
75
+ })(),
76
+ k = v ? " translateZ(0)" : "",
77
+ L = function (n, r) {
78
+ var i = this,
79
+ c;
80
+ i.wrapper = typeof n == "object" ? n : t.getElementById(n);
81
+ i.wrapper.style.overflow = "hidden";
82
+ i.scroller = i.wrapper.children[0];
83
+ i.options = {
84
+ hScroll: true,
85
+ vScroll: true,
86
+ x: 0,
87
+ y: 0,
88
+ bounce: true,
89
+ bounceLock: false,
90
+ momentum: true,
91
+ lockDirection: true,
92
+ useTransform: true,
93
+ useTransition: false,
94
+ topOffset: 0,
95
+ checkDOMChanges: false,
96
+ handleClick: true,
97
+ hScrollbar: true,
98
+ vScrollbar: true,
99
+ fixedScrollbar: h,
100
+ hideScrollbar: p,
101
+ fadeScrollbar: p && v,
102
+ scrollbarClass: "",
103
+ zoom: false,
104
+ zoomMin: 1,
105
+ zoomMax: 4,
106
+ doubleTapZoom: 2,
107
+ wheelAction: "scroll",
108
+ snap: false,
109
+ snapThreshold: 1,
110
+ onRefresh: null,
111
+ onBeforeScrollStart(e) {
112
+ e.preventDefault();
113
+ },
114
+ onScrollStart: null,
115
+ onBeforeScrollMove: null,
116
+ onScrollMove: null,
117
+ onBeforeScrollEnd: null,
118
+ onScrollEnd: null,
119
+ onTouchEnd: null,
120
+ onDestroy: null,
121
+ onZoomStart: null,
122
+ onZoom: null,
123
+ onZoomEnd: null
124
+ };
125
+
126
+ for (c in r) i.options[c] = r[c];
127
+ i.x = i.options.x;
128
+ i.y = i.options.y;
129
+ i.options.useTransform = g && i.options.useTransform;
130
+ i.options.hScrollbar = i.options.hScroll && i.options.hScrollbar;
131
+ i.options.vScrollbar = i.options.vScroll && i.options.vScrollbar;
132
+ i.options.zoom = i.options.useTransform && i.options.zoom;
133
+ i.options.useTransition = y && i.options.useTransition;
134
+ if (i.options.zoom && h) {
135
+ k = "";
136
+ }
137
+ i.scroller.style[u] = i.options.useTransform
138
+ ? s + "transform"
139
+ : "top left";
140
+ i.scroller.style[a] = "0";
141
+ i.scroller.style[f] = "0 0";
142
+ if (i.options.useTransition)
143
+ i.scroller.style[l] = "cubic-bezier(0.33,0.66,0.66,1)";
144
+ if (i.options.useTransform)
145
+ i.scroller.style[o] = "translate(" + i.x + "px," + i.y + "px)" + k;
146
+ else
147
+ i.scroller.style.cssText +=
148
+ ";position:absolute;top:" + i.y + "px;left:" + i.x + "px";
149
+ if (i.options.useTransition) i.options.fixedScrollbar = true;
150
+ i.refresh();
151
+ i._bind(b, e);
152
+ i._bind(w);
153
+ if (!m) {
154
+ if (i.options.wheelAction != "none") {
155
+ i._bind("DOMMouseScroll");
156
+ i._bind("mousewheel");
157
+ }
158
+ }
159
+ if (i.options.checkDOMChanges)
160
+ i.checkDOMTime = setInterval(function () {
161
+ i._checkDOMChanges();
162
+ }, 500);
163
+ };
164
+ L.prototype = {
165
+ enabled: true,
166
+ x: 0,
167
+ y: 0,
168
+ steps: [],
169
+ scale: 1,
170
+ currPageX: 0,
171
+ currPageY: 0,
172
+ pagesX: [],
173
+ pagesY: [],
174
+ aniTime: null,
175
+ wheelZoomCount: 0,
176
+ handleEvent(e) {
177
+ var t = this;
178
+ switch (e.type) {
179
+ case w:
180
+ if (!m && e.button !== 0) return;
181
+ t._start(e);
182
+ break;
183
+ case E:
184
+ t._move(e);
185
+ break;
186
+ case S:
187
+ case x:
188
+ t._end(e);
189
+ break;
190
+ case b:
191
+ t._resize();
192
+ break;
193
+ case "DOMMouseScroll":
194
+ case "mousewheel":
195
+ t._wheel(e);
196
+ break;
197
+ case T:
198
+ t._transitionEnd(e);
199
+ break;
200
+ }
201
+ },
202
+ _checkDOMChanges() {
203
+ if (
204
+ this.moved ||
205
+ this.zoomed ||
206
+ this.animating ||
207
+ (this.scrollerW == this.scroller.offsetWidth * this.scale &&
208
+ this.scrollerH == this.scroller.offsetHeight * this.scale)
209
+ )
210
+ return;
211
+ this.refresh();
212
+ },
213
+ _scrollbar(e) {
214
+ var r = this,
215
+ i;
216
+ if (!r[e + "Scrollbar"]) {
217
+ if (r[e + "ScrollbarWrapper"]) {
218
+ if (g) r[e + "ScrollbarIndicator"].style[o] = "";
219
+ r[e + "ScrollbarWrapper"].parentNode.removeChild(
220
+ r[e + "ScrollbarWrapper"]
221
+ );
222
+
223
+ r[e + "ScrollbarWrapper"] = null;
224
+ r[e + "ScrollbarIndicator"] = null;
225
+ }
226
+ return;
227
+ }
228
+ if (!r[e + "ScrollbarWrapper"]) {
229
+ i = t.createElement("div");
230
+ if (r.options.scrollbarClass)
231
+ i.className = r.options.scrollbarClass + e.toUpperCase();
232
+ else
233
+ i.style.cssText =
234
+ "position:absolute;z-index:100;" +
235
+ (e == "h"
236
+ ? "height:7px;bottom:1px;left:2px;right:" +
237
+ (r.vScrollbar ? "7" : "2") +
238
+ "px"
239
+ : "width:7px;bottom:" +
240
+ (r.hScrollbar ? "7" : "2") +
241
+ "px;top:2px;right:1px");
242
+ i.style.cssText +=
243
+ ";pointer-events:none;" +
244
+ s +
245
+ "transition-property:opacity;" +
246
+ s +
247
+ "transition-duration:" +
248
+ (r.options.fadeScrollbar ? "350ms" : "0") +
249
+ ";overflow:hidden;opacity:" +
250
+ (r.options.hideScrollbar ? "0" : "1");
251
+ r.wrapper.appendChild(i);
252
+ r[e + "ScrollbarWrapper"] = i;
253
+ i = t.createElement("div");
254
+ if (!r.options.scrollbarClass) {
255
+ i.style.cssText =
256
+ "position:absolute;z-index:100;background:rgba(0,0,0,0.5);border:1px solid rgba(255,255,255,0.9);" +
257
+ s +
258
+ "background-clip:padding-box;" +
259
+ s +
260
+ "box-sizing:border-box;" +
261
+ (e == "h" ? "height:100%" : "width:100%") +
262
+ ";" +
263
+ s +
264
+ "border-radius:3px;border-radius:3px";
265
+ }
266
+ i.style.cssText +=
267
+ ";pointer-events:none;" +
268
+ s +
269
+ "transition-property:" +
270
+ s +
271
+ "transform;" +
272
+ s +
273
+ "transition-timing-function:cubic-bezier(0.33,0.66,0.66,1);" +
274
+ s +
275
+ "transition-duration:0;" +
276
+ s +
277
+ "transform: translate(0,0)" +
278
+ k;
279
+ if (r.options.useTransition)
280
+ i.style.cssText +=
281
+ ";" +
282
+ s +
283
+ "transition-timing-function:cubic-bezier(0.33,0.66,0.66,1)";
284
+ r[e + "ScrollbarWrapper"].appendChild(i);
285
+ r[e + "ScrollbarIndicator"] = i;
286
+ }
287
+ if (e == "h") {
288
+ r.hScrollbarSize = r.hScrollbarWrapper.clientWidth;
289
+ r.hScrollbarIndicatorSize = n.max(
290
+ n.round((r.hScrollbarSize * r.hScrollbarSize) / r.scrollerW),
291
+ 8
292
+ );
293
+
294
+ r.hScrollbarIndicator.style.width = r.hScrollbarIndicatorSize + "px";
295
+ r.hScrollbarMaxScroll = r.hScrollbarSize - r.hScrollbarIndicatorSize;
296
+ r.hScrollbarProp = r.hScrollbarMaxScroll / r.maxScrollX;
297
+ } else {
298
+ r.vScrollbarSize = r.vScrollbarWrapper.clientHeight;
299
+ r.vScrollbarIndicatorSize = n.max(
300
+ n.round((r.vScrollbarSize * r.vScrollbarSize) / r.scrollerH),
301
+ 8
302
+ );
303
+
304
+ r.vScrollbarIndicator.style.height = r.vScrollbarIndicatorSize + "px";
305
+ r.vScrollbarMaxScroll = r.vScrollbarSize - r.vScrollbarIndicatorSize;
306
+ r.vScrollbarProp = r.vScrollbarMaxScroll / r.maxScrollY;
307
+ }
308
+ r._scrollbarPos(e, true);
309
+ },
310
+ _resize() {
311
+ var e = this;
312
+ setTimeout(
313
+ function () {
314
+ e.refresh();
315
+ },
316
+ h ? 200 : 0
317
+ );
318
+ },
319
+ _pos(e, t) {
320
+ if (this.zoomed) return;
321
+ e = this.hScroll ? e : 0;
322
+ t = this.vScroll ? t : 0;
323
+ if (this.options.useTransform) {
324
+ this.scroller.style[o] =
325
+ "translate(" + e + "px," + t + "px) scale(" + this.scale + ")" + k;
326
+ } else {
327
+ e = n.round(e);
328
+ t = n.round(t);
329
+ this.scroller.style.left = e + "px";
330
+ this.scroller.style.top = t + "px";
331
+ }
332
+ this.x = e;
333
+ this.y = t;
334
+ this._scrollbarPos("h");
335
+ this._scrollbarPos("v");
336
+ },
337
+ _scrollbarPos(e, t) {
338
+ var r = this,
339
+ i = e == "h" ? r.x : r.y,
340
+ s;
341
+ if (!r[e + "Scrollbar"]) return;
342
+ i = r[e + "ScrollbarProp"] * i;
343
+ if (i < 0) {
344
+ if (!r.options.fixedScrollbar) {
345
+ s = r[e + "ScrollbarIndicatorSize"] + n.round(i * 3);
346
+ if (s < 8) s = 8;
347
+ r[e + "ScrollbarIndicator"].style[e == "h" ? "width" : "height"] =
348
+ s + "px";
349
+ }
350
+ i = 0;
351
+ } else if (i > r[e + "ScrollbarMaxScroll"]) {
352
+ if (!r.options.fixedScrollbar) {
353
+ s =
354
+ r[e + "ScrollbarIndicatorSize"] -
355
+ n.round((i - r[e + "ScrollbarMaxScroll"]) * 3);
356
+ if (s < 8) s = 8;
357
+ r[e + "ScrollbarIndicator"].style[e == "h" ? "width" : "height"] =
358
+ s + "px";
359
+ i =
360
+ r[e + "ScrollbarMaxScroll"] + (r[e + "ScrollbarIndicatorSize"] - s);
361
+ } else {
362
+ i = r[e + "ScrollbarMaxScroll"];
363
+ }
364
+ }
365
+ r[e + "ScrollbarWrapper"].style[c] = "0";
366
+ r[e + "ScrollbarWrapper"].style.opacity =
367
+ t && r.options.hideScrollbar ? "0" : "1";
368
+ r[e + "ScrollbarIndicator"].style[o] =
369
+ "translate(" + (e == "h" ? i + "px,0)" : "0," + i + "px)") + k;
370
+ },
371
+ _start(t) {
372
+ var r = this,
373
+ i = m ? t.touches[0] : t,
374
+ s,
375
+ u,
376
+ a,
377
+ f,
378
+ l;
379
+ if (!r.enabled) return;
380
+ if (r.options.onBeforeScrollStart)
381
+ r.options.onBeforeScrollStart.call(r, t);
382
+ if (r.options.useTransition || r.options.zoom) r._transitionTime(0);
383
+ r.moved = false;
384
+ r.animating = false;
385
+ r.zoomed = false;
386
+ r.distX = 0;
387
+ r.distY = 0;
388
+ r.absDistX = 0;
389
+ r.absDistY = 0;
390
+ r.dirX = 0;
391
+ r.dirY = 0;
392
+ if (r.options.zoom && m && t.touches.length > 1) {
393
+ f = n.abs(t.touches[0].pageX - t.touches[1].pageX);
394
+ l = n.abs(t.touches[0].pageY - t.touches[1].pageY);
395
+ r.touchesDistStart = n.sqrt(f * f + l * l);
396
+ r.originX =
397
+ n.abs(
398
+ t.touches[0].pageX + t.touches[1].pageX - r.wrapperOffsetLeft * 2
399
+ ) /
400
+ 2 -
401
+ r.x;
402
+ r.originY =
403
+ n.abs(
404
+ t.touches[0].pageY + t.touches[1].pageY - r.wrapperOffsetTop * 2
405
+ ) /
406
+ 2 -
407
+ r.y;
408
+ if (r.options.onZoomStart) r.options.onZoomStart.call(r, t);
409
+ }
410
+ if (r.options.momentum) {
411
+ if (r.options.useTransform) {
412
+ s = getComputedStyle(r.scroller, null)
413
+ [o].replace(/[^0-9\-.,]/g, "")
414
+ .split(",");
415
+ u = +(s[12] || s[4]);
416
+ a = +(s[13] || s[5]);
417
+ } else {
418
+ u = +getComputedStyle(r.scroller, null).left.replace(/[^0-9-]/g, "");
419
+ a = +getComputedStyle(r.scroller, null).top.replace(/[^0-9-]/g, "");
420
+ }
421
+ if (u != r.x || a != r.y) {
422
+ if (r.options.useTransition) r._unbind(T);
423
+ else C(r.aniTime);
424
+ r.steps = [];
425
+ r._pos(u, a);
426
+ if (r.options.onScrollEnd) r.options.onScrollEnd.call(r);
427
+ }
428
+ }
429
+ r.absStartX = r.x;
430
+ r.absStartY = r.y;
431
+ r.startX = r.x;
432
+ r.startY = r.y;
433
+ r.pointX = i.pageX;
434
+ r.pointY = i.pageY;
435
+ r.startTime = t.timeStamp || Date.now();
436
+ if (r.options.onScrollStart) r.options.onScrollStart.call(r, t);
437
+ r._bind(E, e);
438
+ r._bind(S, e);
439
+ r._bind(x, e);
440
+ },
441
+ _move(e) {
442
+ var t = this,
443
+ r = m ? e.touches[0] : e,
444
+ i = r.pageX - t.pointX,
445
+ s = r.pageY - t.pointY,
446
+ u = t.x + i,
447
+ a = t.y + s,
448
+ f,
449
+ l,
450
+ c,
451
+ h = e.timeStamp || Date.now();
452
+ if (t.options.onBeforeScrollMove) t.options.onBeforeScrollMove.call(t, e);
453
+ if (t.options.zoom && m && e.touches.length > 1) {
454
+ f = n.abs(e.touches[0].pageX - e.touches[1].pageX);
455
+ l = n.abs(e.touches[0].pageY - e.touches[1].pageY);
456
+ t.touchesDist = n.sqrt(f * f + l * l);
457
+ t.zoomed = true;
458
+ c = (1 / t.touchesDistStart) * t.touchesDist * this.scale;
459
+ if (c < t.options.zoomMin)
460
+ c = 0.5 * t.options.zoomMin * Math.pow(2, c / t.options.zoomMin);
461
+ else if (c > t.options.zoomMax)
462
+ c = 2 * t.options.zoomMax * Math.pow(0.5, t.options.zoomMax / c);
463
+ t.lastScale = c / this.scale;
464
+ u = this.originX - this.originX * t.lastScale + this.x;
465
+ a = this.originY - this.originY * t.lastScale + this.y;
466
+ this.scroller.style[o] =
467
+ "translate(" + u + "px," + a + "px) scale(" + c + ")" + k;
468
+ if (t.options.onZoom) t.options.onZoom.call(t, e);
469
+ return;
470
+ }
471
+ t.pointX = r.pageX;
472
+ t.pointY = r.pageY;
473
+ if (u > 0 || u < t.maxScrollX) {
474
+ u = t.options.bounce
475
+ ? t.x + i / 2
476
+ : u >= 0 || t.maxScrollX >= 0
477
+ ? 0
478
+ : t.maxScrollX;
479
+ }
480
+ if (a > t.minScrollY || a < t.maxScrollY) {
481
+ a = t.options.bounce
482
+ ? t.y + s / 2
483
+ : a >= t.minScrollY || t.maxScrollY >= 0
484
+ ? t.minScrollY
485
+ : t.maxScrollY;
486
+ }
487
+ t.distX += i;
488
+ t.distY += s;
489
+ t.absDistX = n.abs(t.distX);
490
+ t.absDistY = n.abs(t.distY);
491
+ if (t.absDistX < 6 && t.absDistY < 6) {
492
+ return;
493
+ }
494
+ if (t.options.lockDirection) {
495
+ if (t.absDistX > t.absDistY + 5) {
496
+ a = t.y;
497
+ s = 0;
498
+ } else if (t.absDistY > t.absDistX + 5) {
499
+ u = t.x;
500
+ i = 0;
501
+ }
502
+ }
503
+ t.moved = true;
504
+ t._pos(u, a);
505
+ t.dirX = i > 0 ? -1 : i < 0 ? 1 : 0;
506
+ t.dirY = s > 0 ? -1 : s < 0 ? 1 : 0;
507
+ if (h - t.startTime > 300) {
508
+ t.startTime = h;
509
+ t.startX = t.x;
510
+ t.startY = t.y;
511
+ }
512
+ if (t.options.onScrollMove) t.options.onScrollMove.call(t, e);
513
+ },
514
+ _end(r) {
515
+ if (m && r.touches.length !== 0) return;
516
+ var i = this,
517
+ s = m ? r.changedTouches[0] : r,
518
+ u,
519
+ f,
520
+ l = { dist: 0, time: 0 },
521
+ c = { dist: 0, time: 0 },
522
+ h = (r.timeStamp || Date.now()) - i.startTime,
523
+ p = i.x,
524
+ d = i.y,
525
+ v,
526
+ g,
527
+ y,
528
+ b,
529
+ w;
530
+ i._unbind(E, e);
531
+ i._unbind(S, e);
532
+ i._unbind(x, e);
533
+ if (i.options.onBeforeScrollEnd) i.options.onBeforeScrollEnd.call(i, r);
534
+ if (i.zoomed) {
535
+ w = i.scale * i.lastScale;
536
+ w = Math.max(i.options.zoomMin, w);
537
+ w = Math.min(i.options.zoomMax, w);
538
+ i.lastScale = w / i.scale;
539
+ i.scale = w;
540
+ i.x = i.originX - i.originX * i.lastScale + i.x;
541
+ i.y = i.originY - i.originY * i.lastScale + i.y;
542
+ i.scroller.style[a] = "200ms";
543
+ i.scroller.style[o] =
544
+ "translate(" + i.x + "px," + i.y + "px) scale(" + i.scale + ")" + k;
545
+ i.zoomed = false;
546
+ i.refresh();
547
+ if (i.options.onZoomEnd) i.options.onZoomEnd.call(i, r);
548
+ return;
549
+ }
550
+ if (!i.moved) {
551
+ if (m) {
552
+ if (i.doubleTapTimer && i.options.zoom) {
553
+ clearTimeout(i.doubleTapTimer);
554
+ i.doubleTapTimer = null;
555
+ if (i.options.onZoomStart) i.options.onZoomStart.call(i, r);
556
+ i.zoom(
557
+ i.pointX,
558
+ i.pointY,
559
+ i.scale == 1 ? i.options.doubleTapZoom : 1
560
+ );
561
+
562
+ if (i.options.onZoomEnd) {
563
+ setTimeout(function () {
564
+ i.options.onZoomEnd.call(i, r);
565
+ }, 200);
566
+ }
567
+ } else if (this.options.handleClick) {
568
+ i.doubleTapTimer = setTimeout(
569
+ function () {
570
+ i.doubleTapTimer = null;
571
+ u = s.target;
572
+ while (u.nodeType != 1) u = u.parentNode;
573
+ if (
574
+ u.tagName != "SELECT" &&
575
+ u.tagName != "INPUT" &&
576
+ u.tagName != "TEXTAREA"
577
+ ) {
578
+ f = t.createEvent("MouseEvents");
579
+ f.initMouseEvent(
580
+ "click",
581
+ true,
582
+ true,
583
+ r.view,
584
+ 1,
585
+ s.screenX,
586
+ s.screenY,
587
+ s.clientX,
588
+ s.clientY,
589
+ r.ctrlKey,
590
+ r.altKey,
591
+ r.shiftKey,
592
+ r.metaKey,
593
+ 0,
594
+ null
595
+ );
596
+
597
+ f._fake = true;
598
+ u.dispatchEvent(f);
599
+ }
600
+ },
601
+ i.options.zoom ? 250 : 0
602
+ );
603
+ }
604
+ }
605
+ i._resetPos(400);
606
+ if (i.options.onTouchEnd) i.options.onTouchEnd.call(i, r);
607
+ return;
608
+ }
609
+ if (h < 300 && i.options.momentum) {
610
+ l = p
611
+ ? i._momentum(
612
+ p - i.startX,
613
+ h,
614
+ -i.x,
615
+ i.scrollerW - i.wrapperW + i.x,
616
+ i.options.bounce ? i.wrapperW : 0
617
+ )
618
+ : l;
619
+ c = d
620
+ ? i._momentum(
621
+ d - i.startY,
622
+ h,
623
+ -i.y,
624
+ i.maxScrollY < 0
625
+ ? i.scrollerH - i.wrapperH + i.y - i.minScrollY
626
+ : 0,
627
+ i.options.bounce ? i.wrapperH : 0
628
+ )
629
+ : c;
630
+ p = i.x + l.dist;
631
+ d = i.y + c.dist;
632
+ if ((i.x > 0 && p > 0) || (i.x < i.maxScrollX && p < i.maxScrollX))
633
+ l = { dist: 0, time: 0 };
634
+ if (
635
+ (i.y > i.minScrollY && d > i.minScrollY) ||
636
+ (i.y < i.maxScrollY && d < i.maxScrollY)
637
+ )
638
+ c = { dist: 0, time: 0 };
639
+ }
640
+ if (l.dist || c.dist) {
641
+ y = n.max(n.max(l.time, c.time), 10);
642
+ if (i.options.snap) {
643
+ v = p - i.absStartX;
644
+ g = d - i.absStartY;
645
+ if (
646
+ n.abs(v) < i.options.snapThreshold &&
647
+ n.abs(g) < i.options.snapThreshold
648
+ ) {
649
+ i.scrollTo(i.absStartX, i.absStartY, 200);
650
+ } else {
651
+ b = i._snap(p, d);
652
+ p = b.x;
653
+ d = b.y;
654
+ y = n.max(b.time, y);
655
+ }
656
+ }
657
+ i.scrollTo(n.round(p), n.round(d), y);
658
+ if (i.options.onTouchEnd) i.options.onTouchEnd.call(i, r);
659
+ return;
660
+ }
661
+ if (i.options.snap) {
662
+ v = p - i.absStartX;
663
+ g = d - i.absStartY;
664
+ if (
665
+ n.abs(v) < i.options.snapThreshold &&
666
+ n.abs(g) < i.options.snapThreshold
667
+ )
668
+ i.scrollTo(i.absStartX, i.absStartY, 200);
669
+ else {
670
+ b = i._snap(i.x, i.y);
671
+ if (b.x != i.x || b.y != i.y) i.scrollTo(b.x, b.y, b.time);
672
+ }
673
+ if (i.options.onTouchEnd) i.options.onTouchEnd.call(i, r);
674
+ return;
675
+ }
676
+ i._resetPos(200);
677
+ if (i.options.onTouchEnd) i.options.onTouchEnd.call(i, r);
678
+ },
679
+ _resetPos(e) {
680
+ var t = this,
681
+ n = t.x >= 0 ? 0 : t.x < t.maxScrollX ? t.maxScrollX : t.x,
682
+ r =
683
+ t.y >= t.minScrollY || t.maxScrollY > 0
684
+ ? t.minScrollY
685
+ : t.y < t.maxScrollY
686
+ ? t.maxScrollY
687
+ : t.y;
688
+ if (n == t.x && r == t.y) {
689
+ if (t.moved) {
690
+ t.moved = false;
691
+ if (t.options.onScrollEnd) t.options.onScrollEnd.call(t);
692
+ }
693
+ if (t.hScrollbar && t.options.hideScrollbar) {
694
+ if (i == "webkit") t.hScrollbarWrapper.style[c] = "300ms";
695
+ t.hScrollbarWrapper.style.opacity = "0";
696
+ }
697
+ if (t.vScrollbar && t.options.hideScrollbar) {
698
+ if (i == "webkit") t.vScrollbarWrapper.style[c] = "300ms";
699
+ t.vScrollbarWrapper.style.opacity = "0";
700
+ }
701
+ return;
702
+ }
703
+ t.scrollTo(n, r, e || 0);
704
+ },
705
+ _wheel(e) {
706
+ var t = this,
707
+ n,
708
+ r,
709
+ i,
710
+ s,
711
+ o;
712
+ if ("wheelDeltaX" in e) {
713
+ n = e.wheelDeltaX / 12;
714
+ r = e.wheelDeltaY / 12;
715
+ } else if ("wheelDelta" in e) {
716
+ n = r = e.wheelDelta / 12;
717
+ } else if ("detail" in e) {
718
+ n = r = -e.detail * 3;
719
+ } else {
720
+ return;
721
+ }
722
+ if (t.options.wheelAction == "zoom") {
723
+ o = t.scale * Math.pow(2, (1 / 3) * (r ? r / Math.abs(r) : 0));
724
+ if (o < t.options.zoomMin) o = t.options.zoomMin;
725
+ if (o > t.options.zoomMax) o = t.options.zoomMax;
726
+ if (o != t.scale) {
727
+ if (!t.wheelZoomCount && t.options.onZoomStart)
728
+ t.options.onZoomStart.call(t, e);
729
+ t.wheelZoomCount++;
730
+ t.zoom(e.pageX, e.pageY, o, 400);
731
+ setTimeout(function () {
732
+ t.wheelZoomCount--;
733
+ if (!t.wheelZoomCount && t.options.onZoomEnd)
734
+ t.options.onZoomEnd.call(t, e);
735
+ }, 400);
736
+ }
737
+ return;
738
+ }
739
+ i = t.x + n;
740
+ s = t.y + r;
741
+ if (i > 0) i = 0;
742
+ else if (i < t.maxScrollX) i = t.maxScrollX;
743
+ if (s > t.minScrollY) s = t.minScrollY;
744
+ else if (s < t.maxScrollY) s = t.maxScrollY;
745
+ if (t.maxScrollY < 0) {
746
+ t.scrollTo(i, s, 0);
747
+ }
748
+ },
749
+ _transitionEnd(e) {
750
+ var t = this;
751
+ if (e.target != t.scroller) return;
752
+ t._unbind(T);
753
+ t._startAni();
754
+ },
755
+ _startAni() {
756
+ var e = this,
757
+ t = e.x,
758
+ r = e.y,
759
+ i = Date.now(),
760
+ s,
761
+ o,
762
+ u;
763
+ if (e.animating) return;
764
+ if (!e.steps.length) {
765
+ e._resetPos(400);
766
+ return;
767
+ }
768
+ s = e.steps.shift();
769
+ if (s.x == t && s.y == r) s.time = 0;
770
+ e.animating = true;
771
+ e.moved = true;
772
+ if (e.options.useTransition) {
773
+ e._transitionTime(s.time);
774
+ e._pos(s.x, s.y);
775
+ e.animating = false;
776
+ if (s.time) e._bind(T);
777
+ else e._resetPos(0);
778
+ return;
779
+ }
780
+ u = function () {
781
+ var a = Date.now(),
782
+ f,
783
+ l;
784
+ if (a >= i + s.time) {
785
+ e._pos(s.x, s.y);
786
+ e.animating = false;
787
+ if (e.options.onAnimationEnd) e.options.onAnimationEnd.call(e);
788
+ e._startAni();
789
+ return;
790
+ }
791
+ a = (a - i) / s.time - 1;
792
+ o = n.sqrt(1 - a * a);
793
+ f = (s.x - t) * o + t;
794
+ l = (s.y - r) * o + r;
795
+ e._pos(f, l);
796
+ if (e.animating) e.aniTime = N(u);
797
+ };
798
+ u();
799
+ },
800
+ _transitionTime(e) {
801
+ e += "ms";
802
+ this.scroller.style[a] = e;
803
+ if (this.hScrollbar) this.hScrollbarIndicator.style[a] = e;
804
+ if (this.vScrollbar) this.vScrollbarIndicator.style[a] = e;
805
+ },
806
+ _momentum(e, t, r, i, s) {
807
+ var o = 6e-4,
808
+ u = n.abs(e) / t,
809
+ a = (u * u) / (2 * o),
810
+ f = 0,
811
+ l = 0;
812
+ if (e > 0 && a > r) {
813
+ l = s / (6 / ((a / u) * o));
814
+ r = r + l;
815
+ u = (u * r) / a;
816
+ a = r;
817
+ } else if (e < 0 && a > i) {
818
+ l = s / (6 / ((a / u) * o));
819
+ i = i + l;
820
+ u = (u * i) / a;
821
+ a = i;
822
+ }
823
+ a = a * (e < 0 ? -1 : 1);
824
+ f = u / o;
825
+ return { dist: a, time: n.round(f) };
826
+ },
827
+ _offset(e) {
828
+ var t = -e.offsetLeft,
829
+ n = -e.offsetTop;
830
+ while ((e = e.offsetParent)) {
831
+ t -= e.offsetLeft;
832
+ n -= e.offsetTop;
833
+ }
834
+ if (e != this.wrapper) {
835
+ t *= this.scale;
836
+ n *= this.scale;
837
+ }
838
+ return { left: t, top: n };
839
+ },
840
+ _snap(e, t) {
841
+ var r = this,
842
+ i,
843
+ s,
844
+ o,
845
+ u,
846
+ a,
847
+ f;
848
+ o = r.pagesX.length - 1;
849
+ for (i = 0, s = r.pagesX.length; i < s; i++) {
850
+ if (e >= r.pagesX[i]) {
851
+ o = i;
852
+ break;
853
+ }
854
+ }
855
+ if (o == r.currPageX && o > 0 && r.dirX < 0) o--;
856
+ e = r.pagesX[o];
857
+ a = n.abs(e - r.pagesX[r.currPageX]);
858
+ a = a ? (n.abs(r.x - e) / a) * 500 : 0;
859
+ r.currPageX = o;
860
+ o = r.pagesY.length - 1;
861
+ for (i = 0; i < o; i++) {
862
+ if (t >= r.pagesY[i]) {
863
+ o = i;
864
+ break;
865
+ }
866
+ }
867
+ if (o == r.currPageY && o > 0 && r.dirY < 0) o--;
868
+ t = r.pagesY[o];
869
+ f = n.abs(t - r.pagesY[r.currPageY]);
870
+ f = f ? (n.abs(r.y - t) / f) * 500 : 0;
871
+ r.currPageY = o;
872
+ u = n.round(n.max(a, f)) || 200;
873
+ return { x: e, y: t, time: u };
874
+ },
875
+ _bind(e, t, n) {
876
+ (t || this.scroller).addEventListener(e, this, !!n);
877
+ },
878
+ _unbind(e, t, n) {
879
+ (t || this.scroller).removeEventListener(e, this, !!n);
880
+ },
881
+ destroy() {
882
+ var t = this;
883
+ t.scroller.style[o] = "";
884
+ t.hScrollbar = false;
885
+ t.vScrollbar = false;
886
+ t._scrollbar("h");
887
+ t._scrollbar("v");
888
+ t._unbind(b, e);
889
+ t._unbind(w);
890
+ t._unbind(E, e);
891
+ t._unbind(S, e);
892
+ t._unbind(x, e);
893
+ if (!t.options.hasTouch) {
894
+ t._unbind("DOMMouseScroll");
895
+ t._unbind("mousewheel");
896
+ }
897
+ if (t.options.useTransition) t._unbind(T);
898
+ if (t.options.checkDOMChanges) clearInterval(t.checkDOMTime);
899
+ if (t.options.onDestroy) t.options.onDestroy.call(t);
900
+ },
901
+ refresh() {
902
+ var e = this,
903
+ t,
904
+ r,
905
+ i,
906
+ s,
907
+ o = 0,
908
+ u = 0;
909
+ if (e.scale < e.options.zoomMin) e.scale = e.options.zoomMin;
910
+ e.wrapperW = e.wrapper.clientWidth || 1;
911
+ e.wrapperH = e.wrapper.clientHeight || 1;
912
+ e.minScrollY = -e.options.topOffset || 0;
913
+ e.scrollerW = n.round(e.scroller.offsetWidth * e.scale);
914
+ e.scrollerH = n.round((e.scroller.offsetHeight + e.minScrollY) * e.scale);
915
+ e.maxScrollX = e.wrapperW - e.scrollerW;
916
+ e.maxScrollY = e.wrapperH - e.scrollerH + e.minScrollY;
917
+ e.dirX = 0;
918
+ e.dirY = 0;
919
+ if (e.options.onRefresh) e.options.onRefresh.call(e);
920
+ e.hScroll = e.options.hScroll && e.maxScrollX < 0;
921
+ e.vScroll =
922
+ e.options.vScroll &&
923
+ ((!e.options.bounceLock && !e.hScroll) || e.scrollerH > e.wrapperH);
924
+ e.hScrollbar = e.hScroll && e.options.hScrollbar;
925
+ e.vScrollbar =
926
+ e.vScroll && e.options.vScrollbar && e.scrollerH > e.wrapperH;
927
+ t = e._offset(e.wrapper);
928
+ e.wrapperOffsetLeft = -t.left;
929
+ e.wrapperOffsetTop = -t.top;
930
+ if (typeof e.options.snap == "string") {
931
+ e.pagesX = [];
932
+ e.pagesY = [];
933
+ s = e.scroller.querySelectorAll(e.options.snap);
934
+ for (r = 0, i = s.length; r < i; r++) {
935
+ o = e._offset(s[r]);
936
+ o.left += e.wrapperOffsetLeft;
937
+ o.top += e.wrapperOffsetTop;
938
+ e.pagesX[r] = o.left < e.maxScrollX ? e.maxScrollX : o.left * e.scale;
939
+ e.pagesY[r] = o.top < e.maxScrollY ? e.maxScrollY : o.top * e.scale;
940
+ }
941
+ } else if (e.options.snap) {
942
+ e.pagesX = [];
943
+ while (o >= e.maxScrollX) {
944
+ e.pagesX[u] = o;
945
+ o = o - e.wrapperW;
946
+ u++;
947
+ }
948
+ if (e.maxScrollX % e.wrapperW)
949
+ e.pagesX[e.pagesX.length] =
950
+ e.maxScrollX -
951
+ e.pagesX[e.pagesX.length - 1] +
952
+ e.pagesX[e.pagesX.length - 1];
953
+ o = 0;
954
+ u = 0;
955
+ e.pagesY = [];
956
+ while (o >= e.maxScrollY) {
957
+ e.pagesY[u] = o;
958
+ o = o - e.wrapperH;
959
+ u++;
960
+ }
961
+ if (e.maxScrollY % e.wrapperH)
962
+ e.pagesY[e.pagesY.length] =
963
+ e.maxScrollY -
964
+ e.pagesY[e.pagesY.length - 1] +
965
+ e.pagesY[e.pagesY.length - 1];
966
+ }
967
+ e._scrollbar("h");
968
+ e._scrollbar("v");
969
+ if (!e.zoomed) {
970
+ e.scroller.style[a] = "0";
971
+ e._resetPos(400);
972
+ }
973
+ },
974
+ scrollTo(e, t, n, r) {
975
+ var i = this,
976
+ s = e,
977
+ o,
978
+ u;
979
+ i.stop();
980
+ if (!s.length) s = [{ x: e, y: t, time: n, relative: r }];
981
+ for (o = 0, u = s.length; o < u; o++) {
982
+ if (s[o].relative) {
983
+ s[o].x = i.x - s[o].x;
984
+ s[o].y = i.y - s[o].y;
985
+ }
986
+ i.steps.push({ x: s[o].x, y: s[o].y, time: s[o].time || 0 });
987
+ }
988
+ i._startAni();
989
+ },
990
+ scrollToElement(e, t) {
991
+ var r = this,
992
+ i;
993
+ e = e.nodeType ? e : r.scroller.querySelector(e);
994
+ if (!e) return;
995
+ i = r._offset(e);
996
+ i.left += r.wrapperOffsetLeft;
997
+ i.top += r.wrapperOffsetTop;
998
+ i.left = i.left > 0 ? 0 : i.left < r.maxScrollX ? r.maxScrollX : i.left;
999
+ i.top =
1000
+ i.top > r.minScrollY
1001
+ ? r.minScrollY
1002
+ : i.top < r.maxScrollY
1003
+ ? r.maxScrollY
1004
+ : i.top;
1005
+ t = t === undefined ? n.max(n.abs(i.left) * 2, n.abs(i.top) * 2) : t;
1006
+ r.scrollTo(i.left, i.top, t);
1007
+ },
1008
+ scrollToPage(e, t, n) {
1009
+ var r = this,
1010
+ i,
1011
+ s;
1012
+ n = n === undefined ? 400 : n;
1013
+ if (r.options.onScrollStart) r.options.onScrollStart.call(r);
1014
+ if (r.options.snap) {
1015
+ e = e == "next" ? r.currPageX + 1 : e == "prev" ? r.currPageX - 1 : e;
1016
+ t = t == "next" ? r.currPageY + 1 : t == "prev" ? r.currPageY - 1 : t;
1017
+ e = e < 0 ? 0 : e > r.pagesX.length - 1 ? r.pagesX.length - 1 : e;
1018
+ t = t < 0 ? 0 : t > r.pagesY.length - 1 ? r.pagesY.length - 1 : t;
1019
+ r.currPageX = e;
1020
+ r.currPageY = t;
1021
+ i = r.pagesX[e];
1022
+ s = r.pagesY[t];
1023
+ } else {
1024
+ i = -r.wrapperW * e;
1025
+ s = -r.wrapperH * t;
1026
+ if (i < r.maxScrollX) i = r.maxScrollX;
1027
+ if (s < r.maxScrollY) s = r.maxScrollY;
1028
+ }
1029
+ r.scrollTo(i, s, n);
1030
+ },
1031
+ disable() {
1032
+ this.stop();
1033
+ this._resetPos(0);
1034
+ this.enabled = false;
1035
+ this._unbind(E, e);
1036
+ this._unbind(S, e);
1037
+ this._unbind(x, e);
1038
+ },
1039
+ enable() {
1040
+ this.enabled = true;
1041
+ },
1042
+ stop() {
1043
+ if (this.options.useTransition) this._unbind(T);
1044
+ else C(this.aniTime);
1045
+ this.steps = [];
1046
+ this.moved = false;
1047
+ this.animating = false;
1048
+ },
1049
+ zoom(e, t, n, r) {
1050
+ var i = this,
1051
+ s = n / i.scale;
1052
+ if (!i.options.useTransform) return;
1053
+ i.zoomed = true;
1054
+ r = r === undefined ? 200 : r;
1055
+ e = e - i.wrapperOffsetLeft - i.x;
1056
+ t = t - i.wrapperOffsetTop - i.y;
1057
+ i.x = e - e * s + i.x;
1058
+ i.y = t - t * s + i.y;
1059
+ i.scale = n;
1060
+ i.refresh();
1061
+ i.x = i.x > 0 ? 0 : i.x < i.maxScrollX ? i.maxScrollX : i.x;
1062
+ i.y =
1063
+ i.y > i.minScrollY
1064
+ ? i.minScrollY
1065
+ : i.y < i.maxScrollY
1066
+ ? i.maxScrollY
1067
+ : i.y;
1068
+ i.scroller.style[a] = r + "ms";
1069
+ i.scroller.style[o] =
1070
+ "translate(" + i.x + "px," + i.y + "px) scale(" + n + ")" + k;
1071
+ i.zoomed = false;
1072
+ },
1073
+ isReady() {
1074
+ return !this.moved && !this.zoomed && !this.animating;
1075
+ }
1076
+ };
1077
+
1078
+ r = null;
1079
+ if (typeof exports !== "undefined") exports.iScroll = L;
1080
+ else e.iScroll = L;
1081
+ })(window, document);