@qooxdoo/framework 7.0.0-beta → 7.0.0-beta.4
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 +9 -0
- package/Manifest.json +11 -8
- package/bin/deploy/qx +0 -0
- package/lib/compiler/compile-info.json +86 -96
- package/lib/compiler/index.js +35547 -47284
- package/{source/class/qx/tool/compiler/targets → lib/resource/qx/tool/cli/templates}/TypeScriptWriter-base_declaration.txt +0 -0
- package/lib/resource/qx/tool/cli/templates/loader/loader-browser.tmpl.js +8 -2
- package/lib/resource/qx/tool/cli/templates/loader/loader-node.tmpl.js +24 -11
- package/lib/resource/qx/tool/cli/templates/loader/loader-rhino.tmpl.js +9 -2
- 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 -44
- package/lib/resource/qx/tool/cli/templates/template_vars.js +1 -1
- package/lib/resource/qx/tool/loadsass.js +13 -0
- 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 +19 -9
- package/lib/resource/qx/tool/website/sass/qooxdoo.css +1 -1
- package/lib/resource/qx/tool/website/sass/qooxdoo.css.map +1 -9
- package/package.json +14 -14
- package/source/class/qx/Annotation.js +2 -2
- package/source/class/qx/Class.js +20 -4
- package/source/class/qx/Interface.js +6 -0
- package/source/class/qx/Promise.js +32 -2
- package/source/class/qx/bom/Element.js +1 -0
- package/source/class/qx/bom/Font.js +17 -2
- package/source/class/qx/bom/Iframe.js +10 -5
- package/source/class/qx/bom/Label.js +2 -1
- package/source/class/qx/bom/Template.js +2 -0
- package/source/class/qx/bom/client/Browser.js +11 -2
- package/source/class/qx/bom/client/OperatingSystem.js +16 -0
- package/source/class/qx/bom/element/Decoration.js +8 -5
- package/source/class/qx/bom/element/Dimension.js +46 -0
- package/source/class/qx/bom/webfonts/WebFont.js +10 -0
- package/source/class/qx/core/BaseInit.js +9 -3
- package/source/class/qx/core/Environment.js +1 -0
- package/source/class/qx/core/Property.js +2 -2
- package/source/class/qx/data/SingleValueBinding.js +6 -3
- package/source/class/qx/data/controller/CheckedList.js +18 -9
- package/source/class/qx/data/controller/List.js +8 -0
- package/source/class/qx/dev/unit/Sinon.js +1 -1
- package/source/class/qx/event/Utils.js +1 -1
- package/source/class/qx/event/handler/DragDrop.js +1 -1
- package/source/class/qx/event/handler/Gesture.js +3 -1
- package/source/class/qx/event/handler/Mouse.js +61 -22
- package/source/class/qx/event/handler/Video.js +111 -0
- package/source/class/qx/html/Element.js +47 -32
- package/source/class/qx/html/Image.js +2 -2
- package/source/class/qx/html/Node.js +34 -4
- package/source/class/qx/lang/Json.js +1 -0
- package/source/class/qx/lang/String.js +53 -1
- package/source/class/qx/test/Annotation.js +2 -1
- package/source/class/qx/test/Promise.js +5 -3
- package/source/class/qx/test/bom/Font.js +10 -1
- package/source/class/qx/test/core/Property.js +5 -3
- package/source/class/qx/test/html/Element.js +3 -3
- package/source/class/qx/test/lang/String.js +28 -0
- package/source/class/qx/test/type/BaseString.js +7 -0
- package/source/class/qx/test/ui/embed/Iframe.js +1 -0
- package/source/class/qx/test/ui/form/ComboBox.js +0 -42
- package/source/class/qx/test/ui/virtual/performance/AbstractLayerTest.js +6 -2
- package/source/class/qx/theme/manager/Decoration.js +0 -0
- package/source/class/qx/theme/manager/Font.js +11 -0
- package/source/class/qx/theme/tangible/Appearance.js +10 -0
- package/source/class/qx/theme/tangible/ColorDark.js +0 -0
- package/source/class/qx/theme/tangible/Decoration.js +6 -0
- package/source/class/qx/tool/cli/Cli.js +5 -3
- package/source/class/qx/tool/cli/Watch.js +52 -0
- package/source/class/qx/tool/cli/api/AbstractApi.js +1 -1
- package/source/class/qx/tool/cli/api/CompilerApi.js +16 -6
- package/source/class/qx/tool/cli/api/LibraryApi.js +1 -1
- package/source/class/qx/tool/cli/commands/Command.js +7 -0
- package/source/class/qx/tool/cli/commands/Compile.js +28 -9
- package/source/class/qx/tool/cli/commands/Lint.js +30 -11
- package/source/class/qx/tool/cli/commands/Package.js +1 -2
- package/source/class/qx/tool/cli/commands/Run.js +2 -25
- package/source/class/qx/tool/cli/commands/Serve.js +9 -0
- package/source/class/qx/tool/cli/commands/package/Publish.js +19 -10
- package/source/class/qx/tool/compiler/Analyser.js +22 -23
- package/source/class/qx/tool/compiler/ClassFile.js +3 -2
- package/source/class/qx/tool/compiler/Console.js +17 -1
- package/source/class/qx/tool/compiler/Preprocess.js +1 -1
- package/source/class/qx/tool/compiler/app/Application.js +4 -2
- package/source/class/qx/tool/compiler/app/Cldr.js +1 -1
- package/source/class/qx/tool/compiler/app/Library.js +82 -88
- package/source/class/qx/tool/compiler/app/Part.js +1 -1
- package/source/class/qx/tool/compiler/app/Translation.js +1 -1
- package/source/class/qx/tool/compiler/app/WebFont.js +5 -4
- package/source/class/qx/tool/compiler/jsdoc/ChildControlParser.js +1 -1
- package/source/class/qx/tool/compiler/jsdoc/CommandParser.js +1 -1
- package/source/class/qx/tool/compiler/jsdoc/ParamParser.js +1 -1
- package/source/class/qx/tool/compiler/jsdoc/Parser.js +1 -1
- package/source/class/qx/tool/compiler/jsdoc/ReturnParser.js +1 -1
- package/source/class/qx/tool/compiler/jsdoc/ThrowsParser.js +1 -1
- package/source/class/qx/tool/compiler/makers/AbstractAppMaker.js +1 -1
- package/source/class/qx/tool/compiler/makers/AppMaker.js +14 -14
- package/source/class/qx/tool/compiler/makers/Maker.js +1 -1
- package/source/class/qx/tool/compiler/resources/AbstractMatcher.js +1 -1
- package/source/class/qx/tool/compiler/resources/Asset.js +2 -2
- package/source/class/qx/tool/compiler/resources/ImageLoader.js +3 -2
- package/source/class/qx/tool/compiler/resources/Manager.js +5 -5
- package/source/class/qx/tool/compiler/resources/MetaLoader.js +1 -1
- package/source/class/qx/tool/compiler/resources/ResourceConverter.js +1 -1
- package/source/class/qx/tool/compiler/resources/ResourceLoader.js +1 -1
- package/source/class/qx/tool/compiler/resources/ScssConverter.js +9 -3
- package/source/class/qx/tool/compiler/resources/ScssFile.js +13 -12
- package/source/class/qx/tool/compiler/resources/ScssIncludeConverter.js +1 -1
- package/source/class/qx/tool/compiler/targets/BuildTarget.js +1 -1
- package/source/class/qx/tool/compiler/targets/SourceCodeCopier.js +1 -1
- package/source/class/qx/tool/compiler/targets/SourceTarget.js +1 -1
- package/source/class/qx/tool/compiler/targets/Target.js +70 -32
- package/source/class/qx/tool/compiler/targets/TypeScriptWriter.js +3 -4
- package/source/class/qx/tool/compiler/targets/meta/AbstractJavascriptMeta.js +22 -0
- package/source/class/qx/tool/compiler/targets/meta/ApplicationMeta.js +30 -0
- package/source/class/qx/tool/compiler/targets/meta/BootJs.js +22 -0
- package/source/class/qx/tool/compiler/targets/meta/Javascript.js +22 -0
- package/source/class/qx/tool/compiler/targets/meta/Package.js +37 -2
- package/source/class/qx/tool/compiler/targets/meta/PackageJavascript.js +22 -0
- package/source/class/qx/tool/compiler/targets/meta/Part.js +22 -0
- package/source/class/qx/tool/compiler/targets/meta/PolyfillJs.js +29 -7
- package/source/class/qx/tool/compiler/targets/meta/Uglify.js +23 -1
- package/source/class/qx/tool/config/Abstract.js +3 -3
- package/source/class/qx/tool/config/Utils.js +10 -1
- package/source/class/qx/tool/utils/IndexedArray.js +1 -1
- package/source/class/qx/tool/utils/Json.js +2 -2
- package/source/class/qx/tool/utils/LogManager.js +1 -1
- package/source/class/qx/tool/utils/Logger.js +1 -1
- package/source/class/qx/tool/utils/Promisify.js +1 -1
- package/source/class/qx/tool/utils/Utils.js +118 -1
- package/source/class/qx/tool/utils/Values.js +1 -1
- package/source/class/qx/tool/utils/Website.js +23 -18
- package/source/class/qx/tool/utils/files/FindFiles.js +1 -1
- package/source/class/qx/tool/utils/files/Utils.js +1 -1
- package/source/class/qx/tool/utils/json/Parser.js +1 -1
- package/source/class/qx/tool/utils/json/Stringify.js +1 -1
- package/source/class/qx/tool/utils/json/Tokenizer.js +1 -1
- package/source/class/qx/tool/utils/json/Writer.js +1 -1
- package/source/class/qx/type/BaseString.js +2 -1
- package/source/class/qx/ui/basic/Image.js +15 -7
- package/source/class/qx/ui/basic/Label.js +3 -1
- package/source/class/qx/ui/container/SlideBar.js +3 -0
- package/source/class/qx/ui/control/DateChooser.js +20 -1
- package/source/class/qx/ui/core/scroll/NativeScrollBar.js +3 -0
- package/source/class/qx/ui/core/scroll/ScrollBar.js +3 -0
- package/source/class/qx/ui/form/AbstractSelectBox.js +38 -6
- package/source/class/qx/ui/form/Button.js +3 -0
- package/source/class/qx/ui/form/CheckBox.js +25 -1
- package/source/class/qx/ui/form/CheckedList.js +2 -1
- package/source/class/qx/ui/form/ComboBox.js +36 -27
- package/source/class/qx/ui/form/List.js +3 -0
- package/source/class/qx/ui/form/MenuButton.js +24 -2
- package/source/class/qx/ui/form/RadioButton.js +7 -0
- package/source/class/qx/ui/form/RadioButtonGroup.js +3 -0
- package/source/class/qx/ui/form/RadioGroup.js +19 -0
- package/source/class/qx/ui/form/SelectBox.js +23 -1
- package/source/class/qx/ui/form/Slider.js +15 -0
- package/source/class/qx/ui/form/SplitButton.js +3 -0
- package/source/class/qx/ui/form/ToggleButton.js +8 -0
- package/source/class/qx/ui/menu/AbstractButton.js +24 -0
- package/source/class/qx/ui/menu/Button.js +3 -0
- package/source/class/qx/ui/menu/CheckBox.js +8 -0
- package/source/class/qx/ui/menu/Manager.js +2 -0
- package/source/class/qx/ui/menu/Menu.js +63 -1
- package/source/class/qx/ui/menu/RadioButton.js +10 -1
- package/source/class/qx/ui/menubar/Button.js +0 -27
- package/source/class/qx/ui/menubar/MenuBar.js +12 -0
- package/source/class/qx/ui/splitpane/Blocker.js +3 -0
- package/source/class/qx/ui/splitpane/HLayout.js +2 -2
- package/source/class/qx/ui/splitpane/Pane.js +4 -1
- package/source/class/qx/ui/splitpane/VLayout.js +2 -2
- package/source/class/qx/ui/table/Table.js +24 -2
- package/source/class/qx/ui/table/cellrenderer/Abstract.js +3 -1
- package/source/class/qx/ui/table/cellrenderer/AbstractImage.js +7 -3
- package/source/class/qx/ui/table/headerrenderer/HeaderCell.js +3 -0
- package/source/class/qx/ui/table/pane/Header.js +3 -0
- package/source/class/qx/ui/table/pane/Scroller.js +3 -7
- package/source/class/qx/ui/table/rowrenderer/Default.js +1 -1
- package/source/class/qx/ui/tabview/Page.js +26 -0
- package/source/class/qx/ui/tabview/TabView.js +3 -0
- package/source/class/qx/ui/toolbar/Button.js +2 -27
- package/source/class/qx/ui/toolbar/CheckBox.js +0 -27
- package/source/class/qx/ui/toolbar/RadioButton.js +21 -0
- package/source/class/qx/ui/toolbar/SplitButton.js +0 -28
- package/source/class/qx/ui/toolbar/ToolBar.js +3 -0
- package/source/class/qx/util/ColorUtil.js +2 -1
- package/source/class/qx/util/ResourceManager.js +16 -7
- package/source/class/qx/util/format/DateFormat.js +9 -0
- package/source/class/qxWeb.js +8 -4
- 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/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/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/TypeScriptWriter-base_declaration.txt +13 -0
- package/source/resource/qx/tool/cli/templates/loader/loader-browser.tmpl.js +8 -2
- package/source/resource/qx/tool/cli/templates/loader/loader-node.tmpl.js +24 -11
- package/source/resource/qx/tool/cli/templates/loader/loader-rhino.tmpl.js +9 -2
- 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 +13 -0
- 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 +19 -9
- package/source/resource/qx/website/scss/ui/_carousel.scss +2 -2
- package/lib/resource/qx/tool/website/.gitignore +0 -2
- 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/ui/control/.gitignore +0 -0
- package/source/class/qx/tool/compiler/Version.js +0 -20
- 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
|
@@ -19,32 +19,12 @@
|
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
21
|
* The normal toolbar button. Like a normal {@link qx.ui.form.Button}
|
|
22
|
-
* but with a style matching the toolbar
|
|
22
|
+
* but with a style matching the toolbar.
|
|
23
23
|
*/
|
|
24
24
|
qx.Class.define("qx.ui.toolbar.Button",
|
|
25
25
|
{
|
|
26
26
|
extend : qx.ui.form.Button,
|
|
27
27
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
/*
|
|
31
|
-
*****************************************************************************
|
|
32
|
-
CONSTRUCTOR
|
|
33
|
-
*****************************************************************************
|
|
34
|
-
*/
|
|
35
|
-
|
|
36
|
-
construct : function(label, icon, command)
|
|
37
|
-
{
|
|
38
|
-
this.base(arguments, label, icon, command);
|
|
39
|
-
|
|
40
|
-
// Toolbar buttons should not support the keyboard events
|
|
41
|
-
this.removeListener("keydown", this._onKeyDown);
|
|
42
|
-
this.removeListener("keyup", this._onKeyUp);
|
|
43
|
-
},
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
28
|
/*
|
|
49
29
|
*****************************************************************************
|
|
50
30
|
PROPERTIES
|
|
@@ -64,12 +44,6 @@ qx.Class.define("qx.ui.toolbar.Button",
|
|
|
64
44
|
refine : true,
|
|
65
45
|
init : "inherit"
|
|
66
46
|
},
|
|
67
|
-
|
|
68
|
-
focusable :
|
|
69
|
-
{
|
|
70
|
-
refine : true,
|
|
71
|
-
init : false
|
|
72
|
-
}
|
|
73
47
|
},
|
|
74
48
|
|
|
75
49
|
members : {
|
|
@@ -84,3 +58,4 @@ qx.Class.define("qx.ui.toolbar.Button",
|
|
|
84
58
|
}
|
|
85
59
|
}
|
|
86
60
|
});
|
|
61
|
+
|
|
@@ -24,27 +24,6 @@ qx.Class.define("qx.ui.toolbar.CheckBox",
|
|
|
24
24
|
{
|
|
25
25
|
extend : qx.ui.form.ToggleButton,
|
|
26
26
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
/*
|
|
31
|
-
*****************************************************************************
|
|
32
|
-
CONSTRUCTOR
|
|
33
|
-
*****************************************************************************
|
|
34
|
-
*/
|
|
35
|
-
|
|
36
|
-
construct : function(label, icon)
|
|
37
|
-
{
|
|
38
|
-
this.base(arguments, label, icon);
|
|
39
|
-
|
|
40
|
-
// Toolbar buttons should not support the keyboard events
|
|
41
|
-
this.removeListener("keydown", this._onKeyDown);
|
|
42
|
-
this.removeListener("keyup", this._onKeyUp);
|
|
43
|
-
},
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
27
|
/*
|
|
49
28
|
*****************************************************************************
|
|
50
29
|
PROPERTIES
|
|
@@ -64,12 +43,6 @@ qx.Class.define("qx.ui.toolbar.CheckBox",
|
|
|
64
43
|
refine : true,
|
|
65
44
|
init : "inherit"
|
|
66
45
|
},
|
|
67
|
-
|
|
68
|
-
focusable :
|
|
69
|
-
{
|
|
70
|
-
refine : true,
|
|
71
|
-
init : false
|
|
72
|
-
}
|
|
73
46
|
},
|
|
74
47
|
|
|
75
48
|
members : {
|
|
@@ -29,7 +29,23 @@ qx.Class.define("qx.ui.toolbar.RadioButton",
|
|
|
29
29
|
include : [qx.ui.form.MModelProperty],
|
|
30
30
|
implement : [qx.ui.form.IModel, qx.ui.form.IRadioItem],
|
|
31
31
|
|
|
32
|
+
/*
|
|
33
|
+
*****************************************************************************
|
|
34
|
+
CONSTRUCTOR
|
|
35
|
+
*****************************************************************************
|
|
36
|
+
*/
|
|
32
37
|
|
|
38
|
+
construct : function(label, icon)
|
|
39
|
+
{
|
|
40
|
+
this.base(arguments, label, icon);
|
|
41
|
+
|
|
42
|
+
// ARIA attrs
|
|
43
|
+
// Important: (Grouped) radio btns should be children of a div with role 'radiogroup'
|
|
44
|
+
const contentEl = this.getContentElement();
|
|
45
|
+
contentEl.setAttribute("role", "radio");
|
|
46
|
+
contentEl.setAttribute("aria-checked", false);
|
|
47
|
+
contentEl.removeAttribute("aria-pressed");
|
|
48
|
+
},
|
|
33
49
|
|
|
34
50
|
|
|
35
51
|
/*
|
|
@@ -51,6 +67,11 @@ qx.Class.define("qx.ui.toolbar.RadioButton",
|
|
|
51
67
|
{
|
|
52
68
|
this.base(arguments, value, old);
|
|
53
69
|
|
|
70
|
+
// ARIA attrs
|
|
71
|
+
const contentEl = this.getContentElement();
|
|
72
|
+
contentEl.removeAttribute("aria-pressed");
|
|
73
|
+
contentEl.setAttribute("aria-checked", Boolean(value));
|
|
74
|
+
|
|
54
75
|
if (value)
|
|
55
76
|
{
|
|
56
77
|
var grp = this.getGroup();
|
|
@@ -28,26 +28,6 @@ qx.Class.define("qx.ui.toolbar.SplitButton",
|
|
|
28
28
|
{
|
|
29
29
|
extend : qx.ui.form.SplitButton,
|
|
30
30
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
/*
|
|
34
|
-
*****************************************************************************
|
|
35
|
-
CONSTRUCTOR
|
|
36
|
-
*****************************************************************************
|
|
37
|
-
*/
|
|
38
|
-
|
|
39
|
-
construct : function(label, icon, menu, command)
|
|
40
|
-
{
|
|
41
|
-
this.base(arguments, label, icon, menu, command);
|
|
42
|
-
|
|
43
|
-
// Toolbar buttons should not support the keyboard events
|
|
44
|
-
this.removeListener("keydown", this._onKeyDown);
|
|
45
|
-
this.removeListener("keyup", this._onKeyUp);
|
|
46
|
-
},
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
31
|
/*
|
|
52
32
|
*****************************************************************************
|
|
53
33
|
PROPERTIES
|
|
@@ -62,14 +42,6 @@ qx.Class.define("qx.ui.toolbar.SplitButton",
|
|
|
62
42
|
refine : true,
|
|
63
43
|
init : "toolbar-splitbutton"
|
|
64
44
|
},
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
// overridden
|
|
68
|
-
focusable :
|
|
69
|
-
{
|
|
70
|
-
refine : true,
|
|
71
|
-
init : false
|
|
72
|
-
}
|
|
73
45
|
},
|
|
74
46
|
|
|
75
47
|
|
|
@@ -943,8 +943,9 @@ qx.Bootstrap.define("qx.util.ColorUtil",
|
|
|
943
943
|
* @return {String} colour string
|
|
944
944
|
*/
|
|
945
945
|
chooseContrastingColor : function(rgb, threshold, dark, light) {
|
|
946
|
-
if (typeof rgb == "string")
|
|
946
|
+
if (typeof rgb == "string") {
|
|
947
947
|
rgb = qx.util.ColorUtil.stringToRgb(rgb);
|
|
948
|
+
}
|
|
948
949
|
var r = rgb[0];
|
|
949
950
|
var g = rgb[1];
|
|
950
951
|
var b = rgb[2];
|
|
@@ -336,7 +336,10 @@ qx.Class.define("qx.util.ResourceManager",
|
|
|
336
336
|
/**
|
|
337
337
|
* Returns the correct char code, ignoring scale postfix.
|
|
338
338
|
*
|
|
339
|
-
*
|
|
339
|
+
* The resource ID can be a ligature name (eg `@FontAwesome/heart` or `@MaterialIcons/home/16`),
|
|
340
|
+
* or a hex character code (eg `@FontAwesome/f004` or `@FontAwesome/f004/16`)
|
|
341
|
+
*
|
|
342
|
+
* @param source {String} resource id of the image
|
|
340
343
|
* @returns charCode of the glyph
|
|
341
344
|
*/
|
|
342
345
|
fromFontUriToCharCode : function (source)
|
|
@@ -347,16 +350,22 @@ qx.Class.define("qx.util.ResourceManager",
|
|
|
347
350
|
fontSource = sparts[0] + "/" + sparts[1];
|
|
348
351
|
}
|
|
349
352
|
var resource = this.getData(fontSource);
|
|
350
|
-
var charCode;
|
|
353
|
+
var charCode = null;
|
|
351
354
|
if (resource) {
|
|
352
355
|
charCode = resource[2];
|
|
353
|
-
|
|
354
|
-
else {
|
|
355
|
-
|
|
356
|
-
if (
|
|
357
|
-
|
|
356
|
+
|
|
357
|
+
} else {
|
|
358
|
+
let hexString = source.match(/@([^/]+)\/(.*)$/)[2];
|
|
359
|
+
if (hexString) {
|
|
360
|
+
charCode = parseInt(hexString, 16);
|
|
361
|
+
if (isNaN(charCode)) {
|
|
362
|
+
charCode = null;
|
|
363
|
+
}
|
|
358
364
|
}
|
|
359
365
|
}
|
|
366
|
+
if (!charCode) {
|
|
367
|
+
throw new Error(`Cannot determine charCode from source: ${source}`);
|
|
368
|
+
}
|
|
360
369
|
return charCode;
|
|
361
370
|
}
|
|
362
371
|
},
|
|
@@ -425,6 +425,15 @@ qx.Class.define("qx.util.format.DateFormat",
|
|
|
425
425
|
return locale;
|
|
426
426
|
},
|
|
427
427
|
|
|
428
|
+
/**
|
|
429
|
+
* Returns the original format string
|
|
430
|
+
*
|
|
431
|
+
* @return {String}
|
|
432
|
+
*/
|
|
433
|
+
getFormatString() {
|
|
434
|
+
return this.__format;
|
|
435
|
+
},
|
|
436
|
+
|
|
428
437
|
/**
|
|
429
438
|
* Formats a date.
|
|
430
439
|
*
|
package/source/class/qxWeb.js
CHANGED
|
@@ -36,6 +36,8 @@
|
|
|
36
36
|
* @ignore(q)
|
|
37
37
|
*
|
|
38
38
|
* @group (Core)
|
|
39
|
+
*
|
|
40
|
+
* @asset(qx/iconfont/MaterialIcons/*)
|
|
39
41
|
*/
|
|
40
42
|
qx.Bootstrap.define("qxWeb", {
|
|
41
43
|
extend : qx.type.BaseArray,
|
|
@@ -149,8 +151,9 @@ qx.Bootstrap.define("qxWeb", {
|
|
|
149
151
|
$attachAll : function(clazz, staticsNamespace) {
|
|
150
152
|
// members
|
|
151
153
|
for (var name in clazz.members) {
|
|
152
|
-
if (name.indexOf("$") !== 0 && name.indexOf("_") !== 0)
|
|
153
|
-
|
|
154
|
+
if (name.indexOf("$") !== 0 && name.indexOf("_") !== 0) {
|
|
155
|
+
qxWeb.prototype[name] = clazz.members[name];
|
|
156
|
+
}
|
|
154
157
|
}
|
|
155
158
|
|
|
156
159
|
// statics
|
|
@@ -164,8 +167,9 @@ qx.Bootstrap.define("qxWeb", {
|
|
|
164
167
|
|
|
165
168
|
for (var name in clazz.statics) {
|
|
166
169
|
if (name.indexOf("$") !== 0 && name.indexOf("_") !== 0 && name !== "name" && name !== "basename" &&
|
|
167
|
-
name !== "classname" && name !== "toString" && name !== name.toUpperCase())
|
|
168
|
-
|
|
170
|
+
name !== "classname" && name !== "toString" && name !== name.toUpperCase()) {
|
|
171
|
+
destination[name] = clazz.statics[name];
|
|
172
|
+
}
|
|
169
173
|
}
|
|
170
174
|
},
|
|
171
175
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
* If the first value is a color (or "transparent"), the mixin creates a plain colored background with it.
|
|
7
7
|
* If multiple values are passed, the background mixins attempts to create a linear gradient through "linear-gradient" mixin.
|
|
8
8
|
*/
|
|
9
|
+
@use "sass:math";
|
|
10
|
+
|
|
9
11
|
@mixin background($values) {
|
|
10
12
|
@if (length($values) == 1) {
|
|
11
13
|
background-color: $values;
|
|
@@ -97,7 +99,7 @@
|
|
|
97
99
|
$next: nth($values, $i + 1);
|
|
98
100
|
|
|
99
101
|
// If no position is passed inside color-stop, it calculates the position in percent.
|
|
100
|
-
$pos: ($i - 1)*(1
|
|
102
|
+
$pos: ($i - 1)*math.div(1, $last - 1);
|
|
101
103
|
|
|
102
104
|
// Separator between color-stops.
|
|
103
105
|
$separator: "";
|
|
@@ -145,7 +145,7 @@ $menu-item-selected-background: lighten($highlight-color, 20%), $highlight-colo
|
|
|
145
145
|
|
|
146
146
|
$navigationbar-height: rem(40);
|
|
147
147
|
$navigationbar-background: $color-2,$color-1;
|
|
148
|
-
$navigationbar-text-size: $navigationbar-height
|
|
148
|
+
$navigationbar-text-size: $navigationbar-height*0.5;
|
|
149
149
|
$navigationbar-text-color: $background-color;
|
|
150
150
|
$navigationbar-padding: rem(4);
|
|
151
151
|
$navigationbar-font-weight: bold;
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
transition: transform 2s;
|
|
31
31
|
|
|
32
32
|
position:absolute;
|
|
33
|
-
bottom: $carousel-pagination-size
|
|
33
|
+
bottom: $carousel-pagination-size*0.5;
|
|
34
34
|
height: $carousel-pagination-size;
|
|
35
35
|
line-height: 0;
|
|
36
36
|
width: auto;
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
.carousel-pagination-label + .carousel-pagination-label {
|
|
41
|
-
margin-left: $carousel-pagination-size
|
|
41
|
+
margin-left: $carousel-pagination-size*0.5;
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
.carousel-pagination-label {
|
|
@@ -33,14 +33,14 @@
|
|
|
33
33
|
position: absolute;
|
|
34
34
|
left:50%;
|
|
35
35
|
top:50%;
|
|
36
|
-
margin-left: -1*($checkbox-tick-size
|
|
37
|
-
margin-top: -1*($checkbox-tick-size
|
|
36
|
+
margin-left: -1*($checkbox-tick-size*0.5) - ($checkbox-tick-width*0.5);
|
|
37
|
+
margin-top: -1*($checkbox-tick-size*0.5) - ($checkbox-tick-width*0.5);
|
|
38
38
|
|
|
39
39
|
display:block;
|
|
40
40
|
opacity: 0;
|
|
41
41
|
content:"";
|
|
42
42
|
width: $checkbox-tick-size;
|
|
43
|
-
height: $checkbox-tick-size
|
|
43
|
+
height: $checkbox-tick-size*0.5;
|
|
44
44
|
background: transparent;
|
|
45
45
|
|
|
46
46
|
border: $checkbox-tick-width solid $checkbox-tick-color;
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
position: absolute;
|
|
54
54
|
top: 50%;
|
|
55
55
|
right: $collapsible-header-padding;
|
|
56
|
-
margin-top:-1*($collapsible-arrow-size)
|
|
56
|
+
margin-top:-1*($collapsible-arrow-size)*0.5;
|
|
57
57
|
display:block;
|
|
58
58
|
content: "";
|
|
59
59
|
}
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
position: absolute;
|
|
69
69
|
top: 50%;
|
|
70
70
|
right: $collapsible-header-padding;
|
|
71
|
-
margin-top:-1*($collapsible-arrow-size)
|
|
71
|
+
margin-top:-1*($collapsible-arrow-size)*0.5;
|
|
72
72
|
display:block;
|
|
73
73
|
content: "";
|
|
74
74
|
}
|
|
@@ -109,7 +109,7 @@
|
|
|
109
109
|
@include transition(all no-ease);
|
|
110
110
|
|
|
111
111
|
position:relative;
|
|
112
|
-
top: -($picker-height
|
|
112
|
+
top: -($picker-height*0.5);
|
|
113
113
|
|
|
114
114
|
padding-top: $picker-height;
|
|
115
115
|
padding-bottom: $picker-height;
|
|
@@ -131,7 +131,7 @@
|
|
|
131
131
|
padding-left: rem(5);
|
|
132
132
|
padding-right: rem(5);
|
|
133
133
|
|
|
134
|
-
top: -$picker-label-height
|
|
134
|
+
top: -$picker-label-height * 0.5;
|
|
135
135
|
}
|
|
136
136
|
|
|
137
137
|
.picker-container {
|
|
@@ -178,11 +178,11 @@
|
|
|
178
178
|
width:100%;
|
|
179
179
|
z-index:1001;
|
|
180
180
|
|
|
181
|
-
top: $picker-height
|
|
181
|
+
top: $picker-height*0.5;
|
|
182
182
|
left: 0px;
|
|
183
183
|
|
|
184
184
|
height: $picker-label-height;
|
|
185
|
-
margin-top: -($picker-label-height
|
|
185
|
+
margin-top: -($picker-label-height*0.5) - ($picker-highlight-border-width);
|
|
186
186
|
|
|
187
187
|
border-top: $picker-highlight-border-width solid $picker-highlight-color;
|
|
188
188
|
border-bottom: $picker-highlight-border-width solid $picker-highlight-color;
|
|
@@ -34,13 +34,13 @@
|
|
|
34
34
|
|
|
35
35
|
z-index: 1;
|
|
36
36
|
|
|
37
|
-
width: $radiobutton-size
|
|
38
|
-
height: $radiobutton-size
|
|
37
|
+
width: $radiobutton-size*0.5;
|
|
38
|
+
height: $radiobutton-size*0.5;
|
|
39
39
|
|
|
40
40
|
top: 50%;
|
|
41
41
|
left: 50%;
|
|
42
|
-
margin-top: -1*$radiobutton-size
|
|
43
|
-
margin-left: -1*$radiobutton-size
|
|
42
|
+
margin-top: -1*$radiobutton-size*0.25;
|
|
43
|
+
margin-left: -1*$radiobutton-size*0.25;
|
|
44
44
|
|
|
45
45
|
background: $radiobutton-dot-color;
|
|
46
46
|
}
|
|
@@ -5,14 +5,14 @@
|
|
|
5
5
|
.slider {
|
|
6
6
|
@include border-radius($slider-border-radius);
|
|
7
7
|
@include background($slider-background);
|
|
8
|
-
@include transform(translate3d(0,($slider-knob-height
|
|
8
|
+
@include transform(translate3d(0,($slider-knob-height*0.5),0));
|
|
9
9
|
@include touch-action(none);
|
|
10
10
|
|
|
11
11
|
overflow: visible;
|
|
12
12
|
|
|
13
13
|
margin-bottom: $slider-knob-height;
|
|
14
|
-
margin-left: ($slider-knob-width
|
|
15
|
-
margin-right: ($slider-knob-width
|
|
14
|
+
margin-left: ($slider-knob-width*0.5);
|
|
15
|
+
margin-right: ($slider-knob-width*0.5);
|
|
16
16
|
|
|
17
17
|
border: rem(1) solid $slider-border-color;
|
|
18
18
|
}
|
|
@@ -22,8 +22,8 @@
|
|
|
22
22
|
content: "";
|
|
23
23
|
height: $slider-knob-height;
|
|
24
24
|
position: absolute;
|
|
25
|
-
top: -($slider-knob-height
|
|
26
|
-
left: -($slider-knob-width
|
|
25
|
+
top: -($slider-knob-height*0.5) + ($slider-height*0.5);
|
|
26
|
+
left: -($slider-knob-width*0.5);
|
|
27
27
|
padding-right: ($slider-knob-width);
|
|
28
28
|
display: block;
|
|
29
29
|
width: 100%;
|
|
@@ -62,8 +62,8 @@
|
|
|
62
62
|
text-overflow: ellipsis;
|
|
63
63
|
font-weight:normal;
|
|
64
64
|
|
|
65
|
-
top: -($slider-knob-height
|
|
66
|
-
right: -1*$slider-knob-width
|
|
65
|
+
top: -($slider-knob-height*0.5) + ($slider-height*0.5) - rem(1);
|
|
66
|
+
right: -1*$slider-knob-width*0.5;
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
.slider.percent > div:after {
|
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
* If the first value is a color (or "transparent"), the mixin creates a plain colored background with it.
|
|
7
7
|
* If multiple values are passed, the background mixins attempts to create a linear gradient through "linear-gradient" mixin.
|
|
8
8
|
*/
|
|
9
|
+
@use "sass:math";
|
|
10
|
+
|
|
9
11
|
@mixin background($values) {
|
|
10
12
|
@if (length($values) == 1) {
|
|
11
13
|
background-color: $values;
|
|
@@ -97,7 +99,7 @@
|
|
|
97
99
|
$next: nth($values, $i + 1);
|
|
98
100
|
|
|
99
101
|
// If no position is passed inside color-stop, it calculates the position in percent.
|
|
100
|
-
$pos: ($i - 1)*(1
|
|
102
|
+
$pos: ($i - 1)*math.div(1, $last - 1);
|
|
101
103
|
|
|
102
104
|
// Separator between color-stops.
|
|
103
105
|
$separator: "";
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
@use "sass:math";
|
|
2
|
+
|
|
1
3
|
@function rem($value, $factor: 1.0) {
|
|
2
4
|
@if ($value != 0 and $value != auto) {
|
|
3
5
|
@if (unitless($value)) {
|
|
@@ -5,10 +7,10 @@
|
|
|
5
7
|
}
|
|
6
8
|
|
|
7
9
|
@if (unit($factor) == "%") {
|
|
8
|
-
$factor: $factor
|
|
10
|
+
$factor: math.div($factor, $factor * 0 + 1) * 0.01;
|
|
9
11
|
}
|
|
10
12
|
|
|
11
|
-
$value: $factor*($value
|
|
13
|
+
$value: $factor*math.div($value, 16px) * 1rem;
|
|
12
14
|
}
|
|
13
15
|
|
|
14
16
|
@return $value;
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -194,10 +194,16 @@ qx.$$loader = {
|
|
|
194
194
|
qx.$$loader.applicationHandlerReady = true;
|
|
195
195
|
}
|
|
196
196
|
}
|
|
197
|
-
if (qx.$$
|
|
197
|
+
if (qx.Class.$$brokenClassDefinitions) {
|
|
198
|
+
console.error("**************\n" +
|
|
199
|
+
"One or more class definitions did not load properly - please see error messages above for details.\n" +
|
|
200
|
+
"It is probable that your application will have unexpected errors. Please fix the class problems above before continuing.\n" +
|
|
201
|
+
"**************");
|
|
202
|
+
} else if (qx.$$loader.splashscreen) {
|
|
198
203
|
qx.$$loader.splashscreen.loadComplete(done);
|
|
199
|
-
else
|
|
204
|
+
} else {
|
|
200
205
|
done();
|
|
206
|
+
}
|
|
201
207
|
},
|
|
202
208
|
|
|
203
209
|
/*
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
(function(){
|
|
1
|
+
(function(){
|
|
2
2
|
|
|
3
3
|
var path = require("path");
|
|
4
|
-
|
|
5
|
-
if (typeof window === "undefined")
|
|
4
|
+
|
|
5
|
+
if (typeof window === "undefined")
|
|
6
6
|
window = this;
|
|
7
|
+
window.addEventListener = function() {};
|
|
8
|
+
window.removeEventListener = function() {};
|
|
7
9
|
window.dispatchEvent = function() {};
|
|
8
10
|
|
|
9
11
|
if (!window.navigator) window.navigator = {};
|
|
@@ -14,12 +16,12 @@
|
|
|
14
16
|
if (!window.navigator.cpuClass) window.navigator.cpuClass = "";
|
|
15
17
|
|
|
16
18
|
// Node suppresses output to the "real" console when calling console.debug, it's only shown
|
|
17
|
-
// in the debugger
|
|
19
|
+
// in the debugger
|
|
18
20
|
console.debug = function() {
|
|
19
21
|
var args = [].slice.apply(arguments);
|
|
20
22
|
console.log.apply(this, args);
|
|
21
23
|
};
|
|
22
|
-
|
|
24
|
+
|
|
23
25
|
var JSDOM = null;
|
|
24
26
|
try {
|
|
25
27
|
JSDOM = require("jsdom").JSDOM;
|
|
@@ -36,6 +38,9 @@
|
|
|
36
38
|
} else {
|
|
37
39
|
window.document = document = {
|
|
38
40
|
readyState: "ready",
|
|
41
|
+
currentScript: {
|
|
42
|
+
src: new (require('url').URL)('file:' + __filename).href
|
|
43
|
+
},
|
|
39
44
|
createEvent: function() {
|
|
40
45
|
return {
|
|
41
46
|
initCustomEvent: function() {}
|
|
@@ -55,14 +60,14 @@
|
|
|
55
60
|
if (!this.qxloadPrefixUrl)
|
|
56
61
|
qxloadPrefixUrl = "";
|
|
57
62
|
|
|
58
|
-
if (!window.qx)
|
|
63
|
+
if (!window.qx)
|
|
59
64
|
window.qx = {};
|
|
60
|
-
|
|
65
|
+
|
|
61
66
|
if (!qx.$$appRoot) {
|
|
62
67
|
qx.$$appRoot = __dirname + path.sep;
|
|
63
68
|
}
|
|
64
69
|
|
|
65
|
-
if (!window.qxvariants)
|
|
70
|
+
if (!window.qxvariants)
|
|
66
71
|
qxvariants = {};
|
|
67
72
|
|
|
68
73
|
qx.$$start = new Date();
|
|
@@ -146,7 +151,7 @@
|
|
|
146
151
|
|
|
147
152
|
var allScripts = l.decodeUris(l.urisBefore, "resourceUri");
|
|
148
153
|
t.loadScriptList(allScripts);
|
|
149
|
-
|
|
154
|
+
|
|
150
155
|
l.parts[l.boot].forEach(function(pkg) {
|
|
151
156
|
t.loadScriptList(l.decodeUris(l.packages[pkg].uris));
|
|
152
157
|
});
|
|
@@ -160,6 +165,7 @@
|
|
|
160
165
|
|
|
161
166
|
loadScriptList: function(list) {
|
|
162
167
|
list.forEach(function(uri) {
|
|
168
|
+
uri = uri.replace(/\?.*$/, '');
|
|
163
169
|
var f = loaderMethod(uri);
|
|
164
170
|
if (typeof f === "function") {
|
|
165
171
|
var s = f.name === ""?path.basename(uri, ".js"):f.name;
|
|
@@ -172,8 +178,15 @@
|
|
|
172
178
|
qx.Bootstrap.executePendingDefers();
|
|
173
179
|
qx.$$loader.delayDefer = false;
|
|
174
180
|
qx.$$loader.scriptLoaded = true;
|
|
175
|
-
qx.
|
|
176
|
-
|
|
181
|
+
if (qx.Class.$$brokenClassDefinitions) {
|
|
182
|
+
console.error("**************");
|
|
183
|
+
console.error("One or more class definitions did not load properly - please see error messages above for details.");
|
|
184
|
+
console.error("It is probable that your application will have unexpected errors. Please fix the class problems above before continuing.");
|
|
185
|
+
console.error("**************");
|
|
186
|
+
} else {
|
|
187
|
+
qx.core.BaseInit.ready();
|
|
188
|
+
qx.$$loader.applicationHandlerReady = true;
|
|
189
|
+
}
|
|
177
190
|
},
|
|
178
191
|
|
|
179
192
|
importPackageData : function(dataMap, callback) {
|
|
@@ -156,8 +156,15 @@
|
|
|
156
156
|
qx.Bootstrap.executePendingDefers();
|
|
157
157
|
qx.$$loader.delayDefer = false;
|
|
158
158
|
qx.$$loader.scriptLoaded = true;
|
|
159
|
-
qx.
|
|
160
|
-
|
|
159
|
+
if (qx.Class.$$brokenClassDefinitions) {
|
|
160
|
+
console.error("**************");
|
|
161
|
+
console.error("One or more class definitions did not load properly - please see error messages above for details.");
|
|
162
|
+
console.error("It is probable that your application will have unexpected errors. Please fix the class problems above before continuing.");
|
|
163
|
+
console.error("**************");
|
|
164
|
+
} else {
|
|
165
|
+
qx.core.BaseInit.ready();
|
|
166
|
+
qx.$$loader.applicationHandlerReady = true;
|
|
167
|
+
}
|
|
161
168
|
},
|
|
162
169
|
|
|
163
170
|
importPackageData : function(dataMap, callback) {
|
package/source/resource/qx/tool/cli/templates/skeleton/mobile/source/theme/custom/scss/_styles.scss
CHANGED
|
@@ -145,7 +145,7 @@ $menu-item-selected-background: lighten($highlight-color, 20%), $highlight-colo
|
|
|
145
145
|
|
|
146
146
|
$navigationbar-height: rem(40);
|
|
147
147
|
$navigationbar-background: $color-2,$color-1;
|
|
148
|
-
$navigationbar-text-size: $navigationbar-height
|
|
148
|
+
$navigationbar-text-size: $navigationbar-height*0.5;
|
|
149
149
|
$navigationbar-text-color: $background-color;
|
|
150
150
|
$navigationbar-padding: rem(4);
|
|
151
151
|
$navigationbar-font-weight: bold;
|