qms-angular 1.0.65 → 1.0.66

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 (51) hide show
  1. package/bundles/qms-angular.umd.js +1991 -46
  2. package/bundles/qms-angular.umd.js.map +1 -1
  3. package/esm2015/lib/common/enum/data-type.enum.js +14 -0
  4. package/esm2015/lib/common/enum/document-node-type.enum.js +12 -0
  5. package/esm2015/lib/common/enum/module-type.enum.js +8 -0
  6. package/esm2015/lib/common/related.const.js +6 -0
  7. package/esm2015/lib/components/select-process-document/index.js +2 -0
  8. package/esm2015/lib/components/select-process-document/models/pop-up-data.model.js +13 -0
  9. package/esm2015/lib/components/select-process-document/models/qms-process-document-item.model.js +3 -0
  10. package/esm2015/lib/components/select-process-document/models/selected-process-document-item.model.js +3 -0
  11. package/esm2015/lib/components/select-process-document/public_api.js +7 -0
  12. package/esm2015/lib/components/select-process-document/select-process-document.component.js +847 -0
  13. package/esm2015/lib/components/select-process-document/select-process-document.module.js +59 -0
  14. package/esm2015/lib/components/select-process-document/services/select-process-document-global.service.js +29 -0
  15. package/esm2015/lib/components/treeNew/index.js +2 -0
  16. package/esm2015/lib/components/treeNew/model/tree-node.model.js +3 -0
  17. package/esm2015/lib/components/treeNew/model/tree.model.js +3 -0
  18. package/esm2015/lib/components/treeNew/public-api.js +5 -0
  19. package/esm2015/lib/components/treeNew/tree.component.js +785 -0
  20. package/esm2015/lib/components/treeNew/tree.function.js +97 -0
  21. package/esm2015/lib/components/treeNew/tree.module.js +51 -0
  22. package/esm2015/public-api.js +7 -1
  23. package/fesm2015/qms-angular.js +1996 -143
  24. package/fesm2015/qms-angular.js.map +1 -1
  25. package/lib/common/enum/data-type.enum.d.ts +12 -0
  26. package/lib/common/enum/document-node-type.enum.d.ts +10 -0
  27. package/lib/common/enum/module-type.enum.d.ts +6 -0
  28. package/lib/common/related.const.d.ts +5 -0
  29. package/lib/components/select-process-document/index.d.ts +1 -0
  30. package/lib/components/select-process-document/models/pop-up-data.model.d.ts +17 -0
  31. package/lib/components/select-process-document/models/qms-process-document-item.model.d.ts +13 -0
  32. package/lib/components/select-process-document/models/selected-process-document-item.model.d.ts +16 -0
  33. package/lib/components/select-process-document/public_api.d.ts +6 -0
  34. package/lib/components/select-process-document/select-process-document.component.d.ts +120 -0
  35. package/lib/components/select-process-document/select-process-document.module.d.ts +2 -0
  36. package/lib/components/select-process-document/services/select-process-document-global.service.d.ts +14 -0
  37. package/lib/components/treeNew/index.d.ts +1 -0
  38. package/lib/components/treeNew/model/tree-node.model.d.ts +8 -0
  39. package/lib/components/treeNew/model/tree.model.d.ts +11 -0
  40. package/lib/components/treeNew/public-api.d.ts +4 -0
  41. package/lib/components/treeNew/tree.component.d.ts +135 -0
  42. package/lib/components/treeNew/tree.function.d.ts +13 -0
  43. package/lib/components/treeNew/tree.module.d.ts +2 -0
  44. package/package.json +1 -1
  45. package/public-api.d.ts +6 -0
  46. package/qms-angular.metadata.json +1 -1
  47. package/src/assets/qms-ckeditor-plugin/package-lock.json +12177 -9
  48. package/src/assets/qms-ckeditor-plugin/src/dist/ckeditor.dev.js +173 -0
  49. package/src/assets/qms-ckeditor-plugin/src/plugins/fullscreen/dist/qmsCKEditorFullscreenPlugin.dev.js +87 -0
  50. package/src/lib/components/select-process-document/select-process-document.component.scss +300 -0
  51. package/src/lib/components/treeNew/tree.component.scss +175 -0
@@ -46,6 +46,7 @@ import { MatToolbarModule } from '@angular/material/toolbar';
46
46
  import { STEPPER_GLOBAL_OPTIONS } from '@angular/cdk/stepper';
47
47
  import { MatStepperModule } from '@angular/material/stepper';
48
48
  import { MatSlideToggleModule } from '@angular/material/slide-toggle';
49
+ import { QMSNewTreeModule as QMSNewTreeModule$1 } from 'projects/qms-angular/src/public-api';
49
50
 
50
51
  class QmsAngularService {
51
52
  constructor() { }
@@ -3858,7 +3859,7 @@ QMSBreadcrumbModule.decorators = [
3858
3859
  },] }
3859
3860
  ];
3860
3861
 
3861
- var DataType$1;
3862
+ var DataType$2;
3862
3863
  (function (DataType) {
3863
3864
  DataType[DataType["process"] = 2] = "process";
3864
3865
  DataType[DataType["document"] = 1] = "document";
@@ -3870,9 +3871,9 @@ var DataType$1;
3870
3871
  DataType[DataType["deviationType"] = 8] = "deviationType";
3871
3872
  DataType[DataType["checklistCategory"] = 9] = "checklistCategory";
3872
3873
  DataType[DataType["riskFolder"] = 10] = "riskFolder";
3873
- })(DataType$1 || (DataType$1 = {}));
3874
+ })(DataType$2 || (DataType$2 = {}));
3874
3875
 
3875
- var DocumentNodeType$1;
3876
+ var DocumentNodeType$2;
3876
3877
  (function (DocumentNodeType) {
3877
3878
  DocumentNodeType[DocumentNodeType["Document"] = 1] = "Document";
3878
3879
  DocumentNodeType[DocumentNodeType["LinkDocument"] = 2] = "LinkDocument";
@@ -3882,24 +3883,24 @@ var DocumentNodeType$1;
3882
3883
  DocumentNodeType[DocumentNodeType["TopFolder"] = 6] = "TopFolder";
3883
3884
  DocumentNodeType[DocumentNodeType["DepartmentFolder"] = 7] = "DepartmentFolder";
3884
3885
  DocumentNodeType[DocumentNodeType["RegionalFolder"] = 8] = "RegionalFolder";
3885
- })(DocumentNodeType$1 || (DocumentNodeType$1 = {}));
3886
+ })(DocumentNodeType$2 || (DocumentNodeType$2 = {}));
3886
3887
 
