mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-11-05 13:26:48 +08:00
Total TextBase refactoring + several bug fixes.
This commit is contained in:
@@ -5,95 +5,6 @@ export * from "./utils-common";
|
||||
|
||||
// We are using "ad" here to avoid namespace collision with the global android object
|
||||
export module ad {
|
||||
|
||||
export function setTextDecoration(view: android.widget.TextView, value: string) {
|
||||
var flags = 0;
|
||||
|
||||
var values = (value + "").split(" ");
|
||||
|
||||
if (values.indexOf("underline") !== -1) {
|
||||
flags = flags | android.graphics.Paint.UNDERLINE_TEXT_FLAG;
|
||||
}
|
||||
|
||||
if (values.indexOf("line-through") !== -1) {
|
||||
flags = flags | android.graphics.Paint.STRIKE_THRU_TEXT_FLAG;
|
||||
}
|
||||
|
||||
if (values.indexOf("none") === -1) {
|
||||
view.setPaintFlags(flags);
|
||||
} else {
|
||||
view.setPaintFlags(0);
|
||||
}
|
||||
}
|
||||
|
||||
export function setTextTransform(v, value: string) {
|
||||
let view = v._nativeView;
|
||||
let str = view.getText() + "";
|
||||
let result = getTransformedString(value, view, str);
|
||||
|
||||
if (v.formattedText) {
|
||||
for (var i = 0; i < v.formattedText.spans.length; i++) {
|
||||
var span = v.formattedText.spans.getItem(i);
|
||||
span.text = getTransformedString(value, view, span.text);
|
||||
}
|
||||
} else {
|
||||
view.setText(result);
|
||||
}
|
||||
}
|
||||
|
||||
export function getTransformedString(textTransform: string, view, stringToTransform: string): string {
|
||||
let result: string;
|
||||
|
||||
switch (textTransform) {
|
||||
case "uppercase":
|
||||
view.setTransformationMethod(null);
|
||||
result = stringToTransform.toUpperCase();
|
||||
break;
|
||||
|
||||
case "lowercase":
|
||||
view.setTransformationMethod(null);
|
||||
result = stringToTransform.toLowerCase();
|
||||
break;
|
||||
|
||||
case "capitalize":
|
||||
view.setTransformationMethod(null);
|
||||
result = getCapitalizedString(stringToTransform);
|
||||
break;
|
||||
|
||||
case "none":
|
||||
default:
|
||||
result = view["originalString"] || stringToTransform;
|
||||
if (view["transformationMethod"]) {
|
||||
view.setTransformationMethod(view["transformationMethod"]);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if (!view["originalString"]) {
|
||||
view["originalString"] = stringToTransform;
|
||||
view["transformationMethod"] = view.getTransformationMethod();
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
function getCapitalizedString(str: string): string {
|
||||
var words = str.split(" ");
|
||||
var newWords = [];
|
||||
for (let i = 0; i < words.length; i++) {
|
||||
let word = words[i].toLowerCase();
|
||||
newWords.push(word.substr(0, 1).toUpperCase() + word.substring(1));
|
||||
}
|
||||
|
||||
return newWords.join(" ");
|
||||
}
|
||||
|
||||
export function setWhiteSpace(view: android.widget.TextView, value: string) {
|
||||
let nowrap = value === "nowrap";
|
||||
view.setSingleLine(nowrap);
|
||||
view.setEllipsize(nowrap ? android.text.TextUtils.TruncateAt.END : null);
|
||||
}
|
||||
|
||||
let nativeApp: android.app.Application;
|
||||
declare var com;
|
||||
export function getApplication() {
|
||||
|
||||
Reference in New Issue
Block a user