qms-angular 1.1.40 → 1.1.41

Sign up to get free protection for your applications and to get access to all the features.
Files changed (23) hide show
  1. package/bundles/qms-angular.umd.js +162 -58
  2. package/bundles/qms-angular.umd.js.map +1 -1
  3. package/esm2015/lib/common/models/qms-flat-node.model.js +1 -1
  4. package/esm2015/lib/common/models/qms-tree-node.model.js +1 -1
  5. package/esm2015/lib/components/select-access-dialog/model/select-access-config.model.js +5 -1
  6. package/esm2015/lib/components/select-access-dialog/select-access-dialog.component.js +56 -11
  7. package/esm2015/lib/components/select-department/model/select-department-popup-data.model.js +2 -1
  8. package/esm2015/lib/components/select-department/select-department.component.js +3 -3
  9. package/esm2015/lib/components/select-department-tree/select-department-tree.component.js +82 -41
  10. package/esm2015/lib/components/select-department-tree/service/select-department-tree-global.service.js +7 -1
  11. package/esm2015/lib/components/treeNew/tree.component.js +1 -3
  12. package/esm2015/lib/qms-ckeditor-components/qms-ckeditor.component.js +2 -2
  13. package/fesm2015/qms-angular.js +149 -54
  14. package/fesm2015/qms-angular.js.map +1 -1
  15. package/lib/common/models/qms-flat-node.model.d.ts +4 -0
  16. package/lib/common/models/qms-tree-node.model.d.ts +8 -0
  17. package/lib/components/select-access-dialog/model/select-access-config.model.d.ts +4 -0
  18. package/lib/components/select-access-dialog/select-access-dialog.component.d.ts +2 -0
  19. package/lib/components/select-department/model/select-department-popup-data.model.d.ts +1 -0
  20. package/lib/components/select-department-tree/select-department-tree.component.d.ts +4 -0
  21. package/package.json +1 -1
  22. package/src/lib/components/select-department/select-department.component.scss +1 -0
  23. package/src/lib/components/select-department-tree/select-department-tree.component.scss +23 -0
@@ -9950,8 +9950,6 @@
9950
9950
  return itemType;
9951
9951
  };
9952
9952
  NewTreeComponent.prototype.selectFolder = function (node) {
9953
- if (!this.treeConfig.allowSelectFolder)
9954
- return;
9955
9953
  if (this.treeConfig.selectOne) {
9956
9954
  this.onExpandNode(node, this.treeControl.isExpanded(node));
9957
9955
  }
@@ -27212,7 +27210,7 @@
27212
27210
  });
27213
27211
  var toolbarItems = this.qmsckPlugin.itemToolbar;
