qms-angular 1.1.4 → 1.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/bundles/qms-angular.umd.js +767 -80
  2. package/bundles/qms-angular.umd.js.map +1 -1
  3. package/esm2015/lib/common/models/qms-flat-node.model.js +3 -0
  4. package/esm2015/lib/common/models/qms-tree-config.model.js +7 -0
  5. package/esm2015/lib/common/models/qms-tree-node.model.js +8 -0
  6. package/esm2015/lib/components/button/button.js +3 -3
  7. package/esm2015/lib/components/list/list.js +2 -2
  8. package/esm2015/lib/components/qms-nav-drawer/index.js +2 -0
  9. package/esm2015/lib/components/qms-nav-drawer/models/qms-nav-drawer.model.js +10 -0
  10. package/esm2015/lib/components/qms-nav-drawer/public_api.js +4 -0
  11. package/esm2015/lib/components/qms-nav-drawer/qms-nav-drawer.component.js +167 -0
  12. package/esm2015/lib/components/qms-nav-drawer/qms-nav-drawer.module.js +35 -0
  13. package/esm2015/lib/components/related/popup/related-popup.component.js +3 -3
  14. package/esm2015/lib/components/select-include-children/public_api.js +2 -2
  15. package/esm2015/lib/components/select-include-children/select-include-children.component.js +4 -4
  16. package/esm2015/lib/components/select-include-children/services/select-include-children-global.service.js +17 -0
  17. package/esm2015/lib/components/select-one/common/select-one-next.model.js +7 -0
  18. package/esm2015/lib/components/select-one/public_api.js +3 -1
  19. package/esm2015/lib/components/select-one/select-one-next.component.js +95 -0
  20. package/esm2015/lib/components/select-one/select-one.component.js +3 -3
  21. package/esm2015/lib/components/select-one/select-one.module.js +6 -3
  22. package/esm2015/lib/components/select-process-document/select-process-document.component.js +3 -3
  23. package/esm2015/lib/components/tree/basic-tree.component.js +220 -0
  24. package/esm2015/lib/components/tree/index.js +2 -0
  25. package/esm2015/lib/components/tree/public-api.js +9 -0
  26. package/esm2015/lib/components/tree/tree.component.js +2 -3
  27. package/esm2015/lib/components/tree/tree.module.js +4 -1
  28. package/esm2015/lib/components/treeNew/tree.component.js +1 -1
  29. package/esm2015/lib/directives/form.directive.js +9 -3
  30. package/esm2015/lib/directives/qms-multi-icon.directive.js +75 -0
  31. package/esm2015/lib/qms-angular.module.js +6 -3
  32. package/esm2015/lib/services/qms-tree-global.service.js +29 -0
  33. package/esm2015/public-api.js +8 -8
  34. package/esm2015/qms-angular.js +15 -12
  35. package/fesm2015/qms-angular.js +680 -51
  36. package/fesm2015/qms-angular.js.map +1 -1
  37. package/lib/common/models/qms-flat-node.model.d.ts +9 -0
  38. package/lib/common/models/qms-tree-config.model.d.ts +5 -0
  39. package/lib/common/models/qms-tree-node.model.d.ts +25 -0
  40. package/lib/components/qms-nav-drawer/index.d.ts +1 -0
  41. package/lib/components/qms-nav-drawer/models/qms-nav-drawer.model.d.ts +34 -0
  42. package/lib/components/qms-nav-drawer/public_api.d.ts +3 -0
  43. package/lib/components/qms-nav-drawer/qms-nav-drawer.component.d.ts +67 -0
  44. package/lib/components/qms-nav-drawer/qms-nav-drawer.module.d.ts +2 -0
  45. package/lib/components/select-include-children/public_api.d.ts +1 -1
  46. package/lib/components/select-include-children/select-include-children.component.d.ts +3 -3
  47. package/lib/components/select-include-children/services/{select-global.service.d.ts → select-include-children-global.service.d.ts} +1 -1
  48. package/lib/components/select-one/common/select-one-next.model.d.ts +11 -0
  49. package/lib/components/select-one/public_api.d.ts +2 -0
  50. package/lib/components/select-one/select-one-next.component.d.ts +33 -0
  51. package/lib/components/tree/basic-tree.component.d.ts +79 -0
  52. package/lib/components/tree/index.d.ts +1 -0
  53. package/lib/components/tree/public-api.d.ts +8 -0
  54. package/lib/directives/form.directive.d.ts +1 -0
  55. package/lib/directives/qms-multi-icon.directive.d.ts +15 -0
  56. package/lib/services/qms-tree-global.service.d.ts +13 -0
  57. package/lib.theme.scss +5 -4
  58. package/package.json +1 -1
  59. package/public-api.d.ts +7 -7
  60. package/qms-angular.d.ts +14 -11
  61. package/qms-angular.metadata.json +1 -1
  62. package/src/assets/qms-ckeditor-plugin/package-lock.json +48 -0
  63. package/src/lib/components/list/_list-expansion.scss +1 -1
  64. package/src/lib/components/list/list.scss +2 -2
  65. package/src/lib/components/qms-nav-drawer/qms-nav-drawer.component.scss +101 -0
  66. package/src/lib/components/related/popup/related-popup.component.scss +2 -2
  67. package/src/lib/components/select-include-children/select-include-children.component.scss +1 -1
  68. package/src/lib/components/select-one/select-one-next.component.scss +70 -0
  69. package/src/lib/components/select-one/select-one.component.scss +1 -1
  70. package/src/lib/components/select-process-document/select-process-document.component.scss +1 -1
  71. package/src/lib/components/tree/basic-tree.component.scss +168 -0
  72. package/src/themes/core/_checkbox.scss +18 -3
  73. package/src/themes/core/_radio.scss +18 -0
  74. package/src/themes/core/_slide-toggle.scss +17 -0
  75. package/src/themes/core/_table-pure-gap.scss +31 -3
  76. package/src/themes/theme/_variable.scss +3 -0
  77. package/esm2015/lib/components/select-include-children/services/select-global.service.js +0 -17
