diff --git a/ng2-components/ng2-activiti-form/src/components/widgets/checkbox/checkbox.widget.ts b/ng2-components/ng2-activiti-form/src/components/widgets/checkbox/checkbox.widget.ts
index 3ec6393727..168a6972b3 100644
--- a/ng2-components/ng2-activiti-form/src/components/widgets/checkbox/checkbox.widget.ts
+++ b/ng2-components/ng2-activiti-form/src/components/widgets/checkbox/checkbox.widget.ts
@@ -15,8 +15,8 @@
* limitations under the License.
*/
-import { Component, Input, AfterViewInit } from '@angular/core';
-import { FormFieldModel } from './../widget.model';
+import { Component } from '@angular/core';
+import { WidgetComponent } from './../widget.component';
declare let __moduleName: string;
declare var componentHandler;
@@ -26,20 +26,6 @@ declare var componentHandler;
selector: 'checkbox-widget',
templateUrl: './checkbox.widget.html'
})
-export class CheckboxWidget implements AfterViewInit {
-
- @Input()
- field: FormFieldModel;
-
- hasField() {
- return this.field ? true : false;
- }
-
- ngAfterViewInit() {
- // workaround for MDL issues with dynamic components
- if (componentHandler) {
- componentHandler.upgradeAllRegistered();
- }
- }
+export class CheckboxWidget extends WidgetComponent {
}
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 4ebb2896ee..7fb027bd54 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
@@ -15,6 +15,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 15f44a2a01..1d41214674 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
@@ -22,6 +22,7 @@ import { TextWidget } from './../text/text.widget';
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';
declare let __moduleName: string;
declare var componentHandler;
@@ -30,7 +31,13 @@ declare var componentHandler;
moduleId: __moduleName,
selector: 'container-widget',
templateUrl: './container.widget.html',
- directives: [TextWidget, NumberWidget, CheckboxWidget, MultilineTextWidget]
+ directives: [
+ TextWidget,
+ NumberWidget,
+ CheckboxWidget,
+ MultilineTextWidget,
+ DropdownWidget
+ ]
})
export class ContainerWidget implements AfterViewInit {
diff --git a/ng2-components/ng2-activiti-form/src/components/widgets/dropdown/dropdown.widget.html b/ng2-components/ng2-activiti-form/src/components/widgets/dropdown/dropdown.widget.html
new file mode 100644
index 0000000000..3fca63bf47
--- /dev/null
+++ b/ng2-components/ng2-activiti-form/src/components/widgets/dropdown/dropdown.widget.html
@@ -0,0 +1,4 @@
+
diff --git a/ng2-components/ng2-activiti-form/src/components/widgets/dropdown/dropdown.widget.ts b/ng2-components/ng2-activiti-form/src/components/widgets/dropdown/dropdown.widget.ts
new file mode 100644
index 0000000000..70581505b1
--- /dev/null
+++ b/ng2-components/ng2-activiti-form/src/components/widgets/dropdown/dropdown.widget.ts
@@ -0,0 +1,31 @@
+/*!
+ * @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: 'dropdown-widget',
+ templateUrl: './dropdown.widget.html'
+})
+export class DropdownWidget extends WidgetComponent {
+
+}
diff --git a/ng2-components/ng2-activiti-form/src/components/widgets/multiline-text/multiline-text.widget.ts b/ng2-components/ng2-activiti-form/src/components/widgets/multiline-text/multiline-text.widget.ts
index f038752ff6..d269746c80 100644
--- a/ng2-components/ng2-activiti-form/src/components/widgets/multiline-text/multiline-text.widget.ts
+++ b/ng2-components/ng2-activiti-form/src/components/widgets/multiline-text/multiline-text.widget.ts
@@ -15,8 +15,8 @@
* limitations under the License.
*/
-import { Component, Input, AfterViewInit } from '@angular/core';
-import { FormFieldModel } from './../widget.model';
+import { Component } from '@angular/core';
+import { WidgetComponent } from './../widget.component';
declare let __moduleName: string;
declare var componentHandler;
@@ -27,20 +27,6 @@ declare var componentHandler;
templateUrl: './multiline-text.widget.html',
styleUrls: ['./multiline-text.widget.css']
})
-export class MultilineTextWidget implements AfterViewInit {
-
- @Input()
- field: FormFieldModel;
-
- hasField() {
- return this.field ? true : false;
- }
-
- ngAfterViewInit() {
- // workaround for MDL issues with dynamic components
- if (componentHandler) {
- componentHandler.upgradeAllRegistered();
- }
- }
+export class MultilineTextWidget extends WidgetComponent {
}
diff --git a/ng2-components/ng2-activiti-form/src/components/widgets/number/number.widget.ts b/ng2-components/ng2-activiti-form/src/components/widgets/number/number.widget.ts
index 38295c1425..cf4170ae1a 100644
--- a/ng2-components/ng2-activiti-form/src/components/widgets/number/number.widget.ts
+++ b/ng2-components/ng2-activiti-form/src/components/widgets/number/number.widget.ts
@@ -15,8 +15,8 @@
* limitations under the License.
*/
-import { Component, Input, AfterViewInit } from '@angular/core';
-import { FormFieldModel } from './../widget.model';
+import { Component } from '@angular/core';
+import { WidgetComponent } from './../widget.component';
declare let __moduleName: string;
declare var componentHandler;
@@ -27,20 +27,6 @@ declare var componentHandler;
templateUrl: './number.widget.html',
styleUrls: ['./number.widget.css']
})
-export class NumberWidget implements AfterViewInit {
-
- @Input()
- field: FormFieldModel;
-
- hasField() {
- return this.field ? true : false;
- }
-
- ngAfterViewInit() {
- // workaround for MDL issues with dynamic components
- if (componentHandler) {
- componentHandler.upgradeAllRegistered();
- }
- }
+export class NumberWidget extends WidgetComponent {
}
diff --git a/ng2-components/ng2-activiti-form/src/components/widgets/text/text.widget.ts b/ng2-components/ng2-activiti-form/src/components/widgets/text/text.widget.ts
index d0d598207d..44fc7c8494 100644
--- a/ng2-components/ng2-activiti-form/src/components/widgets/text/text.widget.ts
+++ b/ng2-components/ng2-activiti-form/src/components/widgets/text/text.widget.ts
@@ -15,8 +15,8 @@
* limitations under the License.
*/
-import { Component, Input, AfterViewInit } from '@angular/core';
-import { FormFieldModel } from './../widget.model';
+import { Component } from '@angular/core';
+import { WidgetComponent } from './../widget.component';
declare let __moduleName: string;
declare var componentHandler;
@@ -27,20 +27,6 @@ declare var componentHandler;
templateUrl: './text.widget.html',
styleUrls: ['./text.widget.css']
})
-export class TextWidget implements AfterViewInit {
-
- @Input()
- field: FormFieldModel;
-
- hasField() {
- return this.field ? true : false;
- }
-
- ngAfterViewInit() {
- // workaround for MDL issues with dynamic components
- if (componentHandler) {
- componentHandler.upgradeAllRegistered();
- }
- }
+export class TextWidget extends WidgetComponent {
}
diff --git a/ng2-components/ng2-activiti-form/src/components/widgets/widget.component.ts b/ng2-components/ng2-activiti-form/src/components/widgets/widget.component.ts
new file mode 100644
index 0000000000..b698afeb3a
--- /dev/null
+++ b/ng2-components/ng2-activiti-form/src/components/widgets/widget.component.ts
@@ -0,0 +1,43 @@
+/*!
+ * @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 { Input, AfterViewInit } from '@angular/core';
+import { FormFieldModel } from './widget.model';
+
+declare let __moduleName: string;
+declare var componentHandler;
+
+/**
+ * Base widget component.
+ */
+export class WidgetComponent implements AfterViewInit {
+
+ @Input()
+ field: FormFieldModel;
+
+ hasField() {
+ return this.field ? true : false;
+ }
+
+ ngAfterViewInit() {
+ // workaround for MDL issues with dynamic components
+ if (componentHandler) {
+ componentHandler.upgradeAllRegistered();
+ }
+ }
+
+}