@qooxdoo/framework 7.0.0-beta.9 → 7.1.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.
Files changed (85) hide show
  1. package/CHANGELOG.md +10 -2
  2. package/Manifest.json +23 -23
  3. package/README.md +2 -4
  4. package/lib/compiler/compile-info.json +87 -85
  5. package/lib/compiler/index.js +1997 -1649
  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 +12394 -584
  9. package/package.json +6 -4
  10. package/source/class/qx/Mixin.js +6 -0
  11. package/source/class/qx/event/handler/Focus.js +1 -1
  12. package/source/class/qx/test/Mixin.js +32 -1
  13. package/source/class/qx/theme/iconfont/LoadMaterialIcons.js +4 -4
  14. package/source/class/qx/theme/iconfont/LoadMaterialIconsOutlined.js +4 -4
  15. package/source/class/qx/theme/iconfont/LoadMaterialIconsRound.js +4 -4
  16. package/source/class/qx/theme/iconfont/LoadMaterialIconsSharp.js +4 -4
  17. package/source/class/qx/theme/iconfont/LoadMaterialIconsTwoTone.js +4 -4
  18. package/source/class/qx/theme/tangible/ColorEngine.js +3 -3
  19. package/source/class/qx/theme/tangible/Decoration.js +3 -3
  20. package/source/class/qx/tool/cli/api/AbstractApi.js +4 -1
  21. package/source/class/qx/tool/cli/commands/Compile.js +11 -2
  22. package/source/class/qx/tool/cli/commands/Lint.js +29 -18
  23. package/source/class/qx/tool/compiler/ClassFile.js +70 -0
  24. package/source/class/qx/tool/compiler/Es6ify.js +7 -4
  25. package/source/class/qx/tool/compiler/TargetError.js +27 -0
  26. package/source/class/qx/tool/compiler/app/Application.js +14 -0
  27. package/source/class/qx/tool/compiler/targets/Target.js +7 -0
  28. package/source/class/qx/tool/compiler/targets/meta/AbstractJavascriptMeta.js +1 -1
  29. package/source/class/qx/tool/compiler/targets/meta/Browserify.js +185 -0
  30. package/source/class/qx/tool/compiler/targets/meta/Uglify.js +4 -25
  31. package/source/class/qx/tool/utils/Json.js +1 -1
  32. package/source/class/qx/ui/form/AbstractSelectBox.js +4 -1
  33. package/source/class/qx/ui/form/DateField.js +4 -1
  34. package/source/class/qx/ui/progressive/renderer/table/Row.js +2 -1
  35. package/source/class/qx/ui/progressive/renderer/table/cell/Boolean.js +24 -26
  36. package/source/class/qx/ui/progressive/renderer/table/cell/Icon.js +9 -7
  37. package/source/class/qx/ui/progressive/renderer/table/cell/Image.js +16 -13
  38. package/source/class/qx/ui/table/Table.js +0 -1
  39. package/source/class/qx/ui/table/model/Abstract.js +31 -1
  40. package/source/class/qx/ui/table/model/Remote.js +1 -0
  41. package/source/class/qx/ui/table/model/Simple.js +14 -3
  42. package/source/class/qx/ui/table/pane/Pane.js +3 -1
  43. package/source/class/qx/ui/treevirtual/MNode.js +60 -5
  44. package/source/class/qx/ui/treevirtual/SimpleTreeDataModel.js +11 -3
  45. package/source/resource/qx/iconfont/MaterialIcons/materialicons-v126.eot +0 -0
  46. package/source/resource/qx/iconfont/MaterialIcons/{materialicons-v70.ttf → materialicons-v126.ttf} +0 -0
  47. package/source/resource/qx/iconfont/MaterialIcons/materialicons-v126.woff +0 -0
  48. package/source/resource/qx/iconfont/MaterialIcons/materialicons-v126.woff2 +0 -0
  49. package/source/resource/qx/iconfont/MaterialIcons/materialiconsoutlined-v101.eot +0 -0
  50. package/source/resource/qx/iconfont/MaterialIcons/materialiconsoutlined-v101.otf +0 -0
  51. package/source/resource/qx/iconfont/MaterialIcons/materialiconsoutlined-v101.woff +0 -0
  52. package/source/resource/qx/iconfont/MaterialIcons/materialiconsoutlined-v101.woff2 +0 -0
  53. package/source/resource/qx/iconfont/MaterialIcons/materialiconsround-v100.eot +0 -0
  54. package/source/resource/qx/iconfont/MaterialIcons/materialiconsround-v100.otf +0 -0
  55. package/source/resource/qx/iconfont/MaterialIcons/materialiconsround-v100.woff +0 -0
  56. package/source/resource/qx/iconfont/MaterialIcons/materialiconsround-v100.woff2 +0 -0
  57. package/source/resource/qx/iconfont/MaterialIcons/materialiconssharp-v101.eot +0 -0
  58. package/source/resource/qx/iconfont/MaterialIcons/materialiconssharp-v101.otf +0 -0
  59. package/source/resource/qx/iconfont/MaterialIcons/materialiconssharp-v101.woff +0 -0
  60. package/source/resource/qx/iconfont/MaterialIcons/materialiconssharp-v101.woff2 +0 -0
  61. package/source/resource/qx/iconfont/MaterialIcons/materialiconstwotone-v104.eot +0 -0
  62. package/source/resource/qx/iconfont/MaterialIcons/materialiconstwotone-v104.otf +0 -0
  63. package/source/resource/qx/iconfont/MaterialIcons/materialiconstwotone-v104.woff +0 -0
  64. package/source/resource/qx/iconfont/MaterialIcons/materialiconstwotone-v104.woff2 +0 -0
  65. package/source/resource/qx/tool/cli/templates/loader/loader-browser.tmpl.js +1 -2
  66. package/source/resource/qx/tool/schema/compile-1-0-0.json +11 -1
  67. package/source/resource/qx/iconfont/MaterialIcons/materialicons-v70.eot +0 -0
  68. package/source/resource/qx/iconfont/MaterialIcons/materialicons-v70.woff +0 -0
  69. package/source/resource/qx/iconfont/MaterialIcons/materialicons-v70.woff2 +0 -0
  70. package/source/resource/qx/iconfont/MaterialIcons/materialiconsoutlined-v38.eot +0 -0
  71. package/source/resource/qx/iconfont/MaterialIcons/materialiconsoutlined-v38.otf +0 -0
  72. package/source/resource/qx/iconfont/MaterialIcons/materialiconsoutlined-v38.woff +0 -0
  73. package/source/resource/qx/iconfont/MaterialIcons/materialiconsoutlined-v38.woff2 +0 -0
  74. package/source/resource/qx/iconfont/MaterialIcons/materialiconsround-v37.eot +0 -0
  75. package/source/resource/qx/iconfont/MaterialIcons/materialiconsround-v37.otf +0 -0
  76. package/source/resource/qx/iconfont/MaterialIcons/materialiconsround-v37.woff +0 -0
  77. package/source/resource/qx/iconfont/MaterialIcons/materialiconsround-v37.woff2 +0 -0
  78. package/source/resource/qx/iconfont/MaterialIcons/materialiconssharp-v38.eot +0 -0
  79. package/source/resource/qx/iconfont/MaterialIcons/materialiconssharp-v38.otf +0 -0
  80. package/source/resource/qx/iconfont/MaterialIcons/materialiconssharp-v38.woff +0 -0
  81. package/source/resource/qx/iconfont/MaterialIcons/materialiconssharp-v38.woff2 +0 -0
  82. package/source/resource/qx/iconfont/MaterialIcons/materialiconstwotone-v36.eot +0 -0
  83. package/source/resource/qx/iconfont/MaterialIcons/materialiconstwotone-v36.otf +0 -0
  84. package/source/resource/qx/iconfont/MaterialIcons/materialiconstwotone-v36.woff +0 -0
  85. package/source/resource/qx/iconfont/MaterialIcons/materialiconstwotone-v36.woff2 +0 -0
