ngx-rs-ant 2.3.9 → 2.4.0
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.
- package/camunda-bpmn-editor/camunda-bpmn-editor.component.d.ts +1 -0
- package/camunda-bpmn-viewer/camunda-bpmn-viewer.component.d.ts +1 -0
- package/esm2020/camunda-bpmn-editor/camunda-bpmn-editor.component.mjs +17 -3
- package/esm2020/camunda-bpmn-viewer/camunda-bpmn-viewer.component.mjs +17 -3
- package/fesm2015/ngx-rs-ant.mjs +32 -4
- package/fesm2015/ngx-rs-ant.mjs.map +1 -1
- package/fesm2020/ngx-rs-ant.mjs +32 -4
- package/fesm2020/ngx-rs-ant.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -22,6 +22,7 @@ export declare class CamundaBpmnEditorComponent {
|
|
|
22
22
|
loadXml(): void;
|
|
23
23
|
showXml(): void;
|
|
24
24
|
saveXml(callback?: any): void;
|
|
25
|
+
zoom(type: 'reset' | 'zoomIn' | 'zoomOut'): void;
|
|
25
26
|
static ɵfac: i0.ɵɵFactoryDeclaration<CamundaBpmnEditorComponent, never>;
|
|
26
27
|
static ɵcmp: i0.ɵɵComponentDeclaration<CamundaBpmnEditorComponent, "rs-camunda-bpmn-editor", never, { "xml": "xml"; "showXmlButton": "showXmlButton"; "showConfigButton": "showConfigButton"; }, { "selectedNodeChanged": "selectedNodeChanged"; }, never, never, false, never>;
|
|
27
28
|
}
|
|
@@ -11,6 +11,7 @@ export declare class CamundaBpmnViewerComponent {
|
|
|
11
11
|
viewerContainer: ElementRef;
|
|
12
12
|
ngAfterViewInit(): void;
|
|
13
13
|
loadXml(): void;
|
|
14
|
+
zoom(type: 'reset' | 'zoomIn' | 'zoomOut'): void;
|
|
14
15
|
static ɵfac: i0.ɵɵFactoryDeclaration<CamundaBpmnViewerComponent, never>;
|
|
15
16
|
static ɵcmp: i0.ɵɵComponentDeclaration<CamundaBpmnViewerComponent, "rs-camunda-bpmn-viewer", never, { "xml": "xml"; "failedActivities": "failedActivities"; "activeActivities": "activeActivities"; }, {}, never, never, false, never>;
|
|
16
17
|
}
|
|
@@ -108,12 +108,26 @@ export class CamundaBpmnEditorComponent {
|
|
|
108
108
|
}
|
|
109
109
|
});
|
|
110
110
|
}
|
|
111
|
+
zoom(type) {
|
|
112
|
+
const zoom = this.canvas.zoom();
|
|
113
|
+
switch (type) {
|
|
114
|
+
case 'reset':
|
|
115
|
+
this.canvas.zoom('fit-viewport');
|
|
116
|
+
break;
|
|
117
|
+
case 'zoomIn':
|
|
118
|
+
this.canvas.zoom(zoom + 0.1);
|
|
119
|
+
break;
|
|
120
|
+
case 'zoomOut':
|
|
121
|
+
this.canvas.zoom(zoom - 0.1);
|
|
122
|
+
break;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
111
125
|
}
|
|
112
126
|
CamundaBpmnEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CamundaBpmnEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
113
|
-
CamundaBpmnEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CamundaBpmnEditorComponent, selector: "rs-camunda-bpmn-editor", inputs: { xml: "xml", showXmlButton: "showXmlButton", showConfigButton: "showConfigButton" }, outputs: { selectedNodeChanged: "selectedNodeChanged" }, viewQueries: [{ propertyName: "bpmnContainer", first: true, predicate: ["bpmnContainer"], descendants: true }, { propertyName: "bpmnConfig", first: true, predicate: ["bpmnConfig"], descendants: true }], ngImport: i0, template: "<div class=\"main\">\r\n <div class=\"container\" #bpmnContainer></div>\r\n <div [hidden]=\"!isShowConfig\" class=\"config\" #bpmnConfig></div>\r\n <div class=\"xml-viewer\" [ngStyle]=\"{display: isShowXml ? 'flex' : 'none'}\">\r\n <rs-code-editor language=\"xml\" [code]=\"xml\" [readonly]=\"true\" [enableMinimap]=\"true\"></rs-code-editor>\r\n </div>\r\n</div>\r\n<div class=\"footer\">\r\n <dx-button [type]=\"isShowXml ? 'default' : 'normal'\" text=\"XML\" [hoverStateEnabled]=\"false\"\r\n [visible]=\"showXmlButton\" (onClick)=\"showXml()\"></dx-button>\r\n <dx-button [type]=\"isShowConfig ? 'default' : 'normal'\" icon=\"coast-icon coast-icon-setting\"\r\n style=\"float: right;\" [visible]=\"showConfigButton\"\r\n (onClick)=\"isShowConfig = !isShowConfig;\"></dx-button>\r\n</div>\r\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, rgb(221, 221, 221))}:host .main .xml-viewer{position:absolute;width:100%;height:100%;display:flex;flex-flow:column nowrap;z-index:var(--coast-z-index-drawer, 2000)}:host .main .xml-viewer rs-code-editor{flex:1}:host .footer{flex:0 0 24px;border:1px solid var(--coast-border-color, rgb(221, 221, 221))}\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"] }] });
|
|
127
|
+
CamundaBpmnEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CamundaBpmnEditorComponent, selector: "rs-camunda-bpmn-editor", inputs: { xml: "xml", showXmlButton: "showXmlButton", showConfigButton: "showConfigButton" }, outputs: { selectedNodeChanged: "selectedNodeChanged" }, viewQueries: [{ propertyName: "bpmnContainer", first: true, predicate: ["bpmnContainer"], descendants: true }, { propertyName: "bpmnConfig", first: true, predicate: ["bpmnConfig"], descendants: true }], ngImport: i0, template: "<div class=\"main\">\r\n <div class=\"container\" #bpmnContainer>\r\n <div class=\"zoom-controls\">\r\n <ul class=\"zoom-reset io-control io-control-list\">\r\n <li>\r\n <button title=\"\u8FD8\u539F\" (click)=\"zoom('reset')\">\r\n <span class=\"coast-icon-refresh\"></span>\r\n </button>\r\n </li>\r\n <li>\r\n <hr class=\"separator\">\r\n </li>\r\n <li>\r\n <button title=\"\u653E\u5927\" (click)=\"zoom('zoomIn')\">\r\n <span class=\"coast-icon-add\"></span>\r\n </button>\r\n </li>\r\n <li>\r\n <hr class=\"separator\">\r\n </li>\r\n <li>\r\n <button title=\"\u7F29\u5C0F\" (click)=\"zoom('zoomOut')\">\r\n <span class=\"coast-icon-minus\"></span>\r\n </button>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div [hidden]=\"!isShowConfig\" class=\"config\" #bpmnConfig></div>\r\n <div class=\"xml-viewer\" [ngStyle]=\"{display: isShowXml ? 'flex' : 'none'}\">\r\n <rs-code-editor language=\"xml\" [code]=\"xml\" [readonly]=\"true\" [enableMinimap]=\"true\"></rs-code-editor>\r\n </div>\r\n</div>\r\n<div class=\"footer\">\r\n <dx-button [type]=\"isShowXml ? 'default' : 'normal'\" text=\"XML\" [hoverStateEnabled]=\"false\"\r\n [visible]=\"showXmlButton\" (onClick)=\"showXml()\"></dx-button>\r\n <dx-button [type]=\"isShowConfig ? 'default' : 'normal'\" icon=\"coast-icon coast-icon-setting\"\r\n style=\"float: right;\" [visible]=\"showConfigButton\"\r\n (onClick)=\"isShowConfig = !isShowConfig;\"></dx-button>\r\n</div>\r\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;position:relative;z-index:0}:host .main .container .zoom-controls{position:absolute;right:8px;bottom:20px;z-index:1}:host .main .container .zoom-controls ul{list-style:none;padding:4px;margin:0;background:var(--coast-global-bg-color, rgb(245, 245, 245));border:1px solid var(--coast-border-color, rgb(221, 221, 221));border-radius:2px;box-shadow:0 0 2px #0000001f}:host .main .container .zoom-controls ul li button{cursor:pointer;font-size:14px;background:none;border:none}:host .main .container .zoom-controls ul li button:hover{color:var(--coast-default-color, rgb(51, 122, 183))}:host .main .container .zoom-controls ul li hr.separator{margin:4px;padding-top:4px;border:none;border-bottom:solid 1px gray;clear:both}:host .main .config{flex:0 0 360px;border:1px solid var(--coast-border-color, rgb(221, 221, 221))}:host .main .xml-viewer{position:absolute;width:100%;height:100%;display:flex;flex-flow:column nowrap;z-index:var(--coast-z-index-drawer, 2000)}:host .main .xml-viewer rs-code-editor{flex:1}:host .footer{flex:0 0 24px;border:1px solid var(--coast-border-color, rgb(221, 221, 221))}\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"] }] });
|
|
114
128
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CamundaBpmnEditorComponent, decorators: [{
|
|
115
129
|
type: Component,
|
|
116
|
-
args: [{ selector: 'rs-camunda-bpmn-editor', template: "<div class=\"main\">\r\n <div class=\"container\" #bpmnContainer></div>\r\n <div [hidden]=\"!isShowConfig\" class=\"config\" #bpmnConfig></div>\r\n <div class=\"xml-viewer\" [ngStyle]=\"{display: isShowXml ? 'flex' : 'none'}\">\r\n <rs-code-editor language=\"xml\" [code]=\"xml\" [readonly]=\"true\" [enableMinimap]=\"true\"></rs-code-editor>\r\n </div>\r\n</div>\r\n<div class=\"footer\">\r\n <dx-button [type]=\"isShowXml ? 'default' : 'normal'\" text=\"XML\" [hoverStateEnabled]=\"false\"\r\n [visible]=\"showXmlButton\" (onClick)=\"showXml()\"></dx-button>\r\n <dx-button [type]=\"isShowConfig ? 'default' : 'normal'\" icon=\"coast-icon coast-icon-setting\"\r\n style=\"float: right;\" [visible]=\"showConfigButton\"\r\n (onClick)=\"isShowConfig = !isShowConfig;\"></dx-button>\r\n</div>\r\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, rgb(221, 221, 221))}:host .main .xml-viewer{position:absolute;width:100%;height:100%;display:flex;flex-flow:column nowrap;z-index:var(--coast-z-index-drawer, 2000)}:host .main .xml-viewer rs-code-editor{flex:1}:host .footer{flex:0 0 24px;border:1px solid var(--coast-border-color, rgb(221, 221, 221))}\n"] }]
|
|
130
|
+
args: [{ selector: 'rs-camunda-bpmn-editor', template: "<div class=\"main\">\r\n <div class=\"container\" #bpmnContainer>\r\n <div class=\"zoom-controls\">\r\n <ul class=\"zoom-reset io-control io-control-list\">\r\n <li>\r\n <button title=\"\u8FD8\u539F\" (click)=\"zoom('reset')\">\r\n <span class=\"coast-icon-refresh\"></span>\r\n </button>\r\n </li>\r\n <li>\r\n <hr class=\"separator\">\r\n </li>\r\n <li>\r\n <button title=\"\u653E\u5927\" (click)=\"zoom('zoomIn')\">\r\n <span class=\"coast-icon-add\"></span>\r\n </button>\r\n </li>\r\n <li>\r\n <hr class=\"separator\">\r\n </li>\r\n <li>\r\n <button title=\"\u7F29\u5C0F\" (click)=\"zoom('zoomOut')\">\r\n <span class=\"coast-icon-minus\"></span>\r\n </button>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div [hidden]=\"!isShowConfig\" class=\"config\" #bpmnConfig></div>\r\n <div class=\"xml-viewer\" [ngStyle]=\"{display: isShowXml ? 'flex' : 'none'}\">\r\n <rs-code-editor language=\"xml\" [code]=\"xml\" [readonly]=\"true\" [enableMinimap]=\"true\"></rs-code-editor>\r\n </div>\r\n</div>\r\n<div class=\"footer\">\r\n <dx-button [type]=\"isShowXml ? 'default' : 'normal'\" text=\"XML\" [hoverStateEnabled]=\"false\"\r\n [visible]=\"showXmlButton\" (onClick)=\"showXml()\"></dx-button>\r\n <dx-button [type]=\"isShowConfig ? 'default' : 'normal'\" icon=\"coast-icon coast-icon-setting\"\r\n style=\"float: right;\" [visible]=\"showConfigButton\"\r\n (onClick)=\"isShowConfig = !isShowConfig;\"></dx-button>\r\n</div>\r\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;position:relative;z-index:0}:host .main .container .zoom-controls{position:absolute;right:8px;bottom:20px;z-index:1}:host .main .container .zoom-controls ul{list-style:none;padding:4px;margin:0;background:var(--coast-global-bg-color, rgb(245, 245, 245));border:1px solid var(--coast-border-color, rgb(221, 221, 221));border-radius:2px;box-shadow:0 0 2px #0000001f}:host .main .container .zoom-controls ul li button{cursor:pointer;font-size:14px;background:none;border:none}:host .main .container .zoom-controls ul li button:hover{color:var(--coast-default-color, rgb(51, 122, 183))}:host .main .container .zoom-controls ul li hr.separator{margin:4px;padding-top:4px;border:none;border-bottom:solid 1px gray;clear:both}:host .main .config{flex:0 0 360px;border:1px solid var(--coast-border-color, rgb(221, 221, 221))}:host .main .xml-viewer{position:absolute;width:100%;height:100%;display:flex;flex-flow:column nowrap;z-index:var(--coast-z-index-drawer, 2000)}:host .main .xml-viewer rs-code-editor{flex:1}:host .footer{flex:0 0 24px;border:1px solid var(--coast-border-color, rgb(221, 221, 221))}\n"] }]
|
|
117
131
|
}], propDecorators: { xml: [{
|
|
118
132
|
type: Input
|
|
119
133
|
}], showXmlButton: [{
|
|
@@ -129,4 +143,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
129
143
|
type: ViewChild,
|
|
130
144
|
args: ['bpmnConfig']
|
|
131
145
|
}] } });
|
|
132
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FtdW5kYS1icG1uLWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcnMtYW50L3NyYy9jYW11bmRhLWJwbW4tZWRpdG9yL2NhbXVuZGEtYnBtbi1lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJzLWFudC9zcmMvY2FtdW5kYS1icG1uLWVkaXRvci9jYW11bmRhLWJwbW4tZWRpdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVGLE9BQU8sV0FBVyxNQUFNLDhDQUE4QyxDQUFDO0FBQ3ZFLE9BQU8scUJBQXFCLE1BQU0sb0JBQW9CLENBQUM7QUFDdkQsT0FBTyxvQkFBb0IsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLHVCQUF1QixNQUFNLHVCQUF1QixDQUFDO0FBQzVELE9BQU8scUJBQXFCLE1BQU0scUJBQXFCLENBQUM7Ozs7O0FBT3hELE1BQU0sT0FBTywwQkFBMEI7SUFMdkM7UUFvQkUsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFFdEIscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBRXpCLHdCQUFtQixHQUFHLElBQUksWUFBWSxFQUFnQyxDQUFDO1FBSzdELGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDdkIsbUJBQWMsR0FDcEIsd0NBQXdDO1lBQ3hDLDBFQUEwRTtZQUMxRSwyREFBMkQ7WUFDM0QsMERBQTBEO1lBQzFELG9EQUFvRDtZQUNwRCwrQ0FBK0M7WUFDL0MscUJBQXFCO1lBQ3JCLG1EQUFtRDtZQUNuRCxzQ0FBc0M7WUFDdEMsaUJBQWlCO1lBQ2pCLHlDQUF5QztZQUN6Qyw2REFBNkQ7WUFDN0QsNEVB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QUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1lBQ2pCLENBQUMsQ0FBQyxDQUFBO1NBQ0g7UUFDRCxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUNuQyxDQUFDO0lBRU0sT0FBTyxDQUFDLFFBQWM7UUFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRTtZQUMxRCxJQUFJLFFBQVEsRUFBRTtnQkFDWixRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3hCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzt3SEFqSFUsMEJBQTBCOzRHQUExQiwwQkFBMEIsZ2FDWnZDLDAwQkFjQTs0RkRGYSwwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0Usd0JBQXdCOzhCQU05QixHQUFHO3NCQUROLEtBQUs7Z0JBY04sYUFBYTtzQkFEWixLQUFLO2dCQUdOLGdCQUFnQjtzQkFEZixLQUFLO2dCQUdOLG1CQUFtQjtzQkFEbEIsTUFBTTtnQkFFcUIsYUFBYTtzQkFBeEMsU0FBUzt1QkFBQyxlQUFlO2dCQUNELFVBQVU7c0JBQWxDLFNBQVM7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCBCcG1uTW9kZWxlciBmcm9tICdjYW11bmRhLWJwbW4tanMvbGliL2NhbXVuZGEtcGxhdGZvcm0vTW9kZWxlcic7XHJcbmltcG9ydCBjdXN0b21UcmFuc2xhdGVNb2R1bGUgZnJvbSAnLi9jdXN0b20vdHJhbnNsYXRlJztcclxuaW1wb3J0IGN1c3RvbVVzZXJUYXNrTW9kdWxlIGZyb20gJy4vY3VzdG9tL3VzZXItdGFzayc7XHJcbmltcG9ydCBjdXN0b21TZXJ2aWNlVGFza01vZHVsZSBmcm9tICcuL2N1c3RvbS9zZXJ2aWNlLXRhc2snO1xyXG5pbXBvcnQgY3VzdG9tSGlkZU90aGVyTW9kdWxlIGZyb20gJy4vY3VzdG9tL2hpZGUtb3RoZXInO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdycy1jYW11bmRhLWJwbW4tZWRpdG9yJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2FtdW5kYS1icG1uLWVkaXRvci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY2FtdW5kYS1icG1uLWVkaXRvci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDYW11bmRhQnBtbkVkaXRvckNvbXBvbmVudCB7XHJcbiAgQElucHV0KClcclxuICBzZXQgeG1sKHhtbDogYW55KSB7XHJcbiAgICB0aGlzLl94bWwgPSB4bWw7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5sb2FkWG1sKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldCB4bWwoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5feG1sO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfeG1sOiBhbnk7XHJcbiAgQElucHV0KClcclxuICBzaG93WG1sQnV0dG9uID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBzaG93Q29uZmlnQnV0dG9uID0gZmFsc2U7XHJcbiAgQE91dHB1dCgpXHJcbiAgc2VsZWN0ZWROb2RlQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8eyBlbGVtZW50OiBhbnksIHV0aWw/OiBhbnkgfT4oKTtcclxuICBAVmlld0NoaWxkKCdicG1uQ29udGFpbmVyJykgYnBtbkNvbnRhaW5lcj86IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgnYnBtbkNvbmZpZycpIGJwbW5Db25maWc/OiBFbGVtZW50UmVmO1xyXG4gIHByaXZhdGUgbW9kZWxlcjogYW55O1xyXG4gIHByaXZhdGUgY2FudmFzOiBhbnk7XHJcbiAgcHJvdGVjdGVkIGlzU2hvd1htbCA9IGZhbHNlO1xyXG4gIHByb3RlY3RlZCBpc1Nob3dDb25maWcgPSBmYWxzZTtcclxuICBwcml2YXRlIGluaXRpYWxEaWFncmFtID1cclxuICAgICc8P3htbCB2ZXJzaW9uPVwiMS4wXCIgZW5jb2Rpbmc9XCJVVEYtOFwiPz4nICtcclxuICAgICc8YnBtbjpkZWZpbml0aW9ucyB4bWxuczp4c2k9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZVwiICcgK1xyXG4gICAgJ3htbG5zOmJwbW49XCJodHRwOi8vd3d3Lm9tZy5vcmcvc3BlYy9CUE1OLzIwMTAwNTI0L01PREVMXCIgJyArXHJcbiAgICAneG1sbnM6YnBtbmRpPVwiaHR0cDovL3d3dy5vbWcub3JnL3NwZWMvQlBNTi8yMDEwMDUyNC9ESVwiICcgK1xyXG4gICAgJ3htbG5zOmRjPVwiaHR0cDovL3d3dy5vbWcub3JnL3NwZWMvREQvMjAxMDA1MjQvRENcIiAnICtcclxuICAgICd0YXJnZXROYW1lc3BhY2U9XCJodHRwOi8vYnBtbi5pby9zY2hlbWEvYnBtblwiICcgK1xyXG4gICAgJ2lkPVwiRGVmaW5pdGlvbnNfMVwiPicgK1xyXG4gICAgJzxicG1uOnByb2Nlc3MgaWQ9XCJQcm9jZXNzXzFcIiBpc0V4ZWN1dGFibGU9XCJ0cnVlXCI+JyArXHJcbiAgICAnPGJwbW46c3RhcnRFdmVudCBpZD1cIlN0YXJ0RXZlbnRfMVwiLz4nICtcclxuICAgICc8L2JwbW46cHJvY2Vzcz4nICtcclxuICAgICc8YnBtbmRpOkJQTU5EaWFncmFtIGlkPVwiQlBNTkRpYWdyYW1fMVwiPicgK1xyXG4gICAgJzxicG1uZGk6QlBNTlBsYW5lIGlkPVwiQlBNTlBsYW5lXzFcIiBicG1uRWxlbWVudD1cIlByb2Nlc3NfMVwiPicgK1xyXG4gICAgJzxicG1uZGk6QlBNTlNoYXBlIGlkPVwiX0JQTU5TaGFwZV9TdGFydEV2ZW50XzJcIiBicG1uRWxlbWVudD1cIlN0YXJ0RXZlbnRfMVwiPicgK1xyXG4gICAgJzxkYzpCb3VuZHMgaGVpZ2h0PVwiMzYuMFwiIHdpZHRoPVwiMzYuMFwiIHg9XCIxNzMuMFwiIHk9XCIxMDIuMFwiLz4nICtcclxuICAgICc8L2JwbW5kaTpCUE1OU2hhcGU+JyArXHJcbiAgICAnPC9icG1uZGk6QlBNTlBsYW5lPicgK1xyXG4gICAgJzwvYnBtbmRpOkJQTU5EaWFncmFtPicgK1xyXG4gICAgJzwvYnBtbjpkZWZpbml0aW9ucz4nO1xyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGlmICghdGhpcy54bWwpIHtcclxuICAgICAgdGhpcy54bWwgPSB0aGlzLmluaXRpYWxEaWFncmFtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5tb2RlbGVyID0gbmV3IEJwbW5Nb2RlbGVyKHtcclxuICAgICAgY29udGFpbmVyOiB0aGlzLmJwbW5Db250YWluZXI/Lm5hdGl2ZUVsZW1lbnQsXHJcbiAgICAgIHByb3BlcnRpZXNQYW5lbDoge1xyXG4gICAgICAgIHBhcmVudDogdGhpcy5icG1uQ29uZmlnPy5uYXRpdmVFbGVtZW50LFxyXG4gICAgICB9LFxyXG4gICAgICBrZXlib2FyZDoge1xyXG4gICAgICAgIGJpbmRUbzogZG9jdW1lbnQsXHJcbiAgICAgIH0sXHJcbiAgICAgIGFkZGl0aW9uYWxNb2R1bGVzOiBbXHJcbiAgICAgICAgY3VzdG9tVHJhbnNsYXRlTW9kdWxlLFxyXG4gICAgICAgIGN1c3RvbVVzZXJUYXNrTW9kdWxlLFxyXG4gICAgICAgIGN1c3RvbVNlcnZpY2VUYXNrTW9kdWxlLFxyXG4gICAgICAgIGN1c3RvbUhpZGVPdGhlck1vZHVsZSxcclxuICAgICAgXVxyXG4gICAgfSk7XHJcbiAgICBjb25zdCBsb2dvID0gdGhpcy5tb2RlbGVyLl9jb250YWluZXIucXVlcnlTZWxlY3RvcignLmJqcy1wb3dlcmVkLWJ5Jyk7XHJcbiAgICBpZiAobG9nbykge1xyXG4gICAgICB0aGlzLm1vZGVsZXIuX2NvbnRhaW5lci5yZW1vdmVDaGlsZChsb2dvKTtcclxuICAgIH1cclxuICAgIHRoaXMubW9kZWxlci5nZXQoJ3BhbGV0dGUnKS5fdG9nZ2xlU3RhdGUoe3R3b0NvbHVtbjogZmFsc2V9KTtcclxuICAgIHRoaXMuY2FudmFzID0gdGhpcy5tb2RlbGVyLmdldCgnY2FudmFzJyk7XHJcbiAgICBjb25zdCBldmVudEJ1cyA9IHRoaXMubW9kZWxlci5nZXQoJ2V2ZW50QnVzJyk7XHJcbiAgICBldmVudEJ1cy5vbihbJ3Byb3BlcnRpZXNQYW5lbC51cGRhdGVkJ10sICgkZXZlbnQ6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheSgkZXZlbnQuZWxlbWVudCkpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZUNoYW5nZWQuZW1pdCgpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWROb2RlQ2hhbmdlZC5lbWl0KHtcclxuICAgICAgICAgIGVsZW1lbnQ6ICRldmVudC5lbGVtZW50LFxyXG4gICAgICAgICAgdXRpbDoge1xyXG4gICAgICAgICAgICBicG1uRmFjdG9yeTogdGhpcy5tb2RlbGVyLmdldCgnYnBtbkZhY3RvcnknKSxcclxuICAgICAgICAgICAgbW9kZWxpbmc6IHRoaXMubW9kZWxlci5nZXQoJ21vZGVsaW5nJyksXHJcbiAgICAgICAgICAgIGVsZW1lbnRSZWdpc3RyeTogdGhpcy5tb2RlbGVyLmdldCgnZWxlbWVudFJlZ2lzdHJ5JylcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmxvYWRYbWwoKTtcclxuICB9XHJcblxyXG4gIGxvYWRYbWwoKSB7XHJcbiAgICB0aGlzLm1vZGVsZXIuaW1wb3J0WE1MKHRoaXMueG1sKS50aGVuKCgpID0+IHtcclxuICAgICAgdGhpcy5jYW52YXMuem9vbSgnZml0LXZpZXdwb3J0Jyk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNob3dYbWwoKSB7XHJcbiAgICBpZiAoIXRoaXMuaXNTaG93WG1sKSB7XHJcbiAgICAgIHRoaXMuc2F2ZVhtbCgoeG1sOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLnhtbCA9IHhtbDtcclxuICAgICAgfSlcclxuICAgIH1cclxuICAgIHRoaXMuaXNTaG93WG1sID0gIXRoaXMuaXNTaG93WG1sO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNhdmVYbWwoY2FsbGJhY2s/OiBhbnkpIHtcclxuICAgIHRoaXMubW9kZWxlci5zYXZlWE1MKHtmb3JtYXQ6IHRydWV9KS50aGVuKChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgIGlmIChjYWxsYmFjaykge1xyXG4gICAgICAgIGNhbGxiYWNrKHJlc3BvbnNlLnhtbCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibWFpblwiPlxyXG4gIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIiAjYnBtbkNvbnRhaW5lcj48L2Rpdj5cclxuICA8ZGl2IFtoaWRkZW5dPVwiIWlzU2hvd0NvbmZpZ1wiIGNsYXNzPVwiY29uZmlnXCIgI2JwbW5Db25maWc+PC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cInhtbC12aWV3ZXJcIiBbbmdTdHlsZV09XCJ7ZGlzcGxheTogaXNTaG93WG1sID8gJ2ZsZXgnIDogJ25vbmUnfVwiPlxyXG4gICAgPHJzLWNvZGUtZWRpdG9yIGxhbmd1YWdlPVwieG1sXCIgW2NvZGVdPVwieG1sXCIgW3JlYWRvbmx5XT1cInRydWVcIiBbZW5hYmxlTWluaW1hcF09XCJ0cnVlXCI+PC9ycy1jb2RlLWVkaXRvcj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJmb290ZXJcIj5cclxuICA8ZHgtYnV0dG9uIFt0eXBlXT1cImlzU2hvd1htbCA/ICdkZWZhdWx0JyA6ICdub3JtYWwnXCIgdGV4dD1cIlhNTFwiIFtob3ZlclN0YXRlRW5hYmxlZF09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICBbdmlzaWJsZV09XCJzaG93WG1sQnV0dG9uXCIgKG9uQ2xpY2spPVwic2hvd1htbCgpXCI+PC9keC1idXR0b24+XHJcbiAgPGR4LWJ1dHRvbiBbdHlwZV09XCJpc1Nob3dDb25maWcgPyAnZGVmYXVsdCcgOiAnbm9ybWFsJ1wiIGljb249XCJjb2FzdC1pY29uIGNvYXN0LWljb24tc2V0dGluZ1wiXHJcbiAgICAgICAgICAgICBzdHlsZT1cImZsb2F0OiByaWdodDtcIiBbdmlzaWJsZV09XCJzaG93Q29uZmlnQnV0dG9uXCJcclxuICAgICAgICAgICAgIChvbkNsaWNrKT1cImlzU2hvd0NvbmZpZyA9ICFpc1Nob3dDb25maWc7XCI+PC9keC1idXR0b24+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FtdW5kYS1icG1uLWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcnMtYW50L3NyYy9jYW11bmRhLWJwbW4tZWRpdG9yL2NhbXVuZGEtYnBtbi1lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJzLWFudC9zcmMvY2FtdW5kYS1icG1uLWVkaXRvci9jYW11bmRhLWJwbW4tZWRpdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVGLE9BQU8sV0FBVyxNQUFNLDhDQUE4QyxDQUFDO0FBQ3ZFLE9BQU8scUJBQXFCLE1BQU0sb0JBQW9CLENBQUM7QUFDdkQsT0FBTyxvQkFBb0IsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLHVCQUF1QixNQUFNLHVCQUF1QixDQUFDO0FBQzVELE9BQU8scUJBQXFCLE1BQU0scUJBQXFCLENBQUM7Ozs7O0FBT3hELE1BQU0sT0FBTywwQkFBMEI7SUFMdkM7UUFvQkUsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFFdEIscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBRXpCLHdCQUFtQixHQUFHLElBQUksWUFBWSxFQUFnQyxDQUFDO1FBSzdELGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDdkIsbUJBQWMsR0FDcEIsd0NBQXdDO1lBQ3hDLDBFQUEwRTtZQUMxRSwyREFBMkQ7WUFDM0QsMERBQTBEO1lBQzFELG9EQUFvRDtZQUNwRCwrQ0FBK0M7WUFDL0MscUJBQXFCO1lBQ3JCLG1EQUFtRDtZQUNuRCxzQ0FBc0M7WUFDdEMsaUJBQWlCO1lBQ2pCLHlDQUF5QztZQUN6Qyw2REFBNkQ7WUFDN0QsNEVB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WixLQUFLO2dCQUdOLGdCQUFnQjtzQkFEZixLQUFLO2dCQUdOLG1CQUFtQjtzQkFEbEIsTUFBTTtnQkFFcUIsYUFBYTtzQkFBeEMsU0FBUzt1QkFBQyxlQUFlO2dCQUNELFVBQVU7c0JBQWxDLFNBQVM7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCBCcG1uTW9kZWxlciBmcm9tICdjYW11bmRhLWJwbW4tanMvbGliL2NhbXVuZGEtcGxhdGZvcm0vTW9kZWxlcic7XHJcbmltcG9ydCBjdXN0b21UcmFuc2xhdGVNb2R1bGUgZnJvbSAnLi9jdXN0b20vdHJhbnNsYXRlJztcclxuaW1wb3J0IGN1c3RvbVVzZXJUYXNrTW9kdWxlIGZyb20gJy4vY3VzdG9tL3VzZXItdGFzayc7XHJcbmltcG9ydCBjdXN0b21TZXJ2aWNlVGFza01vZHVsZSBmcm9tICcuL2N1c3RvbS9zZXJ2aWNlLXRhc2snO1xyXG5pbXBvcnQgY3VzdG9tSGlkZU90aGVyTW9kdWxlIGZyb20gJy4vY3VzdG9tL2hpZGUtb3RoZXInO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdycy1jYW11bmRhLWJwbW4tZWRpdG9yJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2FtdW5kYS1icG1uLWVkaXRvci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY2FtdW5kYS1icG1uLWVkaXRvci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDYW11bmRhQnBtbkVkaXRvckNvbXBvbmVudCB7XHJcbiAgQElucHV0KClcclxuICBzZXQgeG1sKHhtbDogYW55KSB7XHJcbiAgICB0aGlzLl94bWwgPSB4bWw7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5sb2FkWG1sKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldCB4bWwoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5feG1sO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfeG1sOiBhbnk7XHJcbiAgQElucHV0KClcclxuICBzaG93WG1sQnV0dG9uID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBzaG93Q29uZmlnQnV0dG9uID0gZmFsc2U7XHJcbiAgQE91dHB1dCgpXHJcbiAgc2VsZWN0ZWROb2RlQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8eyBlbGVtZW50OiBhbnksIHV0aWw/OiBhbnkgfT4oKTtcclxuICBAVmlld0NoaWxkKCdicG1uQ29udGFpbmVyJykgYnBtbkNvbnRhaW5lcj86IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgnYnBtbkNvbmZpZycpIGJwbW5Db25maWc/OiBFbGVtZW50UmVmO1xyXG4gIHByaXZhdGUgbW9kZWxlcjogYW55O1xyXG4gIHByaXZhdGUgY2FudmFzOiBhbnk7XHJcbiAgcHJvdGVjdGVkIGlzU2hvd1htbCA9IGZhbHNlO1xyXG4gIHByb3RlY3RlZCBpc1Nob3dDb25maWcgPSBmYWxzZTtcclxuICBwcml2YXRlIGluaXRpYWxEaWFncmFtID1cclxuICAgICc8P3htbCB2ZXJzaW9uPVwiMS4wXCIgZW5jb2Rpbmc9XCJVVEYtOFwiPz4nICtcclxuICAgICc8YnBtbjpkZWZpbml0aW9ucyB4bWxuczp4c2k9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZVwiICcgK1xyXG4gICAgJ3htbG5zOmJwbW49XCJodHRwOi8vd3d3Lm9tZy5vcmcvc3BlYy9CUE1OLzIwMTAwNTI0L01PREVMXCIgJyArXHJcbiAgICAneG1sbnM6YnBtbmRpPVwiaHR0cDovL3d3dy5vbWcub3JnL3NwZWMvQlBNTi8yMDEwMDUyNC9ESVwiICcgK1xyXG4gICAgJ3htbG5zOmRjPVwiaHR0cDovL3d3dy5vbWcub3JnL3NwZWMvREQvMjAxMDA1MjQvRENcIiAnICtcclxuICAgICd0YXJnZXROYW1lc3BhY2U9XCJodHRwOi8vYnBtbi5pby9zY2hlbWEvYnBtblwiICcgK1xyXG4gICAgJ2lkPVwiRGVmaW5pdGlvbnNfMVwiPicgK1xyXG4gICAgJzxicG1uOnByb2Nlc3MgaWQ9XCJQcm9jZXNzXzFcIiBpc0V4ZWN1dGFibGU9XCJ0cnVlXCI+JyArXHJcbiAgICAnPGJwbW46c3RhcnRFdmVudCBpZD1cIlN0YXJ0RXZlbnRfMVwiLz4nICtcclxuICAgICc8L2JwbW46cHJvY2Vzcz4nICtcclxuICAgICc8YnBtbmRpOkJQTU5EaWFncmFtIGlkPVwiQlBNTkRpYWdyYW1fMVwiPicgK1xyXG4gICAgJzxicG1uZGk6QlBNTlBsYW5lIGlkPVwiQlBNTlBsYW5lXzFcIiBicG1uRWxlbWVudD1cIlByb2Nlc3NfMVwiPicgK1xyXG4gICAgJzxicG1uZGk6QlBNTlNoYXBlIGlkPVwiX0JQTU5TaGFwZV9TdGFydEV2ZW50XzJcIiBicG1uRWxlbWVudD1cIlN0YXJ0RXZlbnRfMVwiPicgK1xyXG4gICAgJzxkYzpCb3VuZHMgaGVpZ2h0PVwiMzYuMFwiIHdpZHRoPVwiMzYuMFwiIHg9XCIxNzMuMFwiIHk9XCIxMDIuMFwiLz4nICtcclxuICAgICc8L2JwbW5kaTpCUE1OU2hhcGU+JyArXHJcbiAgICAnPC9icG1uZGk6QlBNTlBsYW5lPicgK1xyXG4gICAgJzwvYnBtbmRpOkJQTU5EaWFncmFtPicgK1xyXG4gICAgJzwvYnBtbjpkZWZpbml0aW9ucz4nO1xyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGlmICghdGhpcy54bWwpIHtcclxuICAgICAgdGhpcy54bWwgPSB0aGlzLmluaXRpYWxEaWFncmFtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5tb2RlbGVyID0gbmV3IEJwbW5Nb2RlbGVyKHtcclxuICAgICAgY29udGFpbmVyOiB0aGlzLmJwbW5Db250YWluZXI/Lm5hdGl2ZUVsZW1lbnQsXHJcbiAgICAgIHByb3BlcnRpZXNQYW5lbDoge1xyXG4gICAgICAgIHBhcmVudDogdGhpcy5icG1uQ29uZmlnPy5uYXRpdmVFbGVtZW50LFxyXG4gICAgICB9LFxyXG4gICAgICBrZXlib2FyZDoge1xyXG4gICAgICAgIGJpbmRUbzogZG9jdW1lbnQsXHJcbiAgICAgIH0sXHJcbiAgICAgIGFkZGl0aW9uYWxNb2R1bGVzOiBbXHJcbiAgICAgICAgY3VzdG9tVHJhbnNsYXRlTW9kdWxlLFxyXG4gICAgICAgIGN1c3RvbVVzZXJUYXNrTW9kdWxlLFxyXG4gICAgICAgIGN1c3RvbVNlcnZpY2VUYXNrTW9kdWxlLFxyXG4gICAgICAgIGN1c3RvbUhpZGVPdGhlck1vZHVsZSxcclxuICAgICAgXVxyXG4gICAgfSk7XHJcbiAgICBjb25zdCBsb2dvID0gdGhpcy5tb2RlbGVyLl9jb250YWluZXIucXVlcnlTZWxlY3RvcignLmJqcy1wb3dlcmVkLWJ5Jyk7XHJcbiAgICBpZiAobG9nbykge1xyXG4gICAgICB0aGlzLm1vZGVsZXIuX2NvbnRhaW5lci5yZW1vdmVDaGlsZChsb2dvKTtcclxuICAgIH1cclxuICAgIHRoaXMubW9kZWxlci5nZXQoJ3BhbGV0dGUnKS5fdG9nZ2xlU3RhdGUoe3R3b0NvbHVtbjogZmFsc2V9KTtcclxuICAgIHRoaXMuY2FudmFzID0gdGhpcy5tb2RlbGVyLmdldCgnY2FudmFzJyk7XHJcbiAgICBjb25zdCBldmVudEJ1cyA9IHRoaXMubW9kZWxlci5nZXQoJ2V2ZW50QnVzJyk7XHJcbiAgICBldmVudEJ1cy5vbihbJ3Byb3BlcnRpZXNQYW5lbC51cGRhdGVkJ10sICgkZXZlbnQ6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheSgkZXZlbnQuZWxlbWVudCkpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZUNoYW5nZWQuZW1pdCgpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWROb2RlQ2hhbmdlZC5lbWl0KHtcclxuICAgICAgICAgIGVsZW1lbnQ6ICRldmVudC5lbGVtZW50LFxyXG4gICAgICAgICAgdXRpbDoge1xyXG4gICAgICAgICAgICBicG1uRmFjdG9yeTogdGhpcy5tb2RlbGVyLmdldCgnYnBtbkZhY3RvcnknKSxcclxuICAgICAgICAgICAgbW9kZWxpbmc6IHRoaXMubW9kZWxlci5nZXQoJ21vZGVsaW5nJyksXHJcbiAgICAgICAgICAgIGVsZW1lbnRSZWdpc3RyeTogdGhpcy5tb2RlbGVyLmdldCgnZWxlbWVudFJlZ2lzdHJ5JylcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmxvYWRYbWwoKTtcclxuICB9XHJcblxyXG4gIGxvYWRYbWwoKSB7XHJcbiAgICB0aGlzLm1vZGVsZXIuaW1wb3J0WE1MKHRoaXMueG1sKS50aGVuKCgpID0+IHtcclxuICAgICAgdGhpcy5jYW52YXMuem9vbSgnZml0LXZpZXdwb3J0Jyk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNob3dYbWwoKSB7XHJcbiAgICBpZiAoIXRoaXMuaXNTaG93WG1sKSB7XHJcbiAgICAgIHRoaXMuc2F2ZVhtbCgoeG1sOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLnhtbCA9IHhtbDtcclxuICAgICAgfSlcclxuICAgIH1cclxuICAgIHRoaXMuaXNTaG93WG1sID0gIXRoaXMuaXNTaG93WG1sO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNhdmVYbWwoY2FsbGJhY2s/OiBhbnkpIHtcclxuICAgIHRoaXMubW9kZWxlci5zYXZlWE1MKHtmb3JtYXQ6IHRydWV9KS50aGVuKChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgIGlmIChjYWxsYmFjaykge1xyXG4gICAgICAgIGNhbGxiYWNrKHJlc3BvbnNlLnhtbCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgem9vbSh0eXBlOiAncmVzZXQnIHwgJ3pvb21JbicgfCAnem9vbU91dCcpIHtcclxuICAgIGNvbnN0IHpvb20gPSB0aGlzLmNhbnZhcy56b29tKCk7XHJcbiAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgY2FzZSAncmVzZXQnOlxyXG4gICAgICAgIHRoaXMuY2FudmFzLnpvb20oJ2ZpdC12aWV3cG9ydCcpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICd6b29tSW4nOlxyXG4gICAgICAgIHRoaXMuY2FudmFzLnpvb20oem9vbSArIDAuMSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3pvb21PdXQnOlxyXG4gICAgICAgIHRoaXMuY2FudmFzLnpvb20oem9vbSAtIDAuMSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJtYWluXCI+XHJcbiAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiICNicG1uQ29udGFpbmVyPlxyXG4gICAgPGRpdiBjbGFzcz1cInpvb20tY29udHJvbHNcIj5cclxuICAgICAgPHVsIGNsYXNzPVwiem9vbS1yZXNldCBpby1jb250cm9sIGlvLWNvbnRyb2wtbGlzdFwiPlxyXG4gICAgICAgIDxsaT5cclxuICAgICAgICAgIDxidXR0b24gdGl0bGU9XCLov5jljp9cIiAoY2xpY2spPVwiem9vbSgncmVzZXQnKVwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNvYXN0LWljb24tcmVmcmVzaFwiPjwvc3Bhbj5cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvbGk+XHJcbiAgICAgICAgPGxpPlxyXG4gICAgICAgICAgPGhyIGNsYXNzPVwic2VwYXJhdG9yXCI+XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgICA8bGk+XHJcbiAgICAgICAgICA8YnV0dG9uIHRpdGxlPVwi5pS+5aSnXCIgKGNsaWNrKT1cInpvb20oJ3pvb21JbicpXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY29hc3QtaWNvbi1hZGRcIj48L3NwYW4+XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L2xpPlxyXG4gICAgICAgIDxsaT5cclxuICAgICAgICAgIDxociBjbGFzcz1cInNlcGFyYXRvclwiPlxyXG4gICAgICAgIDwvbGk+XHJcbiAgICAgICAgPGxpPlxyXG4gICAgICAgICAgPGJ1dHRvbiB0aXRsZT1cIue8qeWwj1wiIChjbGljayk9XCJ6b29tKCd6b29tT3V0JylcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjb2FzdC1pY29uLW1pbnVzXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgPC91bD5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgW2hpZGRlbl09XCIhaXNTaG93Q29uZmlnXCIgY2xhc3M9XCJjb25maWdcIiAjYnBtbkNvbmZpZz48L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwieG1sLXZpZXdlclwiIFtuZ1N0eWxlXT1cIntkaXNwbGF5OiBpc1Nob3dYbWwgPyAnZmxleCcgOiAnbm9uZSd9XCI+XHJcbiAgICA8cnMtY29kZS1lZGl0b3IgbGFuZ3VhZ2U9XCJ4bWxcIiBbY29kZV09XCJ4bWxcIiBbcmVhZG9ubHldPVwidHJ1ZVwiIFtlbmFibGVNaW5pbWFwXT1cInRydWVcIj48L3JzLWNvZGUtZWRpdG9yPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuPGRpdiBjbGFzcz1cImZvb3RlclwiPlxyXG4gIDxkeC1idXR0b24gW3R5cGVdPVwiaXNTaG93WG1sID8gJ2RlZmF1bHQnIDogJ25vcm1hbCdcIiB0ZXh0PVwiWE1MXCIgW2hvdmVyU3RhdGVFbmFibGVkXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgIFt2aXNpYmxlXT1cInNob3dYbWxCdXR0b25cIiAob25DbGljayk9XCJzaG93WG1sKClcIj48L2R4LWJ1dHRvbj5cclxuICA8ZHgtYnV0dG9uIFt0eXBlXT1cImlzU2hvd0NvbmZpZyA/ICdkZWZhdWx0JyA6ICdub3JtYWwnXCIgaWNvbj1cImNvYXN0LWljb24gY29hc3QtaWNvbi1zZXR0aW5nXCJcclxuICAgICAgICAgICAgIHN0eWxlPVwiZmxvYXQ6IHJpZ2h0O1wiIFt2aXNpYmxlXT1cInNob3dDb25maWdCdXR0b25cIlxyXG4gICAgICAgICAgICAgKG9uQ2xpY2spPVwiaXNTaG93Q29uZmlnID0gIWlzU2hvd0NvbmZpZztcIj48L2R4LWJ1dHRvbj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -43,12 +43,26 @@ export class CamundaBpmnViewerComponent {
|
|
|
43
43
|
}
|
|
44
44
|
});
|
|
45
45
|
}
|
|
46
|
+
zoom(type) {
|
|
47
|
+
const zoom = this.canvas.zoom();
|
|
48
|
+
switch (type) {
|
|
49
|
+
case 'reset':
|
|
50
|
+
this.canvas.zoom('fit-viewport');
|
|
51
|
+
break;
|
|
52
|
+
case 'zoomIn':
|
|
53
|
+
this.canvas.zoom(zoom + 0.1);
|
|
54
|
+
break;
|
|
55
|
+
case 'zoomOut':
|
|
56
|
+
this.canvas.zoom(zoom - 0.1);
|
|
57
|
+
break;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
46
60
|
}
|
|
47
61
|
CamundaBpmnViewerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CamundaBpmnViewerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
48
|
-
CamundaBpmnViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CamundaBpmnViewerComponent, selector: "rs-camunda-bpmn-viewer", inputs: { xml: "xml", failedActivities: "failedActivities", activeActivities: "activeActivities" }, viewQueries: [{ propertyName: "viewerContainer", first: true, predicate: ["viewerContainer"], descendants: true }], ngImport: i0, template: "<div class=\"container\" #viewerContainer></div>\r\n", styles: [":host{display:flex;flex-flow:column nowrap}:host .container{flex:1}\n"] });
|
|
62
|
+
CamundaBpmnViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CamundaBpmnViewerComponent, selector: "rs-camunda-bpmn-viewer", inputs: { xml: "xml", failedActivities: "failedActivities", activeActivities: "activeActivities" }, viewQueries: [{ propertyName: "viewerContainer", first: true, predicate: ["viewerContainer"], descendants: true }], ngImport: i0, template: "<div class=\"container\" #viewerContainer>\r\n <div class=\"zoom-controls\">\r\n <ul class=\"zoom-reset io-control io-control-list\">\r\n <li>\r\n <button title=\"\u8FD8\u539F\" (click)=\"zoom('reset')\">\r\n <span class=\"coast-icon-refresh\"></span>\r\n </button>\r\n </li>\r\n <li>\r\n <hr class=\"separator\">\r\n </li>\r\n <li>\r\n <button title=\"\u653E\u5927\" (click)=\"zoom('zoomIn')\">\r\n <span class=\"coast-icon-add\"></span>\r\n </button>\r\n </li>\r\n <li>\r\n <hr class=\"separator\">\r\n </li>\r\n <li>\r\n <button title=\"\u7F29\u5C0F\" (click)=\"zoom('zoomOut')\">\r\n <span class=\"coast-icon-minus\"></span>\r\n </button>\r\n </li>\r\n </ul>\r\n </div>\r\n</div>\r\n", styles: [":host{display:flex;flex-flow:column nowrap}:host .container{flex:1;position:relative;z-index:0}:host .container .zoom-controls{position:absolute;right:8px;bottom:20px;z-index:1}:host .container .zoom-controls ul{list-style:none;padding:4px;margin:0;background:var(--coast-global-bg-color, rgb(245, 245, 245));border:1px solid var(--coast-border-color, rgb(221, 221, 221));border-radius:2px;box-shadow:0 0 2px #0000001f}:host .container .zoom-controls ul li button{cursor:pointer;font-size:14px;background:none;border:none}:host .container .zoom-controls ul li button:hover{color:var(--coast-default-color, rgb(51, 122, 183))}:host .container .zoom-controls ul li hr.separator{margin:4px;padding-top:4px;border:none;border-bottom:solid 1px gray;clear:both}\n"] });
|
|
49
63
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CamundaBpmnViewerComponent, decorators: [{
|
|
50
64
|
type: Component,
|
|
51
|
-
args: [{ selector: 'rs-camunda-bpmn-viewer', template: "<div class=\"container\" #viewerContainer></div>\r\n", styles: [":host{display:flex;flex-flow:column nowrap}:host .container{flex:1}\n"] }]
|
|
65
|
+
args: [{ selector: 'rs-camunda-bpmn-viewer', template: "<div class=\"container\" #viewerContainer>\r\n <div class=\"zoom-controls\">\r\n <ul class=\"zoom-reset io-control io-control-list\">\r\n <li>\r\n <button title=\"\u8FD8\u539F\" (click)=\"zoom('reset')\">\r\n <span class=\"coast-icon-refresh\"></span>\r\n </button>\r\n </li>\r\n <li>\r\n <hr class=\"separator\">\r\n </li>\r\n <li>\r\n <button title=\"\u653E\u5927\" (click)=\"zoom('zoomIn')\">\r\n <span class=\"coast-icon-add\"></span>\r\n </button>\r\n </li>\r\n <li>\r\n <hr class=\"separator\">\r\n </li>\r\n <li>\r\n <button title=\"\u7F29\u5C0F\" (click)=\"zoom('zoomOut')\">\r\n <span class=\"coast-icon-minus\"></span>\r\n </button>\r\n </li>\r\n </ul>\r\n </div>\r\n</div>\r\n", styles: [":host{display:flex;flex-flow:column nowrap}:host .container{flex:1;position:relative;z-index:0}:host .container .zoom-controls{position:absolute;right:8px;bottom:20px;z-index:1}:host .container .zoom-controls ul{list-style:none;padding:4px;margin:0;background:var(--coast-global-bg-color, rgb(245, 245, 245));border:1px solid var(--coast-border-color, rgb(221, 221, 221));border-radius:2px;box-shadow:0 0 2px #0000001f}:host .container .zoom-controls ul li button{cursor:pointer;font-size:14px;background:none;border:none}:host .container .zoom-controls ul li button:hover{color:var(--coast-default-color, rgb(51, 122, 183))}:host .container .zoom-controls ul li hr.separator{margin:4px;padding-top:4px;border:none;border-bottom:solid 1px gray;clear:both}\n"] }]
|
|
52
66
|
}], propDecorators: { xml: [{
|
|
53
67
|
type: Input
|
|
54
68
|
}], failedActivities: [{
|
|
@@ -59,4 +73,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
59
73
|
type: ViewChild,
|
|
60
74
|
args: ['viewerContainer']
|
|
61
75
|
}] } });
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FtdW5kYS1icG1uLXZpZXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcnMtYW50L3NyYy9jYW11bmRhLWJwbW4tdmlld2VyL2NhbXVuZGEtYnBtbi12aWV3ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJzLWFudC9zcmMvY2FtdW5kYS1icG1uLXZpZXdlci9jYW11bmRhLWJwbW4tdmlld2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWMsS0FBSyxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLE1BQU0sTUFBTSxzREFBc0QsQ0FBQzs7QUFPMUUsTUFBTSxPQUFPLDBCQUEwQjtJQUx2QztRQW9CRSxxQkFBZ0IsR0FBVSxFQUFFLENBQUM7UUFFN0IscUJBQWdCLEdBQVUsRUFBRSxDQUFDO0tBaUQ5QjtJQWpFQyxJQUNJLEdBQUcsQ0FBQyxHQUFRO1FBQ2QsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7UUFDaEIsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNqQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQVdELGVBQWU7UUFDYixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDO1lBQ3ZCLFNBQVMsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWE7WUFDN0MsUUFBUSxFQUFFO2dCQUNSLE1BQU0sRUFBRSxRQUFRO2FBQ2pCO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDckUsSUFBSSxJQUFJLEVBQUU7WUFDUixJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDMUM7UUFDRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ2IsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDeEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDakMsS0FBSyxNQUFNLFFBQVEsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLElBQUksRUFBRSxFQUFFO2dCQUNsRCxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUscUJBQXFCLENBQUMsQ0FBQzthQUN4RDtZQUNELEtBQUssTUFBTSxRQUFRLElBQUksSUFBSSxDQUFDLGdCQUFnQixJQUFJLEVBQUUsRUFBRTtnQkFDbEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLHFCQUFxQixDQUFDLENBQUM7YUFDeEQ7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLENBQUMsSUFBb0M7UUFDdkMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNoQyxRQUFRLElBQUksRUFBRTtZQUNaLEtBQUssT0FBTztnQkFDVixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDakMsTUFBTTtZQUNSLEtBQUssUUFBUTtnQkFDWCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7Z0JBQzdCLE1BQU07WUFDUixLQUFLLFNBQVM7Z0JBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDO2dCQUM3QixNQUFNO1NBQ1Q7SUFDSCxDQUFDOzt3SEFqRVUsMEJBQTBCOzRHQUExQiwwQkFBMEIsc1JDUnZDLDh6QkEyQkE7NEZEbkJhLDBCQUEwQjtrQkFMdEMsU0FBUzsrQkFDRSx3QkFBd0I7OEJBTTlCLEdBQUc7c0JBRE4sS0FBSztnQkFjTixnQkFBZ0I7c0JBRGYsS0FBSztnQkFHTixnQkFBZ0I7c0JBRGYsS0FBSztnQkFJd0IsZUFBZTtzQkFBNUMsU0FBUzt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCBWaWV3ZXIgZnJvbSBcImNhbXVuZGEtYnBtbi1qcy9saWIvY2FtdW5kYS1wbGF0Zm9ybS9OYXZpZ2F0ZWRWaWV3ZXJcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAncnMtY2FtdW5kYS1icG1uLXZpZXdlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NhbXVuZGEtYnBtbi12aWV3ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NhbXVuZGEtYnBtbi12aWV3ZXIuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2FtdW5kYUJwbW5WaWV3ZXJDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHhtbCh4bWw6IGFueSkge1xyXG4gICAgdGhpcy5feG1sID0geG1sO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMubG9hZFhtbCgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXQgeG1sKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3htbDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3htbDogYW55O1xyXG4gIEBJbnB1dCgpXHJcbiAgZmFpbGVkQWN0aXZpdGllczogYW55W10gPSBbXTtcclxuICBASW5wdXQoKVxyXG4gIGFjdGl2ZUFjdGl2aXRpZXM6IGFueVtdID0gW107XHJcbiAgcHJpdmF0ZSB2aWV3ZXI6IGFueTtcclxuICBwcml2YXRlIGNhbnZhczogYW55O1xyXG4gIEBWaWV3Q2hpbGQoJ3ZpZXdlckNvbnRhaW5lcicpIHZpZXdlckNvbnRhaW5lciE6IEVsZW1lbnRSZWY7XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMudmlld2VyID0gbmV3IFZpZXdlcih7XHJcbiAgICAgIGNvbnRhaW5lcjogdGhpcy52aWV3ZXJDb250YWluZXIubmF0aXZlRWxlbWVudCxcclxuICAgICAga2V5Ym9hcmQ6IHtcclxuICAgICAgICBiaW5kVG86IGRvY3VtZW50LFxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGNvbnN0IGxvZ28gPSB0aGlzLnZpZXdlci5fY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJy5ianMtcG93ZXJlZC1ieScpO1xyXG4gICAgaWYgKGxvZ28pIHtcclxuICAgICAgdGhpcy52aWV3ZXIuX2NvbnRhaW5lci5yZW1vdmVDaGlsZChsb2dvKTtcclxuICAgIH1cclxuICAgIHRoaXMuY2FudmFzID0gdGhpcy52aWV3ZXIuZ2V0KCdjYW52YXMnKTtcclxuICAgIHRoaXMubG9hZFhtbCgpO1xyXG4gIH1cclxuXHJcbiAgbG9hZFhtbCgpIHtcclxuICAgIGlmICghdGhpcy54bWwpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy52aWV3ZXIuaW1wb3J0WE1MKHRoaXMueG1sKS50aGVuKCgpID0+IHtcclxuICAgICAgdGhpcy5jYW52YXMuem9vbSgnZml0LXZpZXdwb3J0Jyk7XHJcbiAgICAgIGZvciAoY29uc3QgYWN0aXZpdHkgb2YgdGhpcy5mYWlsZWRBY3Rpdml0aWVzIHx8IFtdKSB7XHJcbiAgICAgICAgdGhpcy5jYW52YXMuYWRkTWFya2VyKGFjdGl2aXR5LCAncHJvY2Vzcy1mYWlsZWQtbm9kZScpO1xyXG4gICAgICB9XHJcbiAgICAgIGZvciAoY29uc3QgYWN0aXZpdHkgb2YgdGhpcy5hY3RpdmVBY3Rpdml0aWVzIHx8IFtdKSB7XHJcbiAgICAgICAgdGhpcy5jYW52YXMuYWRkTWFya2VyKGFjdGl2aXR5LCAncHJvY2Vzcy1hY3RpdmUtbm9kZScpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHpvb20odHlwZTogJ3Jlc2V0JyB8ICd6b29tSW4nIHwgJ3pvb21PdXQnKSB7XHJcbiAgICBjb25zdCB6b29tID0gdGhpcy5jYW52YXMuem9vbSgpO1xyXG4gICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgIGNhc2UgJ3Jlc2V0JzpcclxuICAgICAgICB0aGlzLmNhbnZhcy56b29tKCdmaXQtdmlld3BvcnQnKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnem9vbUluJzpcclxuICAgICAgICB0aGlzLmNhbnZhcy56b29tKHpvb20gKyAwLjEpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICd6b29tT3V0JzpcclxuICAgICAgICB0aGlzLmNhbnZhcy56b29tKHpvb20gLSAwLjEpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCIgI3ZpZXdlckNvbnRhaW5lcj5cclxuICA8ZGl2IGNsYXNzPVwiem9vbS1jb250cm9sc1wiPlxyXG4gICAgPHVsIGNsYXNzPVwiem9vbS1yZXNldCBpby1jb250cm9sIGlvLWNvbnRyb2wtbGlzdFwiPlxyXG4gICAgICA8bGk+XHJcbiAgICAgICAgPGJ1dHRvbiB0aXRsZT1cIui/mOWOn1wiIChjbGljayk9XCJ6b29tKCdyZXNldCcpXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImNvYXN0LWljb24tcmVmcmVzaFwiPjwvc3Bhbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9saT5cclxuICAgICAgPGxpPlxyXG4gICAgICAgIDxociBjbGFzcz1cInNlcGFyYXRvclwiPlxyXG4gICAgICA8L2xpPlxyXG4gICAgICA8bGk+XHJcbiAgICAgICAgPGJ1dHRvbiB0aXRsZT1cIuaUvuWkp1wiIChjbGljayk9XCJ6b29tKCd6b29tSW4nKVwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJjb2FzdC1pY29uLWFkZFwiPjwvc3Bhbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9saT5cclxuICAgICAgPGxpPlxyXG4gICAgICAgIDxociBjbGFzcz1cInNlcGFyYXRvclwiPlxyXG4gICAgICA8L2xpPlxyXG4gICAgICA8bGk+XHJcbiAgICAgICAgPGJ1dHRvbiB0aXRsZT1cIue8qeWwj1wiIChjbGljayk9XCJ6b29tKCd6b29tT3V0JylcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY29hc3QtaWNvbi1taW51c1wiPjwvc3Bhbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9saT5cclxuICAgIDwvdWw+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
package/fesm2015/ngx-rs-ant.mjs
CHANGED
|
@@ -1495,12 +1495,26 @@ class CamundaBpmnEditorComponent {
|
|
|
1495
1495
|
}
|
|
1496
1496
|
});
|
|
1497
1497
|
}
|
|
1498
|
+
zoom(type) {
|
|
1499
|
+
const zoom = this.canvas.zoom();
|
|
1500
|
+
switch (type) {
|
|
1501
|
+
case 'reset':
|
|
1502
|
+
this.canvas.zoom('fit-viewport');
|
|
1503
|
+
break;
|
|
1504
|
+
case 'zoomIn':
|
|
1505
|
+
this.canvas.zoom(zoom + 0.1);
|
|
1506
|
+
break;
|
|
1507
|
+
case 'zoomOut':
|
|
1508
|
+
this.canvas.zoom(zoom - 0.1);
|
|
1509
|
+
break;
|
|
1510
|
+
}
|
|
1511
|
+
}
|
|
1498
1512
|
}
|
|
1499
1513
|
CamundaBpmnEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CamundaBpmnEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1500
|
-
CamundaBpmnEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CamundaBpmnEditorComponent, selector: "rs-camunda-bpmn-editor", inputs: { xml: "xml", showXmlButton: "showXmlButton", showConfigButton: "showConfigButton" }, outputs: { selectedNodeChanged: "selectedNodeChanged" }, viewQueries: [{ propertyName: "bpmnContainer", first: true, predicate: ["bpmnContainer"], descendants: true }, { propertyName: "bpmnConfig", first: true, predicate: ["bpmnConfig"], descendants: true }], ngImport: i0, template: "<div class=\"main\">\r\n <div class=\"container\" #bpmnContainer></div>\r\n <div [hidden]=\"!isShowConfig\" class=\"config\" #bpmnConfig></div>\r\n <div class=\"xml-viewer\" [ngStyle]=\"{display: isShowXml ? 'flex' : 'none'}\">\r\n <rs-code-editor language=\"xml\" [code]=\"xml\" [readonly]=\"true\" [enableMinimap]=\"true\"></rs-code-editor>\r\n </div>\r\n</div>\r\n<div class=\"footer\">\r\n <dx-button [type]=\"isShowXml ? 'default' : 'normal'\" text=\"XML\" [hoverStateEnabled]=\"false\"\r\n [visible]=\"showXmlButton\" (onClick)=\"showXml()\"></dx-button>\r\n <dx-button [type]=\"isShowConfig ? 'default' : 'normal'\" icon=\"coast-icon coast-icon-setting\"\r\n style=\"float: right;\" [visible]=\"showConfigButton\"\r\n (onClick)=\"isShowConfig = !isShowConfig;\"></dx-button>\r\n</div>\r\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, rgb(221, 221, 221))}:host .main .xml-viewer{position:absolute;width:100%;height:100%;display:flex;flex-flow:column nowrap;z-index:var(--coast-z-index-drawer, 2000)}:host .main .xml-viewer rs-code-editor{flex:1}:host .footer{flex:0 0 24px;border:1px solid var(--coast-border-color, rgb(221, 221, 221))}\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: 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"] }] });
|
|
1514
|
+
CamundaBpmnEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CamundaBpmnEditorComponent, selector: "rs-camunda-bpmn-editor", inputs: { xml: "xml", showXmlButton: "showXmlButton", showConfigButton: "showConfigButton" }, outputs: { selectedNodeChanged: "selectedNodeChanged" }, viewQueries: [{ propertyName: "bpmnContainer", first: true, predicate: ["bpmnContainer"], descendants: true }, { propertyName: "bpmnConfig", first: true, predicate: ["bpmnConfig"], descendants: true }], ngImport: i0, template: "<div class=\"main\">\r\n <div class=\"container\" #bpmnContainer>\r\n <div class=\"zoom-controls\">\r\n <ul class=\"zoom-reset io-control io-control-list\">\r\n <li>\r\n <button title=\"\u8FD8\u539F\" (click)=\"zoom('reset')\">\r\n <span class=\"coast-icon-refresh\"></span>\r\n </button>\r\n </li>\r\n <li>\r\n <hr class=\"separator\">\r\n </li>\r\n <li>\r\n <button title=\"\u653E\u5927\" (click)=\"zoom('zoomIn')\">\r\n <span class=\"coast-icon-add\"></span>\r\n </button>\r\n </li>\r\n <li>\r\n <hr class=\"separator\">\r\n </li>\r\n <li>\r\n <button title=\"\u7F29\u5C0F\" (click)=\"zoom('zoomOut')\">\r\n <span class=\"coast-icon-minus\"></span>\r\n </button>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div [hidden]=\"!isShowConfig\" class=\"config\" #bpmnConfig></div>\r\n <div class=\"xml-viewer\" [ngStyle]=\"{display: isShowXml ? 'flex' : 'none'}\">\r\n <rs-code-editor language=\"xml\" [code]=\"xml\" [readonly]=\"true\" [enableMinimap]=\"true\"></rs-code-editor>\r\n </div>\r\n</div>\r\n<div class=\"footer\">\r\n <dx-button [type]=\"isShowXml ? 'default' : 'normal'\" text=\"XML\" [hoverStateEnabled]=\"false\"\r\n [visible]=\"showXmlButton\" (onClick)=\"showXml()\"></dx-button>\r\n <dx-button [type]=\"isShowConfig ? 'default' : 'normal'\" icon=\"coast-icon coast-icon-setting\"\r\n style=\"float: right;\" [visible]=\"showConfigButton\"\r\n (onClick)=\"isShowConfig = !isShowConfig;\"></dx-button>\r\n</div>\r\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;position:relative;z-index:0}:host .main .container .zoom-controls{position:absolute;right:8px;bottom:20px;z-index:1}:host .main .container .zoom-controls ul{list-style:none;padding:4px;margin:0;background:var(--coast-global-bg-color, rgb(245, 245, 245));border:1px solid var(--coast-border-color, rgb(221, 221, 221));border-radius:2px;box-shadow:0 0 2px #0000001f}:host .main .container .zoom-controls ul li button{cursor:pointer;font-size:14px;background:none;border:none}:host .main .container .zoom-controls ul li button:hover{color:var(--coast-default-color, rgb(51, 122, 183))}:host .main .container .zoom-controls ul li hr.separator{margin:4px;padding-top:4px;border:none;border-bottom:solid 1px gray;clear:both}:host .main .config{flex:0 0 360px;border:1px solid var(--coast-border-color, rgb(221, 221, 221))}:host .main .xml-viewer{position:absolute;width:100%;height:100%;display:flex;flex-flow:column nowrap;z-index:var(--coast-z-index-drawer, 2000)}:host .main .xml-viewer rs-code-editor{flex:1}:host .footer{flex:0 0 24px;border:1px solid var(--coast-border-color, rgb(221, 221, 221))}\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: 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"] }] });
|
|
1501
1515
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CamundaBpmnEditorComponent, decorators: [{
|
|
1502
1516
|
type: Component,
|
|
1503
|
-
args: [{ selector: 'rs-camunda-bpmn-editor', template: "<div class=\"main\">\r\n <div class=\"container\" #bpmnContainer></div>\r\n <div [hidden]=\"!isShowConfig\" class=\"config\" #bpmnConfig></div>\r\n <div class=\"xml-viewer\" [ngStyle]=\"{display: isShowXml ? 'flex' : 'none'}\">\r\n <rs-code-editor language=\"xml\" [code]=\"xml\" [readonly]=\"true\" [enableMinimap]=\"true\"></rs-code-editor>\r\n </div>\r\n</div>\r\n<div class=\"footer\">\r\n <dx-button [type]=\"isShowXml ? 'default' : 'normal'\" text=\"XML\" [hoverStateEnabled]=\"false\"\r\n [visible]=\"showXmlButton\" (onClick)=\"showXml()\"></dx-button>\r\n <dx-button [type]=\"isShowConfig ? 'default' : 'normal'\" icon=\"coast-icon coast-icon-setting\"\r\n style=\"float: right;\" [visible]=\"showConfigButton\"\r\n (onClick)=\"isShowConfig = !isShowConfig;\"></dx-button>\r\n</div>\r\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, rgb(221, 221, 221))}:host .main .xml-viewer{position:absolute;width:100%;height:100%;display:flex;flex-flow:column nowrap;z-index:var(--coast-z-index-drawer, 2000)}:host .main .xml-viewer rs-code-editor{flex:1}:host .footer{flex:0 0 24px;border:1px solid var(--coast-border-color, rgb(221, 221, 221))}\n"] }]
|
|
1517
|
+
args: [{ selector: 'rs-camunda-bpmn-editor', template: "<div class=\"main\">\r\n <div class=\"container\" #bpmnContainer>\r\n <div class=\"zoom-controls\">\r\n <ul class=\"zoom-reset io-control io-control-list\">\r\n <li>\r\n <button title=\"\u8FD8\u539F\" (click)=\"zoom('reset')\">\r\n <span class=\"coast-icon-refresh\"></span>\r\n </button>\r\n </li>\r\n <li>\r\n <hr class=\"separator\">\r\n </li>\r\n <li>\r\n <button title=\"\u653E\u5927\" (click)=\"zoom('zoomIn')\">\r\n <span class=\"coast-icon-add\"></span>\r\n </button>\r\n </li>\r\n <li>\r\n <hr class=\"separator\">\r\n </li>\r\n <li>\r\n <button title=\"\u7F29\u5C0F\" (click)=\"zoom('zoomOut')\">\r\n <span class=\"coast-icon-minus\"></span>\r\n </button>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div [hidden]=\"!isShowConfig\" class=\"config\" #bpmnConfig></div>\r\n <div class=\"xml-viewer\" [ngStyle]=\"{display: isShowXml ? 'flex' : 'none'}\">\r\n <rs-code-editor language=\"xml\" [code]=\"xml\" [readonly]=\"true\" [enableMinimap]=\"true\"></rs-code-editor>\r\n </div>\r\n</div>\r\n<div class=\"footer\">\r\n <dx-button [type]=\"isShowXml ? 'default' : 'normal'\" text=\"XML\" [hoverStateEnabled]=\"false\"\r\n [visible]=\"showXmlButton\" (onClick)=\"showXml()\"></dx-button>\r\n <dx-button [type]=\"isShowConfig ? 'default' : 'normal'\" icon=\"coast-icon coast-icon-setting\"\r\n style=\"float: right;\" [visible]=\"showConfigButton\"\r\n (onClick)=\"isShowConfig = !isShowConfig;\"></dx-button>\r\n</div>\r\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;position:relative;z-index:0}:host .main .container .zoom-controls{position:absolute;right:8px;bottom:20px;z-index:1}:host .main .container .zoom-controls ul{list-style:none;padding:4px;margin:0;background:var(--coast-global-bg-color, rgb(245, 245, 245));border:1px solid var(--coast-border-color, rgb(221, 221, 221));border-radius:2px;box-shadow:0 0 2px #0000001f}:host .main .container .zoom-controls ul li button{cursor:pointer;font-size:14px;background:none;border:none}:host .main .container .zoom-controls ul li button:hover{color:var(--coast-default-color, rgb(51, 122, 183))}:host .main .container .zoom-controls ul li hr.separator{margin:4px;padding-top:4px;border:none;border-bottom:solid 1px gray;clear:both}:host .main .config{flex:0 0 360px;border:1px solid var(--coast-border-color, rgb(221, 221, 221))}:host .main .xml-viewer{position:absolute;width:100%;height:100%;display:flex;flex-flow:column nowrap;z-index:var(--coast-z-index-drawer, 2000)}:host .main .xml-viewer rs-code-editor{flex:1}:host .footer{flex:0 0 24px;border:1px solid var(--coast-border-color, rgb(221, 221, 221))}\n"] }]
|
|
1504
1518
|
}], propDecorators: { xml: [{
|
|
1505
1519
|
type: Input
|
|
1506
1520
|
}], showXmlButton: [{
|
|
@@ -1605,12 +1619,26 @@ class CamundaBpmnViewerComponent {
|
|
|
1605
1619
|
}
|
|
1606
1620
|
});
|
|
1607
1621
|
}
|
|
1622
|
+
zoom(type) {
|
|
1623
|
+
const zoom = this.canvas.zoom();
|
|
1624
|
+
switch (type) {
|
|
1625
|
+
case 'reset':
|
|
1626
|
+
this.canvas.zoom('fit-viewport');
|
|
1627
|
+
break;
|
|
1628
|
+
case 'zoomIn':
|
|
1629
|
+
this.canvas.zoom(zoom + 0.1);
|
|
1630
|
+
break;
|
|
1631
|
+
case 'zoomOut':
|
|
1632
|
+
this.canvas.zoom(zoom - 0.1);
|
|
1633
|
+
break;
|
|
1634
|
+
}
|
|
1635
|
+
}
|
|
1608
1636
|
}
|
|
1609
1637
|
CamundaBpmnViewerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CamundaBpmnViewerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1610
|
-
CamundaBpmnViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CamundaBpmnViewerComponent, selector: "rs-camunda-bpmn-viewer", inputs: { xml: "xml", failedActivities: "failedActivities", activeActivities: "activeActivities" }, viewQueries: [{ propertyName: "viewerContainer", first: true, predicate: ["viewerContainer"], descendants: true }], ngImport: i0, template: "<div class=\"container\" #viewerContainer></div>\r\n", styles: [":host{display:flex;flex-flow:column nowrap}:host .container{flex:1}\n"] });
|
|
1638
|
+
CamundaBpmnViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CamundaBpmnViewerComponent, selector: "rs-camunda-bpmn-viewer", inputs: { xml: "xml", failedActivities: "failedActivities", activeActivities: "activeActivities" }, viewQueries: [{ propertyName: "viewerContainer", first: true, predicate: ["viewerContainer"], descendants: true }], ngImport: i0, template: "<div class=\"container\" #viewerContainer>\r\n <div class=\"zoom-controls\">\r\n <ul class=\"zoom-reset io-control io-control-list\">\r\n <li>\r\n <button title=\"\u8FD8\u539F\" (click)=\"zoom('reset')\">\r\n <span class=\"coast-icon-refresh\"></span>\r\n </button>\r\n </li>\r\n <li>\r\n <hr class=\"separator\">\r\n </li>\r\n <li>\r\n <button title=\"\u653E\u5927\" (click)=\"zoom('zoomIn')\">\r\n <span class=\"coast-icon-add\"></span>\r\n </button>\r\n </li>\r\n <li>\r\n <hr class=\"separator\">\r\n </li>\r\n <li>\r\n <button title=\"\u7F29\u5C0F\" (click)=\"zoom('zoomOut')\">\r\n <span class=\"coast-icon-minus\"></span>\r\n </button>\r\n </li>\r\n </ul>\r\n </div>\r\n</div>\r\n", styles: [":host{display:flex;flex-flow:column nowrap}:host .container{flex:1;position:relative;z-index:0}:host .container .zoom-controls{position:absolute;right:8px;bottom:20px;z-index:1}:host .container .zoom-controls ul{list-style:none;padding:4px;margin:0;background:var(--coast-global-bg-color, rgb(245, 245, 245));border:1px solid var(--coast-border-color, rgb(221, 221, 221));border-radius:2px;box-shadow:0 0 2px #0000001f}:host .container .zoom-controls ul li button{cursor:pointer;font-size:14px;background:none;border:none}:host .container .zoom-controls ul li button:hover{color:var(--coast-default-color, rgb(51, 122, 183))}:host .container .zoom-controls ul li hr.separator{margin:4px;padding-top:4px;border:none;border-bottom:solid 1px gray;clear:both}\n"] });
|
|
1611
1639
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CamundaBpmnViewerComponent, decorators: [{
|
|
1612
1640
|
type: Component,
|
|
1613
|
-
args: [{ selector: 'rs-camunda-bpmn-viewer', template: "<div class=\"container\" #viewerContainer></div>\r\n", styles: [":host{display:flex;flex-flow:column nowrap}:host .container{flex:1}\n"] }]
|
|
1641
|
+
args: [{ selector: 'rs-camunda-bpmn-viewer', template: "<div class=\"container\" #viewerContainer>\r\n <div class=\"zoom-controls\">\r\n <ul class=\"zoom-reset io-control io-control-list\">\r\n <li>\r\n <button title=\"\u8FD8\u539F\" (click)=\"zoom('reset')\">\r\n <span class=\"coast-icon-refresh\"></span>\r\n </button>\r\n </li>\r\n <li>\r\n <hr class=\"separator\">\r\n </li>\r\n <li>\r\n <button title=\"\u653E\u5927\" (click)=\"zoom('zoomIn')\">\r\n <span class=\"coast-icon-add\"></span>\r\n </button>\r\n </li>\r\n <li>\r\n <hr class=\"separator\">\r\n </li>\r\n <li>\r\n <button title=\"\u7F29\u5C0F\" (click)=\"zoom('zoomOut')\">\r\n <span class=\"coast-icon-minus\"></span>\r\n </button>\r\n </li>\r\n </ul>\r\n </div>\r\n</div>\r\n", styles: [":host{display:flex;flex-flow:column nowrap}:host .container{flex:1;position:relative;z-index:0}:host .container .zoom-controls{position:absolute;right:8px;bottom:20px;z-index:1}:host .container .zoom-controls ul{list-style:none;padding:4px;margin:0;background:var(--coast-global-bg-color, rgb(245, 245, 245));border:1px solid var(--coast-border-color, rgb(221, 221, 221));border-radius:2px;box-shadow:0 0 2px #0000001f}:host .container .zoom-controls ul li button{cursor:pointer;font-size:14px;background:none;border:none}:host .container .zoom-controls ul li button:hover{color:var(--coast-default-color, rgb(51, 122, 183))}:host .container .zoom-controls ul li hr.separator{margin:4px;padding-top:4px;border:none;border-bottom:solid 1px gray;clear:both}\n"] }]
|
|
1614
1642
|
}], propDecorators: { xml: [{
|
|
1615
1643
|
type: Input
|
|
1616
1644
|
}], failedActivities: [{
|