@bizdoc/core 1.14.14 → 1.14.15
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/esm2020/lib/admin/admin-dismiss.service.mjs +15 -9
- package/esm2020/lib/admin/form/workflow/node.component.mjs +26 -26
- package/esm2020/lib/admin/form/workflow/workflow.component.mjs +152 -109
- package/esm2020/lib/compose/dismiss.service.mjs +2 -2
- package/esm2020/lib/core/save-changes.dialog.mjs +18 -0
- package/esm2020/lib/core/slots/router.service.mjs +1 -1
- package/esm2020/lib/shared.module.mjs +2 -2
- package/esm2020/public-api.mjs +2 -2
- package/fesm2015/bizdoc-core.mjs +203 -153
- package/fesm2015/bizdoc-core.mjs.map +1 -1
- package/fesm2020/bizdoc-core.mjs +201 -153
- package/fesm2020/bizdoc-core.mjs.map +1 -1
- package/lib/admin/admin-dismiss.service.d.ts +3 -3
- package/lib/admin/form/workflow/workflow.component.d.ts +5 -4
- package/lib/{compose → core}/save-changes.dialog.d.ts +0 -0
- package/lib/core/slots/router.service.d.ts +1 -1
- package/lib/shared.module.d.ts +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -1
- package/esm2020/lib/compose/save-changes.dialog.mjs +0 -18
package/fesm2020/bizdoc-core.mjs
CHANGED
@@ -5,7 +5,7 @@ import { OverlayRef, OverlayConfig, OverlayModule, CdkScrollable } from '@angula
|
|
5
5
|
import { ComponentPortal, PortalModule, TemplatePortal } from '@angular/cdk/portal';
|
6
6
|
import { trigger, state, style, transition, animate, query, stagger, animateChild, keyframes } from '@angular/animations';
|
7
7
|
import { ESCAPE, RIGHT_ARROW, LEFT_ARROW, ENTER, COMMA, UP_ARROW, DOWN_ARROW, SEMICOLON } from '@angular/cdk/keycodes';
|
8
|
-
import { Subject, Observable, of, fromEvent, forkJoin, interval, takeWhile, tap as tap$1, BehaviorSubject, filter as filter$1, debounceTime as debounceTime$1, takeUntil as takeUntil$1, from, merge, map as map$1,
|
8
|
+
import { Subject, Observable, of, fromEvent, forkJoin, interval, takeWhile, tap as tap$1, BehaviorSubject, filter as filter$1, debounceTime as debounceTime$1, takeUntil as takeUntil$1, from, merge, map as map$1, first as first$1, throwError, switchMap as switchMap$1, isObservable, EMPTY } from 'rxjs';
|
9
9
|
import { map, tap, filter, switchMap, takeUntil, shareReplay, debounceTime, take, first, catchError, startWith, finalize } from 'rxjs/operators';
|
10
10
|
import { HubConnectionBuilder, HubConnectionState } from '@microsoft/signalr';
|
11
11
|
import dayjs from 'dayjs';
|
@@ -131,7 +131,7 @@ import * as i9$5 from '@syncfusion/ej2-angular-spreadsheet';
|
|
131
131
|
import { Spreadsheet, isNumber, SpreadsheetModule, SelectionService as SelectionService$2, BasicModuleService, ClipboardService, CellFormatService, KeyboardNavigationService, KeyboardShortcutService, NumberFormatService } from '@syncfusion/ej2-angular-spreadsheet';
|
132
132
|
import * as i4 from '@ctrl/ngx-emoji-mart';
|
133
133
|
import { PickerModule } from '@ctrl/ngx-emoji-mart';
|
134
|
-
import { Diagram, UndoRedo, ConnectorBridging, ConnectorEditing, Snapping, SymbolPalette, BpmnDiagrams, PortVisibility, PortConstraints, DiagramConstraints,
|
134
|
+
import { Diagram, UndoRedo, ConnectorBridging, ConnectorEditing, Snapping, SymbolPalette, BpmnDiagrams, PortVisibility, PortConstraints, DiagramConstraints, SelectorConstraints, NodeConstraints, ConnectorConstraints, DiagramTools, Connector, Node, ConnectionPointOrigin, SnapConstraints, ComplexHierarchicalTreeService, DiagramModule, SymbolPaletteModule, ConnectorBridgingService, LineRoutingService, BpmnDiagramsService, LayoutAnimationService, UndoRedoService, SnappingService, ConnectorEditingService, LineDistributionService, ComplexHierarchicalTree, DataBinding, LineDistribution, ToolBase } from '@syncfusion/ej2-angular-diagrams';
|
135
135
|
import * as i9$3 from '@syncfusion/ej2-angular-schedule';
|
136
136
|
import { Schedule, Day, WorkWeek, Month, MonthAgenda, Agenda, Year, ScheduleModule, ExcelExportService as ExcelExportService$2, DayService, WorkWeekService, MonthService, MonthAgendaService, ICalendarExportService, AgendaService, YearService } from '@syncfusion/ej2-angular-schedule';
|
137
137
|
import * as i10$1 from '@syncfusion/ej2-angular-kanban';
|
@@ -13313,8 +13313,8 @@ class WorkflowNodeComponent {
|
|
13313
13313
|
this._pane = _pane;
|
13314
13314
|
this.change = new EventEmitter();
|
13315
13315
|
this.connector = this._fb.group({
|
13316
|
-
action:
|
13317
|
-
case:
|
13316
|
+
action: null,
|
13317
|
+
case: null
|
13318
13318
|
});
|
13319
13319
|
this._elementDestroy = new Subject();
|
13320
13320
|
this.actions = _session.profile.actions;
|
@@ -13340,25 +13340,24 @@ class WorkflowNodeComponent {
|
|
13340
13340
|
this._pane.icon = 'link';
|
13341
13341
|
this.connector.valueChanges.pipe(takeUntil$1(this._elementDestroy)).subscribe(v => {
|
13342
13342
|
const content = v['case'] || v['action'];
|
13343
|
-
|
13344
|
-
|
13345
|
-
|
13346
|
-
|
13347
|
-
|
13348
|
-
|
13349
|
-
|
13350
|
-
|
13343
|
+
if (!connector.addInfo)
|
13344
|
+
connector.addInfo = this.connector.getRawValue();
|
13345
|
+
else
|
13346
|
+
Object.assign(connector.addInfo, this.connector.getRawValue());
|
13347
|
+
cleanup(connector.addInfo);
|
13348
|
+
if (connector.annotations.length) {
|
13349
|
+
connector.annotations[0].content = content;
|
13350
|
+
this.diagram.dataBind();
|
13351
|
+
}
|
13352
|
+
else
|
13353
|
+
this.diagram.addConnectorLabels(connector, [{
|
13351
13354
|
style: {
|
13352
13355
|
color: this._session.theme.dark ? 'white' : 'black',
|
13353
13356
|
fill: 'transparent',
|
13354
13357
|
opacity: .8,
|
13355
13358
|
},
|
13356
13359
|
content
|
13357
|
-
});
|
13358
|
-
else
|
13359
|
-
c.annotations[0].content = content;
|
13360
|
-
});
|
13361
|
-
this.diagram.dataBind();
|
13360
|
+
}]);
|
13362
13361
|
this.change.emit();
|
13363
13362
|
});
|
13364
13363
|
this.argumentstemplate.createEmbeddedView(this.connectorargs);
|
@@ -13372,21 +13371,22 @@ class WorkflowNodeComponent {
|
|
13372
13371
|
const annotationArg = tool.arguments.find(a => a.diagram);
|
13373
13372
|
function change(m) {
|
13374
13373
|
if (annotationArg && m[annotationArg.name] !== null) {
|
13375
|
-
if (node.annotations.length)
|
13374
|
+
if (node.annotations.length) {
|
13376
13375
|
node.annotations[0].content = m[annotationArg.name] || null;
|
13376
|
+
this.diagram.dataBind();
|
13377
|
+
}
|
13377
13378
|
else
|
13378
|
-
|
13379
|
-
|
13380
|
-
|
13381
|
-
|
13382
|
-
|
13383
|
-
|
13384
|
-
|
13385
|
-
|
13379
|
+
this.diagram.addNodeLabels(node, [{
|
13380
|
+
style: {
|
13381
|
+
color: this._session.theme.dark ? 'white' : 'black',
|
13382
|
+
fill: 'transparent',
|
13383
|
+
opacity: .8,
|
13384
|
+
},
|
13385
|
+
content: m[annotationArg.name] || null
|
13386
|
+
}]);
|
13386
13387
|
}
|
13387
13388
|
Object.assign(addInfo, m);
|
13388
13389
|
cleanup(addInfo);
|
13389
|
-
this.diagram.dataBind();
|
13390
13390
|
this.change.emit();
|
13391
13391
|
}
|
13392
13392
|
if (tool.template) {
|
@@ -13484,15 +13484,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImpor
|
|
13484
13484
|
|
13485
13485
|
Diagram.Inject(UndoRedo, ConnectorBridging, ConnectorEditing, Snapping);
|
13486
13486
|
SymbolPalette.Inject(BpmnDiagrams);
|
13487
|
-
|
13488
|
-
|
13489
|
-
|
13490
|
-
|
13491
|
-
|
13492
|
-
|
13493
|
-
];
|
13494
|
-
return ports;
|
13495
|
-
}
|
13487
|
+
const ports = [
|
13488
|
+
{ id: 'port1', shape: 'Circle', offset: { x: 0, y: 0.5 }, visibility: PortVisibility.Connect | PortVisibility.Hover, constraints: PortConstraints.Default | PortConstraints.Draw },
|
13489
|
+
{ id: 'port2', shape: 'Circle', offset: { x: 0.5, y: 1 }, visibility: PortVisibility.Connect | PortVisibility.Hover, constraints: PortConstraints.Default | PortConstraints.Draw },
|
13490
|
+
{ id: 'port3', shape: 'Circle', offset: { x: 1, y: 0.5 }, visibility: PortVisibility.Connect | PortVisibility.Hover, constraints: PortConstraints.Default | PortConstraints.Draw },
|
13491
|
+
{ id: 'port4', shape: 'Circle', offset: { x: 0.5, y: 0 }, visibility: PortVisibility.Connect | PortVisibility.Hover, constraints: PortConstraints.Default | PortConstraints.Draw }
|
13492
|
+
];
|
13496
13493
|
function showPaletteIcon() {
|
13497
13494
|
const paletteSpace = document.getElementById('palette-space');
|
13498
13495
|
const isMobile = window.matchMedia('(max-width:550px)').matches;
|
@@ -13532,60 +13529,45 @@ class WorkflowComponent {
|
|
13532
13529
|
this.dirty = false;
|
13533
13530
|
this.palettes = [];
|
13534
13531
|
this.diagramConstraints = DiagramConstraints.Default | DiagramConstraints.Bridging | DiagramConstraints.UserInteraction | DiagramConstraints.Zoom;
|
13535
|
-
this.diagramTool = DiagramTools.Default;
|
13536
13532
|
//SymbolPalette Properties
|
13537
13533
|
this.symbolMargin = { left: 10, right: 10, top: 10, bottom: 10 };
|
13538
13534
|
this.snapSettings = {
|
13539
|
-
|
13540
|
-
// verticalGridlines: gridlines,
|
13541
|
-
// constraints: SnapConstraints.All & ~SnapConstraints.ShowLines
|
13535
|
+
snapLineColor: this._session.getAccent(100)
|
13542
13536
|
};
|
13543
13537
|
this.selectedItems = {
|
13544
|
-
constraints: SelectorConstraints.All & ~SelectorConstraints.Rotate
|
13538
|
+
constraints: SelectorConstraints.All & ~SelectorConstraints.Rotate,
|
13545
13539
|
};
|
13546
13540
|
this.scrollSettings = {
|
13547
13541
|
minZoom: .5,
|
13548
|
-
maxZoom: 2.5
|
13549
|
-
};
|
13550
|
-
this._rulerColor = this._session.getAccent(100);
|
13551
|
-
this.rulerSettings = {
|
13552
|
-
horizontalRuler: { markerColor: this._rulerColor },
|
13553
|
-
verticalRuler: { markerColor: this._rulerColor }
|
13542
|
+
maxZoom: 2.5,
|
13554
13543
|
};
|
13544
|
+
this.rulerSettings = {};
|
13555
13545
|
this._destroy = new Subject();
|
13556
13546
|
this._nodedestroy = new Subject();
|
13557
13547
|
this.nodeDefaults = (obj) => {
|
13558
|
-
|
13559
|
-
|
13560
|
-
|
13561
|
-
|
13562
|
-
|
13563
|
-
|
13564
|
-
|
13565
|
-
|
13566
|
-
|
13567
|
-
|
13568
|
-
|
13569
|
-
|
13570
|
-
|
13571
|
-
|
13572
|
-
obj.height *= ratio;
|
13573
|
-
}
|
13548
|
+
switch (obj.shape.type) {
|
13549
|
+
case 'SwimLane':
|
13550
|
+
break;
|
13551
|
+
case 'Text':
|
13552
|
+
if (obj.id !== 'version')
|
13553
|
+
obj.constraints = NodeConstraints.Default & ~NodeConstraints.InConnect & ~NodeConstraints.OutConnect;
|
13554
|
+
break;
|
13555
|
+
default:
|
13556
|
+
if (obj.addInfo && obj.addInfo['nodeType']) {
|
13557
|
+
obj.constraints = NodeConstraints.Default | NodeConstraints.AspectRatio;
|
13558
|
+
obj.style.strokeColor = this._session.theme.dark ? 'white' : 'black';
|
13559
|
+
obj.ports = ports;
|
13560
|
+
}
|
13561
|
+
break;
|
13574
13562
|
}
|
13575
13563
|
return obj;
|
13576
13564
|
};
|
13577
13565
|
this.connDefaults = (obj) => {
|
13578
|
-
obj.constraints = ConnectorConstraints.Default | ConnectorConstraints.Bridging
|
13579
|
-
ConnectorConstraints.Bridging;
|
13566
|
+
obj.constraints = ConnectorConstraints.Default | ConnectorConstraints.Bridging;
|
13580
13567
|
obj.style.strokeColor = this._session.theme.dark ? 'white' : 'black';
|
13581
|
-
obj.type
|
13582
|
-
|
13583
|
-
|
13584
|
-
// color: this._session.theme.dark ? 'white' : 'black',
|
13585
|
-
// fill: 'transparent',
|
13586
|
-
// opacity: .8,
|
13587
|
-
// },
|
13588
|
-
// }];
|
13568
|
+
if (!obj.type)
|
13569
|
+
obj.type = this.connectorType;
|
13570
|
+
return obj;
|
13589
13571
|
};
|
13590
13572
|
this._tools = localStorage.getItem('diagram_tools') === '1';
|
13591
13573
|
this._palettes();
|
@@ -13617,14 +13599,13 @@ class WorkflowComponent {
|
|
13617
13599
|
snapSettings: this.snapSettings,
|
13618
13600
|
getConnectorDefaults: this.connDefaults.bind(this),
|
13619
13601
|
constraints: this.diagramConstraints,
|
13620
|
-
tool: this.diagramTool,
|
13621
13602
|
getNodeDefaults: this.nodeDefaults.bind(this),
|
13622
13603
|
scrollSettings: this.scrollSettings,
|
13623
13604
|
selectedItems: this.selectedItems,
|
13624
13605
|
rulerSettings: this.rulerSettings,
|
13625
13606
|
dragEnter: this.dragEnter.bind(this),
|
13626
13607
|
connectionChange: this.change.bind(this),
|
13627
|
-
collectionChange: this.
|
13608
|
+
collectionChange: this.collectionChange.bind(this),
|
13628
13609
|
propertyChange: this.propertyChange.bind(this),
|
13629
13610
|
selectionChange: this.selectionChange.bind(this),
|
13630
13611
|
}, this.diagramEl.nativeElement);
|
@@ -13655,6 +13636,8 @@ class WorkflowComponent {
|
|
13655
13636
|
nodeType: n.name,
|
13656
13637
|
title: n.title
|
13657
13638
|
},
|
13639
|
+
width: 145,
|
13640
|
+
height: 145,
|
13658
13641
|
};
|
13659
13642
|
node.node = n.name;
|
13660
13643
|
let palette = this.palettes.find(p => p.title === (n.palette || ''));
|
@@ -13684,11 +13667,14 @@ class WorkflowComponent {
|
|
13684
13667
|
},
|
13685
13668
|
{
|
13686
13669
|
id: 'text', shape: { type: 'Text', content: 'T' },
|
13670
|
+
style: {
|
13671
|
+
fill: 'transparent'
|
13672
|
+
},
|
13687
13673
|
constraints: NodeConstraints.Default & ~NodeConstraints.InConnect & ~NodeConstraints.OutConnect,
|
13688
13674
|
addInfo: { title: this._translate.get('Text') }
|
13689
13675
|
}]
|
13690
13676
|
});
|
13691
|
-
const color = MATERIAL_PALETTES['grey'][200];
|
13677
|
+
const color = MATERIAL_PALETTES['grey'][200];
|
13692
13678
|
this.palettes.push({
|
13693
13679
|
id: 'swimlaneShapes',
|
13694
13680
|
expanded: true,
|
@@ -13700,11 +13686,15 @@ class WorkflowComponent {
|
|
13700
13686
|
title: this._translate.get('Horizontal')
|
13701
13687
|
},
|
13702
13688
|
shape: {
|
13689
|
+
header: {
|
13690
|
+
annotation: { content: 'Plan' }
|
13691
|
+
},
|
13703
13692
|
type: 'SwimLane',
|
13704
13693
|
lanes: [
|
13705
13694
|
{
|
13706
13695
|
id: 'lane1',
|
13707
13696
|
header: {
|
13697
|
+
annotation: { content: 'Lane' },
|
13708
13698
|
style: { fill: color }
|
13709
13699
|
}
|
13710
13700
|
}
|
@@ -13723,10 +13713,14 @@ class WorkflowComponent {
|
|
13723
13713
|
},
|
13724
13714
|
shape: {
|
13725
13715
|
type: 'SwimLane',
|
13716
|
+
header: {
|
13717
|
+
annotation: { content: 'Plan' }
|
13718
|
+
},
|
13726
13719
|
lanes: [
|
13727
13720
|
{
|
13728
13721
|
id: 'lane1',
|
13729
13722
|
header: {
|
13723
|
+
annotation: { content: 'Lane' },
|
13730
13724
|
style: { fill: color }
|
13731
13725
|
}
|
13732
13726
|
}
|
@@ -13744,8 +13738,14 @@ class WorkflowComponent {
|
|
13744
13738
|
},
|
13745
13739
|
shape: {
|
13746
13740
|
type: 'SwimLane',
|
13747
|
-
phases: [
|
13748
|
-
|
13741
|
+
phases: [
|
13742
|
+
{
|
13743
|
+
style: { strokeWidth: 1, strokeDashArray: '3,3', strokeColor: color },
|
13744
|
+
header: {
|
13745
|
+
annotation: { text: 'Phase' }
|
13746
|
+
}
|
13747
|
+
}
|
13748
|
+
],
|
13749
13749
|
orientation: 'Vertical', isPhase: true
|
13750
13750
|
},
|
13751
13751
|
height: 60,
|
@@ -13758,12 +13758,16 @@ class WorkflowComponent {
|
|
13758
13758
|
},
|
13759
13759
|
shape: {
|
13760
13760
|
type: 'SwimLane',
|
13761
|
-
phases: [{
|
13762
|
-
|
13761
|
+
phases: [{
|
13762
|
+
style: { strokeWidth: 1, strokeDashArray: '3,3', strokeColor: color },
|
13763
|
+
header: {
|
13764
|
+
annotation: { text: 'Phase' }
|
13765
|
+
}
|
13766
|
+
}],
|
13763
13767
|
orientation: 'Horizontal', isPhase: true
|
13764
13768
|
},
|
13765
13769
|
height: 60,
|
13766
|
-
width:
|
13770
|
+
width: 140,
|
13767
13771
|
style: { strokeColor: color }
|
13768
13772
|
}
|
13769
13773
|
]
|
@@ -13796,7 +13800,6 @@ class WorkflowComponent {
|
|
13796
13800
|
}
|
13797
13801
|
getSymbolDefaults(symbol) {
|
13798
13802
|
symbol.width = symbol.height = 40;
|
13799
|
-
symbol.constraints = NodeConstraints.Default | NodeConstraints.AspectRatio;
|
13800
13803
|
}
|
13801
13804
|
pan() {
|
13802
13805
|
this.diagram.constraints = this.diagram.constraints | DiagramConstraints.Pan;
|
@@ -13808,7 +13811,7 @@ class WorkflowComponent {
|
|
13808
13811
|
}
|
13809
13812
|
selectionChange(evt) {
|
13810
13813
|
const { newValue, state } = evt;
|
13811
|
-
if (state !== '
|
13814
|
+
if (state !== 'Changing' || !newValue.length) {
|
13812
13815
|
this._nodedestroy.next();
|
13813
13816
|
return;
|
13814
13817
|
}
|
@@ -13825,10 +13828,10 @@ class WorkflowComponent {
|
|
13825
13828
|
const nodes = newValue.filter(n => n instanceof Node);
|
13826
13829
|
if (nodes.length) {
|
13827
13830
|
const node = nodes[0], addInfo = node.addInfo;
|
13828
|
-
if (addInfo
|
13829
|
-
this.fontSize = node.annotations[0].style.fontSize;
|
13830
|
-
else
|
13831
|
+
if (!addInfo || !addInfo['nodeType'])
|
13831
13832
|
return;
|
13833
|
+
if (node.annotations.length && node.annotations[0].style)
|
13834
|
+
this.fontSize = node.annotations[0].style.fontSize;
|
13832
13835
|
}
|
13833
13836
|
this._router.navigate(WorkflowNodeComponent, {
|
13834
13837
|
state: {
|
@@ -13840,12 +13843,12 @@ class WorkflowComponent {
|
|
13840
13843
|
expandable: false,
|
13841
13844
|
group: ''
|
13842
13845
|
}).then(p => {
|
13843
|
-
p.instance.change.
|
13844
|
-
|
13846
|
+
p.instance.change.pipe(takeUntil(this._nodedestroy)).subscribe(() => this.change());
|
13847
|
+
this._nodedestroy.pipe(first$1()).subscribe(() => p.close());
|
13845
13848
|
});
|
13846
13849
|
}
|
13847
13850
|
align(value) {
|
13848
|
-
|
13851
|
+
this.diagram.selectedItems.nodes.forEach(n => {
|
13849
13852
|
n.annotations.length && Object.assign(n.annotations[0], {
|
13850
13853
|
offset: {
|
13851
13854
|
x: value === 'Right' ? 1 : value === 'Left' ? 0 : .5,
|
@@ -13854,44 +13857,50 @@ class WorkflowComponent {
|
|
13854
13857
|
verticalAlignment: value === 'Top' ? 'Bottom' : value === 'Bottom' ? 'Top' : 'Center',
|
13855
13858
|
horizontalAlignment: value === 'Right' ? 'Left' : value === 'Left' ? 'Right' : 'Center'
|
13856
13859
|
});
|
13857
|
-
}
|
13858
|
-
this.diagram.selectedItems.nodes.forEach(align);
|
13859
|
-
this.diagram.selectedItems.connectors.forEach(c => {
|
13860
|
-
c.annotations.forEach(a => {
|
13861
|
-
a.alignment = value === 'Left' ? 'Before' :
|
13862
|
-
value === 'Right' ? 'After' : 'Center';
|
13863
|
-
a.offset = 5;
|
13864
|
-
a.displacement = {
|
13865
|
-
x: value === 'Right' ? 1 : value === 'Left' ? 0 : .5,
|
13866
|
-
y: value === 'Top' ? 0 : value === 'Bottom' ? 1 : .5
|
13867
|
-
};
|
13868
|
-
});
|
13869
13860
|
});
|
13861
|
+
this.diagram.selectedItems.connectors.forEach(c => c.annotations.forEach(a => Object.assign(a, {
|
13862
|
+
verticalAlignment: value === 'Top' ? 'Bottom' : value === 'Bottom' ? 'Top' : 'Center',
|
13863
|
+
horizontalAlignment: value === 'Left' ? 'Left' : value === 'Right' ? 'Right' : 'Center',
|
13864
|
+
// displacement: {
|
13865
|
+
// x: value === 'Right' ? 10 : value === 'Left' ? -10 : 0,
|
13866
|
+
// y: value === 'Top' ? -10 : value === 'Bottom' ? 10 : 0
|
13867
|
+
// }
|
13868
|
+
})));
|
13870
13869
|
this.alignment = value;
|
13871
13870
|
this.dirty = true;
|
13872
13871
|
}
|
13873
13872
|
dragEnter(args) {
|
13874
13873
|
if (args.element instanceof Node) {
|
13875
|
-
|
13876
|
-
|
13877
|
-
|
13878
|
-
|
13879
|
-
shape.
|
13880
|
-
|
13881
|
-
|
13882
|
-
|
13883
|
-
|
13884
|
-
|
13874
|
+
switch (args.element.shape.type) {
|
13875
|
+
case 'SwimLane':
|
13876
|
+
{
|
13877
|
+
const shape = args.element.shape;
|
13878
|
+
switch (shape.orientation) {
|
13879
|
+
case 'Horizontal':
|
13880
|
+
shape.lanes[0].width = 400;
|
13881
|
+
break;
|
13882
|
+
case 'Vertical':
|
13883
|
+
shape.lanes[0].height = 400;
|
13884
|
+
break;
|
13885
|
+
}
|
13885
13886
|
break;
|
13886
|
-
|
13887
|
-
|
13888
|
-
|
13889
|
-
|
13890
|
-
|
13891
|
-
|
13892
|
-
|
13893
|
-
|
13894
|
-
|
13887
|
+
}
|
13888
|
+
case 'Text':
|
13889
|
+
//(args.element.style as TextStyleModel).fontSize = 20;
|
13890
|
+
break;
|
13891
|
+
default:
|
13892
|
+
{
|
13893
|
+
const { width, height } = args.element;
|
13894
|
+
args.element.width = 100;
|
13895
|
+
args.element.height *= 100 / width;
|
13896
|
+
args.element.offsetX += (args.element.width - width) / 2;
|
13897
|
+
args.element.offsetY += (args.element.height - height) / 2;
|
13898
|
+
args.element.style = {
|
13899
|
+
fill: 'transparent',
|
13900
|
+
strokeColor: this._session.theme.dark ? 'white' : 'black',
|
13901
|
+
strokeWidth: 1
|
13902
|
+
};
|
13903
|
+
}
|
13895
13904
|
}
|
13896
13905
|
}
|
13897
13906
|
}
|
@@ -13902,6 +13911,10 @@ class WorkflowComponent {
|
|
13902
13911
|
change() {
|
13903
13912
|
this.dirty = true;
|
13904
13913
|
}
|
13914
|
+
collectionChange() {
|
13915
|
+
this._router.collapse();
|
13916
|
+
this.dirty = true;
|
13917
|
+
}
|
13905
13918
|
/**
|
13906
13919
|
* Ctrl-s save
|
13907
13920
|
* @param event
|
@@ -13926,21 +13939,55 @@ class WorkflowComponent {
|
|
13926
13939
|
this.connectorType = type;
|
13927
13940
|
this.dirty = true;
|
13928
13941
|
}
|
13942
|
+
boldChange() {
|
13943
|
+
const val = !this.diagram.selectedItems.nodes[0].annotations[0]?.style?.bold;
|
13944
|
+
function change(node) {
|
13945
|
+
if (node.shape.type === 'Text')
|
13946
|
+
node.style.bold = val;
|
13947
|
+
else
|
13948
|
+
node.annotations.forEach(a => {
|
13949
|
+
if (!a.style)
|
13950
|
+
a.style = { bold: val };
|
13951
|
+
else
|
13952
|
+
a.style.bold = val;
|
13953
|
+
});
|
13954
|
+
}
|
13955
|
+
this.diagram.selectedItems.nodes.forEach(change);
|
13956
|
+
this.diagram.selectedItems.connectors.forEach(change);
|
13957
|
+
this.diagram.dataBind();
|
13958
|
+
}
|
13959
|
+
italicChange() {
|
13960
|
+
const val = !this.diagram.selectedItems.nodes[0].annotations[0]?.style?.italic;
|
13961
|
+
function change(node) {
|
13962
|
+
if (node.shape.type === 'Text')
|
13963
|
+
node.style.italic = val;
|
13964
|
+
else
|
13965
|
+
node.annotations.forEach(a => {
|
13966
|
+
if (!a.style)
|
13967
|
+
a.style = { italic: val };
|
13968
|
+
else
|
13969
|
+
a.style.italic = val;
|
13970
|
+
});
|
13971
|
+
}
|
13972
|
+
this.diagram.selectedItems.nodes.forEach(change);
|
13973
|
+
this.diagram.selectedItems.connectors.forEach(change);
|
13974
|
+
this.diagram.dataBind();
|
13975
|
+
}
|
13929
13976
|
fontSizeChange(val) {
|
13930
13977
|
function change(node) {
|
13931
|
-
node.annotations?.forEach(a => {
|
13932
|
-
if (!a.style)
|
13933
|
-
a.style = { fontSize: val };
|
13934
|
-
else
|
13935
|
-
a.style.fontSize = val;
|
13936
|
-
});
|
13937
13978
|
if (node.shape.type === 'Text')
|
13938
13979
|
node.style.fontSize = val;
|
13980
|
+
else
|
13981
|
+
node.annotations?.forEach(a => {
|
13982
|
+
if (!a.style)
|
13983
|
+
a.style = { fontSize: val };
|
13984
|
+
else
|
13985
|
+
a.style.fontSize = val;
|
13986
|
+
});
|
13939
13987
|
}
|
13940
13988
|
this.diagram.selectedItems.nodes.forEach(change);
|
13941
13989
|
this.diagram.selectedItems.connectors.forEach(change);
|
13942
13990
|
this.diagram.dataBind();
|
13943
|
-
this.dirty = true;
|
13944
13991
|
}
|
13945
13992
|
strokeChange(val) {
|
13946
13993
|
this.diagram.selectedItems.connectors.forEach(c => {
|
@@ -13955,11 +14002,7 @@ class WorkflowComponent {
|
|
13955
14002
|
this.diagram.serializationSettings = { preventDefaults: true };
|
13956
14003
|
const obj = JSON.parse(this.diagram.saveDiagram());
|
13957
14004
|
this._form.workflow.connectors = obj.connectors;
|
13958
|
-
this._form.workflow.nodes = obj.nodes.filter(n => n.id !== 'version')
|
13959
|
-
n.offsetX = Math.round(n.offsetX);
|
13960
|
-
n.offsetY = Math.round(n.offsetY);
|
13961
|
-
return n;
|
13962
|
-
});
|
14005
|
+
this._form.workflow.nodes = obj.nodes.filter(n => n.id !== 'version');
|
13963
14006
|
this.saving = true;
|
13964
14007
|
return this._service.save(this._form).toPromise().then(v => {
|
13965
14008
|
this.ps.toast('ChangesSaved');
|
@@ -13987,12 +14030,12 @@ class WorkflowComponent {
|
|
13987
14030
|
}
|
13988
14031
|
}
|
13989
14032
|
WorkflowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: WorkflowComponent, deps: [{ token: PromptService }, { token: FormService }, { token: PaneRef }, { token: PanesRouter }, { token: SessionService }, { token: TranslateService }], target: i0.ɵɵFactoryTarget.Component });
|
13990
|
-
WorkflowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: WorkflowComponent, selector: "bizdoc-workflow", host: { listeners: { "document:keydown": "handleKeyboardEvent($event)" }, classAttribute: "pane" }, viewQueries: [{ propertyName: "symbolPaletteEl", first: true, predicate: ["symbolPaletteEl"], descendants: true, static: true }, { propertyName: "diagramEl", first: true, predicate: ["diagramEl"], descendants: true, static: true }], ngImport: i0, template: "<mat-toolbar>\r\n <button mat-icon-button (click)=\"tools = !tools\" [bizdocTooltip]=\"'Collapse' | translate\"><mat-icon>view_sidebar</mat-icon></button>\r\n <button mat-button (click)=\"save()\" color=\"primary\" [disabled]=\"!dirty || saving\">{{'SaveChanges' | translate}}</button>\r\n <button mat-icon-button (click)=\"diagram.fitToPage()\" [bizdocTooltip]=\"'FitToPage' | translate\"><mat-icon>fullscreen_exit</mat-icon></button>\r\n <button mat-icon-button (click)=\"pan()\" [bizdocTooltip]=\"'Pan' | translate\"><span class=\"e-icons sf-icon-pan\"></span></button>\r\n <button mat-icon-button (click)=\"cursor()\" [bizdocTooltip]=\"'Cursor' | translate\"><span class=\"e-icons sf-icon-cursor\"></span></button>\r\n <span class=\"tools-divider\"></span>\r\n <button mat-icon-button (click)=\"diagram.undo()\" [bizdocTooltip]=\"'Undo' | translate\" [disabled]=\"!diagram.historyManager?.canUndo\"><mat-icon>undo</mat-icon></button>\r\n <button mat-icon-button (click)=\"diagram.redo()\" [bizdocTooltip]=\"'Redo' | translate\" [disabled]=\"!diagram.historyManager?.canRedo\"><mat-icon>redo</mat-icon></button>\r\n <span class=\"tools-divider\"></span>\r\n <button mat-icon-button (click)=\"diagram.copy()\" [bizdocTooltip]=\"'Copy' | translate\" [disabled]=\"diagram.selectedItems?.connectors.length === 0 && diagram.selectedItems?.nodes.length === 0\"><mat-icon>copy</mat-icon></button>\r\n <button mat-icon-button (click)=\"diagram.paste()\" [bizdocTooltip]=\"'Paste' | translate\"><mat-icon>paste</mat-icon></button>\r\n <button mat-icon-button (click)=\"diagram.remove()\" [bizdocTooltip]=\"'Remove' | translate\" [disabled]=\"diagram.selectedItems?.connectors.length === 0 && diagram.selectedItems?.nodes.length === 0\"><mat-icon>delete</mat-icon></button>\r\n <span class=\"tools-divider\"></span>\r\n <button mat-button [matMenuTriggerFor]=\"lineMenu\" [disabled]=\"diagram.selectedItems?.connectors.length === 0\" [bizdocTooltip]=\"'ConnectorMode'|translate\">\r\n <span class=\"e-menu-icon\" [ngClass]=\"{'sf-icon-straight-line': connectorType === 'Straight',\r\n 'sf-icon-orthogonal-line': connectorType === 'Orthogonal',\r\n 'sf-icon-beizer-line': connectorType === 'Bezier'}\"></span>\r\n <mat-icon>arrow_drop_down</mat-icon>\r\n </button>\r\n <mat-menu #lineMenu overlayPanelClass=\"icon-menu-panel\">\r\n <button mat-menu-item (click)=\"connectorTypeChange('Straight')\">\r\n <span class=\"e-menu-icon sf-icon-straight-line\"></span>\r\n </button>\r\n <button mat-menu-item (click)=\"connectorTypeChange('Orthogonal')\">\r\n <span class=\"e-menu-icon sf-icon-orthogonal-line\"></span>\r\n </button>\r\n <button mat-menu-item (click)=\"connectorTypeChange('Bezier')\">\r\n <span class=\"e-menu-icon sf-icon-beizer-line\"></span>\r\n </button>\r\n <!--<ng-container *ngIf=\"connectors.length\">\r\n < bizdoc-color-picker (valueChanges)='strokeChange($event)' [label]=\"'Stroke'|translate\"></ bizdoc-color-picker>\r\n <ng-container *ngIf=\"nodes[0].annotations.length\">\r\n < bizdoc-color-picker (valueChanges)='colorChange($event)' [label]=\"'Color'|translate\"></ bizdoc-color-picker>\r\n </ng-container>\r\n < bizdoc-color-picker (valueChanges)='bgChange($event)' [label]=\"'Background'|translate\"></ bizdoc-color-picker>\r\n < bizdoc-color-picker (valueChanges)='strokeChange($event)' [label]=\"'Stroke'|translate\"></ bizdoc-color-picker>\r\n </ng-container>-->\r\n </mat-menu>\r\n \r\n <button mat-button [matMenuTriggerFor]=\"alignMenu\" [disabled]=\"diagram.selectedItems?.nodes.length === 0 && diagram.selectedItems?.connectors.length === 0\" [bizdocTooltip]=\"'Align'|translate\">\r\n <span class=\"e-icons\" [ngClass]=\"{'sf-icon-top': alignment === 'Top',\r\n 'sf-icon-left': alignment === 'Left',\r\n 'sf-icon-center': alignment === 'Center',\r\n 'sf-icon-bottom': alignment === 'Bottom',\r\n 'sf-icon-right': alignment === 'Right'}\"></span>\r\n <mat-icon>arrow_drop_down</mat-icon>\r\n </button>\r\n <mat-menu #alignMenu overlayPanelClass=\"icon-menu-panel\">\r\n <button mat-menu-item (click)=\"align('Top')\">\r\n <span class=\"e-icons sf-icon-top\"></span>\r\n </button>\r\n <button mat-menu-item (click)=\"align('Left')\">\r\n <span class=\"e-icons sf-icon-left\"></span>\r\n </button>\r\n <button mat-menu-item (click)=\"align('Center')\">\r\n <span class=\"e-icons sf-icon-center\"></span>\r\n </button>\r\n <button mat-menu-item (click)=\"align('
|
14033
|
+
WorkflowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: WorkflowComponent, selector: "bizdoc-workflow", host: { listeners: { "document:keydown": "handleKeyboardEvent($event)" }, classAttribute: "pane" }, viewQueries: [{ propertyName: "symbolPaletteEl", first: true, predicate: ["symbolPaletteEl"], descendants: true, static: true }, { propertyName: "diagramEl", first: true, predicate: ["diagramEl"], descendants: true, static: true }], ngImport: i0, template: "<mat-toolbar>\r\n <button mat-icon-button (click)=\"tools = !tools\" [bizdocTooltip]=\"'Collapse' | translate\"><mat-icon>view_sidebar</mat-icon></button>\r\n <button mat-button (click)=\"save()\" color=\"primary\" [disabled]=\"!dirty || saving\">{{'SaveChanges' | translate}}</button>\r\n <button mat-icon-button (click)=\"diagram.fitToPage()\" [bizdocTooltip]=\"'FitToPage' | translate\"><mat-icon>fullscreen_exit</mat-icon></button>\r\n <button mat-icon-button (click)=\"pan()\" [bizdocTooltip]=\"'Pan' | translate\"><span class=\"e-icons sf-icon-pan\"></span></button>\r\n <button mat-icon-button (click)=\"cursor()\" [bizdocTooltip]=\"'Cursor' | translate\"><span class=\"e-icons sf-icon-cursor\"></span></button>\r\n <span class=\"tools-divider\"></span>\r\n <button mat-icon-button (click)=\"diagram.undo()\" [bizdocTooltip]=\"'Undo' | translate\" [disabled]=\"!diagram.historyManager?.canUndo\"><mat-icon>undo</mat-icon></button>\r\n <button mat-icon-button (click)=\"diagram.redo()\" [bizdocTooltip]=\"'Redo' | translate\" [disabled]=\"!diagram.historyManager?.canRedo\"><mat-icon>redo</mat-icon></button>\r\n <span class=\"tools-divider\"></span>\r\n <button mat-icon-button (click)=\"diagram.copy()\" [bizdocTooltip]=\"'Copy' | translate\" [disabled]=\"diagram.selectedItems?.connectors.length === 0 && diagram.selectedItems?.nodes.length === 0\"><mat-icon>copy</mat-icon></button>\r\n <button mat-icon-button (click)=\"diagram.paste()\" [bizdocTooltip]=\"'Paste' | translate\"><mat-icon>paste</mat-icon></button>\r\n <button mat-icon-button (click)=\"diagram.remove()\" [bizdocTooltip]=\"'Remove' | translate\" [disabled]=\"diagram.selectedItems?.connectors.length === 0 && diagram.selectedItems?.nodes.length === 0\"><mat-icon>delete</mat-icon></button>\r\n <span class=\"tools-divider\"></span>\r\n <button mat-button [matMenuTriggerFor]=\"lineMenu\" [disabled]=\"diagram.selectedItems?.connectors.length === 0\" [bizdocTooltip]=\"'ConnectorMode'|translate\">\r\n <span class=\"e-menu-icon\" [ngClass]=\"{'sf-icon-straight-line': connectorType === 'Straight',\r\n 'sf-icon-orthogonal-line': connectorType === 'Orthogonal',\r\n 'sf-icon-beizer-line': connectorType === 'Bezier'}\"></span>\r\n <mat-icon>arrow_drop_down</mat-icon>\r\n </button>\r\n <mat-menu #lineMenu overlayPanelClass=\"icon-menu-panel\">\r\n <button mat-menu-item (click)=\"connectorTypeChange('Straight')\">\r\n <span class=\"e-menu-icon sf-icon-straight-line\"></span>\r\n </button>\r\n <button mat-menu-item (click)=\"connectorTypeChange('Orthogonal')\">\r\n <span class=\"e-menu-icon sf-icon-orthogonal-line\"></span>\r\n </button>\r\n <button mat-menu-item (click)=\"connectorTypeChange('Bezier')\">\r\n <span class=\"e-menu-icon sf-icon-beizer-line\"></span>\r\n </button>\r\n <!--<ng-container *ngIf=\"connectors.length\">\r\n < bizdoc-color-picker (valueChanges)='strokeChange($event)' [label]=\"'Stroke'|translate\"></ bizdoc-color-picker>\r\n <ng-container *ngIf=\"nodes[0].annotations.length\">\r\n < bizdoc-color-picker (valueChanges)='colorChange($event)' [label]=\"'Color'|translate\"></ bizdoc-color-picker>\r\n </ng-container>\r\n < bizdoc-color-picker (valueChanges)='bgChange($event)' [label]=\"'Background'|translate\"></ bizdoc-color-picker>\r\n < bizdoc-color-picker (valueChanges)='strokeChange($event)' [label]=\"'Stroke'|translate\"></ bizdoc-color-picker>\r\n </ng-container>-->\r\n </mat-menu>\r\n \r\n <button mat-button [matMenuTriggerFor]=\"alignMenu\" [disabled]=\"diagram.selectedItems?.nodes.length === 0 && diagram.selectedItems?.connectors.length === 0\" [bizdocTooltip]=\"'Align'|translate\">\r\n <span class=\"e-icons\" [ngClass]=\"{'sf-icon-top': alignment === 'Top',\r\n 'sf-icon-left': alignment === 'Left',\r\n 'sf-icon-center': alignment === 'Center',\r\n 'sf-icon-bottom': alignment === 'Bottom',\r\n 'sf-icon-right': alignment === 'Right'}\"></span>\r\n <mat-icon>arrow_drop_down</mat-icon>\r\n </button>\r\n <mat-menu #alignMenu overlayPanelClass=\"icon-menu-panel\">\r\n <button mat-menu-item (click)=\"align('Top')\">\r\n <span class=\"e-icons sf-icon-top\"></span>\r\n </button>\r\n <button mat-menu-item (click)=\"align('Left')\">\r\n <span class=\"e-icons sf-icon-left\"></span>\r\n </button>\r\n <button mat-menu-item (click)=\"align('Center')\">\r\n <span class=\"e-icons sf-icon-center\"></span>\r\n </button>\r\n <button mat-menu-item (click)=\"align('Right')\">\r\n <span class=\"e-icons sf-icon-right\"></span>\r\n </button>\r\n <button mat-menu-item (click)=\"align('Bottom')\">\r\n <span class=\"e-icons sf-icon-bottom\"></span>\r\n </button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"boldChange()\" [bizdocTooltip]=\"'Bold' | translate\" [disabled]=\"diagram.selectedItems?.connectors.length === 0 && diagram.selectedItems?.nodes.length === 0\"><mat-icon>format_bold</mat-icon></button>\r\n <button mat-icon-button (click)=\"italicChange()\" [bizdocTooltip]=\"'Italic' | translate\" [disabled]=\"diagram.selectedItems?.connectors.length === 0 && diagram.selectedItems?.nodes.length === 0\"><mat-icon>format_italic</mat-icon></button>\r\n <button mat-icon-button [matMenuTriggerFor]=\"sizeMenu\"\r\n [disabled]=\"diagram.selectedItems?.nodes.length === 0 && diagram.selectedItems?.connectors.length === 0\"\r\n [bizdocTooltip]=\"'FontSize'|translate\">\r\n <mat-icon>format_size</mat-icon>\r\n </button>\r\n <mat-menu #sizeMenu overlayPanelClass=\"icon-menu-panel\">\r\n <button mat-menu-item *ngFor=\"let size of fontSizes\" (click)=\"fontSizeChange(size)\">\r\n {{size}}\r\n </button>\r\n </mat-menu>\r\n <span class=\"divider\"></span>\r\n</mat-toolbar>\r\n<div class=\"row container\">\r\n <div id=\"symbolpalette\" [style.display]=\"tools?'':'none'\">\r\n <div dir=\"ltr\" #symbolPaletteEl>\r\n </div>\r\n </div>\r\n <div #diagramEl id=\"diagram\" fxFlex dir=\"ltr\">\r\n </div>\r\n</div>\r\n", styles: [":host{display:flex;flex-direction:column;flex-grow:1;height:100%}.container{flex-grow:1;overflow-y:auto}#diagram{flex-grow:1}#symbolpalette{width:210px}::ng-deep .e-rtl{direction:ltr}::ng-deep .mat-toolbar .mat-button-toggle{background:transparent!important}.e-menu-icon{font-family:diagram-icons!important;speak:none;font-size:18px;font-style:normal;font-weight:400;font-feature-settings:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::ng-deep .mat-menu-panel{min-width:0!important}.tools-divider:after{content:\"|\";opacity:.6;margin:0 2px}\n"], components: [{ type: i7$3.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i7.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i9$1.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i9$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }], directives: [{ type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: i9$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i10.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i25.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7$2.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { type: i23.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }], pipes: { "translate": TranslatePipe } });
|
13991
14034
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: WorkflowComponent, decorators: [{
|
13992
14035
|
type: Component,
|
13993
14036
|
args: [{ selector: 'bizdoc-workflow', host: {
|
13994
14037
|
class: 'pane'
|
13995
|
-
}, template: "<mat-toolbar>\r\n <button mat-icon-button (click)=\"tools = !tools\" [bizdocTooltip]=\"'Collapse' | translate\"><mat-icon>view_sidebar</mat-icon></button>\r\n <button mat-button (click)=\"save()\" color=\"primary\" [disabled]=\"!dirty || saving\">{{'SaveChanges' | translate}}</button>\r\n <button mat-icon-button (click)=\"diagram.fitToPage()\" [bizdocTooltip]=\"'FitToPage' | translate\"><mat-icon>fullscreen_exit</mat-icon></button>\r\n <button mat-icon-button (click)=\"pan()\" [bizdocTooltip]=\"'Pan' | translate\"><span class=\"e-icons sf-icon-pan\"></span></button>\r\n <button mat-icon-button (click)=\"cursor()\" [bizdocTooltip]=\"'Cursor' | translate\"><span class=\"e-icons sf-icon-cursor\"></span></button>\r\n <span class=\"tools-divider\"></span>\r\n <button mat-icon-button (click)=\"diagram.undo()\" [bizdocTooltip]=\"'Undo' | translate\" [disabled]=\"!diagram.historyManager?.canUndo\"><mat-icon>undo</mat-icon></button>\r\n <button mat-icon-button (click)=\"diagram.redo()\" [bizdocTooltip]=\"'Redo' | translate\" [disabled]=\"!diagram.historyManager?.canRedo\"><mat-icon>redo</mat-icon></button>\r\n <span class=\"tools-divider\"></span>\r\n <button mat-icon-button (click)=\"diagram.copy()\" [bizdocTooltip]=\"'Copy' | translate\" [disabled]=\"diagram.selectedItems?.connectors.length === 0 && diagram.selectedItems?.nodes.length === 0\"><mat-icon>copy</mat-icon></button>\r\n <button mat-icon-button (click)=\"diagram.paste()\" [bizdocTooltip]=\"'Paste' | translate\"><mat-icon>paste</mat-icon></button>\r\n <button mat-icon-button (click)=\"diagram.remove()\" [bizdocTooltip]=\"'Remove' | translate\" [disabled]=\"diagram.selectedItems?.connectors.length === 0 && diagram.selectedItems?.nodes.length === 0\"><mat-icon>delete</mat-icon></button>\r\n <span class=\"tools-divider\"></span>\r\n <button mat-button [matMenuTriggerFor]=\"lineMenu\" [disabled]=\"diagram.selectedItems?.connectors.length === 0\" [bizdocTooltip]=\"'ConnectorMode'|translate\">\r\n <span class=\"e-menu-icon\" [ngClass]=\"{'sf-icon-straight-line': connectorType === 'Straight',\r\n 'sf-icon-orthogonal-line': connectorType === 'Orthogonal',\r\n 'sf-icon-beizer-line': connectorType === 'Bezier'}\"></span>\r\n <mat-icon>arrow_drop_down</mat-icon>\r\n </button>\r\n <mat-menu #lineMenu overlayPanelClass=\"icon-menu-panel\">\r\n <button mat-menu-item (click)=\"connectorTypeChange('Straight')\">\r\n <span class=\"e-menu-icon sf-icon-straight-line\"></span>\r\n </button>\r\n <button mat-menu-item (click)=\"connectorTypeChange('Orthogonal')\">\r\n <span class=\"e-menu-icon sf-icon-orthogonal-line\"></span>\r\n </button>\r\n <button mat-menu-item (click)=\"connectorTypeChange('Bezier')\">\r\n <span class=\"e-menu-icon sf-icon-beizer-line\"></span>\r\n </button>\r\n <!--<ng-container *ngIf=\"connectors.length\">\r\n < bizdoc-color-picker (valueChanges)='strokeChange($event)' [label]=\"'Stroke'|translate\"></ bizdoc-color-picker>\r\n <ng-container *ngIf=\"nodes[0].annotations.length\">\r\n < bizdoc-color-picker (valueChanges)='colorChange($event)' [label]=\"'Color'|translate\"></ bizdoc-color-picker>\r\n </ng-container>\r\n < bizdoc-color-picker (valueChanges)='bgChange($event)' [label]=\"'Background'|translate\"></ bizdoc-color-picker>\r\n < bizdoc-color-picker (valueChanges)='strokeChange($event)' [label]=\"'Stroke'|translate\"></ bizdoc-color-picker>\r\n </ng-container>-->\r\n </mat-menu>\r\n \r\n <button mat-button [matMenuTriggerFor]=\"alignMenu\" [disabled]=\"diagram.selectedItems?.nodes.length === 0 && diagram.selectedItems?.connectors.length === 0\" [bizdocTooltip]=\"'Align'|translate\">\r\n <span class=\"e-icons\" [ngClass]=\"{'sf-icon-top': alignment === 'Top',\r\n 'sf-icon-left': alignment === 'Left',\r\n 'sf-icon-center': alignment === 'Center',\r\n 'sf-icon-bottom': alignment === 'Bottom',\r\n 'sf-icon-right': alignment === 'Right'}\"></span>\r\n <mat-icon>arrow_drop_down</mat-icon>\r\n </button>\r\n <mat-menu #alignMenu overlayPanelClass=\"icon-menu-panel\">\r\n <button mat-menu-item (click)=\"align('Top')\">\r\n <span class=\"e-icons sf-icon-top\"></span>\r\n </button>\r\n <button mat-menu-item (click)=\"align('Left')\">\r\n <span class=\"e-icons sf-icon-left\"></span>\r\n </button>\r\n <button mat-menu-item (click)=\"align('Center')\">\r\n <span class=\"e-icons sf-icon-center\"></span>\r\n </button>\r\n <button mat-menu-item (click)=\"align('
|
14038
|
+
}, template: "<mat-toolbar>\r\n <button mat-icon-button (click)=\"tools = !tools\" [bizdocTooltip]=\"'Collapse' | translate\"><mat-icon>view_sidebar</mat-icon></button>\r\n <button mat-button (click)=\"save()\" color=\"primary\" [disabled]=\"!dirty || saving\">{{'SaveChanges' | translate}}</button>\r\n <button mat-icon-button (click)=\"diagram.fitToPage()\" [bizdocTooltip]=\"'FitToPage' | translate\"><mat-icon>fullscreen_exit</mat-icon></button>\r\n <button mat-icon-button (click)=\"pan()\" [bizdocTooltip]=\"'Pan' | translate\"><span class=\"e-icons sf-icon-pan\"></span></button>\r\n <button mat-icon-button (click)=\"cursor()\" [bizdocTooltip]=\"'Cursor' | translate\"><span class=\"e-icons sf-icon-cursor\"></span></button>\r\n <span class=\"tools-divider\"></span>\r\n <button mat-icon-button (click)=\"diagram.undo()\" [bizdocTooltip]=\"'Undo' | translate\" [disabled]=\"!diagram.historyManager?.canUndo\"><mat-icon>undo</mat-icon></button>\r\n <button mat-icon-button (click)=\"diagram.redo()\" [bizdocTooltip]=\"'Redo' | translate\" [disabled]=\"!diagram.historyManager?.canRedo\"><mat-icon>redo</mat-icon></button>\r\n <span class=\"tools-divider\"></span>\r\n <button mat-icon-button (click)=\"diagram.copy()\" [bizdocTooltip]=\"'Copy' | translate\" [disabled]=\"diagram.selectedItems?.connectors.length === 0 && diagram.selectedItems?.nodes.length === 0\"><mat-icon>copy</mat-icon></button>\r\n <button mat-icon-button (click)=\"diagram.paste()\" [bizdocTooltip]=\"'Paste' | translate\"><mat-icon>paste</mat-icon></button>\r\n <button mat-icon-button (click)=\"diagram.remove()\" [bizdocTooltip]=\"'Remove' | translate\" [disabled]=\"diagram.selectedItems?.connectors.length === 0 && diagram.selectedItems?.nodes.length === 0\"><mat-icon>delete</mat-icon></button>\r\n <span class=\"tools-divider\"></span>\r\n <button mat-button [matMenuTriggerFor]=\"lineMenu\" [disabled]=\"diagram.selectedItems?.connectors.length === 0\" [bizdocTooltip]=\"'ConnectorMode'|translate\">\r\n <span class=\"e-menu-icon\" [ngClass]=\"{'sf-icon-straight-line': connectorType === 'Straight',\r\n 'sf-icon-orthogonal-line': connectorType === 'Orthogonal',\r\n 'sf-icon-beizer-line': connectorType === 'Bezier'}\"></span>\r\n <mat-icon>arrow_drop_down</mat-icon>\r\n </button>\r\n <mat-menu #lineMenu overlayPanelClass=\"icon-menu-panel\">\r\n <button mat-menu-item (click)=\"connectorTypeChange('Straight')\">\r\n <span class=\"e-menu-icon sf-icon-straight-line\"></span>\r\n </button>\r\n <button mat-menu-item (click)=\"connectorTypeChange('Orthogonal')\">\r\n <span class=\"e-menu-icon sf-icon-orthogonal-line\"></span>\r\n </button>\r\n <button mat-menu-item (click)=\"connectorTypeChange('Bezier')\">\r\n <span class=\"e-menu-icon sf-icon-beizer-line\"></span>\r\n </button>\r\n <!--<ng-container *ngIf=\"connectors.length\">\r\n < bizdoc-color-picker (valueChanges)='strokeChange($event)' [label]=\"'Stroke'|translate\"></ bizdoc-color-picker>\r\n <ng-container *ngIf=\"nodes[0].annotations.length\">\r\n < bizdoc-color-picker (valueChanges)='colorChange($event)' [label]=\"'Color'|translate\"></ bizdoc-color-picker>\r\n </ng-container>\r\n < bizdoc-color-picker (valueChanges)='bgChange($event)' [label]=\"'Background'|translate\"></ bizdoc-color-picker>\r\n < bizdoc-color-picker (valueChanges)='strokeChange($event)' [label]=\"'Stroke'|translate\"></ bizdoc-color-picker>\r\n </ng-container>-->\r\n </mat-menu>\r\n \r\n <button mat-button [matMenuTriggerFor]=\"alignMenu\" [disabled]=\"diagram.selectedItems?.nodes.length === 0 && diagram.selectedItems?.connectors.length === 0\" [bizdocTooltip]=\"'Align'|translate\">\r\n <span class=\"e-icons\" [ngClass]=\"{'sf-icon-top': alignment === 'Top',\r\n 'sf-icon-left': alignment === 'Left',\r\n 'sf-icon-center': alignment === 'Center',\r\n 'sf-icon-bottom': alignment === 'Bottom',\r\n 'sf-icon-right': alignment === 'Right'}\"></span>\r\n <mat-icon>arrow_drop_down</mat-icon>\r\n </button>\r\n <mat-menu #alignMenu overlayPanelClass=\"icon-menu-panel\">\r\n <button mat-menu-item (click)=\"align('Top')\">\r\n <span class=\"e-icons sf-icon-top\"></span>\r\n </button>\r\n <button mat-menu-item (click)=\"align('Left')\">\r\n <span class=\"e-icons sf-icon-left\"></span>\r\n </button>\r\n <button mat-menu-item (click)=\"align('Center')\">\r\n <span class=\"e-icons sf-icon-center\"></span>\r\n </button>\r\n <button mat-menu-item (click)=\"align('Right')\">\r\n <span class=\"e-icons sf-icon-right\"></span>\r\n </button>\r\n <button mat-menu-item (click)=\"align('Bottom')\">\r\n <span class=\"e-icons sf-icon-bottom\"></span>\r\n </button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"boldChange()\" [bizdocTooltip]=\"'Bold' | translate\" [disabled]=\"diagram.selectedItems?.connectors.length === 0 && diagram.selectedItems?.nodes.length === 0\"><mat-icon>format_bold</mat-icon></button>\r\n <button mat-icon-button (click)=\"italicChange()\" [bizdocTooltip]=\"'Italic' | translate\" [disabled]=\"diagram.selectedItems?.connectors.length === 0 && diagram.selectedItems?.nodes.length === 0\"><mat-icon>format_italic</mat-icon></button>\r\n <button mat-icon-button [matMenuTriggerFor]=\"sizeMenu\"\r\n [disabled]=\"diagram.selectedItems?.nodes.length === 0 && diagram.selectedItems?.connectors.length === 0\"\r\n [bizdocTooltip]=\"'FontSize'|translate\">\r\n <mat-icon>format_size</mat-icon>\r\n </button>\r\n <mat-menu #sizeMenu overlayPanelClass=\"icon-menu-panel\">\r\n <button mat-menu-item *ngFor=\"let size of fontSizes\" (click)=\"fontSizeChange(size)\">\r\n {{size}}\r\n </button>\r\n </mat-menu>\r\n <span class=\"divider\"></span>\r\n</mat-toolbar>\r\n<div class=\"row container\">\r\n <div id=\"symbolpalette\" [style.display]=\"tools?'':'none'\">\r\n <div dir=\"ltr\" #symbolPaletteEl>\r\n </div>\r\n </div>\r\n <div #diagramEl id=\"diagram\" fxFlex dir=\"ltr\">\r\n </div>\r\n</div>\r\n", styles: [":host{display:flex;flex-direction:column;flex-grow:1;height:100%}.container{flex-grow:1;overflow-y:auto}#diagram{flex-grow:1}#symbolpalette{width:210px}::ng-deep .e-rtl{direction:ltr}::ng-deep .mat-toolbar .mat-button-toggle{background:transparent!important}.e-menu-icon{font-family:diagram-icons!important;speak:none;font-size:18px;font-style:normal;font-weight:400;font-feature-settings:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::ng-deep .mat-menu-panel{min-width:0!important}.tools-divider:after{content:\"|\";opacity:.6;margin:0 2px}\n"] }]
|
13996
14039
|
}], ctorParameters: function () { return [{ type: PromptService }, { type: FormService }, { type: PaneRef }, { type: PanesRouter }, { type: SessionService }, { type: TranslateService }]; }, propDecorators: { symbolPaletteEl: [{
|
13997
14040
|
type: ViewChild,
|
13998
14041
|
args: ['symbolPaletteEl', { static: true }]
|
@@ -15391,24 +15434,41 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImpor
|
|
15391
15434
|
type: Injectable
|
15392
15435
|
}], ctorParameters: function () { return [{ type: MailboxService }]; } });
|
15393
15436
|
|
15437
|
+
class SaveChangesDialog {
|
15438
|
+
ngOnInit() {
|
15439
|
+
playAudio('alert_error-03');
|
15440
|
+
}
|
15441
|
+
}
|
15442
|
+
SaveChangesDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: SaveChangesDialog, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
15443
|
+
SaveChangesDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: SaveChangesDialog, selector: "ng-component", ngImport: i0, template: " <h2 mat-dialog-title>\r\n {{'SaveChanges' | translate}}\r\n </h2>\r\n <mat-dialog-content>\r\n <p class=\"mat-body\">\r\n {{'SaveChangesAsk' | translate}}\r\n </p>\r\n </mat-dialog-content>\r\n <mat-dialog-actions>\r\n <button mat-button [mat-dialog-close]=true color=\"primary\" cdkFocusInitial>{{'Save'|translate}}</button>\r\n <button mat-button mat-dialog-close color=\"warn\">{{'DiscardChanges'|translate}}</button>\r\n <button mat-button [mat-dialog-close]=\"false\">{{'ContinueEditing'|translate}}</button>\r\n </mat-dialog-actions>\r\n", components: [{ type: i7.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i3$1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i3$1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i3$1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i3$1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }], pipes: { "translate": TranslatePipe } });
|
15444
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: SaveChangesDialog, decorators: [{
|
15445
|
+
type: Component,
|
15446
|
+
args: [{ template: " <h2 mat-dialog-title>\r\n {{'SaveChanges' | translate}}\r\n </h2>\r\n <mat-dialog-content>\r\n <p class=\"mat-body\">\r\n {{'SaveChangesAsk' | translate}}\r\n </p>\r\n </mat-dialog-content>\r\n <mat-dialog-actions>\r\n <button mat-button [mat-dialog-close]=true color=\"primary\" cdkFocusInitial>{{'Save'|translate}}</button>\r\n <button mat-button mat-dialog-close color=\"warn\">{{'DiscardChanges'|translate}}</button>\r\n <button mat-button [mat-dialog-close]=\"false\">{{'ContinueEditing'|translate}}</button>\r\n </mat-dialog-actions>\r\n" }]
|
15447
|
+
}] });
|
15448
|
+
|
15394
15449
|
class AdminDismiss {
|
15395
|
-
constructor(
|
15396
|
-
this.
|
15450
|
+
constructor(_dialog) {
|
15451
|
+
this._dialog = _dialog;
|
15397
15452
|
}
|
15398
15453
|
onDismiss(component) {
|
15399
15454
|
if (component.dirty)
|
15400
|
-
return
|
15401
|
-
|
15402
|
-
|
15455
|
+
return new Promise((resolve, reject) => this._dialog.open(SaveChangesDialog).
|
15456
|
+
afterClosed().
|
15457
|
+
subscribe(ok => {
|
15458
|
+
if (ok)
|
15459
|
+
component.save().then(() => resolve(true), reject);
|
15460
|
+
else
|
15461
|
+
resolve(ok !== false);
|
15462
|
+
}));
|
15403
15463
|
else
|
15404
15464
|
return true;
|
15405
15465
|
}
|
15406
15466
|
}
|
15407
|
-
AdminDismiss.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AdminDismiss, deps: [{ token:
|
15467
|
+
AdminDismiss.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AdminDismiss, deps: [{ token: i3$1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
|
15408
15468
|
AdminDismiss.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AdminDismiss });
|
15409
15469
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AdminDismiss, decorators: [{
|
15410
15470
|
type: Injectable
|
15411
|
-
}], ctorParameters: function () { return [{ type:
|
15471
|
+
}], ctorParameters: function () { return [{ type: i3$1.MatDialog }]; } });
|
15412
15472
|
|
15413
15473
|
class AgoPipe {
|
15414
15474
|
constructor(_translate) {
|
@@ -15662,18 +15722,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImpor
|
|
15662
15722
|
}]
|
15663
15723
|
}], ctorParameters: function () { return [{ type: PanesRouter }, { type: i0.ElementRef }, { type: TranslateService }, { type: PaneRef }]; } });
|
15664
15724
|
|
15665
|
-
class SaveChangesDialog {
|
15666
|
-
ngOnInit() {
|
15667
|
-
playAudio('alert_error-03');
|
15668
|
-
}
|
15669
|
-
}
|
15670
|
-
SaveChangesDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: SaveChangesDialog, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
15671
|
-
SaveChangesDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: SaveChangesDialog, selector: "ng-component", ngImport: i0, template: " <h2 mat-dialog-title>\r\n {{'SaveChanges' | translate}}\r\n </h2>\r\n <mat-dialog-content>\r\n <p class=\"mat-body\">\r\n {{'SaveChangesAsk' | translate}}\r\n </p>\r\n </mat-dialog-content>\r\n <mat-dialog-actions>\r\n <button mat-button [mat-dialog-close]=true color=\"primary\" cdkFocusInitial>{{'Save'|translate}}</button>\r\n <button mat-button [mat-dialog-close]=\"false\">{{'ContinueEditing'|translate}}</button>\r\n <button mat-button mat-dialog-close>{{'DiscardChanges'|translate}}</button>\r\n </mat-dialog-actions>\r\n", components: [{ type: i7.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i3$1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i3$1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i3$1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i3$1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }], pipes: { "translate": TranslatePipe } });
|
15672
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: SaveChangesDialog, decorators: [{
|
15673
|
-
type: Component,
|
15674
|
-
args: [{ template: " <h2 mat-dialog-title>\r\n {{'SaveChanges' | translate}}\r\n </h2>\r\n <mat-dialog-content>\r\n <p class=\"mat-body\">\r\n {{'SaveChangesAsk' | translate}}\r\n </p>\r\n </mat-dialog-content>\r\n <mat-dialog-actions>\r\n <button mat-button [mat-dialog-close]=true color=\"primary\" cdkFocusInitial>{{'Save'|translate}}</button>\r\n <button mat-button [mat-dialog-close]=\"false\">{{'ContinueEditing'|translate}}</button>\r\n <button mat-button mat-dialog-close>{{'DiscardChanges'|translate}}</button>\r\n </mat-dialog-actions>\r\n" }]
|
15675
|
-
}] });
|
15676
|
-
|
15677
15725
|
class ComposeDismiss {
|
15678
15726
|
constructor(_dialog) {
|
15679
15727
|
this._dialog = _dialog;
|