feat(textview): added maxLines property (#7943)

* feat(textview): added maxLines property

* feat(text-view): moved implementation to TextView

* feat(text-view): changes based on CR

* feat(text-view): Normalize behavior in between android and iOS

* chore: updated NativeScript.api.md

* chore: add new line before return

Co-authored-by: Dimitar Topuzov <dtopuzov@gmail.com>
Co-authored-by: Vasil Trifonov <v.trifonov@gmail.com>
This commit is contained in:
Nicu
2020-01-16 12:41:26 +02:00
committed by Dimitar Topuzov
parent 6133d6b6bd
commit 3c79ded42b
9 changed files with 75 additions and 7 deletions

View File

@@ -63,3 +63,7 @@ export function typeTextNatively(textView: textViewModule.TextView, text: string
textView.android.setText(text);
textView.android.clearFocus();
}
export function getNativeMaxLines(textView: textViewModule.TextView): number {
return textView.android.getMaxLines();
}

View File

@@ -10,3 +10,4 @@ export declare function getNativeColor(textView: textViewModule.TextView): color
export declare function getNativeBackgroundColor(textView: textViewModule.TextView): colorModule.Color;
export declare function getNativeTextAlignment(textView: textViewModule.TextView): string;
export declare function typeTextNatively(textView: textViewModule.TextView, text: string): void;
export declare function getNativeMaxLines(textView: textViewModule.TextView): number;

View File

@@ -51,3 +51,7 @@ export function typeTextNatively(textView: textViewModule.TextView, text: string
// Setting the text will not trigger the delegate method, so we have to do it by hand.
textView.ios.delegate.textViewDidEndEditing(textView.ios);
}
export function getNativeMaxLines(textView: textViewModule.TextView): number {
return textView.ios.textContainer.maximumNumberOfLines;
}

View File

@@ -346,6 +346,18 @@ export var testBindEditableToBindingConext = function () {
});
};
export var testSetMaxLines = function () {
helper.buildUIAndRunTest(_createTextViewFunc(), function (views: Array<viewModule.View>) {
var textView = <textViewModule.TextView>views[0];
textView.maxLines = 3;
var expectedValue = 3;
var actualValue = textViewTestsNative.getNativeMaxLines(textView);
TKUnit.assert(actualValue === expectedValue, "Actual: " + actualValue + "; Expected: " + expectedValue);
});
};
var expectedFontSize = 42;
export var testLocalFontSizeFromCss = function () {
helper.buildUIAndRunTest(_createTextViewFunc(), function (views: Array<viewModule.View>) {