ngx-rs-ant 1.5.8 → 1.5.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,15 +1,17 @@
1
1
  import { ElementRef } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class CamundaBpmnEditorComponent {
4
- container?: ElementRef;
5
- config?: ElementRef;
6
- modeler: any;
7
- canvas: any;
8
4
  xml: any;
9
- isShowXml: boolean;
10
- initialDiagram: string;
5
+ bpmnContainer?: ElementRef;
6
+ bpmnConfig?: ElementRef;
7
+ private modeler;
8
+ private canvas;
9
+ protected isShowXml: boolean;
10
+ private initialDiagram;
11
+ ngOnInit(): void;
11
12
  ngAfterViewInit(): void;
12
13
  showXml(): void;
14
+ saveXml(callback?: any): void;
13
15
  static ɵfac: i0.ɵɵFactoryDeclaration<CamundaBpmnEditorComponent, never>;
14
- static ɵcmp: i0.ɵɵComponentDeclaration<CamundaBpmnEditorComponent, "rs-camunda-bpmn-editor", never, {}, {}, never, never, false, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<CamundaBpmnEditorComponent, "rs-camunda-bpmn-editor", never, { "xml": "xml"; }, {}, never, never, false, never>;
15
17
  }
@@ -1,4 +1,4 @@
1
- import { Component, ViewChild } from '@angular/core';
1
+ import { Component, Input, ViewChild } from '@angular/core';
2
2
  import BpmnModeler from 'camunda-bpmn-js/lib/camunda-platform/Modeler';
3
3
  import customTranslateModule from './custom/translate';
4
4
  import customUserTaskModule from './custom/user-task';
@@ -31,11 +31,16 @@ export class CamundaBpmnEditorComponent {
31
31
  '</bpmndi:BPMNDiagram>' +
32
32
  '</bpmn:definitions>';
33
33
  }
