qms-angular 1.1.15 → 1.1.17
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.
- package/bundles/qms-angular.umd.js +1470 -21
- package/bundles/qms-angular.umd.js.map +1 -1
- package/esm2015/lib/common/models/qms-flat-node.model.js +1 -1
- package/esm2015/lib/components/qms-nav-drawer/qms-nav-drawer.component.js +3 -3
- package/esm2015/lib/components/select-access-dialog/common/animation.js +10 -0
- package/esm2015/lib/components/select-access-dialog/common/option-select-access.enum.js +7 -0
- package/esm2015/lib/components/select-access-dialog/index.js +2 -0
- package/esm2015/lib/components/select-access-dialog/model/access-item.model.js +6 -0
- package/esm2015/lib/components/select-access-dialog/model/option-select-access.model.js +3 -0
- package/esm2015/lib/components/select-access-dialog/model/select-access-data.js +17 -0
- package/esm2015/lib/components/select-access-dialog/public-api.js +8 -0
- package/esm2015/lib/components/select-access-dialog/select-access-dialog.component.js +330 -0
- package/esm2015/lib/components/select-access-dialog/select-access-dialog.module.js +60 -0
- package/esm2015/lib/components/select-access-dialog/service/select-access-global.service.js +11 -0
- package/esm2015/lib/components/select-department/common/animation.js +30 -0
- package/esm2015/lib/components/select-department/index.js +2 -0
- package/esm2015/lib/components/select-department/model/select-department-popup-data.model.js +15 -0
- package/esm2015/lib/components/select-department/public-api.js +5 -0
- package/esm2015/lib/components/select-department/select-department.component.js +98 -0
- package/esm2015/lib/components/select-department/select-department.module.js +62 -0
- package/esm2015/lib/components/select-department/service/select-department-global.service.js +22 -0
- package/esm2015/lib/components/select-department-tree/animation/animation.js +54 -0
- package/esm2015/lib/components/select-department-tree/index.js +2 -0
- package/esm2015/lib/components/select-department-tree/model/department-search-result.model.js +6 -0
- package/esm2015/lib/components/select-department-tree/model/select-department-tree.config.js +10 -0
- package/esm2015/lib/components/select-department-tree/public-api.js +7 -0
- package/esm2015/lib/components/select-department-tree/select-department-tree.component.js +611 -0
- package/esm2015/lib/components/select-department-tree/select-department-tree.module.js +60 -0
- package/esm2015/lib/components/select-department-tree/service/select-department-tree-global.service.js +22 -0
- package/esm2015/lib/components/select-include-children/services/select-include-children-global.service.js +1 -1
- package/esm2015/lib/components/select-one/select-one-next.component.js +1 -1
- package/esm2015/lib/components/tree/basic-tree.component.js +1 -1
- package/esm2015/lib/model/en.js +19 -2
- package/esm2015/lib/model/no.js +18 -1
- package/esm2015/lib/services/translation-registry.service.js +2 -2
- package/esm2015/public-api.js +4 -1
- package/fesm2015/qms-angular.js +1370 -22
- package/fesm2015/qms-angular.js.map +1 -1
- package/lib/common/models/qms-flat-node.model.d.ts +3 -0
- package/lib/components/select-access-dialog/common/animation.d.ts +1 -0
- package/lib/components/select-access-dialog/common/option-select-access.enum.d.ts +5 -0
- package/lib/components/select-access-dialog/index.d.ts +1 -0
- package/lib/components/select-access-dialog/model/access-item.model.d.ts +7 -0
- package/lib/components/select-access-dialog/model/option-select-access.model.d.ts +5 -0
- package/lib/components/select-access-dialog/model/select-access-data.d.ts +15 -0
- package/lib/components/select-access-dialog/public-api.d.ts +7 -0
- package/lib/components/select-access-dialog/select-access-dialog.component.d.ts +74 -0
- package/lib/components/select-access-dialog/select-access-dialog.module.d.ts +2 -0
- package/lib/components/select-access-dialog/service/select-access-global.service.d.ts +2 -0
- package/lib/components/select-department/common/animation.d.ts +1 -0
- package/lib/components/select-department/index.d.ts +1 -0
- package/lib/components/select-department/model/select-department-popup-data.model.d.ts +16 -0
- package/lib/components/select-department/public-api.d.ts +4 -0
- package/lib/components/select-department/select-department.component.d.ts +37 -0
- package/lib/components/select-department/select-department.module.d.ts +2 -0
- package/lib/components/select-department/service/select-department-global.service.d.ts +9 -0
- package/lib/components/select-department-tree/animation/animation.d.ts +1 -0
- package/lib/components/select-department-tree/index.d.ts +1 -0
- package/lib/components/select-department-tree/model/department-search-result.model.d.ts +11 -0
- package/lib/components/select-department-tree/model/select-department-tree.config.d.ts +9 -0
- package/lib/components/select-department-tree/public-api.d.ts +6 -0
- package/lib/components/select-department-tree/select-department-tree.component.d.ts +121 -0
- package/lib/components/select-department-tree/select-department-tree.module.d.ts +2 -0
- package/lib/components/select-department-tree/service/select-department-tree-global.service.d.ts +9 -0
- package/lib/model/en.d.ts +17 -0
- package/lib/model/no.d.ts +17 -0
- package/package.json +1 -1
- package/public-api.d.ts +3 -0
- package/qms-angular.metadata.json +1 -1
- package/src/lib/components/select-access-dialog/select-access-dialog.component.scss +285 -0
- package/src/lib/components/select-department/select-department.component.scss +185 -0
- package/src/lib/components/select-department-tree/select-department-tree.component.scss +445 -0
- package/src/themes/_qms-icon-font.scss +1 -1
- package/src/themes/core/_checkbox.scss +16 -2
- package/src/themes/core/_radio.scss +16 -3
- package/src/themes/core/_slide-toggle.scss +18 -5
- package/src/themes/core/_table-pure-gap.scss +134 -19
- package/src/themes/theme/_variable.scss +22 -2
@@ -0,0 +1,330 @@
|
|
1
|
+
import { ChangeDetectorRef, Component, EventEmitter, Inject, ViewChild, ViewEncapsulation } from '@angular/core';
|
2
|
+
import { FormBuilder, FormControl } from '@angular/forms';
|
3
|
+
import { MAT_CHECKBOX_DEFAULT_OPTIONS } from '@angular/material/checkbox';
|
4
|
+
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
|
5
|
+
import * as _ from 'lodash';
|
6
|
+
import { BehaviorSubject, ReplaySubject, Subject } from 'rxjs';
|
7
|
+
import { debounceTime, takeUntil } from 'rxjs/operators';
|
8
|
+
import { TranslateLibraryService } from "../../services/translation-registry.service";
|
9
|
+
import { PaginationSize } from '../qms-paginator';
|
10
|
+
import { SelectDepartmentTreeComponent } from '../select-department-tree/select-department-tree.component';
|
11
|
+
import { SelectAccessAnimationTrigger } from './common/animation';
|
12
|
+
import { OptionSelectAccessEnum } from './common/option-select-access.enum';
|
13
|
+
import { QMSSelectAccessData, QMSSelectAccessResult } from './model/select-access-data';
|
14
|
+
import { QMSSelectAccessGlobalService } from './service/select-access-global.service';
|
15
|
+
const ɵ0 = {
|
16
|
+
clickAction: 'noop'
|
17
|
+
};
|
18
|
+
export class QMSSelectAccessDialogComponent {
|
19
|
+
constructor(dialogRef, dataDialog, translate, _fb, qmsSelectAccessService, cdRef) {
|
20
|
+
this.dialogRef = dialogRef;
|
21
|
+
this.dataDialog = dataDialog;
|
22
|
+
this.translate = translate;
|
23
|
+
this._fb = _fb;
|
24
|
+
this.qmsSelectAccessService = qmsSelectAccessService;
|
25
|
+
this.cdRef = cdRef;
|
26
|
+
this.ngUnsubcribe = new Subject();
|
27
|
+
this.optionSelect = new FormControl();
|
28
|
+
this.OPTION_ENUM = OptionSelectAccessEnum;
|
29
|
+
this.options = [
|
30
|
+
{
|
31
|
+
displayName: 'PERSON',
|
32
|
+
type: this.OPTION_ENUM.PERSON
|
33
|
+
},
|
34
|
+
{
|
35
|
+
displayName: 'USER_GROUP',
|
36
|
+
type: this.OPTION_ENUM.USER_GROUP
|
37
|
+
},
|
38
|
+
{
|
39
|
+
displayName: 'DEPARTMENT',
|
40
|
+
type: this.OPTION_ENUM.DEPARTMENT
|
41
|
+
}
|
42
|
+
];
|
43
|
+
this.userGroupForm = new FormControl('');
|
44
|
+
this.getLoading$ = new BehaviorSubject(false);
|
45
|
+
this.onSearchPersonEvent = new EventEmitter();
|
46
|
+
this.onSearchPersonFreeTextEvent = new EventEmitter();
|
47
|
+
this.onSearchUserGroupEvent = new EventEmitter();
|
48
|
+
this.onSearchDepartmentEvent = new EventEmitter();
|
49
|
+
/** list filtered by search keyword */
|
50
|
+
this.filteredSearchTextBox = {
|
51
|
+
department: new ReplaySubject(1),
|
52
|
+
role: new ReplaySubject(1),
|
53
|
+
};
|
54
|
+
this.getPerson$ = new BehaviorSubject([]);
|
55
|
+
this.getUserGroup$ = new BehaviorSubject([]);
|
56
|
+
this.PAGINATION_SIZE = PaginationSize;
|
57
|
+
this.resultAccess = new QMSSelectAccessResult();
|
58
|
+
this.currentPaginationConfig = {
|
59
|
+
pageIndex: 0,
|
60
|
+
pageSize: 10,
|
61
|
+
length: 0
|
62
|
+
};
|
63
|
+
this.resultAccess = _.cloneDeep(this.dataDialog.selectedData);
|
64
|
+
this.optionSelect.valueChanges
|
65
|
+
.pipe(takeUntil(this.ngUnsubcribe))
|
66
|
+
.subscribe(_ => {
|
67
|
+
this.resetPagingConfig();
|
68
|
+
});
|
69
|
+
// Filtered Option select person
|
70
|
+
this.filteredSearchTextBox.role.next(this.dataDialog.accessUserGroups);
|
71
|
+
this.filteredSearchTextBox.department.next(this.dataDialog.accessDepartments);
|
72
|
+
this.updatePersonFilter(this.dataDialog.accessPersons);
|
73
|
+
this.updateUserGroupFilter(this.dataDialog.accessUserGroups);
|
74
|
+
}
|
75
|
+
set tree(data) {
|
76
|
+
if (data) {
|
77
|
+
this.treeDepartment = data;
|
78
|
+
}
|
79
|
+
}
|
80
|
+
get personFiltered() {
|
81
|
+
const persons = this.getPerson$.value;
|
82
|
+
const ids = this.resultAccess.persons.map(x => x.id);
|
83
|
+
persons.forEach(x => x.selected = ids.includes(x.id));
|
84
|
+
return persons;
|
85
|
+
}
|
86
|
+
get userGroupFiltered() {
|
87
|
+
const userGroups = this.getUserGroup$.value;
|
88
|
+
const ids = this.resultAccess.userGroups.map(x => x.id);
|
89
|
+
userGroups.forEach(x => x.selected = ids.includes(x.id));
|
90
|
+
return userGroups;
|
91
|
+
}
|
92
|
+
ngAfterViewInit() {
|
93
|
+
this.cdRef.detectChanges();
|
94
|
+
}
|
95
|
+
ngOnInit() {
|
96
|
+
this.translate.getLanguageSubject$.pipe().subscribe((res) => {
|
97
|
+
if (res) {
|
98
|
+
this.LANG = this.translate.getObjectLang(res);
|
99
|
+
}
|
100
|
+
});
|
101
|
+
this.buildPersonForm();
|
102
|
+
// Filter person by roles
|
103
|
+
this.personForm.get('roleFilter').valueChanges
|
104
|
+
.pipe(takeUntil(this.ngUnsubcribe), debounceTime(500))
|
105
|
+
.subscribe(keyword => {
|
106
|
+
if (!this.dataDialog.accessUserGroups) {
|
107
|
+
return;
|
108
|
+
}
|
109
|
+
if (!keyword) {
|
110
|
+
this.filteredSearchTextBox.role.next(this.dataDialog.accessUserGroups);
|
111
|
+
return;
|
112
|
+
}
|
113
|
+
this.filteredSearchTextBox.role.next(this.dataDialog.accessUserGroups.filter(role => role.name.toLocaleLowerCase().includes(keyword.toLocaleLowerCase())));
|
114
|
+
});
|
115
|
+
// Filter person by departments
|
116
|
+
this.personForm.get('departmentFilter').valueChanges
|
117
|
+
.pipe(takeUntil(this.ngUnsubcribe))
|
118
|
+
.subscribe(() => {
|
119
|
+
if (!this.dataDialog.accessDepartments) {
|
120
|
+
return;
|
121
|
+
}
|
122
|
+
let search = this.personForm.get('departmentFilter').value;
|
123
|
+
if (!search) {
|
124
|
+
this.filteredSearchTextBox.department.next(this.dataDialog.accessDepartments.slice());
|
125
|
+
}
|
126
|
+
else {
|
127
|
+
search = search.toLowerCase();
|
128
|
+
this.filteredSearchTextBox.department.next(this.dataDialog.accessDepartments.filter(x => x.name.toLowerCase().indexOf(search) > -1));
|
129
|
+
}
|
130
|
+
});
|
131
|
+
this.getLoading$.pipe(takeUntil(this.ngUnsubcribe))
|
132
|
+
.subscribe(response => {
|
133
|
+
if (response) {
|
134
|
+
this.personForm.disable();
|
135
|
+
}
|
136
|
+
else {
|
137
|
+
this.personForm.enable();
|
138
|
+
}
|
139
|
+
});
|
140
|
+
}
|
141
|
+
ngOnDestroy() {
|
142
|
+
this.ngUnsubcribe.next();
|
143
|
+
this.ngUnsubcribe.complete();
|
144
|
+
}
|
145
|
+
buildPersonForm() {
|
146
|
+
this.personForm = this._fb.group({
|
147
|
+
roleId: new FormControl(''),
|
148
|
+
departmentId: new FormControl(),
|
149
|
+
departmentFilter: new FormControl(''),
|
150
|
+
recursive: new FormControl({ value: true, disabled: true }),
|
151
|
+
keyword: new FormControl(''),
|
152
|
+
roleFilter: new FormControl(''),
|
153
|
+
excludedQuitDepartmentId: true
|
154
|
+
});
|
155
|
+
}
|
156
|
+
resetPagingConfig() {
|
157
|
+
this.currentPaginationConfig = {
|
158
|
+
pageIndex: 0,
|
159
|
+
pageSize: 10,
|
160
|
+
length: 0
|
161
|
+
};
|
162
|
+
}
|
163
|
+
onFilterPerson() {
|
164
|
+
this.onSearchPersonEvent.emit(this.personForm.value);
|
165
|
+
this.getLoading$.next(true);
|
166
|
+
}
|
167
|
+
onSearchPersonFreeText() {
|
168
|
+
this.getLoading$.next(true);
|
169
|
+
this.onSearchPersonFreeTextEvent.emit(this.personForm.get('keyword').value);
|
170
|
+
}
|
171
|
+
onFilterUserGroup() {
|
172
|
+
this.onSearchUserGroupEvent.emit(this.userGroupForm.value);
|
173
|
+
}
|
174
|
+
onSelectPerson(employee) {
|
175
|
+
employee.selected = !employee.selected;
|
176
|
+
employee.selected ? this.resultAccess.persons.push(employee) : this.resultAccess.persons = this.resultAccess.persons.filter(item => item.id !== employee.id);
|
177
|
+
}
|
178
|
+
onSelectUserGroup(userGroup) {
|
179
|
+
userGroup.selected = !userGroup.selected;
|
180
|
+
userGroup.selected ? this.resultAccess.userGroups.push(userGroup) : this.resultAccess.userGroups = this.resultAccess.userGroups.filter(item => item.id !== userGroup.id);
|
181
|
+
}
|
182
|
+
onRemoveChip(type, index) {
|
183
|
+
switch (type) {
|
184
|
+
case this.OPTION_ENUM.PERSON:
|
185
|
+
this.resultAccess.persons.splice(index, 1);
|
186
|
+
if (this.personFiltered[index]) {
|
187
|
+
this.personFiltered[index].selected = false;
|
188
|
+
}
|
189
|
+
break;
|
190
|
+
case this.OPTION_ENUM.USER_GROUP:
|
191
|
+
this.resultAccess.userGroups.splice(index, 1);
|
192
|
+
if (this.userGroupFiltered[index]) {
|
193
|
+
this.userGroupFiltered[index].selected = false;
|
194
|
+
}
|
195
|
+
break;
|
196
|
+
default:
|
197
|
+
return;
|
198
|
+
}
|
199
|
+
}
|
200
|
+
onSelectionTypeChange(event) {
|
201
|
+
this.dialogRef.updateSize('732px');
|
202
|
+
}
|
203
|
+
setFormControlValue(formControlNames, values) {
|
204
|
+
formControlNames.forEach((controlName, _index) => {
|
205
|
+
var _a;
|
206
|
+
(_a = this.personForm.get(controlName)) === null || _a === void 0 ? void 0 : _a.setValue(values[_index]);
|
207
|
+
});
|
208
|
+
}
|
209
|
+
getPersonSelected() {
|
210
|
+
}
|
211
|
+
isCheckAll(type) {
|
212
|
+
switch (type) {
|
213
|
+
case this.OPTION_ENUM.PERSON:
|
214
|
+
return this.personFiltered.length && this.getPaging(this.personFiltered).every(x => x.selected);
|
215
|
+
case this.OPTION_ENUM.USER_GROUP:
|
216
|
+
return this.userGroupFiltered.length && this.getPaging(this.userGroupFiltered).every(x => x.selected);
|
217
|
+
default:
|
218
|
+
return false;
|
219
|
+
}
|
220
|
+
}
|
221
|
+
isIndeterminate(type) {
|
222
|
+
var _a, _b;
|
223
|
+
switch (type) {
|
224
|
+
case this.OPTION_ENUM.PERSON:
|
225
|
+
return !this.isCheckAll(type) && ((_a = this.getPaging(this.personFiltered)) === null || _a === void 0 ? void 0 : _a.some(x => x.selected));
|
226
|
+
case this.OPTION_ENUM.USER_GROUP:
|
227
|
+
return !this.isCheckAll(type) && ((_b = this.getPaging(this.userGroupFiltered)) === null || _b === void 0 ? void 0 : _b.some(x => x.selected));
|
228
|
+
default:
|
229
|
+
return false;
|
230
|
+
}
|
231
|
+
}
|
232
|
+
onCheckAll(type, $event) {
|
233
|
+
$event.checked = !$event.checked;
|
234
|
+
switch (type) {
|
235
|
+
case this.OPTION_ENUM.PERSON: {
|
236
|
+
const userPaging = this.getPaging(this.personFiltered) || [];
|
237
|
+
if (!userPaging.length)
|
238
|
+
return;
|
239
|
+
userPaging.forEach(x => x.selected = $event.checked);
|
240
|
+
const idFiltered = userPaging.map(x => x.id);
|
241
|
+
if ($event.checked) {
|
242
|
+
const idPersonSelected = this.resultAccess.persons.map(x => x.id);
|
243
|
+
this.resultAccess.persons = [...this.resultAccess.persons, ...userPaging.filter(x => !idPersonSelected.includes(x.id))];
|
244
|
+
}
|
245
|
+
else {
|
246
|
+
this.resultAccess.persons = this.resultAccess.persons.filter(x => !idFiltered.includes(x.id));
|
247
|
+
}
|
248
|
+
break;
|
249
|
+
}
|
250
|
+
case this.OPTION_ENUM.USER_GROUP: {
|
251
|
+
const userGroupPaging = this.getPaging(this.userGroupFiltered);
|
252
|
+
userGroupPaging.forEach(x => x.selected = $event.checked);
|
253
|
+
const idFiltered = userGroupPaging.map(x => x.id);
|
254
|
+
if ($event.checked) {
|
255
|
+
const idSelected = this.resultAccess.userGroups.map(x => x.id);
|
256
|
+
this.resultAccess.userGroups = [...this.resultAccess.userGroups, ...userGroupPaging.filter(x => !idSelected.includes(x.id))];
|
257
|
+
}
|
258
|
+
else {
|
259
|
+
this.resultAccess.userGroups = this.resultAccess.userGroups.filter(x => !idFiltered.includes(x.id));
|
260
|
+
}
|
261
|
+
break;
|
262
|
+
}
|
263
|
+
default:
|
264
|
+
return;
|
265
|
+
}
|
266
|
+
}
|
267
|
+
onScollToNodeTreeDepartment(node) {
|
268
|
+
this.optionSelect.value === this.OPTION_ENUM.DEPARTMENT && this.treeDepartment.scrollToNode(node.id);
|
269
|
+
}
|
270
|
+
onRemoveTreeNodeDepartment(node) {
|
271
|
+
if (this.optionSelect.value === this.OPTION_ENUM.DEPARTMENT) {
|
272
|
+
this.treeDepartment.onRemoveNode(node.id);
|
273
|
+
}
|
274
|
+
this.resultAccess.departments = this.resultAccess.departments.filter(item => item.id !== node.id);
|
275
|
+
}
|
276
|
+
trackByFn(index, item) {
|
277
|
+
return index;
|
278
|
+
}
|
279
|
+
updatePersonFilter(data) {
|
280
|
+
this.resetPagingConfig();
|
281
|
+
this.getPerson$.next(data);
|
282
|
+
this.getLoading$.next(false);
|
283
|
+
}
|
284
|
+
updateUserGroupFilter(data) {
|
285
|
+
this.resetPagingConfig();
|
286
|
+
this.getUserGroup$.next(data);
|
287
|
+
this.getLoading$.next(false);
|
288
|
+
}
|
289
|
+
onPagingEvent(val) {
|
290
|
+
this.currentPaginationConfig = val;
|
291
|
+
}
|
292
|
+
getPaging(source) {
|
293
|
+
if (!source.length)
|
294
|
+
return [];
|
295
|
+
return source.slice(this.currentPaginationConfig.pageIndex * this.currentPaginationConfig.pageSize, (this.currentPaginationConfig.pageIndex * this.currentPaginationConfig.pageSize) + this.currentPaginationConfig.pageSize);
|
296
|
+
}
|
297
|
+
onResultDepartmentChange(event) {
|
298
|
+
this.resultAccess.departments = event;
|
299
|
+
}
|
300
|
+
}
|
301
|
+
QMSSelectAccessDialogComponent.decorators = [
|
302
|
+
{ type: Component, args: [{
|
303
|
+
selector: 'qms-select-access-dialog',
|
304
|
+
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\">{{LANG.SELECT_ACCESS}}</span>\r\n <button matDialogClose qms-btn-icon>\r\n <mat-icon class=\"mat-icons-outlined\">close</mat-icon>\r\n </button>\r\n </div>\r\n <mat-form-field qms-form qms-select-input class=\"field-select-option w-100\" 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>\r\n <div qms-dialog-content class=\"access-dialog-wraper\">\r\n <!-- Person Access -->\r\n <div class=\"option-selected-content\">\r\n <ng-container *ngIf=\"optionSelect.value === OPTION_ENUM.PERSON\">\r\n <form [formGroup]=\"personForm\">\r\n <mat-dialog-content>\r\n <div class=\"group-filter-person-option\">\r\n <mat-form-field class=\"w-100 input-option-filter\" qms-form>\r\n <mat-label qms-select-input>{{LANG.ROLE}}</mat-label>\r\n <mat-select panelClass=\"qms-select-panel\" qms-select disableOptionCentering formControlName=\"roleId\">\r\n <mat-option>\r\n <ngx-mat-select-search formControlName=\"roleFilter\" placeholderLabel=\"{{ LANG.ROLE }}\"\r\n noEntriesFoundLabel=\"\">\r\n </ngx-mat-select-search>\r\n </mat-option>\r\n <mat-option *ngFor=\"let item of filteredSearchTextBox.role | async\" [value]=\"item.id\">\r\n {{ item.name }}\r\n </mat-option>\r\n </mat-select>\r\n <!-- <mat-progress-spinner [@inOutAnimation] *ngIf=\"getLoading$.value\" matSuffix mode=\"indeterminate\" diameter=\"20\"></mat-progress-spinner> -->\r\n <span [@inOutAnimation] (click)=\"personForm.get('roleId').setValue('')\" class=\"pointer \" matSuffix\r\n aria-label=\"Clear\" *ngIf=\"personForm.get('roleId').value && !getLoading$.value\">\r\n <mat-icon>close</mat-icon>\r\n </span>\r\n </mat-form-field>\r\n\r\n <mat-form-field 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=\"departmentId\">\r\n <mat-option>\r\n <ngx-mat-select-search formControlName=\"departmentFilter\" [placeholderLabel]=\"LANG.DEPARTMENT_UNIT\"\r\n noEntriesFoundLabel=\"\">\r\n </ngx-mat-select-search>\r\n </mat-option>\r\n <mat-option *ngFor=\"let item of filteredSearchTextBox.department | async\" [value]=\"item.id\">\r\n {{item.name}}\r\n </mat-option>\r\n </mat-select>\r\n <!-- <mat-progress-spinner [@inOutAnimation] *ngIf=\"getLoading$.value\" matSuffix mode=\"indeterminate\" diameter=\"20\"></mat-progress-spinner> -->\r\n <span (click)=\"setFormControlValue(['recursive','departmentId'], [false,''])\" [@inOutAnimation]\r\n class=\"pointer\" matSuffix aria-label=\"Clear\" *ngIf=\"personForm.get('departmentId').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 class=\"w-100 slide-toggle\" formControlName=\"recursive\"\r\n [disabled]=\"!this.personForm.controls['departmentId'].value\"\r\n 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 <!-- <mat-label>{{LANG.SEARCH_WITH_NAME}}</mat-label> -->\r\n <input matInput appearance=\"off\" [placeholder]=\"LANG.SEARCH_WITH_NAME\"\r\n formControlName=\"keyword\" type=\"text\" autocomplete=\"off\" />\r\n <button *ngIf=\"!getLoading$.value\" qms-btn-icon color=\"light\" [@inOutAnimation] (click)=\"onSearchPersonFreeText()\" class=\"pointer me-1\" matSuffix\r\n 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\" 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 aria-label=\"Clear\"\r\n *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 [disabled]=\"!personFiltered.length\" #checkPerson class=\"w-100 mb-1 checkbox-all\" (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>{{getPaging(personFiltered).length}}</b>)</span>\r\n </mat-checkbox>\r\n </div>\r\n <mat-divider class=\"mx-auto\"></mat-divider>\r\n <div [@inOutAnimation] *ngIf=\"getPaging(personFiltered).length\" class=\"item-list-wrapper\">\r\n <div class=\"item mt-1\" *ngFor=\"let employee of getPaging(personFiltered); trackBy: trackByFn\">\r\n <mat-checkbox [checked]=\"employee.selected\" (click)=\"onSelectPerson(employee)\" class=\"w-100\"\r\n color=\"default\" qms-group-options>\r\n <div class=\"text-label\">\r\n <span class=\"text-label label-item fs-14 \">\r\n {{ employee.name }}\r\n </span>\r\n <span *ngIf=\"employee.subName\" class=\"ms-1 sub-label\">({{employee.subName}})</span>\r\n </div>\r\n <small class=\"text-help px-1 fs-12 sub-label\">{{ employee.helpText }}</small>\r\n </mat-checkbox>\r\n </div>\r\n </div>\r\n <div [@inOutAnimation] *ngIf=\"!getPaging(personFiltered).length\" 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 *ngIf=\"personFiltered.length > 10\" [length]=\"personFiltered.length\"\r\n [numHidden]=\"0\" [pageSize]=\"10\" [pageSizeOptions]=\"[5, 10, 25, 100]\" (page)='onPagingEvent($event)'\r\n [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 <form>\r\n <mat-dialog-content>\r\n <mat-form-field class=\"w-100\" qms-form qms-search-field>\r\n <input [formControl]=\"userGroupForm\" matInput type=\"text\" autocomplete=\"off\" placeholder=\"User group\" />\r\n <button [@inOutAnimation] *ngIf=\"!getLoading$.value\" (click)=\"onFilterUserGroup()\" qms-btn-icon color=\"light\" matSuffix>\r\n <mat-icon>search</mat-icon>\r\n </button>\r\n <mat-progress-spinner [@inOutAnimation] *ngIf=\"getLoading$.value\" matSuffix mode=\"indeterminate\" 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 </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 [disabled]=\"!userGroupFiltered.length\" #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)\" qms-group-options>\r\n <span class=\"text-label header-title\">{{LANG.CHOOSE_ALL}}</span>\r\n <span>(<b>{{getPaging(userGroupFiltered).length}}</b>)</span>\r\n </mat-checkbox>\r\n </div>\r\n <mat-divider class=\"mx-auto\"></mat-divider>\r\n <div *ngIf=\"getPaging(userGroupFiltered).length\" class=\"item-list-wrapper\">\r\n <div class=\"item mt-1\" *ngFor=\"let userGroup of getPaging(userGroupFiltered)\">\r\n <mat-checkbox (click)=\"onSelectUserGroup(userGroup)\" [checked]=\"userGroup.selected\" class=\"w-100\"\r\n color=\"default\" qms-group-options>\r\n <span class=\"text-label\">\r\n {{userGroup.name}}\r\n </span>\r\n </mat-checkbox>\r\n </div>\r\n </div>\r\n <div [@inOutAnimation] *ngIf=\"!getPaging(userGroupFiltered).length\" 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 *ngIf=\"userGroupFiltered.length > 10\" [length]=\"userGroupFiltered.length\" [numHidden]=\"0\" [pageSize]=\"10\" [pageSizeOptions]=\"[5, 10, 25, 100]\" (page)='onPagingEvent($event)'\r\n [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 <!-- Department Access -->\r\n <ng-container *ngIf=\"optionSelect.value === OPTION_ENUM.DEPARTMENT\" class=\"person-access\">\r\n <qms-select-department-tree\r\n #treeDepartment\r\n [treeData]=\"dataDialog.accessDepartments\"\r\n [selectIncludeLabel]=\"dataDialog.selectIncludeChildTreeLabel\"\r\n [enableIncludeChild]=\"true\"\r\n [enableTreeSearch]=\"true\"\r\n [selectedList]=\"resultAccess.departments\"\r\n (onSearchEvent)=\"onSearchDepartmentEvent.emit($event)\"\r\n (onValueChangeEvent)=\"onResultDepartmentChange($event)\"\r\n >\r\n </qms-select-department-tree>\r\n </ng-container>\r\n </div>\r\n <mat-divider *ngIf=\"optionSelect.value !== null\" class=\"mx-auto\"></mat-divider>\r\n <div *ngIf=\"optionSelect.value !== null\" class=\"header-title my-1\">{{LANG.RESULTS}}</div>\r\n\r\n <div *ngIf=\"optionSelect.value !== null\" class=\"result-selected-container\">\r\n <!-- Result Person -->\r\n <mat-expansion-panel qms-expansion [expanded]=\"optionSelect.value === OPTION_ENUM.PERSON\">\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\">{{LANG.PERSON}} <span\r\n class=\"fw-600\">({{resultAccess.persons.length}})</span>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-expansion-panel-header>\r\n <mat-chip-list class=\"panel__item qms-scrollbar\">\r\n <mat-chip class=\"chip-item-result\" [qms-tool-tip]=\"item.name\" position=\"top\" mode=\"dark\"\r\n *ngFor=\"let item of resultAccess.persons; let i = index\" qms-chip [removable]=\"true\">\r\n <span qms-chip-body>\r\n <span class=\"text-label\">\r\n {{ item.name }}\r\n <span *ngIf=\"item.subName\">({{ item.subName }})</span>\r\n </span>\r\n </span>\r\n <mat-icon (click)=\"onRemoveChip(OPTION_ENUM.PERSON,i)\" class=\"remove-chip-icon\">cancel</mat-icon>\r\n </mat-chip>\r\n </mat-chip-list>\r\n </mat-expansion-panel>\r\n\r\n <!-- Result User group -->\r\n <mat-expansion-panel qms-expansion [expanded]=\"optionSelect.value === OPTION_ENUM.USER_GROUP\">\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\">{{LANG.USER_GROUP}}\r\n <span class=\"fw-600\">\r\n ({{resultAccess.userGroups.length}})\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-expansion-panel-header>\r\n <mat-chip-list class=\"panel__item qms-scrollbar\">\r\n <mat-chip class=\"chip-item-result\" [qms-tool-tip]=\"item.name\" position=\"top\" mode=\"dark\"\r\n *ngFor=\"let item of resultAccess.userGroups; let i = index\" qms-chip [removable]=\"true\">\r\n <span qms-chip-body>\r\n <span class=\"text-label\">\r\n {{item.name}}\r\n <span *ngIf=\"item.subName\">({{ item.subName }})</span>\r\n </span>\r\n </span>\r\n <mat-icon (click)=\"onRemoveChip(OPTION_ENUM.USER_GROUP,i)\" class=\"remove-chip-icon\">cancel</mat-icon>\r\n </mat-chip>\r\n </mat-chip-list>\r\n </mat-expansion-panel>\r\n\r\n <!-- Result Department -->\r\n <mat-expansion-panel qms-expansion [expanded]=\"optionSelect.value === OPTION_ENUM.DEPARTMENT\">\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\">{{LANG.DEPARTMENT}}\r\n <span class=\"fw-600\">\r\n ({{resultAccess.departments.length}})\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-expansion-panel-header>\r\n\r\n <mat-chip-list class=\"panel__item qms-scrollbar\">\r\n <mat-chip class=\"chip-item-result item-department\" [qms-tool-tip]=\"item.name\" position=\"top\" mode=\"dark\"\r\n *ngFor=\"let item of resultAccess.departments\" qms-chip [removable]=\"true\">\r\n <span (click)=\"onScollToNodeTreeDepartment(item)\" qms-chip-body>\r\n <span class=\"chip-item__content_name\" #itemName>\r\n {{item.name}}\r\n </span>\r\n <span class=\"chip-item-children__count ms-1\" *ngIf=\"item?.children\">\r\n {{item.children.length}}/{{item.childCount}}\r\n </span>\r\n </span>\r\n <mat-icon class=\"remove-chip-icon\" (click)=\"onRemoveTreeNodeDepartment(item)\">cancel</mat-icon>\r\n </mat-chip>\r\n </mat-chip-list>\r\n </mat-expansion-panel>\r\n </div>\r\n <!-- <mat-divider class=\"mx-auto\"></mat-divider> -->\r\n </div>\r\n <div qms-dialog-footer class=\"confirm__button__groups\" [class.none-option]=\"optionSelect.value === null\">\r\n <button *ngIf=\"optionSelect.value !== null\"\r\n [disabled]=\"!(!!resultAccess.departments.length || !!resultAccess.persons.length || !!resultAccess.userGroups.length)\"\r\n class=\"btn-add\"\r\n [class.qms-btn-disabled]=\"!(!!resultAccess.departments.length || !!resultAccess.persons.length || !!resultAccess.userGroups.length)\"\r\n [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<ng-template #noResult>\r\n <svg width=\"89\" height=\"88\" 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 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\" fill=\"#0163B3\"/>\r\n </svg>\r\n</ng-template>\r\n<ng-template #loading>\r\n <mat-progress-spinner mode=\"indeterminate\" diameter=\"20\"></mat-progress-spinner>\r\n</ng-template>\r\n",
|
305
|
+
animations: [SelectAccessAnimationTrigger],
|
306
|
+
providers: [
|
307
|
+
{
|
308
|
+
provide: MAT_CHECKBOX_DEFAULT_OPTIONS,
|
309
|
+
useValue: ɵ0
|
310
|
+
}
|
311
|
+
],
|
312
|
+
encapsulation: ViewEncapsulation.None,
|
313
|
+
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-]{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}.select-access-dialog-container{font-family:Open Sans}.select-access-dialog-container .mat-expansion-panel .mat-expansion-panel-body{padding-top:0!important}.select-access-dialog-container .mat-expansion-panel-header{font-size:12px!important;font-weight:800!important}.select-access-dialog-container .w-100{width:100%}.select-access-dialog-container .h-100{height:100%}.select-access-dialog-container .pointer{cursor:pointer}.select-access-dialog-container .fw-600{font-weight:600}.select-access-dialog-container .label-item{font-weight:600;color:var(--ws-text-primary)}.select-access-dialog-container .sub-label{color:var(--ws-text-secondary)}.select-access-dialog-container .fs-14{font-size:14px}.select-access-dialog-container .fs-12{font-size:12px}.select-access-dialog-container .header-title{font-weight:600;color:var(--ws-text-primary);font-size:16px}.select-access-dialog-container .chip-item-result{max-width:250px}.select-access-dialog-container .chip-item-result.item-department .qms-chip-body{display:flex;justify-content:center;align-items:center}.select-access-dialog-container .remove-chip-icon{color:rgba(0,0,0,.3);cursor:pointer}.select-access-dialog-container .remove-chip-icon:hover{color:rgba(0,0,0,.7)}.select-access-dialog-container .mat-form-field-wrapper{padding-bottom:5px!important}.select-access-dialog-container .mat-expansion-panel{border-radius:unset!important}.select-access-dialog-container .mat-expansion-panel-header:not([aria-disabled=true]){background:unset}.select-access-dialog-container .mat-expansion-panel.mat-expanded .mat-expansion-panel-header{background:#e5eefb}.select-access-dialog-container .mat-expansion-panel.mat-expanded .mat-expansion-panel-header .qms-line{color:var(--primary-light)!important}.select-access-dialog-container .access-dialog-header{display:flex;justify-content:space-between;align-items:center}.select-access-dialog-container .access-dialog-wraper{width:100%}.select-access-dialog-container .access-dialog-wraper .field-select-option .mat-form-field-wrapper{padding-bottom:16px!important}.select-access-dialog-container .access-dialog-wraper .field-select-option .mat-form-field-underline{bottom:16px!important}.select-access-dialog-container .mat-chip-list-wrapper{margin:unset!important}.select-access-dialog-container .result-selected-container{max-height:175px;overflow-y:auto}.select-access-dialog-container .item-list-wrapper{max-height:28vh;padding-right:4px;overflow-y:auto}.select-access-dialog-container .item-list-wrapper.no-result{height:28vh;display:flex;justify-content:center;align-items:center}.select-access-dialog-container .item-list-wrapper .item{min-height:40px}.select-access-dialog-container .confirm__button__groups .btn-add>.qms-btn-wrapper{display:flex;justify-content:center;align-items:center}.select-access-dialog-container .option-selected-content .group-filter-person-option{display:flex;flex-direction:row-reverse;justify-content:center;align-items:center;grid-gap:8px;gap:8px}.select-access-dialog-container span.chip-item__content_name{display:inline-block;max-width:175px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.select-access-dialog-container span.chip-item-children__count{font-size:.75rem;color:rgba(0,0,0,.5);font-weight:600}.select-access-dialog-container .mat-slide-toggle.qms-group-options{padding:unset!important}.select-access-dialog-container .input-option-filter .mat-form-field-wrapper{padding-bottom:8px!important}.select-access-dialog-container .input-option-filter .mat-form-field-underline{bottom:8px!important}.select-access-dialog-container .slide-toggle{margin-bottom:8px}.select-access-dialog-container .confirm__button__groups.none-option{margin-top:85px}.select-access-dialog-container .btn-icon-clear{position:relative;padding:0 1rem}.select-access-dialog-container .btn-icon-clear .qms-btn-icon{margin-right:unset!important}.select-access-dialog-container .btn-icon-clear:after{position:absolute;content:\"\";left:0;top:0;height:100%;width:1px;background:rgba(0,0,0,.3)}.select-access-dialog-container .qms-paginator .mat-icon{display:flex;align-items:center;justify-content:center}.select-access-dialog-container .qms-paginator .mat-form-field-wrapper{padding-bottom:0}.select-access-dialog-container .qms-paginator .mat-paginator-container{min-height:40px}.select-access-dialog-container .qms-paginator .mat-paginator-container .qms-total-result{margin-bottom:2px;margin-right:12px;height:30px}.select-access-dialog-container .qms-paginator .mat-paginator-container .qms-total-result span{font-weight:600;font-size:13px;color:rgba(0,0,0,.8)}.select-access-dialog-container .qms-paginator .mat-paginator-container .qms-paginator-range-actions{margin-bottom:0;grid-column-gap:2px;-moz-column-gap:2px;column-gap:2px}.select-access-dialog-container .qms-paginator .mat-paginator-container .qms-paginator-range-actions>.qms-total-result{margin-bottom:0}.select-access-dialog-container .qms-paginator .mat-paginator-container .qms-paginator-range-actions>.qms-btn-icon{width:30px;height:30px;line-height:30px}.select-access-dialog-container .qms-paginator>.qms-btn-icon-wrapper{width:30px;height:30px;display:flex;justify-content:center;align-items:center}.select-access-dialog-container .qms-paginator .qms-paginator-page-size{margin-right:12px}.select-access-dialog-container .qms-paginator .qms-paginator-page-size>.qms-pagesize-label{display:none}.select-access-dialog-container .qms-paginator .qms-paginator-page-size>.qms-form-page-size .mat-form-field-flex{width:60px!important;height:30px;display:flex;align-items:center;padding:0 4px}.select-access-dialog-container .qms-paginator .qms-paginator-page-size>.qms-form-page-size .mat-form-field-flex .mat-form-field-infix{height:30px}.select-access-dialog-container .qms-paginator .mat-form-field.qms-form .mat-select-min-line,.select-access-dialog-container .qms-paginator .mat-form-field.qms-form mat-select-trigger{font-size:14px}.select-access-dialog-container .qms-paginator .mat-select-value{text-align:center}.select-access-dialog-container .mat-checkbox.checkbox-all .mat-checkbox-label{flex-direction:row!important;align-items:center!important;grid-column-gap:4px!important;-moz-column-gap:4px!important;column-gap:4px!important}"]
|
314
|
+
},] }
|
315
|
+
];
|
316
|
+
QMSSelectAccessDialogComponent.ctorParameters = () => [
|
317
|
+
{ type: MatDialogRef },
|
318
|
+
{ type: QMSSelectAccessData, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] },
|
319
|
+
{ type: TranslateLibraryService },
|
320
|
+
{ type: FormBuilder },
|
321
|
+
{ type: QMSSelectAccessGlobalService },
|
322
|
+
{ type: ChangeDetectorRef }
|
323
|
+
];
|
324
|
+
QMSSelectAccessDialogComponent.propDecorators = {
|
325
|
+
tree: [{ type: ViewChild, args: ['treeDepartment', {
|
326
|
+
read: SelectDepartmentTreeComponent
|
327
|
+
},] }]
|
328
|
+
};
|
329
|
+
export { ɵ0 };
|
330
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWFjY2Vzcy1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcW1zLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC1hY2Nlc3MtZGlhbG9nL3NlbGVjdC1hY2Nlc3MtZGlhbG9nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFxQixTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkosT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRSxPQUFPLEVBQTZCLDRCQUE0QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckcsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV6RSxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN0RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDM0csT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFHNUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7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QUFDLHVCQUF1QixDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoTyxDQUFDO0lBRUQsd0JBQXdCLENBQUMsS0FBb0I7UUFDM0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQ3hDLENBQUM7OztZQW5WRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDBCQUEwQjtnQkFDcEMsbW9qQkFBb0Q7Z0JBRXBELFVBQVUsRUFBRSxDQUFDLDRCQUE0QixDQUFDO2dCQUMxQyxTQUFTLEVBQUU7b0JBQ1Q7d0JBQ0UsT0FBTyxFQUFFLDRCQUE0Qjt3QkFDckMsUUFBUSxJQUVzQjtxQkFDL0I7aUJBQ0Y7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7O2FBQ3RDOzs7WUE3QlEsWUFBWTtZQWFaLG1CQUFtQix1QkFxRnZCLE1BQU0sU0FBQyxlQUFlO1lBNUZsQix1QkFBdUI7WUFSdkIsV0FBVztZQWdCWCw0QkFBNEI7WUFqQmIsaUJBQWlCOzs7bUJBOER0QyxTQUFTLFNBQUMsZ0JBQWdCLEVBQUU7b0JBQzNCLElBQUksRUFBRSw2QkFBNkI7aUJBQ3BDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRDaGVja2JveERlZmF1bHRPcHRpb25zLCBNQVRfQ0hFQ0tCT1hfREVGQVVMVF9PUFRJT05TIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IFBhZ2VFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XHJcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBSZXBsYXlTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBRTVNUcmVlTm9kZSB9IGZyb20gJy4uLy4uL2NvbW1vbi9tb2RlbHMvcW1zLXRyZWUtbm9kZS5tb2RlbCc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZUxpYnJhcnlTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3RyYW5zbGF0aW9uLXJlZ2lzdHJ5LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgUGFnaW5hdGlvblNpemUgfSBmcm9tICcuLi9xbXMtcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgU2VsZWN0RGVwYXJ0bWVudFRyZWVDb21wb25lbnQgfSBmcm9tICcuLi9zZWxlY3QtZGVwYXJ0bWVudC10cmVlL3NlbGVjdC1kZXBhcnRtZW50LXRyZWUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VsZWN0QWNjZXNzQW5pbWF0aW9uVHJpZ2dlciB9IGZyb20gJy4vY29tbW9uL2FuaW1hdGlvbic7XHJcbmltcG9ydCB7IE9wdGlvblNlbGVjdEFjY2Vzc0VudW0gfSBmcm9tICcuL2NvbW1vbi9vcHRpb24tc2VsZWN0LWFjY2Vzcy5lbnVtJztcclxuaW1wb3J0IHsgUU1TQWNjZXNzSXRlbSB9IGZyb20gJy4vbW9kZWwvYWNjZXNzLWl0ZW0ubW9kZWwnO1xyXG5pbXBvcnQgeyBPcHRpb25TZWxlY3RBY2Nlc3NNb2RlbCB9IGZyb20gJy4vbW9kZWwvb3B0aW9uLXNlbGVjdC1hY2Nlc3MubW9kZWwnO1xyXG5pbXBvcnQgeyBRTVNTZWxlY3RBY2Nlc3NEYXRhLCBRTVNTZWxlY3RBY2Nlc3NSZXN1bHQgfSBmcm9tICcuL21vZGVsL3NlbGVjdC1hY2Nlc3MtZGF0YSc7XHJcbmltcG9ydCB7IFFNU1NlbGVjdEFjY2Vzc0dsb2JhbFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2Uvc2VsZWN0LWFjY2Vzcy1nbG9iYWwuc2VydmljZSc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAncW1zLXNlbGVjdC1hY2Nlc3MtZGlhbG9nJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LWFjY2Vzcy1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdC1hY2Nlc3MtZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgYW5pbWF0aW9uczogW1NlbGVjdEFjY2Vzc0FuaW1hdGlvblRyaWdnZXJdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBNQVRfQ0hFQ0tCT1hfREVGQVVMVF9PUFRJT05TLFxyXG4gICAgICB1c2VWYWx1ZToge1xyXG4gICAgICAgIGNsaWNrQWN0aW9uOiAnbm9vcCdcclxuICAgICAgfSBhcyBNYXRDaGVja2JveERlZmF1bHRPcHRpb25zXHJcbiAgICB9XHJcbiAgXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBRTVNTZWxlY3RBY2Nlc3NEaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XHJcblxyXG4gIG5nVW5zdWJjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgTEFORzogYW55O1xyXG4gIG9wdGlvblNlbGVjdCA9IG5ldyBGb3JtQ29udHJvbCgpO1xyXG4gIE9QVElPTl9FTlVNID0gT3B0aW9uU2VsZWN0QWNjZXNzRW51bTtcclxuICBvcHRpb25zOiBPcHRpb25TZWxlY3RBY2Nlc3NNb2RlbFtdID0gW1xyXG4gICAge1xyXG4gICAgICBkaXNwbGF5TmFtZTogJ1BFUlNPTicsXHJcbiAgICAgIHR5cGU6IHRoaXMuT1BUSU9OX0VOVU0uUEVSU09OXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBkaXNwbGF5TmFtZTogJ1VTRVJfR1JPVVAnLFxyXG4gICAgICB0eXBlOiB0aGlzLk9QVElPTl9FTlVNLlVTRVJfR1JPVVBcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGRpc3BsYXlOYW1lOiAnREVQQVJUTUVOVCcsXHJcbiAgICAgIHR5cGU6IHRoaXMuT1BUSU9OX0VOVU0uREVQQVJUTUVOVFxyXG4gICAgfVxyXG4gIF07XHJcblxyXG4gIHB1YmxpYyBwZXJzb25Gb3JtOiBGb3JtR3JvdXA7XHJcbiAgcHVibGljIHVzZXJHcm91cEZvcm0gPSBuZXcgRm9ybUNvbnRyb2woJycpXHJcbiAgcHVibGljIGdldExvYWRpbmckID0gIG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIG9uU2VhcmNoUGVyc29uRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgb25TZWFyY2hQZXJzb25GcmVlVGV4dEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIG9uU2VhcmNoVXNlckdyb3VwRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgb25TZWFyY2hEZXBhcnRtZW50RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgdHJlZURlcGFydG1lbnQ6IFNlbGVjdERlcGFydG1lbnRUcmVlQ29tcG9uZW50XHJcbiAgQFZpZXdDaGlsZCgndHJlZURlcGFydG1lbnQnLCB7XHJcbiAgICByZWFkOiBTZWxlY3REZXBhcnRtZW50VHJlZUNvbXBvbmVudFxyXG4gIH0pIHNldCB0cmVlKGRhdGE6IFNlbGVjdERlcGFydG1lbnRUcmVlQ29tcG9uZW50KSB7XHJcbiAgICBpZiAoZGF0YSkge1xyXG4gICAgICB0aGlzLnRyZWVEZXBhcnRtZW50ID0gZGF0YTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKiBsaXN0IGZpbHRlcmVkIGJ5IHNlYXJjaCBrZXl3b3JkICovXHJcbiAgcHVibGljIGZpbHRlcmVkU2VhcmNoVGV4dEJveCA9IHtcclxuICAgIGRlcGFydG1lbnQ6IG5ldyBSZXBsYXlTdWJqZWN0PGFueT4oMSksXHJcbiAgICByb2xlOiBuZXcgUmVwbGF5U3ViamVjdDxhbnk+KDEpLFxyXG4gIH1cclxuICBwcml2YXRlIGdldFBlcnNvbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFFNU0FjY2Vzc0l0ZW1bXT4oW10pO1xyXG4gIGdldCBwZXJzb25GaWx0ZXJlZCgpIHtcclxuICAgIGNvbnN0IHBlcnNvbnMgPSB0aGlzLmdldFBlcnNvbiQudmFsdWU7XHJcbiAgICBjb25zdCBpZHMgPSB0aGlzLnJlc3VsdEFjY2Vzcy5wZXJzb25zLm1hcCh4ID0+IHguaWQpO1xyXG4gICAgcGVyc29ucy5mb3JFYWNoKHggPT4geC5zZWxlY3RlZCA9IGlkcy5pbmNsdWRlcyh4LmlkKSk7XHJcbiAgICByZXR1cm4gcGVyc29ucztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0VXNlckdyb3VwJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UU1TQWNjZXNzSXRlbVtdPihbXSk7XHJcbiAgZ2V0IHVzZXJHcm91cEZpbHRlcmVkKCkge1xyXG4gICAgY29uc3QgdXNlckdyb3VwcyA9IHRoaXMuZ2V0VXNlckdyb3VwJC52YWx1ZTtcclxuICAgIGNvbnN0IGlkcyA9IHRoaXMucmVzdWx0QWNjZXNzLnVzZXJHcm91cHMubWFwKHggPT4geC5pZCk7XHJcbiAgICB1c2VyR3JvdXBzLmZvckVhY2goeCA9PiB4LnNlbGVjdGVkID0gaWRzLmluY2x1ZGVzKHguaWQpKTtcclxuICAgIHJldHVybiB1c2VyR3JvdXBzO1xyXG4gIH1cclxuICBQQUdJTkFUSU9OX1NJWkUgPSBQYWdpbmF0aW9uU2l6ZTtcclxuICByZXN1bHRBY2Nlc3MgPSBuZXcgUU1TU2VsZWN0QWNjZXNzUmVzdWx0KCk7XHJcblxyXG4gIHByaXZhdGUgY3VycmVudFBhZ2luYXRpb25Db25maWc6IFBhZ2VFdmVudCA9IHtcclxuICAgIHBhZ2VJbmRleDogMCxcclxuICAgIHBhZ2VTaXplOiAxMCxcclxuICAgIGxlbmd0aDogMFxyXG4gIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxRTVNTZWxlY3RBY2Nlc3NEaWFsb2dDb21wb25lbnQ+LFxyXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhRGlhbG9nOiBRTVNTZWxlY3RBY2Nlc3NEYXRhLFxyXG4gICAgcHVibGljIHRyYW5zbGF0ZTogVHJhbnNsYXRlTGlicmFyeVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9mYjogRm9ybUJ1aWxkZXIsXHJcbiAgICBwcml2YXRlIHFtc1NlbGVjdEFjY2Vzc1NlcnZpY2U6IFFNU1NlbGVjdEFjY2Vzc0dsb2JhbFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNkUmVmIDogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgKSB7XHJcblxyXG4gICAgdGhpcy5yZXN1bHRBY2Nlc3MgPSBfLmNsb25lRGVlcCh0aGlzLmRhdGFEaWFsb2cuc2VsZWN0ZWREYXRhKTtcclxuXHJcbiAgICB0aGlzLm9wdGlvblNlbGVjdC52YWx1ZUNoYW5nZXNcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YmNyaWJlKSlcclxuICAgICAgLnN1YnNjcmliZShfID0+IHtcclxuICAgICAgICB0aGlzLnJlc2V0UGFnaW5nQ29uZmlnKCk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIC8vIEZpbHRlcmVkIE9wdGlvbiBzZWxlY3QgcGVyc29uXHJcbiAgICB0aGlzLmZpbHRlcmVkU2VhcmNoVGV4dEJveC5yb2xlLm5leHQodGhpcy5kYXRhRGlhbG9nLmFjY2Vzc1VzZXJHcm91cHMpO1xyXG4gICAgdGhpcy5maWx0ZXJlZFNlYXJjaFRleHRCb3guZGVwYXJ0bWVudC5uZXh0KHRoaXMuZGF0YURpYWxvZy5hY2Nlc3NEZXBhcnRtZW50cyk7XHJcblxyXG4gICAgdGhpcy51cGRhdGVQZXJzb25GaWx0ZXIodGhpcy5kYXRhRGlhbG9nLmFjY2Vzc1BlcnNvbnMpO1xyXG4gICAgdGhpcy51cGRhdGVVc2VyR3JvdXBGaWx0ZXIodGhpcy5kYXRhRGlhbG9nLmFjY2Vzc1VzZXJHcm91cHMpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNsYXRlLmdldExhbmd1YWdlU3ViamVjdCQucGlwZSgpLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgIGlmIChyZXMpIHtcclxuICAgICAgICB0aGlzLkxBTkcgPSB0aGlzLnRyYW5zbGF0ZS5nZXRPYmplY3RMYW5nKHJlcyk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuYnVpbGRQZXJzb25Gb3JtKCk7XHJcblxyXG4gICAgLy8gRmlsdGVyIHBlcnNvbiBieSByb2xlc1xyXG4gICAgdGhpcy5wZXJzb25Gb3JtLmdldCgncm9sZUZpbHRlcicpLnZhbHVlQ2hhbmdlc1xyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3ViY3JpYmUpLCBkZWJvdW5jZVRpbWUoNTAwKSlcclxuICAgICAgLnN1YnNjcmliZShrZXl3b3JkID0+IHtcclxuICAgICAgICBpZiAoIXRoaXMuZGF0YURpYWxvZy5hY2Nlc3NVc2VyR3JvdXBzKSB7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICgha2V5d29yZCkge1xyXG4gICAgICAgICAgdGhpcy5maWx0ZXJlZFNlYXJjaFRleHRCb3gucm9sZS5uZXh0KHRoaXMuZGF0YURpYWxvZy5hY2Nlc3NVc2VyR3JvdXBzKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5maWx0ZXJlZFNlYXJjaFRleHRCb3gucm9sZS5uZXh0KHRoaXMuZGF0YURpYWxvZy5hY2Nlc3NVc2VyR3JvdXBzLmZpbHRlcihyb2xlID0+IHJvbGUubmFtZS50b0xvY2FsZUxvd2VyQ2FzZSgpLmluY2x1ZGVzKGtleXdvcmQudG9Mb2NhbGVMb3dlckNhc2UoKSkpKTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgLy8gRmlsdGVyIHBlcnNvbiBieSBkZXBhcnRtZW50c1xyXG4gICAgdGhpcy5wZXJzb25Gb3JtLmdldCgnZGVwYXJ0bWVudEZpbHRlcicpLnZhbHVlQ2hhbmdlc1xyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3ViY3JpYmUpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICBpZiAoIXRoaXMuZGF0YURpYWxvZy5hY2Nlc3NEZXBhcnRtZW50cykge1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgc2VhcmNoID0gdGhpcy5wZXJzb25Gb3JtLmdldCgnZGVwYXJ0bWVudEZpbHRlcicpLnZhbHVlO1xyXG4gICAgICAgIGlmICghc2VhcmNoKSB7XHJcbiAgICAgICAgICB0aGlzLmZpbHRlcmVkU2VhcmNoVGV4dEJveC5kZXBhcnRtZW50Lm5leHQodGhpcy5kYXRhRGlhbG9nLmFjY2Vzc0RlcGFydG1lbnRzLnNsaWNlKCkpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBzZWFyY2ggPSBzZWFyY2gudG9Mb3dlckNhc2UoKTtcclxuICAgICAgICAgIHRoaXMuZmlsdGVyZWRTZWFyY2hUZXh0Qm94LmRlcGFydG1lbnQubmV4dChcclxuICAgICAgICAgICAgdGhpcy5kYXRhRGlhbG9nLmFjY2Vzc0RlcGFydG1lbnRzLmZpbHRlcih4ID0+IHgubmFtZS50b0xvd2VyQ2FzZSgpLmluZGV4T2Yoc2VhcmNoKSA+IC0xKVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgdGhpcy5nZXRMb2FkaW5nJC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJjcmliZSkpXHJcbiAgICAgIC5zdWJzY3JpYmUocmVzcG9uc2UgPT57XHJcbiAgICAgICAgaWYocmVzcG9uc2Upe1xyXG4gICAgICAgICAgdGhpcy5wZXJzb25Gb3JtLmRpc2FibGUoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgIHRoaXMucGVyc29uRm9ybS5lbmFibGUoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLm5nVW5zdWJjcmliZS5uZXh0KCk7XHJcbiAgICB0aGlzLm5nVW5zdWJjcmliZS5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZFBlcnNvbkZvcm0oKSB7XHJcbiAgICB0aGlzLnBlcnNvbkZvcm0gPSB0aGlzLl9mYi5ncm91cCh7XHJcbiAgICAgIHJvbGVJZDogbmV3IEZvcm1Db250cm9sKCcnKSxcclxuICAgICAgZGVwYXJ0bWVudElkOiBuZXcgRm9ybUNvbnRyb2woKSxcclxuICAgICAgZGVwYXJ0bWVudEZpbHRlcjogbmV3IEZvcm1Db250cm9sKCcnKSxcclxuICAgICAgcmVjdXJzaXZlOiBuZXcgRm9ybUNvbnRyb2woe3ZhbHVlOiB0cnVlLCBkaXNhYmxlZDogdHJ1ZX0pLFxyXG4gICAgICBrZXl3b3JkOiBuZXcgRm9ybUNvbnRyb2woJycpLFxyXG4gICAgICByb2xlRmlsdGVyOiBuZXcgRm9ybUNvbnRyb2woJycpLFxyXG4gICAgICBleGNsdWRlZFF1aXREZXBhcnRtZW50SWQ6IHRydWVcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZXNldFBhZ2luZ0NvbmZpZygpe1xyXG4gICAgdGhpcy5jdXJyZW50UGFnaW5hdGlvbkNvbmZpZyA9IHtcclxuICAgICAgcGFnZUluZGV4OiAwLFxyXG4gICAgICBwYWdlU2l6ZTogMTAsXHJcbiAgICAgIGxlbmd0aDogMFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIG9uRmlsdGVyUGVyc29uKCkge1xyXG4gICAgdGhpcy5vblNlYXJjaFBlcnNvbkV2ZW50LmVtaXQodGhpcy5wZXJzb25Gb3JtLnZhbHVlKTtcclxuICAgIHRoaXMuZ2V0TG9hZGluZyQubmV4dCh0cnVlKTtcclxuICB9XHJcblxyXG4gIG9uU2VhcmNoUGVyc29uRnJlZVRleHQoKSB7XHJcbiAgICB0aGlzLmdldExvYWRpbmckLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLm9uU2VhcmNoUGVyc29uRnJlZVRleHRFdmVudC5lbWl0KHRoaXMucGVyc29uRm9ybS5nZXQoJ2tleXdvcmQnKS52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBvbkZpbHRlclVzZXJHcm91cCgpIHtcclxuICAgIHRoaXMub25TZWFyY2hVc2VyR3JvdXBFdmVudC5lbWl0KHRoaXMudXNlckdyb3VwRm9ybS52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBvblNlbGVjdFBlcnNvbihlbXBsb3llZTogUU1TQWNjZXNzSXRlbSkge1xyXG4gICAgZW1wbG95ZWUuc2VsZWN0ZWQgPSAhZW1wbG95ZWUuc2VsZWN0ZWQ7XHJcbiAgICBlbXBsb3llZS5zZWxlY3RlZCA/IHRoaXMucmVzdWx0QWNjZXNzLnBlcnNvbnMucHVzaChlbXBsb3llZSkgOiB0aGlzLnJlc3VsdEFjY2Vzcy5wZXJzb25zID0gdGhpcy5yZXN1bHRBY2Nlc3MucGVyc29ucy5maWx0ZXIoaXRlbSA9PiBpdGVtLmlkICE9PSBlbXBsb3llZS5pZCk7XHJcbiAgfVxyXG5cclxuICBvblNlbGVjdFVzZXJHcm91cCh1c2VyR3JvdXA6IFFNU0FjY2Vzc0l0ZW0pIHtcclxuICAgIHVzZXJHcm91cC5zZWxlY3RlZCA9ICF1c2VyR3JvdXAuc2VsZWN0ZWQ7XHJcbiAgICB1c2VyR3JvdXAuc2VsZWN0ZWQgPyB0aGlzLnJlc3VsdEFjY2Vzcy51c2VyR3JvdXBzLnB1c2godXNlckdyb3VwKSA6IHRoaXMucmVzdWx0QWNjZXNzLnVzZXJHcm91cHMgPSB0aGlzLnJlc3VsdEFjY2Vzcy51c2VyR3JvdXBzLmZpbHRlcihpdGVtID0+IGl0ZW0uaWQgIT09IHVzZXJHcm91cC5pZCk7XHJcbiAgfVxyXG5cclxuICBvblJlbW92ZUNoaXAodHlwZTogT3B0aW9uU2VsZWN0QWNjZXNzRW51bSwgaW5kZXgpIHtcclxuICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICBjYXNlIHRoaXMuT1BUSU9OX0VOVU0uUEVSU09OOlxyXG4gICAgICAgIHRoaXMucmVzdWx0QWNjZXNzLnBlcnNvbnMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICBpZiAodGhpcy5wZXJzb25GaWx0ZXJlZFtpbmRleF0pIHtcclxuICAgICAgICAgIHRoaXMucGVyc29uRmlsdGVyZWRbaW5kZXhdLnNlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIHRoaXMuT1BUSU9OX0VOVU0uVVNFUl9HUk9VUDpcclxuICAgICAgICB0aGlzLnJlc3VsdEFjY2Vzcy51c2VyR3JvdXBzLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICAgICAgaWYgKHRoaXMudXNlckdyb3VwRmlsdGVyZWRbaW5kZXhdKSB7XHJcbiAgICAgICAgICB0aGlzLnVzZXJHcm91cEZpbHRlcmVkW2luZGV4XS5zZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblNlbGVjdGlvblR5cGVDaGFuZ2UoZXZlbnQpIHtcclxuICAgIHRoaXMuZGlhbG9nUmVmLnVwZGF0ZVNpemUoJzczMnB4JylcclxuICB9XHJcblxyXG4gIHNldEZvcm1Db250cm9sVmFsdWUoZm9ybUNvbnRyb2xOYW1lczogc3RyaW5nW10sIHZhbHVlcykge1xyXG4gICAgZm9ybUNvbnRyb2xOYW1lcy5mb3JFYWNoKChjb250cm9sTmFtZSwgX2luZGV4KSA9PiB7XHJcbiAgICAgIHRoaXMucGVyc29uRm9ybS5nZXQoY29udHJvbE5hbWUpPy5zZXRWYWx1ZSh2YWx1ZXNbX2luZGV4XSk7XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgZ2V0UGVyc29uU2VsZWN0ZWQoKSB7XHJcblxyXG4gIH1cclxuXHJcbiAgaXNDaGVja0FsbCh0eXBlOiBPcHRpb25TZWxlY3RBY2Nlc3NFbnVtKSB7XHJcbiAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgY2FzZSB0aGlzLk9QVElPTl9FTlVNLlBFUlNPTjpcclxuICAgICAgICByZXR1cm4gdGhpcy5wZXJzb25GaWx0ZXJlZC5sZW5ndGggJiYgdGhpcy5nZXRQYWdpbmcodGhpcy5wZXJzb25GaWx0ZXJlZCkuZXZlcnkoeCA9PiB4LnNlbGVjdGVkKTtcclxuICAgICAgY2FzZSB0aGlzLk9QVElPTl9FTlVNLlVTRVJfR1JPVVA6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudXNlckdyb3VwRmlsdGVyZWQubGVuZ3RoICYmIHRoaXMuZ2V0UGFnaW5nKHRoaXMudXNlckdyb3VwRmlsdGVyZWQpLmV2ZXJ5KHggPT4geC5zZWxlY3RlZCk7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaXNJbmRldGVybWluYXRlKHR5cGU6IE9wdGlvblNlbGVjdEFjY2Vzc0VudW0pIHtcclxuICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICBjYXNlIHRoaXMuT1BUSU9OX0VOVU0uUEVSU09OOlxyXG4gICAgICAgIHJldHVybiAhdGhpcy5pc0NoZWNrQWxsKHR5cGUpICYmIHRoaXMuZ2V0UGFnaW5nKHRoaXMucGVyc29uRmlsdGVyZWQpPy5zb21lKHggPT4geC5zZWxlY3RlZCk7XHJcbiAgICAgIGNhc2UgdGhpcy5PUFRJT05fRU5VTS5VU0VSX0dST1VQOlxyXG4gICAgICAgIHJldHVybiAhdGhpcy5pc0NoZWNrQWxsKHR5cGUpICYmIHRoaXMuZ2V0UGFnaW5nKHRoaXMudXNlckdyb3VwRmlsdGVyZWQpPy5zb21lKHggPT4geC5zZWxlY3RlZCk7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25DaGVja0FsbCh0eXBlOiBPcHRpb25TZWxlY3RBY2Nlc3NFbnVtLCAkZXZlbnQpIHtcclxuICAgICRldmVudC5jaGVja2VkID0gISRldmVudC5jaGVja2VkO1xyXG4gICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgIGNhc2UgdGhpcy5PUFRJT05fRU5VTS5QRVJTT046IHtcclxuICAgICAgICBjb25zdCB1c2VyUGFnaW5nID0gdGhpcy5nZXRQYWdpbmcodGhpcy5wZXJzb25GaWx0ZXJlZCkgfHwgW107XHJcbiAgICAgICAgaWYoIXVzZXJQYWdpbmcubGVuZ3RoKSByZXR1cm47XHJcbiAgICAgICAgdXNlclBhZ2luZy5mb3JFYWNoKHggPT4geC5zZWxlY3RlZCA9ICRldmVudC5jaGVja2VkKTtcclxuICAgICAgICBjb25zdCBpZEZpbHRlcmVkID0gdXNlclBhZ2luZy5tYXAoeCA9PiB4LmlkKTtcclxuICAgICAgICBpZiAoJGV2ZW50LmNoZWNrZWQpIHtcclxuICAgICAgICAgIGNvbnN0IGlkUGVyc29uU2VsZWN0ZWQgPSB0aGlzLnJlc3VsdEFjY2Vzcy5wZXJzb25zLm1hcCh4ID0+IHguaWQpO1xyXG4gICAgICAgICAgdGhpcy5yZXN1bHRBY2Nlc3MucGVyc29ucyA9IFsuLi50aGlzLnJlc3VsdEFjY2Vzcy5wZXJzb25zLCAuLi51c2VyUGFnaW5nLmZpbHRlcih4ID0+ICFpZFBlcnNvblNlbGVjdGVkLmluY2x1ZGVzKHguaWQpKV07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5yZXN1bHRBY2Nlc3MucGVyc29ucyA9IHRoaXMucmVzdWx0QWNjZXNzLnBlcnNvbnMuZmlsdGVyKHggPT4gIWlkRmlsdGVyZWQuaW5jbHVkZXMoeC5pZCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgICBjYXNlIHRoaXMuT1BUSU9OX0VOVU0uVVNFUl9HUk9VUDoge1xyXG4gICAgICAgIGNvbnN0IHVzZXJHcm91cFBhZ2luZyA9IHRoaXMuZ2V0UGFnaW5nKHRoaXMudXNlckdyb3VwRmlsdGVyZWQpO1xyXG4gICAgICAgIHVzZXJHcm91cFBhZ2luZy5mb3JFYWNoKHggPT4geC5zZWxlY3RlZCA9ICRldmVudC5jaGVja2VkKTtcclxuICAgICAgICBjb25zdCBpZEZpbHRlcmVkID0gdXNlckdyb3VwUGFnaW5nLm1hcCh4ID0+IHguaWQpO1xyXG4gICAgICAgIGlmICgkZXZlbnQuY2hlY2tlZCkge1xyXG4gICAgICAgICAgY29uc3QgaWRTZWxlY3RlZCA9IHRoaXMucmVzdWx0QWNjZXNzLnVzZXJHcm91cHMubWFwKHggPT4geC5pZCk7XHJcbiAgICAgICAgICB0aGlzLnJlc3VsdEFjY2Vzcy51c2VyR3JvdXBzID0gWy4uLnRoaXMucmVzdWx0QWNjZXNzLnVzZXJHcm91cHMsIC4uLnVzZXJHcm91cFBhZ2luZy5maWx0ZXIoeCA9PiAhaWRTZWxlY3RlZC5pbmNsdWRlcyh4LmlkKSldO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIHRoaXMucmVzdWx0QWNjZXNzLnVzZXJHcm91cHMgPSB0aGlzLnJlc3VsdEFjY2Vzcy51c2VyR3JvdXBzLmZpbHRlcih4ID0+ICFpZEZpbHRlcmVkLmluY2x1ZGVzKHguaWQpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblNjb2xsVG9Ob2RlVHJlZURlcGFydG1lbnQobm9kZTogUU1TVHJlZU5vZGUpIHtcclxuICAgIHRoaXMub3B0aW9uU2VsZWN0LnZhbHVlID09PSB0aGlzLk9QVElPTl9FTlVNLkRFUEFSVE1FTlQgJiYgdGhpcy50cmVlRGVwYXJ0bWVudC5zY3JvbGxUb05vZGUobm9kZS5pZClcclxuICB9XHJcblxyXG4gIG9uUmVtb3ZlVHJlZU5vZGVEZXBhcnRtZW50KG5vZGU6IFFNU1RyZWVOb2RlKSB7XHJcbiAgICBpZiAodGhpcy5vcHRpb25TZWxlY3QudmFsdWUgPT09IHRoaXMuT1BUSU9OX0VOVU0uREVQQVJUTUVOVCkge1xyXG4gICAgICB0aGlzLnRyZWVEZXBhcnRtZW50Lm9uUmVtb3ZlTm9kZShub2RlLmlkKTtcclxuICAgIH1cclxuICAgIHRoaXMucmVzdWx0QWNjZXNzLmRlcGFydG1lbnRzID0gdGhpcy5yZXN1bHRBY2Nlc3MuZGVwYXJ0bWVudHMuZmlsdGVyKGl0ZW0gPT4gaXRlbS5pZCAhPT0gbm9kZS5pZCk7XHJcbiAgfVxyXG5cclxuICB0cmFja0J5Rm4oaW5kZXgsIGl0ZW0pIHtcclxuICAgIHJldHVybiBpbmRleDtcclxuICB9XHJcblxyXG4gIHVwZGF0ZVBlcnNvbkZpbHRlcihkYXRhOiBRTVNBY2Nlc3NJdGVtW10pIHtcclxuICAgIHRoaXMucmVzZXRQYWdpbmdDb25maWcoKTtcclxuICAgIHRoaXMuZ2V0UGVyc29uJC5uZXh0KGRhdGEpO1xyXG4gICAgdGhpcy5nZXRMb2FkaW5nJC5uZXh0KGZhbHNlKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZVVzZXJHcm91cEZpbHRlcihkYXRhOiBRTVNBY2Nlc3NJdGVtW10pIHtcclxuICAgIHRoaXMucmVzZXRQYWdpbmdDb25maWcoKTtcclxuICAgIHRoaXMuZ2V0VXNlckdyb3VwJC5uZXh0KGRhdGEpO1xyXG4gICAgdGhpcy5nZXRMb2FkaW5nJC5uZXh0KGZhbHNlKTtcclxuICB9XHJcblxyXG4gIG9uUGFnaW5nRXZlbnQodmFsOiBQYWdlRXZlbnQpe1xyXG4gICAgdGhpcy5jdXJyZW50UGFnaW5hdGlvbkNvbmZpZyA9IHZhbDtcclxuICB9XHJcblxyXG4gIGdldFBhZ2luZyhzb3VyY2U6IGFueVtdKXtcclxuICAgIGlmKCFzb3VyY2UubGVuZ3RoKSByZXR1cm4gW107XHJcbiAgICByZXR1cm4gc291cmNlLnNsaWNlKHRoaXMuY3VycmVudFBhZ2luYXRpb25Db25maWcucGFnZUluZGV4ICogdGhpcy5jdXJyZW50UGFnaW5hdGlvbkNvbmZpZy5wYWdlU2l6ZSwgKHRoaXMuY3VycmVudFBhZ2luYXRpb25Db25maWcucGFnZUluZGV4ICogdGhpcy5jdXJyZW50UGFnaW5hdGlvbkNvbmZpZy5wYWdlU2l6ZSkgKyB0aGlzLmN1cnJlbnRQYWdpbmF0aW9uQ29uZmlnLnBhZ2VTaXplKTtcclxuICB9XHJcblxyXG4gIG9uUmVzdWx0RGVwYXJ0bWVudENoYW5nZShldmVudDogUU1TVHJlZU5vZGVbXSl7XHJcbiAgICB0aGlzLnJlc3VsdEFjY2Vzcy5kZXBhcnRtZW50cyA9IGV2ZW50O1xyXG4gIH1cclxufVxyXG4iXX0=
|
@@ -0,0 +1,60 @@
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
2
|
+
import { NgModule } from '@angular/core';
|
3
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
4
|
+
import { MatButtonModule } from '@angular/material/button';
|
5
|
+
import { MatCheckboxModule } from '@angular/material/checkbox';
|
6
|
+
import { MatChipsModule } from '@angular/material/chips';
|
7
|
+
import { MatDialogModule } from '@angular/material/dialog';
|
8
|
+
import { MatDividerModule } from '@angular/material/divider';
|
9
|
+
import { MatExpansionModule } from '@angular/material/expansion';
|
10
|
+
import { MatFormFieldModule } from '@angular/material/form-field';
|
11
|
+
import { MatIconModule } from '@angular/material/icon';
|
12
|
+
import { MatInputModule } from '@angular/material/input';
|
13
|
+
import { MatPaginatorModule } from '@angular/material/paginator';
|
14
|
+
import { MatSelectModule } from '@angular/material/select';
|
15
|
+
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
|
16
|
+
import { NgxMatSelectSearchModule } from 'ngx-mat-select-search';
|
17
|
+
import { QmsAngularModule } from '../../qms-angular.module';
|
18
|
+
import { QMSButtonModule } from '../button/button.module';
|
19
|
+
import { QMSListModule } from '../list/list.module';
|
20
|
+
import { QmsPaginatorModule } from '../qms-paginator';
|
21
|
+
import { QMSSelectDepartmentTreeModule } from '../select-department-tree/select-department-tree.module';
|
22
|
+
import { QMSSelectDepartmentModule } from '../select-department/select-department.module';
|
23
|
+
import { QMSSelectAccessDialogComponent } from './select-access-dialog.component';
|
24
|
+
export class QMSSelectAccessDialogModule {
|
25
|
+
}
|
26
|
+
QMSSelectAccessDialogModule.decorators = [
|
27
|
+
{ type: NgModule, args: [{
|
28
|
+
declarations: [
|
29
|
+
QMSSelectAccessDialogComponent
|
30
|
+
],
|
31
|
+
imports: [
|
32
|
+
CommonModule,
|
33
|
+
QMSSelectDepartmentModule,
|
34
|
+
MatFormFieldModule,
|
35
|
+
MatInputModule,
|
36
|
+
MatButtonModule,
|
37
|
+
MatCheckboxModule,
|
38
|
+
QmsAngularModule,
|
39
|
+
MatSelectModule,
|
40
|
+
NgxMatSelectSearchModule,
|
41
|
+
FormsModule,
|
42
|
+
ReactiveFormsModule,
|
43
|
+
MatIconModule,
|
44
|
+
MatDialogModule,
|
45
|
+
QMSButtonModule,
|
46
|
+
MatChipsModule,
|
47
|
+
MatDividerModule,
|
48
|
+
MatExpansionModule,
|
49
|
+
QMSSelectDepartmentTreeModule,
|
50
|
+
MatSlideToggleModule,
|
51
|
+
QMSListModule,
|
52
|
+
QmsPaginatorModule,
|
53
|
+
MatPaginatorModule
|
54
|
+
],
|
55
|
+
exports: [
|
56
|
+
QMSSelectAccessDialogComponent
|
57
|
+
]
|
58
|
+
},] }
|
59
|
+
];
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWFjY2Vzcy1kaWFsb2cubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcW1zLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC1hY2Nlc3MtZGlhbG9nL3NlbGVjdC1hY2Nlc3MtZGlhbG9nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUN4RyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUMxRixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQXFDbEYsTUFBTSxPQUFPLDJCQUEyQjs7O1lBbEN2QyxRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFO29CQUNaLDhCQUE4QjtpQkFDL0I7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1oseUJBQXlCO29CQUN6QixrQkFBa0I7b0JBQ2xCLGNBQWM7b0JBQ2QsZUFBZTtvQkFDZixpQkFBaUI7b0JBQ2pCLGdCQUFnQjtvQkFDaEIsZUFBZTtvQkFDZix3QkFBd0I7b0JBQ3hCLFdBQVc7b0JBQ1gsbUJBQW1CO29CQUNuQixhQUFhO29CQUNiLGVBQWU7b0JBQ2YsZUFBZTtvQkFDZixjQUFjO29CQUNkLGdCQUFnQjtvQkFDaEIsa0JBQWtCO29CQUNsQiw2QkFBNkI7b0JBQzdCLG9CQUFvQjtvQkFDcEIsYUFBYTtvQkFDYixrQkFBa0I7b0JBQ2xCLGtCQUFrQjtpQkFDbkI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLDhCQUE4QjtpQkFDL0I7YUFFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcclxuaW1wb3J0IHsgTWF0Q2hpcHNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcyc7XHJcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcclxuaW1wb3J0IHsgTWF0RXhwYW5zaW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZXhwYW5zaW9uJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IE1hdFBhZ2luYXRvck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XHJcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XHJcbmltcG9ydCB7IE1hdFNsaWRlVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGUtdG9nZ2xlJztcclxuaW1wb3J0IHsgTmd4TWF0U2VsZWN0U2VhcmNoTW9kdWxlIH0gZnJvbSAnbmd4LW1hdC1zZWxlY3Qtc2VhcmNoJztcclxuaW1wb3J0IHsgUW1zQW5ndWxhck1vZHVsZSB9IGZyb20gJy4uLy4uL3Ftcy1hbmd1bGFyLm1vZHVsZSc7XHJcbmltcG9ydCB7IFFNU0J1dHRvbk1vZHVsZSB9IGZyb20gJy4uL2J1dHRvbi9idXR0b24ubW9kdWxlJztcclxuaW1wb3J0IHsgUU1TTGlzdE1vZHVsZSB9IGZyb20gJy4uL2xpc3QvbGlzdC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBRbXNQYWdpbmF0b3JNb2R1bGUgfSBmcm9tICcuLi9xbXMtcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgUU1TU2VsZWN0RGVwYXJ0bWVudFRyZWVNb2R1bGUgfSBmcm9tICcuLi9zZWxlY3QtZGVwYXJ0bWVudC10cmVlL3NlbGVjdC1kZXBhcnRtZW50LXRyZWUubW9kdWxlJztcclxuaW1wb3J0IHsgUU1TU2VsZWN0RGVwYXJ0bWVudE1vZHVsZSB9IGZyb20gJy4uL3NlbGVjdC1kZXBhcnRtZW50L3NlbGVjdC1kZXBhcnRtZW50Lm1vZHVsZSc7XHJcbmltcG9ydCB7IFFNU1NlbGVjdEFjY2Vzc0RpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0LWFjY2Vzcy1kaWFsb2cuY29tcG9uZW50JztcclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgUU1TU2VsZWN0QWNjZXNzRGlhbG9nQ29tcG9uZW50XHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBRTVNTZWxlY3REZXBhcnRtZW50TW9kdWxlLFxyXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxyXG4gICAgTWF0SW5wdXRNb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBNYXRDaGVja2JveE1vZHVsZSxcclxuICAgIFFtc0FuZ3VsYXJNb2R1bGUsXHJcbiAgICBNYXRTZWxlY3RNb2R1bGUsXHJcbiAgICBOZ3hNYXRTZWxlY3RTZWFyY2hNb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0RGlhbG9nTW9kdWxlLFxyXG4gICAgUU1TQnV0dG9uTW9kdWxlLFxyXG4gICAgTWF0Q2hpcHNNb2R1bGUsXHJcbiAgICBNYXREaXZpZGVyTW9kdWxlLFxyXG4gICAgTWF0RXhwYW5zaW9uTW9kdWxlLFxyXG4gICAgUU1TU2VsZWN0RGVwYXJ0bWVudFRyZWVNb2R1bGUsXHJcbiAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcclxuICAgIFFNU0xpc3RNb2R1bGUsXHJcbiAgICBRbXNQYWdpbmF0b3JNb2R1bGUsXHJcbiAgICBNYXRQYWdpbmF0b3JNb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFFNU1NlbGVjdEFjY2Vzc0RpYWxvZ0NvbXBvbmVudFxyXG4gIF1cclxuXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgUU1TU2VsZWN0QWNjZXNzRGlhbG9nTW9kdWxlIHsgfVxyXG4iXX0=
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import { Injectable } from "@angular/core";
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
export class QMSSelectAccessGlobalService {
|
4
|
+
}
|
5
|
+
QMSSelectAccessGlobalService.ɵprov = i0.ɵɵdefineInjectable({ factory: function QMSSelectAccessGlobalService_Factory() { return new QMSSelectAccessGlobalService(); }, token: QMSSelectAccessGlobalService, providedIn: "root" });
|
6
|
+
QMSSelectAccessGlobalService.decorators = [
|
7
|
+
{ type: Injectable, args: [{
|
8
|
+
providedIn: 'root'
|
9
|
+
},] }
|
10
|
+
];
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWFjY2Vzcy1nbG9iYWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Ftcy1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3QtYWNjZXNzLWRpYWxvZy9zZXJ2aWNlL3NlbGVjdC1hY2Nlc3MtZ2xvYmFsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLDRCQUE0Qjs7OztZQUh4QyxVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFFNU1NlbGVjdEFjY2Vzc0dsb2JhbFNlcnZpY2Uge1xyXG5cclxufVxyXG4iXX0=
|
@@ -0,0 +1,30 @@
|
|
1
|
+
import { animate, style, transition, trigger } from "@angular/animations";
|
2
|
+
export const SelectDepartmentAnimationTrigger = [
|
3
|
+
trigger('inOutAnimation', [
|
4
|
+
transition(':enter', [
|
5
|
+
style({ opacity: 0 }),
|
6
|
+
animate('0.3s ease-out', style({ opacity: 1 }))
|
7
|
+
]),
|
8
|
+
]),
|
9
|
+
trigger('rotateAnimation', [
|
10
|
+
transition(':enter', [
|
11
|
+
style({ transform: 'scale(0) rotate(-180deg)' }),
|
12
|
+
animate('0.3s ease-out', style({ transform: 'scale(1) rotate(0)' }))
|
13
|
+
]),
|
14
|
+
transition(':leave', [
|
15
|
+
style({ transform: 'scale(1) rotate(0)' }),
|
16
|
+
animate('0.3s ease-in', style({ transform: 'scale(0) rotate(-180deg) ' }))
|
17
|
+
])
|
18
|
+
]),
|
19
|
+
trigger('heightAnimation', [
|
20
|
+
transition(':enter', [
|
21
|
+
style({ minHeight: 0, maxHeight: 0 }),
|
22
|
+
animate('0.1s ease-in', style({ maxHeight: '175px', minHeight: '40px' }))
|
23
|
+
]),
|
24
|
+
transition(':leave', [
|
25
|
+
style({ maxHeight: '175px', minHeight: '40px', opacity: 1 }),
|
26
|
+
animate('0.1s ease-out', style({ minHeight: 0, maxHeight: 0, opacity: 0 }))
|
27
|
+
])
|
28
|
+
])
|
29
|
+
];
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcW1zLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC1kZXBhcnRtZW50L2NvbW1vbi9hbmltYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUl4RixNQUFNLENBQUMsTUFBTSxnQ0FBZ0MsR0FBRztJQUM5QyxPQUFPLENBQ0wsZ0JBQWdCLEVBQ2hCO1FBQ0UsVUFBVSxDQUNSLFFBQVEsRUFDUjtZQUNFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNyQixPQUFPLENBQUMsZUFBZSxFQUNyQixLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUN6QixDQUNGO0tBQ0YsQ0FDRjtJQUNELE9BQU8sQ0FDTCxpQkFBaUIsRUFDakI7UUFDRSxVQUFVLENBQ1IsUUFBUSxFQUNSO1lBQ0UsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLDJCQUEyQixFQUFFLENBQUM7WUFDakQsT0FBTyxDQUFDLGVBQWUsRUFDckIsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFLENBQUMsQ0FBQztTQUMvQyxDQUNGO1FBQ0QsVUFBVSxDQUNSLFFBQVEsRUFDUjtZQUNFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxvQkFBb0IsRUFBRSxDQUFDO1lBQzFDLE9BQU8sQ0FBQyxjQUFjLEVBQ3BCLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSwyQkFBMkIsRUFBRSxDQUFDLENBQUM7U0FDckQsQ0FDRjtLQUNGLENBQ0Y7SUFDRCxPQUFPLENBQ0wsaUJBQWlCLEVBQ2pCO1FBQ0UsVUFBVSxDQUNSLFFBQVEsRUFDUjtZQUNFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ3JDLE9BQU8sQ0FBQyxjQUFjLEVBQ3BCLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7U0FDcEQsQ0FDRjtRQUNELFVBQVUsQ0FDUixRQUFRLEVBQ1I7WUFDRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQzNELE9BQU8sQ0FBQyxlQUFlLEVBQ3JCLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNyRCxDQUNGO0tBQ0YsQ0FDRjtDQUNGLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBncm91cCwgcXVlcnksIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSBcIkBhbmd1bGFyL2FuaW1hdGlvbnNcIjtcclxuXHJcblxyXG5cclxuZXhwb3J0IGNvbnN0IFNlbGVjdERlcGFydG1lbnRBbmltYXRpb25UcmlnZ2VyID0gW1xyXG4gIHRyaWdnZXIoXHJcbiAgICAnaW5PdXRBbmltYXRpb24nLFxyXG4gICAgW1xyXG4gICAgICB0cmFuc2l0aW9uKFxyXG4gICAgICAgICc6ZW50ZXInLFxyXG4gICAgICAgIFtcclxuICAgICAgICAgIHN0eWxlKHsgb3BhY2l0eTogMCB9KSxcclxuICAgICAgICAgIGFuaW1hdGUoJzAuM3MgZWFzZS1vdXQnLFxyXG4gICAgICAgICAgICBzdHlsZSh7IG9wYWNpdHk6IDEgfSkpXHJcbiAgICAgICAgXVxyXG4gICAgICApLFxyXG4gICAgXSxcclxuICApLFxyXG4gIHRyaWdnZXIoXHJcbiAgICAncm90YXRlQW5pbWF0aW9uJyxcclxuICAgIFtcclxuICAgICAgdHJhbnNpdGlvbihcclxuICAgICAgICAnOmVudGVyJyxcclxuICAgICAgICBbXHJcbiAgICAgICAgICBzdHlsZSh7IHRyYW5zZm9ybTogJ3NjYWxlKDApICByb3RhdGUoLTE4MGRlZyknIH0pLFxyXG4gICAgICAgICAgYW5pbWF0ZSgnMC4zcyBlYXNlLW91dCcsXHJcbiAgICAgICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAnc2NhbGUoMSkgIHJvdGF0ZSgwKScgfSkpXHJcbiAgICAgICAgXVxyXG4gICAgICApLFxyXG4gICAgICB0cmFuc2l0aW9uKFxyXG4gICAgICAgICc6bGVhdmUnLFxyXG4gICAgICAgIFtcclxuICAgICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAnc2NhbGUoMSkgcm90YXRlKDApJyB9KSxcclxuICAgICAgICAgIGFuaW1hdGUoJzAuM3MgZWFzZS1pbicsXHJcbiAgICAgICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAnc2NhbGUoMCkgcm90YXRlKC0xODBkZWcpICcgfSkpXHJcbiAgICAgICAgXVxyXG4gICAgICApXHJcbiAgICBdLFxyXG4gICksXHJcbiAgdHJpZ2dlcihcclxuICAgICdoZWlnaHRBbmltYXRpb24nLFxyXG4gICAgW1xyXG4gICAgICB0cmFuc2l0aW9uKFxyXG4gICAgICAgICc6ZW50ZXInLFxyXG4gICAgICAgIFtcclxuICAgICAgICAgIHN0eWxlKHsgbWluSGVpZ2h0OiAwLCBtYXhIZWlnaHQ6IDAgfSksXHJcbiAgICAgICAgICBhbmltYXRlKCcwLjFzIGVhc2UtaW4nLFxyXG4gICAgICAgICAgICBzdHlsZSh7IG1heEhlaWdodDogJzE3NXB4JywgbWluSGVpZ2h0OiAnNDBweCcgfSkpXHJcbiAgICAgICAgXVxyXG4gICAgICApLFxyXG4gICAgICB0cmFuc2l0aW9uKFxyXG4gICAgICAgICc6bGVhdmUnLFxyXG4gICAgICAgIFtcclxuICAgICAgICAgIHN0eWxlKHsgbWF4SGVpZ2h0OiAnMTc1cHgnLCBtaW5IZWlnaHQ6ICc0MHB4JyxvcGFjaXR5OiAxIH0pLFxyXG4gICAgICAgICAgYW5pbWF0ZSgnMC4xcyBlYXNlLW91dCcsXHJcbiAgICAgICAgICAgIHN0eWxlKHsgbWluSGVpZ2h0OiAwLCBtYXhIZWlnaHQ6IDAsIG9wYWNpdHk6IDAgfSkpXHJcbiAgICAgICAgXVxyXG4gICAgICApXHJcbiAgICBdLFxyXG4gIClcclxuXVxyXG4iXX0=
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export * from './public-api';
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9xbXMtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0LWRlcGFydG1lbnQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xyXG4iXX0=
|