27214
27212
  if (this.isEnabledToggleToolbar() && this.qmsckData.toggledToolbarItems) {
27215
- var strToolbars = this.qmsckData.toggledToolbarItems; //.replace(/qmsFlowchart,/g, "");
27213
+ var strToolbars = this.qmsckData.toggledToolbarItems.replace(/qmsFlowchart,/g, "");
27216
27214
  if (!this.qmsckData.enableTemplate) {
27217
27215
  strToolbars = strToolbars.replace(/qmsTemplate,/g, ""); // disable qmsTemplate if user don't have handbookAdmin Role
27218
27216
  }
@@ -31460,10 +31458,16 @@
31460
31458
  function QMSSelectDepartmentTreeGlobalService() {
31461
31459
  }
31462
31460
  QMSSelectDepartmentTreeGlobalService.prototype.convertToTreeData = function (data) {
31461
+ var _a;
31463
31462
  var roots = [];
31464
31463
  var mapNode = new Map();
31465
31464
  var nestedNodes = [];
31466
31465
  for (var i = 0; i < data.length; i++) {
31466
+ if (!((_a = data[i]) === null || _a === void 0 ? void 0 : _a.expandIcon))
31467
+ data[i].expandIcon = {
31468
+ expand: "chevron_right",
31469
+ collapse: "expand_more"
31470
+ };
31467
31471
  data[i].markedGetChildren = false;
31468
31472
  nestedNodes.push(Object.assign(Object.assign({}, data[i]), { children: [] }));
31469
31473
  mapNode.set(nestedNodes[i].id, i);
@@ -31601,6 +31605,7 @@
31601
31605
  this.arrSkeleton = new Array(6).fill(0);
31602
31606
  this.height = '50vh';
31603
31607
  this.config = new QMSSelectDepartmentTreeConfig();
31608
+ this.maxWidthNode = 650;
31604
31609
  this.isIncludeChildren = false;
31605
31610
  this.onSearchEvent = new i0.EventEmitter();
31606
31611
  this.onPagingSearchEvent = new i0.EventEmitter();
@@ -31659,6 +31664,7 @@
31659
31664
  flatNode.selectedChildCount = node.selectedChildCount;
31660
31665
  flatNode.markedGetChildCountRecurrsive = node.markedGetChildCountRecurrsive;
31661
31666
  flatNode.isIncludeChildWhenChecked = node.isIncludeChildWhenChecked;
31667
+ flatNode.expandIcon = node.expandIcon;
31662
31668
  _this.flatTreeNodeMap.set(flatNode, node);
31663
31669
  _this.nestedTreeNodeMap.set(node, flatNode);
31664
31670
  return flatNode;
@@ -31673,6 +31679,8 @@
31673
31679
  checkNode: false,
31674
31680
  expand: false
31675
31681
  };
31682
+ this.lockHandleSelectionChange = false;
31683
+ this.isDisabledNode = function (nodeId) { var _a; return (_a = _this.treeControl.dataNodes.find(function (node) { return node.id == nodeId; })) === null || _a === void 0 ? void 0 : _a.disabled; };
31676
31684
  // Init tree data
31677
31685
  this.getDataTree$
31678
31686
  .pipe(operators.takeUntil(this.ngUnsubscribe))
@@ -31820,21 +31828,32 @@
31820
31828
  this.getLoading$.next(false);
31821
31829
  };
31822
31830
  SelectDepartmentTreeComponent.prototype._handleListSelected = function () {
31831
+ var _this = this;
31823
31832
  if (!this.config.selectedList.length)
31824
31833
  return;
31825
- var selectedList = this.config.selectedList.sort(function (x, y) { return x.isGroup ? -1 : y.isGroup ? 1 : 0; });
31826
- for (var i = 0; i < selectedList.length; i++) {
31827
- var item = selectedList[i];
31828
- var node = this.getNodeById(item.id);
31829
- if (node) {
31830
- var nestedNode = this.convertToNestedNode(node);
31831
- nestedNode.isGroup = item.isGroup;
31832
- nestedNode.groupId = item.groupId;
31833
- this.checkListSelection.select(node);
31834
- this.handleCheckNode(node);
31835
- this.onExpandAllParent(node);
31836
- }
31837
- }
31834
+ var treeNodes = this.treeDepartmentService.convertToTreeData(this.config.selectedList.map(function (x) { return (Object.assign(Object.assign({}, x), { parentId: x.groupId })); }));
31835
+ this.execWithoutEmitNodeChangeEvent(function () {
31836
+ var _b;
31837
+ var selectedItems = [];
31838
+ var reMapTreeNode = function (item) {
31839
+ var _a;
31840
+ var node = _this.treeControl.dataNodes.find(function (x) { return x.id == item.id; });
31841
+ var nestedNode = _this.convertToNestedNode(node);
31842
+ node.groupId = item.groupId;
31843
+ node.isGroup = item.isGroup;
31844
+ _this.checkListSelection.select(node);
31845
+ return Object.assign(Object.assign({}, nestedNode), { groupId: item.groupId, isGroup: item.isGroup, childCount: (_a = nestedNode.childCount) !== null && _a !== void 0 ? _a : _this.getListChildrenOfNode(node).length, children: [] });
31846
+ };
31847
+ treeNodes.forEach(function (item) {
31848
+ var node = _this.treeControl.dataNodes.find(function (x) { return x.id == item.id; });
31849
+ if (!node)
31850
+ return;
31851
+ var nestedNode = _this.convertToNestedNode(node);
31852
+ selectedItems.push(Object.assign(Object.assign({}, reMapTreeNode(item)), { children: item.children.map(function (x) { return reMapTreeNode(x); }) }));
31853
+ });
31854
+ (_b = _this.resultSelected).push.apply(_b, __spreadArray([], __read(selectedItems)));
31855
+ });
31856
+ this.onValueChangeEvent.emit(this.resultSelected);
31838
31857
  this.cdRef.detectChanges();
31839
31858
  };
31840
31859
  SelectDepartmentTreeComponent.prototype._initListSelected = function () {
@@ -31844,7 +31863,7 @@
31844
31863
  var indexRemove = [];
31845
31864
  var _loop_1 = function (i) {
31846
31865
  var item = this_1._selectedList[i];
31847
- var result = this_1.treeDepartmentService.getDescendantsOfNode(item);
31866
+ var result = this_1.treeDepartmentService.getDescendantsOfNode(item).filter(function (x) { return x.groupId == item.id; });
31848
31867
  item.children = result;
31849
31868
  var index = this_1._selectedList.findIndex(function (x) { return result.some(function (x1) { return x1.id === x.id; }); });
31850
31869
  if (index < 0)
@@ -31941,6 +31960,8 @@
31941
31960
  .pipe(operators.takeUntil(this.ngUnsubscribe))
31942
31961
  .subscribe(function (_b) {
31943
31962
  var added = _b.added, removed = _b.removed;
31963
+ if (_this.lockHandleSelectionChange)
31964
+ return;
31944
31965
  var checkExistInResult = function (node) { return _this.resultSelected.findIndex(function (x) { return x.id === node.id; }) > -1; };
31945
31966
  if (added.length) {
31946
31967
  added.forEach(function (node) {
@@ -31949,7 +31970,12 @@
31949
31970
  if (!_this.config.lazy)
31950
31971
  nestedNode.childCount = _this.getListChildrenOfNode(node).length;
31951
31972
  var existGroup = ___namespace.cloneDeep(_this.getAllParentNode(node)
31952
- .map(function (item) { return _this.convertToNestedNode(item); })
31973
+ .map(function (item) {
31974
+ var nestedNode = _this.convertToNestedNode(item);
31975
+ nestedNode.groupId = item.groupId;
31976
+ nestedNode.isGroup = item.isGroup;
31977
+ return nestedNode;
31978
+ })
31953
31979
  .reverse()
31954
31980
  .find(function (x) { return x.isGroup; }));
31955
31981
  if (!!existGroup) {
@@ -31962,7 +31988,7 @@
31962
31988
  }
31963
31989
  _this._onSelectionNodeChangeEvent('updated', [groupResult]);
31964
31990
  // re-filter result selected
31965
- _this.resultSelected = _this.resultSelected.filter(function (item) { return !_this.getListChildrenOfNode(flatExistGroup_1).map(function (x) { return x.id; }).includes(item.id); });
31991
+ _this.resultSelected = _this.resultSelected.filter(function (item) { return item.disabled || !_this.getListChildrenOfNode(flatExistGroup_1).map(function (x) { return x.id; }).includes(item.id); });
31966
31992
  return;
31967
31993
  }
31968
31994
  if (checkExistInResult(node))
@@ -32069,7 +32095,7 @@
32069
32095
  name: x.name,
32070
32096
  }); }).reverse() : [];
32071
32097
  }
32072
- _this.resultSearch.push(Object.assign(Object.assign({}, item), { disabled: !_this.config.lazy && _this.config.checkSearchMappingTree && !node, location: __spreadArray(__spreadArray([], __read(location)), [
32098
+ _this.resultSearch.push(Object.assign(Object.assign({}, item), { disabled: item.disabled || !_this.config.lazy && _this.config.checkSearchMappingTree && !node, location: __spreadArray(__spreadArray([], __read(location)), [
32073
32099
  {
32074
32100
  id: item.id,
32075
32101
  name: item.name,
@@ -32137,14 +32163,18 @@
32137
32163
  return;
32138
32164
  if (this.isAllDepartmentSelected) {
32139
32165
  this.treeControl.dataNodes.forEach(function (node) {
32166
+ if (node.disabled)
32167
+ return;
32140
32168
  var nestedNode = _this.convertToNestedNode(node);
32141
32169
  nestedNode.isGroup = false;
32142
32170
  });
32143
- (_b = this.checkListSelection).deselect.apply(_b, __spreadArray([], __read(this.treeControl.dataNodes)));
32171
+ (_b = this.checkListSelection).deselect.apply(_b, __spreadArray([], __read(this.treeControl.dataNodes.filter(function (x) { return x.disabled; }))));
32144
32172
  return;
32145
32173
  }
32146
32174
  ;
32147
32175
  this.departmentRoots.forEach(function (node) {
32176
+ if (node.disabled)
32177
+ return;
32148
32178
  if (!_this.isIncludeChildren) {
32149
32179
  _this.treeControl.dataNodes.filter(function (x) { return !_this.isSelectedNode(x); })
32150
32180
  .forEach(function (x) { return _this.onCheckNode(x); });
@@ -32170,7 +32200,7 @@
32170
32200
  SelectDepartmentTreeComponent.prototype.onCheckNode = function (node, fireEventCheckNode) {
32171
32201
  var _this = this;
32172
32202
  if (fireEventCheckNode === void 0) { fireEventCheckNode = true; }
32173
- if (!node)
32203
+ if (!node || node.disabled)
32174
32204
  return;
32175
32205
  if (fireEventCheckNode)
32176
32206
  this.onCheckNodeEvent.emit(node);
@@ -32192,38 +32222,45 @@
32192
32222
  this.handleCheckNode(node);
32193
32223
  };
32194
32224
  SelectDepartmentTreeComponent.prototype._handleSelectOne = function (nodeId) {
32225
+ var _this = this;
32195
32226
  var nodeTree = this.treeControl.dataNodes.find(function (node) { return node.id === nodeId; });
32196
- var reSelectSelection = function () {
32227
+ var reSelectSelection = function (id) {
32197
32228
  var params = [];
32198
- for (var _i = 0; _i < arguments.length; _i++) {
32199
- params[_i] = arguments[_i];
32229
+ for (var _i = 1; _i < arguments.length; _i++) {
32230
+ params[_i - 1] = arguments[_i];
32200
32231
  }
32201
32232
  params.forEach(function (selection) {
32202
- var selected = selection.selected.filter(function (x) { return x.id !== nodeId; });
32233
+ var selected = selection.selected.filter(function (x) { return x.id != id; });
32203
32234
  selection.deselect.apply(selection, __spreadArray([], __read(selected)));
32204
32235
  });
32205
32236
  };
32206
32237
  if (!nodeTree) {
32207
- var item = this.checkListSelectionSearch.selected.find(function (x) { return x.id === nodeId; });
32208
- if (!item)
32209
- return;
32210
- this.resultSelected = [{
32211
- id: item.id,
32212
- parentId: item.parentId,
32213
- name: item.name,
32214
- externalName: item.externalName,
32215
- children: []
32216
- }];
32217
- this._selectedList = __spreadArray([], __read(this.resultSelected));
32218
- this.onValueChangeEvent.emit(this.resultSelected);
32219
- reSelectSelection(this.checkListSelection, this.checkListSelectionSearch);
32220
- this.cdRef.detectChanges();
32238
+ this.execWithoutEmitNodeChangeEvent(function () {
32239
+ var item = _this.checkListSelectionSearch.selected.find(function (x) { return x.id === nodeId; });
32240
+ if (!item) {
32241
+ _this.resultSelected = [];
32242
+ return;
32243
+ }
32244
+ _this.resultSelected = [{
32245
+ id: item.id,
32246
+ parentId: item.parentId,
32247
+ name: item.name,
32248
+ externalName: item.externalName,
32249
+ children: []
32250
+ }];
32251
+ _this._selectedList = __spreadArray([], __read(_this.resultSelected));
32252
+ _this.onValueChangeEvent.emit(_this.resultSelected);
32253
+ reSelectSelection(nodeId, _this.checkListSelection, _this.checkListSelectionSearch);
32254
+ _this.cdRef.detectChanges();
32255
+ });
32221
32256
  return;
32222
32257
  }
32223
32258
  if (this.isSelectedNode(nodeTree)) {
32224
- var nestedNode = this.convertToNestedNode(this.checkListSelection.selected[0]);
32259
+ var nestedNode = this.convertToNestedNode(this.checkListSelection.selected.find(function (x) { return x.id === nodeId; }));
32260
+ this.resultSelected = [Object.assign(Object.assign({}, nestedNode), { children: [] })];
32225
32261
  this._selectedList = __spreadArray([], __read(this.resultSelected));
32226
- reSelectSelection(this.checkListSelection, this.checkListSelectionSearch);
32262
+ reSelectSelection(nestedNode.id, this.checkListSelection, this.checkListSelectionSearch);
32263
+ this.onValueChangeEvent.emit(this.resultSelected);
32227
32264
  return;
32228
32265
  }
32229
32266
  this.resultSelected = [];
@@ -32323,16 +32360,17 @@
32323
32360
  var _b, _c, _d;
32324
32361
  var _this = this;
32325
32362
  var isSelected = this.isSelectedNode(node);
32326
- var childSelected = this.getChildrenSelected(node);
32363
+ var childSelected = this.getChildrenSelected(node).filter(function (x) { return !x.disabled; });
32327
32364
  var nestedNode = this.convertToNestedNode(node);
32328
32365
  if (isSelected) {
32329
32366
  // Check existed group
32330
- var existedGroup_1 = this.getAllParentNode(node).find(function (x) { return _this.convertToNestedNode(x).isGroup; });
32367
+ var allParenNodeIds_1 = this.getAllParentNode(node).map(function (x) { return x.id; });
32368
+ var existedGroup_1 = this.resultSelected.find(function (x) { return x.isGroup && allParenNodeIds_1.includes(x.id); });
32331
32369
  if (!this.isIncludeChildren) {
32332
32370
  nestedNode.groupId = existedGroup_1 === null || existedGroup_1 === void 0 ? void 0 : existedGroup_1.id;
32333
32371
  return;
32334
32372
  }
32335
- var children = this.getListChildrenOfNode(node);
32373
+ var children = this.getListChildrenOfNode(node).filter(function (x) { return !x.disabled; });
32336
32374
  nestedNode.isGroup = !existedGroup_1 && !!children.length;
32337
32375
  if (!children.length)
32338
32376
  return;
@@ -32462,6 +32500,8 @@
32462
32500
  };
32463
32501
  SelectDepartmentTreeComponent.prototype.onCheckItemSearchResult = function (item) {
32464
32502
  var _b;
32503
+ if (item.disabled)
32504
+ return;
32465
32505
  this.checkListSelectionSearch.toggle(item);
32466
32506
  if (this.config.isSelectOne) {
32467
32507
  (_b = this.checkListSelectionSearch).deselect.apply(_b, __spreadArray([], __read(this.checkListSelectionSearch.selected.filter(function (x) { return x.id != item.id; }))));
@@ -32620,6 +32660,8 @@
32620
32660
  var _loop_4 = function (i) {
32621
32661
  var _b;
32622
32662
  var item = this_2.resultSearch[i];
32663
+ if (item.disabled)
32664
+ return "continue";
32623
32665
  if (checked) {
32624
32666
  var treeNode = this_2.treeControl.dataNodes.find(function (node) { return node.id === item.id; });
32625
32667
  var canSelect = (!!treeNode || this_2.config.lazy);
@@ -32798,17 +32840,22 @@
32798
32840
  this.checkListSelection.toggle(node);
32799
32841
  //this.handleCheckNode(node);
32800
32842
  };
32843
+ SelectDepartmentTreeComponent.prototype.execWithoutEmitNodeChangeEvent = function (action) {
32844
+ this.lockHandleSelectionChange = true;
32845
+ action();
32846
+ this.lockHandleSelectionChange = false;
32847
+ };
32801
32848
  return SelectDepartmentTreeComponent;
32802
32849
  }());
32803
32850
  SelectDepartmentTreeComponent.decorators = [
32804
32851
  { type: i0.Component, args: [{
32805
32852
  selector: 'qms-select-department-tree',
32806
- template: "<div [ngClass]=\"['qms-select-department-tree-container', (config.customClass || '')]\">\r\n <div class=\"input-select-department\">\r\n <form (ngSubmit)=\"!getLoading$.value && onSearch()\" *ngIf=\"config.enableTreeSearch\" class=\"input-field\">\r\n <mat-form-field class=\"w100\" qms-form qms-search-field>\r\n <input [formControl]=\"formSearchControl\" type=\"text\" placeholder=\"Search\" matInput />\r\n <button *ngIf=\"!getLoading$.value\" type=\"submit\" qms-btn-icon color=\"light\" matSuffix>\r\n <mat-icon>search</mat-icon>\r\n </button>\r\n <mat-progress-spinner [@inOutAnimation] matSuffix mode=\"indeterminate\" diameter=\"20\"\r\n *ngIf=\"getLoading$.value\"></mat-progress-spinner>\r\n <div *ngIf=\"!!formSearchControl.value && !getLoading$.value\" qms-input-clear matSuffix>\r\n <button qms-btn-icon color=\"light\" [@inOutAnimation] aria-label=\"Clear\" (click)=\"formSearchControl.reset()\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n </mat-form-field>\r\n </form>\r\n <div [@inOutAnimation] *ngIf=\"(getIndexView$ | async) === 1 && (textSearchSubject$ | async)\"\r\n class=\"sub-text ms-1 fw500\">\r\n {{LANG.RESULT_SEARCH_FOR}}<i><b>\"{{textSearchSubject$ | async}}\"</b></i>\r\n </div>\r\n <div [class.justify-content-between]=\"config.enableIncludeChild && !config.isSelectOne\"\r\n class=\"select__toggle-include toggle-include-child my-1 d-flex justify-content-end align-items-center\">\r\n <mat-slide-toggle *ngIf=\"config.enableIncludeChild && !config.isSelectOne\"\r\n [disabled]=\"(getIndexView$ | async) === 1 && config.disableToggleIncludeChildWhenChangeView\"\r\n [(ngModel)]=\"isIncludeChildren\" (ngModelChange)=\"toggleIncludeChildEvent.emit($event)\" color=\"default\"\r\n qms-group-options>\r\n <span class=\"text-label\">{{config.selectIncludeLabel || LANG.SELECT_INCLUDE_CHILD}}</span>\r\n </mat-slide-toggle>\r\n <button class=\"btn-arrow\" [@inOutAnimation] *ngIf=\"(getIndexView$ | async) === 1 && config.enableTreeSearch\"\r\n (click)=\"setIndexView(0)\" qms-btn-icon color=\"light\" [qms-tool-tip]=\"LANG.BACK_TO_TREE\" mode=\"dark\"\r\n position=\"top\">\r\n <mat-icon>arrow_back</mat-icon>\r\n </button>\r\n <button class=\"btn-arrow\" [@inOutAnimation]\r\n *ngIf=\"(getIndexView$ | async) === 0 && config.enableTreeSearch && (textSearchSubject$ | async)\"\r\n (click)=\"setIndexView(1)\" qms-btn-icon color=\"light\" [qms-tool-tip]=\"LANG.GOTO_SEACH_RESULT\" mode=\"dark\"\r\n position=\"top\">\r\n <mat-icon>arrow_forward</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div [@inOutAnimation]\r\n *ngIf=\"(getIndexView$ | async) === 0 && config.modeView === MODE_VIEW_ENUM.ExternalView && !!config.headerName\"\r\n class=\"header-view-tree\">\r\n <div class=\"header-view header-title\">\r\n {{config.headerName.treeName}}\r\n </div>\r\n <div class=\"header-view header-title\">\r\n {{config.headerName.externalName}}\r\n </div>\r\n </div>\r\n <mat-divider class=\"mx-auto\"></mat-divider>\r\n <div [@animateSlideView]=\"(getIndexView$ | async)\" [ngStyle]=\"{\r\n minHeight: height\r\n }\" class=\"tree-department-wrapper\">\r\n <div *ngIf=\"(getIndexView$ | async) === 0\" class=\"tree-view w100 h100\">\r\n <div class=\"tree-view-main h100\">\r\n <div *ngIf=\"!config.isSelectOne && !!treeControl.dataNodes && config.activeSelectAllNode\"\r\n class=\"checkbox-all-tree\" [class.sticky-position]=\"config.modeView === MODE_VIEW_ENUM.ExternalView\">\r\n <!-- Checkbox all root node -->\r\n <mat-checkbox [@inOutAnimation] (click)=\"onCheckAllRootTreeNode()\"\r\n [indeterminate]=\"isIndeterminateCheckboxAllTree\" [checked]=\"isAllDepartmentSelected\" qms-group-options\r\n color=\"default\" label=\"none\" class=\"checkbox-all\">\r\n <span class=\"text-label \">{{LANG.CHOOSE_ALL}}</span>\r\n <span>(<b>{{treeControl.dataNodes.length}}</b>)</span>\r\n </mat-checkbox>\r\n <mat-divider class=\"mx-auto\"></mat-divider>\r\n </div>\r\n <cdk-virtual-scroll-viewport *ngIf=\"dataSource.data\" [ngClass]=\"{\r\n 'has-checkbox-all': !config.isSelectOne && config.modeView === MODE_VIEW_ENUM.Basic,\r\n 'select-department-tree': true\r\n }\" [itemSize]=\"ITEM_SIZE\" [ngStyle]=\"{height: height}\">\r\n <ng-container *cdkVirtualFor=\"let node of dataSource; trackBy: trackBy\">\r\n <div class=\"qms-tree-node mt-1\" [style.padding-left]=\"node.level * (config.isMobile ? 12 :24) + 'px'\"\r\n [attr.data-id]=\"node.id\" [id]=\"'mat-node-'+node.id\" [@triggerColor]=\"activeNode == node.id\" [ngClass]=\"{\r\n 'mat-tree-node-disabled-all': node.disabled,\r\n 'w-100': config.isSelectOne,\r\n 'selected-theme': this.checkListSelection.isSelected(node) && config.isSelectOne,\r\n 'expand-node': treeControl.isExpandable(node) && treeControl.isExpanded(node),\r\n 'active-external-view': config.modeView === MODE_VIEW_ENUM.ExternalView,\r\n 'node-loading': node.isLoading\r\n }\">\r\n <div class=\"node-expand-area\">\r\n <button class=\"btn-toggle\" qms-btn-icon color=\"light\" (click)=\"onExpandNode(node)\"\r\n *ngIf=\"treeControl.isExpandable(node) && !node.isLoading\">\r\n <mat-icon>\r\n {{ treeControl.isExpanded(node) ? \"expand_more\" : \"chevron_right\" }}\r\n </mat-icon>\r\n </button>\r\n <ng-container *ngIf=\"node.isLoading; then loadingSpinner\"></ng-container>\r\n </div>\r\n <ng-container [ngTemplateOutlet]=\"config.isSelectOne ? nodeWithoutCheckboxTemplate : showCheckboxTemplate\"\r\n [ngTemplateOutletContext]=\"{ node: node }\"></ng-container>\r\n <div *ngIf=\"config.modeView === MODE_VIEW_ENUM.ExternalView\" class=\"external-view-node\">\r\n <span class=\"node-external\" qms-elipsify position=\"top\" mode=\"dark\">\r\n {{node.externalName || ''}}\r\n </span>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </cdk-virtual-scroll-viewport>\r\n <ng-container [@inOutAnimation] *ngIf=\"config.spinnerWhenGetMore && getLoadingMore$| async ;then maskOverlay\">\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div *ngIf=\"(getIndexView$ | async) === 1\" [ngStyle]=\"{\r\n height: height\r\n }\" class=\"qms-view-search-result\">\r\n <div *ngIf=\"config.modeView === MODE_VIEW_ENUM.ExternalView\"\r\n class=\"qms-view-search-result__header d-flex align-items-center justify-content-between\">\r\n <div class=\"header-title\">\r\n <span qms-elipsify mode=\"dark\" position=\"top\">\r\n {{config.headerName.resultSearchName}}\r\n </span>\r\n </div>\r\n <div class=\"header-title\">\r\n <span qms-elipsify mode=\"dark\" position=\"top\">\r\n {{config.headerName.externalName}}\r\n </span>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"getLoading$.value; then loading\"></ng-container>\r\n <div class=\"qms-view-search-result__wrapper\"\r\n [class.active-external]=\"config.modeView === MODE_VIEW_ENUM.ExternalView\"\r\n *ngIf=\"!!resultSearch.length && !getLoading$.value\">\r\n <div class=\"\">\r\n <mat-checkbox [@inOutAnimation]\r\n [disabled]=\"!resultSearch.length || config.isSelectOne || isDisableChecboxAllSearch()\" #checkAllSearch\r\n [indeterminate]=\"indeterminateSearchResult\" [checked]=\"isSelectAllResultSearch\" qms-group-options\r\n color=\"default\" label=\"none\" class=\"checkbox-all\"\r\n (click)=\"!config.isSelectOne && onSelectAllSearchResult(checkAllSearch.checked)\">\r\n <span class=\"text-label header-title\">{{LANG.CHOOSE_ALL}}</span>\r\n <span>(<b>{{resultSearch.length}}</b>)</span>\r\n </mat-checkbox>\r\n </div>\r\n <div [@inOutAnimation] [@listAnimation]\r\n [class.active-paging]=\"searchDepartment$.value.length > 10 && config.enablePagingSearch\" class=\"result\">\r\n <div [qms-tool-tip]=\"!canHandleItemSearchResult(item) ? LANG.ITEM_NOT_MATCH_TO_TREE : ''\" mode=\"dark\"\r\n position=\"top\" *ngFor=\"let item of resultSearch\"\r\n (click)=\"$event.stopImmediatePropagation(); !item.disabled && onCheckItemSearchResult(item)\"\r\n [class.active]=\"checkListSelectionSearch.isSelected(item)\" class=\"result-item user-select-none\" matRipple>\r\n <mat-checkbox [@inOutAnimation] *ngIf=\"!item.isLoading\" [disabled]=\"item.disabled\"\r\n (click)=\"$event.stopImmediatePropagation(); !item.disabled && onCheckItemSearchResult(item)\"\r\n [checked]=\"checkListSelectionSearch.isSelected(item)\" qms-group-options color=\"default\" label=\"none\">\r\n </mat-checkbox>\r\n <div *ngIf=\"item.isLoading\" [@inOutAnimation] class=\"position-relative\">\r\n <ng-container *ngIf=\"item.isLoading; then loadingSpinner\"></ng-container>\r\n </div>\r\n <div class=\"result-item__content\">\r\n <div class=\"item-result-content-wraper\">\r\n <div class=\"text-gray fw-bold fs-base mb0\">{{item.name}}</div>\r\n <qms-breadcrumb *ngIf=\"item.location?.length > 1\" [type]=\"config.isMobile ? 'mobile': ''\"\r\n [numDisplayItem]=\"6\" (onItemClick)=\"$event.stopImmediatePropagation()\" class=\"breadcrumb-container\"\r\n [nodes]=\"item.location\">\r\n </qms-breadcrumb>\r\n <div *ngIf=\"item.location?.length === 1\" class=\"d-flex align-items-center\">\r\n <span qms-elipsify mode=\"dark\" position=\"top\"\r\n class=\"item-breadcrumb-disable d-block\">{{item.location[0].name}}</span>\r\n </div>\r\n </div>\r\n <div *ngIf=\"config.modeView === MODE_VIEW_ENUM.ExternalView\" class=\"external-name\">\r\n <span qms-elipsify mode=\"dark\" position=\"top\" class=\"text-gray fs-base mb0\">{{item.externalName}}\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div [@inOutAnimation] *ngIf=\"!resultSearch.length && !getLoading$.value\" class=\"result no-result\">\r\n <ng-container *ngTemplateOutlet=\"noResult\"></ng-container>\r\n </div>\r\n <mat-divider *ngIf=\"searchDepartment$.value.length > 10 && config.enablePagingSearch\"\r\n class=\"mx-auto\"></mat-divider>\r\n <qms-paginator #paginatorSearch *ngIf=\"searchDepartment$.value.length > 10 && config.enablePagingSearch \"\r\n [length]=\"searchDepartment$.value.length\" [numHidden]=\"0\" [pageSize]=\"CURRENT_PAGESIZE\"\r\n [pageSizeOptions]=\"PAGE_SIZE_OPTION\" (page)='onPagingSearchResult($event)'\r\n [size]='config.isMobile ? PAGINATION_SIZE.small : PAGINATION_SIZE.medium'>\r\n </qms-paginator>\r\n </div>\r\n </div>\r\n\r\n <!-- Template for Checkbox -->\r\n <ng-template #showCheckboxTemplate let-node=\"node\">\r\n <mat-checkbox [id]=\"'node-'+node.id\" qms-group-options color=\"default\" label=\"none\" class=\"flex-direction-row\"\r\n [disabled]=\"node.isLoading\" [checked]=\"checkListSelection.isSelected(node)\"\r\n (click)=\"!node.isLoading && onCheckNode(node)\" [attr.disabled]=\"node.disabled || node.isLoading\">\r\n <img [title]=\"node.itemIconSvg\" *ngIf=\"node.itemIconSvg\" class=\"material-icons type-icon\"\r\n [src]=\"node.itemIconSvg\" />\r\n <span *ngIf=\"node.itemIcon\" [class]=\"node.itemIcon\" [qmsTransformIcon]=\"node.itemIcon\"\r\n class=\"material-icons-outlined type-icon\"></span>\r\n <span *ngIf=\"node.itemMatIcon\" class=\"material-icons-outlined type-icon\">{{\r\n node.itemMatIcon }}\r\n </span>\r\n <span class=\"text-name cursor-pointer ml5 123\" [ngClass]=\"{ disabled: node.disabled }\">{{ node.name}}\r\n </span>\r\n </mat-checkbox>\r\n </ng-template>\r\n\r\n <!-- Template node without checkbox -->\r\n <ng-template #nodeWithoutCheckboxTemplate let-node=\"node\">\r\n <div [id]=\"'node-'+node.id\" (click)=\"onCheckNode(node)\" class=\"node-without-checkbox\">\r\n <div class=\"node-info\">\r\n <span *ngIf=\"node.itemIcon\" [class]=\"node.itemIcon\" [qmsTransformIcon]=\"node.itemIcon\"\r\n class=\"material-icons-outlined type-icon\"></span>\r\n <span *ngIf=\"node.itemMatIcon\" class=\"material-icons-outlined type-icon\">{{\r\n node.itemMatIcon }}\r\n </span>\r\n <span class=\"text-name cursor-pointer pl-10 123\" [ngClass]=\"{ disabled: node.disabled }\">{{ node.name }}</span>\r\n </div>\r\n <div class=\"node-state\">\r\n <mat-icon *ngIf=\"checkListSelection.isSelected(node)\">check</mat-icon>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</div>\r\n\r\n<ng-template #noResult>\r\n <svg width=\"89\" height=\"130\" viewBox=\"0 0 89 88\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"0.5\" width=\"88\" height=\"88\" rx=\"44\" fill=\"white\" />\r\n <rect x=\"0.5\" width=\"88\" height=\"88\" rx=\"44\" fill=\"#0163B2\" fill-opacity=\"0.12\" />\r\n <path\r\n d=\"M44.5 56.6936L58.096 64.8996L54.488 49.4336L66.5 39.0276L50.682 37.6856L44.5 23.0996L38.318 37.6856L22.5 39.0276L34.512 49.4336L30.904 64.8996L44.5 56.6936Z\"\r\n fill=\"#0163B3\" />\r\n <text x=\"10\" y=\"105\" fill=\"#0163B2\">{{LANG.NO_RESULT}}</text>\r\n </svg>\r\n</ng-template>\r\n\r\n<!-- Template loading -->\r\n<ng-template #loading>\r\n <div [ngStyle]=\"{\r\n 'height': searchDepartment$.value.length ? (config.modeView === MODE_VIEW_ENUM.ExternalView ? 'calc(100% - 90px)' : 'calc(100% - 50px)' ) : height\r\n }\" class=\"qms-loading-container\">\r\n <div class=\"qms-loader\" *ngFor=\"let item of arrSkeleton\">\r\n <div class=\"qms-loader__wrapper\">\r\n <div class=\"row-loader\">\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- Template mask overlay -->\r\n<ng-template #maskOverlay>\r\n <div class=\"mask-overlay\">\r\n <mat-spinner [diameter]=\"50\" [strokeWidth]=\"5\" color=\"primary\"></mat-spinner>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- Loading spinner -->\r\n<ng-template #loadingSpinner>\r\n <div class=\"qms-spinner center\">\r\n <mat-spinner [diameter]=\"20\" [strokeWidth]=\"2\"></mat-spinner>\r\n </div>\r\n</ng-template>",
32853
+ template: "<div [ngClass]=\"['qms-select-department-tree-container', (config.customClass || '')]\">\r\n <div class=\"input-select-department\">\r\n <form (ngSubmit)=\"!getLoading$.value && onSearch()\" *ngIf=\"config.enableTreeSearch\" class=\"input-field\">\r\n <mat-form-field class=\"w100\" qms-form qms-search-field>\r\n <input [formControl]=\"formSearchControl\" type=\"text\" placeholder=\"Search\" matInput />\r\n <button *ngIf=\"!getLoading$.value\" type=\"submit\" qms-btn-icon color=\"light\" matSuffix>\r\n <mat-icon>search</mat-icon>\r\n </button>\r\n <mat-progress-spinner [@inOutAnimation] matSuffix mode=\"indeterminate\" diameter=\"20\"\r\n *ngIf=\"getLoading$.value\"></mat-progress-spinner>\r\n <div *ngIf=\"!!formSearchControl.value && !getLoading$.value\" qms-input-clear matSuffix>\r\n <button qms-btn-icon color=\"light\" [@inOutAnimation] aria-label=\"Clear\" (click)=\"formSearchControl.reset()\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n </mat-form-field>\r\n </form>\r\n <div [@inOutAnimation] *ngIf=\"(getIndexView$ | async) === 1 && (textSearchSubject$ | async)\"\r\n class=\"sub-text ms-1 fw500\">\r\n {{LANG.RESULT_SEARCH_FOR}}<i><b>\"{{textSearchSubject$ | async}}\"</b></i>\r\n </div>\r\n <div [class.justify-content-between]=\"config.enableIncludeChild && !config.isSelectOne\"\r\n class=\"select__toggle-include toggle-include-child my-1 d-flex justify-content-end align-items-center\">\r\n <mat-slide-toggle *ngIf=\"config.enableIncludeChild && !config.isSelectOne\"\r\n [disabled]=\"(getIndexView$ | async) === 1 && config.disableToggleIncludeChildWhenChangeView\"\r\n [(ngModel)]=\"isIncludeChildren\" (ngModelChange)=\"toggleIncludeChildEvent.emit($event)\" color=\"default\"\r\n qms-group-options>\r\n <span class=\"text-label\">{{config.selectIncludeLabel || LANG.SELECT_INCLUDE_CHILD}}</span>\r\n </mat-slide-toggle>\r\n <button class=\"btn-arrow\" [@inOutAnimation] *ngIf=\"(getIndexView$ | async) === 1 && config.enableTreeSearch\"\r\n (click)=\"setIndexView(0)\" qms-btn-icon color=\"light\" [qms-tool-tip]=\"LANG.BACK_TO_TREE\" mode=\"dark\"\r\n position=\"top\">\r\n <mat-icon>arrow_back</mat-icon>\r\n </button>\r\n <button class=\"btn-arrow\" [@inOutAnimation]\r\n *ngIf=\"(getIndexView$ | async) === 0 && config.enableTreeSearch && (textSearchSubject$ | async)\"\r\n (click)=\"setIndexView(1)\" qms-btn-icon color=\"light\" [qms-tool-tip]=\"LANG.GOTO_SEACH_RESULT\" mode=\"dark\"\r\n position=\"top\">\r\n <mat-icon>arrow_forward</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div [@inOutAnimation]\r\n *ngIf=\"(getIndexView$ | async) === 0 && config.modeView === MODE_VIEW_ENUM.ExternalView && !!config.headerName\"\r\n class=\"header-view-tree\">\r\n <div class=\"header-view header-title\">\r\n {{config.headerName.treeName}}\r\n </div>\r\n <div class=\"header-view header-title\">\r\n {{config.headerName.externalName}}\r\n </div>\r\n </div>\r\n <mat-divider class=\"mx-auto\"></mat-divider>\r\n <div [@animateSlideView]=\"(getIndexView$ | async)\" [ngStyle]=\"{\r\n minHeight: height\r\n }\" class=\"tree-department-wrapper\">\r\n <div *ngIf=\"(getIndexView$ | async) === 0\" class=\"tree-view w100 h100\">\r\n <div class=\"tree-view-main h100\">\r\n <div *ngIf=\"!config.isSelectOne && !!treeControl.dataNodes && config.activeSelectAllNode\"\r\n class=\"checkbox-all-tree\" [class.sticky-position]=\"config.modeView === MODE_VIEW_ENUM.ExternalView\">\r\n <!-- Checkbox all root node -->\r\n <mat-checkbox [@inOutAnimation] (click)=\"onCheckAllRootTreeNode()\"\r\n [indeterminate]=\"isIndeterminateCheckboxAllTree\" [checked]=\"isAllDepartmentSelected\" qms-group-options\r\n color=\"default\" label=\"none\" class=\"checkbox-all\">\r\n <span class=\"text-label \">{{LANG.CHOOSE_ALL}}</span>\r\n <span>(<b>{{treeControl.dataNodes.length}}</b>)</span>\r\n </mat-checkbox>\r\n <mat-divider class=\"mx-auto\"></mat-divider>\r\n </div>\r\n <cdk-virtual-scroll-viewport *ngIf=\"dataSource.data\" [ngClass]=\"{\r\n 'has-checkbox-all': !config.isSelectOne && config.modeView === MODE_VIEW_ENUM.Basic,\r\n 'select-department-tree': true\r\n }\" [itemSize]=\"ITEM_SIZE\" [ngStyle]=\"{height: height}\">\r\n <ng-container *cdkVirtualFor=\"let node of dataSource; trackBy: trackBy\">\r\n <div class=\"qms-tree-node mt-1\" [style.padding-left]=\"node.level * (config.isMobile ? 12 :24) + 'px'\"\r\n [attr.data-id]=\"node.id\" [id]=\"'mat-node-'+node.id\" [@triggerColor]=\"activeNode == node.id\" [ngClass]=\"{\r\n 'w-100': config.isSelectOne,\r\n 'selected-theme': this.checkListSelection.isSelected(node) && config.isSelectOne,\r\n 'expand-node': treeControl.isExpandable(node) && treeControl.isExpanded(node),\r\n 'active-external-view': config.modeView === MODE_VIEW_ENUM.ExternalView,\r\n 'node-loading': node.isLoading\r\n }\">\r\n <div class=\"node-expand-area\">\r\n <button class=\"btn-toggle\" qms-btn-icon color=\"light\" (click)=\"onExpandNode(node)\"\r\n *ngIf=\"treeControl.isExpandable(node) && !node.isLoading\">\r\n <mat-icon>\r\n {{ treeControl.isExpanded(node) ? node?.expandIcon?.collapse : node?.expandIcon?.expand }}\r\n </mat-icon>\r\n </button>\r\n <ng-container *ngIf=\"node.isLoading; then loadingSpinner\"></ng-container>\r\n </div>\r\n <ng-container [ngTemplateOutlet]=\"config.isSelectOne ? nodeWithoutCheckboxTemplate : showCheckboxTemplate\"\r\n [ngTemplateOutletContext]=\"{ node: node }\"></ng-container>\r\n <div *ngIf=\"config.modeView === MODE_VIEW_ENUM.ExternalView\" class=\"external-view-node\">\r\n <span class=\"node-external\" qms-elipsify position=\"top\" mode=\"dark\">\r\n {{node.externalName || ''}}\r\n </span>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </cdk-virtual-scroll-viewport>\r\n <ng-container [@inOutAnimation] *ngIf=\"config.spinnerWhenGetMore && getLoadingMore$| async ;then maskOverlay\">\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div *ngIf=\"(getIndexView$ | async) === 1\" [ngStyle]=\"{\r\n height: height\r\n }\" class=\"qms-view-search-result\">\r\n <div *ngIf=\"config.modeView === MODE_VIEW_ENUM.ExternalView\"\r\n class=\"qms-view-search-result__header d-flex align-items-center justify-content-between\">\r\n <div class=\"header-title\">\r\n <span qms-elipsify mode=\"dark\" position=\"top\">\r\n {{config.headerName.resultSearchName}}\r\n </span>\r\n </div>\r\n <div class=\"header-title\">\r\n <span qms-elipsify mode=\"dark\" position=\"top\">\r\n {{config.headerName.externalName}}\r\n </span>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"getLoading$.value; then loading\"></ng-container>\r\n <div class=\"qms-view-search-result__wrapper\"\r\n [class.active-external]=\"config.modeView === MODE_VIEW_ENUM.ExternalView\"\r\n *ngIf=\"!!resultSearch.length && !getLoading$.value\">\r\n <div class=\"\">\r\n <mat-checkbox [@inOutAnimation]\r\n [disabled]=\"!resultSearch.length || config.isSelectOne || isDisableChecboxAllSearch()\" #checkAllSearch\r\n [indeterminate]=\"indeterminateSearchResult\" [checked]=\"isSelectAllResultSearch\" qms-group-options\r\n color=\"default\" label=\"none\" class=\"checkbox-all\"\r\n (click)=\"!config.isSelectOne && onSelectAllSearchResult(checkAllSearch.checked)\">\r\n <span class=\"text-label header-title\">{{LANG.CHOOSE_ALL}}</span>\r\n <span>(<b>{{resultSearch.length}}</b>)</span>\r\n </mat-checkbox>\r\n </div>\r\n <div [@inOutAnimation] [@listAnimation]\r\n [class.active-paging]=\"searchDepartment$.value.length > 10 && config.enablePagingSearch\" class=\"result\">\r\n <div [qms-tool-tip]=\"!canHandleItemSearchResult(item) ? LANG.ITEM_NOT_MATCH_TO_TREE : ''\" mode=\"dark\"\r\n position=\"top\" *ngFor=\"let item of resultSearch\"\r\n (click)=\"$event.stopImmediatePropagation(); !item.disabled && onCheckItemSearchResult(item)\"\r\n [class.active]=\"checkListSelectionSearch.isSelected(item)\" class=\"result-item user-select-none\" matRipple>\r\n <mat-checkbox [@inOutAnimation] *ngIf=\"!item.isLoading\" [disabled]=\"item.disabled\"\r\n (click)=\"$event.stopImmediatePropagation(); !item.disabled && onCheckItemSearchResult(item)\"\r\n [checked]=\"checkListSelectionSearch.isSelected(item)\" qms-group-options color=\"default\" label=\"none\">\r\n </mat-checkbox>\r\n <div *ngIf=\"item.isLoading\" [@inOutAnimation] class=\"position-relative\">\r\n <ng-container *ngIf=\"item.isLoading; then loadingSpinner\"></ng-container>\r\n </div>\r\n <div class=\"result-item__content\">\r\n <div class=\"item-result-content-wraper\">\r\n <div class=\"text-gray fw-bold fs-base mb0\">{{item.name}}</div>\r\n <qms-breadcrumb *ngIf=\"item.location?.length > 1\" [type]=\"config.isMobile ? 'mobile': ''\"\r\n [numDisplayItem]=\"6\" (onItemClick)=\"$event.stopImmediatePropagation()\" class=\"breadcrumb-container\"\r\n [nodes]=\"item.location\">\r\n </qms-breadcrumb>\r\n <div *ngIf=\"item.location?.length === 1\" class=\"d-flex align-items-center\">\r\n <span qms-elipsify mode=\"dark\" position=\"top\"\r\n class=\"item-breadcrumb-disable d-block\">{{item.location[0].name}}</span>\r\n </div>\r\n </div>\r\n <div *ngIf=\"config.modeView === MODE_VIEW_ENUM.ExternalView\" class=\"external-name\">\r\n <span qms-elipsify mode=\"dark\" position=\"top\" class=\"text-gray fs-base mb0\">{{item.externalName}}\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div [@inOutAnimation] *ngIf=\"!resultSearch.length && !getLoading$.value\" class=\"result no-result\">\r\n <ng-container *ngTemplateOutlet=\"noResult\"></ng-container>\r\n </div>\r\n <mat-divider *ngIf=\"searchDepartment$.value.length > 10 && config.enablePagingSearch\"\r\n class=\"mx-auto\"></mat-divider>\r\n <qms-paginator #paginatorSearch *ngIf=\"searchDepartment$.value.length > 10 && config.enablePagingSearch \"\r\n [length]=\"searchDepartment$.value.length\" [numHidden]=\"0\" [pageSize]=\"CURRENT_PAGESIZE\"\r\n [pageSizeOptions]=\"PAGE_SIZE_OPTION\" (page)='onPagingSearchResult($event)'\r\n [size]='config.isMobile ? PAGINATION_SIZE.small : PAGINATION_SIZE.medium'>\r\n </qms-paginator>\r\n </div>\r\n </div>\r\n\r\n <!-- Template for Checkbox -->\r\n <ng-template #showCheckboxTemplate let-node=\"node\">\r\n <mat-checkbox [id]=\"'node-'+node.id\" qms-group-options color=\"default\" label=\"none\" class=\"flex-direction-row\"\r\n [disabled]=\"node.isLoading || node.disabled\" [checked]=\"checkListSelection.isSelected(node)\"\r\n (click)=\"!node.isLoading && onCheckNode(node)\" [attr.disabled]=\"node.disabled || node.isLoading\">\r\n <img [title]=\"node.itemIconSvg\" *ngIf=\"node.itemIconSvg\" class=\"material-icons type-icon\"\r\n [src]=\"node.itemIconSvg\" />\r\n <span *ngIf=\"node.itemIcon\" [class]=\"node.itemIcon\" [qmsTransformIcon]=\"node.itemIcon\"\r\n class=\"material-icons-outlined type-icon\"></span>\r\n <span *ngIf=\"node.itemMatIcon\" class=\"material-icons-outlined type-icon\">{{\r\n node.itemMatIcon }}\r\n </span>\r\n <div class=\"node-text\" [ngStyle]=\"{\r\n maxWidth: (maxWidthNode - 20*node.level)+ 'px'\r\n }\">\r\n <span qms-elipsify [mode]=\"'dark'\" position=\"top\" class=\"text-name cursor-pointer ml5 123\" [ngClass]=\"{ disabled: node.disabled}\">{{ node.name}}\r\n </span>\r\n </div>\r\n </mat-checkbox>\r\n </ng-template>\r\n\r\n <!-- Template node without checkbox -->\r\n <ng-template #nodeWithoutCheckboxTemplate let-node=\"node\">\r\n <div [id]=\"'node-'+node.id\" (click)=\"onCheckNode(node)\" class=\"node-without-checkbox\">\r\n <div class=\"node-info\">\r\n <span *ngIf=\"node.itemIcon\" [class]=\"node.itemIcon\" [qmsTransformIcon]=\"node.itemIcon\"\r\n class=\"material-icons-outlined type-icon\"></span>\r\n <span *ngIf=\"node.itemMatIcon\" class=\"material-icons-outlined type-icon\">{{\r\n node.itemMatIcon }}\r\n </span>\r\n <span class=\"text-name cursor-pointer pl-10 123\" [ngClass]=\"{ disabled: node.disabled }\">{{ node.name }}</span>\r\n </div>\r\n <div class=\"node-state\">\r\n <mat-icon *ngIf=\"checkListSelection.isSelected(node)\">check</mat-icon>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</div>\r\n\r\n<ng-template #noResult>\r\n <svg width=\"89\" height=\"130\" viewBox=\"0 0 89 88\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"0.5\" width=\"88\" height=\"88\" rx=\"44\" fill=\"white\" />\r\n <rect x=\"0.5\" width=\"88\" height=\"88\" rx=\"44\" fill=\"#0163B2\" fill-opacity=\"0.12\" />\r\n <path\r\n d=\"M44.5 56.6936L58.096 64.8996L54.488 49.4336L66.5 39.0276L50.682 37.6856L44.5 23.0996L38.318 37.6856L22.5 39.0276L34.512 49.4336L30.904 64.8996L44.5 56.6936Z\"\r\n fill=\"#0163B3\" />\r\n <text x=\"10\" y=\"105\" fill=\"#0163B2\">{{LANG.NO_RESULT}}</text>\r\n </svg>\r\n</ng-template>\r\n\r\n<!-- Template loading -->\r\n<ng-template #loading>\r\n <div [ngStyle]=\"{\r\n 'height': searchDepartment$.value.length ? (config.modeView === MODE_VIEW_ENUM.ExternalView ? 'calc(100% - 90px)' : 'calc(100% - 50px)' ) : height\r\n }\" class=\"qms-loading-container\">\r\n <div class=\"qms-loader\" *ngFor=\"let item of arrSkeleton\">\r\n <div class=\"qms-loader__wrapper\">\r\n <div class=\"row-loader\">\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- Template mask overlay -->\r\n<ng-template #maskOverlay>\r\n <div class=\"mask-overlay\">\r\n <mat-spinner [diameter]=\"50\" [strokeWidth]=\"5\" color=\"primary\"></mat-spinner>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- Loading spinner -->\r\n<ng-template #loadingSpinner>\r\n <div class=\"qms-spinner center\">\r\n <mat-spinner [diameter]=\"20\" [strokeWidth]=\"2\"></mat-spinner>\r\n </div>\r\n</ng-template>\r\n",
32807
32854
  animations: [
32808
32855
  AnimationTreeDepartment
32809
32856
  ],
32810
32857
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
32811
- styles: ["@charset \"UTF-8\";@font-face{font-family:icomoon;src:url(../assets/fonts/icomoon.eot?aghldx);src:url(../assets/fonts/icomoon.eot?aghldx#iefix) format(\"embedded-opentype\"),url(../assets/fonts/icomoon.ttf?aghldx) format(\"truetype\"),url(../assets/fonts/icomoon.woff?aghldx) format(\"woff\"),url(../assets/fonts/icomoon.svg?aghldx#icomoon) format(\"svg\");font-weight:400;font-style:normal;font-display:block}[class*=\" icon-\"],[class^=icon-]{font-family:icomoon!important;speak:never;font-style:normal;font-weight:400;font-feature-settings:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-acutely-toxic .path1:before{content:\"\uE91B\";color:#e32730}.icon-acutely-toxic .path2:before{content:\"\uE922\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path3:before{content:\"\uE923\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path4:before{content:\"\uE924\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path5:before{content:\"\uE925\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path6:before{content:\"\uE926\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path7:before{content:\"\uE927\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path8:before{content:\"\uE928\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path9:before{content:\"\uE929\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path10:before{content:\"\uE92A\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path11:before{content:\"\uE92B\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path12:before{content:\"\uE92C\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path13:before{content:\"\uE92D\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path14:before{content:\"\uE92E\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path15:before{content:\"\uE92F\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path16:before{content:\"\uE930\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path17:before{content:\"\uE931\";margin-left:-1em;color:#323232}.icon-add-column:before{content:\"\uE932\"}.icon-add-tooltip:before{content:\"\uE933\"}.icon-admin:before{content:\"\uE934\"}.icon-annual-cycle:before{content:\"\uE935\"}.icon-assignment-repete:before{content:\"\uE936\"}.icon-barrier-add:before{content:\"\uE937\"}.icon-barrier-edit:before{content:\"\uE938\"}.icon-barrier-view:before{content:\"\uE939\"}.icon-button-group:before{content:\"\uE93A\"}.icon-chemical-manager:before{content:\"\uE93B\"}.icon-chronic-health-hazard .path1:before{content:\"\uE93C\";color:#e32730}.icon-chronic-health-hazard .path2:before{content:\"\uE93D\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path3:before{content:\"\uE93E\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path4:before{content:\"\uE93F\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path5:before{content:\"\uE940\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path6:before{content:\"\uE941\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path7:before{content:\"\uE942\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path8:before{content:\"\uE943\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path9:before{content:\"\uE944\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path10:before{content:\"\uE945\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path11:before{content:\"\uE946\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path12:before{content:\"\uE947\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path13:before{content:\"\uE948\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path14:before{content:\"\uE949\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path15:before{content:\"\uE94A\";margin-left:-1em;color:#323232}.icon-contingency:before{content:\"\uE94B\"}.icon-corrosive .path1:before{content:\"\uE94C\";color:#323232}.icon-corrosive .path2:before{content:\"\uE94D\";margin-left:-1em;color:#323232}.icon-corrosive .path3:before{content:\"\uE94E\";margin-left:-1em;color:#323232}.icon-corrosive .path4:before{content:\"\uE94F\";margin-left:-1em;color:#323232}.icon-corrosive .path5:before{content:\"\uE950\";margin-left:-1em;color:#323232}.icon-corrosive .path6:before{content:\"\uE951\";margin-left:-1em;color:#323232}.icon-corrosive .path7:before{content:\"\uE952\";margin-left:-1em;color:#323232}.icon-corrosive .path8:before{content:\"\uE953\";margin-left:-1em;color:#323232}.icon-corrosive .path9:before{content:\"\uE954\";margin-left:-1em;color:#323232}.icon-corrosive .path10:before{content:\"\uE955\";margin-left:-1em;color:#323232}.icon-corrosive .path11:before{content:\"\uE956\";margin-left:-1em;color:#323232}.icon-corrosive .path12:before{content:\"\uE957\";margin-left:-1em;color:#323232}.icon-corrosive .path13:before{content:\"\uE958\";margin-left:-1em;color:#323232}.icon-corrosive .path14:before{content:\"\uE959\";margin-left:-1em;color:#323232}.icon-corrosive .path15:before{content:\"\uE95A\";margin-left:-1em;color:#323232}.icon-corrosive .path16:before{content:\"\uE95B\";margin-left:-1em;color:#323232}.icon-corrosive .path17:before{content:\"\uE95C\";margin-left:-1em;color:#323232}.icon-corrosive .path18:before{content:\"\uE95D\";margin-left:-1em;color:#323232}.icon-corrosive .path19:before{content:\"\uE95E\";margin-left:-1em;color:#323232}.icon-corrosive .path20:before{content:\"\uE95F\";margin-left:-1em;color:#323232}.icon-corrosive .path21:before{content:\"\uE960\";margin-left:-1em;color:#e32730}.icon-dashboard:before{content:\"\uE961\"}.icon-database-sds:before{content:\"\uE962\"}.icon-description-add:before{content:\"\uE963\"}.icon-description-edit:before{content:\"\uE964\"}.icon-description-view:before{content:\"\uE965\";color:#666}.icon-document-read .path1:before{content:\"\uE966\";color:#000;opacity:.6}.icon-document-read .path2:before{content:\"\uE967\";margin-left:-1em;color:#fff}.icon-document-read .path3:before{content:\"\uE968\";margin-left:-1em;color:#000;opacity:.6}.icon-draft:before{content:\"\uE969\"}.icon-expired-off:before{content:\"\uE96A\"}.icon-expired-on:before{content:\"\uE96B\"}.icon-explosive .path1:before{content:\"\uE96C\";color:#e32730}.icon-explosive .path2:before{content:\"\uE96D\";margin-left:-1em;color:#323232}.icon-explosive .path3:before{content:\"\uE96E\";margin-left:-1em;color:#323232}.icon-explosive .path4:before{content:\"\uE96F\";margin-left:-1em;color:#323232}.icon-explosive .path5:before{content:\"\uE970\";margin-left:-1em;color:#323232}.icon-explosive .path6:before{content:\"\uE971\";margin-left:-1em;color:#323232}.icon-explosive .path7:before{content:\"\uE972\";margin-left:-1em;color:#323232}.icon-explosive .path8:before{content:\"\uE973\";margin-left:-1em;color:#323232}.icon-explosive .path9:before{content:\"\uE974\";margin-left:-1em;color:#323232}.icon-explosive .path10:before{content:\"\uE975\";margin-left:-1em;color:#323232}.icon-explosive .path11:before{content:\"\uE976\";margin-left:-1em;color:#323232}.icon-explosive .path12:before{content:\"\uE977\";margin-left:-1em;color:#323232}.icon-explosive .path13:before{content:\"\uE978\";margin-left:-1em;color:#323232}.icon-explosive .path14:before{content:\"\uE979\";margin-left:-1em;color:#323232}.icon-explosive .path15:before{content:\"\uE97A\";margin-left:-1em;color:#323232}.icon-explosive .path16:before{content:\"\uE97B\";margin-left:-1em;color:#323232}.icon-explosive .path17:before{content:\"\uE97C\";margin-left:-1em;color:#323232}.icon-explosive .path18:before{content:\"\uE97D\";margin-left:-1em;color:#323232}.icon-explosive .path19:before{content:\"\uE97E\";margin-left:-1em;color:#323232}.icon-explosive .path20:before{content:\"\uE97F\";margin-left:-1em;color:#323232}.icon-explosive .path21:before{content:\"\uE980\";margin-left:-1em;color:#323232}.icon-explosive .path22:before{content:\"\uE981\";margin-left:-1em;color:#323232}.icon-explosive .path23:before{content:\"\uE982\";margin-left:-1em;color:#323232}.icon-explosive .path24:before{content:\"\uE983\";margin-left:-1em;color:#323232}.icon-explosive .path25:before{content:\"\uE984\";margin-left:-1em;color:#323232}.icon-explosive .path26:before{content:\"\uE985\";margin-left:-1em;color:#323232}.icon-explosive .path27:before{content:\"\uE986\";margin-left:-1em;color:#323232}.icon-explosive .path28:before{content:\"\uE987\";margin-left:-1em;color:#323232}.icon-explosive .path29:before{content:\"\uE988\";margin-left:-1em;color:#323232}.icon-explosive .path30:before{content:\"\uE989\";margin-left:-1em;color:#323232}.icon-explosive .path31:before{content:\"\uE98A\";margin-left:-1em;color:#323232}.icon-explosive .path32:before{content:\"\uE98B\";margin-left:-1em;color:#323232}.icon-explosive .path33:before{content:\"\uE98C\";margin-left:-1em;color:#323232}.icon-explosive .path34:before{content:\"\uE98D\";margin-left:-1em;color:#323232}.icon-explosive .path35:before{content:\"\uE98E\";margin-left:-1em;color:#323232}.icon-explosive .path36:before{content:\"\uE98F\";margin-left:-1em;color:#323232}.icon-explosive .path37:before{content:\"\uE990\";margin-left:-1em;color:#323232}.icon-explosive .path38:before{content:\"\uE991\";margin-left:-1em;color:#323232}.icon-explosive .path39:before{content:\"\uE992\";margin-left:-1em;color:#323232}.icon-explosive .path40:before{content:\"\uE993\";margin-left:-1em;color:#323232}.icon-explosive .path41:before{content:\"\uE994\";margin-left:-1em;color:#323232}.icon-explosive .path42:before{content:\"\uE995\";margin-left:-1em;color:#323232}.icon-explosive .path43:before{content:\"\uE996\";margin-left:-1em;color:#323232}.icon-explosive .path44:before{content:\"\uE997\";margin-left:-1em;color:#323232}.icon-explosive .path45:before{content:\"\uE998\";margin-left:-1em;color:#323232}.icon-explosive .path46:before{content:\"\uE999\";margin-left:-1em;color:#323232}.icon-file-excel:before{content:\"\uE99A\"}.icon-file-pdf:before{content:\"\uE99B\"}.icon-file-pdf-verified .path1:before{content:\"\uE99C\";color:#000;opacity:.6}.icon-file-pdf-verified .path2:before{content:\"\uE99D\";margin-left:-1em;color:#fff}.icon-file-pdf-verified .path3:before{content:\"\uE99E\";margin-left:-1em;color:#000;opacity:.6}.icon-file-word:before{content:\"\uE99F\"}.icon-filter-alt:before{content:\"\uE9A0\"}.icon-flammable .path1:before{content:\"\uE9A1\";color:#323232}.icon-flammable .path2:before{content:\"\uE9A2\";margin-left:-1em;color:#323232}.icon-flammable .path3:before{content:\"\uE9A3\";margin-left:-1em;color:#e32730}.icon-gas-under-pressure .path1:before{content:\"\uE9A4\";color:#323232}.icon-gas-under-pressure .path2:before{content:\"\uE9A5\";margin-left:-1em;color:#e32730}.icon-health-hazard .path1:before{content:\"\uE9A6\";color:#323232}.icon-health-hazard .path2:before{content:\"\uE9A7\";margin-left:-1em;color:#e32730}.icon-line-break:before{content:\"\uE9A8\"}.icon-location:before{content:\"\uE9A9\"}.icon-measure-add:before{content:\"\uE9AA\"}.icon-measure-edit:before{content:\"\uE9AB\"}.icon-measure-view:before{content:\"\uE9AC\";color:#666}.icon-messages:before{content:\"\uE9AD\"}.icon-monitoring:before{content:\"\uE9AE\";color:#666}.icon-move:before{content:\"\uE9AF\"}.icon-oxidizing .path1:before{content:\"\uE9B0\";color:#e32730}.icon-oxidizing .path2:before{content:\"\uE9B1\";margin-left:-1em;color:#323232}.icon-oxidizing .path3:before{content:\"\uE9B2\";margin-left:-1em;color:#323232}.icon-oxidizing .path4:before{content:\"\uE9B3\";margin-left:-1em;color:#323232}.icon-process-area-closed:before{content:\"\uE9B4\"}.icon-process-area-open:before{content:\"\uE9B5\"}.icon-process-linked .path1:before{content:\"\uE9B6\";color:#000;opacity:.6}.icon-process-linked .path2:before{content:\"\uE9B7\";margin-left:-1em;color:#666}.icon-risk:before{content:\"\uE9B8\"}.icon-search-in-file:before{content:\"\uE9B9\"}.icon-sort-ascending:before{content:\"\uE9BA\"}.icon-sort-descending:before{content:\"\uE9BB\"}.icon-subscript:before{content:\"\uE9BC\"}.icon-superscript:before{content:\"\uE9BD\"}.icon-syncronice-favorites:before{content:\"\uE9BE\"}.icon-system-settings:before{content:\"\uE9BF\"}.icon-view-three-outlined:before{content:\"\uE9C0\"}.icon-workplace-safety:before{content:\"\uE9C1\"}.icon-checklist:before{content:\"\uE900\"}.icon-department-document .path1:before{content:\"\uE901\";color:#000;opacity:.6}.icon-department-document .path2:before{content:\"\uE902\";margin-left:-1em;color:#00804c}.icon-department-folder-closed .path1:before{content:\"\uE903\";color:#000;opacity:.6}.icon-department-folder-closed .path2:before{content:\"\uE904\";margin-left:-1em;color:#00804c}.icon-department-folder-open .path1:before{content:\"\uE905\";color:#000;opacity:.6}.icon-department-folder-open .path2:before{content:\"\uE906\";margin-left:-1em;color:#00804c}.icon-deviation:before{content:\"\uE907\"}.icon-dropdown-folder .path1:before{content:\"\uE908\";color:#00324e}.icon-dropdown-folder .path2:before{content:\"\uE909\";margin-left:-1em;color:#fff;opacity:.6}.icon-enterprise-document .path1:before{content:\"\uE90A\";color:#000;opacity:.6}.icon-enterprise-document .path2:before{content:\"\uE90B\";margin-left:-1em;color:#cf4714}.icon-enterprise-folder-closed .path1:before{content:\"\uE90C\";color:#000;opacity:.6}.icon-enterprise-folder-closed .path2:before{content:\"\uE90D\";margin-left:-1em;color:#cf4714}.icon-enterprise-folder-open .path1:before{content:\"\uE90E\";color:#000;opacity:.6}.icon-enterprise-folder-open .path2:before{content:\"\uE90F\";margin-left:-1em;color:#cf4714}.icon-folder-closed:before{content:\"\uE910\"}.icon-folder-open:before{content:\"\uE911\"}.icon-keyboard_arrow_down:before{content:\"\uE912\"}.icon-keyboard_arrow_up:before{content:\"\uE913\"}.icon-local-document .path1:before{content:\"\uE914\";color:#000;opacity:.6}.icon-local-document .path2:before{content:\"\uE915\";margin-left:-1em;color:#1954a9}.icon-local-folder-closed .path1:before{content:\"\uE916\";color:#000;opacity:.6}.icon-local-folder-closed .path2:before{content:\"\uE917\";margin-left:-1em;color:#1954a9}.icon-local-folder-open .path1:before{content:\"\uE918\";color:#000;opacity:.6}.icon-local-folder-open .path2:before{content:\"\uE919\";margin-left:-1em;color:#1954a9}.icon-process:before{content:\"\uE91A\"}.icon-regional-document .path1:before{content:\"\uE91C\";color:#000;opacity:.6}.icon-regional-document .path2:before{content:\"\uE91D\";margin-left:-1em;color:#662e0d}.icon-regional-folder-closed .path1:before{content:\"\uE91E\";color:#000;opacity:.6}.icon-regional-folder-closed .path2:before{content:\"\uE91F\";margin-left:-1em;color:#662e0d}.icon-regional-folder-open .path1:before{content:\"\uE920\";color:#000;opacity:.6}.icon-regional-folder-open .path2:before{content:\"\uE921\";margin-left:-1em;color:#662e0d}.qms-select-department-tree-container .mr10{margin-right:10px}.qms-select-department-tree-container .mt5{margin-bottom:5px}.qms-select-department-tree-container .mb5{margin-top:5px}.qms-select-department-tree-container .w100{width:100%}.qms-select-department-tree-container .h100{height:100%}.qms-select-department-tree-container .fw500{font-weight:500!important}.qms-select-department-tree-container .text-right{text-align:right}.qms-select-department-tree-container .mt20{margin-top:20px}.qms-select-department-tree-container .text-selected{color:rgba(0,0,0,.6);font-size:12px;line-height:16px;margin-top:1rem}.qms-select-department-tree-container .input-field{display:flex;align-items:center;position:relative}.qms-select-department-tree-container .input-field ::ng-deep .mat-form-field-wrapper{padding-bottom:8px!important}.qms-select-department-tree-container .input-field ::ng-deep .mat-form-field-underline{bottom:8px!important}.qms-select-department-tree-container .input-field input.input-search{width:100%;padding:10px;outline:none;border:none;background:var(--background-input-text)}.qms-select-department-tree-container .input-field .btn-search{cursor:pointer;vertical-align:middle;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.qms-select-department-tree-container .input-field .line__divider{border-bottom:1px solid #ccc;height:1px;margin-top:10px;min-width:300px;max-width:100%}.qms-select-department-tree-container .header-title{font-weight:500;color:var(--ws-text-primary);font-size:16px;display:flex;align-items:center}.qms-select-department-tree-container .header-title .header-view{padding:4px 0}.qms-select-department-tree-container .sticky-position{position:-webkit-sticky;position:sticky;top:0;left:0;z-index:1;background:#fff}.qms-select-department-tree-container .header-view-tree{display:grid;grid-template-columns:1fr 200px;grid-column-gap:2px;-moz-column-gap:2px;column-gap:2px;padding:4px 12px 4px 0}.qms-select-department-tree-container .header-view-tree .header-view:first-child{padding-left:12px}.qms-select-department-tree-container .tree-department-wrapper{padding-right:4px;overflow:hidden;position:relative;transition:height .3s ease-in-out}.qms-select-department-tree-container .tree-department-wrapper .tree-view.active-mode-external-view{width:100%;display:grid;grid-template-columns:1fr 200px;grid-column-gap:2px;-moz-column-gap:2px;column-gap:2px}.qms-select-department-tree-container .tree-department-wrapper .tree-view.active-mode-external-view .tree-view-main>.separate{height:38px}.qms-select-department-tree-container .tree-department-wrapper .tree-view.active-mode-external-view .tree-view-main>.separate.h-0{height:0}.qms-select-department-tree-container .tree-department-wrapper .tree-view.active-mode-external-view .tree-view-main:last-child{height:100%;padding-left:4px;position:relative}.qms-select-department-tree-container .tree-department-wrapper .tree-view.active-mode-external-view .tree-view-main:last-child:after{position:absolute;content:\"\";top:0;bottom:-38px;left:0;width:1px;background:rgba(0,0,0,.12)}.qms-select-department-tree-container .tree-department-wrapper .tree-view.active-mode-external-view .tree-view-main .external-list-item-container .node-external{overflow:hidden;transition:all .1s ease-in-out}.qms-select-department-tree-container .tree-department-wrapper .tree-view.active-mode-external-view .tree-view-main .external-list-item-container .node-external .node-external-content{padding:5px 15px;height:calc(100% - 2px);color:var(--default-color);font-size:14px;display:flex;align-items:center}.qms-select-department-tree-container .tree-department-wrapper .tree-view.active-mode-external-view .tree-view-main .external-list-item-container .node-external .node-external-content span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qms-select-department-tree-container .mask-overlay{z-index:1000;background-color:rgba(34,33,33,.1);position:absolute;top:0;left:0;width:100%;height:100%;border-radius:4px;overflow:hidden;display:grid;place-items:center}.qms-select-department-tree-container .select-department-tree>.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{padding:0 4px!important}.qms-select-department-tree-container .select-department-tree .qms-tree-node{display:flex;align-items:center;border-radius:4px}.qms-select-department-tree-container .select-department-tree .qms-tree-node:hover{background-color:rgba(0,0,0,.08)}.qms-select-department-tree-container .select-department-tree .qms-tree-node>.node-expand-area{width:48px;height:48px;position:relative}.qms-select-department-tree-container .select-department-tree .qms-tree-node.active-external-view .mat-checkbox.qms-group-options{width:calc(100% - 250px)}.qms-select-department-tree-container .select-department-tree .qms-tree-node.node-loading{background:var(--primary-light-6-opacity)}.qms-select-department-tree-container .select-department-tree .qms-tree-node>.external-view-node{flex-basis:200px;overflow:hidden}.qms-select-department-tree-container .select-department-tree .qms-tree-node>.external-view-node .node-external{overflow:hidden;transition:all .1s ease-in-out;display:block}.qms-select-department-tree-container .select-department-tree .qms-tree-node>.external-view-node .node-external .node-external-content{padding:5px 15px;height:calc(100% - 2px);color:var(--default-color);font-size:14px;display:flex;align-items:center}.qms-select-department-tree-container .select-department-tree .qms-tree-node>.external-view-node .node-external .node-external-content span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qms-select-department-tree-container .select-department-tree .qms-tree-node.expand-node{color:var(--primary)}.qms-select-department-tree-container .select-department-tree .qms-tree-node.expand-node:hover{background:var(--primary-light-6-opacity)}.qms-select-department-tree-container .select-department-tree .qms-tree-node.expand-node:active{background:var(--primary-light-12-opacity)}.qms-select-department-tree-container .select-department-tree .qms-tree-node .node-without-checkbox{cursor:pointer;width:100%;display:flex;justify-content:space-between;align-items:center}.qms-select-department-tree-container .select-department-tree .qms-tree-node .node-without-checkbox .mat-icon{color:var(--primary);margin-right:4px}.qms-select-department-tree-container .select-department-tree .qms-tree-node.selected-theme{background:var(--primary-light-12-opacity)}.qms-select-department-tree-container .select-department-tree .qms-tree-node.mat-tree-node-disabled-all{cursor:default!important;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.qms-select-department-tree-container .select-department-tree .qms-tree-node.mat-tree-node-disabled-all .mat-icon-rtl-mirror,.qms-select-department-tree-container .select-department-tree .qms-tree-node.mat-tree-node-disabled-all .type-icon,.qms-select-department-tree-container .select-department-tree .qms-tree-node.mat-tree-node-disabled-all button.mat-button-disabled{color:rgba(0,0,0,.38)}.qms-select-department-tree-container .select-department-tree .qms-tree-node.mat-tree-node-disabled-all .text-name.disabled{color:rgba(0,0,0,.38);cursor:default!important;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.qms-select-department-tree-container .select-department-tree .qms-tree-node.mat-tree-node-disabled-all.active{background-color:transparent}.qms-select-department-tree-container .text-name{position:relative;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;cursor:pointer;width:100%}.qms-select-department-tree-container .cursor-pointer{cursor:pointer}.qms-select-department-tree-container .ml5{margin-left:15px!important}.qms-select-department-tree-container .pl-10{padding-left:10px}.qms-select-department-tree-container ::ng-deep .mat-checkbox.qms-group-options.flex-direction-row .mat-checkbox-layout{white-space:normal}.qms-select-department-tree-container ::ng-deep .mat-checkbox.qms-group-options.flex-direction-row .mat-checkbox-label{flex-direction:row;align-items:center;position:relative;padding-bottom:2px}.qms-select-department-tree-container .qms-view-search-result{width:100%;overflow:hidden}.qms-select-department-tree-container .qms-view-search-result__header{position:relative}.qms-select-department-tree-container .qms-view-search-result__header:after{position:absolute;content:\"\";bottom:0;left:0;width:100%;height:1px;background-color:rgba(0,0,0,.1)}.qms-select-department-tree-container .qms-view-search-result__header .header-title{padding:8px 0;display:inline-block}.qms-select-department-tree-container .qms-view-search-result__header .header-title:first-child{padding-left:12px}.qms-select-department-tree-container .qms-view-search-result__header .header-title:nth-child(2){flex-basis:200px}.qms-select-department-tree-container .qms-view-search-result>.no-result{height:100%;display:flex;justify-content:center;align-items:center}.qms-select-department-tree-container .qms-view-search-result__wrapper{height:calc(100% - 50px);width:100%}.qms-select-department-tree-container .qms-view-search-result__wrapper.active-external{height:calc(100% - 90px)!important}.qms-select-department-tree-container .qms-view-search-result__wrapper .result{max-height:calc(100% - 44px);overflow-y:auto;margin-bottom:4px;padding-right:4px}.qms-select-department-tree-container .qms-view-search-result__wrapper .result.active-paging{max-height:calc(100% - 40px)}.qms-select-department-tree-container .qms-view-search-result__wrapper .result-item{border-radius:4px;display:grid;grid-template-columns:45px 1fr;align-items:center;cursor:pointer;transition:background .3s ease;min-height:40px}.qms-select-department-tree-container .qms-view-search-result__wrapper .result-item:not(:first-child){margin-top:4px!important}.qms-select-department-tree-container .qms-view-search-result__wrapper .result-item.active,.qms-select-department-tree-container .qms-view-search-result__wrapper .result-item:hover{background:linear-gradient(0deg,rgba(1,99,178,.12),rgba(1,99,178,.12)),#fff}.qms-select-department-tree-container .qms-view-search-result__wrapper .result-item__content{display:flex;align-items:center}.qms-select-department-tree-container .qms-view-search-result__wrapper .result-item__content .item-result-content-wraper{padding:5px 15px;width:100%}.qms-select-department-tree-container .qms-view-search-result__wrapper .result-item__content .external-name{flex-basis:200px}.qms-select-department-tree-container .qms-view-search-result__wrapper .result-item__content .external-name span{width:200px;display:inline-block}.qms-select-department-tree-container .qms-view-search-result ::ng-deep .mat-checkbox.qms-group-options{display:flex;height:100%}.qms-select-department-tree-container ::ng-deep .breadcrumb-container{flex-wrap:wrap}.qms-select-department-tree-container ::ng-deep .mat-button-focus-overlay{background-color:transparent}.qms-select-department-tree-container ::ng-deep .qms-breadcrumb-item{margin:0}.qms-select-department-tree-container ::ng-deep .qms-breadcrumb-item-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;transition:color .3s ease}.qms-select-department-tree-container ::ng-deep .qms-breadcrumb-item-text:not(:last-child){max-width:150px!important}.qms-select-department-tree-container ::ng-deep .qms-paginator .mat-paginator-container .qms-total-result{margin-bottom:0;margin-right:12px;height:100%;display:flex;align-items:center}.qms-select-department-tree-container ::ng-deep .qms-paginator .mat-paginator-container .qms-total-result span{font-weight:600;color:rgba(0,0,0,.8)}.qms-select-department-tree-container ::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-range-actions{margin-bottom:0;grid-column-gap:2px;-moz-column-gap:2px;column-gap:2px}.qms-select-department-tree-container ::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-range-actions>.qms-total-result{margin-bottom:0}.qms-select-department-tree-container ::ng-deep .qms-paginator .mat-form-field-wrapper{padding-bottom:0}.qms-select-department-tree-container ::ng-deep .qms-paginator .qms-paginator-page-size{align-items:center}.qms-select-department-tree-container .text-gray{color:#242424}.qms-select-department-tree-container .mb0{margin-bottom:0!important}.qms-select-department-tree-container .fs-base{font-size:14px!important}.qms-select-department-tree-container .user-select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.qms-select-department-tree-container .item-breadcrumb-disable{cursor:not-allowed;color:rgba(0,0,0,.6);font-weight:400;font-size:14px;max-width:250px}.qms-select-department-tree-container ::ng-deep .mat-checkbox.checkbox-all .mat-checkbox-label{flex-direction:row;align-items:center;grid-column-gap:4px;-moz-column-gap:4px;column-gap:4px}.qms-select-department-tree-container ::ng-deep .btn-arrow{width:40px;height:40px;line-height:40px}.qms-select-department-tree-container .qms-loading-container{overflow:hidden;display:grid;grid-template-rows:repeat(60px)}.qms-select-department-tree-container .qms-loading-container .qms-loader{position:relative;width:100%;height:100%;padding:10px 0;overflow:hidden}.qms-select-department-tree-container .qms-loading-container .qms-loader:after{content:\"\";position:absolute;width:100%;height:100%;top:0;left:0;background:linear-gradient(110deg,hsla(0,0%,91%,0),hsla(0,0%,89%,0) 40%,hsla(0,0%,89%,.5) 50%,hsla(0,0%,89%,0) 60%,hsla(0,0%,89%,0));-webkit-animation:animate-loading 1.2s linear infinite;animation:animate-loading 1.2s linear infinite}.qms-select-department-tree-container .qms-loading-container .qms-loader__wrapper{position:relative;width:100%;height:100%}.qms-select-department-tree-container .qms-loading-container .qms-loader__wrapper .row-loader{background-color:#eee;position:absolute;left:0;width:100%;height:40px}@-webkit-keyframes animate-loading{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}@keyframes animate-loading{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.qms-select-department-tree-container .qms-spinner{font-size:20px;position:relative;display:inline-block;width:1em;height:1em}.qms-select-department-tree-container .qms-spinner.center{position:absolute;left:0;right:0;top:0;bottom:0;margin:auto}.qms-select-department-tree-container .mat-spinner circle,.qms-select-department-tree-container ::ng-deep .mat-progress-spinner circle{stroke:#1b75be!important}@media screen and (max-width:600px){.qms-select-department-tree-container .external-view-node{flex-basis:65px!important}.qms-select-department-tree-container .qms-tree-node.active-external-view .mat-checkbox.qms-group-options{width:calc(100% - 110px)!important}.qms-select-department-tree-container .header-view-tree{grid-template-columns:1fr 80px!important}.qms-select-department-tree-container ::ng-deep .cdk-virtual-scroll-content-wrapper{right:0!important}.qms-select-department-tree-container .header-title{font-size:14px!important}.qms-select-department-tree-container .node-external,.qms-select-department-tree-container .text-label,.qms-select-department-tree-container .text-label+span,.qms-select-department-tree-container .text-name{font-size:12px}.qms-select-department-tree-container .node-expand-area{width:30px!important;height:30px!important}.qms-select-department-tree-container .node-expand-area .qms-btn-icon{width:30px;height:30px;line-height:30px}.qms-select-department-tree-container .fs-base{font-size:12px!important}.qms-select-department-tree-container .qms-select-department-tree-container .breadcrumb-container{flex-wrap:nowrap!important}.qms-select-department-tree-container ::ng-deep .qms-breadcrumb-item-text{font-size:12px!important;max-width:175px!important}.qms-select-department-tree-container ::ng-deep .qms-paginator .mat-paginator-container .qms-total-result{display:none!important}.qms-select-department-tree-container ::ng-deep .qms-paginator .size-small .mat-paginator-container{justify-content:center!important}.qms-select-department-tree-container .qms-view-search-result__header>.header-title:nth-child(2){flex-basis:120px!important}.qms-select-department-tree-container .result-item__content .external-name{flex-basis:75px!important}.qms-select-department-tree-container .result-item__content .external-name span{width:75px!important}}"]
32858
+ styles: ["@charset \"UTF-8\";@font-face{font-family:icomoon;src:url(../assets/fonts/icomoon.eot?aghldx);src:url(../assets/fonts/icomoon.eot?aghldx#iefix) format(\"embedded-opentype\"),url(../assets/fonts/icomoon.ttf?aghldx) format(\"truetype\"),url(../assets/fonts/icomoon.woff?aghldx) format(\"woff\"),url(../assets/fonts/icomoon.svg?aghldx#icomoon) format(\"svg\");font-weight:400;font-style:normal;font-display:block}[class*=\" icon-\"],[class^=icon-]{font-family:icomoon!important;speak:never;font-style:normal;font-weight:400;font-feature-settings:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-acutely-toxic .path1:before{content:\"\uE91B\";color:#e32730}.icon-acutely-toxic .path2:before{content:\"\uE922\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path3:before{content:\"\uE923\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path4:before{content:\"\uE924\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path5:before{content:\"\uE925\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path6:before{content:\"\uE926\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path7:before{content:\"\uE927\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path8:before{content:\"\uE928\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path9:before{content:\"\uE929\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path10:before{content:\"\uE92A\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path11:before{content:\"\uE92B\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path12:before{content:\"\uE92C\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path13:before{content:\"\uE92D\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path14:before{content:\"\uE92E\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path15:before{content:\"\uE92F\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path16:before{content:\"\uE930\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path17:before{content:\"\uE931\";margin-left:-1em;color:#323232}.icon-add-column:before{content:\"\uE932\"}.icon-add-tooltip:before{content:\"\uE933\"}.icon-admin:before{content:\"\uE934\"}.icon-annual-cycle:before{content:\"\uE935\"}.icon-assignment-repete:before{content:\"\uE936\"}.icon-barrier-add:before{content:\"\uE937\"}.icon-barrier-edit:before{content:\"\uE938\"}.icon-barrier-view:before{content:\"\uE939\"}.icon-button-group:before{content:\"\uE93A\"}.icon-chemical-manager:before{content:\"\uE93B\"}.icon-chronic-health-hazard .path1:before{content:\"\uE93C\";color:#e32730}.icon-chronic-health-hazard .path2:before{content:\"\uE93D\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path3:before{content:\"\uE93E\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path4:before{content:\"\uE93F\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path5:before{content:\"\uE940\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path6:before{content:\"\uE941\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path7:before{content:\"\uE942\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path8:before{content:\"\uE943\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path9:before{content:\"\uE944\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path10:before{content:\"\uE945\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path11:before{content:\"\uE946\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path12:before{content:\"\uE947\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path13:before{content:\"\uE948\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path14:before{content:\"\uE949\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path15:before{content:\"\uE94A\";margin-left:-1em;color:#323232}.icon-contingency:before{content:\"\uE94B\"}.icon-corrosive .path1:before{content:\"\uE94C\";color:#323232}.icon-corrosive .path2:before{content:\"\uE94D\";margin-left:-1em;color:#323232}.icon-corrosive .path3:before{content:\"\uE94E\";margin-left:-1em;color:#323232}.icon-corrosive .path4:before{content:\"\uE94F\";margin-left:-1em;color:#323232}.icon-corrosive .path5:before{content:\"\uE950\";margin-left:-1em;color:#323232}.icon-corrosive .path6:before{content:\"\uE951\";margin-left:-1em;color:#323232}.icon-corrosive .path7:before{content:\"\uE952\";margin-left:-1em;color:#323232}.icon-corrosive .path8:before{content:\"\uE953\";margin-left:-1em;color:#323232}.icon-corrosive .path9:before{content:\"\uE954\";margin-left:-1em;color:#323232}.icon-corrosive .path10:before{content:\"\uE955\";margin-left:-1em;color:#323232}.icon-corrosive .path11:before{content:\"\uE956\";margin-left:-1em;color:#323232}.icon-corrosive .path12:before{content:\"\uE957\";margin-left:-1em;color:#323232}.icon-corrosive .path13:before{content:\"\uE958\";margin-left:-1em;color:#323232}.icon-corrosive .path14:before{content:\"\uE959\";margin-left:-1em;color:#323232}.icon-corrosive .path15:before{content:\"\uE95A\";margin-left:-1em;color:#323232}.icon-corrosive .path16:before{content:\"\uE95B\";margin-left:-1em;color:#323232}.icon-corrosive .path17:before{content:\"\uE95C\";margin-left:-1em;color:#323232}.icon-corrosive .path18:before{content:\"\uE95D\";margin-left:-1em;color:#323232}.icon-corrosive .path19:before{content:\"\uE95E\";margin-left:-1em;color:#323232}.icon-corrosive .path20:before{content:\"\uE95F\";margin-left:-1em;color:#323232}.icon-corrosive .path21:before{content:\"\uE960\";margin-left:-1em;color:#e32730}.icon-dashboard:before{content:\"\uE961\"}.icon-database-sds:before{content:\"\uE962\"}.icon-description-add:before{content:\"\uE963\"}.icon-description-edit:before{content:\"\uE964\"}.icon-description-view:before{content:\"\uE965\";color:#666}.icon-document-read .path1:before{content:\"\uE966\";color:#000;opacity:.6}.icon-document-read .path2:before{content:\"\uE967\";margin-left:-1em;color:#fff}.icon-document-read .path3:before{content:\"\uE968\";margin-left:-1em;color:#000;opacity:.6}.icon-draft:before{content:\"\uE969\"}.icon-expired-off:before{content:\"\uE96A\"}.icon-expired-on:before{content:\"\uE96B\"}.icon-explosive .path1:before{content:\"\uE96C\";color:#e32730}.icon-explosive .path2:before{content:\"\uE96D\";margin-left:-1em;color:#323232}.icon-explosive .path3:before{content:\"\uE96E\";margin-left:-1em;color:#323232}.icon-explosive .path4:before{content:\"\uE96F\";margin-left:-1em;color:#323232}.icon-explosive .path5:before{content:\"\uE970\";margin-left:-1em;color:#323232}.icon-explosive .path6:before{content:\"\uE971\";margin-left:-1em;color:#323232}.icon-explosive .path7:before{content:\"\uE972\";margin-left:-1em;color:#323232}.icon-explosive .path8:before{content:\"\uE973\";margin-left:-1em;color:#323232}.icon-explosive .path9:before{content:\"\uE974\";margin-left:-1em;color:#323232}.icon-explosive .path10:before{content:\"\uE975\";margin-left:-1em;color:#323232}.icon-explosive .path11:before{content:\"\uE976\";margin-left:-1em;color:#323232}.icon-explosive .path12:before{content:\"\uE977\";margin-left:-1em;color:#323232}.icon-explosive .path13:before{content:\"\uE978\";margin-left:-1em;color:#323232}.icon-explosive .path14:before{content:\"\uE979\";margin-left:-1em;color:#323232}.icon-explosive .path15:before{content:\"\uE97A\";margin-left:-1em;color:#323232}.icon-explosive .path16:before{content:\"\uE97B\";margin-left:-1em;color:#323232}.icon-explosive .path17:before{content:\"\uE97C\";margin-left:-1em;color:#323232}.icon-explosive .path18:before{content:\"\uE97D\";margin-left:-1em;color:#323232}.icon-explosive .path19:before{content:\"\uE97E\";margin-left:-1em;color:#323232}.icon-explosive .path20:before{content:\"\uE97F\";margin-left:-1em;color:#323232}.icon-explosive .path21:before{content:\"\uE980\";margin-left:-1em;color:#323232}.icon-explosive .path22:before{content:\"\uE981\";margin-left:-1em;color:#323232}.icon-explosive .path23:before{content:\"\uE982\";margin-left:-1em;color:#323232}.icon-explosive .path24:before{content:\"\uE983\";margin-left:-1em;color:#323232}.icon-explosive .path25:before{content:\"\uE984\";margin-left:-1em;color:#323232}.icon-explosive .path26:before{content:\"\uE985\";margin-left:-1em;color:#323232}.icon-explosive .path27:before{content:\"\uE986\";margin-left:-1em;color:#323232}.icon-explosive .path28:before{content:\"\uE987\";margin-left:-1em;color:#323232}.icon-explosive .path29:before{content:\"\uE988\";margin-left:-1em;color:#323232}.icon-explosive .path30:before{content:\"\uE989\";margin-left:-1em;color:#323232}.icon-explosive .path31:before{content:\"\uE98A\";margin-left:-1em;color:#323232}.icon-explosive .path32:before{content:\"\uE98B\";margin-left:-1em;color:#323232}.icon-explosive .path33:before{content:\"\uE98C\";margin-left:-1em;color:#323232}.icon-explosive .path34:before{content:\"\uE98D\";margin-left:-1em;color:#323232}.icon-explosive .path35:before{content:\"\uE98E\";margin-left:-1em;color:#323232}.icon-explosive .path36:before{content:\"\uE98F\";margin-left:-1em;color:#323232}.icon-explosive .path37:before{content:\"\uE990\";margin-left:-1em;color:#323232}.icon-explosive .path38:before{content:\"\uE991\";margin-left:-1em;color:#323232}.icon-explosive .path39:before{content:\"\uE992\";margin-left:-1em;color:#323232}.icon-explosive .path40:before{content:\"\uE993\";margin-left:-1em;color:#323232}.icon-explosive .path41:before{content:\"\uE994\";margin-left:-1em;color:#323232}.icon-explosive .path42:before{content:\"\uE995\";margin-left:-1em;color:#323232}.icon-explosive .path43:before{content:\"\uE996\";margin-left:-1em;color:#323232}.icon-explosive .path44:before{content:\"\uE997\";margin-left:-1em;color:#323232}.icon-explosive .path45:before{content:\"\uE998\";margin-left:-1em;color:#323232}.icon-explosive .path46:before{content:\"\uE999\";margin-left:-1em;color:#323232}.icon-file-excel:before{content:\"\uE99A\"}.icon-file-pdf:before{content:\"\uE99B\"}.icon-file-pdf-verified .path1:before{content:\"\uE99C\";color:#000;opacity:.6}.icon-file-pdf-verified .path2:before{content:\"\uE99D\";margin-left:-1em;color:#fff}.icon-file-pdf-verified .path3:before{content:\"\uE99E\";margin-left:-1em;color:#000;opacity:.6}.icon-file-word:before{content:\"\uE99F\"}.icon-filter-alt:before{content:\"\uE9A0\"}.icon-flammable .path1:before{content:\"\uE9A1\";color:#323232}.icon-flammable .path2:before{content:\"\uE9A2\";margin-left:-1em;color:#323232}.icon-flammable .path3:before{content:\"\uE9A3\";margin-left:-1em;color:#e32730}.icon-gas-under-pressure .path1:before{content:\"\uE9A4\";color:#323232}.icon-gas-under-pressure .path2:before{content:\"\uE9A5\";margin-left:-1em;color:#e32730}.icon-health-hazard .path1:before{content:\"\uE9A6\";color:#323232}.icon-health-hazard .path2:before{content:\"\uE9A7\";margin-left:-1em;color:#e32730}.icon-line-break:before{content:\"\uE9A8\"}.icon-location:before{content:\"\uE9A9\"}.icon-measure-add:before{content:\"\uE9AA\"}.icon-measure-edit:before{content:\"\uE9AB\"}.icon-measure-view:before{content:\"\uE9AC\";color:#666}.icon-messages:before{content:\"\uE9AD\"}.icon-monitoring:before{content:\"\uE9AE\";color:#666}.icon-move:before{content:\"\uE9AF\"}.icon-oxidizing .path1:before{content:\"\uE9B0\";color:#e32730}.icon-oxidizing .path2:before{content:\"\uE9B1\";margin-left:-1em;color:#323232}.icon-oxidizing .path3:before{content:\"\uE9B2\";margin-left:-1em;color:#323232}.icon-oxidizing .path4:before{content:\"\uE9B3\";margin-left:-1em;color:#323232}.icon-process-area-closed:before{content:\"\uE9B4\"}.icon-process-area-open:before{content:\"\uE9B5\"}.icon-process-linked .path1:before{content:\"\uE9B6\";color:#000;opacity:.6}.icon-process-linked .path2:before{content:\"\uE9B7\";margin-left:-1em;color:#666}.icon-risk:before{content:\"\uE9B8\"}.icon-search-in-file:before{content:\"\uE9B9\"}.icon-sort-ascending:before{content:\"\uE9BA\"}.icon-sort-descending:before{content:\"\uE9BB\"}.icon-subscript:before{content:\"\uE9BC\"}.icon-superscript:before{content:\"\uE9BD\"}.icon-syncronice-favorites:before{content:\"\uE9BE\"}.icon-system-settings:before{content:\"\uE9BF\"}.icon-view-three-outlined:before{content:\"\uE9C0\"}.icon-workplace-safety:before{content:\"\uE9C1\"}.icon-checklist:before{content:\"\uE900\"}.icon-department-document .path1:before{content:\"\uE901\";color:#000;opacity:.6}.icon-department-document .path2:before{content:\"\uE902\";margin-left:-1em;color:#00804c}.icon-department-folder-closed .path1:before{content:\"\uE903\";color:#000;opacity:.6}.icon-department-folder-closed .path2:before{content:\"\uE904\";margin-left:-1em;color:#00804c}.icon-department-folder-open .path1:before{content:\"\uE905\";color:#000;opacity:.6}.icon-department-folder-open .path2:before{content:\"\uE906\";margin-left:-1em;color:#00804c}.icon-deviation:before{content:\"\uE907\"}.icon-dropdown-folder .path1:before{content:\"\uE908\";color:#00324e}.icon-dropdown-folder .path2:before{content:\"\uE909\";margin-left:-1em;color:#fff;opacity:.6}.icon-enterprise-document .path1:before{content:\"\uE90A\";color:#000;opacity:.6}.icon-enterprise-document .path2:before{content:\"\uE90B\";margin-left:-1em;color:#cf4714}.icon-enterprise-folder-closed .path1:before{content:\"\uE90C\";color:#000;opacity:.6}.icon-enterprise-folder-closed .path2:before{content:\"\uE90D\";margin-left:-1em;color:#cf4714}.icon-enterprise-folder-open .path1:before{content:\"\uE90E\";color:#000;opacity:.6}.icon-enterprise-folder-open .path2:before{content:\"\uE90F\";margin-left:-1em;color:#cf4714}.icon-folder-closed:before{content:\"\uE910\"}.icon-folder-open:before{content:\"\uE911\"}.icon-keyboard_arrow_down:before{content:\"\uE912\"}.icon-keyboard_arrow_up:before{content:\"\uE913\"}.icon-local-document .path1:before{content:\"\uE914\";color:#000;opacity:.6}.icon-local-document .path2:before{content:\"\uE915\";margin-left:-1em;color:#1954a9}.icon-local-folder-closed .path1:before{content:\"\uE916\";color:#000;opacity:.6}.icon-local-folder-closed .path2:before{content:\"\uE917\";margin-left:-1em;color:#1954a9}.icon-local-folder-open .path1:before{content:\"\uE918\";color:#000;opacity:.6}.icon-local-folder-open .path2:before{content:\"\uE919\";margin-left:-1em;color:#1954a9}.icon-process:before{content:\"\uE91A\"}.icon-regional-document .path1:before{content:\"\uE91C\";color:#000;opacity:.6}.icon-regional-document .path2:before{content:\"\uE91D\";margin-left:-1em;color:#662e0d}.icon-regional-folder-closed .path1:before{content:\"\uE91E\";color:#000;opacity:.6}.icon-regional-folder-closed .path2:before{content:\"\uE91F\";margin-left:-1em;color:#662e0d}.icon-regional-folder-open .path1:before{content:\"\uE920\";color:#000;opacity:.6}.icon-regional-folder-open .path2:before{content:\"\uE921\";margin-left:-1em;color:#662e0d}.qms-select-department-tree-container{font-family:Open Sans,sans-serif}.qms-select-department-tree-container .mr10{margin-right:10px}.qms-select-department-tree-container .mt5{margin-bottom:5px}.qms-select-department-tree-container .mb5{margin-top:5px}.qms-select-department-tree-container .w100{width:100%}.qms-select-department-tree-container .h100{height:100%}.qms-select-department-tree-container .fw500{font-weight:500!important}.qms-select-department-tree-container .text-right{text-align:right}.qms-select-department-tree-container .mt20{margin-top:20px}.qms-select-department-tree-container .d-flex{display:flex}.qms-select-department-tree-container .align-items-center{align-items:center}.qms-select-department-tree-container .justify-content-end{justify-content:flex-end}.qms-select-department-tree-container .text-selected{color:rgba(0,0,0,.6);font-size:12px;line-height:16px;margin-top:1rem}.qms-select-department-tree-container .input-field{display:flex;align-items:center;position:relative}.qms-select-department-tree-container .input-field ::ng-deep .mat-form-field-wrapper{padding-bottom:8px!important}.qms-select-department-tree-container .input-field ::ng-deep .mat-form-field-underline{bottom:8px!important}.qms-select-department-tree-container .input-field input.input-search{width:100%;padding:10px;outline:none;border:none;background:var(--background-input-text)}.qms-select-department-tree-container .input-field .btn-search{cursor:pointer;vertical-align:middle;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.qms-select-department-tree-container .input-field .line__divider{border-bottom:1px solid #ccc;height:1px;margin-top:10px;min-width:300px;max-width:100%}.qms-select-department-tree-container .header-title{font-weight:500;color:var(--ws-text-primary);font-size:16px;display:flex;align-items:center}.qms-select-department-tree-container .header-title .header-view{padding:4px 0}.qms-select-department-tree-container .sticky-position{position:-webkit-sticky;position:sticky;top:0;left:0;z-index:1;background:#fff}.qms-select-department-tree-container .header-view-tree{display:grid;grid-template-columns:1fr 200px;grid-column-gap:2px;-moz-column-gap:2px;column-gap:2px;padding:4px 12px 4px 0}.qms-select-department-tree-container .header-view-tree .header-view:first-child{padding-left:12px}.qms-select-department-tree-container .tree-department-wrapper{padding-right:4px;overflow:hidden;position:relative;transition:height .3s ease-in-out}.qms-select-department-tree-container .tree-department-wrapper .tree-view.active-mode-external-view{width:100%;display:grid;grid-template-columns:1fr 200px;grid-column-gap:2px;-moz-column-gap:2px;column-gap:2px}.qms-select-department-tree-container .tree-department-wrapper .tree-view.active-mode-external-view .tree-view-main>.separate{height:38px}.qms-select-department-tree-container .tree-department-wrapper .tree-view.active-mode-external-view .tree-view-main>.separate.h-0{height:0}.qms-select-department-tree-container .tree-department-wrapper .tree-view.active-mode-external-view .tree-view-main:last-child{height:100%;padding-left:4px;position:relative}.qms-select-department-tree-container .tree-department-wrapper .tree-view.active-mode-external-view .tree-view-main:last-child:after{position:absolute;content:\"\";top:0;bottom:-38px;left:0;width:1px;background:rgba(0,0,0,.12)}.qms-select-department-tree-container .tree-department-wrapper .tree-view.active-mode-external-view .tree-view-main .external-list-item-container .node-external{overflow:hidden;transition:all .1s ease-in-out}.qms-select-department-tree-container .tree-department-wrapper .tree-view.active-mode-external-view .tree-view-main .external-list-item-container .node-external .node-external-content{padding:5px 15px;height:calc(100% - 2px);color:var(--default-color);font-size:14px;display:flex;align-items:center}.qms-select-department-tree-container .tree-department-wrapper .tree-view.active-mode-external-view .tree-view-main .external-list-item-container .node-external .node-external-content span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qms-select-department-tree-container .mask-overlay{z-index:1000;background-color:rgba(34,33,33,.1);position:absolute;top:0;left:0;width:100%;height:100%;border-radius:4px;overflow:hidden;display:grid;place-items:center}.qms-select-department-tree-container .select-department-tree>.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{padding:0 4px!important}.qms-select-department-tree-container .select-department-tree .qms-tree-node{display:flex;align-items:center;border-radius:4px}.qms-select-department-tree-container .select-department-tree .qms-tree-node:hover{background-color:rgba(0,0,0,.08)}.qms-select-department-tree-container .select-department-tree .qms-tree-node>.node-expand-area{width:48px;height:48px;position:relative}.qms-select-department-tree-container .select-department-tree .qms-tree-node.active-external-view .mat-checkbox.qms-group-options{width:calc(100% - 250px)}.qms-select-department-tree-container .select-department-tree .qms-tree-node.node-loading{background:var(--primary-light-6-opacity)}.qms-select-department-tree-container .select-department-tree .qms-tree-node>.external-view-node{flex-basis:200px;overflow:hidden}.qms-select-department-tree-container .select-department-tree .qms-tree-node>.external-view-node .node-external{overflow:hidden;transition:all .1s ease-in-out;display:block}.qms-select-department-tree-container .select-department-tree .qms-tree-node>.external-view-node .node-external .node-external-content{padding:5px 15px;height:calc(100% - 2px);color:var(--default-color);font-size:14px;display:flex;align-items:center}.qms-select-department-tree-container .select-department-tree .qms-tree-node>.external-view-node .node-external .node-external-content span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qms-select-department-tree-container .select-department-tree .qms-tree-node.expand-node{color:var(--primary)}.qms-select-department-tree-container .select-department-tree .qms-tree-node.expand-node:hover{background:var(--primary-light-6-opacity)}.qms-select-department-tree-container .select-department-tree .qms-tree-node.expand-node:active{background:var(--primary-light-12-opacity)}.qms-select-department-tree-container .select-department-tree .qms-tree-node.expand-node .mat-icon{color:var(--primary)}.qms-select-department-tree-container .select-department-tree .qms-tree-node .node-without-checkbox{cursor:pointer;width:100%;display:flex;justify-content:space-between;align-items:center}.qms-select-department-tree-container .select-department-tree .qms-tree-node .node-without-checkbox .mat-icon{color:var(--primary);margin-right:4px}.qms-select-department-tree-container .select-department-tree .qms-tree-node.selected-theme{background:var(--primary-light-12-opacity)}.qms-select-department-tree-container .select-department-tree .qms-tree-node.mat-tree-node-disabled-all{cursor:default!important;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.qms-select-department-tree-container .select-department-tree .qms-tree-node.mat-tree-node-disabled-all .mat-icon-rtl-mirror,.qms-select-department-tree-container .select-department-tree .qms-tree-node.mat-tree-node-disabled-all .type-icon,.qms-select-department-tree-container .select-department-tree .qms-tree-node.mat-tree-node-disabled-all button.mat-button-disabled{color:rgba(0,0,0,.38)}.qms-select-department-tree-container .select-department-tree .qms-tree-node.mat-tree-node-disabled-all .text-name.disabled{color:rgba(0,0,0,.38);cursor:default!important;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.qms-select-department-tree-container .select-department-tree .qms-tree-node.mat-tree-node-disabled-all.active{background-color:transparent}.qms-select-department-tree-container .text-name{position:relative;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;cursor:pointer;width:100%}.qms-select-department-tree-container .cursor-pointer{cursor:pointer}.qms-select-department-tree-container .ml5{margin-left:15px!important}.qms-select-department-tree-container .pl-10{padding-left:10px}.qms-select-department-tree-container ::ng-deep .mat-checkbox.qms-group-options.flex-direction-row .mat-checkbox-layout{white-space:normal}.qms-select-department-tree-container ::ng-deep .mat-checkbox.qms-group-options.flex-direction-row .node-text>span{display:block}.qms-select-department-tree-container ::ng-deep .mat-checkbox.qms-group-options.flex-direction-row .mat-checkbox-label{flex-direction:row;align-items:center;position:relative;padding-bottom:2px}.qms-select-department-tree-container .qms-view-search-result{width:100%;overflow:hidden}.qms-select-department-tree-container .qms-view-search-result__header{position:relative}.qms-select-department-tree-container .qms-view-search-result__header:after{position:absolute;content:\"\";bottom:0;left:0;width:100%;height:1px;background-color:rgba(0,0,0,.1)}.qms-select-department-tree-container .qms-view-search-result__header .header-title{padding:8px 0;display:inline-block}.qms-select-department-tree-container .qms-view-search-result__header .header-title:first-child{padding-left:12px}.qms-select-department-tree-container .qms-view-search-result__header .header-title:nth-child(2){flex-basis:200px}.qms-select-department-tree-container .qms-view-search-result>.no-result{height:100%;display:flex;justify-content:center;align-items:center}.qms-select-department-tree-container .qms-view-search-result__wrapper{height:calc(100% - 50px);width:100%}.qms-select-department-tree-container .qms-view-search-result__wrapper.active-external{height:calc(100% - 90px)!important}.qms-select-department-tree-container .qms-view-search-result__wrapper .result{max-height:calc(100% - 44px);overflow-y:auto;margin-bottom:4px;padding-right:4px}.qms-select-department-tree-container .qms-view-search-result__wrapper .result.active-paging{max-height:calc(100% - 40px)}.qms-select-department-tree-container .qms-view-search-result__wrapper .result-item{border-radius:4px;display:grid;grid-template-columns:45px 1fr;align-items:center;cursor:pointer;transition:background .3s ease;min-height:40px}.qms-select-department-tree-container .qms-view-search-result__wrapper .result-item:not(:first-child){margin-top:4px!important}.qms-select-department-tree-container .qms-view-search-result__wrapper .result-item.active,.qms-select-department-tree-container .qms-view-search-result__wrapper .result-item:hover{background:linear-gradient(0deg,rgba(1,99,178,.12),rgba(1,99,178,.12)),#fff}.qms-select-department-tree-container .qms-view-search-result__wrapper .result-item__content{display:flex;align-items:center}.qms-select-department-tree-container .qms-view-search-result__wrapper .result-item__content .item-result-content-wraper{padding:5px 15px;width:100%}.qms-select-department-tree-container .qms-view-search-result__wrapper .result-item__content .external-name{flex-basis:200px}.qms-select-department-tree-container .qms-view-search-result__wrapper .result-item__content .external-name span{width:200px;display:inline-block}.qms-select-department-tree-container .qms-view-search-result ::ng-deep .mat-checkbox.qms-group-options{display:flex;height:100%}.qms-select-department-tree-container ::ng-deep .breadcrumb-container{flex-wrap:wrap}.qms-select-department-tree-container ::ng-deep .mat-button-focus-overlay{background-color:transparent}.qms-select-department-tree-container ::ng-deep .qms-breadcrumb-item{margin:0}.qms-select-department-tree-container ::ng-deep .qms-breadcrumb-item-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;transition:color .3s ease}.qms-select-department-tree-container ::ng-deep .qms-breadcrumb-item-text:not(:last-child){max-width:150px!important}.qms-select-department-tree-container ::ng-deep .qms-paginator .mat-paginator-container .qms-total-result{margin-bottom:0;margin-right:12px;height:100%;display:flex;align-items:center}.qms-select-department-tree-container ::ng-deep .qms-paginator .mat-paginator-container .qms-total-result span{font-weight:600;color:rgba(0,0,0,.8)}.qms-select-department-tree-container ::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-range-actions{margin-bottom:0;grid-column-gap:2px;-moz-column-gap:2px;column-gap:2px}.qms-select-department-tree-container ::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-range-actions>.qms-total-result{margin-bottom:0}.qms-select-department-tree-container ::ng-deep .qms-paginator .mat-form-field-wrapper{padding-bottom:0}.qms-select-department-tree-container ::ng-deep .qms-paginator .qms-paginator-page-size{align-items:center}.qms-select-department-tree-container .text-gray{color:#242424}.qms-select-department-tree-container .mb0{margin-bottom:0!important}.qms-select-department-tree-container .fs-base{font-size:14px!important}.qms-select-department-tree-container .user-select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.qms-select-department-tree-container .item-breadcrumb-disable{cursor:not-allowed;color:rgba(0,0,0,.6);font-weight:400;font-size:14px;max-width:250px}.qms-select-department-tree-container ::ng-deep .mat-checkbox.checkbox-all .mat-checkbox-label{flex-direction:row;align-items:center;grid-column-gap:4px;-moz-column-gap:4px;column-gap:4px}.qms-select-department-tree-container ::ng-deep .btn-arrow{width:40px;height:40px;line-height:40px}.qms-select-department-tree-container .qms-loading-container{overflow:hidden;display:grid;grid-template-rows:repeat(60px)}.qms-select-department-tree-container .qms-loading-container .qms-loader{position:relative;width:100%;height:100%;padding:10px 0;overflow:hidden}.qms-select-department-tree-container .qms-loading-container .qms-loader:after{content:\"\";position:absolute;width:100%;height:100%;top:0;left:0;background:linear-gradient(110deg,hsla(0,0%,91%,0),hsla(0,0%,89%,0) 40%,hsla(0,0%,89%,.5) 50%,hsla(0,0%,89%,0) 60%,hsla(0,0%,89%,0));-webkit-animation:animate-loading 1.2s linear infinite;animation:animate-loading 1.2s linear infinite}.qms-select-department-tree-container .qms-loading-container .qms-loader__wrapper{position:relative;width:100%;height:100%}.qms-select-department-tree-container .qms-loading-container .qms-loader__wrapper .row-loader{background-color:#eee;position:absolute;left:0;width:100%;height:40px}@-webkit-keyframes animate-loading{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}@keyframes animate-loading{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.qms-select-department-tree-container .qms-spinner{font-size:20px;position:relative;display:inline-block;width:1em;height:1em}.qms-select-department-tree-container .qms-spinner.center{position:absolute;left:0;right:0;top:0;bottom:0;margin:auto}.qms-select-department-tree-container .mat-spinner circle,.qms-select-department-tree-container ::ng-deep .mat-progress-spinner circle{stroke:#1b75be!important}@media screen and (max-width:600px){.qms-select-department-tree-container .external-view-node{flex-basis:65px!important}.qms-select-department-tree-container .qms-tree-node.active-external-view .mat-checkbox.qms-group-options{width:calc(100% - 110px)!important}.qms-select-department-tree-container .header-view-tree{grid-template-columns:1fr 80px!important}.qms-select-department-tree-container ::ng-deep .cdk-virtual-scroll-content-wrapper{right:0!important}.qms-select-department-tree-container .header-title{font-size:14px!important}.qms-select-department-tree-container .node-external,.qms-select-department-tree-container .text-label,.qms-select-department-tree-container .text-label+span,.qms-select-department-tree-container .text-name{font-size:12px}.qms-select-department-tree-container .node-expand-area{width:30px!important;height:30px!important}.qms-select-department-tree-container .node-expand-area .qms-btn-icon{width:30px;height:30px;line-height:30px}.qms-select-department-tree-container .fs-base{font-size:12px!important}.qms-select-department-tree-container .qms-select-department-tree-container .breadcrumb-container{flex-wrap:nowrap!important}.qms-select-department-tree-container ::ng-deep .qms-breadcrumb-item-text{font-size:12px!important;max-width:175px!important}.qms-select-department-tree-container ::ng-deep .qms-paginator .mat-paginator-container .qms-total-result{display:none!important}.qms-select-department-tree-container ::ng-deep .qms-paginator .size-small .mat-paginator-container{justify-content:center!important}.qms-select-department-tree-container .qms-view-search-result__header>.header-title:nth-child(2){flex-basis:120px!important}.qms-select-department-tree-container .result-item__content .external-name{flex-basis:75px!important}.qms-select-department-tree-container .result-item__content .external-name span{width:75px!important}}"]
32812
32859
  },] }
32813
32860
  ];
32814
32861
  SelectDepartmentTreeComponent.ctorParameters = function () { return [
@@ -32826,6 +32873,7 @@
32826
32873
  rowsSkeleton: [{ type: i0.Input }],
32827
32874
  height: [{ type: i0.Input }],
32828
32875
  config: [{ type: i0.Input }],
32876
+ maxWidthNode: [{ type: i0.Input }],
32829
32877
  onSearchEvent: [{ type: i0.Output }],
32830
32878
  onPagingSearchEvent: [{ type: i0.Output }],
32831
32879
  onValueChangeEvent: [{ type: i0.Output }],
@@ -32899,6 +32947,7 @@
32899
32947
  function SelectDepartmentPopupData() {
32900
32948
  this.headerName = '';
32901
32949
  this.config = new QMSSelectDepartmentTreeConfig;
32950
+ this.hidePanelResult = false;
32902
32951
  }
32903
32952
  return SelectDepartmentPopupData;
32904
32953
  }());
@@ -33238,7 +33287,7 @@
33238
33287
  SelectDepartmentComponent.decorators = [
33239
33288
  { type: i0.Component, args: [{
33240
33289
  selector: 'qms-select-department',
33241
- template: "<div class=\"qms-select-department\">\r\n <div class=\"header-dialog mb-2\">\r\n <span>{{popupData.headerName}}</span>\r\n <button matDialogClose class=\"btn-close-dialog\" color=\"light\" qms-btn-icon>\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n <div>\r\n <div class=\"qms-scrollbar\">\r\n <div>\r\n <qms-select-department-tree #treeDepartment customClass=\"custom-department-tree\"\r\n [height]=\"popupData.config.isMobile ? '38vh' : '50vh'\" [rowsSkeleton]=\"9\" [config]=\"popupData.config\"\r\n (onSearchEvent)=\"onSearchEvent.emit($event)\" (onValueChangeEvent)=\"onResultDepartmentChange($event)\"\r\n (onPagingSearchEvent)=\"onPagingEvent.emit($event)\" (onCheckNodeEvent)=\"onCheckNodeEvent.emit($event)\"\r\n (onExpandNodeEvent)=\"onExpandNodeEvent.emit($event)\" (onLoadMoreEvent)=\"onLoadMoreEvent.emit()\"\r\n (onCheckAllItemSearchEvent)=\"onCheckAllItemSearchEvent.emit($event)\"\r\n (onCheckItemSearchEvent)=\"onCheckItemSearchEvent.emit($event)\"\r\n (toggleIncludeChildEvent)=\"toggleIncludeChildEvent.emit($event)\">\r\n </qms-select-department-tree>\r\n </div>\r\n </div>\r\n <div class=\"line__divider\"></div>\r\n <div [@heightAnimation] *ngIf=\"treeDepartment && !!treeDepartment.resultSelected.length\" class=\" pr-0 pe-0\">\r\n <div class=\"header-title\">{{LANG.RESULTS}}</div>\r\n <div class=\"result-content pr-0 pe-0\">\r\n <mat-chip-list class=\"panel__item qms-scrollbar\">\r\n <div [@inOutAnimation_2] [id]=\"'item-result-'+item.id\" *ngFor=\"let item of treeDepartment.resultSelected\">\r\n <mat-chip [@updateItemAnimation] *qmsContentChanges=\"item.children?.length\"\r\n [qms-tool-tip]=\"generateTootip(item)\" position=\"top\" mode=\"dark\" qms-chip [removable]=\"true\">\r\n <span (click)=\"onScrollToNode(item)\" qms-chip-body>\r\n <span class=\"related__item__content_name\" #itemName>\r\n <span>{{item.name}}</span>\r\n <span class=\"select__include-children__count\" *ngIf=\"!!item?.isGroup && !popupData.config.lazy\">\r\n {{item.children.length}}/{{item.childCount}}\r\n </span>\r\n <span class=\"select__include-children__count\" *ngIf=\"!!item?.isGroup && popupData.config.lazy\">\r\n {{item.selectedChildCount || item.children.length}}/{{item.childCount}}\r\n </span>\r\n </span>\r\n </span>\r\n <mat-icon *ngIf=\"!isNodeLoading(item.id); else loadingSpinner\"\r\n (click)=\"onRemoveNode(item)\">cancel</mat-icon>\r\n </mat-chip>\r\n </div>\r\n </mat-chip-list>\r\n </div>\r\n </div>\r\n <mat-divider *ngIf=\"treeDepartment && !!treeDepartment.resultSelected.length\" class=\"mx-auto\"></mat-divider>\r\n <div class=\"confirm__button__groups\">\r\n <button (click)=\"onCloseDialog()\" class=\"btn-add\"\r\n [disabled]=\"!resultSelected.length && !popupData.config.canAddNullResult\"\r\n [class.qms-btn-disabled]=\"!resultSelected.length && !popupData.config.canAddNullResult\" qms-btn>\r\n <span>{{LANG.ADD}}</span>\r\n <span>\r\n ({{treeDepartment.resultSelected.length}})\r\n </span>\r\n </button>\r\n <button qms-btn-text mat-dialog-close>\r\n Cancel\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- Loading spinner -->\r\n<ng-template #loadingSpinner>\r\n <div class=\"qms-spinner-wrapper\">\r\n <div class=\"qms-spinner center\">\r\n <mat-spinner [diameter]=\"20\" [strokeWidth]=\"2\" color=\"primary\"></mat-spinner>\r\n </div>\r\n </div>\r\n</ng-template>",
33290
+ template: "<div class=\"qms-select-department\">\r\n <div class=\"header-dialog mb-2\">\r\n <span>{{popupData.headerName}}</span>\r\n <button matDialogClose class=\"btn-close-dialog\" color=\"light\" qms-btn-icon>\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n <div>\r\n <div class=\"qms-scrollbar\">\r\n <div>\r\n <qms-select-department-tree #treeDepartment customClass=\"custom-department-tree\"\r\n [height]=\"popupData.config.isMobile ? '38vh' : '50vh'\" [rowsSkeleton]=\"9\" [config]=\"popupData.config\"\r\n (onSearchEvent)=\"onSearchEvent.emit($event)\" (onValueChangeEvent)=\"onResultDepartmentChange($event)\"\r\n (onPagingSearchEvent)=\"onPagingEvent.emit($event)\" (onCheckNodeEvent)=\"onCheckNodeEvent.emit($event)\"\r\n (onExpandNodeEvent)=\"onExpandNodeEvent.emit($event)\" (onLoadMoreEvent)=\"onLoadMoreEvent.emit()\"\r\n (onCheckAllItemSearchEvent)=\"onCheckAllItemSearchEvent.emit($event)\"\r\n (onCheckItemSearchEvent)=\"onCheckItemSearchEvent.emit($event)\"\r\n (toggleIncludeChildEvent)=\"toggleIncludeChildEvent.emit($event)\">\r\n </qms-select-department-tree>\r\n </div>\r\n </div>\r\n <div class=\"line__divider\"></div>\r\n <div [@heightAnimation] *ngIf=\"treeDepartment && !!treeDepartment.resultSelected.length && !popupData.hidePanelResult\" class=\" pr-0 pe-0\">\r\n <div class=\"header-title\">{{LANG.RESULTS}}</div>\r\n <div class=\"result-content pr-0 pe-0\">\r\n <mat-chip-list class=\"panel__item qms-scrollbar\">\r\n <div [@inOutAnimation_2] [id]=\"'item-result-'+item.id\" *ngFor=\"let item of treeDepartment.resultSelected\">\r\n <mat-chip [@updateItemAnimation] *qmsContentChanges=\"item.children?.length\"\r\n [qms-tool-tip]=\"generateTootip(item)\" position=\"top\" mode=\"dark\" qms-chip [removable]=\"true\">\r\n <span (click)=\"onScrollToNode(item)\" qms-chip-body>\r\n <span class=\"related__item__content_name\" #itemName>\r\n <span>{{item.name}}</span>\r\n <span class=\"select__include-children__count\" *ngIf=\"!!item?.isGroup && !popupData.config.lazy\">\r\n {{item.children.length}}/{{item.childCount}}\r\n </span>\r\n <span class=\"select__include-children__count\" *ngIf=\"!!item?.isGroup && popupData.config.lazy\">\r\n {{item.selectedChildCount || item.children.length}}/{{item.childCount}}\r\n </span>\r\n </span>\r\n </span>\r\n <ng-container *ngIf=\"isNodeLoading(item.id)\" [ngTemplateOutlet]=\"loadingSpinner\"></ng-container>\r\n <mat-icon *ngIf=\"!treeDepartment.isDisabledNode(item.id) && !isNodeLoading(item.id)\"\r\n (click)=\"onRemoveNode(item)\">cancel</mat-icon>\r\n </mat-chip>\r\n </div>\r\n </mat-chip-list>\r\n </div>\r\n </div>\r\n <mat-divider *ngIf=\"treeDepartment && !!treeDepartment.resultSelected.length && !popupData.hidePanelResult\" class=\"mx-auto\"></mat-divider>\r\n <div class=\"confirm__button__groups\">\r\n <button (click)=\"onCloseDialog()\" class=\"btn-add\"\r\n [disabled]=\"!resultSelected.length && !popupData.config.canAddNullResult\"\r\n [class.qms-btn-disabled]=\"!resultSelected.length && !popupData.config.canAddNullResult\" qms-btn>\r\n <span>{{LANG.ADD}}</span>\r\n <span>\r\n ({{treeDepartment.resultSelected.length}})\r\n </span>\r\n </button>\r\n <button qms-btn-text mat-dialog-close>\r\n Cancel\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- Loading spinner -->\r\n<ng-template #loadingSpinner>\r\n <div class=\"qms-spinner-wrapper\">\r\n <div class=\"qms-spinner center\">\r\n <mat-spinner [diameter]=\"20\" [strokeWidth]=\"2\" color=\"primary\"></mat-spinner>\r\n </div>\r\n </div>\r\n</ng-template>\r\n",
33242
33291
  providers: [
33243
33292
  {
33244
33293
  provide: checkbox.MAT_CHECKBOX_DEFAULT_OPTIONS,
@@ -33246,7 +33295,7 @@
33246
33295
  }
33247
33296
  ],
33248
33297
  animations: [SelectDepartmentAnimationTrigger],
33249
- styles: ["@charset \"UTF-8\";@font-face{font-family:icomoon;src:url(../assets/fonts/icomoon.eot?aghldx);src:url(../assets/fonts/icomoon.eot?aghldx#iefix) format(\"embedded-opentype\"),url(../assets/fonts/icomoon.ttf?aghldx) format(\"truetype\"),url(../assets/fonts/icomoon.woff?aghldx) format(\"woff\"),url(../assets/fonts/icomoon.svg?aghldx#icomoon) format(\"svg\");font-weight:400;font-style:normal;font-display:block}[class*=\" icon-\"],[class^=icon-]{font-family:icomoon!important;speak:never;font-style:normal;font-weight:400;font-feature-settings:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-acutely-toxic .path1:before{content:\"\uE91B\";color:#e32730}.icon-acutely-toxic .path2:before{content:\"\uE922\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path3:before{content:\"\uE923\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path4:before{content:\"\uE924\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path5:before{content:\"\uE925\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path6:before{content:\"\uE926\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path7:before{content:\"\uE927\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path8:before{content:\"\uE928\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path9:before{content:\"\uE929\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path10:before{content:\"\uE92A\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path11:before{content:\"\uE92B\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path12:before{content:\"\uE92C\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path13:before{content:\"\uE92D\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path14:before{content:\"\uE92E\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path15:before{content:\"\uE92F\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path16:before{content:\"\uE930\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path17:before{content:\"\uE931\";margin-left:-1em;color:#323232}.icon-add-column:before{content:\"\uE932\"}.icon-add-tooltip:before{content:\"\uE933\"}.icon-admin:before{content:\"\uE934\"}.icon-annual-cycle:before{content:\"\uE935\"}.icon-assignment-repete:before{content:\"\uE936\"}.icon-barrier-add:before{content:\"\uE937\"}.icon-barrier-edit:before{content:\"\uE938\"}.icon-barrier-view:before{content:\"\uE939\"}.icon-button-group:before{content:\"\uE93A\"}.icon-chemical-manager:before{content:\"\uE93B\"}.icon-chronic-health-hazard .path1:before{content:\"\uE93C\";color:#e32730}.icon-chronic-health-hazard .path2:before{content:\"\uE93D\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path3:before{content:\"\uE93E\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path4:before{content:\"\uE93F\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path5:before{content:\"\uE940\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path6:before{content:\"\uE941\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path7:before{content:\"\uE942\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path8:before{content:\"\uE943\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path9:before{content:\"\uE944\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path10:before{content:\"\uE945\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path11:before{content:\"\uE946\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path12:before{content:\"\uE947\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path13:before{content:\"\uE948\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path14:before{content:\"\uE949\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path15:before{content:\"\uE94A\";margin-left:-1em;color:#323232}.icon-contingency:before{content:\"\uE94B\"}.icon-corrosive .path1:before{content:\"\uE94C\";color:#323232}.icon-corrosive .path2:before{content:\"\uE94D\";margin-left:-1em;color:#323232}.icon-corrosive .path3:before{content:\"\uE94E\";margin-left:-1em;color:#323232}.icon-corrosive .path4:before{content:\"\uE94F\";margin-left:-1em;color:#323232}.icon-corrosive .path5:before{content:\"\uE950\";margin-left:-1em;color:#323232}.icon-corrosive .path6:before{content:\"\uE951\";margin-left:-1em;color:#323232}.icon-corrosive .path7:before{content:\"\uE952\";margin-left:-1em;color:#323232}.icon-corrosive .path8:before{content:\"\uE953\";margin-left:-1em;color:#323232}.icon-corrosive .path9:before{content:\"\uE954\";margin-left:-1em;color:#323232}.icon-corrosive .path10:before{content:\"\uE955\";margin-left:-1em;color:#323232}.icon-corrosive .path11:before{content:\"\uE956\";margin-left:-1em;color:#323232}.icon-corrosive .path12:before{content:\"\uE957\";margin-left:-1em;color:#323232}.icon-corrosive .path13:before{content:\"\uE958\";margin-left:-1em;color:#323232}.icon-corrosive .path14:before{content:\"\uE959\";margin-left:-1em;color:#323232}.icon-corrosive .path15:before{content:\"\uE95A\";margin-left:-1em;color:#323232}.icon-corrosive .path16:before{content:\"\uE95B\";margin-left:-1em;color:#323232}.icon-corrosive .path17:before{content:\"\uE95C\";margin-left:-1em;color:#323232}.icon-corrosive .path18:before{content:\"\uE95D\";margin-left:-1em;color:#323232}.icon-corrosive .path19:before{content:\"\uE95E\";margin-left:-1em;color:#323232}.icon-corrosive .path20:before{content:\"\uE95F\";margin-left:-1em;color:#323232}.icon-corrosive .path21:before{content:\"\uE960\";margin-left:-1em;color:#e32730}.icon-dashboard:before{content:\"\uE961\"}.icon-database-sds:before{content:\"\uE962\"}.icon-description-add:before{content:\"\uE963\"}.icon-description-edit:before{content:\"\uE964\"}.icon-description-view:before{content:\"\uE965\";color:#666}.icon-document-read .path1:before{content:\"\uE966\";color:#000;opacity:.6}.icon-document-read .path2:before{content:\"\uE967\";margin-left:-1em;color:#fff}.icon-document-read .path3:before{content:\"\uE968\";margin-left:-1em;color:#000;opacity:.6}.icon-draft:before{content:\"\uE969\"}.icon-expired-off:before{content:\"\uE96A\"}.icon-expired-on:before{content:\"\uE96B\"}.icon-explosive .path1:before{content:\"\uE96C\";color:#e32730}.icon-explosive .path2:before{content:\"\uE96D\";margin-left:-1em;color:#323232}.icon-explosive .path3:before{content:\"\uE96E\";margin-left:-1em;color:#323232}.icon-explosive .path4:before{content:\"\uE96F\";margin-left:-1em;color:#323232}.icon-explosive .path5:before{content:\"\uE970\";margin-left:-1em;color:#323232}.icon-explosive .path6:before{content:\"\uE971\";margin-left:-1em;color:#323232}.icon-explosive .path7:before{content:\"\uE972\";margin-left:-1em;color:#323232}.icon-explosive .path8:before{content:\"\uE973\";margin-left:-1em;color:#323232}.icon-explosive .path9:before{content:\"\uE974\";margin-left:-1em;color:#323232}.icon-explosive .path10:before{content:\"\uE975\";margin-left:-1em;color:#323232}.icon-explosive .path11:before{content:\"\uE976\";margin-left:-1em;color:#323232}.icon-explosive .path12:before{content:\"\uE977\";margin-left:-1em;color:#323232}.icon-explosive .path13:before{content:\"\uE978\";margin-left:-1em;color:#323232}.icon-explosive .path14:before{content:\"\uE979\";margin-left:-1em;color:#323232}.icon-explosive .path15:before{content:\"\uE97A\";margin-left:-1em;color:#323232}.icon-explosive .path16:before{content:\"\uE97B\";margin-left:-1em;color:#323232}.icon-explosive .path17:before{content:\"\uE97C\";margin-left:-1em;color:#323232}.icon-explosive .path18:before{content:\"\uE97D\";margin-left:-1em;color:#323232}.icon-explosive .path19:before{content:\"\uE97E\";margin-left:-1em;color:#323232}.icon-explosive .path20:before{content:\"\uE97F\";margin-left:-1em;color:#323232}.icon-explosive .path21:before{content:\"\uE980\";margin-left:-1em;color:#323232}.icon-explosive .path22:before{content:\"\uE981\";margin-left:-1em;color:#323232}.icon-explosive .path23:before{content:\"\uE982\";margin-left:-1em;color:#323232}.icon-explosive .path24:before{content:\"\uE983\";margin-left:-1em;color:#323232}.icon-explosive .path25:before{content:\"\uE984\";margin-left:-1em;color:#323232}.icon-explosive .path26:before{content:\"\uE985\";margin-left:-1em;color:#323232}.icon-explosive .path27:before{content:\"\uE986\";margin-left:-1em;color:#323232}.icon-explosive .path28:before{content:\"\uE987\";margin-left:-1em;color:#323232}.icon-explosive .path29:before{content:\"\uE988\";margin-left:-1em;color:#323232}.icon-explosive .path30:before{content:\"\uE989\";margin-left:-1em;color:#323232}.icon-explosive .path31:before{content:\"\uE98A\";margin-left:-1em;color:#323232}.icon-explosive .path32:before{content:\"\uE98B\";margin-left:-1em;color:#323232}.icon-explosive .path33:before{content:\"\uE98C\";margin-left:-1em;color:#323232}.icon-explosive .path34:before{content:\"\uE98D\";margin-left:-1em;color:#323232}.icon-explosive .path35:before{content:\"\uE98E\";margin-left:-1em;color:#323232}.icon-explosive .path36:before{content:\"\uE98F\";margin-left:-1em;color:#323232}.icon-explosive .path37:before{content:\"\uE990\";margin-left:-1em;color:#323232}.icon-explosive .path38:before{content:\"\uE991\";margin-left:-1em;color:#323232}.icon-explosive .path39:before{content:\"\uE992\";margin-left:-1em;color:#323232}.icon-explosive .path40:before{content:\"\uE993\";margin-left:-1em;color:#323232}.icon-explosive .path41:before{content:\"\uE994\";margin-left:-1em;color:#323232}.icon-explosive .path42:before{content:\"\uE995\";margin-left:-1em;color:#323232}.icon-explosive .path43:before{content:\"\uE996\";margin-left:-1em;color:#323232}.icon-explosive .path44:before{content:\"\uE997\";margin-left:-1em;color:#323232}.icon-explosive .path45:before{content:\"\uE998\";margin-left:-1em;color:#323232}.icon-explosive .path46:before{content:\"\uE999\";margin-left:-1em;color:#323232}.icon-file-excel:before{content:\"\uE99A\"}.icon-file-pdf:before{content:\"\uE99B\"}.icon-file-pdf-verified .path1:before{content:\"\uE99C\";color:#000;opacity:.6}.icon-file-pdf-verified .path2:before{content:\"\uE99D\";margin-left:-1em;color:#fff}.icon-file-pdf-verified .path3:before{content:\"\uE99E\";margin-left:-1em;color:#000;opacity:.6}.icon-file-word:before{content:\"\uE99F\"}.icon-filter-alt:before{content:\"\uE9A0\"}.icon-flammable .path1:before{content:\"\uE9A1\";color:#323232}.icon-flammable .path2:before{content:\"\uE9A2\";margin-left:-1em;color:#323232}.icon-flammable .path3:before{content:\"\uE9A3\";margin-left:-1em;color:#e32730}.icon-gas-under-pressure .path1:before{content:\"\uE9A4\";color:#323232}.icon-gas-under-pressure .path2:before{content:\"\uE9A5\";margin-left:-1em;color:#e32730}.icon-health-hazard .path1:before{content:\"\uE9A6\";color:#323232}.icon-health-hazard .path2:before{content:\"\uE9A7\";margin-left:-1em;color:#e32730}.icon-line-break:before{content:\"\uE9A8\"}.icon-location:before{content:\"\uE9A9\"}.icon-measure-add:before{content:\"\uE9AA\"}.icon-measure-edit:before{content:\"\uE9AB\"}.icon-measure-view:before{content:\"\uE9AC\";color:#666}.icon-messages:before{content:\"\uE9AD\"}.icon-monitoring:before{content:\"\uE9AE\";color:#666}.icon-move:before{content:\"\uE9AF\"}.icon-oxidizing .path1:before{content:\"\uE9B0\";color:#e32730}.icon-oxidizing .path2:before{content:\"\uE9B1\";margin-left:-1em;color:#323232}.icon-oxidizing .path3:before{content:\"\uE9B2\";margin-left:-1em;color:#323232}.icon-oxidizing .path4:before{content:\"\uE9B3\";margin-left:-1em;color:#323232}.icon-process-area-closed:before{content:\"\uE9B4\"}.icon-process-area-open:before{content:\"\uE9B5\"}.icon-process-linked .path1:before{content:\"\uE9B6\";color:#000;opacity:.6}.icon-process-linked .path2:before{content:\"\uE9B7\";margin-left:-1em;color:#666}.icon-risk:before{content:\"\uE9B8\"}.icon-search-in-file:before{content:\"\uE9B9\"}.icon-sort-ascending:before{content:\"\uE9BA\"}.icon-sort-descending:before{content:\"\uE9BB\"}.icon-subscript:before{content:\"\uE9BC\"}.icon-superscript:before{content:\"\uE9BD\"}.icon-syncronice-favorites:before{content:\"\uE9BE\"}.icon-system-settings:before{content:\"\uE9BF\"}.icon-view-three-outlined:before{content:\"\uE9C0\"}.icon-workplace-safety:before{content:\"\uE9C1\"}.icon-checklist:before{content:\"\uE900\"}.icon-department-document .path1:before{content:\"\uE901\";color:#000;opacity:.6}.icon-department-document .path2:before{content:\"\uE902\";margin-left:-1em;color:#00804c}.icon-department-folder-closed .path1:before{content:\"\uE903\";color:#000;opacity:.6}.icon-department-folder-closed .path2:before{content:\"\uE904\";margin-left:-1em;color:#00804c}.icon-department-folder-open .path1:before{content:\"\uE905\";color:#000;opacity:.6}.icon-department-folder-open .path2:before{content:\"\uE906\";margin-left:-1em;color:#00804c}.icon-deviation:before{content:\"\uE907\"}.icon-dropdown-folder .path1:before{content:\"\uE908\";color:#00324e}.icon-dropdown-folder .path2:before{content:\"\uE909\";margin-left:-1em;color:#fff;opacity:.6}.icon-enterprise-document .path1:before{content:\"\uE90A\";color:#000;opacity:.6}.icon-enterprise-document .path2:before{content:\"\uE90B\";margin-left:-1em;color:#cf4714}.icon-enterprise-folder-closed .path1:before{content:\"\uE90C\";color:#000;opacity:.6}.icon-enterprise-folder-closed .path2:before{content:\"\uE90D\";margin-left:-1em;color:#cf4714}.icon-enterprise-folder-open .path1:before{content:\"\uE90E\";color:#000;opacity:.6}.icon-enterprise-folder-open .path2:before{content:\"\uE90F\";margin-left:-1em;color:#cf4714}.icon-folder-closed:before{content:\"\uE910\"}.icon-folder-open:before{content:\"\uE911\"}.icon-keyboard_arrow_down:before{content:\"\uE912\"}.icon-keyboard_arrow_up:before{content:\"\uE913\"}.icon-local-document .path1:before{content:\"\uE914\";color:#000;opacity:.6}.icon-local-document .path2:before{content:\"\uE915\";margin-left:-1em;color:#1954a9}.icon-local-folder-closed .path1:before{content:\"\uE916\";color:#000;opacity:.6}.icon-local-folder-closed .path2:before{content:\"\uE917\";margin-left:-1em;color:#1954a9}.icon-local-folder-open .path1:before{content:\"\uE918\";color:#000;opacity:.6}.icon-local-folder-open .path2:before{content:\"\uE919\";margin-left:-1em;color:#1954a9}.icon-process:before{content:\"\uE91A\"}.icon-regional-document .path1:before{content:\"\uE91C\";color:#000;opacity:.6}.icon-regional-document .path2:before{content:\"\uE91D\";margin-left:-1em;color:#662e0d}.icon-regional-folder-closed .path1:before{content:\"\uE91E\";color:#000;opacity:.6}.icon-regional-folder-closed .path2:before{content:\"\uE91F\";margin-left:-1em;color:#662e0d}.icon-regional-folder-open .path1:before{content:\"\uE920\";color:#000;opacity:.6}.icon-regional-folder-open .path2:before{content:\"\uE921\";margin-left:-1em;color:#662e0d}.qms-select-department .cursor-pointer{cursor:pointer}.qms-select-department .ml-5{margin-left:10px}.qms-select-department .padding-5{padding:5px}.qms-select-department .header-dialog{display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:16px}.qms-select-department .input__field{display:flex;align-items:center;position:relative}.qms-select-department .input__field input.input-search{width:100%;padding:10px;outline:none;border:none;background:var(--background-input-text)}.qms-select-department .input__field .btn-search{cursor:pointer;vertical-align:middle;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.qms-select-department .line__divider{border-bottom:1px solid #ccc;height:1px;margin-top:10px;min-width:300px;max-width:100%}.qms-select-department .mat-expansion-panel-header{height:30px;font-size:12px;letter-spacing:1px;font-family:Raleway;font-weight:600;padding:0}.qms-select-department .mat-expansion-panel-header .mat-expansion-panel-header-title{align-items:center;margin-left:12px}.qms-select-department .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:none}.qms-select-department .panel__item{max-height:175px;margin-top:4px;overflow-x:hidden;overflow-y:auto;padding-right:5px;width:100%;display:block}.qms-select-department .panel__item .related__item__inline{max-width:100%}.qms-select-department .panel__item ::ng-deep .mat-chip-list-wrapper{margin:0 -4px!important}.qms-select-department .panel__item .select__toggle-include{width:100%}.qms-select-department .panel__item .select__toggle-include.toggle-include-child .mat-slide-toggle.qms-group-options .mat-slide-toggle-thumb{background-color:#5a5a5a!important}.qms-select-department .panel__item .related__item__content{height:32px;line-height:32px;background-color:var(--related-item-background);max-width:100%;margin-bottom:5px;margin-left:2.5px;margin-right:2.5px}.qms-select-department .panel__item .related__item__content .mat-icon{color:var(--related-mat-icon-color);font-size:24px}.qms-select-department .header-title{font-weight:600;color:rgba(0,0,0,.87)}.qms-select-department .result-content{padding-right:0!important}.qms-select-department .result-content .mat-chip-list{min-height:40px}.qms-select-department .result-content .mat-chip-list .mat-icon{color:rgba(0,0,0,.3)!important;cursor:pointer}.qms-select-department .result-content .mat-chip-list .mat-icon:hover{color:#000!important}.qms-select-department .result-content span.related__item__content_name{min-width:calc(100% - 13px);max-width:250px;display:flex;align-items:center}.qms-select-department .result-content span.related__item__content_name>span:first-child{display:inline-block;margin-right:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.qms-select-department .result-content span.related__item__content_name .select__include-children__count{font-size:.75rem;color:rgba(0,0,0,.5);font-weight:600;line-height:16px}.qms-select-department .text-name{position:relative;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;cursor:pointer;width:100%}.qms-select-department ::ng-deep .mat-checkbox.qms-group-options.flex-direction-row .mat-checkbox-layout{white-space:normal}.qms-select-department ::ng-deep .mat-checkbox.qms-group-options.flex-direction-row .mat-checkbox-label{flex-direction:row;align-items:center;position:relative;padding-bottom:2px}.qms-select-department .confirm__button__groups .btn-add>.qms-btn-wrapper{display:flex;justify-content:center;align-items:center}.qms-select-department ::ng-deep .custom-department-tree .qms-view-search-result{height:100%!important}.qms-select-department ::ng-deep .custom-department-tree .qms-view-search-result .result{max-height:calc(100% - 80px)!important}.qms-select-department ::ng-deep .custom-department-tree .loading-container{height:calc(100% - 40px)!important}.qms-select-department ::ng-deep.btn-close-dialog.qms-btn-icon:focus:not(:hover){background-color:unset!important;color:unset!important}.qms-spinner-wrapper{display:inline-block;width:22px;height:22px}.qms-spinner-wrapper .qms-spinner{font-size:20px;width:1em;height:1em;position:absolute;right:5px;top:50%;transform:translateY(-50%)}.qms-spinner-wrapper .qms-spinner .mat-progress-spinner circle,.qms-spinner-wrapper .qms-spinner .mat-spinner circle{stroke:#1b75be!important}@media screen and (max-width:600px){::ng-deep .cdk-global-overlay-wrapper{justify-content:center!important;width:100vw}.header-title{font-size:14px}.related__item__content_name{font-size:12px!important}}"]
33298
+ styles: ["@charset \"UTF-8\";@font-face{font-family:icomoon;src:url(../assets/fonts/icomoon.eot?aghldx);src:url(../assets/fonts/icomoon.eot?aghldx#iefix) format(\"embedded-opentype\"),url(../assets/fonts/icomoon.ttf?aghldx) format(\"truetype\"),url(../assets/fonts/icomoon.woff?aghldx) format(\"woff\"),url(../assets/fonts/icomoon.svg?aghldx#icomoon) format(\"svg\");font-weight:400;font-style:normal;font-display:block}[class*=\" icon-\"],[class^=icon-]{font-family:icomoon!important;speak:never;font-style:normal;font-weight:400;font-feature-settings:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-acutely-toxic .path1:before{content:\"\uE91B\";color:#e32730}.icon-acutely-toxic .path2:before{content:\"\uE922\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path3:before{content:\"\uE923\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path4:before{content:\"\uE924\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path5:before{content:\"\uE925\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path6:before{content:\"\uE926\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path7:before{content:\"\uE927\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path8:before{content:\"\uE928\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path9:before{content:\"\uE929\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path10:before{content:\"\uE92A\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path11:before{content:\"\uE92B\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path12:before{content:\"\uE92C\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path13:before{content:\"\uE92D\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path14:before{content:\"\uE92E\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path15:before{content:\"\uE92F\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path16:before{content:\"\uE930\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path17:before{content:\"\uE931\";margin-left:-1em;color:#323232}.icon-add-column:before{content:\"\uE932\"}.icon-add-tooltip:before{content:\"\uE933\"}.icon-admin:before{content:\"\uE934\"}.icon-annual-cycle:before{content:\"\uE935\"}.icon-assignment-repete:before{content:\"\uE936\"}.icon-barrier-add:before{content:\"\uE937\"}.icon-barrier-edit:before{content:\"\uE938\"}.icon-barrier-view:before{content:\"\uE939\"}.icon-button-group:before{content:\"\uE93A\"}.icon-chemical-manager:before{content:\"\uE93B\"}.icon-chronic-health-hazard .path1:before{content:\"\uE93C\";color:#e32730}.icon-chronic-health-hazard .path2:before{content:\"\uE93D\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path3:before{content:\"\uE93E\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path4:before{content:\"\uE93F\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path5:before{content:\"\uE940\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path6:before{content:\"\uE941\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path7:before{content:\"\uE942\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path8:before{content:\"\uE943\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path9:before{content:\"\uE944\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path10:before{content:\"\uE945\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path11:before{content:\"\uE946\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path12:before{content:\"\uE947\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path13:before{content:\"\uE948\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path14:before{content:\"\uE949\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path15:before{content:\"\uE94A\";margin-left:-1em;color:#323232}.icon-contingency:before{content:\"\uE94B\"}.icon-corrosive .path1:before{content:\"\uE94C\";color:#323232}.icon-corrosive .path2:before{content:\"\uE94D\";margin-left:-1em;color:#323232}.icon-corrosive .path3:before{content:\"\uE94E\";margin-left:-1em;color:#323232}.icon-corrosive .path4:before{content:\"\uE94F\";margin-left:-1em;color:#323232}.icon-corrosive .path5:before{content:\"\uE950\";margin-left:-1em;color:#323232}.icon-corrosive .path6:before{content:\"\uE951\";margin-left:-1em;color:#323232}.icon-corrosive .path7:before{content:\"\uE952\";margin-left:-1em;color:#323232}.icon-corrosive .path8:before{content:\"\uE953\";margin-left:-1em;color:#323232}.icon-corrosive .path9:before{content:\"\uE954\";margin-left:-1em;color:#323232}.icon-corrosive .path10:before{content:\"\uE955\";margin-left:-1em;color:#323232}.icon-corrosive .path11:before{content:\"\uE956\";margin-left:-1em;color:#323232}.icon-corrosive .path12:before{content:\"\uE957\";margin-left:-1em;color:#323232}.icon-corrosive .path13:before{content:\"\uE958\";margin-left:-1em;color:#323232}.icon-corrosive .path14:before{content:\"\uE959\";margin-left:-1em;color:#323232}.icon-corrosive .path15:before{content:\"\uE95A\";margin-left:-1em;color:#323232}.icon-corrosive .path16:before{content:\"\uE95B\";margin-left:-1em;color:#323232}.icon-corrosive .path17:before{content:\"\uE95C\";margin-left:-1em;color:#323232}.icon-corrosive .path18:before{content:\"\uE95D\";margin-left:-1em;color:#323232}.icon-corrosive .path19:before{content:\"\uE95E\";margin-left:-1em;color:#323232}.icon-corrosive .path20:before{content:\"\uE95F\";margin-left:-1em;color:#323232}.icon-corrosive .path21:before{content:\"\uE960\";margin-left:-1em;color:#e32730}.icon-dashboard:before{content:\"\uE961\"}.icon-database-sds:before{content:\"\uE962\"}.icon-description-add:before{content:\"\uE963\"}.icon-description-edit:before{content:\"\uE964\"}.icon-description-view:before{content:\"\uE965\";color:#666}.icon-document-read .path1:before{content:\"\uE966\";color:#000;opacity:.6}.icon-document-read .path2:before{content:\"\uE967\";margin-left:-1em;color:#fff}.icon-document-read .path3:before{content:\"\uE968\";margin-left:-1em;color:#000;opacity:.6}.icon-draft:before{content:\"\uE969\"}.icon-expired-off:before{content:\"\uE96A\"}.icon-expired-on:before{content:\"\uE96B\"}.icon-explosive .path1:before{content:\"\uE96C\";color:#e32730}.icon-explosive .path2:before{content:\"\uE96D\";margin-left:-1em;color:#323232}.icon-explosive .path3:before{content:\"\uE96E\";margin-left:-1em;color:#323232}.icon-explosive .path4:before{content:\"\uE96F\";margin-left:-1em;color:#323232}.icon-explosive .path5:before{content:\"\uE970\";margin-left:-1em;color:#323232}.icon-explosive .path6:before{content:\"\uE971\";margin-left:-1em;color:#323232}.icon-explosive .path7:before{content:\"\uE972\";margin-left:-1em;color:#323232}.icon-explosive .path8:before{content:\"\uE973\";margin-left:-1em;color:#323232}.icon-explosive .path9:before{content:\"\uE974\";margin-left:-1em;color:#323232}.icon-explosive .path10:before{content:\"\uE975\";margin-left:-1em;color:#323232}.icon-explosive .path11:before{content:\"\uE976\";margin-left:-1em;color:#323232}.icon-explosive .path12:before{content:\"\uE977\";margin-left:-1em;color:#323232}.icon-explosive .path13:before{content:\"\uE978\";margin-left:-1em;color:#323232}.icon-explosive .path14:before{content:\"\uE979\";margin-left:-1em;color:#323232}.icon-explosive .path15:before{content:\"\uE97A\";margin-left:-1em;color:#323232}.icon-explosive .path16:before{content:\"\uE97B\";margin-left:-1em;color:#323232}.icon-explosive .path17:before{content:\"\uE97C\";margin-left:-1em;color:#323232}.icon-explosive .path18:before{content:\"\uE97D\";margin-left:-1em;color:#323232}.icon-explosive .path19:before{content:\"\uE97E\";margin-left:-1em;color:#323232}.icon-explosive .path20:before{content:\"\uE97F\";margin-left:-1em;color:#323232}.icon-explosive .path21:before{content:\"\uE980\";margin-left:-1em;color:#323232}.icon-explosive .path22:before{content:\"\uE981\";margin-left:-1em;color:#323232}.icon-explosive .path23:before{content:\"\uE982\";margin-left:-1em;color:#323232}.icon-explosive .path24:before{content:\"\uE983\";margin-left:-1em;color:#323232}.icon-explosive .path25:before{content:\"\uE984\";margin-left:-1em;color:#323232}.icon-explosive .path26:before{content:\"\uE985\";margin-left:-1em;color:#323232}.icon-explosive .path27:before{content:\"\uE986\";margin-left:-1em;color:#323232}.icon-explosive .path28:before{content:\"\uE987\";margin-left:-1em;color:#323232}.icon-explosive .path29:before{content:\"\uE988\";margin-left:-1em;color:#323232}.icon-explosive .path30:before{content:\"\uE989\";margin-left:-1em;color:#323232}.icon-explosive .path31:before{content:\"\uE98A\";margin-left:-1em;color:#323232}.icon-explosive .path32:before{content:\"\uE98B\";margin-left:-1em;color:#323232}.icon-explosive .path33:before{content:\"\uE98C\";margin-left:-1em;color:#323232}.icon-explosive .path34:before{content:\"\uE98D\";margin-left:-1em;color:#323232}.icon-explosive .path35:before{content:\"\uE98E\";margin-left:-1em;color:#323232}.icon-explosive .path36:before{content:\"\uE98F\";margin-left:-1em;color:#323232}.icon-explosive .path37:before{content:\"\uE990\";margin-left:-1em;color:#323232}.icon-explosive .path38:before{content:\"\uE991\";margin-left:-1em;color:#323232}.icon-explosive .path39:before{content:\"\uE992\";margin-left:-1em;color:#323232}.icon-explosive .path40:before{content:\"\uE993\";margin-left:-1em;color:#323232}.icon-explosive .path41:before{content:\"\uE994\";margin-left:-1em;color:#323232}.icon-explosive .path42:before{content:\"\uE995\";margin-left:-1em;color:#323232}.icon-explosive .path43:before{content:\"\uE996\";margin-left:-1em;color:#323232}.icon-explosive .path44:before{content:\"\uE997\";margin-left:-1em;color:#323232}.icon-explosive .path45:before{content:\"\uE998\";margin-left:-1em;color:#323232}.icon-explosive .path46:before{content:\"\uE999\";margin-left:-1em;color:#323232}.icon-file-excel:before{content:\"\uE99A\"}.icon-file-pdf:before{content:\"\uE99B\"}.icon-file-pdf-verified .path1:before{content:\"\uE99C\";color:#000;opacity:.6}.icon-file-pdf-verified .path2:before{content:\"\uE99D\";margin-left:-1em;color:#fff}.icon-file-pdf-verified .path3:before{content:\"\uE99E\";margin-left:-1em;color:#000;opacity:.6}.icon-file-word:before{content:\"\uE99F\"}.icon-filter-alt:before{content:\"\uE9A0\"}.icon-flammable .path1:before{content:\"\uE9A1\";color:#323232}.icon-flammable .path2:before{content:\"\uE9A2\";margin-left:-1em;color:#323232}.icon-flammable .path3:before{content:\"\uE9A3\";margin-left:-1em;color:#e32730}.icon-gas-under-pressure .path1:before{content:\"\uE9A4\";color:#323232}.icon-gas-under-pressure .path2:before{content:\"\uE9A5\";margin-left:-1em;color:#e32730}.icon-health-hazard .path1:before{content:\"\uE9A6\";color:#323232}.icon-health-hazard .path2:before{content:\"\uE9A7\";margin-left:-1em;color:#e32730}.icon-line-break:before{content:\"\uE9A8\"}.icon-location:before{content:\"\uE9A9\"}.icon-measure-add:before{content:\"\uE9AA\"}.icon-measure-edit:before{content:\"\uE9AB\"}.icon-measure-view:before{content:\"\uE9AC\";color:#666}.icon-messages:before{content:\"\uE9AD\"}.icon-monitoring:before{content:\"\uE9AE\";color:#666}.icon-move:before{content:\"\uE9AF\"}.icon-oxidizing .path1:before{content:\"\uE9B0\";color:#e32730}.icon-oxidizing .path2:before{content:\"\uE9B1\";margin-left:-1em;color:#323232}.icon-oxidizing .path3:before{content:\"\uE9B2\";margin-left:-1em;color:#323232}.icon-oxidizing .path4:before{content:\"\uE9B3\";margin-left:-1em;color:#323232}.icon-process-area-closed:before{content:\"\uE9B4\"}.icon-process-area-open:before{content:\"\uE9B5\"}.icon-process-linked .path1:before{content:\"\uE9B6\";color:#000;opacity:.6}.icon-process-linked .path2:before{content:\"\uE9B7\";margin-left:-1em;color:#666}.icon-risk:before{content:\"\uE9B8\"}.icon-search-in-file:before{content:\"\uE9B9\"}.icon-sort-ascending:before{content:\"\uE9BA\"}.icon-sort-descending:before{content:\"\uE9BB\"}.icon-subscript:before{content:\"\uE9BC\"}.icon-superscript:before{content:\"\uE9BD\"}.icon-syncronice-favorites:before{content:\"\uE9BE\"}.icon-system-settings:before{content:\"\uE9BF\"}.icon-view-three-outlined:before{content:\"\uE9C0\"}.icon-workplace-safety:before{content:\"\uE9C1\"}.icon-checklist:before{content:\"\uE900\"}.icon-department-document .path1:before{content:\"\uE901\";color:#000;opacity:.6}.icon-department-document .path2:before{content:\"\uE902\";margin-left:-1em;color:#00804c}.icon-department-folder-closed .path1:before{content:\"\uE903\";color:#000;opacity:.6}.icon-department-folder-closed .path2:before{content:\"\uE904\";margin-left:-1em;color:#00804c}.icon-department-folder-open .path1:before{content:\"\uE905\";color:#000;opacity:.6}.icon-department-folder-open .path2:before{content:\"\uE906\";margin-left:-1em;color:#00804c}.icon-deviation:before{content:\"\uE907\"}.icon-dropdown-folder .path1:before{content:\"\uE908\";color:#00324e}.icon-dropdown-folder .path2:before{content:\"\uE909\";margin-left:-1em;color:#fff;opacity:.6}.icon-enterprise-document .path1:before{content:\"\uE90A\";color:#000;opacity:.6}.icon-enterprise-document .path2:before{content:\"\uE90B\";margin-left:-1em;color:#cf4714}.icon-enterprise-folder-closed .path1:before{content:\"\uE90C\";color:#000;opacity:.6}.icon-enterprise-folder-closed .path2:before{content:\"\uE90D\";margin-left:-1em;color:#cf4714}.icon-enterprise-folder-open .path1:before{content:\"\uE90E\";color:#000;opacity:.6}.icon-enterprise-folder-open .path2:before{content:\"\uE90F\";margin-left:-1em;color:#cf4714}.icon-folder-closed:before{content:\"\uE910\"}.icon-folder-open:before{content:\"\uE911\"}.icon-keyboard_arrow_down:before{content:\"\uE912\"}.icon-keyboard_arrow_up:before{content:\"\uE913\"}.icon-local-document .path1:before{content:\"\uE914\";color:#000;opacity:.6}.icon-local-document .path2:before{content:\"\uE915\";margin-left:-1em;color:#1954a9}.icon-local-folder-closed .path1:before{content:\"\uE916\";color:#000;opacity:.6}.icon-local-folder-closed .path2:before{content:\"\uE917\";margin-left:-1em;color:#1954a9}.icon-local-folder-open .path1:before{content:\"\uE918\";color:#000;opacity:.6}.icon-local-folder-open .path2:before{content:\"\uE919\";margin-left:-1em;color:#1954a9}.icon-process:before{content:\"\uE91A\"}.icon-regional-document .path1:before{content:\"\uE91C\";color:#000;opacity:.6}.icon-regional-document .path2:before{content:\"\uE91D\";margin-left:-1em;color:#662e0d}.icon-regional-folder-closed .path1:before{content:\"\uE91E\";color:#000;opacity:.6}.icon-regional-folder-closed .path2:before{content:\"\uE91F\";margin-left:-1em;color:#662e0d}.icon-regional-folder-open .path1:before{content:\"\uE920\";color:#000;opacity:.6}.icon-regional-folder-open .path2:before{content:\"\uE921\";margin-left:-1em;color:#662e0d}.qms-select-department{font-family:Open Sans,sans-serif}.qms-select-department .cursor-pointer{cursor:pointer}.qms-select-department .ml-5{margin-left:10px}.qms-select-department .padding-5{padding:5px}.qms-select-department .header-dialog{display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:16px}.qms-select-department .input__field{display:flex;align-items:center;position:relative}.qms-select-department .input__field input.input-search{width:100%;padding:10px;outline:none;border:none;background:var(--background-input-text)}.qms-select-department .input__field .btn-search{cursor:pointer;vertical-align:middle;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.qms-select-department .line__divider{border-bottom:1px solid #ccc;height:1px;margin-top:10px;min-width:300px;max-width:100%}.qms-select-department .mat-expansion-panel-header{height:30px;font-size:12px;letter-spacing:1px;font-family:Raleway;font-weight:600;padding:0}.qms-select-department .mat-expansion-panel-header .mat-expansion-panel-header-title{align-items:center;margin-left:12px}.qms-select-department .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:none}.qms-select-department .panel__item{max-height:175px;margin-top:4px;overflow-x:hidden;overflow-y:auto;padding-right:5px;width:100%;display:block}.qms-select-department .panel__item .related__item__inline{max-width:100%}.qms-select-department .panel__item ::ng-deep .mat-chip-list-wrapper{margin:0 -4px!important}.qms-select-department .panel__item .select__toggle-include{width:100%}.qms-select-department .panel__item .select__toggle-include.toggle-include-child .mat-slide-toggle.qms-group-options .mat-slide-toggle-thumb{background-color:#5a5a5a!important}.qms-select-department .panel__item .related__item__content{height:32px;line-height:32px;background-color:var(--related-item-background);max-width:100%;margin-bottom:5px;margin-left:2.5px;margin-right:2.5px}.qms-select-department .panel__item .related__item__content .mat-icon{color:var(--related-mat-icon-color);font-size:24px}.qms-select-department .header-title{font-weight:600;color:rgba(0,0,0,.87)}.qms-select-department .result-content{padding-right:0!important}.qms-select-department .result-content .mat-chip-list{min-height:40px}.qms-select-department .result-content .mat-chip-list .mat-icon{color:rgba(0,0,0,.3)!important;cursor:pointer}.qms-select-department .result-content .mat-chip-list .mat-icon:hover{color:#000!important}.qms-select-department .result-content span.related__item__content_name{min-width:calc(100% - 13px);max-width:250px;display:flex;align-items:center}.qms-select-department .result-content span.related__item__content_name>span:first-child{display:inline-block;margin-right:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.qms-select-department .result-content span.related__item__content_name .select__include-children__count{font-size:.75rem;color:rgba(0,0,0,.5);font-weight:600;line-height:16px}.qms-select-department .text-name{position:relative;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;cursor:pointer;width:100%}.qms-select-department ::ng-deep .mat-checkbox.qms-group-options.flex-direction-row .mat-checkbox-layout{white-space:normal}.qms-select-department ::ng-deep .mat-checkbox.qms-group-options.flex-direction-row .mat-checkbox-label{flex-direction:row;align-items:center;position:relative;padding-bottom:2px}.qms-select-department .confirm__button__groups .btn-add>.qms-btn-wrapper{display:flex;justify-content:center;align-items:center}.qms-select-department ::ng-deep .custom-department-tree .qms-view-search-result{height:100%!important}.qms-select-department ::ng-deep .custom-department-tree .qms-view-search-result .result{max-height:calc(100% - 80px)!important}.qms-select-department ::ng-deep .custom-department-tree .loading-container{height:calc(100% - 40px)!important}.qms-select-department ::ng-deep.btn-close-dialog.qms-btn-icon:focus:not(:hover){background-color:unset!important;color:unset!important}.qms-spinner-wrapper{display:inline-block;width:22px;height:22px}.qms-spinner-wrapper .qms-spinner{font-size:20px;width:1em;height:1em;position:absolute;right:5px;top:50%;transform:translateY(-50%)}.qms-spinner-wrapper .qms-spinner .mat-progress-spinner circle,.qms-spinner-wrapper .qms-spinner .mat-spinner circle{stroke:#1b75be!important}@media screen and (max-width:600px){::ng-deep .cdk-global-overlay-wrapper{justify-content:center!important;width:100vw}.header-title{font-size:14px}.related__item__content_name{font-size:12px!important}}"]
33250
33299
  },] }
33251
33300
  ];
33252
33301
  SelectDepartmentComponent.ctorParameters = function () { return [
@@ -33456,6 +33505,10 @@
33456
33505
  this.titleDialog = '';
33457
33506
  this.titleResult = '';
33458
33507
  this.sizeUpdateDefault = '1024px';
33508
+ this.disableSelectedList = false;
33509
+ this.formatTooltip = null;
33510
+ this.formatMsgDisable = null;
33511
+ this.maxWidthNode = 510;
33459
33512
  }
33460
33513
  return QMSSelectAccessDialog;
33461
33514
  }());
@@ -33465,6 +33518,7 @@
33465
33518
  };
33466
33519
  var QMSSelectAccessDialogComponent = /** @class */ (function () {
33467
33520
  function QMSSelectAccessDialogComponent(dialogRef, dialogData, translate, _fb, cdRef) {
33521
+ var _this = this;
33468
33522
  this.dialogRef = dialogRef;
33469
33523
  this.dialogData = dialogData;
33470
33524
  this.translate = translate;
@@ -33500,6 +33554,17 @@
33500
33554
  this.arrSkeleton = new Array(8).fill(0);
33501
33555
  //prevent event paging when search emit search event
33502
33556
  this.getSearching$ = new rxjs.BehaviorSubject(false);
33557
+ this.allowRemove = function (type, item) {
33558
+ if (!_this.dialogData.disableSelectedList)
33559
+ return true;
33560
+ var _c = _this.dialogData.data.selectedData, persons = _c.persons, departments = _c.departments, userGroups = _c.userGroups;
33561
+ switch (type) {
33562
+ case exports.OptionSelectAccessEnum.PERSON: return !persons.some(function (x) { return x.id == item.id; });
33563
+ case exports.OptionSelectAccessEnum.DEPARTMENT: return !departments.some(function (x) { return x.id == item.id; });
33564
+ case exports.OptionSelectAccessEnum.USER_GROUP: return !userGroups.some(function (x) { return x.id == item.id; });
33565
+ default: return true;
33566
+ }
33567
+ };
33503
33568
  this._initResultAccess();
33504
33569
  }
33505
33570
  Object.defineProperty(QMSSelectAccessDialogComponent.prototype, "selectedDepartments", {
@@ -33527,7 +33592,19 @@
33527
33592
  });
33528
33593
  Object.defineProperty(QMSSelectAccessDialogComponent.prototype, "tree", {
33529
33594
  set: function (data) {
33595
+ var _this = this;
33530
33596
  this.treeDepartment = data;
33597
+ var groups = this.resultAccess.departments.filter(function (x) { return x.isGroup; });
33598
+ if (groups.length)
33599
+ groups.forEach(function (group) {
33600
+ if (!group.childCount) {
33601
+ if (!_this.treeDepartment)
33602
+ return;
33603
+ var node = _this.treeDepartment.treeControl.dataNodes.find(function (x) { return x.id == group.id; });
33604
+ if (node)
33605
+ group.childCount = _this.treeDepartment.getListChildrenOfNode(node).length;
33606
+ }
33607
+ });
33531
33608
  },
33532
33609
  enumerable: false,
33533
33610
  configurable: true
@@ -33711,6 +33788,8 @@
33711
33788
  this.onSearchUserGroupEvent.emit(this.userGroupForm.value);
33712
33789
  };
33713
33790
  QMSSelectAccessDialogComponent.prototype.onSelectItem = function (type, item) {
33791
+ if (!this.allowRemove(type, item))
33792
+ return;
33714
33793
  item.selected = !item.selected;
33715
33794
  switch (type) {
33716
33795
  case exports.OptionSelectAccessEnum.PERSON:
@@ -33812,6 +33891,14 @@
33812
33891
  return false;
33813
33892
  }
33814
33893
  };
33894
+ QMSSelectAccessDialogComponent.prototype.isDisabledSelectAll = function (type) {
33895
+ var _this = this;
33896
+ switch (type) {
33897
+ case exports.OptionSelectAccessEnum.PERSON: return !this.personFiltered.length || this.personFiltered.every(function (x) { return !_this.allowRemove(type, x); });
33898
+ case exports.OptionSelectAccessEnum.USER_GROUP: return !this.userGroupFiltered.length || this.userGroupFiltered.every(function (x) { return !_this.allowRemove(type, x); });
33899
+ default: return false;
33900
+ }
33901
+ };
33815
33902
  QMSSelectAccessDialogComponent.prototype.isIndeterminate = function (type) {
33816
33903
  var _a, _b;
33817
33904
  switch (type) {
@@ -33824,6 +33911,9 @@
33824
33911
  }
33825
33912
  };
33826
33913
  QMSSelectAccessDialogComponent.prototype.onCheckAll = function (type, $event) {
33914
+ var _this = this;
33915
+ if (this.isDisabledSelectAll(type))
33916
+ return;
33827
33917
  $event.checked = !$event.checked;
33828
33918
  switch (type) {
33829
33919
  case this.OPTION_ENUM.PERSON: {
@@ -33833,14 +33923,14 @@
33833
33923
  }
33834
33924
  if (!this.personFiltered.length)
33835
33925
  return;
33836
- this.personFiltered.forEach(function (x) { return x.selected = $event.checked; });
33926
+ this.personFiltered.filter(function (x) { return _this.allowRemove(type, x); }).forEach(function (x) { return x.selected = $event.checked; });
33837
33927
  var idFiltered_1 = this.personFiltered.map(function (x) { return x.id; });
33838
33928
  if ($event.checked) {
33839
33929
  var idPersonSelected_1 = this.resultAccess.persons.map(function (x) { return x.id; });
33840
- this.resultAccess.persons = __spreadArray(__spreadArray([], __read(this.resultAccess.persons)), __read(this.personFiltered.filter(function (x) { return !idPersonSelected_1.includes(x.id); })));
33930
+ this.resultAccess.persons = __spreadArray(__spreadArray([], __read(this.resultAccess.persons)), __read(this.personFiltered.filter(function (x) { return _this.allowRemove(type, x) && !idPersonSelected_1.includes(x.id); })));
33841
33931
  return;
33842
33932
  }
33843
- this.resultAccess.persons = this.resultAccess.persons.filter(function (x) { return !idFiltered_1.includes(x.id); });
33933
+ this.resultAccess.persons = this.resultAccess.persons.filter(function (x) { return !_this.allowRemove(type, x) || !idFiltered_1.includes(x.id); });
33844
33934
  break;
33845
33935
  }
33846
33936
  case this.OPTION_ENUM.USER_GROUP: {
@@ -33849,14 +33939,14 @@
33849
33939
  return;
33850
33940
  }
33851
33941
  var userGroupPaging = this.userGroupFiltered;
33852
- userGroupPaging.forEach(function (x) { return x.selected = $event.checked; });
33942
+ userGroupPaging.filter(function (x) { return _this.allowRemove(type, x); }).forEach(function (x) { return x.selected = $event.checked; });
33853
33943
  var idFiltered_2 = userGroupPaging.map(function (x) { return x.id; });
33854
33944
  if ($event.checked) {
33855
33945
  var idSelected_1 = this.resultAccess.userGroups.map(function (x) { return x.id; });
33856
- this.resultAccess.userGroups = __spreadArray(__spreadArray([], __read(this.resultAccess.userGroups)), __read(userGroupPaging.filter(function (x) { return !idSelected_1.includes(x.id); })));
33946
+ this.resultAccess.userGroups = __spreadArray(__spreadArray([], __read(this.resultAccess.userGroups)), __read(userGroupPaging.filter(function (x) { return _this.allowRemove(type, x) && !idSelected_1.includes(x.id); })));
33857
33947
  return;
33858
33948
  }
33859
- this.resultAccess.userGroups = this.resultAccess.userGroups.filter(function (x) { return !idFiltered_2.includes(x.id); });
33949
+ this.resultAccess.userGroups = this.resultAccess.userGroups.filter(function (x) { return !_this.allowRemove(type, x) || !idFiltered_2.includes(x.id); });
33860
33950
  break;
33861
33951
  }
33862
33952
  default:
@@ -33890,6 +33980,7 @@
33890
33980
  if (!departments)
33891
33981
  return;
33892
33982
  departments.children = x.children;
33983
+ departments.childCount = x.childCount;
33893
33984
  if (departments.children.length)
33894
33985
  departments.children.forEach(function (x) {
33895
33986
  var index = _this.resultAccess.departments.findIndex(function (item) { return item.id === x.id; });
@@ -33898,6 +33989,9 @@
33898
33989
  });
33899
33990
  });
33900
33991
  }
33992
+ this.resultAccess.departments.forEach(function (item) {
33993
+ item.children = item.children.filter(function (x, index) { return index === item.children.findIndex(function (_x) { return x.id === _x.id; }); });
33994
+ });
33901
33995
  this._departmentSelected = ___namespace.cloneDeep(this.resultAccess.departments);
33902
33996
  this.cdRef.detectChanges();
33903
33997
  };
@@ -33927,15 +34021,21 @@
33927
34021
  // this.resultAccess.departments = event;
33928
34022
  };
33929
34023
  QMSSelectAccessDialogComponent.prototype.updateResultSearchDepartment = function (data) {
34024
+ var _this = this;
33930
34025
  if (data === void 0) { data = new QMSAccessPagingModel(); }
33931
34026
  if (!this.treeDepartment)
33932
34027
  return;
33933
34028
  data = data;
34029
+ if (this.dialogData.disableSelectedList) {
34030
+ data.data.forEach(function (x) { return x.disabled = !_this.allowRemove(exports.OptionSelectAccessEnum.DEPARTMENT, x); });
34031
+ }
33934
34032
  this.treeDepartment.setResultSearch(data);
33935
34033
  };
33936
34034
  QMSSelectAccessDialogComponent.prototype.generateTooltip = function (node) {
33937
- var _a;
33938
- return (node === null || node === void 0 ? void 0 : node.isGroup) ? this.formatString(this.LANG.TOOLTIP_INCLUDE_SUB_DEPARTMENT, node.name, (_a = node.children) === null || _a === void 0 ? void 0 : _a.length.toString()) : (node.name + " " + ((node === null || node === void 0 ? void 0 : node.subName) ? "- (" + node.subName + ")" : ''));
34035
+ var _a, _b;
34036
+ if ((_a = this.dialogData) === null || _a === void 0 ? void 0 : _a.formatTooltip)
34037
+ return this.dialogData.formatTooltip(node);
34038
+ return (node === null || node === void 0 ? void 0 : node.isGroup) ? this.formatString(this.LANG.TOOLTIP_INCLUDE_SUB_DEPARTMENT, node.name, (_b = node.children) === null || _b === void 0 ? void 0 : _b.length.toString()) : (node.name + " " + ((node === null || node === void 0 ? void 0 : node.subName) ? "- (" + node.subName + ")" : ''));
33939
34039
  };
33940
34040
  QMSSelectAccessDialogComponent.prototype.formatString = function () {
33941
34041
  var replacements = [];
@@ -33954,8 +34054,12 @@
33954
34054
  return Object.keys(this.resultAccess).some(function (key) { var _a; return !!((_a = _this.resultAccess[key]) === null || _a === void 0 ? void 0 : _a.length); });
33955
34055
  };
33956
34056
  QMSSelectAccessDialogComponent.prototype.updateDepartment = function (data) {
34057
+ var _this = this;
33957
34058
  if (data === void 0) { data = []; }
33958
34059
  this.getLoading$.next(false);
34060
+ if (this.dialogData.disableSelectedList) {
34061
+ data.forEach(function (item) { return item.disabled = !_this.allowRemove(exports.OptionSelectAccessEnum.DEPARTMENT, item); });
34062
+ }
33959
34063
  this.dialogData.treeDepartmentConfig.treeData = ___namespace.cloneDeep(data);
33960
34064
  };
33961
34065
  QMSSelectAccessDialogComponent.prototype.updateOptionPersonFilter = function (departmentFilter, userGroupFilter) {
@@ -33974,7 +34078,7 @@
33974
34078
  QMSSelectAccessDialogComponent.decorators = [
33975
34079
  { type: i0.Component, args: [{
33976
34080
  selector: 'qms-select-access-dialog',
33977
- template: "<div qms-dialog-container-v2 class=\"select-access-dialog-container\">\r\n <div qms-dialog-header>\r\n <div class=\"access-dialog-header mb-2\">\r\n <span class=\"header-title\">{{dialogData.titleDialog || LANG.SELECT_ACCESS}}</span>\r\n <button matDialogClose class=\"btn-close-dialog\" qms-btn-icon color=\"light\">\r\n <mat-icon class=\"mat-icons-outlined\">close</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div [class.active]=\"optionSelect.value !== null\" qms-dialog-content class=\"qms-dialog-content\">\r\n <div class=\"access-dialog-wraper\">\r\n <mat-form-field *ngIf=\"options.length > 1\" qms-form qms-select-input class=\"field-select-option w-100\"\r\n appearance=\"fill\">\r\n <mat-label qms-select-input>{{LANG.TYPE}}</mat-label>\r\n <mat-select (selectionChange)=\"onSelectionTypeChange($event)\" [formControl]=\"optionSelect\" placeholder=\"Select\"\r\n disableOptionCentering #singleSelect panelClass=\"qms-select-panel\" qms-select>\r\n\r\n <mat-option *ngFor=\"let item of options\" [value]=\"item.type\">\r\n {{ LANG[item.displayName] }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <div class=\"body-dialog-container\">\r\n <!-- Person Access -->\r\n <div class=\"option-selected-content\">\r\n <ng-container *ngIf=\"optionSelect.value === OPTION_ENUM.PERSON\">\r\n <form *ngIf=\"personForm\" [formGroup]=\"personForm\">\r\n <mat-dialog-content>\r\n <div class=\"group-filter-person-option\">\r\n <mat-form-field *ngIf=\"optionFilterPersonDataGlobal.userGroups.length\" qms-form qms-select-input\r\n class=\"w-100\" appearance=\"fill\">\r\n <mat-label qms-select-input>{{LANG.ROLE}}</mat-label>\r\n <mat-select panelClass=\"qms-select-panel\" qms-select formControlName=\"userGroup\"\r\n disableOptionCentering>\r\n <mat-select-trigger>\r\n {{personForm.controls['userGroup'].value?.name || ''}}\r\n </mat-select-trigger>\r\n <mat-option>\r\n <ngx-mat-select-search formControlName=\"userGroupFilter\" placeholderLabel=\"{{ LANG.ROLE }}\"\r\n noEntriesFoundLabel=\"\">\r\n </ngx-mat-select-search>\r\n </mat-option>\r\n <mat-option mode=\"dark\" class=\"opt-check-icon\"\r\n *ngFor=\"let item of filteredSearchTextBox.userGroup.value\" [value]=\"item\">\r\n <span qms-elipsify position=\"top\" mode=\"dark\" class=\"text-option-content\">{{ item.name }}</span>\r\n <mat-icon class=\"check-icon\"\r\n *ngIf=\"personForm.controls['userGroup'].value?.id == item.id\">check</mat-icon>\r\n </mat-option>\r\n </mat-select>\r\n <span [@inOutAnimation] (click)=\"personForm.get('userGroup').setValue('')\" class=\"pointer \"\r\n matSuffix aria-label=\"Clear\" *ngIf=\"personForm.get('userGroup').value && !getLoading$.value\">\r\n <mat-icon>close</mat-icon>\r\n </span>\r\n </mat-form-field>\r\n <!-- input field department filter person -->\r\n <mat-form-field *ngIf=\"optionFilterPersonDataGlobal.departments.length\"\r\n class=\"w-100 input-select-option\" qms-form qms-select-input>\r\n <mat-label>{{LANG.DEPARTMENT_UNIT}}</mat-label>\r\n <mat-select panelClass=\"qms-select-panel\" qms-select disableOptionCentering\r\n formControlName=\"department\">\r\n <mat-select-trigger>\r\n {{personForm.controls['department'].value?.name || ''}}\r\n </mat-select-trigger>\r\n <mat-option>\r\n <ngx-mat-select-search formControlName=\"departmentFilter\"\r\n [placeholderLabel]=\"LANG.DEPARTMENT_UNIT\" noEntriesFoundLabel=\"\">\r\n </ngx-mat-select-search>\r\n </mat-option>\r\n <mat-option class=\"opt-check-icon\" *ngFor=\"let item of filteredSearchTextBox.department.value\"\r\n [value]=\"item\">\r\n <span qms-elipsify mode=\"dark\" position=\"top\" class=\"text-option-content\">{{ item.name }}</span>\r\n <mat-icon class=\"check-icon\"\r\n *ngIf=\"personForm.controls['department'].value?.id == item.id\">check</mat-icon>\r\n </mat-option>\r\n </mat-select>\r\n <span (click)=\"setFormControlValue(['recursive','department'], [false,''])\" [@inOutAnimation]\r\n class=\"pointer\" matSuffix aria-label=\"Clear\"\r\n *ngIf=\"personForm.get('department').value && !getLoading$.value\">\r\n <mat-icon>close</mat-icon>\r\n </span>\r\n </mat-form-field>\r\n </div>\r\n\r\n <mat-slide-toggle [@inOutAnimation] *ngIf=\"personForm.controls['department'].value\"\r\n class=\"w-100 slide-toggle\" formControlName=\"recursive\" color=\"default\" qms-group-options>\r\n <span class=\"text-label\">{{LANG.INCLUDE_SUB_DEPARTMENTS}}</span>\r\n </mat-slide-toggle>\r\n\r\n <mat-form-field class=\"w-100\" appearance=\"fill\" qms-form qms-search-field>\r\n <input matInput appearance=\"off\" [placeholder]=\"LANG.SEARCH_WITH_NAME\" formControlName=\"keyword\"\r\n type=\"text\" autocomplete=\"off\" />\r\n <button *ngIf=\"!getLoading$.value\" qms-btn-icon color=\"light\" [@inOutAnimation]\r\n (click)=\"onSearchPersonFreeText()\" class=\"pointer me-1\" matSuffix aria-label=\"Search\">\r\n <mat-icon>search</mat-icon>\r\n </button>\r\n <mat-progress-spinner [@inOutAnimation] *ngIf=\"getLoading$.value\" matSuffix mode=\"indeterminate\"\r\n diameter=\"20\"></mat-progress-spinner>\r\n <span [@inOutAnimation] (click)=\"personForm.get('keyword').setValue('')\"\r\n class=\"pointer btn-icon-clear d-flex justify-content-center align-items-center \" matSuffix\r\n aria-label=\"Clear\" *ngIf=\"personForm.get('keyword').value && !getLoading$.value\">\r\n <button qms-btn-icon color=\"light\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </span>\r\n </mat-form-field>\r\n <button (click)=\"onFilterPerson()\" qms-btn-outlined class=\"w-100 my-1\">\r\n {{LANG.FILTER}}\r\n </button>\r\n </mat-dialog-content>\r\n\r\n <mat-dialog-content class=\"items-list\">\r\n <div qms-scrollbar>\r\n <div class=\"item\">\r\n <mat-checkbox [@inOutAnimation]\r\n *ngIf=\"!getLoading$.value && personFiltered.length && !dialogData.modeSelectOnePerson\"\r\n #checkPerson class=\"w-100 mb-1 checkbox-all\"\r\n (click)=\"personFiltered.length && onCheckAll(OPTION_ENUM.PERSON,checkPerson)\"\r\n [checked]=\"isCheckAll(OPTION_ENUM.PERSON)\" [indeterminate]=\"isIndeterminate(OPTION_ENUM.PERSON)\"\r\n color=\"default\" qms-group-options>\r\n <span class=\"text-label header-title\">{{LANG.CHOOSE_ALL}} </span>\r\n <span>(<b>{{personFiltered.length}}</b>)</span>\r\n </mat-checkbox>\r\n </div>\r\n <mat-divider class=\"mx-auto\"></mat-divider>\r\n <ng-container *ngIf=\"getLoading$.value; then loading\">\r\n </ng-container>\r\n <div [@inOutAnimation] *ngIf=\"personFiltered.length && !getLoading$.value\" [@listAnimation]\r\n class=\"item-list-wrapper\">\r\n <div class=\"item mt-1\" [@inOutAnimation]\r\n *ngFor=\"let employee of personFiltered; trackBy: trackByFn\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"dialogData.modeSelectOnePerson ?itemWithoutCheckboxTemplate : itemCheckboxTemplate\"\r\n [ngTemplateOutletContext]=\"{item: employee, type: OPTION_ENUM.PERSON}\">\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div [@inOutAnimation] *ngIf=\"!personFiltered.length && !getLoading$.value\"\r\n class=\"item-list-wrapper no-result\">\r\n <ng-container *ngTemplateOutlet=\"noResult\"></ng-container>\r\n </div>\r\n <mat-divider class=\"mx-auto\"></mat-divider>\r\n <qms-paginator overlayPanelClass=\"select-access-paginator\" #pagingPerson *ngIf=\"getPerson$.value.length > 10\" [length]=\"getPerson$.value.length\"\r\n [numHidden]=\"0\" [pageSize]=\"getPerson$.value.pageSize\" [pageSizeOptions]=\"PAGE_SIZE_OPTION\"\r\n (page)='onPaginatorEvent($event, OPTION_ENUM.PERSON)' [size]='PAGINATION_SIZE.medium'>\r\n </qms-paginator>\r\n </div>\r\n </mat-dialog-content>\r\n </form>\r\n </ng-container>\r\n\r\n <!-- UserGroup Access -->\r\n <ng-container *ngIf=\"optionSelect.value === OPTION_ENUM.USER_GROUP\">\r\n <div>\r\n <mat-dialog-content>\r\n <form (submit)=\"onFilterUserGroup()\">\r\n <mat-form-field class=\"w-100\" qms-form qms-search-field>\r\n <input [formControl]=\"userGroupForm\" matInput type=\"text\" autocomplete=\"off\"\r\n placeholder=\"User group\" />\r\n <button [@inOutAnimation] *ngIf=\"!getLoading$.value\" type=\"submit\" qms-btn-icon color=\"light\"\r\n matSuffix>\r\n <mat-icon>search</mat-icon>\r\n </button>\r\n <mat-progress-spinner [@inOutAnimation] *ngIf=\"getLoading$.value\" matSuffix mode=\"indeterminate\"\r\n diameter=\"20\"></mat-progress-spinner>\r\n <div [@inOutAnimation] *ngIf=\"!!userGroupForm.value && !getLoading$.value\" matSuffix qms-input-clear>\r\n <button (click)=\"userGroupForm.setValue('')\" qms-btn-icon color=\"light\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n </mat-form-field>\r\n </form>\r\n </mat-dialog-content>\r\n <mat-dialog-content class=\"items-list\">\r\n <div qms-scrollbar>\r\n <div class=\"item\">\r\n <mat-checkbox [@inOutAnimation]\r\n *ngIf=\"!getLoading$.value && (userGroupFiltered.length && !dialogData.modeSelectOneUserGroup)\"\r\n #checkUserGroup class=\"w-100 checkbox-all mb-1\" color=\"default\"\r\n [checked]=\"isCheckAll(OPTION_ENUM.USER_GROUP)\"\r\n [indeterminate]=\"isIndeterminate(OPTION_ENUM.USER_GROUP)\"\r\n (click)=\"userGroupFiltered.length && onCheckAll(OPTION_ENUM.USER_GROUP,checkUserGroup)\"\r\n qms-group-options>\r\n <span class=\"text-label header-title\">{{LANG.CHOOSE_ALL}}</span>\r\n <span>(<b>{{userGroupFiltered.length}}</b>)</span>\r\n </mat-checkbox>\r\n </div>\r\n <mat-divider class=\"mx-auto\"></mat-divider>\r\n <ng-container *ngIf=\"getLoading$.value;then loading\">\r\n </ng-container>\r\n <div *ngIf=\"userGroupFiltered.length && !getLoading$.value\" [@listAnimation]\r\n class=\"item-list-wrapper\">\r\n <div [@inOutAnimation] class=\"item mt-1\" *ngFor=\"let userGroup of userGroupFiltered\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"dialogData.modeSelectOneUserGroup ? itemWithoutCheckboxTemplate : itemCheckboxTemplate\"\r\n [ngTemplateOutletContext]=\"{item: userGroup,type: OPTION_ENUM.USER_GROUP}\">\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div [@inOutAnimation] *ngIf=\"!userGroupFiltered.length && !getLoading$.value\"\r\n class=\"item-list-wrapper no-result\">\r\n <ng-container *ngTemplateOutlet=\"noResult\"></ng-container>\r\n </div>\r\n <mat-divider class=\"mx-auto\"></mat-divider>\r\n <qms-paginator overlayPanelClass=\"select-access-paginator\" #pagingUserGroup class=\"my-1\" *ngIf=\"getUserGroup$.value.length > 10 \"\r\n [length]=\"getUserGroup$.value.length\" [numHidden]=\"0\" [pageSize]=\"getUserGroup$.value.pageSize\"\r\n [pageSizeOptions]=\"PAGE_SIZE_OPTION\" (page)='onPaginatorEvent($event, OPTION_ENUM.USER_GROUP)'\r\n [size]='PAGINATION_SIZE.medium'>\r\n </qms-paginator>\r\n </div>\r\n </mat-dialog-content>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- Department Access -->\r\n <ng-container\r\n *ngIf=\"optionSelect.value === OPTION_ENUM.DEPARTMENT && getLoading$.value; then loading\"></ng-container>\r\n <ng-container *ngIf=\"optionSelect.value === OPTION_ENUM.DEPARTMENT && !getLoading$.value\"\r\n class=\"person-access\">\r\n <qms-select-department-tree #tree [rowsSkeleton]=\"8\" [config]=\"dialogData.treeDepartmentConfig\"\r\n (onSearchEvent)=\"onSearchDepartmentEvent.emit($event)\"\r\n (onValueChangeEvent)=\"onResultDepartmentChange($event)\"\r\n (selectionNodeChangeEvent)=\"onSelectionNodeDepartmentChange($event)\"\r\n (onPagingSearchEvent)=\"onPaginatorEvent($event, OPTION_ENUM.DEPARTMENT)\">\r\n </qms-select-department-tree>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"optionSelect.value !== null\" class=\"result-wrapper\">\r\n <div class=\"result-selected-container\">\r\n <div [@inOutAnimation] *ngIf=\"(options.length === 1) || (options.length > 1 && optionSelect.value !== null)\"\r\n class=\"header-title result-header\">\r\n <span>\r\n {{\r\n dialogData.titleResult || LANG.RESULTS}}\r\n <span *ngIf=\"options.length === 1 && hasItemSelected()\">\r\n ({{getResultTabActive().length}})\r\n </span>\r\n </span>\r\n </div>\r\n <div class=\"result-body\">\r\n <!-- Result Person -->\r\n <ng-container *ngIf=\"checkExistOptionSelect(OPTION_ENUM.PERSON)\"\r\n [ngTemplateOutlet]=\"options?.length == 1 ? listChip : viewResultCollapse\"\r\n [ngTemplateOutletContext]=\"{data:resultAccess.persons, type:OPTION_ENUM.PERSON, title:LANG.PERSON}\">\r\n </ng-container>\r\n <!-- Result User group -->\r\n <ng-container *ngIf=\"checkExistOptionSelect(OPTION_ENUM.USER_GROUP)\"\r\n [ngTemplateOutlet]=\"options?.length == 1 ? listChip : viewResultCollapse\"\r\n [ngTemplateOutletContext]=\"{data:resultAccess.userGroups, type:OPTION_ENUM.USER_GROUP, title:LANG.USER_GROUP}\">\r\n </ng-container>\r\n <!-- Result Department -->\r\n <ng-container *ngIf=\"checkExistOptionSelect(OPTION_ENUM.DEPARTMENT)\"\r\n [ngTemplateOutlet]=\"options?.length == 1 ? listChip : viewResultCollapse\"\r\n [ngTemplateOutletContext]=\"{data: resultAccess.departments, type:OPTION_ENUM.DEPARTMENT, title:LANG.DEPARTMENT}\">\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <mat-divider class=\"mx-auto\"></mat-divider>\r\n <div qms-dialog-footer class=\"confirm__button__groups\" [class.none-option]=\"optionSelect.value === null\">\r\n <button *ngIf=\"optionSelect.value !== null\" [disabled]=\"!hasItemSelected()\" class=\"btn-add\"\r\n [class.qms-btn-disabled]=\"!hasItemSelected()\" [mat-dialog-close]=\"resultAccess\" qms-btn>\r\n <span>{{LANG.ADD}}</span>\r\n </button>\r\n <button qms-btn-text mat-dialog-close>\r\n {{LANG.CANCEL}}\r\n </button>\r\n </div>\r\n</div>\r\n\r\n<!-- Template -->\r\n<ng-template #noResult>\r\n <svg width=\"89\" height=\"130\" viewBox=\"0 0 89 88\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"0.5\" width=\"88\" height=\"88\" rx=\"44\" fill=\"white\" />\r\n <rect x=\"0.5\" width=\"88\" height=\"88\" rx=\"44\" fill=\"#0163B2\" fill-opacity=\"0.12\" />\r\n <path\r\n d=\"M44.5 56.6936L58.096 64.8996L54.488 49.4336L66.5 39.0276L50.682 37.6856L44.5 23.0996L38.318 37.6856L22.5 39.0276L34.512 49.4336L30.904 64.8996L44.5 56.6936Z\"\r\n fill=\"#0163B3\" />\r\n <text x=\"10\" y=\"105\" fill=\"#0163B2\">{{LANG.NO_RESULT}}</text>\r\n </svg>\r\n</ng-template>\r\n\r\n<!-- Template list chip -->\r\n<ng-template #listChip let-data=\"data\" let-type=\"type\">\r\n <mat-chip-list [@inOutAnimation] *ngIf=\"data?.length\" lass=\"panel__item qms-scrollbar\">\r\n <div [@inOutAnimation_2] *ngFor=\"let item of data; let i = index\">\r\n <mat-chip (click)=\"onScollToNodeTreeDepartment(item)\" [@updateItemAnimation]\r\n *qmsContentChanges=\"item.children?.length\" class=\"chip-item-result\" [qms-tool-tip]=\"generateTooltip(item)\"\r\n position=\"top\" mode=\"dark\" qms-chip [removable]=\"true\">\r\n <span qms-chip-body>\r\n <span qms-elipsify mode=\"dark\" position=\"top\" class=\"text-label\">\r\n {{item.name}}\r\n <span *ngIf=\"item.subName\">({{ item.subName }})</span>\r\n </span>\r\n <span class=\"chip-item-children__count ms-1\" *ngIf=\"item?.children && item?.isGroup\">\r\n {{item.children.length}}/{{item.childCount}}\r\n </span>\r\n </span>\r\n <mat-icon (click)=\"onRemoveChip(type,item, i)\" class=\"remove-chip-icon\">cancel</mat-icon>\r\n </mat-chip>\r\n </div>\r\n </mat-chip-list>\r\n</ng-template>\r\n\r\n<!-- Template result with collapse -->\r\n<ng-template #viewResultCollapse let-title=\"title\" let-data=\"data\" let-type=\"type\">\r\n <mat-expansion-panel qms-expansion [expanded]=\"optionSelect.value === type\">\r\n <mat-expansion-panel-header>\r\n <div class=\"title-content\">\r\n <div class=\"qms-list-text\">\r\n <div qms-line color=\"default-subtitle\">{{title}}\r\n <span class=\"fw-600\">\r\n ({{data?.length}})\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-expansion-panel-header>\r\n <ng-container [ngTemplateOutlet]=\"listChip\" [ngTemplateOutletContext]=\"{data: data,type: type}\">\r\n </ng-container>\r\n </mat-expansion-panel>\r\n</ng-template>\r\n\r\n<!-- Template row without checkbox -->\r\n<ng-template #itemWithoutCheckboxTemplate let-item=\"item\" let-type=\"type\">\r\n <div (click)=\"onSelectItem(type,item)\" class=\"item-without-checkbox w-100\" [class.active]=\"item.selected\">\r\n <div class=\"item-content\">\r\n <div class=\"text-label\">\r\n <span class=\"text-label label-item fs-14 \">\r\n {{ item.name }}\r\n </span>\r\n <span *ngIf=\"item.subName\" class=\"ms-1 sub-label\">({{item.subName}})</span>\r\n </div>\r\n <small *ngIf=\"item.helpText\" class=\"text-help px-1 fs-12 sub-label\">{{ item.helpText }}</small>\r\n </div>\r\n <div class=\"item-state\">\r\n <mat-icon [@inOutAnimation] *ngIf=\"item.selected\">check</mat-icon>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- Template checkbox -->\r\n<ng-template #itemCheckboxTemplate let-item=\"item\" let-type=\"type\">\r\n <mat-checkbox [checked]=\"item.selected\" (click)=\"onSelectItem(type,item)\" class=\"w-100\" color=\"default\"\r\n qms-group-options>\r\n <div class=\"text-label\">\r\n <span class=\"text-label label-item fs-14 \">\r\n {{ item.name }}\r\n </span>\r\n <span *ngIf=\"item.subName\" class=\"ms-1 sub-label\">({{item.subName}})</span>\r\n </div>\r\n <small *ngIf=\"item.helpText\" class=\"text-help px-1 fs-12 sub-label\">{{ item.helpText }}</small>\r\n </mat-checkbox>\r\n</ng-template>\r\n\r\n<!-- Template loading -->\r\n<ng-template #loading>\r\n <div class=\"qms-loading-container\">\r\n <div class=\"qms-loader\" *ngFor=\"let item of arrSkeleton\">\r\n <div class=\"qms-loader__wrapper\">\r\n <div class=\"row-loader\">\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>\r\n",
34081
+ template: "<div qms-dialog-container-v2 class=\"select-access-dialog-container\">\r\n <div qms-dialog-header>\r\n <div class=\"access-dialog-header mb-2\">\r\n <span class=\"header-title\">{{dialogData.titleDialog || LANG.SELECT_ACCESS}}</span>\r\n <button matDialogClose class=\"btn-close-dialog\" qms-btn-icon color=\"light\">\r\n <mat-icon class=\"mat-icons-outlined\">close</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div [class.active]=\"optionSelect.value !== null\" qms-dialog-content class=\"qms-dialog-content\">\r\n <div class=\"access-dialog-wraper\">\r\n <mat-form-field *ngIf=\"options.length > 1\" qms-form qms-select-input class=\"field-select-option w-100\"\r\n appearance=\"fill\">\r\n <mat-label qms-select-input>{{LANG.TYPE}}</mat-label>\r\n <mat-select (selectionChange)=\"onSelectionTypeChange($event)\" [formControl]=\"optionSelect\" placeholder=\"Select\"\r\n disableOptionCentering #singleSelect panelClass=\"qms-select-panel\" qms-select>\r\n\r\n <mat-option *ngFor=\"let item of options\" [value]=\"item.type\">\r\n {{ LANG[item.displayName] }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <div class=\"body-dialog-container\">\r\n <!-- Person Access -->\r\n <div class=\"option-selected-content\">\r\n <ng-container *ngIf=\"optionSelect.value === OPTION_ENUM.PERSON\">\r\n <form *ngIf=\"personForm\" [formGroup]=\"personForm\">\r\n <mat-dialog-content>\r\n <div class=\"group-filter-person-option\">\r\n <mat-form-field *ngIf=\"optionFilterPersonDataGlobal.userGroups.length\" qms-form qms-select-input\r\n class=\"w-100\" appearance=\"fill\">\r\n <mat-label qms-select-input>{{LANG.ROLE}}</mat-label>\r\n <mat-select panelClass=\"qms-select-panel\" qms-select formControlName=\"userGroup\"\r\n disableOptionCentering>\r\n <mat-select-trigger>\r\n {{personForm.controls['userGroup'].value?.name || ''}}\r\n </mat-select-trigger>\r\n <mat-option>\r\n <ngx-mat-select-search formControlName=\"userGroupFilter\" placeholderLabel=\"{{ LANG.ROLE }}\"\r\n noEntriesFoundLabel=\"\">\r\n </ngx-mat-select-search>\r\n </mat-option>\r\n <mat-option mode=\"dark\" class=\"opt-check-icon\"\r\n *ngFor=\"let item of filteredSearchTextBox.userGroup.value\" [value]=\"item\">\r\n <span qms-elipsify position=\"top\" mode=\"dark\" class=\"text-option-content\">{{ item.name }}</span>\r\n <mat-icon class=\"check-icon\"\r\n *ngIf=\"personForm.controls['userGroup'].value?.id == item.id\">check</mat-icon>\r\n </mat-option>\r\n </mat-select>\r\n <span [@inOutAnimation] (click)=\"personForm.get('userGroup').setValue('')\" class=\"pointer \"\r\n matSuffix aria-label=\"Clear\" *ngIf=\"personForm.get('userGroup').value && !getLoading$.value\">\r\n <mat-icon>close</mat-icon>\r\n </span>\r\n </mat-form-field>\r\n <!-- input field department filter person -->\r\n <mat-form-field *ngIf=\"optionFilterPersonDataGlobal.departments.length\"\r\n class=\"w-100 input-select-option\" qms-form qms-select-input>\r\n <mat-label>{{LANG.DEPARTMENT_UNIT}}</mat-label>\r\n <mat-select panelClass=\"qms-select-panel\" qms-select disableOptionCentering\r\n formControlName=\"department\">\r\n <mat-select-trigger>\r\n {{personForm.controls['department'].value?.name || ''}}\r\n </mat-select-trigger>\r\n <mat-option>\r\n <ngx-mat-select-search formControlName=\"departmentFilter\"\r\n [placeholderLabel]=\"LANG.DEPARTMENT_UNIT\" noEntriesFoundLabel=\"\">\r\n </ngx-mat-select-search>\r\n </mat-option>\r\n <mat-option class=\"opt-check-icon\" *ngFor=\"let item of filteredSearchTextBox.department.value\"\r\n [value]=\"item\">\r\n <span qms-elipsify mode=\"dark\" position=\"top\" class=\"text-option-content\">{{ item.name }}</span>\r\n <mat-icon class=\"check-icon\"\r\n *ngIf=\"personForm.controls['department'].value?.id == item.id\">check</mat-icon>\r\n </mat-option>\r\n </mat-select>\r\n <span (click)=\"setFormControlValue(['recursive','department'], [false,''])\" [@inOutAnimation]\r\n class=\"pointer\" matSuffix aria-label=\"Clear\"\r\n *ngIf=\"personForm.get('department').value && !getLoading$.value\">\r\n <mat-icon>close</mat-icon>\r\n </span>\r\n </mat-form-field>\r\n </div>\r\n\r\n <mat-slide-toggle [@inOutAnimation] *ngIf=\"personForm.controls['department'].value\"\r\n class=\"w-100 slide-toggle\" formControlName=\"recursive\" color=\"default\" qms-group-options>\r\n <span class=\"text-label\">{{LANG.INCLUDE_SUB_DEPARTMENTS}}</span>\r\n </mat-slide-toggle>\r\n\r\n <mat-form-field class=\"w-100\" appearance=\"fill\" qms-form qms-search-field>\r\n <input matInput appearance=\"off\" [placeholder]=\"LANG.SEARCH_WITH_NAME\" formControlName=\"keyword\"\r\n type=\"text\" autocomplete=\"off\" />\r\n <button *ngIf=\"!getLoading$.value\" qms-btn-icon color=\"light\" [@inOutAnimation]\r\n (click)=\"onSearchPersonFreeText()\" class=\"pointer me-1\" matSuffix aria-label=\"Search\">\r\n <mat-icon>search</mat-icon>\r\n </button>\r\n <mat-progress-spinner [@inOutAnimation] *ngIf=\"getLoading$.value\" matSuffix mode=\"indeterminate\"\r\n diameter=\"20\"></mat-progress-spinner>\r\n <span [@inOutAnimation] (click)=\"personForm.get('keyword').setValue('')\"\r\n class=\"pointer btn-icon-clear d-flex justify-content-center align-items-center \" matSuffix\r\n aria-label=\"Clear\" *ngIf=\"personForm.get('keyword').value && !getLoading$.value\">\r\n <button qms-btn-icon color=\"light\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </span>\r\n </mat-form-field>\r\n <button (click)=\"onFilterPerson()\" qms-btn-outlined class=\"w-100 my-1\">\r\n {{LANG.FILTER}}\r\n </button>\r\n </mat-dialog-content>\r\n\r\n <mat-dialog-content class=\"items-list\">\r\n <div qms-scrollbar>\r\n <div class=\"item\">\r\n <mat-checkbox [@inOutAnimation]\r\n *ngIf=\"!getLoading$.value && personFiltered.length && !dialogData.modeSelectOnePerson\"\r\n [disabled]=\"isDisabledSelectAll(OPTION_ENUM.PERSON)\"\r\n #checkPerson class=\"w-100 mb-1 checkbox-all\"\r\n (click)=\"personFiltered.length && onCheckAll(OPTION_ENUM.PERSON,checkPerson)\"\r\n [checked]=\"isCheckAll(OPTION_ENUM.PERSON)\" [indeterminate]=\"isIndeterminate(OPTION_ENUM.PERSON)\"\r\n color=\"default\" qms-group-options>\r\n <span class=\"text-label header-title\">{{LANG.CHOOSE_ALL}} </span>\r\n <span>(<b>{{personFiltered.length}}</b>)</span>\r\n </mat-checkbox>\r\n </div>\r\n <mat-divider class=\"mx-auto\"></mat-divider>\r\n <ng-container *ngIf=\"getLoading$.value; then loading\">\r\n </ng-container>\r\n <div [@inOutAnimation] *ngIf=\"personFiltered.length && !getLoading$.value\" [@listAnimation]\r\n class=\"item-list-wrapper\">\r\n <div class=\"item mt-1\" [@inOutAnimation]\r\n *ngFor=\"let employee of personFiltered; trackBy: trackByFn\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"dialogData.modeSelectOnePerson ?itemWithoutCheckboxTemplate : itemCheckboxTemplate\"\r\n [ngTemplateOutletContext]=\"{item: employee, type: OPTION_ENUM.PERSON}\">\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div [@inOutAnimation] *ngIf=\"!personFiltered.length && !getLoading$.value\"\r\n class=\"item-list-wrapper no-result\">\r\n <ng-container *ngTemplateOutlet=\"noResult\"></ng-container>\r\n </div>\r\n <mat-divider class=\"mx-auto\"></mat-divider>\r\n <qms-paginator overlayPanelClass=\"select-access-paginator\" #pagingPerson *ngIf=\"getPerson$.value.length > 10\" [length]=\"getPerson$.value.length\"\r\n [numHidden]=\"0\" [pageSize]=\"getPerson$.value.pageSize\" [pageSizeOptions]=\"PAGE_SIZE_OPTION\"\r\n (page)='onPaginatorEvent($event, OPTION_ENUM.PERSON)' [size]='PAGINATION_SIZE.medium'>\r\n </qms-paginator>\r\n </div>\r\n </mat-dialog-content>\r\n </form>\r\n </ng-container>\r\n\r\n <!-- UserGroup Access -->\r\n <ng-container *ngIf=\"optionSelect.value === OPTION_ENUM.USER_GROUP\">\r\n <div>\r\n <mat-dialog-content>\r\n <form (submit)=\"onFilterUserGroup()\">\r\n <mat-form-field class=\"w-100\" qms-form qms-search-field>\r\n <input [formControl]=\"userGroupForm\" matInput type=\"text\" autocomplete=\"off\"\r\n placeholder=\"User group\" />\r\n <button [@inOutAnimation] *ngIf=\"!getLoading$.value\" type=\"submit\" qms-btn-icon color=\"light\"\r\n matSuffix>\r\n <mat-icon>search</mat-icon>\r\n </button>\r\n <mat-progress-spinner [@inOutAnimation] *ngIf=\"getLoading$.value\" matSuffix mode=\"indeterminate\"\r\n diameter=\"20\"></mat-progress-spinner>\r\n <div [@inOutAnimation] *ngIf=\"!!userGroupForm.value && !getLoading$.value\" matSuffix qms-input-clear>\r\n <button (click)=\"userGroupForm.setValue('')\" qms-btn-icon color=\"light\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n </mat-form-field>\r\n </form>\r\n </mat-dialog-content>\r\n <mat-dialog-content class=\"items-list\">\r\n <div qms-scrollbar>\r\n <div class=\"item\">\r\n <mat-checkbox [@inOutAnimation]\r\n *ngIf=\"!getLoading$.value && (userGroupFiltered.length && !dialogData.modeSelectOneUserGroup)\"\r\n [disabled]=\"isDisabledSelectAll(OPTION_ENUM.USER_GROUP)\"\r\n #checkUserGroup class=\"w-100 checkbox-all mb-1\" color=\"default\"\r\n [checked]=\"isCheckAll(OPTION_ENUM.USER_GROUP)\"\r\n [indeterminate]=\"isIndeterminate(OPTION_ENUM.USER_GROUP)\"\r\n (click)=\"userGroupFiltered.length && onCheckAll(OPTION_ENUM.USER_GROUP,checkUserGroup)\"\r\n qms-group-options>\r\n <span class=\"text-label header-title\">{{LANG.CHOOSE_ALL}}</span>\r\n <span>(<b>{{userGroupFiltered.length}}</b>)</span>\r\n </mat-checkbox>\r\n </div>\r\n <mat-divider class=\"mx-auto\"></mat-divider>\r\n <ng-container *ngIf=\"getLoading$.value;then loading\">\r\n </ng-container>\r\n <div *ngIf=\"userGroupFiltered.length && !getLoading$.value\" [@listAnimation]\r\n class=\"item-list-wrapper\">\r\n <div [@inOutAnimation] class=\"item mt-1\" *ngFor=\"let userGroup of userGroupFiltered\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"dialogData.modeSelectOneUserGroup ? itemWithoutCheckboxTemplate : itemCheckboxTemplate\"\r\n [ngTemplateOutletContext]=\"{item: userGroup,type: OPTION_ENUM.USER_GROUP}\">\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div [@inOutAnimation] *ngIf=\"!userGroupFiltered.length && !getLoading$.value\"\r\n class=\"item-list-wrapper no-result\">\r\n <ng-container *ngTemplateOutlet=\"noResult\"></ng-container>\r\n </div>\r\n <mat-divider class=\"mx-auto\"></mat-divider>\r\n <qms-paginator overlayPanelClass=\"select-access-paginator\" #pagingUserGroup class=\"my-1\" *ngIf=\"getUserGroup$.value.length > 10 \"\r\n [length]=\"getUserGroup$.value.length\" [numHidden]=\"0\" [pageSize]=\"getUserGroup$.value.pageSize\"\r\n [pageSizeOptions]=\"PAGE_SIZE_OPTION\" (page)='onPaginatorEvent($event, OPTION_ENUM.USER_GROUP)'\r\n [size]='PAGINATION_SIZE.medium'>\r\n </qms-paginator>\r\n </div>\r\n </mat-dialog-content>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- Department Access -->\r\n <ng-container\r\n *ngIf=\"optionSelect.value === OPTION_ENUM.DEPARTMENT && getLoading$.value; then loading\"></ng-container>\r\n <ng-container *ngIf=\"optionSelect.value === OPTION_ENUM.DEPARTMENT && !getLoading$.value\"\r\n class=\"person-access\">\r\n <qms-select-department-tree #tree [rowsSkeleton]=\"8\" [config]=\"dialogData.treeDepartmentConfig\" [maxWidthNode]=\"dialogData.maxWidthNode\"\r\n (onSearchEvent)=\"onSearchDepartmentEvent.emit($event)\"\r\n (onValueChangeEvent)=\"onResultDepartmentChange($event)\"\r\n (selectionNodeChangeEvent)=\"onSelectionNodeDepartmentChange($event)\"\r\n (onPagingSearchEvent)=\"onPaginatorEvent($event, OPTION_ENUM.DEPARTMENT)\">\r\n </qms-select-department-tree>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"optionSelect.value !== null\" class=\"result-wrapper\">\r\n <div class=\"result-selected-container\">\r\n <div [@inOutAnimation] *ngIf=\"(options.length === 1) || (options.length > 1 && optionSelect.value !== null)\"\r\n class=\"header-title result-header\">\r\n <span>\r\n {{\r\n dialogData.titleResult || LANG.RESULTS}}\r\n <span *ngIf=\"options.length === 1 && hasItemSelected()\">\r\n ({{getResultTabActive().length}})\r\n </span>\r\n </span>\r\n </div>\r\n <div class=\"result-body\">\r\n <!-- Result Person -->\r\n <ng-container *ngIf=\"checkExistOptionSelect(OPTION_ENUM.PERSON)\"\r\n [ngTemplateOutlet]=\"options?.length == 1 ? listChip : viewResultCollapse\"\r\n [ngTemplateOutletContext]=\"{data:resultAccess.persons, type:OPTION_ENUM.PERSON, title:LANG.PERSON}\">\r\n </ng-container>\r\n <!-- Result User group -->\r\n <ng-container *ngIf=\"checkExistOptionSelect(OPTION_ENUM.USER_GROUP)\"\r\n [ngTemplateOutlet]=\"options?.length == 1 ? listChip : viewResultCollapse\"\r\n [ngTemplateOutletContext]=\"{data:resultAccess.userGroups, type:OPTION_ENUM.USER_GROUP, title:LANG.USER_GROUP}\">\r\n </ng-container>\r\n <!-- Result Department -->\r\n <ng-container *ngIf=\"checkExistOptionSelect(OPTION_ENUM.DEPARTMENT)\"\r\n [ngTemplateOutlet]=\"options?.length == 1 ? listChip : viewResultCollapse\"\r\n [ngTemplateOutletContext]=\"{data: resultAccess.departments, type:OPTION_ENUM.DEPARTMENT, title:LANG.DEPARTMENT}\">\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <mat-divider class=\"mx-auto\"></mat-divider>\r\n <div qms-dialog-footer class=\"confirm__button__groups\" [class.none-option]=\"optionSelect.value === null\">\r\n <button *ngIf=\"optionSelect.value !== null\" [disabled]=\"!hasItemSelected()\" class=\"btn-add\"\r\n [class.qms-btn-disabled]=\"!hasItemSelected()\" [mat-dialog-close]=\"resultAccess\" qms-btn>\r\n <span>{{LANG.ADD}}</span>\r\n </button>\r\n <button qms-btn-text mat-dialog-close>\r\n {{LANG.CANCEL}}\r\n </button>\r\n </div>\r\n</div>\r\n\r\n<!-- Template -->\r\n<ng-template #noResult>\r\n <svg width=\"89\" height=\"130\" viewBox=\"0 0 89 88\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"0.5\" width=\"88\" height=\"88\" rx=\"44\" fill=\"white\" />\r\n <rect x=\"0.5\" width=\"88\" height=\"88\" rx=\"44\" fill=\"#0163B2\" fill-opacity=\"0.12\" />\r\n <path\r\n d=\"M44.5 56.6936L58.096 64.8996L54.488 49.4336L66.5 39.0276L50.682 37.6856L44.5 23.0996L38.318 37.6856L22.5 39.0276L34.512 49.4336L30.904 64.8996L44.5 56.6936Z\"\r\n fill=\"#0163B3\" />\r\n <text x=\"10\" y=\"105\" fill=\"#0163B2\">{{LANG.NO_RESULT}}</text>\r\n </svg>\r\n</ng-template>\r\n\r\n<!-- Template list chip -->\r\n<ng-template #listChip let-data=\"data\" let-type=\"type\">\r\n <mat-chip-list [@inOutAnimation] *ngIf=\"data?.length\" class=\"panel__item qms-scrollbar\">\r\n <div [@inOutAnimation_2] *ngFor=\"let item of data; let i = index\">\r\n <mat-chip (click)=\"onScollToNodeTreeDepartment(item)\" [@updateItemAnimation]\r\n *qmsContentChanges=\"item.children?.length\" class=\"chip-item-result\" qms-chip [removable]=\"true\">\r\n <span qms-chip-body>\r\n <span [qms-tool-tip]=\"generateTooltip(item)\"\r\n position=\"top\" mode=\"dark\" class=\"text-label\">\r\n {{item.name}}\r\n <span *ngIf=\"item.subName\">({{ item.subName }})</span>\r\n </span>\r\n <span class=\"chip-item-children__count ms-1\" *ngIf=\"item?.children && item?.isGroup\">\r\n {{item.children.length}}/{{item.childCount}}\r\n </span>\r\n </span>\r\n <mat-icon *ngIf=\"allowRemove(type, item)\" (click)=\"onRemoveChip(type,item, i)\" class=\"remove-chip-icon\">cancel</mat-icon>\r\n <mat-icon *ngIf=\"!allowRemove(type, item) && dialogData.formatMsgDisable\" position=\"top\" mode=\"dark\" [qms-tool-tip]=\"dialogData.formatMsgDisable(item)\" class=\"remove-chip-icon\">info_i</mat-icon>\r\n </mat-chip>\r\n </div>\r\n </mat-chip-list>\r\n</ng-template>\r\n\r\n<!-- Template result with collapse -->\r\n<ng-template #viewResultCollapse let-title=\"title\" let-data=\"data\" let-type=\"type\">\r\n <mat-expansion-panel qms-expansion [expanded]=\"optionSelect.value === type\">\r\n <mat-expansion-panel-header>\r\n <div class=\"title-content\">\r\n <div class=\"qms-list-text\">\r\n <div qms-line color=\"default-subtitle\">{{title}}\r\n <span class=\"fw-600\">\r\n ({{data?.length}})\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-expansion-panel-header>\r\n <ng-container [ngTemplateOutlet]=\"listChip\" [ngTemplateOutletContext]=\"{data: data,type: type}\">\r\n </ng-container>\r\n </mat-expansion-panel>\r\n</ng-template>\r\n\r\n<!-- Template row without checkbox -->\r\n<ng-template #itemWithoutCheckboxTemplate let-item=\"item\" let-type=\"type\">\r\n <div (click)=\"onSelectItem(type,item)\" class=\"item-without-checkbox w-100\" [class.active]=\"item.selected\">\r\n <div class=\"item-content\">\r\n <div class=\"text-label\">\r\n <span class=\"text-label label-item fs-14 \">\r\n {{ item.name }}\r\n </span>\r\n <span *ngIf=\"item.subName\" class=\"ms-1 sub-label\">({{item.subName}})</span>\r\n </div>\r\n <small *ngIf=\"item.helpText\" class=\"text-help px-1 fs-12 sub-label\">{{ item.helpText }}</small>\r\n </div>\r\n <div class=\"item-state\">\r\n <mat-icon [@inOutAnimation] *ngIf=\"item.selected\">check</mat-icon>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- Template checkbox -->\r\n<ng-template #itemCheckboxTemplate let-item=\"item\" let-type=\"type\">\r\n <mat-checkbox [disabled]=\"!allowRemove(type, item)\" [checked]=\"item.selected\" (click)=\"onSelectItem(type,item)\" class=\"w-100\" color=\"default\"\r\n qms-group-options>\r\n <div class=\"text-label\">\r\n <span class=\"text-label label-item fs-14 \">\r\n {{ item.name }}\r\n </span>\r\n <span *ngIf=\"item.subName\" class=\"ms-1 sub-label\">({{item.subName}})</span>\r\n </div>\r\n <small *ngIf=\"item.helpText\" class=\"text-help px-1 fs-12 sub-label\">{{ item.helpText }}</small>\r\n </mat-checkbox>\r\n</ng-template>\r\n\r\n<!-- Template loading -->\r\n<ng-template #loading>\r\n <div class=\"qms-loading-container\">\r\n <div class=\"qms-loader\" *ngFor=\"let item of arrSkeleton\">\r\n <div class=\"qms-loader__wrapper\">\r\n <div class=\"row-loader\">\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>\r\n",
33978
34082
  animations: [SelectAccessAnimationTrigger],
33979
34083
  providers: [
33980
34084
  {