@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.
@@ -6,7 +6,7 @@ import { ComponentPortal, PortalModule, TemplatePortal } from '@angular/cdk/port
6
6
  import { __awaiter, __decorate } from 'tslib';
7
7
  import { trigger, state, style, transition, animate, query, stagger, animateChild, keyframes } from '@angular/animations';
8
8
  import { ESCAPE, RIGHT_ARROW, LEFT_ARROW, ENTER, COMMA, UP_ARROW, DOWN_ARROW, SEMICOLON } from '@angular/cdk/keycodes';
9
- 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, throwError, first as first$1, switchMap as switchMap$1, isObservable, EMPTY } from 'rxjs';
9
+ 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';
10
10
  import { map, tap, filter, switchMap, takeUntil, shareReplay, debounceTime, take, first, catchError, startWith, finalize } from 'rxjs/operators';
11
11
  import { HubConnectionBuilder, HubConnectionState } from '@microsoft/signalr';
12
12
  import dayjs from 'dayjs';
@@ -132,7 +132,7 @@ import * as i9$5 from '@syncfusion/ej2-angular-spreadsheet';
132
132
  import { Spreadsheet, isNumber, SpreadsheetModule, SelectionService as SelectionService$2, BasicModuleService, ClipboardService, CellFormatService, KeyboardNavigationService, KeyboardShortcutService, NumberFormatService } from '@syncfusion/ej2-angular-spreadsheet';
133
133
  import * as i4 from '@ctrl/ngx-emoji-mart';
134
134
  import { PickerModule } from '@ctrl/ngx-emoji-mart';
