@qooxdoo/framework 7.0.0 → 7.2.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.
Files changed (160) hide show
  1. package/CHANGELOG.md +10 -2
  2. package/Manifest.json +22 -22
  3. package/README.md +2 -4
  4. package/lib/compiler/compile-info.json +60 -58
  5. package/lib/compiler/index.js +1973 -1625
  6. package/lib/resource/qx/tool/cli/templates/loader/loader-browser.tmpl.js +1 -2
  7. package/lib/resource/qx/tool/schema/compile-1-0-0.json +11 -1
  8. package/npm-shrinkwrap.json +1738 -788
  9. package/package.json +10 -8
  10. package/source/class/qx/Interface.js +13 -15
  11. package/source/class/qx/dev/unit/MTestLoader.js +25 -33
  12. package/source/class/qx/dev/unit/TestResult.js +9 -13
  13. package/source/class/qx/event/handler/Focus.js +1 -1
  14. package/source/class/qx/html/Element.js +1 -1
  15. package/source/class/qx/html/Node.js +0 -1
  16. package/source/class/qx/io/request/AbstractRequest.js +42 -66
  17. package/source/class/qx/test/Interface.js +70 -6
  18. package/source/class/qx/test/Mixin.js +20 -17
  19. package/source/class/qx/test/Promise.js +67 -91
  20. package/source/class/qx/test/bom/History.js +11 -19
  21. package/source/class/qx/test/bom/WebWorker.js +7 -15
  22. package/source/class/qx/test/bom/media/MediaTestCase.js +10 -18
  23. package/source/class/qx/test/bom/media/Video.js +10 -18
  24. package/source/class/qx/test/bom/rest/Resource.js +3 -7
  25. package/source/class/qx/test/bom/rest/ResourceWithRemote.js +40 -56
  26. package/source/class/qx/test/bom/webfonts/Validator.js +12 -20
  27. package/source/class/qx/test/core/Object.js +3 -7
  28. package/source/class/qx/test/data/controller/List.js +18 -22
  29. package/source/class/qx/test/data/marshal/Json.js +10 -14
  30. package/source/class/qx/test/data/store/Json.js +337 -428
  31. package/source/class/qx/test/data/store/Jsonp.js +46 -66
  32. package/source/class/qx/test/data/store/RestWithRemote.js +10 -18
  33. package/source/class/qx/test/html/Element.js +4 -8
  34. package/source/class/qx/test/html/Iframe.js +48 -60
  35. package/source/class/qx/test/io/jsonrpc/Client.js +1 -1
  36. package/source/class/qx/test/io/request/JsonpWithRemote.js +6 -10
  37. package/source/class/qx/test/io/request/MRequest.js +13 -25
  38. package/source/class/qx/test/io/request/Xhr.js +5 -9
  39. package/source/class/qx/test/io/request/XhrWithRemote.js +50 -78
  40. package/source/class/qx/test/io/rest/Resource.js +3 -7
  41. package/source/class/qx/test/io/rest/ResourceWithRemote.js +41 -57
  42. package/source/class/qx/test/mobile/basic/Image.js +16 -24
  43. package/source/class/qx/test/mobile/container/Navigation.js +3 -7
  44. package/source/class/qx/test/mobile/container/Scroll.js +8 -12
  45. package/source/class/qx/test/mobile/page/Page.js +24 -44
  46. package/source/class/qx/test/performance/Property.js +2 -2
  47. package/source/class/qx/test/ui/basic/Image.js +32 -52
  48. package/source/class/qx/test/ui/core/Blocker.js +6 -14
  49. package/source/class/qx/test/ui/embed/Iframe.js +13 -21
  50. package/source/class/qx/test/ui/form/FileSelectorButton.js +32 -0
  51. package/source/class/qx/test/ui/form/FormValidator.js +147 -211
  52. package/source/class/qx/test/ui/form/Label.js +8 -16
  53. package/source/class/qx/test/ui/root/Inline.js +9 -13
  54. package/source/class/qx/test/ui/table/Table.js +6 -14
  55. package/source/class/qx/test/ui/toolbar/OverflowHandling.js +18 -30
  56. package/source/class/qx/test/ui/virtual/Pane.js +3 -7
  57. package/source/class/qx/test/util/DynamicScriptLoader.js +23 -42
  58. package/source/class/qx/theme/iconfont/LoadMaterialIcons.js +4 -4
  59. package/source/class/qx/theme/iconfont/LoadMaterialIconsOutlined.js +4 -4
  60. package/source/class/qx/theme/iconfont/LoadMaterialIconsRound.js +4 -4
  61. package/source/class/qx/theme/iconfont/LoadMaterialIconsSharp.js +4 -4
  62. package/source/class/qx/theme/iconfont/LoadMaterialIconsTwoTone.js +4 -4
  63. package/source/class/qx/theme/tangible/Appearance.js +22 -3
  64. package/source/class/qx/theme/tangible/ColorEngine.js +3 -3
  65. package/source/class/qx/theme/tangible/Decoration.js +3 -3
  66. package/source/class/qx/tool/cli/Watch.js +3 -7
  67. package/source/class/qx/tool/cli/api/AbstractApi.js +4 -1
  68. package/source/class/qx/tool/cli/api/CompilerApi.js +3 -7
  69. package/source/class/qx/tool/cli/commands/Compile.js +10 -1
  70. package/source/class/qx/tool/cli/commands/Lint.js +35 -21
  71. package/source/class/qx/tool/compiler/ClassFile.js +82 -2
  72. package/source/class/qx/tool/compiler/Es6ify.js +12 -5
  73. package/source/class/qx/tool/compiler/TargetError.js +26 -0
  74. package/source/class/qx/tool/compiler/app/Application.js +14 -0
  75. package/source/class/qx/tool/compiler/app/WebFont.js +8 -6
  76. package/source/class/qx/tool/compiler/targets/SourceCodeCopier.js +1 -1
  77. package/source/class/qx/tool/compiler/targets/Target.js +8 -0
  78. package/source/class/qx/tool/compiler/targets/meta/AbstractJavascriptMeta.js +2 -2
  79. package/source/class/qx/tool/compiler/targets/meta/Browserify.js +179 -0
  80. package/source/class/qx/tool/compiler/targets/meta/Uglify.js +11 -3
  81. package/source/class/qx/tool/utils/Json.js +1 -1
  82. package/source/class/qx/tool/utils/Website.js +2 -2
  83. package/source/class/qx/ui/basic/Label.js +13 -17
  84. package/source/class/qx/ui/core/MPlacement.js +13 -21
  85. package/source/class/qx/ui/core/Widget.js +2 -3
  86. package/source/class/qx/ui/core/scroll/NativeScrollBar.js +3 -7
  87. package/source/class/qx/ui/core/scroll/ScrollBar.js +3 -7
  88. package/source/class/qx/ui/embed/Iframe.js +40 -50
  89. package/source/class/qx/ui/form/AbstractField.js +8 -12
  90. package/source/class/qx/ui/form/AbstractSelectBox.js +4 -1
  91. package/source/class/qx/ui/form/ComboBox.js +7 -15
  92. package/source/class/qx/ui/form/DateField.js +13 -19
  93. package/source/class/qx/ui/form/FileSelectorButton.js +157 -0
  94. package/source/class/qx/ui/form/Spinner.js +7 -15
  95. package/source/class/qx/ui/form/TextArea.js +3 -7
  96. package/source/class/qx/ui/form/VirtualComboBox.js +8 -16
  97. package/source/class/qx/ui/form/VirtualSelectBox.js +21 -37
  98. package/source/class/qx/ui/layout/Canvas.js +2 -2
  99. package/source/class/qx/ui/mobile/container/MIScroll.js +3 -7
  100. package/source/class/qx/ui/progressive/headfoot/Progress.js +22 -34
  101. package/source/class/qx/ui/progressive/renderer/table/Row.js +2 -1
  102. package/source/class/qx/ui/progressive/renderer/table/cell/Boolean.js +24 -26
  103. package/source/class/qx/ui/progressive/renderer/table/cell/Icon.js +9 -7
  104. package/source/class/qx/ui/progressive/renderer/table/cell/Image.js +16 -13
  105. package/source/class/qx/ui/splitpane/Pane.js +14 -22
  106. package/source/class/qx/ui/table/MTableContextMenu.js +63 -71
  107. package/source/class/qx/ui/table/Table.js +3 -8
  108. package/source/class/qx/ui/table/model/Abstract.js +34 -1
  109. package/source/class/qx/ui/table/model/Remote.js +1 -0
  110. package/source/class/qx/ui/table/model/Simple.js +3 -0
  111. package/source/class/qx/ui/table/pane/Scroller.js +8 -12
  112. package/source/class/qx/ui/toolbar/FileSelectorButton.js +57 -0
  113. package/source/class/qx/ui/toolbar/Part.js +3 -7
  114. package/source/class/qx/ui/tree/VirtualTree.js +5 -9
  115. package/source/class/qx/ui/treevirtual/MNode.js +62 -5
  116. package/source/class/qx/ui/treevirtual/SimpleTreeDataModel.js +11 -3
  117. package/source/class/qx/ui/treevirtual/TreeVirtual.js +3 -7
  118. package/source/class/qx/ui/virtual/core/Pane.js +30 -42
  119. package/source/class/qx/util/DynamicScriptLoader.js +31 -43
  120. package/source/resource/qx/iconfont/MaterialIcons/materialicons-v126.eot +0 -0
  121. package/source/resource/qx/iconfont/MaterialIcons/{materialicons-v70.ttf → materialicons-v126.ttf} +0 -0
  122. package/source/resource/qx/iconfont/MaterialIcons/materialicons-v126.woff +0 -0
  123. package/source/resource/qx/iconfont/MaterialIcons/materialicons-v126.woff2 +0 -0
  124. package/source/resource/qx/iconfont/MaterialIcons/materialiconsoutlined-v101.eot +0 -0
  125. package/source/resource/qx/iconfont/MaterialIcons/materialiconsoutlined-v101.otf +0 -0
  126. package/source/resource/qx/iconfont/MaterialIcons/materialiconsoutlined-v101.woff +0 -0
  127. package/source/resource/qx/iconfont/MaterialIcons/materialiconsoutlined-v101.woff2 +0 -0
  128. package/source/resource/qx/iconfont/MaterialIcons/materialiconsround-v100.eot +0 -0
  129. package/source/resource/qx/iconfont/MaterialIcons/materialiconsround-v100.otf +0 -0
  130. package/source/resource/qx/iconfont/MaterialIcons/materialiconsround-v100.woff +0 -0
  131. package/source/resource/qx/iconfont/MaterialIcons/materialiconsround-v100.woff2 +0 -0
  132. package/source/resource/qx/iconfont/MaterialIcons/materialiconssharp-v101.eot +0 -0
  133. package/source/resource/qx/iconfont/MaterialIcons/materialiconssharp-v101.otf +0 -0
  134. package/source/resource/qx/iconfont/MaterialIcons/materialiconssharp-v101.woff +0 -0
  135. package/source/resource/qx/iconfont/MaterialIcons/materialiconssharp-v101.woff2 +0 -0
  136. package/source/resource/qx/iconfont/MaterialIcons/materialiconstwotone-v104.eot +0 -0
  137. package/source/resource/qx/iconfont/MaterialIcons/materialiconstwotone-v104.otf +0 -0
  138. package/source/resource/qx/iconfont/MaterialIcons/materialiconstwotone-v104.woff +0 -0
  139. package/source/resource/qx/iconfont/MaterialIcons/materialiconstwotone-v104.woff2 +0 -0
  140. package/source/resource/qx/tool/cli/templates/loader/loader-browser.tmpl.js +1 -2
  141. package/source/resource/qx/tool/schema/compile-1-0-0.json +11 -1
  142. package/source/resource/qx/iconfont/MaterialIcons/materialicons-v70.eot +0 -0
  143. package/source/resource/qx/iconfont/MaterialIcons/materialicons-v70.woff +0 -0
  144. package/source/resource/qx/iconfont/MaterialIcons/materialicons-v70.woff2 +0 -0
  145. package/source/resource/qx/iconfont/MaterialIcons/materialiconsoutlined-v38.eot +0 -0
  146. package/source/resource/qx/iconfont/MaterialIcons/materialiconsoutlined-v38.otf +0 -0
  147. package/source/resource/qx/iconfont/MaterialIcons/materialiconsoutlined-v38.woff +0 -0
  148. package/source/resource/qx/iconfont/MaterialIcons/materialiconsoutlined-v38.woff2 +0 -0
  149. package/source/resource/qx/iconfont/MaterialIcons/materialiconsround-v37.eot +0 -0
  150. package/source/resource/qx/iconfont/MaterialIcons/materialiconsround-v37.otf +0 -0
  151. package/source/resource/qx/iconfont/MaterialIcons/materialiconsround-v37.woff +0 -0
  152. package/source/resource/qx/iconfont/MaterialIcons/materialiconsround-v37.woff2 +0 -0
  153. package/source/resource/qx/iconfont/MaterialIcons/materialiconssharp-v38.eot +0 -0
  154. package/source/resource/qx/iconfont/MaterialIcons/materialiconssharp-v38.otf +0 -0
  155. package/source/resource/qx/iconfont/MaterialIcons/materialiconssharp-v38.woff +0 -0
  156. package/source/resource/qx/iconfont/MaterialIcons/materialiconssharp-v38.woff2 +0 -0
  157. package/source/resource/qx/iconfont/MaterialIcons/materialiconstwotone-v36.eot +0 -0
  158. package/source/resource/qx/iconfont/MaterialIcons/materialiconstwotone-v36.otf +0 -0
  159. package/source/resource/qx/iconfont/MaterialIcons/materialiconstwotone-v36.woff +0 -0
  160. package/source/resource/qx/iconfont/MaterialIcons/materialiconstwotone-v36.woff2 +0 -0
