forked from NativeScript/NativeScript
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlabel-common.ts
More file actions
41 lines (34 loc) · 1.28 KB
/
label-common.ts
File metadata and controls
41 lines (34 loc) · 1.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import definition = require("ui/label");
import dependencyObservable = require("ui/core/dependency-observable");
import proxy = require("ui/core/proxy");
import textBase = require("ui/text-base");
import view = require("ui/core/view");
import * as enumsModule from "ui/enums";
var enums: typeof enumsModule;
function ensureEnums() {
if (!enums) {
enums = require("ui/enums");
}
}
export class Label extends textBase.TextBase implements definition.Label {
public static textWrapProperty = new dependencyObservable.Property(
"textWrap",
"Label",
new proxy.PropertyMetadata(false, dependencyObservable.PropertyMetadataSettings.AffectsLayout)
);
constructor(options?: definition.Options) {
super(options);
}
get textWrap(): boolean {
return this._getValue(Label.textWrapProperty);
}
set textWrap(value: boolean) {
this._setValue(Label.textWrapProperty, value);
}
}
function onTextWrapPropertyChanged(data: dependencyObservable.PropertyChangeData) {
var v = <view.View>data.object;
ensureEnums();
v.style.whiteSpace = data.newValue ? enums.WhiteSpace.normal : enums.WhiteSpace.nowrap;
}
(<proxy.PropertyMetadata>Label.textWrapProperty.metadata).onSetNativeValue = onTextWrapPropertyChanged;