mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-08-16 03:31:45 +08:00

* enable recycling of nativeView * backgroundInternal is reset if setting new value leads to background.isEmpty() == true. * android background.getDefault always return copy of the background. Now all controls that mutate the background can be reset to initial state (e.g. Button & ActionBar) passing resources to copied background so it respect density. fix properties initNativeView * reset padding when backgroundInternal is reset. * Fix text reset Fix padding reset * fix tsc errors * fix ugly text rendering. * Add unit tests for recycling native views Fix several issues that came from the above tests Fix maxLength property missing a converter callback Remove old files * Remove old files * Revert backgroundInternal setter * change the order of tests so that appium can work again * Remove suggestion on every TextView & TextField init (strangely it is enabled after view is recycled....) * Fix function to get parent layout if specified * Button stateListAnimator restored when button is recycled zIndex defaultValue is now undefined instead of NaN * revert zIndex.setNative to always clear stateListAnimator because it was breaking one UI test (setting value=0 was returning the previous stateListAnimator) * fix search-bar backgound-color recycling * Fix alignments setters * Fix imageView recycling Fix button recycling Fix edit-text recycling resetNativeView is called only if recycleNativeView flag is true * Fix incorrect merge * Fix text-view & text-field textTransform * Fix EditText text reset * Fix runtime crash on ARM emulator API 21 * Fix text-base minHeight. maxHeight reset Fix reset of isUserInteractionEnabled
57 lines
1.7 KiB
TypeScript
57 lines
1.7 KiB
TypeScript
import { Progress as ProgressDefinition } from ".";
|
|
import { View, Property, CoercibleProperty } from "../core/view";
|
|
|
|
export * from "../core/view";
|
|
|
|
export class ProgressBase extends View implements ProgressDefinition {
|
|
public value: number;
|
|
public maxValue: number;
|
|
// get maxValue(): number {
|
|
// return this._getValue(Progress.maxValueProperty);
|
|
// }
|
|
// set maxValue(newMaxValue: number) {
|
|
// this._setValue(Progress.maxValueProperty, newMaxValue);
|
|
|
|
// // Adjust value if needed.
|
|
// if (this.value > newMaxValue) {
|
|
// this.value = newMaxValue;
|
|
// }
|
|
// }
|
|
|
|
// get value(): number {
|
|
// return this._getValue(Progress.valueProperty);
|
|
// }
|
|
// set value(value: number) {
|
|
// value = Math.min(value, this.maxValue);
|
|
// this._setValue(Progress.valueProperty, value);
|
|
// }
|
|
}
|
|
|
|
ProgressBase.prototype.recycleNativeView = true;
|
|
|
|
/**
|
|
* Represents the observable property backing the value property of each Progress instance.
|
|
*/
|
|
export const valueProperty = new CoercibleProperty<ProgressBase, number>({
|
|
name: "value",
|
|
defaultValue: 0,
|
|
coerceValue: (t, v) => {
|
|
return v < 0 ? 0 : Math.min(v, t.maxValue)
|
|
},
|
|
valueConverter: (v) => parseInt(v)
|
|
});
|
|
valueProperty.register(ProgressBase);
|
|
|
|
/**
|
|
* Represents the observable property backing the maxValue property of each Progress instance.
|
|
*/
|
|
export const maxValueProperty = new Property<ProgressBase, number>({
|
|
name: "maxValue",
|
|
defaultValue: 100,
|
|
valueChanged: (target, oldValue, newValue) => {
|
|
valueProperty.coerce(target);
|
|
},
|
|
valueConverter: (v) => parseInt(v)
|
|
});
|
|
maxValueProperty.register(ProgressBase);
|