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