qms-angular 1.0.56 → 1.0.60

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.
Files changed (63) hide show
  1. package/bundles/qms-angular.umd.js +1348 -492
  2. package/bundles/qms-angular.umd.js.map +1 -1
  3. package/esm2015/lib/components/qms-app-bar/qms-app-bar.component.js +1 -1
  4. package/esm2015/lib/components/related/model/related-data.model.js +1 -1
  5. package/esm2015/lib/components/related/popup/related-popup.component.js +258 -25
  6. package/esm2015/lib/components/select-include-children/enum/select-option-type.enum.js +7 -0
  7. package/esm2015/lib/components/select-include-children/index.js +2 -0
  8. package/esm2015/lib/components/select-include-children/model/select-option.model.js +1 -1
  9. package/esm2015/lib/components/select-include-children/model/select-popup-data.model.js +1 -1
  10. package/esm2015/lib/components/select-include-children/model/select-search-option.model.js +4 -0
  11. package/esm2015/lib/components/select-include-children/model/seleted-option.model.js +3 -0
  12. package/esm2015/lib/components/select-include-children/public_api.js +9 -0
  13. package/esm2015/lib/components/select-include-children/select-include-children.component.js +404 -317
  14. package/esm2015/lib/components/select-include-children/services/select-global.service.js +3 -7
  15. package/esm2015/lib/components/select-one/common/data-type.enum.js +14 -0
  16. package/esm2015/lib/components/select-one/common/document-folder-type.enum.js +12 -0
  17. package/esm2015/lib/components/select-one/common/module-type.enum.js +8 -0
  18. package/esm2015/lib/components/select-one/common/select-data.model.js +3 -0
  19. package/esm2015/lib/components/select-one/common/selected-node.model.js +3 -0
  20. package/esm2015/lib/components/select-one/common/selectone-popup-data.model.js +11 -0
  21. package/esm2015/lib/components/select-one/common/show-hide-search-result.const.js +6 -0
  22. package/esm2015/lib/components/select-one/index.js +2 -0
  23. package/esm2015/lib/components/select-one/public_api.js +7 -0
  24. package/esm2015/lib/components/select-one/select-one.component.js +343 -0
  25. package/esm2015/lib/components/select-one/select-one.module.js +53 -0
  26. package/esm2015/lib/components/select-one/service/select-one-global.service.js +17 -0
  27. package/esm2015/lib/components/tree/tree.component.js +86 -13
  28. package/esm2015/public-api.js +3 -6
  29. package/fesm2015/qms-angular.js +1275 -454
  30. package/fesm2015/qms-angular.js.map +1 -1
  31. package/lib/components/related/model/related-data.model.d.ts +1 -0
  32. package/lib/components/related/popup/related-popup.component.d.ts +1 -0
  33. package/lib/components/select-include-children/enum/select-option-type.enum.d.ts +5 -0
  34. package/lib/components/select-include-children/index.d.ts +1 -0
  35. package/lib/components/select-include-children/model/select-option.model.d.ts +2 -0
  36. package/lib/components/select-include-children/model/select-popup-data.model.d.ts +4 -0
  37. package/lib/components/select-include-children/model/select-search-option.model.d.ts +7 -0
  38. package/lib/components/select-include-children/model/seleted-option.model.d.ts +15 -0
  39. package/lib/components/select-include-children/public_api.d.ts +8 -0
  40. package/lib/components/select-include-children/select-include-children.component.d.ts +32 -18
  41. package/lib/components/select-include-children/services/select-global.service.d.ts +3 -5
  42. package/lib/components/select-one/common/data-type.enum.d.ts +12 -0
  43. package/lib/components/select-one/common/document-folder-type.enum.d.ts +10 -0
  44. package/lib/components/select-one/common/module-type.enum.d.ts +6 -0
  45. package/lib/components/select-one/common/select-data.model.d.ts +12 -0
  46. package/lib/components/select-one/common/selected-node.model.d.ts +12 -0
  47. package/lib/components/select-one/common/selectone-popup-data.model.d.ts +12 -0
  48. package/lib/components/select-one/common/show-hide-search-result.const.d.ts +5 -0
  49. package/lib/components/select-one/index.d.ts +1 -0
  50. package/lib/components/select-one/public_api.d.ts +6 -0
  51. package/lib/components/select-one/select-one.component.d.ts +77 -0
  52. package/lib/components/select-one/select-one.module.d.ts +2 -0
  53. package/lib/components/select-one/service/select-one-global.service.d.ts +7 -0
  54. package/lib/components/tree/tree.component.d.ts +6 -0
  55. package/package.json +1 -1
  56. package/public-api.d.ts +2 -5
  57. package/qms-angular.metadata.json +1 -1
  58. package/src/assets/qms-ckeditor-plugin/package-lock.json +9 -12177
  59. package/src/lib/components/qms-app-bar/qms-app-bar.component.scss +7 -0
  60. package/src/lib/components/select-include-children/select-include-children.component.scss +5 -0
  61. package/src/lib/components/select-one/select-one.component.scss +240 -0
  62. package/src/assets/qms-ckeditor-plugin/src/dist/ckeditor.dev.js +0 -173
  63. package/src/assets/qms-ckeditor-plugin/src/plugins/fullscreen/dist/qmsCKEditorFullscreenPlugin.dev.js +0 -87
@@ -38,7 +38,7 @@ import { MatSelectModule } from '@angular/material/select';
38
38
  import { MatSnackBarConfig, MatSnackBar, MatSnackBarModule } from '@angular/material/snack-bar';
39
39
  import { CKEditorModule as CKEditorModule$1 } from '@ckeditor/ckeditor5-angular';
40
40
  import { __awaiter } from 'tslib';
41
- import * as $ from 'jquery';
41
+ import * as $$1 from 'jquery';
42
42
  import * as _ from 'lodash';
43
43
  import { MatTooltipModule } from '@angular/material/tooltip';
44
44
  import { MatBadgeModule } from '@angular/material/badge';
@@ -3840,7 +3840,7 @@ QMSBreadcrumbModule.decorators = [
3840
3840
  },] }
3841
3841
  ];
3842
3842
 
3843
- var DataType;
3843
+ var DataType$1;
3844
3844
  (function (DataType) {
3845
3845
  DataType[DataType["process"] = 2] = "process";
3846
3846
  DataType[DataType["document"] = 1] = "document";
@@ -3852,9 +3852,9 @@ var DataType;
3852
3852
  DataType[DataType["deviationType"] = 8] = "deviationType";
3853
3853
  DataType[DataType["checklistCategory"] = 9] = "checklistCategory";
3854
3854
  DataType[DataType["riskFolder"] = 10] = "riskFolder";
3855
- })(DataType || (DataType = {}));
3855
+ })(DataType$1 || (DataType$1 = {}));
3856
3856
 
3857
- var DocumentNodeType;
3857
+ var DocumentNodeType$1;
3858
3858
  (function (DocumentNodeType) {
3859
3859
  DocumentNodeType[DocumentNodeType["Document"] = 1] = "Document";
3860
3860
  DocumentNodeType[DocumentNodeType["LinkDocument"] = 2] = "LinkDocument";
@@ -3864,7 +3864,7 @@ var DocumentNodeType;
3864
3864
  DocumentNodeType[DocumentNodeType["TopFolder"] = 6] = "TopFolder";
3865
3865
  DocumentNodeType[DocumentNodeType["DepartmentFolder"] = 7] = "DepartmentFolder";
3866
3866
  DocumentNodeType[DocumentNodeType["RegionalFolder"] = 8] = "RegionalFolder";
3867
- })(DocumentNodeType || (DocumentNodeType = {}));
3867
+ })(DocumentNodeType$1 || (DocumentNodeType$1 = {}));
3868
3868
 
3869
3869
  class RelatedConst {
3870
3870
  }
