qms-angular 1.0.58 → 1.0.62

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.
@@ -639,21 +639,17 @@ class QMSComment {
639
639
  const changedProp = changes[propName];
640
640
  const to = JSON.stringify(changedProp.currentValue);
641
641
  if (changedProp.isFirstChange()) {
642
- console.log('Initial value of');
643
642
  }
644
643
  else {
645
644
  const from = JSON.stringify(changedProp.previousValue);
646
- console.log('changed from');
647
645
  }
648
646
  }
649
- console.log('value changed', changes.sourceLog.currentValue);
650
647
  // this.sourceLog = changes.sourceLog.currentValue;
651
648
  }
652
649
  ngOnInit() {
653
650
  this.trans.getLanguageSubject$.pipe().subscribe((res) => {
654
651
  if (res) {
655
652
  this.LANG = this.trans.getObjectLang(res);
656
- console.log(this.LANG);
657
653
  }
658
654
  });
659
655
  }
@@ -3609,6 +3605,14 @@ class QMSBreadcrumbItemDirective {
3609
3605
  }
3610
3606
  }
3611
3607
  }
3608
+ ngOnChanges() {
3609
+ if (this.isLastItem) {
3610
+ this.ele.nativeElement.classList.add('qms-breadcrumb-last-item');
3611
+ }
3612
+ else {
3613
+ this.ele.nativeElement.classList.remove('qms-breadcrumb-last-item');
3614
+ }
3615
+ }
3612
3616
  ngOnInit() {
3613
3617
  if (this.ele) {
3614
3618
  this.ele.nativeElement.classList.add('qms-breadcrumb-item');
@@ -3657,34 +3661,7 @@ class QMSBreadcrumb {
3657
3661
  iconRegistry.addSvgIconLiteral('breadcrumb_dropdown', sanitizer.bypassSecurityTrustHtml(BREADCRUMB_DROPDOWN_ICON));
3658
3662
  }
3659
3663
  ngAfterViewInit() {
3660
- if (!this.isMobileType && this.ele.nativeElement.offsetWidth) {
3661
- if (!this.maxLine || this.maxLine < 2) {
3662
- this.checkOverflow(this.ele.nativeElement.offsetWidth);
3663
- }
3664
- else {
3665
- this.checkOverflow(this.ele.nativeElement.offsetWidth * 1.7);
3666
- }
3667
- }
3668
- //show number Items after 3 dot icon
3669
- if (+this.numDisplayItem > 0 && this.itemNodes.length >= 2) {
3670
- this.dropdownNodes = [];
3671
- this.dropdownNodes = this.itemNodes.slice(0, -this.numDisplayItem).reverse();
3672
- this.itemNodes = [...[], ...this.itemNodes.slice(-this.numDisplayItem)];
3673
- this.isOverflow = true;
3674
- this.cdRef.detectChanges();
3675
- }
3676
- //just show 1 item for mobile
3677
- if (this.onlyItem) {
3678
- this.isOverflow = true;
3679
- this.dropdownNodes = [];
3680
- let itemNodes = [...this.itemNodes];
3681
- let lastItem = itemNodes.pop();
3682
- this.dropdownNodes = [...itemNodes].reverse();
3683
- this.dropdownNodes.push(this.homeNode);
3684
- this.itemNodes = [];
3685
- this.itemNodes = [lastItem];
3686
- this.cdRef.detectChanges();
3687
- }
3664
+ this.buildBreadcrumb();
3688
3665
  }
3689
3666
  checkOverflow(width) {
3690
3667
  const nodeWidths = this.breadCrumbNodes.map(x => x.ele.nativeElement.offsetWidth);
@@ -3718,8 +3695,18 @@ class QMSBreadcrumb {
3718
3695
  this.dropdownNodes = this.dropdownNodes.reverse();
3719
3696
  }
3720
3697
  }
3698
+ ngOnChanges(changes) {
3699
+ if (changes.nodes && this.breadCrumbNodes && JSON.stringify(changes.nodes.currentValue) !== JSON.stringify(changes.nodes.previousValue)) {
3700
+ this.nodes = [...changes.nodes.currentValue];
3701
+ this.initBreadCrumb();
3702
+ this.buildBreadcrumb();
3703
+ }
3704
+ }
3721
3705
  ngOnInit() {
3722
3706
  this.itemIconType = ItemIconType;
3707
+ this.initBreadCrumb();
3708
+ }
3709
+ initBreadCrumb() {
3723
3710
  if (this.nodes && this.nodes.length > 0) {
3724
3711
  this.nodes.forEach(ele => {
3725
3712
  ele.isOverflow = ele.isOverflow ? ele.isOverflow : false;
@@ -3743,6 +3730,37 @@ class QMSBreadcrumb {
3743
3730
  this.ele.nativeElement.classList.add('qms-breadcrumb__multi-line');
3744
3731
  }
3745
3732
  }
3733
+ buildBreadcrumb() {
3734
+ if (!this.isMobileType && this.ele.nativeElement.offsetWidth) {
3735
+ this.dropdownNodes = [];
3736
+ if (!this.maxLine || this.maxLine < 2) {
3737
+ this.checkOverflow(this.ele.nativeElement.offsetWidth);
3738
+ }
3739
+ else {
3740
+ this.checkOverflow(this.ele.nativeElement.offsetWidth * 1.7);
3741
+ }
3742
+ }
3743
+ //show number Items after 3 dot icon
3744
+ if (+this.numDisplayItem > 0 && this.itemNodes.length >= 2) {
3745
+ this.dropdownNodes = [];
3746
+ this.dropdownNodes = this.itemNodes.slice(0, -this.numDisplayItem).reverse();
3747
+ this.itemNodes = [...[], ...this.itemNodes.slice(-this.numDisplayItem)];
3748
+ this.isOverflow = true;
3749
+ this.cdRef.detectChanges();
3750
+ }
3751
+ //just show 1 item for mobile
3752
+ if (this.onlyItem) {
3753
+ this.isOverflow = true;
3754
+ this.dropdownNodes = [];
3755
+ let itemNodes = [...this.itemNodes];
3756
+ let lastItem = itemNodes.pop();
3757
+ this.dropdownNodes = [...itemNodes].reverse();
3758
+ this.dropdownNodes.push(this.homeNode);
3759
+ this.itemNodes = [];
3760
+ this.itemNodes = [lastItem];
3761
+ this.cdRef.detectChanges();
3762
+ }
3763
+ }
3746
3764
  getItemIconType(treeConfig) {
3747
3765
  if (treeConfig.itemIcon)
3748
3766
  return ItemIconType.name;
@@ -3969,6 +3987,9 @@ const TreeFunctions = {
3969
3987
  findChild: findChild$1
3970
3988
  };
3971
3989
 
3990
+ class TreeFlatNode {
3991
+ }
3992
+
3972
3993
  class TreeComponent {
3973
3994
  constructor(cdRef, domSanitizer, iconRegistry, appIconService) {
3974
3995
  this.cdRef = cdRef;
@@ -3986,6 +4007,7 @@ class TreeComponent {
3986
4007
  this.childCheckedEvent = new EventEmitter();
3987
4008
  this.nodeExpandEvent = new EventEmitter();
3988
4009
  this.getChildNodeSelectOne = new EventEmitter();
4010
+ this.treeControlNodes = new EventEmitter();
3989
4011
  this.listParentObj = {};
3990
4012
  this.filterData = [];
3991
4013
  this.arrIndex = [];
@@ -4029,7 +4051,7 @@ class TreeComponent {
4029
4051
  else if (!!node.children &&
4030
4052
  node.children.length &&
4031
4053
  node.children.length === 1 &&
4032
- !node.children[0].name.length &&
4054
+ !node.children[0].name &&
4033
4055
  node.id.toString() === this.areaOfCurrentProcess) {
4034
4056
  checkHasChild = false;
4035
4057
  }
@@ -4077,11 +4099,13 @@ class TreeComponent {
4077
4099
  (changes.selectedData.currentValue.length > 0 ||
4078
4100
  JSON.stringify(changes.selectedData.currentValue) !==
4079
4101
  JSON.stringify(changes.selectedData.previousValue))) {
4080
- this.checkSelected(changes.selectedData.currentValue);
4081
- }
4082
- else {
4083
- for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
4084
- this.checklistSelection.deselect(this.treeControl.dataNodes[i]);
4102
+ if (changes.selectedData.currentValue) {
4103
+ this.checkSelected(changes.selectedData.currentValue);
4104
+ }
4105
+ else {
4106
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
4107
+ this.checklistSelection.deselect(this.treeControl.dataNodes[i]);
4108
+ }
4085
4109
  }
4086
4110
  }
4087
4111
  if (changes.disabledList && JSON.stringify(changes.disabledList.currentValue) !== JSON.stringify(changes.disabledList.previousValue)) {
@@ -4093,7 +4117,7 @@ class TreeComponent {
4093
4117
  }
4094
4118
  }
4095
4119
  ngOnInit() {
4096
- this.initTreeData();
4120
+ // this.initTreeData();
4097
4121
  }
4098
4122
  initTreeData() {
4099
4123
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
@@ -4136,6 +4160,10 @@ class TreeComponent {
4136
4160
  if (this.treeConfig.expandAll) {
4137
4161
  this.treeControl.expandAll();
4138
4162
  }
4163
+ //Disabled node
4164
+ if (this.disabledList.length) {
4165
+ this.checkDisabledList();
4166
+ }
4139
4167
  // Risk Tree
4140
4168
  if (this.selectedRiskData.length) {
4141
4169
  const selectedData = [];
@@ -4150,10 +4178,37 @@ class TreeComponent {
4150
4178
  this.checkSelected(selectedData);
4151
4179
  this.checkBoxEvent.emit(selectedData);
4152
4180
  }
4153
- //check disabled list
4154
- this.checkDisabledList();
4155
- // expand to child node
4156
- this.openExpandToChildNode();
4181
+ // keep expand
4182
+ if (this.parentNodeOnClick && Object.keys(this.parentNodeOnClick).length) {
4183
+ let tempParent = [];
4184
+ let root = new TreeFlatNode();
4185
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
4186
+ const tree = this.treeControl.dataNodes[i];
4187
+ if (this.parentNodeOnClick.parentId === tree.parentId && this.parentNodeOnClick.id === tree.id
4188
+ || this.parentNodeOnClick.parentId === tree.id) {
4189
+ tempParent = [...tempParent, this.getParent(tree)];
4190
+ root = tree;
4191
+ }
4192
+ }
4193
+ tempParent.push(root);
4194
+ tempParent.forEach(x => {
4195
+ this.treeControl.expand(x);
4196
+ });
4197
+ }
4198
+ }
4199
+ getParent(node) {
4200
+ const { treeControl } = this;
4201
+ const currentLevel = treeControl.getLevel(node);
4202
+ if (currentLevel < 1) {
4203
+ return null;
4204
+ }
4205
+ const index = treeControl.dataNodes.indexOf(node) - 1;
4206
+ for (let i = index; i >= 0; i--) {
4207
+ const currentNode = treeControl.dataNodes[i];
4208
+ if (treeControl.getLevel(currentNode) < currentLevel) {
4209
+ return currentNode;
4210
+ }
4211
+ }
4157
4212
  }
4158
4213
  openExpandToChildNode() {
4159
4214
  if (this.expandToChildNode.length) {
@@ -4400,6 +4455,22 @@ class TreeComponent {
4400
4455
  });
4401
4456
  this.checkBoxEvent.emit(this.checklistSelection.selected);
4402
4457
  }
4458
+ todoItemSelectionProcessDocument(nodes) {
4459
+ nodes.forEach(node => {
4460
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
4461
+ if (this.treeControl.dataNodes[i].id === node.id &&
4462
+ this.treeControl.dataNodes[i].parentId === node.parentId &&
4463
+ !this.treeControl.dataNodes[i].disabled && !this.treeControl.dataNodes[i].expandable) {
4464
+ if (!this.checklistSelection.isSelected(this.treeControl.dataNodes[i]))
4465
+ this.checklistSelection.toggle(this.treeControl.dataNodes[i]);
4466
+ }
4467
+ }
4468
+ });
4469
+ setTimeout(() => {
4470
+ this.checkBoxEvent.emit(this.checklistSelection.selected);
4471
+ this.treeControlNodes.emit(this.treeControl);
4472
+ }, 500);
4473
+ }
4403
4474
  todoFolderSelection(nodes) {
4404
4475
  nodes.forEach(node => {
4405
4476
  for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
@@ -4659,7 +4730,7 @@ class TreeComponent {
4659
4730
  TreeComponent.decorators = [
4660
4731
  { type: Component, args: [{
4661
4732
  selector: 'qms-tree',
4662
- 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=\"showCheckBox && !onlyCheckBoxForChild\"\r\n [checked]=\"descendantsAllSelected(node)\"\r\n [indeterminate]=\"descendantsPartiallySelected(node)\"\r\n (change)=\"todoItemSelectionToggle(node)\"\r\n ></mat-checkbox>\r\n <button\r\n class=\"button-boder\"\r\n mat-icon-button\r\n matTreeNodeToggle\r\n [disableRipple]=\"!node.hasChild\"\r\n [attr.aria-label]=\"'toggle ' + node.filename\"\r\n >\r\n <mat-icon\r\n *ngIf=\"openIcon && closeIcon\"\r\n class=\"mat-icon-rtl-mirror\"\r\n [ngStyle]=\"{\r\n color: treeControl.isExpanded(node) ? openIconColor : closeIconColor\r\n }\"\r\n >{{ getNodeIcon(node) }}</mat-icon\r\n >\r\n <mat-icon\r\n *ngIf=\"!openIcon || !closeIcon\"\r\n class=\"mat-icon-rtl-mirror\"\r\n [ngClass]=\"{\r\n 'open-icon': treeControl.isExpanded(node),\r\n 'not-department-icon': moduleId !== dataType.document\r\n }\"\r\n [svgIcon]=\"getNodeIcon(node)\"\r\n >\r\n </mat-icon>\r\n </button>\r\n <span\r\n *ngIf=\"expandOnTitleClick\"\r\n matTreeNodeToggle\r\n class=\"text-node-parent\"\r\n style=\"cursor: pointer\"\r\n (click)=\"onExpandNode(node)\"\r\n [ngStyle]=\"{\r\n color: treeControl.isExpanded(node) ? openIconColor : '#000000'\r\n }\"\r\n >\r\n <span>{{ node.name }}</span>\r\n <mat-icon\r\n class=\"icon-check\"\r\n *ngIf=\"treeConfig.selectOne && idCheckIcon == node.id\"\r\n >done</mat-icon\r\n >\r\n </span>\r\n <span\r\n *ngIf=\"!expandOnTitleClick\"\r\n class=\"text-node-parent\"\r\n (click)=\"selectFolderNode(node)\"\r\n style=\"cursor: pointer\"\r\n [id]=\"getNodeId(node)\"\r\n >\r\n <span>{{ node.name }}</span>\r\n <mat-icon\r\n class=\"icon-check\"\r\n *ngIf=\"treeConfig.selectOne && idCheckIcon == node.id\"\r\n >done</mat-icon\r\n >\r\n </span>\r\n </mat-tree-node>\r\n</mat-tree>\r\n",
4733
+ template: "<mat-tree\r\n [dataSource]=\"dataSource\"\r\n [treeControl]=\"treeControl\"\r\n class=\"tree__container\"\r\n>\r\n <mat-tree-node\r\n class=\"tree-branch\"\r\n *matTreeNodeDef=\"let node\"\r\n matTreeNodeToggle\r\n matTreeNodePadding\r\n >\r\n <!-- form thu 1 - child -->\r\n <mat-checkbox\r\n qms-group-options\r\n [disabled]=\"node.disabled\"\r\n color=\"default\"\r\n *ngIf=\"node.name && showCheckBox && !onlyCheckBoxForChild && !onlyFolder\"\r\n class=\"checklist-leaf-node\"\r\n [checked]=\"checklistSelection.isSelected(node)\"\r\n (change)=\"todoItemSelectionToggle(node)\"\r\n >\r\n </mat-checkbox>\r\n\r\n <!-- form thu 2 -->\r\n <mat-checkbox\r\n qms-group-options\r\n [disabled]=\"node.disabled\"\r\n color=\"default\"\r\n *ngIf=\"node.name && showCheckBox && onlyCheckBoxForChild && !onlyFolder\"\r\n class=\"ml-10 checklist-leaf-node\"\r\n [checked]=\"checklistSelection.isSelected(node)\"\r\n (change)=\"todoItemSelectionToggle(node)\"\r\n ></mat-checkbox>\r\n <div\r\n class=\"expand-node\"\r\n *ngIf=\"node.name && !onlyFolder\"\r\n [class.bgSelected]=\"treeConfig.selectOne && idCheckIcon == node.id\"\r\n (click)=\"selectNode(node)\"\r\n [id]=\"getNodeId(node)\"\r\n >\r\n <div class=\"expand-node__text\">\r\n <mat-icon\r\n *ngIf=\"displayType === itemIconType.name && !onlyCheckBoxForChild\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined\"\r\n >\r\n {{ itemIcon }}\r\n </mat-icon>\r\n\r\n <mat-icon\r\n *ngIf=\"displayType === itemIconType.svg && !onlyCheckBoxForChild\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined\"\r\n [svgIcon]=\"itemIconSvg\"\r\n >\r\n </mat-icon>\r\n\r\n <img\r\n *ngIf=\"displayType === itemIconType.path && !onlyCheckBoxForChild\"\r\n class=\"mat-icon\"\r\n [src]=\"itemIconPath\"\r\n />\r\n\r\n <img\r\n *ngIf=\"displayType === itemIconType.base64 && !onlyCheckBoxForChild\"\r\n class=\"mat-icon image-base64\"\r\n [src]=\"getImagePath()\"\r\n />\r\n\r\n <mat-icon\r\n *ngIf=\"displayType === itemIconType.none && !onlyCheckBoxForChild\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined\"\r\n [svgIcon]=\"getItemIcon(node)\"\r\n ></mat-icon>\r\n <span class=\"text-node\">{{ node.name }}</span>\r\n </div>\r\n <mat-icon\r\n class=\"icon-check\"\r\n *ngIf=\"treeConfig.selectOne && idCheckIcon == node.id\"\r\n >done</mat-icon\r\n >\r\n </div>\r\n </mat-tree-node>\r\n\r\n <mat-tree-node *matTreeNodeDef=\"let node; when: hasChild\" matTreeNodePadding>\r\n <!-- form thu 1 - parent -->\r\n <mat-checkbox\r\n qms-group-options\r\n [disabled]=\"node.disabled\"\r\n color=\"default\"\r\n *ngIf=\"node.name && showCheckBox && !onlyCheckBoxForChild\"\r\n [checked]=\"descendantsAllSelected(node)\"\r\n [indeterminate]=\"descendantsPartiallySelected(node)\"\r\n (change)=\"todoItemSelectionToggle(node)\"\r\n ></mat-checkbox>\r\n <button\r\n class=\"button-boder\"\r\n mat-icon-button\r\n matTreeNodeToggle\r\n [disableRipple]=\"!node.hasChild\"\r\n [attr.aria-label]=\"'toggle ' + node.filename\"\r\n *ngIf=\"node.name\"\r\n >\r\n <mat-icon\r\n *ngIf=\"openIcon && closeIcon\"\r\n class=\"mat-icon-rtl-mirror\"\r\n [ngStyle]=\"{\r\n color: treeControl.isExpanded(node) ? openIconColor : closeIconColor\r\n }\"\r\n >{{ getNodeIcon(node) }}</mat-icon\r\n >\r\n <mat-icon\r\n *ngIf=\"!openIcon || !closeIcon\"\r\n class=\"mat-icon-rtl-mirror\"\r\n [ngClass]=\"{\r\n 'open-icon': treeControl.isExpanded(node),\r\n 'not-department-icon': moduleId !== dataType.document\r\n }\"\r\n [svgIcon]=\"getNodeIcon(node)\"\r\n >\r\n </mat-icon>\r\n </button>\r\n <span\r\n *ngIf=\"expandOnTitleClick\"\r\n matTreeNodeToggle\r\n class=\"text-node-parent\"\r\n style=\"cursor: pointer\"\r\n (click)=\"onExpandNode(node)\"\r\n [ngStyle]=\"{\r\n color: treeControl.isExpanded(node) ? openIconColor : '#000000'\r\n }\"\r\n >\r\n <span>{{ node.name }}</span>\r\n <mat-icon\r\n class=\"icon-check\"\r\n *ngIf=\"treeConfig.selectOne && idCheckIcon == node.id\"\r\n >done</mat-icon\r\n >\r\n </span>\r\n <span\r\n *ngIf=\"!expandOnTitleClick\"\r\n class=\"text-node-parent\"\r\n (click)=\"selectFolderNode(node)\"\r\n style=\"cursor: pointer\"\r\n [id]=\"getNodeId(node)\"\r\n >\r\n <span>{{ node.name }}</span>\r\n <mat-icon\r\n class=\"icon-check\"\r\n *ngIf=\"treeConfig.selectOne && idCheckIcon == node.id\"\r\n >done</mat-icon\r\n >\r\n </span>\r\n </mat-tree-node>\r\n</mat-tree>\r\n",
4663
4734
  encapsulation: ViewEncapsulation.None,
4664
4735
  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}"]
4665
4736
  },] }
@@ -4678,12 +4749,14 @@ TreeComponent.propDecorators = {
4678
4749
  disabledList: [{ type: Input }],
4679
4750
  expandOnTitleClick: [{ type: Input }],
4680
4751
  expandToChildNode: [{ type: Input }],
4752
+ parentNodeOnClick: [{ type: Input }],
4681
4753
  selectNodeEvent: [{ type: Output }],
4682
4754
  selectFolderEvent: [{ type: Output }],
4683
4755
  checkBoxEvent: [{ type: Output }],
4684
4756
  childCheckedEvent: [{ type: Output }],
4685
4757
  nodeExpandEvent: [{ type: Output }],
4686
- getChildNodeSelectOne: [{ type: Output }]
4758
+ getChildNodeSelectOne: [{ type: Output }],
4759
+ treeControlNodes: [{ type: Output }]
4687
4760
  };
4688
4761
 
4689
4762
  class QMSTreeModule {
@@ -4858,7 +4931,7 @@ class RelatedListComponent {
4858
4931
  RelatedListComponent.decorators = [
4859
4932
  { type: Component, args: [{
4860
4933
  selector: 'qms-related-list',
4861
- template: "<div class=\"container list-related\">\r\n <div class=\"list-related__title\">\r\n <strong>{{ title }}</strong>\r\n </div>\r\n <div\r\n class=\"list-related__body\"\r\n *ngFor=\"let item of relatedData; let i = index\"\r\n >\r\n <div class=\"list-related__body-parent\">\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(item)\"\r\n ></mat-icon>\r\n <div qms-list-header>\r\n <div\r\n qms-line\r\n type=\"subtitle\"\r\n class=\"search__option-name\"\r\n (click)=\"onItemClick(item)\"\r\n >\r\n <div class=\"caption\" *ngIf=\"canShowParent(item)\">\r\n {{ item?.parentName }}\r\n </div>\r\n <span class=\"cursor\">{{ item.itemName }}</span>\r\n </div>\r\n <div\r\n class=\"caption\"\r\n *ngIf=\"item.breadcumbs && item.breadcumbs.length\"\r\n >\r\n <qms-breadcrumb\r\n class=\"breadcrumb-containe\"\r\n type=\"table\"\r\n numDisplayItem=\"1\"\r\n [nodes]=\"item.breadcumbs\"\r\n >\r\n </qms-breadcrumb>\r\n </div>\r\n </div>\r\n <div qms-line color=\"default-subtitle\" *ngIf=\"item?.displayId\">\r\n <span class=\"material-icons-outlined\"> local_offer </span> ID:\r\n {{ item?.displayId }} {{ getItemStatus(item) }}\r\n </div>\r\n </qms-list-item>\r\n <div class=\"block\" *ngIf=\"!isNotEditedItem\">\r\n <button qms-btn-icon color=\"light\" mode=\"dark\" (click)=\"removeItem(i)\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n",
4934
+ template: "<div class=\"container list-related\">\r\n <div class=\"list-related__title\">\r\n <strong>{{ title }}</strong>\r\n </div>\r\n <div\r\n class=\"list-related__body\"\r\n *ngFor=\"let item of relatedData; let i = index\"\r\n >\r\n <div class=\"list-related__body-parent\">\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(item)\"\r\n ></mat-icon>\r\n <div qms-list-header>\r\n <div\r\n qms-line\r\n type=\"subtitle\"\r\n class=\"search__option-name\"\r\n (click)=\"onItemClick(item)\"\r\n >\r\n <div class=\"caption\" *ngIf=\"canShowParent(item)\">\r\n {{ item?.parentName }}\r\n </div>\r\n <span class=\"cursor\">{{ item.itemName }}</span>\r\n </div>\r\n <div\r\n class=\"caption\"\r\n *ngIf=\"item.breadcumbs && item.breadcumbs.length\"\r\n >\r\n <qms-breadcrumb\r\n class=\"breadcrumb-containe\"\r\n type=\"table\"\r\n numDisplayItem=\"1\"\r\n [nodes]=\"item.breadcumbs\"\r\n >\r\n </qms-breadcrumb>\r\n </div>\r\n </div>\r\n <div\r\n qms-line\r\n color=\"default-subtitle\"\r\n *ngIf=\"item?.displayId || item.statusName\"\r\n >\r\n <span class=\"material-icons-outlined\"> local_offer </span> ID:\r\n {{ item?.displayId }} {{ getItemStatus(item) }}\r\n </div>\r\n </qms-list-item>\r\n <div class=\"block\" *ngIf=\"!isNotEditedItem\">\r\n <button qms-btn-icon color=\"light\" mode=\"dark\" (click)=\"removeItem(i)\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n",
4862
4935
  encapsulation: ViewEncapsulation.None,
4863
4936
  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}.list-related{font-family:Open Sans;font-style:normal;font-weight:400;color:#323232}.list-related .list-related__title{font-weight:600;font-size:.875rem;line-height:22px;margin-bottom:1rem}.list-related .list-related__body .list-related__body-parent{min-height:48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ddd}.list-related .list-related__body .list-related__body-parent .qms-list-item.mat-2-line.image-item{height:auto}.list-related .list-related__body .list-related__body-parent .qms-list-item.image-item .qms-list-item-content{margin:0}.list-related .list-related__body .list-related__body-parent .wrap-image.image-square,.list-related .list-related__body .list-related__body-parent .wrap-image.image-square img{background:transparent;margin:auto;height:24px;width:24px}.list-related .list-related__body .list-related__body-parent .qms-list-item.image-item .qms-list-text,.list-related .list-related__body .list-related__body-parent .qms-list-item.image-item .trailing-box{margin-left:1.5rem;border-bottom:none;padding-bottom:7px;padding-top:7px}.list-related .list-related__body .list-related__body-parent .qms-list-item.image-item .qms-list-text .material-icons-outlined,.list-related .list-related__body .list-related__body-parent .qms-list-item.image-item .trailing-box .material-icons-outlined{font-size:13px}.list-related .list-related__body .list-related__body-parent .breadcrumb-containe .qms-breadcrumb-item .mat-icon{font-size:16px!important;padding-bottom:1px}.list-related .list-related__body .list-related__body-parent .block{font-weight:400;font-size:1rem;line-height:28px;display:flex;align-items:center}.list-related .list-related__body .list-related__body-parent .block .title{margin-left:1.5rem;padding-top:5px;padding-bottom:5px}.list-related .list-related__body .list-related__body-parent .block .title .caption{color:rgba(0,0,0,.6);font-size:.75rem;line-height:22px}.list-related .list-related__body .list-related__body-parent .block mat-icon{color:rgba(0,0,0,.6);padding:0}.list-related .list-related__body .list-related__body-parent .block button.qms-btn-icon{width:40px;height:40px;line-height:40px}.list-related .list-related__body .list-related__body-child{font-weight:400;font-size:.875rem;line-height:22px}.list-related .list-related__body .list-related__body-child .default{min-height:48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ddd}.list-related .list-related__body .list-related__body-child .default .title{margin-left:3rem}.list-related .list-related__body .list-related__body-child .default .group-button{margin-right:2rem;display:flex}.list-related .list-related__body .remain{font-weight:600;font-size:.875rem;line-height:22px;display:flex;align-items:center;justify-content:space-between;background-color:#fafafa;color:#1954a9;min-height:48px;border-bottom:1px solid #ddd}.list-related .list-related__body .remain .title{margin-left:3rem}.label-green,.label-red,.label-yellow{font-family:Open Sans;font-style:normal;font-weight:600;display:inline-block;text-align:center;margin-left:1rem;width:24px;height:24px;font-size:.75rem;border-radius:1px}.label-red{background-color:#9e360f;color:#fff}.label-yellow{background-color:#e4cf53;color:rgba(0,0,0,.87)}.label-green{background-color:#00804c;color:#fff}.cursor{cursor:pointer}"]
4864
4937
  },] }
@@ -4876,6 +4949,9 @@ RelatedListComponent.propDecorators = {
4876
4949
  onItemSelect: [{ type: Output }]
4877
4950
  };
4878
4951
 
4952
+ class TreeModel {
4953
+ }
4954
+
4879
4955
  var ModuleType$1;
4880
4956
  (function (ModuleType) {
4881
4957
  ModuleType[ModuleType["documentProcess"] = 1] = "documentProcess";
@@ -4977,6 +5053,7 @@ class RelatedPopupComponent {
4977
5053
  this.listChildrenSelectOne = [];
4978
5054
  this.onSearch = new EventEmitter();
4979
5055
  this.onExpandFolder = new EventEmitter();
5056
+ this.parentNodeSelected = new TreeFlatNode();
4980
5057
  this.moduleId = data.moduleId;
4981
5058
  this.moduleName = data.moduleName;
4982
5059
  this.treeData1 = data.treeData1;
@@ -5022,8 +5099,82 @@ class RelatedPopupComponent {
5022
5099
  }
5023
5100
  });
5024
5101
  this.globalService.splitViewValue.pipe(takeUntil(this.ngUnsubscribe)).subscribe((res) => {
5025
- if (res) {
5026
- this.itemInSplitview = res;
5102
+ this.itemInSplitview = res;
5103
+ if (res.length) {
5104
+ let listNodeProcess = [];
5105
+ let listNodeDocs = [];
5106
+ res.forEach(item => {
5107
+ if (item.itemType === DataType$1.process) {
5108
+ let newNodeProcess = new TreeModel();
5109
+ newNodeProcess.childId = item.id;
5110
+ newNodeProcess.childName = item.itemName;
5111
+ newNodeProcess.displayId = +item.itemNumberId;
5112
+ newNodeProcess.parentId = "";
5113
+ newNodeProcess.rootId = item.parentId;
5114
+ newNodeProcess.rootName = item === null || item === void 0 ? void 0 : item.parentName;
5115
+ newNodeProcess.subName = null;
5116
+ newNodeProcess.statusId = item.status;
5117
+ listNodeProcess.push(newNodeProcess);
5118
+ }
5119
+ else {
5120
+ let newNodeDocs = new TreeModel();
5121
+ newNodeDocs.childId = item.id;
5122
+ newNodeDocs.childName = item.itemName;
5123
+ newNodeDocs.displayId = +item.itemNumberId;
5124
+ newNodeDocs.parentId = "";
5125
+ newNodeDocs.rootId = item.parentId;
5126
+ newNodeDocs.rootName = item === null || item === void 0 ? void 0 : item.parentName;
5127
+ newNodeDocs.subName = null;
5128
+ newNodeDocs.statusId = item.status;
5129
+ listNodeDocs.push(newNodeDocs);
5130
+ }
5131
+ });
5132
+ let idsProcess = new Set(this.treeData1.map(d => d.childId));
5133
+ this.treeData1 = [...this.treeData1, ...listNodeProcess.filter(d => !idsProcess.has(d.childId))];
5134
+ let idsDocs = new Set(this.treeData2.map(d => d.childId));
5135
+ this.treeData2 = [...this.treeData2, ...listNodeDocs.filter(d => !idsDocs.has(d.childId))];
5136
+ if (this.checkedNodeList.length) {
5137
+ this.selectedData = [];
5138
+ this.selectedData2 = [];
5139
+ let selectProcess = [];
5140
+ let selectDocument = [];
5141
+ this.checkedNodeList.forEach(x => {
5142
+ if (x.itemType === DataType$1.area || x.itemType === DataType$1.process) {
5143
+ this.treeData1.forEach(item => {
5144
+ if (item.childId && x.id === item.childId || !item.childId && (x.id === item.rootId)) {
5145
+ selectProcess.push({
5146
+ disabled: false,
5147
+ expandable: x.itemType == DataType$1.area ? true : false,
5148
+ hasChild: x.itemType == DataType$1.area ? true : false,
5149
+ id: x.id,
5150
+ level: 0,
5151
+ levelType: undefined,
5152
+ name: x.itemName,
5153
+ parentId: x.parentId
5154
+ });
5155
+ }
5156
+ });
5157
+ }
5158
+ else {
5159
+ this.treeData2.forEach(item => {
5160
+ if (item.childId && x.id === item.childId || !item.childId && (x.id === item.rootId)) {
5161
+ selectDocument.push({
5162
+ disabled: false,
5163
+ expandable: x.itemType == DataType$1.folder ? true : false,
5164
+ hasChild: x.itemType == DataType$1.folder ? true : false,
5165
+ id: x.id,
5166
+ level: 0,
5167
+ levelType: undefined,
5168
+ name: x.itemName,
5169
+ parentId: x.parentId
5170
+ });
5171
+ }
5172
+ });
5173
+ }
5174
+ });
5175
+ this.selectedData = [...this.selectedData, ...selectProcess];
5176
+ this.selectedData2 = [...this.selectedData2, ...selectDocument];
5177
+ }
5027
5178
  }
5028
5179
  });
5029
5180
  this.myControl.valueChanges.pipe(debounceTime(1000)).subscribe((val) => {
@@ -5160,7 +5311,7 @@ class RelatedPopupComponent {
5160
5311
  return related ? related.itemName : undefined;
5161
5312
  }
5162
5313
  selectRelated(item) {
5163
- var _a, _b;
5314
+ var _a, _b, _c, _d, _e, _f, _g, _h;
5164
5315
  if (((_a = this.treeConfig1) === null || _a === void 0 ? void 0 : _a.selectOne) || ((_b = this.treeConfig2) === null || _b === void 0 ? void 0 : _b.selectOne)) {
5165
5316
  this.disabledList = [];
5166
5317
  this.disabledList2 = [];
@@ -5177,7 +5328,13 @@ class RelatedPopupComponent {
5177
5328
  let node;
5178
5329
  let typeId;
5179
5330
  if (item.itemType === this.dataType.document) {
5180
- // document
5331
+ // document
5332
+ const isExistInDisabled = this.disabledList2.findIndex(x => {
5333
+ return x.id && x.id.toLowerCase() === item.id.toLowerCase();
5334
+ });
5335
+ if (isExistInDisabled >= 0) {
5336
+ return;
5337
+ }
5181
5338
  position = this.treeData2.findIndex(x => {
5182
5339
  return x.childId === item.id;
5183
5340
  });
@@ -5190,7 +5347,79 @@ class RelatedPopupComponent {
5190
5347
  children: [],
5191
5348
  parentId: node.rootId
5192
5349
  };
5193
- this.dataTrees.toArray()[1].todoItemSelection([treeNode]);
5350
+ this.dataTrees.toArray()[1].todoItemSelectionProcessDocument([treeNode]);
5351
+ }
5352
+ else {
5353
+ let newNodeDocs = new TreeModel();
5354
+ newNodeDocs.rootId = (_c = item.breadcumbs[item.breadcumbs.length - 1]) === null || _c === void 0 ? void 0 : _c['id'];
5355
+ newNodeDocs.rootName = (_d = item.breadcumbs[item.breadcumbs.length - 1]) === null || _d === void 0 ? void 0 : _d['name'];
5356
+ newNodeDocs.parentId = '';
5357
+ newNodeDocs.subName = null;
5358
+ newNodeDocs.childId = item.id;
5359
+ newNodeDocs.childName = item.itemName;
5360
+ newNodeDocs.statusId = item === null || item === void 0 ? void 0 : item['itemStatus'];
5361
+ newNodeDocs.displayId = +item.itemNumberId;
5362
+ this.treeData2 = [...this.treeData2, newNodeDocs];
5363
+ let newSelectedDocs = new TreeFlatNode();
5364
+ newSelectedDocs.disabled = false;
5365
+ newSelectedDocs.expandable = false;
5366
+ newSelectedDocs.hasChild = false;
5367
+ newSelectedDocs.id = item.id;
5368
+ newSelectedDocs.level = 0;
5369
+ newSelectedDocs.levelType = undefined;
5370
+ newSelectedDocs.name = item.itemName;
5371
+ newSelectedDocs.parentId = (_e = item.breadcumbs[item.breadcumbs.length - 1]) === null || _e === void 0 ? void 0 : _e['id'];
5372
+ this.selectedData2 = [];
5373
+ this.selectedData = [];
5374
+ let selectProcess = [];
5375
+ let selectDocument = [];
5376
+ if (this.checkedNodeList.length) {
5377
+ this.checkedNodeList.forEach(x => {
5378
+ if (x.itemType === DataType$1.area || x.itemType === DataType$1.process) {
5379
+ this.treeData1.forEach(item => {
5380
+ if (item.childId && x.id === item.childId || !item.childId && (x.id === item.rootId)) {
5381
+ selectProcess.push({
5382
+ disabled: false,
5383
+ expandable: x.itemType == DataType$1.area ? true : false,
5384
+ hasChild: x.itemType == DataType$1.area ? true : false,
5385
+ id: x.id,
5386
+ level: 0,
5387
+ levelType: undefined,
5388
+ name: x.itemName,
5389
+ parentId: x.parentId
5390
+ });
5391
+ }
5392
+ });
5393
+ }
5394
+ else {
5395
+ this.treeData2.forEach(item => {
5396
+ if (item.childId && x.id === item.childId || !item.childId && (x.id === item.rootId)) {
5397
+ selectDocument.push({
5398
+ disabled: false,
5399
+ expandable: x.itemType == DataType$1.folder ? true : false,
5400
+ hasChild: x.itemType == DataType$1.folder ? true : false,
5401
+ id: x.id,
5402
+ level: 0,
5403
+ levelType: undefined,
5404
+ name: x.itemName,
5405
+ parentId: x.parentId
5406
+ });
5407
+ }
5408
+ });
5409
+ }
5410
+ });
5411
+ }
5412
+ this.selectedData = [...this.selectedData, ...selectProcess];
5413
+ this.selectedData2 = [...this.selectedData2, ...selectDocument, newSelectedDocs];
5414
+ setTimeout(() => {
5415
+ const treeNode = {
5416
+ id: newNodeDocs.childId,
5417
+ name: newNodeDocs.childName,
5418
+ children: [],
5419
+ parentId: newNodeDocs.rootId
5420
+ };
5421
+ this.dataTrees.toArray()[1].todoItemSelectionProcessDocument([treeNode]);
5422
+ }, 500);
5194
5423
  }
5195
5424
  }
5196
5425
  else if (item.itemType === this.dataType.folder) {
@@ -5207,7 +5436,9 @@ class RelatedPopupComponent {
5207
5436
  itemName: item.itemName,
5208
5437
  itemType: typeId,
5209
5438
  itemNumberId: item.itemNumberId,
5210
- levelType: item.levelType
5439
+ levelType: item.levelType,
5440
+ parentId: item.parentId,
5441
+ parentName: item.parentName
5211
5442
  });
5212
5443
  }
5213
5444
  else {
@@ -5252,7 +5483,9 @@ class RelatedPopupComponent {
5252
5483
  itemName: node.rootName,
5253
5484
  itemType: typeId,
5254
5485
  itemNumberId: item.itemNumberId,
5255
- levelType: item.levelType
5486
+ levelType: item.levelType,
5487
+ parentId: item.parentId,
5488
+ parentName: item.parentName
5256
5489
  });
5257
5490
  }
5258
5491
  else {
@@ -5278,7 +5511,7 @@ class RelatedPopupComponent {
5278
5511
  else if (item.itemType === this.dataType.deviation ||
5279
5512
  item.itemType === this.dataType.checklist) {
5280
5513
  position = this.treeData1.findIndex(x => {
5281
- return x.childId.toLowerCase() === item.id.toLowerCase();
5514
+ return x.childId && x.childId.toLowerCase() === item.id.toLowerCase();
5282
5515
  });
5283
5516
  if (position >= 0) {
5284
5517
  node = this.treeData1[position];
@@ -5293,18 +5526,98 @@ class RelatedPopupComponent {
5293
5526
  }
5294
5527
  }
5295
5528
  else {
5529
+ const isExistInDisabled = this.disabledList.findIndex(x => {
5530
+ return x.id && x.id.toLowerCase() === item.id.toLowerCase();
5531
+ });
5532
+ if (isExistInDisabled >= 0) {
5533
+ return;
5534
+ }
5296
5535
  position = this.treeData1.findIndex(x => {
5297
- return x.childId.toLowerCase() === item.id.toLowerCase();
5536
+ return x.childId && x.childId.toLowerCase() === item.id.toLowerCase();
5298
5537
  });
5299
- node = this.treeData1[position];
5300
- typeId = this.itemType;
5301
- const treeNode = {
5302
- id: node.childId,
5303
- name: node.childName,
5304
- children: [],
5305
- parentId: node.rootId
5306
- };
5307
- this.dataTrees.toArray()[0].todoItemSelection([treeNode]);
5538
+ if (position >= 0) {
5539
+ node = this.treeData1[position];
5540
+ typeId = this.itemType;
5541
+ const treeNode = {
5542
+ id: node.childId,
5543
+ name: node.childName,
5544
+ children: [],
5545
+ parentId: node.rootId
5546
+ };
5547
+ this.dataTrees.toArray()[0].todoItemSelectionProcessDocument([treeNode]);
5548
+ }
5549
+ else {
5550
+ let newNodeProcess = new TreeModel();
5551
+ newNodeProcess.rootId = (_f = item.breadcumbs[item.breadcumbs.length - 1]) === null || _f === void 0 ? void 0 : _f['id'];
5552
+ newNodeProcess.rootName = (_g = item.breadcumbs[item.breadcumbs.length - 1]) === null || _g === void 0 ? void 0 : _g['name'];
5553
+ newNodeProcess.parentId = '';
5554
+ newNodeProcess.subName = null;
5555
+ newNodeProcess.childId = item.id;
5556
+ newNodeProcess.childName = item.itemName;
5557
+ newNodeProcess.statusId = item === null || item === void 0 ? void 0 : item['itemStatus'];
5558
+ newNodeProcess.displayId = +item.itemNumberId;
5559
+ this.treeData1 = [...this.treeData1, newNodeProcess];
5560
+ let newSelectedProcess = new TreeFlatNode();
5561
+ newSelectedProcess.disabled = false;
5562
+ newSelectedProcess.expandable = false;
5563
+ newSelectedProcess.hasChild = false;
5564
+ newSelectedProcess.id = item.id;
5565
+ newSelectedProcess.level = 0;
5566
+ newSelectedProcess.levelType = undefined;
5567
+ newSelectedProcess.name = item.itemName;
5568
+ newSelectedProcess.parentId = (_h = item.breadcumbs[item.breadcumbs.length - 1]) === null || _h === void 0 ? void 0 : _h['id'];
5569
+ this.selectedData = [];
5570
+ this.selectedData2 = [];
5571
+ let selectProcess = [];
5572
+ let selectDocument = [];
5573
+ if (this.checkedNodeList.length) {
5574
+ this.checkedNodeList.forEach(x => {
5575
+ if (x.itemType === DataType$1.area || x.itemType === DataType$1.process) {
5576
+ this.treeData1.forEach(item => {
5577
+ if (item.childId && x.id === item.childId || !item.childId && (x.id === item.rootId)) {
5578
+ selectProcess.push({
5579
+ disabled: false,
5580
+ expandable: x.itemType == DataType$1.area ? true : false,
5581
+ hasChild: x.itemType == DataType$1.area ? true : false,
5582
+ id: x.id,
5583
+ level: 0,
5584
+ levelType: undefined,
5585
+ name: x.itemName,
5586
+ parentId: x.parentId
5587
+ });
5588
+ }
5589
+ });
5590
+ }
5591
+ else {
5592
+ this.treeData2.forEach(item => {
5593
+ if (item.childId && x.id === item.childId || !item.childId && (x.id === item.rootId)) {
5594
+ selectDocument.push({
5595
+ disabled: false,
5596
+ expandable: x.itemType == DataType$1.folder ? true : false,
5597
+ hasChild: x.itemType == DataType$1.folder ? true : false,
5598
+ id: x.id,
5599
+ level: 0,
5600
+ levelType: undefined,
5601
+ name: x.itemName,
5602
+ parentId: x.parentId
5603
+ });
5604
+ }
5605
+ });
5606
+ }
5607
+ });
5608
+ }
5609
+ this.selectedData = [...this.selectedData, ...selectProcess, newSelectedProcess];
5610
+ this.selectedData2 = [...this.selectedData2, ...selectDocument];
5611
+ setTimeout(() => {
5612
+ const treeNode = {
5613
+ id: newNodeProcess.childId,
5614
+ name: newNodeProcess.childName,
5615
+ children: [],
5616
+ parentId: newNodeProcess.rootId
5617
+ };
5618
+ this.dataTrees.toArray()[0].todoItemSelectionProcessDocument([treeNode]);
5619
+ }, 500);
5620
+ }
5308
5621
  }
5309
5622
  }
5310
5623
  }
@@ -5339,7 +5652,8 @@ class RelatedPopupComponent {
5339
5652
  itemName: x.name,
5340
5653
  itemType: itemType,
5341
5654
  itemNumberId: item.displayId.toString(),
5342
- parentId: item.rootId
5655
+ parentId: item.rootId,
5656
+ parentName: item.rootName
5343
5657
  });
5344
5658
  });
5345
5659
  }
@@ -5515,12 +5829,80 @@ class RelatedPopupComponent {
5515
5829
  // if (this.treeConfig1.showCheckBox) {
5516
5830
  this.selectedFolder = null;
5517
5831
  this.itemInSplitview = [];
5832
+ this.checkedNodeList.forEach(element => {
5833
+ if (element.itemType === DataType$1.document) {
5834
+ element.status = this.getStatusDocs(element.id);
5835
+ element.breadcumbs = this.getBreadcumbAllParentDocs(element.id).slice(1).reverse();
5836
+ }
5837
+ if (element.itemType === DataType$1.process) {
5838
+ element.status = this.getStatusProcess(element.id);
5839
+ element.breadcumbs = this.getBreadcumbAllParentProcess(element.id).slice(1).reverse();
5840
+ }
5841
+ });
5518
5842
  this.dialogRef.close(this.checkedNodeList);
5519
5843
  // }
5520
5844
  // else {
5521
5845
  // this.dialogRef.close(this.selectedNode);
5522
5846
  // }
5523
5847
  }
5848
+ getBreadcumbAllParentProcess(id) {
5849
+ let tempParent = [];
5850
+ this.checkBreadcumbProcess(id, tempParent, function (arr) {
5851
+ tempParent = [...arr];
5852
+ });
5853
+ return tempParent;
5854
+ }
5855
+ getBreadcumbAllParentDocs(id) {
5856
+ let tempParent = [];
5857
+ this.checkBreadcumbDocument(id, tempParent, function (arr) {
5858
+ tempParent = [...arr];
5859
+ });
5860
+ return tempParent;
5861
+ }
5862
+ checkBreadcumbProcess(id, breadcumbs, callback) {
5863
+ for (let i = 0; i < this.treeControlNodeProcess.dataNodes.length; i++) {
5864
+ const tree = this.treeControlNodeProcess.dataNodes[i];
5865
+ if (id == tree.id) {
5866
+ breadcumbs = [...breadcumbs, tree];
5867
+ if (tree.parentId) {
5868
+ this.checkBreadcumbProcess(tree.parentId, breadcumbs, callback);
5869
+ }
5870
+ else {
5871
+ callback(breadcumbs);
5872
+ }
5873
+ }
5874
+ }
5875
+ }
5876
+ checkBreadcumbDocument(id, breadcumbs, callback) {
5877
+ for (let i = 0; i < this.treeControlNodeDocument.dataNodes.length; i++) {
5878
+ const tree = this.treeControlNodeDocument.dataNodes[i];
5879
+ if (id == tree.id) {
5880
+ breadcumbs = [...breadcumbs, tree];
5881
+ if (tree.parentId) {
5882
+ this.checkBreadcumbDocument(tree.parentId, breadcumbs, callback);
5883
+ }
5884
+ else {
5885
+ callback(breadcumbs);
5886
+ }
5887
+ }
5888
+ }
5889
+ }
5890
+ selectTreeControlNodeDocument(treeNodes) {
5891
+ this.treeControlNodeDocument = null;
5892
+ this.treeControlNodeDocument = treeNodes;
5893
+ this.treeControlNodeDocument.dataNodes = this.treeControlNodeDocument.dataNodes.filter(x => x.name !== null && x.name !== '');
5894
+ }
5895
+ selectTreeControlNodeProcess(treeNodes) {
5896
+ this.treeControlNodeProcess = null;
5897
+ this.treeControlNodeProcess = treeNodes;
5898
+ this.treeControlNodeProcess.dataNodes = this.treeControlNodeProcess.dataNodes.filter(x => x.name !== null && x.name !== '');
5899
+ }
5900
+ getStatusDocs(id) {
5901
+ return this.treeData2.filter(x => x.childId === id)[0].statusId;
5902
+ }
5903
+ getStatusProcess(id) {
5904
+ return this.treeData1.filter(x => x.childId === id)[0].statusId;
5905
+ }
5524
5906
  getOffsetHeight(element, includeMargin) {
5525
5907
  let elmHeight = 0, elmMargin = 0;
5526
5908
  elmHeight = element.offsetHeight;
@@ -5658,18 +6040,20 @@ class RelatedPopupComponent {
5658
6040
  [].forEach.call(itemElement, (el) => {
5659
6041
  el.classList.add('active-item');
5660
6042
  });
5661
- let item = new IRelated();
5662
- item.id = node.id;
5663
- item.itemType = type;
5664
- item.itemName = node.name;
5665
- item.levelType = node.levelType;
5666
- this.selectedFolder = node;
5667
6043
  if (type === this.dataType.folder) {
5668
6044
  this.splitViewTitle = `${this.LANG.MESSAGE.DOCUMENTS_IN.toUpperCase()} "${node.name}"`;
5669
6045
  }
5670
6046
  else if (type === this.dataType.area) {
5671
6047
  this.splitViewTitle = `${this.LANG.MESSAGE.PROCESSES_IN.toUpperCase()} "${node.name}"`;
5672
6048
  }
6049
+ let item = new IRelated();
6050
+ item.id = node.id;
6051
+ item.itemType = type;
6052
+ item.itemName = node.name;
6053
+ item.levelType = node.levelType;
6054
+ this.selectedFolder = node;
6055
+ this.parentNodeSelected = new TreeFlatNode();
6056
+ this.parentNodeSelected = Object.assign({}, node);
5673
6057
  this.onExpandFolder.emit(item);
5674
6058
  }
5675
6059
  }
@@ -5686,6 +6070,9 @@ class RelatedPopupComponent {
5686
6070
  }
5687
6071
  selectNodeTreeEvent(node) {
5688
6072
  var _a, _b, _c, _d;
6073
+ if (!node.itemType) {
6074
+ return;
6075
+ }
5689
6076
  let position = -1;
5690
6077
  let parentName = '';
5691
6078
  let itemNumberId = '';
@@ -5721,7 +6108,7 @@ class RelatedPopupComponent {
5721
6108
  RelatedPopupComponent.decorators = [
5722
6109
  { type: Component, args: [{
5723
6110
  selector: 'qms-related-popup',
5724
- template: "<div id=\"qmslib_related_popup\" class=\"qmslib__related__popup__container\">\r\n <div id=\"qmslib_related_popup_header\">\r\n <span mat-icon-button class=\"button__close\" (click)=\"onCloseClick()\">\r\n <mat-icon mat-icon>close</mat-icon>\r\n </span>\r\n <div id=\"qmslib_related_popup_header_001\" mat-dialog-content>\r\n <span>{{ moduleName | uppercase }}</span>\r\n </div>\r\n </div>\r\n\r\n <div\r\n id=\"qmslib_related_popup_search\"\r\n class=\"input__field\"\r\n (click)=\"showSearchResult()\"\r\n >\r\n <input\r\n #name\r\n type=\"text\"\r\n placeholder=\"{{ LANG.SEARCH }}\"\r\n matInput\r\n [formControl]=\"myControl\"\r\n [matAutocomplete]=\"auto\"\r\n #autoCompleteInputSearch\r\n />\r\n <mat-icon>search</mat-icon>\r\n </div>\r\n\r\n <div class=\"line__divider\"></div>\r\n\r\n <mat-autocomplete\r\n #auto=\"matAutocomplete\"\r\n [displayWith]=\"displayRelated\"\r\n class=\"mat-autocomplete_related-viewport\"\r\n >\r\n <cdk-virtual-scroll-viewport\r\n qms-scrollbar\r\n itemSize=\"10\"\r\n class=\"related-viewport\"\r\n >\r\n <ng-container *ngFor=\"let type of searchOrder\">\r\n <div\r\n class=\"search__module-result\"\r\n *ngIf=\"canShowSearchOption(type.value)\"\r\n >\r\n <span class=\"search__module-title\">{{ getTitle(type.value) }}</span>\r\n <mat-option\r\n class=\"search__option\"\r\n *ngFor=\"let option of getModuleFilteredOptions(type.value)\"\r\n [value]=\"option\"\r\n (click)=\"selectRelated(option)\"\r\n >\r\n <qms-list-item type=\"image-square\">\r\n <mat-icon\r\n leading-icon\r\n type=\"image-square\"\r\n [svgIcon]=\"getNodeIcon(option)\"\r\n ></mat-icon>\r\n <div qms-list-header>\r\n <div\r\n qms-line\r\n type=\"caption\"\r\n qms-tool-tip=\"{{\r\n isEllipsisActive(searchItemResult) ? option.parentName : ''\r\n }}\"\r\n mode=\"dark\"\r\n *ngIf=\"getParentName(option)\"\r\n >\r\n <span #searchItemResult class=\"search__result__parent-name\">\r\n {{ option.parentName }}\r\n </span>\r\n </div>\r\n <div qms-line type=\"subtitle\" class=\"search__option-name\">\r\n {{ option.itemName }}\r\n </div>\r\n <div\r\n class=\"caption\"\r\n *ngIf=\"option.breadcumbs && option.breadcumbs.length\"\r\n >\r\n <qms-breadcrumb\r\n class=\"breadcrumb-containe\"\r\n type=\"table\"\r\n numDisplayItem=\"1\"\r\n [nodes]=\"option.breadcumbs\"\r\n >\r\n </qms-breadcrumb>\r\n </div>\r\n </div>\r\n <div qms-line color=\"default-subtitle\" *ngIf=\"getItemId(option)\">\r\n <span class=\"material-icons-outlined search__description-icon\">\r\n local_offer\r\n </span>\r\n {{ getItemId(option) }}\r\n </div>\r\n </qms-list-item>\r\n </mat-option>\r\n </div>\r\n </ng-container>\r\n </cdk-virtual-scroll-viewport>\r\n </mat-autocomplete>\r\n\r\n <div class=\"row\">\r\n <div\r\n class=\"qms-scrollbar qmslib_related_popup_content\"\r\n [ngClass]=\"{\r\n panel__content_item: checkedNodeList.length,\r\n panel__content: !checkedNodeList.length,\r\n 'col-6': splitView,\r\n 'col-12': !splitView\r\n }\"\r\n >\r\n <mat-expansion-panel\r\n hideToggle\r\n id=\"qmslib_related_popup_common_001\"\r\n [expanded]=\"isCommonExpanded\"\r\n (opened)=\"isCommonExpanded = true\"\r\n (closed)=\"isCommonExpanded = false\"\r\n class=\"panel-tree\"\r\n >\r\n <mat-expansion-panel-header class=\"padding-5\">\r\n <mat-panel-title *ngIf=\"moduleId === module.documentProcess\">\r\n {{ LANG.PROCESSES | uppercase }}\r\n </mat-panel-title>\r\n <mat-panel-title *ngIf=\"moduleId === module.deviation\">\r\n {{ LANG.DEVIATION | uppercase }}\r\n </mat-panel-title>\r\n <mat-panel-title *ngIf=\"moduleId === module.checklist\">\r\n {{ LANG.CHECKLIST | uppercase }}\r\n </mat-panel-title>\r\n <mat-panel-title *ngIf=\"moduleId === module.risk\">\r\n {{ LANG.ASSESSMENT | uppercase }}\r\n </mat-panel-title>\r\n <button qms-btn-icon class=\"related_popup_toggle-btn\">\r\n <mat-icon>\r\n {{\r\n isCommonExpanded ? \"keyboard_arrow_up\" : \"keyboard_arrow_down\"\r\n }}\r\n </mat-icon>\r\n </button>\r\n </mat-expansion-panel-header>\r\n <div id=\"qmslib_related_popup_common_002\">\r\n <qms-tree\r\n [treeData]=\"treeData1\"\r\n [treeConfig]=\"treeConfig1\"\r\n [selectedData]=\"selectedData\"\r\n [selectedRiskData]=\"selectedRiskData\"\r\n [disabledList]=\"disabledList\"\r\n (checkBoxEvent)=\"getCommonCheckedNode($event)\"\r\n (nodeExpandEvent)=\"getChildrenOfFolder($event, dataType.area)\"\r\n (selectNodeEvent)=\"selectNodeTreeEvent($event)\"\r\n (getChildNodeSelectOne)=\"getChildNodeSelectOne($event)\"\r\n [expandOnTitleClick]=\"!splitView\"\r\n ></qms-tree>\r\n </div>\r\n </mat-expansion-panel>\r\n\r\n <div\r\n *ngIf=\"moduleId === module.documentProcess\"\r\n class=\"line__divider\"\r\n ></div>\r\n\r\n <mat-expansion-panel\r\n hideToggle\r\n *ngIf=\"moduleId === module.documentProcess\"\r\n id=\"qmslib_related_popup_document_001\"\r\n [expanded]=\"isDocumentExpanded\"\r\n (opened)=\"isDocumentExpanded = true\"\r\n (closed)=\"isDocumentExpanded = false\"\r\n class=\"panel-tree\"\r\n >\r\n <mat-expansion-panel-header class=\"padding-5\">\r\n <mat-panel-title> {{ LANG.DOCUMENTS | uppercase }} </mat-panel-title>\r\n <button qms-btn-icon class=\"related_popup_toggle-btn\">\r\n <mat-icon>\r\n {{\r\n isDocumentExpanded ? \"keyboard_arrow_up\" : \"keyboard_arrow_down\"\r\n }}\r\n </mat-icon>\r\n </button>\r\n </mat-expansion-panel-header>\r\n <div id=\"qmslib_related_popup_document_002\">\r\n <qms-tree\r\n [treeData]=\"treeData2\"\r\n [treeConfig]=\"treeConfig2\"\r\n [selectedData]=\"selectedData2\"\r\n [disabledList]=\"disabledList2\"\r\n (checkBoxEvent)=\"getDocumentCheckedNode($event)\"\r\n (nodeExpandEvent)=\"getChildrenOfFolder($event, dataType.folder)\"\r\n (selectNodeEvent)=\"selectNodeTreeEvent($event)\"\r\n (getChildNodeSelectOne)=\"getChildNodeSelectOne($event)\"\r\n [expandOnTitleClick]=\"!splitView\"\r\n ></qms-tree>\r\n </div>\r\n </mat-expansion-panel>\r\n </div>\r\n <div\r\n *ngIf=\"splitView\"\r\n class=\"\r\n qms-scrollbar\r\n qmslib-related-popup-splitview qmslib_related_popup_content\r\n col-6\r\n \"\r\n [ngClass]=\"{\r\n panel__content_item: checkedNodeList.length,\r\n panel__content: !checkedNodeList.length\r\n }\"\r\n >\r\n <div class=\"splitview-header\" *ngIf=\"selectedFolder\">\r\n {{ splitViewTitle }}\r\n </div>\r\n <div class=\"expand-node\" *ngFor=\"let node of itemInSplitview\">\r\n <mat-checkbox\r\n qms-group-options\r\n [disabled]=\"node.disabled\"\r\n color=\"default\"\r\n [checked]=\"isNodeSelected(node)\"\r\n (change)=\"toggleSelectItem(node)\"\r\n ></mat-checkbox>\r\n <mat-icon\r\n class=\"mat-icon-rtl-mirror material-icons-outlined\"\r\n [svgIcon]=\"getNodeIcon(node)\"\r\n ></mat-icon>\r\n <span class=\"text-node\">{{ node.itemName }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"checkedNodeList.length\" class=\"line__divider\"></div>\r\n\r\n <div *ngIf=\"checkedNodeList.length\" class=\"panel__item qms-scrollbar\">\r\n <div class=\"related__item__inline\" *ngFor=\"let item of checkedNodeList\">\r\n <button\r\n *ngIf=\"item.itemName\"\r\n mat-button\r\n class=\"related__item__content\"\r\n qms-tool-tip=\"{{\r\n isEllipsisActive(itemName) ? getItemChipName(item) : ''\r\n }}\"\r\n mode=\"dark\"\r\n >\r\n <span class=\"related__item__content_name\" #itemName>{{\r\n getItemChipName(item)\r\n }}</span>\r\n <mat-icon\r\n *ngIf=\"!(treeConfig1?.selectOne || treeConfig2?.selectOne)\"\r\n (click)=\"removeCheckedNodeList(item)\"\r\n >cancel</mat-icon\r\n >\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"line__divider\"></div>\r\n\r\n <div class=\"confirm__button__groups\">\r\n <button\r\n *ngIf=\"!checkedNodeList.length\"\r\n qms-btn\r\n style=\"margin-top: 7px\"\r\n (click)=\"onAddClick()\"\r\n >\r\n {{ LANG.ADD }}\r\n </button>\r\n <button\r\n *ngIf=\"checkedNodeList.length\"\r\n qms-btn\r\n style=\"margin-top: 0px\"\r\n (click)=\"onAddClick()\"\r\n >\r\n {{ LANG.ADD }} ({{ checkedNodeList.length }})\r\n </button>\r\n <button\r\n qms-btn-text\r\n [ngStyle]=\"{ 'margin-top': checkedNodeList.length ? '0px' : '7px' }\"\r\n (click)=\"onCloseClick()\"\r\n >\r\n {{ LANG.CANCEL }}\r\n </button>\r\n </div>\r\n</div>\r\n",
6111
+ template: "<div id=\"qmslib_related_popup\" class=\"qmslib__related__popup__container\">\r\n <div id=\"qmslib_related_popup_header\">\r\n <span mat-icon-button class=\"button__close\" (click)=\"onCloseClick()\">\r\n <mat-icon mat-icon>close</mat-icon>\r\n </span>\r\n <div id=\"qmslib_related_popup_header_001\" mat-dialog-content>\r\n <span>{{ moduleName | uppercase }}</span>\r\n </div>\r\n </div>\r\n\r\n <div\r\n id=\"qmslib_related_popup_search\"\r\n class=\"input__field\"\r\n (click)=\"showSearchResult()\"\r\n >\r\n <input\r\n #name\r\n type=\"text\"\r\n placeholder=\"{{ LANG.SEARCH }}\"\r\n matInput\r\n [formControl]=\"myControl\"\r\n [matAutocomplete]=\"auto\"\r\n #autoCompleteInputSearch\r\n />\r\n <mat-icon>search</mat-icon>\r\n </div>\r\n\r\n <div class=\"line__divider\"></div>\r\n\r\n <mat-autocomplete\r\n #auto=\"matAutocomplete\"\r\n [displayWith]=\"displayRelated\"\r\n class=\"mat-autocomplete_related-viewport\"\r\n >\r\n <cdk-virtual-scroll-viewport\r\n qms-scrollbar\r\n itemSize=\"10\"\r\n class=\"related-viewport\"\r\n >\r\n <ng-container *ngFor=\"let type of searchOrder\">\r\n <div\r\n class=\"search__module-result\"\r\n *ngIf=\"canShowSearchOption(type.value)\"\r\n >\r\n <span class=\"search__module-title\">{{ getTitle(type.value) }}</span>\r\n <mat-option\r\n class=\"search__option\"\r\n *ngFor=\"let option of getModuleFilteredOptions(type.value)\"\r\n [value]=\"option\"\r\n (click)=\"selectRelated(option)\"\r\n >\r\n <qms-list-item type=\"image-square\">\r\n <mat-icon\r\n leading-icon\r\n type=\"image-square\"\r\n [svgIcon]=\"getNodeIcon(option)\"\r\n ></mat-icon>\r\n <div qms-list-header>\r\n <div\r\n qms-line\r\n type=\"caption\"\r\n qms-tool-tip=\"{{\r\n isEllipsisActive(searchItemResult) ? option.parentName : ''\r\n }}\"\r\n mode=\"dark\"\r\n *ngIf=\"getParentName(option)\"\r\n >\r\n <span #searchItemResult class=\"search__result__parent-name\">\r\n {{ option.parentName }}\r\n </span>\r\n </div>\r\n <div qms-line type=\"subtitle\" class=\"search__option-name\">\r\n {{ option.itemName }}\r\n </div>\r\n <div\r\n class=\"caption\"\r\n *ngIf=\"option.breadcumbs && option.breadcumbs.length\"\r\n >\r\n <qms-breadcrumb\r\n class=\"breadcrumb-containe\"\r\n type=\"table\"\r\n numDisplayItem=\"1\"\r\n [nodes]=\"option.breadcumbs\"\r\n >\r\n </qms-breadcrumb>\r\n </div>\r\n </div>\r\n <div qms-line color=\"default-subtitle\" *ngIf=\"getItemId(option)\">\r\n <span class=\"material-icons-outlined search__description-icon\">\r\n local_offer\r\n </span>\r\n {{ getItemId(option) }}\r\n </div>\r\n </qms-list-item>\r\n </mat-option>\r\n </div>\r\n </ng-container>\r\n </cdk-virtual-scroll-viewport>\r\n </mat-autocomplete>\r\n\r\n <div class=\"row\">\r\n <div\r\n class=\"qms-scrollbar qmslib_related_popup_content\"\r\n [ngClass]=\"{\r\n panel__content_item: checkedNodeList.length,\r\n panel__content: !checkedNodeList.length,\r\n 'col-6': splitView,\r\n 'col-12': !splitView\r\n }\"\r\n >\r\n <mat-expansion-panel\r\n hideToggle\r\n id=\"qmslib_related_popup_common_001\"\r\n [expanded]=\"isCommonExpanded\"\r\n (opened)=\"isCommonExpanded = true\"\r\n (closed)=\"isCommonExpanded = false\"\r\n class=\"panel-tree\"\r\n >\r\n <mat-expansion-panel-header class=\"padding-5\">\r\n <mat-panel-title *ngIf=\"moduleId === module.documentProcess\">\r\n {{ LANG.PROCESSES | uppercase }}\r\n </mat-panel-title>\r\n <mat-panel-title *ngIf=\"moduleId === module.deviation\">\r\n {{ LANG.DEVIATION | uppercase }}\r\n </mat-panel-title>\r\n <mat-panel-title *ngIf=\"moduleId === module.checklist\">\r\n {{ LANG.CHECKLIST | uppercase }}\r\n </mat-panel-title>\r\n <mat-panel-title *ngIf=\"moduleId === module.risk\">\r\n {{ LANG.ASSESSMENT | uppercase }}\r\n </mat-panel-title>\r\n <button qms-btn-icon class=\"related_popup_toggle-btn\">\r\n <mat-icon>\r\n {{\r\n isCommonExpanded ? \"keyboard_arrow_up\" : \"keyboard_arrow_down\"\r\n }}\r\n </mat-icon>\r\n </button>\r\n </mat-expansion-panel-header>\r\n <div id=\"qmslib_related_popup_common_002\">\r\n <qms-tree\r\n [treeData]=\"treeData1\"\r\n [treeConfig]=\"treeConfig1\"\r\n [selectedData]=\"selectedData\"\r\n [selectedRiskData]=\"selectedRiskData\"\r\n [disabledList]=\"disabledList\"\r\n (checkBoxEvent)=\"getCommonCheckedNode($event)\"\r\n (nodeExpandEvent)=\"getChildrenOfFolder($event, dataType.area)\"\r\n (selectNodeEvent)=\"selectNodeTreeEvent($event)\"\r\n (getChildNodeSelectOne)=\"getChildNodeSelectOne($event)\"\r\n [expandOnTitleClick]=\"!splitView\"\r\n [parentNodeOnClick]=\"parentNodeSelected\"\r\n (treeControlNodes)=\"selectTreeControlNodeProcess($event)\"\r\n ></qms-tree>\r\n </div>\r\n </mat-expansion-panel>\r\n\r\n <div\r\n *ngIf=\"moduleId === module.documentProcess\"\r\n class=\"line__divider\"\r\n ></div>\r\n\r\n <mat-expansion-panel\r\n hideToggle\r\n *ngIf=\"moduleId === module.documentProcess\"\r\n id=\"qmslib_related_popup_document_001\"\r\n [expanded]=\"isDocumentExpanded\"\r\n (opened)=\"isDocumentExpanded = true\"\r\n (closed)=\"isDocumentExpanded = false\"\r\n class=\"panel-tree\"\r\n >\r\n <mat-expansion-panel-header class=\"padding-5\">\r\n <mat-panel-title> {{ LANG.DOCUMENTS | uppercase }} </mat-panel-title>\r\n <button qms-btn-icon class=\"related_popup_toggle-btn\">\r\n <mat-icon>\r\n {{\r\n isDocumentExpanded ? \"keyboard_arrow_up\" : \"keyboard_arrow_down\"\r\n }}\r\n </mat-icon>\r\n </button>\r\n </mat-expansion-panel-header>\r\n <div id=\"qmslib_related_popup_document_002\">\r\n <qms-tree\r\n [treeData]=\"treeData2\"\r\n [treeConfig]=\"treeConfig2\"\r\n [selectedData]=\"selectedData2\"\r\n [disabledList]=\"disabledList2\"\r\n (checkBoxEvent)=\"getDocumentCheckedNode($event)\"\r\n (nodeExpandEvent)=\"getChildrenOfFolder($event, dataType.folder)\"\r\n (selectNodeEvent)=\"selectNodeTreeEvent($event)\"\r\n (getChildNodeSelectOne)=\"getChildNodeSelectOne($event)\"\r\n [expandOnTitleClick]=\"!splitView\"\r\n [parentNodeOnClick]=\"parentNodeSelected\"\r\n (treeControlNodes)=\"selectTreeControlNodeDocument($event)\"\r\n ></qms-tree>\r\n </div>\r\n </mat-expansion-panel>\r\n </div>\r\n <div\r\n *ngIf=\"splitView\"\r\n class=\"\r\n qms-scrollbar\r\n qmslib-related-popup-splitview qmslib_related_popup_content\r\n col-6\r\n \"\r\n [ngClass]=\"{\r\n panel__content_item: checkedNodeList.length,\r\n panel__content: !checkedNodeList.length\r\n }\"\r\n >\r\n <div class=\"splitview-header\" *ngIf=\"selectedFolder\">\r\n {{ splitViewTitle }}\r\n </div>\r\n <div class=\"expand-node\" *ngFor=\"let node of itemInSplitview\">\r\n <mat-checkbox\r\n qms-group-options\r\n [disabled]=\"node.disabled\"\r\n color=\"default\"\r\n [checked]=\"isNodeSelected(node)\"\r\n (change)=\"toggleSelectItem(node)\"\r\n ></mat-checkbox>\r\n <mat-icon\r\n class=\"mat-icon-rtl-mirror material-icons-outlined\"\r\n [svgIcon]=\"getNodeIcon(node)\"\r\n ></mat-icon>\r\n <span class=\"text-node\">{{ node.itemName }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"checkedNodeList.length\" class=\"line__divider\"></div>\r\n\r\n <div *ngIf=\"checkedNodeList.length\" class=\"panel__item qms-scrollbar\">\r\n <div class=\"related__item__inline\" *ngFor=\"let item of checkedNodeList\">\r\n <button\r\n *ngIf=\"item.itemName\"\r\n mat-button\r\n class=\"related__item__content\"\r\n qms-tool-tip=\"{{\r\n isEllipsisActive(itemName) ? getItemChipName(item) : ''\r\n }}\"\r\n mode=\"dark\"\r\n >\r\n <span class=\"related__item__content_name\" #itemName>{{\r\n getItemChipName(item)\r\n }}</span>\r\n <mat-icon\r\n *ngIf=\"!(treeConfig1?.selectOne || treeConfig2?.selectOne)\"\r\n (click)=\"removeCheckedNodeList(item)\"\r\n >cancel</mat-icon\r\n >\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"line__divider\"></div>\r\n\r\n <div class=\"confirm__button__groups\">\r\n <button\r\n *ngIf=\"!checkedNodeList.length\"\r\n qms-btn\r\n style=\"margin-top: 7px\"\r\n (click)=\"onAddClick()\"\r\n >\r\n {{ LANG.ADD }}\r\n </button>\r\n <button\r\n *ngIf=\"checkedNodeList.length\"\r\n qms-btn\r\n style=\"margin-top: 0px\"\r\n (click)=\"onAddClick()\"\r\n >\r\n {{ LANG.ADD }} ({{ checkedNodeList.length }})\r\n </button>\r\n <button\r\n qms-btn-text\r\n [ngStyle]=\"{ 'margin-top': checkedNodeList.length ? '0px' : '7px' }\"\r\n (click)=\"onCloseClick()\"\r\n >\r\n {{ LANG.CANCEL }}\r\n </button>\r\n </div>\r\n</div>\r\n",
5725
6112
  encapsulation: ViewEncapsulation.None,
5726
6113
  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}"]
5727
6114
  },] }
@@ -6159,12 +6546,6 @@ QMSRelatedModule.decorators = [
6159
6546
  },] }
6160
6547
  ];
6161
6548
 
6162
- class TreeFlatNode {
6163
- }
6164
-
6165
- class TreeModel {
6166
- }
6167
-
6168
6549
  class TreeConfig {
6169
6550
  }
6170
6551