From b0b7a7130cd990ab5a3b5e436b4ab90187a3eb63 Mon Sep 17 00:00:00 2001 From: Denys Vuika Date: Mon, 25 Jul 2016 12:54:36 +0100 Subject: [PATCH] #440 Dropdown widget stub, base widget component --- .../widgets/checkbox/checkbox.widget.ts | 20 ++------- .../widgets/container/container.widget.html | 3 ++ .../widgets/container/container.widget.ts | 9 +++- .../widgets/dropdown/dropdown.widget.html | 4 ++ .../widgets/dropdown/dropdown.widget.ts | 31 +++++++++++++ .../multiline-text/multiline-text.widget.ts | 20 ++------- .../widgets/number/number.widget.ts | 20 ++------- .../components/widgets/text/text.widget.ts | 20 ++------- .../components/widgets/widget.component.ts | 43 +++++++++++++++++++ 9 files changed, 101 insertions(+), 69 deletions(-) create mode 100644 ng2-components/ng2-activiti-form/src/components/widgets/dropdown/dropdown.widget.html create mode 100644 ng2-components/ng2-activiti-form/src/components/widgets/dropdown/dropdown.widget.ts create mode 100644 ng2-components/ng2-activiti-form/src/components/widgets/widget.component.ts 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(); + } + } + +}