diff --git a/ng2-components/ng2-activiti-form/src/components/widgets/container/container.widget.html b/ng2-components/ng2-activiti-form/src/components/widgets/container/container.widget.html
index 30c3ee6b38..ffdb78070b 100644
--- a/ng2-components/ng2-activiti-form/src/components/widgets/container/container.widget.html
+++ b/ng2-components/ng2-activiti-form/src/components/widgets/container/container.widget.html
@@ -31,6 +31,9 @@
+
+
+
UNKNOWN WIDGET TYPE: {{field.type}}
diff --git a/ng2-components/ng2-activiti-form/src/components/widgets/container/container.widget.ts b/ng2-components/ng2-activiti-form/src/components/widgets/container/container.widget.ts
index 955bd81965..e11cdc77ec 100644
--- a/ng2-components/ng2-activiti-form/src/components/widgets/container/container.widget.ts
+++ b/ng2-components/ng2-activiti-form/src/components/widgets/container/container.widget.ts
@@ -24,6 +24,7 @@ import { NumberWidget } from './../number/number.widget';
import { CheckboxWidget } from './../checkbox/checkbox.widget';
import { MultilineTextWidget } from './../multiline-text/multiline-text.widget';
import { DropdownWidget } from './../dropdown/dropdown.widget';
+import { HyperlinkWidget } from './../hyperlink/hyperlink.widget';
declare let __moduleName: string;
declare var componentHandler;
@@ -39,7 +40,8 @@ declare var componentHandler;
NumberWidget,
CheckboxWidget,
MultilineTextWidget,
- DropdownWidget
+ DropdownWidget,
+ HyperlinkWidget
]
})
export class ContainerWidget implements AfterViewInit {
diff --git a/ng2-components/ng2-activiti-form/src/components/widgets/hyperlink/hyperlink.widget.css b/ng2-components/ng2-activiti-form/src/components/widgets/hyperlink/hyperlink.widget.css
new file mode 100644
index 0000000000..f965e43936
--- /dev/null
+++ b/ng2-components/ng2-activiti-form/src/components/widgets/hyperlink/hyperlink.widget.css
@@ -0,0 +1 @@
+.hyperlink-widget {}
diff --git a/ng2-components/ng2-activiti-form/src/components/widgets/hyperlink/hyperlink.widget.html b/ng2-components/ng2-activiti-form/src/components/widgets/hyperlink/hyperlink.widget.html
new file mode 100644
index 0000000000..68717afde2
--- /dev/null
+++ b/ng2-components/ng2-activiti-form/src/components/widgets/hyperlink/hyperlink.widget.html
@@ -0,0 +1,3 @@
+
diff --git a/ng2-components/ng2-activiti-form/src/components/widgets/hyperlink/hyperlink.widget.ts b/ng2-components/ng2-activiti-form/src/components/widgets/hyperlink/hyperlink.widget.ts
new file mode 100644
index 0000000000..5f7139efed
--- /dev/null
+++ b/ng2-components/ng2-activiti-form/src/components/widgets/hyperlink/hyperlink.widget.ts
@@ -0,0 +1,49 @@
+/*!
+ * @license
+ * Copyright 2016 Alfresco Software, Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { Component } from '@angular/core';
+import { WidgetComponent } from './../widget.component';
+
+declare let __moduleName: string;
+declare var componentHandler;
+
+@Component({
+ moduleId: __moduleName,
+ selector: 'hyperlink-widget',
+ templateUrl: './hyperlink.widget.html',
+ styleUrls: ['./hyperlink.widget.css']
+})
+export class HyperlinkWidget extends WidgetComponent {
+
+ get linkUrl(): string {
+ let url = '#';
+
+ if (this.field && this.field.hyperlinkUrl) {
+ url = this.field.hyperlinkUrl;
+ if (!/^https?:\/\//i.test(url)) {
+ url = 'http://' + url;
+ }
+ }
+
+ return url;
+ }
+
+ get linkText() {
+ return this.field.displayText || this.field.hyperlinkUrl;
+ }
+
+}
diff --git a/ng2-components/ng2-activiti-form/src/components/widgets/index.ts b/ng2-components/ng2-activiti-form/src/components/widgets/index.ts
index 691e1ffb36..024fa07d8f 100644
--- a/ng2-components/ng2-activiti-form/src/components/widgets/index.ts
+++ b/ng2-components/ng2-activiti-form/src/components/widgets/index.ts
@@ -23,3 +23,5 @@ export * from './text/text.widget';
export * from './number/number.widget';
export * from './checkbox/checkbox.widget';
export * from './multiline-text/multiline-text.widget';
+export * from './dropdown/dropdown.widget';
+export * from './hyperlink/hyperlink.widget';
diff --git a/ng2-components/ng2-activiti-form/src/components/widgets/widget.model.ts b/ng2-components/ng2-activiti-form/src/components/widgets/widget.model.ts
index c9635be834..79177899c8 100644
--- a/ng2-components/ng2-activiti-form/src/components/widgets/widget.model.ts
+++ b/ng2-components/ng2-activiti-form/src/components/widgets/widget.model.ts
@@ -26,6 +26,7 @@ export class FormFieldTypes {
static CONTAINER: string = 'container';
static GROUP: string = 'group';
static DROPDOWN: string = 'dropdown';
+ static HYPERLINK: string = 'hyperlink';
}
export class FormWidgetModel {
@@ -74,6 +75,8 @@ export class FormFieldModel extends FormWidgetModel {
className: string;
optionType: string;
params: FormFieldMetadata = {};
+ hyperlinkUrl: string;
+ displayText: string;
get value(): any {
return this._value;
@@ -106,6 +109,8 @@ export class FormFieldModel extends FormWidgetModel {
this.className = json.className;
this.optionType = json.optionType;
this.params = json.params || {};
+ this.hyperlinkUrl = json.hyperlinkUrl;
+ this.displayText = json.displayText;
this._value = this.parseValue(json);
this.updateForm();