-
UNKNOWN WIDGET TYPE: {{field.type}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ UNKNOWN WIDGET TYPE: {{field.type}}
+
+
diff --git a/ng2-components/ng2-alfresco-activiti-form/src/components/widgets/container/container.widget.ts b/ng2-components/ng2-alfresco-activiti-form/src/components/widgets/container/container.widget.ts
index bdb98a3e65..15f44a2a01 100644
--- a/ng2-components/ng2-alfresco-activiti-form/src/components/widgets/container/container.widget.ts
+++ b/ng2-components/ng2-alfresco-activiti-form/src/components/widgets/container/container.widget.ts
@@ -16,10 +16,12 @@
*/
import { Component, Input, AfterViewInit } from '@angular/core';
+import { ContainerModel } from './../widget.model';
+
import { TextWidget } from './../text/text.widget';
import { NumberWidget } from './../number/number.widget';
-import { ContainerModel } from './../widget.model';
import { CheckboxWidget } from './../checkbox/checkbox.widget';
+import { MultilineTextWidget } from './../multiline-text/multiline-text.widget';
declare let __moduleName: string;
declare var componentHandler;
@@ -28,7 +30,7 @@ declare var componentHandler;
moduleId: __moduleName,
selector: 'container-widget',
templateUrl: './container.widget.html',
- directives: [TextWidget, NumberWidget, CheckboxWidget]
+ directives: [TextWidget, NumberWidget, CheckboxWidget, MultilineTextWidget]
})
export class ContainerWidget implements AfterViewInit {
diff --git a/ng2-components/ng2-alfresco-activiti-form/src/components/widgets/index.ts b/ng2-components/ng2-alfresco-activiti-form/src/components/widgets/index.ts
index 7ac7731dba..a5415e935a 100644
--- a/ng2-components/ng2-alfresco-activiti-form/src/components/widgets/index.ts
+++ b/ng2-components/ng2-alfresco-activiti-form/src/components/widgets/index.ts
@@ -20,6 +20,7 @@ import { ContainerWidget } from './container/container.widget';
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';
export * from './widget.model';
@@ -28,11 +29,13 @@ export * from './container/container.widget';
export * from './text/text.widget';
export * from './number/number.widget';
export * from './checkbox/checkbox.widget';
+export * from './multiline-text/multiline-text.widget';
export const WIDGET_DIRECTIVES: [any] = [
TabsWidget,
ContainerWidget,
TextWidget,
NumberWidget,
- CheckboxWidget
+ CheckboxWidget,
+ MultilineTextWidget
];
diff --git a/ng2-components/ng2-alfresco-activiti-form/src/components/widgets/multiline-text/multiline-text.widget.css b/ng2-components/ng2-alfresco-activiti-form/src/components/widgets/multiline-text/multiline-text.widget.css
new file mode 100644
index 0000000000..9c7ec9fb37
--- /dev/null
+++ b/ng2-components/ng2-alfresco-activiti-form/src/components/widgets/multiline-text/multiline-text.widget.css
@@ -0,0 +1,3 @@
+:host .multiline-text-widget {
+ width: 100%;
+}
diff --git a/ng2-components/ng2-alfresco-activiti-form/src/components/widgets/multiline-text/multiline-text.widget.html b/ng2-components/ng2-alfresco-activiti-form/src/components/widgets/multiline-text/multiline-text.widget.html
new file mode 100644
index 0000000000..660e19edf9
--- /dev/null
+++ b/ng2-components/ng2-alfresco-activiti-form/src/components/widgets/multiline-text/multiline-text.widget.html
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/ng2-components/ng2-alfresco-activiti-form/src/components/widgets/multiline-text/multiline-text.widget.ts b/ng2-components/ng2-alfresco-activiti-form/src/components/widgets/multiline-text/multiline-text.widget.ts
new file mode 100644
index 0000000000..f038752ff6
--- /dev/null
+++ b/ng2-components/ng2-alfresco-activiti-form/src/components/widgets/multiline-text/multiline-text.widget.ts
@@ -0,0 +1,46 @@
+/*!
+ * @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, Input, AfterViewInit } from '@angular/core';
+import { FormFieldModel } from './../widget.model';
+
+declare let __moduleName: string;
+declare var componentHandler;
+
+@Component({
+ moduleId: __moduleName,
+ selector: 'multiline-text-widget',
+ 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();
+ }
+ }
+
+}
diff --git a/ng2-components/ng2-alfresco-activiti-form/src/components/widgets/widget.model.ts b/ng2-components/ng2-alfresco-activiti-form/src/components/widgets/widget.model.ts
index 2f57b500fc..4d7174e135 100644
--- a/ng2-components/ng2-alfresco-activiti-form/src/components/widgets/widget.model.ts
+++ b/ng2-components/ng2-alfresco-activiti-form/src/components/widgets/widget.model.ts
@@ -61,6 +61,16 @@ export class FormFieldModel extends FormWidgetModel {
}
}
+export class ContainerColumnModel {
+
+ size: number = 12;
+ fields: FormFieldModel[] = [];
+
+ hasFields(): boolean {
+ return this.fields && this.fields.length > 0;
+ }
+}
+
export class ContainerModel extends FormWidgetModel {
fieldType: string;
@@ -70,7 +80,7 @@ export class ContainerModel extends FormWidgetModel {
tab: string;
numberOfColumns: number = 1;
- fields: FormFieldModel[] = [];
+ columns: ContainerColumnModel[] = [];
constructor(form: FormModel, json?: any) {
super(form, json);
@@ -88,17 +98,16 @@ export class ContainerModel extends FormWidgetModel {
columnSize = 12 / this.numberOfColumns;
}
- let fields = [];
+ for (let i = 0; i < this.numberOfColumns; i++) {
+ let col = new ContainerColumnModel();
+ col.size = columnSize;
+ this.columns.push(col);
+ }
Object.keys(json.fields).map(key => {
- fields = fields.concat(json.fields[key] || []);
- });
-
- // this.fields = fields.map(f => new FormFieldModel(form, f));
- this.fields = fields.map(f => {
- let field = new FormFieldModel(form, f);
- field.metadata['size'] = columnSize;
- return field;
+ let fields = (json.fields[key] || []).map(f => new FormFieldModel(form, f));
+ let col = this.columns[parseInt(key) - 1];
+ col.fields = fields;
});
}
}