3887
- class RelatedConst {
3888
+ class RelatedConst$1 {
3888
3889
  }
3889
- RelatedConst.IS_DISPLAY_SEARCH_RESULT = 'IS_DISPLAY_SEARCH_RESULT';
3890
- RelatedConst.HIDE_SEARCH_RESULT = 'HIDE_SEARCH_RESULT';
3891
- RelatedConst.SHOW_SEARCH_RESULT = 'SHOW_SEARCH_RESULT';
3890
+ RelatedConst$1.IS_DISPLAY_SEARCH_RESULT = 'IS_DISPLAY_SEARCH_RESULT';
3891
+ RelatedConst$1.HIDE_SEARCH_RESULT = 'HIDE_SEARCH_RESULT';
3892
+ RelatedConst$1.SHOW_SEARCH_RESULT = 'SHOW_SEARCH_RESULT';
3892
3893
 
3893
3894
  class TreeNode$1 {
3894
3895
  }
3895
3896
 
3896
- let objData$1 = {};
3897
- let json = JSON;
3898
- function buildArrayTree$1(obj, level) {
3897
+ let objData$2 = {};
3898
+ let json$1 = JSON;
3899
+ function buildArrayTree$2(obj, level) {
3899
3900
  return Object.keys(obj).reduce((accumulator, key) => {
3900
3901
  const value = obj[key];
3901
3902
  const node = new TreeNode$1();
3902
- const keyObj = json.parse(key);
3903
+ const keyObj = json$1.parse(key);
3903
3904
  node.id = keyObj["id"];
3904
3905
  node.name = keyObj["name"];
3905
3906
  node.parentId = keyObj["parentId"];
@@ -3915,8 +3916,8 @@ function buildArrayTree$1(obj, level) {
3915
3916
  return accumulator.concat(node);
3916
3917
  }, []);
3917
3918
  }
3918
- function buildObjectTree$1(arr) {
3919
- objData$1 = {};
3919
+ function buildObjectTree$2(arr) {
3920
+ objData$2 = {};
3920
3921
  let objTreeData;
3921
3922
  const root = arr.filter((x) => {
3922
3923
  return x.parentId === '';
@@ -3926,7 +3927,7 @@ function buildObjectTree$1(arr) {
3926
3927
  });
3927
3928
  return objTreeData;
3928
3929
  }
3929
- function findParent$1(id, array) {
3930
+ function findParent$2(id, array) {
3930
3931
  const objParent = {};
3931
3932
  const parent = array.filter((x) => {
3932
3933
  return x.rootId === id;
@@ -3938,7 +3939,7 @@ function findParent$1(id, array) {
3938
3939
  parentId: item.rootId,
3939
3940
  levelType: item.levelType
3940
3941
  };
3941
- objParent[json.stringify(parentKey)] = null;
3942
+ objParent[json$1.stringify(parentKey)] = null;
3942
3943
  });
3943
3944
  // find child
3944
3945
  const child = array.filter((x) => {
@@ -3954,10 +3955,10 @@ function findParent$1(id, array) {
3954
3955
  levelType: parent[0].levelType
3955
3956
  };
3956
3957
  // add node to tree
3957
- objData$1[json.stringify(key)] = objParent;
3958
- return objData$1;
3958
+ objData$2[json$1.stringify(key)] = objParent;
3959
+ return objData$2;
3959
3960
  }
3960
- function findChild$1(id, objParent, array) {
3961
+ function findChild$2(id, objParent, array) {
3961
3962
  const subNode = array.filter((x) => {
3962
3963
  return x.parentId === id;
3963
3964
  });
@@ -3969,7 +3970,7 @@ function findChild$1(id, objParent, array) {
3969
3970
  parentId: item.rootId,
3970
3971
  levelType: item.levelType
3971
3972
  };
3972
- processNode[json.stringify(nodeKey)] = null;
3973
+ processNode[json$1.stringify(nodeKey)] = null;
3973
3974
  this.findChild(item.rootId, processNode, array);
3974
3975
  let key = {
3975
3976
  id: item.rootId,
@@ -3977,14 +3978,14 @@ function findChild$1(id, objParent, array) {
3977
3978
  parentId: id,
3978
3979
  levelType: item.levelType
3979
3980
  };
3980
- objParent[json.stringify(key)] = Object.assign(Object.assign({}, objParent[json.stringify(key)]), processNode);
3981
+ objParent[json$1.stringify(key)] = Object.assign(Object.assign({}, objParent[json$1.stringify(key)]), processNode);
3981
3982
  });
3982
3983
  }
3983
- const TreeFunctions = {
3984
- buildArrayTree: buildArrayTree$1,
3985
- buildObjectTree: buildObjectTree$1,
3986
- findParent: findParent$1,
3987
- findChild: findChild$1
3984
+ const TreeFunctions$1 = {
3985
+ buildArrayTree: buildArrayTree$2,
3986
+ buildObjectTree: buildObjectTree$2,
3987
+ findParent: findParent$2,
3988
+ findChild: findChild$2
3988
3989
  };
3989
3990
 
3990
3991
  class TreeFlatNode {
@@ -4036,7 +4037,7 @@ class TreeComponent {
4036
4037
  this.isChecked = false;
4037
4038
  this.idCheckIcon = '';
4038
4039
  this.listChildNode = [];
4039
- this.dataType = DataType$1;
4040
+ this.dataType = DataType$2;
4040
4041
  this.transformer = (node, level) => {
4041
4042
  let checkHasChild = true;
4042
4043
  if (!node.children) {
@@ -4129,8 +4130,8 @@ class TreeComponent {
4129
4130
  }
4130
4131
  });
4131
4132
  this.filterData = this.treeData;
4132
- this.treeObject = TreeFunctions.buildObjectTree(this.filterData);
4133
- this.dataSource.data = TreeFunctions.buildArrayTree(this.treeObject || {}, 0).map(element => {
4133
+ this.treeObject = TreeFunctions$1.buildObjectTree(this.filterData);
4134
+ this.dataSource.data = TreeFunctions$1.buildArrayTree(this.treeObject || {}, 0).map(element => {
4134
4135
  const item = this.sortDataTree(element);
4135
4136
  element = null;
4136
4137
  element = Object.assign({}, item);
@@ -4486,8 +4487,8 @@ class TreeComponent {
4486
4487
  this.checkBoxEvent.emit(this.checklistSelection.selected);
4487
4488
  }
4488
4489
  selectNode(node) {
4489
- if (window[RelatedConst.IS_DISPLAY_SEARCH_RESULT]) {
4490
- window.postMessage(RelatedConst.HIDE_SEARCH_RESULT, '*');
4490
+ if (window[RelatedConst$1.IS_DISPLAY_SEARCH_RESULT]) {
4491
+ window.postMessage(RelatedConst$1.HIDE_SEARCH_RESULT, '*');
4491
4492
  }
4492
4493
  if (this.treeConfig.selectOne) {
4493
4494
  node.itemType = this.checkDataTypeSelectNode(node);
@@ -4498,11 +4499,11 @@ class TreeComponent {
4498
4499
  checkDataTypeSelectNode(node) {
4499
4500
  let itemType = -1;
4500
4501
  switch (this.moduleId) {
4501
- case DataType$1.process:
4502
- itemType = node.expandable ? DataType$1.area : DataType$1.process;
4502
+ case DataType$2.process:
4503
+ itemType = node.expandable ? DataType$2.area : DataType$2.process;
4503
4504
  break;
4504
- case DataType$1.document:
4505
- itemType = node.expandable ? DataType$1.folder : DataType$1.document;
4505
+ case DataType$2.document:
4506
+ itemType = node.expandable ? DataType$2.folder : DataType$2.document;
4506
4507
  break;
4507
4508
  default:
4508
4509
  itemType = this.moduleId;
@@ -4525,8 +4526,8 @@ class TreeComponent {
4525
4526
  this.selectNodeEvent.emit(node);
4526
4527
  return;
4527
4528
  }
4528
- if (window[RelatedConst.IS_DISPLAY_SEARCH_RESULT]) {
4529
- window.postMessage(RelatedConst.HIDE_SEARCH_RESULT, '*');
4529
+ if (window[RelatedConst$1.IS_DISPLAY_SEARCH_RESULT]) {
4530
+ window.postMessage(RelatedConst$1.HIDE_SEARCH_RESULT, '*');
4530
4531
  }
4531
4532
  // set useExpandFeature = true to improve performance of tree loading
4532
4533
  if (!isExpandNode || !this.useExpandFeature) {
@@ -4661,17 +4662,17 @@ class TreeComponent {
4661
4662
  return this.treeControl.isExpanded(node) ? this.openIcon : this.closeIcon;
4662
4663
  }
4663
4664
  switch (this.moduleId) {
4664
- case DataType$1.document: {
4665
+ case DataType$2.document: {
4665
4666
  const nodeData = this.treeData.filter(x => { return x.rootId === node.id; });
4666
4667
  if (nodeData.length > 0) {
4667
4668
  switch (nodeData[0].levelType) {
4668
- case DocumentNodeType$1.DepartmentFolder:
4669
+ case DocumentNodeType$2.DepartmentFolder:
4669
4670
  return this.treeControl.isExpanded(node) ? 'department_folder_outlined' : 'department_folder';
4670
- case DocumentNodeType$1.RegionalFolder:
4671
+ case DocumentNodeType$2.RegionalFolder:
4671
4672
  return this.treeControl.isExpanded(node) ? 'regional_folder_outlined' : 'regional_folder';
4672
- case DocumentNodeType$1.TopFolder:
4673
+ case DocumentNodeType$2.TopFolder:
4673
4674
  return this.treeControl.isExpanded(node) ? 'enterprise_folder_outlined' : 'enterprise_folder';
4674
- case DocumentNodeType$1.Folder:
4675
+ case DocumentNodeType$2.Folder:
4675
4676
  return this.treeControl.isExpanded(node) ? 'local_folder_outlined' : 'local_folder';
4676
4677
  default:
4677
4678
  return this.treeControl.isExpanded(node) ? 'folder_outlined' : 'folder';
@@ -4679,7 +4680,7 @@ class TreeComponent {
4679
4680
  }
4680
4681
  return this.treeControl.isExpanded(node) ? 'keyboard_up' : 'keyboard_down';
4681
4682
  }
4682
- case DataType$1.process:
4683
+ case DataType$2.process:
4683
4684
  return this.treeControl.isExpanded(node) ? 'process_area_outlined' : 'process_area';
4684
4685
  default:
4685
4686
  return this.treeControl.isExpanded(node) ? 'keyboard_up' : 'keyboard_down';
@@ -4687,26 +4688,26 @@ class TreeComponent {
4687
4688
  }
4688
4689
  getItemIcon(node) {
4689
4690
  switch (this.moduleId) {
4690
- case DataType$1.document:
4691
+ case DataType$2.document:
4691
4692
  switch (node.levelType) {
4692
- case DocumentNodeType$1.DepartmentFolder:
4693
+ case DocumentNodeType$2.DepartmentFolder:
4693
4694
  return 'document_department';
4694
- case DocumentNodeType$1.RegionalFolder:
4695
+ case DocumentNodeType$2.RegionalFolder:
4695
4696
  return 'document_regional';
4696
- case DocumentNodeType$1.TopFolder:
4697
+ case DocumentNodeType$2.TopFolder:
4697
4698
  return 'document_enterprise';
4698
- case DocumentNodeType$1.Folder:
4699
+ case DocumentNodeType$2.Folder:
4699
4700
  return 'document_local';
4700
4701
  default:
4701
4702
  return 'document';
4702
4703
  }
4703
- case DataType$1.process:
4704
+ case DataType$2.process:
4704
4705
  return 'process';
4705
- case DataType$1.checklist:
4706
+ case DataType$2.checklist:
4706
4707
  return 'checklist';
4707
- case DataType$1.deviation:
4708
+ case DataType$2.deviation:
4708
4709
  return 'deviation';
4709
- case DataType$1.risk:
4710
+ case DataType$2.risk:
4710
4711
  return 'risk';
4711
4712
  default:
4712
4713
  return 'document';
@@ -4799,7 +4800,7 @@ QMSTreeModule.decorators = [
4799
4800
  class RelatedContentComponent {
4800
4801
  constructor() {
4801
4802
  this.contents = [];
4802
- this.dataType = DataType$1;
4803
+ this.dataType = DataType$2;
4803
4804
  this.imageProcess = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTkiIHZpZXdCb3g9IjAgMCAxOCAxOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMCAwLjVWNi41SDJWMTYuNUgxMlYxOC41SDE4VjEyLjVIMTJWMTQuNUg0VjYuNUg2VjQuNUgxMlY2LjVIMThWMC41SDEyVjIuNUg2VjAuNUgwWk00IDIuNVY0LjVIMlYyLjVINFpNMTYgMi41VjQuNUgxNFYyLjVIMTZaTTE2IDE2LjVWMTQuNUgxNFYxNi41SDE2WiIgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMC42Ii8+DQo8L3N2Zz4NCg==';
4804
4805
  }
4805
4806
  ngOnInit() {
@@ -4833,7 +4834,7 @@ class RelatedListComponent {
4833
4834
  this.iconRegistry = iconRegistry;
4834
4835
  this.appIconService = appIconService;
4835
4836
  this.relatedData = [];
4836
- this.dataType = DataType$1;
4837
+ this.dataType = DataType$2;
4837
4838
  // imageProcess = '../qms-angular/src/assets/images/union.svg';
4838
4839
  this.imageProcess = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTkiIHZpZXdCb3g9IjAgMCAxOCAxOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMCAwLjVWNi41SDJWMTYuNUgxMlYxOC41SDE4VjEyLjVIMTJWMTQuNUg0VjYuNUg2VjQuNUgxMlY2LjVIMThWMC41SDEyVjIuNUg2VjAuNUgwWk00IDIuNVY0LjVIMlYyLjVINFpNMTYgMi41VjQuNUgxNFYyLjVIMTZaTTE2IDE2LjVWMTQuNUgxNFYxNi41SDE2WiIgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMC42Ii8+DQo8L3N2Zz4NCg==';
4839
4840
  this.updateData = new EventEmitter();
@@ -4887,43 +4888,43 @@ class RelatedListComponent {
4887
4888
  }
4888
4889
  getNodeIcon(item) {
4889
4890
  switch (item.itemType) {
4890
- case DataType$1.folder: {
4891
+ case DataType$2.folder: {
4891
4892
  switch (item.levelType) {
4892
- case DocumentNodeType$1.DepartmentFolder:
4893
+ case DocumentNodeType$2.DepartmentFolder:
4893
4894
  return 'department_folder_outlined';
4894
- case DocumentNodeType$1.RegionalFolder:
4895
+ case DocumentNodeType$2.RegionalFolder:
4895
4896
  return 'regional_folder_outlined';
4896
- case DocumentNodeType$1.TopFolder:
4897
+ case DocumentNodeType$2.TopFolder:
4897
4898
  return 'enterprise_folder_outlined';
4898
- case DocumentNodeType$1.Folder:
4899
+ case DocumentNodeType$2.Folder:
4899
4900
  return 'local_folder_outlined';
4900
4901
  default:
4901
4902
  return 'folder_outlined';
4902
4903
  }
4903
4904
  }
4904
- case DataType$1.document: {
4905
+ case DataType$2.document: {
4905
4906
  switch (item.levelType) {
4906
- case DocumentNodeType$1.DepartmentFolder:
4907
+ case DocumentNodeType$2.DepartmentFolder:
4907
4908
  return 'document_department';
4908
- case DocumentNodeType$1.RegionalFolder:
4909
+ case DocumentNodeType$2.RegionalFolder:
4909
4910
  return 'document_regional';
4910
- case DocumentNodeType$1.TopFolder:
4911
+ case DocumentNodeType$2.TopFolder:
4911
4912
  return 'document_enterprise';
4912
- case DocumentNodeType$1.Folder:
4913
+ case DocumentNodeType$2.Folder:
4913
4914
  return 'document_local';
4914
4915
  default:
4915
4916
  return 'document';
4916
4917
  }
4917
4918
  }
4918
- case DataType$1.area:
4919
+ case DataType$2.area:
4919
4920
  return 'process_area_outlined';
4920
- case DataType$1.process:
4921
+ case DataType$2.process:
4921
4922
  return 'process';
4922
- case DataType$1.deviation:
4923
+ case DataType$2.deviation:
4923
4924
  return 'deviation';
4924
- case DataType$1.checklist:
4925
+ case DataType$2.checklist:
4925
4926
  return 'checklist';
4926
- case DataType$1.risk:
4927
+ case DataType$2.risk:
4927
4928
  return 'risk';
4928
4929
  default:
4929
4930
  return 'folder_outlined';
@@ -4957,13 +4958,13 @@ RelatedListComponent.propDecorators = {
4957
4958
  class TreeModel {
4958
4959
  }
4959
4960
 
4960
- var ModuleType$1;
4961
+ var ModuleType$2;
4961
4962
  (function (ModuleType) {
4962
4963
  ModuleType[ModuleType["documentProcess"] = 1] = "documentProcess";
4963
4964
  ModuleType[ModuleType["deviation"] = 2] = "deviation";
4964
4965
  ModuleType[ModuleType["checklist"] = 3] = "checklist";
4965
4966
  ModuleType[ModuleType["risk"] = 4] = "risk";
4966
- })(ModuleType$1 || (ModuleType$1 = {}));
4967
+ })(ModuleType$2 || (ModuleType$2 = {}));
4967
4968
 
4968
4969
  class PopupData {
4969
4970
  constructor() {
@@ -5041,8 +5042,8 @@ class RelatedPopupComponent {
5041
5042
  this.documentCheckedList = [];
5042
5043
  this.singleProcessList = [];
5043
5044
  this.singleDocumentList = [];
5044
- this.module = ModuleType$1;
5045
- this.dataType = DataType$1;
5045
+ this.module = ModuleType$2;
5046
+ this.dataType = DataType$2;
5046
5047
  this.itemType = 0;
5047
5048
  this.selectedRiskData = [];
5048
5049
  this.disabledList = [];
@@ -5090,7 +5091,7 @@ class RelatedPopupComponent {
5090
5091
  this.globalService.setSplitviewValue([]);
5091
5092
  }
5092
5093
  onMessage(event) {
5093
- if (event.data === RelatedConst.HIDE_SEARCH_RESULT) {
5094
+ if (event.data === RelatedConst$1.HIDE_SEARCH_RESULT) {
5094
5095
  // this.autoComplete.closePanel();
5095
5096
  }
5096
5097
  }
@@ -5111,7 +5112,7 @@ class RelatedPopupComponent {
5111
5112
  let listNodeProcess = [];
5112
5113
  let listNodeDocs = [];
5113
5114
  res.forEach(item => {
5114
- if (item.itemType === DataType$1.process) {
5115
+ if (item.itemType === DataType$2.process) {
5115
5116
  let newNodeProcess = new TreeModel();
5116
5117
  newNodeProcess.childId = item.id;
5117
5118
  newNodeProcess.childName = item.itemName;
@@ -5147,13 +5148,13 @@ class RelatedPopupComponent {
5147
5148
  let selectProcess = [];
5148
5149
  let selectDocument = [];
5149
5150
  this.checkedNodeList.forEach(x => {
5150
- if (x.itemType === DataType$1.area || x.itemType === DataType$1.process) {
5151
+ if (x.itemType === DataType$2.area || x.itemType === DataType$2.process) {
5151
5152
  this.treeData1.forEach(item => {
5152
5153
  if (item.childId && x.id === item.childId || !item.childId && (x.id === item.rootId)) {
5153
5154
  selectProcess.push({
5154
5155
  disabled: false,
5155
- expandable: x.itemType == DataType$1.area ? true : false,
5156
- hasChild: x.itemType == DataType$1.area ? true : false,
5156
+ expandable: x.itemType == DataType$2.area ? true : false,
5157
+ hasChild: x.itemType == DataType$2.area ? true : false,
5157
5158
  id: x.id,
5158
5159
  level: 0,
5159
5160
  levelType: undefined,
@@ -5168,8 +5169,8 @@ class RelatedPopupComponent {
5168
5169
  if (item.childId && x.id === item.childId || !item.childId && (x.id === item.rootId)) {
5169
5170
  selectDocument.push({
5170
5171
  disabled: false,
5171
- expandable: x.itemType == DataType$1.folder ? true : false,
5172
- hasChild: x.itemType == DataType$1.folder ? true : false,
5172
+ expandable: x.itemType == DataType$2.folder ? true : false,
5173
+ hasChild: x.itemType == DataType$2.folder ? true : false,
5173
5174
  id: x.id,
5174
5175
  level: 0,
5175
5176
  levelType: undefined,
@@ -5205,16 +5206,16 @@ class RelatedPopupComponent {
5205
5206
  getDataTypeId(moduleId) {
5206
5207
  let itemType;
5207
5208
  switch (moduleId) {
5208
- case ModuleType$1.documentProcess:
5209
+ case ModuleType$2.documentProcess:
5209
5210
  itemType = this.dataType.process;
5210
5211
  break;
5211
- case ModuleType$1.deviation:
5212
+ case ModuleType$2.deviation:
5212
5213
  itemType = this.dataType.deviation;
5213
5214
  break;
5214
- case ModuleType$1.checklist:
5215
+ case ModuleType$2.checklist:
5215
5216
  itemType = this.dataType.checklist;
5216
5217
  break;
5217
- case ModuleType$1.risk:
5218
+ case ModuleType$2.risk:
5218
5219
  itemType = this.dataType.risk;
5219
5220
  break;
5220
5221
  default:
@@ -5387,13 +5388,13 @@ class RelatedPopupComponent {
5387
5388
  let selectDocument = [];
5388
5389
  if (this.checkedNodeList.length) {
5389
5390
  this.checkedNodeList.forEach(x => {
5390
- if (x.itemType === DataType$1.area || x.itemType === DataType$1.process) {
5391
+ if (x.itemType === DataType$2.area || x.itemType === DataType$2.process) {
5391
5392
  this.treeData1.forEach(item => {
5392
5393
  if (item.childId && x.id === item.childId || !item.childId && (x.id === item.rootId)) {
5393
5394
  selectProcess.push({
5394
5395
  disabled: false,
5395
- expandable: x.itemType == DataType$1.area ? true : false,
5396
- hasChild: x.itemType == DataType$1.area ? true : false,
5396
+ expandable: x.itemType == DataType$2.area ? true : false,
5397
+ hasChild: x.itemType == DataType$2.area ? true : false,
5397
5398
  id: x.id,
5398
5399
  level: 0,
5399
5400
  levelType: undefined,
@@ -5408,8 +5409,8 @@ class RelatedPopupComponent {
5408
5409
  if (item.childId && x.id === item.childId || !item.childId && (x.id === item.rootId)) {
5409
5410
  selectDocument.push({
5410
5411
  disabled: false,
5411
- expandable: x.itemType == DataType$1.folder ? true : false,
5412
- hasChild: x.itemType == DataType$1.folder ? true : false,
5412
+ expandable: x.itemType == DataType$2.folder ? true : false,
5413
+ hasChild: x.itemType == DataType$2.folder ? true : false,
5413
5414
  id: x.id,
5414
5415
  level: 0,
5415
5416
  levelType: undefined,
@@ -5584,13 +5585,13 @@ class RelatedPopupComponent {
5584
5585
  let selectDocument = [];
5585
5586
  if (this.checkedNodeList.length) {
5586
5587
  this.checkedNodeList.forEach(x => {
5587
- if (x.itemType === DataType$1.area || x.itemType === DataType$1.process) {
5588
+ if (x.itemType === DataType$2.area || x.itemType === DataType$2.process) {
5588
5589
  this.treeData1.forEach(item => {
5589
5590
  if (item.childId && x.id === item.childId || !item.childId && (x.id === item.rootId)) {
5590
5591
  selectProcess.push({
5591
5592
  disabled: false,
5592
- expandable: x.itemType == DataType$1.area ? true : false,
5593
- hasChild: x.itemType == DataType$1.area ? true : false,
5593
+ expandable: x.itemType == DataType$2.area ? true : false,
5594
+ hasChild: x.itemType == DataType$2.area ? true : false,
5594
5595
  id: x.id,
5595
5596
  level: 0,
5596
5597
  levelType: undefined,
@@ -5605,8 +5606,8 @@ class RelatedPopupComponent {
5605
5606
  if (item.childId && x.id === item.childId || !item.childId && (x.id === item.rootId)) {
5606
5607
  selectDocument.push({
5607
5608
  disabled: false,
5608
- expandable: x.itemType == DataType$1.folder ? true : false,
5609
- hasChild: x.itemType == DataType$1.folder ? true : false,
5609
+ expandable: x.itemType == DataType$2.folder ? true : false,
5610
+ hasChild: x.itemType == DataType$2.folder ? true : false,
5610
5611
  id: x.id,
5611
5612
  level: 0,
5612
5613
  levelType: undefined,
@@ -5842,12 +5843,12 @@ class RelatedPopupComponent {
5842
5843
  this.selectedFolder = null;
5843
5844
  this.itemInSplitview = [];
5844
5845
  this.checkedNodeList.forEach(element => {
5845
- if (element.itemType === DataType$1.document) {
5846
+ if (element.itemType === DataType$2.document) {
5846
5847
  element.status = this.getStatusDocs(element.id);
5847
5848
  element.breadcumbs = this.getBreadcumbAllParentDocs(element.id).slice(1).reverse();
5848
5849
  element.statusName = this.getStatusName(element.id);
5849
5850
  }
5850
- if (element.itemType === DataType$1.process) {
5851
+ if (element.itemType === DataType$2.process) {
5851
5852
  element.status = this.getStatusProcess(element.id);
5852
5853
  element.breadcumbs = this.getBreadcumbAllParentProcess(element.id).slice(1).reverse();
5853
5854
  }
@@ -5935,7 +5936,7 @@ class RelatedPopupComponent {
5935
5936
  return (elmHeight + elmMargin);
5936
5937
  }
5937
5938
  getItemChipName(item) {
5938
- if (item.itemType === DataType$1.checklist || item.itemType === DataType$1.deviation) {
5939
+ if (item.itemType === DataType$2.checklist || item.itemType === DataType$2.deviation) {
5939
5940
  return (item.parentName && item.itemName !== item.parentName) ? `${item.parentName}/${item.itemName}` : item.itemName;
5940
5941
  }
5941
5942
  return item.itemName;
@@ -5945,43 +5946,43 @@ class RelatedPopupComponent {
5945
5946
  }
5946
5947
  getNodeIcon(item) {
5947
5948
  switch (item.itemType) {
5948
- case DataType$1.folder: {
5949
+ case DataType$2.folder: {
5949
5950
  switch (item.levelType) {
5950
- case DocumentNodeType$1.DepartmentFolder:
5951
+ case DocumentNodeType$2.DepartmentFolder:
5951
5952
  return 'department_folder_outlined';
5952
- case DocumentNodeType$1.RegionalFolder:
5953
+ case DocumentNodeType$2.RegionalFolder:
5953
5954
  return 'regional_folder_outlined';
5954
- case DocumentNodeType$1.TopFolder:
5955
+ case DocumentNodeType$2.TopFolder:
5955
5956
  return 'enterprise_folder_outlined';
5956
- case DocumentNodeType$1.Folder:
5957
+ case DocumentNodeType$2.Folder:
5957
5958
  return 'local_folder_outlined';
5958
5959
  default:
5959
5960
  return 'folder_outlined';
5960
5961
  }
5961
5962
  }
5962
- case DataType$1.document: {
5963
+ case DataType$2.document: {
5963
5964
  switch (item.levelType) {
5964
- case DocumentNodeType$1.DepartmentFolder:
5965
+ case DocumentNodeType$2.DepartmentFolder:
5965
5966
  return 'document_department';
5966
- case DocumentNodeType$1.RegionalFolder:
5967
+ case DocumentNodeType$2.RegionalFolder:
5967
5968
  return 'document_regional';
5968
- case DocumentNodeType$1.TopFolder:
5969
+ case DocumentNodeType$2.TopFolder:
5969
5970
  return 'document_enterprise';
5970
- case DocumentNodeType$1.Folder:
5971
+ case DocumentNodeType$2.Folder:
5971
5972
  return 'document_local';
5972
5973
  default:
5973
5974
  return 'document';
5974
5975
  }
5975
5976
  }
5976
- case DataType$1.area:
5977
+ case DataType$2.area:
5977
5978
  return 'process_area_outlined';
5978
- case DataType$1.process:
5979
+ case DataType$2.process:
5979
5980
  return 'process';
5980
- case DataType$1.deviation:
5981
+ case DataType$2.deviation:
5981
5982
  return 'deviation';
5982
- case DataType$1.checklist:
5983
+ case DataType$2.checklist:
5983
5984
  return 'checklist';
5984
- case DataType$1.risk:
5985
+ case DataType$2.risk:
5985
5986
  return 'risk';
5986
5987
  default:
5987
5988
  return 'folder_outlined';
@@ -5995,25 +5996,25 @@ class RelatedPopupComponent {
5995
5996
  }
5996
5997
  getTitle(type) {
5997
5998
  switch (type) {
5998
- case DataType$1.process:
5999
+ case DataType$2.process:
5999
6000
  return this.LANG.PROCESSES;
6000
- case DataType$1.area:
6001
+ case DataType$2.area:
6001
6002
  return this.LANG.PROCESS_AREA;
6002
- case DataType$1.document:
6003
+ case DataType$2.document:
6003
6004
  return this.LANG.DOCUMENTS;
6004
- case DataType$1.folder:
6005
+ case DataType$2.folder:
6005
6006
  return this.LANG.FOLDER;
6006
- case DataType$1.deviation:
6007
+ case DataType$2.deviation:
6007
6008
  return this.LANG.DEVIATION;
6008
- case DataType$1.deviationType:
6009
+ case DataType$2.deviationType:
6009
6010
  return this.LANG.DEVIATION_TYPE;
6010
- case DataType$1.checklist:
6011
+ case DataType$2.checklist:
6011
6012
  return this.LANG.CHECKLIST;
6012
- case DataType$1.checklistCategory:
6013
+ case DataType$2.checklistCategory:
6013
6014
  return this.LANG.CHECKLIST_CATEGORY;
6014
- case DataType$1.risk:
6015
+ case DataType$2.risk:
6015
6016
  return this.LANG.ASSESSMENT;
6016
- case DataType$1.riskFolder:
6017
+ case DataType$2.riskFolder:
6017
6018
  return this.LANG.FOLDER;
6018
6019
  }
6019
6020
  }
@@ -6081,11 +6082,11 @@ class RelatedPopupComponent {
6081
6082
  }
6082
6083
  canShowSearchOption(moduleId) {
6083
6084
  if (this.canOnlySelectItem &&
6084
- (moduleId === DataType$1.checklistCategory
6085
- || moduleId === DataType$1.riskFolder
6086
- || moduleId === DataType$1.deviationType
6087
- || (moduleId === DataType$1.area && this.treeConfig1 && !this.treeConfig1.singleSelectedNode)
6088
- || (moduleId === DataType$1.folder && this.treeConfig2 && !this.treeConfig2.singleSelectedNode))) {
6085
+ (moduleId === DataType$2.checklistCategory
6086
+ || moduleId === DataType$2.riskFolder
6087
+ || moduleId === DataType$2.deviationType
6088
+ || (moduleId === DataType$2.area && this.treeConfig1 && !this.treeConfig1.singleSelectedNode)
6089
+ || (moduleId === DataType$2.folder && this.treeConfig2 && !this.treeConfig2.singleSelectedNode))) {
6089
6090
  return false;
6090
6091
  }
6091
6092
  return this.getModuleFilteredOptions(moduleId).length > 0;
@@ -6098,7 +6099,7 @@ class RelatedPopupComponent {
6098
6099
  let position = -1;
6099
6100
  let parentName = '';
6100
6101
  let itemNumberId = '';
6101
- if (node.itemType == DataType$1.folder || node.itemType == DataType$1.document) {
6102
+ if (node.itemType == DataType$2.folder || node.itemType == DataType$2.document) {
6102
6103
  position = !node.expandable ? this.treeData2.findIndex(p => p.childId === node.id && p.rootId === node.parentId) :
6103
6104
  this.treeData2.findIndex(p => p.rootId === node.id);
6104
6105
  parentName = this.treeData2[position].parentId ? this.treeData2[position].subName : this.treeData2[position].rootName;
@@ -6216,7 +6217,7 @@ class RiskAnalysisComponent {
6216
6217
  showCheckBox: true,
6217
6218
  allowMultipleCheck: true,
6218
6219
  onlyCheckBoxForChild: false,
6219
- moduleId: DataType$1.risk,
6220
+ moduleId: DataType$2.risk,
6220
6221
  openIcon: 'keyboard_arrow_up',
6221
6222
  openIconColor: '#1954A9',
6222
6223
  closeIcon: 'keyboard_arrow_down',
@@ -7167,8 +7168,8 @@ var QMSCKEditorDocumentType;
7167
7168
  class TreeNode {
7168
7169
  }
7169
7170
 
7170
- let objData = {};
7171
- function buildArrayTree(obj, level) {
7171
+ let objData$1 = {};
7172
+ function buildArrayTree$1(obj, level) {
7172
7173
  return Object.keys(obj).reduce((accumulator, key) => {
7173
7174
  const value = obj[key];
7174
7175
  const node = new TreeNode();
@@ -7186,8 +7187,8 @@ function buildArrayTree(obj, level) {
7186
7187
  return accumulator.concat(node);
7187
7188
  }, []);
7188
7189
  }
7189
- function buildObjectTree(arr) {
7190
- objData = {};
7190
+ function buildObjectTree$1(arr) {
7191
+ objData$1 = {};
7191
7192
  let objTreeData;
7192
7193
  const root = arr.filter((x) => {
7193
7194
  return x.parentId === '';
@@ -7197,7 +7198,7 @@ function buildObjectTree(arr) {
7197
7198
  });
7198
7199
  return objTreeData;
7199
7200
  }
7200
- function findParent(id, array) {
7201
+ function findParent$1(id, array) {
7201
7202
  const objParent = {};
7202
7203
  const parent = array.filter((x) => {
7203
7204
  return x.rootId === id;
@@ -7213,10 +7214,10 @@ function findParent(id, array) {
7213
7214
  this.findChild(id, objParent, array);
7214
7215
  }
7215
7216
  // add node to tree
7216
- objData[`${parent[0].rootId}_${parent[0].rootName}`] = objParent;
7217
- return objData;
7217
+ objData$1[`${parent[0].rootId}_${parent[0].rootName}`] = objParent;
7218
+ return objData$1;
7218
7219
  }
7219
- function findChild(id, objParent, array) {
7220
+ function findChild$1(id, objParent, array) {
7220
7221
  const subNode = array.filter((x) => {
7221
7222
  return x.parentId === id;
7222
7223
  });
@@ -7224,14 +7225,14 @@ function findChild(id, objParent, array) {
7224
7225
  const processNode = {};
7225
7226
  processNode[`${item.childId}_${item.childName}`] = null;
7226
7227
  objParent[`${item.rootId}_${item.subName}`] = processNode;
7227
- findChild(item.rootId, processNode, array);
7228
+ findChild$1(item.rootId, processNode, array);
7228
7229
  });
7229
7230
  }
7230
7231
  const QMSCKEditorTreeFunctions = {
7231
- buildArrayTree,
7232
- buildObjectTree,
7233
- findParent,
7234
- findChild
7232
+ buildArrayTree: buildArrayTree$1,
7233
+ buildObjectTree: buildObjectTree$1,
7234
+ findParent: findParent$1,
7235
+ findChild: findChild$1
7235
7236
  };
7236
7237
 
7237
7238
  class QMSCKEditorTreeService extends QMSCKEditorBaseService {
@@ -15961,6 +15962,46 @@ QMSTableModule.decorators = [
15961
15962
  class BreadcrumbNode {
15962
15963
  }
15963
15964
 
15965
+ class RelatedConst {
15966
+ }
15967
+ RelatedConst.IS_DISPLAY_SEARCH_RESULT = 'IS_DISPLAY_SEARCH_RESULT';
15968
+ RelatedConst.HIDE_SEARCH_RESULT = 'HIDE_SEARCH_RESULT';
15969
+ RelatedConst.SHOW_SEARCH_RESULT = 'SHOW_SEARCH_RESULT';
15970
+
15971
+ var DataType$1;
15972
+ (function (DataType) {
15973
+ DataType[DataType["process"] = 2] = "process";
15974
+ DataType[DataType["document"] = 1] = "document";
15975
+ DataType[DataType["area"] = 3] = "area";
15976
+ DataType[DataType["folder"] = 4] = "folder";
15977
+ DataType[DataType["deviation"] = 5] = "deviation";
15978
+ DataType[DataType["checklist"] = 6] = "checklist";
15979
+ DataType[DataType["risk"] = 7] = "risk";
15980
+ DataType[DataType["deviationType"] = 8] = "deviationType";
15981
+ DataType[DataType["checklistCategory"] = 9] = "checklistCategory";
15982
+ DataType[DataType["riskFolder"] = 10] = "riskFolder";
15983
+ })(DataType$1 || (DataType$1 = {}));
15984
+
15985
+ var DocumentNodeType$1;
15986
+ (function (DocumentNodeType) {
15987
+ DocumentNodeType[DocumentNodeType["Document"] = 1] = "Document";
15988
+ DocumentNodeType[DocumentNodeType["LinkDocument"] = 2] = "LinkDocument";
15989
+ DocumentNodeType[DocumentNodeType["FileDocument"] = 3] = "FileDocument";
15990
+ DocumentNodeType[DocumentNodeType["ShortcutDocument"] = 4] = "ShortcutDocument";
15991
+ DocumentNodeType[DocumentNodeType["Folder"] = 5] = "Folder";
15992
+ DocumentNodeType[DocumentNodeType["TopFolder"] = 6] = "TopFolder";
15993
+ DocumentNodeType[DocumentNodeType["DepartmentFolder"] = 7] = "DepartmentFolder";
15994
+ DocumentNodeType[DocumentNodeType["RegionalFolder"] = 8] = "RegionalFolder";
15995
+ })(DocumentNodeType$1 || (DocumentNodeType$1 = {}));
15996
+
15997
+ var ModuleType$1;
15998
+ (function (ModuleType) {
15999
+ ModuleType[ModuleType["documentProcess"] = 1] = "documentProcess";
16000
+ ModuleType[ModuleType["deviation"] = 2] = "deviation";
16001
+ ModuleType[ModuleType["checklist"] = 3] = "checklist";
16002
+ ModuleType[ModuleType["risk"] = 4] = "risk";
16003
+ })(ModuleType$1 || (ModuleType$1 = {}));
16004
+
15964
16005
  class StepModel {
15965
16006
  constructor(id, name, disabled, selected) {
15966
16007
  this.id = id;
@@ -17319,6 +17360,1818 @@ QMSSelectOneModule.decorators = [
17319
17360
  class ISelectOneItem {
17320
17361
  }
17321
17362
 
17363
+ class NewTreeModel {
17364
+ }
17365
+
17366
+ class NewTreeNode {
17367
+ }
17368
+
17369
+ let objData = {};
17370
+ let json = JSON;
17371
+ function buildArrayTree(obj, level) {
17372
+ return Object.keys(obj).reduce((accumulator, key) => {
17373
+ const value = obj[key];
17374
+ const node = new NewTreeNode();
17375
+ const keyObj = json.parse(key);
17376
+ node.id = keyObj["id"];
17377
+ node.name = keyObj["name"];
17378
+ node.parentId = keyObj["parentId"];
17379
+ node.levelType = keyObj["levelType"];
17380
+ node.expandable = keyObj["expandable"];
17381
+ if (value != null) {
17382
+ if (typeof value === 'object') {
17383
+ node.children = this.buildArrayTree(value, level + 1);
17384
+ }
17385
+ else {
17386
+ node.name = value;
17387
+ }
17388
+ }
17389
+ return accumulator.concat(node);
17390
+ }, []);
17391
+ }
17392
+ function buildObjectTree(arr) {
17393
+ objData = {};
17394
+ let objTreeData;
17395
+ const root = arr.filter((x) => {
17396
+ return x.parentId === '';
17397
+ });
17398
+ root.forEach((item) => {
17399
+ objTreeData = this.findParent(item, arr);
17400
+ });
17401
+ return objTreeData;
17402
+ }
17403
+ function findParent(item, array) {
17404
+ if (item) {
17405
+ const objParent = {};
17406
+ // find child
17407
+ const childFolder = array.filter((x) => {
17408
+ return x.parentId === item.id && x.expandable;
17409
+ });
17410
+ if (childFolder.length > 0) {
17411
+ this.findChild(item.id, objParent, array);
17412
+ }
17413
+ const items = array.filter((x) => {
17414
+ return x.parentId === item.id && !x.expandable;
17415
+ });
17416
+ items.forEach((item) => {
17417
+ let parentKey = {
17418
+ id: item.id,
17419
+ name: item.name,
17420
+ parentId: item.parentId,
17421
+ levelType: item.levelType,
17422
+ expandable: item.expandable
17423
+ };
17424
+ objParent[json.stringify(parentKey)] = null;
17425
+ });
17426
+ let key = {
17427
+ id: item.id,
17428
+ name: item.name,
17429
+ parentId: '',
17430
+ levelType: item.levelType,
17431
+ expandable: item.expandable
17432
+ };
17433
+ // add node to tree
17434
+ objData[json.stringify(key)] = objParent;
17435
+ }
17436
+ return objData;
17437
+ }
17438
+ function findChild(id, objParent, array) {
17439
+ const subNode = array.filter((x) => {
17440
+ return x.parentId === id;
17441
+ });
17442
+ subNode.forEach((item) => {
17443
+ const processNode = {};
17444
+ if (item.expandable) {
17445
+ this.findChild(item.id, processNode, array);
17446
+ }
17447
+ let key = {
17448
+ id: item.id,
17449
+ name: item.name,
17450
+ parentId: id,
17451
+ levelType: item.levelType,
17452
+ expandable: item.expandable
17453
+ };
17454
+ objParent[json.stringify(key)] = Object.assign(Object.assign({}, objParent[json.stringify(key)]), processNode);
17455
+ });
17456
+ }
17457
+ const TreeFunctions = {
17458
+ buildArrayTree,
17459
+ buildObjectTree,
17460
+ findParent,
17461
+ findChild,
17462
+ };
17463
+
17464
+ class NewTreeComponent {
17465
+ constructor(cdRef, domSanitizer, iconRegistry, appIconService) {
17466
+ this.cdRef = cdRef;
17467
+ this.domSanitizer = domSanitizer;
17468
+ this.iconRegistry = iconRegistry;
17469
+ this.appIconService = appIconService;
17470
+ this.treeData = [];
17471
+ this.selectedData = [];
17472
+ this.selectedRiskData = [];
17473
+ this.disabledList = [];
17474
+ this.expandToChildNode = [];
17475
+ this.selectNodeEvent = new EventEmitter();
17476
+ this.selectFolderEvent = new EventEmitter();
17477
+ this.checkBoxEvent = new EventEmitter();
17478
+ this.childCheckedEvent = new EventEmitter();
17479
+ this.nodeExpandEvent = new EventEmitter();
17480
+ this.getChildNodeSelectOne = new EventEmitter();
17481
+ this.treeControlNodes = new EventEmitter();
17482
+ this.listParentObj = {};
17483
+ this.filterData = [];
17484
+ this.arrIndex = [];
17485
+ this.checkedNodeList = [];
17486
+ this.useExpandFeature = true;
17487
+ this.allowSelectFolder = false;
17488
+ this.areaOfCurrentProcess = '';
17489
+ this.showCheckBox = false;
17490
+ this.allowMultipleCheck = true;
17491
+ this.singleSelectedNode = false;
17492
+ this.onlyCheckBoxForChild = false;
17493
+ this.onlyFolder = false;
17494
+ this.itemIconType = ItemIconType;
17495
+ this.displayType = 1;
17496
+ this.openIcon = '';
17497
+ this.openIconColor = '#1954A9';
17498
+ this.closeIcon = '';
17499
+ this.closeIconColor = '#000000';
17500
+ this.itemIcon = '';
17501
+ this.itemIconSvg = '';
17502
+ this.itemIconPath = '';
17503
+ this.itemIconBase64 = '';
17504
+ this.treeControl = new FlatTreeControl((node) => {
17505
+ return node.level;
17506
+ }, (node) => {
17507
+ return node.expandable;
17508
+ });
17509
+ this.isChecked = false;
17510
+ this.idCheckIcon = '';
17511
+ this.listChildNode = [];
17512
+ this.dataType = DataType$2;
17513
+ this.transformer = (node, level) => {
17514
+ let checkHasChild = true;
17515
+ if (!node.children) {
17516
+ checkHasChild = false;
17517
+ }
17518
+ else if (node.expandable) {
17519
+ checkHasChild = false;
17520
+ }
17521
+ // tslint:disable-next-line:max-line-length
17522
+ else if (!!node.children &&
17523
+ node.children.length &&
17524
+ node.children.length === 1 &&
17525
+ !node.children[0].name &&
17526
+ node.id.toString() === this.areaOfCurrentProcess) {
17527
+ checkHasChild = false;
17528
+ }
17529
+ if (!(this.listParentObj[node.id] === 1)) {
17530
+ checkHasChild = false;
17531
+ }
17532
+ return {
17533
+ expandable: node.expandable,
17534
+ name: node.name,
17535
+ level,
17536
+ id: node.id,
17537
+ hasChild: checkHasChild,
17538
+ parentId: node.parentId,
17539
+ disabled: false,
17540
+ levelType: node.levelType
17541
+ };
17542
+ };
17543
+ this.treeFlattener = new MatTreeFlattener(this.transformer, (node) => {
17544
+ return node.level;
17545
+ }, (node) => {
17546
+ return node.expandable;
17547
+ }, (node) => {
17548
+ return node.children;
17549
+ });
17550
+ this.dataSource = new MatTreeFlatDataSource(this.treeControl, this.treeFlattener);
17551
+ this.hasChild = (_, node) => {
17552
+ return node.expandable;
17553
+ };
17554
+ iconRegistry.addSvgIconLiteral('keyboard_up', domSanitizer.bypassSecurityTrustHtml(KEYBOARD_UP_ICON));
17555
+ iconRegistry.addSvgIconLiteral('keyboard_down', domSanitizer.bypassSecurityTrustHtml(KEYBOARD_DOWN_ICON));
17556
+ appIconService.registerProcessIcon(iconRegistry, domSanitizer);
17557
+ appIconService.registerProcessAreaIcon(iconRegistry, domSanitizer);
17558
+ appIconService.registerDocumentIcon(iconRegistry, domSanitizer);
17559
+ appIconService.registerFolderIcon(iconRegistry, domSanitizer);
17560
+ appIconService.registerDeviationIcon(iconRegistry, domSanitizer);
17561
+ appIconService.registerChecklistIcon(iconRegistry, domSanitizer);
17562
+ appIconService.registerRiskIcon(iconRegistry, domSanitizer);
17563
+ }
17564
+ ngOnChanges(changes) {
17565
+ if (changes.treeData && JSON.stringify(changes.treeData.currentValue) !== JSON.stringify(changes.treeData.previousValue)) {
17566
+ this.treeData = [...this.treeData, changes.treeData.currentValue];
17567
+ this.initTreeData();
17568
+ }
17569
+ if (changes.selectedData &&
17570
+ (changes.selectedData.currentValue.length > 0 ||
17571
+ JSON.stringify(changes.selectedData.currentValue) !==
17572
+ JSON.stringify(changes.selectedData.previousValue))) {
17573
+ if (changes.selectedData.currentValue) {
17574
+ this.checkSelected(changes.selectedData.currentValue);
17575
+ }
17576
+ else {
17577
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
17578
+ this.checklistSelection.deselect(this.treeControl.dataNodes[i]);
17579
+ }
17580
+ }
17581
+ }
17582
+ if (changes.disabledList && JSON.stringify(changes.disabledList.currentValue) !== JSON.stringify(changes.disabledList.previousValue)) {
17583
+ this.checkDisabledList();
17584
+ }
17585
+ // expand all parent to show node
17586
+ if (changes.expandToChildNode && JSON.stringify(changes.expandToChildNode.currentValue) !== JSON.stringify(changes.expandToChildNode.previousValue)) {
17587
+ this.openExpandToChildNode();
17588
+ }
17589
+ }
17590
+ ngOnInit() {
17591
+ // this.initTreeData();
17592
+ }
17593
+ initTreeData() {
17594
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
17595
+ this.treeData.forEach(item => {
17596
+ if (!!item.parentId && item.parentId.length > 0) {
17597
+ this.listParentObj[item.parentId] = 1;
17598
+ }
17599
+ if (item.id && item.id.length > 0) {
17600
+ this.listParentObj[item.parentId] = 1;
17601
+ }
17602
+ });
17603
+ this.filterData = this.treeData;
17604
+ this.treeObject = TreeFunctions.buildObjectTree(this.filterData);
17605
+ this.dataSource.data = TreeFunctions.buildArrayTree(this.treeObject || {}, 0).map(element => {
17606
+ const item = this.sortDataTree(element);
17607
+ element = null;
17608
+ element = Object.assign({}, item);
17609
+ return element;
17610
+ });
17611
+ this.useExpandFeature = !((_a = this.treeConfig) === null || _a === void 0 ? void 0 : _a.showCheckBox);
17612
+ this.allowSelectFolder = (_b = this.treeConfig) === null || _b === void 0 ? void 0 : _b.allowSelectFolder;
17613
+ this.areaOfCurrentProcess = (_c = this.treeConfig) === null || _c === void 0 ? void 0 : _c.areaOfCurrentProcess;
17614
+ this.showCheckBox = (_d = this.treeConfig) === null || _d === void 0 ? void 0 : _d.showCheckBox;
17615
+ this.onlyCheckBoxForChild = (_e = this.treeConfig) === null || _e === void 0 ? void 0 : _e.onlyCheckBoxForChild;
17616
+ this.moduleId = (_f = this.treeConfig) === null || _f === void 0 ? void 0 : _f.moduleId;
17617
+ this.openIcon = (_g = this.treeConfig) === null || _g === void 0 ? void 0 : _g.openIcon;
17618
+ this.openIconColor = ((_h = this.treeConfig) === null || _h === void 0 ? void 0 : _h.openIconColor) ? (_j = this.treeConfig) === null || _j === void 0 ? void 0 : _j.openIconColor : this.openIconColor;
17619
+ this.closeIcon = (_k = this.treeConfig) === null || _k === void 0 ? void 0 : _k.closeIcon;
17620
+ this.closeIconColor = ((_l = this.treeConfig) === null || _l === void 0 ? void 0 : _l.closeIconColor) ? (_m = this.treeConfig) === null || _m === void 0 ? void 0 : _m.closeIconColor : this.closeIconColor;
17621
+ this.itemIcon = (_o = this.treeConfig) === null || _o === void 0 ? void 0 : _o.itemIcon;
17622
+ this.itemIconSvg = (_p = this.treeConfig) === null || _p === void 0 ? void 0 : _p.itemIconSvg;
17623
+ this.itemIconPath = (_q = this.treeConfig) === null || _q === void 0 ? void 0 : _q.itemIconPath;
17624
+ this.itemIconBase64 = this.domSanitizer.bypassSecurityTrustResourceUrl((_r = this.treeConfig) === null || _r === void 0 ? void 0 : _r.itemIconBase64);
17625
+ this.allowMultipleCheck = (_s = this.treeConfig) === null || _s === void 0 ? void 0 : _s.allowMultipleCheck;
17626
+ this.singleSelectedNode = (_t = this.treeConfig) === null || _t === void 0 ? void 0 : _t.singleSelectedNode;
17627
+ this.onlyFolder = (_u = this.treeConfig) === null || _u === void 0 ? void 0 : _u.onlyFolder;
17628
+ this.checklistSelection = new SelectionModel(this.allowMultipleCheck); /* true: multiple */
17629
+ this.displayType = this.getItemIconType(this.treeConfig);
17630
+ // Expand child node tree
17631
+ if (this.treeConfig.expandAll) {
17632
+ this.treeControl.expandAll();
17633
+ }
17634
+ //Disabled node
17635
+ if (this.disabledList.length) {
17636
+ this.checkDisabledList();
17637
+ }
17638
+ if (this.selectedData.length) {
17639
+ this.checkSelected(this.selectedData);
17640
+ }
17641
+ // Risk Tree
17642
+ if (this.selectedRiskData.length) {
17643
+ const selectedData = [];
17644
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
17645
+ this.selectedRiskData.forEach(x => {
17646
+ const index = selectedData.findIndex(el => el.id === x.rootId);
17647
+ if (x.rootId === this.treeControl.dataNodes[i].id && index < 0) {
17648
+ selectedData.push(this.treeControl.dataNodes[i]);
17649
+ }
17650
+ });
17651
+ }
17652
+ this.checkSelected(selectedData);
17653
+ this.checkBoxEvent.emit(selectedData);
17654
+ }
17655
+ // keep expand
17656
+ if (this.parentNodeOnClick && Object.keys(this.parentNodeOnClick).length) {
17657
+ let tempParent = [];
17658
+ let root = new TreeFlatNode();
17659
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
17660
+ const tree = this.treeControl.dataNodes[i];
17661
+ if (this.parentNodeOnClick.parentId === tree.parentId && this.parentNodeOnClick.id === tree.id
17662
+ || this.parentNodeOnClick.parentId === tree.id) {
17663
+ tempParent = [...tempParent, this.getParent(tree)];
17664
+ root = tree;
17665
+ }
17666
+ }
17667
+ tempParent.push(root);
17668
+ tempParent.forEach(x => {
17669
+ this.treeControl.expand(x);
17670
+ });
17671
+ }
17672
+ }
17673
+ getParent(node) {
17674
+ const { treeControl } = this;
17675
+ const currentLevel = treeControl.getLevel(node);
17676
+ if (currentLevel < 1) {
17677
+ return null;
17678
+ }
17679
+ const index = treeControl.dataNodes.indexOf(node) - 1;
17680
+ for (let i = index; i >= 0; i--) {
17681
+ const currentNode = treeControl.dataNodes[i];
17682
+ if (treeControl.getLevel(currentNode) < currentLevel) {
17683
+ return currentNode;
17684
+ }
17685
+ }
17686
+ }
17687
+ openExpandToChildNode() {
17688
+ if (this.expandToChildNode.length) {
17689
+ if (this.expandToChildNode[0] === '') {
17690
+ this.idCheckIcon = '';
17691
+ this.treeControl.collapseAll();
17692
+ this.cdRef.detectChanges();
17693
+ return;
17694
+ }
17695
+ let itemMarkChecked = this.expandToChildNode[this.expandToChildNode.length - 1].toUpperCase();
17696
+ this.idCheckIcon = itemMarkChecked;
17697
+ // get all children nodes on same level
17698
+ let listChildNodeSameLevel = this.findChildNode(itemMarkChecked, this.dataSource.data);
17699
+ // get all children in all level
17700
+ this.listChildNode = [];
17701
+ this.getChild(listChildNodeSameLevel);
17702
+ this.getChildNodeSelectOne.emit(this.listChildNode);
17703
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
17704
+ if (itemMarkChecked === this.treeControl.dataNodes[i].id) {
17705
+ this.selectNodeEvent.emit(this.treeControl.dataNodes[i]);
17706
+ }
17707
+ this.expandToChildNode.forEach(el => {
17708
+ if (this.treeControl.dataNodes[i].id === el.toUpperCase()) {
17709
+ this.treeControl.expand(this.treeControl.dataNodes[i]);
17710
+ }
17711
+ });
17712
+ }
17713
+ }
17714
+ }
17715
+ checkDisabledList() {
17716
+ // Disable List
17717
+ if (this.disabledList.length) {
17718
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
17719
+ this.disabledList.forEach(x => {
17720
+ var _a;
17721
+ if (x.id === this.treeControl.dataNodes[i].id
17722
+ && (!x.parentId || x.parentId === ((_a = this.treeControl.dataNodes[i]) === null || _a === void 0 ? void 0 : _a.parentId))) {
17723
+ this.treeControl.dataNodes[i].disabled = true;
17724
+ }
17725
+ });
17726
+ }
17727
+ }
17728
+ //Selected node with select one
17729
+ if (this.disabledList.length && this.treeConfig.selectOne) {
17730
+ let itemMarkChecked = this.disabledList[this.disabledList.length - 1].toUpperCase();
17731
+ this.idCheckIcon = itemMarkChecked;
17732
+ // get all children nodes on same level
17733
+ let listChildNodeSameLevel = this.findChildNode(itemMarkChecked, this.dataSource.data);
17734
+ // get all children in all level
17735
+ this.listChildNode = [];
17736
+ this.getChild(listChildNodeSameLevel);
17737
+ this.getChildNodeSelectOne.emit(this.listChildNode);
17738
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
17739
+ if (itemMarkChecked === this.treeControl.dataNodes[i].id) {
17740
+ this.selectNodeEvent.emit(this.treeControl.dataNodes[i]);
17741
+ }
17742
+ this.disabledList.forEach(el => {
17743
+ if (this.treeControl.dataNodes[i].id === el.toUpperCase()) {
17744
+ this.treeControl.expand(this.treeControl.dataNodes[i]);
17745
+ }
17746
+ });
17747
+ // remove all children nodes when user dont need to show them
17748
+ this.listChildNode.forEach(el => {
17749
+ var _a;
17750
+ if (el.id && ((_a = this.treeControl.dataNodes[i]) === null || _a === void 0 ? void 0 : _a.id) === el.id) {
17751
+ this.treeControl.dataNodes.splice(i, 1);
17752
+ }
17753
+ });
17754
+ }
17755
+ }
17756
+ else {
17757
+ this.idCheckIcon = '';
17758
+ this.treeControl.collapseAll();
17759
+ this.cdRef.detectChanges();
17760
+ }
17761
+ }
17762
+ getChild(obj) {
17763
+ for (let i = 0; i < obj.children.length; i++) {
17764
+ if (obj.children[i].children) {
17765
+ this.getChild(obj.children[i]);
17766
+ delete obj.children[i].children;
17767
+ this.listChildNode.push(obj.children[i]);
17768
+ }
17769
+ else {
17770
+ this.listChildNode.push(obj.children[i]);
17771
+ }
17772
+ }
17773
+ }
17774
+ sortDataTree(obj) {
17775
+ if (obj.children) {
17776
+ let child = [];
17777
+ const leafNode = obj.children.filter(x => !x.children);
17778
+ const subFolderNode = obj.children.filter(x => x.children);
17779
+ // for(let index = subFolderNode.length - 1; index >= 0 ; index--){
17780
+ // let el = subFolderNode[index];
17781
+ // this.sortDataTree(el);
17782
+ // child.unshift(el);
17783
+ // }
17784
+ subFolderNode.forEach(element => {
17785
+ let el = element;
17786
+ this.sortDataTree(el);
17787
+ child.push(el);
17788
+ });
17789
+ leafNode.forEach(element => {
17790
+ let el = element;
17791
+ child.push(el);
17792
+ });
17793
+ obj.children = child;
17794
+ }
17795
+ return obj;
17796
+ }
17797
+ getImagePath() {
17798
+ return this.domSanitizer.bypassSecurityTrustResourceUrl(this.treeConfig.itemIconBase64);
17799
+ }
17800
+ checkSelected(itemSelected) {
17801
+ setTimeout(() => {
17802
+ if (!this.treeControl['dataNodes'])
17803
+ return;
17804
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
17805
+ const tree = this.treeControl.dataNodes[i];
17806
+ this.checklistSelection.deselect(tree);
17807
+ for (let j = 0; j < itemSelected.length; j++) {
17808
+ const element = itemSelected[j];
17809
+ if (tree.id.toLocaleLowerCase() === element.id.toLocaleLowerCase() && (!element.parentId || tree.parentId.toLocaleLowerCase() === element.parentId.toLocaleLowerCase())) {
17810
+ this.checklistSelection.select(tree);
17811
+ }
17812
+ }
17813
+ }
17814
+ }, 500);
17815
+ }
17816
+ checkSelectedSameNode(itemSelected, flag) {
17817
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
17818
+ const tree = this.treeControl.dataNodes[i];
17819
+ for (let j = 0; j < itemSelected.length; j++) {
17820
+ const element = itemSelected[j];
17821
+ if (element.id && tree.id === element.id
17822
+ && tree.parentId === element.parentId && !tree.disabled) {
17823
+ flag ? this.checklistSelection.select(tree) : this.checklistSelection.deselect(tree);
17824
+ }
17825
+ }
17826
+ }
17827
+ }
17828
+ getItemIconType(treeConfig) {
17829
+ if (treeConfig.itemIcon && treeConfig.itemIcon.length)
17830
+ return this.itemIconType.name;
17831
+ if (treeConfig.itemIconPath && treeConfig.itemIconPath.length)
17832
+ return this.itemIconType.path;
17833
+ if (treeConfig.itemIconBase64 && treeConfig.itemIconBase64.length)
17834
+ return this.itemIconType.base64;
17835
+ if (treeConfig.itemIconSvg && treeConfig.itemIconSvg.length)
17836
+ return this.itemIconType.svg;
17837
+ return this.itemIconType.none;
17838
+ }
17839
+ /** Whether all the descendants of the node are selected */
17840
+ descendantsAllSelected(node) {
17841
+ const descendants = !this.singleSelectedNode ? this.treeControl.getDescendants(node).filter(item => !item.disabled) : [];
17842
+ if (!descendants.length) {
17843
+ return this.checklistSelection.isSelected(node);
17844
+ }
17845
+ const selected = this.checklistSelection.isSelected(node);
17846
+ const allSelected = descendants.every(child => this.checklistSelection.isSelected(child));
17847
+ if (!selected && allSelected) {
17848
+ this.checklistSelection.select(node);
17849
+ this.cdRef.markForCheck();
17850
+ }
17851
+ return allSelected;
17852
+ }
17853
+ /** Whether part of the descendants are selected */
17854
+ descendantsPartiallySelected(node) {
17855
+ const descendants = !this.singleSelectedNode ? this.treeControl.getDescendants(node).filter(item => !item.disabled) : [];
17856
+ const result = descendants.some(child => this.checklistSelection.isSelected(child));
17857
+ return result && !this.descendantsAllSelected(node);
17858
+ }
17859
+ /** Toggle the to-do item selection. Select/deselect all the descendants node */
17860
+ todoItemSelectionToggle(node) {
17861
+ switch (this.moduleId) {
17862
+ case DataType$2.document:
17863
+ node.itemType = node.expandable ? DataType$2.folder : DataType$2.document;
17864
+ break;
17865
+ case DataType$2.process:
17866
+ node.itemType = node.expandable ? DataType$2.area : DataType$2.process;
17867
+ break;
17868
+ case DataType$2.checklist:
17869
+ node.itemType = node.expandable ? DataType$2.checklistCategory : DataType$2.checklist;
17870
+ break;
17871
+ case DataType$2.deviation:
17872
+ node.itemType = node.expandable ? DataType$2.deviationType : DataType$2.deviation;
17873
+ break;
17874
+ case DataType$2.risk:
17875
+ node.itemType = node.expandable ? DataType$2.riskFolder : DataType$2.risk;
17876
+ break;
17877
+ }
17878
+ this.selectNodeEvent.emit(node);
17879
+ // tree have duplicate node
17880
+ if (this.treeConfig.canHaveDupId) {
17881
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
17882
+ if (this.treeControl.dataNodes[i].id === node.id
17883
+ && this.treeControl.dataNodes[i].parentId === node.parentId
17884
+ && !this.treeControl.dataNodes[i].disabled) {
17885
+ this.checklistSelection.toggle(this.treeControl.dataNodes[i]);
17886
+ }
17887
+ }
17888
+ }
17889
+ else {
17890
+ this.checklistSelection.toggle(node);
17891
+ }
17892
+ // process/ document single selected
17893
+ if (this.singleSelectedNode) {
17894
+ this.checkBoxEvent.emit(this.checklistSelection.selected);
17895
+ }
17896
+ else {
17897
+ const descendants = this.treeControl.getDescendants(node).filter(item => !item.disabled);
17898
+ this.checkSelectedSameNode(descendants, this.descendantsAllSelected(node));
17899
+ !this.descendantsAllSelected(node)
17900
+ ? this.checklistSelection.select(...descendants)
17901
+ : this.checklistSelection.deselect(...descendants);
17902
+ this.cdRef.markForCheck();
17903
+ const allNodeIsParent = this.checklistSelection.selected.every(child => child.expandable);
17904
+ if (allNodeIsParent) {
17905
+ this.checklistSelection.selected.forEach(element => {
17906
+ this.checklistSelection.deselect(element);
17907
+ });
17908
+ }
17909
+ this.checkBoxEvent.emit(this.checklistSelection.selected);
17910
+ }
17911
+ }
17912
+ todoChildSelectionToggle(node) {
17913
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
17914
+ if (this.treeControl.dataNodes[i].id === node.id
17915
+ && this.treeControl.dataNodes[i].parentId === node.parentId
17916
+ && !this.treeControl.dataNodes[i].disabled) {
17917
+ this.checklistSelection.toggle(this.treeControl.dataNodes[i]);
17918
+ }
17919
+ }
17920
+ // this.checklistSelection.toggle(node);
17921
+ this.cdRef.markForCheck();
17922
+ this.checkBoxEvent.emit(this.checklistSelection.selected);
17923
+ }
17924
+ todoItemSelection(nodes) {
17925
+ nodes.forEach(node => {
17926
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
17927
+ if (this.treeControl.dataNodes[i].id === node.id &&
17928
+ this.treeControl.dataNodes[i].parentId === node.parentId &&
17929
+ !this.treeControl.dataNodes[i].disabled && !this.treeControl.dataNodes[i].expandable) {
17930
+ if (!this.checklistSelection.isSelected(this.treeControl.dataNodes[i]))
17931
+ this.checklistSelection.toggle(this.treeControl.dataNodes[i]);
17932
+ }
17933
+ }
17934
+ });
17935
+ this.checkBoxEvent.emit(this.checklistSelection.selected);
17936
+ }
17937
+ todoItemSelectionProcessDocument(nodes) {
17938
+ nodes.forEach(node => {
17939
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
17940
+ if (this.treeControl.dataNodes[i].id === node.id &&
17941
+ this.treeControl.dataNodes[i].parentId === node.parentId &&
17942
+ !this.treeControl.dataNodes[i].disabled && !this.treeControl.dataNodes[i].expandable) {
17943
+ if (!this.checklistSelection.isSelected(this.treeControl.dataNodes[i]))
17944
+ this.checklistSelection.toggle(this.treeControl.dataNodes[i]);
17945
+ }
17946
+ }
17947
+ });
17948
+ setTimeout(() => {
17949
+ this.checkBoxEvent.emit(this.checklistSelection.selected);
17950
+ this.treeControlNodes.emit(this.treeControl);
17951
+ }, 500);
17952
+ }
17953
+ todoFolderSelection(nodes) {
17954
+ nodes.forEach(node => {
17955
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
17956
+ if (this.treeControl.dataNodes[i].id === node.id &&
17957
+ this.treeControl.dataNodes[i].parentId === node.parentId &&
17958
+ !this.treeControl.dataNodes[i].disabled && this.treeControl.dataNodes[i].expandable) {
17959
+ if (!this.checklistSelection.isSelected(this.treeControl.dataNodes[i]))
17960
+ this.todoItemSelectionToggle(this.treeControl.dataNodes[i]);
17961
+ }
17962
+ }
17963
+ });
17964
+ this.checkBoxEvent.emit(this.checklistSelection.selected);
17965
+ }
17966
+ selectNode(node) {
17967
+ if (window[RelatedConst$1.IS_DISPLAY_SEARCH_RESULT]) {
17968
+ window.postMessage(RelatedConst$1.HIDE_SEARCH_RESULT, '*');
17969
+ }
17970
+ if (this.treeConfig.selectOne) {
17971
+ node.itemType = this.checkDataTypeSelectNode(node);
17972
+ this.idCheckIcon = node.id;
17973
+ this.selectNodeEvent.emit(node);
17974
+ }
17975
+ }
17976
+ checkDataTypeSelectNode(node) {
17977
+ let itemType = -1;
17978
+ switch (this.moduleId) {
17979
+ case DataType$2.process:
17980
+ itemType = node.expandable ? DataType$2.area : DataType$2.process;
17981
+ break;
17982
+ case DataType$2.document:
17983
+ itemType = node.expandable ? DataType$2.folder : DataType$2.document;
17984
+ break;
17985
+ default:
17986
+ itemType = this.moduleId;
17987
+ break;
17988
+ }
17989
+ return itemType;
17990
+ }
17991
+ selectFolder(node) {
17992
+ this.selectFolderEvent.emit(node);
17993
+ }
17994
+ onExpandNode(node, isExpandNode) {
17995
+ if (isExpandNode) {
17996
+ this.nodeExpandEvent.emit(node);
17997
+ }
17998
+ if (this.treeConfig.selectOne) {
17999
+ this.idCheckIcon = node.id;
18000
+ node.itemType = this.checkDataTypeSelectNode(node);
18001
+ this.selectNodeEvent.emit(node);
18002
+ }
18003
+ if (window[RelatedConst$1.IS_DISPLAY_SEARCH_RESULT]) {
18004
+ window.postMessage(RelatedConst$1.HIDE_SEARCH_RESULT, '*');
18005
+ }
18006
+ // set useExpandFeature = true to improve performance of tree loading
18007
+ if (!isExpandNode || !this.useExpandFeature) {
18008
+ for (let i = 0; i < this.arrIndex.length; i++) {
18009
+ if (this.arrIndex[i] === node.id) {
18010
+ this.arrIndex.splice(i, 1);
18011
+ }
18012
+ }
18013
+ return;
18014
+ }
18015
+ // get array index to expand node after refresh datasource
18016
+ let index = 0;
18017
+ let isChange = false;
18018
+ let isRemove = false;
18019
+ this.arrIndex.push(node.id);
18020
+ const childArray = this.treeData.filter((x) => {
18021
+ return x.parentId === node.id;
18022
+ });
18023
+ let rootId = '0';
18024
+ let parentElement;
18025
+ let childrenList;
18026
+ if (childArray.length === 0) {
18027
+ return;
18028
+ }
18029
+ childArray.forEach((item) => {
18030
+ if (item.parentId === rootId) {
18031
+ return;
18032
+ }
18033
+ // get child node from original datasource
18034
+ const child = this.getChildNode(item.parentId, childArray);
18035
+ rootId = item.parentId;
18036
+ index = this.getNodeIndex(child.id, undefined, this.dataSource['_treeControl'].dataNodes);
18037
+ if (index > -1) {
18038
+ return;
18039
+ }
18040
+ // add child node to expand node
18041
+ parentElement = this.findChildNode(node.id, this.dataSource.data);
18042
+ if (parentElement) {
18043
+ // temporary remove all node without children => purpose to add node folder first
18044
+ if (!isRemove) {
18045
+ childrenList = [...parentElement.children];
18046
+ this.removeChildren(parentElement);
18047
+ isRemove = true;
18048
+ }
18049
+ // add node folder first
18050
+ parentElement.children.push(child);
18051
+ isChange = true;
18052
+ }
18053
+ });
18054
+ // add node without children again
18055
+ if (isRemove) {
18056
+ this.addChildren(parentElement, childrenList);
18057
+ }
18058
+ // refresh data and expand tree node from root node
18059
+ if (isChange) {
18060
+ this.refreshTreeData();
18061
+ this.arrIndex.forEach((item) => {
18062
+ index = this.getNodeIndex(item, undefined, this.dataSource['_treeControl'].dataNodes);
18063
+ this.treeControl.expand(this.treeControl.dataNodes[index]);
18064
+ });
18065
+ isChange = false;
18066
+ }
18067
+ }
18068
+ removeChildren(parentElement) {
18069
+ if (parentElement.children) {
18070
+ parentElement.children.length = 0;
18071
+ }
18072
+ }
18073
+ addChildren(parentElement, childrenList) {
18074
+ if (childrenList) {
18075
+ childrenList.forEach((e) => {
18076
+ parentElement.children.push(e);
18077
+ });
18078
+ }
18079
+ }
18080
+ getNodeIndex(id, level, data) {
18081
+ if (level) {
18082
+ return data.findIndex((x) => {
18083
+ return x.id === id && x.level === level;
18084
+ });
18085
+ }
18086
+ return data.findIndex((x) => {
18087
+ return x.id === id;
18088
+ });
18089
+ }
18090
+ getChildNode(rootId, data) {
18091
+ const childArray = data.filter((x) => {
18092
+ return x.rootId === rootId;
18093
+ });
18094
+ const child = { id: childArray[0].rootId, name: childArray[0].subName, children: [] };
18095
+ childArray.forEach((item) => {
18096
+ child.children.push({ id: item.childId, name: item.childName, parentId: rootId, expandable: false });
18097
+ });
18098
+ return child;
18099
+ }
18100
+ findChildNode(id, data) {
18101
+ // eslint-disable-next-line no-restricted-syntax
18102
+ for (const currentFather of data) {
18103
+ if (currentFather.id === id) {
18104
+ return currentFather;
18105
+ }
18106
+ if (currentFather.children) {
18107
+ const currentChild = currentFather.children.find((x) => {
18108
+ return x.id === id;
18109
+ });
18110
+ if (currentChild) {
18111
+ return currentChild;
18112
+ }
18113
+ // eslint-disable-next-line no-restricted-syntax
18114
+ for (const currentChild1 of currentFather.children) {
18115
+ if (id !== currentChild1.id) {
18116
+ const result = this.findChildNode(id, currentFather.children);
18117
+ if (result !== false) {
18118
+ return result;
18119
+ }
18120
+ }
18121
+ }
18122
+ }
18123
+ }
18124
+ return false;
18125
+ }
18126
+ refreshTreeData() {
18127
+ const data = this.dataSource.data;
18128
+ this.dataSource.data = [];
18129
+ this.dataSource.data = data;
18130
+ }
18131
+ getNodeIcon(node) {
18132
+ if (this.openIcon && this.closeIcon) {
18133
+ return this.treeControl.isExpanded(node) ? this.openIcon : this.closeIcon;
18134
+ }
18135
+ switch (this.moduleId) {
18136
+ case DataType$2.document: {
18137
+ let nodeData = this.treeData.filter(x => { return x.id === node.id; });
18138
+ if (nodeData.length > 0) {
18139
+ switch (nodeData[0].levelType) {
18140
+ case DocumentNodeType$2.DepartmentFolder:
18141
+ return this.treeControl.isExpanded(node) ? 'department_folder_outlined' : 'department_folder';
18142
+ case DocumentNodeType$2.RegionalFolder:
18143
+ return this.treeControl.isExpanded(node) ? 'regional_folder_outlined' : 'regional_folder';
18144
+ case DocumentNodeType$2.TopFolder:
18145
+ return this.treeControl.isExpanded(node) ? 'enterprise_folder_outlined' : 'enterprise_folder';
18146
+ case DocumentNodeType$2.Folder:
18147
+ return this.treeControl.isExpanded(node) ? 'local_folder_outlined' : 'local_folder';
18148
+ default:
18149
+ return this.treeControl.isExpanded(node) ? 'folder_outlined' : 'folder';
18150
+ }
18151
+ }
18152
+ return this.treeControl.isExpanded(node) ? 'folder_outlined' : 'folder';
18153
+ }
18154
+ case DataType$2.process:
18155
+ return this.treeControl.isExpanded(node) ? 'process_area_outlined' : 'process_area';
18156
+ default:
18157
+ return this.treeControl.isExpanded(node) ? 'keyboard_up' : 'keyboard_down';
18158
+ }
18159
+ }
18160
+ getItemIcon(node) {
18161
+ switch (this.moduleId) {
18162
+ case DataType$2.document:
18163
+ const parent = this.treeData.filter(x => { return x.id === node.parentId; });
18164
+ if (parent.length > 0) {
18165
+ switch (parent[0].levelType) {
18166
+ case DocumentNodeType$2.DepartmentFolder:
18167
+ return 'document_department';
18168
+ case DocumentNodeType$2.RegionalFolder:
18169
+ return 'document_regional';
18170
+ case DocumentNodeType$2.TopFolder:
18171
+ return 'document_enterprise';
18172
+ case DocumentNodeType$2.Folder:
18173
+ return 'document_local';
18174
+ default:
18175
+ return 'document';
18176
+ }
18177
+ }
18178
+ return 'document';
18179
+ case DataType$2.process:
18180
+ return 'process';
18181
+ case DataType$2.checklist:
18182
+ return 'checklist';
18183
+ case DataType$2.deviation:
18184
+ return 'deviation';
18185
+ case DataType$2.risk:
18186
+ return 'risk';
18187
+ default:
18188
+ return 'document';
18189
+ }
18190
+ }
18191
+ getNodeId(node) {
18192
+ return `_${node.parentId ? node.parentId : ''}_${node.id}_${node.level}`;
18193
+ }
18194
+ getNodeByIdAndParentId(nodeId, parentId) {
18195
+ return this.treeControl.dataNodes.find(x => {
18196
+ return x.id === nodeId && x.parentId === parentId;
18197
+ });
18198
+ }
18199
+ expandNode(node) {
18200
+ this.treeControl.expand(node);
18201
+ }
18202
+ }
18203
+ NewTreeComponent.decorators = [
18204
+ { type: Component, args: [{
18205
+ selector: 'qms-tree-new',
18206
+ 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 (click)=\"onExpandNode(node, treeControl.isExpanded(node))\"\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, treeControl.isExpanded(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)=\"selectFolder(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",
18207
+ encapsulation: ViewEncapsulation.None,
18208
+ 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}"]
18209
+ },] }
18210
+ ];
18211
+ NewTreeComponent.ctorParameters = () => [
18212
+ { type: ChangeDetectorRef },
18213
+ { type: DomSanitizer },
18214
+ { type: MatIconRegistry },
18215
+ { type: QMSIconRegistryService }
18216
+ ];
18217
+ NewTreeComponent.propDecorators = {
18218
+ treeData: [{ type: Input }],
18219
+ treeConfig: [{ type: Input }],
18220
+ selectedData: [{ type: Input }],
18221
+ selectedRiskData: [{ type: Input }],
18222
+ disabledList: [{ type: Input }],
18223
+ expandOnTitleClick: [{ type: Input }],
18224
+ expandToChildNode: [{ type: Input }],
18225
+ parentNodeOnClick: [{ type: Input }],
18226
+ selectNodeEvent: [{ type: Output }],
18227
+ selectFolderEvent: [{ type: Output }],
18228
+ checkBoxEvent: [{ type: Output }],
18229
+ childCheckedEvent: [{ type: Output }],
18230
+ nodeExpandEvent: [{ type: Output }],
18231
+ getChildNodeSelectOne: [{ type: Output }],
18232
+ treeControlNodes: [{ type: Output }]
18233
+ };
18234
+
18235
+ class QMSNewTreeModule {
18236
+ }
18237
+ QMSNewTreeModule.decorators = [
18238
+ { type: NgModule, args: [{
18239
+ declarations: [
18240
+ NewTreeComponent,
18241
+ ],
18242
+ imports: [
18243
+ CommonModule,
18244
+ MatTreeModule,
18245
+ MatFormFieldModule,
18246
+ MatIconModule,
18247
+ MatButtonModule,
18248
+ MatCheckboxModule,
18249
+ MatAutocompleteModule,
18250
+ ReactiveFormsModule,
18251
+ ScrollingModule,
18252
+ MatCardModule,
18253
+ MatSidenavModule,
18254
+ MatListModule,
18255
+ SharedMaterialModule,
18256
+ QMSListModule,
18257
+ QmsAngularModule,
18258
+ QMSBreadcrumbModule,
18259
+ QMSAppIconModule
18260
+ ],
18261
+ exports: [
18262
+ NewTreeComponent,
18263
+ ]
18264
+ },] }
18265
+ ];
18266
+
18267
+ class SelectProcessDocumentPopupData {
18268
+ constructor() {
18269
+ this.moduleId = 0;
18270
+ this.moduleName = '';
18271
+ this.treeData1 = [];
18272
+ this.treeData2 = [];
18273
+ this.selectedNode = [];
18274
+ this.disabledList = [];
18275
+ this.disabledList2 = [];
18276
+ this.splitView = false;
18277
+ }
18278
+ }
18279
+
18280
+ class QMSProcessDocumentItem {
18281
+ }
18282
+
18283
+ class QMSSelectProcessDocumentGlobalService {
18284
+ constructor() {
18285
+ this.searchRelated = new BehaviorSubject([]);
18286
+ this.splitViewValue = new BehaviorSubject([]);
18287
+ this.getProcessAreaChildren = new BehaviorSubject([]);
18288
+ this.getFolderChildren = new BehaviorSubject([]);
18289
+ }
18290
+ setSearchRelated(result) {
18291
+ this.searchRelated.next(result);
18292
+ }
18293
+ setSplitviewValue(result) {
18294
+ this.splitViewValue.next(result);
18295
+ }
18296
+ setProcessAreaChildren(result) {
18297
+ this.getProcessAreaChildren.next(result);
18298
+ }
18299
+ setFolderChildren(result) {
18300
+ this.getFolderChildren.next(result);
18301
+ }
18302
+ }
18303
+ QMSSelectProcessDocumentGlobalService.ɵprov = i0.ɵɵdefineInjectable({ factory: function QMSSelectProcessDocumentGlobalService_Factory() { return new QMSSelectProcessDocumentGlobalService(); }, token: QMSSelectProcessDocumentGlobalService, providedIn: "root" });
18304
+ QMSSelectProcessDocumentGlobalService.decorators = [
18305
+ { type: Injectable, args: [{ providedIn: 'root' },] }
18306
+ ];
18307
+ QMSSelectProcessDocumentGlobalService.ctorParameters = () => [];
18308
+
18309
+ class SelectProcessDocumentPopupComponent {
18310
+ constructor(cdRef, translate, dialogRef, globalService, iconRegistry, sanitizer, appIconService, elem, data) {
18311
+ this.cdRef = cdRef;
18312
+ this.translate = translate;
18313
+ this.dialogRef = dialogRef;
18314
+ this.globalService = globalService;
18315
+ this.iconRegistry = iconRegistry;
18316
+ this.sanitizer = sanitizer;
18317
+ this.appIconService = appIconService;
18318
+ this.elem = elem;
18319
+ this.data = data;
18320
+ this.ngUnsubscribe = new Subject();
18321
+ this.moduleId = 0;
18322
+ this.moduleName = '';
18323
+ this.treeData1 = [];
18324
+ this.treeData2 = [];
18325
+ this.checkedNodeList = [];
18326
+ this.selectedNode = [];
18327
+ this.selectedData = [];
18328
+ this.selectedData2 = [];
18329
+ this.commonCheckedList = [];
18330
+ this.documentCheckedList = [];
18331
+ this.singleProcessList = [];
18332
+ this.singleDocumentList = [];
18333
+ this.module = ModuleType$1;
18334
+ this.dataType = DataType$1;
18335
+ this.itemType = 0;
18336
+ this.selectedRiskData = [];
18337
+ this.disabledList = [];
18338
+ this.disabledList2 = [];
18339
+ this.isDocumentExpanded = true;
18340
+ this.isCommonExpanded = true;
18341
+ this.singleSelectedNode = false;
18342
+ this.searchOrder = [];
18343
+ this.myControl = new FormControl();
18344
+ this.filteredOptions = [];
18345
+ this.isInputValue = false;
18346
+ this.itemInSplitview = [];
18347
+ this.selectedFolder = null;
18348
+ this.splitViewTitle = null;
18349
+ this.listChildrenSelectOne = [];
18350
+ this.onSearch = new EventEmitter();
18351
+ this.onSelectFolderItem = new EventEmitter();
18352
+ this.onExpandProcessArea = new EventEmitter();
18353
+ this.onExpandFolder = new EventEmitter();
18354
+ this.parentNodeSelected = new TreeFlatNode();
18355
+ this.moduleId = data.moduleId;
18356
+ this.moduleName = data.moduleName;
18357
+ this.treeData1 = data.treeData1;
18358
+ this.treeData2 = data.treeData2;
18359
+ this.treeConfig1 = data.treeConfig1;
18360
+ this.treeConfig2 = data.treeConfig2;
18361
+ this.selectedRiskData = (data === null || data === void 0 ? void 0 : data.selectedNode) || [];
18362
+ this.singleSelectedNode = data.treeConfig1.singleSelectedNode;
18363
+ this.disabledList = data.disabledList || [];
18364
+ this.disabledList2 = data.disabledList2 || [];
18365
+ this.splitView = data.splitView;
18366
+ this.isSelectOne = data.isSelectOne;
18367
+ this.canOnlySelectItem = data.canOnlySelectItem;
18368
+ appIconService.registerProcessIcon(iconRegistry, sanitizer);
18369
+ appIconService.registerProcessAreaIcon(iconRegistry, sanitizer);
18370
+ appIconService.registerDocumentIcon(iconRegistry, sanitizer);
18371
+ appIconService.registerFolderIcon(iconRegistry, sanitizer);
18372
+ }
18373
+ ngOnDestroy() {
18374
+ this.ngUnsubscribe.next();
18375
+ this.ngUnsubscribe.complete();
18376
+ this.globalService.setSearchRelated([]);
18377
+ this.selectedFolder = null;
18378
+ this.globalService.setSplitviewValue([]);
18379
+ }
18380
+ onMessage(event) {
18381
+ if (event.data === RelatedConst.HIDE_SEARCH_RESULT) {
18382
+ // this.autoComplete.closePanel();
18383
+ }
18384
+ }
18385
+ ngOnInit() {
18386
+ this.translate.getLanguageSubject$.pipe().subscribe((res) => {
18387
+ if (res) {
18388
+ this.LANG = this.translate.getObjectLang(res);
18389
+ }
18390
+ });
18391
+ this.globalService.searchRelated.pipe(takeUntil(this.ngUnsubscribe)).subscribe((res) => {
18392
+ if (res && res.length) {
18393
+ this.filteredOptions = res;
18394
+ }
18395
+ });
18396
+ this.globalService.splitViewValue.pipe(takeUntil(this.ngUnsubscribe)).subscribe((res) => {
18397
+ this.itemInSplitview = res;
18398
+ if (res.length) {
18399
+ let listNodeProcess = [];
18400
+ let listNodeDocs = [];
18401
+ res.forEach(item => {
18402
+ let newNodeProcess = new NewTreeModel();
18403
+ newNodeProcess.id = item.id;
18404
+ newNodeProcess.name = item.itemName;
18405
+ newNodeProcess.displayId = +item.itemNumberId;
18406
+ newNodeProcess.parentId = item.parentId;
18407
+ newNodeProcess.statusId = item.status;
18408
+ if (item.itemType === DataType$1.process) {
18409
+ listNodeProcess.push(newNodeProcess);
18410
+ }
18411
+ else {
18412
+ let newNodeDocs = new NewTreeModel();
18413
+ newNodeDocs.statusName = item.statusName;
18414
+ listNodeDocs.push(newNodeDocs);
18415
+ }
18416
+ });
18417
+ if (this.checkedNodeList.length) {
18418
+ this.selectedData = [];
18419
+ this.selectedData2 = [];
18420
+ let selectProcess = [];
18421
+ let selectDocument = [];
18422
+ this.checkedNodeList.forEach(x => {
18423
+ const newNode = {
18424
+ disabled: false,
18425
+ expandable: (x.itemType == DataType$1.area || x.itemType == DataType$1.folder) ? true : false,
18426
+ hasChild: (x.itemType == DataType$1.area || x.itemType == DataType$1.folder) ? true : false,
18427
+ id: x.id,
18428
+ level: 0,
18429
+ levelType: undefined,
18430
+ name: x.itemName,
18431
+ parentId: x.parentId
18432
+ };
18433
+ if (x.itemType === DataType$1.area || x.itemType === DataType$1.process) {
18434
+ this.treeData1.forEach(item => {
18435
+ if (item.id && x.id === item.id) {
18436
+ selectProcess.push(newNode);
18437
+ }
18438
+ });
18439
+ }
18440
+ else {
18441
+ this.treeData2.forEach(item => {
18442
+ if (item.id && x.id === item.id) {
18443
+ selectDocument.push(newNode);
18444
+ }
18445
+ });
18446
+ }
18447
+ });
18448
+ this.selectedData = [...this.selectedData, ...selectProcess];
18449
+ this.selectedData2 = [...this.selectedData2, ...selectDocument];
18450
+ }
18451
+ }
18452
+ });
18453
+ this.myControl.valueChanges.pipe(debounceTime(1000)).subscribe((val) => {
18454
+ this.isInputValue = true;
18455
+ this.onSearchRelated(val);
18456
+ });
18457
+ this.globalService.getProcessAreaChildren.pipe(takeUntil(this.ngUnsubscribe)).subscribe((res) => {
18458
+ if (res.length > 0 && this.dataTrees) {
18459
+ let notShownChildren = [];
18460
+ res.forEach(x => {
18461
+ const index = this.treeData1.findIndex(item => item.id === x.id && item.parentId === x.parentId && x.expandable == item.expandable);
18462
+ if (index < 0) {
18463
+ notShownChildren.push(x);
18464
+ }
18465
+ });
18466
+ this.treeData1 = [...this.treeData1, ...notShownChildren];
18467
+ }
18468
+ });
18469
+ this.globalService.getFolderChildren.pipe(takeUntil(this.ngUnsubscribe)).subscribe((res) => {
18470
+ if (res.length > 0 && this.dataTrees) {
18471
+ let notShownChildren = [];
18472
+ res.forEach(x => {
18473
+ const index = this.treeData2.findIndex(item => item.id === x.id && item.parentId === x.parentId && x.expandable == item.expandable);
18474
+ if (index < 0) {
18475
+ notShownChildren.push(x);
18476
+ }
18477
+ });
18478
+ this.treeData2 = [...this.treeData2, ...notShownChildren];
18479
+ }
18480
+ });
18481
+ this.itemType = this.dataType.process;
18482
+ this.searchOrder = this.getSearchOrder();
18483
+ }
18484
+ ngAfterViewChecked() {
18485
+ }
18486
+ removeCheckedNodeList(item) {
18487
+ this.selectedData = [];
18488
+ this.selectedData2 = [];
18489
+ this.checkedNodeList = this.checkedNodeList.filter(x => (x.id.toLowerCase() !== item.id.toLowerCase() || x.parentId.toLowerCase() !== item.parentId.toLowerCase()));
18490
+ const tempArr = [];
18491
+ const tempArrDocument = [];
18492
+ const newSelectProcessList = [];
18493
+ const newSelectDocumentList = [];
18494
+ this.commonCheckedList.forEach(element => {
18495
+ this.checkedNodeList.forEach(x => {
18496
+ if (element.id.toLowerCase() === x.id.toLowerCase() && element.parentId.toLowerCase() === x.parentId.toLowerCase()) {
18497
+ tempArr.push(element);
18498
+ }
18499
+ });
18500
+ });
18501
+ this.singleProcessList.forEach(element => {
18502
+ this.checkedNodeList.forEach(x => {
18503
+ if (element.id.toLowerCase() === x.id.toLowerCase() && element.parentId.toLowerCase() === x.parentId.toLowerCase()) {
18504
+ newSelectProcessList.push(element);
18505
+ }
18506
+ });
18507
+ });
18508
+ this.singleProcessList = newSelectProcessList;
18509
+ if (tempArr.length > 0) {
18510
+ this.selectedData = [...tempArr];
18511
+ }
18512
+ this.documentCheckedList.forEach(element => {
18513
+ this.checkedNodeList.forEach(x => {
18514
+ if (element.id.toLowerCase() === x.id.toLowerCase() && element.parentId.toLowerCase() === x.parentId.toLowerCase()) {
18515
+ tempArrDocument.push(element);
18516
+ }
18517
+ });
18518
+ });
18519
+ this.singleDocumentList.forEach(element => {
18520
+ this.checkedNodeList.forEach(x => {
18521
+ if (element.id.toLowerCase() === x.id.toLowerCase() && element.parentId.toLowerCase() === x.parentId.toLowerCase()) {
18522
+ newSelectDocumentList.push(element);
18523
+ }
18524
+ });
18525
+ });
18526
+ this.singleDocumentList = newSelectDocumentList;
18527
+ if (tempArrDocument.length > 0) {
18528
+ this.selectedData2 = [...tempArrDocument];
18529
+ }
18530
+ }
18531
+ setResultHeight(arr) {
18532
+ let maxHeight = 484;
18533
+ const popup_content = document.getElementsByClassName('qmslib_related_popup_content')[0];
18534
+ const line__divider = document.getElementsByClassName('line__divider')[0];
18535
+ if (popup_content && line__divider) {
18536
+ maxHeight = this.getOffsetHeight(popup_content, true) + this.getOffsetHeight(line__divider, true) * 2;
18537
+ }
18538
+ const contentResult = document.getElementsByClassName('cdk-virtual-scroll-content-wrapper')[0];
18539
+ const viewreports = document.getElementsByClassName('related-viewport')[0];
18540
+ if (viewreports) {
18541
+ if (contentResult.offsetHeight <= maxHeight) {
18542
+ viewreports.style.height = `${contentResult.offsetHeight}px`;
18543
+ }
18544
+ else {
18545
+ viewreports.style.height = `${maxHeight}px`;
18546
+ }
18547
+ }
18548
+ }
18549
+ onSearchRelated(_val) {
18550
+ this.filteredOptions = [];
18551
+ if (typeof (_val) === 'object') {
18552
+ this.myControl.setValue('');
18553
+ this.isInputValue = false;
18554
+ }
18555
+ else if (typeof (_val) === 'string') {
18556
+ if (!!_val) {
18557
+ this.onSearch.emit(_val);
18558
+ }
18559
+ }
18560
+ }
18561
+ getModuleFilteredOptions(moduleId) {
18562
+ if (this.listChildrenSelectOne.length) {
18563
+ for (let index = 0; index < this.listChildrenSelectOne.length; index++) {
18564
+ const firstEl = this.listChildrenSelectOne[index];
18565
+ for (let j = 0; j < this.filteredOptions.length; j++) {
18566
+ const secondEl = this.filteredOptions[j];
18567
+ if (firstEl.id === secondEl.id) {
18568
+ this.filteredOptions.splice(j, 1);
18569
+ }
18570
+ }
18571
+ }
18572
+ }
18573
+ return this.filteredOptions.filter(x => x.itemType === moduleId);
18574
+ }
18575
+ showSearchResult() {
18576
+ // this.autoComplete.openPanel();
18577
+ }
18578
+ displayRelated(related) {
18579
+ return related ? related.itemName : undefined;
18580
+ }
18581
+ selectRelated(item) {
18582
+ let index = -1;
18583
+ this.selectedNode = [];
18584
+ if (this.treeConfig1.showCheckBox) {
18585
+ index = this.checkedNodeList.findIndex(x => {
18586
+ return x.id === item.id && x.parentId === item.parentId;
18587
+ });
18588
+ }
18589
+ if (index < 0) {
18590
+ let position = -1;
18591
+ let node;
18592
+ let typeId;
18593
+ if (item.itemType === this.dataType.document) {
18594
+ // document
18595
+ const isExistInDisabled = this.disabledList2.findIndex(x => {
18596
+ return x.id && x.id.toLowerCase() === item.id.toLowerCase();
18597
+ });
18598
+ if (isExistInDisabled >= 0) {
18599
+ return;
18600
+ }
18601
+ position = this.treeData2.findIndex(x => {
18602
+ return x.id === item.id && x.parentId === item.parentId && !x.expandable;
18603
+ });
18604
+ if (position >= 0) {
18605
+ this.addToChecklistNodeAndSelectedData(item);
18606
+ node = this.treeData2[position];
18607
+ typeId = this.dataType.document;
18608
+ const treeNode = {
18609
+ id: node.childId,
18610
+ name: node.childName,
18611
+ children: [],
18612
+ parentId: node.rootId,
18613
+ expandable: false
18614
+ };
18615
+ this.dataTrees.toArray()[1].todoItemSelectionProcessDocument([treeNode]);
18616
+ }
18617
+ else {
18618
+ this.addNodeToTree(item);
18619
+ this.addToChecklistNodeAndSelectedData(item);
18620
+ setTimeout(() => {
18621
+ const treeNode = {
18622
+ id: item.id,
18623
+ name: item.itemName,
18624
+ children: [],
18625
+ parentId: item.parentId,
18626
+ expandable: false
18627
+ };
18628
+ this.dataTrees.toArray()[1].todoItemSelectionProcessDocument([treeNode]);
18629
+ }, 500);
18630
+ }
18631
+ }
18632
+ else if (item.itemType === this.dataType.folder) {
18633
+ position = this.treeData2.findIndex(x => {
18634
+ return x.id.toLowerCase() === item.id.toLowerCase() && (!item.parentId || x.parentId.toLowerCase() === item.parentId.toLowerCase());
18635
+ });
18636
+ typeId = item.itemType;
18637
+ if (position >= 0) {
18638
+ node = this.treeData2[position];
18639
+ const treeNode = {
18640
+ id: node.id,
18641
+ name: node.name,
18642
+ children: [],
18643
+ parentId: node.parentId,
18644
+ expandable: true,
18645
+ };
18646
+ this.dataTrees.toArray()[1].todoFolderSelection([treeNode]);
18647
+ }
18648
+ else {
18649
+ this.addNodeToTree(item);
18650
+ this.addToChecklistNodeAndSelectedData(item);
18651
+ }
18652
+ return;
18653
+ }
18654
+ else if (item.itemType === this.dataType.area) {
18655
+ position = this.treeData1.findIndex(x => {
18656
+ return x.id.toLowerCase() === item.id.toLowerCase() && (!item.parentId || x.parentId.toLowerCase() === item.parentId.toLowerCase()) && x.expandable;
18657
+ });
18658
+ typeId = item.itemType;
18659
+ if (position >= 0) {
18660
+ node = this.treeData1[position];
18661
+ const treeNode = {
18662
+ id: node.id,
18663
+ name: node.name,
18664
+ children: [],
18665
+ parentId: node.parentId,
18666
+ expandable: true
18667
+ };
18668
+ this.dataTrees.toArray()[0].todoFolderSelection([treeNode]);
18669
+ }
18670
+ else {
18671
+ this.addNodeToTree(item);
18672
+ this.addToChecklistNodeAndSelectedData(item);
18673
+ }
18674
+ return;
18675
+ }
18676
+ else {
18677
+ const isExistInDisabled = this.disabledList.findIndex(x => {
18678
+ return x.id.toLowerCase() === item.id.toLowerCase() && (!item.parentId || x.parentId.toLowerCase() === item.parentId.toLowerCase());
18679
+ });
18680
+ if (isExistInDisabled >= 0) {
18681
+ return;
18682
+ }
18683
+ position = this.treeData1.findIndex(x => {
18684
+ return x.id.toLowerCase() === item.id.toLowerCase() && x.parentId.toLowerCase() === item.parentId.toLowerCase() && !x.expandable;
18685
+ });
18686
+ if (position >= 0) {
18687
+ node = this.treeData1[position];
18688
+ typeId = this.itemType;
18689
+ const treeNode = {
18690
+ id: node.childId,
18691
+ name: node.childName,
18692
+ children: [],
18693
+ parentId: node.rootId,
18694
+ expandable: false
18695
+ };
18696
+ this.addToChecklistNodeAndSelectedData(item);
18697
+ this.dataTrees.toArray()[0].todoItemSelectionProcessDocument([treeNode]);
18698
+ }
18699
+ else {
18700
+ this.addNodeToTree(item);
18701
+ this.addToChecklistNodeAndSelectedData(item);
18702
+ setTimeout(() => {
18703
+ const treeNode = {
18704
+ id: item.id,
18705
+ name: item.itemName,
18706
+ children: [],
18707
+ parentId: item.parentId,
18708
+ expandable: false
18709
+ };
18710
+ this.dataTrees.toArray()[0].todoItemSelectionProcessDocument([treeNode]);
18711
+ }, 500);
18712
+ }
18713
+ }
18714
+ }
18715
+ }
18716
+ addNodeToTree(item) {
18717
+ let newNodeDocs = new NewTreeModel();
18718
+ newNodeDocs.id = item.id;
18719
+ newNodeDocs.name = item.itemName;
18720
+ newNodeDocs.parentId = item.parentId;
18721
+ newNodeDocs.statusId = item === null || item === void 0 ? void 0 : item['itemStatus'];
18722
+ newNodeDocs.statusName = item === null || item === void 0 ? void 0 : item['statusName'];
18723
+ newNodeDocs.displayId = +item.itemNumberId;
18724
+ newNodeDocs.expandable = item.itemType == DataType$1.folder || item.itemType == DataType$1.area ? true : false;
18725
+ if (item.itemType == DataType$1.folder || item.itemType == DataType$1.document) {
18726
+ if (this.treeData2.findIndex(x => x.id.toLowerCase() === newNodeDocs.id.toLowerCase() &&
18727
+ (!newNodeDocs.parentId || x.parentId.toLowerCase() === newNodeDocs.parentId.toLowerCase()) && x.expandable === newNodeDocs.expandable) >= 0) {
18728
+ this.treeData2 = [...this.treeData2, newNodeDocs];
18729
+ }
18730
+ }
18731
+ else {
18732
+ if (this.treeData1.findIndex(x => x.id.toLowerCase() === newNodeDocs.id.toLowerCase() &&
18733
+ (!newNodeDocs.parentId || x.parentId.toLowerCase() === newNodeDocs.parentId.toLowerCase()) && x.expandable === newNodeDocs.expandable) >= 0) {
18734
+ this.treeData1 = [...this.treeData1, newNodeDocs];
18735
+ }
18736
+ }
18737
+ }
18738
+ addToChecklistNode(item) {
18739
+ let newNodeDocs = new NewTreeModel();
18740
+ newNodeDocs.id = item.id;
18741
+ newNodeDocs.name = item.itemName;
18742
+ newNodeDocs.parentId = item.parentId;
18743
+ newNodeDocs.statusId = item === null || item === void 0 ? void 0 : item['itemStatus'];
18744
+ newNodeDocs.statusName = item === null || item === void 0 ? void 0 : item['statusName'];
18745
+ newNodeDocs.displayId = +item.itemNumberId;
18746
+ newNodeDocs.expandable = item.itemType == DataType$1.folder || item.itemType == DataType$1.area ? true : false;
18747
+ if (this.isSelectOne) {
18748
+ this.checkedNodeList = [];
18749
+ this.documentCheckedList = [];
18750
+ this.commonCheckedList = [];
18751
+ }
18752
+ const index = this.checkedNodeList.findIndex(x => x.id.toLowerCase() === newNodeDocs.id.toLowerCase() &&
18753
+ (!newNodeDocs.parentId || x.parentId.toLowerCase() === newNodeDocs.parentId.toLowerCase()) && x.expandable === newNodeDocs.expandable);
18754
+ if (index < 0) {
18755
+ if (item.itemType == DataType$1.folder || item.itemType == DataType$1.document) {
18756
+ this.documentCheckedList.push({
18757
+ id: newNodeDocs.id,
18758
+ name: newNodeDocs.name,
18759
+ itemType: item.itemType,
18760
+ parentId: newNodeDocs.parentId,
18761
+ levelType: newNodeDocs.levelType,
18762
+ level: 0,
18763
+ disabled: false,
18764
+ expandable: newNodeDocs.expandable,
18765
+ hasChild: newNodeDocs.expandable
18766
+ });
18767
+ }
18768
+ else {
18769
+ this.commonCheckedList.push({
18770
+ id: newNodeDocs.id,
18771
+ name: newNodeDocs.name,
18772
+ itemType: item.itemType,
18773
+ parentId: newNodeDocs.parentId,
18774
+ levelType: newNodeDocs.levelType,
18775
+ level: 0,
18776
+ disabled: false,
18777
+ expandable: newNodeDocs.expandable,
18778
+ hasChild: newNodeDocs.expandable
18779
+ });
18780
+ }
18781
+ this.checkedNodeList.push({
18782
+ moduleId: this.moduleId,
18783
+ id: item.id,
18784
+ itemName: newNodeDocs.name,
18785
+ itemType: item.itemType,
18786
+ parentId: newNodeDocs.parentId,
18787
+ parentName: item.parentName,
18788
+ itemNumberId: item.itemNumberId,
18789
+ levelType: item.levelType,
18790
+ expandable: newNodeDocs.expandable
18791
+ });
18792
+ }
18793
+ }
18794
+ addSelectedData(item) {
18795
+ const selectProcess = [];
18796
+ const selectDocument = [];
18797
+ this.selectedData = [];
18798
+ this.selectedData2 = [];
18799
+ if (this.checkedNodeList.length) {
18800
+ this.checkedNodeList.forEach(x => {
18801
+ const node = {
18802
+ disabled: false,
18803
+ expandable: x.itemType == DataType$1.area || x.itemType == DataType$1.folder ? true : false,
18804
+ hasChild: x.itemType == DataType$1.area || x.itemType == DataType$1.folder ? true : false,
18805
+ id: x.id,
18806
+ level: 0,
18807
+ levelType: undefined,
18808
+ name: x.itemName,
18809
+ parentId: x.parentId
18810
+ };
18811
+ if (x.itemType === DataType$1.area || x.itemType === DataType$1.process) {
18812
+ this.treeData1.forEach(item => {
18813
+ if (item.id && x.id.toLowerCase() === item.id.toLowerCase() &&
18814
+ (!x.parentId || x.parentId.toLowerCase() === item.parentId.toLowerCase())) {
18815
+ selectProcess.push(node);
18816
+ }
18817
+ });
18818
+ }
18819
+ else {
18820
+ this.treeData2.forEach(item => {
18821
+ if (item.id && x.id.toLowerCase() === item.id.toLowerCase() &&
18822
+ (!x.parentId || x.parentId.toLowerCase() === item.parentId.toLowerCase())) {
18823
+ selectDocument.push(node);
18824
+ }
18825
+ });
18826
+ }
18827
+ });
18828
+ }
18829
+ if (!this.isSelectOne) {
18830
+ this.selectedData = [...this.selectedData, ...selectProcess];
18831
+ this.selectedData2 = [...this.selectedData2, ...selectDocument];
18832
+ }
18833
+ if (item.itemType === DataType$1.folder || item.itemType === DataType$1.document) {
18834
+ if (this.selectedData2.findIndex(x => x.id.toLowerCase() === item.id.toLowerCase() &&
18835
+ (!item.parentId || x.parentId.toLowerCase() === item.parentId.toLowerCase()) && x.expandable === item.expandable) < 0) {
18836
+ this.selectedData2 = [...this.selectedData2, item];
18837
+ }
18838
+ }
18839
+ else {
18840
+ if (this.selectedData.findIndex(x => x.id.toLowerCase() === item.id.toLowerCase() &&
18841
+ (!item.parentId || x.parentId.toLowerCase() === item.parentId.toLowerCase()) && x.expandable === item.expandable) < 0) {
18842
+ this.selectedData = [...this.selectedData, item];
18843
+ }
18844
+ }
18845
+ }
18846
+ addToChecklistNodeAndSelectedData(item) {
18847
+ this.addToChecklistNode(item);
18848
+ this.addSelectedData({
18849
+ id: item.id,
18850
+ name: item.itemName,
18851
+ expandable: item.itemType == DataType$1.area || item.itemType == DataType$1.folder,
18852
+ level: 0,
18853
+ disabled: false,
18854
+ hasChild: item.itemType == DataType$1.area || item.itemType == DataType$1.folder,
18855
+ });
18856
+ }
18857
+ setTypeProcess(expand) {
18858
+ return expand ? this.dataType.area : this.dataType.process;
18859
+ }
18860
+ onCloseClick() {
18861
+ this.selectedFolder = null;
18862
+ this.itemInSplitview = [];
18863
+ this.dialogRef.close();
18864
+ }
18865
+ ;
18866
+ onAddClick() {
18867
+ // if (this.treeConfig1.showCheckBox) {
18868
+ this.selectedFolder = null;
18869
+ this.itemInSplitview = [];
18870
+ this.dialogRef.close(this.checkedNodeList);
18871
+ }
18872
+ getStatusName(id) {
18873
+ let statusName = '';
18874
+ this.treeData2.forEach(x => {
18875
+ if (id.toString() === x.id) {
18876
+ statusName = x.statusName;
18877
+ }
18878
+ });
18879
+ return statusName;
18880
+ }
18881
+ getBreadcumbAllParentProcess(id) {
18882
+ let tempParent = [];
18883
+ this.checkBreadcumbProcess(id, tempParent, function (arr) {
18884
+ tempParent = [...arr];
18885
+ });
18886
+ return tempParent;
18887
+ }
18888
+ getBreadcumbAllParentDocs(id) {
18889
+ let tempParent = [];
18890
+ this.checkBreadcumbDocument(id, tempParent, function (arr) {
18891
+ tempParent = [...arr];
18892
+ });
18893
+ return tempParent;
18894
+ }
18895
+ checkBreadcumbProcess(id, breadcumbs, callback) {
18896
+ for (let i = 0; i < this.treeControlNodeProcess.dataNodes.length; i++) {
18897
+ const tree = this.treeControlNodeProcess.dataNodes[i];
18898
+ if (id == tree.id) {
18899
+ breadcumbs = [...breadcumbs, tree];
18900
+ if (tree.parentId) {
18901
+ this.checkBreadcumbProcess(tree.parentId, breadcumbs, callback);
18902
+ }
18903
+ else {
18904
+ callback(breadcumbs);
18905
+ }
18906
+ }
18907
+ }
18908
+ }
18909
+ checkBreadcumbDocument(id, breadcumbs, callback) {
18910
+ for (let i = 0; i < this.treeControlNodeDocument.dataNodes.length; i++) {
18911
+ const tree = this.treeControlNodeDocument.dataNodes[i];
18912
+ if (id == tree.id) {
18913
+ breadcumbs = [...breadcumbs, tree];
18914
+ if (tree.parentId) {
18915
+ this.checkBreadcumbDocument(tree.parentId, breadcumbs, callback);
18916
+ }
18917
+ else {
18918
+ callback(breadcumbs);
18919
+ }
18920
+ }
18921
+ }
18922
+ }
18923
+ selectTreeControlNodeDocument(treeNodes) {
18924
+ this.treeControlNodeDocument = null;
18925
+ this.treeControlNodeDocument = treeNodes;
18926
+ this.treeControlNodeDocument.dataNodes = this.treeControlNodeDocument.dataNodes.filter(x => x.name !== null && x.name !== '');
18927
+ }
18928
+ selectTreeControlNodeProcess(treeNodes) {
18929
+ this.treeControlNodeProcess = null;
18930
+ this.treeControlNodeProcess = treeNodes;
18931
+ this.treeControlNodeProcess.dataNodes = this.treeControlNodeProcess.dataNodes.filter(x => x.name !== null && x.name !== '');
18932
+ }
18933
+ getStatusDocs(id) {
18934
+ return this.treeData2.filter(x => x.id === id)[0].statusId;
18935
+ }
18936
+ getStatusProcess(id) {
18937
+ return this.treeData1.filter(x => x.id === id)[0].statusId;
18938
+ }
18939
+ getOffsetHeight(element, includeMargin) {
18940
+ let elmHeight = 0, elmMargin = 0;
18941
+ elmHeight = element.offsetHeight;
18942
+ if (includeMargin) {
18943
+ const style = window.getComputedStyle(element);
18944
+ elmMargin = parseFloat(style.marginTop.replace('px', '')) + parseFloat(style.marginBottom.replace('px', ''));
18945
+ }
18946
+ return (elmHeight + elmMargin);
18947
+ }
18948
+ getItemChipName(item) {
18949
+ return item.itemName;
18950
+ }
18951
+ isEllipsisActive(e) {
18952
+ return e ? (e.clientWidth < e.scrollWidth) : false;
18953
+ }
18954
+ getNodeIcon(item) {
18955
+ switch (item.itemType) {
18956
+ case DataType$1.folder: {
18957
+ switch (item.levelType) {
18958
+ case DocumentNodeType$1.DepartmentFolder:
18959
+ return 'department_folder_outlined';
18960
+ case DocumentNodeType$1.RegionalFolder:
18961
+ return 'regional_folder_outlined';
18962
+ case DocumentNodeType$1.TopFolder:
18963
+ return 'enterprise_folder_outlined';
18964
+ case DocumentNodeType$1.Folder:
18965
+ return 'local_folder_outlined';
18966
+ default:
18967
+ return 'folder_outlined';
18968
+ }
18969
+ }
18970
+ case DataType$1.document: {
18971
+ switch (item.levelType) {
18972
+ case DocumentNodeType$1.DepartmentFolder:
18973
+ return 'document_department';
18974
+ case DocumentNodeType$1.RegionalFolder:
18975
+ return 'document_regional';
18976
+ case DocumentNodeType$1.TopFolder:
18977
+ return 'document_enterprise';
18978
+ case DocumentNodeType$1.Folder:
18979
+ return 'document_local';
18980
+ default:
18981
+ return 'document';
18982
+ }
18983
+ }
18984
+ case DataType$1.area:
18985
+ return 'process_area_outlined';
18986
+ case DataType$1.process:
18987
+ return 'process';
18988
+ default:
18989
+ return 'folder_outlined';
18990
+ }
18991
+ }
18992
+ getSearchOrder() {
18993
+ let searchTypes = Object.keys(this.dataType)
18994
+ .map(key => ({ value: this.dataType[key], key: key }));
18995
+ searchTypes = searchTypes.slice(searchTypes.length / 2);
18996
+ return searchTypes;
18997
+ }
18998
+ getTitle(type) {
18999
+ switch (type) {
19000
+ case DataType$1.process:
19001
+ return this.LANG.PROCESSES;
19002
+ case DataType$1.area:
19003
+ return this.LANG.PROCESS_AREA;
19004
+ case DataType$1.document:
19005
+ return this.LANG.DOCUMENTS;
19006
+ case DataType$1.folder:
19007
+ return this.LANG.FOLDER;
19008
+ }
19009
+ }
19010
+ getItemId(item) {
19011
+ if (item.itemType === this.dataType.process) {
19012
+ return `${this.LANG.PROCESS_ID}: ${item.itemNumberId}; ${item.statusName}`;
19013
+ }
19014
+ else if (item.itemType === this.dataType.document) {
19015
+ return `${this.LANG.DOCUMENT_ID}: ${item.itemNumberId}; ${item.statusName}`;
19016
+ }
19017
+ return null;
19018
+ }
19019
+ toggleSelectItem(node) {
19020
+ const selectedNode = this.checkedNodeList.find(x => (x.id.toLowerCase() === node.id.toLowerCase() && x.parentId.toLowerCase() === node.parentId.toLowerCase()));
19021
+ if (selectedNode) {
19022
+ this.removeCheckedNodeList({
19023
+ id: selectedNode.id,
19024
+ name: node.itemName,
19025
+ parentId: selectedNode.parentId,
19026
+ hasChild: false,
19027
+ expandable: false,
19028
+ level: 0,
19029
+ disabled: false,
19030
+ });
19031
+ }
19032
+ else {
19033
+ this.selectRelated(node);
19034
+ }
19035
+ }
19036
+ isNodeSelected(node) {
19037
+ return this.checkedNodeList.filter(x => (x.id.toLowerCase() === node.id.toLowerCase() && x.parentId.toLowerCase() === node.parentId.toLowerCase())).length > 0;
19038
+ }
19039
+ getChildrenOfFolder(node, type) {
19040
+ let item = new QMSProcessDocumentItem();
19041
+ item.id = node.id;
19042
+ item.itemType = type;
19043
+ item.itemName = node.name;
19044
+ item.levelType = node.levelType;
19045
+ this.selectedFolder = node;
19046
+ this.parentNodeSelected = new TreeFlatNode();
19047
+ this.parentNodeSelected = Object.assign({}, node);
19048
+ if (item.itemType == DataType$1.area)
19049
+ this.onExpandProcessArea.emit(item);
19050
+ else
19051
+ this.onExpandFolder.emit(item);
19052
+ }
19053
+ canShowSearchOption(moduleId) {
19054
+ return this.getModuleFilteredOptions(moduleId).length > 0;
19055
+ }
19056
+ selectNodeTreeEvent(node) {
19057
+ if (!node.itemType) {
19058
+ return;
19059
+ }
19060
+ const index = this.checkedNodeList.findIndex(x => x.id.toLowerCase() === node.id.toLowerCase()
19061
+ && (!node.parentId || x.parentId.toLowerCase() === node.parentId.toLowerCase()) && x.expandable == node.expandable);
19062
+ if (index >= 0) {
19063
+ this.removeCheckedNodeList(node);
19064
+ return;
19065
+ }
19066
+ else {
19067
+ this.addToChecklistNode({
19068
+ id: node.id,
19069
+ itemName: node.name,
19070
+ parentId: node.parentId,
19071
+ breadcumbs: [],
19072
+ itemType: node.itemType,
19073
+ statusName: '',
19074
+ parentName: ''
19075
+ });
19076
+ this.addSelectedData(node);
19077
+ }
19078
+ }
19079
+ getChildNodeSelectOne(listChildren) {
19080
+ this.listChildrenSelectOne = [];
19081
+ this.listChildrenSelectOne = listChildren;
19082
+ }
19083
+ getItemOfFolder(node, type) {
19084
+ if (this.splitView) {
19085
+ const parentTexts = this.elem.nativeElement.querySelectorAll('.text-node-parent');
19086
+ [].forEach.call(parentTexts, (el) => {
19087
+ el.classList.remove('active-item');
19088
+ });
19089
+ const itemElement = document.querySelectorAll(`#_${node.parentId ? node.parentId : ''}_${node.id}_${node.level}`);
19090
+ [].forEach.call(itemElement, (el) => {
19091
+ el.classList.add('active-item');
19092
+ });
19093
+ if (type === this.dataType.folder) {
19094
+ this.splitViewTitle = `${this.LANG.MESSAGE.DOCUMENTS_IN.toUpperCase()} "${node.name}"`;
19095
+ }
19096
+ else if (type === this.dataType.area) {
19097
+ this.splitViewTitle = `${this.LANG.MESSAGE.PROCESSES_IN.toUpperCase()} "${node.name}"`;
19098
+ }
19099
+ let item = new QMSProcessDocumentItem();
19100
+ item.id = node.id;
19101
+ item.itemType = type;
19102
+ item.itemName = node.name;
19103
+ item.levelType = node.levelType;
19104
+ this.selectedFolder = node;
19105
+ this.parentNodeSelected = new TreeFlatNode();
19106
+ this.parentNodeSelected = Object.assign({}, node);
19107
+ this.onSelectFolderItem.emit(item);
19108
+ }
19109
+ }
19110
+ }
19111
+ SelectProcessDocumentPopupComponent.decorators = [
19112
+ { type: Component, args: [{
19113
+ selector: 'qms-select-process-document',
19114
+ 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 id=\"qmslib_related_popup_search\" class=\"input__field\">\r\n <input\r\n type=\"text\"\r\n placeholder=\"{{ LANG.SEARCH }}\"\r\n matInput\r\n [formControl]=\"myControl\"\r\n [matAutocomplete]=\"auto\"\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 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]=\"isInputValue\"\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 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 <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-new\r\n [treeData]=\"treeData1\"\r\n [treeConfig]=\"treeConfig1\"\r\n [selectedData]=\"selectedData\"\r\n [selectedRiskData]=\"selectedRiskData\"\r\n [disabledList]=\"disabledList\"\r\n (nodeExpandEvent)=\"getChildrenOfFolder($event, dataType.area)\"\r\n (selectNodeEvent)=\"selectNodeTreeEvent($event)\"\r\n (getChildNodeSelectOne)=\"getChildNodeSelectOne($event)\"\r\n (selectFolderEvent)=\"getItemOfFolder($event, dataType.area)\"\r\n [expandOnTitleClick]=\"!splitView\"\r\n [parentNodeOnClick]=\"parentNodeSelected\"\r\n (treeControlNodes)=\"selectTreeControlNodeProcess($event)\"\r\n ></qms-tree-new>\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-new\r\n [treeData]=\"treeData2\"\r\n [treeConfig]=\"treeConfig2\"\r\n [selectedData]=\"selectedData2\"\r\n [disabledList]=\"disabledList2\"\r\n (nodeExpandEvent)=\"getChildrenOfFolder($event, dataType.folder)\"\r\n (selectNodeEvent)=\"selectNodeTreeEvent($event)\"\r\n (getChildNodeSelectOne)=\"getChildNodeSelectOne($event)\"\r\n (selectFolderEvent)=\"getItemOfFolder($event, dataType.folder)\"\r\n [expandOnTitleClick]=\"!splitView\"\r\n [parentNodeOnClick]=\"parentNodeSelected\"\r\n (treeControlNodes)=\"selectTreeControlNodeDocument($event)\"\r\n ></qms-tree-new>\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 ",
19115
+ encapsulation: ViewEncapsulation.None,
19116
+ 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}"]
19117
+ },] }
19118
+ ];
19119
+ SelectProcessDocumentPopupComponent.ctorParameters = () => [
19120
+ { type: ChangeDetectorRef },
19121
+ { type: TranslateLibraryService },
19122
+ { type: MatDialogRef },
19123
+ { type: QMSSelectProcessDocumentGlobalService },
19124
+ { type: MatIconRegistry },
19125
+ { type: DomSanitizer },
19126
+ { type: QMSIconRegistryService },
19127
+ { type: ElementRef },
19128
+ { type: SelectProcessDocumentPopupData, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] }
19129
+ ];
19130
+ SelectProcessDocumentPopupComponent.propDecorators = {
19131
+ dataTrees: [{ type: ViewChildren, args: [NewTreeComponent, {},] }],
19132
+ autoComplete: [{ type: ViewChild, args: ['autoCompleteInputSearch', { read: MatAutocompleteTrigger, static: true },] }],
19133
+ onMessage: [{ type: HostListener, args: ['window:message', ['$event'],] }]
19134
+ };
19135
+
19136
+ class QMSSelectProcessDocumentModule {
19137
+ }
19138
+ QMSSelectProcessDocumentModule.decorators = [
19139
+ { type: NgModule, args: [{
19140
+ declarations: [
19141
+ SelectProcessDocumentPopupComponent
19142
+ ],
19143
+ imports: [
19144
+ CommonModule,
19145
+ MatTreeModule,
19146
+ MatIconModule,
19147
+ MatButtonModule,
19148
+ MatCheckboxModule,
19149
+ MatExpansionModule,
19150
+ MatAutocompleteModule,
19151
+ ReactiveFormsModule,
19152
+ ScrollingModule,
19153
+ MatCardModule,
19154
+ MatSidenavModule,
19155
+ MatListModule,
19156
+ SharedMaterialModule,
19157
+ QMSListModule,
19158
+ QmsAngularModule,
19159
+ QMSBreadcrumbModule,
19160
+ QMSAppIconModule,
19161
+ QMSTreeModule,
19162
+ QMSButtonModule,
19163
+ MatSlideToggleModule,
19164
+ QMSNewTreeModule$1
19165
+ ],
19166
+ exports: [
19167
+ SelectProcessDocumentPopupComponent
19168
+ ]
19169
+ },] }
19170
+ ];
19171
+
19172
+ class SelectedProcessDocumentItem {
19173
+ }
19174
+
17322
19175
  /*
17323
19176
  * Public API Surface of qms-angular
17324
19177
  */
@@ -17327,5 +19180,5 @@ class ISelectOneItem {
17327
19180
  * Generated bundle index. Do not edit.
17328
19181
  */
17329
19182
 
17330
- 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 };
19183
+ 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, DataType$1 as DataType, DateFormatPipe, DocumentNodeType$1 as DocumentNodeType, 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, ModuleType$1 as ModuleType, NORMAL_FOLDER_ICON, NORMAL_FOLDER_OUTLINED_ICON, NewTreeComponent, NewTreeModel, 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, QMSNewTreeModule, QMSProcessDocumentItem, QMSRangeSliderDirective, QMSRangeSliderLockUpDirective, QMSRelatedGlobalService, QMSRelatedModule, QMSRichText, QMSRichTextModule, QMSScrolableAttachmentListDirective, QMSScrollbarDirective, QMSSearchFieldDirective, QMSSelectGlobalService, QMSSelectIncludeChildrenModule, QMSSelectOneGlobalService, QMSSelectOneModule, QMSSelectProcessDocumentGlobalService, QMSSelectProcessDocumentModule, 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, RelatedConst, RelatedContentComponent, RelatedItemType, RelatedListComponent, RelatedPopupComponent, Result, RiskAnalysis, RiskAnalysisComponent, RiskDanger, RiskListComponent, RiskResult, RiskResultComponent, SaveTemplateComponent, ScrollToSelectedDirective, SelectConst, SelectDialog, SelectIncludeChildrenPopUpComponent, SelectOneDialog, SelectOnePopupData, SelectOption, SelectOptionTypes, SelectPopupData, SelectProcessDocumentPopupComponent, SelectProcessDocumentPopupData, SelectedOption, SelectedProcessDocumentItem, 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 };
17331
19184
  //# sourceMappingURL=qms-angular.js.map