@qooxdoo/framework 7.9.1 → 7.9.2

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qooxdoo/framework",
3
- "version": "7.9.1",
3
+ "version": "7.9.2",
4
4
  "description": "The JS Framework for Coders",
5
5
  "author": "The qooxdoo project",
6
6
  "keywords": [
@@ -116,7 +116,7 @@
116
116
  "source-map-js": "^1.0.2",
117
117
  "tap-colorize": "^1.2.0",
118
118
  "terser": "^5.22.0",
119
- "tmp": "0.2.1",
119
+ "tmp": "0.2.4",
120
120
  "unset-value": "^1.0.0",
121
121
  "upath": "^1.2.0",
122
122
  "update-notifier": "^6.0.2",
@@ -21,33 +21,41 @@ qx.Class.define("qx.test.theme.manager.Color", {
21
21
 
22
22
  members: {
23
23
  __formerTheme: null,
24
- __formerListener: null,
24
+ __savedListeners: null,
25
25
 
26
26
  setUp() {
27
27
  this.manager = qx.theme.manager.Color.getInstance();
28
28
  this.__formerTheme = this.manager.getTheme();
29
29
 
30
- let listener = qx.event.Registration.getManager(
31
- this.manager
32
- ).getAllListeners();
33
- let hash =
34
- this.manager.$$hash || qx.core.ObjectRegistry.toHashCode(this.manager);
35
- this.__formerListener = { ...listener[hash] };
36
- delete listener[hash];
30
+ let eventMgr = qx.event.Registration.getManager(this.manager);
31
+
32
+ // Serialize listeners (Array of {handler, self, type, capture})
33
+ this.__savedListeners = eventMgr.serializeListeners(this.manager);
34
+
35
+ // Remove all listeners
36
+ eventMgr.removeAllListeners(this.manager);
37
37
  },
38
38
 
39
39
  tearDown() {
40
40
  qx.test.Theme.themes = null;
41
+
41
42
  this.manager.setTheme(this.__formerTheme);
42
43
  this.__formerTheme = null;
43
44
 
44
- let listener = qx.event.Registration.getManager(
45
- this.manager
46
- ).getAllListeners();
47
- let hash =
48
- this.manager.$$hash || qx.core.ObjectRegistry.toHashCode(this.manager);
49
- listener[hash] = this.__formerListener;
50
- this.__formerListener = null;
45
+ // Restore all listeners
46
+ if (this.__savedListeners) {
47
+ this.__savedListeners.forEach(entry => {
48
+ qx.event.Registration.addListener(
49
+ this.manager,
50
+ entry.type,
51
+ entry.handler,
52
+ entry.self,
53
+ entry.capture
54
+ );
55
+ });
56
+ this.__savedListeners = null;
57
+ }
58
+
51
59
  qx.ui.core.queue.Manager.flush();
52
60
  },
53
61
 
@@ -21,33 +21,41 @@ qx.Class.define("qx.test.theme.manager.Decoration", {
21
21
 
22
22
  members: {
23
23
  __formerTheme: null,
24
- __formerListener: null,
24
+ __savedListeners: null,
25
25
 
26
26
  setUp() {
27
27
  this.manager = qx.theme.manager.Decoration.getInstance();
28
28
  this.__formerTheme = this.manager.getTheme();
29
29
 
30
- let listener = qx.event.Registration.getManager(
31
- this.manager
32
- ).getAllListeners();
33
- let hash =
34
- this.manager.$$hash || qx.core.ObjectRegistry.toHashCode(this.manager);
35
- this.__formerListener = { ...listener[hash] };
36
- delete listener[hash];
30
+ let eventMgr = qx.event.Registration.getManager(this.manager);
31
+
32
+ // Serialize listeners (Array of {handler, self, type, capture})
33
+ this.__savedListeners = eventMgr.serializeListeners(this.manager);
34
+
35
+ // Remove all listeners
36
+ eventMgr.removeAllListeners(this.manager);
37
37
  },
38
38
 
39
39
  tearDown() {
40
40
  qx.test.Theme.themes = null;
41
+
41
42
  this.manager.setTheme(this.__formerTheme);
42
43
  this.__formerTheme = null;
43
44
 
44
- let listener = qx.event.Registration.getManager(
45
- this.manager
46
- ).getAllListeners();
47
- let hash =
48
- this.manager.$$hash || qx.core.ObjectRegistry.toHashCode(this.manager);
49
- listener[hash] = this.__formerListener;
50
- this.__formerListener = null;
45
+ // Restore all listeners
46
+ if (this.__savedListeners) {
47
+ this.__savedListeners.forEach(entry => {
48
+ qx.event.Registration.addListener(
49
+ this.manager,
50
+ entry.type,
51
+ entry.handler,
52
+ entry.self,
53
+ entry.capture
54
+ );
55
+ });
56
+ this.__savedListeners = null;
57
+ }
58
+
51
59
  qx.ui.core.queue.Manager.flush();
52
60
  },
53
61
 
@@ -21,33 +21,41 @@ qx.Class.define("qx.test.theme.manager.Font", {
21
21
 
22
22
  members: {
23
23
  __formerTheme: null,
24
- __formerListener: null,
24
+ __savedListeners: null,
25
25
 
26
26
  setUp() {
27
27
  this.manager = qx.theme.manager.Font.getInstance();
28
28
  this.__formerTheme = this.manager.getTheme();
29
29
 
30
- let listener = qx.event.Registration.getManager(
31
- this.manager
32
- ).getAllListeners();
33
- let hash =
34
- this.manager.$$hash || qx.core.ObjectRegistry.toHashCode(this.manager);
35
- this.__formerListener = { ...listener[hash] };
36
- delete listener[hash];
30
+ let eventMgr = qx.event.Registration.getManager(this.manager);
31
+
32
+ // Serialize listeners (Array of {handler, self, type, capture})
33
+ this.__savedListeners = eventMgr.serializeListeners(this.manager);
34
+
35
+ // Remove all listeners
36
+ eventMgr.removeAllListeners(this.manager);
37
37
  },
38
38
 
39
39
  tearDown() {
40
40
  qx.test.Theme.themes = null;
41
+
41
42
  this.manager.setTheme(this.__formerTheme);
42
43
  this.__formerTheme = null;
43
44
 
44
- let listener = qx.event.Registration.getManager(
45
- this.manager
46
- ).getAllListeners();
47
- let hash =
48
- this.manager.$$hash || qx.core.ObjectRegistry.toHashCode(this.manager);
49
- listener[hash] = this.__formerListener;
50
- this.__formerListener = null;
45
+ // Restore all listeners
46
+ if (this.__savedListeners) {
47
+ this.__savedListeners.forEach(entry => {
48
+ qx.event.Registration.addListener(
49
+ this.manager,
50
+ entry.type,
51
+ entry.handler,
52
+ entry.self,
53
+ entry.capture
54
+ );
55
+ });
56
+ this.__savedListeners = null;
57
+ }
58
+
51
59
  qx.ui.core.queue.Manager.flush();
52
60
  },
53
61
 
@@ -21,33 +21,41 @@ qx.Class.define("qx.test.theme.manager.Icon", {
21
21
 
22
22
  members: {
23
23
  __formerTheme: null,
24
- __formerListener: null,
24
+ __savedListeners: null,
25
25
 
26
26
  setUp() {
27
27
  this.manager = qx.theme.manager.Icon.getInstance();
28
28
  this.__formerTheme = this.manager.getTheme();
29
29
 
30
- let listener = qx.event.Registration.getManager(
31
- this.manager
32
- ).getAllListeners();
33
- let hash =
34
- this.manager.$$hash || qx.core.ObjectRegistry.toHashCode(this.manager);
35
- this.__formerListener = { ...listener[hash] };
36
- delete listener[hash];
30
+ let eventMgr = qx.event.Registration.getManager(this.manager);
31
+
32
+ // Serialize listeners (Array of {handler, self, type, capture})
33
+ this.__savedListeners = eventMgr.serializeListeners(this.manager);
34
+
35
+ // Remove all listeners
36
+ eventMgr.removeAllListeners(this.manager);
37
37
  },
38
38
 
39
39
  tearDown() {
40
40
  qx.test.Theme.themes = null;
41
+
41
42
  this.manager.setTheme(this.__formerTheme);
42
43
  this.__formerTheme = null;
43
44
 
44
- let listener = qx.event.Registration.getManager(
45
- this.manager
46
- ).getAllListeners();
47
- let hash =
48
- this.manager.$$hash || qx.core.ObjectRegistry.toHashCode(this.manager);
49
- listener[hash] = this.__formerListener;
50
- this.__formerListener = null;
45
+ // Restore all listeners
46
+ if (this.__savedListeners) {
47
+ this.__savedListeners.forEach(entry => {
48
+ qx.event.Registration.addListener(
49
+ this.manager,
50
+ entry.type,
51
+ entry.handler,
52
+ entry.self,
53
+ entry.capture
54
+ );
55
+ });
56
+ this.__savedListeners = null;
57
+ }
58
+
51
59
  qx.ui.core.queue.Manager.flush();
52
60
  },
53
61
 
@@ -82,7 +82,7 @@ qx.Class.define("qx.test.theme.manager.Meta", {
82
82
 
83
83
  members: {
84
84
  __formerTheme: null,
85
- __formerListener: null,
85
+ __savedListeners: null,
86
86
 
87
87
  __linerGradientRegExp:
88
88
  /(orange.*yellow|rgb\(255, 0, 0\).*rgb\(0, 0, 255\)|none|data:image\/png;base64,iVBORw0K)/,
@@ -97,13 +97,15 @@ qx.Class.define("qx.test.theme.manager.Meta", {
97
97
 
98
98
  this.manager = qx.theme.manager.Meta.getInstance();
99
99
  this.__formerTheme = this.manager.getTheme();
100
- let listener = qx.event.Registration.getManager(
101
- this.manager
102
- ).getAllListeners();
103
- let hash =
104
- this.manager.$$hash || qx.core.ObjectRegistry.toHashCode(this.manager);
105
- this.__formerListener = { ...listener[hash] };
106
- delete listener[hash];
100
+
101
+ let eventMgr = qx.event.Registration.getManager(this.manager);
102
+
103
+ // Serialize listeners (Array of {handler, self, type, capture})
104
+ this.__savedListeners = eventMgr.serializeListeners(this.manager);
105
+
106
+ // Remove all listeners
107
+ eventMgr.removeAllListeners(this.manager);
108
+
107
109
  // add a theme able widget
108
110
  this.__button = new qx.ui.form.Button("Foo").set({
109
111
  appearance: "test-button-gradient"
@@ -115,15 +117,24 @@ qx.Class.define("qx.test.theme.manager.Meta", {
115
117
 
116
118
  tearDown() {
117
119
  this.__button.destroy();
120
+
118
121
  this.manager.setTheme(this.__formerTheme);
119
122
  this.__formerTheme = null;
120
- let listener = qx.event.Registration.getManager(
121
- this.manager
122
- ).getAllListeners();
123
- let hash =
124
- this.manager.$$hash || qx.core.ObjectRegistry.toHashCode(this.manager);
125
- listener[hash] = this.__formerListener;
126
- this.__formerListener = null;
123
+
124
+ // Restore all listeners
125
+ if (this.__savedListeners) {
126
+ this.__savedListeners.forEach(entry => {
127
+ qx.event.Registration.addListener(
128
+ this.manager,
129
+ entry.type,
130
+ entry.handler,
131
+ entry.self,
132
+ entry.capture
133
+ );
134
+ });
135
+ this.__savedListeners = null;
136
+ }
137
+
127
138
  qx.ui.core.queue.Manager.flush();
128
139
  },
129
140
 
@@ -61,7 +61,11 @@ qx.Mixin.define("qx.ui.core.MExecutable", {
61
61
 
62
62
  members: {
63
63
  __executableBindingIds: null,
64
- __semaphore: false,
64
+
65
+ /**
66
+ * @type {Boolean} Whether the command already executed. The protection flag to stop the second command execution.
67
+ */
68
+ __commandExecuted: false,
65
69
  __executeListenerId: null,
66
70
 
67
71
  /**
@@ -83,10 +87,10 @@ qx.Mixin.define("qx.ui.core.MExecutable", {
83
87
  var cmd = this.getCommand();
84
88
 
85
89
  if (cmd) {
86
- if (this.__semaphore) {
87
- this.__semaphore = false;
90
+ if (this.__commandExecuted) {
91
+ this.__commandExecuted = false;
88
92
  } else {
89
- this.__semaphore = true;
93
+ this.__commandExecuted = true;
90
94
  cmd.execute(this);
91
95
  }
92
96
  }
@@ -100,15 +104,13 @@ qx.Mixin.define("qx.ui.core.MExecutable", {
100
104
  * @param e {qx.event.type.Event} The execute event of the command.
101
105
  */
102
106
  __onCommandExecute(e) {
107
+ if (this.__commandExecuted) {
108
+ this.__commandExecuted = false;
109
+ return;
110
+ }
111
+ this.__commandExecuted = true;
103
112
  if (this.isEnabled()) {
104
- if (this.__semaphore) {
105
- this.__semaphore = false;
106
- return;
107
- }
108
- if (this.isEnabled()) {
109
- this.__semaphore = true;
110
- this.execute();
111
- }
113
+ this.execute();
112
114
  }
113
115
  },
114
116
 
@@ -1973,16 +1973,14 @@ qx.Class.define("qx.ui.table.pane.Scroller", {
1973
1973
  _onFocusinCellEditorAddBlurListener(e) {
1974
1974
  this.debug("executed FOCUSIN event listener for hash: " + e.getTarget().$$hash);
1975
1975
  qx.event.Timer.once(function() {
1976
- this._cellEditor.addListenerOnce('blur', this._onBlurCellEditorStopEditing, this);
1977
- this.debug('added BLUR listener to hash: ' + this._cellEditor.$$hash);
1976
+ this._cellEditor.addListener('focusout', this._onFocusoutCellEditorStopEditing, this);
1977
+ this.debug('added FOCUSOUT listener to hash: ' + this._cellEditor.$$hash);
1978
1978
  }, this, 1);
1979
1979
  },
1980
1980
 
1981
- /**
1982
- * Stop editing whenever the cell editor blurs.
1983
- */
1984
- _onBlurCellEditorStopEditing(e) {
1985
- this.debug("executed BLUR listener for hash " + e.getTarget().$$hash);
1981
+
1982
+ _onFocusoutCellEditorStopEditing(e) {
1983
+ this.debug("executed FOCUSOUT listener for hash " + e.getTarget().$$hash);
1986
1984
  if (this._cellEditor === e.getTarget()) {
1987
1985
  this.debug('hash: ' + this._cellEditor.$$hash);
1988
1986
  switch (this.getTable().getCellEditorBlurAction()) {
@@ -2408,4 +2406,4 @@ qx.Class.define("qx.ui.table.pane.Scroller", {
2408
2406
  "__clipperContainer"
2409
2407
  );
2410
2408
  }
2411
- });
2409
+ });