Update code to take in account suggestions.

This commit is contained in:
Nathanael Anderson
2015-09-09 19:35:31 -05:00
parent 9dffb57bcb
commit e184308169
2 changed files with 9 additions and 8 deletions

View File

@ -10,13 +10,14 @@ function onHtmlPropertyChanged(data: dependencyObservable.PropertyChangeData) {
} }
if (types.isString(data.newValue)) { if (types.isString(data.newValue)) {
// If the data.newValue actually has a <a...> in it; we need to disable auto-linking // If the data.newValue actually has a <a...> in it; we need to disable autolink mask
// as it internally disables anyways; and then links won't work.. // it internally disables the coloring, but then the <a> links won't work.. So to support both
if (data.newValue.toLowerCase().indexOf("<a ") > 0) { // styles of links (html and just text based) we have to manually enable/disable the autolink mask
view.android.setAutoLinkMask(0); var mask = 15;
} else { if (data.newValue.search(/<a\s/i) >= 0) {
view.android.setAutoLinkMask(15); // 15 (0x0f) = Linkify All text links mask = 0;
} }
view.android.setAutoLinkMask(mask);
view.android.setText(<any>android.text.Html.fromHtml(data.newValue)); view.android.setText(<any>android.text.Html.fromHtml(data.newValue));
} else { } else {
view.android.setText(""); view.android.setText("");
@ -37,7 +38,7 @@ export class HtmlView extends common.HtmlView {
public _createUI() { public _createUI() {
this._android = new android.widget.TextView(this._context); this._android = new android.widget.TextView(this._context);
// This makes the <a href...> work // This makes the html <a href...> vwork
this._android.setLinksClickable(true); this._android.setLinksClickable(true);
this._android.setMovementMethod(android.text.method.LinkMovementMethod.getInstance()); this._android.setMovementMethod(android.text.method.LinkMovementMethod.getInstance());

View File

@ -37,7 +37,7 @@ export class HtmlView extends common.HtmlView {
this._ios.editable = false; this._ios.editable = false;
this._ios.selectable = true; this._ios.selectable = true;
this._ios.userInteractionEnabled = true; this._ios.userInteractionEnabled = true;
this._ios.dataDetectorTypes = 255; // Future Proof this; valid max in iOS is currently 15; however ALL = MAX UNSIGNED INT which isn't valid in JavaScript this._ios.dataDetectorTypes = UIDataDetectorTypes.UIDataDetectorTypeAll;
} }
get ios(): UITextView { get ios(): UITextView {