@qooxdoo/framework 7.7.2 → 7.8.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 +1 -1
- package/lib/compiler/compile-info.json +63 -63
- package/lib/compiler/index.js +513 -353
- package/lib/resource/qx/tool/schema/compile-1-0-0.json +13 -0
- package/package.json +2 -2
- package/source/class/qx/bom/Label.js +82 -2
- package/source/class/qx/bom/webfonts/WebFont.js +1 -0
- package/source/class/qx/core/Environment.js +82 -1
- package/source/class/qx/data/controller/List.js +50 -21
- package/source/class/qx/data/controller/MSelection.js +45 -12
- package/source/class/qx/dev/unit/AsyncWrapper.js +8 -0
- package/source/class/qx/event/Manager.js +163 -124
- package/source/class/qx/io/ImageLoader.js +6 -3
- package/source/class/qx/io/exception/Transport.js +1 -0
- package/source/class/qx/io/jsonrpc/Client.js +64 -8
- package/source/class/qx/io/jsonrpc/protocol/Request.js +10 -6
- package/source/class/qx/test/bom/client/Pdfjs.js +4 -0
- package/source/class/qx/test/bom/element/AnimationJs.js +3 -0
- package/source/class/qx/test/bom/element/Style.js +1 -0
- package/source/class/qx/test/bom/media/MediaTestCase.js +6 -0
- package/source/class/qx/test/core/Environment.js +44 -0
- package/source/class/qx/test/io/MAssert.js +94 -0
- package/source/class/qx/test/io/TestMAssert.js +47 -0
- package/source/class/qx/test/io/jsonrpc/Client.js +79 -19
- package/source/class/qx/test/io/jsonrpc/PostMessageClient.js +152 -0
- package/source/class/qx/test/io/jsonrpc/Protocol.js +1 -5
- package/source/class/qx/test/ui/embed/Iframe.js +1 -1
- package/source/class/qx/test/ui/form/TextArea.js +4 -0
- package/source/class/qx/test/util/DeferredCall.js +6 -0
- package/source/class/qx/test/util/Function.js +2 -2
- package/source/class/qx/tool/cli/api/Test.js +22 -0
- package/source/class/qx/tool/cli/commands/Compile.js +17 -4
- package/source/class/qx/tool/cli/commands/Test.js +7 -1
- package/source/class/qx/tool/compiler/Analyser.js +7 -0
- package/source/class/qx/tool/compiler/ClassFile.js +3 -2
- package/source/class/qx/tool/compiler/MetaExtraction.js +0 -5
- package/source/class/qx/tool/compiler/targets/meta/Browserify.js +8 -2
- package/source/class/qx/ui/basic/Image.js +72 -8
- package/source/class/qx/ui/basic/Label.js +4 -6
- package/source/class/qx/ui/control/DateChooser.js +4 -6
- package/source/class/qx/ui/core/Blocker.js +4 -6
- package/source/class/qx/ui/core/LayoutItem.js +4 -6
- package/source/class/qx/ui/core/MPlacement.js +11 -0
- package/source/class/qx/ui/core/Widget.js +7 -5
- package/source/class/qx/ui/form/AbstractField.js +4 -6
- package/source/class/qx/ui/form/MForm.js +4 -6
- package/source/class/qx/ui/form/Spinner.js +4 -6
- package/source/class/qx/ui/form/renderer/AbstractRenderer.js +4 -6
- package/source/class/qx/ui/menu/AbstractButton.js +7 -11
- package/source/class/qx/ui/mobile/basic/Label.js +4 -6
- package/source/class/qx/ui/mobile/form/Label.js +4 -6
- package/source/class/qx/ui/mobile/list/List.js +4 -6
- package/source/class/qx/ui/progressive/renderer/table/Row.js +35 -7
- package/source/class/qx/ui/progressive/renderer/table/cell/Boolean.js +4 -6
- package/source/class/qx/ui/table/Table.js +4 -6
- package/source/class/qx/ui/table/cellrenderer/Abstract.js +4 -6
- package/source/class/qx/ui/table/cellrenderer/Boolean.js +4 -6
- package/source/class/qx/ui/table/rowrenderer/Default.js +4 -6
- package/source/resource/qx/tool/schema/compile-1-0-0.json +13 -0
|
@@ -71,7 +71,7 @@ qx.Class.define("qx.ui.mobile.form.Label", {
|
|
|
71
71
|
this.initWrap();
|
|
72
72
|
|
|
73
73
|
if (qx.core.Environment.get("qx.dynlocale")) {
|
|
74
|
-
qx.locale.Manager.getInstance().addListener(
|
|
74
|
+
this.__changeLocaleLabelListenerId = qx.locale.Manager.getInstance().addListener(
|
|
75
75
|
"changeLocale",
|
|
76
76
|
this._onChangeLocale,
|
|
77
77
|
this
|
|
@@ -242,11 +242,9 @@ qx.Class.define("qx.ui.mobile.form.Label", {
|
|
|
242
242
|
|
|
243
243
|
this.__forWidget = null;
|
|
244
244
|
}
|
|
245
|
-
if (qx.core.Environment.get("qx.dynlocale")) {
|
|
246
|
-
qx.locale.Manager.getInstance().
|
|
247
|
-
|
|
248
|
-
this._onChangeLocale,
|
|
249
|
-
this
|
|
245
|
+
if (qx.core.Environment.get("qx.dynlocale") && this.__changeLocaleLabelListenerId) {
|
|
246
|
+
qx.locale.Manager.getInstance().removeListenerById(
|
|
247
|
+
this.__changeLocaleLabelListenerId
|
|
250
248
|
);
|
|
251
249
|
}
|
|
252
250
|
}
|
|
@@ -89,7 +89,7 @@ qx.Class.define("qx.ui.mobile.list.List", {
|
|
|
89
89
|
}
|
|
90
90
|
|
|
91
91
|
if (qx.core.Environment.get("qx.dynlocale")) {
|
|
92
|
-
qx.locale.Manager.getInstance().addListener(
|
|
92
|
+
this.__changeLocaleListListenerId = qx.locale.Manager.getInstance().addListener(
|
|
93
93
|
"changeLocale",
|
|
94
94
|
this._onChangeLocale,
|
|
95
95
|
this
|
|
@@ -615,11 +615,9 @@ qx.Class.define("qx.ui.mobile.list.List", {
|
|
|
615
615
|
destruct() {
|
|
616
616
|
this.__trackElement = null;
|
|
617
617
|
this._disposeObjects("__provider");
|
|
618
|
-
if (qx.core.Environment.get("qx.dynlocale")) {
|
|
619
|
-
qx.locale.Manager.getInstance().
|
|
620
|
-
|
|
621
|
-
this._onChangeLocale,
|
|
622
|
-
this
|
|
618
|
+
if (qx.core.Environment.get("qx.dynlocale") && this.__changeLocaleListListenerId) {
|
|
619
|
+
qx.locale.Manager.getInstance().removeListenerById(
|
|
620
|
+
this.__changeLocaleListListenerId
|
|
623
621
|
);
|
|
624
622
|
}
|
|
625
623
|
}
|
|
@@ -107,6 +107,14 @@ qx.Class.define("qx.ui.progressive.renderer.table.Row", {
|
|
|
107
107
|
/** The default height of a row, if not altered by a cell renderer. */
|
|
108
108
|
defaultRowHeight: {
|
|
109
109
|
init: 16
|
|
110
|
+
},
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* Use a table-specific alternating row color instead of
|
|
114
|
+
* row-renderer-instance-specific
|
|
115
|
+
*/
|
|
116
|
+
alternateBgColorsTableGlobal: {
|
|
117
|
+
init: false
|
|
110
118
|
}
|
|
111
119
|
},
|
|
112
120
|
|
|
@@ -157,6 +165,9 @@ qx.Class.define("qx.ui.progressive.renderer.table.Row", {
|
|
|
157
165
|
}
|
|
158
166
|
|
|
159
167
|
var hash = progressive.toHashCode();
|
|
168
|
+
this.__hash = hash;
|
|
169
|
+
|
|
170
|
+
|
|
160
171
|
if (!tr.__clazz[hash]) {
|
|
161
172
|
// ... then do it now.
|
|
162
173
|
tr.__clazz[hash] = {
|
|
@@ -184,9 +195,6 @@ qx.Class.define("qx.ui.progressive.renderer.table.Row", {
|
|
|
184
195
|
qx.bom.Stylesheet.createElement(stylesheet);
|
|
185
196
|
}
|
|
186
197
|
|
|
187
|
-
// Save the hash too
|
|
188
|
-
this.__hash = hash;
|
|
189
|
-
|
|
190
198
|
// Arrange to be called when the window appears or is resized, so we
|
|
191
199
|
// can set each style sheet's left and width field appropriately.
|
|
192
200
|
var pane = progressive.getStructure().getPane();
|
|
@@ -316,13 +324,19 @@ qx.Class.define("qx.ui.progressive.renderer.table.Row", {
|
|
|
316
324
|
switch (element.location) {
|
|
317
325
|
case "end":
|
|
318
326
|
// Determine color of row based on state of last added row
|
|
319
|
-
var index
|
|
327
|
+
var index;
|
|
328
|
+
if (this.getAlternateBgColorsTableGlobal()) {
|
|
329
|
+
index = state.getUserData().tableRowBgEnd || 0;
|
|
330
|
+
} else {
|
|
331
|
+
index = rendererData.end;
|
|
332
|
+
}
|
|
320
333
|
|
|
321
334
|
// Set the background color of this row
|
|
322
335
|
div.style.backgroundColor = this.__colors.bgcol[index];
|
|
323
336
|
|
|
324
337
|
// Update state for next time
|
|
325
338
|
rendererData.end = index == 0 ? 1 : 0;
|
|
339
|
+
state.getUserData().tableRowBgEnd = rendererData.end;
|
|
326
340
|
|
|
327
341
|
// Append our new row to the pane.
|
|
328
342
|
state.getPane().getContentElement().getDomElement().appendChild(div);
|
|
@@ -338,19 +352,33 @@ qx.Class.define("qx.ui.progressive.renderer.table.Row", {
|
|
|
338
352
|
// Are there any children?
|
|
339
353
|
if (children.length > 0) {
|
|
340
354
|
// Yup. Determine color of row based on state of last added row
|
|
341
|
-
var index
|
|
355
|
+
var index;
|
|
356
|
+
if (this.getAlternateBgColorsTableGlobal()) {
|
|
357
|
+
index = state.getUserData().tableRowBgStart == 0 ? 1 : 0; // == 0 includes undefined
|
|
358
|
+
} else {
|
|
359
|
+
index = rendererData.start == 0 ? 1 : 0;
|
|
360
|
+
}
|
|
342
361
|
|
|
343
362
|
// Set the background color of this row
|
|
344
363
|
div.style.backgroundColor = this.__colors.bgcol[index];
|
|
345
364
|
|
|
346
365
|
// Update state for next time
|
|
347
|
-
rendererData.start = index
|
|
366
|
+
rendererData.start = index;
|
|
367
|
+
state.getUserData().tableRowBgStart = rendererData.start;
|
|
348
368
|
|
|
349
369
|
// Insert our new row before the first child.
|
|
350
370
|
elem.insertBefore(div, children[0]);
|
|
351
371
|
break;
|
|
352
372
|
} else {
|
|
353
|
-
|
|
373
|
+
// No children yet.
|
|
374
|
+
|
|
375
|
+
// Set the background color of this row
|
|
376
|
+
div.style.backgroundColor = this.__colors.bgcol[0];
|
|
377
|
+
|
|
378
|
+
// Update state for next time
|
|
379
|
+
rendererData.start = 0;
|
|
380
|
+
state.getUserData().tableRowBgStart = rendererData.start;
|
|
381
|
+
|
|
354
382
|
elem.appendChild(div);
|
|
355
383
|
}
|
|
356
384
|
break;
|
|
@@ -32,7 +32,7 @@ qx.Class.define("qx.ui.progressive.renderer.table.cell.Boolean", {
|
|
|
32
32
|
|
|
33
33
|
// dynamic theme switch
|
|
34
34
|
if (qx.core.Environment.get("qx.dyntheme")) {
|
|
35
|
-
qx.theme.manager.Meta.getInstance().addListener(
|
|
35
|
+
this.__changeThemeBooleanCellListenerId = qx.theme.manager.Meta.getInstance().addListener(
|
|
36
36
|
"changeTheme",
|
|
37
37
|
this._resolveImages,
|
|
38
38
|
this
|
|
@@ -177,11 +177,9 @@ qx.Class.define("qx.ui.progressive.renderer.table.cell.Boolean", {
|
|
|
177
177
|
this._iconUrlTrue = this._iconUrlFalse = null;
|
|
178
178
|
|
|
179
179
|
// remove dynamic theme listener
|
|
180
|
-
if (qx.core.Environment.get("qx.dyntheme")) {
|
|
181
|
-
qx.theme.manager.Meta.getInstance().
|
|
182
|
-
|
|
183
|
-
this._resolveImages,
|
|
184
|
-
this
|
|
180
|
+
if (qx.core.Environment.get("qx.dyntheme") && this.__changeThemeBooleanCellListenerId) {
|
|
181
|
+
qx.theme.manager.Meta.getInstance().removeListenerById(
|
|
182
|
+
this.__changeThemeBooleanCellListenerId
|
|
185
183
|
);
|
|
186
184
|
}
|
|
187
185
|
}
|
|
@@ -205,7 +205,7 @@ qx.Class.define("qx.ui.table.Table", {
|
|
|
205
205
|
|
|
206
206
|
// add an event listener which updates the table content on locale change
|
|
207
207
|
if (qx.core.Environment.get("qx.dynlocale")) {
|
|
208
|
-
qx.locale.Manager.getInstance().addListener(
|
|
208
|
+
this.__changeLocaleTableListenerId = qx.locale.Manager.getInstance().addListener(
|
|
209
209
|
"changeLocale",
|
|
210
210
|
this._onChangeLocale,
|
|
211
211
|
this
|
|
@@ -2164,11 +2164,9 @@ qx.Class.define("qx.ui.table.Table", {
|
|
|
2164
2164
|
|
|
2165
2165
|
destruct() {
|
|
2166
2166
|
// remove the event listener which handled the locale change
|
|
2167
|
-
if (qx.core.Environment.get("qx.dynlocale")) {
|
|
2168
|
-
qx.locale.Manager.getInstance().
|
|
2169
|
-
|
|
2170
|
-
this._onChangeLocale,
|
|
2171
|
-
this
|
|
2167
|
+
if (qx.core.Environment.get("qx.dynlocale") && this.__changeLocaleTableListenerId) {
|
|
2168
|
+
qx.locale.Manager.getInstance().removeListenerById(
|
|
2169
|
+
this.__changeLocaleTableListenerId
|
|
2172
2170
|
);
|
|
2173
2171
|
}
|
|
2174
2172
|
|
|
@@ -38,7 +38,7 @@ qx.Class.define("qx.ui.table.cellrenderer.Abstract", {
|
|
|
38
38
|
|
|
39
39
|
// add dynamic theme listener
|
|
40
40
|
if (qx.core.Environment.get("qx.dyntheme")) {
|
|
41
|
-
qx.theme.manager.Meta.getInstance().addListener(
|
|
41
|
+
this.__changeThemeCellRendererListenerId = qx.theme.manager.Meta.getInstance().addListener(
|
|
42
42
|
"changeTheme",
|
|
43
43
|
this._onChangeTheme,
|
|
44
44
|
this
|
|
@@ -242,11 +242,9 @@ qx.Class.define("qx.ui.table.cellrenderer.Abstract", {
|
|
|
242
242
|
|
|
243
243
|
destruct() {
|
|
244
244
|
// remove dynamic theme listener
|
|
245
|
-
if (qx.core.Environment.get("qx.dyntheme")) {
|
|
246
|
-
qx.theme.manager.Meta.getInstance().
|
|
247
|
-
|
|
248
|
-
this._onChangeTheme,
|
|
249
|
-
this
|
|
245
|
+
if (qx.core.Environment.get("qx.dyntheme") && this.__changeThemeCellRendererListenerId) {
|
|
246
|
+
qx.theme.manager.Meta.getInstance().removeListenerById(
|
|
247
|
+
this.__changeThemeCellRendererListenerId
|
|
250
248
|
);
|
|
251
249
|
}
|
|
252
250
|
}
|
|
@@ -39,7 +39,7 @@ qx.Class.define("qx.ui.table.cellrenderer.Boolean", {
|
|
|
39
39
|
|
|
40
40
|
// dynamic theme switch
|
|
41
41
|
if (qx.core.Environment.get("qx.dyntheme")) {
|
|
42
|
-
qx.theme.manager.Meta.getInstance().addListener(
|
|
42
|
+
this.__changeThemeBoolCellRendererListenerId = qx.theme.manager.Meta.getInstance().addListener(
|
|
43
43
|
"changeTheme",
|
|
44
44
|
this._onChangeTheme,
|
|
45
45
|
this
|
|
@@ -172,11 +172,9 @@ qx.Class.define("qx.ui.table.cellrenderer.Boolean", {
|
|
|
172
172
|
destruct() {
|
|
173
173
|
this.__aliasManager = null;
|
|
174
174
|
// remove dynamic theme listener
|
|
175
|
-
if (qx.core.Environment.get("qx.dyntheme")) {
|
|
176
|
-
qx.theme.manager.Meta.getInstance().
|
|
177
|
-
|
|
178
|
-
this._onChangeTheme,
|
|
179
|
-
this
|
|
175
|
+
if (qx.core.Environment.get("qx.dyntheme") && this.__changeThemeBoolCellRendererListenerId) {
|
|
176
|
+
qx.theme.manager.Meta.getInstance().removeListenerById(
|
|
177
|
+
this.__changeThemeBoolCellRendererListenerId
|
|
180
178
|
);
|
|
181
179
|
}
|
|
182
180
|
}
|
|
@@ -38,7 +38,7 @@ qx.Class.define("qx.ui.table.rowrenderer.Default", {
|
|
|
38
38
|
|
|
39
39
|
// dynamic theme switch
|
|
40
40
|
if (qx.core.Environment.get("qx.dyntheme")) {
|
|
41
|
-
qx.theme.manager.Meta.getInstance().addListener(
|
|
41
|
+
this.__changeThemeRowRendererListenerId = qx.theme.manager.Meta.getInstance().addListener(
|
|
42
42
|
"changeTheme",
|
|
43
43
|
this.initThemeValues,
|
|
44
44
|
this
|
|
@@ -254,11 +254,9 @@ qx.Class.define("qx.ui.table.rowrenderer.Default", {
|
|
|
254
254
|
this._colors = this._fontStyle = this._fontStyleString = null;
|
|
255
255
|
|
|
256
256
|
// remove dynamic theme listener
|
|
257
|
-
if (qx.core.Environment.get("qx.dyntheme")) {
|
|
258
|
-
qx.theme.manager.Meta.getInstance().
|
|
259
|
-
|
|
260
|
-
this.initThemeValues,
|
|
261
|
-
this
|
|
257
|
+
if (qx.core.Environment.get("qx.dyntheme") && this.__changeThemeRowRendererListenerId) {
|
|
258
|
+
qx.theme.manager.Meta.getInstance().removeListenerById(
|
|
259
|
+
this.__changeThemeRowRendererListenerId
|
|
262
260
|
);
|
|
263
261
|
}
|
|
264
262
|
}
|
|
@@ -318,6 +318,10 @@
|
|
|
318
318
|
"type": "object",
|
|
319
319
|
"description": "Options given to @babel/preset-env. With this options the output type of babel can be defined. For details see here: <https://babeljs.io/docs/en/babel-preset-env#options>. They can be overridden per target."
|
|
320
320
|
},
|
|
321
|
+
"browserifyOptions": {
|
|
322
|
+
"type": "object",
|
|
323
|
+
"description": "Options given to browserify. For details see here: <https://github.com/browserify/browserify#usage>. They can be overridden per target."
|
|
324
|
+
},
|
|
321
325
|
"parts": {
|
|
322
326
|
"$ref": "#/properties/parts"
|
|
323
327
|
}
|
|
@@ -458,6 +462,15 @@
|
|
|
458
462
|
"description": "** DEPRECATED - See babel.options instead",
|
|
459
463
|
"deprecated": true
|
|
460
464
|
},
|
|
465
|
+
"browserify": {
|
|
466
|
+
"type": "object",
|
|
467
|
+
"properties": {
|
|
468
|
+
"options": {
|
|
469
|
+
"type": "object",
|
|
470
|
+
"description": "Options given to browserify. For details see here: <https://github.com/browserify/browserify#usage>. They can be overridden per target."
|
|
471
|
+
}
|
|
472
|
+
}
|
|
473
|
+
},
|
|
461
474
|
"jsx": {
|
|
462
475
|
"type": "object",
|
|
463
476
|
"description": "Options given to @babel/preset-react to change how JSX HTML is transpiled"
|