@@ -165,7 +165,33 @@ qx.Mixin.define("qx.ui.treevirtual.MNode", {
165
165
  },
166
166
 
167
167
  /**
168
- * Set the opened state for a node. (Note that this method has no effect
168
+ * Opens all nodes in the tree with minimal redraw
169
+ */
170
+ nodeOpenAll() {
171
+ var model = this.getTableModel();
172
+ model.getData().forEach(node => {
173
+ if (node) {
174
+ model.setState(node.nodeId, {bOpened: true}, true);
175
+ }
176
+ });
177
+ model.setData();
178
+ },
179
+
180
+ /**
181
+ * Closes all nodes in the tree with minimal redraw
182
+ */
183
+ nodeCloseAll() {
184
+ var model = this.getTableModel();
185
+ model.getData().forEach(node => {
186
+ if (node) {
187
+ model.setState(node.nodeId, {bOpened: false}, true);
188
+ }
189
+ });
190
+ model.setData();
191
+ },
192
+
193
+ /**
194
+ * Internal call to set the opened state for a node. (Note that this method has no effect
169
195
  * if the requested state is the same as the current state.)
170
196
  *
171
197
  * @param nodeReference {Object | Integer}
@@ -173,11 +199,16 @@ qx.Mixin.define("qx.ui.treevirtual.MNode", {
173
199
  * represented either by the node object, or the node id (as would have
174
200
  * been returned by addBranch(), addLeaf(), etc.)
175
201
  *
176
- * @param b {Boolean}
202
+ * @param opened {Boolean}
177
203
  * The new opened state for the specified node.
178
204
  *
205
+ * @param cascade {Boolean}
206
+ * Whether to descend the tree changing opened state of all children
207
+ *
208
+ * @param isRecursed {Boolean?}
209
+ * For internal use when cascading to determine outer level and call setData
179
210
  */
180
- nodeSetOpened(nodeReference, b) {
211
+ _nodeSetOpenedInternal(nodeReference, opened, cascade, isRecursed) {
181
212
  var node;
182
213
 
183
214
  if (typeof nodeReference == "object") {
@@ -190,10 +221,34 @@ qx.Mixin.define("qx.ui.treevirtual.MNode", {
190
221
 
191
222
  // Only set new state if not already in the requested state, since
192
223
  // setting new state involves dispatching events.
193
- if (b != node.bOpened) {
194
- this.nodeToggleOpened(node);
224
+ if (opened != node.bOpened) {
225
+ this.getTableModel().setState(node.nodeId, { bOpened: opened }, true);
226
+ }
227
+ if (cascade) {
228
+ node.children.forEach(child => this.nodeSetOpened(child, opened, cascade, true));
229
+ }
230
+ if (!cascade || !isRecursed) {
231
+ this.getTableModel().setData();
195
232
  }
196
233
  },
234
+ /**
235
+ * Set the opened state for a node. (Note that this method has no effect
236
+ * if the requested state is the same as the current state.)
237
+ *
238
+ * @param nodeReference {Object | Integer}
239
+ * The node for which the opened state is being set. The node can be
240
+ * represented either by the node object, or the node id (as would have
241
+ * been returned by addBranch(), addLeaf(), etc.)
242
+ *
243
+ * @param opened {Boolean}
244
+ * The new opened state for the specified node.
245
+ *
246
+ * @param cascade {Boolean}
247
+ * Whether to descend the tree changing opened state of all children
248
+ */
249
+ nodeSetOpened(nodeReference, opened, cascade) {
250
+ this._nodeSetOpenedInternal(nodeReference, opened, cascade, false);
251
+ },
197
252
 
198
253
  /**
199
254
  * Get the opened state for a node.
@@ -795,7 +795,7 @@ qx.Class.define("qx.ui.treevirtual.SimpleTreeDataModel", {
795
795
  * Sets the whole data en bulk, or notifies the data model that node
796
796
  * modifications are complete.
797
797
  *
798
- * @param nodeArr {Array | null}
798
+ * @param nodeArr {Array?null}
799
799
  * Pass either an Array of node objects, or null.
800
800
  *
801
801
  * If non-null, nodeArr is an array of node objects containing the
@@ -813,6 +813,7 @@ qx.Class.define("qx.ui.treevirtual.SimpleTreeDataModel", {
813
813
  * @throws {Error} If the parameter has the wrong type.
814
814
  */
815
815
  setData(nodeArr) {
816
+ this._checkEditing();
816
817
  if (nodeArr instanceof Array) {
817
818
  // Save the user-supplied data.
818
819
  this._nodeArr = nodeArr;
@@ -853,6 +854,7 @@ qx.Class.define("qx.ui.treevirtual.SimpleTreeDataModel", {
853
854
  *
854
855
  */
855
856
  clearData() {
857
+ this._checkEditing();
856
858
  this._clearSelections();
857
859
  this.setData([qx.ui.treevirtual.MTreePrimitive._getEmptyTree()]);
858
860
  },
@@ -907,9 +909,13 @@ qx.Class.define("qx.ui.treevirtual.SimpleTreeDataModel", {
907
909
  * {@link SimpleTreeDataModel}. Each property value will be assigned
908
910
  * to the corresponding property of the node specified by nodeId.
909
911
  *
912
+ * @param suppressRedraw {Boolean}
913
+ * If true then prevents redraw; it becomes the caller's responsibility to
914
+ * call setData() subsequently, to cause a redraw.
915
+ *
910
916
  * @throws {Error} If the node object or id is not valid.
911
917
  */
912
- setState(nodeReference, attributes) {
918
+ setState(nodeReference, attributes, suppressRedraw) {
913
919
  var node;
914
920
  var nodeId;
915
921
 
@@ -1003,7 +1009,9 @@ qx.Class.define("qx.ui.treevirtual.SimpleTreeDataModel", {
1003
1009
 
1004
1010
  // Re-render the row data since formerly visible rows may now be
1005
1011
  // invisible, or vice versa.
1006
- this.setData();
1012
+ if (!suppressRedraw) {
1013
+ this.setData();
1014
+ }
1007
1015
  break;
1008
1016
 
1009
1017
  default:
@@ -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
  }