@@ -3979,6 +3979,7 @@ class TreeComponent {
3979
3979
  this.selectedData = [];
3980
3980
  this.selectedRiskData = [];
3981
3981
  this.disabledList = [];
3982
+ this.expandToChildNode = [];
3982
3983
  this.selectNodeEvent = new EventEmitter();
3983
3984
  this.selectFolderEvent = new EventEmitter();
3984
3985
  this.checkBoxEvent = new EventEmitter();
@@ -4015,7 +4016,7 @@ class TreeComponent {
4015
4016
  this.isChecked = false;
4016
4017
  this.idCheckIcon = '';
4017
4018
  this.listChildNode = [];
4018
- this.dataType = DataType;
4019
+ this.dataType = DataType$1;
4019
4020
  this.transformer = (node, level) => {
4020
4021
  let checkHasChild = true;
4021
4022
  if (!node.children) {
@@ -4028,7 +4029,7 @@ class TreeComponent {
4028
4029
  else if (!!node.children &&
4029
4030
  node.children.length &&
4030
4031
  node.children.length === 1 &&
4031
- !node.children[0].name.length &&
4032
+ !node.children[0].name &&
4032
4033
  node.id.toString() === this.areaOfCurrentProcess) {
4033
4034
  checkHasChild = false;
4034
4035
  }
@@ -4076,19 +4077,25 @@ class TreeComponent {
4076
4077
  (changes.selectedData.currentValue.length > 0 ||
4077
4078
  JSON.stringify(changes.selectedData.currentValue) !==
4078
4079
  JSON.stringify(changes.selectedData.previousValue))) {
4079
- this.checkSelected(changes.selectedData.currentValue);
4080
- }
4081
- else {
4082
- for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
4083
- this.checklistSelection.deselect(this.treeControl.dataNodes[i]);
4080
+ if (changes.selectedData.currentValue) {
4081
+ this.checkSelected(changes.selectedData.currentValue);
4082
+ }
4083
+ else {
4084
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
4085
+ this.checklistSelection.deselect(this.treeControl.dataNodes[i]);
4086
+ }
4084
4087
  }
4085
4088
  }
4086
4089
  if (changes.disabledList && JSON.stringify(changes.disabledList.currentValue) !== JSON.stringify(changes.disabledList.previousValue)) {
4087
4090
  this.checkDisabledList();
4088
4091
  }
4092
+ // expand all parent to show node
4093
+ if (changes.expandToChildNode && JSON.stringify(changes.expandToChildNode.currentValue) !== JSON.stringify(changes.expandToChildNode.previousValue)) {
4094
+ this.openExpandToChildNode();
4095
+ }
4089
4096
  }
4090
4097
  ngOnInit() {
4091
- this.initTreeData();
4098
+ // this.initTreeData();
4092
4099
  }
4093
4100
  initTreeData() {
4094
4101
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
@@ -4131,6 +4138,10 @@ class TreeComponent {
4131
4138
  if (this.treeConfig.expandAll) {
4132
4139
  this.treeControl.expandAll();
4133
4140
  }
4141
+ //Disabled node
4142
+ if (this.disabledList.length) {
4143
+ this.checkDisabledList();
4144
+ }
4134
4145
  // Risk Tree
4135
4146
  if (this.selectedRiskData.length) {
4136
4147
  const selectedData = [];
@@ -4145,8 +4156,57 @@ class TreeComponent {
4145
4156
  this.checkSelected(selectedData);
4146
4157
  this.checkBoxEvent.emit(selectedData);
4147
4158
  }
4148
- //check disabled list
4149
- this.checkDisabledList();
4159
+ if (this.parentNodeOnClick) {
4160
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
4161
+ const tree = this.treeControl.dataNodes[i];
4162
+ if (this.parentNodeOnClick.parentId === tree.id || this.parentNodeOnClick.id === tree.id) {
4163
+ this.getParent(tree);
4164
+ }
4165
+ }
4166
+ }
4167
+ }
4168
+ getParent(node) {
4169
+ const { treeControl } = this;
4170
+ const currentLevel = treeControl.getLevel(node);
4171
+ if (currentLevel < 1) {
4172
+ return null;
4173
+ }
4174
+ const index = treeControl.dataNodes.indexOf(node) - 1;
4175
+ for (let i = index; i >= 0; i--) {
4176
+ const currentNode = treeControl.dataNodes[i];
4177
+ if (treeControl.getLevel(currentNode) < currentLevel) {
4178
+ treeControl.expand(currentNode);
4179
+ return currentNode;
4180
+ }
4181
+ }
4182
+ }
4183
+ openExpandToChildNode() {
4184
+ if (this.expandToChildNode.length) {
4185
+ if (this.expandToChildNode[0] === '') {
4186
+ this.idCheckIcon = '';
4187
+ this.treeControl.collapseAll();
4188
+ this.cdRef.detectChanges();
4189
+ return;
4190
+ }
4191
+ let itemMarkChecked = this.expandToChildNode[this.expandToChildNode.length - 1].toUpperCase();
4192
+ this.idCheckIcon = itemMarkChecked;
4193
+ // get all children nodes on same level
4194
+ let listChildNodeSameLevel = this.findChildNode(itemMarkChecked, this.dataSource.data);
4195
+ // get all children in all level
4196
+ this.listChildNode = [];
4197
+ this.getChild(listChildNodeSameLevel);
4198
+ this.getChildNodeSelectOne.emit(this.listChildNode);
4199
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
4200
+ if (itemMarkChecked === this.treeControl.dataNodes[i].id) {
4201
+ this.selectNodeEvent.emit(this.treeControl.dataNodes[i]);
4202
+ }
4203
+ this.expandToChildNode.forEach(el => {
4204
+ if (this.treeControl.dataNodes[i].id === el.toUpperCase()) {
4205
+ this.treeControl.expand(this.treeControl.dataNodes[i]);
4206
+ }
4207
+ });
4208
+ }
4209
+ }
4150
4210
  }
4151
4211
  checkDisabledList() {
4152
4212
  // Disable List
@@ -4242,7 +4302,7 @@ class TreeComponent {
4242
4302
  this.checklistSelection.deselect(tree);
4243
4303
  for (let j = 0; j < itemSelected.length; j++) {
4244
4304
  const element = itemSelected[j];
4245
- if (tree.id === element.id && (!element.parentId || tree.parentId === element.parentId) && !tree.disabled) {
4305
+ if (tree.id === element.id && (!element.parentId || tree.parentId === element.parentId)) {
4246
4306
  this.checklistSelection.select(tree);
4247
4307
  }
4248
4308
  }
@@ -4294,6 +4354,7 @@ class TreeComponent {
4294
4354
  }
4295
4355
  /** Toggle the to-do item selection. Select/deselect all the descendants node */
4296
4356
  todoItemSelectionToggle(node) {
4357
+ this.selectNodeEvent.emit(node);
4297
4358
  // tree have duplicate node
4298
4359
  if (this.treeConfig.canHaveDupId) {
4299
4360
  for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
@@ -4362,7 +4423,9 @@ class TreeComponent {
4362
4423
  }
4363
4424
  }
4364
4425
  });
4365
- this.checkBoxEvent.emit(this.checklistSelection.selected);
4426
+ setTimeout(() => {
4427
+ this.checkBoxEvent.emit(this.checklistSelection.selected);
4428
+ }, 500);
4366
4429
  }
4367
4430
  todoFolderSelection(nodes) {
4368
4431
  nodes.forEach(node => {
@@ -4390,11 +4453,11 @@ class TreeComponent {
4390
4453
  checkDataTypeSelectNode(node) {
4391
4454
  let itemType = -1;
4392
4455
  switch (this.moduleId) {
4393
- case DataType.process:
4394
- itemType = node.expandable ? DataType.area : DataType.process;
4456
+ case DataType$1.process:
4457
+ itemType = node.expandable ? DataType$1.area : DataType$1.process;
4395
4458
  break;
4396
- case DataType.document:
4397
- itemType = node.expandable ? DataType.folder : DataType.document;
4459
+ case DataType$1.document:
4460
+ itemType = node.expandable ? DataType$1.folder : DataType$1.document;
4398
4461
  break;
4399
4462
  default:
4400
4463
  itemType = this.moduleId;
@@ -4552,17 +4615,17 @@ class TreeComponent {
4552
4615
  return this.treeControl.isExpanded(node) ? this.openIcon : this.closeIcon;
4553
4616
  }
4554
4617
  switch (this.moduleId) {
4555
- case DataType.document: {
4618
+ case DataType$1.document: {
4556
4619
  const nodeData = this.treeData.filter(x => { return x.rootId === node.id; });
4557
4620
  if (nodeData.length > 0) {
4558
4621
  switch (nodeData[0].levelType) {
4559
- case DocumentNodeType.DepartmentFolder:
4622
+ case DocumentNodeType$1.DepartmentFolder:
4560
4623
  return this.treeControl.isExpanded(node) ? 'department_folder_outlined' : 'department_folder';
4561
- case DocumentNodeType.RegionalFolder:
4624
+ case DocumentNodeType$1.RegionalFolder:
4562
4625
  return this.treeControl.isExpanded(node) ? 'regional_folder_outlined' : 'regional_folder';
4563
- case DocumentNodeType.TopFolder:
4626
+ case DocumentNodeType$1.TopFolder:
4564
4627
  return this.treeControl.isExpanded(node) ? 'enterprise_folder_outlined' : 'enterprise_folder';
4565
- case DocumentNodeType.Folder:
4628
+ case DocumentNodeType$1.Folder:
4566
4629
  return this.treeControl.isExpanded(node) ? 'local_folder_outlined' : 'local_folder';
4567
4630
  default:
4568
4631
  return this.treeControl.isExpanded(node) ? 'folder_outlined' : 'folder';
@@ -4570,7 +4633,7 @@ class TreeComponent {
4570
4633
  }
4571
4634
  return this.treeControl.isExpanded(node) ? 'keyboard_up' : 'keyboard_down';
4572
4635
  }
4573
- case DataType.process:
4636
+ case DataType$1.process:
4574
4637
  return this.treeControl.isExpanded(node) ? 'process_area_outlined' : 'process_area';
4575
4638
  default:
4576
4639
  return this.treeControl.isExpanded(node) ? 'keyboard_up' : 'keyboard_down';
@@ -4578,26 +4641,26 @@ class TreeComponent {
4578
4641
  }
4579
4642
  getItemIcon(node) {
4580
4643
  switch (this.moduleId) {
4581
- case DataType.document:
4644
+ case DataType$1.document:
4582
4645
  switch (node.levelType) {
4583
- case DocumentNodeType.DepartmentFolder:
4646
+ case DocumentNodeType$1.DepartmentFolder:
4584
4647
  return 'document_department';
4585
- case DocumentNodeType.RegionalFolder:
4648
+ case DocumentNodeType$1.RegionalFolder:
4586
4649
  return 'document_regional';
4587
- case DocumentNodeType.TopFolder:
4650
+ case DocumentNodeType$1.TopFolder:
4588
4651
  return 'document_enterprise';
4589
- case DocumentNodeType.Folder:
4652
+ case DocumentNodeType$1.Folder:
4590
4653
  return 'document_local';
4591
4654
  default:
4592
4655
  return 'document';
4593
4656
  }
4594
- case DataType.process:
4657
+ case DataType$1.process:
4595
4658
  return 'process';
4596
- case DataType.checklist:
4659
+ case DataType$1.checklist:
4597
4660
  return 'checklist';
4598
- case DataType.deviation:
4661
+ case DataType$1.deviation:
4599
4662
  return 'deviation';
4600
- case DataType.risk:
4663
+ case DataType$1.risk:
4601
4664
  return 'risk';
4602
4665
  default:
4603
4666
  return 'document';
@@ -4611,11 +4674,19 @@ class TreeComponent {
4611
4674
  getNodeId(node) {
4612
4675
  return `_${node.parentId ? node.parentId : ''}_${node.id}_${node.level}`;
4613
4676
  }
4677
+ getNodeByIdAndParentId(nodeId, parentId) {
4678
+ return this.treeControl.dataNodes.find(x => {
4679
+ return x.id === nodeId && x.parentId === parentId;
4680
+ });
4681
+ }
4682
+ expandNode(node) {
4683
+ this.treeControl.expand(node);
4684
+ }
4614
4685
  }
4615
4686
  TreeComponent.decorators = [
4616
4687
  { type: Component, args: [{
4617
4688
  selector: 'qms-tree',
4618
- template: "<mat-tree\r\n [dataSource]=\"dataSource\"\r\n [treeControl]=\"treeControl\"\r\n class=\"tree__container\"\r\n>\r\n <mat-tree-node\r\n class=\"tree-branch\"\r\n *matTreeNodeDef=\"let node\"\r\n matTreeNodeToggle\r\n matTreeNodePadding\r\n >\r\n <!-- form thu 1 - child -->\r\n <mat-checkbox\r\n qms-group-options\r\n [disabled]=\"node.disabled\"\r\n color=\"default\"\r\n *ngIf=\"node.name && showCheckBox && !onlyCheckBoxForChild && !onlyFolder\"\r\n class=\"checklist-leaf-node\"\r\n [checked]=\"checklistSelection.isSelected(node)\"\r\n (change)=\"todoItemSelectionToggle(node)\"\r\n >\r\n </mat-checkbox>\r\n\r\n <!-- form thu 2 -->\r\n <mat-checkbox\r\n qms-group-options\r\n [disabled]=\"node.disabled\"\r\n color=\"default\"\r\n *ngIf=\"node.name && showCheckBox && onlyCheckBoxForChild && !onlyFolder\"\r\n class=\"ml-10 checklist-leaf-node\"\r\n [checked]=\"checklistSelection.isSelected(node)\"\r\n (change)=\"todoItemSelectionToggle(node)\"\r\n ></mat-checkbox>\r\n <div\r\n class=\"expand-node\"\r\n *ngIf=\"node.name && !onlyFolder\"\r\n [class.bgSelected]=\"treeConfig.selectOne && idCheckIcon == node.id\"\r\n (click)=\"selectNode(node)\"\r\n >\r\n <div class=\"expand-node__text\">\r\n <mat-icon\r\n *ngIf=\"displayType === itemIconType.name && !onlyCheckBoxForChild\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined\"\r\n >\r\n {{ itemIcon }}\r\n </mat-icon>\r\n\r\n <mat-icon\r\n *ngIf=\"displayType === itemIconType.svg && !onlyCheckBoxForChild\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined\"\r\n [svgIcon]=\"itemIconSvg\"\r\n >\r\n </mat-icon>\r\n\r\n <img\r\n *ngIf=\"displayType === itemIconType.path && !onlyCheckBoxForChild\"\r\n class=\"mat-icon\"\r\n [src]=\"itemIconPath\"\r\n />\r\n\r\n <img\r\n *ngIf=\"displayType === itemIconType.base64 && !onlyCheckBoxForChild\"\r\n class=\"mat-icon image-base64\"\r\n [src]=\"getImagePath()\"\r\n />\r\n\r\n <mat-icon\r\n *ngIf=\"displayType === itemIconType.none && !onlyCheckBoxForChild\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined\"\r\n [svgIcon]=\"getItemIcon(node)\"\r\n ></mat-icon>\r\n <span class=\"text-node\">{{ node.name }}</span>\r\n </div>\r\n <mat-icon\r\n class=\"icon-check\"\r\n *ngIf=\"treeConfig.selectOne && idCheckIcon == node.id\"\r\n >done</mat-icon\r\n >\r\n </div>\r\n </mat-tree-node>\r\n\r\n <mat-tree-node *matTreeNodeDef=\"let node; when: hasChild\" matTreeNodePadding>\r\n <!-- form thu 1 - parent -->\r\n <mat-checkbox\r\n qms-group-options\r\n [disabled]=\"node.disabled\"\r\n color=\"default\"\r\n *ngIf=\"showCheckBox && !onlyCheckBoxForChild\"\r\n [checked]=\"descendantsAllSelected(node)\"\r\n [indeterminate]=\"descendantsPartiallySelected(node)\"\r\n (change)=\"todoItemSelectionToggle(node)\"\r\n ></mat-checkbox>\r\n <button\r\n class=\"button-boder\"\r\n mat-icon-button\r\n matTreeNodeToggle\r\n [disableRipple]=\"!node.hasChild\"\r\n [attr.aria-label]=\"'toggle ' + node.filename\"\r\n >\r\n <mat-icon\r\n *ngIf=\"openIcon && closeIcon\"\r\n class=\"mat-icon-rtl-mirror\"\r\n [ngStyle]=\"{\r\n color: treeControl.isExpanded(node) ? openIconColor : closeIconColor\r\n }\"\r\n >{{ getNodeIcon(node) }}</mat-icon\r\n >\r\n <mat-icon\r\n *ngIf=\"!openIcon || !closeIcon\"\r\n class=\"mat-icon-rtl-mirror\"\r\n [ngClass]=\"{\r\n 'open-icon': treeControl.isExpanded(node),\r\n 'not-department-icon': moduleId !== dataType.document\r\n }\"\r\n [svgIcon]=\"getNodeIcon(node)\"\r\n >\r\n </mat-icon>\r\n </button>\r\n <span\r\n *ngIf=\"expandOnTitleClick\"\r\n matTreeNodeToggle\r\n class=\"text-node-parent\"\r\n style=\"cursor: pointer\"\r\n (click)=\"onExpandNode(node)\"\r\n [ngStyle]=\"{\r\n color: treeControl.isExpanded(node) ? openIconColor : '#000000'\r\n }\"\r\n >\r\n <span>{{ node.name }}</span>\r\n <mat-icon\r\n class=\"icon-check\"\r\n *ngIf=\"treeConfig.selectOne && idCheckIcon == node.id\"\r\n >done</mat-icon\r\n >\r\n </span>\r\n <span\r\n *ngIf=\"!expandOnTitleClick\"\r\n class=\"text-node-parent\"\r\n (click)=\"selectFolderNode(node)\"\r\n style=\"cursor: pointer\"\r\n [id]=\"getNodeId(node)\"\r\n >\r\n <span>{{ node.name }}</span>\r\n <mat-icon\r\n class=\"icon-check\"\r\n *ngIf=\"treeConfig.selectOne && idCheckIcon == node.id\"\r\n >done</mat-icon\r\n >\r\n </span>\r\n </mat-tree-node>\r\n</mat-tree>\r\n",
4689
+ template: "<mat-tree\r\n [dataSource]=\"dataSource\"\r\n [treeControl]=\"treeControl\"\r\n class=\"tree__container\"\r\n>\r\n <mat-tree-node\r\n class=\"tree-branch\"\r\n *matTreeNodeDef=\"let node\"\r\n matTreeNodeToggle\r\n matTreeNodePadding\r\n >\r\n <!-- form thu 1 - child -->\r\n <mat-checkbox\r\n qms-group-options\r\n [disabled]=\"node.disabled\"\r\n color=\"default\"\r\n *ngIf=\"node.name && showCheckBox && !onlyCheckBoxForChild && !onlyFolder\"\r\n class=\"checklist-leaf-node\"\r\n [checked]=\"checklistSelection.isSelected(node)\"\r\n (change)=\"todoItemSelectionToggle(node)\"\r\n >\r\n </mat-checkbox>\r\n\r\n <!-- form thu 2 -->\r\n <mat-checkbox\r\n qms-group-options\r\n [disabled]=\"node.disabled\"\r\n color=\"default\"\r\n *ngIf=\"node.name && showCheckBox && onlyCheckBoxForChild && !onlyFolder\"\r\n class=\"ml-10 checklist-leaf-node\"\r\n [checked]=\"checklistSelection.isSelected(node)\"\r\n (change)=\"todoItemSelectionToggle(node)\"\r\n ></mat-checkbox>\r\n <div\r\n class=\"expand-node\"\r\n *ngIf=\"node.name && !onlyFolder\"\r\n [class.bgSelected]=\"treeConfig.selectOne && idCheckIcon == node.id\"\r\n (click)=\"selectNode(node)\"\r\n [id]=\"getNodeId(node)\"\r\n >\r\n <div class=\"expand-node__text\">\r\n <mat-icon\r\n *ngIf=\"displayType === itemIconType.name && !onlyCheckBoxForChild\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined\"\r\n >\r\n {{ itemIcon }}\r\n </mat-icon>\r\n\r\n <mat-icon\r\n *ngIf=\"displayType === itemIconType.svg && !onlyCheckBoxForChild\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined\"\r\n [svgIcon]=\"itemIconSvg\"\r\n >\r\n </mat-icon>\r\n\r\n <img\r\n *ngIf=\"displayType === itemIconType.path && !onlyCheckBoxForChild\"\r\n class=\"mat-icon\"\r\n [src]=\"itemIconPath\"\r\n />\r\n\r\n <img\r\n *ngIf=\"displayType === itemIconType.base64 && !onlyCheckBoxForChild\"\r\n class=\"mat-icon image-base64\"\r\n [src]=\"getImagePath()\"\r\n />\r\n\r\n <mat-icon\r\n *ngIf=\"displayType === itemIconType.none && !onlyCheckBoxForChild\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined\"\r\n [svgIcon]=\"getItemIcon(node)\"\r\n ></mat-icon>\r\n <span class=\"text-node\">{{ node.name }}</span>\r\n </div>\r\n <mat-icon\r\n class=\"icon-check\"\r\n *ngIf=\"treeConfig.selectOne && idCheckIcon == node.id\"\r\n >done</mat-icon\r\n >\r\n </div>\r\n </mat-tree-node>\r\n\r\n <mat-tree-node *matTreeNodeDef=\"let node; when: hasChild\" matTreeNodePadding>\r\n <!-- form thu 1 - parent -->\r\n <mat-checkbox\r\n qms-group-options\r\n [disabled]=\"node.disabled\"\r\n color=\"default\"\r\n *ngIf=\"node.name && showCheckBox && !onlyCheckBoxForChild\"\r\n [checked]=\"descendantsAllSelected(node)\"\r\n [indeterminate]=\"descendantsPartiallySelected(node)\"\r\n (change)=\"todoItemSelectionToggle(node)\"\r\n ></mat-checkbox>\r\n <button\r\n class=\"button-boder\"\r\n mat-icon-button\r\n matTreeNodeToggle\r\n [disableRipple]=\"!node.hasChild\"\r\n [attr.aria-label]=\"'toggle ' + node.filename\"\r\n *ngIf=\"node.name\"\r\n >\r\n <mat-icon\r\n *ngIf=\"openIcon && closeIcon\"\r\n class=\"mat-icon-rtl-mirror\"\r\n [ngStyle]=\"{\r\n color: treeControl.isExpanded(node) ? openIconColor : closeIconColor\r\n }\"\r\n >{{ getNodeIcon(node) }}</mat-icon\r\n >\r\n <mat-icon\r\n *ngIf=\"!openIcon || !closeIcon\"\r\n class=\"mat-icon-rtl-mirror\"\r\n [ngClass]=\"{\r\n 'open-icon': treeControl.isExpanded(node),\r\n 'not-department-icon': moduleId !== dataType.document\r\n }\"\r\n [svgIcon]=\"getNodeIcon(node)\"\r\n >\r\n </mat-icon>\r\n </button>\r\n <span\r\n *ngIf=\"expandOnTitleClick\"\r\n matTreeNodeToggle\r\n class=\"text-node-parent\"\r\n style=\"cursor: pointer\"\r\n (click)=\"onExpandNode(node)\"\r\n [ngStyle]=\"{\r\n color: treeControl.isExpanded(node) ? openIconColor : '#000000'\r\n }\"\r\n >\r\n <span>{{ node.name }}</span>\r\n <mat-icon\r\n class=\"icon-check\"\r\n *ngIf=\"treeConfig.selectOne && idCheckIcon == node.id\"\r\n >done</mat-icon\r\n >\r\n </span>\r\n <span\r\n *ngIf=\"!expandOnTitleClick\"\r\n class=\"text-node-parent\"\r\n (click)=\"selectFolderNode(node)\"\r\n style=\"cursor: pointer\"\r\n [id]=\"getNodeId(node)\"\r\n >\r\n <span>{{ node.name }}</span>\r\n <mat-icon\r\n class=\"icon-check\"\r\n *ngIf=\"treeConfig.selectOne && idCheckIcon == node.id\"\r\n >done</mat-icon\r\n >\r\n </span>\r\n </mat-tree-node>\r\n</mat-tree>\r\n",
4619
4690
  encapsulation: ViewEncapsulation.None,
4620
4691
  styles: ["@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWJ0bbck.woff2) format(\"woff2\");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFUZ0bbck.woff2) format(\"woff2\");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWZ0bbck.woff2) format(\"woff2\");unicode-range:U+1f??}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFVp0bbck.woff2) format(\"woff2\");unicode-range:U+0370-03ff}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWp0bbck.woff2) format(\"woff2\");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFW50bbck.woff2) format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFVZ0b.woff2) format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCFPrEHJA.woff2) format(\"woff2\");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCMPrEHJA.woff2) format(\"woff2\");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCHPrEHJA.woff2) format(\"woff2\");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCGPrEHJA.woff2) format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCIPrE.woff2) format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}.tree__container{font-family:Open Sans;font-style:normal;font-weight:400;font-size:.875rem;line-height:19px;color:#323232}.tree__container .mat-tree-node{color:#000;min-height:0}.tree__container .mat-tree-node .mat-checkbox.qms-group-options{padding:0}.tree__container .mat-tree-node .mat-checkbox.qms-group-options .mat-checkbox-inner-container{margin-right:11px}.tree__container .button{margin-left:6px}.tree__container .button:focus,.tree__container .button:hover{background-color:#009ef2;border-radius:2px;width:auto}.tree__container .button-boder:focus,.tree__container .button:focus{outline:0}.tree__container .button-folder-boder:focus{outline:0}.tree__container .button-folder-boder:focus,.tree__container .button-folder-boder:hover{background-color:#009ef2;border-radius:2px;width:auto}.tree__container .expand-node{margin-left:8px;min-height:32px;justify-content:space-between;width:100%}.tree__container .expand-node,.tree__container .expand-node .expand-node__text{display:flex;align-items:center}.tree__container .expand-node .mat-icon{color:rgba(0,0,0,.6);margin-right:17px;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}.tree__container .expand-node .mat-icon svg{display:block;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}.tree__container .expand-node.bgSelected .icon-check{color:#1954a9}.tree__container .text-node-parent{width:100%;display:flex;align-items:center;justify-content:space-between;margin-left:10px;cursor:pointer}.tree__container .text-node-parent.active-item{color:#1954a9!important}.tree__container .text-node-parent.bgSelected .icon-check{color:#1954a9}.tree__container .mr-11{margin-right:11px}.tree__container .ml-10{margin-left:10px}.tree__container .tree-branch:hover{background-color:#e5eefb}.tree__container .image-base64{width:20px;height:20px}.tree__container .mat-checkbox.qms-group-options.mat-checkbox-checked{background:transparent!important}::ng-deep .mat-tree .mat-checkbox.qms-group-options{padding:0}::ng-deep .mat-tree .mat-checkbox.qms-group-options.mat-checkbox-checked{background-color:transparent}::ng-deep .mat-tree .mat-checkbox.qms-group-options .mat-checkbox-inner-container{margin-right:0}svg{display:block;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}.open-icon.not-department-icon svg path,.open-icon svg path:first-child{fill:#1954a9}"]
4621
4692
  },] }
@@ -4633,6 +4704,8 @@ TreeComponent.propDecorators = {
4633
4704
  selectedRiskData: [{ type: Input }],
4634
4705
  disabledList: [{ type: Input }],
4635
4706
  expandOnTitleClick: [{ type: Input }],
4707
+ expandToChildNode: [{ type: Input }],
4708
+ parentNodeOnClick: [{ type: Input }],
4636
4709
  selectNodeEvent: [{ type: Output }],
4637
4710
  selectFolderEvent: [{ type: Output }],
4638
4711
  checkBoxEvent: [{ type: Output }],
@@ -4676,7 +4749,7 @@ QMSTreeModule.decorators = [
4676
4749
  class RelatedContentComponent {
4677
4750
  constructor() {
4678
4751
  this.contents = [];
4679
- this.dataType = DataType;
4752
+ this.dataType = DataType$1;
4680
4753
  this.imageProcess = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTkiIHZpZXdCb3g9IjAgMCAxOCAxOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMCAwLjVWNi41SDJWMTYuNUgxMlYxOC41SDE4VjEyLjVIMTJWMTQuNUg0VjYuNUg2VjQuNUgxMlY2LjVIMThWMC41SDEyVjIuNUg2VjAuNUgwWk00IDIuNVY0LjVIMlYyLjVINFpNMTYgMi41VjQuNUgxNFYyLjVIMTZaTTE2IDE2LjVWMTQuNUgxNFYxNi41SDE2WiIgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMC42Ii8+DQo8L3N2Zz4NCg==';
4681
4754
  }
4682
4755
  ngOnInit() {
@@ -4710,7 +4783,7 @@ class RelatedListComponent {
4710
4783
  this.iconRegistry = iconRegistry;
4711
4784
  this.appIconService = appIconService;
4712
4785
  this.relatedData = [];
4713
- this.dataType = DataType;
4786
+ this.dataType = DataType$1;
4714
4787
  // imageProcess = '../qms-angular/src/assets/images/union.svg';
4715
4788
  this.imageProcess = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTkiIHZpZXdCb3g9IjAgMCAxOCAxOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMCAwLjVWNi41SDJWMTYuNUgxMlYxOC41SDE4VjEyLjVIMTJWMTQuNUg0VjYuNUg2VjQuNUgxMlY2LjVIMThWMC41SDEyVjIuNUg2VjAuNUgwWk00IDIuNVY0LjVIMlYyLjVINFpNMTYgMi41VjQuNUgxNFYyLjVIMTZaTTE2IDE2LjVWMTQuNUgxNFYxNi41SDE2WiIgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMC42Ii8+DQo8L3N2Zz4NCg==';
4716
4789
  this.updateData = new EventEmitter();
@@ -4764,43 +4837,43 @@ class RelatedListComponent {
4764
4837
  }
4765
4838
  getNodeIcon(item) {
4766
4839
  switch (item.itemType) {
4767
- case DataType.folder: {
4840
+ case DataType$1.folder: {
4768
4841
  switch (item.levelType) {
4769
- case DocumentNodeType.DepartmentFolder:
4842
+ case DocumentNodeType$1.DepartmentFolder:
4770
4843
  return 'department_folder_outlined';
4771
- case DocumentNodeType.RegionalFolder:
4844
+ case DocumentNodeType$1.RegionalFolder:
4772
4845
  return 'regional_folder_outlined';
4773
- case DocumentNodeType.TopFolder:
4846
+ case DocumentNodeType$1.TopFolder:
4774
4847
  return 'enterprise_folder_outlined';
4775
- case DocumentNodeType.Folder:
4848
+ case DocumentNodeType$1.Folder:
4776
4849
  return 'local_folder_outlined';
4777
4850
  default:
4778
4851
  return 'folder_outlined';
4779
4852
  }
4780
4853
  }
4781
- case DataType.document: {
4854
+ case DataType$1.document: {
4782
4855
  switch (item.levelType) {
4783
- case DocumentNodeType.DepartmentFolder:
4856
+ case DocumentNodeType$1.DepartmentFolder:
4784
4857
  return 'document_department';
4785
- case DocumentNodeType.RegionalFolder:
4858
+ case DocumentNodeType$1.RegionalFolder:
4786
4859
  return 'document_regional';
4787
- case DocumentNodeType.TopFolder:
4860
+ case DocumentNodeType$1.TopFolder:
4788
4861
  return 'document_enterprise';
4789
- case DocumentNodeType.Folder:
4862
+ case DocumentNodeType$1.Folder:
4790
4863
  return 'document_local';
4791
4864
  default:
4792
4865
  return 'document';
4793
4866
  }
4794
4867
  }
4795
- case DataType.area:
4868
+ case DataType$1.area:
4796
4869
  return 'process_area_outlined';
4797
- case DataType.process:
4870
+ case DataType$1.process:
4798
4871
  return 'process';
4799
- case DataType.deviation:
4872
+ case DataType$1.deviation:
4800
4873
  return 'deviation';
4801
- case DataType.checklist:
4874
+ case DataType$1.checklist:
4802
4875
  return 'checklist';
4803
- case DataType.risk:
4876
+ case DataType$1.risk:
4804
4877
  return 'risk';
4805
4878
  default:
4806
4879
  return 'folder_outlined';
@@ -4831,13 +4904,13 @@ RelatedListComponent.propDecorators = {
4831
4904
  onItemSelect: [{ type: Output }]
4832
4905
  };
4833
4906
 
4834
- var ModuleType;
4907
+ var ModuleType$1;
4835
4908
  (function (ModuleType) {
4836
4909
  ModuleType[ModuleType["documentProcess"] = 1] = "documentProcess";
4837
4910
  ModuleType[ModuleType["deviation"] = 2] = "deviation";
4838
4911
  ModuleType[ModuleType["checklist"] = 3] = "checklist";
4839
4912
  ModuleType[ModuleType["risk"] = 4] = "risk";
4840
- })(ModuleType || (ModuleType = {}));
4913
+ })(ModuleType$1 || (ModuleType$1 = {}));
4841
4914
 
4842
4915
  class PopupData {
4843
4916
  constructor() {
@@ -4871,6 +4944,9 @@ class SearchRelatedItemsToChecklist {
4871
4944
  class SearchRelatedItemsToRisk {
4872
4945
  }
4873
4946
 
4947
+ class TreeModel {
4948
+ }
4949
+
4874
4950
  class QMSRelatedGlobalService {
4875
4951
  constructor() {
4876
4952
  this.searchRelated = new BehaviorSubject([]);
@@ -4889,6 +4965,9 @@ QMSRelatedGlobalService.decorators = [
4889
4965
  ];
4890
4966
  QMSRelatedGlobalService.ctorParameters = () => [];
4891
4967
 
4968
+ class TreeFlatNode {
4969
+ }
4970
+
4892
4971
  class RelatedPopupComponent {
4893
4972
  constructor(cdRef, translate, dialogRef, globalService, iconRegistry, sanitizer, appIconService, elem, data) {
4894
4973
  this.cdRef = cdRef;
@@ -4913,8 +4992,8 @@ class RelatedPopupComponent {
4913
4992
  this.documentCheckedList = [];
4914
4993
  this.singleProcessList = [];
4915
4994
  this.singleDocumentList = [];
4916
- this.module = ModuleType;
4917
- this.dataType = DataType;
4995
+ this.module = ModuleType$1;
4996
+ this.dataType = DataType$1;
4918
4997
  this.itemType = 0;
4919
4998
  this.selectedRiskData = [];
4920
4999
  this.disabledList = [];
@@ -4932,6 +5011,7 @@ class RelatedPopupComponent {
4932
5011
  this.listChildrenSelectOne = [];
4933
5012
  this.onSearch = new EventEmitter();
4934
5013
  this.onExpandFolder = new EventEmitter();
5014
+ this.parentNodeSelected = new TreeFlatNode();
4935
5015
  this.moduleId = data.moduleId;
4936
5016
  this.moduleName = data.moduleName;
4937
5017
  this.treeData1 = data.treeData1;
@@ -4977,8 +5057,82 @@ class RelatedPopupComponent {
4977
5057
  }
4978
5058
  });
4979
5059
  this.globalService.splitViewValue.pipe(takeUntil(this.ngUnsubscribe)).subscribe((res) => {
4980
- if (res) {
4981
- this.itemInSplitview = res;
5060
+ this.itemInSplitview = res;
5061
+ if (res.length) {
5062
+ let listNodeProcess = [];
5063
+ let listNodeDocs = [];
5064
+ res.forEach(item => {
5065
+ if (item.itemType === DataType$1.process) {
5066
+ let newNodeProcess = new TreeModel();
5067
+ newNodeProcess.childId = item.id;
5068
+ newNodeProcess.childName = item.itemName;
5069
+ newNodeProcess.displayId = +item.itemNumberId;
5070
+ newNodeProcess.parentId = "";
5071
+ newNodeProcess.rootId = item.parentId;
5072
+ newNodeProcess.rootName = item === null || item === void 0 ? void 0 : item.parentName;
5073
+ newNodeProcess.subName = null;
5074
+ newNodeProcess.statusId = item.status;
5075
+ listNodeProcess.push(newNodeProcess);
5076
+ }
5077
+ else {
5078
+ let newNodeDocs = new TreeModel();
5079
+ newNodeDocs.childId = item.id;
5080
+ newNodeDocs.childName = item.itemName;
5081
+ newNodeDocs.displayId = +item.itemNumberId;
5082
+ newNodeDocs.parentId = "";
5083
+ newNodeDocs.rootId = item.parentId;
5084
+ newNodeDocs.rootName = item === null || item === void 0 ? void 0 : item.parentName;
5085
+ newNodeDocs.subName = null;
5086
+ newNodeDocs.statusId = item.status;
5087
+ listNodeDocs.push(newNodeDocs);
5088
+ }
5089
+ });
5090
+ let idsProcess = new Set(this.treeData1.map(d => d.childId));
5091
+ this.treeData1 = [...this.treeData1, ...listNodeProcess.filter(d => !idsProcess.has(d.childId))];
5092
+ let idsDocs = new Set(this.treeData2.map(d => d.childId));
5093
+ this.treeData2 = [...this.treeData2, ...listNodeDocs.filter(d => !idsDocs.has(d.childId))];
5094
+ if (this.checkedNodeList.length) {
5095
+ this.selectedData = [];
5096
+ this.selectedData2 = [];
5097
+ let selectProcess = [];
5098
+ let selectDocument = [];
5099
+ this.checkedNodeList.forEach(x => {
5100
+ if (x.itemType === DataType$1.area || x.itemType === DataType$1.process) {
5101
+ this.treeData1.forEach(item => {
5102
+ if (item.childId && x.id === item.childId || !item.childId && (x.id === item.rootId)) {
5103
+ selectProcess.push({
5104
+ disabled: false,
5105
+ expandable: x.itemType == DataType$1.area ? true : false,
5106
+ hasChild: x.itemType == DataType$1.area ? true : false,
5107
+ id: x.id,
5108
+ level: 0,
5109
+ levelType: undefined,
5110
+ name: x.itemName,
5111
+ parentId: x.parentId
5112
+ });
5113
+ }
5114
+ });
5115
+ }
5116
+ else {
5117
+ this.treeData2.forEach(item => {
5118
+ if (item.childId && x.id === item.childId || !item.childId && (x.id === item.rootId)) {
5119
+ selectDocument.push({
5120
+ disabled: false,
5121
+ expandable: x.itemType == DataType$1.folder ? true : false,
5122
+ hasChild: x.itemType == DataType$1.folder ? true : false,
5123
+ id: x.id,
5124
+ level: 0,
5125
+ levelType: undefined,
5126
+ name: x.itemName,
5127
+ parentId: x.parentId
5128
+ });
5129
+ }
5130
+ });
5131
+ }
5132
+ });
5133
+ this.selectedData = [...this.selectedData, ...selectProcess];
5134
+ this.selectedData2 = [...this.selectedData2, ...selectDocument];
5135
+ }
4982
5136
  }
4983
5137
  });
4984
5138
  this.myControl.valueChanges.pipe(debounceTime(1000)).subscribe((val) => {
@@ -5001,16 +5155,16 @@ class RelatedPopupComponent {
5001
5155
  getDataTypeId(moduleId) {
5002
5156
  let itemType;
5003
5157
  switch (moduleId) {
5004
- case ModuleType.documentProcess:
5158
+ case ModuleType$1.documentProcess:
5005
5159
  itemType = this.dataType.process;
5006
5160
  break;
5007
- case ModuleType.deviation:
5161
+ case ModuleType$1.deviation:
5008
5162
  itemType = this.dataType.deviation;
5009
5163
  break;
5010
- case ModuleType.checklist:
5164
+ case ModuleType$1.checklist:
5011
5165
  itemType = this.dataType.checklist;
5012
5166
  break;
5013
- case ModuleType.risk:
5167
+ case ModuleType$1.risk:
5014
5168
  itemType = this.dataType.risk;
5015
5169
  break;
5016
5170
  default:
@@ -5115,7 +5269,7 @@ class RelatedPopupComponent {
5115
5269
  return related ? related.itemName : undefined;
5116
5270
  }
5117
5271
  selectRelated(item) {
5118
- var _a, _b;
5272
+ var _a, _b, _c, _d, _e, _f, _g, _h;
5119
5273
  if (((_a = this.treeConfig1) === null || _a === void 0 ? void 0 : _a.selectOne) || ((_b = this.treeConfig2) === null || _b === void 0 ? void 0 : _b.selectOne)) {
5120
5274
  this.disabledList = [];
5121
5275
  this.disabledList2 = [];
@@ -5147,6 +5301,78 @@ class RelatedPopupComponent {
5147
5301
  };
5148
5302
  this.dataTrees.toArray()[1].todoItemSelection([treeNode]);
5149
5303
  }
5304
+ else {
5305
+ let newNodeDocs = new TreeModel();
5306
+ newNodeDocs.rootId = (_c = item.breadcumbs[item.breadcumbs.length - 1]) === null || _c === void 0 ? void 0 : _c['id'];
5307
+ newNodeDocs.rootName = (_d = item.breadcumbs[item.breadcumbs.length - 1]) === null || _d === void 0 ? void 0 : _d['name'];
5308
+ newNodeDocs.parentId = '';
5309
+ newNodeDocs.subName = null;
5310
+ newNodeDocs.childId = item.id;
5311
+ newNodeDocs.childName = item.itemName;
5312
+ newNodeDocs.statusId = item === null || item === void 0 ? void 0 : item['itemStatus'];
5313
+ newNodeDocs.displayId = +item.itemNumberId;
5314
+ this.treeData2 = [...this.treeData2, newNodeDocs];
5315
+ let newSelectedDocs = new TreeFlatNode();
5316
+ newSelectedDocs.disabled = false;
5317
+ newSelectedDocs.expandable = false;
5318
+ newSelectedDocs.hasChild = false;
5319
+ newSelectedDocs.id = item.id;
5320
+ newSelectedDocs.level = 0;
5321
+ newSelectedDocs.levelType = undefined;
5322
+ newSelectedDocs.name = item.itemName;
5323
+ newSelectedDocs.parentId = (_e = item.breadcumbs[item.breadcumbs.length - 1]) === null || _e === void 0 ? void 0 : _e['id'];
5324
+ this.selectedData2 = [];
5325
+ this.selectedData = [];
5326
+ let selectProcess = [];
5327
+ let selectDocument = [];
5328
+ if (this.checkedNodeList.length) {
5329
+ this.checkedNodeList.forEach(x => {
5330
+ if (x.itemType === DataType$1.area || x.itemType === DataType$1.process) {
5331
+ this.treeData1.forEach(item => {
5332
+ if (item.childId && x.id === item.childId || !item.childId && (x.id === item.rootId)) {
5333
+ selectProcess.push({
5334
+ disabled: false,
5335
+ expandable: x.itemType == DataType$1.area ? true : false,
5336
+ hasChild: x.itemType == DataType$1.area ? true : false,
5337
+ id: x.id,
5338
+ level: 0,
5339
+ levelType: undefined,
5340
+ name: x.itemName,
5341
+ parentId: x.parentId
5342
+ });
5343
+ }
5344
+ });
5345
+ }
5346
+ else {
5347
+ this.treeData2.forEach(item => {
5348
+ if (item.childId && x.id === item.childId || !item.childId && (x.id === item.rootId)) {
5349
+ selectDocument.push({
5350
+ disabled: false,
5351
+ expandable: x.itemType == DataType$1.folder ? true : false,
5352
+ hasChild: x.itemType == DataType$1.folder ? true : false,
5353
+ id: x.id,
5354
+ level: 0,
5355
+ levelType: undefined,
5356
+ name: x.itemName,
5357
+ parentId: x.parentId
5358
+ });
5359
+ }
5360
+ });
5361
+ }
5362
+ });
5363
+ }
5364
+ this.selectedData = [...this.selectedData, ...selectProcess];
5365
+ this.selectedData2 = [...this.selectedData2, ...selectDocument, newSelectedDocs];
5366
+ setTimeout(() => {
5367
+ const treeNode = {
5368
+ id: newNodeDocs.childId,
5369
+ name: newNodeDocs.childName,
5370
+ children: [],
5371
+ parentId: newNodeDocs.rootId
5372
+ };
5373
+ this.dataTrees.toArray()[1].todoItemSelection([treeNode]);
5374
+ }, 500);
5375
+ }
5150
5376
  }
5151
5377
  else if (item.itemType === this.dataType.folder) {
5152
5378
  position = this.treeData2.findIndex(x => {
@@ -5162,7 +5388,9 @@ class RelatedPopupComponent {
5162
5388
  itemName: item.itemName,
5163
5389
  itemType: typeId,
5164
5390
  itemNumberId: item.itemNumberId,
5165
- levelType: item.levelType
5391
+ levelType: item.levelType,
5392
+ parentId: item.parentId,
5393
+ parentName: item.parentName
5166
5394
  });
5167
5395
  }
5168
5396
  else {
@@ -5207,7 +5435,9 @@ class RelatedPopupComponent {
5207
5435
  itemName: node.rootName,
5208
5436
  itemType: typeId,
5209
5437
  itemNumberId: item.itemNumberId,
5210
- levelType: item.levelType
5438
+ levelType: item.levelType,
5439
+ parentId: item.parentId,
5440
+ parentName: item.parentName
5211
5441
  });
5212
5442
  }
5213
5443
  else {
@@ -5233,7 +5463,7 @@ class RelatedPopupComponent {
5233
5463
  else if (item.itemType === this.dataType.deviation ||
5234
5464
  item.itemType === this.dataType.checklist) {
5235
5465
  position = this.treeData1.findIndex(x => {
5236
- return x.childId.toLowerCase() === item.id.toLowerCase();
5466
+ return x.childId && x.childId.toLowerCase() === item.id.toLowerCase();
5237
5467
  });
5238
5468
  if (position >= 0) {
5239
5469
  node = this.treeData1[position];
@@ -5249,17 +5479,91 @@ class RelatedPopupComponent {
5249
5479
  }
5250
5480
  else {
5251
5481
  position = this.treeData1.findIndex(x => {
5252
- return x.childId.toLowerCase() === item.id.toLowerCase();
5482
+ return x.childId && x.childId.toLowerCase() === item.id.toLowerCase();
5253
5483
  });
5254
- node = this.treeData1[position];
5255
- typeId = this.itemType;
5256
- const treeNode = {
5257
- id: node.childId,
5258
- name: node.childName,
5259
- children: [],
5260
- parentId: node.rootId
5261
- };
5262
- this.dataTrees.toArray()[0].todoItemSelection([treeNode]);
5484
+ if (position >= 0) {
5485
+ node = this.treeData1[position];
5486
+ typeId = this.itemType;
5487
+ const treeNode = {
5488
+ id: node.childId,
5489
+ name: node.childName,
5490
+ children: [],
5491
+ parentId: node.rootId
5492
+ };
5493
+ this.dataTrees.toArray()[0].todoItemSelection([treeNode]);
5494
+ }
5495
+ else {
5496
+ let newNodeProcess = new TreeModel();
5497
+ newNodeProcess.rootId = (_f = item.breadcumbs[item.breadcumbs.length - 1]) === null || _f === void 0 ? void 0 : _f['id'];
5498
+ newNodeProcess.rootName = (_g = item.breadcumbs[item.breadcumbs.length - 1]) === null || _g === void 0 ? void 0 : _g['name'];
5499
+ newNodeProcess.parentId = '';
5500
+ newNodeProcess.subName = null;
5501
+ newNodeProcess.childId = item.id;
5502
+ newNodeProcess.childName = item.itemName;
5503
+ newNodeProcess.statusId = item === null || item === void 0 ? void 0 : item['itemStatus'];
5504
+ newNodeProcess.displayId = +item.itemNumberId;
5505
+ this.treeData1 = [...this.treeData1, newNodeProcess];
5506
+ let newSelectedProcess = new TreeFlatNode();
5507
+ newSelectedProcess.disabled = false;
5508
+ newSelectedProcess.expandable = false;
5509
+ newSelectedProcess.hasChild = false;
5510
+ newSelectedProcess.id = item.id;
5511
+ newSelectedProcess.level = 0;
5512
+ newSelectedProcess.levelType = undefined;
5513
+ newSelectedProcess.name = item.itemName;
5514
+ newSelectedProcess.parentId = (_h = item.breadcumbs[item.breadcumbs.length - 1]) === null || _h === void 0 ? void 0 : _h['id'];
5515
+ this.selectedData = [];
5516
+ this.selectedData2 = [];
5517
+ let selectProcess = [];
5518
+ let selectDocument = [];
5519
+ if (this.checkedNodeList.length) {
5520
+ this.checkedNodeList.forEach(x => {
5521
+ if (x.itemType === DataType$1.area || x.itemType === DataType$1.process) {
5522
+ this.treeData1.forEach(item => {
5523
+ if (item.childId && x.id === item.childId || !item.childId && (x.id === item.rootId)) {
5524
+ selectProcess.push({
5525
+ disabled: false,
5526
+ expandable: x.itemType == DataType$1.area ? true : false,
5527
+ hasChild: x.itemType == DataType$1.area ? true : false,
5528
+ id: x.id,
5529
+ level: 0,
5530
+ levelType: undefined,
5531
+ name: x.itemName,
5532
+ parentId: x.parentId
5533
+ });
5534
+ }
5535
+ });
5536
+ }
5537
+ else {
5538
+ this.treeData2.forEach(item => {
5539
+ if (item.childId && x.id === item.childId || !item.childId && (x.id === item.rootId)) {
5540
+ selectDocument.push({
5541
+ disabled: false,
5542
+ expandable: x.itemType == DataType$1.folder ? true : false,
5543
+ hasChild: x.itemType == DataType$1.folder ? true : false,
5544
+ id: x.id,
5545
+ level: 0,
5546
+ levelType: undefined,
5547
+ name: x.itemName,
5548
+ parentId: x.parentId
5549
+ });
5550
+ }
5551
+ });
5552
+ }
5553
+ });
5554
+ }
5555
+ this.selectedData = [...this.selectedData, ...selectProcess, newSelectedProcess];
5556
+ this.selectedData2 = [...this.selectedData2, ...selectDocument];
5557
+ setTimeout(() => {
5558
+ const treeNode = {
5559
+ id: newNodeProcess.childId,
5560
+ name: newNodeProcess.childName,
5561
+ children: [],
5562
+ parentId: newNodeProcess.rootId
5563
+ };
5564
+ this.dataTrees.toArray()[0].todoItemSelection([treeNode]);
5565
+ }, 500);
5566
+ }
5263
5567
  }
5264
5568
  }
5265
5569
  }
@@ -5294,7 +5598,8 @@ class RelatedPopupComponent {
5294
5598
  itemName: x.name,
5295
5599
  itemType: itemType,
5296
5600
  itemNumberId: item.displayId.toString(),
5297
- parentId: item.rootId
5601
+ parentId: item.rootId,
5602
+ parentName: item.rootName
5298
5603
  });
5299
5604
  });
5300
5605
  }
@@ -5486,7 +5791,7 @@ class RelatedPopupComponent {
5486
5791
  return (elmHeight + elmMargin);
5487
5792
  }
5488
5793
  getItemChipName(item) {
5489
- if (item.itemType === DataType.checklist || item.itemType === DataType.deviation) {
5794
+ if (item.itemType === DataType$1.checklist || item.itemType === DataType$1.deviation) {
5490
5795
  return (item.parentName && item.itemName !== item.parentName) ? `${item.parentName}/${item.itemName}` : item.itemName;
5491
5796
  }
5492
5797
  return item.itemName;
@@ -5496,43 +5801,43 @@ class RelatedPopupComponent {
5496
5801
  }
5497
5802
  getNodeIcon(item) {
5498
5803
  switch (item.itemType) {
5499
- case DataType.folder: {
5804
+ case DataType$1.folder: {
5500
5805
  switch (item.levelType) {
5501
- case DocumentNodeType.DepartmentFolder:
5806
+ case DocumentNodeType$1.DepartmentFolder:
5502
5807
  return 'department_folder_outlined';
5503
- case DocumentNodeType.RegionalFolder:
5808
+ case DocumentNodeType$1.RegionalFolder:
5504
5809
  return 'regional_folder_outlined';
5505
- case DocumentNodeType.TopFolder:
5810
+ case DocumentNodeType$1.TopFolder:
5506
5811
  return 'enterprise_folder_outlined';
5507
- case DocumentNodeType.Folder:
5812
+ case DocumentNodeType$1.Folder:
5508
5813
  return 'local_folder_outlined';
5509
5814
  default:
5510
5815
  return 'folder_outlined';
5511
5816
  }
5512
5817
  }
5513
- case DataType.document: {
5818
+ case DataType$1.document: {
5514
5819
  switch (item.levelType) {
5515
- case DocumentNodeType.DepartmentFolder:
5820
+ case DocumentNodeType$1.DepartmentFolder:
5516
5821
  return 'document_department';
5517
- case DocumentNodeType.RegionalFolder:
5822
+ case DocumentNodeType$1.RegionalFolder:
5518
5823
  return 'document_regional';
5519
- case DocumentNodeType.TopFolder:
5824
+ case DocumentNodeType$1.TopFolder:
5520
5825
  return 'document_enterprise';
5521
- case DocumentNodeType.Folder:
5826
+ case DocumentNodeType$1.Folder:
5522
5827
  return 'document_local';
5523
5828
  default:
5524
5829
  return 'document';
5525
5830
  }
5526
5831
  }
5527
- case DataType.area:
5832
+ case DataType$1.area:
5528
5833
  return 'process_area_outlined';
5529
- case DataType.process:
5834
+ case DataType$1.process:
5530
5835
  return 'process';
5531
- case DataType.deviation:
5836
+ case DataType$1.deviation:
5532
5837
  return 'deviation';
5533
- case DataType.checklist:
5838
+ case DataType$1.checklist:
5534
5839
  return 'checklist';
5535
- case DataType.risk:
5840
+ case DataType$1.risk:
5536
5841
  return 'risk';
5537
5842
  default:
5538
5843
  return 'folder_outlined';
@@ -5546,25 +5851,25 @@ class RelatedPopupComponent {
5546
5851
  }
5547
5852
  getTitle(type) {
5548
5853
  switch (type) {
5549
- case DataType.process:
5854
+ case DataType$1.process:
5550
5855
  return this.LANG.PROCESSES;
5551
- case DataType.area:
5856
+ case DataType$1.area:
5552
5857
  return this.LANG.PROCESS_AREA;
5553
- case DataType.document:
5858
+ case DataType$1.document:
5554
5859
  return this.LANG.DOCUMENTS;
5555
- case DataType.folder:
5860
+ case DataType$1.folder:
5556
5861
  return this.LANG.FOLDER;
5557
- case DataType.deviation:
5862
+ case DataType$1.deviation:
5558
5863
  return this.LANG.DEVIATION;
5559
- case DataType.deviationType:
5864
+ case DataType$1.deviationType:
5560
5865
  return this.LANG.DEVIATION_TYPE;
5561
- case DataType.checklist:
5866
+ case DataType$1.checklist:
5562
5867
  return this.LANG.CHECKLIST;
5563
- case DataType.checklistCategory:
5868
+ case DataType$1.checklistCategory:
5564
5869
  return this.LANG.CHECKLIST_CATEGORY;
5565
- case DataType.risk:
5870
+ case DataType$1.risk:
5566
5871
  return this.LANG.ASSESSMENT;
5567
- case DataType.riskFolder:
5872
+ case DataType$1.riskFolder:
5568
5873
  return this.LANG.FOLDER;
5569
5874
  }
5570
5875
  }
@@ -5613,38 +5918,43 @@ class RelatedPopupComponent {
5613
5918
  [].forEach.call(itemElement, (el) => {
5614
5919
  el.classList.add('active-item');
5615
5920
  });
5616
- let item = new IRelated();
5617
- item.id = node.id;
5618
- item.itemType = type;
5619
- item.itemName = node.name;
5620
- item.levelType = node.levelType;
5621
- this.selectedFolder = node;
5622
5921
  if (type === this.dataType.folder) {
5623
5922
  this.splitViewTitle = `${this.LANG.MESSAGE.DOCUMENTS_IN.toUpperCase()} "${node.name}"`;
5624
5923
  }
5625
5924
  else if (type === this.dataType.area) {
5626
5925
  this.splitViewTitle = `${this.LANG.MESSAGE.PROCESSES_IN.toUpperCase()} "${node.name}"`;
5627
5926
  }
5927
+ let item = new IRelated();
5928
+ item.id = node.id;
5929
+ item.itemType = type;
5930
+ item.itemName = node.name;
5931
+ item.levelType = node.levelType;
5932
+ this.selectedFolder = node;
5933
+ this.parentNodeSelected = new TreeFlatNode();
5934
+ this.parentNodeSelected = Object.assign({}, node);
5628
5935
  this.onExpandFolder.emit(item);
5629
5936
  }
5630
5937
  }
5631
5938
  canShowSearchOption(moduleId) {
5632
5939
  if (this.canOnlySelectItem &&
5633
- (moduleId === DataType.checklistCategory
5634
- || moduleId === DataType.riskFolder
5635
- || moduleId === DataType.deviationType
5636
- || (moduleId === DataType.area && this.treeConfig1 && !this.treeConfig1.singleSelectedNode)
5637
- || (moduleId === DataType.folder && this.treeConfig2 && !this.treeConfig2.singleSelectedNode))) {
5940
+ (moduleId === DataType$1.checklistCategory
5941
+ || moduleId === DataType$1.riskFolder
5942
+ || moduleId === DataType$1.deviationType
5943
+ || (moduleId === DataType$1.area && this.treeConfig1 && !this.treeConfig1.singleSelectedNode)
5944
+ || (moduleId === DataType$1.folder && this.treeConfig2 && !this.treeConfig2.singleSelectedNode))) {
5638
5945
  return false;
5639
5946
  }
5640
5947
  return this.getModuleFilteredOptions(moduleId).length > 0;
5641
5948
  }
5642
5949
  selectNodeTreeEvent(node) {
5643
5950
  var _a, _b, _c, _d;
5951
+ if (!node.itemType) {
5952
+ return;
5953
+ }
5644
5954
  let position = -1;
5645
5955
  let parentName = '';
5646
5956
  let itemNumberId = '';
5647
- if (node.itemType == DataType.folder || node.itemType == DataType.document) {
5957
+ if (node.itemType == DataType$1.folder || node.itemType == DataType$1.document) {
5648
5958
  position = !node.expandable ? this.treeData2.findIndex(p => p.childId === node.id && p.rootId === node.parentId) :
5649
5959
  this.treeData2.findIndex(p => p.rootId === node.id);
5650
5960
  parentName = this.treeData2[position].parentId ? this.treeData2[position].subName : this.treeData2[position].rootName;
@@ -5676,7 +5986,7 @@ class RelatedPopupComponent {
5676
5986
  RelatedPopupComponent.decorators = [
5677
5987
  { type: Component, args: [{
5678
5988
  selector: 'qms-related-popup',
5679
- template: "<div id=\"qmslib_related_popup\" class=\"qmslib__related__popup__container\">\r\n <div id=\"qmslib_related_popup_header\">\r\n <span mat-icon-button class=\"button__close\" (click)=\"onCloseClick()\">\r\n <mat-icon mat-icon>close</mat-icon>\r\n </span>\r\n <div id=\"qmslib_related_popup_header_001\" mat-dialog-content>\r\n <span>{{ moduleName | uppercase }}</span>\r\n </div>\r\n </div>\r\n\r\n <div\r\n id=\"qmslib_related_popup_search\"\r\n class=\"input__field\"\r\n (click)=\"showSearchResult()\"\r\n >\r\n <input\r\n #name\r\n type=\"text\"\r\n placeholder=\"{{ LANG.SEARCH }}\"\r\n matInput\r\n [formControl]=\"myControl\"\r\n [matAutocomplete]=\"auto\"\r\n #autoCompleteInputSearch\r\n />\r\n <mat-icon>search</mat-icon>\r\n </div>\r\n\r\n <div class=\"line__divider\"></div>\r\n\r\n <mat-autocomplete\r\n #auto=\"matAutocomplete\"\r\n [displayWith]=\"displayRelated\"\r\n class=\"mat-autocomplete_related-viewport\"\r\n >\r\n <cdk-virtual-scroll-viewport\r\n qms-scrollbar\r\n itemSize=\"10\"\r\n class=\"related-viewport\"\r\n >\r\n <ng-container *ngFor=\"let type of searchOrder\">\r\n <div\r\n class=\"search__module-result\"\r\n *ngIf=\"canShowSearchOption(type.value)\"\r\n >\r\n <span class=\"search__module-title\">{{ getTitle(type.value) }}</span>\r\n <mat-option\r\n class=\"search__option\"\r\n *ngFor=\"let option of getModuleFilteredOptions(type.value)\"\r\n [value]=\"option\"\r\n (click)=\"selectRelated(option)\"\r\n >\r\n <qms-list-item type=\"image-square\">\r\n <mat-icon\r\n leading-icon\r\n type=\"image-square\"\r\n [svgIcon]=\"getNodeIcon(option)\"\r\n ></mat-icon>\r\n <div qms-list-header>\r\n <div\r\n qms-line\r\n type=\"caption\"\r\n qms-tool-tip=\"{{\r\n isEllipsisActive(searchItemResult) ? option.parentName : ''\r\n }}\"\r\n mode=\"dark\"\r\n *ngIf=\"getParentName(option)\"\r\n >\r\n <span #searchItemResult class=\"search__result__parent-name\">\r\n {{ option.parentName }}\r\n </span>\r\n </div>\r\n <div qms-line type=\"subtitle\" class=\"search__option-name\">\r\n {{ option.itemName }}\r\n </div>\r\n <div\r\n class=\"caption\"\r\n *ngIf=\"option.breadcumbs && option.breadcumbs.length\"\r\n >\r\n <qms-breadcrumb\r\n class=\"breadcrumb-containe\"\r\n type=\"table\"\r\n numDisplayItem=\"1\"\r\n [nodes]=\"option.breadcumbs\"\r\n >\r\n </qms-breadcrumb>\r\n </div>\r\n </div>\r\n <div qms-line color=\"default-subtitle\" *ngIf=\"getItemId(option)\">\r\n <span class=\"material-icons-outlined search__description-icon\">\r\n local_offer\r\n </span>\r\n {{ getItemId(option) }}\r\n </div>\r\n </qms-list-item>\r\n </mat-option>\r\n </div>\r\n </ng-container>\r\n </cdk-virtual-scroll-viewport>\r\n </mat-autocomplete>\r\n\r\n <div class=\"row\">\r\n <div\r\n class=\"qms-scrollbar qmslib_related_popup_content\"\r\n [ngClass]=\"{\r\n panel__content_item: checkedNodeList.length,\r\n panel__content: !checkedNodeList.length,\r\n 'col-6': splitView,\r\n 'col-12': !splitView\r\n }\"\r\n >\r\n <mat-expansion-panel\r\n hideToggle\r\n id=\"qmslib_related_popup_common_001\"\r\n [expanded]=\"isCommonExpanded\"\r\n (opened)=\"isCommonExpanded = true\"\r\n (closed)=\"isCommonExpanded = false\"\r\n class=\"panel-tree\"\r\n >\r\n <mat-expansion-panel-header class=\"padding-5\">\r\n <mat-panel-title *ngIf=\"moduleId === module.documentProcess\">\r\n {{ LANG.PROCESSES | uppercase }}\r\n </mat-panel-title>\r\n <mat-panel-title *ngIf=\"moduleId === module.deviation\">\r\n {{ LANG.DEVIATION | uppercase }}\r\n </mat-panel-title>\r\n <mat-panel-title *ngIf=\"moduleId === module.checklist\">\r\n {{ LANG.CHECKLIST | uppercase }}\r\n </mat-panel-title>\r\n <mat-panel-title *ngIf=\"moduleId === module.risk\">\r\n {{ LANG.ASSESSMENT | uppercase }}\r\n </mat-panel-title>\r\n <button qms-btn-icon class=\"related_popup_toggle-btn\">\r\n <mat-icon>\r\n {{\r\n isCommonExpanded ? \"keyboard_arrow_up\" : \"keyboard_arrow_down\"\r\n }}\r\n </mat-icon>\r\n </button>\r\n </mat-expansion-panel-header>\r\n <div id=\"qmslib_related_popup_common_002\">\r\n <qms-tree\r\n [treeData]=\"treeData1\"\r\n [treeConfig]=\"treeConfig1\"\r\n [selectedData]=\"selectedData\"\r\n [selectedRiskData]=\"selectedRiskData\"\r\n [disabledList]=\"disabledList\"\r\n (checkBoxEvent)=\"getCommonCheckedNode($event)\"\r\n (nodeExpandEvent)=\"getChildrenOfFolder($event, dataType.area)\"\r\n (selectNodeEvent)=\"selectNodeTreeEvent($event)\"\r\n (getChildNodeSelectOne)=\"getChildNodeSelectOne($event)\"\r\n [expandOnTitleClick]=\"!splitView\"\r\n ></qms-tree>\r\n </div>\r\n </mat-expansion-panel>\r\n\r\n <div\r\n *ngIf=\"moduleId === module.documentProcess\"\r\n class=\"line__divider\"\r\n ></div>\r\n\r\n <mat-expansion-panel\r\n hideToggle\r\n *ngIf=\"moduleId === module.documentProcess\"\r\n id=\"qmslib_related_popup_document_001\"\r\n [expanded]=\"isDocumentExpanded\"\r\n (opened)=\"isDocumentExpanded = true\"\r\n (closed)=\"isDocumentExpanded = false\"\r\n class=\"panel-tree\"\r\n >\r\n <mat-expansion-panel-header class=\"padding-5\">\r\n <mat-panel-title> {{ LANG.DOCUMENTS | uppercase }} </mat-panel-title>\r\n <button qms-btn-icon class=\"related_popup_toggle-btn\">\r\n <mat-icon>\r\n {{\r\n isDocumentExpanded ? \"keyboard_arrow_up\" : \"keyboard_arrow_down\"\r\n }}\r\n </mat-icon>\r\n </button>\r\n </mat-expansion-panel-header>\r\n <div id=\"qmslib_related_popup_document_002\">\r\n <qms-tree\r\n [treeData]=\"treeData2\"\r\n [treeConfig]=\"treeConfig2\"\r\n [selectedData]=\"selectedData2\"\r\n [disabledList]=\"disabledList2\"\r\n (checkBoxEvent)=\"getDocumentCheckedNode($event)\"\r\n (nodeExpandEvent)=\"getChildrenOfFolder($event, dataType.folder)\"\r\n (selectNodeEvent)=\"selectNodeTreeEvent($event)\"\r\n (getChildNodeSelectOne)=\"getChildNodeSelectOne($event)\"\r\n [expandOnTitleClick]=\"!splitView\"\r\n ></qms-tree>\r\n </div>\r\n </mat-expansion-panel>\r\n </div>\r\n <div\r\n *ngIf=\"splitView\"\r\n class=\"\r\n qms-scrollbar\r\n qmslib-related-popup-splitview qmslib_related_popup_content\r\n col-6\r\n \"\r\n [ngClass]=\"{\r\n panel__content_item: checkedNodeList.length,\r\n panel__content: !checkedNodeList.length\r\n }\"\r\n >\r\n <div class=\"splitview-header\" *ngIf=\"selectedFolder\">\r\n {{ splitViewTitle }}\r\n </div>\r\n <div class=\"expand-node\" *ngFor=\"let node of itemInSplitview\">\r\n <mat-checkbox\r\n qms-group-options\r\n [disabled]=\"node.disabled\"\r\n color=\"default\"\r\n [checked]=\"isNodeSelected(node)\"\r\n (change)=\"toggleSelectItem(node)\"\r\n ></mat-checkbox>\r\n <mat-icon\r\n class=\"mat-icon-rtl-mirror material-icons-outlined\"\r\n [svgIcon]=\"getNodeIcon(node)\"\r\n ></mat-icon>\r\n <span class=\"text-node\">{{ node.itemName }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"checkedNodeList.length\" class=\"line__divider\"></div>\r\n\r\n <div *ngIf=\"checkedNodeList.length\" class=\"panel__item qms-scrollbar\">\r\n <div class=\"related__item__inline\" *ngFor=\"let item of checkedNodeList\">\r\n <button\r\n *ngIf=\"item.itemName\"\r\n mat-button\r\n class=\"related__item__content\"\r\n qms-tool-tip=\"{{\r\n isEllipsisActive(itemName) ? getItemChipName(item) : ''\r\n }}\"\r\n mode=\"dark\"\r\n >\r\n <span class=\"related__item__content_name\" #itemName>{{\r\n getItemChipName(item)\r\n }}</span>\r\n <mat-icon\r\n *ngIf=\"!(treeConfig1?.selectOne || treeConfig2?.selectOne)\"\r\n (click)=\"removeCheckedNodeList(item)\"\r\n >cancel</mat-icon\r\n >\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"line__divider\"></div>\r\n\r\n <div class=\"confirm__button__groups\">\r\n <button\r\n *ngIf=\"!checkedNodeList.length\"\r\n qms-btn\r\n style=\"margin-top: 7px\"\r\n (click)=\"onAddClick()\"\r\n >\r\n {{ LANG.ADD }}\r\n </button>\r\n <button\r\n *ngIf=\"checkedNodeList.length\"\r\n qms-btn\r\n style=\"margin-top: 0px\"\r\n (click)=\"onAddClick()\"\r\n >\r\n {{ LANG.ADD }} ({{ checkedNodeList.length }})\r\n </button>\r\n <button\r\n qms-btn-text\r\n [ngStyle]=\"{ 'margin-top': checkedNodeList.length ? '0px' : '7px' }\"\r\n (click)=\"onCloseClick()\"\r\n >\r\n {{ LANG.CANCEL }}\r\n </button>\r\n </div>\r\n</div>\r\n",
5989
+ template: "<div id=\"qmslib_related_popup\" class=\"qmslib__related__popup__container\">\r\n <div id=\"qmslib_related_popup_header\">\r\n <span mat-icon-button class=\"button__close\" (click)=\"onCloseClick()\">\r\n <mat-icon mat-icon>close</mat-icon>\r\n </span>\r\n <div id=\"qmslib_related_popup_header_001\" mat-dialog-content>\r\n <span>{{ moduleName | uppercase }}</span>\r\n </div>\r\n </div>\r\n\r\n <div\r\n id=\"qmslib_related_popup_search\"\r\n class=\"input__field\"\r\n (click)=\"showSearchResult()\"\r\n >\r\n <input\r\n #name\r\n type=\"text\"\r\n placeholder=\"{{ LANG.SEARCH }}\"\r\n matInput\r\n [formControl]=\"myControl\"\r\n [matAutocomplete]=\"auto\"\r\n #autoCompleteInputSearch\r\n />\r\n <mat-icon>search</mat-icon>\r\n </div>\r\n\r\n <div class=\"line__divider\"></div>\r\n\r\n <mat-autocomplete\r\n #auto=\"matAutocomplete\"\r\n [displayWith]=\"displayRelated\"\r\n class=\"mat-autocomplete_related-viewport\"\r\n >\r\n <cdk-virtual-scroll-viewport\r\n qms-scrollbar\r\n itemSize=\"10\"\r\n class=\"related-viewport\"\r\n >\r\n <ng-container *ngFor=\"let type of searchOrder\">\r\n <div\r\n class=\"search__module-result\"\r\n *ngIf=\"canShowSearchOption(type.value)\"\r\n >\r\n <span class=\"search__module-title\">{{ getTitle(type.value) }}</span>\r\n <mat-option\r\n class=\"search__option\"\r\n *ngFor=\"let option of getModuleFilteredOptions(type.value)\"\r\n [value]=\"option\"\r\n (click)=\"selectRelated(option)\"\r\n >\r\n <qms-list-item type=\"image-square\">\r\n <mat-icon\r\n leading-icon\r\n type=\"image-square\"\r\n [svgIcon]=\"getNodeIcon(option)\"\r\n ></mat-icon>\r\n <div qms-list-header>\r\n <div\r\n qms-line\r\n type=\"caption\"\r\n qms-tool-tip=\"{{\r\n isEllipsisActive(searchItemResult) ? option.parentName : ''\r\n }}\"\r\n mode=\"dark\"\r\n *ngIf=\"getParentName(option)\"\r\n >\r\n <span #searchItemResult class=\"search__result__parent-name\">\r\n {{ option.parentName }}\r\n </span>\r\n </div>\r\n <div qms-line type=\"subtitle\" class=\"search__option-name\">\r\n {{ option.itemName }}\r\n </div>\r\n <div\r\n class=\"caption\"\r\n *ngIf=\"option.breadcumbs && option.breadcumbs.length\"\r\n >\r\n <qms-breadcrumb\r\n class=\"breadcrumb-containe\"\r\n type=\"table\"\r\n numDisplayItem=\"1\"\r\n [nodes]=\"option.breadcumbs\"\r\n >\r\n </qms-breadcrumb>\r\n </div>\r\n </div>\r\n <div qms-line color=\"default-subtitle\" *ngIf=\"getItemId(option)\">\r\n <span class=\"material-icons-outlined search__description-icon\">\r\n local_offer\r\n </span>\r\n {{ getItemId(option) }}\r\n </div>\r\n </qms-list-item>\r\n </mat-option>\r\n </div>\r\n </ng-container>\r\n </cdk-virtual-scroll-viewport>\r\n </mat-autocomplete>\r\n\r\n <div class=\"row\">\r\n <div\r\n class=\"qms-scrollbar qmslib_related_popup_content\"\r\n [ngClass]=\"{\r\n panel__content_item: checkedNodeList.length,\r\n panel__content: !checkedNodeList.length,\r\n 'col-6': splitView,\r\n 'col-12': !splitView\r\n }\"\r\n >\r\n <mat-expansion-panel\r\n hideToggle\r\n id=\"qmslib_related_popup_common_001\"\r\n [expanded]=\"isCommonExpanded\"\r\n (opened)=\"isCommonExpanded = true\"\r\n (closed)=\"isCommonExpanded = false\"\r\n class=\"panel-tree\"\r\n >\r\n <mat-expansion-panel-header class=\"padding-5\">\r\n <mat-panel-title *ngIf=\"moduleId === module.documentProcess\">\r\n {{ LANG.PROCESSES | uppercase }}\r\n </mat-panel-title>\r\n <mat-panel-title *ngIf=\"moduleId === module.deviation\">\r\n {{ LANG.DEVIATION | uppercase }}\r\n </mat-panel-title>\r\n <mat-panel-title *ngIf=\"moduleId === module.checklist\">\r\n {{ LANG.CHECKLIST | uppercase }}\r\n </mat-panel-title>\r\n <mat-panel-title *ngIf=\"moduleId === module.risk\">\r\n {{ LANG.ASSESSMENT | uppercase }}\r\n </mat-panel-title>\r\n <button qms-btn-icon class=\"related_popup_toggle-btn\">\r\n <mat-icon>\r\n {{\r\n isCommonExpanded ? \"keyboard_arrow_up\" : \"keyboard_arrow_down\"\r\n }}\r\n </mat-icon>\r\n </button>\r\n </mat-expansion-panel-header>\r\n <div id=\"qmslib_related_popup_common_002\">\r\n <qms-tree\r\n [treeData]=\"treeData1\"\r\n [treeConfig]=\"treeConfig1\"\r\n [selectedData]=\"selectedData\"\r\n [selectedRiskData]=\"selectedRiskData\"\r\n [disabledList]=\"disabledList\"\r\n (checkBoxEvent)=\"getCommonCheckedNode($event)\"\r\n (nodeExpandEvent)=\"getChildrenOfFolder($event, dataType.area)\"\r\n (selectNodeEvent)=\"selectNodeTreeEvent($event)\"\r\n (getChildNodeSelectOne)=\"getChildNodeSelectOne($event)\"\r\n [expandOnTitleClick]=\"!splitView\"\r\n [parentNodeOnClick]=\"parentNodeSelected\"\r\n ></qms-tree>\r\n </div>\r\n </mat-expansion-panel>\r\n\r\n <div\r\n *ngIf=\"moduleId === module.documentProcess\"\r\n class=\"line__divider\"\r\n ></div>\r\n\r\n <mat-expansion-panel\r\n hideToggle\r\n *ngIf=\"moduleId === module.documentProcess\"\r\n id=\"qmslib_related_popup_document_001\"\r\n [expanded]=\"isDocumentExpanded\"\r\n (opened)=\"isDocumentExpanded = true\"\r\n (closed)=\"isDocumentExpanded = false\"\r\n class=\"panel-tree\"\r\n >\r\n <mat-expansion-panel-header class=\"padding-5\">\r\n <mat-panel-title> {{ LANG.DOCUMENTS | uppercase }} </mat-panel-title>\r\n <button qms-btn-icon class=\"related_popup_toggle-btn\">\r\n <mat-icon>\r\n {{\r\n isDocumentExpanded ? \"keyboard_arrow_up\" : \"keyboard_arrow_down\"\r\n }}\r\n </mat-icon>\r\n </button>\r\n </mat-expansion-panel-header>\r\n <div id=\"qmslib_related_popup_document_002\">\r\n <qms-tree\r\n [treeData]=\"treeData2\"\r\n [treeConfig]=\"treeConfig2\"\r\n [selectedData]=\"selectedData2\"\r\n [disabledList]=\"disabledList2\"\r\n (checkBoxEvent)=\"getDocumentCheckedNode($event)\"\r\n (nodeExpandEvent)=\"getChildrenOfFolder($event, dataType.folder)\"\r\n (selectNodeEvent)=\"selectNodeTreeEvent($event)\"\r\n (getChildNodeSelectOne)=\"getChildNodeSelectOne($event)\"\r\n [expandOnTitleClick]=\"!splitView\"\r\n [parentNodeOnClick]=\"parentNodeSelected\"\r\n ></qms-tree>\r\n </div>\r\n </mat-expansion-panel>\r\n </div>\r\n <div\r\n *ngIf=\"splitView\"\r\n class=\"\r\n qms-scrollbar\r\n qmslib-related-popup-splitview qmslib_related_popup_content\r\n col-6\r\n \"\r\n [ngClass]=\"{\r\n panel__content_item: checkedNodeList.length,\r\n panel__content: !checkedNodeList.length\r\n }\"\r\n >\r\n <div class=\"splitview-header\" *ngIf=\"selectedFolder\">\r\n {{ splitViewTitle }}\r\n </div>\r\n <div class=\"expand-node\" *ngFor=\"let node of itemInSplitview\">\r\n <mat-checkbox\r\n qms-group-options\r\n [disabled]=\"node.disabled\"\r\n color=\"default\"\r\n [checked]=\"isNodeSelected(node)\"\r\n (change)=\"toggleSelectItem(node)\"\r\n ></mat-checkbox>\r\n <mat-icon\r\n class=\"mat-icon-rtl-mirror material-icons-outlined\"\r\n [svgIcon]=\"getNodeIcon(node)\"\r\n ></mat-icon>\r\n <span class=\"text-node\">{{ node.itemName }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"checkedNodeList.length\" class=\"line__divider\"></div>\r\n\r\n <div *ngIf=\"checkedNodeList.length\" class=\"panel__item qms-scrollbar\">\r\n <div class=\"related__item__inline\" *ngFor=\"let item of checkedNodeList\">\r\n <button\r\n *ngIf=\"item.itemName\"\r\n mat-button\r\n class=\"related__item__content\"\r\n qms-tool-tip=\"{{\r\n isEllipsisActive(itemName) ? getItemChipName(item) : ''\r\n }}\"\r\n mode=\"dark\"\r\n >\r\n <span class=\"related__item__content_name\" #itemName>{{\r\n getItemChipName(item)\r\n }}</span>\r\n <mat-icon\r\n *ngIf=\"!(treeConfig1?.selectOne || treeConfig2?.selectOne)\"\r\n (click)=\"removeCheckedNodeList(item)\"\r\n >cancel</mat-icon\r\n >\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"line__divider\"></div>\r\n\r\n <div class=\"confirm__button__groups\">\r\n <button\r\n *ngIf=\"!checkedNodeList.length\"\r\n qms-btn\r\n style=\"margin-top: 7px\"\r\n (click)=\"onAddClick()\"\r\n >\r\n {{ LANG.ADD }}\r\n </button>\r\n <button\r\n *ngIf=\"checkedNodeList.length\"\r\n qms-btn\r\n style=\"margin-top: 0px\"\r\n (click)=\"onAddClick()\"\r\n >\r\n {{ LANG.ADD }} ({{ checkedNodeList.length }})\r\n </button>\r\n <button\r\n qms-btn-text\r\n [ngStyle]=\"{ 'margin-top': checkedNodeList.length ? '0px' : '7px' }\"\r\n (click)=\"onCloseClick()\"\r\n >\r\n {{ LANG.CANCEL }}\r\n </button>\r\n </div>\r\n</div>\r\n",
5680
5990
  encapsulation: ViewEncapsulation.None,
5681
5991
  styles: [".qms-scrollbar::-webkit-scrollbar{width:12px}.qms-scrollbar::-webkit-scrollbar-track{background:rgba(0,0,0,.12);background-clip:content-box}.qms-scrollbar::-webkit-scrollbar-thumb{background:rgba(0,0,0,.38);border-radius:20px;width:4px;border:4px solid transparent;background-clip:content-box}.qms-scrollbar::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.5);background-clip:content-box;border:4px solid transparent}.qms-scrollbar.none-scroll-bg::-webkit-scrollbar-track{background:transparent;background-clip:content-box}.qms__popup .button__close{float:right;top:-24px;right:-24px;cursor:pointer}.qms__danger button{border:none;color:#fff;padding:0;text-align:center;text-decoration:none;display:inline-block;cursor:pointer;height:20px;width:20px;font-family:Open Sans;font-size:12px;font-weight:600;font-style:normal;line-height:16px}.qms__danger .red{background-color:#9e360f;margin-left:10px}.qms__danger .yellow{background-color:#e4cf53;margin-left:10px;color:#323232}.qms__danger .green{background-color:#00804c;margin-left:10px}.confirm__button__groups{margin-top:11px}.confirm__button__groups button{min-height:36px;width:auto;font-family:Open Sans;font-weight:500;font-size:14px;letter-spacing:1px;line-height:16px;padding-left:15px;padding-right:15px;margin-right:5px;float:right}.confirm__button__groups .confirm{background:#f8f9f9}.confirm__button__groups .confirm:hover{background:#001983;color:#fff}.confirm__button__groups .confirm:disabled{cursor:not-allowed}.confirm__button__groups .cancel{background:#f8f9f9}.confirm__button__groups .cancel:hover{background:#001983;color:#fff}.qmslib__related__popup__container .input__field{display:flex;align-items:center}.qmslib__related__popup__container .input__field input{width:100%;padding:10px;outline:none;border:none;background:#eee}.qmslib__related__popup__container .input__field .mat-icon{margin-left:-30px;cursor:pointer;vertical-align:middle}.qmslib__related__popup__container .line__divider{border-bottom:1px solid #ccc;height:1px;margin-top:10px;min-width:300px;max-width:100%}.qmslib__related__popup__container .button__close{float:right;top:-24px;right:-24px;cursor:pointer}.qmslib__related__popup__container .panel__content{height:450px;overflow:auto;margin-top:12px}.qmslib__related__popup__container .panel__content_item{height:350px;overflow:auto;margin-top:12px}.qmslib__related__popup__container .panel-tree .mat-expansion-panel-body{padding:0 12px 12px}.qmslib__related__popup__container .mat-expansion-panel-header{height:30px;font-size:12px;letter-spacing:1px;font-family:Raleway;font-weight:600;padding:0}.qmslib__related__popup__container .mat-expansion-panel-header .mat-expansion-panel-header-title{align-items:center;margin-left:12px}.qmslib__related__popup__container .mat-expansion-panel-header .related_popup_toggle-btn{width:1.5rem;height:1.5rem;line-height:1.5rem}.qmslib__related__popup__container .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:none}.qmslib__related__popup__container .panel__item{height:100px;margin-top:12px;overflow-x:hidden;overflow-y:auto;padding-right:5px;width:100%;max-width:100%;display:flex;flex-wrap:wrap;align-content:flex-start}.qmslib__related__popup__container .panel__item .related__item__inline{max-width:100%}.qmslib__related__popup__container .panel__item .related__item__content{height:32px;line-height:32px;background-color:#e5e5e5;max-width:100%;margin-bottom:5px;margin-left:2.5px;margin-right:2.5px}.qmslib__related__popup__container .panel__item .related__item__content .mat-icon{color:#8e8e8e;font-size:24px}.qmslib__related__popup__container .panel__item .related__item__content span.related__item__content_name{display:inline-block;min-width:calc(100% - 13px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:278px}.qmslib__related__popup__container .qmslib-related-popup-splitview{background-color:#fff;border-left:1px solid #ccc;height:450px;overflow-y:auto;margin-top:12px}.qmslib__related__popup__container .qmslib-related-popup-splitview.panel__content{height:450px;overflow:auto;margin-top:12px}.qmslib__related__popup__container .qmslib-related-popup-splitview.panel__content_item{height:350px;overflow:auto;margin-top:12px}.qmslib__related__popup__container .qmslib-related-popup-splitview .splitview-header{height:30px;font-size:12px;letter-spacing:1px;font-family:RALEWAY;font-weight:600;display:flex;align-items:center}.qmslib__related__popup__container .qmslib-related-popup-splitview .mat-checkbox.qms-group-options{padding:0}.qmslib__related__popup__container .qmslib-related-popup-splitview .mat-checkbox.qms-group-options .mat-checkbox-inner-container{margin-right:11px}.qmslib__related__popup__container .qmslib-related-popup-splitview .mat-checkbox.qms-group-options.mat-checkbox-checked{background:transparent!important}.qmslib__related__popup__container .qmslib-related-popup-splitview .expand-node{margin-left:8px;display:flex;align-items:center;min-height:40px}.qmslib__related__popup__container .qmslib-related-popup-splitview .expand-node .mat-icon{color:rgba(0,0,0,.6);margin-right:17px;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}.qmslib__related__popup__container .qmslib-related-popup-splitview .expand-node .mat-icon svg{display:block;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}cdk-virtual-scroll-viewport{overflow-x:hidden}cdk-virtual-scroll-viewport .search__module-result{margin:1.5rem;padding:0 0 .5rem}cdk-virtual-scroll-viewport .search__module-result .search__module-title{font-size:14px;font-weight:600}cdk-virtual-scroll-viewport .search__module-result .search__option{height:auto;line-height:normal;padding:8px 0;border-bottom:1px solid #e0e0e0}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item.mat-2-line.image-item{height:auto}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content{margin:0;border-bottom:none}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .wrap-image.image-square{width:2.5rem;height:100%;background:transparent;align-self:center;margin-right:0}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .wrap-image.image-square img{width:24px;height:24px}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .material-icons-outlined.leading-icon,cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content mat-icon.leading-icon{padding:4px 0 4px 4px}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .subtitle{font-weight:400}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .caption{overflow:hidden;line-height:normal;white-space:normal;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;padding:0;margin:0}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .caption span.search__result__parent-name{display:inline-block;width:auto;width:calc(100% - 13px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .default-subtitle{color:rgba(0,0,0,.38)}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .search__description-icon{margin-right:0;width:12px;height:12px;font-size:12px}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .qms-list-text{border-bottom:none}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .breadcrumb-containe .qms-breadcrumb-item .mat-icon{font-size:16px!important;padding-bottom:1px}cdk-virtual-scroll-viewport .search__module-result svg{display:block}#qmslib_related_popup_header_001{margin-bottom:20px;padding:0;font-weight:600;font-family:Raleway}.padding-5{padding:5px}.mat-autocomplete_related-viewport{height:100%;max-height:100%!important}.mat-autocomplete_related-viewport .cdk-virtual-scroll-content-wrapper{width:100%}.mat-autocomplete_related-viewport .related-viewport{min-height:10.25rem}"]
5682
5992
  },] }
@@ -5747,7 +6057,7 @@ class RiskAnalysisComponent {
5747
6057
  showCheckBox: true,
5748
6058
  allowMultipleCheck: true,
5749
6059
  onlyCheckBoxForChild: false,
5750
- moduleId: DataType.risk,
6060
+ moduleId: DataType$1.risk,
5751
6061
  openIcon: 'keyboard_arrow_up',
5752
6062
  openIconColor: '#1954A9',
5753
6063
  closeIcon: 'keyboard_arrow_down',
@@ -6114,12 +6424,6 @@ QMSRelatedModule.decorators = [
6114
6424
  },] }
6115
6425
  ];
6116
6426
 
6117
- class TreeFlatNode {
6118
- }
6119
-
6120
- class TreeModel {
6121
- }
6122
-
6123
6427
  class TreeConfig {
6124
6428
  }
6125
6429
 
@@ -11229,13 +11533,13 @@ class BpmnService {
11229
11533
  joint.ui.Halo.clear(paper);
11230
11534
  }
11231
11535
  function showStatus(message, type) {
11232
- $('.status').removeClass('info error success').addClass(type).html(message);
11233
- $('#statusbar-container')
11536
+ $$1('.status').removeClass('info error success').addClass(type).html(message);
11537
+ $$1('#statusbar-container')
11234
11538
  .dequeue()
11235
11539
  .addClass('active')
11236
11540
  .delay(3000)
11237
11541
  .queue(() => {
11238
- $(this).removeClass('active');
11542
+ $$1(this).removeClass('active');
11239
11543
  });
11240
11544
  }
11241
11545
  function replaceLink(graph, link, linkConstructor) {
@@ -15175,7 +15479,7 @@ QmsAppBarComponent.decorators = [
15175
15479
  { type: Component, args: [{
15176
15480
  selector: 'app-qms-app-bar',
15177
15481
  template: "<div class=\"qms-app-bar-container\">\r\n <mat-toolbar class=\"bar-container\" *ngIf=\"!isNomalType\">\r\n <span class=\"w-100\">\r\n <span class=\"col-4 d-inline-flex align-items-lg-center\">\r\n <div *ngIf=\"hideMenuDropdown\" class=\"border align-self-center\">\r\n <div *ngIf=\"logoSvgPath\" class=\"logo-container\">\r\n <img [src]=\"logoSvgPath\" alt=\"\" />\r\n </div>\r\n </div>\r\n <div *ngIf=\"!hideMenuDropdown\">\r\n <button #menu class=\"collapse-icon\" mat-button>\r\n <mat-icon class=\"mat-icon-rtl-mirror\" (click)=\"onMenuClicked()\">\r\n menu\r\n </mat-icon>\r\n </button>\r\n <img [src]=\"logoSvgPath\" alt=\"\" />\r\n </div>\r\n <span class=\"p-3\">{{title}}</span>\r\n <div class=\"spacer\"></div>\r\n </span>\r\n <span class=\"align-items-sm-center col-4 d-inline-flex justify-content-center\">\r\n <div *ngIf=\"imgSvgPath\" class=\"img-container\" [class.bg-transparent]=\"isImgSvgTransparent\">\r\n <img [src]=\"imgSvgPath\" alt=\"\" />\r\n </div>\r\n </span>\r\n <span class=\"col-4 d-inline-flex justify-content-end\">\r\n <button (click)=\"onRightIconClicked(item.icon)\" *ngFor=\"let item of rightIcons\" class=\"menu-item-icon\"\r\n mat-button>\r\n <mat-icon *ngIf=\"item.icon == 'notifications_none'\" matBadge=\"{{notifications}}\"\r\n matBadgeColor=\"warn\">\r\n {{item.icon}}\r\n </mat-icon>\r\n <mat-icon *ngIf=\"item.icon != 'notifications_none'\"\r\n class=\"material-icons-outlined mat-icon-rtl-mirror\">\r\n {{item.icon}}\r\n </mat-icon>\r\n <span class=\"mg-l-3\">{{item.tooltip}}</span>\r\n </button>\r\n </span>\r\n </span>\r\n </mat-toolbar>\r\n <mat-toolbar class=\"bar-prv-container\" *ngIf=\"isNomalType\">\r\n <button class=\"icon-title\" #menu qms-btn-text (click)=\"onClickLeftFirstIcon()\">\r\n <mat-icon class=\"cusor-pointer\">\r\n {{leftFirstIcon}}\r\n </mat-icon>\r\n </button>\r\n <span class=\"content-title\">{{title}}</span>\r\n <div class=\"spacer\"></div>\r\n <div class=\"right-content\">\r\n <button qms-btn-text (click)=\"onCancel()\" class=\"cusor-pointer mr-22\" *ngIf=\"cancelTitle\">\r\n {{cancelTitle}}\r\n </button>\r\n <button qms-btn [disabled]=\"disabledConfirmAction\" class=\"cusor-pointer\" (click)=\"onConfirm()\" *ngIf=\"confirmTitle\">\r\n {{confirmTitle}}\r\n </button>\r\n </div>\r\n </mat-toolbar>\r\n</div>",
15178
- styles: [".qms-app-bar-container{height:56px}.qms-app-bar-container .spacer{flex:1 1 auto}.qms-app-bar-container .mat-toolbar{background:#00324e;color:#fff;height:56px}.qms-app-bar-container .bar-prv-container{background:#e4e4e4}.qms-app-bar-container .bar-prv-container .close-icon,.qms-app-bar-container .bar-prv-container .title-icon{color:#323232}.qms-app-bar-container .bar-prv-container .right-content .mr-22{margin-right:22px}.qms-app-bar-container .bar-prv-container button:first-child:hover{background-color:rgba(0,0,0,.08)}.qms-app-bar-container .bar-prv-container .icon-title{color:#666}.qms-app-bar-container .bar-prv-container .content-title{font-family:Raleway;font-size:18px;font-style:normal;font-weight:600;line-height:21px;letter-spacing:0;text-align:left;color:#323232}.qms-app-bar-container .bar-container{padding:0!important}.qms-app-bar-container .bar-container .logo-container{background:#fff;padding:12px;height:56px}.qms-app-bar-container .bar-container .img-container{height:40px;background:#fff;padding:2px}.qms-app-bar-container .bar-container .bg-transparent{background:transparent;height:40px;padding:2px}"]
15482
+ styles: [".qms-app-bar-container{height:56px}.qms-app-bar-container .spacer{flex:1 1 auto}.qms-app-bar-container .mat-toolbar{background:#00324e;color:#fff;height:56px}.qms-app-bar-container .bar-prv-container{background:#e4e4e4}.qms-app-bar-container .bar-prv-container .close-icon,.qms-app-bar-container .bar-prv-container .title-icon{color:#323232}.qms-app-bar-container .bar-prv-container .right-content .mr-22{margin-right:22px}.qms-app-bar-container .bar-prv-container button:first-child:hover{background-color:rgba(0,0,0,.08)}.qms-app-bar-container .bar-prv-container .icon-title{color:#666;padding:0;min-width:0;width:40px;height:40px;flex-shrink:0;line-height:40px;border-radius:50%}.qms-app-bar-container .bar-prv-container .content-title{font-family:Raleway;font-size:18px;font-style:normal;font-weight:600;line-height:21px;letter-spacing:0;text-align:left;color:#323232}.qms-app-bar-container .bar-container{padding:0!important}.qms-app-bar-container .bar-container .logo-container{background:#fff;padding:12px;height:56px}.qms-app-bar-container .bar-container .img-container{height:40px;background:#fff;padding:2px}.qms-app-bar-container .bar-container .bg-transparent{background:transparent;height:40px;padding:2px}"]
15179
15483
  },] }
15180
15484
  ];
15181
15485
  QmsAppBarComponent.ctorParameters = () => [];
@@ -15682,14 +15986,10 @@ class SelectOption {
15682
15986
 
15683
15987
  class QMSSelectGlobalService {
15684
15988
  constructor() {
15685
- this.searchRelated = new BehaviorSubject([]);
15686
- this.splitViewValue = new BehaviorSubject([]);
15989
+ this.searchSelect = new BehaviorSubject([]);
15687
15990
  }
15688
15991
  setSearchResult(result) {
15689
- this.searchRelated.next(result);
15690
- }
15691
- setSplitviewValue(result) {
15692
- this.splitViewValue.next(result);
15992
+ this.searchSelect.next(result);
15693
15993
  }
15694
15994
  }
15695
15995
  QMSSelectGlobalService.ɵprov = i0.ɵɵdefineInjectable({ factory: function QMSSelectGlobalService_Factory() { return new QMSSelectGlobalService(); }, token: QMSSelectGlobalService, providedIn: "root" });
@@ -15704,14 +16004,21 @@ SelectConst.IS_DISPLAY_SEARCH_RESULT = 'IS_DISPLAY_SEARCH_RESULT';
15704
16004
  SelectConst.HIDE_SEARCH_RESULT = 'HIDE_SEARCH_RESULT';
15705
16005
  SelectConst.SHOW_SEARCH_RESULT = 'SHOW_SEARCH_RESULT';
15706
16006
 
16007
+ var SelectOptionTypes;
16008
+ (function (SelectOptionTypes) {
16009
+ SelectOptionTypes[SelectOptionTypes["SelectOne"] = 1] = "SelectOne";
16010
+ SelectOptionTypes[SelectOptionTypes["IncludeChildren"] = 2] = "IncludeChildren";
16011
+ SelectOptionTypes[SelectOptionTypes["Children"] = 3] = "Children";
16012
+ })(SelectOptionTypes || (SelectOptionTypes = {}));
16013
+
15707
16014
  class SelectIncludeChildrenPopUpComponent {
15708
- constructor(cdRef, translate, dialogRef, globalService, iconRegistry, sanitizer, appIconService, elem, data) {
16015
+ constructor(cdRef, translate, dialogRef, globalService, iconRegistry, domSanitizer, appIconService, elem, data) {
15709
16016
  this.cdRef = cdRef;
15710
16017
  this.translate = translate;
15711
16018
  this.dialogRef = dialogRef;
15712
16019
  this.globalService = globalService;
15713
16020
  this.iconRegistry = iconRegistry;
15714
- this.sanitizer = sanitizer;
16021
+ this.domSanitizer = domSanitizer;
15715
16022
  this.appIconService = appIconService;
15716
16023
  this.elem = elem;
15717
16024
  this.data = data;
@@ -15719,15 +16026,13 @@ class SelectIncludeChildrenPopUpComponent {
15719
16026
  this.headerName = '';
15720
16027
  this.treeData = [];
15721
16028
  this.checkedNodeList = [];
15722
- this.SelectOption = [];
16029
+ this.selectedOptions = [];
15723
16030
  this.selectedData = [];
15724
16031
  this.commonCheckedList = [];
15725
- this.documentCheckedList = [];
15726
- this.singleProcessList = [];
15727
16032
  this.itemType = 0;
15728
16033
  this.selectedRiskData = [];
15729
16034
  this.disabledList = [];
15730
- this.disabledList2 = [];
16035
+ this.orginalDisableList = [];
15731
16036
  this.isDocumentExpanded = true;
15732
16037
  this.isCommonExpanded = true;
15733
16038
  this.singleSelectOption = false;
@@ -15738,22 +16043,33 @@ class SelectIncludeChildrenPopUpComponent {
15738
16043
  this.selectedFolder = null;
15739
16044
  this.listChildrenSelectOne = [];
15740
16045
  this.includeChildren = false;
16046
+ this.itemIconType = ItemIconType;
15741
16047
  this.onSearch = new EventEmitter();
15742
16048
  this.onExpandFolder = new EventEmitter();
15743
16049
  this.headerName = data.headerName;
15744
16050
  this.treeData = data.treeData;
15745
16051
  this.treeConfig = data.treeConfig;
15746
16052
  this.selectedRiskData = (data === null || data === void 0 ? void 0 : data.selectedNode) || [];
15747
- this.disabledList = data.disabledList || [];
16053
+ this.disabledList = $.extend(true, [], data.disabledList || []);
16054
+ this.orginalDisableList = $.extend(true, [], data.disabledList || []);
15748
16055
  this.singleSelectOption = data.treeConfig.singleSelectedNode;
15749
16056
  this.maxSelectItemCount = data.maxSelectItemCount;
15750
- appIconService.registerProcessIcon(iconRegistry, sanitizer);
15751
- appIconService.registerProcessAreaIcon(iconRegistry, sanitizer);
15752
- appIconService.registerDocumentIcon(iconRegistry, sanitizer);
15753
- appIconService.registerFolderIcon(iconRegistry, sanitizer);
15754
- appIconService.registerDeviationIcon(iconRegistry, sanitizer);
15755
- appIconService.registerChecklistIcon(iconRegistry, sanitizer);
15756
- appIconService.registerRiskIcon(iconRegistry, sanitizer);
16057
+ this.checkedNodeList = (data === null || data === void 0 ? void 0 : data.selectedList) || [];
16058
+ this.includeChildren = data === null || data === void 0 ? void 0 : data.includeChildren;
16059
+ this.editItem = data.editItem;
16060
+ appIconService.registerProcessIcon(iconRegistry, domSanitizer);
16061
+ appIconService.registerProcessAreaIcon(iconRegistry, domSanitizer);
16062
+ appIconService.registerDocumentIcon(iconRegistry, domSanitizer);
16063
+ appIconService.registerFolderIcon(iconRegistry, domSanitizer);
16064
+ appIconService.registerDeviationIcon(iconRegistry, domSanitizer);
16065
+ appIconService.registerChecklistIcon(iconRegistry, domSanitizer);
16066
+ appIconService.registerRiskIcon(iconRegistry, domSanitizer);
16067
+ }
16068
+ ngAfterViewInit() {
16069
+ if (this.editItem) {
16070
+ this.focusEditItem(this.editItem);
16071
+ }
16072
+ this.initTree(this.checkedNodeList);
15757
16073
  }
15758
16074
  ngOnDestroy() {
15759
16075
  this.ngUnsubscribe.next();
@@ -15772,7 +16088,7 @@ class SelectIncludeChildrenPopUpComponent {
15772
16088
  this.LANG = this.translate.getObjectLang(res);
15773
16089
  }
15774
16090
  });
15775
- this.globalService.searchRelated.pipe(takeUntil(this.ngUnsubscribe)).subscribe((res) => {
16091
+ this.globalService.searchSelect.pipe(takeUntil(this.ngUnsubscribe)).subscribe((res) => {
15776
16092
  if (res && res.length) {
15777
16093
  this.filteredOptions = res;
15778
16094
  }
@@ -15793,39 +16109,101 @@ class SelectIncludeChildrenPopUpComponent {
15793
16109
  this.autoComplete.closePanel();
15794
16110
  }
15795
16111
  }
15796
- removeCheckedNodeList(item) {
15797
- this.selectedData = [];
15798
- this.checkedNodeList = this.checkedNodeList.filter(x => (x.id.toLowerCase() !== item.id.toLowerCase() || x.parentId.toLowerCase() !== item.parentId.toLowerCase()));
15799
- const tempArr = [];
15800
- const tempArrDocument = [];
15801
- const newSelectProcessList = [];
15802
- const newSelectDocumentList = [];
15803
- this.commonCheckedList.forEach(element => {
15804
- this.checkedNodeList.forEach(x => {
15805
- if (element.id.toLowerCase() === x.id.toLowerCase() && element.parentId.toLowerCase() === x.parentId.toLowerCase()) {
15806
- tempArr.push(element);
15807
- }
15808
- });
15809
- });
15810
- this.singleProcessList.forEach(element => {
15811
- this.checkedNodeList.forEach(x => {
15812
- if (element.id.toLowerCase() === x.id.toLowerCase() && element.parentId.toLowerCase() === x.parentId.toLowerCase()) {
15813
- newSelectProcessList.push(element);
15814
- }
15815
- });
15816
- });
15817
- this.singleProcessList = newSelectProcessList;
15818
- this.selectedData = [...tempArr];
15819
- this.documentCheckedList.forEach(element => {
15820
- this.checkedNodeList.forEach(x => {
15821
- if (element.id.toLowerCase() === x.id.toLowerCase() && element.parentId.toLowerCase() === x.parentId.toLowerCase()) {
15822
- tempArrDocument.push(element);
16112
+ initTree(selectedOptions) {
16113
+ if (selectedOptions.length > 0) {
16114
+ selectedOptions.forEach(element => {
16115
+ this.selectedOptions.push(element);
16116
+ if (element.type === SelectOptionTypes.IncludeChildren) {
16117
+ this.selectedOptions = this.selectedOptions.concat(element.children);
15823
16118
  }
16119
+ this.selectedData = this.mapSelectOptionToTreeNode(this.selectedOptions);
15824
16120
  });
15825
- });
16121
+ }
15826
16122
  }
15827
- isMatchTrue(arr, arr2) {
15828
- return arr.every((i) => {
16123
+ focusEditItem(selectedOption) {
16124
+ const node = this.dataTrees.toArray()[0].getNodeByIdAndParentId(selectedOption.id, selectedOption.parentId);
16125
+ if (node) {
16126
+ this.dataTrees.toArray()[0].expandNode(node);
16127
+ const element = document.getElementById(`_${node.parentId ? node.parentId : ''}_${node.id}_${node.level}`);
16128
+ if (element) {
16129
+ element.scrollIntoView(false);
16130
+ }
16131
+ }
16132
+ }
16133
+ removeCheckedNodeList(item) {
16134
+ const index = this.checkedNodeList.findIndex(x => (x.id.toLowerCase() === item.id.toLowerCase() && x.parentId.toLowerCase() === item.parentId.toLowerCase()));
16135
+ if (index >= 0) {
16136
+ let position = this.selectedOptions.findIndex(x => x.id === item.id && x.parentId === item.parentId);
16137
+ if (position >= 0) {
16138
+ this.selectedOptions.splice(position, 1);
16139
+ }
16140
+ if (this.checkedNodeList[index].type === SelectOptionTypes.IncludeChildren) {
16141
+ this.removeIncludeChildren(item);
16142
+ }
16143
+ if (this.includeChildren) {
16144
+ this.refactorSelectList(item);
16145
+ }
16146
+ else {
16147
+ this.checkedNodeList.splice(index, 1);
16148
+ }
16149
+ this.enableSelectedNode({ id: item.id, parentId: item.parentId, itemName: item.name, type: SelectOptionTypes.IncludeChildren });
16150
+ this.selectedData = this.mapSelectOptionToTreeNode(this.selectedOptions);
16151
+ }
16152
+ }
16153
+ selectSearchOption(item) {
16154
+ let position = this.selectedOptions.findIndex(x => x.id === item.id && x.parentId === item.parentId);
16155
+ if (position < 0) {
16156
+ if (this.includeChildren) {
16157
+ this.selectIncludeChildren({
16158
+ id: item.id,
16159
+ name: item.itemName,
16160
+ parentId: item.parentId,
16161
+ level: 0,
16162
+ expandable: true,
16163
+ disabled: false,
16164
+ hasChild: false
16165
+ });
16166
+ this.refactorSelectList({
16167
+ id: item.id,
16168
+ name: item.itemName,
16169
+ parentId: item.parentId,
16170
+ level: 0,
16171
+ expandable: true,
16172
+ disabled: false,
16173
+ hasChild: false
16174
+ });
16175
+ }
16176
+ else {
16177
+ this.selectedOptions.push(item);
16178
+ this.checkedNodeList.push({
16179
+ id: item.id,
16180
+ itemName: item.itemName,
16181
+ type: SelectOptionTypes.SelectOne,
16182
+ parentId: item.parentId,
16183
+ children: [],
16184
+ noChildren: 0,
16185
+ noSelectedChildren: 0
16186
+ });
16187
+ }
16188
+ }
16189
+ this.selectedData = this.mapSelectOptionToTreeNode(this.selectedOptions);
16190
+ }
16191
+ getItemIconType(item) {
16192
+ if (item.itemIcon && item.itemIcon.length)
16193
+ return this.itemIconType.name;
16194
+ if (item.itemIconPath && item.itemIconPath.length)
16195
+ return this.itemIconType.path;
16196
+ if (item.itemIconBase64 && item.itemIconBase64.length)
16197
+ return this.itemIconType.base64;
16198
+ if (item.itemIconSvg && item.itemIconSvg.length)
16199
+ return this.itemIconType.svg;
16200
+ return this.itemIconType.none;
16201
+ }
16202
+ getImagePath(item) {
16203
+ return this.domSanitizer.bypassSecurityTrustResourceUrl(item.itemIconBase64);
16204
+ }
16205
+ isMatchTrue(arr, arr2) {
16206
+ return arr.every((i) => {
15829
16207
  return arr2.includes(i);
15830
16208
  });
15831
16209
  }
@@ -15858,163 +16236,87 @@ class SelectIncludeChildrenPopUpComponent {
15858
16236
  }
15859
16237
  }
15860
16238
  }
15861
- getModuleFilteredOptions() {
15862
- if (this.listChildrenSelectOne.length) {
15863
- for (let index = 0; index < this.listChildrenSelectOne.length; index++) {
15864
- const firstEl = this.listChildrenSelectOne[index];
15865
- for (let j = 0; j < this.filteredOptions.length; j++) {
15866
- const secondEl = this.filteredOptions[j];
15867
- if (firstEl.id === secondEl.id) {
15868
- this.filteredOptions.splice(j, 1);
15869
- }
15870
- }
15871
- }
15872
- }
15873
- return this.filteredOptions;
15874
- }
15875
16239
  showSearchResult() {
15876
16240
  this.autoComplete.openPanel();
15877
16241
  }
15878
16242
  displayRelated(related) {
15879
16243
  return related ? related.itemName : undefined;
15880
16244
  }
15881
- selectSearch(item) {
15882
- if (this.treeConfig.selectOne) {
15883
- this.disabledList = [];
15884
- }
15885
- let index = -1;
15886
- this.SelectOption = [];
15887
- if (this.treeConfig.showCheckBox) {
15888
- index = this.checkedNodeList.findIndex(x => {
15889
- return x.id === item.id && x.parentId === item.parentId;
15890
- });
15891
- }
15892
- if (index < 0) {
15893
- let position = -1;
15894
- let node;
15895
- let typeId;
15896
- }
16245
+ getCommonCheckedNode(list) {
15897
16246
  }
15898
- selectNodeRecursive(item) {
15899
- let position = this.treeData.findIndex(x => {
15900
- return x.rootId === item.rootId;
16247
+ selectIncludeChildren(item) {
16248
+ let listChildren = [];
16249
+ listChildren = this.getAllChildrenNodeRecursive(listChildren, item);
16250
+ this.selectedOptions.push({
16251
+ id: item.id,
16252
+ itemName: item.name,
16253
+ itemNumberId: item.id,
16254
+ parentId: item.parentId,
16255
+ type: SelectOptionTypes.IncludeChildren
15901
16256
  });
15902
- if (position >= 0) {
15903
- const node = {
15904
- id: item.rootId,
15905
- name: item.rootName,
15906
- children: [],
15907
- parentId: item.parentId
15908
- };
15909
- let nodeChildren = this.treeData.
15910
- filter(x => x.rootId === item.rootId).
15911
- map(x => {
16257
+ listChildren.forEach(x => {
16258
+ const index = this.selectedOptions.findIndex(node => node.id === x.id && node.parentId === x.parentId);
16259
+ if (index < 0) {
16260
+ this.selectedOptions.push(x);
16261
+ }
16262
+ });
16263
+ }
16264
+ removeIncludeChildren(item) {
16265
+ let listChildren = [];
16266
+ listChildren = this.getAllChildrenNodeRecursive(listChildren, item);
16267
+ const itemIndex = this.selectedOptions.findIndex(node => node.id === item.id && node.parentId === item.parentId);
16268
+ if (itemIndex >= 0) {
16269
+ this.selectedOptions.splice(itemIndex, 1);
16270
+ }
16271
+ listChildren.forEach(x => {
16272
+ const index = this.selectedOptions.findIndex(node => node.id === x.id && node.parentId === x.parentId);
16273
+ if (index >= 0) {
16274
+ this.selectedOptions.splice(index, 1);
16275
+ }
16276
+ });
16277
+ }
16278
+ getAllChildrenNodeRecursive(listResult, item) {
16279
+ let children = this.treeData.filter(x => x.parentId === item.id);
16280
+ let childrenItem = [...new Set(this.treeData.filter(x => x.rootId === item.id && !!x.childId))];
16281
+ if (childrenItem.length > 0) {
16282
+ childrenItem = childrenItem.filter(x => listResult.findIndex(node => node.id === x.childId && node.parentId === x.rootId) < 0);
16283
+ listResult = listResult.concat([...new Set(childrenItem.map(x => {
16284
+ return {
16285
+ id: x.childId,
16286
+ itemName: x.childName,
16287
+ parentId: x.rootId,
16288
+ parentName: x.rootName,
16289
+ type: SelectOptionTypes.Children
16290
+ };
16291
+ }))]);
16292
+ }
16293
+ if (children.length > 0) {
16294
+ children = children.filter(x => listResult.findIndex(node => node.id === x.rootId && node.parentId === x.parentId) < 0);
16295
+ const uniqueChildren = children.map(x => {
16296
+ var _a;
15912
16297
  return {
15913
- id: x.childId,
15914
- name: item.childName,
15915
- children: [],
15916
- parentId: item.rootId
16298
+ id: x.rootId,
16299
+ itemName: ((_a = x.parentId) === null || _a === void 0 ? void 0 : _a.length) > 0 ? x.subName : x.rootName,
16300
+ parentId: x.parentId,
16301
+ type: SelectOptionTypes.IncludeChildren
15917
16302
  };
15918
16303
  });
15919
- let nodeSubfolders = this.treeData.
15920
- filter(x => x.parentId === item.rootId);
15921
- if (this.treeConfig.showCheckBox) {
15922
- nodeChildren.forEach(x => {
15923
- this.checkedNodeList.push({
15924
- id: x.id,
15925
- itemName: x.name,
15926
- itemNumberId: item.displayId.toString(),
15927
- parentId: item.rootId,
15928
- parentName: item.rootName
15929
- });
15930
- });
15931
- }
15932
- else {
15933
- nodeChildren.forEach(x => {
15934
- this.SelectOption.push({
15935
- id: x.id,
15936
- itemName: x.name,
15937
- itemNumberId: item.displayId.toString(),
15938
- parentId: item.rootId,
15939
- parentName: item.rootName
15940
- });
15941
- });
15942
- }
15943
- this.dataTrees.toArray()[0].todoItemSelection([node].concat(nodeChildren));
15944
- if (nodeSubfolders) {
15945
- nodeSubfolders.forEach(folder => {
15946
- this.selectNodeRecursive(folder);
16304
+ listResult = listResult.concat(uniqueChildren.filter((x, index) => {
16305
+ return index === uniqueChildren.findIndex(node => node.id === x.id && node.parentId === x.parentId);
16306
+ }));
16307
+ children.forEach(node => {
16308
+ listResult = this.getAllChildrenNodeRecursive(listResult, {
16309
+ id: node.rootId,
16310
+ name: node.rootName,
16311
+ parentId: node.parentId,
16312
+ level: 0,
16313
+ expandable: true,
16314
+ hasChild: true,
16315
+ disabled: false
15947
16316
  });
15948
- }
15949
- }
15950
- return;
15951
- }
15952
- // setTypeProcess(expand) {
15953
- // return expand ? this.dataType.area : this.dataType.process;
15954
- // }
15955
- getCommonCheckedNode(list) {
15956
- this.checkedNodeList = [];
15957
- this.commonCheckedList = [];
15958
- this.singleProcessList = [];
15959
- if (list.length) {
15960
- list.forEach(item => {
15961
- const index = this.checkedNodeList.findIndex(x => x.id === item.id && x.parentId === item.parentId);
15962
- if (item.id && index < 0) {
15963
- this.commonCheckedList.push(item);
15964
- }
15965
- if (this.singleSelectOption) {
15966
- let position;
15967
- if (item.expandable) {
15968
- position = this.treeData.findIndex(p => p.rootId === item.id);
15969
- }
15970
- else {
15971
- position = this.treeData.findIndex(p => p.childId === item.id);
15972
- }
15973
- if (position > -1) {
15974
- this.singleProcessList.push({
15975
- id: item.id,
15976
- itemName: item.name,
15977
- itemNumberId: this.treeData[position].displayId.toString(),
15978
- parentId: item.parentId,
15979
- levelType: item.levelType
15980
- });
15981
- }
15982
- }
15983
- if (item.id && index < 0 && !item.expandable && !this.singleSelectOption) {
15984
- const position = this.treeData.findIndex(p => p.childId === item.id && p.rootId === item.parentId);
15985
- if (position > -1) {
15986
- this.checkedNodeList.push({
15987
- id: item.id,
15988
- itemName: item.name,
15989
- parentId: item.parentId,
15990
- parentName: this.treeData[position].parentId ? this.treeData[position].subName : this.treeData[position].rootName,
15991
- itemNumberId: this.treeData[position].displayId.toString(),
15992
- levelType: item.levelType
15993
- });
15994
- }
15995
- }
15996
16317
  });
15997
- if (this.singleSelectOption) {
15998
- this.checkedNodeList = [...this.checkedNodeList, ...this.singleProcessList];
15999
- }
16000
- if (this.maxSelectItemCount && this.maxSelectItemCount > 0) {
16001
- const removeList = this.checkedNodeList.slice(0, this.maxSelectItemCount * -1);
16002
- if (removeList.length) {
16003
- removeList.forEach(item => {
16004
- this.removeCheckedNodeList({
16005
- id: item.id,
16006
- name: item.itemName,
16007
- parentId: item.parentId,
16008
- level: 0,
16009
- expandable: true,
16010
- hasChild: true,
16011
- disabled: false
16012
- });
16013
- });
16014
- }
16015
- this.checkedNodeList = this.checkedNodeList.slice(this.maxSelectItemCount * -1);
16016
- }
16017
16318
  }
16319
+ return listResult;
16018
16320
  }
16019
16321
  onCloseClick() {
16020
16322
  this.selectedFolder = null;
@@ -16022,13 +16324,8 @@ class SelectIncludeChildrenPopUpComponent {
16022
16324
  }
16023
16325
  ;
16024
16326
  onAddClick() {
16025
- // if (this.treeConfig.showCheckBox) {
16026
16327
  this.selectedFolder = null;
16027
16328
  this.dialogRef.close(this.checkedNodeList);
16028
- // }
16029
- // else {
16030
- // this.dialogRef.close(this.SelectOption);
16031
- // }
16032
16329
  }
16033
16330
  getOffsetHeight(element, includeMargin) {
16034
16331
  let elmHeight = 0, elmMargin = 0;
@@ -16040,100 +16337,14 @@ class SelectIncludeChildrenPopUpComponent {
16040
16337
  return (elmHeight + elmMargin);
16041
16338
  }
16042
16339
  getItemChipName(item) {
16043
- return (item.parentName) ? `${item.parentName}/${item.itemName}` : item.itemName;
16340
+ return `${item.itemName}`;
16341
+ }
16342
+ getItemSelectedChildrenRatio(item) {
16343
+ return `${item.noSelectedChildren}/${item.noChildren}`;
16044
16344
  }
16045
16345
  isEllipsisActive(e) {
16046
16346
  return e ? (e.clientWidth < e.scrollWidth) : false;
16047
16347
  }
16048
- // getNodeIcon(item: SelectOption) {
16049
- // switch (item.itemType) {
16050
- // case DataType.folder: {
16051
- // switch (item.levelType) {
16052
- // case DocumentNodeType.DepartmentFolder:
16053
- // return 'department_folder_outlined';
16054
- // case DocumentNodeType.RegionalFolder:
16055
- // return 'regional_folder_outlined';
16056
- // case DocumentNodeType.TopFolder:
16057
- // return 'enterprise_folder_outlined';
16058
- // case DocumentNodeType.Folder:
16059
- // return 'local_folder_outlined';
16060
- // default:
16061
- // return 'folder_outlined';
16062
- // }
16063
- // }
16064
- // case DataType.document: {
16065
- // switch (item.levelType) {
16066
- // case DocumentNodeType.DepartmentFolder:
16067
- // return 'document_department';
16068
- // case DocumentNodeType.RegionalFolder:
16069
- // return 'document_regional';
16070
- // case DocumentNodeType.TopFolder:
16071
- // return 'document_enterprise';
16072
- // case DocumentNodeType.Folder:
16073
- // return 'document_local';
16074
- // default:
16075
- // return 'document';
16076
- // }
16077
- // }
16078
- // case DataType.area:
16079
- // return 'process_area_outlined';
16080
- // case DataType.process:
16081
- // return 'process';
16082
- // case DataType.deviation:
16083
- // return 'deviation';
16084
- // case DataType.checklist:
16085
- // return 'checklist';
16086
- // case DataType.risk:
16087
- // return 'risk';
16088
- // default:
16089
- // return 'folder_outlined';
16090
- // }
16091
- // }
16092
- // getSearchOrder() {
16093
- // let searchTypes = Object.keys(this.dataType)
16094
- // .map(key => ({ value: this.dataType[key], key: key }));
16095
- // searchTypes = searchTypes.slice(searchTypes.length / 2);
16096
- // return searchTypes;
16097
- // }
16098
- // getTitle(type: number) {
16099
- // switch (type) {
16100
- // case DataType.process:
16101
- // return this.LANG.PROCESSES;
16102
- // case DataType.area:
16103
- // return this.LANG.PROCESS_AREA;
16104
- // case DataType.document:
16105
- // return this.LANG.DOCUMENTS;
16106
- // case DataType.folder:
16107
- // return this.LANG.FOLDER;
16108
- // case DataType.deviation:
16109
- // return this.LANG.DEVIATION;
16110
- // case DataType.deviationType:
16111
- // return this.LANG.DEVIATION_TYPE;
16112
- // case DataType.checklist:
16113
- // return this.LANG.CHECKLIST;
16114
- // case DataType.checklistCategory:
16115
- // return this.LANG.CHECKLIST_CATEGORY;
16116
- // case DataType.risk:
16117
- // return this.LANG.ASSESSMENT;
16118
- // case DataType.riskFolder:
16119
- // return this.LANG.FOLDER;
16120
- // }
16121
- // }
16122
- // getParentName(item: SelectOption) {
16123
- // if (item.itemType === this.dataType.checklist || item.itemType === this.dataType.deviation) {
16124
- // return item.parentName;
16125
- // }
16126
- // return null;
16127
- // }
16128
- // getItemId(item: SelectOption) {
16129
- // if (item.itemType === this.dataType.process) {
16130
- // return `${this.LANG.PROCESS_ID}: ${item.itemNumberId}; ${item.statusName}`;
16131
- // }
16132
- // else if (item.itemType === this.dataType.document) {
16133
- // return `${this.LANG.DOCUMENT_ID}: ${item.itemNumberId}; ${item.statusName}`;
16134
- // }
16135
- // return null;
16136
- // }
16137
16348
  toggleSelectItem(node) {
16138
16349
  const SelectOption = this.checkedNodeList.find(x => (x.id.toLowerCase() === node.id.toLowerCase() && x.parentId.toLowerCase() === node.parentId.toLowerCase()));
16139
16350
  if (SelectOption) {
@@ -16172,51 +16383,232 @@ class SelectIncludeChildrenPopUpComponent {
16172
16383
  this.onExpandFolder.emit(item);
16173
16384
  // }
16174
16385
  }
16175
- // canShowSearchOption(moduleId: number) {
16176
- // if (this.canOnlySelectItem &&
16177
- // (moduleId === DataType.checklistCategory
16178
- // || moduleId === DataType.riskFolder
16179
- // || moduleId === DataType.deviationType
16180
- // || (moduleId === DataType.area && this.treeConfig && !this.treeConfig.singleSelectOption)
16181
- // || (moduleId === DataType.folder && this.treeConfig2 && !this.treeConfig2.singleSelectOption)
16182
- // )) {
16183
- // return false;
16184
- // }
16185
- // return this.getModuleFilteredOptions(moduleId).length > 0;
16186
- // }
16187
16386
  selectNodeTreeEvent(node) {
16188
- var _a, _b;
16189
- let position = -1;
16190
- let parentName = '';
16191
- let itemNumberId = '';
16192
- position = !node.expandable ? this.treeData.findIndex(p => p.childId === node.id && p.rootId === node.parentId) :
16193
- this.treeData.findIndex(p => p.rootId === node.id);
16194
- parentName = this.treeData[position].parentId ? this.treeData[position].subName : this.treeData[position].rootName;
16195
- itemNumberId = (_b = (_a = this.treeData[position]) === null || _a === void 0 ? void 0 : _a.displayId) === null || _b === void 0 ? void 0 : _b.toString();
16196
- this.checkedNodeList = [];
16197
- this.checkedNodeList.push({
16198
- id: node.id,
16199
- itemName: node.name,
16200
- parentId: node.parentId,
16201
- parentName: parentName,
16202
- itemNumberId: itemNumberId,
16203
- levelType: node.levelType
16204
- });
16205
- }
16206
- getChildNodeSelectOne(listChildren) {
16207
- this.listChildrenSelectOne = [];
16208
- this.listChildrenSelectOne = listChildren;
16387
+ let position = this.selectedOptions.findIndex(x => x.id === node.id && x.parentId === node.parentId);
16388
+ if (position > -1) {
16389
+ if (this.includeChildren) {
16390
+ if (node.expandable) {
16391
+ this.removeIncludeChildren(node);
16392
+ }
16393
+ else {
16394
+ const itemIndex = this.selectedOptions.findIndex(item => node.id === item.id && node.parentId === item.parentId);
16395
+ if (itemIndex >= 0) {
16396
+ this.selectedOptions.splice(itemIndex, 1);
16397
+ }
16398
+ }
16399
+ this.checkedNodeList = this.checkedNodeList.filter(x => x.id !== node.id || x.parentId !== node.parentId);
16400
+ this.refactorSelectList(node);
16401
+ }
16402
+ else {
16403
+ const itemIndex = this.selectedOptions.findIndex(item => node.id === item.id && node.parentId === item.parentId);
16404
+ if (itemIndex >= 0) {
16405
+ this.selectedOptions.splice(itemIndex, 1);
16406
+ }
16407
+ this.checkedNodeList = this.checkedNodeList.filter(x => x.id !== node.id || x.parentId !== node.parentId);
16408
+ }
16409
+ }
16410
+ else {
16411
+ if (this.includeChildren) {
16412
+ if (node.expandable) {
16413
+ this.selectIncludeChildren(node);
16414
+ }
16415
+ else {
16416
+ this.selectedOptions.push({
16417
+ id: node.id,
16418
+ itemName: node.name,
16419
+ itemNumberId: node.id,
16420
+ parentId: node.parentId,
16421
+ type: SelectOptionTypes.Children
16422
+ });
16423
+ }
16424
+ this.refactorSelectList(node);
16425
+ }
16426
+ else {
16427
+ this.selectedOptions.push({
16428
+ id: node.id,
16429
+ itemName: node.name,
16430
+ itemNumberId: node.id,
16431
+ parentId: node.parentId,
16432
+ type: SelectOptionTypes.SelectOne
16433
+ });
16434
+ this.checkedNodeList.push({
16435
+ id: node.id,
16436
+ itemName: node.name,
16437
+ type: SelectOptionTypes.SelectOne,
16438
+ parentId: node.parentId,
16439
+ children: [],
16440
+ noSelectedChildren: 0,
16441
+ noChildren: 0,
16442
+ });
16443
+ }
16444
+ }
16445
+ this.selectedData = this.mapSelectOptionToTreeNode(this.selectedOptions);
16209
16446
  }
16210
16447
  setValue(e) {
16211
16448
  this.includeChildren = !!e.checked;
16449
+ if (!this.includeChildren) {
16450
+ this.checkedNodeList.forEach(node => {
16451
+ this.disableSelectedNode(node);
16452
+ });
16453
+ }
16454
+ else {
16455
+ this.disabledList = this.orginalDisableList;
16456
+ }
16457
+ }
16458
+ mapSelectOptionToTreeNode(list) {
16459
+ return list.map(x => {
16460
+ return {
16461
+ id: x.id,
16462
+ name: x.itemName,
16463
+ level: 0,
16464
+ expandable: true,
16465
+ hasChild: true,
16466
+ parentId: x.parentId,
16467
+ disabled: false,
16468
+ };
16469
+ });
16470
+ }
16471
+ refactorSelectList(node) {
16472
+ let parent;
16473
+ let parentList = [];
16474
+ parent = this.treeData.find(x => x.rootId === node.parentId);
16475
+ if (parent) {
16476
+ parentList.push({
16477
+ id: parent.rootId,
16478
+ itemName: parent.rootName,
16479
+ parentId: parent.parentId,
16480
+ type: SelectOptionTypes.IncludeChildren
16481
+ });
16482
+ parentList = this.getParentLineOfNode(parentList, parent);
16483
+ }
16484
+ if (parentList.length > 0) {
16485
+ const selectedParentList = parentList.filter(x => this.selectedOptions
16486
+ .findIndex(selectedNode => x.id === selectedNode.id && x.parentId === selectedNode.parentId) >= 0);
16487
+ if (selectedParentList.length > 0) {
16488
+ const highestSelectedNode = selectedParentList[selectedParentList.length - 1];
16489
+ this.combineNodes(highestSelectedNode);
16490
+ }
16491
+ else {
16492
+ this.combineNodes({
16493
+ id: node.id,
16494
+ itemName: node.name,
16495
+ type: SelectOptionTypes.IncludeChildren,
16496
+ parentId: node.parentId
16497
+ });
16498
+ }
16499
+ }
16500
+ else {
16501
+ this.combineNodes({
16502
+ id: node.id,
16503
+ itemName: node.name,
16504
+ type: SelectOptionTypes.IncludeChildren,
16505
+ parentId: node.parentId
16506
+ });
16507
+ }
16508
+ }
16509
+ combineNodes(root) {
16510
+ let children = [];
16511
+ children = this.getAllChildrenNodeRecursive(children, {
16512
+ id: root.id,
16513
+ name: root.itemName,
16514
+ parentId: root.parentId,
16515
+ level: 0,
16516
+ expandable: true,
16517
+ hasChild: true,
16518
+ disabled: false
16519
+ });
16520
+ let selectedNodeIndex = this.checkedNodeList.findIndex(x => x.id === root.id && x.parentId === root.parentId);
16521
+ let nodeList = [];
16522
+ children.forEach(child => {
16523
+ const index = this.checkedNodeList.findIndex(node => node.id === child.id && node.parentId === child.parentId);
16524
+ if (index >= 0) {
16525
+ this.checkedNodeList.splice(index, 1);
16526
+ }
16527
+ const selectIndex = this.selectedOptions.findIndex(node => node.id === child.id && node.parentId === child.parentId);
16528
+ if (selectIndex >= 0) {
16529
+ nodeList.push(child);
16530
+ }
16531
+ });
16532
+ if (nodeList.length > 0 || children.length === 0) {
16533
+ if (selectedNodeIndex < 0) {
16534
+ this.checkedNodeList.push({
16535
+ id: root.id,
16536
+ itemName: root.itemName,
16537
+ type: SelectOptionTypes.IncludeChildren,
16538
+ parentId: root.parentId,
16539
+ children: [],
16540
+ noSelectedChildren: 0,
16541
+ noChildren: 0
16542
+ });
16543
+ selectedNodeIndex = this.checkedNodeList.length - 1;
16544
+ }
16545
+ this.checkedNodeList[selectedNodeIndex].children = nodeList;
16546
+ this.checkedNodeList[selectedNodeIndex].noChildren = children.length;
16547
+ this.checkedNodeList[selectedNodeIndex].noSelectedChildren = nodeList.length;
16548
+ this.checkedNodeList[selectedNodeIndex].type = children.length === 0 ? SelectOptionTypes.SelectOne : SelectOptionTypes.IncludeChildren;
16549
+ }
16550
+ }
16551
+ getParentLineOfNode(listParent, node) {
16552
+ let parent;
16553
+ parent = this.treeData.find(x => x.rootId === node.parentId);
16554
+ if (parent) {
16555
+ listParent = [...listParent, {
16556
+ id: parent.rootId,
16557
+ itemName: parent.rootName,
16558
+ parentId: parent.parentId,
16559
+ type: SelectOptionTypes.IncludeChildren
16560
+ }];
16561
+ this.getParentLineOfNode(listParent, parent);
16562
+ }
16563
+ return listParent;
16564
+ }
16565
+ disableSelectedNode(node) {
16566
+ if (node.type === SelectOptionTypes.IncludeChildren) {
16567
+ let children = [];
16568
+ children = this.getAllChildrenNodeRecursive(children, {
16569
+ id: node.id,
16570
+ name: node.itemName,
16571
+ parentId: node.parentId,
16572
+ level: 0,
16573
+ expandable: true,
16574
+ hasChild: true,
16575
+ disabled: false
16576
+ });
16577
+ let disableNodes = [];
16578
+ const index = this.disabledList.findIndex(x => x.id === node.id && x.parentId === node.parentId);
16579
+ if (index < 0) {
16580
+ disableNodes.push(node);
16581
+ }
16582
+ children.forEach(child => {
16583
+ const index = this.disabledList.findIndex(x => x.id === child.id && x.parentId === child.parentId);
16584
+ if (index < 0) {
16585
+ disableNodes.push(child);
16586
+ }
16587
+ });
16588
+ this.disabledList = [...this.disabledList, ...disableNodes];
16589
+ }
16590
+ }
16591
+ enableSelectedNode(node) {
16592
+ let children = [];
16593
+ children = this.getAllChildrenNodeRecursive(children, {
16594
+ id: node.id,
16595
+ name: node.itemName,
16596
+ parentId: node.parentId,
16597
+ level: 0,
16598
+ expandable: true,
16599
+ hasChild: true,
16600
+ disabled: false
16601
+ });
16602
+ this.disabledList = this.disabledList.filter(x => children.filter(child => (x.id === child.id && x.parentId === child.parentId)).length === 0);
16603
+ this.disabledList = this.disabledList.filter(x => !(x.id === node.id && x.parentId === node.parentId));
16212
16604
  }
16213
16605
  }
16214
16606
  SelectIncludeChildrenPopUpComponent.decorators = [
16215
16607
  { type: Component, args: [{
16216
16608
  selector: 'qms-select-include-children-popup',
16217
- template: "<div id=\"qmslib_related_popup\" class=\"qmslib__related__popup__container\">\r\n <div id=\"qmslib_related_popup_header\">\r\n <span mat-icon-button class=\"button__close\" (click)=\"onCloseClick()\">\r\n <mat-icon mat-icon>close</mat-icon>\r\n </span>\r\n <div id=\"qmslib_related_popup_header_001\" mat-dialog-content>\r\n <span>{{ headerName | uppercase }}</span>\r\n </div>\r\n </div>\r\n \r\n <div\r\n id=\"qmslib_related_popup_search\"\r\n class=\"input__field\"\r\n (click)=\"showSearchResult()\"\r\n >\r\n <input\r\n #name\r\n type=\"text\"\r\n placeholder=\"{{ LANG.SEARCH }}\"\r\n matInput\r\n [formControl]=\"myControl\"\r\n [matAutocomplete]=\"auto\"\r\n #autoCompleteInputSearch\r\n />\r\n <mat-icon>search</mat-icon>\r\n </div>\r\n \r\n <div class=\"line__divider\"></div>\r\n \r\n <mat-autocomplete\r\n #auto=\"matAutocomplete\"\r\n [displayWith]=\"displayRelated\"\r\n class=\"mat-autocomplete_related-viewport\"\r\n >\r\n <cdk-virtual-scroll-viewport\r\n qms-scrollbar\r\n itemSize=\"10\"\r\n class=\"related-viewport\"\r\n >\r\n <ng-container *ngFor=\"let type of searchOrder\">\r\n <div\r\n class=\"search__module-result\"\r\n *ngIf=\"filteredOptions\"\r\n >\r\n <span class=\"search__module-title\">Hello</span>\r\n <mat-option\r\n class=\"search__option\"\r\n *ngFor=\"let option of getModuleFilteredOptions()\"\r\n [value]=\"option\"\r\n >\r\n <!-- <qms-list-item type=\"image-square\">\r\n <mat-icon\r\n leading-icon\r\n type=\"image-square\"\r\n [svgIcon]=\"getNodeIcon(option)\"\r\n ></mat-icon>\r\n <div qms-list-header>\r\n <div\r\n qms-line\r\n type=\"caption\"\r\n qms-tool-tip=\"{{\r\n isEllipsisActive(searchItemResult) ? option.parentName : ''\r\n }}\"\r\n mode=\"dark\"\r\n *ngIf=\"getParentName(option)\"\r\n >\r\n <span #searchItemResult class=\"search__result__parent-name\">\r\n {{ option.parentName }}\r\n </span>\r\n </div>\r\n <div qms-line type=\"subtitle\" class=\"search__option-name\">\r\n {{ option.itemName }}\r\n </div>\r\n <div\r\n class=\"caption\"\r\n *ngIf=\"option.breadcumbs && option.breadcumbs.length\"\r\n >\r\n <qms-breadcrumb\r\n class=\"breadcrumb-containe\"\r\n type=\"table\"\r\n numDisplayItem=\"1\"\r\n [nodes]=\"option.breadcumbs\"\r\n >\r\n </qms-breadcrumb>\r\n </div>\r\n </div>\r\n <div qms-line color=\"default-subtitle\" *ngIf=\"getItemId(option)\">\r\n <span class=\"material-icons-outlined search__description-icon\">\r\n local_offer\r\n </span>\r\n {{ getItemId(option) }}\r\n </div>\r\n </qms-list-item> -->\r\n </mat-option>\r\n </div>\r\n </ng-container>\r\n </cdk-virtual-scroll-viewport>\r\n </mat-autocomplete>\r\n \r\n <div class=\"row\">\r\n <div\r\n class=\"qms-scrollbar qmslib_related_popup_content col-12\"\r\n [ngClass]=\"{\r\n panel__content_item: checkedNodeList.length,\r\n panel__content: !checkedNodeList.length\r\n }\">\r\n <div id=\"qmslib_related_popup_common_002\">\r\n <qms-tree\r\n [treeData]=\"treeData\"\r\n [treeConfig]=\"treeConfig\"\r\n [selectedData]=\"selectedData\"\r\n [selectedRiskData]=\"selectedRiskData\"\r\n [disabledList]=\"disabledList\"\r\n (checkBoxEvent)=\"getCommonCheckedNode($event)\"\r\n (nodeExpandEvent)=\"getChildrenOfFolder($event)\"\r\n (selectNodeEvent)=\"selectNodeTreeEvent($event)\"\r\n (getChildNodeSelectOne)=\"getChildNodeSelectOne($event)\"\r\n ></qms-tree>\r\n </div>\r\n </div>\r\n \r\n <div *ngIf=\"checkedNodeList.length\" class=\"line__divider\"></div>\r\n \r\n <div *ngIf=\"checkedNodeList.length\" class=\"panel__item qms-scrollbar\">\r\n <div class=\"related__item__inline\" *ngFor=\"let item of checkedNodeList\">\r\n <button\r\n *ngIf=\"item.itemName\"\r\n mat-button\r\n class=\"related__item__content\"\r\n qms-tool-tip=\"{{\r\n isEllipsisActive(itemName) ? getItemChipName(item) : ''\r\n }}\"\r\n mode=\"dark\"\r\n >\r\n <span class=\"related__item__content_name\" #itemName>\r\n {{getItemChipName(item)}}</span>\r\n <mat-icon\r\n *ngIf=\"!treeConfig?.selectOne\"\r\n (click)=\"removeCheckedNodeList(item)\"\r\n >cancel</mat-icon\r\n >\r\n </button>\r\n </div>\r\n <div class=\"select__toggle-include\">\r\n <mat-slide-toggle\r\n [checked]=\"includeChildren\"\r\n (change)=\"setValue($event)\"\r\n color=\"default\"\r\n qms-group-options>\r\n <span class=\"text-label\">Select label</span>\r\n </mat-slide-toggle>\r\n </div>\r\n </div>\r\n \r\n <div class=\"line__divider\"></div>\r\n \r\n <div class=\"confirm__button__groups\">\r\n <button\r\n *ngIf=\"!checkedNodeList.length\"\r\n qms-btn\r\n style=\"margin-top: 7px\"\r\n (click)=\"onAddClick()\"\r\n >\r\n {{ LANG.ADD }}\r\n </button>\r\n <button\r\n *ngIf=\"checkedNodeList.length\"\r\n qms-btn\r\n style=\"margin-top: 0px\"\r\n (click)=\"onAddClick()\"\r\n >\r\n {{ LANG.ADD }} ({{ checkedNodeList.length }})\r\n </button>\r\n <button\r\n qms-btn-text\r\n [ngStyle]=\"{ 'margin-top': checkedNodeList.length ? '0px' : '7px' }\"\r\n (click)=\"onCloseClick()\"\r\n >\r\n {{ LANG.CANCEL }}\r\n </button>\r\n </div>\r\n</div>\r\n ",
16609
+ template: "<div id=\"qmslib_related_popup\" class=\"qmslib__related__popup__container\">\r\n <div id=\"qmslib_related_popup_header\">\r\n <span mat-icon-button class=\"button__close\" (click)=\"onCloseClick()\">\r\n <mat-icon mat-icon>close</mat-icon>\r\n </span>\r\n <div id=\"qmslib_related_popup_header_001\" mat-dialog-content>\r\n <span>{{ headerName | uppercase }}</span>\r\n </div>\r\n </div>\r\n\r\n <div\r\n id=\"qmslib_related_popup_search\"\r\n class=\"input__field\"\r\n (click)=\"showSearchResult()\"\r\n >\r\n <input\r\n #name\r\n type=\"text\"\r\n placeholder=\"{{ LANG.SEARCH }}\"\r\n matInput\r\n [formControl]=\"myControl\"\r\n [matAutocomplete]=\"auto\"\r\n #autoCompleteInputSearch\r\n />\r\n <mat-icon>search</mat-icon>\r\n </div>\r\n <div class=\"select__toggle-include\">\r\n <mat-slide-toggle\r\n [checked]=\"includeChildren\"\r\n (change)=\"setValue($event)\"\r\n color=\"default\"\r\n qms-group-options\r\n >\r\n <span class=\"text-label\">Select label</span>\r\n </mat-slide-toggle>\r\n </div>\r\n <div class=\"line__divider\"></div>\r\n\r\n <mat-autocomplete\r\n #auto=\"matAutocomplete\"\r\n [displayWith]=\"displayRelated\"\r\n class=\"mat-autocomplete_related-viewport\"\r\n >\r\n <cdk-virtual-scroll-viewport\r\n qms-scrollbar\r\n itemSize=\"10\"\r\n class=\"related-viewport\"\r\n >\r\n <div class=\"search__module-result\" *ngIf=\"filteredOptions\">\r\n <mat-option\r\n class=\"search__option\"\r\n *ngFor=\"let option of filteredOptions\"\r\n [value]=\"option\"\r\n (click)=\"selectSearchOption(option)\"\r\n >\r\n <qms-list-item type=\"image-square\">\r\n <mat-icon\r\n leading-icon\r\n *ngIf=\"getItemIconType(option) === itemIconType.name\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined\"\r\n type=\"image-square\"\r\n >\r\n {{ option.itemIcon }}\r\n </mat-icon>\r\n\r\n <mat-icon\r\n leading-icon\r\n *ngIf=\"getItemIconType(option) === itemIconType.svg\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined\"\r\n type=\"image-square\"\r\n [svgIcon]=\"option.itemIconSvg\"\r\n >\r\n </mat-icon>\r\n\r\n <img\r\n leading-icon\r\n *ngIf=\"getItemIconType(option) === itemIconType.path\"\r\n class=\"mat-icon\"\r\n [src]=\"option.itemIconPath\"\r\n type=\"image-square\"\r\n />\r\n\r\n <img\r\n leading-icon\r\n *ngIf=\"getItemIconType(option) === itemIconType.base64\"\r\n class=\"mat-icon image-base64\"\r\n [src]=\"getImagePath(option)\"\r\n type=\"image-square\"\r\n />\r\n <div qms-list-header>\r\n <div qms-line type=\"subtitle\" class=\"search__option-name\">\r\n {{ option.itemName }}\r\n </div>\r\n </div>\r\n </qms-list-item>\r\n </mat-option>\r\n </div>\r\n </cdk-virtual-scroll-viewport>\r\n </mat-autocomplete>\r\n\r\n <div class=\"row\">\r\n <div\r\n class=\"qms-scrollbar qmslib_related_popup_content col-12\"\r\n [ngClass]=\"{\r\n panel__content_item: checkedNodeList.length,\r\n panel__content: !checkedNodeList.length\r\n }\"\r\n >\r\n <div id=\"qmslib_related_popup_common_002\">\r\n <qms-tree\r\n [treeData]=\"treeData\"\r\n [treeConfig]=\"treeConfig\"\r\n [selectedData]=\"selectedData\"\r\n [selectedRiskData]=\"selectedRiskData\"\r\n [disabledList]=\"disabledList\"\r\n (checkBoxEvent)=\"getCommonCheckedNode($event)\"\r\n (nodeExpandEvent)=\"getChildrenOfFolder($event)\"\r\n (selectNodeEvent)=\"selectNodeTreeEvent($event)\"\r\n ></qms-tree>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"checkedNodeList.length\" class=\"line__divider\"></div>\r\n\r\n <div *ngIf=\"checkedNodeList.length\" class=\"panel__item qms-scrollbar\">\r\n <div class=\"related__item__inline\" *ngFor=\"let item of checkedNodeList\">\r\n <button\r\n *ngIf=\"item.itemName\"\r\n mat-button\r\n class=\"related__item__content\"\r\n qms-tool-tip=\"{{\r\n isEllipsisActive(itemName) ? getItemChipName(item) : ''\r\n }}\"\r\n mode=\"dark\"\r\n >\r\n <span class=\"related__item__content_name\" #itemName>\r\n {{ getItemChipName(item) }}\r\n <span\r\n class=\"select__include-children__count\"\r\n *ngIf=\"item.noSelectedChildren > 0\"\r\n >\r\n {{ getItemSelectedChildrenRatio(item) }}\r\n </span>\r\n </span>\r\n\r\n <mat-icon (click)=\"removeCheckedNodeList(item)\">cancel</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"line__divider\"></div>\r\n\r\n <div class=\"confirm__button__groups\">\r\n <button\r\n *ngIf=\"!checkedNodeList.length\"\r\n qms-btn\r\n style=\"margin-top: 7px\"\r\n (click)=\"onAddClick()\"\r\n >\r\n {{ LANG.ADD }}\r\n </button>\r\n <button\r\n *ngIf=\"checkedNodeList.length\"\r\n qms-btn\r\n style=\"margin-top: 0px\"\r\n (click)=\"onAddClick()\"\r\n >\r\n {{ LANG.ADD }} ({{ checkedNodeList.length }})\r\n </button>\r\n <button\r\n qms-btn-text\r\n [ngStyle]=\"{ 'margin-top': checkedNodeList.length ? '0px' : '7px' }\"\r\n (click)=\"onCloseClick()\"\r\n >\r\n {{ LANG.CANCEL }}\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n",
16218
16610
  encapsulation: ViewEncapsulation.None,
16219
- styles: [".qms-scrollbar::-webkit-scrollbar{width:12px}.qms-scrollbar::-webkit-scrollbar-track{background:rgba(0,0,0,.12);background-clip:content-box}.qms-scrollbar::-webkit-scrollbar-thumb{background:rgba(0,0,0,.38);border-radius:20px;width:4px;border:4px solid transparent;background-clip:content-box}.qms-scrollbar::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.5);background-clip:content-box;border:4px solid transparent}.qms-scrollbar.none-scroll-bg::-webkit-scrollbar-track{background:transparent;background-clip:content-box}.qms__popup .button__close{float:right;top:-24px;right:-24px;cursor:pointer}.qms__danger button{border:none;color:#fff;padding:0;text-align:center;text-decoration:none;display:inline-block;cursor:pointer;height:20px;width:20px;font-family:Open Sans;font-size:12px;font-weight:600;font-style:normal;line-height:16px}.qms__danger .red{background-color:#9e360f;margin-left:10px}.qms__danger .yellow{background-color:#e4cf53;margin-left:10px;color:#323232}.qms__danger .green{background-color:#00804c;margin-left:10px}.confirm__button__groups{margin-top:11px}.confirm__button__groups button{min-height:36px;width:auto;font-family:Open Sans;font-weight:500;font-size:14px;letter-spacing:1px;line-height:16px;padding-left:15px;padding-right:15px;margin-right:5px;float:right}.confirm__button__groups .confirm{background:#f8f9f9}.confirm__button__groups .confirm:hover{background:#001983;color:#fff}.confirm__button__groups .confirm:disabled{cursor:not-allowed}.confirm__button__groups .cancel{background:#f8f9f9}.confirm__button__groups .cancel:hover{background:#001983;color:#fff}.qmslib__related__popup__container .input__field{display:flex;align-items:center}.qmslib__related__popup__container .input__field input{width:100%;padding:10px;outline:none;border:none;background:#eee}.qmslib__related__popup__container .input__field .mat-icon{margin-left:-30px;cursor:pointer;vertical-align:middle}.qmslib__related__popup__container .line__divider{border-bottom:1px solid #ccc;height:1px;margin-top:10px;min-width:300px;max-width:100%}.qmslib__related__popup__container .button__close{float:right;top:-24px;right:-24px;cursor:pointer}.qmslib__related__popup__container .panel__content{height:450px;overflow:auto;margin-top:12px}.qmslib__related__popup__container .panel__content_item{height:350px;overflow:auto;margin-top:12px}.qmslib__related__popup__container .panel-tree .mat-expansion-panel-body{padding:0 12px 12px}.qmslib__related__popup__container .mat-expansion-panel-header{height:30px;font-size:12px;letter-spacing:1px;font-family:Raleway;font-weight:600;padding:0}.qmslib__related__popup__container .mat-expansion-panel-header .mat-expansion-panel-header-title{align-items:center;margin-left:12px}.qmslib__related__popup__container .mat-expansion-panel-header .related_popup_toggle-btn{width:1.5rem;height:1.5rem;line-height:1.5rem}.qmslib__related__popup__container .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:none}.qmslib__related__popup__container .panel__item{height:100px;margin-top:12px;overflow-x:hidden;overflow-y:auto;padding-right:5px;width:100%;max-width:100%;display:flex;flex-wrap:wrap;align-content:flex-start}.qmslib__related__popup__container .panel__item .related__item__inline{max-width:100%}.qmslib__related__popup__container .panel__item .select__toggle-include{width:100%}.qmslib__related__popup__container .panel__item .related__item__content{height:32px;line-height:32px;background-color:#e5e5e5;max-width:100%;margin-bottom:5px;margin-left:2.5px;margin-right:2.5px}.qmslib__related__popup__container .panel__item .related__item__content .mat-icon{color:#8e8e8e;font-size:24px}.qmslib__related__popup__container .panel__item .related__item__content span.related__item__content_name{display:inline-block;min-width:calc(100% - 13px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:320px}.qmslib__related__popup__container .qmslib-related-popup-splitview{background-color:#fff;border-left:1px solid #ccc;height:450px;overflow-y:auto;margin-top:12px}.qmslib__related__popup__container .qmslib-related-popup-splitview.panel__content{height:450px;overflow:auto;margin-top:12px}.qmslib__related__popup__container .qmslib-related-popup-splitview.panel__content_item{height:350px;overflow:auto;margin-top:12px}.qmslib__related__popup__container .qmslib-related-popup-splitview .splitview-header{height:30px;font-size:12px;letter-spacing:1px;font-family:RALEWAY;font-weight:600;display:flex;align-items:center}.qmslib__related__popup__container .qmslib-related-popup-splitview .mat-checkbox.qms-group-options{padding:0}.qmslib__related__popup__container .qmslib-related-popup-splitview .mat-checkbox.qms-group-options .mat-checkbox-inner-container{margin-right:11px}.qmslib__related__popup__container .qmslib-related-popup-splitview .mat-checkbox.qms-group-options.mat-checkbox-checked{background:transparent!important}.qmslib__related__popup__container .qmslib-related-popup-splitview .expand-node{margin-left:8px;display:flex;align-items:center;min-height:40px}.qmslib__related__popup__container .qmslib-related-popup-splitview .expand-node .mat-icon{color:rgba(0,0,0,.6);margin-right:17px;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}.qmslib__related__popup__container .qmslib-related-popup-splitview .expand-node .mat-icon svg{display:block;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}cdk-virtual-scroll-viewport{overflow-x:hidden}cdk-virtual-scroll-viewport .search__module-result{margin:1.5rem;padding:0 0 .5rem}cdk-virtual-scroll-viewport .search__module-result .search__module-title{font-size:14px;font-weight:600}cdk-virtual-scroll-viewport .search__module-result .search__option{height:auto;line-height:normal;padding:8px 0;border-bottom:1px solid #e0e0e0}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item.mat-2-line.image-item{height:auto}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content{margin:0;border-bottom:none}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .wrap-image.image-square{width:2.5rem;height:100%;background:transparent;align-self:center;margin-right:0}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .wrap-image.image-square img{width:24px;height:24px}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .material-icons-outlined.leading-icon,cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content mat-icon.leading-icon{padding:4px 0 4px 4px}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .subtitle{font-weight:400}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .caption{overflow:hidden;line-height:normal;white-space:normal;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;padding:0;margin:0}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .caption span.search__result__parent-name{display:inline-block;width:auto;width:calc(100% - 13px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .default-subtitle{color:rgba(0,0,0,.38)}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .search__description-icon{margin-right:0;width:12px;height:12px;font-size:12px}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .qms-list-text{border-bottom:none}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .breadcrumb-containe .qms-breadcrumb-item .mat-icon{font-size:16px!important;padding-bottom:1px}cdk-virtual-scroll-viewport .search__module-result svg{display:block}#qmslib_related_popup_header_001{margin-bottom:20px;padding:0;font-weight:600;font-family:Raleway}.padding-5{padding:5px}.mat-autocomplete_related-viewport{height:100%;max-height:100%!important}.mat-autocomplete_related-viewport .cdk-virtual-scroll-content-wrapper{width:100%}.mat-autocomplete_related-viewport .related-viewport{min-height:10.25rem}"]
16611
+ styles: [".qms-scrollbar::-webkit-scrollbar{width:12px}.qms-scrollbar::-webkit-scrollbar-track{background:rgba(0,0,0,.12);background-clip:content-box}.qms-scrollbar::-webkit-scrollbar-thumb{background:rgba(0,0,0,.38);border-radius:20px;width:4px;border:4px solid transparent;background-clip:content-box}.qms-scrollbar::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.5);background-clip:content-box;border:4px solid transparent}.qms-scrollbar.none-scroll-bg::-webkit-scrollbar-track{background:transparent;background-clip:content-box}.qms__popup .button__close{float:right;top:-24px;right:-24px;cursor:pointer}.qms__danger button{border:none;color:#fff;padding:0;text-align:center;text-decoration:none;display:inline-block;cursor:pointer;height:20px;width:20px;font-family:Open Sans;font-size:12px;font-weight:600;font-style:normal;line-height:16px}.qms__danger .red{background-color:#9e360f;margin-left:10px}.qms__danger .yellow{background-color:#e4cf53;margin-left:10px;color:#323232}.qms__danger .green{background-color:#00804c;margin-left:10px}.confirm__button__groups{margin-top:11px}.confirm__button__groups button{min-height:36px;width:auto;font-family:Open Sans;font-weight:500;font-size:14px;letter-spacing:1px;line-height:16px;padding-left:15px;padding-right:15px;margin-right:5px;float:right}.confirm__button__groups .confirm{background:#f8f9f9}.confirm__button__groups .confirm:hover{background:#001983;color:#fff}.confirm__button__groups .confirm:disabled{cursor:not-allowed}.confirm__button__groups .cancel{background:#f8f9f9}.confirm__button__groups .cancel:hover{background:#001983;color:#fff}.qmslib__related__popup__container .input__field{display:flex;align-items:center}.qmslib__related__popup__container .input__field input{width:100%;padding:10px;outline:none;border:none;background:#eee}.qmslib__related__popup__container .input__field .mat-icon{margin-left:-30px;cursor:pointer;vertical-align:middle}.qmslib__related__popup__container .line__divider{border-bottom:1px solid #ccc;height:1px;margin-top:10px;min-width:300px;max-width:100%}.qmslib__related__popup__container .button__close{float:right;top:-24px;right:-24px;cursor:pointer}.qmslib__related__popup__container .panel__content{height:450px;overflow:auto;margin-top:12px}.qmslib__related__popup__container .panel__content_item{height:350px;overflow:auto;margin-top:12px}.qmslib__related__popup__container .panel-tree .mat-expansion-panel-body{padding:0 12px 12px}.qmslib__related__popup__container .mat-expansion-panel-header{height:30px;font-size:12px;letter-spacing:1px;font-family:Raleway;font-weight:600;padding:0}.qmslib__related__popup__container .mat-expansion-panel-header .mat-expansion-panel-header-title{align-items:center;margin-left:12px}.qmslib__related__popup__container .mat-expansion-panel-header .related_popup_toggle-btn{width:1.5rem;height:1.5rem;line-height:1.5rem}.qmslib__related__popup__container .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:none}.qmslib__related__popup__container .panel__item{height:100px;margin-top:12px;overflow-x:hidden;overflow-y:auto;padding-right:5px;width:100%;max-width:100%;display:flex;flex-wrap:wrap;align-content:flex-start}.qmslib__related__popup__container .panel__item .related__item__inline{max-width:100%}.qmslib__related__popup__container .panel__item .select__toggle-include{width:100%}.qmslib__related__popup__container .panel__item .related__item__content{height:32px;line-height:32px;background-color:#e5e5e5;max-width:100%;margin-bottom:5px;margin-left:2.5px;margin-right:2.5px}.qmslib__related__popup__container .panel__item .related__item__content .mat-icon{color:#8e8e8e;font-size:24px}.qmslib__related__popup__container .panel__item .related__item__content span.related__item__content_name{display:inline-block;min-width:calc(100% - 13px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:320px}.qmslib__related__popup__container .panel__item .related__item__content span.related__item__content_name .select__include-children__count{font-size:.75rem;color:rgba(0,0,0,.38)}.qmslib__related__popup__container .qmslib-related-popup-splitview{background-color:#fff;border-left:1px solid #ccc;height:450px;overflow-y:auto;margin-top:12px}.qmslib__related__popup__container .qmslib-related-popup-splitview.panel__content{height:450px;overflow:auto;margin-top:12px}.qmslib__related__popup__container .qmslib-related-popup-splitview.panel__content_item{height:350px;overflow:auto;margin-top:12px}.qmslib__related__popup__container .qmslib-related-popup-splitview .splitview-header{height:30px;font-size:12px;letter-spacing:1px;font-family:RALEWAY;font-weight:600;display:flex;align-items:center}.qmslib__related__popup__container .qmslib-related-popup-splitview .mat-checkbox.qms-group-options{padding:0}.qmslib__related__popup__container .qmslib-related-popup-splitview .mat-checkbox.qms-group-options .mat-checkbox-inner-container{margin-right:11px}.qmslib__related__popup__container .qmslib-related-popup-splitview .mat-checkbox.qms-group-options.mat-checkbox-checked{background:transparent!important}.qmslib__related__popup__container .qmslib-related-popup-splitview .expand-node{margin-left:8px;display:flex;align-items:center;min-height:40px}.qmslib__related__popup__container .qmslib-related-popup-splitview .expand-node .mat-icon{color:rgba(0,0,0,.6);margin-right:17px;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}.qmslib__related__popup__container .qmslib-related-popup-splitview .expand-node .mat-icon svg{display:block;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}cdk-virtual-scroll-viewport{overflow-x:hidden}cdk-virtual-scroll-viewport .search__module-result{margin:1.5rem;padding:0 0 .5rem}cdk-virtual-scroll-viewport .search__module-result .search__module-title{font-size:14px;font-weight:600}cdk-virtual-scroll-viewport .search__module-result .search__option{height:auto;line-height:normal;padding:8px 0;border-bottom:1px solid #e0e0e0}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item.mat-2-line.image-item{height:auto}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content{margin:0;border-bottom:none}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .wrap-image.image-square{width:2.5rem;height:100%;background:transparent;align-self:center;margin-right:0}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .wrap-image.image-square img{width:24px;height:24px}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .material-icons-outlined.leading-icon,cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content mat-icon.leading-icon{padding:4px 0 4px 4px}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .subtitle{font-weight:400}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .caption{overflow:hidden;line-height:normal;white-space:normal;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;padding:0;margin:0}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .caption span.search__result__parent-name{display:inline-block;width:auto;width:calc(100% - 13px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .default-subtitle{color:rgba(0,0,0,.38)}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .search__description-icon{margin-right:0;width:12px;height:12px;font-size:12px}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .qms-list-text{border-bottom:none}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .breadcrumb-containe .qms-breadcrumb-item .mat-icon{font-size:16px!important;padding-bottom:1px}cdk-virtual-scroll-viewport .search__module-result svg{display:block}#qmslib_related_popup_header_001{margin-bottom:20px;padding:0;font-weight:600;font-family:Raleway}.padding-5{padding:5px}.mat-autocomplete_related-viewport{height:100%;max-height:100%!important}.mat-autocomplete_related-viewport .cdk-virtual-scroll-content-wrapper{width:100%}.mat-autocomplete_related-viewport .related-viewport{min-height:10.25rem}"]
16220
16612
  },] }
16221
16613
  ];
16222
16614
  SelectIncludeChildrenPopUpComponent.ctorParameters = () => [
@@ -16271,6 +16663,9 @@ QMSSelectIncludeChildrenModule.decorators = [
16271
16663
  },] }
16272
16664
  ];
16273
16665
 
16666
+ class SelectedOption {
16667
+ }
16668
+
16274
16669
  var BadgesType;
16275
16670
  (function (BadgesType) {
16276
16671
  BadgesType["circle"] = "1";
@@ -16331,6 +16726,432 @@ QmsBadgesModule.decorators = [
16331
16726
  },] }
16332
16727
  ];
16333
16728
 
16729
+ var DataType;
16730
+ (function (DataType) {
16731
+ DataType[DataType["process"] = 2] = "process";
16732
+ DataType[DataType["document"] = 1] = "document";
16733
+ DataType[DataType["area"] = 3] = "area";
16734
+ DataType[DataType["folder"] = 4] = "folder";
16735
+ DataType[DataType["deviation"] = 5] = "deviation";
16736
+ DataType[DataType["checklist"] = 6] = "checklist";
16737
+ DataType[DataType["risk"] = 7] = "risk";
16738
+ DataType[DataType["deviationType"] = 8] = "deviationType";
16739
+ DataType[DataType["checklistCategory"] = 9] = "checklistCategory";
16740
+ DataType[DataType["riskFolder"] = 10] = "riskFolder";
16741
+ })(DataType || (DataType = {}));
16742
+
16743
+ var DocumentNodeType;
16744
+ (function (DocumentNodeType) {
16745
+ DocumentNodeType[DocumentNodeType["Document"] = 1] = "Document";
16746
+ DocumentNodeType[DocumentNodeType["LinkDocument"] = 2] = "LinkDocument";
16747
+ DocumentNodeType[DocumentNodeType["FileDocument"] = 3] = "FileDocument";
16748
+ DocumentNodeType[DocumentNodeType["ShortcutDocument"] = 4] = "ShortcutDocument";
16749
+ DocumentNodeType[DocumentNodeType["Folder"] = 5] = "Folder";
16750
+ DocumentNodeType[DocumentNodeType["TopFolder"] = 6] = "TopFolder";
16751
+ DocumentNodeType[DocumentNodeType["DepartmentFolder"] = 7] = "DepartmentFolder";
16752
+ DocumentNodeType[DocumentNodeType["RegionalFolder"] = 8] = "RegionalFolder";
16753
+ })(DocumentNodeType || (DocumentNodeType = {}));
16754
+
16755
+ var ModuleType;
16756
+ (function (ModuleType) {
16757
+ ModuleType[ModuleType["documentProcess"] = 1] = "documentProcess";
16758
+ ModuleType[ModuleType["deviation"] = 2] = "deviation";
16759
+ ModuleType[ModuleType["checklist"] = 3] = "checklist";
16760
+ ModuleType[ModuleType["risk"] = 4] = "risk";
16761
+ })(ModuleType || (ModuleType = {}));
16762
+
16763
+ class ShowHideSearchResultConst {
16764
+ }
16765
+ ShowHideSearchResultConst.IS_DISPLAY_SEARCH_RESULT = 'IS_DISPLAY_SEARCH_RESULT';
16766
+ ShowHideSearchResultConst.HIDE_SEARCH_RESULT = 'HIDE_SEARCH_RESULT';
16767
+ ShowHideSearchResultConst.SHOW_SEARCH_RESULT = 'SHOW_SEARCH_RESULT';
16768
+
16769
+ class SelectOnePopupData {
16770
+ constructor() {
16771
+ this.moduleId = 0;
16772
+ this.moduleName = '';
16773
+ this.treeData = [];
16774
+ this.selectedNode = [];
16775
+ this.disabledList = [];
16776
+ this.expandToChildNode = [];
16777
+ }
16778
+ }
16779
+
16780
+ class QMSSelectOneGlobalService {
16781
+ constructor() {
16782
+ this.searchRelated = new BehaviorSubject([]);
16783
+ }
16784
+ setSearchRelated(result) {
16785
+ this.searchRelated.next(result);
16786
+ }
16787
+ }
16788
+ QMSSelectOneGlobalService.ɵprov = i0.ɵɵdefineInjectable({ factory: function QMSSelectOneGlobalService_Factory() { return new QMSSelectOneGlobalService(); }, token: QMSSelectOneGlobalService, providedIn: "root" });
16789
+ QMSSelectOneGlobalService.decorators = [
16790
+ { type: Injectable, args: [{ providedIn: 'root' },] }
16791
+ ];
16792
+ QMSSelectOneGlobalService.ctorParameters = () => [];
16793
+
16794
+ class SelectOneDialog {
16795
+ constructor(cdRef, translate, dialogRef, globalService, iconRegistry, sanitizer, appIconService, data) {
16796
+ this.cdRef = cdRef;
16797
+ this.translate = translate;
16798
+ this.dialogRef = dialogRef;
16799
+ this.globalService = globalService;
16800
+ this.iconRegistry = iconRegistry;
16801
+ this.sanitizer = sanitizer;
16802
+ this.appIconService = appIconService;
16803
+ this.data = data;
16804
+ this.ngUnsubscribe = new Subject();
16805
+ this.moduleId = 0;
16806
+ this.moduleName = '';
16807
+ this.treeData = [];
16808
+ this.checkedNodeList = [];
16809
+ this.selectedNode = [];
16810
+ this.selectedData = [];
16811
+ this.module = ModuleType;
16812
+ this.dataType = DataType;
16813
+ this.itemType = 0;
16814
+ this.selectedRiskData = [];
16815
+ this.disabledList = [];
16816
+ this.expandToChildNode = [];
16817
+ this.isCommonExpanded = true;
16818
+ this.myControl = new FormControl();
16819
+ this.filteredOptions = [];
16820
+ this.isInputValue = false;
16821
+ this.selectedFolder = null;
16822
+ this.listChildrenSelectOne = [];
16823
+ this.onSearch = new EventEmitter();
16824
+ this.onExpandFolder = new EventEmitter();
16825
+ this.moduleId = data.moduleId;
16826
+ this.moduleName = data.moduleName;
16827
+ this.treeData = data.treeData;
16828
+ this.treeConfig = data.treeConfig;
16829
+ this.selectedRiskData = (data === null || data === void 0 ? void 0 : data.selectedNode) || [];
16830
+ this.disabledList = data.disabledList || [];
16831
+ this.expandToChildNode = data.expandToChildNode;
16832
+ appIconService.registerProcessIcon(iconRegistry, sanitizer);
16833
+ appIconService.registerProcessAreaIcon(iconRegistry, sanitizer);
16834
+ appIconService.registerDocumentIcon(iconRegistry, sanitizer);
16835
+ appIconService.registerFolderIcon(iconRegistry, sanitizer);
16836
+ appIconService.registerDeviationIcon(iconRegistry, sanitizer);
16837
+ appIconService.registerChecklistIcon(iconRegistry, sanitizer);
16838
+ appIconService.registerRiskIcon(iconRegistry, sanitizer);
16839
+ }
16840
+ ngOnDestroy() {
16841
+ this.ngUnsubscribe.next();
16842
+ this.ngUnsubscribe.complete();
16843
+ this.globalService.setSearchRelated([]);
16844
+ this.selectedFolder = null;
16845
+ }
16846
+ onMessage(event) {
16847
+ if (event.data === ShowHideSearchResultConst.HIDE_SEARCH_RESULT) {
16848
+ this.autoComplete.closePanel();
16849
+ }
16850
+ }
16851
+ ngOnInit() {
16852
+ this.translate.getLanguageSubject$.pipe().subscribe((res) => {
16853
+ if (res) {
16854
+ this.LANG = this.translate.getObjectLang(res);
16855
+ }
16856
+ });
16857
+ this.globalService.searchRelated.pipe(takeUntil(this.ngUnsubscribe)).subscribe((res) => {
16858
+ if (res && res.length) {
16859
+ this.filteredOptions = res;
16860
+ }
16861
+ });
16862
+ this.myControl.valueChanges.pipe(debounceTime(1000)).subscribe((val) => {
16863
+ this.isInputValue = true;
16864
+ this.onSearchRelated(val);
16865
+ });
16866
+ this.itemType = this.getDataTypeId(this.moduleId);
16867
+ }
16868
+ ngAfterViewChecked() {
16869
+ this.cdRef.detectChanges();
16870
+ if (this.filteredOptions && this.filteredOptions.length) {
16871
+ this.autoComplete.openPanel();
16872
+ this.setResultHeight();
16873
+ }
16874
+ else if (this.autoComplete) {
16875
+ this.autoComplete.closePanel();
16876
+ }
16877
+ }
16878
+ getDataTypeId(moduleId) {
16879
+ let itemType;
16880
+ switch (moduleId) {
16881
+ case ModuleType.documentProcess:
16882
+ itemType = this.dataType.process;
16883
+ break;
16884
+ case ModuleType.deviation:
16885
+ itemType = this.dataType.deviation;
16886
+ break;
16887
+ case ModuleType.checklist:
16888
+ itemType = this.dataType.checklist;
16889
+ break;
16890
+ case ModuleType.risk:
16891
+ itemType = this.dataType.risk;
16892
+ break;
16893
+ default:
16894
+ itemType = this.dataType.document;
16895
+ break;
16896
+ }
16897
+ return itemType;
16898
+ }
16899
+ setResultHeight(arr) {
16900
+ let maxHeight = 484;
16901
+ const popup_content = document.getElementsByClassName('qmslib_related_popup_content')[0];
16902
+ const line__divider = document.getElementsByClassName('line__divider')[0];
16903
+ if (popup_content && line__divider) {
16904
+ maxHeight = this.getOffsetHeight(popup_content, true) + this.getOffsetHeight(line__divider, true) * 2;
16905
+ }
16906
+ const contentResult = document.getElementsByClassName('cdk-virtual-scroll-content-wrapper')[0];
16907
+ const viewreports = document.getElementsByClassName('related-viewport')[0];
16908
+ if (viewreports) {
16909
+ if (contentResult.offsetHeight <= maxHeight) {
16910
+ viewreports.style.height = `${contentResult.offsetHeight}px`;
16911
+ }
16912
+ else {
16913
+ viewreports.style.height = `${maxHeight}px`;
16914
+ }
16915
+ }
16916
+ }
16917
+ onSearchRelated(_val) {
16918
+ this.filteredOptions = [];
16919
+ if (typeof (_val) === 'object') {
16920
+ this.myControl.setValue('');
16921
+ }
16922
+ else if (typeof (_val) === 'string') {
16923
+ if (!!_val) {
16924
+ this.onSearch.emit(_val);
16925
+ }
16926
+ }
16927
+ }
16928
+ getModuleFilteredOptions() {
16929
+ if (this.listChildrenSelectOne.length) {
16930
+ for (let index = 0; index < this.listChildrenSelectOne.length; index++) {
16931
+ const firstEl = this.listChildrenSelectOne[index];
16932
+ for (let j = 0; j < this.filteredOptions.length; j++) {
16933
+ const secondEl = this.filteredOptions[j];
16934
+ if (firstEl.id === secondEl.id) {
16935
+ this.filteredOptions.splice(j, 1);
16936
+ }
16937
+ }
16938
+ }
16939
+ }
16940
+ return this.filteredOptions;
16941
+ }
16942
+ showSearchResult() {
16943
+ this.autoComplete.openPanel();
16944
+ }
16945
+ displayRelated(related) {
16946
+ return related ? related.itemName : undefined;
16947
+ }
16948
+ selectItemSearched(item) {
16949
+ var _a;
16950
+ if ((_a = this.treeConfig) === null || _a === void 0 ? void 0 : _a.selectOne) {
16951
+ this.disabledList = [];
16952
+ }
16953
+ // reset to root
16954
+ this.expandToChildNode = [''];
16955
+ this.checkedNodeList = [];
16956
+ let position = -1;
16957
+ let node;
16958
+ let typeId;
16959
+ position = this.treeData.findIndex(x => {
16960
+ return x.rootId === item.id;
16961
+ });
16962
+ typeId = item.itemType;
16963
+ if (position >= 0) {
16964
+ node = this.treeData[position];
16965
+ this.checkedNodeList.push({
16966
+ moduleId: this.moduleId,
16967
+ id: node.rootId,
16968
+ itemName: node.rootName || node.subName,
16969
+ itemType: typeId,
16970
+ itemNumberId: item.itemNumberId,
16971
+ levelType: item.levelType
16972
+ });
16973
+ }
16974
+ const treeNode = {
16975
+ id: node.rootId,
16976
+ name: !!node.rootId ? node.subName : node.rootName,
16977
+ children: [],
16978
+ parentId: node.parentId
16979
+ };
16980
+ this.dataTrees.toArray()[0].todoFolderSelection([treeNode]);
16981
+ return;
16982
+ }
16983
+ onCloseClick() {
16984
+ this.selectedFolder = null;
16985
+ this.dialogRef.close();
16986
+ }
16987
+ ;
16988
+ onAddClick() {
16989
+ this.selectedFolder = null;
16990
+ this.dialogRef.close(this.checkedNodeList);
16991
+ }
16992
+ getOffsetHeight(element, includeMargin) {
16993
+ let elmHeight = 0, elmMargin = 0;
16994
+ elmHeight = element.offsetHeight;
16995
+ if (includeMargin) {
16996
+ const style = window.getComputedStyle(element);
16997
+ elmMargin = parseFloat(style.marginTop.replace('px', '')) + parseFloat(style.marginBottom.replace('px', ''));
16998
+ }
16999
+ return (elmHeight + elmMargin);
17000
+ }
17001
+ getItemChipName(item) {
17002
+ if (item.itemType === DataType.checklist || item.itemType === DataType.deviation) {
17003
+ return (item.parentName && item.itemName !== item.parentName) ? `${item.parentName}/${item.itemName}` : item.itemName;
17004
+ }
17005
+ return item.itemName;
17006
+ }
17007
+ isEllipsisActive(e) {
17008
+ return e ? (e.clientWidth < e.scrollWidth) : false;
17009
+ }
17010
+ getNodeIcon(item) {
17011
+ switch (item.itemType) {
17012
+ case DataType.folder: {
17013
+ switch (item.levelType) {
17014
+ case DocumentNodeType.DepartmentFolder:
17015
+ return 'department_folder_outlined';
17016
+ case DocumentNodeType.RegionalFolder:
17017
+ return 'regional_folder_outlined';
17018
+ case DocumentNodeType.TopFolder:
17019
+ return 'enterprise_folder_outlined';
17020
+ case DocumentNodeType.Folder:
17021
+ return 'local_folder_outlined';
17022
+ default:
17023
+ return 'folder_outlined';
17024
+ }
17025
+ }
17026
+ case DataType.document: {
17027
+ switch (item.levelType) {
17028
+ case DocumentNodeType.DepartmentFolder:
17029
+ return 'document_department';
17030
+ case DocumentNodeType.RegionalFolder:
17031
+ return 'document_regional';
17032
+ case DocumentNodeType.TopFolder:
17033
+ return 'document_enterprise';
17034
+ case DocumentNodeType.Folder:
17035
+ return 'document_local';
17036
+ default:
17037
+ return 'document';
17038
+ }
17039
+ }
17040
+ case DataType.area:
17041
+ return 'process_area_outlined';
17042
+ case DataType.process:
17043
+ return 'process';
17044
+ case DataType.deviation:
17045
+ return 'deviation';
17046
+ case DataType.checklist:
17047
+ return 'checklist';
17048
+ case DataType.risk:
17049
+ return 'risk';
17050
+ default:
17051
+ return 'folder_outlined';
17052
+ }
17053
+ }
17054
+ getParentName(item) {
17055
+ if (item.itemType === this.dataType.checklist || item.itemType === this.dataType.deviation) {
17056
+ return item.parentName;
17057
+ }
17058
+ return null;
17059
+ }
17060
+ getItemId(item) {
17061
+ if (item.itemType === this.dataType.process) {
17062
+ return `${this.LANG.PROCESS_ID}: ${item.itemNumberId}; ${item.statusName}`;
17063
+ }
17064
+ else if (item.itemType === this.dataType.document) {
17065
+ return `${this.LANG.DOCUMENT_ID}: ${item.itemNumberId}; ${item.statusName}`;
17066
+ }
17067
+ return null;
17068
+ }
17069
+ selectNodeTreeEvent(node) {
17070
+ var _a, _b;
17071
+ let position = -1;
17072
+ let parentName = '';
17073
+ let itemNumberId = '';
17074
+ position = !node.expandable ? this.treeData.findIndex(p => p.childId === node.id && p.rootId === node.parentId) :
17075
+ this.treeData.findIndex(p => p.rootId === node.id);
17076
+ parentName = this.treeData[position].parentId ? this.treeData[position].subName : this.treeData[position].rootName;
17077
+ itemNumberId = (_b = (_a = this.treeData[position]) === null || _a === void 0 ? void 0 : _a.displayId) === null || _b === void 0 ? void 0 : _b.toString();
17078
+ this.checkedNodeList = [];
17079
+ this.checkedNodeList.push({
17080
+ moduleId: this.moduleId,
17081
+ id: node.id,
17082
+ itemName: node.name,
17083
+ itemType: node.itemType,
17084
+ parentId: node.parentId,
17085
+ parentName: parentName,
17086
+ itemNumberId: itemNumberId,
17087
+ levelType: node.levelType
17088
+ });
17089
+ }
17090
+ getChildNodeSelectOne(listChildren) {
17091
+ this.listChildrenSelectOne = [];
17092
+ this.listChildrenSelectOne = listChildren;
17093
+ }
17094
+ }
17095
+ SelectOneDialog.decorators = [
17096
+ { type: Component, args: [{
17097
+ selector: 'qms-select-one',
17098
+ template: "<div id=\"qmslib_related_popup\" class=\"qmslib__related__popup__container\">\r\n <div id=\"qmslib_related_popup_header\">\r\n <span mat-icon-button class=\"button__close\" (click)=\"onCloseClick()\">\r\n <mat-icon mat-icon>close</mat-icon>\r\n </span>\r\n <div id=\"qmslib_related_popup_header_001\" mat-dialog-content>\r\n <span>{{ moduleName }}</span>\r\n </div>\r\n </div>\r\n\r\n <div\r\n id=\"qmslib_related_popup_search\"\r\n class=\"input__field\"\r\n (click)=\"showSearchResult()\"\r\n >\r\n <input\r\n #name\r\n type=\"text\"\r\n placeholder=\"{{ LANG.SEARCH }}\"\r\n matInput\r\n [formControl]=\"myControl\"\r\n [matAutocomplete]=\"auto\"\r\n #autoCompleteInputSearch\r\n />\r\n <mat-icon>search</mat-icon>\r\n </div>\r\n\r\n <div class=\"line__divider\"></div>\r\n\r\n <mat-autocomplete\r\n #auto=\"matAutocomplete\"\r\n [displayWith]=\"displayRelated\"\r\n class=\"mat-autocomplete_related-viewport\"\r\n >\r\n <cdk-virtual-scroll-viewport\r\n qms-scrollbar\r\n itemSize=\"10\"\r\n class=\"related-viewport\"\r\n >\r\n <div class=\"search__module-result\" *ngIf=\"filteredOptions.length\">\r\n <mat-option\r\n class=\"search__option\"\r\n *ngFor=\"let option of getModuleFilteredOptions()\"\r\n [value]=\"option\"\r\n (click)=\"selectItemSearched(option)\"\r\n >\r\n <qms-list-item type=\"image-square\">\r\n <mat-icon\r\n leading-icon\r\n type=\"image-square\"\r\n [svgIcon]=\"getNodeIcon(option)\"\r\n ></mat-icon>\r\n <div qms-list-header>\r\n <div\r\n qms-line\r\n type=\"caption\"\r\n qms-tool-tip=\"{{\r\n isEllipsisActive(searchItemResult) ? option.parentName : ''\r\n }}\"\r\n mode=\"dark\"\r\n *ngIf=\"getParentName(option)\"\r\n >\r\n <span #searchItemResult class=\"search__result__parent-name\">\r\n {{ option.parentName }}\r\n </span>\r\n </div>\r\n <div qms-line type=\"subtitle\" class=\"search__option-name\">\r\n {{ option.itemName }}\r\n </div>\r\n <div\r\n class=\"caption\"\r\n *ngIf=\"option.breadcumbs && option.breadcumbs.length\"\r\n >\r\n <qms-breadcrumb\r\n class=\"breadcrumb-containe\"\r\n type=\"table\"\r\n numDisplayItem=\"1\"\r\n [nodes]=\"option.breadcumbs\"\r\n >\r\n </qms-breadcrumb>\r\n </div>\r\n </div>\r\n <div qms-line color=\"default-subtitle\" *ngIf=\"getItemId(option)\">\r\n <span class=\"material-icons-outlined search__description-icon\">\r\n local_offer\r\n </span>\r\n {{ getItemId(option) }}\r\n </div>\r\n </qms-list-item>\r\n </mat-option>\r\n </div>\r\n </cdk-virtual-scroll-viewport>\r\n </mat-autocomplete>\r\n\r\n <div class=\"row\">\r\n <div\r\n class=\"qms-scrollbar col-12 qmslib_related_popup_content\"\r\n [ngClass]=\"{\r\n panel__content_item: checkedNodeList.length,\r\n panel__content: !checkedNodeList.length\r\n }\"\r\n >\r\n <mat-expansion-panel\r\n hideToggle\r\n id=\"qmslib_related_popup_common_001\"\r\n [expanded]=\"isCommonExpanded\"\r\n (opened)=\"isCommonExpanded = true\"\r\n (closed)=\"isCommonExpanded = false\"\r\n class=\"panel-tree\"\r\n >\r\n <div id=\"qmslib_related_popup_common_002\">\r\n <qms-tree\r\n [treeData]=\"treeData\"\r\n [treeConfig]=\"treeConfig\"\r\n [selectedData]=\"selectedData\"\r\n [selectedRiskData]=\"selectedRiskData\"\r\n [disabledList]=\"disabledList\"\r\n (selectNodeEvent)=\"selectNodeTreeEvent($event)\"\r\n (getChildNodeSelectOne)=\"getChildNodeSelectOne($event)\"\r\n [expandOnTitleClick]=\"true\"\r\n [expandToChildNode]=\"expandToChildNode\"\r\n ></qms-tree>\r\n </div>\r\n </mat-expansion-panel>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"checkedNodeList.length\" class=\"line__divider\"></div>\r\n\r\n <div *ngIf=\"checkedNodeList.length\" class=\"panel__item qms-scrollbar\">\r\n <div class=\"related__item__inline\" *ngFor=\"let item of checkedNodeList\">\r\n <button\r\n *ngIf=\"item.itemName\"\r\n mat-button\r\n class=\"related__item__content\"\r\n qms-tool-tip=\"{{\r\n isEllipsisActive(itemName) ? getItemChipName(item) : ''\r\n }}\"\r\n mode=\"dark\"\r\n >\r\n <span class=\"related__item__content_name\" #itemName>{{\r\n getItemChipName(item)\r\n }}</span>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"line__divider\"></div>\r\n\r\n <div class=\"confirm__button__groups\">\r\n <button\r\n *ngIf=\"!checkedNodeList.length\"\r\n qms-btn\r\n style=\"margin-top: 7px\"\r\n (click)=\"onAddClick()\"\r\n >\r\n {{ LANG.ADD }}\r\n </button>\r\n <button\r\n *ngIf=\"checkedNodeList.length\"\r\n qms-btn\r\n style=\"margin-top: 0px\"\r\n (click)=\"onAddClick()\"\r\n >\r\n {{ LANG.ADD }} ({{ checkedNodeList.length }})\r\n </button>\r\n <button\r\n qms-btn-text\r\n [ngStyle]=\"{ 'margin-top': checkedNodeList.length ? '0px' : '7px' }\"\r\n (click)=\"onCloseClick()\"\r\n >\r\n {{ LANG.CANCEL }}\r\n </button>\r\n </div>\r\n</div>\r\n",
17099
+ encapsulation: ViewEncapsulation.None,
17100
+ styles: [".qms-scrollbar::-webkit-scrollbar{width:12px}.qms-scrollbar::-webkit-scrollbar-track{background:rgba(0,0,0,.12);background-clip:content-box}.qms-scrollbar::-webkit-scrollbar-thumb{background:rgba(0,0,0,.38);border-radius:20px;width:4px;border:4px solid transparent;background-clip:content-box}.qms-scrollbar::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.5);background-clip:content-box;border:4px solid transparent}.qms-scrollbar.none-scroll-bg::-webkit-scrollbar-track{background:transparent;background-clip:content-box}.qms__popup .button__close{float:right;top:-24px;right:-24px;cursor:pointer}.qms__danger button{border:none;color:#fff;padding:0;text-align:center;text-decoration:none;display:inline-block;cursor:pointer;height:20px;width:20px;font-family:Open Sans;font-size:12px;font-weight:600;font-style:normal;line-height:16px}.qms__danger .red{background-color:#9e360f;margin-left:10px}.qms__danger .yellow{background-color:#e4cf53;margin-left:10px;color:#323232}.qms__danger .green{background-color:#00804c;margin-left:10px}.confirm__button__groups{margin-top:11px}.confirm__button__groups button{min-height:36px;width:auto;font-family:Open Sans;font-weight:500;font-size:14px;letter-spacing:1px;line-height:16px;padding-left:15px;padding-right:15px;margin-right:5px;float:right}.confirm__button__groups .confirm{background:#f8f9f9}.confirm__button__groups .confirm:hover{background:#001983;color:#fff}.confirm__button__groups .confirm:disabled{cursor:not-allowed}.confirm__button__groups .cancel{background:#f8f9f9}.confirm__button__groups .cancel:hover{background:#001983;color:#fff}.qmslib__related__popup__container .input__field{display:flex;align-items:center}.qmslib__related__popup__container .input__field input{width:100%;padding:10px;outline:none;border:none;background:#eee}.qmslib__related__popup__container .input__field .mat-icon{margin-left:-30px;cursor:pointer;vertical-align:middle}.qmslib__related__popup__container .line__divider{border-bottom:1px solid #ccc;height:1px;margin-top:10px;min-width:300px;max-width:100%}.qmslib__related__popup__container .button__close{float:right;top:-24px;right:-24px;cursor:pointer}.qmslib__related__popup__container .panel__content{height:450px;overflow:auto;margin-top:12px}.qmslib__related__popup__container .panel__content_item{height:350px;overflow:auto;margin-top:12px}.qmslib__related__popup__container .panel-tree .mat-expansion-panel-body{padding:0 12px 12px}.qmslib__related__popup__container .mat-expansion-panel-header{height:30px;font-size:12px;letter-spacing:1px;font-family:Raleway;font-weight:600;padding:0}.qmslib__related__popup__container .mat-expansion-panel-header .mat-expansion-panel-header-title{align-items:center;margin-left:12px}.qmslib__related__popup__container .mat-expansion-panel-header .related_popup_toggle-btn{width:1.5rem;height:1.5rem;line-height:1.5rem}.qmslib__related__popup__container .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:none}.qmslib__related__popup__container .panel__item{height:100px;margin-top:12px;overflow-x:hidden;overflow-y:auto;padding-right:5px;width:100%;max-width:100%;display:flex;flex-wrap:wrap;align-content:flex-start}.qmslib__related__popup__container .panel__item .related__item__inline{max-width:100%}.qmslib__related__popup__container .panel__item .related__item__content{height:32px;line-height:32px;background-color:#e5e5e5;max-width:100%;margin-bottom:5px;margin-left:2.5px;margin-right:2.5px}.qmslib__related__popup__container .panel__item .related__item__content .mat-icon{color:#8e8e8e;font-size:24px}.qmslib__related__popup__container .panel__item .related__item__content span.related__item__content_name{display:inline-block;min-width:calc(100% - 13px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:320px}cdk-virtual-scroll-viewport{overflow-x:hidden}cdk-virtual-scroll-viewport .search__module-result{margin:1.5rem;padding:0 0 .5rem}cdk-virtual-scroll-viewport .search__module-result .search__module-title{font-size:14px;font-weight:600}cdk-virtual-scroll-viewport .search__module-result .search__option{height:auto;line-height:normal;padding:8px 0;border-bottom:1px solid #e0e0e0}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item.mat-2-line.image-item{height:auto}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content{margin:0;border-bottom:none}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .wrap-image.image-square{width:2.5rem;height:100%;background:transparent;align-self:center;margin-right:0}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .wrap-image.image-square img{width:24px;height:24px}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .material-icons-outlined.leading-icon,cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content mat-icon.leading-icon{padding:4px 0 4px 4px}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .subtitle{font-weight:400}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .caption{overflow:hidden;line-height:normal;white-space:normal;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;padding:0;margin:0}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .caption span.search__result__parent-name{display:inline-block;width:auto;width:calc(100% - 13px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .default-subtitle{color:rgba(0,0,0,.38)}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .search__description-icon{margin-right:0;width:12px;height:12px;font-size:12px}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .qms-list-text{border-bottom:none}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .breadcrumb-containe .qms-breadcrumb-item .mat-icon{font-size:16px!important;padding-bottom:1px}cdk-virtual-scroll-viewport .search__module-result svg{display:block}#qmslib_related_popup_header_001{margin-bottom:20px;padding:0;font-weight:600;font-family:Raleway}.padding-5{padding:5px}.mat-autocomplete_related-viewport{height:100%;max-height:100%!important}.mat-autocomplete_related-viewport .cdk-virtual-scroll-content-wrapper{width:100%}.mat-autocomplete_related-viewport .related-viewport{min-height:10.25rem}"]
17101
+ },] }
17102
+ ];
17103
+ SelectOneDialog.ctorParameters = () => [
17104
+ { type: ChangeDetectorRef },
17105
+ { type: TranslateLibraryService },
17106
+ { type: MatDialogRef },
17107
+ { type: QMSSelectOneGlobalService },
17108
+ { type: MatIconRegistry },
17109
+ { type: DomSanitizer },
17110
+ { type: QMSIconRegistryService },
17111
+ { type: SelectOnePopupData, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] }
17112
+ ];
17113
+ SelectOneDialog.propDecorators = {
17114
+ dataTrees: [{ type: ViewChildren, args: [TreeComponent, {},] }],
17115
+ autoComplete: [{ type: ViewChild, args: ['autoCompleteInputSearch', { read: MatAutocompleteTrigger, static: true },] }],
17116
+ onMessage: [{ type: HostListener, args: ['window:message', ['$event'],] }]
17117
+ };
17118
+
17119
+ class QMSSelectOneModule {
17120
+ }
17121
+ QMSSelectOneModule.decorators = [
17122
+ { type: NgModule, args: [{
17123
+ declarations: [
17124
+ SelectOneDialog
17125
+ ],
17126
+ imports: [
17127
+ CommonModule,
17128
+ MatTreeModule,
17129
+ MatIconModule,
17130
+ MatButtonModule,
17131
+ MatCheckboxModule,
17132
+ MatExpansionModule,
17133
+ MatAutocompleteModule,
17134
+ ReactiveFormsModule,
17135
+ ScrollingModule,
17136
+ MatCardModule,
17137
+ MatSidenavModule,
17138
+ MatListModule,
17139
+ SharedMaterialModule,
17140
+ QMSListModule,
17141
+ QmsAngularModule,
17142
+ QMSBreadcrumbModule,
17143
+ QMSAppIconModule,
17144
+ QMSTreeModule
17145
+ ],
17146
+ exports: [
17147
+ SelectOneDialog
17148
+ ]
17149
+ },] }
17150
+ ];
17151
+
17152
+ class ISelectOneItem {
17153
+ }
17154
+
16334
17155
  /*
16335
17156
  * Public API Surface of qms-angular
16336
17157
  */
@@ -16339,5 +17160,5 @@ QmsBadgesModule.decorators = [
16339
17160
  * Generated bundle index. Do not edit.
16340
17161
  */
16341
17162
 
16342
- export { AutocompleteOffDirective, BREADCRUMB_DROPDOWN_ICON, BUTTON_TOGGLE_DEFAULT_OPTIONS, BUTTON_TOGGLE_GROUP, BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR, BannerType, BpmnService, BreadcrumbNode, ButtonToggleChange, CHECKLIST_ICON, CKEditorEventConst, CKEditorModule, ConfirmDialog, DEPARTMENT_FOLDER_ICON, DEPARTMENT_FOLDER_OUTLINED_ICON, DEVIATION_ICON, DOCUMENT_DEPARTMENT_ICON, DOCUMENT_ENTERPRISE_ICON, DOCUMENT_ICON, DOCUMENT_LOCAL_ICON, DOCUMENT_REGIONAL_ICON, DateFormatPipe, ENTERPRISE_FOLDER_ICON, ENTERPRISE_FOLDER_OUTLINED_ICON, FileErrorType, FlowChartConst, FlowchartViewMode, IconModel, InformationCoverItem, KEYBOARD_DOWN_ICON, KEYBOARD_UP_ICON, LOCAL_FOLDER_ICON, LOCAL_FOLDER_OUTLINED_ICON, LinkAnchor, LinkType, MarginDirective, NORMAL_FOLDER_ICON, NORMAL_FOLDER_OUTLINED_ICON, PROCESS_AREA_ICON, PROCESS_AREA_OUTLINED_ICON, PROCESS_ICON, PopupData, ProtocolType, ProtocolTypeName, QMSAnchor, QMSAppIconModule, QMSAttachmentListDirective, QMSBreadcrumb, QMSBreadcrumbDirectionIconDirective, QMSBreadcrumbItemDirective, QMSBreadcrumbModule, QMSButton, QMSButtonIcon, QMSButtonModule, QMSButtonToggle, QMSButtonToggleGroup, QMSCKEditorBaseComponent, QMSCKEditorBaseService, QMSCKEditorBpmn, QMSCKEditorBpmnApiService, QMSCKEditorBpmnComponent, QMSCKEditorBpmnTemplate, QMSCKEditorComponent, QMSCKEditorConfirmComponent, QMSCKEditorData, QMSCKEditorDialogData, QMSCKEditorDocumentType, QMSCKEditorFullscreenComponent, QMSCKEditorGlobalService, QMSCKEditorInjector, QMSCKEditorLinkAnchorDocument, QMSCKEditorLinkComponent, QMSCKEditorLinkService, QMSCKEditorLoadTemplateComponent, QMSCKEditorModule, QMSCKEditorPlugin, QMSCKEditorRelatedComponent, QMSCKEditorRelation, QMSCKEditorTemplate, QMSCKEditorTemplateService, QMSCKEditorToastService, QMSCKEditorTreeComponent, QMSCKEdtiorInputData, QMSChipBodyDirective, QMSChipInputChipListDirective, QMSChipInputDirective, QMSChipInputSelectDropWDownDirective, QMSChipInputSelectFieldDirective, QMSChipInputSelectTriggerDirective, QMSComment, QMSConfirmDialog, QMSDialogConfig, QMSDrawerContentDirective, QMSDrawerDirective, QMSDrawerHeaderActionDirective, QMSDrawerHeaderDirective, QMSDropdownMenuItem, QMSEditFileNameDialog, QMSEditFileNameDialogModule, QMSFileAttachment, QMSFileUploadDirective, QMSFileUploadDisplayDirective, QMSFileUploadMultipleDirective, QMSFileUploadMultipleDisplayDirective, QMSFileUploadMultipleSelectorDirective, QMSFileUploadSelectorDirective, QMSFormDialog, QMSFormFieldDatePickerDirective, QMSFormFieldDirective, QMSFormFieldTextareaDirective, QMSGroupOptionDirective, QMSIconRegistryService, QMSInputChipDirective, QMSInputClearDirective, QMSList, QMSListExpansion, QMSListExpansionHeader, QMSListHeader, QMSListItem, QMSListLeadingIcon, QMSListLine, QMSListModule, QMSRangeSliderDirective, QMSRangeSliderLockUpDirective, QMSRelatedGlobalService, QMSRelatedModule, QMSRichText, QMSRichTextModule, QMSScrolableAttachmentListDirective, QMSScrollbarDirective, QMSSearchFieldDirective, QMSSelectGlobalService, QMSSelectIncludeChildrenModule, QMSSnackbarConfig, QMSSuffixDirective, QMSSuffixFieldDirective, QMSTabGroupAdvancedDirective, QMSTabGroupDirective, QMSTabLabelDirective, QMSTableAction, QMSTableActionBlock, QMSTableModule, QMSTextBlockDirective, QMSTextBlockLine, QMSToolTipComponent, QMSToolTipRendererDirective, QMSTooltipImageDirective, QMSTooltipModule, QMSTreeModule, QMSUploadFileErrorDialog, QMSUploadFileErrorDialogModule, QMSUploadingFileGuard, QmsAngularComponent, QmsAngularModule, QmsAngularService, QmsAppBarComponent, QmsAppBarModule, QmsBadgesComponent, QmsBadgesModule, QmsBannerComponent, QmsBannerConfirmButton, QmsBannerConfirmButtonClick, QmsBannerConfirmComponent, QmsBannerConfirmModule, QmsBannerContent, QmsBannerLoadingComponent, QmsBannerLoadingModule, QmsBannerModule, QmsReportContentPortraitComponent, QmsReportCoverPortraitComponent, QmsReportModule, QmsStepperComponent, QmsStepperModule, REGIONAL_FOLDER_ICON, REGIONAL_FOLDER_OUTLINED_ICON, RISK_ICON, RelatedContentComponent, RelatedItemType, RelatedListComponent, RelatedPopupComponent, Result, RiskAnalysis, RiskAnalysisComponent, RiskDanger, RiskListComponent, RiskResult, RiskResultComponent, SaveTemplateComponent, ScrollToSelectedDirective, SelectConst, SelectDialog, SelectIncludeChildrenPopUpComponent, SelectPopupData, SharedModule, SideNav, SideNavItem, SidenavComponent, StepModel, TargetType, TargetTypeName, TestOnlyComponent, TranslateLibraryService, TreeComponent, TreeConfig, TreeFlatNode, TreeModel, TreeNode$1 as TreeNode, UploadErrorData, en, mixinColor, no, notExceedSize, requiredFileType, ɵ1, SharedMaterialModule as ɵa, QMSCKEditorTemplateComponent as ɵb, QMSCKEditorTreeService as ɵc, LinkAttachmentComponent as ɵd, QMSCKEditorTooltipComponent as ɵe, QMSCKEditorTooltip as ɵf, QMSCKEditorImageMapComponent as ɵg, QMSCKEditorImageMap as ɵh };
17163
+ export { AutocompleteOffDirective, BREADCRUMB_DROPDOWN_ICON, BUTTON_TOGGLE_DEFAULT_OPTIONS, BUTTON_TOGGLE_GROUP, BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR, BannerType, BpmnService, BreadcrumbNode, ButtonToggleChange, CHECKLIST_ICON, CKEditorEventConst, CKEditorModule, ConfirmDialog, DEPARTMENT_FOLDER_ICON, DEPARTMENT_FOLDER_OUTLINED_ICON, DEVIATION_ICON, DOCUMENT_DEPARTMENT_ICON, DOCUMENT_ENTERPRISE_ICON, DOCUMENT_ICON, DOCUMENT_LOCAL_ICON, DOCUMENT_REGIONAL_ICON, DateFormatPipe, ENTERPRISE_FOLDER_ICON, ENTERPRISE_FOLDER_OUTLINED_ICON, FileErrorType, FlowChartConst, FlowchartViewMode, ISelectOneItem, IconModel, InformationCoverItem, KEYBOARD_DOWN_ICON, KEYBOARD_UP_ICON, LOCAL_FOLDER_ICON, LOCAL_FOLDER_OUTLINED_ICON, LinkAnchor, LinkType, MarginDirective, NORMAL_FOLDER_ICON, NORMAL_FOLDER_OUTLINED_ICON, PROCESS_AREA_ICON, PROCESS_AREA_OUTLINED_ICON, PROCESS_ICON, PopupData, ProtocolType, ProtocolTypeName, QMSAnchor, QMSAppIconModule, QMSAttachmentListDirective, QMSBreadcrumb, QMSBreadcrumbDirectionIconDirective, QMSBreadcrumbItemDirective, QMSBreadcrumbModule, QMSButton, QMSButtonIcon, QMSButtonModule, QMSButtonToggle, QMSButtonToggleGroup, QMSCKEditorBaseComponent, QMSCKEditorBaseService, QMSCKEditorBpmn, QMSCKEditorBpmnApiService, QMSCKEditorBpmnComponent, QMSCKEditorBpmnTemplate, QMSCKEditorComponent, QMSCKEditorConfirmComponent, QMSCKEditorData, QMSCKEditorDialogData, QMSCKEditorDocumentType, QMSCKEditorFullscreenComponent, QMSCKEditorGlobalService, QMSCKEditorInjector, QMSCKEditorLinkAnchorDocument, QMSCKEditorLinkComponent, QMSCKEditorLinkService, QMSCKEditorLoadTemplateComponent, QMSCKEditorModule, QMSCKEditorPlugin, QMSCKEditorRelatedComponent, QMSCKEditorRelation, QMSCKEditorTemplate, QMSCKEditorTemplateService, QMSCKEditorToastService, QMSCKEditorTreeComponent, QMSCKEdtiorInputData, QMSChipBodyDirective, QMSChipInputChipListDirective, QMSChipInputDirective, QMSChipInputSelectDropWDownDirective, QMSChipInputSelectFieldDirective, QMSChipInputSelectTriggerDirective, QMSComment, QMSConfirmDialog, QMSDialogConfig, QMSDrawerContentDirective, QMSDrawerDirective, QMSDrawerHeaderActionDirective, QMSDrawerHeaderDirective, QMSDropdownMenuItem, QMSEditFileNameDialog, QMSEditFileNameDialogModule, QMSFileAttachment, QMSFileUploadDirective, QMSFileUploadDisplayDirective, QMSFileUploadMultipleDirective, QMSFileUploadMultipleDisplayDirective, QMSFileUploadMultipleSelectorDirective, QMSFileUploadSelectorDirective, QMSFormDialog, QMSFormFieldDatePickerDirective, QMSFormFieldDirective, QMSFormFieldTextareaDirective, QMSGroupOptionDirective, QMSIconRegistryService, QMSInputChipDirective, QMSInputClearDirective, QMSList, QMSListExpansion, QMSListExpansionHeader, QMSListHeader, QMSListItem, QMSListLeadingIcon, QMSListLine, QMSListModule, QMSRangeSliderDirective, QMSRangeSliderLockUpDirective, QMSRelatedGlobalService, QMSRelatedModule, QMSRichText, QMSRichTextModule, QMSScrolableAttachmentListDirective, QMSScrollbarDirective, QMSSearchFieldDirective, QMSSelectGlobalService, QMSSelectIncludeChildrenModule, QMSSelectOneGlobalService, QMSSelectOneModule, QMSSnackbarConfig, QMSSuffixDirective, QMSSuffixFieldDirective, QMSTabGroupAdvancedDirective, QMSTabGroupDirective, QMSTabLabelDirective, QMSTableAction, QMSTableActionBlock, QMSTableModule, QMSTextBlockDirective, QMSTextBlockLine, QMSToolTipComponent, QMSToolTipRendererDirective, QMSTooltipImageDirective, QMSTooltipModule, QMSTreeModule, QMSUploadFileErrorDialog, QMSUploadFileErrorDialogModule, QMSUploadingFileGuard, QmsAngularComponent, QmsAngularModule, QmsAngularService, QmsAppBarComponent, QmsAppBarModule, QmsBadgesComponent, QmsBadgesModule, QmsBannerComponent, QmsBannerConfirmButton, QmsBannerConfirmButtonClick, QmsBannerConfirmComponent, QmsBannerConfirmModule, QmsBannerContent, QmsBannerLoadingComponent, QmsBannerLoadingModule, QmsBannerModule, QmsReportContentPortraitComponent, QmsReportCoverPortraitComponent, QmsReportModule, QmsStepperComponent, QmsStepperModule, REGIONAL_FOLDER_ICON, REGIONAL_FOLDER_OUTLINED_ICON, RISK_ICON, RelatedContentComponent, RelatedItemType, RelatedListComponent, RelatedPopupComponent, Result, RiskAnalysis, RiskAnalysisComponent, RiskDanger, RiskListComponent, RiskResult, RiskResultComponent, SaveTemplateComponent, ScrollToSelectedDirective, SelectConst, SelectDialog, SelectIncludeChildrenPopUpComponent, SelectOneDialog, SelectOnePopupData, SelectOption, SelectOptionTypes, SelectPopupData, SelectedOption, SharedModule, ShowHideSearchResultConst, SideNav, SideNavItem, SidenavComponent, StepModel, TargetType, TargetTypeName, TestOnlyComponent, TranslateLibraryService, TreeComponent, TreeConfig, TreeFlatNode, TreeModel, TreeNode$1 as TreeNode, UploadErrorData, en, mixinColor, no, notExceedSize, requiredFileType, ɵ1, SharedMaterialModule as ɵa, QMSCKEditorTemplateComponent as ɵb, QMSCKEditorTreeService as ɵc, LinkAttachmentComponent as ɵd, QMSCKEditorTooltipComponent as ɵe, QMSCKEditorTooltip as ɵf, QMSCKEditorImageMapComponent as ɵg, QMSCKEditorImageMap as ɵh };
16343
17164
  //# sourceMappingURL=qms-angular.js.map