@qooxdoo/framework 8.0.0-beta.2 → 8.0.0-beta.3
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/CHANGELOG.md +9 -0
- package/Manifest.json +1 -1
- package/lib/compiler/compile-info.json +42 -43
- package/lib/compiler/index.js +555 -645
- package/package.json +1 -1
- package/source/class/qx/Class.js +23 -4
- package/source/class/qx/Mixin.js +15 -6
- package/source/class/qx/core/check/AbstractCheck.js +5 -1
- package/source/class/qx/core/check/CheckFactory.js +6 -0
- package/source/class/qx/core/check/DynamicTypeCheck.js +5 -0
- package/source/class/qx/core/property/ExplicitPropertyStorage.js +7 -19
- package/source/class/qx/core/property/IPropertyStorage.js +2 -21
- package/source/class/qx/core/property/Property.js +96 -72
- package/source/class/qx/core/property/SimplePropertyStorage.js +2 -18
- package/source/class/qx/data/MBinding.js +1 -1
- package/source/class/qx/data/SingleValueBinding.js +58 -100
- package/source/class/qx/data/binding/AbstractSegment.js +15 -10
- package/source/class/qx/data/binding/PropNameSegment.js +34 -11
- package/source/class/qx/test/Mixin.js +219 -0
- package/source/class/qx/test/Promise.js +10 -11
- package/source/class/qx/test/core/Property.js +22 -16
- package/source/class/qx/test/data/singlevalue/Async.js +17 -4
- package/source/class/qx/test/performance/Property.js +0 -1
- package/source/class/qx/test/ui/core/SingleSelectionManager.js +150 -0
- package/source/class/qx/tool/compiler/cli/api/CompilerApi.js +1 -2
- package/source/class/qx/ui/core/SingleSelectionManager.js +4 -4
- package/source/class/qx/ui/form/validation/Manager.js +1 -1
- package/source/resource/qx/decoration/Modern/table/boolean-false.png +0 -0
- package/source/resource/qx/decoration/Modern/table/boolean-true.png +0 -0
package/lib/compiler/index.js
CHANGED
|
@@ -126,9 +126,9 @@ if (typeof global !== "undefined") {
|
|
|
126
126
|
"qx.promise.warnings": true,
|
|
127
127
|
"qx.promise.longStackTraces": true,
|
|
128
128
|
"qx.compiler": true,
|
|
129
|
-
"qx.compiler.version": "8.0.0-beta.
|
|
129
|
+
"qx.compiler.version": "8.0.0-beta.3",
|
|
130
130
|
"qx.Promise.useNativePromise": true,
|
|
131
|
-
"qx.version": "8.0.0-beta.
|
|
131
|
+
"qx.version": "8.0.0-beta.3",
|
|
132
132
|
"qx.compiler.targetType": "source",
|
|
133
133
|
"qx.compiler.outputDir": "compiled/node/build/",
|
|
134
134
|
"qx.target.privateArtifacts": false,
|
|
@@ -5277,18 +5277,16 @@ try {
|
|
|
5277
5277
|
"qx.core.property.Property.inheritableDefaultIsNull": false,
|
|
5278
5278
|
/**
|
|
5279
5279
|
* If set to true, then properties with init values will have their apply method called during construction.
|
|
5280
|
-
*
|
|
5281
|
-
|
|
5282
|
-
"qx.core.property.Property.applyDuringConstruct":
|
|
5283
|
-
//TODO should this be true?
|
|
5284
|
-
|
|
5280
|
+
* You should only set this to false if you have a lot of legacy code which would take too much time/effort to modify to work with the new behavior.
|
|
5281
|
+
*/
|
|
5282
|
+
"qx.core.property.Property.applyDuringConstruct": true,
|
|
5285
5283
|
/**
|
|
5286
5284
|
* Only relevant when applyDuringConstruct is true.
|
|
5287
5285
|
* This contains regexes matching classnames which are excluded from the auto apply behaviour.
|
|
5288
5286
|
* They refer to concrete classes only, not the superclasses.
|
|
5289
5287
|
*
|
|
5290
|
-
* Currently (2025-
|
|
5291
|
-
* would create problems which are difficult to fix.
|
|
5288
|
+
* Currently (2025-DEC-03), only "qx." classes are excluded because enabling applyDuringConstruct
|
|
5289
|
+
* would create problems which are too difficult and time-consuming to fix.
|
|
5292
5290
|
*
|
|
5293
5291
|
* @type {Array<RegExp | string>}
|
|
5294
5292
|
*/
|
|
@@ -5403,10 +5401,11 @@ try {
|
|
|
5403
5401
|
|
|
5404
5402
|
// Figure out the storage implementation
|
|
5405
5403
|
if (def.storage) {
|
|
5404
|
+
//if it's an object, use it directly as storage
|
|
5406
5405
|
if (qx.Class.hasInterface(def.storage.constructor, qx.core.property.IPropertyStorage)) {
|
|
5407
5406
|
this.__storage__P_89_6 = def.storage;
|
|
5408
5407
|
} else {
|
|
5409
|
-
this.__storage__P_89_6 =
|
|
5408
|
+
this.__storage__P_89_6 = qx.core.property.PropertyStorageFactory.getStorage(def.storage);
|
|
5410
5409
|
}
|
|
5411
5410
|
} else {
|
|
5412
5411
|
if (def.immutable == "replace") {
|
|
@@ -5415,13 +5414,13 @@ try {
|
|
|
5415
5414
|
} else if (def.check == "Object") {
|
|
5416
5415
|
this.__storage__P_89_6 = qx.core.property.PropertyStorageFactory.getStorage(qx.core.property.ImmutableObjectStorage);
|
|
5417
5416
|
} else if (def.check == "qx.data.Array") {
|
|
5418
|
-
this.__storage__P_89_6 = qx.core.property.PropertyStorageFactory.getStorage(qx.core.property.ImmutableDataArrayStorage);
|
|
5417
|
+
this.__storage__P_89_6 = qx.core.property.PropertyStorageFactory.getStorage(qx.core.property.ImmutableDataArrayStorage); //cbh
|
|
5419
5418
|
} else {
|
|
5420
5419
|
throw new Error(`${this}: ` + "only `check : 'Array'` and `check : 'Object'` " + "properties may have `immutable : 'replace'`.");
|
|
5421
5420
|
}
|
|
5422
5421
|
} else {
|
|
5423
5422
|
if (typeof def.get == "function" || typeof def.getAsync == "function") {
|
|
5424
|
-
this.__storage__P_89_6 = new qx.core.property.ExplicitPropertyStorage(this
|
|
5423
|
+
this.__storage__P_89_6 = new qx.core.property.ExplicitPropertyStorage(this);
|
|
5425
5424
|
} else {
|
|
5426
5425
|
this.__storage__P_89_6 = qx.core.property.PropertyStorageFactory.getStorage(qx.core.property.SimplePropertyStorage);
|
|
5427
5426
|
}
|
|
@@ -5674,6 +5673,11 @@ try {
|
|
|
5674
5673
|
return self.resetAsync(this);
|
|
5675
5674
|
});
|
|
5676
5675
|
}
|
|
5676
|
+
if (this.__pseudoProperty__P_89_3) {
|
|
5677
|
+
this.__supportsGetAsync__P_89_18 = this.__clazz__P_89_1.prototype["get" + qx.Bootstrap.firstUp(this.__propertyName__P_89_0) + "Async"] !== undefined;
|
|
5678
|
+
} else {
|
|
5679
|
+
this.__supportsGetAsync__P_89_18 = this.__storage__P_89_6.supportsGetAsync();
|
|
5680
|
+
}
|
|
5677
5681
|
},
|
|
5678
5682
|
/**
|
|
5679
5683
|
* Returns an object for tracking state of the property, per object instance (ie not per class)
|
|
@@ -5711,18 +5715,18 @@ try {
|
|
|
5711
5715
|
if (!this.isReadOnly()) {
|
|
5712
5716
|
this.__storage__P_89_6.set(thisObj, this, value);
|
|
5713
5717
|
}
|
|
5714
|
-
this.
|
|
5718
|
+
this.__setMutating__P_89_19(thisObj, true);
|
|
5715
5719
|
thisObj["$$init_" + this.__propertyName__P_89_0] = value;
|
|
5716
5720
|
try {
|
|
5717
5721
|
if (this.__apply__P_89_9) {
|
|
5718
|
-
this.
|
|
5722
|
+
this.__callFunction__P_89_20(thisObj, this.__apply__P_89_9, value, undefined, this.__propertyName__P_89_0);
|
|
5719
5723
|
}
|
|
5720
5724
|
if (this.__eventName__P_89_11 && qx.event.Registration.hasListener(thisObj, this.__eventName__P_89_11)) {
|
|
5721
5725
|
thisObj.fireDataEvent(this.__eventName__P_89_11, value, undefined);
|
|
5722
5726
|
}
|
|
5723
|
-
this.
|
|
5727
|
+
this.__applyValueToInheritedChildren__P_89_21(thisObj);
|
|
5724
5728
|
} finally {
|
|
5725
|
-
this.
|
|
5729
|
+
this.__setMutating__P_89_19(thisObj, false);
|
|
5726
5730
|
}
|
|
5727
5731
|
},
|
|
5728
5732
|
/**
|
|
@@ -5757,9 +5761,9 @@ try {
|
|
|
5757
5761
|
*/
|
|
5758
5762
|
get(thisObj) {
|
|
5759
5763
|
if (this.__pseudoProperty__P_89_3) {
|
|
5760
|
-
return this.
|
|
5764
|
+
return this.__callFunction__P_89_20(thisObj, "get" + qx.Bootstrap.firstUp(this.__propertyName__P_89_0));
|
|
5761
5765
|
}
|
|
5762
|
-
return this.
|
|
5766
|
+
return this.__getImpl__P_89_22(thisObj, false);
|
|
5763
5767
|
},
|
|
5764
5768
|
/**
|
|
5765
5769
|
* Gets a property value; if not initialized and the property is async, it will
|
|
@@ -5771,9 +5775,9 @@ try {
|
|
|
5771
5775
|
*/
|
|
5772
5776
|
async getAsync(thisObj) {
|
|
5773
5777
|
if (this.__pseudoProperty__P_89_3) {
|
|
5774
|
-
return this.
|
|
5778
|
+
return this.__callFunction__P_89_20(thisObj, "get" + qx.Bootstrap.firstUp(this.__propertyName__P_89_0) + "Async");
|
|
5775
5779
|
}
|
|
5776
|
-
return this.
|
|
5780
|
+
return this.__getAsyncImpl__P_89_23(thisObj, false);
|
|
5777
5781
|
},
|
|
5778
5782
|
/**
|
|
5779
5783
|
* Gets a property value; if not initialized, it will return undefined
|
|
@@ -5783,9 +5787,9 @@ try {
|
|
|
5783
5787
|
*/
|
|
5784
5788
|
getSafe(thisObj, async = false) {
|
|
5785
5789
|
if (async) {
|
|
5786
|
-
return this.
|
|
5790
|
+
return this.__getAsyncImpl__P_89_23(thisObj, true);
|
|
5787
5791
|
}
|
|
5788
|
-
return this.
|
|
5792
|
+
return this.__getImpl__P_89_22(thisObj, true);
|
|
5789
5793
|
},
|
|
5790
5794
|
/**
|
|
5791
5795
|
* Gets the themed value, if there is one
|
|
@@ -5817,9 +5821,9 @@ try {
|
|
|
5817
5821
|
*/
|
|
5818
5822
|
set(thisObj, value) {
|
|
5819
5823
|
if (this.__pseudoProperty__P_89_3) {
|
|
5820
|
-
this.
|
|
5824
|
+
this.__callFunction__P_89_20(thisObj, "set" + qx.Bootstrap.firstUp(this.__propertyName__P_89_0), value);
|
|
5821
5825
|
} else {
|
|
5822
|
-
this.
|
|
5826
|
+
this.__setImpl__P_89_24(thisObj, value, "user", "set");
|
|
5823
5827
|
}
|
|
5824
5828
|
},
|
|
5825
5829
|
/**
|
|
@@ -5831,9 +5835,9 @@ try {
|
|
|
5831
5835
|
*/
|
|
5832
5836
|
async setAsync(thisObj, value) {
|
|
5833
5837
|
if (this.__pseudoProperty__P_89_3) {
|
|
5834
|
-
this.
|
|
5838
|
+
this.__callFunction__P_89_20(thisObj, "set" + qx.Bootstrap.firstUp(this.__propertyName__P_89_0) + "Async", value);
|
|
5835
5839
|
} else {
|
|
5836
|
-
return this.
|
|
5840
|
+
return this.__setAsyncImpl__P_89_25(thisObj, value, "user", "set");
|
|
5837
5841
|
}
|
|
5838
5842
|
},
|
|
5839
5843
|
/**
|
|
@@ -5844,7 +5848,7 @@ try {
|
|
|
5844
5848
|
* @param {*} value
|
|
5845
5849
|
*/
|
|
5846
5850
|
setThemed(thisObj, value) {
|
|
5847
|
-
this.
|
|
5851
|
+
this.__setImpl__P_89_24(thisObj, value, "themed", "set");
|
|
5848
5852
|
},
|
|
5849
5853
|
/**
|
|
5850
5854
|
* Resets a property value
|
|
@@ -5853,10 +5857,10 @@ try {
|
|
|
5853
5857
|
*/
|
|
5854
5858
|
reset(thisObj) {
|
|
5855
5859
|
if (this.__pseudoProperty__P_89_3) {
|
|
5856
|
-
this.
|
|
5860
|
+
this.__callFunction__P_89_20(thisObj, "reset" + qx.Bootstrap.firstUp(this.__propertyName__P_89_0));
|
|
5857
5861
|
} else {
|
|
5858
5862
|
let value = this.getInitValue(thisObj);
|
|
5859
|
-
this.
|
|
5863
|
+
this.__setImpl__P_89_24(thisObj, value, "user", "reset");
|
|
5860
5864
|
}
|
|
5861
5865
|
},
|
|
5862
5866
|
/**
|
|
@@ -5866,10 +5870,10 @@ try {
|
|
|
5866
5870
|
*/
|
|
5867
5871
|
resetAsync(thisObj) {
|
|
5868
5872
|
if (this.__pseudoProperty__P_89_3) {
|
|
5869
|
-
return this.
|
|
5873
|
+
return this.__callFunction__P_89_20(thisObj, "reset" + qx.Bootstrap.firstUp(this.__propertyName__P_89_0) + "Async");
|
|
5870
5874
|
} else {
|
|
5871
5875
|
let value = this.getInitValue(thisObj);
|
|
5872
|
-
return this.
|
|
5876
|
+
return this.__setAsyncImpl__P_89_25(thisObj, value, "user", "reset");
|
|
5873
5877
|
}
|
|
5874
5878
|
},
|
|
5875
5879
|
/**
|
|
@@ -5879,7 +5883,7 @@ try {
|
|
|
5879
5883
|
* @param {qx.core.Object} thisObj
|
|
5880
5884
|
*/
|
|
5881
5885
|
resetThemed(thisObj) {
|
|
5882
|
-
this.
|
|
5886
|
+
this.__setImpl__P_89_24(thisObj, undefined, "themed", "reset");
|
|
5883
5887
|
},
|
|
5884
5888
|
/**
|
|
5885
5889
|
* Detects whether the object is using a theme value or has been overridden by a user value
|
|
@@ -5930,40 +5934,66 @@ try {
|
|
|
5930
5934
|
* @param {"user" | "themed"} scope
|
|
5931
5935
|
* @param {"set" | "reset" | "init"} method
|
|
5932
5936
|
*/
|
|
5933
|
-
|
|
5937
|
+
__setImpl__P_89_24(thisObj, value, scope, method) {
|
|
5938
|
+
//store the old value
|
|
5939
|
+
let oldValue = this.__getImpl__P_89_22(thisObj, true);
|
|
5934
5940
|
let state = this.getPropertyState(thisObj);
|
|
5941
|
+
|
|
5942
|
+
//validate and transform the value
|
|
5935
5943
|
if (this.__validate__P_89_8) {
|
|
5936
|
-
this.
|
|
5944
|
+
this.__callFunction__P_89_20(thisObj, this.__validate__P_89_8, value, this);
|
|
5937
5945
|
}
|
|
5938
|
-
let oldValue = this.__getImpl__P_89_21(thisObj, true);
|
|
5939
5946
|
if (this.__transform__P_89_10) {
|
|
5940
|
-
value = this.
|
|
5947
|
+
value = this.__callFunction__P_89_20(thisObj, this.__transform__P_89_10, value, oldValue, this.__propertyName__P_89_0);
|
|
5948
|
+
}
|
|
5949
|
+
|
|
5950
|
+
//perform additional checks if promise
|
|
5951
|
+
let check = this.getCheck();
|
|
5952
|
+
//use check for validation and coercion if necessary,
|
|
5953
|
+
//but only if not resetting
|
|
5954
|
+
if (!(value === "inherit" && this.isInheritable()) && method !== "reset" && check) {
|
|
5955
|
+
if (!(value === null && oldValue === null) && !check.matches(value, thisObj)) {
|
|
5956
|
+
let coerced = check.coerce(value, thisObj);
|
|
5957
|
+
if (qx.lang.Type.isPromise(value) || coerced === null || !check.matches(coerced, thisObj)) {
|
|
5958
|
+
throw new Error("Invalid value for property " + this + ": " + value);
|
|
5959
|
+
}
|
|
5960
|
+
value = coerced;
|
|
5961
|
+
}
|
|
5941
5962
|
}
|
|
5963
|
+
|
|
5964
|
+
//Modify the value in the underlying storage
|
|
5942
5965
|
if (method == "reset") {
|
|
5943
5966
|
if (scope == "user") {
|
|
5944
|
-
this.__storage__P_89_6.
|
|
5967
|
+
this.__storage__P_89_6.set(thisObj, this, value);
|
|
5945
5968
|
} else if (scope == "themed") {
|
|
5946
5969
|
if (value === undefined) {
|
|
5947
5970
|
delete state.themeValue;
|
|
5948
5971
|
}
|
|
5949
5972
|
}
|
|
5950
|
-
value = this.
|
|
5951
|
-
}
|
|
5952
|
-
|
|
5953
|
-
|
|
5954
|
-
value
|
|
5955
|
-
|
|
5956
|
-
|
|
5957
|
-
|
|
5958
|
-
|
|
5959
|
-
|
|
5960
|
-
|
|
5961
|
-
|
|
5962
|
-
throw new Error("Invalid value for property " + this + ": " + value);
|
|
5973
|
+
value = this.__getImpl__P_89_22(thisObj, true);
|
|
5974
|
+
} else {
|
|
5975
|
+
if (scope == "user") {
|
|
5976
|
+
// Always set the value to the storage if it is a user value; this is because themable properties
|
|
5977
|
+
// might be equal now, but if the theme value changes, the user's override needs to remain.
|
|
5978
|
+
if (method == "set" || method == "init") {
|
|
5979
|
+
this.__storage__P_89_6.set(thisObj, this, value);
|
|
5980
|
+
}
|
|
5981
|
+
} else if (scope == "themed") {
|
|
5982
|
+
if (value !== undefined) {
|
|
5983
|
+
state.themeValue = value;
|
|
5984
|
+
value = this.__getImpl__P_89_22(thisObj);
|
|
5963
5985
|
}
|
|
5964
|
-
value = coerced;
|
|
5965
5986
|
}
|
|
5966
5987
|
}
|
|
5988
|
+
|
|
5989
|
+
// If the value is "inherit" and the property is inheritable, we need to calculate the inherited value
|
|
5990
|
+
if (this.isInheritable() && value === "inherit") {
|
|
5991
|
+
value = state.inheritedValue;
|
|
5992
|
+
}
|
|
5993
|
+
|
|
5994
|
+
//the final value has now been deternined.
|
|
5995
|
+
//If it's not equal to the old value or state.applyMethodCalled was not set,
|
|
5996
|
+
//we call apply and fire event
|
|
5967
5997
|
let isEqual = this.isEqual(thisObj, value, oldValue);
|
|
5968
5998
|
if (!isEqual && this.isMutating(thisObj)) {
|
|
5969
5999
|
this.warn("Property " + this + " is currently mutating");
|
|
@@ -5980,26 +6010,12 @@ try {
|
|
|
5980
6010
|
if (!shouldApply) {
|
|
5981
6011
|
return;
|
|
5982
6012
|
}
|
|
5983
|
-
this.
|
|
5984
|
-
if (scope == "user") {
|
|
5985
|
-
// Always set the value to the storage if it is a user value; this is because themable properties
|
|
5986
|
-
// might be equal now, but if the theme value changes, the user's override needs to remain.
|
|
5987
|
-
if (method == "set" || method == "init") {
|
|
5988
|
-
this.__storage__P_89_6.set(thisObj, this, value);
|
|
5989
|
-
}
|
|
5990
|
-
} else if (scope == "themed") {
|
|
5991
|
-
if (method != "reset") {
|
|
5992
|
-
if (value !== undefined) {
|
|
5993
|
-
state.themeValue = value;
|
|
5994
|
-
value = this.get(thisObj);
|
|
5995
|
-
}
|
|
5996
|
-
}
|
|
5997
|
-
}
|
|
6013
|
+
this.__setMutating__P_89_19(thisObj, true);
|
|
5998
6014
|
if (value === undefined) {
|
|
5999
6015
|
value = null;
|
|
6000
6016
|
}
|
|
6001
6017
|
if (this.__apply__P_89_9) {
|
|
6002
|
-
let out = this.
|
|
6018
|
+
let out = this.__callFunction__P_89_20(thisObj, this.__apply__P_89_9, value, oldValue, this.__propertyName__P_89_0);
|
|
6003
6019
|
if (qx.lang.Type.isPromise(out)) {
|
|
6004
6020
|
this.warn("Apply function for property " + this + " returned a Promise, but the property was set synchronously. The promise will be ignored.");
|
|
6005
6021
|
}
|
|
@@ -6008,9 +6024,9 @@ try {
|
|
|
6008
6024
|
thisObj.fireDataEvent(this.__eventName__P_89_11, value, oldValue);
|
|
6009
6025
|
}
|
|
6010
6026
|
if (this.isInheritable()) {
|
|
6011
|
-
this.
|
|
6027
|
+
this.__applyValueToInheritedChildren__P_89_21(thisObj);
|
|
6012
6028
|
}
|
|
6013
|
-
this.
|
|
6029
|
+
this.__setMutating__P_89_19(thisObj, false);
|
|
6014
6030
|
},
|
|
6015
6031
|
/**
|
|
6016
6032
|
* Sets the actual value of the property, asynchronously.
|
|
@@ -6020,18 +6036,21 @@ try {
|
|
|
6020
6036
|
* @param {"user" | "themed"} scope
|
|
6021
6037
|
* @param {"set" | "reset" | "init"} method
|
|
6022
6038
|
*/
|
|
6023
|
-
async
|
|
6039
|
+
async __setAsyncImpl__P_89_25(thisObj, value, scope, method) {
|
|
6024
6040
|
let state = this.getPropertyState(thisObj);
|
|
6041
|
+
|
|
6042
|
+
//store the old value
|
|
6043
|
+
//we get it synchronously here because if this property supports async get,
|
|
6044
|
+
//we may not always want to fetch the value asynchronously
|
|
6045
|
+
//this means the apply method will be called with undefined as oldValue
|
|
6046
|
+
let oldValue = this.__getImpl__P_89_22(thisObj, true);
|
|
6047
|
+
|
|
6048
|
+
//validate and transform the value
|
|
6025
6049
|
if (this.__validate__P_89_8) {
|
|
6026
|
-
this.
|
|
6050
|
+
this.__callFunction__P_89_20(thisObj, this.__validate__P_89_8, value, this);
|
|
6027
6051
|
}
|
|
6028
|
-
let oldValue = await this.__getAsyncImpl__P_89_22(thisObj, true);
|
|
6029
6052
|
if (this.__transform__P_89_10) {
|
|
6030
|
-
value = this.
|
|
6031
|
-
}
|
|
6032
|
-
if (method == "reset") {
|
|
6033
|
-
this.__storage__P_89_6.reset(thisObj, this, value);
|
|
6034
|
-
value = await this.__getAsyncImpl__P_89_22(thisObj, true);
|
|
6053
|
+
value = this.__callFunction__P_89_20(thisObj, this.__transform__P_89_10, value, oldValue, this.__propertyName__P_89_0);
|
|
6035
6054
|
}
|
|
6036
6055
|
let check = this.getCheck();
|
|
6037
6056
|
if (method !== "reset" && check) {
|
|
@@ -6043,6 +6062,20 @@ try {
|
|
|
6043
6062
|
value = coerced;
|
|
6044
6063
|
}
|
|
6045
6064
|
}
|
|
6065
|
+
|
|
6066
|
+
//Actually modify the underlying storage
|
|
6067
|
+
if (method == "reset") {
|
|
6068
|
+
this.__storage__P_89_6.set(thisObj, this, value);
|
|
6069
|
+
value = this.__getImpl__P_89_22(thisObj, true);
|
|
6070
|
+
} else {
|
|
6071
|
+
if (scope == "user") {
|
|
6072
|
+
// Always set the value to the storage if it is a user value; this is because themable properties
|
|
6073
|
+
// might be equal now, but if the theme value changes, the user's override needs to remain.
|
|
6074
|
+
if (method == "set" || method == "init") {
|
|
6075
|
+
this.__storage__P_89_6.set(thisObj, this, value);
|
|
6076
|
+
}
|
|
6077
|
+
}
|
|
6078
|
+
}
|
|
6046
6079
|
let isEqual = this.isEqual(thisObj, value, oldValue);
|
|
6047
6080
|
if (!isEqual && this.isMutating(thisObj)) {
|
|
6048
6081
|
this.warn("Property " + this + " is currently mutating");
|
|
@@ -6061,24 +6094,17 @@ try {
|
|
|
6061
6094
|
}
|
|
6062
6095
|
let resolve;
|
|
6063
6096
|
let promise = new Promise(r => resolve = r);
|
|
6064
|
-
this.
|
|
6065
|
-
if (scope == "user") {
|
|
6066
|
-
// Always set the value to the storage if it is a user value; this is because themable properties
|
|
6067
|
-
// might be equal now, but if the theme value changes, the user's override needs to remain.
|
|
6068
|
-
if (method == "set" || method == "init") {
|
|
6069
|
-
this.__storage__P_89_6.set(thisObj, this, value);
|
|
6070
|
-
}
|
|
6071
|
-
}
|
|
6097
|
+
this.__setMutating__P_89_19(thisObj, promise);
|
|
6072
6098
|
if (value === undefined) {
|
|
6073
6099
|
value = null;
|
|
6074
6100
|
}
|
|
6075
6101
|
if (this.__apply__P_89_9) {
|
|
6076
|
-
await this.
|
|
6102
|
+
await this.__callFunction__P_89_20(thisObj, this.__apply__P_89_9, value, oldValue, this.__propertyName__P_89_0);
|
|
6077
6103
|
}
|
|
6078
6104
|
if (this.__eventName__P_89_11 && qx.event.Registration.hasListener(thisObj, this.__eventName__P_89_11)) {
|
|
6079
6105
|
await thisObj.fireDataEventAsync(this.__eventName__P_89_11, value, oldValue);
|
|
6080
6106
|
}
|
|
6081
|
-
this.
|
|
6107
|
+
this.__setMutating__P_89_19(thisObj, false);
|
|
6082
6108
|
resolve();
|
|
6083
6109
|
},
|
|
6084
6110
|
/**
|
|
@@ -6087,14 +6113,12 @@ try {
|
|
|
6087
6113
|
* @param {boolean} safe Whether to throw exceptions if the property is not initialized
|
|
6088
6114
|
* @returns {*}
|
|
6089
6115
|
*/
|
|
6090
|
-
|
|
6116
|
+
__getImpl__P_89_22(thisObj, safe) {
|
|
6091
6117
|
var _this$__definition__P4, _this$__definition__P5, _this$__check__P_89_;
|
|
6092
6118
|
const getRaw = () => {
|
|
6093
6119
|
let value = this.__storage__P_89_6.get(thisObj, this);
|
|
6094
6120
|
if (value !== undefined) {
|
|
6095
6121
|
return value;
|
|
6096
|
-
} else if (this.isAsync()) {
|
|
6097
|
-
return undefined;
|
|
6098
6122
|
}
|
|
6099
6123
|
let state = this.getPropertyState(thisObj);
|
|
6100
6124
|
value = state.themeValue;
|
|
@@ -6116,7 +6140,7 @@ try {
|
|
|
6116
6140
|
}
|
|
6117
6141
|
if (value !== undefined) {
|
|
6118
6142
|
return value;
|
|
6119
|
-
} else if (this.
|
|
6143
|
+
} else if (this.__supportsGetAsync__P_89_18) {
|
|
6120
6144
|
if (!safe) {
|
|
6121
6145
|
throw new Error("Property " + this + " has not been initialized - try using getAsync() instead");
|
|
6122
6146
|
} else {
|
|
@@ -6141,18 +6165,20 @@ try {
|
|
|
6141
6165
|
* @param {boolean} safe Whether to throw exceptions if the property is not initialized
|
|
6142
6166
|
* @returns {Promise<*>}
|
|
6143
6167
|
*/
|
|
6144
|
-
async
|
|
6168
|
+
async __getAsyncImpl__P_89_23(thisObj, safe) {
|
|
6145
6169
|
var _this$__definition__P6, _this$__definition__P7, _this$__check__P_89_2;
|
|
6146
6170
|
const getRaw = async () => {
|
|
6147
6171
|
let value = this.__storage__P_89_6.get(thisObj, this);
|
|
6148
6172
|
if (value !== undefined) {
|
|
6149
6173
|
return value;
|
|
6150
6174
|
}
|
|
6151
|
-
value =
|
|
6175
|
+
value = this.getInitValue(thisObj);
|
|
6152
6176
|
if (value !== undefined) {
|
|
6153
6177
|
return value;
|
|
6154
6178
|
}
|
|
6155
|
-
|
|
6179
|
+
if (this.__supportsGetAsync__P_89_18) {
|
|
6180
|
+
return await this.__storage__P_89_6.getAsync(thisObj, this);
|
|
6181
|
+
}
|
|
6156
6182
|
};
|
|
6157
6183
|
let value = await getRaw();
|
|
6158
6184
|
if (value !== undefined) {
|
|
@@ -6173,7 +6199,7 @@ try {
|
|
|
6173
6199
|
*
|
|
6174
6200
|
* @param {qx.core.Object} thisObj
|
|
6175
6201
|
*/
|
|
6176
|
-
|
|
6202
|
+
__applyValueToInheritedChildren__P_89_21(thisObj) {
|
|
6177
6203
|
if (typeof thisObj._getChildren == "function") {
|
|
6178
6204
|
for (let child of thisObj._getChildren()) {
|
|
6179
6205
|
let property = child.constructor.prototype.$$allProperties[this.__propertyName__P_89_0];
|
|
@@ -6193,7 +6219,7 @@ try {
|
|
|
6193
6219
|
if (!this.isInheritable()) {
|
|
6194
6220
|
throw new Error(`${this} is not inheritable`);
|
|
6195
6221
|
}
|
|
6196
|
-
let oldValue = this.
|
|
6222
|
+
let oldValue = this.__getImpl__P_89_22(thisObj, true);
|
|
6197
6223
|
const computeInherited = () => {
|
|
6198
6224
|
let layoutParent = typeof thisObj.getLayoutParent == "function" ? thisObj.getLayoutParent() : undefined;
|
|
6199
6225
|
if (!layoutParent) {
|
|
@@ -6203,7 +6229,7 @@ try {
|
|
|
6203
6229
|
if (!layoutParentProperty) {
|
|
6204
6230
|
return;
|
|
6205
6231
|
}
|
|
6206
|
-
let value = layoutParentProperty.
|
|
6232
|
+
let value = layoutParentProperty.__getImpl__P_89_22(layoutParent, true);
|
|
6207
6233
|
return value;
|
|
6208
6234
|
};
|
|
6209
6235
|
let inherited = computeInherited();
|
|
@@ -6215,23 +6241,23 @@ try {
|
|
|
6215
6241
|
} else {
|
|
6216
6242
|
delete state.inheritedValue;
|
|
6217
6243
|
}
|
|
6218
|
-
let value = this.
|
|
6244
|
+
let value = this.__getImpl__P_89_22(thisObj, true);
|
|
6219
6245
|
//
|
|
6220
6246
|
let shouldApply = value !== oldValue || value !== undefined && !state.initMethodCalled;
|
|
6221
6247
|
state.initMethodCalled = true;
|
|
6222
6248
|
if (shouldApply) {
|
|
6223
6249
|
if (!this.isEqual(thisObj, value, oldValue)) {
|
|
6224
|
-
this.
|
|
6250
|
+
this.__setMutating__P_89_19(thisObj, true);
|
|
6225
6251
|
try {
|
|
6226
6252
|
if (this.__apply__P_89_9) {
|
|
6227
|
-
this.
|
|
6253
|
+
this.__callFunction__P_89_20(thisObj, this.__apply__P_89_9, value, oldValue, this.__propertyName__P_89_0);
|
|
6228
6254
|
}
|
|
6229
6255
|
if (this.__eventName__P_89_11 && qx.event.Registration.hasListener(thisObj, this.__eventName__P_89_11)) {
|
|
6230
6256
|
thisObj.fireDataEvent(this.__eventName__P_89_11, value, oldValue);
|
|
6231
6257
|
}
|
|
6232
|
-
this.
|
|
6258
|
+
this.__applyValueToInheritedChildren__P_89_21(thisObj);
|
|
6233
6259
|
} finally {
|
|
6234
|
-
this.
|
|
6260
|
+
this.__setMutating__P_89_19(thisObj, false);
|
|
6235
6261
|
}
|
|
6236
6262
|
}
|
|
6237
6263
|
}
|
|
@@ -6252,7 +6278,7 @@ try {
|
|
|
6252
6278
|
* @param {qx.core.Object} thisObj
|
|
6253
6279
|
* @param {Boolean} mutating
|
|
6254
6280
|
*/
|
|
6255
|
-
|
|
6281
|
+
__setMutating__P_89_19(thisObj, mutating) {
|
|
6256
6282
|
let state = this.getPropertyState(thisObj);
|
|
6257
6283
|
if (mutating) {
|
|
6258
6284
|
if (state.mutatingCount === undefined) {
|
|
@@ -6320,7 +6346,7 @@ try {
|
|
|
6320
6346
|
* @param {...any} args
|
|
6321
6347
|
* @returns
|
|
6322
6348
|
*/
|
|
6323
|
-
|
|
6349
|
+
__callFunction__P_89_20(thisObj, fn, ...args) {
|
|
6324
6350
|
if (typeof fn == "string") {
|
|
6325
6351
|
return thisObj[fn].call(thisObj, ...args);
|
|
6326
6352
|
}
|
|
@@ -6360,23 +6386,23 @@ try {
|
|
|
6360
6386
|
*/
|
|
6361
6387
|
promiseReady(thisObj) {},
|
|
6362
6388
|
/**
|
|
6363
|
-
* Whether the property
|
|
6389
|
+
* Whether the property has a defined value stored locally,
|
|
6390
|
+
* meaning we can safely get it synchronously
|
|
6364
6391
|
*
|
|
6365
6392
|
* @param {qx.core.Object} thisObj the object on which the property is defined
|
|
6366
6393
|
* @return {Boolean}
|
|
6367
6394
|
*/
|
|
6368
|
-
|
|
6369
|
-
let value = this.
|
|
6395
|
+
hasLocalValue(thisObj) {
|
|
6396
|
+
let value = this.__getImpl__P_89_22(thisObj, true);
|
|
6370
6397
|
return value !== undefined;
|
|
6371
6398
|
},
|
|
6372
6399
|
/**
|
|
6373
|
-
* Whether the property supports
|
|
6400
|
+
* Whether the property supports getting asynchronously from the underlying storage
|
|
6374
6401
|
*
|
|
6375
6402
|
* @return {Boolean}
|
|
6376
6403
|
*/
|
|
6377
|
-
|
|
6378
|
-
|
|
6379
|
-
return !!((_this$__definition__P8 = this.__definition__P_89_5) !== null && _this$__definition__P8 !== void 0 && _this$__definition__P8.async);
|
|
6404
|
+
supportsGetAsync() {
|
|
6405
|
+
return this.__supportsGetAsync__P_89_18;
|
|
6380
6406
|
},
|
|
6381
6407
|
/**
|
|
6382
6408
|
* Whether the property is themable
|
|
@@ -6384,8 +6410,8 @@ try {
|
|
|
6384
6410
|
* @return {Boolean}
|
|
6385
6411
|
*/
|
|
6386
6412
|
isThemeable() {
|
|
6387
|
-
var _this$
|
|
6388
|
-
return !!((_this$
|
|
6413
|
+
var _this$__definition__P8;
|
|
6414
|
+
return !!((_this$__definition__P8 = this.__definition__P_89_5) !== null && _this$__definition__P8 !== void 0 && _this$__definition__P8.themeable);
|
|
6389
6415
|
},
|
|
6390
6416
|
/**
|
|
6391
6417
|
* Whether the property is inheritable
|
|
@@ -6538,23 +6564,6 @@ try {
|
|
|
6538
6564
|
* @param {*} value
|
|
6539
6565
|
*/
|
|
6540
6566
|
set(thisObj, property, value) {},
|
|
6541
|
-
/**
|
|
6542
|
-
* Sets a value asynchronously
|
|
6543
|
-
*
|
|
6544
|
-
* @param {qx.core.Object} thisObj
|
|
6545
|
-
* @param {qx.core.propety.IProperty} property the property to set the value of
|
|
6546
|
-
* @param {*} value
|
|
6547
|
-
*/
|
|
6548
|
-
async setAsync(thisObj, property, value) {},
|
|
6549
|
-
/**
|
|
6550
|
-
* Called when the property is reset; for standard properties, this just passes through to
|
|
6551
|
-
* `set`, but pseudo properties may need to call the implemented `reset` method
|
|
6552
|
-
*
|
|
6553
|
-
* @param {qx.core.Object} thisObj
|
|
6554
|
-
* @param {qx.core.propety.IProperty} property the property to set the value of
|
|
6555
|
-
* @param {*} value
|
|
6556
|
-
*/
|
|
6557
|
-
reset(thisObj, property, value) {},
|
|
6558
6567
|
/**
|
|
6559
6568
|
* Deletes the value
|
|
6560
6569
|
*
|
|
@@ -6563,9 +6572,9 @@ try {
|
|
|
6563
6572
|
*/
|
|
6564
6573
|
dereference(thisObj, property) {},
|
|
6565
6574
|
/**
|
|
6566
|
-
* Returns whether the storage supports asynchronous
|
|
6575
|
+
* Returns whether the storage supports asynchronous getting.
|
|
6567
6576
|
*/
|
|
6568
|
-
|
|
6577
|
+
supportsGetAsync() {}
|
|
6569
6578
|
}
|
|
6570
6579
|
});
|
|
6571
6580
|
qx.core.property.IPropertyStorage.$$dbClassInfo = $$dbClassInfo;
|
|
@@ -6580,8 +6589,7 @@ try {
|
|
|
6580
6589
|
},
|
|
6581
6590
|
"qx.core.property.IPropertyStorage": {
|
|
6582
6591
|
"require": true
|
|
6583
|
-
}
|
|
6584
|
-
"qx.Promise": {}
|
|
6592
|
+
}
|
|
6585
6593
|
}
|
|
6586
6594
|
};
|
|
6587
6595
|
qx.Bootstrap.executePendingDefers($$dbClassInfo);
|
|
@@ -6623,7 +6631,7 @@ try {
|
|
|
6623
6631
|
* @Override
|
|
6624
6632
|
*/
|
|
6625
6633
|
async getAsync(thisObj, property) {
|
|
6626
|
-
|
|
6634
|
+
// nothing
|
|
6627
6635
|
},
|
|
6628
6636
|
/**
|
|
6629
6637
|
* @Override
|
|
@@ -6636,20 +6644,6 @@ try {
|
|
|
6636
6644
|
}
|
|
6637
6645
|
data.value = value;
|
|
6638
6646
|
},
|
|
6639
|
-
/**
|
|
6640
|
-
* @Override
|
|
6641
|
-
*/
|
|
6642
|
-
async setAsync(thisObj, property, value) {
|
|
6643
|
-
return qx.Promise.resolve(value).then(value => {
|
|
6644
|
-
this.set(thisObj, property, value);
|
|
6645
|
-
});
|
|
6646
|
-
},
|
|
6647
|
-
/**
|
|
6648
|
-
* @Override
|
|
6649
|
-
*/
|
|
6650
|
-
reset(thisObj, property, value) {
|
|
6651
|
-
this.set(thisObj, property, value);
|
|
6652
|
-
},
|
|
6653
6647
|
/**
|
|
6654
6648
|
* @Override
|
|
6655
6649
|
*/
|
|
@@ -6659,7 +6653,7 @@ try {
|
|
|
6659
6653
|
/**
|
|
6660
6654
|
* @Override
|
|
6661
6655
|
*/
|
|
6662
|
-
|
|
6656
|
+
supportsGetAsync() {
|
|
6663
6657
|
return false;
|
|
6664
6658
|
},
|
|
6665
6659
|
/**
|
|
@@ -6875,12 +6869,16 @@ try {
|
|
|
6875
6869
|
qx.Bootstrap.define("qx.core.check.AbstractCheck", {
|
|
6876
6870
|
extend: Object,
|
|
6877
6871
|
implement: qx.core.check.ICheck,
|
|
6872
|
+
/**
|
|
6873
|
+
*
|
|
6874
|
+
* @param {boolean} nullable
|
|
6875
|
+
*/
|
|
6878
6876
|
construct(nullable) {
|
|
6879
6877
|
Object.constructor.call(this);
|
|
6880
6878
|
this.__nullable__P_80_0 = !!nullable;
|
|
6881
6879
|
},
|
|
6882
6880
|
members: {
|
|
6883
|
-
/** @type{Boolean} whether null is allowed */
|
|
6881
|
+
/** @type {Boolean} whether null is allowed */
|
|
6884
6882
|
__nullable__P_80_0: null,
|
|
6885
6883
|
/**
|
|
6886
6884
|
* @override
|
|
@@ -6995,6 +6993,11 @@ try {
|
|
|
6995
6993
|
*/
|
|
6996
6994
|
qx.Bootstrap.define("qx.core.check.DynamicTypeCheck", {
|
|
6997
6995
|
extend: qx.core.check.AbstractCheck,
|
|
6996
|
+
/**
|
|
6997
|
+
*
|
|
6998
|
+
* @param {string} typename
|
|
6999
|
+
* @param {boolean} nullable
|
|
7000
|
+
*/
|
|
6998
7001
|
construct(typename, nullable) {
|
|
6999
7002
|
qx.core.check.AbstractCheck.constructor.call(this, nullable);
|
|
7000
7003
|
this.__typename__P_83_0 = typename;
|
|
@@ -8668,6 +8671,11 @@ try {
|
|
|
8668
8671
|
expr = expr.replace(/<.*>/g, ""); // remove generics
|
|
8669
8672
|
|
|
8670
8673
|
let checkname = expr;
|
|
8674
|
+
if (checkname.includes("||")) {
|
|
8675
|
+
//For now, if the typename contains ||, we just accept it.
|
|
8676
|
+
//That's what it was like in version 7
|
|
8677
|
+
return new qx.core.check.Any();
|
|
8678
|
+
}
|
|
8671
8679
|
if (checkname.endsWith("?")) {
|
|
8672
8680
|
checkname = checkname.substring(0, checkname.length - 1);
|
|
8673
8681
|
nullable = true;
|
|
@@ -9163,8 +9171,6 @@ try {
|
|
|
9163
9171
|
// Array, String, Function
|
|
9164
9172
|
transform: null,
|
|
9165
9173
|
// String, Function
|
|
9166
|
-
async: "boolean",
|
|
9167
|
-
// Boolean
|
|
9168
9174
|
deferredInit: "boolean",
|
|
9169
9175
|
// Boolean
|
|
9170
9176
|
validate: ["string", "function"],
|
|
@@ -9801,10 +9807,18 @@ try {
|
|
|
9801
9807
|
* @param members {Map}
|
|
9802
9808
|
* The map of members to attach
|
|
9803
9809
|
*
|
|
9810
|
+
* @param events {Map?}
|
|
9811
|
+
* The map of events declared by the mixin (used for member validation)
|
|
9812
|
+
*
|
|
9804
9813
|
* @param patch {Boolean ? false}
|
|
9805
9814
|
* Enable patching
|
|
9815
|
+
*
|
|
9816
|
+
* @param mixin {qx.Mixin?}
|
|
9817
|
+
* The mixin being applied, if any. Used to store per-mixin-per-class base
|
|
9818
|
+
* method references so that super calls resolve correctly when the same
|
|
9819
|
+
* mixin is included in multiple classes.
|
|
9806
9820
|
*/
|
|
9807
|
-
addMembers(clazz, members, events, patch) {
|
|
9821
|
+
addMembers(clazz, members, events, patch, mixin) {
|
|
9808
9822
|
let proto = clazz.prototype;
|
|
9809
9823
|
let classOwnMembers = {}; // Track class members to restore after mixin addition
|
|
9810
9824
|
|
|
@@ -9838,6 +9852,18 @@ try {
|
|
|
9838
9852
|
member.self = clazz;
|
|
9839
9853
|
}
|
|
9840
9854
|
member.base = clazz.prototype[key];
|
|
9855
|
+
// Fix: per-mixin-per-class storage to prevent clobbering when the same mixin
|
|
9856
|
+
// is included/patched into multiple classes, or when multiple mixins override
|
|
9857
|
+
// the same method in the same class.
|
|
9858
|
+
if (mixin) {
|
|
9859
|
+
if (!clazz.$mixinBases) {
|
|
9860
|
+
clazz.$mixinBases = new Map();
|
|
9861
|
+
}
|
|
9862
|
+
if (!clazz.$mixinBases.has(mixin)) {
|
|
9863
|
+
clazz.$mixinBases.set(mixin, {});
|
|
9864
|
+
}
|
|
9865
|
+
clazz.$mixinBases.get(mixin)[key] = clazz.prototype[key];
|
|
9866
|
+
}
|
|
9841
9867
|
}
|
|
9842
9868
|
|
|
9843
9869
|
// Create the storage for this member
|
|
@@ -10010,7 +10036,7 @@ try {
|
|
|
10010
10036
|
|
|
10011
10037
|
// Attach members
|
|
10012
10038
|
if (entry.$$members) {
|
|
10013
|
-
qx.Class.addMembers(clazz, entry.$$members, entry.$$events, patch);
|
|
10039
|
+
qx.Class.addMembers(clazz, entry.$$members, entry.$$events, patch, entry);
|
|
10014
10040
|
}
|
|
10015
10041
|
|
|
10016
10042
|
// Attach properties
|
|
@@ -10614,7 +10640,7 @@ try {
|
|
|
10614
10640
|
*/
|
|
10615
10641
|
isPropertyInitialized(object, name) {
|
|
10616
10642
|
let property = object.constructor.prototype.$$allProperties[name];
|
|
10617
|
-
return !!(property && property.
|
|
10643
|
+
return !!(property && property.hasLocalValue(object));
|
|
10618
10644
|
},
|
|
10619
10645
|
/**
|
|
10620
10646
|
* Returns the event type of the given event. Returns null if
|
|
@@ -10997,7 +11023,7 @@ try {
|
|
|
10997
11023
|
// implementation is the first mixin's method
|
|
10998
11024
|
for (var i = mixedInIndex - 1; i > -1; i--) {
|
|
10999
11025
|
var peerMixin = mixedInAt.$$flatIncludes[i];
|
|
11000
|
-
if (peerMixin.$$members[methodName]) {
|
|
11026
|
+
if (peerMixin.$$members && peerMixin.$$members[methodName]) {
|
|
11001
11027
|
fn = peerMixin.$$members[methodName];
|
|
11002
11028
|
break;
|
|
11003
11029
|
}
|
|
@@ -11005,12 +11031,22 @@ try {
|
|
|
11005
11031
|
|
|
11006
11032
|
// Try looking in the class itself
|
|
11007
11033
|
if (!fn && mixedInAt.prototype[methodName]) {
|
|
11008
|
-
|
|
11009
|
-
|
|
11010
|
-
|
|
11011
|
-
|
|
11034
|
+
// Use per-mixin-per-class storage to avoid clobbering when the same mixin
|
|
11035
|
+
// is included in multiple classes or when multiple mixins override the same method
|
|
11036
|
+
if (mixedInAt.$mixinBases && mixedInAt.$mixinBases.has(mixin)) {
|
|
11037
|
+
var _mixedInAt$$mixinBase;
|
|
11038
|
+
fn = (_mixedInAt$$mixinBase = mixedInAt.$mixinBases.get(mixin)[methodName]) !== null && _mixedInAt$$mixinBase !== void 0 ? _mixedInAt$$mixinBase : null;
|
|
11039
|
+
}
|
|
11040
|
+
if (!fn) {
|
|
11041
|
+
// Fallback: traverse .base chain (works for patch=true since each patch
|
|
11042
|
+
// creates a unique wrapper function with its own .base property)
|
|
11043
|
+
fn = mixedInAt.prototype[methodName];
|
|
11044
|
+
for (let i = 0; i < mixedInAt.$$flatIncludes.length; i++) {
|
|
11045
|
+
if (!mixedInAt.$$flatIncludes[i].$$members || !mixedInAt.$$flatIncludes[i].$$members[methodName]) {
|
|
11046
|
+
continue;
|
|
11047
|
+
}
|
|
11048
|
+
fn = fn.base;
|
|
11012
11049
|
}
|
|
11013
|
-
fn = fn.base;
|
|
11014
11050
|
}
|
|
11015
11051
|
}
|
|
11016
11052
|
|
|
@@ -11226,7 +11262,10 @@ try {
|
|
|
11226
11262
|
*/
|
|
11227
11263
|
bindAsync: qx.core.Environment.select("qx.promise", {
|
|
11228
11264
|
true(sourcePropertyChain, targetObject, targetProperty, options) {
|
|
11229
|
-
var binding = qx.data.SingleValueBinding.bind(this, sourcePropertyChain, targetObject, targetProperty || "value",
|
|
11265
|
+
var binding = qx.data.SingleValueBinding.bind(this, sourcePropertyChain, targetObject, targetProperty || "value", {
|
|
11266
|
+
...options,
|
|
11267
|
+
async: true
|
|
11268
|
+
});
|
|
11230
11269
|
return binding.getInitPromise().then(() => binding);
|
|
11231
11270
|
},
|
|
11232
11271
|
false(sourcePropertyChain, targetObject, targetProperty, options) {
|
|
@@ -20273,16 +20312,10 @@ try {
|
|
|
20273
20312
|
implement: qx.core.property.IPropertyStorage,
|
|
20274
20313
|
/**
|
|
20275
20314
|
* @param {qx.core.property.Property} property
|
|
20276
|
-
* @param {Function} clazz Qooxdoo class which the property relates to
|
|
20277
20315
|
*/
|
|
20278
|
-
construct(property
|
|
20316
|
+
construct(property) {
|
|
20279
20317
|
Object.constructor.call(this);
|
|
20280
|
-
let def = property.getDefinition();
|
|
20281
20318
|
this.__property__P_87_0 = property;
|
|
20282
|
-
this.__get__P_87_1 = def.get;
|
|
20283
|
-
this.__getAsync__P_87_2 = def.getAsync || def.get;
|
|
20284
|
-
this.__set__P_87_3 = def.set;
|
|
20285
|
-
this.__setAsync__P_87_4 = def.setAsync || def.set;
|
|
20286
20319
|
},
|
|
20287
20320
|
members: {
|
|
20288
20321
|
/**
|
|
@@ -20293,25 +20326,19 @@ try {
|
|
|
20293
20326
|
* @Override
|
|
20294
20327
|
*/
|
|
20295
20328
|
get(thisObj, property) {
|
|
20296
|
-
return this.
|
|
20329
|
+
return this.__property__P_87_0.getDefinition().get.call(thisObj, property, thisObj);
|
|
20297
20330
|
},
|
|
20298
20331
|
/**
|
|
20299
20332
|
* @Override
|
|
20300
20333
|
*/
|
|
20301
20334
|
getAsync(thisObj, property) {
|
|
20302
|
-
return this.
|
|
20335
|
+
return this.__property__P_87_0.getDefinition().getAsync.call(thisObj, property, thisObj);
|
|
20303
20336
|
},
|
|
20304
20337
|
/**
|
|
20305
20338
|
* @Override
|
|
20306
20339
|
*/
|
|
20307
20340
|
set(thisObj, property, value) {
|
|
20308
|
-
this.
|
|
20309
|
-
},
|
|
20310
|
-
/**
|
|
20311
|
-
* @Override
|
|
20312
|
-
*/
|
|
20313
|
-
setAsync(thisObj, property, value) {
|
|
20314
|
-
return this.__setAsync__P_87_4.call(thisObj, property, value);
|
|
20341
|
+
this.__property__P_87_0.getDefinition().set.call(thisObj, value, property, thisObj);
|
|
20315
20342
|
},
|
|
20316
20343
|
/**
|
|
20317
20344
|
* @Override
|
|
@@ -20322,8 +20349,8 @@ try {
|
|
|
20322
20349
|
/**
|
|
20323
20350
|
* @Override
|
|
20324
20351
|
*/
|
|
20325
|
-
|
|
20326
|
-
return this.__property__P_87_0.
|
|
20352
|
+
supportsGetAsync() {
|
|
20353
|
+
return !!this.__property__P_87_0.getDefinition().getAsync;
|
|
20327
20354
|
}
|
|
20328
20355
|
}
|
|
20329
20356
|
});
|
|
@@ -25663,8 +25690,6 @@ try {
|
|
|
25663
25690
|
"qx.Promise": {},
|
|
25664
25691
|
"qx.core.Assert": {},
|
|
25665
25692
|
"qx.log.Logger": {},
|
|
25666
|
-
"qx.util.PropertyUtil": {},
|
|
25667
|
-
"qx.lang.String": {},
|
|
25668
25693
|
"qx.data.binding.PropNameSegment": {},
|
|
25669
25694
|
"qx.data.binding.ArrayIndexSegment": {}
|
|
25670
25695
|
}
|
|
@@ -25768,6 +25793,12 @@ try {
|
|
|
25768
25793
|
* be called if the set of the value fails.
|
|
25769
25794
|
* @property {string} ignoreConverter A string which will be matched using the current
|
|
25770
25795
|
* property chain. If it matches, the converter will not be called.
|
|
25796
|
+
* @property {boolean} async If true, the following will happen:
|
|
25797
|
+
* - The binding's init promise (returned by `getInitPromise`) will resolve only after the initial value has been set on the target.
|
|
25798
|
+
* If any properties in the source and target chains have async getters,
|
|
25799
|
+
* the initial set may happen on a later tick.
|
|
25800
|
+
* - The binding will call setAsync on the target value instead of the synchronous `set` and the init promise will resolve after the initial setAsync call has resolved.
|
|
25801
|
+
*
|
|
25771
25802
|
*
|
|
25772
25803
|
*
|
|
25773
25804
|
* @callback converter
|
|
@@ -25797,6 +25828,7 @@ try {
|
|
|
25797
25828
|
throw new Error("SourcePath and targetPath must be specified");
|
|
25798
25829
|
}
|
|
25799
25830
|
this.__options__P_93_0 = options !== null && options !== void 0 ? options : {};
|
|
25831
|
+
this.__async__P_93_1 = !!this.__options__P_93_0.async;
|
|
25800
25832
|
let tracker = {};
|
|
25801
25833
|
const Utils = qx.event.Utils;
|
|
25802
25834
|
this.setSourcePath(sourcePath);
|
|
@@ -25805,13 +25837,13 @@ try {
|
|
|
25805
25837
|
Utils.then(tracker, () => target && this.setTarget(target));
|
|
25806
25838
|
},
|
|
25807
25839
|
destruct() {
|
|
25808
|
-
if (this.
|
|
25809
|
-
this.
|
|
25810
|
-
this.
|
|
25840
|
+
if (this.__sourceSegments__P_93_2) {
|
|
25841
|
+
this.__sourceSegments__P_93_2.forEach(segment => segment.dispose());
|
|
25842
|
+
this.__sourceSegments__P_93_2 = null;
|
|
25811
25843
|
}
|
|
25812
|
-
if (this.
|
|
25813
|
-
this.
|
|
25814
|
-
this.
|
|
25844
|
+
if (this.__targetSegments__P_93_3) {
|
|
25845
|
+
this.__targetSegments__P_93_3.forEach(segment => segment.dispose());
|
|
25846
|
+
this.__targetSegments__P_93_3 = null;
|
|
25815
25847
|
}
|
|
25816
25848
|
this.setSource(null);
|
|
25817
25849
|
this.setTarget(null);
|
|
@@ -25835,49 +25867,60 @@ try {
|
|
|
25835
25867
|
}
|
|
25836
25868
|
},
|
|
25837
25869
|
members: {
|
|
25870
|
+
/**
|
|
25871
|
+
* Whether this binding is asynchronous
|
|
25872
|
+
*/
|
|
25873
|
+
__async__P_93_1: false,
|
|
25838
25874
|
/**
|
|
25839
25875
|
* @type {*}
|
|
25840
25876
|
*/
|
|
25841
|
-
|
|
25877
|
+
__value__P_93_4: undefined,
|
|
25842
25878
|
/**
|
|
25843
25879
|
* @type {qx.core.Object}
|
|
25844
25880
|
*/
|
|
25845
|
-
|
|
25881
|
+
__source__P_93_5: null,
|
|
25846
25882
|
/**
|
|
25847
25883
|
* @type {BindingRecord?}
|
|
25848
25884
|
*/
|
|
25849
|
-
|
|
25885
|
+
__record__P_93_6: null,
|
|
25850
25886
|
/**
|
|
25851
25887
|
* @type {qx.core.Object}
|
|
25852
25888
|
*/
|
|
25853
|
-
|
|
25889
|
+
__target__P_93_7: null,
|
|
25854
25890
|
/** @type {Promise} initialisation promise */
|
|
25855
|
-
|
|
25891
|
+
__initPromise__P_93_8: null,
|
|
25856
25892
|
/** @type {qx.data.binding.AbstractSegment[]?} list of segments of the source path */
|
|
25857
|
-
|
|
25893
|
+
__sourceSegments__P_93_2: null,
|
|
25858
25894
|
/** @type {qx.data.binding.AbstractSegment[]?} list of segments of the target path */
|
|
25859
|
-
|
|
25895
|
+
__targetSegments__P_93_3: null,
|
|
25860
25896
|
/**
|
|
25861
25897
|
* @type {BindingOptions}
|
|
25862
25898
|
*/
|
|
25863
25899
|
__options__P_93_0: null,
|
|
25900
|
+
/**
|
|
25901
|
+
*
|
|
25902
|
+
* @returns {boolean}
|
|
25903
|
+
*/
|
|
25904
|
+
isAsync() {
|
|
25905
|
+
return this.__async__P_93_1;
|
|
25906
|
+
},
|
|
25864
25907
|
/**
|
|
25865
25908
|
* Promises/A+ thenable compliance, this means that you can await the binding for initialisation
|
|
25866
25909
|
* https://promisesaplus.com/
|
|
25867
25910
|
* @returns {Promise} the promise
|
|
25868
25911
|
*/
|
|
25869
25912
|
then(onFulfilled, onRejected) {
|
|
25870
|
-
return Promise.resolve(this.
|
|
25913
|
+
return Promise.resolve(this.__initPromise__P_93_8).then(onFulfilled, onRejected);
|
|
25871
25914
|
},
|
|
25872
25915
|
/**
|
|
25873
25916
|
*
|
|
25874
25917
|
* @returns {BindingRecord} The representation of this binding as record.
|
|
25875
25918
|
*/
|
|
25876
25919
|
asRecord() {
|
|
25877
|
-
if (!this.
|
|
25878
|
-
this.
|
|
25920
|
+
if (!this.__record__P_93_6) {
|
|
25921
|
+
this.__record__P_93_6 = [this, this.getSource(), this.getSourcePath(), this.getTarget(), this.getTargetPath()];
|
|
25879
25922
|
}
|
|
25880
|
-
return this.
|
|
25923
|
+
return this.__record__P_93_6;
|
|
25881
25924
|
},
|
|
25882
25925
|
/**
|
|
25883
25926
|
* @override
|
|
@@ -25890,7 +25933,7 @@ try {
|
|
|
25890
25933
|
* @returns {Promise} A promise which resolves when the initial value has been copied over from source to target
|
|
25891
25934
|
*/
|
|
25892
25935
|
getInitPromise() {
|
|
25893
|
-
return this.
|
|
25936
|
+
return this.__initPromise__P_93_8;
|
|
25894
25937
|
},
|
|
25895
25938
|
/**
|
|
25896
25939
|
* Apply for `sourcePath`
|
|
@@ -25899,9 +25942,9 @@ try {
|
|
|
25899
25942
|
if (oldValue) {
|
|
25900
25943
|
throw new Error("Cannot change sourcePath after binding has been created");
|
|
25901
25944
|
}
|
|
25902
|
-
this.
|
|
25903
|
-
this.
|
|
25904
|
-
let lastSegment = this.
|
|
25945
|
+
this.__record__P_93_6 = null; // invalidate record representation cache
|
|
25946
|
+
this.__sourceSegments__P_93_2 = qx.data.SingleValueBinding.__parseSegments__P_93_9(this, value);
|
|
25947
|
+
let lastSegment = this.__sourceSegments__P_93_2.at(-1);
|
|
25905
25948
|
lastSegment.setOutputReceiver(this);
|
|
25906
25949
|
},
|
|
25907
25950
|
/**
|
|
@@ -25915,36 +25958,36 @@ try {
|
|
|
25915
25958
|
*/
|
|
25916
25959
|
setSource(value) {
|
|
25917
25960
|
const SingleValueBinding = qx.data.SingleValueBinding;
|
|
25918
|
-
if (this.
|
|
25961
|
+
if (this.__source__P_93_5 === value) {
|
|
25919
25962
|
return;
|
|
25920
25963
|
}
|
|
25921
|
-
this.
|
|
25922
|
-
let oldValue = this.
|
|
25923
|
-
this.
|
|
25924
|
-
this.
|
|
25964
|
+
this.__record__P_93_6 = null; // invalidate record representation cache
|
|
25965
|
+
let oldValue = this.__source__P_93_5;
|
|
25966
|
+
this.__source__P_93_5 = value;
|
|
25967
|
+
this.__initPromise__P_93_8 = null; // reset the init promise, as the source has changed
|
|
25925
25968
|
|
|
25926
25969
|
if (oldValue) {
|
|
25927
25970
|
//Delete old source's bindings if there was one
|
|
25928
|
-
delete SingleValueBinding.
|
|
25929
|
-
if (qx.lang.Object.isEmpty(SingleValueBinding.
|
|
25930
|
-
delete SingleValueBinding.
|
|
25971
|
+
delete SingleValueBinding.__bindingsBySource__P_93_10[oldValue.toHashCode()][this.toHashCode()];
|
|
25972
|
+
if (qx.lang.Object.isEmpty(SingleValueBinding.__bindingsBySource__P_93_10[oldValue.toHashCode()])) {
|
|
25973
|
+
delete SingleValueBinding.__bindingsBySource__P_93_10[oldValue.toHashCode()];
|
|
25931
25974
|
}
|
|
25932
25975
|
}
|
|
25933
25976
|
if (value) {
|
|
25934
25977
|
var _SingleValueBinding$_, _value$toHashCode, _SingleValueBinding$_2;
|
|
25935
25978
|
//Store the binding
|
|
25936
|
-
(_SingleValueBinding$_2 = (_SingleValueBinding$_ = SingleValueBinding.
|
|
25937
|
-
SingleValueBinding.
|
|
25979
|
+
(_SingleValueBinding$_2 = (_SingleValueBinding$_ = SingleValueBinding.__bindingsBySource__P_93_10)[_value$toHashCode = value.toHashCode()]) !== null && _SingleValueBinding$_2 !== void 0 ? _SingleValueBinding$_2 : _SingleValueBinding$_[_value$toHashCode] = {};
|
|
25980
|
+
SingleValueBinding.__bindingsBySource__P_93_10[value.toHashCode()][this.toHashCode()] = this;
|
|
25938
25981
|
|
|
25939
25982
|
//Set the input on the first segment of the source path
|
|
25940
|
-
let out = this.
|
|
25983
|
+
let out = this.__sourceSegments__P_93_2[0].setInput(value);
|
|
25941
25984
|
const cb = () => {};
|
|
25942
25985
|
if (qx.Promise.isPromise(out)) {
|
|
25943
25986
|
out = out.then(cb);
|
|
25944
25987
|
} else {
|
|
25945
25988
|
out = cb();
|
|
25946
25989
|
}
|
|
25947
|
-
this.
|
|
25990
|
+
this.__initPromise__P_93_8 = Promise.resolve(out);
|
|
25948
25991
|
return out;
|
|
25949
25992
|
}
|
|
25950
25993
|
},
|
|
@@ -25952,7 +25995,7 @@ try {
|
|
|
25952
25995
|
* @returns {qx.core.Object} the source object
|
|
25953
25996
|
*/
|
|
25954
25997
|
getSource() {
|
|
25955
|
-
return this.
|
|
25998
|
+
return this.__source__P_93_5;
|
|
25956
25999
|
},
|
|
25957
26000
|
/**
|
|
25958
26001
|
* Apply for `targetPath`
|
|
@@ -25961,9 +26004,9 @@ try {
|
|
|
25961
26004
|
if (oldValue) {
|
|
25962
26005
|
throw new Error("Cannot change targetPath after binding has been created");
|
|
25963
26006
|
}
|
|
25964
|
-
this.
|
|
25965
|
-
this.
|
|
25966
|
-
this.
|
|
26007
|
+
this.__record__P_93_6 = null; // invalidate record representation cache
|
|
26008
|
+
this.__targetSegments__P_93_3 = qx.data.SingleValueBinding.__parseSegments__P_93_9(this, value);
|
|
26009
|
+
this.__targetSegments__P_93_3.at(-1).setChangeInputCallback(() => this.__updateTarget__P_93_11());
|
|
25967
26010
|
},
|
|
25968
26011
|
/**
|
|
25969
26012
|
* Sets the target object of this binding.
|
|
@@ -25975,27 +26018,27 @@ try {
|
|
|
25975
26018
|
* If everything was synchronous, then this will return null.
|
|
25976
26019
|
*/
|
|
25977
26020
|
setTarget(value) {
|
|
25978
|
-
if (this.
|
|
26021
|
+
if (this.__target__P_93_7 === value) {
|
|
25979
26022
|
return;
|
|
25980
26023
|
}
|
|
25981
|
-
this.
|
|
25982
|
-
this.
|
|
25983
|
-
let oldValue = this.
|
|
25984
|
-
this.
|
|
26024
|
+
this.__record__P_93_6 = null; // invalidate record representation cache
|
|
26025
|
+
this.__initPromise__P_93_8 = null; // reset the init promise, as the target has changed
|
|
26026
|
+
let oldValue = this.__target__P_93_7;
|
|
26027
|
+
this.__target__P_93_7 = value;
|
|
25985
26028
|
const SingleValueBinding = qx.data.SingleValueBinding;
|
|
25986
26029
|
if (oldValue) {
|
|
25987
|
-
delete SingleValueBinding.
|
|
25988
|
-
if (qx.lang.Object.isEmpty(SingleValueBinding.
|
|
25989
|
-
delete SingleValueBinding.
|
|
26030
|
+
delete SingleValueBinding.__bindingsByTarget__P_93_12[oldValue.toHashCode()][this.toHashCode()];
|
|
26031
|
+
if (qx.lang.Object.isEmpty(SingleValueBinding.__bindingsByTarget__P_93_12[oldValue.toHashCode()])) {
|
|
26032
|
+
delete SingleValueBinding.__bindingsByTarget__P_93_12[oldValue.toHashCode()];
|
|
25990
26033
|
}
|
|
25991
26034
|
}
|
|
25992
26035
|
if (value) {
|
|
25993
26036
|
var _SingleValueBinding$_3, _value$toHashCode2, _SingleValueBinding$_4;
|
|
25994
26037
|
const SingleValueBinding = qx.data.SingleValueBinding;
|
|
25995
|
-
(_SingleValueBinding$_4 = (_SingleValueBinding$_3 = SingleValueBinding.
|
|
25996
|
-
SingleValueBinding.
|
|
25997
|
-
let out = this.
|
|
25998
|
-
this.
|
|
26038
|
+
(_SingleValueBinding$_4 = (_SingleValueBinding$_3 = SingleValueBinding.__bindingsByTarget__P_93_12)[_value$toHashCode2 = value.toHashCode()]) !== null && _SingleValueBinding$_4 !== void 0 ? _SingleValueBinding$_4 : _SingleValueBinding$_3[_value$toHashCode2] = {};
|
|
26039
|
+
SingleValueBinding.__bindingsByTarget__P_93_12[value.toHashCode()][this.toHashCode()] = this;
|
|
26040
|
+
let out = this.__targetSegments__P_93_3[0].setInput(value);
|
|
26041
|
+
this.__initPromise__P_93_8 = Promise.resolve(out);
|
|
25999
26042
|
return out;
|
|
26000
26043
|
}
|
|
26001
26044
|
},
|
|
@@ -26004,7 +26047,7 @@ try {
|
|
|
26004
26047
|
* @returns {qx.core.Object} the target object
|
|
26005
26048
|
*/
|
|
26006
26049
|
getTarget() {
|
|
26007
|
-
return this.
|
|
26050
|
+
return this.__target__P_93_7;
|
|
26008
26051
|
},
|
|
26009
26052
|
/**
|
|
26010
26053
|
* This method should not be called directly.
|
|
@@ -26014,42 +26057,42 @@ try {
|
|
|
26014
26057
|
* @param {*} input
|
|
26015
26058
|
*/
|
|
26016
26059
|
setInput(input) {
|
|
26017
|
-
return this.
|
|
26060
|
+
return this.__setValue__P_93_13(input);
|
|
26018
26061
|
},
|
|
26019
26062
|
/**
|
|
26020
26063
|
*
|
|
26021
26064
|
* @param {*} value The final value obtained from the sourcePath
|
|
26022
26065
|
* @returns {Promise?} A promise if setting the target is asynchronous, otherwise null
|
|
26023
26066
|
*/
|
|
26024
|
-
|
|
26025
|
-
if (this.
|
|
26067
|
+
__setValue__P_93_13(value) {
|
|
26068
|
+
if (this.__value__P_93_4 === value) {
|
|
26026
26069
|
return null; // no change
|
|
26027
26070
|
}
|
|
26028
|
-
this.
|
|
26029
|
-
return this.
|
|
26071
|
+
this.__value__P_93_4 = value;
|
|
26072
|
+
return this.__updateTarget__P_93_11();
|
|
26030
26073
|
},
|
|
26031
26074
|
/**
|
|
26032
26075
|
*
|
|
26033
26076
|
* @returns {*} the value that was set by the sourcePath
|
|
26034
26077
|
*/
|
|
26035
26078
|
getValue() {
|
|
26036
|
-
return this.
|
|
26079
|
+
return this.__value__P_93_4;
|
|
26037
26080
|
},
|
|
26038
26081
|
/**
|
|
26039
26082
|
* Updates the target with the current value
|
|
26040
26083
|
*/
|
|
26041
|
-
|
|
26042
|
-
if (this.
|
|
26084
|
+
__updateTarget__P_93_11() {
|
|
26085
|
+
if (this.__targetSegments__P_93_3) {
|
|
26043
26086
|
//We need to make sure the target segments are up to date
|
|
26044
26087
|
//because the listeners may trigger after this point.
|
|
26045
26088
|
//This is important in bidirectional bindings.
|
|
26046
|
-
for (let segment of this.
|
|
26089
|
+
for (let segment of this.__targetSegments__P_93_3) {
|
|
26047
26090
|
if (segment.getOutputReceiver()) {
|
|
26048
26091
|
segment.updateOutput();
|
|
26049
26092
|
}
|
|
26050
26093
|
}
|
|
26051
26094
|
}
|
|
26052
|
-
let lastSegment = this.
|
|
26095
|
+
let lastSegment = this.__targetSegments__P_93_3.at(-1);
|
|
26053
26096
|
if (this.getTarget() && this.getSource()) {
|
|
26054
26097
|
let value = this.getValue();
|
|
26055
26098
|
let ignoreConverter = false;
|
|
@@ -26087,9 +26130,9 @@ try {
|
|
|
26087
26130
|
},
|
|
26088
26131
|
statics: {
|
|
26089
26132
|
/** @type {Object<String,Object<String,Binding>>} map of maps, outer map is indexed by object hash, inner is indexed by binding hash */
|
|
26090
|
-
|
|
26133
|
+
__bindingsBySource__P_93_10: {},
|
|
26091
26134
|
/** @type {Object<String,Object<String,Binding>>} map of maps, outer map is indexed by object hash, inner is indexed by binding hash */
|
|
26092
|
-
|
|
26135
|
+
__bindingsByTarget__P_93_12: {},
|
|
26093
26136
|
/**
|
|
26094
26137
|
* @see {qx.data.SingleValueBinding#construct}
|
|
26095
26138
|
*/
|
|
@@ -26159,7 +26202,7 @@ try {
|
|
|
26159
26202
|
let model = typeof targetObject.getModel == "function" ? targetObject.getModel() : null;
|
|
26160
26203
|
value = options.converter(value, model, sourceObject, targetObject);
|
|
26161
26204
|
}
|
|
26162
|
-
return this.
|
|
26205
|
+
return this.__setTargetValue__P_93_14(targetObject, targetPropertyChain, value);
|
|
26163
26206
|
},
|
|
26164
26207
|
/**
|
|
26165
26208
|
* Sets the given value to the given target after resolving the
|
|
@@ -26171,34 +26214,14 @@ try {
|
|
|
26171
26214
|
* separated with a dot.
|
|
26172
26215
|
* @param value {var} The value to set.
|
|
26173
26216
|
*/
|
|
26174
|
-
|
|
26175
|
-
let segments = qx.data.SingleValueBinding.
|
|
26217
|
+
__setTargetValue__P_93_14(targetObject, targetPropertyChain, value) {
|
|
26218
|
+
let segments = qx.data.SingleValueBinding.__parseSegments__P_93_9(null, targetPropertyChain);
|
|
26176
26219
|
let lastSegment = segments[segments.length - 1];
|
|
26177
26220
|
segments[0].setInput(targetObject);
|
|
26178
26221
|
let out = lastSegment.setTargetValue(value);
|
|
26179
26222
|
segments.forEach(segment => segment.dispose());
|
|
26180
26223
|
return out;
|
|
26181
26224
|
},
|
|
26182
|
-
/**
|
|
26183
|
-
* Splits a property path into segments.
|
|
26184
|
-
* @param {string} path
|
|
26185
|
-
* @returns {string[]} an array of segments, split by dot and square brackets.
|
|
26186
|
-
* For example, splitSegments(`a.b[0].c`) will return `["a", "b", "[0]", "c"]`
|
|
26187
|
-
*/
|
|
26188
|
-
splitSegments(path) {
|
|
26189
|
-
let out = [];
|
|
26190
|
-
for (let dotSplit of path.split(".")) {
|
|
26191
|
-
let bracketSplits = dotSplit.split("[");
|
|
26192
|
-
for (let i = 0; i < bracketSplits.length; i++) {
|
|
26193
|
-
let bracketSplit = bracketSplits[i];
|
|
26194
|
-
if (i > 0) {
|
|
26195
|
-
bracketSplit = "[" + bracketSplit;
|
|
26196
|
-
}
|
|
26197
|
-
out.push(bracketSplit);
|
|
26198
|
-
}
|
|
26199
|
-
}
|
|
26200
|
-
return out.filter(s => s.length > 0);
|
|
26201
|
-
},
|
|
26202
26225
|
/**
|
|
26203
26226
|
* Finds all bindings for an object, as either a source or target
|
|
26204
26227
|
*
|
|
@@ -26209,8 +26232,8 @@ try {
|
|
|
26209
26232
|
var _SingleValueBinding$_5, _SingleValueBinding$_6;
|
|
26210
26233
|
const SingleValueBinding = qx.data.SingleValueBinding;
|
|
26211
26234
|
let allBindings = {
|
|
26212
|
-
...((_SingleValueBinding$_5 = SingleValueBinding.
|
|
26213
|
-
...((_SingleValueBinding$_6 = SingleValueBinding.
|
|
26235
|
+
...((_SingleValueBinding$_5 = SingleValueBinding.__bindingsBySource__P_93_10[object.toHashCode()]) !== null && _SingleValueBinding$_5 !== void 0 ? _SingleValueBinding$_5 : {}),
|
|
26236
|
+
...((_SingleValueBinding$_6 = SingleValueBinding.__bindingsByTarget__P_93_12[object.toHashCode()]) !== null && _SingleValueBinding$_6 !== void 0 ? _SingleValueBinding$_6 : {})
|
|
26214
26237
|
};
|
|
26215
26238
|
return Object.values(allBindings).map(binding => binding.asRecord());
|
|
26216
26239
|
},
|
|
@@ -26226,7 +26249,7 @@ try {
|
|
|
26226
26249
|
* Stores the binding ID, source object, source path, target object and target path respectively.
|
|
26227
26250
|
*/
|
|
26228
26251
|
getAllBindings() {
|
|
26229
|
-
let bindings = qx.data.SingleValueBinding.
|
|
26252
|
+
let bindings = qx.data.SingleValueBinding.__bindingsBySource__P_93_10;
|
|
26230
26253
|
let result = {};
|
|
26231
26254
|
for (let [objectHash, objectBindings] of Object.entries(bindings)) {
|
|
26232
26255
|
let objectBindingsArray = [];
|
|
@@ -26251,7 +26274,7 @@ try {
|
|
|
26251
26274
|
*/
|
|
26252
26275
|
removeRelatedBindings(object, relatedObject) {
|
|
26253
26276
|
const SingleValueBinding = qx.data.SingleValueBinding;
|
|
26254
|
-
let bySourceObject = SingleValueBinding.
|
|
26277
|
+
let bySourceObject = SingleValueBinding.__bindingsBySource__P_93_10[object.toHashCode()];
|
|
26255
26278
|
if (bySourceObject) {
|
|
26256
26279
|
Object.values(bySourceObject).forEach(binding => {
|
|
26257
26280
|
if (binding.getTarget() === relatedObject) {
|
|
@@ -26259,7 +26282,7 @@ try {
|
|
|
26259
26282
|
}
|
|
26260
26283
|
});
|
|
26261
26284
|
}
|
|
26262
|
-
let byRelatedObject = SingleValueBinding.
|
|
26285
|
+
let byRelatedObject = SingleValueBinding.__bindingsBySource__P_93_10[relatedObject.toHashCode()];
|
|
26263
26286
|
if (byRelatedObject) {
|
|
26264
26287
|
Object.values(byRelatedObject).forEach(binding => {
|
|
26265
26288
|
if (binding.getTarget() === object) {
|
|
@@ -26268,67 +26291,6 @@ try {
|
|
|
26268
26291
|
});
|
|
26269
26292
|
}
|
|
26270
26293
|
},
|
|
26271
|
-
/**
|
|
26272
|
-
* Helper method that sets a value for a named property
|
|
26273
|
-
*
|
|
26274
|
-
* @param {qx.core.Object} target object to have a property set
|
|
26275
|
-
* @param {String} propertyName the name of the property
|
|
26276
|
-
* @param {Object?} value the value to set
|
|
26277
|
-
*/
|
|
26278
|
-
set(target, propertyName, value) {
|
|
26279
|
-
let prop = qx.util.PropertyUtil.getProperty(target.constructor, propertyName);
|
|
26280
|
-
if (!prop) {
|
|
26281
|
-
let setFuncName = "set" + qx.lang.String.firstUp(propertyName);
|
|
26282
|
-
if (typeof target[setFuncName] == "function") {
|
|
26283
|
-
return target[setFuncName](value);
|
|
26284
|
-
} else {
|
|
26285
|
-
throw new Error(`Property ${propertyName} not found on ${target.classname}`);
|
|
26286
|
-
}
|
|
26287
|
-
}
|
|
26288
|
-
if (prop.isAsync()) {
|
|
26289
|
-
return prop.setAsync(target, value);
|
|
26290
|
-
} else {
|
|
26291
|
-
return prop.set(target, value);
|
|
26292
|
-
}
|
|
26293
|
-
},
|
|
26294
|
-
/**
|
|
26295
|
-
* Helper method to get a value of a named property
|
|
26296
|
-
*
|
|
26297
|
-
* @param {qx.core.Object} target object to have a property get
|
|
26298
|
-
* @param {String} propertyName the name of the property
|
|
26299
|
-
* @returns {Object?} the property value
|
|
26300
|
-
*/
|
|
26301
|
-
get(target, propertyName) {
|
|
26302
|
-
let prop = qx.util.PropertyUtil.getProperty(target.constructor, propertyName);
|
|
26303
|
-
if (prop.isAsync()) {
|
|
26304
|
-
return prop.getAsync(target);
|
|
26305
|
-
} else {
|
|
26306
|
-
return prop.get(target);
|
|
26307
|
-
}
|
|
26308
|
-
},
|
|
26309
|
-
/**
|
|
26310
|
-
* Helper method that resets a named property
|
|
26311
|
-
*
|
|
26312
|
-
* @param {qx.core.Object} target object to have a property set
|
|
26313
|
-
* @param {String} propertyName the name of the property
|
|
26314
|
-
|
|
26315
|
-
*/
|
|
26316
|
-
reset(target, propertyName) {
|
|
26317
|
-
let prop = qx.util.PropertyUtil.getProperty(target.constructor, propertyName);
|
|
26318
|
-
if (!prop) {
|
|
26319
|
-
let setFuncName = "reset" + qx.lang.String.firstUp(propertyName);
|
|
26320
|
-
if (typeof target[setFuncName] == "function") {
|
|
26321
|
-
return target[setFuncName]();
|
|
26322
|
-
} else {
|
|
26323
|
-
throw new Error(`Property ${propertyName} not found on ${target.classname}`);
|
|
26324
|
-
}
|
|
26325
|
-
}
|
|
26326
|
-
if (prop.isAsync()) {
|
|
26327
|
-
return prop.resetAsync(target);
|
|
26328
|
-
} else {
|
|
26329
|
-
return prop.reset(target);
|
|
26330
|
-
}
|
|
26331
|
-
},
|
|
26332
26294
|
/**
|
|
26333
26295
|
*
|
|
26334
26296
|
* Internal helper for getting the current set value at the property chain.
|
|
@@ -26339,7 +26301,7 @@ try {
|
|
|
26339
26301
|
* @return {var?undefined} Returns the set value if defined.
|
|
26340
26302
|
*/
|
|
26341
26303
|
resolvePropertyChain(object, propertyChain) {
|
|
26342
|
-
let segments = qx.data.SingleValueBinding.
|
|
26304
|
+
let segments = qx.data.SingleValueBinding.__parseSegments__P_93_9(null, propertyChain);
|
|
26343
26305
|
let out;
|
|
26344
26306
|
let receiver = {
|
|
26345
26307
|
setInput(value) {
|
|
@@ -26369,24 +26331,50 @@ try {
|
|
|
26369
26331
|
* @param {String} path the path to parse
|
|
26370
26332
|
* @return {qx.data.binding.AbstractSegment[]?} the new array of segments
|
|
26371
26333
|
*/
|
|
26372
|
-
|
|
26373
|
-
let segsStrings =
|
|
26334
|
+
__parseSegments__P_93_9(binding, path) {
|
|
26335
|
+
let segsStrings = this.__splitSegments__P_93_15(path);
|
|
26336
|
+
//should be let segsStrings = path.split(/\.|(?=\[)|(?<=\])/g);// split by dot or square brackets, but keep the brackets as part of the segments
|
|
26337
|
+
//but this breaks our Rhino because it's really old
|
|
26338
|
+
//TODO update Rhino
|
|
26339
|
+
|
|
26374
26340
|
let segments = [];
|
|
26375
|
-
|
|
26341
|
+
let previous;
|
|
26342
|
+
for (let segStr of segsStrings) {
|
|
26343
|
+
let seg;
|
|
26376
26344
|
//if it's an array index:
|
|
26377
|
-
if (
|
|
26378
|
-
|
|
26345
|
+
if (segStr.startsWith("[")) {
|
|
26346
|
+
seg = new qx.data.binding.ArrayIndexSegment(binding, segStr);
|
|
26379
26347
|
} else {
|
|
26380
26348
|
//otherwise, it's a normal path
|
|
26381
|
-
|
|
26349
|
+
seg = new qx.data.binding.PropNameSegment(binding, segStr);
|
|
26382
26350
|
}
|
|
26383
|
-
|
|
26384
|
-
|
|
26385
|
-
if (index < segments.length - 1) {
|
|
26386
|
-
seg.setOutputReceiver(segments[index + 1]);
|
|
26351
|
+
if (previous) {
|
|
26352
|
+
previous.setOutputReceiver(seg);
|
|
26387
26353
|
}
|
|
26388
|
-
|
|
26354
|
+
previous = seg;
|
|
26355
|
+
segments.push(seg);
|
|
26356
|
+
}
|
|
26389
26357
|
return segments;
|
|
26358
|
+
},
|
|
26359
|
+
/**
|
|
26360
|
+
* Splits a property path into segments.
|
|
26361
|
+
* @param {string} path
|
|
26362
|
+
* @returns {string[]} an array of segments, split by dot and square brackets.
|
|
26363
|
+
* For example, splitSegments(`a.b[0].c`) will return `["a", "b", "[0]", "c"]`
|
|
26364
|
+
*/
|
|
26365
|
+
__splitSegments__P_93_15(path) {
|
|
26366
|
+
let out = [];
|
|
26367
|
+
for (let dotSplit of path.split(".")) {
|
|
26368
|
+
let bracketSplits = dotSplit.split("[");
|
|
26369
|
+
for (let i = 0; i < bracketSplits.length; i++) {
|
|
26370
|
+
let bracketSplit = bracketSplits[i];
|
|
26371
|
+
if (i > 0) {
|
|
26372
|
+
bracketSplit = "[" + bracketSplit;
|
|
26373
|
+
}
|
|
26374
|
+
out.push(bracketSplit);
|
|
26375
|
+
}
|
|
26376
|
+
}
|
|
26377
|
+
return out.filter(s => s.length > 0);
|
|
26390
26378
|
}
|
|
26391
26379
|
}
|
|
26392
26380
|
});
|
|
@@ -32399,103 +32387,6 @@ try {
|
|
|
32399
32387
|
qx.bom.webfonts.WebFont.$$dbClassInfo = $$dbClassInfo;
|
|
32400
32388
|
})();
|
|
32401
32389
|
|
|
32402
|
-
(function () {
|
|
32403
|
-
var $$dbClassInfo = {
|
|
32404
|
-
"dependsOn": {
|
|
32405
|
-
"qx.Class": {
|
|
32406
|
-
"usage": "dynamic",
|
|
32407
|
-
"require": true
|
|
32408
|
-
},
|
|
32409
|
-
"qx.core.Object": {}
|
|
32410
|
-
}
|
|
32411
|
-
};
|
|
32412
|
-
qx.Bootstrap.executePendingDefers($$dbClassInfo);
|
|
32413
|
-
/* ************************************************************************
|
|
32414
|
-
|
|
32415
|
-
qooxdoo - the new era of web development
|
|
32416
|
-
|
|
32417
|
-
http://qooxdoo.org
|
|
32418
|
-
|
|
32419
|
-
Copyright:
|
|
32420
|
-
2009 1&1 Internet AG, Germany, http://www.1und1.de
|
|
32421
|
-
|
|
32422
|
-
License:
|
|
32423
|
-
MIT: https://opensource.org/licenses/MIT
|
|
32424
|
-
See the LICENSE file in the project's top-level directory for details.
|
|
32425
|
-
|
|
32426
|
-
Authors:
|
|
32427
|
-
* Fabian Jakobs (fjakobs)
|
|
32428
|
-
|
|
32429
|
-
************************************************************************ */
|
|
32430
|
-
|
|
32431
|
-
/**
|
|
32432
|
-
* A helper class for accessing the property system directly.
|
|
32433
|
-
*
|
|
32434
|
-
* This class is rather to be used internally. For all regular usage of the
|
|
32435
|
-
* property system the default API should be sufficient.
|
|
32436
|
-
*
|
|
32437
|
-
* Prior to v8, this class included methods to get/set the user, theme, and init values
|
|
32438
|
-
* of properties independently - this methods circumvented the normal operation of the
|
|
32439
|
-
* property mechanism. It could be argued that the `get` methods are alloweed, and
|
|
32440
|
-
* in some cases can be replicated via the property system, but their meaning was different,
|
|
32441
|
-
* ie even `getUserValue` would not return the value of the property, but the value set
|
|
32442
|
-
* by a user and not overridden by a theme. For this reason, the `get` methods are not
|
|
32443
|
-
* truely compatible and anyone using those methods should think again about exactly what
|
|
32444
|
-
* they are trying to achieve, and probably revise their process.
|
|
32445
|
-
*
|
|
32446
|
-
* As it stands, any use of this class needs to be reviewed from v8 onwards because the
|
|
32447
|
-
* `getProperties`/`getAllProperties` methods return instances of `qx.core.property.Property`
|
|
32448
|
-
* and not the old POJO.
|
|
32449
|
-
*/
|
|
32450
|
-
qx.Class.define("qx.util.PropertyUtil", {
|
|
32451
|
-
statics: {
|
|
32452
|
-
/**
|
|
32453
|
-
* Get the property map of the given class
|
|
32454
|
-
*
|
|
32455
|
-
* @param clazz {qx.Class|qx.core.Object} a qooxdoo class
|
|
32456
|
-
* @return {Object<String,qx.core.property.Property>} A properties map as defined in {@link qx.Class#define}
|
|
32457
|
-
* including the properties of included mixins and not including refined
|
|
32458
|
-
* properties.
|
|
32459
|
-
*/
|
|
32460
|
-
getProperties(clazz) {
|
|
32461
|
-
if (clazz instanceof qx.core.Object) {
|
|
32462
|
-
clazz = clazz.constructor;
|
|
32463
|
-
}
|
|
32464
|
-
return clazz.prototype.$$properties;
|
|
32465
|
-
},
|
|
32466
|
-
/**
|
|
32467
|
-
* Get the property map of the given class including the properties of all
|
|
32468
|
-
* superclasses
|
|
32469
|
-
*
|
|
32470
|
-
* @param clazz {qx.Class|qx.core.Object} a qooxdoo class
|
|
32471
|
-
* @return {Object<String,qx.core.property.Property>} The properties map as defined in {@link qx.Class#define}
|
|
32472
|
-
* including the properties of included mixins of the current class and
|
|
32473
|
-
* all superclasses.
|
|
32474
|
-
*/
|
|
32475
|
-
getAllProperties(clazz) {
|
|
32476
|
-
if (clazz instanceof qx.core.Object) {
|
|
32477
|
-
clazz = clazz.constructor;
|
|
32478
|
-
}
|
|
32479
|
-
return clazz.prototype.$$allProperties;
|
|
32480
|
-
},
|
|
32481
|
-
/**
|
|
32482
|
-
* Returns the property object for a givemn property
|
|
32483
|
-
*
|
|
32484
|
-
* @param {qx.Class|qx.core.Object} clazz
|
|
32485
|
-
* @param {String} propertyName
|
|
32486
|
-
* @returns {qx.core.property.Property}
|
|
32487
|
-
*/
|
|
32488
|
-
getProperty(clazz, propertyName) {
|
|
32489
|
-
if (clazz instanceof qx.core.Object) {
|
|
32490
|
-
clazz = clazz.constructor;
|
|
32491
|
-
}
|
|
32492
|
-
return clazz.prototype.$$allProperties[propertyName] || null;
|
|
32493
|
-
}
|
|
32494
|
-
}
|
|
32495
|
-
});
|
|
32496
|
-
qx.util.PropertyUtil.$$dbClassInfo = $$dbClassInfo;
|
|
32497
|
-
})();
|
|
32498
|
-
|
|
32499
32390
|
(function () {
|
|
32500
32391
|
var $$dbClassInfo = {
|
|
32501
32392
|
"dependsOn": {
|
|
@@ -32560,14 +32451,12 @@ try {
|
|
|
32560
32451
|
event: "changeEventName"
|
|
32561
32452
|
}
|
|
32562
32453
|
},
|
|
32563
|
-
/**
|
|
32564
|
-
* Fired when this segment's input changed, and it has been received and fully processed by the next segments in the chain,
|
|
32565
|
-
* i.e. any async set/get operations have completed.
|
|
32566
|
-
*/
|
|
32567
|
-
events: {
|
|
32568
|
-
changeInput: "qx.event.type.Data"
|
|
32569
|
-
},
|
|
32570
32454
|
members: {
|
|
32455
|
+
/**
|
|
32456
|
+
* Called when this segment's input changed, and it has been received and fully processed by the next segments in the chain,
|
|
32457
|
+
* i.e. any async set/get operations have completed.
|
|
32458
|
+
*/
|
|
32459
|
+
__changeInputCallback__P_94_1: () => {},
|
|
32571
32460
|
/**
|
|
32572
32461
|
* @type {qx.data.SingleValueBinding}
|
|
32573
32462
|
*/
|
|
@@ -32575,11 +32464,18 @@ try {
|
|
|
32575
32464
|
/**
|
|
32576
32465
|
* @type {qx.core.Object}
|
|
32577
32466
|
*/
|
|
32578
|
-
|
|
32467
|
+
__input__P_94_2: undefined,
|
|
32579
32468
|
/**
|
|
32580
32469
|
* @type {qx.data.binding.IInputReceiver}
|
|
32581
32470
|
*/
|
|
32582
|
-
|
|
32471
|
+
__outputReceiver__P_94_3: null,
|
|
32472
|
+
/**
|
|
32473
|
+
*
|
|
32474
|
+
* @param {Function} callback
|
|
32475
|
+
*/
|
|
32476
|
+
setChangeInputCallback(callback) {
|
|
32477
|
+
this.__changeInputCallback__P_94_1 = callback;
|
|
32478
|
+
},
|
|
32583
32479
|
/**
|
|
32584
32480
|
*
|
|
32585
32481
|
* @returns {qx.data.SingleValueBinding} the binding that this segment belongs to. Useful for debugging purposes.
|
|
@@ -32596,14 +32492,14 @@ try {
|
|
|
32596
32492
|
* @param {qx.data.binding.IInputReceiver} segment
|
|
32597
32493
|
*/
|
|
32598
32494
|
setOutputReceiver(segment) {
|
|
32599
|
-
this.
|
|
32495
|
+
this.__outputReceiver__P_94_3 = segment;
|
|
32600
32496
|
},
|
|
32601
32497
|
/**
|
|
32602
32498
|
*
|
|
32603
32499
|
* @returns {qx.data.binding.IInputReceiver} the object which is meant to receive the output of this segment
|
|
32604
32500
|
*/
|
|
32605
32501
|
getOutputReceiver() {
|
|
32606
|
-
return this.
|
|
32502
|
+
return this.__outputReceiver__P_94_3;
|
|
32607
32503
|
},
|
|
32608
32504
|
/**
|
|
32609
32505
|
* @override
|
|
@@ -32619,16 +32515,16 @@ try {
|
|
|
32619
32515
|
* If it's synchronous, it returns null.
|
|
32620
32516
|
*/
|
|
32621
32517
|
setInput(value) {
|
|
32622
|
-
if (value === this.
|
|
32518
|
+
if (value === this.__input__P_94_2) {
|
|
32623
32519
|
return null; // no change
|
|
32624
32520
|
}
|
|
32625
|
-
let old = this.
|
|
32626
|
-
this.
|
|
32521
|
+
let old = this.__input__P_94_2;
|
|
32522
|
+
this.__input__P_94_2 = value;
|
|
32627
32523
|
let out = this._applyInput(value, old);
|
|
32628
32524
|
if (qx.lang.Type.isPromise(out)) {
|
|
32629
|
-
return out.then(() => this.
|
|
32525
|
+
return out.then(() => this.__changeInputCallback__P_94_1(value, old));
|
|
32630
32526
|
} else {
|
|
32631
|
-
return this.
|
|
32527
|
+
return this.__changeInputCallback__P_94_1(value, old);
|
|
32632
32528
|
}
|
|
32633
32529
|
},
|
|
32634
32530
|
/**
|
|
@@ -32636,7 +32532,7 @@ try {
|
|
|
32636
32532
|
* @returns {qx.core.Object} the input value that this segment is currently using
|
|
32637
32533
|
*/
|
|
32638
32534
|
getInput() {
|
|
32639
|
-
return this.
|
|
32535
|
+
return this.__input__P_94_2;
|
|
32640
32536
|
},
|
|
32641
32537
|
/**
|
|
32642
32538
|
* @abstract
|
|
@@ -32663,10 +32559,10 @@ try {
|
|
|
32663
32559
|
* If it's synchronous, it returns null.
|
|
32664
32560
|
*/
|
|
32665
32561
|
_setOutput(output) {
|
|
32666
|
-
if (!this.
|
|
32562
|
+
if (!this.__outputReceiver__P_94_3) {
|
|
32667
32563
|
throw new Error("No output receiver set");
|
|
32668
32564
|
}
|
|
32669
|
-
return this.
|
|
32565
|
+
return this.__outputReceiver__P_94_3.setInput(output);
|
|
32670
32566
|
},
|
|
32671
32567
|
/**
|
|
32672
32568
|
* Computes the output value based on the input and calls _setOutput with that value.
|
|
@@ -32707,8 +32603,7 @@ try {
|
|
|
32707
32603
|
},
|
|
32708
32604
|
"qx.lang.String": {
|
|
32709
32605
|
"construct": true
|
|
32710
|
-
}
|
|
32711
|
-
"qx.data.SingleValueBinding": {}
|
|
32606
|
+
}
|
|
32712
32607
|
}
|
|
32713
32608
|
};
|
|
32714
32609
|
qx.Bootstrap.executePendingDefers($$dbClassInfo);
|
|
@@ -32772,6 +32667,9 @@ try {
|
|
|
32772
32667
|
* Apply for `input`
|
|
32773
32668
|
*/
|
|
32774
32669
|
_applyInput(value, oldValue) {
|
|
32670
|
+
if (!this.getOutputReceiver()) {
|
|
32671
|
+
return;
|
|
32672
|
+
}
|
|
32775
32673
|
if (oldValue) {
|
|
32776
32674
|
let eventName = this.__getEventName__P_96_1(oldValue);
|
|
32777
32675
|
eventName && oldValue.removeListener(eventName, this.__onChangeInputProperty__P_96_2, this);
|
|
@@ -32782,9 +32680,7 @@ try {
|
|
|
32782
32680
|
eventName && value.addListener(eventName, this.__onChangeInputProperty__P_96_2, this);
|
|
32783
32681
|
this.setEventName(eventName);
|
|
32784
32682
|
}
|
|
32785
|
-
|
|
32786
|
-
return this.updateOutput();
|
|
32787
|
-
}
|
|
32683
|
+
return this.updateOutput();
|
|
32788
32684
|
},
|
|
32789
32685
|
updateOutput() {
|
|
32790
32686
|
let input = this.getInput();
|
|
@@ -32795,8 +32691,8 @@ try {
|
|
|
32795
32691
|
if (property === null) {
|
|
32796
32692
|
return this._setOutput(null);
|
|
32797
32693
|
}
|
|
32798
|
-
if (!property.
|
|
32799
|
-
let nextInput = property.get(input
|
|
32694
|
+
if (!property.supportsGetAsync() || property.hasLocalValue(input)) {
|
|
32695
|
+
let nextInput = property.get(input);
|
|
32800
32696
|
return this._setOutput(nextInput);
|
|
32801
32697
|
} else {
|
|
32802
32698
|
let promise = property.getAsync(input);
|
|
@@ -32808,13 +32704,30 @@ try {
|
|
|
32808
32704
|
* @override
|
|
32809
32705
|
*/
|
|
32810
32706
|
setTargetValue(targetValue) {
|
|
32811
|
-
|
|
32707
|
+
var _this$getBinding;
|
|
32708
|
+
let input = this.getInput();
|
|
32709
|
+
if (input == null || input === undefined) {
|
|
32812
32710
|
return;
|
|
32813
32711
|
}
|
|
32712
|
+
let async = (_this$getBinding = this.getBinding()) === null || _this$getBinding === void 0 ? void 0 : _this$getBinding.isAsync();
|
|
32713
|
+
|
|
32714
|
+
//get the setter method name
|
|
32715
|
+
let upname = qx.lang.String.firstUp(this.__propName__P_96_0);
|
|
32716
|
+
let method;
|
|
32814
32717
|
if (targetValue !== undefined) {
|
|
32815
|
-
|
|
32718
|
+
if (async) {
|
|
32719
|
+
method = `set${upname}Async`;
|
|
32720
|
+
} else {
|
|
32721
|
+
method = `set${upname}`;
|
|
32722
|
+
}
|
|
32723
|
+
return input[method](targetValue);
|
|
32816
32724
|
} else {
|
|
32817
|
-
|
|
32725
|
+
if (async) {
|
|
32726
|
+
method = `reset${upname}Async`;
|
|
32727
|
+
} else {
|
|
32728
|
+
method = `reset${upname}`;
|
|
32729
|
+
}
|
|
32730
|
+
return input[method]();
|
|
32818
32731
|
}
|
|
32819
32732
|
},
|
|
32820
32733
|
/**
|
|
@@ -32823,9 +32736,7 @@ try {
|
|
|
32823
32736
|
* @param {qx.event.type.Data} evt
|
|
32824
32737
|
*/
|
|
32825
32738
|
__onChangeInputProperty__P_96_2(evt) {
|
|
32826
|
-
|
|
32827
|
-
return this._setOutput(evt.getData());
|
|
32828
|
-
}
|
|
32739
|
+
return this._setOutput(evt.getData());
|
|
32829
32740
|
},
|
|
32830
32741
|
/**
|
|
32831
32742
|
*
|
|
@@ -47895,7 +47806,7 @@ try {
|
|
|
47895
47806
|
* @return {String}
|
|
47896
47807
|
*/
|
|
47897
47808
|
getCompilerVersion() {
|
|
47898
|
-
return "8.0.0-beta.
|
|
47809
|
+
return "8.0.0-beta.3";
|
|
47899
47810
|
},
|
|
47900
47811
|
/**
|
|
47901
47812
|
* Returns the qooxdoo version used in the application in the current or given
|
|
@@ -56934,8 +56845,7 @@ Version: v${await qx.tool.config.Utils.getQxVersion()}
|
|
|
56934
56845
|
init: null,
|
|
56935
56846
|
nullable: true,
|
|
56936
56847
|
check: "qx.tool.compiler.cli.Command",
|
|
56937
|
-
event: "changeCommand"
|
|
56938
|
-
async: true
|
|
56848
|
+
event: "changeCommand"
|
|
56939
56849
|
}
|
|
56940
56850
|
},
|
|
56941
56851
|
members: {
|
|
@@ -76241,6 +76151,30 @@ qx.$$packageData['0'] = {
|
|
|
76241
76151
|
"en": {}
|
|
76242
76152
|
},
|
|
76243
76153
|
"resources": {
|
|
76154
|
+
"qx/decoration/Simple/cursors/alias.gif": [
|
|
76155
|
+
19,
|
|
76156
|
+
15,
|
|
76157
|
+
"gif",
|
|
76158
|
+
"qx"
|
|
76159
|
+
],
|
|
76160
|
+
"qx/decoration/Simple/cursors/copy.gif": [
|
|
76161
|
+
19,
|
|
76162
|
+
15,
|
|
76163
|
+
"gif",
|
|
76164
|
+
"qx"
|
|
76165
|
+
],
|
|
76166
|
+
"qx/decoration/Simple/cursors/move.gif": [
|
|
76167
|
+
13,
|
|
76168
|
+
9,
|
|
76169
|
+
"gif",
|
|
76170
|
+
"qx"
|
|
76171
|
+
],
|
|
76172
|
+
"qx/decoration/Simple/cursors/nodrop.gif": [
|
|
76173
|
+
20,
|
|
76174
|
+
20,
|
|
76175
|
+
"gif",
|
|
76176
|
+
"qx"
|
|
76177
|
+
],
|
|
76244
76178
|
"qx/decoration/Simple/checkbox/checked-disabled.png": [
|
|
76245
76179
|
6,
|
|
76246
76180
|
6,
|
|
@@ -76289,30 +76223,6 @@ qx.$$packageData['0'] = {
|
|
|
76289
76223
|
"gif",
|
|
76290
76224
|
"qx"
|
|
76291
76225
|
],
|
|
76292
|
-
"qx/decoration/Simple/cursors/alias.gif": [
|
|
76293
|
-
19,
|
|
76294
|
-
15,
|
|
76295
|
-
"gif",
|
|
76296
|
-
"qx"
|
|
76297
|
-
],
|
|
76298
|
-
"qx/decoration/Simple/cursors/copy.gif": [
|
|
76299
|
-
19,
|
|
76300
|
-
15,
|
|
76301
|
-
"gif",
|
|
76302
|
-
"qx"
|
|
76303
|
-
],
|
|
76304
|
-
"qx/decoration/Simple/cursors/move.gif": [
|
|
76305
|
-
13,
|
|
76306
|
-
9,
|
|
76307
|
-
"gif",
|
|
76308
|
-
"qx"
|
|
76309
|
-
],
|
|
76310
|
-
"qx/decoration/Simple/cursors/nodrop.gif": [
|
|
76311
|
-
20,
|
|
76312
|
-
20,
|
|
76313
|
-
"gif",
|
|
76314
|
-
"qx"
|
|
76315
|
-
],
|
|
76316
76226
|
"qx/decoration/Simple/arrows/down-invert.gif": [
|
|
76317
76227
|
7,
|
|
76318
76228
|
4,
|
|
@@ -76409,18 +76319,6 @@ qx.$$packageData['0'] = {
|
|
|
76409
76319
|
"gif",
|
|
76410
76320
|
"qx"
|
|
76411
76321
|
],
|
|
76412
|
-
"qx/decoration/Simple/splitpane/knob-horizontal.png": [
|
|
76413
|
-
1,
|
|
76414
|
-
8,
|
|
76415
|
-
"png",
|
|
76416
|
-
"qx"
|
|
76417
|
-
],
|
|
76418
|
-
"qx/decoration/Simple/splitpane/knob-vertical.png": [
|
|
76419
|
-
8,
|
|
76420
|
-
1,
|
|
76421
|
-
"png",
|
|
76422
|
-
"qx"
|
|
76423
|
-
],
|
|
76424
76322
|
"qx/decoration/Simple/table/ascending-invert.png": [
|
|
76425
76323
|
10,
|
|
76426
76324
|
10,
|
|
@@ -76553,6 +76451,18 @@ qx.$$packageData['0'] = {
|
|
|
76553
76451
|
"gif",
|
|
76554
76452
|
"qx"
|
|
76555
76453
|
],
|
|
76454
|
+
"qx/decoration/Simple/splitpane/knob-horizontal.png": [
|
|
76455
|
+
1,
|
|
76456
|
+
8,
|
|
76457
|
+
"png",
|
|
76458
|
+
"qx"
|
|
76459
|
+
],
|
|
76460
|
+
"qx/decoration/Simple/splitpane/knob-vertical.png": [
|
|
76461
|
+
8,
|
|
76462
|
+
1,
|
|
76463
|
+
"png",
|
|
76464
|
+
"qx"
|
|
76465
|
+
],
|
|
76556
76466
|
"qx/decoration/Simple/window/close-white.gif": [
|
|
76557
76467
|
10,
|
|
76558
76468
|
9,
|
|
@@ -76625,13 +76535,13 @@ qx.$$packageData['0'] = {
|
|
|
76625
76535
|
"json",
|
|
76626
76536
|
"qx"
|
|
76627
76537
|
],
|
|
76628
|
-
"qx/tool/compiler/schema/
|
|
76538
|
+
"qx/tool/compiler/schema/qooxdoo-1-0-0.json": [
|
|
76629
76539
|
null,
|
|
76630
76540
|
null,
|
|
76631
76541
|
"json",
|
|
76632
76542
|
"qx"
|
|
76633
76543
|
],
|
|
76634
|
-
"qx/tool/compiler/schema/
|
|
76544
|
+
"qx/tool/compiler/schema/Manifest-2-0-0.json": [
|
|
76635
76545
|
null,
|
|
76636
76546
|
null,
|
|
76637
76547
|
"json",
|
|
@@ -76649,121 +76559,121 @@ qx.$$packageData['0'] = {
|
|
|
76649
76559
|
"ts",
|
|
76650
76560
|
"qx"
|
|
76651
76561
|
],
|
|
76652
|
-
"qx/tool/compiler/cli/templates/
|
|
76562
|
+
"qx/tool/compiler/cli/templates/class/default.tmpl.js": [
|
|
76653
76563
|
null,
|
|
76654
76564
|
null,
|
|
76655
76565
|
"js",
|
|
76656
76566
|
"qx"
|
|
76657
76567
|
],
|
|
76658
|
-
"qx/tool/compiler/cli/templates/
|
|
76568
|
+
"qx/tool/compiler/cli/templates/class/header.tmpl.js": [
|
|
76659
76569
|
null,
|
|
76660
76570
|
null,
|
|
76661
76571
|
"js",
|
|
76662
76572
|
"qx"
|
|
76663
76573
|
],
|
|
76664
|
-
"qx/tool/compiler/cli/templates/
|
|
76574
|
+
"qx/tool/compiler/cli/templates/class/interface.tmpl.js": [
|
|
76665
76575
|
null,
|
|
76666
76576
|
null,
|
|
76667
76577
|
"js",
|
|
76668
76578
|
"qx"
|
|
76669
76579
|
],
|
|
76670
|
-
"qx/tool/compiler/cli/templates/class/
|
|
76580
|
+
"qx/tool/compiler/cli/templates/class/mixin.tmpl.js": [
|
|
76671
76581
|
null,
|
|
76672
76582
|
null,
|
|
76673
76583
|
"js",
|
|
76674
76584
|
"qx"
|
|
76675
76585
|
],
|
|
76676
|
-
"qx/tool/compiler/cli/templates/class/
|
|
76586
|
+
"qx/tool/compiler/cli/templates/class/singleton.tmpl.js": [
|
|
76677
76587
|
null,
|
|
76678
76588
|
null,
|
|
76679
76589
|
"js",
|
|
76680
76590
|
"qx"
|
|
76681
76591
|
],
|
|
76682
|
-
"qx/tool/compiler/cli/templates/
|
|
76592
|
+
"qx/tool/compiler/cli/templates/loader/loader-browser.tmpl.js": [
|
|
76683
76593
|
null,
|
|
76684
76594
|
null,
|
|
76685
76595
|
"js",
|
|
76686
76596
|
"qx"
|
|
76687
76597
|
],
|
|
76688
|
-
"qx/tool/compiler/cli/templates/
|
|
76598
|
+
"qx/tool/compiler/cli/templates/loader/loader-rhino.tmpl.js": [
|
|
76689
76599
|
null,
|
|
76690
76600
|
null,
|
|
76691
76601
|
"js",
|
|
76692
76602
|
"qx"
|
|
76693
76603
|
],
|
|
76694
|
-
"qx/tool/compiler/cli/templates/
|
|
76604
|
+
"qx/tool/compiler/cli/templates/loader/loader-node.tmpl.js": [
|
|
76695
76605
|
null,
|
|
76696
76606
|
null,
|
|
76697
76607
|
"js",
|
|
76698
76608
|
"qx"
|
|
76699
76609
|
],
|
|
76700
|
-
"qx/tool/compiler/cli/templates/skeleton/
|
|
76610
|
+
"qx/tool/compiler/cli/templates/skeleton/mobile/.gitignore.tmpl": [
|
|
76701
76611
|
null,
|
|
76702
76612
|
null,
|
|
76703
76613
|
"tmpl",
|
|
76704
76614
|
"qx"
|
|
76705
76615
|
],
|
|
76706
|
-
"qx/tool/compiler/cli/templates/skeleton/
|
|
76616
|
+
"qx/tool/compiler/cli/templates/skeleton/mobile/Manifest.tmpl.json": [
|
|
76707
76617
|
null,
|
|
76708
76618
|
null,
|
|
76709
76619
|
"json",
|
|
76710
76620
|
"qx"
|
|
76711
76621
|
],
|
|
76712
|
-
"qx/tool/compiler/cli/templates/skeleton/
|
|
76622
|
+
"qx/tool/compiler/cli/templates/skeleton/mobile/compile.tmpl.json": [
|
|
76713
76623
|
null,
|
|
76714
76624
|
null,
|
|
76715
76625
|
"json",
|
|
76716
76626
|
"qx"
|
|
76717
76627
|
],
|
|
76718
|
-
"qx/tool/compiler/cli/templates/skeleton/
|
|
76628
|
+
"qx/tool/compiler/cli/templates/skeleton/mobile/readme.tmpl.md": [
|
|
76719
76629
|
null,
|
|
76720
76630
|
null,
|
|
76721
76631
|
"md",
|
|
76722
76632
|
"qx"
|
|
76723
76633
|
],
|
|
76724
|
-
"qx/tool/compiler/cli/templates/skeleton/
|
|
76634
|
+
"qx/tool/compiler/cli/templates/skeleton/desktop/.gitignore.tmpl": [
|
|
76725
76635
|
null,
|
|
76726
76636
|
null,
|
|
76727
76637
|
"tmpl",
|
|
76728
76638
|
"qx"
|
|
76729
76639
|
],
|
|
76730
|
-
"qx/tool/compiler/cli/templates/skeleton/
|
|
76640
|
+
"qx/tool/compiler/cli/templates/skeleton/desktop/compile.tmpl.json": [
|
|
76731
76641
|
null,
|
|
76732
76642
|
null,
|
|
76733
76643
|
"json",
|
|
76734
76644
|
"qx"
|
|
76735
76645
|
],
|
|
76736
|
-
"qx/tool/compiler/cli/templates/skeleton/
|
|
76646
|
+
"qx/tool/compiler/cli/templates/skeleton/desktop/Manifest.tmpl.json": [
|
|
76737
76647
|
null,
|
|
76738
76648
|
null,
|
|
76739
76649
|
"json",
|
|
76740
76650
|
"qx"
|
|
76741
76651
|
],
|
|
76742
|
-
"qx/tool/compiler/cli/templates/skeleton/
|
|
76652
|
+
"qx/tool/compiler/cli/templates/skeleton/desktop/readme.tmpl.md": [
|
|
76743
76653
|
null,
|
|
76744
76654
|
null,
|
|
76745
76655
|
"md",
|
|
76746
76656
|
"qx"
|
|
76747
76657
|
],
|
|
76748
|
-
"qx/tool/compiler/cli/templates/skeleton/
|
|
76658
|
+
"qx/tool/compiler/cli/templates/skeleton/package/.gitignore.tmpl": [
|
|
76749
76659
|
null,
|
|
76750
76660
|
null,
|
|
76751
76661
|
"tmpl",
|
|
76752
76662
|
"qx"
|
|
76753
76663
|
],
|
|
76754
|
-
"qx/tool/compiler/cli/templates/skeleton/
|
|
76664
|
+
"qx/tool/compiler/cli/templates/skeleton/package/compile.tmpl.json": [
|
|
76755
76665
|
null,
|
|
76756
76666
|
null,
|
|
76757
76667
|
"json",
|
|
76758
76668
|
"qx"
|
|
76759
76669
|
],
|
|
76760
|
-
"qx/tool/compiler/cli/templates/skeleton/
|
|
76670
|
+
"qx/tool/compiler/cli/templates/skeleton/package/Manifest.tmpl.json": [
|
|
76761
76671
|
null,
|
|
76762
76672
|
null,
|
|
76763
76673
|
"json",
|
|
76764
76674
|
"qx"
|
|
76765
76675
|
],
|
|
76766
|
-
"qx/tool/compiler/cli/templates/skeleton/
|
|
76676
|
+
"qx/tool/compiler/cli/templates/skeleton/package/readme.tmpl.md": [
|
|
76767
76677
|
null,
|
|
76768
76678
|
null,
|
|
76769
76679
|
"md",
|
|
@@ -76793,43 +76703,43 @@ qx.$$packageData['0'] = {
|
|
|
76793
76703
|
"txt",
|
|
76794
76704
|
"qx"
|
|
76795
76705
|
],
|
|
76796
|
-
"qx/tool/compiler/cli/templates/skeleton/
|
|
76706
|
+
"qx/tool/compiler/cli/templates/skeleton/mobile/source/boot/index.tmpl.html": [
|
|
76797
76707
|
null,
|
|
76798
76708
|
null,
|
|
76799
76709
|
"html",
|
|
76800
76710
|
"qx"
|
|
76801
76711
|
],
|
|
76802
|
-
"qx/tool/compiler/cli/templates/skeleton/
|
|
76712
|
+
"qx/tool/compiler/cli/templates/skeleton/mobile/source/boot/nojs.tmpl.html": [
|
|
76803
76713
|
null,
|
|
76804
76714
|
null,
|
|
76805
76715
|
"html",
|
|
76806
76716
|
"qx"
|
|
76807
76717
|
],
|
|
76808
|
-
"qx/tool/compiler/cli/templates/skeleton/
|
|
76718
|
+
"qx/tool/compiler/cli/templates/skeleton/mobile/source/translation/readme.txt": [
|
|
76809
76719
|
null,
|
|
76810
76720
|
null,
|
|
76811
76721
|
"txt",
|
|
76812
76722
|
"qx"
|
|
76813
76723
|
],
|
|
76814
|
-
"qx/tool/compiler/cli/templates/skeleton/
|
|
76724
|
+
"qx/tool/compiler/cli/templates/skeleton/desktop/source/boot/index.tmpl.html": [
|
|
76815
76725
|
null,
|
|
76816
76726
|
null,
|
|
76817
|
-
"
|
|
76727
|
+
"html",
|
|
76818
76728
|
"qx"
|
|
76819
76729
|
],
|
|
76820
|
-
"qx/tool/compiler/cli/templates/skeleton/
|
|
76730
|
+
"qx/tool/compiler/cli/templates/skeleton/desktop/source/boot/nojs.tmpl.html": [
|
|
76821
76731
|
null,
|
|
76822
76732
|
null,
|
|
76823
76733
|
"html",
|
|
76824
76734
|
"qx"
|
|
76825
76735
|
],
|
|
76826
|
-
"qx/tool/compiler/cli/templates/skeleton/
|
|
76736
|
+
"qx/tool/compiler/cli/templates/skeleton/desktop/source/translation/readme.txt": [
|
|
76827
76737
|
null,
|
|
76828
76738
|
null,
|
|
76829
|
-
"
|
|
76739
|
+
"txt",
|
|
76830
76740
|
"qx"
|
|
76831
76741
|
],
|
|
76832
|
-
"qx/tool/compiler/cli/templates/skeleton/
|
|
76742
|
+
"qx/tool/compiler/cli/templates/skeleton/package/source/translation/readme.txt": [
|
|
76833
76743
|
null,
|
|
76834
76744
|
null,
|
|
76835
76745
|
"txt",
|
|
@@ -76841,88 +76751,88 @@ qx.$$packageData['0'] = {
|
|
|
76841
76751
|
"txt",
|
|
76842
76752
|
"qx"
|
|
76843
76753
|
],
|
|
76844
|
-
"qx/tool/compiler/cli/templates/skeleton/
|
|
76754
|
+
"qx/tool/compiler/cli/templates/skeleton/mobile/source/class/custom/Application.tmpl.js": [
|
|
76845
76755
|
null,
|
|
76846
76756
|
null,
|
|
76847
76757
|
"js",
|
|
76848
76758
|
"qx"
|
|
76849
76759
|
],
|
|
76850
|
-
"qx/tool/compiler/cli/templates/skeleton/
|
|
76760
|
+
"qx/tool/compiler/cli/templates/skeleton/mobile/source/class/custom/__init__.tmpl.js": [
|
|
76851
76761
|
null,
|
|
76852
76762
|
null,
|
|
76853
76763
|
"js",
|
|
76854
76764
|
"qx"
|
|
76855
76765
|
],
|
|
76856
|
-
"qx/tool/compiler/cli/templates/skeleton/
|
|
76766
|
+
"qx/tool/compiler/cli/templates/skeleton/mobile/source/resource/custom/app.png": [
|
|
76857
76767
|
180,
|
|
76858
76768
|
180,
|
|
76859
76769
|
"png",
|
|
76860
76770
|
"qx"
|
|
76861
76771
|
],
|
|
76862
|
-
"qx/tool/compiler/cli/templates/skeleton/
|
|
76772
|
+
"qx/tool/compiler/cli/templates/skeleton/mobile/source/resource/custom/favicon.png": [
|
|
76863
76773
|
32,
|
|
76864
76774
|
32,
|
|
76865
76775
|
"png",
|
|
76866
76776
|
"qx"
|
|
76867
76777
|
],
|
|
76868
|
-
"qx/tool/compiler/cli/templates/skeleton/
|
|
76778
|
+
"qx/tool/compiler/cli/templates/skeleton/mobile/source/resource/custom/js_256x256.png": [
|
|
76869
76779
|
256,
|
|
76870
76780
|
256,
|
|
76871
76781
|
"png",
|
|
76872
76782
|
"qx"
|
|
76873
76783
|
],
|
|
76874
|
-
"qx/tool/compiler/cli/templates/skeleton/desktop/source/
|
|
76875
|
-
32,
|
|
76876
|
-
32,
|
|
76877
|
-
"png",
|
|
76878
|
-
"qx"
|
|
76879
|
-
],
|
|
76880
|
-
"qx/tool/compiler/cli/templates/skeleton/package/source/class/custom/Button.tmpl.js": [
|
|
76784
|
+
"qx/tool/compiler/cli/templates/skeleton/desktop/source/class/custom/Application.tmpl.js": [
|
|
76881
76785
|
null,
|
|
76882
76786
|
null,
|
|
76883
76787
|
"js",
|
|
76884
76788
|
"qx"
|
|
76885
76789
|
],
|
|
76886
|
-
"qx/tool/compiler/cli/templates/skeleton/
|
|
76790
|
+
"qx/tool/compiler/cli/templates/skeleton/desktop/source/class/custom/__init__.tmpl.js": [
|
|
76887
76791
|
null,
|
|
76888
76792
|
null,
|
|
76889
76793
|
"js",
|
|
76890
76794
|
"qx"
|
|
76891
76795
|
],
|
|
76892
|
-
"qx/tool/compiler/cli/templates/skeleton/
|
|
76893
|
-
|
|
76894
|
-
|
|
76796
|
+
"qx/tool/compiler/cli/templates/skeleton/desktop/source/resource/custom/app.png": [
|
|
76797
|
+
180,
|
|
76798
|
+
180,
|
|
76895
76799
|
"png",
|
|
76896
76800
|
"qx"
|
|
76897
76801
|
],
|
|
76898
|
-
"qx/tool/compiler/cli/templates/skeleton/
|
|
76899
|
-
|
|
76900
|
-
|
|
76901
|
-
"
|
|
76802
|
+
"qx/tool/compiler/cli/templates/skeleton/desktop/source/resource/custom/favicon.png": [
|
|
76803
|
+
32,
|
|
76804
|
+
32,
|
|
76805
|
+
"png",
|
|
76902
76806
|
"qx"
|
|
76903
76807
|
],
|
|
76904
|
-
"qx/tool/compiler/cli/templates/skeleton/
|
|
76905
|
-
|
|
76906
|
-
|
|
76907
|
-
"
|
|
76808
|
+
"qx/tool/compiler/cli/templates/skeleton/desktop/source/resource/custom/js_256x256.png": [
|
|
76809
|
+
256,
|
|
76810
|
+
256,
|
|
76811
|
+
"png",
|
|
76908
76812
|
"qx"
|
|
76909
76813
|
],
|
|
76910
|
-
"qx/tool/compiler/cli/templates/skeleton/
|
|
76911
|
-
|
|
76912
|
-
|
|
76814
|
+
"qx/tool/compiler/cli/templates/skeleton/desktop/source/resource/custom/test.png": [
|
|
76815
|
+
32,
|
|
76816
|
+
32,
|
|
76913
76817
|
"png",
|
|
76914
76818
|
"qx"
|
|
76915
76819
|
],
|
|
76916
|
-
"qx/tool/compiler/cli/templates/skeleton/
|
|
76820
|
+
"qx/tool/compiler/cli/templates/skeleton/package/source/resource/custom/test.png": [
|
|
76917
76821
|
32,
|
|
76918
76822
|
32,
|
|
76919
76823
|
"png",
|
|
76920
76824
|
"qx"
|
|
76921
76825
|
],
|
|
76922
|
-
"qx/tool/compiler/cli/templates/skeleton/
|
|
76923
|
-
|
|
76924
|
-
|
|
76925
|
-
"
|
|
76826
|
+
"qx/tool/compiler/cli/templates/skeleton/package/source/class/custom/Button.tmpl.js": [
|
|
76827
|
+
null,
|
|
76828
|
+
null,
|
|
76829
|
+
"js",
|
|
76830
|
+
"qx"
|
|
76831
|
+
],
|
|
76832
|
+
"qx/tool/compiler/cli/templates/skeleton/package/source/class/custom/__init__.tmpl.js": [
|
|
76833
|
+
null,
|
|
76834
|
+
null,
|
|
76835
|
+
"js",
|
|
76926
76836
|
"qx"
|
|
76927
76837
|
],
|
|
76928
76838
|
"qx/tool/compiler/cli/templates/skeleton/server/source/class/custom/Application.tmpl.js": [
|
|
@@ -76943,124 +76853,124 @@ qx.$$packageData['0'] = {
|
|
|
76943
76853
|
"tmpl",
|
|
76944
76854
|
"qx"
|
|
76945
76855
|
],
|
|
76946
|
-
"qx/tool/compiler/cli/templates/skeleton/
|
|
76856
|
+
"qx/tool/compiler/cli/templates/skeleton/mobile/source/theme/custom/scss/custom.scss": [
|
|
76947
76857
|
null,
|
|
76948
76858
|
null,
|
|
76949
|
-
"
|
|
76859
|
+
"scss",
|
|
76950
76860
|
"qx"
|
|
76951
76861
|
],
|
|
76952
|
-
"qx/tool/compiler/cli/templates/skeleton/
|
|
76862
|
+
"qx/tool/compiler/cli/templates/skeleton/mobile/source/theme/custom/scss/_styles.scss": [
|
|
76953
76863
|
null,
|
|
76954
76864
|
null,
|
|
76955
|
-
"
|
|
76865
|
+
"scss",
|
|
76956
76866
|
"qx"
|
|
76957
76867
|
],
|
|
76958
|
-
"qx/tool/compiler/cli/templates/skeleton/
|
|
76868
|
+
"qx/tool/compiler/cli/templates/skeleton/mobile/source/class/custom/page/Login.tmpl.js": [
|
|
76959
76869
|
null,
|
|
76960
76870
|
null,
|
|
76961
76871
|
"js",
|
|
76962
76872
|
"qx"
|
|
76963
76873
|
],
|
|
76964
|
-
"qx/tool/compiler/cli/templates/skeleton/
|
|
76874
|
+
"qx/tool/compiler/cli/templates/skeleton/mobile/source/class/custom/page/Overview.tmpl.js": [
|
|
76965
76875
|
null,
|
|
76966
76876
|
null,
|
|
76967
76877
|
"js",
|
|
76968
76878
|
"qx"
|
|
76969
76879
|
],
|
|
76970
|
-
"qx/tool/compiler/cli/templates/skeleton/
|
|
76880
|
+
"qx/tool/compiler/cli/templates/skeleton/mobile/source/class/custom/page/__init__.tmpl.js": [
|
|
76971
76881
|
null,
|
|
76972
76882
|
null,
|
|
76973
76883
|
"js",
|
|
76974
76884
|
"qx"
|
|
76975
76885
|
],
|
|
76976
|
-
"qx/tool/compiler/cli/templates/skeleton/
|
|
76886
|
+
"qx/tool/compiler/cli/templates/skeleton/mobile/source/resource/custom/css/.gitignore.tmpl": [
|
|
76977
76887
|
null,
|
|
76978
76888
|
null,
|
|
76979
|
-
"
|
|
76889
|
+
"tmpl",
|
|
76980
76890
|
"qx"
|
|
76981
76891
|
],
|
|
76982
|
-
"qx/tool/compiler/cli/templates/skeleton/
|
|
76892
|
+
"qx/tool/compiler/cli/templates/skeleton/desktop/source/class/custom/test/DemoTest.tmpl.js": [
|
|
76983
76893
|
null,
|
|
76984
76894
|
null,
|
|
76985
76895
|
"js",
|
|
76986
76896
|
"qx"
|
|
76987
76897
|
],
|
|
76988
|
-
"qx/tool/compiler/cli/templates/skeleton/
|
|
76898
|
+
"qx/tool/compiler/cli/templates/skeleton/desktop/source/class/custom/theme/Appearance.tmpl.js": [
|
|
76989
76899
|
null,
|
|
76990
76900
|
null,
|
|
76991
76901
|
"js",
|
|
76992
76902
|
"qx"
|
|
76993
76903
|
],
|
|
76994
|
-
"qx/tool/compiler/cli/templates/skeleton/
|
|
76904
|
+
"qx/tool/compiler/cli/templates/skeleton/desktop/source/class/custom/theme/Color.tmpl.js": [
|
|
76995
76905
|
null,
|
|
76996
76906
|
null,
|
|
76997
76907
|
"js",
|
|
76998
76908
|
"qx"
|
|
76999
76909
|
],
|
|
77000
|
-
"qx/tool/compiler/cli/templates/skeleton/
|
|
76910
|
+
"qx/tool/compiler/cli/templates/skeleton/desktop/source/class/custom/theme/Decoration.tmpl.js": [
|
|
77001
76911
|
null,
|
|
77002
76912
|
null,
|
|
77003
76913
|
"js",
|
|
77004
76914
|
"qx"
|
|
77005
76915
|
],
|
|
77006
|
-
"qx/tool/compiler/cli/templates/skeleton/
|
|
76916
|
+
"qx/tool/compiler/cli/templates/skeleton/desktop/source/class/custom/theme/Theme.tmpl.js": [
|
|
77007
76917
|
null,
|
|
77008
76918
|
null,
|
|
77009
76919
|
"js",
|
|
77010
76920
|
"qx"
|
|
77011
76921
|
],
|
|
77012
|
-
"qx/tool/compiler/cli/templates/skeleton/
|
|
76922
|
+
"qx/tool/compiler/cli/templates/skeleton/desktop/source/class/custom/theme/Font.tmpl.js": [
|
|
77013
76923
|
null,
|
|
77014
76924
|
null,
|
|
77015
76925
|
"js",
|
|
77016
76926
|
"qx"
|
|
77017
76927
|
],
|
|
77018
|
-
"qx/tool/compiler/cli/templates/skeleton/package/source/class/custom/
|
|
76928
|
+
"qx/tool/compiler/cli/templates/skeleton/package/source/class/custom/demo/Application.tmpl.js": [
|
|
77019
76929
|
null,
|
|
77020
76930
|
null,
|
|
77021
76931
|
"js",
|
|
77022
76932
|
"qx"
|
|
77023
76933
|
],
|
|
77024
|
-
"qx/tool/compiler/cli/templates/skeleton/
|
|
76934
|
+
"qx/tool/compiler/cli/templates/skeleton/package/source/class/custom/test/DemoTest.tmpl.js": [
|
|
77025
76935
|
null,
|
|
77026
76936
|
null,
|
|
77027
76937
|
"js",
|
|
77028
76938
|
"qx"
|
|
77029
76939
|
],
|
|
77030
|
-
"qx/tool/compiler/cli/templates/skeleton/
|
|
76940
|
+
"qx/tool/compiler/cli/templates/skeleton/package/source/class/custom/theme/Appearance.tmpl.js": [
|
|
77031
76941
|
null,
|
|
77032
76942
|
null,
|
|
77033
76943
|
"js",
|
|
77034
76944
|
"qx"
|
|
77035
76945
|
],
|
|
77036
|
-
"qx/tool/compiler/cli/templates/skeleton/
|
|
76946
|
+
"qx/tool/compiler/cli/templates/skeleton/package/source/class/custom/theme/Color.tmpl.js": [
|
|
77037
76947
|
null,
|
|
77038
76948
|
null,
|
|
77039
76949
|
"js",
|
|
77040
76950
|
"qx"
|
|
77041
76951
|
],
|
|
77042
|
-
"qx/tool/compiler/cli/templates/skeleton/
|
|
76952
|
+
"qx/tool/compiler/cli/templates/skeleton/package/source/class/custom/theme/Decoration.tmpl.js": [
|
|
77043
76953
|
null,
|
|
77044
76954
|
null,
|
|
77045
|
-
"
|
|
76955
|
+
"js",
|
|
77046
76956
|
"qx"
|
|
77047
76957
|
],
|
|
77048
|
-
"qx/tool/compiler/cli/templates/skeleton/
|
|
76958
|
+
"qx/tool/compiler/cli/templates/skeleton/package/source/class/custom/theme/Font.tmpl.js": [
|
|
77049
76959
|
null,
|
|
77050
76960
|
null,
|
|
77051
|
-
"
|
|
76961
|
+
"js",
|
|
77052
76962
|
"qx"
|
|
77053
76963
|
],
|
|
77054
|
-
"qx/tool/compiler/cli/templates/skeleton/
|
|
76964
|
+
"qx/tool/compiler/cli/templates/skeleton/package/source/class/custom/theme/Theme.tmpl.js": [
|
|
77055
76965
|
null,
|
|
77056
76966
|
null,
|
|
77057
76967
|
"js",
|
|
77058
76968
|
"qx"
|
|
77059
76969
|
],
|
|
77060
|
-
"qx/tool/compiler/cli/templates/skeleton/
|
|
76970
|
+
"qx/tool/compiler/cli/templates/skeleton/server/source/class/custom/test/DemoTest.tmpl.js": [
|
|
77061
76971
|
null,
|
|
77062
76972
|
null,
|
|
77063
|
-
"
|
|
76973
|
+
"js",
|
|
77064
76974
|
"qx"
|
|
77065
76975
|
],
|
|
77066
76976
|
"qx/tool/compiler/cli/templates/skeleton/package/source/class/custom/resource/custom/test.png": [
|
|
@@ -77165,16 +77075,16 @@ qx.$$packageData['0'] = {
|
|
|
77165
77075
|
"html",
|
|
77166
77076
|
"qx"
|
|
77167
77077
|
],
|
|
77168
|
-
"qx/tool/website/build/diagnostics/
|
|
77078
|
+
"qx/tool/website/build/diagnostics/requiredby.html": [
|
|
77169
77079
|
null,
|
|
77170
77080
|
null,
|
|
77171
|
-
"
|
|
77081
|
+
"html",
|
|
77172
77082
|
"qx"
|
|
77173
77083
|
],
|
|
77174
|
-
"qx/tool/website/build/diagnostics/
|
|
77084
|
+
"qx/tool/website/build/diagnostics/dependson.js": [
|
|
77175
77085
|
null,
|
|
77176
77086
|
null,
|
|
77177
|
-
"
|
|
77087
|
+
"js",
|
|
77178
77088
|
"qx"
|
|
77179
77089
|
],
|
|
77180
77090
|
"qx/tool/website/build/diagnostics/requiredby.js": [
|
|
@@ -77189,13 +77099,13 @@ qx.$$packageData['0'] = {
|
|
|
77189
77099
|
"css",
|
|
77190
77100
|
"qx"
|
|
77191
77101
|
],
|
|
77192
|
-
"qx/tool/website/build/assets/
|
|
77102
|
+
"qx/tool/website/build/assets/common.js": [
|
|
77193
77103
|
null,
|
|
77194
77104
|
null,
|
|
77195
77105
|
"js",
|
|
77196
77106
|
"qx"
|
|
77197
77107
|
],
|
|
77198
|
-
"qx/tool/website/build/assets/
|
|
77108
|
+
"qx/tool/website/build/assets/buttons.js": [
|
|
77199
77109
|
null,
|
|
77200
77110
|
null,
|
|
77201
77111
|
"js",
|
|
@@ -77231,18 +77141,18 @@ qx.$$packageData['0'] = {
|
|
|
77231
77141
|
"png",
|
|
77232
77142
|
"qx"
|
|
77233
77143
|
],
|
|
77234
|
-
"qx/tool/website/build/assets/qx-ide.png": [
|
|
77235
|
-
3183,
|
|
77236
|
-
1752,
|
|
77237
|
-
"png",
|
|
77238
|
-
"qx"
|
|
77239
|
-
],
|
|
77240
77144
|
"qx/tool/website/build/assets/qx-oo.png": [
|
|
77241
77145
|
870,
|
|
77242
77146
|
502,
|
|
77243
77147
|
"png",
|
|
77244
77148
|
"qx"
|
|
77245
77149
|
],
|
|
77150
|
+
"qx/tool/website/build/assets/qx-ide.png": [
|
|
77151
|
+
3183,
|
|
77152
|
+
1752,
|
|
77153
|
+
"png",
|
|
77154
|
+
"qx"
|
|
77155
|
+
],
|
|
77246
77156
|
"qx/tool/website/build/assets/qx-white.svg": [
|
|
77247
77157
|
64,
|
|
77248
77158
|
65,
|
|
@@ -77261,36 +77171,6 @@ qx.$$packageData['0'] = {
|
|
|
77261
77171
|
"js",
|
|
77262
77172
|
"qx"
|
|
77263
77173
|
],
|
|
77264
|
-
"qx/tool/website/src/diagnostics/dependson.html": [
|
|
77265
|
-
null,
|
|
77266
|
-
null,
|
|
77267
|
-
"html",
|
|
77268
|
-
"qx"
|
|
77269
|
-
],
|
|
77270
|
-
"qx/tool/website/src/diagnostics/dependson.js": [
|
|
77271
|
-
null,
|
|
77272
|
-
null,
|
|
77273
|
-
"js",
|
|
77274
|
-
"qx"
|
|
77275
|
-
],
|
|
77276
|
-
"qx/tool/website/src/diagnostics/requiredby.html": [
|
|
77277
|
-
null,
|
|
77278
|
-
null,
|
|
77279
|
-
"html",
|
|
77280
|
-
"qx"
|
|
77281
|
-
],
|
|
77282
|
-
"qx/tool/website/src/diagnostics/requiredby.js": [
|
|
77283
|
-
null,
|
|
77284
|
-
null,
|
|
77285
|
-
"js",
|
|
77286
|
-
"qx"
|
|
77287
|
-
],
|
|
77288
|
-
"qx/tool/website/src/scripts/serve.js": [
|
|
77289
|
-
null,
|
|
77290
|
-
null,
|
|
77291
|
-
"js",
|
|
77292
|
-
"qx"
|
|
77293
|
-
],
|
|
77294
77174
|
"qx/tool/website/src/assets/abel.css": [
|
|
77295
77175
|
null,
|
|
77296
77176
|
null,
|
|
@@ -77362,6 +77242,36 @@ qx.$$packageData['0'] = {
|
|
|
77362
77242
|
null,
|
|
77363
77243
|
"js",
|
|
77364
77244
|
"qx"
|
|
77245
|
+
],
|
|
77246
|
+
"qx/tool/website/src/scripts/serve.js": [
|
|
77247
|
+
null,
|
|
77248
|
+
null,
|
|
77249
|
+
"js",
|
|
77250
|
+
"qx"
|
|
77251
|
+
],
|
|
77252
|
+
"qx/tool/website/src/diagnostics/dependson.html": [
|
|
77253
|
+
null,
|
|
77254
|
+
null,
|
|
77255
|
+
"html",
|
|
77256
|
+
"qx"
|
|
77257
|
+
],
|
|
77258
|
+
"qx/tool/website/src/diagnostics/dependson.js": [
|
|
77259
|
+
null,
|
|
77260
|
+
null,
|
|
77261
|
+
"js",
|
|
77262
|
+
"qx"
|
|
77263
|
+
],
|
|
77264
|
+
"qx/tool/website/src/diagnostics/requiredby.html": [
|
|
77265
|
+
null,
|
|
77266
|
+
null,
|
|
77267
|
+
"html",
|
|
77268
|
+
"qx"
|
|
77269
|
+
],
|
|
77270
|
+
"qx/tool/website/src/diagnostics/requiredby.js": [
|
|
77271
|
+
null,
|
|
77272
|
+
null,
|
|
77273
|
+
"js",
|
|
77274
|
+
"qx"
|
|
77365
77275
|
]
|
|
77366
77276
|
},
|
|
77367
77277
|
"translations": {
|