mirror of
https://github.com/sartography/cr-connect-bpmn.git
synced 2025-01-24 23:59:19 +00:00
Breaks out add new vs modifying existing workflow spec.
This commit is contained in:
parent
7d1121365e
commit
9adb103f18
@ -29,12 +29,19 @@ export class ApiService {
|
||||
.pipe(catchError(this._handleError));
|
||||
}
|
||||
|
||||
upsertWorkflowSpecification(specId: string, newSpec: WorkflowSpec): Observable<WorkflowSpec> {
|
||||
addWorkflowSpecification(newSpec: WorkflowSpec): Observable<WorkflowSpec> {
|
||||
const url = this.apiUrl + '/workflow-specification';
|
||||
const params = new HttpParams().set('spec_id', specId);
|
||||
|
||||
return this.httpClient
|
||||
.post<WorkflowSpec>(url, newSpec, {params: params})
|
||||
.post<WorkflowSpec>(url, newSpec)
|
||||
.pipe(catchError(this._handleError));
|
||||
}
|
||||
|
||||
updateWorkflowSpecification(specId: string, newSpec: WorkflowSpec): Observable<WorkflowSpec> {
|
||||
const url = this.apiUrl + '/workflow-specification/' + specId;
|
||||
|
||||
return this.httpClient
|
||||
.post<WorkflowSpec>(url, newSpec)
|
||||
.pipe(catchError(this._handleError));
|
||||
}
|
||||
|
||||
@ -55,7 +62,7 @@ export class ApiService {
|
||||
.pipe(catchError(this._handleError));
|
||||
}
|
||||
|
||||
upsertFileMeta(specId: string, fileMeta: FileMeta): Observable<FileMeta> {
|
||||
addFileMeta(specId: string, fileMeta: FileMeta): Observable<FileMeta> {
|
||||
const url = this.apiUrl + '/file';
|
||||
const params = new HttpParams().set('spec_id', specId);
|
||||
const formData = new FormData();
|
||||
|
@ -179,6 +179,9 @@ export class AppComponent implements AfterViewInit {
|
||||
|
||||
dialogRef.afterClosed().subscribe((data: NewFileDialogData) => {
|
||||
console.log('dialog afterClosed result', data);
|
||||
if (data && data.fileName && data.workflowSpecId) {
|
||||
this._upsertSpecAndFileMeta(data);
|
||||
}
|
||||
this._upsertSpecAndFileMeta(data);
|
||||
});
|
||||
}
|
||||
@ -188,7 +191,7 @@ export class AppComponent implements AfterViewInit {
|
||||
this.xml = this.draftXml;
|
||||
|
||||
// Save old workflow spec id, if user wants to change it
|
||||
const specId = this.workflowSpec ? this.workflowSpec.id : data.workflowSpecId;
|
||||
const specId = this.workflowSpec ? this.workflowSpec.id : undefined;
|
||||
|
||||
this.workflowSpec = {
|
||||
id: data.workflowSpecId,
|
||||
@ -210,13 +213,23 @@ export class AppComponent implements AfterViewInit {
|
||||
description: data.description,
|
||||
};
|
||||
|
||||
// New workflow spec
|
||||
this.api.upsertWorkflowSpecification(specId, newSpec).subscribe(spec => {
|
||||
this.api.upsertFileMeta(specId, this.diagramFileMeta).subscribe(fileMeta => {
|
||||
this.loadFilesFromDb();
|
||||
this.snackBar.open('Saved changes to new workflow spec and file.', 'Ok', {duration: 5000});
|
||||
if (specId) {
|
||||
// Update existing workflow spec and file
|
||||
this.api.updateWorkflowSpecification(specId, newSpec).subscribe(spec => {
|
||||
this.api.updateFileMeta(this.diagramFileMeta).subscribe(fileMeta => {
|
||||
this.loadFilesFromDb();
|
||||
this.snackBar.open('Saved changes to workflow spec and file.', 'Ok', {duration: 5000});
|
||||
});
|
||||
});
|
||||
});
|
||||
} else {
|
||||
// Add new workflow spec and file
|
||||
this.api.addWorkflowSpecification(newSpec).subscribe(spec => {
|
||||
this.api.addFileMeta(newSpec.id, this.diagramFileMeta).subscribe(fileMeta => {
|
||||
this.loadFilesFromDb();
|
||||
this.snackBar.open('Saved new workflow spec and file.', 'Ok', {duration: 5000});
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user