qms-angular 1.1.54 → 1.1.55

Sign up to get free protection for your applications and to get access to all the features.
@@ -32490,6 +32490,7 @@ class QMSNavDrawerComponent {
32490
32490
  this.qmsNavDrawerService = qmsNavDrawerService;
32491
32491
  this.cdRef = cdRef;
32492
32492
  this.iterableDiffers = iterableDiffers;
32493
+ this.scrollIntoNode$ = new BehaviorSubject('');
32493
32494
  this.ngUnsubscribe = new Subject();
32494
32495
  this.treeData = [];
32495
32496
  this.openNodes = [];
@@ -32555,12 +32556,24 @@ class QMSNavDrawerComponent {
32555
32556
  });
32556
32557
  }
32557
32558
  });
32559
+ this.scrollIntoNode$.subscribe((res) => {
32560
+ if (res) {
32561
+ setTimeout(() => {
32562
+ const element = document.querySelector('.mat-tree-node.active');
32563
+ console.log(res, element, 'xxxxx');
32564
+ if (element) {
32565
+ element.scrollIntoView({ behavior: 'smooth' });
32566
+ }
32567
+ });
32568
+ }
32569
+ });
32558
32570
  }
32559
32571
  _activeNode() {
32560
32572
  const currNode = this.openNodes[this.openNodes.length - 1];
32561
32573
  const idxParent = this.openNodes.length >= 2 ? this.openNodes.length - 2 : '';
32562
32574
  const parentNode = idxParent !== '' ? this.openNodes[idxParent] : '';
32563
32575
  this.activeNode = this.getActiveNode(currNode, parentNode);
32576
+ this.scrollIntoNode$.next(this.activeNode);
32564
32577
  }
32565
32578
  getActiveNode(id, parentId) {
32566
32579
  const _id = id ? id : '';
@@ -32577,18 +32590,11 @@ class QMSNavDrawerComponent {
32577
32590
  });
32578
32591
  }
32579
32592
  this._activeNode();
32580
- // scroll to selected node
32581
- setTimeout(() => {
32582
- const element = document.querySelector('.mat-tree-node.active');
32583
- if (element) {
32584
- element.scrollIntoView({ behavior: 'smooth' });
32585
- }
32586
- });
32587
- this.cdRef.detectChanges();
32588
32593
  }
32589
32594
  onClickNode(node) {
32590
32595
  this.activeNode = this.getActiveNode(node.id, node.parentId);
32591
32596
  this.onClickNodeEvent.emit(node);
32597
+ this.scrollIntoNode$.next(this.activeNode);
32592
32598
  }