135
- import { Diagram, UndoRedo, ConnectorBridging, ConnectorEditing, Snapping, SymbolPalette, BpmnDiagrams, PortVisibility, PortConstraints, DiagramConstraints, DiagramTools, SelectorConstraints, NodeConstraints, ConnectorConstraints, 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
+ 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';
136
136
  import * as i9$3 from '@syncfusion/ej2-angular-schedule';
137
137
  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';
138
138
  import * as i10$1 from '@syncfusion/ej2-angular-kanban';
@@ -13376,8 +13376,8 @@ class WorkflowNodeComponent {
13376
13376
  this._pane = _pane;
13377
13377
  this.change = new EventEmitter();
13378
13378
  this.connector = this._fb.group({
13379
- action: '',
13380
- case: ''
13379
+ action: null,
13380
+ case: null
13381
13381
  });
13382
13382
  this._elementDestroy = new Subject();
13383
13383
  this.actions = _session.profile.actions;
@@ -13403,25 +13403,24 @@ class WorkflowNodeComponent {
13403
13403
  this._pane.icon = 'link';
13404
13404
  this.connector.valueChanges.pipe(takeUntil$1(this._elementDestroy)).subscribe(v => {
13405
13405
  const content = v['case'] || v['action'];
13406
- this.connectors.forEach(c => {
13407
- if (!c.addInfo)
13408
- c.addInfo = this.connector.getRawValue();
13409
- else
13410
- Object.assign(c.addInfo, this.connector.getRawValue());
13411
- cleanup(c.addInfo);
13412
- if (!c.annotations.length)
13413
- c.annotations.push({
13406
+ if (!connector.addInfo)
13407
+ connector.addInfo = this.connector.getRawValue();
13408
+ else
13409
+ Object.assign(connector.addInfo, this.connector.getRawValue());
13410
+ cleanup(connector.addInfo);
13411
+ if (connector.annotations.length) {
13412
+ connector.annotations[0].content = content;
13413
+ this.diagram.dataBind();
13414
+ }
13415
+ else
13416
+ this.diagram.addConnectorLabels(connector, [{
13414
13417
  style: {
13415
13418
  color: this._session.theme.dark ? 'white' : 'black',
13416
13419
  fill: 'transparent',
13417
13420
  opacity: .8,
13418
13421
  },
13419
13422
  content
13420
- });
13421
- else
13422
- c.annotations[0].content = content;
13423
- });
13424
- this.diagram.dataBind();
13423
+ }]);
13425
13424
  this.change.emit();
13426
13425
  });
13427
13426
  this.argumentstemplate.createEmbeddedView(this.connectorargs);
@@ -13435,21 +13434,22 @@ class WorkflowNodeComponent {
13435
13434
  const annotationArg = tool.arguments.find(a => a.diagram);
13436
13435
  function change(m) {
13437
13436
  if (annotationArg && m[annotationArg.name] !== null) {
13438
- if (node.annotations.length)
13437
+ if (node.annotations.length) {
13439
13438
  node.annotations[0].content = m[annotationArg.name] || null;
13439
+ this.diagram.dataBind();
13440
+ }
13440
13441
  else
13441
- node.annotations.push({
13442
- style: {
13443
- color: this._session.theme.dark ? 'white' : 'black',
13444
- fill: 'transparent',
13445
- opacity: .8,
13446
- },
13447
- content: m[annotationArg.name] || null
13448
- });
13442
+ this.diagram.addNodeLabels(node, [{
13443
+ style: {
13444
+ color: this._session.theme.dark ? 'white' : 'black',
13445
+ fill: 'transparent',
13446
+ opacity: .8,
13447
+ },
13448
+ content: m[annotationArg.name] || null
13449
+ }]);
13449
13450
  }
13450
13451
  Object.assign(addInfo, m);
13451
13452
  cleanup(addInfo);
13452
- this.diagram.dataBind();
13453
13453
  this.change.emit();
13454
13454
  }
13455
13455
  if (tool.template) {
@@ -13547,15 +13547,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImpor
13547
13547
 
13548
13548
  Diagram.Inject(UndoRedo, ConnectorBridging, ConnectorEditing, Snapping);
13549
13549
  SymbolPalette.Inject(BpmnDiagrams);
13550
- function getPorts$1() {
13551
- const ports = [
13552
- { id: 'port1', shape: 'Circle', offset: { x: 0, y: 0.5 }, visibility: PortVisibility.Connect | PortVisibility.Hover, constraints: PortConstraints.Default | PortConstraints.Draw },
13553
- { id: 'port2', shape: 'Circle', offset: { x: 0.5, y: 1 }, visibility: PortVisibility.Connect | PortVisibility.Hover, constraints: PortConstraints.Default | PortConstraints.Draw },
13554
- { id: 'port3', shape: 'Circle', offset: { x: 1, y: 0.5 }, visibility: PortVisibility.Connect | PortVisibility.Hover, constraints: PortConstraints.Default | PortConstraints.Draw },
13555
- { id: 'port4', shape: 'Circle', offset: { x: 0.5, y: 0 }, visibility: PortVisibility.Connect | PortVisibility.Hover, constraints: PortConstraints.Default | PortConstraints.Draw }
13556
- ];
13557
- return ports;
13558
- }
13550
+ const ports = [
13551
+ { id: 'port1', shape: 'Circle', offset: { x: 0, y: 0.5 }, visibility: PortVisibility.Connect | PortVisibility.Hover, constraints: PortConstraints.Default | PortConstraints.Draw },
13552
+ { id: 'port2', shape: 'Circle', offset: { x: 0.5, y: 1 }, visibility: PortVisibility.Connect | PortVisibility.Hover, constraints: PortConstraints.Default | PortConstraints.Draw },
13553
+ { id: 'port3', shape: 'Circle', offset: { x: 1, y: 0.5 }, visibility: PortVisibility.Connect | PortVisibility.Hover, constraints: PortConstraints.Default | PortConstraints.Draw },
13554
+ { id: 'port4', shape: 'Circle', offset: { x: 0.5, y: 0 }, visibility: PortVisibility.Connect | PortVisibility.Hover, constraints: PortConstraints.Default | PortConstraints.Draw }
13555
+ ];
13559
13556
  function showPaletteIcon() {
13560
13557
  const paletteSpace = document.getElementById('palette-space');
13561
13558
  const isMobile = window.matchMedia('(max-width:550px)').matches;
@@ -13595,60 +13592,45 @@ class WorkflowComponent {
13595
13592
  this.dirty = false;
13596
13593
  this.palettes = [];
13597
13594
  this.diagramConstraints = DiagramConstraints.Default | DiagramConstraints.Bridging | DiagramConstraints.UserInteraction | DiagramConstraints.Zoom;
13598
- this.diagramTool = DiagramTools.Default;
13599
13595
  //SymbolPalette Properties
13600
13596
  this.symbolMargin = { left: 10, right: 10, top: 10, bottom: 10 };
13601
13597
  this.snapSettings = {
13602
- // horizontalGridlines: gridlines,
13603
- // verticalGridlines: gridlines,
13604
- // constraints: SnapConstraints.All & ~SnapConstraints.ShowLines
13598
+ snapLineColor: this._session.getAccent(100)
13605
13599
  };
13606
13600
  this.selectedItems = {
13607
- constraints: SelectorConstraints.All & ~SelectorConstraints.Rotate
13601
+ constraints: SelectorConstraints.All & ~SelectorConstraints.Rotate,
13608
13602
  };
13609
13603
  this.scrollSettings = {
13610
13604
  minZoom: .5,
13611
- maxZoom: 2.5
13612
- };
13613
- this._rulerColor = this._session.getAccent(100);
13614
- this.rulerSettings = {
13615
- horizontalRuler: { markerColor: this._rulerColor },
13616
- verticalRuler: { markerColor: this._rulerColor }
13605
+ maxZoom: 2.5,
13617
13606
  };
13607
+ this.rulerSettings = {};
13618
13608
  this._destroy = new Subject();
13619
13609
  this._nodedestroy = new Subject();
13620
13610
  this.nodeDefaults = (obj) => {
13621
- if (obj.addInfo && obj.addInfo['nodeType']) {
13622
- obj.style = {
13623
- fill: 'transparent',
13624
- strokeColor: this._session.theme.dark ? 'white' : 'black',
13625
- strokeWidth: 1
13626
- },
13627
- obj.constraints = NodeConstraints.Default | NodeConstraints.AspectRatio,
13628
- obj.ports = getPorts$1();
13629
- if (obj.width === undefined) {
13630
- obj.width = 145;
13631
- }
13632
- else {
13633
- const ratio = 100 / obj.width;
13634
- obj.width = 100;
13635
- obj.height *= ratio;
13636
- }
13611
+ switch (obj.shape.type) {
13612
+ case 'SwimLane':
13613
+ break;
13614
+ case 'Text':
13615
+ if (obj.id !== 'version')
13616
+ obj.constraints = NodeConstraints.Default & ~NodeConstraints.InConnect & ~NodeConstraints.OutConnect;
13617
+ break;
13618
+ default:
13619
+ if (obj.addInfo && obj.addInfo['nodeType']) {
13620
+ obj.constraints = NodeConstraints.Default | NodeConstraints.AspectRatio;
13621
+ obj.style.strokeColor = this._session.theme.dark ? 'white' : 'black';
13622
+ obj.ports = ports;
13623
+ }
13624
+ break;
13637
13625
  }
13638
13626
  return obj;
13639
13627
  };
13640
13628
  this.connDefaults = (obj) => {
13641
- obj.constraints = ConnectorConstraints.Default | ConnectorConstraints.Bridging |
13642
- ConnectorConstraints.Bridging;
13629
+ obj.constraints = ConnectorConstraints.Default | ConnectorConstraints.Bridging;
13643
13630
  obj.style.strokeColor = this._session.theme.dark ? 'white' : 'black';
13644
- obj.type = this.connectorType;
13645
- // if (!obj.annotations) obj.annotations = [{
13646
- // style: {
13647
- // color: this._session.theme.dark ? 'white' : 'black',
13648
- // fill: 'transparent',
13649
- // opacity: .8,
13650
- // },
13651
- // }];
13631
+ if (!obj.type)
13632
+ obj.type = this.connectorType;
13633
+ return obj;
13652
13634
  };
13653
13635
  this._tools = localStorage.getItem('diagram_tools') === '1';
13654
13636
  this._palettes();
@@ -13680,14 +13662,13 @@ class WorkflowComponent {
13680
13662
  snapSettings: this.snapSettings,
13681
13663
  getConnectorDefaults: this.connDefaults.bind(this),
13682
13664
  constraints: this.diagramConstraints,
13683
- tool: this.diagramTool,
13684
13665
  getNodeDefaults: this.nodeDefaults.bind(this),
13685
13666
  scrollSettings: this.scrollSettings,
13686
13667
  selectedItems: this.selectedItems,
13687
13668
  rulerSettings: this.rulerSettings,
13688
13669
  dragEnter: this.dragEnter.bind(this),
13689
13670
  connectionChange: this.change.bind(this),
13690
- collectionChange: this.change.bind(this),
13671
+ collectionChange: this.collectionChange.bind(this),
13691
13672
  propertyChange: this.propertyChange.bind(this),
13692
13673
  selectionChange: this.selectionChange.bind(this),
13693
13674
  }, this.diagramEl.nativeElement);
@@ -13718,6 +13699,8 @@ class WorkflowComponent {
13718
13699
  nodeType: n.name,
13719
13700
  title: n.title
13720
13701
  },
13702
+ width: 145,
13703
+ height: 145,
13721
13704
  };
13722
13705
  node.node = n.name;
13723
13706
  let palette = this.palettes.find(p => p.title === (n.palette || ''));
@@ -13747,11 +13730,14 @@ class WorkflowComponent {
13747
13730
  },
13748
13731
  {
13749
13732
  id: 'text', shape: { type: 'Text', content: 'T' },
13733
+ style: {
13734
+ fill: 'transparent'
13735
+ },
13750
13736
  constraints: NodeConstraints.Default & ~NodeConstraints.InConnect & ~NodeConstraints.OutConnect,
13751
13737
  addInfo: { title: this._translate.get('Text') }
13752
13738
  }]
13753
13739
  });
13754
- const color = MATERIAL_PALETTES['grey'][200]; // this._session.getPrimery(100);
13740
+ const color = MATERIAL_PALETTES['grey'][200];
13755
13741
  this.palettes.push({
13756
13742
  id: 'swimlaneShapes',
13757
13743
  expanded: true,
@@ -13763,11 +13749,15 @@ class WorkflowComponent {
13763
13749
  title: this._translate.get('Horizontal')
13764
13750
  },
13765
13751
  shape: {
13752
+ header: {
13753
+ annotation: { content: 'Plan' }
13754
+ },
13766
13755
  type: 'SwimLane',
13767
13756
  lanes: [
13768
13757
  {
13769
13758
  id: 'lane1',
13770
13759
  header: {
13760
+ annotation: { content: 'Lane' },
13771
13761
  style: { fill: color }
13772
13762
  }
13773
13763
  }
@@ -13786,10 +13776,14 @@ class WorkflowComponent {
13786
13776
  },
13787
13777
  shape: {
13788
13778
  type: 'SwimLane',
13779
+ header: {
13780
+ annotation: { content: 'Plan' }
13781
+ },
13789
13782
  lanes: [
13790
13783
  {
13791
13784
  id: 'lane1',
13792
13785
  header: {
13786
+ annotation: { content: 'Lane' },
13793
13787
  style: { fill: color }
13794
13788
  }
13795
13789
  }
@@ -13807,8 +13801,14 @@ class WorkflowComponent {
13807
13801
  },
13808
13802
  shape: {
13809
13803
  type: 'SwimLane',
13810
- phases: [{ style: { strokeWidth: 1, strokeDashArray: '3,3', strokeColor: color }, }],
13811
- annotations: [{ text: '' }],
13804
+ phases: [
13805
+ {
13806
+ style: { strokeWidth: 1, strokeDashArray: '3,3', strokeColor: color },
13807
+ header: {
13808
+ annotation: { text: 'Phase' }
13809
+ }
13810
+ }
13811
+ ],
13812
13812
  orientation: 'Vertical', isPhase: true
13813
13813
  },
13814
13814
  height: 60,
@@ -13821,12 +13821,16 @@ class WorkflowComponent {
13821
13821
  },
13822
13822
  shape: {
13823
13823
  type: 'SwimLane',
13824
- phases: [{ style: { strokeWidth: 1, strokeDashArray: '3,3', strokeColor: color }, }],
13825
- annotations: [{ text: '' }],
13824
+ phases: [{
13825
+ style: { strokeWidth: 1, strokeDashArray: '3,3', strokeColor: color },
13826
+ header: {
13827
+ annotation: { text: 'Phase' }
13828
+ }
13829
+ }],
13826
13830
  orientation: 'Horizontal', isPhase: true
13827
13831
  },
13828
13832
  height: 60,
13829
- width: 80,
13833
+ width: 140,
13830
13834
  style: { strokeColor: color }
13831
13835
  }
13832
13836
  ]
@@ -13859,7 +13863,6 @@ class WorkflowComponent {
13859
13863
  }
13860
13864
  getSymbolDefaults(symbol) {
13861
13865
  symbol.width = symbol.height = 40;
13862
- symbol.constraints = NodeConstraints.Default | NodeConstraints.AspectRatio;
13863
13866
  }
13864
13867
  pan() {
13865
13868
  this.diagram.constraints = this.diagram.constraints | DiagramConstraints.Pan;
@@ -13871,7 +13874,7 @@ class WorkflowComponent {
13871
13874
  }
13872
13875
  selectionChange(evt) {
13873
13876
  const { newValue, state } = evt;
13874
- if (state !== 'Changed' || !newValue.length) {
13877
+ if (state !== 'Changing' || !newValue.length) {
13875
13878
  this._nodedestroy.next();
13876
13879
  return;
13877
13880
  }
@@ -13888,10 +13891,10 @@ class WorkflowComponent {
13888
13891
  const nodes = newValue.filter(n => n instanceof Node);
13889
13892
  if (nodes.length) {
13890
13893
  const node = nodes[0], addInfo = node.addInfo;
13891
- if (addInfo && addInfo.nodeType && node.annotations.length && node.annotations[0].style)
13892
- this.fontSize = node.annotations[0].style.fontSize;
13893
- else
13894
+ if (!addInfo || !addInfo['nodeType'])
13894
13895
  return;
13896
+ if (node.annotations.length && node.annotations[0].style)
13897
+ this.fontSize = node.annotations[0].style.fontSize;
13895
13898
  }
13896
13899
  this._router.navigate(WorkflowNodeComponent, {
13897
13900
  state: {
@@ -13903,12 +13906,12 @@ class WorkflowComponent {
13903
13906
  expandable: false,
13904
13907
  group: ''
13905
13908
  }).then(p => {
13906
- p.instance.change.
13907
- pipe(takeUntil(this._nodedestroy.pipe(tap$1(() => p.close())))).subscribe(() => this.dirty = true);
13909
+ p.instance.change.pipe(takeUntil(this._nodedestroy)).subscribe(() => this.change());
13910
+ this._nodedestroy.pipe(first$1()).subscribe(() => p.close());
13908
13911
  });
13909
13912
  }
13910
13913
  align(value) {
13911
- function align(n) {
13914
+ this.diagram.selectedItems.nodes.forEach(n => {
13912
13915
  n.annotations.length && Object.assign(n.annotations[0], {
13913
13916
  offset: {
13914
13917
  x: value === 'Right' ? 1 : value === 'Left' ? 0 : .5,
@@ -13917,44 +13920,50 @@ class WorkflowComponent {
13917
13920
  verticalAlignment: value === 'Top' ? 'Bottom' : value === 'Bottom' ? 'Top' : 'Center',
13918
13921
  horizontalAlignment: value === 'Right' ? 'Left' : value === 'Left' ? 'Right' : 'Center'
13919
13922
  });
13920
- }
13921
- this.diagram.selectedItems.nodes.forEach(align);
13922
- this.diagram.selectedItems.connectors.forEach(c => {
13923
- c.annotations.forEach(a => {
13924
- a.alignment = value === 'Left' ? 'Before' :
13925
- value === 'Right' ? 'After' : 'Center';
13926
- a.offset = 5;
13927
- a.displacement = {
13928
- x: value === 'Right' ? 1 : value === 'Left' ? 0 : .5,
13929
- y: value === 'Top' ? 0 : value === 'Bottom' ? 1 : .5
13930
- };
13931
- });
13932
13923
  });
13924
+ this.diagram.selectedItems.connectors.forEach(c => c.annotations.forEach(a => Object.assign(a, {
13925
+ verticalAlignment: value === 'Top' ? 'Bottom' : value === 'Bottom' ? 'Top' : 'Center',
13926
+ horizontalAlignment: value === 'Left' ? 'Left' : value === 'Right' ? 'Right' : 'Center',
13927
+ // displacement: {
13928
+ // x: value === 'Right' ? 10 : value === 'Left' ? -10 : 0,
13929
+ // y: value === 'Top' ? -10 : value === 'Bottom' ? 10 : 0
13930
+ // }
13931
+ })));
13933
13932
  this.alignment = value;
13934
13933
  this.dirty = true;
13935
13934
  }
13936
13935
  dragEnter(args) {
13937
13936
  if (args.element instanceof Node) {
13938
- const shape = args.element.shape;
13939
- if (shape.isLane) {
13940
- switch (shape.orientation) {
13941
- case 'Horizontal':
13942
- shape.lanes[0].height = 100;
13943
- shape.lanes[0].width = 400;
13944
- break;
13945
- case 'Vertical':
13946
- shape.lanes[0].height = 400;
13947
- shape.lanes[0].width = 100;
13937
+ switch (args.element.shape.type) {
13938
+ case 'SwimLane':
13939
+ {
13940
+ const shape = args.element.shape;
13941
+ switch (shape.orientation) {
13942
+ case 'Horizontal':
13943
+ shape.lanes[0].width = 400;
13944
+ break;
13945
+ case 'Vertical':
13946
+ shape.lanes[0].height = 400;
13947
+ break;
13948
+ }
13948
13949
  break;
13949
- }
13950
- }
13951
- else {
13952
- const { width, height } = args.element;
13953
- args.element.width = 100;
13954
- args.element.height *= 100 / width;
13955
- args.element.offsetX += (args.element.width - width) / 2;
13956
- args.element.offsetY += (args.element.height - height) / 2;
13957
- args.element.style = { fill: 'white', strokeColor: 'black' };
13950
+ }
13951
+ case 'Text':
13952
+ //(args.element.style as TextStyleModel).fontSize = 20;
13953
+ break;
13954
+ default:
13955
+ {
13956
+ const { width, height } = args.element;
13957
+ args.element.width = 100;
13958
+ args.element.height *= 100 / width;
13959
+ args.element.offsetX += (args.element.width - width) / 2;
13960
+ args.element.offsetY += (args.element.height - height) / 2;
13961
+ args.element.style = {
13962
+ fill: 'transparent',
13963
+ strokeColor: this._session.theme.dark ? 'white' : 'black',
13964
+ strokeWidth: 1
13965
+ };
13966
+ }
13958
13967
  }
13959
13968
  }
13960
13969
  }
@@ -13965,6 +13974,10 @@ class WorkflowComponent {
13965
13974
  change() {
13966
13975
  this.dirty = true;
13967
13976
  }
13977
+ collectionChange() {
13978
+ this._router.collapse();
13979
+ this.dirty = true;
13980
+ }
13968
13981
  /**
13969
13982
  * Ctrl-s save
13970
13983
  * @param event
@@ -13989,22 +14002,58 @@ class WorkflowComponent {
13989
14002
  this.connectorType = type;
13990
14003
  this.dirty = true;
13991
14004
  }
14005
+ boldChange() {
14006
+ var _a, _b;
14007
+ const val = !((_b = (_a = this.diagram.selectedItems.nodes[0].annotations[0]) === null || _a === void 0 ? void 0 : _a.style) === null || _b === void 0 ? void 0 : _b.bold);
14008
+ function change(node) {
14009
+ if (node.shape.type === 'Text')
14010
+ node.style.bold = val;
14011
+ else
14012
+ node.annotations.forEach(a => {
14013
+ if (!a.style)
14014
+ a.style = { bold: val };
14015
+ else
14016
+ a.style.bold = val;
14017
+ });
14018
+ }
14019
+ this.diagram.selectedItems.nodes.forEach(change);
14020
+ this.diagram.selectedItems.connectors.forEach(change);
14021
+ this.diagram.dataBind();
14022
+ }
14023
+ italicChange() {
14024
+ var _a, _b;
14025
+ const val = !((_b = (_a = this.diagram.selectedItems.nodes[0].annotations[0]) === null || _a === void 0 ? void 0 : _a.style) === null || _b === void 0 ? void 0 : _b.italic);
14026
+ function change(node) {
14027
+ if (node.shape.type === 'Text')
14028
+ node.style.italic = val;
14029
+ else
14030
+ node.annotations.forEach(a => {
14031
+ if (!a.style)
14032
+ a.style = { italic: val };
14033
+ else
14034
+ a.style.italic = val;
14035
+ });
14036
+ }
14037
+ this.diagram.selectedItems.nodes.forEach(change);
14038
+ this.diagram.selectedItems.connectors.forEach(change);
14039
+ this.diagram.dataBind();
14040
+ }
13992
14041
  fontSizeChange(val) {
13993
14042
  function change(node) {
13994
14043
  var _a;
13995
- (_a = node.annotations) === null || _a === void 0 ? void 0 : _a.forEach(a => {
13996
- if (!a.style)
13997
- a.style = { fontSize: val };
13998
- else
13999
- a.style.fontSize = val;
14000
- });
14001
14044
  if (node.shape.type === 'Text')
14002
14045
  node.style.fontSize = val;
14046
+ else
14047
+ (_a = node.annotations) === null || _a === void 0 ? void 0 : _a.forEach(a => {
14048
+ if (!a.style)
14049
+ a.style = { fontSize: val };
14050
+ else
14051
+ a.style.fontSize = val;
14052
+ });
14003
14053
  }
14004
14054
  this.diagram.selectedItems.nodes.forEach(change);
14005
14055
  this.diagram.selectedItems.connectors.forEach(change);
14006
14056
  this.diagram.dataBind();
14007
- this.dirty = true;
14008
14057
  }
14009
14058
  strokeChange(val) {
14010
14059
  this.diagram.selectedItems.connectors.forEach(c => {
@@ -14019,11 +14068,7 @@ class WorkflowComponent {
14019
14068
  this.diagram.serializationSettings = { preventDefaults: true };
14020
14069
  const obj = JSON.parse(this.diagram.saveDiagram());
14021
14070
  this._form.workflow.connectors = obj.connectors;
14022
- this._form.workflow.nodes = obj.nodes.filter(n => n.id !== 'version').map((n) => {
14023
- n.offsetX = Math.round(n.offsetX);
14024
- n.offsetY = Math.round(n.offsetY);
14025
- return n;
14026
- });
14071
+ this._form.workflow.nodes = obj.nodes.filter(n => n.id !== 'version');
14027
14072
  this.saving = true;
14028
14073
  return this._service.save(this._form).toPromise().then(v => {
14029
14074
  this.ps.toast('ChangesSaved');
@@ -14052,12 +14097,12 @@ class WorkflowComponent {
14052
14097
  }
14053
14098
  }
14054
14099
  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 });
14055
- 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 &nbsp;\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('Bottom')\">\r\n <span class=\"e-icons sf-icon-bottom\"></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 </mat-menu>\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 } });
14100
+ 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 &nbsp;\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 } });
14056
14101
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: WorkflowComponent, decorators: [{
14057
14102
  type: Component,
14058
14103
  args: [{ selector: 'bizdoc-workflow', host: {
14059
14104
  class: 'pane'
14060
- }, 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 &nbsp;\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('Bottom')\">\r\n <span class=\"e-icons sf-icon-bottom\"></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 </mat-menu>\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"] }]
14105
+ }, 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 &nbsp;\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"] }]
14061
14106
  }], ctorParameters: function () { return [{ type: PromptService }, { type: FormService }, { type: PaneRef }, { type: PanesRouter }, { type: SessionService }, { type: TranslateService }]; }, propDecorators: { symbolPaletteEl: [{
14062
14107
  type: ViewChild,
14063
14108
  args: ['symbolPaletteEl', { static: true }]
@@ -15473,24 +15518,41 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImpor
15473
15518
  type: Injectable
15474
15519
  }], ctorParameters: function () { return [{ type: MailboxService }]; } });
15475
15520
 
15521
+ class SaveChangesDialog {
15522
+ ngOnInit() {
15523
+ playAudio('alert_error-03');
15524
+ }
15525
+ }
15526
+ SaveChangesDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: SaveChangesDialog, deps: [], target: i0.ɵɵFactoryTarget.Component });
15527
+ 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 } });
15528
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: SaveChangesDialog, decorators: [{
15529
+ type: Component,
15530
+ 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" }]
15531
+ }] });
15532
+
15476
15533
  class AdminDismiss {
15477
- constructor(_sb) {
15478
- this._sb = _sb;
15534
+ constructor(_dialog) {
15535
+ this._dialog = _dialog;
15479
15536
  }
15480
15537
  onDismiss(component) {
15481
15538
  if (component.dirty)
15482
- return this._sb.ask('SaveChangesAsk', 'SaveChanges', { i18n: true, color: 'primary', ok: 'Save', cancel: 'DiscardChanges' }).
15483
- toPromise().
15484
- then(ok => ok ? component.save().then(() => true) : true);
15539
+ return new Promise((resolve, reject) => this._dialog.open(SaveChangesDialog).
15540
+ afterClosed().
15541
+ subscribe(ok => {
15542
+ if (ok)
15543
+ component.save().then(() => resolve(true), reject);
15544
+ else
15545
+ resolve(ok !== false);
15546
+ }));
15485
15547
  else
15486
15548
  return true;
15487
15549
  }
15488
15550
  }
15489
- AdminDismiss.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AdminDismiss, deps: [{ token: PromptService }], target: i0.ɵɵFactoryTarget.Injectable });
15551
+ 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 });
15490
15552
  AdminDismiss.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AdminDismiss });
15491
15553
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AdminDismiss, decorators: [{
15492
15554
  type: Injectable
15493
- }], ctorParameters: function () { return [{ type: PromptService }]; } });
15555
+ }], ctorParameters: function () { return [{ type: i3$1.MatDialog }]; } });
15494
15556
 
15495
15557
  class AgoPipe {
15496
15558
  constructor(_translate) {
@@ -15744,18 +15806,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImpor
15744
15806
  }]
15745
15807
  }], ctorParameters: function () { return [{ type: PanesRouter }, { type: i0.ElementRef }, { type: TranslateService }, { type: PaneRef }]; } });
15746
15808
 
15747
- class SaveChangesDialog {
15748
- ngOnInit() {
15749
- playAudio('alert_error-03');
15750
- }
15751
- }
15752
- SaveChangesDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: SaveChangesDialog, deps: [], target: i0.ɵɵFactoryTarget.Component });
15753
- 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 } });
15754
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: SaveChangesDialog, decorators: [{
15755
- type: Component,
15756
- 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" }]
15757
- }] });
15758
-
15759
15809
  class ComposeDismiss {
15760
15810
  constructor(_dialog) {
15761
15811
  this._dialog = _dialog;