#1143 - fix multiple call to the load service

This commit is contained in:
Vito Albano 2016-11-25 17:46:19 +00:00
parent 3f98ef146d
commit 8e94e67779
2 changed files with 10 additions and 18 deletions

View File

@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
import { Component, Input, ViewChild, Output, EventEmitter, OnInit, OnChanges, SimpleChanges } from '@angular/core'; import { Component, Input, ViewChild, Output, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
import { AlfrescoTranslationService } from 'ng2-alfresco-core'; import { AlfrescoTranslationService } from 'ng2-alfresco-core';
import { ActivitiProcessService } from './../services/activiti-process.service'; import { ActivitiProcessService } from './../services/activiti-process.service';
import { ActivitiProcessInstanceHeader } from './activiti-process-instance-header.component'; import { ActivitiProcessInstanceHeader } from './activiti-process-instance-header.component';
@ -31,7 +31,7 @@ declare let componentHandler: any;
templateUrl: './activiti-process-instance-details.component.html', templateUrl: './activiti-process-instance-details.component.html',
styleUrls: ['./activiti-process-instance-details.component.css'] styleUrls: ['./activiti-process-instance-details.component.css']
}) })
export class ActivitiProcessInstanceDetails implements OnInit, OnChanges { export class ActivitiProcessInstanceDetails implements OnChanges {
@Input() @Input()
processInstanceId: string; processInstanceId: string;
@ -72,12 +72,6 @@ export class ActivitiProcessInstanceDetails implements OnInit, OnChanges {
} }
} }
ngOnInit() {
if (this.processInstanceId) {
this.load(this.processInstanceId);
}
}
ngOnChanges(changes: SimpleChanges) { ngOnChanges(changes: SimpleChanges) {
let processInstanceId = changes['processInstanceId']; let processInstanceId = changes['processInstanceId'];
if (processInstanceId && !processInstanceId.currentValue) { if (processInstanceId && !processInstanceId.currentValue) {
@ -102,11 +96,6 @@ export class ActivitiProcessInstanceDetails implements OnInit, OnChanges {
this.activitiProcess.getProcess(processId).subscribe( this.activitiProcess.getProcess(processId).subscribe(
(res: ProcessInstance) => { (res: ProcessInstance) => {
this.processInstanceDetails = res; this.processInstanceDetails = res;
if (this.processInstanceDetails) {
if (this.tasksList) {
this.tasksList.load(this.processInstanceDetails.id);
}
}
} }
); );
} }

View File

@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
import { Component, Input, OnInit, ViewChild, Output, EventEmitter } from '@angular/core'; import { Component, Input, OnInit, ViewChild, Output, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
import { AlfrescoTranslationService } from 'ng2-alfresco-core'; import { AlfrescoTranslationService } from 'ng2-alfresco-core';
import { ActivitiProcessService } from './../services/activiti-process.service'; import { ActivitiProcessService } from './../services/activiti-process.service';
import { TaskDetailsModel } from 'ng2-activiti-tasklist'; import { TaskDetailsModel } from 'ng2-activiti-tasklist';
@ -32,7 +32,7 @@ declare let dialogPolyfill: any;
templateUrl: './activiti-process-instance-tasks.component.html', templateUrl: './activiti-process-instance-tasks.component.html',
styleUrls: ['./activiti-process-instance-tasks.component.css'] styleUrls: ['./activiti-process-instance-tasks.component.css']
}) })
export class ActivitiProcessInstanceTasks implements OnInit { export class ActivitiProcessInstanceTasks implements OnInit, OnChanges {
@Input() @Input()
processInstanceDetails: ProcessInstance; processInstanceDetails: ProcessInstance;
@ -84,9 +84,12 @@ export class ActivitiProcessInstanceTasks implements OnInit {
this.completedTask$.subscribe((task: TaskDetailsModel) => { this.completedTask$.subscribe((task: TaskDetailsModel) => {
this.completedTasks.push(task); this.completedTasks.push(task);
}); });
}
if (this.processInstanceDetails && this.processInstanceDetails.id) { ngOnChanges(changes: SimpleChanges) {
this.load(this.processInstanceDetails.id); let processInstanceDetails = changes['processInstanceDetails'];
if (processInstanceDetails && processInstanceDetails.currentValue) {
this.load(processInstanceDetails.currentValue.id);
} }
} }
@ -151,7 +154,6 @@ export class ActivitiProcessInstanceTasks implements OnInit {
public clickTask($event: any, task: TaskDetailsModel) { public clickTask($event: any, task: TaskDetailsModel) {
this.selectedTaskId = task.id; this.selectedTaskId = task.id;
this.taskdetails.loadDetails(task.id);
this.showDialog(); this.showDialog();
} }
@ -189,6 +191,7 @@ export class ActivitiProcessInstanceTasks implements OnInit {
if (this.dialog) { if (this.dialog) {
this.dialog.nativeElement.close(); this.dialog.nativeElement.close();
} }
this.selectedTaskId = null;
} }
public onTaskFormCompleted() { public onTaskFormCompleted() {