Padding was reset incorrectly (#2917)

* Padding was reset incorrectly

* Fix tslint
This commit is contained in:
Hristo Hristov
2016-10-18 13:18:32 +03:00
committed by GitHub
parent 8641826ff3
commit 44bab5b0f0

View File

@@ -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;