feat:Add InconsistProperty decorator because sometimes the property in js side cannot be consist with natiive side
This commit is contained in:
@@ -185,6 +185,18 @@ function Property(target, propKey) {
|
||||
},
|
||||
});
|
||||
}
|
||||
function InconsistProperty(target, propKey) {
|
||||
Object.defineProperty(target, propKey, {
|
||||
get: function () {
|
||||
return Reflect.get(this, "__prop__" + propKey, this);
|
||||
},
|
||||
set: function (v) {
|
||||
var oldV = Reflect.get(this, "__prop__" + propKey, this);
|
||||
Reflect.set(this, "__prop__" + propKey, v, this);
|
||||
Reflect.apply(this.onPropertyChanged, this, [propKey, oldV, v]);
|
||||
},
|
||||
});
|
||||
}
|
||||
var View = /** @class */ (function () {
|
||||
function View() {
|
||||
this.width = 0;
|
||||
@@ -3546,6 +3558,7 @@ exports.Gravity = Gravity;
|
||||
exports.Group = Group;
|
||||
exports.HLayout = HLayout;
|
||||
exports.Image = Image;
|
||||
exports.InconsistProperty = InconsistProperty;
|
||||
exports.Input = Input;
|
||||
exports.LEFT = LEFT;
|
||||
exports.LayoutConfigImpl = LayoutConfigImpl;
|
||||
|
@@ -125,8 +125,13 @@ var __decorate$d = (undefined && undefined.__decorate) || function (decorators,
|
||||
var __metadata$d = (undefined && undefined.__metadata) || function (k, v) {
|
||||
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
||||
};
|
||||
const PROP_CONSIST = 1;
|
||||
const PROP_INCONSIST = 2;
|
||||
function Property(target, propKey) {
|
||||
Reflect.defineMetadata(propKey, true, target);
|
||||
Reflect.defineMetadata(propKey, PROP_CONSIST, target);
|
||||
}
|
||||
function InconsistProperty(target, propKey) {
|
||||
Reflect.defineMetadata(propKey, PROP_INCONSIST, target);
|
||||
}
|
||||
class View {
|
||||
constructor() {
|
||||
@@ -150,7 +155,10 @@ class View {
|
||||
set: (target, p, v, receiver) => {
|
||||
const oldV = Reflect.get(target, p, receiver);
|
||||
const ret = Reflect.set(target, p, v, receiver);
|
||||
if (Reflect.getMetadata(p, target) && oldV !== v) {
|
||||
if (Reflect.getMetadata(p, target) === PROP_CONSIST && oldV !== v) {
|
||||
receiver.onPropertyChanged(p.toString(), oldV, v);
|
||||
}
|
||||
else if (Reflect.getMetadata(p, target) === PROP_INCONSIST) {
|
||||
receiver.onPropertyChanged(p.toString(), oldV, v);
|
||||
}
|
||||
return ret;
|
||||
@@ -2736,6 +2744,7 @@ exports.Gravity = Gravity;
|
||||
exports.Group = Group;
|
||||
exports.HLayout = HLayout;
|
||||
exports.Image = Image;
|
||||
exports.InconsistProperty = InconsistProperty;
|
||||
exports.Input = Input;
|
||||
exports.LEFT = LEFT;
|
||||
exports.LayoutConfigImpl = LayoutConfigImpl;
|
||||
|
@@ -1620,8 +1620,13 @@ var __decorate$d = (undefined && undefined.__decorate) || function (decorators,
|
||||
var __metadata$d = (undefined && undefined.__metadata) || function (k, v) {
|
||||
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
||||
};
|
||||
const PROP_CONSIST = 1;
|
||||
const PROP_INCONSIST = 2;
|
||||
function Property(target, propKey) {
|
||||
Reflect.defineMetadata(propKey, true, target);
|
||||
Reflect.defineMetadata(propKey, PROP_CONSIST, target);
|
||||
}
|
||||
function InconsistProperty(target, propKey) {
|
||||
Reflect.defineMetadata(propKey, PROP_INCONSIST, target);
|
||||
}
|
||||
class View {
|
||||
constructor() {
|
||||
@@ -1645,7 +1650,10 @@ class View {
|
||||
set: (target, p, v, receiver) => {
|
||||
const oldV = Reflect.get(target, p, receiver);
|
||||
const ret = Reflect.set(target, p, v, receiver);
|
||||
if (Reflect.getMetadata(p, target) && oldV !== v) {
|
||||
if (Reflect.getMetadata(p, target) === PROP_CONSIST && oldV !== v) {
|
||||
receiver.onPropertyChanged(p.toString(), oldV, v);
|
||||
}
|
||||
else if (Reflect.getMetadata(p, target) === PROP_INCONSIST) {
|
||||
receiver.onPropertyChanged(p.toString(), oldV, v);
|
||||
}
|
||||
return ret;
|
||||
@@ -4403,9 +4411,11 @@ global$1.nativeLog = (type, msg) => {
|
||||
};
|
||||
global$1.nativeRequire = () => {
|
||||
console.error("Do not call nativeRequire here");
|
||||
return false;
|
||||
};
|
||||
global$1.nativeBridge = () => {
|
||||
console.error("Do not call nativeBridge here");
|
||||
return false;
|
||||
};
|
||||
|
||||
exports.AnimationSet = AnimationSet;
|
||||
@@ -4423,6 +4433,7 @@ exports.Gravity = Gravity;
|
||||
exports.Group = Group;
|
||||
exports.HLayout = HLayout;
|
||||
exports.Image = Image;
|
||||
exports.InconsistProperty = InconsistProperty;
|
||||
exports.Input = Input;
|
||||
exports.LEFT = LEFT;
|
||||
exports.LayoutConfigImpl = LayoutConfigImpl;
|
||||
|
Reference in New Issue
Block a user