mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-11-05 13:26:48 +08:00
Padding was reset incorrectly (#2917)
* Padding was reset incorrectly * Fix tslint
This commit is contained in:
@@ -131,6 +131,7 @@ export class Property implements definition.Property {
|
||||
|
||||
export class PropertyEntry implements definition.PropertyEntry {
|
||||
public valueSource: number = ValueSource.Default;
|
||||
public defaultValue: any;
|
||||
public inheritedValue: any;
|
||||
public cssValue: any;
|
||||
public localValue: any;
|
||||
@@ -198,7 +199,7 @@ export class DependencyObservable extends Observable implements definition.Depen
|
||||
let defaultValue = defaultValueResult.result;
|
||||
if (defaultValueResult.cacheable) {
|
||||
let entry = new PropertyEntry(property);
|
||||
entry.effectiveValue = defaultValue;
|
||||
entry.effectiveValue = entry.defaultValue = defaultValue;
|
||||
this._propertyEntries[property.id] = entry;
|
||||
}
|
||||
|
||||
@@ -253,7 +254,9 @@ export class DependencyObservable extends Observable implements definition.Depen
|
||||
let newValue = this.getEffectiveValueAndUpdateEntry(currentValueSource, entry, property);
|
||||
if (!property.equalityComparer(currentValue, newValue)) {
|
||||
// If we fallback to defalutValue - remove propertyEntry.
|
||||
if (entry.valueSource === ValueSource.Default) {
|
||||
// Don't delete properties with ValueGetters because they will get their default value again
|
||||
// and it will be the current native value (if it was set before that, e.g. it will be wrong).
|
||||
if (entry.valueSource === ValueSource.Default && !property.defaultValueGetter) {
|
||||
delete this._propertyEntries[property.id];
|
||||
}
|
||||
else {
|
||||
@@ -309,6 +312,9 @@ export class DependencyObservable extends Observable implements definition.Depen
|
||||
for (let i = 0, keys = Object.keys(this._propertyEntries); i < keys.length; i++) {
|
||||
let key = keys[i];
|
||||
let entry: PropertyEntry = this._propertyEntries[key];
|
||||
if (entry.valueSource === ValueSource.Default) {
|
||||
continue;
|
||||
}
|
||||
if (!callback(entry.property, entry.effectiveValue)) {
|
||||
break;
|
||||
}
|
||||
@@ -394,7 +400,7 @@ export class DependencyObservable extends Observable implements definition.Depen
|
||||
entry.valueSource = ValueSource.Inherited;
|
||||
}
|
||||
else {
|
||||
newValue = property.defaultValue;
|
||||
newValue = entry.defaultValue !== undefined ? entry.defaultValue : property.defaultValue;
|
||||
entry.valueSource = ValueSource.Default;
|
||||
}
|
||||
break;
|
||||
@@ -409,7 +415,7 @@ export class DependencyObservable extends Observable implements definition.Depen
|
||||
entry.valueSource = ValueSource.Inherited;
|
||||
}
|
||||
else {
|
||||
newValue = property.defaultValue;
|
||||
newValue = entry.defaultValue !== undefined ? entry.defaultValue : property.defaultValue;
|
||||
entry.valueSource = ValueSource.Default;
|
||||
}
|
||||
break;
|
||||
@@ -428,7 +434,7 @@ export class DependencyObservable extends Observable implements definition.Depen
|
||||
entry.valueSource = ValueSource.Inherited;
|
||||
}
|
||||
else {
|
||||
newValue = property.defaultValue;
|
||||
newValue = entry.defaultValue !== undefined ? entry.defaultValue : property.defaultValue;
|
||||
entry.valueSource = ValueSource.Default;
|
||||
}
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user