Skip to content

Commit 1e7593f

Browse files
save json as zip, replace properties panel to camunda
1 parent aed9e02 commit 1e7593f

File tree

7 files changed

+76
-61
lines changed

7 files changed

+76
-61
lines changed

package-lock.json

Lines changed: 47 additions & 50 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,12 @@
2525
"@angular/router": "7.1.1",
2626
"bpmn-js": "^2.5.2",
2727
"bpmn-js-properties-panel": "^0.26.2",
28+
"camunda-bpmn-moddle": "^4.4.0",
2829
"core-js": "^2.4.1",
30+
"file-saver": "^2.0.2",
2931
"font-awesome": "^4.7.0",
3032
"jquery": "^3.5.1",
33+
"jszip": "^3.5.0",
3134
"node-sass": "4.14.1",
3235
"rxjs": "^6.6.2",
3336
"rxjs-compat": "^6.6.2",
@@ -39,6 +42,7 @@
3942
"@angular/cli": "7.1.0",
4043
"@angular/compiler-cli": "7.1.1",
4144
"@angular/language-service": "7.1.1",
45+
"@types/file-saver": "^2.0.1",
4246
"@types/jasmine": "~2.8.3",
4347
"@types/jasminewd2": "~2.0.2",
4448
"@types/node": "~6.0.60",

src/app/app.component.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ import {CustomPaletteProvider} from "./props-provider/CustomPaletteProvider";
66
import {WineryService} from "./services/winery.service";
77
import { ActivatedRoute } from '@angular/router';
88
import { PageParameter } from './model/page-parameter';
9+
import _camundaModdleDescriptor from "camunda-bpmn-moddle/resources/camunda.json";
10+
911

1012
const customModdle = {
1113
name: "customModdle",
@@ -52,7 +54,7 @@ export class AppComponent implements OnInit {
5254
height: '600px',
5355
additionalModules: [
5456
PropertiesPanelModule,
55-
//OriginalPropertiesProvider,
57+
OriginalPropertiesProvider,
5658

5759
{[InjectionNames.bpmnPropertiesProvider]: ['type', OriginalPropertiesProvider.propertiesProvider[1]]},
5860
{[InjectionNames.propertiesProvider]: ['type', CustomPropsProvider]},
@@ -63,8 +65,8 @@ export class AppComponent implements OnInit {
6365
propertiesPanel: {
6466
parent: '#properties'
6567
},
66-
moddleExtension: {
67-
custom: customModdle
68+
moddleExtensions: {
69+
custom: _camundaModdleDescriptor
6870
}
6971
});
7072
this.route.queryParams.subscribe(params => {this.wineryService.setRequestParam(<PageParameter>params);});

src/app/bpmn-js/bpmn-js.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// import _Modeler from 'bpmn-js/lib/Modeler.js';
22
import * as _Modeler from "bpmn-js/dist/bpmn-modeler.production.min.js";
33
import * as _PropertiesPanelModule from 'bpmn-js-properties-panel';
4-
import * as _BpmnPropertiesProvider from 'bpmn-js-properties-panel/lib/provider/bpmn';
4+
import * as _BpmnPropertiesProvider from 'bpmn-js-properties-panel/lib/provider/camunda';
55
import * as _EntryFactory from 'bpmn-js-properties-panel/lib/factory/EntryFactory';
66
import _PaletteProvider from 'bpmn-js/lib/features/palette/PaletteProvider';
77

@@ -22,6 +22,7 @@ export const EntryFactory = _EntryFactory;
2222
export const OriginalPaletteProvider = _PaletteProvider;
2323
export const OriginalPropertiesProvider = _BpmnPropertiesProvider;
2424

25+
2526
export interface IPaletteProvider {
2627
getPaletteEntries(): any;
2728
}

src/app/props-provider/CustomPropsProvider.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ private getFullUrl(relativePath: string) {
8282
label : 'Interface',
8383
selectOptions: function(element){
8484
var options = [{name: 'Test', value: 'Test'},{name: 'Test1', value: 'Test1'}];
85-
EntryFactory.loadNodeTemplateInterfaces('http://opentosca.org', 'OpenTOSCAToDoDockerContainer');
85+
//EntryFactory.loadNodeTemplateInterfaces('http://opentosca.org', 'OpenTOSCAToDoDockerContainer');
8686
return options;},
8787
setControlValue: true,
8888
modelProperty : 'example'

src/app/services/winery.service.ts

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
*******************************************************************************/
1414

1515
import { Injectable } from '@angular/core';
16+
import { saveAs } from 'file-saver';
1617
import { PageParameter } from '../model/page-parameter';
1718
import { NodeTemplate } from '../model/nodetemplate';
1819
import { Node } from '../model/workflow/node';
@@ -22,6 +23,7 @@ import { HttpHeaders } from '@angular/common/http';
2223
import { map } from 'rxjs/internal/operators';
2324
import { Observable } from 'rxjs/Rx';
2425
import { ToscaInterface } from '../model/toscaInterface';
26+
import JSZip from 'jszip';
2527

2628
/**
2729
* WineryService
@@ -91,16 +93,22 @@ export class WineryService {
9193
public save(data: string) {
9294
const url = 'servicetemplates/' + this.encode(this.namespace)
9395
+ '/' + this.encode(this.serviceTemplateId) + '/plans/' + this.encode(this.plan) + '/file';
94-
96+
console.log(url);
9597
const requestData = '-----------------------------7da24f2e50046\r\n'
96-
+ 'Content-Disposition: form-data; name=\"file\"; filename=\"file.json\"\r\n'
97-
+ 'Content-type: plain/text\r\n\r\n'
98+
+ 'Content-Disposition: form-data; name=\"file\"; filename=\"example.zip\"\r\n'
99+
+ 'Content-type: application/zip\r\n\r\n'
98100
+ data + '\r\n-----------------------------7da24f2e50046--\r\n';
99-
101+
var zip = new JSZip();
102+
zip.file("file.json", requestData);
103+
zip.generateAsync({type:"blob"})
104+
.then(function(content) {
105+
// see FileSaver.js
106+
saveAs(content, "example.zip");
107+
});
100108
const headers = new HttpHeaders({ 'Content-Type': 'multipart/form-data; boundary=---------------------------7da24f2e50046' });
101-
109+
102110
this.httpService.put(this.getFullUrl(url), requestData, { headers: headers })
103-
.subscribe(response => console.log('save date success'));
111+
.subscribe(response => {console.log('save date success');console.log(this.getFullUrl(url))});
104112
}
105113

106114
public loadPlan() {

tsconfig.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@
88
"moduleResolution": "node",
99
"emitDecoratorMetadata": true,
1010
"experimentalDecorators": true,
11+
"resolveJsonModule": true,
12+
"allowSyntheticDefaultImports": true,
13+
"esModuleInterop": true,
1114
"target": "es5",
1215
"typeRoots": [
1316
"node_modules/@types"

0 commit comments

Comments
 (0)