fix(core): added missing length property equality comparers (#10689)

[skip ci]
This commit is contained in:
Dimitris-Rafail Katsampas
2025-02-04 23:24:46 +02:00
committed by GitHub
parent 4b87a35e51
commit 56af0b2f7e
5 changed files with 13 additions and 6 deletions

View File

@@ -182,6 +182,7 @@ tintColorProperty.register(Style);
export const decodeHeightProperty = new Property<ImageBase, CoreTypes.LengthType>({
name: 'decodeHeight',
defaultValue: { value: 0, unit: 'dip' },
equalityComparer: Length.equals,
valueConverter: Length.parse,
});
decodeHeightProperty.register(ImageBase);
@@ -189,6 +190,7 @@ decodeHeightProperty.register(ImageBase);
export const decodeWidthProperty = new Property<ImageBase, CoreTypes.LengthType>({
name: 'decodeWidth',
defaultValue: { value: 0, unit: 'dip' },
equalityComparer: Length.equals,
valueConverter: Length.parse,
});
decodeWidthProperty.register(ImageBase);

View File

@@ -61,7 +61,8 @@ export const leftProperty = new Property<View, CoreTypes.LengthType>({
layout.onLeftChanged(target, oldValue, newValue);
}
},
valueConverter: (v) => Length.parse(v),
equalityComparer: Length.equals,
valueConverter: Length.parse,
});
leftProperty.register(View);
@@ -75,6 +76,7 @@ export const topProperty = new Property<View, CoreTypes.LengthType>({
layout.onTopChanged(target, oldValue, newValue);
}
},
valueConverter: (v) => Length.parse(v),
equalityComparer: Length.equals,
valueConverter: Length.parse,
});
topProperty.register(View);

View File

@@ -22,7 +22,8 @@ export const itemWidthProperty = new Property<WrapLayoutBase, CoreTypes.LengthTy
name: 'itemWidth',
defaultValue: 'auto',
affectsLayout: __APPLE__,
valueConverter: (v) => Length.parse(v),
equalityComparer: Length.equals,
valueConverter: Length.parse,
valueChanged: (target, oldValue, newValue) => (target.effectiveItemWidth = Length.toDevicePixels(newValue, -1)),
});
itemWidthProperty.register(WrapLayoutBase);
@@ -31,7 +32,8 @@ export const itemHeightProperty = new Property<WrapLayoutBase, CoreTypes.LengthT
name: 'itemHeight',
defaultValue: 'auto',
affectsLayout: __APPLE__,
valueConverter: (v) => Length.parse(v),
equalityComparer: Length.equals,
valueConverter: Length.parse,
valueChanged: (target, oldValue, newValue) => (target.effectiveItemHeight = Length.toDevicePixels(newValue, -1)),
});
itemHeightProperty.register(WrapLayoutBase);

View File

@@ -527,7 +527,7 @@ export class ListView extends ListViewBase {
}
[iosEstimatedRowHeightProperty.setNative](value: CoreTypes.LengthType) {
const nativeView = this.nativeViewProtected;
const estimatedHeight = Length.toDevicePixels(value, 0);
const estimatedHeight = layout.toDeviceIndependentPixels(Length.toDevicePixels(value, 0));
nativeView.estimatedRowHeight = estimatedHeight < 0 ? DEFAULT_HEIGHT : estimatedHeight;
}
}

View File

@@ -237,7 +237,8 @@ rowHeightProperty.register(ListViewBase);
export const iosEstimatedRowHeightProperty = new Property<ListViewBase, CoreTypes.LengthType>({
name: 'iosEstimatedRowHeight',
valueConverter: (v) => Length.parse(v),
equalityComparer: Length.equals,
valueConverter: Length.parse,
});
iosEstimatedRowHeightProperty.register(ListViewBase);