Code improvements

- shared global declarations
- reduced hyperlink-related repetitive code
This commit is contained in:
Denys Vuika
2016-10-11 11:53:08 +01:00
parent 8151d3493e
commit 3042ae8060
16 changed files with 64 additions and 81 deletions

View File

@@ -18,14 +18,14 @@
import { Input, AfterViewInit, Output, EventEmitter } from '@angular/core';
import { FormFieldModel } from './core/index';
declare let __moduleName: string;
declare var componentHandler;
/**
* Base widget component.
*/
export class WidgetComponent implements AfterViewInit {
static DEFAULT_HYPERLINK_URL: string = '#';
static DEFAULT_HYPERLINK_SCHEME: string = 'http://';
@Input()
field: FormFieldModel;
@@ -67,4 +67,22 @@ export class WidgetComponent implements AfterViewInit {
this.fieldChanged.emit(field);
}
protected getHyperlinkUrl(field: FormFieldModel) {
let url = WidgetComponent.DEFAULT_HYPERLINK_URL;
if (field && field.hyperlinkUrl) {
url = field.hyperlinkUrl;
if (!/^https?:\/\//i.test(url)) {
url = `${WidgetComponent.DEFAULT_HYPERLINK_SCHEME}${url}`;
}
}
return url;
}
protected getHyperlinkText(field: FormFieldModel) {
if (field) {
return field.displayText || field.hyperlinkUrl;
}
return null;
}
}