mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2026-09-09 18:03:21 +00:00
@@ -0,0 +1,4 @@
|
|||||||
|
.activiti-task-list__item:hover {
|
||||||
|
cursor: pointer;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
+28
-19
@@ -1,23 +1,32 @@
|
|||||||
<div *ngIf="hasForm()" style="padding: 10px;">
|
<div class="mdl-grid">
|
||||||
<div *ngIf="form.hasTabs()">
|
|
||||||
<tabs-widget [tabs]="form.tabs"></tabs-widget>
|
<div class="mdl-cell mdl-cell--2-col">
|
||||||
|
<div *ngIf="!hasTasks()">No tasks found</div>
|
||||||
|
<div *ngIf="hasTasks()">
|
||||||
|
<ul class="mdl-list">
|
||||||
|
<li *ngFor="let task of tasks"
|
||||||
|
class="mdl-list__item activiti-task-list__item"
|
||||||
|
(click)="onTaskClicked(task, $event)">
|
||||||
|
<span class="mdl-list__item-primary-content">
|
||||||
|
<i class="material-icons mdl-list__item-icon">launch</i>
|
||||||
|
{{task.name}}
|
||||||
|
</span>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div *ngIf="!form.hasTabs() && form.hasFields()">
|
|
||||||
<container-widget [content]="form.fields[0]"></container-widget>
|
<div class="mdl-cell mdl-cell--10-col">
|
||||||
|
<div *ngIf="!hasForm()">
|
||||||
|
<h3 style="text-align: center">Please select a Task</h3>
|
||||||
|
</div>
|
||||||
|
<div *ngIf="hasForm()">
|
||||||
|
<div *ngIf="form.hasTabs()">
|
||||||
|
<tabs-widget [tabs]="form.tabs"></tabs-widget>
|
||||||
|
</div>
|
||||||
|
<div *ngIf="!form.hasTabs() && form.hasFields()">
|
||||||
|
<container-widget [content]="form.fields[0]"></container-widget>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!--
|
|
||||||
<div style="padding: 10px">
|
|
||||||
|
|
||||||
<h2>Task form content</h2>
|
|
||||||
|
|
||||||
<h3>Form</h3>
|
|
||||||
<pre *ngIf="form">{{form.json | json}}</pre>
|
|
||||||
|
|
||||||
<h3>Task</h3>
|
|
||||||
<pre *ngIf="task">{{task | json}}</pre>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
-->
|
|
||||||
|
|||||||
+14
-17
@@ -27,18 +27,11 @@ import { FormModel } from './widgets/widget.model';
|
|||||||
declare let __moduleName: string;
|
declare let __moduleName: string;
|
||||||
declare var componentHandler;
|
declare var componentHandler;
|
||||||
|
|
||||||
@Component({
|
|
||||||
selector: 'child-component',
|
|
||||||
template: 'Hello {{name}}'
|
|
||||||
})
|
|
||||||
class ChildComponent {
|
|
||||||
name: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
moduleId: __moduleName,
|
moduleId: __moduleName,
|
||||||
selector: 'activiti-form',
|
selector: 'activiti-form',
|
||||||
templateUrl: './activiti-form.component.html',
|
templateUrl: './activiti-form.component.html',
|
||||||
|
styleUrls: ['./activiti-form.component.css'],
|
||||||
directives: [WIDGET_DIRECTIVES],
|
directives: [WIDGET_DIRECTIVES],
|
||||||
providers: [
|
providers: [
|
||||||
FormService
|
FormService
|
||||||
@@ -48,23 +41,20 @@ export class ActivitiForm implements OnInit, AfterViewChecked {
|
|||||||
|
|
||||||
task: any;
|
task: any;
|
||||||
form: FormModel;
|
form: FormModel;
|
||||||
|
tasks: any[] = [];
|
||||||
|
|
||||||
hasForm(): boolean {
|
hasForm(): boolean {
|
||||||
return this.form ? true : false;
|
return this.form ? true : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
hasTasks(): boolean {
|
||||||
|
return this.tasks && this.tasks.length > 0;
|
||||||
|
}
|
||||||
|
|
||||||
constructor(private formService: FormService) {}
|
constructor(private formService: FormService) {}
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
this.formService.getTask('1').subscribe(task => {
|
this.formService.getTasks().subscribe(val => this.tasks = val || []);
|
||||||
// console.log(task);
|
|
||||||
this.task = task;
|
|
||||||
|
|
||||||
this.formService.getTaskForm('1').subscribe(form => {
|
|
||||||
// console.log(form);
|
|
||||||
this.form = new FormModel(form);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ngAfterViewChecked() {
|
ngAfterViewChecked() {
|
||||||
@@ -74,4 +64,11 @@ export class ActivitiForm implements OnInit, AfterViewChecked {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
onTaskClicked(task, e) {
|
||||||
|
// alert(`Task: ${task.name} clicked.`);
|
||||||
|
this.formService
|
||||||
|
.getTaskForm(task.id)
|
||||||
|
.subscribe(form => this.form = new FormModel(form));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -106,7 +106,7 @@ export class ContainerModel extends FormWidgetModel {
|
|||||||
|
|
||||||
Object.keys(json.fields).map(key => {
|
Object.keys(json.fields).map(key => {
|
||||||
let fields = (json.fields[key] || []).map(f => new FormFieldModel(form, f));
|
let fields = (json.fields[key] || []).map(f => new FormFieldModel(form, f));
|
||||||
let col = this.columns[parseInt(key) - 1];
|
let col = this.columns[parseInt(key, 10) - 1];
|
||||||
col.fields = fields;
|
col.fields = fields;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,6 +27,16 @@ export class FormService {
|
|||||||
constructor(private http: Http) {
|
constructor(private http: Http) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getTasks(): Observable<any> {
|
||||||
|
let url = `${this.basePath}/api/enterprise/tasks/query`;
|
||||||
|
let body = JSON.stringify({});
|
||||||
|
let options = this.getRequestOptions();
|
||||||
|
|
||||||
|
return this.http.post(url, body, options)
|
||||||
|
.map(this.toJsonArray)
|
||||||
|
.catch(this.handleError);
|
||||||
|
}
|
||||||
|
|
||||||
getTask(id: string): Observable<any> {
|
getTask(id: string): Observable<any> {
|
||||||
let url = `${this.basePath}/api/enterprise/tasks/${id}`;
|
let url = `${this.basePath}/api/enterprise/tasks/${id}`;
|
||||||
let options = this.getRequestOptions();
|
let options = this.getRequestOptions();
|
||||||
@@ -63,6 +73,11 @@ export class FormService {
|
|||||||
return body || {};
|
return body || {};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private toJsonArray(res: Response) {
|
||||||
|
let body = res.json();
|
||||||
|
return body.data || [];
|
||||||
|
}
|
||||||
|
|
||||||
private handleError (error: any) {
|
private handleError (error: any) {
|
||||||
// In a real world app, we might use a remote logging infrastructure
|
// In a real world app, we might use a remote logging infrastructure
|
||||||
// We'd also dig deeper into the error to get a better message
|
// We'd also dig deeper into the error to get a better message
|
||||||
|
|||||||
Reference in New Issue
Block a user