@qooxdoo/framework 7.5.0 → 7.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Manifest.json +169 -44
- package/bin/deploy/qx +7 -5
- package/lib/compiler/compile-info.json +70 -62
- package/lib/compiler/index.js +3809 -2695
- package/lib/resource/qx/tool/cli/templates/skeleton/desktop/source/class/custom/Application.tmpl.js +7 -7
- package/lib/resource/qx/tool/cli/templates/skeleton/desktop/source/class/custom/test/DemoTest.tmpl.js +10 -10
- package/lib/resource/qx/tool/cli/templates/skeleton/mobile/source/class/custom/Application.tmpl.js +6 -6
- package/lib/resource/qx/tool/cli/templates/skeleton/mobile/source/class/custom/page/Login.tmpl.js +9 -9
- package/lib/resource/qx/tool/cli/templates/skeleton/mobile/source/class/custom/page/Overview.tmpl.js +5 -5
- package/lib/resource/qx/tool/cli/templates/skeleton/package/source/class/custom/demo/Application.tmpl.js +7 -7
- package/lib/resource/qx/tool/cli/templates/skeleton/package/source/class/custom/test/DemoTest.tmpl.js +10 -10
- package/lib/resource/qx/tool/cli/templates/skeleton/server/source/class/custom/Application.tmpl.js +6 -6
- package/lib/resource/qx/tool/cli/templates/skeleton/server/source/class/custom/test/DemoTest.tmpl.js +12 -12
- package/lib/resource/qx/tool/schema/Manifest-1-0-0.json +79 -26
- package/lib/resource/qx/tool/schema/Manifest-2-0-0.json +17 -26
- package/lib/resource/qx/tool/schema/compile-1-0-0.json +40 -53
- package/lib/resource/qx/tool/website/src/about.md +1 -1
- package/package.json +3 -3
- package/source/class/qx/bom/Font.js +36 -0
- package/source/class/qx/bom/webfonts/Validator.js +31 -6
- package/source/class/qx/bom/webfonts/WebFont.js +60 -64
- package/source/class/qx/bom/webfonts/WebFontLoader.js +461 -0
- package/source/class/qx/core/Object.js +1 -1
- package/source/class/qx/data/Array.js +27 -0
- package/source/class/qx/dev/FakeServer.js +1 -1
- package/source/class/qx/event/handler/Focus.js +2 -1
- package/source/class/qx/event/handler/GestureCore.js +1 -1
- package/source/class/qx/test/bom/webfonts/Validator.js +0 -6
- package/source/class/qx/test/core/Environment.js +8 -8
- package/source/class/qx/test/core/Validation.js +2 -2
- package/source/class/qx/test/dev/unit/Requirements.js +6 -6
- package/source/class/qx/test/io/transport/Websocket.js +1 -1
- package/source/class/qx/test/ui/basic/Image.js +3 -3
- package/source/class/qx/test/ui/basic/Label.js +0 -65
- package/source/class/qx/test/ui/form/Field.js +56 -52
- package/source/class/qx/theme/IndigoDark.js +1 -1
- package/source/class/qx/theme/classic/Font.js +7 -23
- package/source/class/qx/theme/iconfont/LoadMaterialIcons.js +2 -4
- package/source/class/qx/theme/iconfont/LoadMaterialIconsOutlined.js +2 -4
- package/source/class/qx/theme/iconfont/LoadMaterialIconsRound.js +2 -4
- package/source/class/qx/theme/iconfont/LoadMaterialIconsSharp.js +2 -4
- package/source/class/qx/theme/iconfont/LoadMaterialIconsTwoTone.js +2 -4
- package/source/class/qx/theme/indigo/DecorationDark.js +30 -0
- package/source/class/qx/theme/indigo/Font.js +8 -15
- package/source/class/qx/theme/manager/Font.js +151 -38
- package/source/class/qx/theme/modern/Font.js +1 -0
- package/source/class/qx/theme/simple/Font.js +3 -1
- package/source/class/qx/theme/tangible/Appearance.js +1 -0
- package/source/class/qx/theme/tangible/Font.js +9 -62
- package/source/class/qx/theme/tangible/Image.js +1 -4
- package/source/class/qx/tool/cli/Application.js +4 -1
- package/source/class/qx/tool/cli/Cli.js +34 -23
- package/source/class/qx/tool/cli/Watch.js +8 -6
- package/source/class/qx/tool/cli/api/CompilerApi.js +8 -0
- package/source/class/qx/tool/cli/commands/Add.js +1 -1
- package/source/class/qx/tool/cli/commands/Compile.js +24 -1
- package/source/class/qx/tool/cli/commands/Config.js +16 -141
- package/source/class/qx/tool/cli/commands/ExportGlyphs.js +134 -0
- package/source/class/qx/tool/cli/commands/Lint.js +1 -1
- package/source/class/qx/tool/cli/commands/Package.js +3 -0
- package/source/class/qx/tool/cli/commands/Pkg.js +1 -1
- package/source/class/qx/tool/cli/commands/Run.js +6 -7
- package/source/class/qx/tool/cli/commands/Serve.js +29 -36
- package/source/class/qx/tool/cli/commands/Test.js +3 -2
- package/source/class/qx/tool/cli/commands/add/Script.js +3 -1
- package/source/class/qx/tool/cli/commands/config/Delete.js +47 -0
- package/source/class/qx/tool/cli/commands/config/Get.js +52 -0
- package/source/class/qx/tool/cli/commands/config/List.js +81 -0
- package/source/class/qx/tool/cli/commands/config/Set.js +61 -0
- package/source/class/qx/tool/cli/commands/package/Install.js +3 -0
- package/source/class/qx/tool/cli/commands/package/Update.js +3 -3
- package/source/class/qx/tool/compiler/Analyser.js +45 -0
- package/source/class/qx/tool/compiler/ClassFile.js +43 -1
- package/source/class/qx/tool/compiler/Console.js +6 -1
- package/source/class/qx/tool/compiler/app/Application.js +19 -0
- package/source/class/qx/tool/compiler/app/Cldr.js +63 -26
- package/source/class/qx/tool/compiler/app/Library.js +51 -2
- package/source/class/qx/tool/compiler/app/ManifestFont.js +181 -0
- package/source/class/qx/tool/compiler/app/WebFont.js +144 -234
- package/source/class/qx/tool/compiler/makers/AppMaker.js +13 -0
- package/source/class/qx/tool/compiler/resources/ImageLoader.js +22 -12
- package/source/class/qx/tool/compiler/resources/Manager.js +2 -2
- package/source/class/qx/tool/compiler/resources/MetaLoader.js +7 -2
- package/source/class/qx/tool/compiler/resources/ResourceLoader.js +21 -0
- package/source/class/qx/tool/compiler/targets/Target.js +186 -67
- package/source/class/qx/tool/migration/M7_5_6.js +75 -0
- package/source/class/qx/tool/utils/Http.js +69 -0
- package/source/class/qx/ui/basic/Image.js +6 -2
- package/source/class/qx/ui/basic/Label.js +20 -38
- package/source/class/qx/ui/core/Widget.js +13 -42
- package/source/class/qx/ui/form/AbstractField.js +8 -2
- package/source/class/qx/ui/form/FileSelectorButton.js +5 -0
- package/source/class/qx/ui/table/pane/FocusIndicator.js +5 -4
- package/source/class/qx/ui/table/pane/Pane.js +14 -0
- package/source/class/qx/ui/table/pane/Scroller.js +3 -3
- package/source/class/qx/ui/virtual/core/Scroller.js +8 -2
- package/source/class/qx/ui/window/Window.js +9 -8
- package/source/resource/qx/iconfont/MaterialIcons/materialicons.json +10912 -0
- package/source/resource/qx/iconfont/MaterialIcons/materialiconsoutlined.json +10967 -0
- package/source/resource/qx/iconfont/MaterialIcons/materialiconsround.json +10992 -0
- package/source/resource/qx/iconfont/MaterialIcons/materialiconssharp.json +10992 -0
- package/source/resource/qx/iconfont/MaterialIcons/materialiconstwotone.json +9947 -0
- package/source/resource/qx/iconfont/MaterialIcons/x.json +10967 -0
- package/source/resource/qx/iconfont/export-glyphs.sh +22 -0
- package/source/resource/qx/mobile/scss/common/_gradients.scss +1 -1
- package/source/resource/qx/tool/cli/templates/skeleton/desktop/source/class/custom/Application.tmpl.js +7 -7
- package/source/resource/qx/tool/cli/templates/skeleton/desktop/source/class/custom/test/DemoTest.tmpl.js +10 -10
- package/source/resource/qx/tool/cli/templates/skeleton/mobile/source/class/custom/Application.tmpl.js +6 -6
- package/source/resource/qx/tool/cli/templates/skeleton/mobile/source/class/custom/page/Login.tmpl.js +9 -9
- package/source/resource/qx/tool/cli/templates/skeleton/mobile/source/class/custom/page/Overview.tmpl.js +5 -5
- package/source/resource/qx/tool/cli/templates/skeleton/package/source/class/custom/demo/Application.tmpl.js +7 -7
- package/source/resource/qx/tool/cli/templates/skeleton/package/source/class/custom/test/DemoTest.tmpl.js +10 -10
- package/source/resource/qx/tool/cli/templates/skeleton/server/source/class/custom/Application.tmpl.js +6 -6
- package/source/resource/qx/tool/cli/templates/skeleton/server/source/class/custom/test/DemoTest.tmpl.js +12 -12
- package/source/resource/qx/tool/schema/Manifest-1-0-0.json +79 -26
- package/source/resource/qx/tool/schema/Manifest-2-0-0.json +17 -26
- package/source/resource/qx/tool/schema/compile-1-0-0.json +40 -53
- package/source/resource/qx/tool/website/src/about.md +1 -1
- package/source/class/qx/bom/webfonts/Manager.js +0 -652
- package/source/class/qx/test/bom/webfonts/Manager.js +0 -238
|
@@ -2122,24 +2122,17 @@ qx.Class.define("qx.ui.core.Widget", {
|
|
|
2122
2122
|
// property apply
|
|
2123
2123
|
_applyTextColor(value, old) {
|
|
2124
2124
|
// empty template
|
|
2125
|
-
},
|
|
2126
|
-
|
|
2127
|
-
// property apply
|
|
2125
|
+
}, // property apply
|
|
2128
2126
|
_applyZIndex(value, old) {
|
|
2129
2127
|
this.getContentElement().setStyle("zIndex", value == null ? 0 : value);
|
|
2130
|
-
},
|
|
2131
|
-
|
|
2132
|
-
// property apply
|
|
2128
|
+
}, // property apply
|
|
2133
2129
|
_applyVisibility(value, old) {
|
|
2134
2130
|
var content = this.getContentElement();
|
|
2135
|
-
|
|
2136
2131
|
if (value === "visible") {
|
|
2137
2132
|
content.show();
|
|
2138
2133
|
} else {
|
|
2139
2134
|
content.hide();
|
|
2140
|
-
}
|
|
2141
|
-
|
|
2142
|
-
// only force a layout update if visibility change from/to "exclude"
|
|
2135
|
+
} // only force a layout update if visibility change from/to "exclude"
|
|
2143
2136
|
var parent = this.$$parent;
|
|
2144
2137
|
if (
|
|
2145
2138
|
parent &&
|
|
@@ -2187,31 +2180,19 @@ qx.Class.define("qx.ui.core.Widget", {
|
|
|
2187
2180
|
// property apply
|
|
2188
2181
|
_applyFont(value, old) {
|
|
2189
2182
|
// empty template
|
|
2190
|
-
},
|
|
2191
|
-
|
|
2192
|
-
|
|
2193
|
-
---------------------------------------------------------------------------
|
|
2194
|
-
DYNAMIC THEME SWITCH SUPPORT
|
|
2195
|
-
---------------------------------------------------------------------------
|
|
2196
|
-
*/
|
|
2197
|
-
|
|
2183
|
+
}, // ---------------------------------------------------------------------------
|
|
2184
|
+
// DYNAMIC THEME SWITCH SUPPORT
|
|
2185
|
+
// ---------------------------------------------------------------------------
|
|
2198
2186
|
// overridden
|
|
2199
2187
|
_onChangeTheme() {
|
|
2200
2188
|
if (this.isDisposed()) {
|
|
2201
2189
|
return;
|
|
2202
2190
|
}
|
|
2203
|
-
|
|
2204
|
-
|
|
2205
|
-
|
|
2206
|
-
// update the appearance
|
|
2207
|
-
this.updateAppearance();
|
|
2208
|
-
|
|
2209
|
-
// DECORATOR //
|
|
2191
|
+
super._onChangeTheme(); // update the appearance
|
|
2192
|
+
this.updateAppearance(); // DECORATOR //
|
|
2210
2193
|
var value = this.getDecorator();
|
|
2211
2194
|
this._applyDecorator(null, value);
|
|
2212
|
-
this._applyDecorator(value);
|
|
2213
|
-
|
|
2214
|
-
// FONT //
|
|
2195
|
+
this._applyDecorator(value); // FONT //
|
|
2215
2196
|
value = this.getFont();
|
|
2216
2197
|
if (qx.lang.Type.isString(value)) {
|
|
2217
2198
|
this._applyFont(value, value);
|
|
@@ -2561,30 +2542,24 @@ qx.Class.define("qx.ui.core.Widget", {
|
|
|
2561
2542
|
syncWidget(jobs) {
|
|
2562
2543
|
// empty implementation
|
|
2563
2544
|
},
|
|
2564
|
-
|
|
2565
2545
|
/*
|
|
2566
2546
|
---------------------------------------------------------------------------
|
|
2567
|
-
|
|
2547
|
+
EVENT SUPPORT
|
|
2568
2548
|
---------------------------------------------------------------------------
|
|
2569
|
-
*/
|
|
2570
|
-
|
|
2571
|
-
/**
|
|
2549
|
+
*/ /**
|
|
2572
2550
|
* Returns the next event target in the parent chain. May
|
|
2573
2551
|
* also return the widget itself if it is not anonymous.
|
|
2574
2552
|
*
|
|
2575
2553
|
* @return {qx.ui.core.Widget} A working event target of this widget.
|
|
2576
2554
|
* May be <code>null</code> as well.
|
|
2577
|
-
*/
|
|
2578
|
-
getEventTarget() {
|
|
2555
|
+
*/ getEventTarget() {
|
|
2579
2556
|
var target = this;
|
|
2580
|
-
|
|
2581
2557
|
while (target.getAnonymous()) {
|
|
2582
2558
|
target = target.getLayoutParent();
|
|
2583
2559
|
if (!target) {
|
|
2584
2560
|
return null;
|
|
2585
2561
|
}
|
|
2586
2562
|
}
|
|
2587
|
-
|
|
2588
2563
|
return target;
|
|
2589
2564
|
},
|
|
2590
2565
|
|
|
@@ -2751,17 +2726,13 @@ qx.Class.define("qx.ui.core.Widget", {
|
|
|
2751
2726
|
// property apply
|
|
2752
2727
|
_applyNativeContextMenu(value, old, name) {
|
|
2753
2728
|
// empty body to allow overriding
|
|
2754
|
-
},
|
|
2755
|
-
|
|
2756
|
-
// property apply
|
|
2729
|
+
}, // property apply
|
|
2757
2730
|
_applyContextMenu(value, old) {
|
|
2758
2731
|
if (old) {
|
|
2759
2732
|
old.removeState("contextmenu");
|
|
2760
|
-
|
|
2761
2733
|
if (old.getOpener() == this) {
|
|
2762
2734
|
old.resetOpener();
|
|
2763
2735
|
}
|
|
2764
|
-
|
|
2765
2736
|
if (!value) {
|
|
2766
2737
|
this.removeListener("contextmenu", this._onContextMenuOpen);
|
|
2767
2738
|
this.removeListener("longtap", this._onContextMenuOpen);
|
|
@@ -462,8 +462,14 @@ qx.Class.define("qx.ui.form.AbstractField", {
|
|
|
462
462
|
// Apply
|
|
463
463
|
var styles;
|
|
464
464
|
if (value) {
|
|
465
|
-
|
|
466
|
-
|
|
465
|
+
if (qx.lang.Type.isString(value)) {
|
|
466
|
+
value = qx.theme.manager.Font.getInstance().resolve(value);
|
|
467
|
+
}
|
|
468
|
+
this.__font = value;
|
|
469
|
+
if (
|
|
470
|
+
this.__font instanceof qx.bom.webfonts.WebFont &&
|
|
471
|
+
!this.__font.isValid()
|
|
472
|
+
) {
|
|
467
473
|
this.__webfontListenerId = this.__font.addListener(
|
|
468
474
|
"changeStatus",
|
|
469
475
|
this._onWebFontStatusChange,
|
|
@@ -139,6 +139,11 @@ qx.Class.define("qx.ui.form.FileSelectorButton", {
|
|
|
139
139
|
this.__inputObject.setAttribute(attr, value);
|
|
140
140
|
},
|
|
141
141
|
|
|
142
|
+
setEnabled(value){
|
|
143
|
+
this.__inputObject.setEnabled(value);
|
|
144
|
+
super.setEnabled(value);
|
|
145
|
+
},
|
|
146
|
+
|
|
142
147
|
_createContentElement() {
|
|
143
148
|
let id = "qxFileSelector_" + (++qx.ui.form.FileSelectorButton._fileInputElementIdCounter);
|
|
144
149
|
let input = (this.__inputObject = new qx.html.Input(
|
|
@@ -124,8 +124,9 @@ qx.Class.define("qx.ui.table.pane.FocusIndicator", {
|
|
|
124
124
|
wl = deco.getWidthLeft();
|
|
125
125
|
}
|
|
126
126
|
}
|
|
127
|
-
var userHeight = rowHeight + (
|
|
128
|
-
var
|
|
127
|
+
var userHeight = rowHeight + (wt + wb - 2);
|
|
128
|
+
var renderedRowHeight = this.__scroller.getTablePane().getRenderedRowHeight();
|
|
129
|
+
var userTop = Math.floor((row - firstRow) * renderedRowHeight) - (wt - 1);
|
|
129
130
|
if (
|
|
130
131
|
editing &&
|
|
131
132
|
this.__scroller.getMinCellEditHeight() &&
|
|
@@ -139,9 +140,9 @@ qx.Class.define("qx.ui.table.pane.FocusIndicator", {
|
|
|
139
140
|
}
|
|
140
141
|
|
|
141
142
|
this.setUserBounds(
|
|
142
|
-
paneModel.getColumnLeft(col) - (
|
|
143
|
+
paneModel.getColumnLeft(col) - (wl - 1),
|
|
143
144
|
userTop,
|
|
144
|
-
columnModel.getColumnWidth(col) + (
|
|
145
|
+
columnModel.getColumnWidth(col) + (wl + wr - 3),
|
|
145
146
|
userHeight
|
|
146
147
|
);
|
|
147
148
|
|
|
@@ -710,6 +710,20 @@ qx.Class.define("qx.ui.table.pane.Pane", {
|
|
|
710
710
|
this.__lastColCount = colCount;
|
|
711
711
|
this.__lastRowCount = rowCount;
|
|
712
712
|
this.fireEvent("paneUpdated");
|
|
713
|
+
},
|
|
714
|
+
|
|
715
|
+
getRenderedRowHeight() {
|
|
716
|
+
var rowHeight = this.getTable().getRowHeight();
|
|
717
|
+
|
|
718
|
+
var elem = this.getContentElement().getDomElement();
|
|
719
|
+
if (elem && elem.firstChild) {
|
|
720
|
+
// pane has been rendered
|
|
721
|
+
var tableBody = elem.firstChild;
|
|
722
|
+
if (tableBody.childNodes && tableBody.childNodes.length > 0) {
|
|
723
|
+
rowHeight = tableBody.childNodes[0].getBoundingClientRect().height;
|
|
724
|
+
}
|
|
725
|
+
}
|
|
726
|
+
return rowHeight;
|
|
713
727
|
}
|
|
714
728
|
},
|
|
715
729
|
|
|
@@ -833,7 +833,7 @@ qx.Class.define("qx.ui.table.pane.Scroller", {
|
|
|
833
833
|
}
|
|
834
834
|
var scrollbar = this.__verScrollBar;
|
|
835
835
|
this.__inOnScrollY = true;
|
|
836
|
-
// calculate delta so that one row is scrolled at
|
|
836
|
+
// calculate delta so that one row is scrolled at a minimum
|
|
837
837
|
var rowHeight = this.getTable().getRowHeight();
|
|
838
838
|
var delta = e.getData() - e.getOldData();
|
|
839
839
|
if (Math.abs(delta) > 1 && Math.abs(delta) < rowHeight) {
|
|
@@ -2037,12 +2037,12 @@ qx.Class.define("qx.ui.table.pane.Scroller", {
|
|
|
2037
2037
|
|
|
2038
2038
|
if (pageY >= panePos.top && pageY <= panePos.bottom) {
|
|
2039
2039
|
// This event is in the pane -> Get the row
|
|
2040
|
-
var rowHeight = this.
|
|
2040
|
+
var rowHeight = this.__tablePane.getRenderedRowHeight()
|
|
2041
2041
|
|
|
2042
2042
|
var scrollY = this.__verScrollBar.getPosition();
|
|
2043
2043
|
|
|
2044
2044
|
if (this.getTable().getKeepFirstVisibleRowComplete()) {
|
|
2045
|
-
scrollY = Math.floor(scrollY /
|
|
2045
|
+
scrollY = Math.floor(scrollY / this.getTable().getRowHeight()) * rowHeight;
|
|
2046
2046
|
}
|
|
2047
2047
|
|
|
2048
2048
|
var tableY = scrollY + pageY - panePos.top;
|
|
@@ -145,12 +145,18 @@ qx.Class.define("qx.ui.virtual.core.Scroller", {
|
|
|
145
145
|
|
|
146
146
|
// overridden
|
|
147
147
|
_onScrollBarX(e) {
|
|
148
|
-
|
|
148
|
+
// Use Math.round to convert possible decimal values to
|
|
149
|
+
// integer values if a zoom level not equal to 100 is
|
|
150
|
+
// set in the browser
|
|
151
|
+
this.__pane.setScrollX(Math.round(e.getData()));
|
|
149
152
|
},
|
|
150
153
|
|
|
151
154
|
// overridden
|
|
152
155
|
_onScrollBarY(e) {
|
|
153
|
-
|
|
156
|
+
// Use Math.round to convert possible decimal values to
|
|
157
|
+
// integer values if a zoom level not equal to 100 is
|
|
158
|
+
// set in the browser
|
|
159
|
+
this.__pane.setScrollY(Math.round(e.getData()));
|
|
154
160
|
}
|
|
155
161
|
},
|
|
156
162
|
|
|
@@ -639,16 +639,17 @@ qx.Class.define("qx.ui.window.Window", {
|
|
|
639
639
|
return;
|
|
640
640
|
}
|
|
641
641
|
|
|
642
|
-
if (
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
this.hide();
|
|
649
|
-
this.fireEvent("close");
|
|
642
|
+
if (! this.fireNonBubblingEvent(
|
|
643
|
+
"beforeClose",
|
|
644
|
+
qx.event.type.Event,
|
|
645
|
+
[ false, true ])) {
|
|
646
|
+
// preventDefault() was called
|
|
647
|
+
return;
|
|
650
648
|
}
|
|
651
649
|
|
|
650
|
+
this.hide();
|
|
651
|
+
this.fireEvent("close");
|
|
652
|
+
|
|
652
653
|
// If automatically destroying the window upon close was requested, do
|
|
653
654
|
// so now. (Note that we explicitly re-obtain the autoDestroy property
|
|
654
655
|
// value, allowing the user's close handler to enable/disable it before
|