@@ -0,0 +1,167 @@
1
+ import { FlatTreeControl } from '@angular/cdk/tree';
2
+ import { ChangeDetectorRef, Component, EventEmitter, Input, Output } from '@angular/core';
3
+ import { MatTreeFlatDataSource, MatTreeFlattener } from '@angular/material/tree';
4
+ import { Subject } from 'rxjs';
5
+ import { takeUntil } from 'rxjs/operators';
6
+ import { QMSTreeGlobalService } from '../../services/qms-tree-global.service';
7
+ export class QMSNavDrawerComponent {
8
+ constructor(qmsNavDrawerService, cdRef) {
9
+ this.qmsNavDrawerService = qmsNavDrawerService;
10
+ this.cdRef = cdRef;
11
+ this.ngUnsubscribe = new Subject();
12
+ this.treeData = [];
13
+ this.openNodes = [];
14
+ this.nodesExpand = new EventEmitter();
15
+ this.onClickNodeEvent = new EventEmitter();
16
+ this.treeControl = new FlatTreeControl(node => node.level, node => node.expandable);
17
+ this.treeFlattener = new MatTreeFlattener(this._transformer, node => node.level, node => node.expandable, node => node.children);
18
+ this.dataSource = new MatTreeFlatDataSource(this.treeControl, this.treeFlattener);
19
+ this.expandingNodes = [];
20
+ this.guidHelper = {
21
+ empty: '00000000-0000-0000-0000-000000000000'
22
+ };
23
+ this.hasChild = (_, node) => node.expandable;
24
+ this.dataSource.data = this.convertTreeData(this.treeData);
25
+ }
26
+ _transformer(node, level) {
27
+ return {
28
+ expandable: (!!node.children && node.children.length > 0) || (!!node.childCount),
29
+ name: node.name,
30
+ level,
31
+ id: node.id,
32
+ parentId: node.parentId,
33
+ itemIcon: node.itemIcon,
34
+ itemMatIcon: node.itemMatIcon,
35
+ itemIconSvg: node.itemIconSvg,
36
+ isFile: node.isFile
37
+ };
38
+ }
39
+ ngOnChanges(changes) {
40
+ if (changes.treeData) {
41
+ this.dataSource.data = this.treeData;
42
+ }
43
+ if (changes.openNodes) {
44
+ this.findAndExpandNodes();
45
+ this.activeNode = this.openNodes[this.openNodes.length - 1];
46
+ }
47
+ }
48
+ ngOnInit() {
49
+ this.qmsNavDrawerService.getItemsChildren$.pipe(takeUntil(this.ngUnsubscribe)).subscribe((res) => {
50
+ if (res.length) {
51
+ let newNodesChildren = [];
52
+ res.forEach(x => {
53
+ const index = this.treeData.findIndex(item => item.id === x.id && item.parentId === x.parentId);
54
+ if (index < 0) {
55
+ newNodesChildren.push(x);
56
+ }
57
+ });
58
+ // Add children to treeData
59
+ if (newNodesChildren.length) {
60
+ this.treeData = [...this.treeData, ...newNodesChildren];
61
+ this.dataSource.data = this.convertTreeData(this.treeData);
62
+ this.findAndExpandNodes();
63
+ }
64
+ this.expandingNodes.forEach(node => {
65
+ const index = this.treeControl.dataNodes.findIndex(x => x.parentId === node.parentId && x.id === node.id);
66
+ if (index >= 0) {
67
+ this.treeControl.expand(this.treeControl.dataNodes[index]);
68
+ }
69
+ });
70
+ }
71
+ });
72
+ }
73
+ findAndExpandNodes() {
74
+ for (let i = 0; i < this.treeControl.dataNodes.length; i++) {
75
+ this.openNodes.forEach(el => {
76
+ if (this.treeControl.dataNodes[i].id.toLocaleLowerCase() === el.toLowerCase()) {
77
+ this.treeControl.expand(this.treeControl.dataNodes[i]);
78
+ }
79
+ });
80
+ }
81
+ this.activeNode = this.openNodes[this.openNodes.length - 1];
82
+ // scroll to selected node
83
+ setTimeout(() => {
84
+ const element = document.querySelector('.mat-tree-node.active');
85
+ if (element) {
86
+ element.scrollIntoView({ behavior: 'smooth' });
87
+ }
88
+ });
89
+ this.cdRef.detectChanges();
90
+ }
91
+ onClickNode(node) {
92
+ this.activeNode = node.id;
93
+ this.onClickNodeEvent.emit(node);
94
+ }
95
+ onExpandNode(node) {
96
+ this.onClickToggleNode(node);
97
+ }
98
+ onKeyDownNode(event, node) {
99
+ if (event.key == 'Enter') {
100
+ this.onClickToggleNode(node);
101
+ }
102
+ }
103
+ onClickToggleNode(node) {
104
+ this.openNodes = [];
105
+ if (this.treeControl.isExpanded(node)) {
106
+ this.treeControl.expand(node);
107
+ this._addExpandingNode(node);
108
+ }
109
+ else {
110
+ this.treeControl.collapse(node);
111
+ this._removeExpandingNodes(node.id);
112
+ }
113
+ this.nodesExpand.emit({ node, isExpand: this.treeControl.isExpanded(node) });
114
+ }
115
+ _addExpandingNode(node) {
116
+ if (!this.expandingNodes.some(x => x.id === node.id)) {
117
+ this.expandingNodes.push(node);
118
+ }
119
+ }
120
+ _removeExpandingNodes(nodeId) {
121
+ this.expandingNodes = this.expandingNodes.filter(x => x.id !== nodeId);
122
+ }
123
+ ngOnDestroy() {
124
+ this.ngUnsubscribe.next();
125
+ this.ngUnsubscribe.complete();
126
+ }
127
+ convertTreeData(list) {
128
+ let map = {}, node, roots = [], i;
129
+ for (i = 0; i < list.length; i += 1) {
130
+ map[list[i].id] = i; // initialize the map
131
+ list[i].children = []; // initialize the children
132
+ }
133
+ for (i = 0; i < list.length; i += 1) {
134
+ node = list[i];
135
+ if (node.parentId || (node.parentId !== this.guidHelper.empty)) {
136
+ if (list[map[node.parentId]]) {
137
+ list[map[node.parentId]].children.push(node);
138
+ }
139
+ else {
140
+ roots.push(node);
141
+ }
142
+ }
143
+ else {
144
+ roots.push(node);
145
+ }
146
+ }
147
+ return roots;
148
+ }
149
+ }
150
+ QMSNavDrawerComponent.decorators = [
151
+ { type: Component, args: [{
152
+ selector: 'qms-nav-drawer',
153
+ template: "<mat-tree\r\n class=\"qms-nav-drawer-container\"\r\n [dataSource]=\"dataSource\"\r\n [treeControl]=\"treeControl\"\r\n>\r\n <!-- This is the tree node template for leaf nodes -->\r\n <mat-tree-node\r\n *matTreeNodeDef=\"let node\"\r\n matTreeNodeToggle\r\n matTreeNodePadding\r\n [ngClass]=\"{\r\n active: activeNode == node.id\r\n }\"\r\n >\r\n <button mat-icon-button disabled></button>\r\n <img\r\n *ngIf=\"node.itemIconSvg\"\r\n class=\"material-icons type-icon cursor-pointer\"\r\n [src]=\"node.itemIconSvg\"\r\n (click)=\"onClickNode(node)\"\r\n />\r\n <span\r\n *ngIf=\"node.itemIcon\"\r\n [class]=\"node.itemIcon\"\r\n [appMultiIcon]=\"node.itemIcon\"\r\n class=\"material-icons-outlined type-icon cursor-pointer\"\r\n (click)=\"onClickNode(node)\"\r\n ></span>\r\n <span\r\n *ngIf=\"node.itemMatIcon\"\r\n class=\"material-icons-outlined type-icon cursor-pointer\"\r\n (click)=\"onClickNode(node)\"\r\n >{{ node.itemMatIcon }}\r\n </span>\r\n\r\n <span\r\n class=\"text-name cursor-pointer ml-5 456\"\r\n (click)=\"onClickNode(node)\"\r\n >{{ node.name }}</span\r\n >\r\n </mat-tree-node>\r\n <!-- This is the tree node template for expandable nodes -->\r\n <mat-tree-node\r\n *matTreeNodeDef=\"let node; when: hasChild\"\r\n matTreeNodePadding\r\n [ngClass]=\"{\r\n 'expand-node': treeControl.isExpanded(node),\r\n 'collapse-node': !treeControl.isExpanded(node),\r\n active: activeNode == node.id\r\n }\"\r\n >\r\n <button mat-icon-button (click)=\"onExpandNode(node)\" matTreeNodeToggle>\r\n <mat-icon class=\"mat-icon-rtl-mirror\">\r\n {{ treeControl.isExpanded(node) ? \"expand_more\" : \"chevron_right\" }}\r\n </mat-icon>\r\n </button>\r\n\r\n <img\r\n *ngIf=\"node.itemIconSvg\"\r\n class=\"material-icons type-icon cursor-pointer\"\r\n [src]=\"node.itemIconSvg\"\r\n (click)=\"onClickNode(node)\"\r\n />\r\n <span\r\n *ngIf=\"node.itemIcon\"\r\n [class]=\"node.itemIcon\"\r\n [appMultiIcon]=\"node.itemIcon\"\r\n class=\"material-icons-outlined type-icon cursor-pointer\"\r\n (click)=\"onClickNode(node)\"\r\n ></span>\r\n <span\r\n *ngIf=\"node.itemMatIcon\"\r\n class=\"material-icons-outlined type-icon cursor-pointer\"\r\n (click)=\"onClickNode(node)\"\r\n >{{ node.itemMatIcon }}\r\n </span>\r\n\r\n <span\r\n class=\"text-name cursor-pointer ml-5 123\"\r\n (click)=\"onClickNode(node)\"\r\n >{{ node.name }}</span\r\n >\r\n </mat-tree-node>\r\n</mat-tree>\r\n",
154
+ 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}.mat-tree.qms-nav-drawer-container{font-family:Open Sans}.mat-tree.qms-nav-drawer-container .mat-tree-node:hover{background:rgba(0,0,0,.08)}.mat-tree.qms-nav-drawer-container .mat-tree-node:active{background:rgba(0,0,0,.12)}.mat-tree.qms-nav-drawer-container .mat-tree-node.active{color:var(--primary);background:var(--primary-light-6-opacity)}.mat-tree.qms-nav-drawer-container .mat-tree-node.active:active{background:var(--primary-light-12-opacity)}.mat-tree.qms-nav-drawer-container .mat-tree-node.active .mat-icon-rtl-mirror,.mat-tree.qms-nav-drawer-container .mat-tree-node.active .text-name,.mat-tree.qms-nav-drawer-container .mat-tree-node.active .type-icon,.mat-tree.qms-nav-drawer-container .mat-tree-node.active button,.mat-tree.qms-nav-drawer-container .mat-tree-node.collapse-node.active .mat-icon-rtl-mirror,.mat-tree.qms-nav-drawer-container .mat-tree-node.collapse-node.active .text-name,.mat-tree.qms-nav-drawer-container .mat-tree-node.collapse-node.active .type-icon,.mat-tree.qms-nav-drawer-container .mat-tree-node.collapse-node.active button{color:var(--primary)}.mat-tree.qms-nav-drawer-container .mat-tree-node.collapse-node.active:hover{background:var(--primary-light-6-opacity)}.mat-tree.qms-nav-drawer-container .mat-tree-node.collapse-node.active:active{background:var(--primary-light-12-opacity)}.mat-tree.qms-nav-drawer-container .mat-tree-node.expand-node,.mat-tree.qms-nav-drawer-container .mat-tree-node.expand-node .mat-icon-rtl-mirror,.mat-tree.qms-nav-drawer-container .mat-tree-node.expand-node .text-name,.mat-tree.qms-nav-drawer-container .mat-tree-node.expand-node .type-icon,.mat-tree.qms-nav-drawer-container .mat-tree-node.expand-node button{color:var(--primary)}.mat-tree.qms-nav-drawer-container .mat-tree-node.expand-node:hover{background:var(--primary-light-6-opacity)}.mat-tree.qms-nav-drawer-container .mat-tree-node.expand-node:active{background:var(--primary-light-12-opacity)}.mat-tree.qms-nav-drawer-container .type-icon{margin-right:5px;color:var(--ws-action-active)}.mat-tree.qms-nav-drawer-container .text-name{color:var(--default-color)}.mat-tree.qms-nav-drawer-container .mat-icon-rtl-mirror{color:rgba(0,0,0,.6)}.text-name{position:relative;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.cursor-pointer,.text-name{cursor:pointer}.ml-5{margin-left:10px}"]
155
+ },] }
156
+ ];
157
+ QMSNavDrawerComponent.ctorParameters = () => [
158
+ { type: QMSTreeGlobalService },
159
+ { type: ChangeDetectorRef }
160
+ ];
161
+ QMSNavDrawerComponent.propDecorators = {
162
+ treeData: [{ type: Input }],
163
+ openNodes: [{ type: Input }],
164
+ nodesExpand: [{ type: Output }],
165
+ onClickNodeEvent: [{ type: Output }]
166
+ };
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicW1zLW5hdi1kcmF3ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcW1zLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3Ftcy1uYXYtZHJhd2VyL3Ftcy1uYXYtZHJhd2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFnQyxNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZJLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBTzlFLE1BQU0sT0FBTyxxQkFBcUI7SUFrQmhDLFlBQW1CLG1CQUF5QyxFQUFVLEtBQXdCO1FBQTNFLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBc0I7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQWhCOUYsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQzNCLGFBQVEsR0FBNkIsRUFBRSxDQUFDO1FBQ3hDLGNBQVMsR0FBYSxFQUFFLENBQUM7UUFDeEIsZ0JBQVcsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNwRCxxQkFBZ0IsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUduRSxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFvQixJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMs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RUFBRTtZQUNuQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLHFCQUFxQjtZQUMxQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQyxDQUFDLDBCQUEwQjtTQUNsRDtRQUNELEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ25DLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFZixJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQzlELElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRTtvQkFDNUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUM5QztxQkFBTTtvQkFDTCxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUNsQjthQUNGO2lCQUFNO2dCQUNMLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDbEI7U0FFRjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7O1lBMUtGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO2dCQUMxQiw4bkZBQThDOzthQUUvQzs7O1lBTFEsb0JBQW9CO1lBTHBCLGlCQUFpQjs7O3VCQWV2QixLQUFLO3dCQUNMLEtBQUs7MEJBQ0wsTUFBTTsrQkFDTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmxhdFRyZWVDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3RyZWUnO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0VHJlZUZsYXREYXRhU291cmNlLCBNYXRUcmVlRmxhdHRlbmVyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdHJlZSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBGbGF0Tm9kZU5hdkRyYXdlciwgVHJlZU5vZGVOYXZEcmF3ZXIgfSBmcm9tICcuL21vZGVscy9xbXMtbmF2LWRyYXdlci5tb2RlbCc7XHJcbmltcG9ydCB7IFFNU1RyZWVHbG9iYWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcW1zLXRyZWUtZ2xvYmFsLnNlcnZpY2UnO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3Ftcy1uYXYtZHJhd2VyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcW1zLW5hdi1kcmF3ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3Ftcy1uYXYtZHJhd2VyLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBRTVNOYXZEcmF3ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuXHJcbiAgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgQElucHV0KCkgdHJlZURhdGE6IEFycmF5PFRyZWVOb2RlTmF2RHJhd2VyPiA9IFtdO1xyXG4gIEBJbnB1dCgpIG9wZW5Ob2Rlczogc3RyaW5nW10gPSBbXTtcclxuICBAT3V0cHV0KCkgbm9kZXNFeHBhbmQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvbkNsaWNrTm9kZUV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcblxyXG4gIHRyZWVDb250cm9sID0gbmV3IEZsYXRUcmVlQ29udHJvbDxGbGF0Tm9kZU5hdkRyYXdlcj4obm9kZSA9PiBub2RlLmxldmVsLCBub2RlID0+IG5vZGUuZXhwYW5kYWJsZSk7XHJcbiAgdHJlZUZsYXR0ZW5lciA9IG5ldyBNYXRUcmVlRmxhdHRlbmVyKHRoaXMuX3RyYW5zZm9ybWVyLCBub2RlID0+IG5vZGUubGV2ZWwsIG5vZGUgPT4gbm9kZS5leHBhbmRhYmxlLCBub2RlID0+IG5vZGUuY2hpbGRyZW4pO1xyXG4gIGRhdGFTb3VyY2UgPSBuZXcgTWF0VHJlZUZsYXREYXRhU291cmNlKHRoaXMudHJlZUNvbnRyb2wsIHRoaXMudHJlZUZsYXR0ZW5lcik7XHJcbiAgZXhwYW5kaW5nTm9kZXM6IEZsYXROb2RlTmF2RHJhd2VyW10gPSBbXTtcclxuICBhY3RpdmVOb2RlOiBzdHJpbmc7XHJcbiAgZ3VpZEhlbHBlciA9IHtcclxuICAgIGVtcHR5OiAnMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwJ1xyXG4gIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBxbXNOYXZEcmF3ZXJTZXJ2aWNlOiBRTVNUcmVlR2xvYmFsU2VydmljZSwgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5kYXRhID0gdGhpcy5jb252ZXJ0VHJlZURhdGEodGhpcy50cmVlRGF0YSk7XHJcbiAgfVxyXG5cclxuICBfdHJhbnNmb3JtZXIobm9kZTogVHJlZU5vZGVOYXZEcmF3ZXIsIGxldmVsOiBudW1iZXIpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGV4cGFuZGFibGU6ICghIW5vZGUuY2hpbGRyZW4gJiYgbm9kZS5jaGlsZHJlbi5sZW5ndGggPiAwKSB8fCAoISFub2RlLmNoaWxkQ291bnQpLFxyXG4gICAgICBuYW1lOiBub2RlLm5hbWUsXHJcbiAgICAgIGxldmVsLFxyXG4gICAgICBpZDogbm9kZS5pZCxcclxuICAgICAgcGFyZW50SWQ6IG5vZGUucGFyZW50SWQsXHJcbiAgICAgIGl0ZW1JY29uOiBub2RlLml0ZW1JY29uLFxyXG4gICAgICBpdGVtTWF0SWNvbjogbm9kZS5pdGVtTWF0SWNvbixcclxuICAgICAgaXRlbUljb25Tdmc6IG5vZGUuaXRlbUljb25TdmcsXHJcbiAgICAgIGlzRmlsZTogbm9kZS5pc0ZpbGVcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBoYXNDaGlsZCA9IChfOiBudW1iZXIsIG5vZGU6IEZsYXROb2RlTmF2RHJhd2VyKSA9PiBub2RlLmV4cGFuZGFibGU7XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGlmIChjaGFuZ2VzLnRyZWVEYXRhKSB7XHJcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5kYXRhID0gdGhpcy50cmVlRGF0YTtcclxuICAgIH1cclxuICAgIGlmIChjaGFuZ2VzLm9wZW5Ob2Rlcykge1xyXG4gICAgICB0aGlzLmZpbmRBbmRFeHBhbmROb2RlcygpO1xyXG4gICAgICB0aGlzLmFjdGl2ZU5vZGUgPSB0aGlzLm9wZW5Ob2Rlc1t0aGlzLm9wZW5Ob2Rlcy5sZW5ndGggLSAxXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5xbXNOYXZEcmF3ZXJTZXJ2aWNlLmdldEl0ZW1zQ2hpbGRyZW4kLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgIGlmIChyZXMubGVuZ3RoKSB7XHJcblxyXG4gICAgICAgIGxldCBuZXdOb2Rlc0NoaWxkcmVuID0gW107XHJcblxyXG4gICAgICAgIHJlcy5mb3JFYWNoKHggPT4ge1xyXG4gICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnRyZWVEYXRhLmZpbmRJbmRleChcclxuICAgICAgICAgICAgaXRlbSA9PiBpdGVtLmlkID09PSB4LmlkICYmIGl0ZW0ucGFyZW50SWQgPT09IHgucGFyZW50SWQpO1xyXG4gICAgICAgICAgaWYgKGluZGV4IDwgMCkge1xyXG4gICAgICAgICAgICBuZXdOb2Rlc0NoaWxkcmVuLnB1c2goeCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIC8vIEFkZCBjaGlsZHJlbiB0byB0cmVlRGF0YVxyXG4gICAgICAgIGlmIChuZXdOb2Rlc0NoaWxkcmVuLmxlbmd0aCkge1xyXG4gICAgICAgICAgdGhpcy50cmVlRGF0YSA9IFsuLi50aGlzLnRyZWVEYXRhLCAuLi5uZXdOb2Rlc0NoaWxkcmVuXTtcclxuICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZS5kYXRhID0gdGhpcy5jb252ZXJ0VHJlZURhdGEodGhpcy50cmVlRGF0YSk7XHJcbiAgICAgICAgICB0aGlzLmZpbmRBbmRFeHBhbmROb2RlcygpO1xyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuZXhwYW5kaW5nTm9kZXMuZm9yRWFjaChub2RlID0+IHtcclxuICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy50cmVlQ29udHJvbC5kYXRhTm9kZXMuZmluZEluZGV4KHggPT4geC5wYXJlbnRJZCA9PT0gbm9kZS5wYXJlbnRJZCAmJiB4LmlkID09PSBub2RlLmlkKTtcclxuICAgICAgICAgIGlmIChpbmRleCA+PSAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMudHJlZUNvbnRyb2wuZXhwYW5kKHRoaXMudHJlZUNvbnRyb2wuZGF0YU5vZGVzW2luZGV4XSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGZpbmRBbmRFeHBhbmROb2RlcygpIHtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy50cmVlQ29udHJvbC5kYXRhTm9kZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgdGhpcy5vcGVuTm9kZXMuZm9yRWFjaChlbCA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMudHJlZUNvbnRyb2wuZGF0YU5vZGVzW2ldLmlkLnRvTG9jYWxlTG93ZXJDYXNlKCkgPT09IGVsLnRvTG93ZXJDYXNlKCkpIHtcclxuICAgICAgICAgIHRoaXMudHJlZUNvbnRyb2wuZXhwYW5kKHRoaXMudHJlZUNvbnRyb2wuZGF0YU5vZGVzW2ldKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5hY3RpdmVOb2RlID0gdGhpcy5vcGVuTm9kZXNbdGhpcy5vcGVuTm9kZXMubGVuZ3RoIC0gMV07XHJcbiAgICAvLyBzY3JvbGwgdG8gc2VsZWN0ZWQgbm9kZVxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcubWF0LXRyZWUtbm9kZS5hY3RpdmUnKTtcclxuICAgICAgaWYgKGVsZW1lbnQpIHtcclxuICAgICAgICBlbGVtZW50LnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIG9uQ2xpY2tOb2RlKG5vZGU6IFRyZWVOb2RlTmF2RHJhd2VyKSB7XHJcbiAgICB0aGlzLmFjdGl2ZU5vZGUgPSBub2RlLmlkO1xyXG4gICAgdGhpcy5vbkNsaWNrTm9kZUV2ZW50LmVtaXQobm9kZSk7XHJcbiAgfVxyXG5cclxuICBvbkV4cGFuZE5vZGUobm9kZTogVHJlZU5vZGVOYXZEcmF3ZXIpIHtcclxuICAgIHRoaXMub25DbGlja1RvZ2dsZU5vZGUobm9kZSk7XHJcbiAgfVxyXG5cclxuICBvbktleURvd25Ob2RlKGV2ZW50OiBhbnksIG5vZGUpIHtcclxuICAgIGlmIChldmVudC5rZXkgPT0gJ0VudGVyJykge1xyXG4gICAgICB0aGlzLm9uQ2xpY2tUb2dnbGVOb2RlKG5vZGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25DbGlja1RvZ2dsZU5vZGUobm9kZSkge1xyXG4gICAgdGhpcy5vcGVuTm9kZXMgPSBbXTtcclxuICAgIGlmICh0aGlzLnRyZWVDb250cm9sLmlzRXhwYW5kZWQobm9kZSkpIHtcclxuICAgICAgdGhpcy50cmVlQ29udHJvbC5leHBhbmQobm9kZSk7XHJcbiAgICAgIHRoaXMuX2FkZEV4cGFuZGluZ05vZGUobm9kZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnRyZWVDb250cm9sLmNvbGxhcHNlKG5vZGUpO1xyXG4gICAgICB0aGlzLl9yZW1vdmVFeHBhbmRpbmdOb2Rlcyhub2RlLmlkKTtcclxuICAgIH1cclxuICAgIHRoaXMubm9kZXNFeHBhbmQuZW1pdCh7IG5vZGUsIGlzRXhwYW5kOiB0aGlzLnRyZWVDb250cm9sLmlzRXhwYW5kZWQobm9kZSkgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9hZGRFeHBhbmRpbmdOb2RlKG5vZGU6IEZsYXROb2RlTmF2RHJhd2VyKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuZXhwYW5kaW5nTm9kZXMuc29tZSh4ID0+IHguaWQgPT09IG5vZGUuaWQpKSB7XHJcbiAgICAgIHRoaXMuZXhwYW5kaW5nTm9kZXMucHVzaChub2RlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3JlbW92ZUV4cGFuZGluZ05vZGVzKG5vZGVJZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLmV4cGFuZGluZ05vZGVzID0gdGhpcy5leHBhbmRpbmdOb2Rlcy5maWx0ZXIoeCA9PiB4LmlkICE9PSBub2RlSWQpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpO1xyXG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBjb252ZXJ0VHJlZURhdGEobGlzdCkge1xyXG4gICAgbGV0IG1hcCA9IHt9LCBub2RlLCByb290cyA9IFtdLCBpO1xyXG4gICAgZm9yIChpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyBpICs9IDEpIHtcclxuICAgICAgbWFwW2xpc3RbaV0uaWRdID0gaTsgLy8gaW5pdGlhbGl6ZSB0aGUgbWFwXHJcbiAgICAgIGxpc3RbaV0uY2hpbGRyZW4gPSBbXTsgLy8gaW5pdGlhbGl6ZSB0aGUgY2hpbGRyZW5cclxuICAgIH1cclxuICAgIGZvciAoaSA9IDA7IGkgPCBsaXN0Lmxlbmd0aDsgaSArPSAxKSB7XHJcbiAgICAgIG5vZGUgPSBsaXN0W2ldO1xyXG5cclxuICAgICAgaWYgKG5vZGUucGFyZW50SWQgfHwgKG5vZGUucGFyZW50SWQgIT09IHRoaXMuZ3VpZEhlbHBlci5lbXB0eSkpIHtcclxuICAgICAgICBpZiAobGlzdFttYXBbbm9kZS5wYXJlbnRJZF1dKSB7XHJcbiAgICAgICAgICBsaXN0W21hcFtub2RlLnBhcmVudElkXV0uY2hpbGRyZW4ucHVzaChub2RlKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcm9vdHMucHVzaChub2RlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcm9vdHMucHVzaChub2RlKTtcclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgIHJldHVybiByb290cztcclxuICB9XHJcblxyXG59Il19
@@ -0,0 +1,35 @@
1
+ import { DragDropModule } from '@angular/cdk/drag-drop';
2
+ import { CommonModule } from '@angular/common';
3
+ import { NgModule } from '@angular/core';
4
+ import { MatIconModule } from '@angular/material/icon';
5
+ import { MatToolbarModule } from '@angular/material/toolbar';
6
+ import { MatTooltipModule } from '@angular/material/tooltip';
7
+ import { MatTreeModule } from '@angular/material/tree';
8
+ import { MatButtonModule } from '@angular/material/button';
9
+ import { QmsAngularModule } from '../../qms-angular.module';
10
+ import { QMSButtonModule } from '../button/button.module';
11
+ import { QMSNavDrawerComponent } from './qms-nav-drawer.component';
12
+ export class QMSNavDrawerModule {
13
+ }
14
+ QMSNavDrawerModule.decorators = [
15
+ { type: NgModule, args: [{
16
+ declarations: [
17
+ QMSNavDrawerComponent
18
+ ],
19
+ imports: [
20
+ CommonModule,
21
+ MatIconModule,
22
+ MatToolbarModule,
23
+ QMSButtonModule,
24
+ MatTooltipModule,
25
+ DragDropModule,
26
+ MatTreeModule,
27
+ MatButtonModule,
28
+ QmsAngularModule
29
+ ],
30
+ exports: [
31
+ QMSNavDrawerComponent
32
+ ]
33
+ },] }
34
+ ];
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicW1zLW5hdi1kcmF3ZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcW1zLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3Ftcy1uYXYtZHJhd2VyL3Ftcy1uYXYtZHJhd2VyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBdUJuRSxNQUFNLE9BQU8sa0JBQWtCOzs7WUF0QjlCLFFBQVEsU0FDUDtnQkFDRSxZQUFZLEVBQUU7b0JBQ1oscUJBQXFCO2lCQUN0QjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixhQUFhO29CQUNiLGdCQUFnQjtvQkFDaEIsZUFBZTtvQkFDZixnQkFBZ0I7b0JBQ2hCLGNBQWM7b0JBQ2QsYUFBYTtvQkFDYixlQUFlO29CQUNmLGdCQUFnQjtpQkFDakI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLHFCQUFxQjtpQkFDdEI7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERyYWdEcm9wTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0VG9vbGJhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2xiYXInO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcbmltcG9ydCB7IE1hdFRyZWVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90cmVlJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgUW1zQW5ndWxhck1vZHVsZSB9IGZyb20gJy4uLy4uL3Ftcy1hbmd1bGFyLm1vZHVsZSc7XHJcbmltcG9ydCB7IFFNU0J1dHRvbk1vZHVsZSB9IGZyb20gJy4uL2J1dHRvbi9idXR0b24ubW9kdWxlJztcclxuaW1wb3J0IHsgUU1TTmF2RHJhd2VyQ29tcG9uZW50IH0gZnJvbSAnLi9xbXMtbmF2LWRyYXdlci5jb21wb25lbnQnO1xyXG5ATmdNb2R1bGUoXHJcbiAge1xyXG4gICAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICAgIFFNU05hdkRyYXdlckNvbXBvbmVudFxyXG4gICAgXSxcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgICBNYXRUb29sYmFyTW9kdWxlLFxyXG4gICAgICBRTVNCdXR0b25Nb2R1bGUsXHJcbiAgICAgIE1hdFRvb2x0aXBNb2R1bGUsXHJcbiAgICAgIERyYWdEcm9wTW9kdWxlLFxyXG4gICAgICBNYXRUcmVlTW9kdWxlLFxyXG4gICAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICAgIFFtc0FuZ3VsYXJNb2R1bGVcclxuICAgIF0sXHJcbiAgICBleHBvcnRzOiBbXHJcbiAgICAgIFFNU05hdkRyYXdlckNvbXBvbmVudFxyXG4gICAgXVxyXG4gIH1cclxuKVxyXG5cclxuZXhwb3J0IGNsYXNzIFFNU05hdkRyYXdlck1vZHVsZSB7XHJcbn1cclxuIl19