mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-08-15 19:26:42 +08:00
37 lines
1.2 KiB
TypeScript
37 lines
1.2 KiB
TypeScript
import definition = require("ui/progress");
|
|
import {View} from "ui/core/view";
|
|
import {Property} from "ui/core/dependency-observable";
|
|
import proxy = require("ui/core/proxy");
|
|
|
|
export class Progress extends View implements definition.Progress {
|
|
public static valueProperty = new Property("value", "Progress", new proxy.PropertyMetadata(0));
|
|
public static maxValueProperty = new Property("maxValue", "Progress", new proxy.PropertyMetadata(100));
|
|
|
|
constructor() {
|
|
super();
|
|
|
|
// This calls make both platforms have default values from 0 to 100.
|
|
this.maxValue = 100;
|
|
this.value = 0;
|
|
}
|
|
|
|
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);
|
|
}
|
|
} |