@qooxdoo/framework 7.9.2 → 8.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +191 -33
- package/Manifest.json +3 -3
- package/bin/tools/utils.js +50 -13
- package/lib/compiler/compile-info.json +300 -230
- package/lib/compiler/index.js +56748 -44036
- package/lib/resource/qx/tool/{cli → compiler/cli}/templates/loader/loader-node.tmpl.js +1 -0
- package/lib/resource/qx/tool/compiler/cli/templates/skeleton/mobile/source/theme/custom/css/custom.css.map +1 -0
- package/{source/resource/qx/tool → lib/resource/qx/tool/compiler}/cli/templates/template_vars.js +12 -9
- package/{source/resource/qx/tool → lib/resource/qx/tool/compiler}/schema/Manifest-1-0-0.json +2 -2
- package/lib/resource/qx/tool/{schema → compiler/schema}/Manifest-2-0-0.json +2 -2
- package/lib/resource/qx/tool/{schema → compiler/schema}/compile-1-0-0.json +15 -3
- package/{source/resource/qx/tool → lib/resource/qx/tool/compiler}/schema/qooxdoo-1-0-0.json +1 -1
- package/lib/resource/qx/tool/website/build/404.html +22 -22
- package/lib/resource/qx/tool/website/build/about.html +23 -23
- package/lib/resource/qx/tool/website/build/assets/common.js +30 -18
- package/lib/resource/qx/tool/website/build/assets/custom.css +290 -0
- package/lib/resource/qx/tool/website/build/assets/qxWeb.js +28 -0
- package/lib/resource/qx/tool/website/build/diagnostics/dependson.html +30 -30
- package/lib/resource/qx/tool/website/build/diagnostics/dependson.js +49 -40
- package/lib/resource/qx/tool/website/build/diagnostics/requiredby.html +20 -23
- package/lib/resource/qx/tool/website/build/diagnostics/requiredby.js +38 -31
- package/lib/resource/qx/tool/website/build/index.html +24 -24
- package/lib/resource/qx/tool/website/build/scripts/serve.js +63 -65
- package/lib/resource/qx/tool/website/partials/footer.html +8 -13
- package/lib/resource/qx/tool/website/partials/head.html +9 -7
- package/lib/resource/qx/tool/website/partials/header.html +3 -3
- package/lib/resource/qx/tool/website/src/assets/common.js +32 -0
- package/lib/resource/qx/tool/website/src/assets/custom.css +290 -0
- package/lib/resource/qx/tool/website/src/assets/qxWeb.js +28 -0
- package/lib/resource/qx/tool/website/src/diagnostics/dependson.js +49 -40
- package/lib/resource/qx/tool/website/src/diagnostics/requiredby.js +38 -31
- package/lib/resource/qx/tool/website/src/index.html +2 -2
- package/lib/resource/qx/tool/website/src/scripts/serve.js +63 -65
- package/package.json +20 -19
- package/source/boot/index.html +2 -2
- package/source/class/qx/Bootstrap.js +931 -705
- package/source/class/qx/Class.js +1476 -1451
- package/source/class/qx/Interface.js +40 -107
- package/source/class/qx/Mixin.js +58 -116
- package/source/class/qx/Promise.js +1 -0
- package/source/class/qx/Theme.js +1 -1
- package/source/class/qx/application/Routing.js +2 -0
- package/source/class/qx/bom/Font.js +3 -0
- package/source/class/qx/bom/client/Locale.js +5 -0
- package/source/class/qx/bom/request/Jsonp.js +5 -13
- package/source/class/qx/bom/request/Script.js +11 -35
- package/source/class/qx/bom/request/SimpleXhr.js +13 -41
- package/source/class/qx/bom/request/Xhr.js +19 -80
- package/source/class/qx/bom/storage/Memory.js +2 -0
- package/source/class/qx/bom/storage/UserData.js +2 -0
- package/source/class/qx/bom/storage/Web.js +2 -0
- package/source/class/qx/bom/webfonts/Validator.js +13 -5
- package/source/class/qx/core/Assert.js +14 -0
- package/source/class/qx/core/BaseInit.js +19 -20
- package/source/class/qx/core/Environment.js +23 -20
- package/source/class/qx/core/MEvent.js +1 -1
- package/source/class/qx/core/MObjectId.js +8 -6
- package/source/class/qx/core/MProperty.js +172 -136
- package/source/class/qx/core/Object.js +88 -102
- package/source/class/qx/core/check/AbstractCheck.js +111 -0
- package/source/class/qx/core/check/Any.js +63 -0
- package/source/class/qx/core/check/CheckFactory.js +151 -0
- package/source/class/qx/core/check/DynamicTypeCheck.js +90 -0
- package/source/class/qx/core/check/ICheck.js +75 -0
- package/source/class/qx/core/check/IsOneOfCheck.js +63 -0
- package/source/class/qx/core/check/JsDocCheck.js +71 -0
- package/source/class/qx/core/check/SimpleCheck.js +42 -0
- package/source/class/qx/core/check/standard/ArrayCheck.js +49 -0
- package/source/class/qx/core/check/standard/BooleanCheck.js +47 -0
- package/source/class/qx/core/check/standard/ClassCheck.js +33 -0
- package/source/class/qx/core/check/standard/ColorCheck.js +33 -0
- package/source/class/qx/core/check/standard/DateCheck.js +49 -0
- package/source/class/qx/core/check/standard/DecoratorCheck.js +33 -0
- package/source/class/qx/core/check/standard/DocumentCheck.js +40 -0
- package/source/class/qx/core/check/standard/ElementCheck.js +40 -0
- package/source/class/qx/core/check/standard/ErrorCheck.js +46 -0
- package/source/class/qx/core/check/standard/EventCheck.js +40 -0
- package/source/class/qx/core/check/standard/FontCheck.js +33 -0
- package/source/class/qx/core/check/standard/FunctionCheck.js +49 -0
- package/source/class/qx/core/check/standard/IntegerCheck.js +54 -0
- package/source/class/qx/core/check/standard/InterfaceCheck.js +33 -0
- package/source/class/qx/core/check/standard/MapCheck.js +33 -0
- package/source/class/qx/core/check/standard/MixinCheck.js +33 -0
- package/source/class/qx/core/check/standard/NodeCheck.js +40 -0
- package/source/class/qx/core/check/standard/NumberCheck.js +48 -0
- package/source/class/qx/core/check/standard/ObjectCheck.js +33 -0
- package/source/class/qx/core/check/standard/PositiveIntegerCheck.js +45 -0
- package/source/class/qx/core/check/standard/PositiveNumberCheck.js +45 -0
- package/source/class/qx/core/check/standard/PromiseCheck.js +33 -0
- package/source/class/qx/core/check/standard/RegExpCheck.js +46 -0
- package/source/class/qx/core/check/standard/StringCheck.js +43 -0
- package/source/class/qx/core/check/standard/ThemeCheck.js +33 -0
- package/source/class/qx/core/check/standard/WindowCheck.js +40 -0
- package/source/class/qx/core/property/ExplicitPropertyStorage.js +87 -0
- package/source/class/qx/core/property/GroupProperty.js +262 -0
- package/source/class/qx/core/property/IProperty.js +46 -0
- package/source/class/qx/core/property/IPropertyStorage.js +83 -0
- package/source/class/qx/core/property/ImmutableArrayStorage.js +38 -0
- package/source/class/qx/core/property/ImmutableDataArrayStorage.js +38 -0
- package/source/class/qx/core/property/ImmutableObjectStorage.js +39 -0
- package/source/class/qx/core/property/Property.js +1481 -0
- package/source/class/qx/core/property/PropertyStorageFactory.js +22 -0
- package/source/class/qx/core/property/SimplePropertyStorage.js +105 -0
- package/source/class/qx/data/Array.js +102 -57
- package/source/class/qx/data/MBinding.js +4 -29
- package/source/class/qx/data/SingleValueBinding.js +596 -1495
- package/source/class/qx/data/binding/AbstractSegment.js +197 -0
- package/source/class/qx/data/binding/ArrayIndexSegment.js +148 -0
- package/source/class/qx/data/binding/IInputReceiver.js +14 -0
- package/source/class/qx/data/binding/PropNameSegment.js +150 -0
- package/source/class/qx/data/controller/CheckedList.js +1 -1
- package/source/class/qx/data/controller/Form.js +78 -8
- package/source/class/qx/data/controller/Tree.js +27 -117
- package/source/class/qx/data/marshal/Json.js +46 -149
- package/source/class/qx/data/store/Json.js +0 -2
- package/source/class/qx/dev/Debug.js +1 -1
- package/source/class/qx/dev/LeakDetector.js +144 -0
- package/source/class/qx/dev/unit/AsyncWrapper.js +1 -0
- package/source/class/qx/dev/unit/MMock.js +7 -2
- package/source/class/qx/dev/unit/Sinon.js +0 -4
- package/source/class/qx/dev/unit/TestClass.js +2 -2
- package/source/class/qx/dev/unit/TestFunction.js +1 -0
- package/source/class/qx/dev/unit/TestLoaderBasic.js +1 -0
- package/source/class/qx/dev/unit/TestRunner.js +106 -0
- package/source/class/qx/event/IEventDispatcher.js +8 -4
- package/source/class/qx/event/Manager.js +4 -0
- package/source/class/qx/event/Messaging.js +2 -0
- package/source/class/qx/event/Pool.js +7 -0
- package/source/class/qx/event/Registration.js +33 -55
- package/source/class/qx/event/Timer.js +2 -0
- package/source/class/qx/event/Utils.js +25 -8
- package/source/class/qx/event/dispatch/AbstractBubbling.js +98 -194
- package/source/class/qx/event/dispatch/Direct.js +18 -13
- package/source/class/qx/event/handler/Appear.js +20 -24
- package/source/class/qx/event/handler/Application.js +4 -0
- package/source/class/qx/event/handler/DragDrop.js +182 -385
- package/source/class/qx/event/handler/Element.js +3 -0
- package/source/class/qx/event/handler/Focus.js +36 -30
- package/source/class/qx/event/handler/Input.js +5 -0
- package/source/class/qx/event/handler/Keyboard.js +107 -165
- package/source/class/qx/event/handler/Pointer.js +39 -68
- package/source/class/qx/event/handler/PointerCore.js +7 -25
- package/source/class/qx/event/handler/Window.js +5 -0
- package/source/class/qx/event/type/Event.js +12 -0
- package/source/class/qx/event/type/KeySequence.js +3 -0
- package/source/class/qx/event/type/Native.js +3 -0
- package/source/class/qx/html/Element.js +26 -91
- package/source/class/qx/io/jsonrpc/Client.js +1 -1
- package/source/class/qx/io/jsonrpc/protocol/Error.js +2 -2
- package/source/class/qx/io/jsonrpc/protocol/Parser.js +1 -0
- package/source/class/qx/io/jsonrpc/protocol/Result.js +2 -2
- package/source/class/qx/io/request/Xhr.js +3 -8
- package/source/class/qx/lang/normalize/Array.js +23 -1
- package/source/class/qx/locale/Date.js +520 -113
- package/source/class/qx/locale/LocalizedString.js +3 -0
- package/source/class/qx/locale/Manager.js +14 -3
- package/source/class/qx/locale/Number.js +60 -7
- package/source/class/qx/log/Logger.js +1 -1
- package/source/class/qx/module/Animation.js +2 -0
- package/source/class/qx/module/Attribute.js +2 -0
- package/source/class/qx/module/Css.js +7 -24
- package/source/class/qx/module/Event.js +2 -0
- package/source/class/qx/module/Manipulating.js +2 -0
- package/source/class/qx/module/Traversing.js +2 -0
- package/source/class/qx/test/Bootstrap.js +68 -53
- package/source/class/qx/test/Class.js +310 -2
- package/source/class/qx/test/Mixin.js +192 -42
- package/source/class/qx/test/Promise.js +129 -331
- package/source/class/qx/test/Theme.js +11 -0
- package/source/class/qx/test/bom/Font.js +2 -5
- package/source/class/qx/test/bom/Template.js +1 -1
- package/source/class/qx/test/compiler/ClassFile.js +14 -0
- package/source/class/qx/test/core/Assert.js +12 -0
- package/source/class/qx/test/core/Environment.js +17 -3
- package/source/class/qx/test/core/InheritanceDummy.js +10 -1
- package/source/class/qx/test/core/Object.js +51 -24
- package/source/class/qx/test/core/ObjectId.js +10 -1
- package/source/class/qx/test/core/Property.js +1338 -121
- package/source/class/qx/test/core/PropertyHelper.js +12 -0
- package/source/class/qx/test/core/Target.js +1 -0
- package/source/class/qx/test/core/Validation.js +2 -0
- package/source/class/qx/test/data/DataArray.js +218 -639
- package/source/class/qx/test/data/DataArrayWithChangeBubble.js +45 -215
- package/source/class/qx/test/data/MultiBinding.js +42 -0
- package/source/class/qx/test/data/async/__init__.js +4 -0
- package/source/class/qx/test/data/controller/Form.js +523 -14
- package/source/class/qx/test/data/controller/List.js +94 -426
- package/source/class/qx/test/data/controller/ListReverse.js +5 -20
- package/source/class/qx/test/data/controller/ListWithObjects.js +49 -225
- package/source/class/qx/test/data/controller/Object.js +54 -222
- package/source/class/qx/test/data/controller/Tree.js +195 -934
- package/source/class/qx/test/data/marshal/Json.js +74 -312
- package/source/class/qx/test/data/singlevalue/Array.js +55 -279
- package/source/class/qx/test/data/singlevalue/Async.js +173 -0
- package/source/class/qx/test/data/singlevalue/Deep.js +148 -327
- package/source/class/qx/test/data/singlevalue/Resolve.js +8 -28
- package/source/class/qx/test/data/singlevalue/Simple.js +124 -359
- package/source/class/qx/test/data/store/Json.js +86 -254
- package/source/class/qx/test/data/store/Jsonp.js +9 -29
- package/source/class/qx/test/data/store/Offline.js +2 -8
- package/source/class/qx/test/data/store/Rest.js +3 -3
- package/source/class/qx/test/dev/unit/Requirements.js +26 -10
- package/source/class/qx/test/event/GlobalError.js +2 -2
- package/source/class/qx/test/html/Iframe.js +1 -1
- package/source/class/qx/test/io/graphql/Client.js +2 -0
- package/source/class/qx/test/io/jsonrpc/Protocol.js +4 -2
- package/source/class/qx/test/io/request/MRequest.js +2 -8
- package/source/class/qx/test/io/request/Xhr.js +27 -117
- package/source/class/qx/test/lang/Function.js +6 -25
- package/source/class/qx/test/lang/Type.js +31 -13
- package/source/class/qx/test/locale/Date.js +173 -2
- package/source/class/qx/test/locale/Locale.js +23 -28
- package/source/class/qx/test/locale/Number.js +71 -0
- package/source/class/qx/test/log/Logger.js +7 -1
- package/source/class/qx/test/log/fixture/ClassA.js +2 -5
- package/source/class/qx/test/mobile/basic/Atom.js +3 -3
- package/source/class/qx/test/mobile/container/Scroll.js +4 -4
- package/source/class/qx/test/mobile/form/CheckBox.js +6 -12
- package/source/class/qx/test/performance/Property.js +5 -4
- package/source/class/qx/test/performance/widget/WidgetWithDecorator.js +2 -0
- package/source/class/qx/test/theme/Simple.js +34 -0
- package/source/class/qx/test/{MAppearance.js → theme/SimpleAppearance.js} +5 -4
- package/source/class/qx/test/{MDecoration.js → theme/SimpleDecoration.js} +6 -4
- package/source/class/qx/test/theme/manager/Meta.js +7 -5
- package/source/class/qx/test/tool/__init__.js +3 -0
- package/source/class/qx/test/tool/cli/AbstractValue.js +274 -0
- package/source/class/qx/test/tool/cli/Argument.js +384 -0
- package/source/class/qx/test/tool/cli/Command.js +387 -0
- package/source/class/qx/test/tool/cli/Flag.js +413 -0
- package/source/class/qx/test/tool/cli/__init__.js +3 -0
- package/source/class/qx/test/ui/LayoutTestCase.js +1 -14
- package/source/class/qx/test/ui/basic/Label.js +106 -0
- package/source/class/qx/test/ui/core/Blocker.js +125 -3
- package/source/class/qx/test/ui/form/Form.js +106 -0
- package/source/class/qx/test/ui/form/FormManager.js +6 -5
- package/source/class/qx/test/ui/form/SplitButton.js +1 -1
- package/source/class/qx/test/ui/toolbar/OverflowHandling.js +13 -14
- package/source/class/qx/test/ui/toolbar/ToolBar.js +16 -16
- package/source/class/qx/test/ui/tree/TreeFolder.js +5 -7
- package/source/class/qx/test/ui/tree/virtual/AbstractTreeTest.js +2 -0
- package/source/class/qx/test/ui/tree/virtual/Tree.js +36 -0
- package/source/class/qx/test/util/DateFormat.js +1 -1
- package/source/class/qx/test/util/PropertyUtil.js +0 -36
- package/source/class/qx/theme/classic/Appearance.js +1 -1
- package/source/class/qx/theme/indigo/ColorDark.js +2 -0
- package/source/class/qx/theme/manager/Font.js +6 -1
- package/source/class/qx/theme/manager/Meta.js +2 -1
- package/source/class/qx/theme/simple/Appearance.js +31 -95
- package/source/class/qx/theme/simple/Decoration.js +0 -1
- package/source/class/qx/theme/tangible/Appearance.js +1 -1
- package/source/class/qx/tool/cli/AbstractCliApp.js +72 -0
- package/source/class/qx/tool/cli/AbstractValue.js +186 -0
- package/source/class/qx/tool/cli/Argument.js +155 -0
- package/source/class/qx/tool/cli/Command.js +518 -0
- package/source/class/qx/tool/cli/Flag.js +202 -0
- package/source/class/qx/tool/cli/Parser.js +39 -0
- package/source/class/qx/tool/cli/__init__.js +26 -1
- package/source/class/qx/tool/compiler/Analyser.js +41 -13
- package/source/class/qx/tool/compiler/ClassFile.js +37 -9
- package/source/class/qx/tool/compiler/Console.js +2 -0
- package/source/class/qx/tool/compiler/MetaExtraction.js +53 -33
- package/source/class/qx/tool/compiler/app/Library.js +1 -1
- package/source/class/qx/tool/compiler/app/WebFont.js +2 -0
- package/source/class/qx/tool/compiler/cli/Application.js +58 -0
- package/source/class/qx/tool/{cli/commands → compiler/cli}/Command.js +99 -45
- package/source/class/qx/tool/{cli → compiler/cli}/ConfigDb.js +7 -7
- package/source/class/qx/tool/compiler/cli/ConfigLoader.js +272 -0
- package/source/class/qx/tool/{cli → compiler/cli}/LibraryApplication.js +3 -3
- package/source/class/qx/tool/compiler/cli/RootCommand.js +63 -0
- package/source/class/qx/tool/{cli → compiler/cli}/Watch.js +49 -24
- package/source/class/qx/tool/compiler/cli/__init__.js +3 -0
- package/source/class/qx/tool/{cli → compiler/cli}/api/AbstractApi.js +2 -11
- package/source/class/qx/tool/{cli → compiler/cli}/api/CompilerApi.js +11 -10
- package/source/class/qx/tool/{cli → compiler/cli}/api/LibraryApi.js +13 -4
- package/source/class/qx/tool/{cli → compiler/cli}/api/Test.js +1 -1
- package/source/class/qx/tool/compiler/cli/commands/Add.js +49 -0
- package/source/class/qx/tool/{cli → compiler/cli}/commands/Clean.js +12 -25
- package/source/class/qx/tool/{cli → compiler/cli}/commands/Compile.js +524 -615
- package/source/class/qx/tool/{cli → compiler/cli}/commands/Config.js +22 -20
- package/source/class/qx/tool/{cli → compiler/cli}/commands/Create.js +77 -54
- package/source/class/qx/tool/{cli → compiler/cli}/commands/Deploy.js +45 -60
- package/source/class/qx/tool/{cli → compiler/cli}/commands/Es6ify.js +57 -41
- package/source/class/qx/tool/{cli → compiler/cli}/commands/ExportGlyphs.js +26 -7
- package/source/class/qx/tool/compiler/cli/commands/Lint.js +420 -0
- package/source/class/qx/tool/{cli → compiler/cli}/commands/Migrate.js +40 -20
- package/source/class/qx/tool/{cli → compiler/cli}/commands/Package.js +20 -32
- package/source/class/qx/tool/compiler/cli/commands/Pkg.js +36 -0
- package/source/class/qx/tool/compiler/cli/commands/Prettier.js +278 -0
- package/source/class/qx/tool/{cli → compiler/cli}/commands/Run.js +43 -39
- package/source/class/qx/tool/{cli → compiler/cli}/commands/Serve.js +63 -61
- package/source/class/qx/tool/{cli → compiler/cli}/commands/Test.js +49 -52
- package/source/class/qx/tool/{cli → compiler/cli}/commands/Typescript.js +51 -30
- package/source/class/qx/tool/{cli → compiler/cli}/commands/add/Class.js +54 -31
- package/source/class/qx/tool/{cli → compiler/cli}/commands/add/Script.js +56 -32
- package/source/class/qx/tool/{cli → compiler/cli}/commands/config/Delete.js +19 -13
- package/source/class/qx/tool/{cli → compiler/cli}/commands/config/Get.js +19 -13
- package/source/class/qx/tool/{cli → compiler/cli}/commands/config/List.js +20 -20
- package/source/class/qx/tool/{cli → compiler/cli}/commands/config/Set.js +28 -20
- package/source/class/qx/tool/{cli → compiler/cli}/commands/package/Install.js +140 -75
- package/source/class/qx/tool/{cli → compiler/cli}/commands/package/List.js +119 -80
- package/source/class/qx/tool/{cli → compiler/cli}/commands/package/Publish.js +194 -178
- package/source/class/qx/tool/{cli → compiler/cli}/commands/package/Remove.js +18 -21
- package/source/class/qx/tool/{cli → compiler/cli}/commands/package/Update.js +90 -69
- package/source/class/qx/tool/{cli → compiler/cli}/commands/package/Upgrade.js +67 -54
- package/source/class/qx/tool/compiler/makers/AbstractAppMaker.js +2 -1
- package/source/class/qx/tool/compiler/resources/Manager.js +2 -0
- package/source/class/qx/tool/compiler/resources/ScssConverter.js +1 -1
- package/source/class/qx/tool/compiler/resources/ScssFile.js +1 -1
- package/source/class/qx/tool/compiler/targets/Target.js +5 -10
- package/source/class/qx/tool/compiler/targets/TypeScriptWriter.js +6 -2
- package/source/class/qx/tool/compiler/targets/meta/ApplicationMeta.js +2 -4
- package/source/class/qx/tool/compiler/targets/meta/BootJs.js +2 -0
- package/source/class/qx/tool/compiler/targets/meta/PackageJavascript.js +2 -0
- package/source/class/qx/tool/config/Abstract.js +5 -5
- package/source/class/qx/tool/config/Lockfile.js +1 -1
- package/source/class/qx/tool/migration/BaseMigration.js +9 -7
- package/source/class/qx/tool/migration/M6_0_0.js +3 -3
- package/source/class/qx/tool/migration/M8_0_0.js +958 -0
- package/source/class/qx/tool/utils/Debounce.js +0 -1
- package/source/class/qx/tool/utils/Http.js +109 -21
- package/source/class/qx/tool/utils/LogManager.js +7 -0
- package/source/class/qx/tool/utils/Promisify.js +12 -1
- package/source/class/qx/tool/utils/QooxdooVersions.js +193 -0
- package/source/class/qx/tool/utils/Utils.js +8 -5
- package/source/class/qx/tool/utils/Website.js +9 -222
- package/source/class/qx/tool/utils/Zip.js +47 -0
- package/source/class/qx/tool/utils/files/Utils.js +3 -11
- package/source/class/qx/tool/utils/json/Tokenizer.js +5 -0
- package/source/class/qx/ui/basic/Atom.js +8 -8
- package/source/class/qx/ui/core/Blocker.js +17 -4
- package/source/class/qx/ui/core/DragDropCursor.js +2 -1
- package/source/class/qx/ui/core/EventHandler.js +13 -21
- package/source/class/qx/ui/core/LayoutItem.js +8 -31
- package/source/class/qx/ui/core/MExecutable.js +7 -31
- package/source/class/qx/ui/core/MNativeOverflow.js +4 -2
- package/source/class/qx/ui/core/Widget.js +50 -165
- package/source/class/qx/ui/core/scroll/IScrollBar.js +9 -3
- package/source/class/qx/ui/core/scroll/ScrollBar.js +7 -1
- package/source/class/qx/ui/core/scroll/ScrollPane.js +12 -4
- package/source/class/qx/ui/embed/Html.js +6 -2
- package/source/class/qx/ui/form/AbstractField.js +4 -12
- package/source/class/qx/ui/form/Button.js +6 -4
- package/source/class/qx/ui/form/CheckedSelectBox.js +8 -8
- package/source/class/qx/ui/form/FileSelectorButton.js +1 -1
- package/source/class/qx/ui/form/Form.js +3 -0
- package/source/class/qx/ui/form/IListItem.js +3 -1
- package/source/class/qx/ui/form/IRadioItem.js +3 -1
- package/source/class/qx/ui/form/MForm.js +3 -1
- package/source/class/qx/ui/form/Slider.js +6 -2
- package/source/class/qx/ui/form/SplitButton.js +5 -5
- package/source/class/qx/ui/form/TextField.js +1 -2
- package/source/class/qx/ui/form/validation/Manager.js +6 -2
- package/source/class/qx/ui/menubar/Button.js +1 -1
- package/source/class/qx/ui/mobile/basic/Atom.js +5 -5
- package/source/class/qx/ui/mobile/dialog/Menu.js +9 -31
- package/source/class/qx/ui/mobile/dialog/Popup.js +13 -1
- package/source/class/qx/ui/table/pane/FocusIndicator.js +5 -2
- package/source/class/qx/ui/table/pane/Scroller.js +5 -20
- package/source/class/qx/ui/table/selection/Model.js +1 -0
- package/source/class/qx/ui/toolbar/Button.js +1 -1
- package/source/class/qx/ui/toolbar/CheckBox.js +1 -1
- package/source/class/qx/ui/toolbar/FileSelectorButton.js +1 -2
- package/source/class/qx/ui/toolbar/Part.js +2 -2
- package/source/class/qx/ui/toolbar/PartContainer.js +2 -2
- package/source/class/qx/ui/toolbar/ToolBar.js +24 -49
- package/source/class/qx/ui/tree/VirtualTree.js +6 -4
- package/source/class/qx/ui/tree/core/AbstractItem.js +10 -17
- package/source/class/qx/ui/tree/core/IVirtualTree.js +4 -2
- package/source/class/qx/ui/tree/provider/IVirtualTreeProvider.js +20 -10
- package/source/class/qx/ui/treevirtual/SimpleTreeDataModel.js +4 -1
- package/source/class/qx/ui/virtual/cell/Cell.js +20 -48
- package/source/class/qx/ui/virtual/cell/WidgetCell.js +2 -4
- package/source/class/qx/ui/virtual/core/Axis.js +4 -0
- package/source/class/qx/ui/virtual/core/ILayer.js +14 -10
- package/source/class/qx/ui/virtual/core/Scroller.js +4 -4
- package/source/class/qx/ui/virtual/layer/WidgetCell.js +4 -0
- package/source/class/qx/ui/virtual/selection/Abstract.js +3 -0
- package/source/class/qx/ui/virtual/selection/MModel.js +1 -1
- package/source/class/qx/ui/window/IDesktop.js +6 -2
- package/source/class/qx/ui/window/IWindowManager.js +10 -4
- package/source/class/qx/ui/window/MDesktop.js +2 -1
- package/source/class/qx/ui/window/Manager.js +1 -1
- package/source/class/qx/ui/window/Window.js +6 -4
- package/source/class/qx/util/OOUtil.js +8 -9
- package/source/class/qx/util/PropertyUtil.js +34 -154
- package/source/class/qx/util/ResponseParser.js +2 -0
- package/source/class/qx/util/Serializer.js +69 -114
- package/source/class/qx/util/format/DateFormat.js +3 -2
- package/source/global.d.ts +4 -0
- package/source/resource/qx/tool/bin/download-assets +0 -2
- package/source/resource/qx/tool/{cli → compiler/cli}/templates/loader/loader-node.tmpl.js +1 -0
- package/{lib/resource/qx/tool → source/resource/qx/tool/compiler}/cli/templates/template_vars.js +12 -9
- package/{lib/resource/qx/tool → source/resource/qx/tool/compiler}/schema/Manifest-1-0-0.json +2 -2
- package/source/resource/qx/tool/{schema → compiler/schema}/Manifest-2-0-0.json +2 -2
- package/source/resource/qx/tool/{schema → compiler/schema}/compile-1-0-0.json +15 -3
- package/{lib/resource/qx/tool → source/resource/qx/tool/compiler}/schema/qooxdoo-1-0-0.json +1 -1
- package/source/resource/qx/tool/website/build/404.html +22 -22
- package/source/resource/qx/tool/website/build/about.html +23 -23
- package/source/resource/qx/tool/website/build/assets/common.js +30 -18
- package/source/resource/qx/tool/website/build/assets/custom.css +290 -0
- package/source/resource/qx/tool/website/build/assets/qxWeb.js +28 -0
- package/source/resource/qx/tool/website/build/diagnostics/dependson.html +30 -30
- package/source/resource/qx/tool/website/build/diagnostics/dependson.js +49 -40
- package/source/resource/qx/tool/website/build/diagnostics/requiredby.html +20 -23
- package/source/resource/qx/tool/website/build/diagnostics/requiredby.js +38 -31
- package/source/resource/qx/tool/website/build/index.html +24 -24
- package/source/resource/qx/tool/website/build/scripts/serve.js +63 -65
- package/source/resource/qx/tool/website/partials/footer.html +8 -13
- package/source/resource/qx/tool/website/partials/head.html +9 -7
- package/source/resource/qx/tool/website/partials/header.html +3 -3
- package/source/resource/qx/tool/website/src/assets/common.js +32 -0
- package/source/resource/qx/tool/website/src/assets/custom.css +290 -0
- package/source/resource/qx/tool/website/src/assets/qxWeb.js +28 -0
- package/source/resource/qx/tool/website/src/diagnostics/dependson.js +49 -40
- package/source/resource/qx/tool/website/src/diagnostics/requiredby.js +38 -31
- package/source/resource/qx/tool/website/src/index.html +2 -2
- package/source/resource/qx/tool/website/src/scripts/serve.js +63 -65
- package/lib/resource/qx/tool/bin/build-devtools +0 -13
- package/lib/resource/qx/tool/bin/build-website +0 -15
- package/lib/resource/qx/tool/bin/download-assets +0 -23
- package/lib/resource/qx/tool/cli/templates/skeleton/mobile/source/theme/custom/css/custom.css.map +0 -1
- package/lib/resource/qx/tool/website/build/assets/bootstrap.css +0 -7
- package/lib/resource/qx/tool/website/build/assets/bootstrap.min.css +0 -7
- package/lib/resource/qx/tool/website/build/assets/bootstrap.min.css.map +0 -1
- package/lib/resource/qx/tool/website/build/assets/jquery.js +0 -5453
- package/lib/resource/qx/tool/website/build/qooxdoo.css +0 -21
- package/lib/resource/qx/tool/website/sass/qooxdoo.css +0 -3
- package/lib/resource/qx/tool/website/sass/qooxdoo.css.map +0 -1
- package/lib/resource/qx/tool/website/src/assets/bootstrap.css +0 -7
- package/lib/resource/qx/tool/website/src/assets/bootstrap.min.css +0 -7
- package/lib/resource/qx/tool/website/src/assets/bootstrap.min.css.map +0 -1
- package/lib/resource/qx/tool/website/src/assets/jquery.js +0 -5453
- package/source/class/qx/core/Property.js +0 -2100
- package/source/class/qx/tool/cli/Application.js +0 -47
- package/source/class/qx/tool/cli/Cli.js +0 -713
- package/source/class/qx/tool/cli/commands/Add.js +0 -46
- package/source/class/qx/tool/cli/commands/Lint.js +0 -255
- package/source/class/qx/tool/cli/commands/Pkg.js +0 -56
- package/source/class/qx/tool/cli/commands/package/Migrate.js +0 -37
- package/source/class/qx/tool/compiler/app/Cldr.js +0 -725
- package/source/resource/qx/tool/bin/build-devtools +0 -13
- package/source/resource/qx/tool/bin/build-website +0 -15
- package/source/resource/qx/tool/website/build/assets/bootstrap.css +0 -7
- package/source/resource/qx/tool/website/build/assets/bootstrap.min.css +0 -7
- package/source/resource/qx/tool/website/build/assets/bootstrap.min.css.map +0 -1
- package/source/resource/qx/tool/website/build/assets/jquery.js +0 -5453
- package/source/resource/qx/tool/website/build/qooxdoo.css +0 -21
- package/source/resource/qx/tool/website/sass/qooxdoo.scss +0 -31
- package/source/resource/qx/tool/website/src/assets/bootstrap.css +0 -7
- package/source/resource/qx/tool/website/src/assets/bootstrap.min.css +0 -7
- package/source/resource/qx/tool/website/src/assets/bootstrap.min.css.map +0 -1
- package/source/resource/qx/tool/website/src/assets/jquery.js +0 -5453
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/TypeScriptWriter-base_declaration.d.ts +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/class/default.tmpl.js +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/class/header.tmpl.js +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/class/interface.tmpl.js +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/class/mixin.tmpl.js +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/class/singleton.tmpl.js +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/loader/loader-browser.tmpl.js +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/loader/loader-rhino.tmpl.js +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/.gitignore.tmpl +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/Manifest.tmpl.json +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/compile.tmpl.json +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/readme.tmpl.md +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/boot/index.tmpl.html +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/boot/nojs.tmpl.html +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/class/custom/Application.tmpl.js +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/class/custom/__init__.tmpl.js +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/class/custom/test/DemoTest.tmpl.js +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/class/custom/theme/Appearance.tmpl.js +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/class/custom/theme/Color.tmpl.js +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/class/custom/theme/Decoration.tmpl.js +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/class/custom/theme/Font.tmpl.js +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/class/custom/theme/Theme.tmpl.js +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/resource/custom/app.png +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/resource/custom/favicon.png +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/resource/custom/js_256x256.png +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/resource/custom/test.png +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/translation/readme.txt +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/.gitignore.tmpl +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/Manifest.tmpl.json +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/compile.tmpl.json +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/readme.tmpl.md +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/boot/index.tmpl.html +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/boot/nojs.tmpl.html +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/class/custom/Application.tmpl.js +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/class/custom/__init__.tmpl.js +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/class/custom/page/Login.tmpl.js +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/class/custom/page/Overview.tmpl.js +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/class/custom/page/__init__.tmpl.js +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/resource/custom/app.png +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/resource/custom/css/.gitignore.tmpl +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/resource/custom/favicon.png +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/resource/custom/js_256x256.png +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/theme/custom/css/custom.css +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/translation/readme.txt +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/.gitignore.tmpl +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/Manifest.tmpl.json +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/compile.tmpl.json +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/readme.tmpl.md +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/source/class/custom/Button.tmpl.js +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/source/class/custom/__init__.tmpl.js +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/source/class/custom/demo/Application.tmpl.js +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/source/class/custom/resource/custom/test.png +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/source/class/custom/test/DemoTest.tmpl.js +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/source/class/custom/theme/Appearance.tmpl.js +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/source/class/custom/theme/Color.tmpl.js +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/source/class/custom/theme/Decoration.tmpl.js +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/source/class/custom/theme/Font.tmpl.js +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/source/class/custom/theme/Theme.tmpl.js +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/source/resource/custom/test.png +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/source/translation/readme.txt +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/server/.gitignore.tmpl +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/server/Manifest.tmpl.json +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/server/compile.tmpl.json +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/server/readme.tmpl.txt +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/server/source/class/custom/Application.tmpl.js +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/server/source/class/custom/__init__.tmpl.js +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/server/source/class/custom/test/DemoTest.tmpl.js +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/server/source/resource/custom/.gitignore.tmpl +0 -0
- /package/lib/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/server/source/translation/readme.txt +0 -0
- /package/lib/resource/qx/tool/{loadsass.js → compiler/loadsass.js} +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/TypeScriptWriter-base_declaration.d.ts +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/class/default.tmpl.js +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/class/header.tmpl.js +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/class/interface.tmpl.js +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/class/mixin.tmpl.js +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/class/singleton.tmpl.js +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/loader/loader-browser.tmpl.js +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/loader/loader-rhino.tmpl.js +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/.gitignore.tmpl +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/Manifest.tmpl.json +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/compile.tmpl.json +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/readme.tmpl.md +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/boot/index.tmpl.html +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/boot/nojs.tmpl.html +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/class/custom/Application.tmpl.js +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/class/custom/__init__.tmpl.js +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/class/custom/test/DemoTest.tmpl.js +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/class/custom/theme/Appearance.tmpl.js +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/class/custom/theme/Color.tmpl.js +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/class/custom/theme/Decoration.tmpl.js +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/class/custom/theme/Font.tmpl.js +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/class/custom/theme/Theme.tmpl.js +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/resource/custom/app.png +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/resource/custom/favicon.png +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/resource/custom/js_256x256.png +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/resource/custom/test.png +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/desktop/source/translation/readme.txt +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/.gitignore.tmpl +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/Manifest.tmpl.json +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/compile.tmpl.json +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/readme.tmpl.md +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/boot/index.tmpl.html +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/boot/nojs.tmpl.html +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/class/custom/Application.tmpl.js +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/class/custom/__init__.tmpl.js +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/class/custom/page/Login.tmpl.js +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/class/custom/page/Overview.tmpl.js +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/class/custom/page/__init__.tmpl.js +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/resource/custom/app.png +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/resource/custom/css/.gitignore.tmpl +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/resource/custom/favicon.png +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/resource/custom/js_256x256.png +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/theme/custom/scss/_styles.scss +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/theme/custom/scss/custom.scss +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/mobile/source/translation/readme.txt +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/.gitignore.tmpl +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/Manifest.tmpl.json +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/compile.tmpl.json +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/readme.tmpl.md +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/source/class/custom/Button.tmpl.js +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/source/class/custom/__init__.tmpl.js +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/source/class/custom/demo/Application.tmpl.js +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/source/class/custom/resource/custom/test.png +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/source/class/custom/test/DemoTest.tmpl.js +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/source/class/custom/theme/Appearance.tmpl.js +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/source/class/custom/theme/Color.tmpl.js +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/source/class/custom/theme/Decoration.tmpl.js +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/source/class/custom/theme/Font.tmpl.js +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/source/class/custom/theme/Theme.tmpl.js +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/source/resource/custom/test.png +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/package/source/translation/readme.txt +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/server/.gitignore.tmpl +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/server/Manifest.tmpl.json +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/server/compile.tmpl.json +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/server/readme.tmpl.txt +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/server/source/class/custom/Application.tmpl.js +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/server/source/class/custom/__init__.tmpl.js +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/server/source/class/custom/test/DemoTest.tmpl.js +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/server/source/resource/custom/.gitignore.tmpl +0 -0
- /package/source/resource/qx/tool/{cli → compiler/cli}/templates/skeleton/server/source/translation/readme.txt +0 -0
- /package/source/resource/qx/tool/{loadsass.js → compiler/loadsass.js} +0 -0
|
@@ -6,13 +6,13 @@ qx.Class.define("qx.test.Promise", {
|
|
|
6
6
|
* Tests the isPromise method
|
|
7
7
|
*/
|
|
8
8
|
testIsPromise() {
|
|
9
|
-
var p = new qx.Promise(function () {});
|
|
9
|
+
var p = new qx.Promise(function () { });
|
|
10
10
|
this.assertTrue(qx.Promise.isPromise(p));
|
|
11
11
|
this.assertFalse(qx.Promise.isPromise(null));
|
|
12
12
|
this.assertFalse(qx.Promise.isPromise({}));
|
|
13
13
|
this.assertTrue(qx.Promise.isPromise(qx.Promise.resolve()));
|
|
14
14
|
this.assertTrue(qx.Promise.isPromise(Promise.resolve()));
|
|
15
|
-
this.assertTrue(qx.Promise.isPromise({ then: function () {} }));
|
|
15
|
+
this.assertTrue(qx.Promise.isPromise({ then: function () { } }));
|
|
16
16
|
},
|
|
17
17
|
/**
|
|
18
18
|
* Tests a new promise that resolves with no errors
|
|
@@ -84,9 +84,7 @@ qx.Class.define("qx.test.Promise", {
|
|
|
84
84
|
*/
|
|
85
85
|
testCancel1() {
|
|
86
86
|
if (qx.core.Environment.get("qx.Promise.useNativePromise")) {
|
|
87
|
-
console.warn(
|
|
88
|
-
"Skipping test because the native promise implementation of qx.Promise does not support cancellation"
|
|
89
|
-
);
|
|
87
|
+
console.warn("Skipping test because the native promise implementation of qx.Promise does not support cancellation");
|
|
90
88
|
return;
|
|
91
89
|
} else {
|
|
92
90
|
let promise = new qx.Promise((resolve, reject) => {
|
|
@@ -94,9 +92,7 @@ qx.Class.define("qx.test.Promise", {
|
|
|
94
92
|
resolve();
|
|
95
93
|
}, 500);
|
|
96
94
|
});
|
|
97
|
-
promise
|
|
98
|
-
.then(() => this.fail("Should not call!"))
|
|
99
|
-
.then(() => this.fail("Should not call!"));
|
|
95
|
+
promise.then(() => this.fail("Should not call!")).then(() => this.fail("Should not call!"));
|
|
100
96
|
|
|
101
97
|
promise.catch(() => {
|
|
102
98
|
this.fail("Should not call!");
|
|
@@ -105,9 +101,7 @@ qx.Class.define("qx.test.Promise", {
|
|
|
105
101
|
let output = "";
|
|
106
102
|
|
|
107
103
|
promise
|
|
108
|
-
.then(
|
|
109
|
-
() => new qx.Promise((resolve, reject) => reject(new Error("oops")))
|
|
110
|
-
)
|
|
104
|
+
.then(() => new qx.Promise((resolve, reject) => reject(new Error("oops"))))
|
|
111
105
|
.catch(() => this.fail("Should not call!"))
|
|
112
106
|
.finally(() => {
|
|
113
107
|
output += "1";
|
|
@@ -134,9 +128,7 @@ qx.Class.define("qx.test.Promise", {
|
|
|
134
128
|
*/
|
|
135
129
|
testCancel2() {
|
|
136
130
|
if (qx.core.Environment.get("qx.Promise.useNativePromise")) {
|
|
137
|
-
console.warn(
|
|
138
|
-
"Skipping test because the native promise implementation of qx.Promise does not support cancellation"
|
|
139
|
-
);
|
|
131
|
+
console.warn("Skipping test because the native promise implementation of qx.Promise does not support cancellation");
|
|
140
132
|
return;
|
|
141
133
|
} else {
|
|
142
134
|
let output = "";
|
|
@@ -179,9 +171,7 @@ qx.Class.define("qx.test.Promise", {
|
|
|
179
171
|
*/
|
|
180
172
|
testCancel3() {
|
|
181
173
|
if (qx.core.Environment.get("qx.Promise.useNativePromise")) {
|
|
182
|
-
console.warn(
|
|
183
|
-
"Skipping test because the native promise implementation of qx.Promise does not support cancellation"
|
|
184
|
-
);
|
|
174
|
+
console.warn("Skipping test because the native promise implementation of qx.Promise does not support cancellation");
|
|
185
175
|
return;
|
|
186
176
|
} else {
|
|
187
177
|
let output = "";
|
|
@@ -249,9 +239,7 @@ qx.Class.define("qx.test.Promise", {
|
|
|
249
239
|
*/
|
|
250
240
|
testCancel4() {
|
|
251
241
|
if (qx.core.Environment.get("qx.Promise.useNativePromise")) {
|
|
252
|
-
console.warn(
|
|
253
|
-
"Skipping test because the native promise implementation of qx.Promise does not support cancellation"
|
|
254
|
-
);
|
|
242
|
+
console.warn("Skipping test because the native promise implementation of qx.Promise does not support cancellation");
|
|
255
243
|
return;
|
|
256
244
|
} else {
|
|
257
245
|
let output = "";
|
|
@@ -281,9 +269,7 @@ qx.Class.define("qx.test.Promise", {
|
|
|
281
269
|
*/
|
|
282
270
|
testThenAfterCancel() {
|
|
283
271
|
if (qx.core.Environment.get("qx.Promise.useNativePromise")) {
|
|
284
|
-
console.warn(
|
|
285
|
-
"Skipping test because the native promise implementation of qx.Promise does not support cancellation"
|
|
286
|
-
);
|
|
272
|
+
console.warn("Skipping test because the native promise implementation of qx.Promise does not support cancellation");
|
|
287
273
|
return;
|
|
288
274
|
} else {
|
|
289
275
|
let promise = new qx.Promise((resolve, reject) => {
|
|
@@ -308,9 +294,7 @@ qx.Class.define("qx.test.Promise", {
|
|
|
308
294
|
*/
|
|
309
295
|
testCatchAfterCancel() {
|
|
310
296
|
if (qx.core.Environment.get("qx.Promise.useNativePromise")) {
|
|
311
|
-
console.warn(
|
|
312
|
-
"Skipping test because the native promise implementation of qx.Promise does not support cancellation"
|
|
313
|
-
);
|
|
297
|
+
console.warn("Skipping test because the native promise implementation of qx.Promise does not support cancellation");
|
|
314
298
|
return;
|
|
315
299
|
} else {
|
|
316
300
|
let promise = new qx.Promise((resolve, reject) => {
|
|
@@ -337,9 +321,7 @@ qx.Class.define("qx.test.Promise", {
|
|
|
337
321
|
*/
|
|
338
322
|
testFinallyAfterCancel() {
|
|
339
323
|
if (qx.core.Environment.get("qx.Promise.useNativePromise")) {
|
|
340
|
-
console.warn(
|
|
341
|
-
"Skipping test because the native promise implementation of qx.Promise does not support cancellation"
|
|
342
|
-
);
|
|
324
|
+
console.warn("Skipping test because the native promise implementation of qx.Promise does not support cancellation");
|
|
343
325
|
return;
|
|
344
326
|
} else {
|
|
345
327
|
let promise = new qx.Promise((resolve, reject) => {
|
|
@@ -366,9 +348,7 @@ qx.Class.define("qx.test.Promise", {
|
|
|
366
348
|
*/
|
|
367
349
|
testCancelAfterSettled() {
|
|
368
350
|
if (qx.core.Environment.get("qx.Promise.useNativePromise")) {
|
|
369
|
-
console.warn(
|
|
370
|
-
"Skipping test because the native promise implementation of qx.Promise does not support cancellation"
|
|
371
|
-
);
|
|
351
|
+
console.warn("Skipping test because the native promise implementation of qx.Promise does not support cancellation");
|
|
372
352
|
return;
|
|
373
353
|
} else {
|
|
374
354
|
let promise = qx.Promise.resolve();
|
|
@@ -532,78 +512,14 @@ qx.Class.define("qx.test.Promise", {
|
|
|
532
512
|
t.wait(1000);
|
|
533
513
|
},
|
|
534
514
|
|
|
535
|
-
/**
|
|
536
|
-
* Tests that setting a property value with a promise will delay setting the
|
|
537
|
-
* value until the promise is resolved. In this case, the property is *not*
|
|
538
|
-
* marked as async and the setXxx method is used
|
|
539
|
-
*/
|
|
540
|
-
testPropertySetValueAsPromise1() {
|
|
541
|
-
var t = this;
|
|
542
|
-
var Clazz = qx.Class.define("testPropertySetValueAsPromise1.Clazz", {
|
|
543
|
-
extend: qx.core.Object,
|
|
544
|
-
properties: {
|
|
545
|
-
alpha: {
|
|
546
|
-
init: null,
|
|
547
|
-
nullable: true
|
|
548
|
-
}
|
|
549
|
-
}
|
|
550
|
-
});
|
|
551
|
-
|
|
552
|
-
this.assertTrue(!!Clazz.prototype.setAlpha);
|
|
553
|
-
this.assertFalse(!!Clazz.prototype.setAlphaAsync);
|
|
554
|
-
var obj = new Clazz();
|
|
555
|
-
var p = new qx.Promise(function (resolve) {
|
|
556
|
-
resolve(123);
|
|
557
|
-
});
|
|
558
|
-
obj.setAlpha(p);
|
|
559
|
-
p.then(function () {
|
|
560
|
-
t.assertEquals(123, obj.getAlpha());
|
|
561
|
-
qx.Class.undefine("testPropertySetValueAsPromise1.Clazz");
|
|
562
|
-
setTimeout(() => t.resume(), 1);
|
|
563
|
-
});
|
|
564
|
-
this.wait(1000);
|
|
565
|
-
},
|
|
566
|
-
|
|
567
|
-
/**
|
|
568
|
-
* Tests that setting a property value with a promise will delay setting the
|
|
569
|
-
* value until the promise is resolved. In this case, the property *is*
|
|
570
|
-
* marked as async and the setXxxAsync method is used to test chaining
|
|
571
|
-
*/
|
|
572
|
-
testPropertySetValueAsPromise2() {
|
|
573
|
-
var t = this;
|
|
574
|
-
var Clazz = qx.Class.define("testPropertySetValueAsPromise2.Clazz", {
|
|
575
|
-
extend: qx.core.Object,
|
|
576
|
-
properties: {
|
|
577
|
-
alpha: {
|
|
578
|
-
init: null,
|
|
579
|
-
nullable: true,
|
|
580
|
-
async: true
|
|
581
|
-
}
|
|
582
|
-
}
|
|
583
|
-
});
|
|
584
|
-
|
|
585
|
-
this.assertTrue(!!Clazz.prototype.setAlpha);
|
|
586
|
-
this.assertTrue(!!Clazz.prototype.setAlphaAsync);
|
|
587
|
-
var obj = new Clazz();
|
|
588
|
-
var p = new qx.Promise(function (resolve) {
|
|
589
|
-
resolve(123);
|
|
590
|
-
});
|
|
591
|
-
obj.setAlphaAsync(p).then(function () {
|
|
592
|
-
t.assertEquals(123, obj.getAlpha());
|
|
593
|
-
qx.Class.undefine("testPropertySetValueAsPromise2.Clazz");
|
|
594
|
-
setTimeout(() => t.resume(), 1);
|
|
595
|
-
});
|
|
596
|
-
this.wait(1000);
|
|
597
|
-
},
|
|
598
|
-
|
|
599
515
|
/**
|
|
600
516
|
* Tests that a property apply method can return a promise; in this case, the
|
|
601
|
-
* property is not marked as async so the
|
|
602
|
-
* the event handler
|
|
517
|
+
* property is not marked as async so the event handler will not wait for the apply promise to resolve
|
|
603
518
|
*/
|
|
604
519
|
testPropertySetValueAsyncApply1() {
|
|
605
520
|
var t = this;
|
|
606
521
|
var p;
|
|
522
|
+
let applyResolved = false;
|
|
607
523
|
var Clazz = qx.Class.define("testPropertySetValueAsyncApply1.Clazz", {
|
|
608
524
|
extend: qx.core.Object,
|
|
609
525
|
properties: {
|
|
@@ -619,6 +535,7 @@ qx.Class.define("qx.test.Promise", {
|
|
|
619
535
|
_applyAlpha(value, oldValue) {
|
|
620
536
|
return (p = new qx.Promise(function (resolve) {
|
|
621
537
|
setTimeout(function () {
|
|
538
|
+
applyResolved = true;
|
|
622
539
|
resolve("xyz");
|
|
623
540
|
}, 250);
|
|
624
541
|
}));
|
|
@@ -630,12 +547,14 @@ qx.Class.define("qx.test.Promise", {
|
|
|
630
547
|
var eventFired = 0;
|
|
631
548
|
obj.addListener("changeAlpha", function (evt) {
|
|
632
549
|
eventFired++;
|
|
550
|
+
this.assertFalse(applyResolved);
|
|
633
551
|
});
|
|
634
552
|
obj.setAlpha("abc");
|
|
635
553
|
this.assertTrue(!!p);
|
|
636
|
-
this.assertEquals(
|
|
554
|
+
this.assertEquals(1, eventFired);
|
|
637
555
|
this.assertEquals("abc", obj.getAlpha());
|
|
638
556
|
p.then(function (value) {
|
|
557
|
+
this.assertTrue(applyResolved);
|
|
639
558
|
this.assertEquals("xyz", value); // "xyz" because this is the internal promise
|
|
640
559
|
this.assertEquals("abc", obj.getAlpha());
|
|
641
560
|
this.assertEquals(1, eventFired);
|
|
@@ -659,6 +578,7 @@ qx.Class.define("qx.test.Promise", {
|
|
|
659
578
|
nullable: true,
|
|
660
579
|
async: true,
|
|
661
580
|
apply: "_applyAlpha",
|
|
581
|
+
|
|
662
582
|
event: "changeAlpha"
|
|
663
583
|
}
|
|
664
584
|
},
|
|
@@ -681,49 +601,31 @@ qx.Class.define("qx.test.Promise", {
|
|
|
681
601
|
});
|
|
682
602
|
var p = obj.setAlphaAsync("abc");
|
|
683
603
|
this.assertEquals(0, eventFired);
|
|
684
|
-
p.then(
|
|
685
|
-
|
|
686
|
-
this.assertEquals("abc", obj.getAlpha());
|
|
687
|
-
this.assertEquals(1, eventFired);
|
|
688
|
-
|
|
689
|
-
// Set the same value, should return a new promise but not fire an event
|
|
690
|
-
p = obj.setAlphaAsync("abc");
|
|
691
|
-
p.then(function (value) {
|
|
604
|
+
p.then(
|
|
605
|
+
function (value) {
|
|
692
606
|
this.assertEquals("abc", value);
|
|
693
607
|
this.assertEquals("abc", obj.getAlpha());
|
|
694
608
|
this.assertEquals(1, eventFired);
|
|
695
|
-
qx.Class.undefine("testPropertySetValueAsyncApply2.Clazz");
|
|
696
|
-
t.resume();
|
|
697
|
-
}, this);
|
|
698
|
-
}, this);
|
|
699
|
-
this.wait(1000);
|
|
700
|
-
},
|
|
701
|
-
|
|
702
|
-
/**
|
|
703
|
-
* Tests that a property apply method can take a promise
|
|
704
|
-
*/
|
|
705
|
-
testPropertySetValueAsyncApply3() {
|
|
706
|
-
var t = this;
|
|
707
|
-
var Clazz = qx.Class.define("testPropertySetValueAsyncApply3.Clazz", {
|
|
708
|
-
extend: qx.core.Object,
|
|
709
|
-
properties: {
|
|
710
|
-
alpha: {
|
|
711
|
-
init: null,
|
|
712
|
-
nullable: true,
|
|
713
|
-
check: "qx.Promise"
|
|
714
|
-
}
|
|
715
|
-
}
|
|
716
|
-
});
|
|
717
609
|
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
610
|
+
// Set the same value, should return a new promise but not fire an event
|
|
611
|
+
p = obj.setAlphaAsync("abc");
|
|
612
|
+
p.then(
|
|
613
|
+
function (value) {
|
|
614
|
+
this.assertEquals("abc", value);
|
|
615
|
+
this.assertEquals("abc", obj.getAlpha());
|
|
616
|
+
this.assertEquals(1, eventFired);
|
|
617
|
+
qx.Class.undefine("testPropertySetValueAsyncApply2.Clazz");
|
|
618
|
+
t.resume();
|
|
619
|
+
}.bind(this)
|
|
620
|
+
);
|
|
621
|
+
}.bind(this)
|
|
622
|
+
);
|
|
623
|
+
this.wait(1000);
|
|
723
624
|
},
|
|
724
625
|
|
|
725
626
|
testBinding() {
|
|
726
627
|
var t = this;
|
|
628
|
+
qx.Class.undefine("testBinding.AsyncClazz");
|
|
727
629
|
var AsyncClazz = qx.Class.define("testBinding.AsyncClazz", {
|
|
728
630
|
extend: qx.core.Object,
|
|
729
631
|
properties: {
|
|
@@ -731,24 +633,18 @@ qx.Class.define("qx.test.Promise", {
|
|
|
731
633
|
init: null,
|
|
732
634
|
nullable: true,
|
|
733
635
|
async: true,
|
|
734
|
-
event: "changeAlpha"
|
|
735
|
-
|
|
736
|
-
},
|
|
737
|
-
|
|
738
|
-
members: {
|
|
739
|
-
_applyAlpha(value, oldValue) {
|
|
740
|
-
return new qx.Promise(function (resolve) {
|
|
741
|
-
setTimeout(resolve, 250);
|
|
742
|
-
});
|
|
636
|
+
event: "changeAlpha",
|
|
637
|
+
apply: () => { }
|
|
743
638
|
}
|
|
744
639
|
}
|
|
745
640
|
});
|
|
746
641
|
|
|
642
|
+
qx.Class.undefine("testBinding.SyncClazz");
|
|
747
643
|
var SyncClazz = qx.Class.define("testBinding.SyncClazz", {
|
|
748
644
|
extend: qx.core.Object,
|
|
749
645
|
properties: {
|
|
750
646
|
bravo: {
|
|
751
|
-
init:
|
|
647
|
+
init: "",
|
|
752
648
|
nullable: true,
|
|
753
649
|
event: "changeBravo"
|
|
754
650
|
}
|
|
@@ -758,14 +654,14 @@ qx.Class.define("qx.test.Promise", {
|
|
|
758
654
|
/*
|
|
759
655
|
* Test binding an async property to a "normal" sync property
|
|
760
656
|
*/
|
|
761
|
-
var asyncToSync =
|
|
657
|
+
var asyncToSync = qx.Promise.resolve().then(function (resolve) {
|
|
762
658
|
var asyncObj = new AsyncClazz();
|
|
763
659
|
var syncObj = new SyncClazz();
|
|
764
660
|
|
|
765
661
|
var p1 = new qx.Promise();
|
|
766
|
-
asyncObj.addListenerOnce("
|
|
662
|
+
asyncObj.addListenerOnce("changeAlpha", evt => {
|
|
767
663
|
var data = evt.getData();
|
|
768
|
-
this.assertTrue(data
|
|
664
|
+
this.assertTrue(data === "zyx");
|
|
769
665
|
p1.resolve();
|
|
770
666
|
});
|
|
771
667
|
|
|
@@ -789,7 +685,7 @@ qx.Class.define("qx.test.Promise", {
|
|
|
789
685
|
});
|
|
790
686
|
|
|
791
687
|
asyncObj.getAlphaAsync();
|
|
792
|
-
asyncObj.bind("
|
|
688
|
+
asyncObj.bind("alpha", syncObj, "bravo");
|
|
793
689
|
asyncObj.setAlphaAsync("zyx");
|
|
794
690
|
qx.Promise.all([p1, p2]).then(function () {
|
|
795
691
|
var p3 = new qx.Promise();
|
|
@@ -801,6 +697,8 @@ qx.Class.define("qx.test.Promise", {
|
|
|
801
697
|
|
|
802
698
|
asyncObj.setAlphaAsync("wvu");
|
|
803
699
|
p3.then(function () {
|
|
700
|
+
qx.Class.undefine("testBinding.AsyncClazz");
|
|
701
|
+
qx.Class.undefine("testBinding.SyncClazz");
|
|
804
702
|
this.resume();
|
|
805
703
|
}, this);
|
|
806
704
|
}, this);
|
|
@@ -809,34 +707,33 @@ qx.Class.define("qx.test.Promise", {
|
|
|
809
707
|
/*
|
|
810
708
|
* Test binding a "normal" sync property to an async property
|
|
811
709
|
*/
|
|
710
|
+
if (!qx.core.Environment.get("qx.core.property.Property.applyDuringConstruct")) {
|
|
711
|
+
console.warn("Not working with applyDuringConstruct = false, skipping testBinding async-to-sync part");
|
|
712
|
+
return; // Test wird übersprungen, zählt als "ok"
|
|
713
|
+
}
|
|
812
714
|
asyncToSync.then(function () {
|
|
813
715
|
var asyncObj = new AsyncClazz();
|
|
814
716
|
var syncObj = new SyncClazz();
|
|
815
717
|
|
|
816
718
|
var p1 = new qx.Promise();
|
|
817
|
-
asyncObj.addListenerOnce("
|
|
719
|
+
asyncObj.addListenerOnce("changeAlpha", evt => {
|
|
818
720
|
var data = evt.getData();
|
|
819
|
-
this.assertEquals("
|
|
721
|
+
this.assertEquals("", data);
|
|
820
722
|
p1.resolve();
|
|
821
723
|
});
|
|
822
724
|
|
|
823
|
-
syncObj.bind("bravo", asyncObj, "
|
|
725
|
+
syncObj.bind("bravo", asyncObj, "alpha");
|
|
824
726
|
syncObj.setBravo("def");
|
|
825
727
|
|
|
826
728
|
p1.then(function () {
|
|
827
729
|
var p2 = new qx.Promise();
|
|
828
|
-
asyncObj.addListenerOnce("
|
|
730
|
+
asyncObj.addListenerOnce("changeAlpha", evt => {
|
|
829
731
|
var data = evt.getData();
|
|
830
732
|
this.assertEquals("ghi", data);
|
|
831
733
|
p2.resolve();
|
|
832
734
|
});
|
|
833
735
|
|
|
834
736
|
syncObj.setBravo("ghi");
|
|
835
|
-
return p2.then(function () {
|
|
836
|
-
qx.Class.undefine("testBinding.AsyncClazz");
|
|
837
|
-
qx.Class.undefine("testBinding.SyncClazz");
|
|
838
|
-
this.resume();
|
|
839
|
-
}, this);
|
|
840
737
|
}, this);
|
|
841
738
|
}, this);
|
|
842
739
|
|
|
@@ -844,12 +741,13 @@ qx.Class.define("qx.test.Promise", {
|
|
|
844
741
|
},
|
|
845
742
|
|
|
846
743
|
/**
|
|
847
|
-
* Tests
|
|
848
|
-
*
|
|
849
|
-
* a promise will defer subsequent event handlers from firing
|
|
744
|
+
* Tests that async apply methods defer events from being fired,
|
|
745
|
+
* but event handlers per one object can be fired in parallel.
|
|
850
746
|
*/
|
|
851
|
-
|
|
852
|
-
|
|
747
|
+
testAsyncApplyMethods() {
|
|
748
|
+
let out = [];
|
|
749
|
+
var Clazz = qx.Class.undefine("qx.testAsyncEventHandlers.Clazz");
|
|
750
|
+
var Clazz = qx.Class.define("qx.testAsyncEventHandlers.Clazz", {
|
|
853
751
|
extend: qx.core.Object,
|
|
854
752
|
properties: {
|
|
855
753
|
value: {},
|
|
@@ -860,72 +758,44 @@ qx.Class.define("qx.test.Promise", {
|
|
|
860
758
|
async: true,
|
|
861
759
|
apply: "_applyAlpha",
|
|
862
760
|
event: "changeAlpha"
|
|
863
|
-
},
|
|
864
|
-
|
|
865
|
-
bravo: {
|
|
866
|
-
init: null,
|
|
867
|
-
nullable: true,
|
|
868
|
-
async: true,
|
|
869
|
-
apply: "_applyBravo",
|
|
870
|
-
event: "changeBravo"
|
|
871
761
|
}
|
|
872
762
|
},
|
|
873
763
|
|
|
874
764
|
members: {
|
|
875
765
|
_applyAlpha(value, oldValue) {
|
|
876
|
-
var p = new qx.Promise(
|
|
766
|
+
var p = new qx.Promise(resolve => {
|
|
877
767
|
console.log("in _applyAlpha qx.Promise, value=" + value);
|
|
878
|
-
setTimeout(
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
);
|
|
768
|
+
setTimeout(() => {
|
|
769
|
+
out.push(this.getValue() + ":apply");
|
|
770
|
+
console.log("in _applyAlpha resolving qx.Promise, value=" + value);
|
|
882
771
|
|
|
883
772
|
resolve("xyz");
|
|
884
773
|
}, 50);
|
|
885
774
|
});
|
|
886
775
|
console.log("in _applyAlpha, value=" + value + ", p=" + p);
|
|
887
776
|
return p;
|
|
888
|
-
},
|
|
889
|
-
_applyBravo(value, oldValue) {
|
|
890
|
-
return new qx.Promise(function (resolve) {
|
|
891
|
-
setTimeout(function () {
|
|
892
|
-
resolve("uvw");
|
|
893
|
-
}, 50);
|
|
894
|
-
});
|
|
895
777
|
}
|
|
896
778
|
}
|
|
897
779
|
});
|
|
898
780
|
|
|
781
|
+
|
|
899
782
|
function createObj(name) {
|
|
900
783
|
var obj = new Clazz().set({ value: name });
|
|
901
|
-
obj.addListener("
|
|
784
|
+
obj.addListener("changeAlpha", function (evt) {
|
|
902
785
|
var value = evt.getData();
|
|
903
786
|
var p = new qx.Promise(function (resolve) {
|
|
904
|
-
console.log(
|
|
905
|
-
name + ": changeAlphaAsync 1 in qx.Promise, value=" + value
|
|
906
|
-
);
|
|
787
|
+
console.log(name + ": changeAlphaAsync 1 in qx.Promise, value=" + value);
|
|
907
788
|
|
|
908
789
|
setTimeout(function () {
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
}
|
|
912
|
-
str += name;
|
|
913
|
-
console.log(
|
|
914
|
-
name +
|
|
915
|
-
": changeAlphaAsync 1 resolving qx.Promise, value=" +
|
|
916
|
-
value
|
|
917
|
-
);
|
|
790
|
+
out.push(name + ":change");
|
|
791
|
+
console.log(name + ": changeAlphaAsync 1 resolving qx.Promise, value=" + value);
|
|
918
792
|
|
|
919
793
|
resolve();
|
|
920
794
|
}, 200);
|
|
921
795
|
}).then(function () {
|
|
922
|
-
console.log(
|
|
923
|
-
name + ": changeAlphaAsync 1 resolved qx.Promise, value=" + value
|
|
924
|
-
);
|
|
796
|
+
console.log(name + ": changeAlphaAsync 1 resolved qx.Promise, value=" + value);
|
|
925
797
|
});
|
|
926
|
-
console.log(
|
|
927
|
-
name + ": changeAlphaAsync 1, value=" + value + ", p=" + p
|
|
928
|
-
);
|
|
798
|
+
console.log(name + ": changeAlphaAsync 1, value=" + value + ", p=" + p);
|
|
929
799
|
|
|
930
800
|
return p;
|
|
931
801
|
});
|
|
@@ -935,124 +805,28 @@ qx.Class.define("qx.test.Promise", {
|
|
|
935
805
|
var objOne = createObj("one");
|
|
936
806
|
var objTwo = createObj("two");
|
|
937
807
|
|
|
938
|
-
|
|
939
|
-
objOne.addListener("
|
|
808
|
+
|
|
809
|
+
objOne.addListener("changeAlpha", function (evt) {
|
|
940
810
|
var value = evt.getData();
|
|
941
811
|
console.log("objOne.alphaAsync setting, value=" + value);
|
|
942
812
|
return objTwo.setAlphaAsync("def").then(function () {
|
|
943
|
-
|
|
813
|
+
out.push("xxx");
|
|
944
814
|
console.log("objOne.alphaAsync done, value=" + value);
|
|
945
815
|
});
|
|
946
816
|
});
|
|
947
817
|
|
|
948
818
|
console.log("objOne.alphaAsync going to set value=abc");
|
|
949
|
-
objOne.setAlphaAsync("abc").then(
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
819
|
+
objOne.setAlphaAsync("abc").then(
|
|
820
|
+
function () {
|
|
821
|
+
console.log("objOne.alphaAsync completed set value=abc");
|
|
822
|
+
this.assertArrayEquals(["one:apply","two:apply","one:change","two:change","xxx"], out);
|
|
823
|
+
qx.Class.undefine("qx.testAsyncEventHandlers.Clazz");
|
|
824
|
+
this.resume();
|
|
825
|
+
}.bind(this)
|
|
826
|
+
);
|
|
955
827
|
this.wait(2500);
|
|
956
828
|
},
|
|
957
829
|
|
|
958
|
-
/**
|
|
959
|
-
* Tests using bind() on async properties (using the "changeXxxAsync" events) between
|
|
960
|
-
* a series of objects. The test must show that the property values are fired in
|
|
961
|
-
* order, and that if an async event handler returns a promise it defers bind from
|
|
962
|
-
* propagating onto other objects.
|
|
963
|
-
*/
|
|
964
|
-
testWaterfallBinding() {
|
|
965
|
-
var t = this;
|
|
966
|
-
var Clazz = qx.Class.define("testWaterfallBinding.Clazz", {
|
|
967
|
-
extend: qx.core.Object,
|
|
968
|
-
properties: {
|
|
969
|
-
value: {},
|
|
970
|
-
|
|
971
|
-
alpha: {
|
|
972
|
-
init: null,
|
|
973
|
-
nullable: true,
|
|
974
|
-
async: true,
|
|
975
|
-
apply: "_applyAlpha",
|
|
976
|
-
event: "changeAlpha"
|
|
977
|
-
}
|
|
978
|
-
},
|
|
979
|
-
|
|
980
|
-
members: {
|
|
981
|
-
_applyAlpha(value, oldValue) {
|
|
982
|
-
var t = this;
|
|
983
|
-
console.log("pre applyAlpha[" + t.getValue() + "] = " + value);
|
|
984
|
-
return new qx.Promise(function (resolve) {
|
|
985
|
-
setTimeout(function () {
|
|
986
|
-
console.log("applyAlpha[" + t.getValue() + "] = " + value);
|
|
987
|
-
resolve("xyz");
|
|
988
|
-
}, 50);
|
|
989
|
-
});
|
|
990
|
-
}
|
|
991
|
-
}
|
|
992
|
-
});
|
|
993
|
-
|
|
994
|
-
var objs = [];
|
|
995
|
-
var str = "";
|
|
996
|
-
|
|
997
|
-
function trap(i) {
|
|
998
|
-
var obj = new Clazz().set({ value: i });
|
|
999
|
-
var bindPromise;
|
|
1000
|
-
if (i > 0) {
|
|
1001
|
-
bindPromise = objs[i - 1].bindAsync("alphaAsync", obj, "alphaAsync");
|
|
1002
|
-
} else {
|
|
1003
|
-
bindPromise = qx.Promise.resolve(true);
|
|
1004
|
-
}
|
|
1005
|
-
return bindPromise.then(function () {
|
|
1006
|
-
obj.addListener("changeAlpha", evt => {
|
|
1007
|
-
var obj = evt.getTarget();
|
|
1008
|
-
var data = evt.getData();
|
|
1009
|
-
var delay = (5 - i + 1) * 100;
|
|
1010
|
-
console.log(
|
|
1011
|
-
"pre changeAlpha " +
|
|
1012
|
-
obj.getValue() +
|
|
1013
|
-
" = " +
|
|
1014
|
-
data +
|
|
1015
|
-
" after " +
|
|
1016
|
-
delay
|
|
1017
|
-
);
|
|
1018
|
-
|
|
1019
|
-
return new qx.Promise(function (resolve) {
|
|
1020
|
-
setTimeout(function () {
|
|
1021
|
-
if (str.length) {
|
|
1022
|
-
str += ",";
|
|
1023
|
-
}
|
|
1024
|
-
str += obj.getValue() + ":" + data;
|
|
1025
|
-
console.log(
|
|
1026
|
-
"changeAlpha " +
|
|
1027
|
-
obj.getValue() +
|
|
1028
|
-
" = " +
|
|
1029
|
-
data +
|
|
1030
|
-
" after " +
|
|
1031
|
-
delay
|
|
1032
|
-
);
|
|
1033
|
-
|
|
1034
|
-
resolve();
|
|
1035
|
-
}, delay);
|
|
1036
|
-
});
|
|
1037
|
-
});
|
|
1038
|
-
|
|
1039
|
-
objs[i] = obj;
|
|
1040
|
-
});
|
|
1041
|
-
}
|
|
1042
|
-
|
|
1043
|
-
qx.Promise.mapSeries([0, 1, 2, 3, 4], trap).then(function () {
|
|
1044
|
-
var p = objs[0].setAlphaAsync("abc");
|
|
1045
|
-
|
|
1046
|
-
p.then(function () {
|
|
1047
|
-
t.assertEquals("0:abc,1:abc,2:abc,3:abc,4:abc", str);
|
|
1048
|
-
qx.Class.undefine("testWaterfallBinding.Clazz");
|
|
1049
|
-
t.resume();
|
|
1050
|
-
}, t);
|
|
1051
|
-
});
|
|
1052
|
-
|
|
1053
|
-
this.wait(10000);
|
|
1054
|
-
},
|
|
1055
|
-
|
|
1056
830
|
/**
|
|
1057
831
|
* Tests the each method of promise, using qx.data.Array which the native Promise
|
|
1058
832
|
* does not understand. The values are scalar values
|
|
@@ -1496,14 +1270,11 @@ qx.Class.define("qx.test.Promise", {
|
|
|
1496
1270
|
var promiseC = qx.Promise.resolve(2);
|
|
1497
1271
|
var promiseD = qx.Promise.resolve(3);
|
|
1498
1272
|
var arr = [promiseB, promiseC, promiseD];
|
|
1499
|
-
let promise = qx.Promise.resolve(arr).reduce(
|
|
1500
|
-
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
},
|
|
1505
|
-
0
|
|
1506
|
-
);
|
|
1273
|
+
let promise = qx.Promise.resolve(arr).reduce(async (acc, item, index, length) => {
|
|
1274
|
+
this.assertEquals(index, item - 1);
|
|
1275
|
+
this.assertEquals(length, 3);
|
|
1276
|
+
return acc + item;
|
|
1277
|
+
}, 0);
|
|
1507
1278
|
promise.then(result => {
|
|
1508
1279
|
this.assertEquals(6, result);
|
|
1509
1280
|
setTimeout(() => this.resume(), 1);
|
|
@@ -1533,11 +1304,7 @@ qx.Class.define("qx.test.Promise", {
|
|
|
1533
1304
|
}, 300);
|
|
1534
1305
|
});
|
|
1535
1306
|
var arr = new qx.data.Array([promiseB, promiseC, promiseD]);
|
|
1536
|
-
qx.Promise.reduce(
|
|
1537
|
-
qx.Promise.resolve(arr),
|
|
1538
|
-
async (acc, item) => acc + item,
|
|
1539
|
-
0
|
|
1540
|
-
).catch(err => {
|
|
1307
|
+
qx.Promise.reduce(qx.Promise.resolve(arr), async (acc, item) => acc + item, 0).catch(err => {
|
|
1541
1308
|
this.assertEquals("oops", err.message);
|
|
1542
1309
|
this.resume();
|
|
1543
1310
|
});
|
|
@@ -1573,17 +1340,12 @@ qx.Class.define("qx.test.Promise", {
|
|
|
1573
1340
|
var promiseE = qx.Promise.resolve(5);
|
|
1574
1341
|
var arr = [promiseB, promiseC, promiseD, promiseE, 6];
|
|
1575
1342
|
let t = this;
|
|
1576
|
-
let p = qx.Promise.resolve(arr).filter(async function (
|
|
1577
|
-
item,
|
|
1578
|
-
index,
|
|
1579
|
-
length
|
|
1580
|
-
) {
|
|
1343
|
+
let p = qx.Promise.resolve(arr).filter(async function (item, index, length) {
|
|
1581
1344
|
t.assertEquals(index, item - 2);
|
|
1582
1345
|
t.assertEquals(5, length);
|
|
1583
1346
|
t.assertIdentical(t, this);
|
|
1584
1347
|
return item % 2 === 0;
|
|
1585
|
-
},
|
|
1586
|
-
this);
|
|
1348
|
+
}, this);
|
|
1587
1349
|
p.then(evens => {
|
|
1588
1350
|
this.assertArrayEquals([2, 4, 6], evens);
|
|
1589
1351
|
//force resume to run on next tick so that we call resume after wait
|
|
@@ -1754,9 +1516,7 @@ qx.Class.define("qx.test.Promise", {
|
|
|
1754
1516
|
qx.Promise.resolve(arr)
|
|
1755
1517
|
.some(3)
|
|
1756
1518
|
.catch(error => {
|
|
1757
|
-
let errors = qx.lang.Type.isArray(error.errors)
|
|
1758
|
-
? error.errors
|
|
1759
|
-
: error;
|
|
1519
|
+
let errors = qx.lang.Type.isArray(error.errors) ? error.errors : error;
|
|
1760
1520
|
|
|
1761
1521
|
this.assertArrayEquals(
|
|
1762
1522
|
["oops1", "oops"],
|
|
@@ -1945,6 +1705,44 @@ qx.Class.define("qx.test.Promise", {
|
|
|
1945
1705
|
setTimeout(() => this.resume(), 1);
|
|
1946
1706
|
});
|
|
1947
1707
|
this.wait(1000);
|
|
1708
|
+
},
|
|
1709
|
+
/**
|
|
1710
|
+
* Ensures that if an event has at least one async handler, handlers are executed in parallel
|
|
1711
|
+
* and synchronous handlers are executed in the same tick as when the event was fired.
|
|
1712
|
+
*/
|
|
1713
|
+
testAsyncEvents() {
|
|
1714
|
+
qx.Class.undefine("qx.test.promise.TestEventsParallel");
|
|
1715
|
+
let Clazz = qx.Class.define("qx.test.promise.TestEventsParallel", {
|
|
1716
|
+
extend: qx.core.Object,
|
|
1717
|
+
events: {
|
|
1718
|
+
testEvent: "qx.event.type.Event"
|
|
1719
|
+
}
|
|
1720
|
+
});
|
|
1721
|
+
|
|
1722
|
+
let obj = new Clazz();
|
|
1723
|
+
let out = [];
|
|
1724
|
+
|
|
1725
|
+
obj.addListener("testEvent", evt => out.push("sync event 1"));
|
|
1726
|
+
obj.addListener("testEvent", async evt => {
|
|
1727
|
+
out.push("async event start");
|
|
1728
|
+
await new Promise(resolve => setTimeout(resolve, 100));
|
|
1729
|
+
out.push("async event end");
|
|
1730
|
+
});
|
|
1731
|
+
obj.addListener("testEvent", evt => out.push("sync event 2"));
|
|
1732
|
+
|
|
1733
|
+
let outPromise = obj.fireEvent("testEvent");
|
|
1734
|
+
this.assertArrayEquals(["sync event 1", "async event start", "sync event 2"], out, "Not all event handlers started synchronously");
|
|
1735
|
+
outPromise.then(() => {
|
|
1736
|
+
this.assertArrayEquals(
|
|
1737
|
+
["sync event 1", "async event start", "sync event 2", "async event end"],
|
|
1738
|
+
out,
|
|
1739
|
+
"Async event handler did not complete"
|
|
1740
|
+
);
|
|
1741
|
+
obj.dispose();
|
|
1742
|
+
qx.Class.undefine("qx.test.promise.TestEventsParallel");
|
|
1743
|
+
this.resume();
|
|
1744
|
+
});
|
|
1745
|
+
this.wait(1000);
|
|
1948
1746
|
}
|
|
1949
1747
|
},
|
|
1950
1748
|
|