@@ -323,20 +323,16 @@ qx.Class.define("qx.ui.virtual.core.Pane", {
323
323
  scrollRowIntoView(row) {
324
324
  var bounds = this.getBounds();
325
325
  if (!bounds) {
326
- this.addListenerOnce(
327
- "appear",
328
- function () {
329
- // It's important that the registered events are first dispatched.
330
- qx.event.Timer.once(
331
- function () {
332
- this.scrollRowIntoView(row);
333
- },
334
- this,
335
- 0
336
- );
337
- },
338
- this
339
- );
326
+ this.addListenerOnce("appear", () => {
327
+ // It's important that the registered events are first dispatched.
328
+ qx.event.Timer.once(
329
+ function () {
330
+ this.scrollRowIntoView(row);
331
+ },
332
+ this,
333
+ 0
334
+ );
335
+ });
340
336
 
341
337
  return;
342
338
  }
@@ -360,20 +356,16 @@ qx.Class.define("qx.ui.virtual.core.Pane", {
360
356
  scrollColumnIntoView(column) {
361
357
  var bounds = this.getBounds();
362
358
  if (!bounds) {
363
- this.addListenerOnce(
364
- "appear",
365
- function () {
366
- // It's important that the registered events are first dispatched.
367
- qx.event.Timer.once(
368
- function () {
369
- this.scrollColumnIntoView(column);
370
- },
371
- this,
372
- 0
373
- );
374
- },
375
- this
376
- );
359
+ this.addListenerOnce("appear", () => {
360
+ // It's important that the registered events are first dispatched.
361
+ qx.event.Timer.once(
362
+ function () {
363
+ this.scrollColumnIntoView(column);
364
+ },
365
+ this,
366
+ 0
367
+ );
368
+ });
377
369
 
378
370
  return;
379
371
  }
@@ -398,20 +390,16 @@ qx.Class.define("qx.ui.virtual.core.Pane", {
398
390
  scrollCellIntoView(column, row) {
399
391
  var bounds = this.getBounds();
400
392
  if (!bounds) {
401
- this.addListenerOnce(
402
- "appear",
403
- function () {
404
- // It's important that the registered events are first dispatched.
405
- qx.event.Timer.once(
406
- function () {
407
- this.scrollCellIntoView(column, row);
408
- },
409
- this,
410
- 0
411
- );
412
- },
413
- this
414
- );
393
+ this.addListenerOnce("appear", () => {
394
+ // It's important that the registered events are first dispatched.
395
+ qx.event.Timer.once(
396
+ function () {
397
+ this.scrollCellIntoView(column, row);
398
+ },
399
+ this,
400
+ 0
401
+ );
402
+ });
415
403
 
416
404
  return;
417
405
  }
@@ -144,13 +144,9 @@ qx.Class.define("qx.util.DynamicScriptLoader", {
144
144
  true() {
145
145
  return new qx.Promise(function (resolve, reject) {
146
146
  this.addListenerOnce("ready", resolve, this);
147
- this.addListenerOnce(
148
- "failed",
149
- function (e) {
150
- reject(new Error(e.getData()));
151
- },
152
- this
153
- );
147
+ this.addListenerOnce("failed", e => {
148
+ reject(new Error(e.getData()));
149
+ });
154
150
 
155
151
  if (this.isDisposed()) {
156
152
  reject(new Error("disposed"));
@@ -206,43 +202,35 @@ qx.Class.define("qx.util.DynamicScriptLoader", {
206
202
 
207
203
  dynLoader = DynamicScriptLoader.__IN_PROGRESS[script];
208
204
  if (dynLoader) {
209
- id1 = dynLoader.addListener(
210
- "loaded",
211
- function (e) {
212
- if (this.isDisposed()) {
213
- return;
214
- }
215
- var data = e.getData();
216
- if (data.script === script) {
217
- dynLoader.removeListenerById(id2);
218
- dynLoader.removeListenerById(id1);
219
- this.fireDataEvent("loaded", data);
220
- this.__loadScripts();
221
- }
222
- },
223
- this
224
- );
225
-
226
- id2 = dynLoader.addListener(
227
- "failed",
228
- function (e) {
229
- if (this.isDisposed()) {
230
- return;
231
- }
232
- var data = e.getData();
233
- dynLoader.removeListenerById(id1);
205
+ id1 = dynLoader.addListener("loaded", e => {
206
+ if (this.isDisposed()) {
207
+ return;
208
+ }
209
+ var data = e.getData();
210
+ if (data.script === script) {
234
211
  dynLoader.removeListenerById(id2);
235
- this.fireDataEvent("failed", {
236
- script: script,
237
- status:
238
- "loading of " +
239
- data.script +
240
- " failed while waiting for " +
241
- script
242
- });
243
- },
244
- this
245
- );
212
+ dynLoader.removeListenerById(id1);
213
+ this.fireDataEvent("loaded", data);
214
+ this.__loadScripts();
215
+ }
216
+ });
217
+
218
+ id2 = dynLoader.addListener("failed", e => {
219
+ if (this.isDisposed()) {
220
+ return;
221
+ }
222
+ var data = e.getData();
223
+ dynLoader.removeListenerById(id1);
224
+ dynLoader.removeListenerById(id2);
225
+ this.fireDataEvent("failed", {
226
+ script: script,
227
+ status:
228
+ "loading of " +
229
+ data.script +
230
+ " failed while waiting for " +
231
+ script
232
+ });
233
+ });
246
234
 
247
235
  return;
248
236
  }
@@ -91,7 +91,6 @@ qx.$$createdAt = function(obj, filename, lineNumber, column) {
91
91
  };
92
92
 
93
93
  var isWebkit = /AppleWebKit\/([^ ]+)/.test(navigator.userAgent);
94
- var isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1;
95
94
  var isIE11 = !!window.MSInputMethodContext && !!document.documentMode;
96
95
 
97
96
  qx.$$loader = {
@@ -103,7 +102,7 @@ qx.$$loader = {
103
102
  closureParts : %{ClosureParts},
104
103
  bootIsInline : %{BootIsInline},
105
104
  addNoCacheParam : %{NoCacheParam},
106
- isLoadParallel: !isFirefox && !isIE11 && 'async' in document.createElement('script'),
105
+ isLoadParallel: !isIE11 && 'async' in document.createElement('script'),
107
106
  delayDefer: false,
108
107
  splashscreen: window.QOOXDOO_SPLASH_SCREEN || null,
109
108
  isLoadChunked: false,
@@ -53,11 +53,11 @@
53
53
  "minItems": 1,
54
54
  "items": {
55
55
  "type": "object",
56
- "additionalItems": false,
57
56
  "required": [
58
57
  "class",
59
58
  "name"
60
59
  ],
60
+ "additionalProperties": false,
61
61
  "properties": {
62
62
  "class" : {
63
63
  "description": "The class name of the main application class (it typically inherits from `qx.application.Standalone` for web applications)",
@@ -105,6 +105,10 @@
105
105
  "type": "boolean",
106
106
  "default": true
107
107
  },
108
+ "default": {
109
+ "description": "This browser application is written into the root of the target dir. If not set the first application is used instead",
110
+ "type": "boolean"
111
+ },
108
112
  "standalone": {
109
113
  "description": "Whether this application can be opened in a browser on its own (true) or is part of a different application (false)",
110
114
  "type": "boolean",
@@ -168,6 +172,12 @@
168
172
  },
169
173
  "parts": {
170
174
  "$ref": "#/properties/parts"
175
+ },
176
+ "localModules": {
177
+ "type": "object",
178
+ "additionalProperties": {
179
+ "type": "string"
180
+ }
171
181
  }
172
182
  }
173
183
  }