34
+ ngOnInit() {
35
+ if (!this.xml) {
36
+ this.xml = this.initialDiagram;
37
+ }
38
+ }
34
39
  ngAfterViewInit() {
35
40
  this.modeler = new BpmnModeler({
36
- container: this.container?.nativeElement,
41
+ container: this.bpmnContainer?.nativeElement,
37
42
  propertiesPanel: {
38
- parent: this.config?.nativeElement,
43
+ parent: this.bpmnConfig?.nativeElement,
39
44
  },
40
45
  keyboard: {
41
46
  bindTo: document,
@@ -53,29 +58,38 @@ export class CamundaBpmnEditorComponent {
53
58
  this.modeler._container.removeChild(logo);
54
59
  }
55
60
  this.canvas = this.modeler.get('canvas');
56
- this.modeler.importXML(this.initialDiagram).then(() => {
61
+ this.modeler.importXML(this.xml).then(() => {
57
62
  this.canvas.zoom('fit-viewport');
58
63
  });
59
64
  }
60
65
  showXml() {
61
66
  if (!this.isShowXml) {
62
- this.modeler.saveXML({ format: true }).then((response) => {
63
- this.xml = response.xml;
67
+ this.saveXml((xml) => {
68
+ this.xml = xml;
64
69
  });
65
70
  }
66
71
  this.isShowXml = !this.isShowXml;
67
72
  }
73
+ saveXml(callback) {
74
+ this.modeler.saveXML({ format: true }).then((response) => {
75
+ if (callback) {
76
+ callback(response.xml);
77
+ }
78
+ });
79
+ }
68
80
  }
69
81
  CamundaBpmnEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CamundaBpmnEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
70
- CamundaBpmnEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: CamundaBpmnEditorComponent, selector: "rs-camunda-bpmn-editor", viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }, { propertyName: "config", first: true, predicate: ["config"], descendants: true }], ngImport: i0, template: "<div class=\"main\">\n <div class=\"container\" #container></div>\n <div class=\"config\" #config></div>\n <div class=\"xml-viewer\" [ngStyle]=\"{display: isShowXml ? 'flex' : 'none'}\">\n <rs-code-editor language=\"xml\" [code]=\"xml\" [readonly]=\"true\" [enableMinimap]=\"true\"></rs-code-editor>\n </div>\n</div>\n<div class=\"footer\">\n <dx-button [type]=\"isShowXml ? 'default' : 'normal'\" text=\"XML\" [hoverStateEnabled]=\"false\"\n (onClick)=\"showXml()\"></dx-button>\n</div>\n", styles: [":host{flex:1;display:flex;flex-flow:column nowrap}:host .main{flex:1;display:flex;flex-flow:row nowrap;position:relative}:host .main .container{flex:1}:host .main .config{flex:0 0 360px;border:1px solid var(--coast-border-color, #dddddd)}:host .main .xml-viewer{position:absolute;width:100%;height:100%;display:flex;flex-flow:column nowrap;z-index:var(--coast-z-index-drawer, 1040)}:host .main .xml-viewer rs-code-editor{flex:1}:host .footer{flex:0 0 24px;border:1px solid var(--coast-border-color, #dddddd)}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.CodeEditorComponent, selector: "rs-code-editor", inputs: ["code", "language", "readonly", "enableMinimap", "consoleMessage"], outputs: ["codeChange", "onContentReady"] }, { kind: "component", type: i3.DxButtonComponent, selector: "dx-button", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "icon", "rtlEnabled", "stylingMode", "tabIndex", "template", "text", "type", "useSubmitBehavior", "validationGroup", "visible", "width"], outputs: ["onClick", "onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconChange", "rtlEnabledChange", "stylingModeChange", "tabIndexChange", "templateChange", "textChange", "typeChange", "useSubmitBehaviorChange", "validationGroupChange", "visibleChange", "widthChange"] }] });
82
+ CamundaBpmnEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: CamundaBpmnEditorComponent, selector: "rs-camunda-bpmn-editor", inputs: { xml: "xml" }, viewQueries: [{ propertyName: "bpmnContainer", first: true, predicate: ["bpmnContainer"], descendants: true }, { propertyName: "bpmnConfig", first: true, predicate: ["bpmnConfig"], descendants: true }], ngImport: i0, template: "<div class=\"main\">\n <div class=\"container\" #bpmnContainer></div>\n <div class=\"config\" #bpmnConfig></div>\n <div class=\"xml-viewer\" [ngStyle]=\"{display: isShowXml ? 'flex' : 'none'}\">\n <rs-code-editor language=\"xml\" [code]=\"xml\" [readonly]=\"true\" [enableMinimap]=\"true\"></rs-code-editor>\n </div>\n</div>\n<div class=\"footer\">\n <dx-button [type]=\"isShowXml ? 'default' : 'normal'\" text=\"XML\" [hoverStateEnabled]=\"false\"\n (onClick)=\"showXml()\"></dx-button>\n</div>\n", styles: [":host{flex:1;display:flex;flex-flow:column nowrap}:host .main{flex:1;display:flex;flex-flow:row nowrap;position:relative}:host .main .container{flex:1}:host .main .config{flex:0 0 360px;border:1px solid var(--coast-border-color, #dddddd)}:host .main .xml-viewer{position:absolute;width:100%;height:100%;display:flex;flex-flow:column nowrap;z-index:var(--coast-z-index-drawer, 1040)}:host .main .xml-viewer rs-code-editor{flex:1}:host .footer{flex:0 0 24px;border:1px solid var(--coast-border-color, #dddddd)}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.CodeEditorComponent, selector: "rs-code-editor", inputs: ["code", "language", "readonly", "enableMinimap", "consoleMessage"], outputs: ["codeChange", "onContentReady"] }, { kind: "component", type: i3.DxButtonComponent, selector: "dx-button", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "icon", "rtlEnabled", "stylingMode", "tabIndex", "template", "text", "type", "useSubmitBehavior", "validationGroup", "visible", "width"], outputs: ["onClick", "onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconChange", "rtlEnabledChange", "stylingModeChange", "tabIndexChange", "templateChange", "textChange", "typeChange", "useSubmitBehaviorChange", "validationGroupChange", "visibleChange", "widthChange"] }] });
71
83
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CamundaBpmnEditorComponent, decorators: [{
72
84
  type: Component,
73
- args: [{ selector: 'rs-camunda-bpmn-editor', template: "<div class=\"main\">\n <div class=\"container\" #container></div>\n <div class=\"config\" #config></div>\n <div class=\"xml-viewer\" [ngStyle]=\"{display: isShowXml ? 'flex' : 'none'}\">\n <rs-code-editor language=\"xml\" [code]=\"xml\" [readonly]=\"true\" [enableMinimap]=\"true\"></rs-code-editor>\n </div>\n</div>\n<div class=\"footer\">\n <dx-button [type]=\"isShowXml ? 'default' : 'normal'\" text=\"XML\" [hoverStateEnabled]=\"false\"\n (onClick)=\"showXml()\"></dx-button>\n</div>\n", styles: [":host{flex:1;display:flex;flex-flow:column nowrap}:host .main{flex:1;display:flex;flex-flow:row nowrap;position:relative}:host .main .container{flex:1}:host .main .config{flex:0 0 360px;border:1px solid var(--coast-border-color, #dddddd)}:host .main .xml-viewer{position:absolute;width:100%;height:100%;display:flex;flex-flow:column nowrap;z-index:var(--coast-z-index-drawer, 1040)}:host .main .xml-viewer rs-code-editor{flex:1}:host .footer{flex:0 0 24px;border:1px solid var(--coast-border-color, #dddddd)}\n"] }]
74
- }], propDecorators: { container: [{
85
+ args: [{ selector: 'rs-camunda-bpmn-editor', template: "<div class=\"main\">\n <div class=\"container\" #bpmnContainer></div>\n <div class=\"config\" #bpmnConfig></div>\n <div class=\"xml-viewer\" [ngStyle]=\"{display: isShowXml ? 'flex' : 'none'}\">\n <rs-code-editor language=\"xml\" [code]=\"xml\" [readonly]=\"true\" [enableMinimap]=\"true\"></rs-code-editor>\n </div>\n</div>\n<div class=\"footer\">\n <dx-button [type]=\"isShowXml ? 'default' : 'normal'\" text=\"XML\" [hoverStateEnabled]=\"false\"\n (onClick)=\"showXml()\"></dx-button>\n</div>\n", styles: [":host{flex:1;display:flex;flex-flow:column nowrap}:host .main{flex:1;display:flex;flex-flow:row nowrap;position:relative}:host .main .container{flex:1}:host .main .config{flex:0 0 360px;border:1px solid var(--coast-border-color, #dddddd)}:host .main .xml-viewer{position:absolute;width:100%;height:100%;display:flex;flex-flow:column nowrap;z-index:var(--coast-z-index-drawer, 1040)}:host .main .xml-viewer rs-code-editor{flex:1}:host .footer{flex:0 0 24px;border:1px solid var(--coast-border-color, #dddddd)}\n"] }]
86
+ }], propDecorators: { xml: [{
87
+ type: Input
88
+ }], bpmnContainer: [{
75
89
  type: ViewChild,
76
- args: ['container']
77
- }], config: [{
90
+ args: ['bpmnContainer']
91
+ }], bpmnConfig: [{
78
92
  type: ViewChild,
79
- args: ['config']
93
+ args: ['bpmnConfig']
80
94
  }] } });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FtdW5kYS1icG1uLWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcnMtYW50L3NyYy9jYW11bmRhLWJwbW4tZWRpdG9yL2NhbXVuZGEtYnBtbi1lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJzLWFudC9zcmMvY2FtdW5kYS1icG1uLWVkaXRvci9jYW11bmRhLWJwbW4tZWRpdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sV0FBVyxNQUFNLDhDQUE4QyxDQUFDO0FBQ3ZFLE9BQU8scUJBQXFCLE1BQU0sb0JBQW9CLENBQUM7QUFDdkQsT0FBTyxvQkFBb0IsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLHVCQUF1QixNQUFNLHVCQUF1QixDQUFDO0FBQzVELE9BQU8scUJBQXFCLE1BQU0scUJBQXFCLENBQUM7QUFDeEQsT0FBTywyQkFBMkIsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFPMUQsTUFBTSxPQUFPLDBCQUEwQjtJQUx2QztRQVdFLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsbUJBQWMsR0FDWix3Q0FBd0M7WUFDeEMsMEVBQTBFO1lBQzFFLDJEQUEyRDtZQUMzRCwwREFBMEQ7WUFDMUQsb0RBQW9EO1lBQ3BELCtDQUErQztZQUMvQyxxQkFBcUI7WUFDckIsbURBQW1EO1lBQ25ELHNDQUFzQztZQUN0QyxpQkFBaUI7WUFDakIseUNBQXlDO1lBQ3pDLDZEQUE2RDtZQUM3RCw0RUFBNEU7WUFDNUUsNkRBQTZEO1lBQzdELHFCQUFxQjtZQUNyQixxQkFBcUI7WUFDckIsdUJBQXVCO1lBQ3ZCLHFCQUFxQixDQUFDO0tBcUN6QjtJQW5DQyxlQUFlO1FBQ2IsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLFdBQVcsQ0FBQztZQUM3QixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxhQUFhO1lBQ3hDLGVBQWUsRUFBRTtnQkFDZixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxhQUFhO2FBQ25DO1lBQ0QsUUFBUSxFQUFFO2dCQUNSLE1BQU0sRUFBRSxRQUFRO2FBQ2pCO1lBQ0QsaUJBQWlCLEVBQUU7Z0JBQ2pCLHFCQUFxQjtnQkFDckIsb0JBQW9CO2dCQUNwQix1QkFBdUI7Z0JBQ3ZCLHFCQUFxQjtnQkFDckIsMkJBQTJCO2FBQzVCO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDdEUsSUFBSSxJQUFJLEVBQUU7WUFDUixJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUE7U0FDMUM7UUFDRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ3BELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQWEsRUFBRSxFQUFFO2dCQUMxRCxJQUFJLENBQUMsR0FBRyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUM7WUFDMUIsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUNELElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ25DLENBQUM7O3VIQTdEVSwwQkFBMEI7MkdBQTFCLDBCQUEwQix5UENidkMsK2ZBV0E7MkZERWEsMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNFLHdCQUF3Qjs4QkFLVixTQUFTO3NCQUFoQyxTQUFTO3VCQUFDLFdBQVc7Z0JBQ0QsTUFBTTtzQkFBMUIsU0FBUzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEVsZW1lbnRSZWYsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCBCcG1uTW9kZWxlciBmcm9tICdjYW11bmRhLWJwbW4tanMvbGliL2NhbXVuZGEtcGxhdGZvcm0vTW9kZWxlcic7XHJcbmltcG9ydCBjdXN0b21UcmFuc2xhdGVNb2R1bGUgZnJvbSAnLi9jdXN0b20vdHJhbnNsYXRlJztcclxuaW1wb3J0IGN1c3RvbVVzZXJUYXNrTW9kdWxlIGZyb20gJy4vY3VzdG9tL3VzZXItdGFzayc7XHJcbmltcG9ydCBjdXN0b21TZXJ2aWNlVGFza01vZHVsZSBmcm9tICcuL2N1c3RvbS9zZXJ2aWNlLXRhc2snO1xyXG5pbXBvcnQgY3VzdG9tSGlkZU90aGVyTW9kdWxlIGZyb20gJy4vY3VzdG9tL2hpZGUtb3RoZXInO1xyXG5pbXBvcnQgY3VzdG9tUHJvcGVydGllc1BhbmVsTW9kdWxlIGZyb20gJy4vY3VzdG9tL2NvbmZpZyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3JzLWNhbXVuZGEtYnBtbi1lZGl0b3InLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jYW11bmRhLWJwbW4tZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jYW11bmRhLWJwbW4tZWRpdG9yLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIENhbXVuZGFCcG1uRWRpdG9yQ29tcG9uZW50IHtcclxuICBAVmlld0NoaWxkKCdjb250YWluZXInKSBjb250YWluZXI/OiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGQoJ2NvbmZpZycpIGNvbmZpZz86IEVsZW1lbnRSZWY7XHJcbiAgbW9kZWxlcjogYW55O1xyXG4gIGNhbnZhczogYW55O1xyXG4gIHhtbDogYW55O1xyXG4gIGlzU2hvd1htbCA9IGZhbHNlO1xyXG4gIGluaXRpYWxEaWFncmFtID1cclxuICAgICc8P3htbCB2ZXJzaW9uPVwiMS4wXCIgZW5jb2Rpbmc9XCJVVEYtOFwiPz4nICtcclxuICAgICc8YnBtbjpkZWZpbml0aW9ucyB4bWxuczp4c2k9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZVwiICcgK1xyXG4gICAgJ3htbG5zOmJwbW49XCJodHRwOi8vd3d3Lm9tZy5vcmcvc3BlYy9CUE1OLzIwMTAwNTI0L01PREVMXCIgJyArXHJcbiAgICAneG1sbnM6YnBtbmRpPVwiaHR0cDovL3d3dy5vbWcub3JnL3NwZWMvQlBNTi8yMDEwMDUyNC9ESVwiICcgK1xyXG4gICAgJ3htbG5zOmRjPVwiaHR0cDovL3d3dy5vbWcub3JnL3NwZWMvREQvMjAxMDA1MjQvRENcIiAnICtcclxuICAgICd0YXJnZXROYW1lc3BhY2U9XCJodHRwOi8vYnBtbi5pby9zY2hlbWEvYnBtblwiICcgK1xyXG4gICAgJ2lkPVwiRGVmaW5pdGlvbnNfMVwiPicgK1xyXG4gICAgJzxicG1uOnByb2Nlc3MgaWQ9XCJQcm9jZXNzXzFcIiBpc0V4ZWN1dGFibGU9XCJ0cnVlXCI+JyArXHJcbiAgICAnPGJwbW46c3RhcnRFdmVudCBpZD1cIlN0YXJ0RXZlbnRfMVwiLz4nICtcclxuICAgICc8L2JwbW46cHJvY2Vzcz4nICtcclxuICAgICc8YnBtbmRpOkJQTU5EaWFncmFtIGlkPVwiQlBNTkRpYWdyYW1fMVwiPicgK1xyXG4gICAgJzxicG1uZGk6QlBNTlBsYW5lIGlkPVwiQlBNTlBsYW5lXzFcIiBicG1uRWxlbWVudD1cIlByb2Nlc3NfMVwiPicgK1xyXG4gICAgJzxicG1uZGk6QlBNTlNoYXBlIGlkPVwiX0JQTU5TaGFwZV9TdGFydEV2ZW50XzJcIiBicG1uRWxlbWVudD1cIlN0YXJ0RXZlbnRfMVwiPicgK1xyXG4gICAgJzxkYzpCb3VuZHMgaGVpZ2h0PVwiMzYuMFwiIHdpZHRoPVwiMzYuMFwiIHg9XCIxNzMuMFwiIHk9XCIxMDIuMFwiLz4nICtcclxuICAgICc8L2JwbW5kaTpCUE1OU2hhcGU+JyArXHJcbiAgICAnPC9icG1uZGk6QlBNTlBsYW5lPicgK1xyXG4gICAgJzwvYnBtbmRpOkJQTU5EaWFncmFtPicgK1xyXG4gICAgJzwvYnBtbjpkZWZpbml0aW9ucz4nO1xyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLm1vZGVsZXIgPSBuZXcgQnBtbk1vZGVsZXIoe1xyXG4gICAgICBjb250YWluZXI6IHRoaXMuY29udGFpbmVyPy5uYXRpdmVFbGVtZW50LFxyXG4gICAgICBwcm9wZXJ0aWVzUGFuZWw6IHtcclxuICAgICAgICBwYXJlbnQ6IHRoaXMuY29uZmlnPy5uYXRpdmVFbGVtZW50LFxyXG4gICAgICB9LFxyXG4gICAgICBrZXlib2FyZDoge1xyXG4gICAgICAgIGJpbmRUbzogZG9jdW1lbnQsXHJcbiAgICAgIH0sXHJcbiAgICAgIGFkZGl0aW9uYWxNb2R1bGVzOiBbXHJcbiAgICAgICAgY3VzdG9tVHJhbnNsYXRlTW9kdWxlLFxyXG4gICAgICAgIGN1c3RvbVVzZXJUYXNrTW9kdWxlLFxyXG4gICAgICAgIGN1c3RvbVNlcnZpY2VUYXNrTW9kdWxlLFxyXG4gICAgICAgIGN1c3RvbUhpZGVPdGhlck1vZHVsZSxcclxuICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzUGFuZWxNb2R1bGVcclxuICAgICAgXVxyXG4gICAgfSk7XHJcbiAgICBjb25zdCBsb2dvID0gdGhpcy5tb2RlbGVyLl9jb250YWluZXIucXVlcnlTZWxlY3RvcignLmJqcy1wb3dlcmVkLWJ5Jyk7XHJcbiAgICBpZiAobG9nbykge1xyXG4gICAgICB0aGlzLm1vZGVsZXIuX2NvbnRhaW5lci5yZW1vdmVDaGlsZChsb2dvKVxyXG4gICAgfVxyXG4gICAgdGhpcy5jYW52YXMgPSB0aGlzLm1vZGVsZXIuZ2V0KCdjYW52YXMnKTtcclxuICAgIHRoaXMubW9kZWxlci5pbXBvcnRYTUwodGhpcy5pbml0aWFsRGlhZ3JhbSkudGhlbigoKSA9PiB7XHJcbiAgICAgIHRoaXMuY2FudmFzLnpvb20oJ2ZpdC12aWV3cG9ydCcpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzaG93WG1sKCkge1xyXG4gICAgaWYgKCF0aGlzLmlzU2hvd1htbCkge1xyXG4gICAgICB0aGlzLm1vZGVsZXIuc2F2ZVhNTCh7Zm9ybWF0OiB0cnVlfSkudGhlbigocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMueG1sID0gcmVzcG9uc2UueG1sO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHRoaXMuaXNTaG93WG1sID0gIXRoaXMuaXNTaG93WG1sO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibWFpblwiPlxuICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCIgI2NvbnRhaW5lcj48L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImNvbmZpZ1wiICNjb25maWc+PC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJ4bWwtdmlld2VyXCIgW25nU3R5bGVdPVwie2Rpc3BsYXk6IGlzU2hvd1htbCA/ICdmbGV4JyA6ICdub25lJ31cIj5cbiAgICA8cnMtY29kZS1lZGl0b3IgbGFuZ3VhZ2U9XCJ4bWxcIiBbY29kZV09XCJ4bWxcIiBbcmVhZG9ubHldPVwidHJ1ZVwiIFtlbmFibGVNaW5pbWFwXT1cInRydWVcIj48L3JzLWNvZGUtZWRpdG9yPlxuICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cImZvb3RlclwiPlxuICA8ZHgtYnV0dG9uIFt0eXBlXT1cImlzU2hvd1htbCA/ICdkZWZhdWx0JyA6ICdub3JtYWwnXCIgdGV4dD1cIlhNTFwiIFtob3ZlclN0YXRlRW5hYmxlZF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgKG9uQ2xpY2spPVwic2hvd1htbCgpXCI+PC9keC1idXR0b24+XG48L2Rpdj5cbiJdfQ==
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FtdW5kYS1icG1uLWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcnMtYW50L3NyYy9jYW11bmRhLWJwbW4tZWRpdG9yL2NhbXVuZGEtYnBtbi1lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJzLWFudC9zcmMvY2FtdW5kYS1icG1uLWVkaXRvci9jYW11bmRhLWJwbW4tZWRpdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWMsS0FBSyxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLFdBQVcsTUFBTSw4Q0FBOEMsQ0FBQztBQUN2RSxPQUFPLHFCQUFxQixNQUFNLG9CQUFvQixDQUFDO0FBQ3ZELE9BQU8sb0JBQW9CLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyx1QkFBdUIsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLHFCQUFxQixNQUFNLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sMkJBQTJCLE1BQU0saUJBQWlCLENBQUM7Ozs7O0FBTzFELE1BQU0sT0FBTywwQkFBMEI7SUFMdkM7UUFZWSxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLG1CQUFjLEdBQ3BCLHdDQUF3QztZQUN4QywwRUFBMEU7WUFDMUUsMkRBQTJEO1lBQzNELDBEQUEwRDtZQUMxRCxvREFBb0Q7WUFDcEQsK0NBQStDO1lBQy9DLHFCQUFxQjtZQUNyQixtREFBbUQ7WUFDbkQsc0NBQXNDO1lBQ3RDLGlCQUFpQjtZQUNqQix5Q0FBeUM7WUFDekMsNkRBQTZEO1lBQzdELDRFQUE0RTtZQUM1RSw2REFBNkQ7WUFDN0QscUJBQXFCO1lBQ3JCLHFCQUFxQjtZQUNyQix1QkFBdUI7WUFDdkIscUJBQXFCLENBQUM7S0FtRHpCO0lBakRDLFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNiLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztTQUNoQztJQUNILENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLFdBQVcsQ0FBQztZQUM3QixTQUFTLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxhQUFhO1lBQzVDLGVBQWUsRUFBRTtnQkFDZixNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxhQUFhO2FBQ3ZDO1lBQ0QsUUFBUSxFQUFFO2dCQUNSLE1BQU0sRUFBRSxRQUFRO2FBQ2pCO1lBQ0QsaUJBQWlCLEVBQUU7Z0JBQ2pCLHFCQUFxQjtnQkFDckIsb0JBQW9CO2dCQUNwQix1QkFBdUI7Z0JBQ3ZCLHFCQUFxQjtnQkFDckIsMkJBQTJCO2FBQzVCO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDdEUsSUFBSSxJQUFJLEVBQUU7WUFDUixJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDM0M7UUFDRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ3pDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1lBQ2pCLENBQUMsQ0FBQyxDQUFBO1NBQ0g7UUFDRCxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUNuQyxDQUFDO0lBRU0sT0FBTyxDQUFDLFFBQWM7UUFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRTtZQUMxRCxJQUFJLFFBQVEsRUFBRTtnQkFDWixRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3hCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzt1SEE1RVUsMEJBQTBCOzJHQUExQiwwQkFBMEIsaVNDYnZDLHVnQkFXQTsyRkRFYSwwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0Usd0JBQXdCOzhCQU1sQyxHQUFHO3NCQURGLEtBQUs7Z0JBRXNCLGFBQWE7c0JBQXhDLFNBQVM7dUJBQUMsZUFBZTtnQkFDRCxVQUFVO3NCQUFsQyxTQUFTO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCBCcG1uTW9kZWxlciBmcm9tICdjYW11bmRhLWJwbW4tanMvbGliL2NhbXVuZGEtcGxhdGZvcm0vTW9kZWxlcic7XHJcbmltcG9ydCBjdXN0b21UcmFuc2xhdGVNb2R1bGUgZnJvbSAnLi9jdXN0b20vdHJhbnNsYXRlJztcclxuaW1wb3J0IGN1c3RvbVVzZXJUYXNrTW9kdWxlIGZyb20gJy4vY3VzdG9tL3VzZXItdGFzayc7XHJcbmltcG9ydCBjdXN0b21TZXJ2aWNlVGFza01vZHVsZSBmcm9tICcuL2N1c3RvbS9zZXJ2aWNlLXRhc2snO1xyXG5pbXBvcnQgY3VzdG9tSGlkZU90aGVyTW9kdWxlIGZyb20gJy4vY3VzdG9tL2hpZGUtb3RoZXInO1xyXG5pbXBvcnQgY3VzdG9tUHJvcGVydGllc1BhbmVsTW9kdWxlIGZyb20gJy4vY3VzdG9tL2NvbmZpZyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3JzLWNhbXVuZGEtYnBtbi1lZGl0b3InLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jYW11bmRhLWJwbW4tZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jYW11bmRhLWJwbW4tZWRpdG9yLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIENhbXVuZGFCcG1uRWRpdG9yQ29tcG9uZW50IHtcclxuICBASW5wdXQoKVxyXG4gIHhtbDogYW55O1xyXG4gIEBWaWV3Q2hpbGQoJ2JwbW5Db250YWluZXInKSBicG1uQ29udGFpbmVyPzogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdicG1uQ29uZmlnJykgYnBtbkNvbmZpZz86IEVsZW1lbnRSZWY7XHJcbiAgcHJpdmF0ZSBtb2RlbGVyOiBhbnk7XHJcbiAgcHJpdmF0ZSBjYW52YXM6IGFueTtcclxuICBwcm90ZWN0ZWQgaXNTaG93WG1sID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBpbml0aWFsRGlhZ3JhbSA9XHJcbiAgICAnPD94bWwgdmVyc2lvbj1cIjEuMFwiIGVuY29kaW5nPVwiVVRGLThcIj8+JyArXHJcbiAgICAnPGJwbW46ZGVmaW5pdGlvbnMgeG1sbnM6eHNpPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2VcIiAnICtcclxuICAgICd4bWxuczpicG1uPVwiaHR0cDovL3d3dy5vbWcub3JnL3NwZWMvQlBNTi8yMDEwMDUyNC9NT0RFTFwiICcgK1xyXG4gICAgJ3htbG5zOmJwbW5kaT1cImh0dHA6Ly93d3cub21nLm9yZy9zcGVjL0JQTU4vMjAxMDA1MjQvRElcIiAnICtcclxuICAgICd4bWxuczpkYz1cImh0dHA6Ly93d3cub21nLm9yZy9zcGVjL0RELzIwMTAwNTI0L0RDXCIgJyArXHJcbiAgICAndGFyZ2V0TmFtZXNwYWNlPVwiaHR0cDovL2JwbW4uaW8vc2NoZW1hL2JwbW5cIiAnICtcclxuICAgICdpZD1cIkRlZmluaXRpb25zXzFcIj4nICtcclxuICAgICc8YnBtbjpwcm9jZXNzIGlkPVwiUHJvY2Vzc18xXCIgaXNFeGVjdXRhYmxlPVwidHJ1ZVwiPicgK1xyXG4gICAgJzxicG1uOnN0YXJ0RXZlbnQgaWQ9XCJTdGFydEV2ZW50XzFcIi8+JyArXHJcbiAgICAnPC9icG1uOnByb2Nlc3M+JyArXHJcbiAgICAnPGJwbW5kaTpCUE1ORGlhZ3JhbSBpZD1cIkJQTU5EaWFncmFtXzFcIj4nICtcclxuICAgICc8YnBtbmRpOkJQTU5QbGFuZSBpZD1cIkJQTU5QbGFuZV8xXCIgYnBtbkVsZW1lbnQ9XCJQcm9jZXNzXzFcIj4nICtcclxuICAgICc8YnBtbmRpOkJQTU5TaGFwZSBpZD1cIl9CUE1OU2hhcGVfU3RhcnRFdmVudF8yXCIgYnBtbkVsZW1lbnQ9XCJTdGFydEV2ZW50XzFcIj4nICtcclxuICAgICc8ZGM6Qm91bmRzIGhlaWdodD1cIjM2LjBcIiB3aWR0aD1cIjM2LjBcIiB4PVwiMTczLjBcIiB5PVwiMTAyLjBcIi8+JyArXHJcbiAgICAnPC9icG1uZGk6QlBNTlNoYXBlPicgK1xyXG4gICAgJzwvYnBtbmRpOkJQTU5QbGFuZT4nICtcclxuICAgICc8L2JwbW5kaTpCUE1ORGlhZ3JhbT4nICtcclxuICAgICc8L2JwbW46ZGVmaW5pdGlvbnM+JztcclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAoIXRoaXMueG1sKSB7XHJcbiAgICAgIHRoaXMueG1sID0gdGhpcy5pbml0aWFsRGlhZ3JhbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMubW9kZWxlciA9IG5ldyBCcG1uTW9kZWxlcih7XHJcbiAgICAgIGNvbnRhaW5lcjogdGhpcy5icG1uQ29udGFpbmVyPy5uYXRpdmVFbGVtZW50LFxyXG4gICAgICBwcm9wZXJ0aWVzUGFuZWw6IHtcclxuICAgICAgICBwYXJlbnQ6IHRoaXMuYnBtbkNvbmZpZz8ubmF0aXZlRWxlbWVudCxcclxuICAgICAgfSxcclxuICAgICAga2V5Ym9hcmQ6IHtcclxuICAgICAgICBiaW5kVG86IGRvY3VtZW50LFxyXG4gICAgICB9LFxyXG4gICAgICBhZGRpdGlvbmFsTW9kdWxlczogW1xyXG4gICAgICAgIGN1c3RvbVRyYW5zbGF0ZU1vZHVsZSxcclxuICAgICAgICBjdXN0b21Vc2VyVGFza01vZHVsZSxcclxuICAgICAgICBjdXN0b21TZXJ2aWNlVGFza01vZHVsZSxcclxuICAgICAgICBjdXN0b21IaWRlT3RoZXJNb2R1bGUsXHJcbiAgICAgICAgY3VzdG9tUHJvcGVydGllc1BhbmVsTW9kdWxlXHJcbiAgICAgIF1cclxuICAgIH0pO1xyXG4gICAgY29uc3QgbG9nbyA9IHRoaXMubW9kZWxlci5fY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJy5ianMtcG93ZXJlZC1ieScpO1xyXG4gICAgaWYgKGxvZ28pIHtcclxuICAgICAgdGhpcy5tb2RlbGVyLl9jb250YWluZXIucmVtb3ZlQ2hpbGQobG9nbyk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNhbnZhcyA9IHRoaXMubW9kZWxlci5nZXQoJ2NhbnZhcycpO1xyXG4gICAgdGhpcy5tb2RlbGVyLmltcG9ydFhNTCh0aGlzLnhtbCkudGhlbigoKSA9PiB7XHJcbiAgICAgIHRoaXMuY2FudmFzLnpvb20oJ2ZpdC12aWV3cG9ydCcpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzaG93WG1sKCkge1xyXG4gICAgaWYgKCF0aGlzLmlzU2hvd1htbCkge1xyXG4gICAgICB0aGlzLnNhdmVYbWwoKHhtbDogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy54bWwgPSB4bWw7XHJcbiAgICAgIH0pXHJcbiAgICB9XHJcbiAgICB0aGlzLmlzU2hvd1htbCA9ICF0aGlzLmlzU2hvd1htbDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzYXZlWG1sKGNhbGxiYWNrPzogYW55KSB7XHJcbiAgICB0aGlzLm1vZGVsZXIuc2F2ZVhNTCh7Zm9ybWF0OiB0cnVlfSkudGhlbigocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoY2FsbGJhY2spIHtcclxuICAgICAgICBjYWxsYmFjayhyZXNwb25zZS54bWwpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIm1haW5cIj5cbiAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiICNicG1uQ29udGFpbmVyPjwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiY29uZmlnXCIgI2JwbW5Db25maWc+PC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJ4bWwtdmlld2VyXCIgW25nU3R5bGVdPVwie2Rpc3BsYXk6IGlzU2hvd1htbCA/ICdmbGV4JyA6ICdub25lJ31cIj5cbiAgICA8cnMtY29kZS1lZGl0b3IgbGFuZ3VhZ2U9XCJ4bWxcIiBbY29kZV09XCJ4bWxcIiBbcmVhZG9ubHldPVwidHJ1ZVwiIFtlbmFibGVNaW5pbWFwXT1cInRydWVcIj48L3JzLWNvZGUtZWRpdG9yPlxuICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cImZvb3RlclwiPlxuICA8ZHgtYnV0dG9uIFt0eXBlXT1cImlzU2hvd1htbCA/ICdkZWZhdWx0JyA6ICdub3JtYWwnXCIgdGV4dD1cIlhNTFwiIFtob3ZlclN0YXRlRW5hYmxlZF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgKG9uQ2xpY2spPVwic2hvd1htbCgpXCI+PC9keC1idXR0b24+XG48L2Rpdj5cbiJdfQ==
@@ -1721,12 +1721,17 @@ class CamundaBpmnEditorComponent {
1721
1721
  '</bpmndi:BPMNDiagram>' +
1722
1722
  '</bpmn:definitions>';
1723
1723
  }
1724
+ ngOnInit() {
1725
+ if (!this.xml) {
1726
+ this.xml = this.initialDiagram;
1727
+ }
1728
+ }
1724
1729
  ngAfterViewInit() {
1725
1730
  var _a, _b;
1726
1731
  this.modeler = new BpmnModeler({
1727
- container: (_a = this.container) === null || _a === void 0 ? void 0 : _a.nativeElement,
1732
+ container: (_a = this.bpmnContainer) === null || _a === void 0 ? void 0 : _a.nativeElement,
1728
1733
  propertiesPanel: {
1729
- parent: (_b = this.config) === null || _b === void 0 ? void 0 : _b.nativeElement,
1734
+ parent: (_b = this.bpmnConfig) === null || _b === void 0 ? void 0 : _b.nativeElement,
1730
1735
  },
1731
1736
  keyboard: {
1732
1737
  bindTo: document,
@@ -1744,30 +1749,39 @@ class CamundaBpmnEditorComponent {
1744
1749
  this.modeler._container.removeChild(logo);
1745
1750
  }
1746
1751
  this.canvas = this.modeler.get('canvas');
1747
- this.modeler.importXML(this.initialDiagram).then(() => {
1752
+ this.modeler.importXML(this.xml).then(() => {
1748
1753
  this.canvas.zoom('fit-viewport');
1749
1754
  });
1750
1755
  }
1751
1756
  showXml() {
1752
1757
  if (!this.isShowXml) {
1753
- this.modeler.saveXML({ format: true }).then((response) => {
1754
- this.xml = response.xml;
1758
+ this.saveXml((xml) => {
1759
+ this.xml = xml;
1755
1760
  });
1756
1761
  }
1757
1762
  this.isShowXml = !this.isShowXml;
1758
1763
  }
1764
+ saveXml(callback) {
1765
+ this.modeler.saveXML({ format: true }).then((response) => {
1766
+ if (callback) {
1767
+ callback(response.xml);
1768
+ }
1769
+ });
1770
+ }
1759
1771
  }
1760
1772
  CamundaBpmnEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CamundaBpmnEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1761
- CamundaBpmnEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: CamundaBpmnEditorComponent, selector: "rs-camunda-bpmn-editor", viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }, { propertyName: "config", first: true, predicate: ["config"], descendants: true }], ngImport: i0, template: "<div class=\"main\">\n <div class=\"container\" #container></div>\n <div class=\"config\" #config></div>\n <div class=\"xml-viewer\" [ngStyle]=\"{display: isShowXml ? 'flex' : 'none'}\">\n <rs-code-editor language=\"xml\" [code]=\"xml\" [readonly]=\"true\" [enableMinimap]=\"true\"></rs-code-editor>\n </div>\n</div>\n<div class=\"footer\">\n <dx-button [type]=\"isShowXml ? 'default' : 'normal'\" text=\"XML\" [hoverStateEnabled]=\"false\"\n (onClick)=\"showXml()\"></dx-button>\n</div>\n", styles: [":host{flex:1;display:flex;flex-flow:column nowrap}:host .main{flex:1;display:flex;flex-flow:row nowrap;position:relative}:host .main .container{flex:1}:host .main .config{flex:0 0 360px;border:1px solid var(--coast-border-color, #dddddd)}:host .main .xml-viewer{position:absolute;width:100%;height:100%;display:flex;flex-flow:column nowrap;z-index:var(--coast-z-index-drawer, 1040)}:host .main .xml-viewer rs-code-editor{flex:1}:host .footer{flex:0 0 24px;border:1px solid var(--coast-border-color, #dddddd)}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: CodeEditorComponent, selector: "rs-code-editor", inputs: ["code", "language", "readonly", "enableMinimap", "consoleMessage"], outputs: ["codeChange", "onContentReady"] }, { kind: "component", type: i4.DxButtonComponent, selector: "dx-button", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "icon", "rtlEnabled", "stylingMode", "tabIndex", "template", "text", "type", "useSubmitBehavior", "validationGroup", "visible", "width"], outputs: ["onClick", "onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconChange", "rtlEnabledChange", "stylingModeChange", "tabIndexChange", "templateChange", "textChange", "typeChange", "useSubmitBehaviorChange", "validationGroupChange", "visibleChange", "widthChange"] }] });
1773
+ CamundaBpmnEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: CamundaBpmnEditorComponent, selector: "rs-camunda-bpmn-editor", inputs: { xml: "xml" }, viewQueries: [{ propertyName: "bpmnContainer", first: true, predicate: ["bpmnContainer"], descendants: true }, { propertyName: "bpmnConfig", first: true, predicate: ["bpmnConfig"], descendants: true }], ngImport: i0, template: "<div class=\"main\">\n <div class=\"container\" #bpmnContainer></div>\n <div class=\"config\" #bpmnConfig></div>\n <div class=\"xml-viewer\" [ngStyle]=\"{display: isShowXml ? 'flex' : 'none'}\">\n <rs-code-editor language=\"xml\" [code]=\"xml\" [readonly]=\"true\" [enableMinimap]=\"true\"></rs-code-editor>\n </div>\n</div>\n<div class=\"footer\">\n <dx-button [type]=\"isShowXml ? 'default' : 'normal'\" text=\"XML\" [hoverStateEnabled]=\"false\"\n (onClick)=\"showXml()\"></dx-button>\n</div>\n", styles: [":host{flex:1;display:flex;flex-flow:column nowrap}:host .main{flex:1;display:flex;flex-flow:row nowrap;position:relative}:host .main .container{flex:1}:host .main .config{flex:0 0 360px;border:1px solid var(--coast-border-color, #dddddd)}:host .main .xml-viewer{position:absolute;width:100%;height:100%;display:flex;flex-flow:column nowrap;z-index:var(--coast-z-index-drawer, 1040)}:host .main .xml-viewer rs-code-editor{flex:1}:host .footer{flex:0 0 24px;border:1px solid var(--coast-border-color, #dddddd)}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: CodeEditorComponent, selector: "rs-code-editor", inputs: ["code", "language", "readonly", "enableMinimap", "consoleMessage"], outputs: ["codeChange", "onContentReady"] }, { kind: "component", type: i4.DxButtonComponent, selector: "dx-button", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "icon", "rtlEnabled", "stylingMode", "tabIndex", "template", "text", "type", "useSubmitBehavior", "validationGroup", "visible", "width"], outputs: ["onClick", "onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconChange", "rtlEnabledChange", "stylingModeChange", "tabIndexChange", "templateChange", "textChange", "typeChange", "useSubmitBehaviorChange", "validationGroupChange", "visibleChange", "widthChange"] }] });
1762
1774
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CamundaBpmnEditorComponent, decorators: [{
1763
1775
  type: Component,
1764
- args: [{ selector: 'rs-camunda-bpmn-editor', template: "<div class=\"main\">\n <div class=\"container\" #container></div>\n <div class=\"config\" #config></div>\n <div class=\"xml-viewer\" [ngStyle]=\"{display: isShowXml ? 'flex' : 'none'}\">\n <rs-code-editor language=\"xml\" [code]=\"xml\" [readonly]=\"true\" [enableMinimap]=\"true\"></rs-code-editor>\n </div>\n</div>\n<div class=\"footer\">\n <dx-button [type]=\"isShowXml ? 'default' : 'normal'\" text=\"XML\" [hoverStateEnabled]=\"false\"\n (onClick)=\"showXml()\"></dx-button>\n</div>\n", styles: [":host{flex:1;display:flex;flex-flow:column nowrap}:host .main{flex:1;display:flex;flex-flow:row nowrap;position:relative}:host .main .container{flex:1}:host .main .config{flex:0 0 360px;border:1px solid var(--coast-border-color, #dddddd)}:host .main .xml-viewer{position:absolute;width:100%;height:100%;display:flex;flex-flow:column nowrap;z-index:var(--coast-z-index-drawer, 1040)}:host .main .xml-viewer rs-code-editor{flex:1}:host .footer{flex:0 0 24px;border:1px solid var(--coast-border-color, #dddddd)}\n"] }]
1765
- }], propDecorators: { container: [{
1776
+ args: [{ selector: 'rs-camunda-bpmn-editor', template: "<div class=\"main\">\n <div class=\"container\" #bpmnContainer></div>\n <div class=\"config\" #bpmnConfig></div>\n <div class=\"xml-viewer\" [ngStyle]=\"{display: isShowXml ? 'flex' : 'none'}\">\n <rs-code-editor language=\"xml\" [code]=\"xml\" [readonly]=\"true\" [enableMinimap]=\"true\"></rs-code-editor>\n </div>\n</div>\n<div class=\"footer\">\n <dx-button [type]=\"isShowXml ? 'default' : 'normal'\" text=\"XML\" [hoverStateEnabled]=\"false\"\n (onClick)=\"showXml()\"></dx-button>\n</div>\n", styles: [":host{flex:1;display:flex;flex-flow:column nowrap}:host .main{flex:1;display:flex;flex-flow:row nowrap;position:relative}:host .main .container{flex:1}:host .main .config{flex:0 0 360px;border:1px solid var(--coast-border-color, #dddddd)}:host .main .xml-viewer{position:absolute;width:100%;height:100%;display:flex;flex-flow:column nowrap;z-index:var(--coast-z-index-drawer, 1040)}:host .main .xml-viewer rs-code-editor{flex:1}:host .footer{flex:0 0 24px;border:1px solid var(--coast-border-color, #dddddd)}\n"] }]
1777
+ }], propDecorators: { xml: [{
1778
+ type: Input
1779
+ }], bpmnContainer: [{
1766
1780
  type: ViewChild,
1767
- args: ['container']
1768
- }], config: [{
1781
+ args: ['bpmnContainer']
1782
+ }], bpmnConfig: [{
1769
1783
  type: ViewChild,
1770
- args: ['config']
1784
+ args: ['bpmnConfig']
1771
1785
  }] } });
1772
1786
 
1773
1787
  class CodeEditorModule {