32593
32599
  onExpandNode(node) {
32594
32600
  this.openNodes = [];
@@ -33539,6 +33545,7 @@ class SelectDepartmentTreeComponent {
33539
33545
  case 'sibling':
33540
33546
  if (!parentNode) {
33541
33547
  const idx = this.currentTreeData.findIndex(x => x.id === node.id) + 1;
33548
+ this.source_object.parentId = node.parentId;
33542
33549
  this.currentTreeData.splice(idx, 0, this.source_object);
33543
33550
  }
33544
33551
  else {
@@ -34518,7 +34525,7 @@ class SelectDepartmentComponent {
34518
34525
  SelectDepartmentComponent.decorators = [
34519
34526
  { type: Component, args: [{
34520
34527
  selector: 'qms-select-department',
34521
- template: "<div class=\"qms-select-department\">\n <div class=\"header-dialog mb-2\">\n <span>{{popupData.headerName}}</span>\n <button matDialogClose class=\"btn-close-dialog\" color=\"light\" qms-btn-icon>\n <mat-icon>close</mat-icon>\n </button>\n </div>\n <div>\n <div class=\"qms-scrollbar\">\n <div>\n <qms-select-department-tree #treeDepartment customClass=\"custom-department-tree\"\n [height]=\"popupData.config.isMobile ? '38vh' : '50vh'\" [rowsSkeleton]=\"9\" [config]=\"popupData.config\"\n (onSearchEvent)=\"onSearchEvent.emit($event)\" (onValueChangeEvent)=\"onResultDepartmentChange($event)\"\n (onPagingSearchEvent)=\"onPagingEvent.emit($event)\" (onCheckNodeEvent)=\"onCheckNodeEvent.emit($event)\"\n (onExpandNodeEvent)=\"onExpandNodeEvent.emit($event)\" (onLoadMoreEvent)=\"onLoadMoreEvent.emit()\"\n (onCheckAllItemSearchEvent)=\"onCheckAllItemSearchEvent.emit($event)\"\n (onCheckItemSearchEvent)=\"onCheckItemSearchEvent.emit($event)\"\n (toggleIncludeChildEvent)=\"toggleIncludeChildEvent.emit($event)\">\n </qms-select-department-tree>\n </div>\n </div>\n <div class=\"line__divider\"></div>\n <div [@heightAnimation]\n *ngIf=\"treeDepartment && !!treeDepartment.resultSelected.length && !popupData.hidePanelResult\" class=\" pr-0 pe-0\">\n <div class=\"header-title\">{{popupData.resultTitle || LANG.RESULT}}</div>\n <div class=\"result-content pr-0 pe-0\">\n <mat-chip-list class=\"panel__item qms-scrollbar\">\n <div [@inOutAnimation_2] [id]=\"'item-result-'+item.id\" *ngFor=\"let item of treeDepartment.resultSelected\">\n <mat-chip [@updateItemAnimation] *qmsContentChanges=\"item.children?.length\"\n [qms-tool-tip]=\"generateTootip(item)\" position=\"top\" mode=\"dark\" qms-chip [removable]=\"true\">\n <span (click)=\"onScrollToNode(item)\" qms-chip-body>\n <span class=\"related__item__content_name\" #itemName>\n <span>{{item.name}}</span>\n <span class=\"select__include-children__count\" *ngIf=\"!!item?.isGroup && !popupData.config.lazy\">\n {{item.children.length}}/{{item.childCount}}\n </span>\n <span class=\"select__include-children__count\" *ngIf=\"!!item?.isGroup && popupData.config.lazy\">\n {{item.selectedChildCount || item.children.length}}/{{item.childCount}}\n </span>\n </span>\n </span>\n <ng-container *ngIf=\"isNodeLoading(item.id)\" [ngTemplateOutlet]=\"loadingSpinner\"></ng-container>\n <mat-icon *ngIf=\"!treeDepartment.isDisabledNode(item.id) && !isNodeLoading(item.id)\"\n (click)=\"onRemoveNode(item)\">cancel</mat-icon>\n </mat-chip>\n </div>\n </mat-chip-list>\n </div>\n </div>\n <mat-divider *ngIf=\"treeDepartment && !!treeDepartment.resultSelected.length && !popupData.hidePanelResult\"\n class=\"mx-auto\"></mat-divider>\n <div class=\"confirm__button__groups\">\n <button (click)=\"onCloseDialog()\" class=\"btn-add\"\n [disabled]=\"!treeDepartment.resultSelected.length && !popupData.config.canAddNullResult\"\n [class.qms-btn-disabled]=\"!treeDepartment.resultSelected.length && !popupData.config.canAddNullResult\" qms-btn>\n <span>{{LANG.ADD}}</span>\n <span *ngIf=\"!popupData.config.moveLocationMode\">\n ({{treeDepartment.resultSelected.length}})\n </span>\n </button>\n <button qms-btn-text mat-dialog-close>\n {{LANG.CANCEL}}\n </button>\n </div>\n </div>\n</div>\n\n<!-- Loading spinner -->\n<ng-template #loadingSpinner>\n <div class=\"qms-spinner-wrapper\">\n <div class=\"qms-spinner center\">\n <mat-spinner [diameter]=\"20\" [strokeWidth]=\"2\" color=\"primary\"></mat-spinner>\n </div>\n </div>\n</ng-template>",
34528
+ template: "<div class=\"qms-select-department\">\n <div class=\"header-dialog mb-2\">\n <span>{{popupData.headerName}}</span>\n <button matDialogClose class=\"btn-close-dialog\" color=\"light\" qms-btn-icon>\n <mat-icon>close</mat-icon>\n </button>\n </div>\n <div>\n <div class=\"qms-scrollbar\">\n <div>\n <qms-select-department-tree #treeDepartment customClass=\"custom-department-tree\"\n [height]=\"popupData.config.isMobile ? '38vh' : '50vh'\" [rowsSkeleton]=\"9\" [config]=\"popupData.config\"\n (onSearchEvent)=\"onSearchEvent.emit($event)\" (onValueChangeEvent)=\"onResultDepartmentChange($event)\"\n (onPagingSearchEvent)=\"onPagingEvent.emit($event)\" (onCheckNodeEvent)=\"onCheckNodeEvent.emit($event)\"\n (onExpandNodeEvent)=\"onExpandNodeEvent.emit($event)\" (onLoadMoreEvent)=\"onLoadMoreEvent.emit()\"\n (onCheckAllItemSearchEvent)=\"onCheckAllItemSearchEvent.emit($event)\"\n (onCheckItemSearchEvent)=\"onCheckItemSearchEvent.emit($event)\"\n (toggleIncludeChildEvent)=\"toggleIncludeChildEvent.emit($event)\">\n </qms-select-department-tree>\n </div>\n </div>\n <div class=\"line__divider\"></div>\n <div [@heightAnimation]\n *ngIf=\"treeDepartment && !!treeDepartment.resultSelected.length && !popupData.hidePanelResult && !popupData.config.moveLocationMode\"\n class=\" pr-0 pe-0\">\n <div class=\"header-title\">{{popupData.resultTitle || LANG.RESULT}}</div>\n <div class=\"result-content pr-0 pe-0\">\n <mat-chip-list class=\"panel__item qms-scrollbar\">\n <div [@inOutAnimation_2] [id]=\"'item-result-'+item.id\" *ngFor=\"let item of treeDepartment.resultSelected\">\n <mat-chip [@updateItemAnimation] *qmsContentChanges=\"item.children?.length\"\n [qms-tool-tip]=\"generateTootip(item)\" position=\"top\" mode=\"dark\" qms-chip [removable]=\"true\">\n <span (click)=\"onScrollToNode(item)\" qms-chip-body>\n <span class=\"related__item__content_name\" #itemName>\n <span>{{item.name}}</span>\n <span class=\"select__include-children__count\" *ngIf=\"!!item?.isGroup && !popupData.config.lazy\">\n {{item.children.length}}/{{item.childCount}}\n </span>\n <span class=\"select__include-children__count\" *ngIf=\"!!item?.isGroup && popupData.config.lazy\">\n {{item.selectedChildCount || item.children.length}}/{{item.childCount}}\n </span>\n </span>\n </span>\n <ng-container *ngIf=\"isNodeLoading(item.id)\" [ngTemplateOutlet]=\"loadingSpinner\"></ng-container>\n <mat-icon *ngIf=\"!treeDepartment.isDisabledNode(item.id) && !isNodeLoading(item.id)\"\n (click)=\"onRemoveNode(item)\">cancel</mat-icon>\n </mat-chip>\n </div>\n </mat-chip-list>\n </div>\n </div>\n <mat-divider *ngIf=\"treeDepartment && !!treeDepartment.resultSelected.length && !popupData.hidePanelResult\"\n class=\"mx-auto\"></mat-divider>\n <div class=\"confirm__button__groups\">\n <button (click)=\"onCloseDialog()\" class=\"btn-add\"\n [disabled]=\"!treeDepartment.resultSelected.length && !popupData.config.canAddNullResult\"\n [class.qms-btn-disabled]=\"!treeDepartment.resultSelected.length && !popupData.config.canAddNullResult\" qms-btn>\n <span>{{LANG.ADD}}</span>\n <span *ngIf=\"!popupData.config.moveLocationMode\">\n ({{treeDepartment.resultSelected.length}})\n </span>\n </button>\n <button qms-btn-text mat-dialog-close>\n {{LANG.CANCEL}}\n </button>\n </div>\n </div>\n</div>\n\n<!-- Loading spinner -->\n<ng-template #loadingSpinner>\n <div class=\"qms-spinner-wrapper\">\n <div class=\"qms-spinner center\">\n <mat-spinner [diameter]=\"20\" [strokeWidth]=\"2\" color=\"primary\"></mat-spinner>\n </div>\n </div>\n</ng-template>",
34522
34529
  providers: [
34523
34530
  {
34524
34531
  provide: MAT_CHECKBOX_DEFAULT_OPTIONS,