qms-angular 1.1.46 → 1.1.48
Sign up to get free protection for your applications and to get access to all the features.
- package/bundles/qms-angular.umd.js +1686 -24
- package/bundles/qms-angular.umd.js.map +1 -1
- package/esm2015/lib/components/select-process-data/index.js +2 -0
- package/esm2015/lib/components/select-process-data/public-api.js +3 -0
- package/esm2015/lib/components/select-process-data/select-process-data.component.js +275 -0
- package/esm2015/lib/components/select-process-data/select-process-data.module.js +64 -0
- package/esm2015/lib/components/select-process-data-tree/index.js +2 -0
- package/esm2015/lib/components/select-process-data-tree/public-api.js +3 -0
- package/esm2015/lib/components/select-process-data-tree/select-process-data-tree.component.js +1134 -0
- package/esm2015/lib/components/select-process-data-tree/select-process-data-tree.module.js +64 -0
- package/esm2015/lib/model/en.js +2 -1
- package/esm2015/lib/model/no.js +2 -1
- package/esm2015/lib/qms-ckeditor-components/common/bpmn/toolbar.function.js +7 -4
- package/esm2015/lib/qms-ckeditor-components/common/functions/resource.function.js +3 -2
- package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-imagemap/qms-ckeditor-imagemap.component.js +4 -3
- package/esm2015/lib/qms-ckeditor-components/models/qms-ckeditor-imagemap.model.js +1 -1
- package/esm2015/lib/qms-ckeditor-components/qms-ckeditor.component.js +2 -1
- package/esm2015/lib/qms-ckeditor-components/services/qms-ckeditor-bpmn.service.js +3 -4
- package/esm2015/public-api.js +3 -1
- package/fesm2015/qms-angular.js +1491 -25
- package/fesm2015/qms-angular.js.map +1 -1
- package/lib/components/select-process-data/index.d.ts +1 -0
- package/lib/components/select-process-data/public-api.d.ts +2 -0
- package/lib/components/select-process-data/select-process-data.component.d.ts +120 -0
- package/lib/components/select-process-data/select-process-data.module.d.ts +2 -0
- package/lib/components/select-process-data-tree/index.d.ts +1 -0
- package/lib/components/select-process-data-tree/public-api.d.ts +2 -0
- package/lib/components/select-process-data-tree/select-process-data-tree.component.d.ts +196 -0
- package/lib/components/select-process-data-tree/select-process-data-tree.module.d.ts +2 -0
- package/lib/model/en.d.ts +1 -0
- package/lib/model/no.d.ts +1 -0
- package/lib/qms-ckeditor-components/common/bpmn/toolbar.function.d.ts +26 -0
- package/lib/qms-ckeditor-components/common/functions/resource.function.d.ts +1 -0
- package/lib/qms-ckeditor-components/models/qms-ckeditor-imagemap.model.d.ts +1 -0
- package/package.json +1 -1
- package/public-api.d.ts +2 -0
- package/qms-angular.metadata.json +1 -1
- package/src/assets/jointjs/scss/bpmn.scss +3 -3
- package/src/assets/jointjs/scss/rappid.scss +12 -1
- package/src/lib/components/select-process-data/select-process-data.component.scss +241 -0
- package/src/lib/components/select-process-data-tree/select-process-data-tree.component.scss +634 -0
package/fesm2015/qms-angular.js
CHANGED
@@ -165,6 +165,7 @@ const en = {
|
|
165
165
|
"INSERT_TOOLTIP": "Insert a tooltip",
|
166
166
|
"CONTENT": "Content",
|
167
167
|
"TEMPLATE": "Template",
|
168
|
+
"RESET": "Reset",
|
168
169
|
"CONTENT_TEMPLATE": "Content Template",
|
169
170
|
"CREATE_NEW_TEMPLATE": "Create new template",
|
170
171
|
"UPDATE_TEMPLATE": "Update template",
|
@@ -724,6 +725,7 @@ const no = {
|
|
724
725
|
"INSERT_TOOLTIP": "Sett inn et verktøytips",
|
725
726
|
"CONTENT": "Innhold",
|
726
727
|
"TEMPLATE": "Mal",
|
728
|
+
"RESET": "Nullstille",
|
727
729
|
"CONTENT_TEMPLATE": "Innholdsmal",
|
728
730
|
"CREATE_NEW_TEMPLATE": "Lag ny mal",
|
729
731
|
"UPDATE_TEMPLATE": "Oppdater mal",
|
@@ -4240,7 +4242,7 @@ QMSContentChangesDirective.propDecorators = {
|
|
4240
4242
|
qmsContentChanges: [{ type: Input }]
|
4241
4243
|
};
|
4242
4244
|
|
4243
|
-
const ɵ0$
|
4245
|
+
const ɵ0$7 = { appearance: 'fill' }, ɵ1$1 = { color: 'none' };
|
4244
4246
|
class QmsAngularModule {
|
4245
4247
|
}
|
4246
4248
|
QmsAngularModule.decorators = [
|
@@ -4366,7 +4368,7 @@ QmsAngularModule.decorators = [
|
|
4366
4368
|
QMSContentChangesDirective
|
4367
4369
|
],
|
4368
4370
|
providers: [
|
4369
|
-
{ provide: MAT_FORM_FIELD_DEFAULT_OPTIONS, useValue: ɵ0$
|
4371
|
+
{ provide: MAT_FORM_FIELD_DEFAULT_OPTIONS, useValue: ɵ0$7 },
|
4370
4372
|
{ provide: MAT_RADIO_DEFAULT_OPTIONS, useValue: ɵ1$1 },
|
4371
4373
|
QMSUploadingFileGuard
|
4372
4374
|
],
|
@@ -4666,7 +4668,7 @@ QMSListItem.propDecorators = {
|
|
4666
4668
|
_lines: [{ type: ContentChildren, args: [QMSListLine, { descendants: true },] }]
|
4667
4669
|
};
|
4668
4670
|
|
4669
|
-
const ɵ0$
|
4671
|
+
const ɵ0$6 = {
|
4670
4672
|
expandedHeight: '*',
|
4671
4673
|
collapsedHeight: '*'
|
4672
4674
|
};
|
@@ -4708,7 +4710,7 @@ QMSListModule.decorators = [
|
|
4708
4710
|
providers: [
|
4709
4711
|
{
|
4710
4712
|
provide: MAT_EXPANSION_PANEL_DEFAULT_OPTIONS,
|
4711
|
-
useValue: ɵ0$
|
4713
|
+
useValue: ɵ0$6
|
4712
4714
|
}
|
4713
4715
|
],
|
4714
4716
|
schemas: [
|
@@ -12910,7 +12912,7 @@ function BuildResourceNO(LANG = null) {
|
|
12910
12912
|
"Upload failed": "Kunne ikke laste opp",
|
12911
12913
|
"Upload in progress": "Laster opp fil",
|
12912
12914
|
"White": "Hvit",
|
12913
|
-
"Widget toolbar": "Widget verktøylinje
|
12915
|
+
"Widget toolbar": "Widget verktøylinje",
|
12914
12916
|
"Words: %0": "Ord: %0",
|
12915
12917
|
"Yellow": "Gul",
|
12916
12918
|
"image widget": "Bilde-widget",
|
@@ -13019,6 +13021,7 @@ function BuildResourceNO(LANG = null) {
|
|
13019
13021
|
"Templates": LANG.QMSCKEDITOR.TEMPLATES,
|
13020
13022
|
"About CKEditor": LANG.QMSCKEDITOR.ABOUT_CKEDITOR,
|
13021
13023
|
"Create Table of Contents": LANG.QMSCKEDITOR.CREATE_TABLE_OF_CONTENTS,
|
13024
|
+
"Edit anchor": "Rediger anker"
|
13022
13025
|
}
|
13023
13026
|
};
|
13024
13027
|
}
|
@@ -15779,7 +15782,8 @@ function getToolbarConfiguration$1(LANG) {
|
|
15779
15782
|
name: 'deleteTemplate',
|
15780
15783
|
attrs: {
|
15781
15784
|
button: {
|
15782
|
-
'data-tooltip': `${LANG.BPMN.DELETE_TEMPLATE}
|
15785
|
+
'data-tooltip': `${LANG.BPMN.DELETE_TEMPLATE}`,
|
15786
|
+
'data-before': `${LANG.DELETE}`
|
15783
15787
|
}
|
15784
15788
|
}
|
15785
15789
|
},
|
@@ -15788,7 +15792,8 @@ function getToolbarConfiguration$1(LANG) {
|
|
15788
15792
|
name: 'saveAsTemplate',
|
15789
15793
|
attrs: {
|
15790
15794
|
button: {
|
15791
|
-
'data-tooltip': `${LANG.BPMN.SAVE_AS_TEMPLATE}
|
15795
|
+
'data-tooltip': `${LANG.BPMN.SAVE_AS_TEMPLATE}`,
|
15796
|
+
'data-before': `${LANG.QMSCKEDITOR.TEMPLATE}`
|
15792
15797
|
}
|
15793
15798
|
}
|
15794
15799
|
},
|
@@ -15797,7 +15802,8 @@ function getToolbarConfiguration$1(LANG) {
|
|
15797
15802
|
name: 'resetToTempTemplate',
|
15798
15803
|
attrs: {
|
15799
15804
|
button: {
|
15800
|
-
'data-tooltip': `${LANG.BPMN.RESET_TO_LAST_SAVE}
|
15805
|
+
'data-tooltip': `${LANG.BPMN.RESET_TO_LAST_SAVE}`,
|
15806
|
+
'data-before': `${LANG.QMSCKEDITOR.RESET}`
|
15801
15807
|
}
|
15802
15808
|
}
|
15803
15809
|
},
|
@@ -16634,7 +16640,6 @@ class BpmnService {
|
|
16634
16640
|
'delete backspace': (evt) => {
|
16635
16641
|
evt.preventDefault();
|
16636
16642
|
graph.removeCells(selection.collection.toArray());
|
16637
|
-
resetCellView();
|
16638
16643
|
},
|
16639
16644
|
'ctrl+z': () => {
|
16640
16645
|
const notify = isSelectedCellViewInSelection(selection);
|
@@ -16797,10 +16802,10 @@ class BpmnService {
|
|
16797
16802
|
}
|
16798
16803
|
}
|
16799
16804
|
else if (shapeDetail.connectionTypeId === ShapeFlowChartConnectionType.Deviation) {
|
16800
|
-
connectionName =
|
16805
|
+
connectionName = LANG.BPMN.LINK_TO_DEVIATION;
|
16801
16806
|
}
|
16802
16807
|
else if (shapeDetail.connectionTypeId === ShapeFlowChartConnectionType.Checklist) {
|
16803
|
-
connectionName =
|
16808
|
+
connectionName = LANG.BPMN.LINK_TO_CHECKLIST;
|
16804
16809
|
}
|
16805
16810
|
if (shapeDetail.connectionTypeId !== ShapeFlowChartConnectionType.Activity) {
|
16806
16811
|
list[i][`style`].cursor = 'pointer';
|
@@ -20903,10 +20908,11 @@ class QMSCKEditorImageMapComponent extends QMSCKEditorBaseComponent {
|
|
20903
20908
|
this.naturalImageWidth = this.imageMapData.imageWidth;
|
20904
20909
|
this.initFormControl();
|
20905
20910
|
this.initSvgIcons(iconRegistry, sanitizer);
|
20911
|
+
this.selectedTarget = data.defaultTargetNewWindow ? TargetTypeName.new : TargetTypeName.same;
|
20906
20912
|
}
|
20907
20913
|
initDefaultValues() {
|
20908
20914
|
this.selectedLinkType = LinkType.url;
|
20909
|
-
this.selectedTarget = TargetTypeName.new;
|
20915
|
+
this.selectedTarget = this.data.defaultTargetNewWindow ? TargetTypeName.new : TargetTypeName.same;
|
20910
20916
|
this.selectedProtocol = ProtocolTypeName.http;
|
20911
20917
|
this.url = '';
|
20912
20918
|
this.processedUrl = '';
|
@@ -21147,7 +21153,7 @@ class QMSCKEditorImageMapComponent extends QMSCKEditorBaseComponent {
|
|
21147
21153
|
this.myImageMap.areas[this.currentAreaId].aalt = this.anchorText;
|
21148
21154
|
}
|
21149
21155
|
else {
|
21150
|
-
this.myImageMap.areas[this.currentAreaId].atarget = this.selectedTarget || TargetTypeName.new;
|
21156
|
+
this.myImageMap.areas[this.currentAreaId].atarget = this.selectedTarget || (this.data.defaultTargetNewWindow ? TargetTypeName.new : TargetTypeName.same);
|
21151
21157
|
this.myImageMap.areas[this.currentAreaId].aalt = this.advisoryTitle;
|
21152
21158
|
}
|
21153
21159
|
this.myImageMap.areas[this.currentAreaId].ahref = ahref;
|
@@ -21978,7 +21984,7 @@ var app;
|
|
21978
21984
|
}
|
21979
21985
|
app.Link = Link;
|
21980
21986
|
})(app || (app = {}));
|
21981
|
-
const ɵ0$
|
21987
|
+
const ɵ0$5 = function (flags) {
|
21982
21988
|
if (this.hasFlag(flags, 'RENDER')) {
|
21983
21989
|
this.render();
|
21984
21990
|
}
|
@@ -22013,7 +22019,7 @@ const NavigatorElementView = joint.dia.ElementView.extend({
|
|
22013
22019
|
position: ['TRANSFORM'],
|
22014
22020
|
angle: ['TRANSFORM']
|
22015
22021
|
},
|
22016
|
-
confirmUpdate: ɵ0$
|
22022
|
+
confirmUpdate: ɵ0$5,
|
22017
22023
|
render: ɵ1,
|
22018
22024
|
update: ɵ2
|
22019
22025
|
});
|
@@ -22043,7 +22049,7 @@ var appShapes = /*#__PURE__*/Object.freeze({
|
|
22043
22049
|
erd: erd,
|
22044
22050
|
uml: uml,
|
22045
22051
|
org: org,
|
22046
|
-
'ɵ0': ɵ0$
|
22052
|
+
'ɵ0': ɵ0$5,
|
22047
22053
|
'ɵ1': ɵ1,
|
22048
22054
|
'ɵ2': ɵ2
|
22049
22055
|
});
|
@@ -28612,6 +28618,7 @@ class QMSCKEditorComponent extends QMSCKEditorBaseComponent {
|
|
28612
28618
|
data.editorContent = this.qmsckContentInput;
|
28613
28619
|
data.linkJavaScriptLinksAllowed = this.qmsckData.linkJavaScriptLinksAllowed;
|
28614
28620
|
data.enabledInterconnected = this.qmsckData.enabledInterconnected;
|
28621
|
+
data.defaultTargetNewWindow = this.qmsckData.defaultTargetNewWindow;
|
28615
28622
|
const dialogTemplate = this.dialog.open(QMSCKEditorImageMapComponent, {
|
28616
28623
|
data,
|
28617
28624
|
disableClose: true,
|
@@ -30032,7 +30039,7 @@ QmsStepperComponent.propDecorators = {
|
|
30032
30039
|
selectionChangeEvent: [{ type: Output }]
|
30033
30040
|
};
|
30034
30041
|
|
30035
|
-
const ɵ0$
|
30042
|
+
const ɵ0$4 = { displayDefaultIndicatorType: false };
|
30036
30043
|
class QmsStepperModule {
|
30037
30044
|
}
|
30038
30045
|
QmsStepperModule.decorators = [
|
@@ -30053,7 +30060,7 @@ QmsStepperModule.decorators = [
|
|
30053
30060
|
],
|
30054
30061
|
providers: [{
|
30055
30062
|
provide: STEPPER_GLOBAL_OPTIONS,
|
30056
|
-
useValue: ɵ0$
|
30063
|
+
useValue: ɵ0$4
|
30057
30064
|
}]
|
30058
30065
|
},] }
|
30059
30066
|
];
|
@@ -32010,7 +32017,7 @@ var PaginationSize;
|
|
32010
32017
|
PaginationSize["large"] = "large";
|
32011
32018
|
PaginationSize["mobile"] = "mobile";
|
32012
32019
|
})(PaginationSize || (PaginationSize = {}));
|
32013
|
-
const ɵ0$
|
32020
|
+
const ɵ0$3 = { overlayPanelClass: 'customCDKpanel' };
|
32014
32021
|
class QMSPaginatorComponent {
|
32015
32022
|
constructor(trans) {
|
32016
32023
|
this.trans = trans;
|
@@ -32197,7 +32204,7 @@ QMSPaginatorComponent.decorators = [
|
|
32197
32204
|
providers: [
|
32198
32205
|
{
|
32199
32206
|
provide: MAT_SELECT_CONFIG,
|
32200
|
-
useValue: ɵ0$
|
32207
|
+
useValue: ɵ0$3,
|
32201
32208
|
},
|
32202
32209
|
],
|
32203
32210
|
styles: ["::ng-deep .customCDKpanel{transform:none!important}::ng-deep .qms-paginator{display:block}::ng-deep .qms-paginator .qms-paginator-outer-container{display:flex}::ng-deep .qms-paginator .mat-paginator-container{display:flex;align-items:center;justify-content:flex-end;padding:0 8px;flex-wrap:wrap-reverse;width:100%}::ng-deep .qms-paginator .mat-paginator-container .qms-btn-icon{width:40px;height:40px;line-height:40px}::ng-deep .qms-paginator .mat-paginator-container .mat-select .mat-select-arrow{margin-top:20px}::ng-deep .qms-paginator .mat-paginator-container .qms-total-result{margin-right:24px;margin-bottom:21px}::ng-deep .qms-paginator .mat-paginator-container .qms-total-result span{font-family:Open Sans;font-weight:400;font-size:14px;line-height:22px;color:rgba(0,0,0,.6)}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-page-size{margin-right:24px;display:flex;align-items:baseline}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-page-size .qms-pagesize-label{font-weight:400;font-size:14px;line-height:22px;color:#323232;font-family:Open Sans;font-style:normal;margin-right:8px}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-page-size .qms-form-page-size .mat-form-field-flex{width:80px}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-page-size .qms-form-select-page-size .mat-form-field-flex{width:51px;padding-left:9px;padding-right:5px}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-page-size .jump-page .mat-form-field-wrapper .mat-form-field-flex{width:55px}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-page-size .mat-form-field-flex{height:40px}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-page-size .mat-form-field-flex .mat-form-field-infix{padding-top:4px;border-top:0;padding-bottom:0;height:25px}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-range-actions{display:flex;align-items:center;margin-bottom:15px}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-range-actions .selected{background-color:#e5eefb;color:#1954a9}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-range-actions .qms-3d{font-weight:600;font-size:14px;line-height:22px;color:#323232}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-range-actions button:not(.qms-btn-disabled) .qms-btn-icon-wrapper{color:#323232}::ng-deep .qms-paginator .mat-paginator-container-mobile .mat-select .mat-select-arrow{margin-top:20px}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-total-result{margin-bottom:16px}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-total-result span{font-family:Open Sans;font-style:normal;font-weight:400;font-size:12px;line-height:16px;color:rgba(0,0,0,.6)}::ng-deep .qms-paginator .mat-paginator-container-mobile .mat-paginator-container{justify-content:flex-start}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-paginator-page-size{margin-right:24px;display:flex;align-items:baseline}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-paginator-page-size .qms-pagesize-label{font-weight:400;font-size:12px;line-height:22px;color:#323232;font-family:Open Sans;font-style:normal;margin-right:8px}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-paginator-page-size .qms-form-page-size .mat-form-field-flex{width:80px}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-paginator-page-size .qms-form-select-page-size .mat-form-field-flex{width:51px;padding-left:9px;padding-right:5px}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-paginator-page-size .jump-page .mat-form-field-wrapper .mat-form-field-flex{width:55px}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-paginator-page-size .mat-form-field-flex{height:40px}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-paginator-page-size .mat-form-field-flex .mat-form-field-infix{padding-top:4px;border-top:0;padding-bottom:0;height:25px}::ng-deep .qms-paginator .size-small .mat-paginator-container{justify-content:flex-start}::ng-deep .qms-paginator .mr-b-size-small{margin-bottom:17px!important}"]
|
@@ -33879,7 +33886,7 @@ const SelectDepartmentAnimationTrigger = [
|
|
33879
33886
|
])
|
33880
33887
|
];
|
33881
33888
|
|
33882
|
-
const ɵ0$
|
33889
|
+
const ɵ0$2 = {
|
33883
33890
|
clickAction: 'noop'
|
33884
33891
|
};
|
33885
33892
|
class SelectDepartmentComponent {
|
@@ -34119,7 +34126,7 @@ SelectDepartmentComponent.decorators = [
|
|
34119
34126
|
providers: [
|
34120
34127
|
{
|
34121
34128
|
provide: MAT_CHECKBOX_DEFAULT_OPTIONS,
|
34122
|
-
useValue: ɵ0$
|
34129
|
+
useValue: ɵ0$2
|
34123
34130
|
}
|
34124
34131
|
],
|
34125
34132
|
animations: [SelectDepartmentAnimationTrigger],
|
@@ -34319,7 +34326,7 @@ class QMSSelectAccessDialog {
|
|
34319
34326
|
}
|
34320
34327
|
}
|
34321
34328
|
|
34322
|
-
const ɵ0 = {
|
34329
|
+
const ɵ0$1 = {
|
34323
34330
|
clickAction: 'noop'
|
34324
34331
|
};
|
34325
34332
|
class QMSSelectAccessDialogComponent {
|
@@ -34871,7 +34878,7 @@ QMSSelectAccessDialogComponent.decorators = [
|
|
34871
34878
|
providers: [
|
34872
34879
|
{
|
34873
34880
|
provide: MAT_CHECKBOX_DEFAULT_OPTIONS,
|
34874
|
-
useValue: ɵ0
|
34881
|
+
useValue: ɵ0$1
|
34875
34882
|
}
|
34876
34883
|
],
|
34877
34884
|
encapsulation: ViewEncapsulation.None,
|
@@ -34934,6 +34941,1465 @@ QMSSelectAccessDialogModule.decorators = [
|
|
34934
34941
|
class FilterPersonModel {
|
34935
34942
|
}
|
34936
34943
|
|
34944
|
+
class SelectProcessDataTreeComponent {
|
34945
|
+
constructor(cdRef, domSanitizer, appIconService, iconRegistry, eleRef, trans, overlay, viewContainerRef, treeDepartmentService) {
|
34946
|
+
this.cdRef = cdRef;
|
34947
|
+
this.domSanitizer = domSanitizer;
|
34948
|
+
this.appIconService = appIconService;
|
34949
|
+
this.iconRegistry = iconRegistry;
|
34950
|
+
this.eleRef = eleRef;
|
34951
|
+
this.trans = trans;
|
34952
|
+
this.overlay = overlay;
|
34953
|
+
this.viewContainerRef = viewContainerRef;
|
34954
|
+
this.treeDepartmentService = treeDepartmentService;
|
34955
|
+
this.spinnerArr = new Array(12).fill(0);
|
34956
|
+
this.arrSkeleton = new Array(6).fill(0);
|
34957
|
+
this.height = '50vh';
|
34958
|
+
this.config = new QMSSelectDepartmentTreeConfig();
|
34959
|
+
this.isIncludeChildren = false;
|
34960
|
+
this.onSearchEvent = new EventEmitter();
|
34961
|
+
this.onPagingSearchEvent = new EventEmitter();
|
34962
|
+
this.onValueChangeEvent = new EventEmitter();
|
34963
|
+
this.selectionNodeChangeEvent = new EventEmitter();
|
34964
|
+
this.onCheckNodeEvent = new EventEmitter();
|
34965
|
+
this.onExpandNodeEvent = new EventEmitter();
|
34966
|
+
this.onLoadMoreEvent = new EventEmitter();
|
34967
|
+
this.onCheckItemSearchEvent = new EventEmitter();
|
34968
|
+
this.onCheckAllItemSearchEvent = new EventEmitter();
|
34969
|
+
this.toggleIncludeChildEvent = new EventEmitter();
|
34970
|
+
this.MODE_VIEW_ENUM = ModeDepartmentTreeeViewEnum;
|
34971
|
+
this.ITEM_SIZE = 50;
|
34972
|
+
this.ngUnsubscribe = new Subject();
|
34973
|
+
this.resultSearchSelected = [];
|
34974
|
+
this.resultSelected = [];
|
34975
|
+
this.getDataTree$ = new BehaviorSubject([]);
|
34976
|
+
this.searchDepartment$ = new BehaviorSubject(new QMSDepartmentPagingModel());
|
34977
|
+
this.resultSearch = [];
|
34978
|
+
this.getIndexView$ = new BehaviorSubject(0);
|
34979
|
+
this.scrollToNodeEvent$ = new Subject();
|
34980
|
+
this.getActiveNodeEvent$ = new Subject();
|
34981
|
+
this.activeNode = '';
|
34982
|
+
this.PAGINATION_SIZE = PaginationSize;
|
34983
|
+
this.PAGE_SIZE_OPTION = [5, 10, 15, 20, 25, 100];
|
34984
|
+
this.CURRENT_PAGESIZE = 10;
|
34985
|
+
this.nestedTreeNodeMap = new Map();
|
34986
|
+
this.flatTreeNodeMap = new Map();
|
34987
|
+
this.checkListSelection = new SelectionModel(true);
|
34988
|
+
this.checkListSelectionSearch = new SelectionModel(true);
|
34989
|
+
this._selectedList = [];
|
34990
|
+
this.selectedListAfterDataNodeChange$ = new Subject();
|
34991
|
+
this.formSearchControl = new FormControl('');
|
34992
|
+
this.getLoading$ = new BehaviorSubject(false);
|
34993
|
+
this.getLoadingMore$ = new BehaviorSubject(true);
|
34994
|
+
this.untilDestroyLoadMore$ = new Subject();
|
34995
|
+
this.onBeforeInitNodeSelected$ = new Subject();
|
34996
|
+
this.textSearchSubject$ = new BehaviorSubject('');
|
34997
|
+
this.itemIconType = ItemIconType;
|
34998
|
+
this._transformer = (node, level) => {
|
34999
|
+
const flatNode = this.convertToFlatNode(node) || new QMSFlatNodeTree();
|
35000
|
+
flatNode.id = node.id;
|
35001
|
+
flatNode.name = node.name;
|
35002
|
+
flatNode.expandable = (node.children && node.children.length > 0) || (!!node.childCount) || node.expandable;
|
35003
|
+
flatNode.level = level;
|
35004
|
+
flatNode.parentId = node.parentId;
|
35005
|
+
flatNode.markedGetChildren = node.children.length > 0;
|
35006
|
+
flatNode.itemIcon = node.itemIcon;
|
35007
|
+
flatNode.itemIconSvg = node.itemIconSvg;
|
35008
|
+
flatNode.isFile = node.isFile;
|
35009
|
+
flatNode.disabled = node.disabled;
|
35010
|
+
flatNode.isGroup = node.isGroup;
|
35011
|
+
flatNode.groupId = node.groupId;
|
35012
|
+
flatNode.externalName = node.externalName;
|
35013
|
+
flatNode.childCount = node.childCount;
|
35014
|
+
flatNode.selectedChildCount = node.selectedChildCount;
|
35015
|
+
flatNode.markedGetChildCountRecurrsive = node.markedGetChildCountRecurrsive;
|
35016
|
+
flatNode.isIncludeChildWhenChecked = node.isIncludeChildWhenChecked;
|
35017
|
+
this.flatTreeNodeMap.set(flatNode, node);
|
35018
|
+
this.nestedTreeNodeMap.set(node, flatNode);
|
35019
|
+
return flatNode;
|
35020
|
+
};
|
35021
|
+
this.getLevel = (node) => node === null || node === void 0 ? void 0 : node.level;
|
35022
|
+
this._getChild = (node) => node.children;
|
35023
|
+
this.isExpandable = (node) => node.expandable;
|
35024
|
+
this.hasChild = (_, node) => node.expandable;
|
35025
|
+
this._handlingLazyObject = {
|
35026
|
+
checkAllSearch: false,
|
35027
|
+
checkItemSearch: false,
|
35028
|
+
checkNode: false,
|
35029
|
+
expand: false
|
35030
|
+
};
|
35031
|
+
// Init tree data
|
35032
|
+
this.getDataTree$
|
35033
|
+
.pipe(takeUntil(this.ngUnsubscribe))
|
35034
|
+
.subscribe(data => {
|
35035
|
+
if (!this.dataSource)
|
35036
|
+
return;
|
35037
|
+
this.dataSource.data = data;
|
35038
|
+
this.cdRef.detectChanges();
|
35039
|
+
});
|
35040
|
+
// Register icon
|
35041
|
+
appIconService.registerProcessIcon(iconRegistry, domSanitizer);
|
35042
|
+
appIconService.registerProcessAreaIcon(iconRegistry, domSanitizer);
|
35043
|
+
appIconService.registerDocumentIcon(iconRegistry, domSanitizer);
|
35044
|
+
appIconService.registerFolderIcon(iconRegistry, domSanitizer);
|
35045
|
+
appIconService.registerDeviationIcon(iconRegistry, domSanitizer);
|
35046
|
+
appIconService.registerChecklistIcon(iconRegistry, domSanitizer);
|
35047
|
+
appIconService.registerRiskIcon(iconRegistry, domSanitizer);
|
35048
|
+
this.trans.getLanguageSubject$.pipe(takeUntil(this.ngUnsubscribe)).subscribe((res) => {
|
35049
|
+
if (res) {
|
35050
|
+
this.LANG = this.trans.getObjectLang(res);
|
35051
|
+
}
|
35052
|
+
});
|
35053
|
+
this._handleSearchEvent();
|
35054
|
+
this._handleActiveNodeEvent();
|
35055
|
+
this._handleItemSelectionChanged();
|
35056
|
+
this.getLoading$.pipe(takeUntil(this.ngUnsubscribe), tap(res => {
|
35057
|
+
res ? this.formSearchControl.disable() : this.formSearchControl.enable();
|
35058
|
+
})).subscribe();
|
35059
|
+
}
|
35060
|
+
set rowsSkeleton(value) {
|
35061
|
+
this.arrSkeleton = new Array(value).fill(0);
|
35062
|
+
}
|
35063
|
+
get departmentRoots() {
|
35064
|
+
if (!this.treeControl)
|
35065
|
+
return;
|
35066
|
+
return this.treeControl.dataNodes.filter(node => node.level === 0);
|
35067
|
+
}
|
35068
|
+
get isAllDepartmentSelected() {
|
35069
|
+
return !!this.treeControl && this.treeControl.dataNodes.every(node => this.isSelectedNode(node));
|
35070
|
+
}
|
35071
|
+
get isIndeterminateCheckboxAllTree() {
|
35072
|
+
return !this.isAllDepartmentSelected && this.checkListSelection.selected.length > 0;
|
35073
|
+
}
|
35074
|
+
get currentTreeData() {
|
35075
|
+
return this.getDataTree$.getValue();
|
35076
|
+
}
|
35077
|
+
get isSelectAllResultSearch() {
|
35078
|
+
return this.resultSearch.length && this.resultSearch.every(x => this.checkListSelectionSearch.isSelected(x));
|
35079
|
+
}
|
35080
|
+
get indeterminateSearchResult() {
|
35081
|
+
return !this.isSelectAllResultSearch && !!this.resultSearch.length && this.resultSearch.some(x => this.checkListSelectionSearch.isSelected(x));
|
35082
|
+
}
|
35083
|
+
ngAfterContentInit() {
|
35084
|
+
this.getLoadingMore$.next(false);
|
35085
|
+
this.cdRef.detectChanges();
|
35086
|
+
}
|
35087
|
+
ngAfterViewInit() {
|
35088
|
+
this.getIndexView$.pipe(takeUntil(merge(this.ngUnsubscribe, this.untilDestroyLoadMore$)), tap(_ => this.getLoadingMore$.next(this.config.lazy)), delay(700), tap(value => {
|
35089
|
+
this.getLoadingMore$.next(false);
|
35090
|
+
if (value === 0)
|
35091
|
+
this.cdkVirtualScrollViewport &&
|
35092
|
+
this.cdkVirtualScrollViewport.scrolledIndexChange
|
35093
|
+
.pipe(takeUntil(this.untilDestroyLoadMore$), map(_ => this.cdkVirtualScrollViewport.measureScrollOffset('bottom')), pairwise(), filter(([x1, x2]) => x1 > x2 && x2 < 140), throttleTime(200), tap(_ => {
|
35094
|
+
if (this.getLoadingMore$.value)
|
35095
|
+
return;
|
35096
|
+
if (!this.config.lazy) {
|
35097
|
+
this.onDestroyLoadMore();
|
35098
|
+
return;
|
35099
|
+
}
|
35100
|
+
this.onLoadMoreEvent.emit();
|
35101
|
+
this.getLoadingMore$.next(true);
|
35102
|
+
}))
|
35103
|
+
.subscribe();
|
35104
|
+
})).subscribe();
|
35105
|
+
this.onBeforeInitNodeSelected$.pipe(takeUntil(this.ngUnsubscribe), tap(_ => {
|
35106
|
+
this._handleListSelected();
|
35107
|
+
this.getLoadingMore$.next(false);
|
35108
|
+
})).subscribe();
|
35109
|
+
this.cdRef.detectChanges();
|
35110
|
+
}
|
35111
|
+
ngOnInit() {
|
35112
|
+
this.isIncludeChildren = this.config.isIncludeChildren;
|
35113
|
+
this._initTreeData();
|
35114
|
+
if (!this.config.lazy) {
|
35115
|
+
this._handleListSelected();
|
35116
|
+
return;
|
35117
|
+
}
|
35118
|
+
//action for lazy config
|
35119
|
+
this._initListSelected();
|
35120
|
+
this._handleAfterDataNodeChangeEvent();
|
35121
|
+
this.selectedListAfterDataNodeChange$.next(this.treeControl.dataNodes);
|
35122
|
+
}
|
35123
|
+
ngOnDestroy() {
|
35124
|
+
this.ngUnsubscribe.next();
|
35125
|
+
this.ngUnsubscribe.complete();
|
35126
|
+
}
|
35127
|
+
onDestroyLoadMore() {
|
35128
|
+
this.untilDestroyLoadMore$.next();
|
35129
|
+
this.untilDestroyLoadMore$.complete();
|
35130
|
+
}
|
35131
|
+
_initTreeData() {
|
35132
|
+
this.treeControl = new FlatTreeControl(this.getLevel, this.isExpandable);
|
35133
|
+
this.treeFlattener = new MatTreeFlattener(this._transformer, this.getLevel, this.isExpandable, this._getChild);
|
35134
|
+
this.dataSource = new MatTreeFlatDataSource(this.treeControl, this.treeFlattener);
|
35135
|
+
const _treeDataInput = _.cloneDeep(this.config.treeData);
|
35136
|
+
if (!_treeDataInput.length)
|
35137
|
+
return;
|
35138
|
+
const treeData = this.treeDepartmentService.convertToTreeData(_treeDataInput);
|
35139
|
+
this.updateDataTree(treeData);
|
35140
|
+
this.getLoading$.next(false);
|
35141
|
+
}
|
35142
|
+
_handleListSelected() {
|
35143
|
+
if (!this.config.selectedList.length)
|
35144
|
+
return;
|
35145
|
+
const selectedList = this.config.selectedList.sort((x, y) => x.isGroup ? -1 : y.isGroup ? 1 : 0);
|
35146
|
+
for (let i = 0; i < selectedList.length; i++) {
|
35147
|
+
const item = selectedList[i];
|
35148
|
+
const node = this.getNodeById(item.id);
|
35149
|
+
if (node) {
|
35150
|
+
const nestedNode = this.convertToNestedNode(node);
|
35151
|
+
nestedNode.isGroup = item.isGroup;
|
35152
|
+
nestedNode.groupId = item.groupId;
|
35153
|
+
this.checkListSelection.select(node);
|
35154
|
+
this.handleCheckNode(node);
|
35155
|
+
this.onExpandAllParent(node);
|
35156
|
+
}
|
35157
|
+
}
|
35158
|
+
this.cdRef.detectChanges();
|
35159
|
+
}
|
35160
|
+
_initListSelected() {
|
35161
|
+
this._selectedList = this.treeDepartmentService.convertToTreeData(this.config.selectedList);
|
35162
|
+
//Convert array selectedList into nested array as 1 level form
|
35163
|
+
const indexRemove = [];
|
35164
|
+
for (let i = 0; i < this._selectedList.length; i++) {
|
35165
|
+
const item = this._selectedList[i];
|
35166
|
+
const result = this.treeDepartmentService.getDescendantsOfNode(item);
|
35167
|
+
item.children = result;
|
35168
|
+
const index = this._selectedList.findIndex(x => result.some(x1 => x1.id === x.id));
|
35169
|
+
if (index < 0)
|
35170
|
+
continue;
|
35171
|
+
indexRemove.push(index);
|
35172
|
+
}
|
35173
|
+
this._selectedList = this._selectedList.filter((_, index) => !indexRemove.includes(index));
|
35174
|
+
this.resultSelected.push(...this._selectedList);
|
35175
|
+
this.onValueChangeEvent.emit(this.resultSelected);
|
35176
|
+
}
|
35177
|
+
// handle selected list when data nodes change
|
35178
|
+
_handleAfterDataNodeChangeEvent() {
|
35179
|
+
if (this.config.lazy) {
|
35180
|
+
this.selectedListAfterDataNodeChange$
|
35181
|
+
.pipe(takeUntil(this.ngUnsubscribe), tap(data => {
|
35182
|
+
if (!this._selectedList.length)
|
35183
|
+
return;
|
35184
|
+
this._selectedList.forEach(item => {
|
35185
|
+
if (!item.parentId) {
|
35186
|
+
const node = this.getNodeById(item.id);
|
35187
|
+
if (node)
|
35188
|
+
item.parentId = node.parentId;
|
35189
|
+
}
|
35190
|
+
});
|
35191
|
+
for (let i = 0; i < data.length; i++) {
|
35192
|
+
const element = data[i];
|
35193
|
+
const item = this._selectedList.find(x => { var _a; return x.id === element.id || ((_a = x.children) === null || _a === void 0 ? void 0 : _a.some(x1 => x1.id === element.id)); });
|
35194
|
+
if (!!item) {
|
35195
|
+
const node = this.getNodeById(item.id);
|
35196
|
+
if (!node)
|
35197
|
+
continue;
|
35198
|
+
const nestedNode = this.convertToNestedNode(node);
|
35199
|
+
nestedNode.isGroup = item.isGroup;
|
35200
|
+
nestedNode.groupId = item.groupId;
|
35201
|
+
this.checkListSelection.select(node);
|
35202
|
+
const descendants = this.getListChildrenOfNode(node);
|
35203
|
+
if (node.markedGetChildren) {
|
35204
|
+
if (!item.children.length)
|
35205
|
+
continue;
|
35206
|
+
const itemSelect = descendants.filter(x => item.children.map(x1 => x1.id).includes(x.id));
|
35207
|
+
if (!itemSelect.length)
|
35208
|
+
continue;
|
35209
|
+
itemSelect.forEach(_item => {
|
35210
|
+
const _nestedNode = this.convertToNestedNode(_item);
|
35211
|
+
_nestedNode.groupId = item.children[0].groupId;
|
35212
|
+
_nestedNode.isGroup = false;
|
35213
|
+
});
|
35214
|
+
this.checkListSelection.select(...itemSelect);
|
35215
|
+
}
|
35216
|
+
}
|
35217
|
+
}
|
35218
|
+
}))
|
35219
|
+
.subscribe();
|
35220
|
+
}
|
35221
|
+
}
|
35222
|
+
/**
|
35223
|
+
* This method use for lazy mode, do some thing before init list node selected
|
35224
|
+
* @param callback
|
35225
|
+
* @returns
|
35226
|
+
*/
|
35227
|
+
onBeforeInitNodeSelected(callback) {
|
35228
|
+
return __awaiter(this, void 0, void 0, function* () {
|
35229
|
+
if (!this.config.lazy)
|
35230
|
+
return;
|
35231
|
+
this.getLoadingMore$.next(true);
|
35232
|
+
if (!!callback)
|
35233
|
+
yield callback();
|
35234
|
+
this.onBeforeInitNodeSelected$.next();
|
35235
|
+
});
|
35236
|
+
}
|
35237
|
+
//Handle item selection changed
|
35238
|
+
_handleItemSelectionChanged() {
|
35239
|
+
this.checkListSelection.changed
|
35240
|
+
.pipe(takeUntil(this.ngUnsubscribe))
|
35241
|
+
.subscribe(({ added, removed }) => {
|
35242
|
+
const checkExistInResult = (node) => this.resultSelected.findIndex(x => x.id === node.id) > -1;
|
35243
|
+
if (added.length) {
|
35244
|
+
added.forEach(node => {
|
35245
|
+
const nestedNode = _.cloneDeep(this.convertToNestedNode(node));
|
35246
|
+
nestedNode.children = [];
|
35247
|
+
if (!this.config.lazy)
|
35248
|
+
nestedNode.childCount = this.getListChildrenOfNode(node).length;
|
35249
|
+
const existGroup = _.cloneDeep(this.getAllParentNode(node)
|
35250
|
+
.map(item => this.convertToNestedNode(item))
|
35251
|
+
.reverse()
|
35252
|
+
.find(x => x.isGroup));
|
35253
|
+
if (!!existGroup) {
|
35254
|
+
const flatExistGroup = this.getNodeById(existGroup.id);
|
35255
|
+
nestedNode.groupId = existGroup.id;
|
35256
|
+
const groupResult = this.resultSelected.find(x => x.id === existGroup.id);
|
35257
|
+
if (groupResult && !groupResult.children.some(x => x.id === nestedNode.id)) {
|
35258
|
+
groupResult.isGroup = existGroup.isGroup;
|
35259
|
+
groupResult.children.push(nestedNode);
|
35260
|
+
}
|
35261
|
+
this._onSelectionNodeChangeEvent('updated', [groupResult]);
|
35262
|
+
// re-filter result selected
|
35263
|
+
this.resultSelected = this.resultSelected.filter(item => !this.getListChildrenOfNode(flatExistGroup).map(x => x.id).includes(item.id));
|
35264
|
+
return;
|
35265
|
+
}
|
35266
|
+
if (checkExistInResult(node))
|
35267
|
+
return;
|
35268
|
+
this.resultSelected.push(nestedNode);
|
35269
|
+
this._onSelectionNodeChangeEvent('added', [nestedNode]);
|
35270
|
+
});
|
35271
|
+
}
|
35272
|
+
if (removed.length) {
|
35273
|
+
removed.forEach(node => {
|
35274
|
+
const nestedNode = this.convertToNestedNode(node);
|
35275
|
+
const children = this.getListChildrenOfNode(node);
|
35276
|
+
if (nestedNode.isGroup) {
|
35277
|
+
const _item = this.resultSelected.find(x => x.id === node.id);
|
35278
|
+
if (!_item)
|
35279
|
+
return;
|
35280
|
+
children.forEach(item => item.groupId = null);
|
35281
|
+
this.resultSelected.splice(this.resultSelected.indexOf(_item), 1);
|
35282
|
+
this._onSelectionNodeChangeEvent('removed', [_item]);
|
35283
|
+
return;
|
35284
|
+
}
|
35285
|
+
const group = this.resultSelected.find(x => x.id === nestedNode.groupId);
|
35286
|
+
if (!group) {
|
35287
|
+
const _item = this.resultSelected.find(x => x.id === node.id);
|
35288
|
+
if (!_item)
|
35289
|
+
return;
|
35290
|
+
this.resultSelected.splice(this.resultSelected.indexOf(_item), 1);
|
35291
|
+
this._onSelectionNodeChangeEvent('removed', [_item]);
|
35292
|
+
return;
|
35293
|
+
}
|
35294
|
+
const childNodes = this.getListChildrenOfNode(node).concat(node);
|
35295
|
+
for (let i = 0; i < childNodes.length; i++) {
|
35296
|
+
const item = childNodes[i];
|
35297
|
+
const _node = this.getNodeById(item.id);
|
35298
|
+
if (group.children.some(x => x.id === _node.id) && !this.isSelectedNode(_node)) {
|
35299
|
+
const _item = group.children.find(x => x.id === item.id);
|
35300
|
+
if (!_item)
|
35301
|
+
return;
|
35302
|
+
group.children.splice(group.children.indexOf(_item), 1);
|
35303
|
+
this._onSelectionNodeChangeEvent('updated', [group]);
|
35304
|
+
}
|
35305
|
+
}
|
35306
|
+
});
|
35307
|
+
}
|
35308
|
+
this._mapToResultSearch();
|
35309
|
+
this.onValueChangeEvent.emit(this.resultSelected);
|
35310
|
+
});
|
35311
|
+
}
|
35312
|
+
_onSelectionNodeChangeEvent(state, data) {
|
35313
|
+
switch (state) {
|
35314
|
+
case 'removed':
|
35315
|
+
this.selectionNodeChangeEvent.emit({
|
35316
|
+
removed: data,
|
35317
|
+
added: [],
|
35318
|
+
updated: [],
|
35319
|
+
source: new SelectionModel(true, this.resultSelected)
|
35320
|
+
});
|
35321
|
+
break;
|
35322
|
+
case 'updated':
|
35323
|
+
this.selectionNodeChangeEvent.emit({
|
35324
|
+
removed: [],
|
35325
|
+
added: [],
|
35326
|
+
updated: data,
|
35327
|
+
source: new SelectionModel(true, this.resultSelected)
|
35328
|
+
});
|
35329
|
+
break;
|
35330
|
+
case 'added':
|
35331
|
+
this.selectionNodeChangeEvent.emit({
|
35332
|
+
removed: [],
|
35333
|
+
added: data,
|
35334
|
+
updated: [],
|
35335
|
+
source: new SelectionModel(true, this.resultSelected)
|
35336
|
+
});
|
35337
|
+
break;
|
35338
|
+
default:
|
35339
|
+
return;
|
35340
|
+
}
|
35341
|
+
}
|
35342
|
+
_handleSearchEvent() {
|
35343
|
+
this.searchDepartment$
|
35344
|
+
.pipe(takeUntil(this.ngUnsubscribe))
|
35345
|
+
.subscribe(result => {
|
35346
|
+
this.resultSearch = [];
|
35347
|
+
this.CURRENT_PAGESIZE = result.pageSize;
|
35348
|
+
this.getLoading$.next(false);
|
35349
|
+
if (result && result.length) {
|
35350
|
+
result.data.forEach(item => {
|
35351
|
+
var _a;
|
35352
|
+
const node = this.getNodeById(item.id);
|
35353
|
+
let location = [];
|
35354
|
+
if (this.config.lazy) {
|
35355
|
+
location = ((_a = item.path) === null || _a === void 0 ? void 0 : _a.map(x => ({ name: x }))) || [];
|
35356
|
+
}
|
35357
|
+
else {
|
35358
|
+
const parents = node ? this.getAllParentNode(node) : [];
|
35359
|
+
location = parents.length ? parents.map((x) => ({
|
35360
|
+
id: x.id,
|
35361
|
+
name: x.name,
|
35362
|
+
})).reverse() : [];
|
35363
|
+
}
|
35364
|
+
this.resultSearch.push(Object.assign(Object.assign({}, item), { disabled: !this.config.lazy && this.config.checkSearchMappingTree && !node, location: [
|
35365
|
+
...location,
|
35366
|
+
{
|
35367
|
+
id: item.id,
|
35368
|
+
name: item.name,
|
35369
|
+
}
|
35370
|
+
], isLoading: false }));
|
35371
|
+
});
|
35372
|
+
this.textSearchSubject$.next(this.formSearchControl.value);
|
35373
|
+
if (this.config.clearCheckListSelectionSearchWhenHandle)
|
35374
|
+
this.checkListSelectionSearch.clear();
|
35375
|
+
this._mapToResultSearch();
|
35376
|
+
this.setIndexView(1);
|
35377
|
+
}
|
35378
|
+
});
|
35379
|
+
}
|
35380
|
+
_handleActiveNodeEvent() {
|
35381
|
+
this.scrollToNodeEvent$.pipe(takeUntil(this.ngUnsubscribe), switchMap((val) => {
|
35382
|
+
const delayTiming = this.getIndexView$.value === 1 ? 700 : 0;
|
35383
|
+
this.setIndexView(0);
|
35384
|
+
return of(val).pipe(delay(delayTiming), takeUntil(this.ngUnsubscribe));
|
35385
|
+
}))
|
35386
|
+
.subscribe(res => {
|
35387
|
+
this.onScrollIntoNode(res);
|
35388
|
+
});
|
35389
|
+
this.getActiveNodeEvent$.pipe(takeUntil(this.ngUnsubscribe), switchMap(val => {
|
35390
|
+
this.activeNode = val;
|
35391
|
+
return timer(1500);
|
35392
|
+
}))
|
35393
|
+
.subscribe(_ => {
|
35394
|
+
this.activeNode = '';
|
35395
|
+
});
|
35396
|
+
}
|
35397
|
+
updateDataTree(data) {
|
35398
|
+
this.getDataTree$.next(data);
|
35399
|
+
}
|
35400
|
+
setLoadingStateNode(isLoading, nodeId) {
|
35401
|
+
const node = this.getNodeById(nodeId);
|
35402
|
+
if (!node)
|
35403
|
+
return;
|
35404
|
+
node.isLoading = isLoading;
|
35405
|
+
this.checkLoadingOfParent(node);
|
35406
|
+
}
|
35407
|
+
onExpandNode(node) {
|
35408
|
+
if (!(node === null || node === void 0 ? void 0 : node.expandable))
|
35409
|
+
return;
|
35410
|
+
this.treeControl.toggle(node);
|
35411
|
+
if (this.config.lazy && this.treeControl.isExpanded(node) && !node.markedGetChildren) {
|
35412
|
+
node.isLoading = true;
|
35413
|
+
this.checkLoadingOfParent(node);
|
35414
|
+
}
|
35415
|
+
this.onExpandNodeEvent.emit(node);
|
35416
|
+
}
|
35417
|
+
onOptionSearchSelected(value) {
|
35418
|
+
const flatNode = this.getNodeById(value.id);
|
35419
|
+
if (!flatNode)
|
35420
|
+
return;
|
35421
|
+
this.checkListSelection.select(flatNode);
|
35422
|
+
this.handleCheckNode(flatNode);
|
35423
|
+
this.onScrollIntoNode(flatNode.id);
|
35424
|
+
}
|
35425
|
+
onCheckAllRootTreeNode() {
|
35426
|
+
if (this.config.isSelectOne || !this.config.activeSelectAllNode)
|
35427
|
+
return;
|
35428
|
+
if (this.isAllDepartmentSelected) {
|
35429
|
+
this.treeControl.dataNodes.forEach(node => {
|
35430
|
+
const nestedNode = this.convertToNestedNode(node);
|
35431
|
+
nestedNode.isGroup = false;
|
35432
|
+
});
|
35433
|
+
this.checkListSelection.deselect(...this.treeControl.dataNodes);
|
35434
|
+
return;
|
35435
|
+
}
|
35436
|
+
;
|
35437
|
+
this.departmentRoots.forEach(node => {
|
35438
|
+
if (!this.isIncludeChildren) {
|
35439
|
+
this.treeControl.dataNodes.filter(x => !this.isSelectedNode(x))
|
35440
|
+
.forEach(x => this.onCheckNode(x));
|
35441
|
+
return;
|
35442
|
+
}
|
35443
|
+
if (!this.isSelectedNode(node)) {
|
35444
|
+
this.onCheckNode(node);
|
35445
|
+
return;
|
35446
|
+
}
|
35447
|
+
const nestedNode = this.convertToNestedNode(node);
|
35448
|
+
if (nestedNode.isGroup && this.isCheckAll(node) || !node.expandable)
|
35449
|
+
return;
|
35450
|
+
this.getListChildrenOfNode(node)
|
35451
|
+
.filter(item => !this.isSelectedNode(item))
|
35452
|
+
.forEach(item => !this.isSelectedNode(item) && this.onCheckNode(item));
|
35453
|
+
if (!nestedNode.isGroup) {
|
35454
|
+
this.checkListSelection.deselect(node);
|
35455
|
+
this.onCheckNode(node);
|
35456
|
+
return;
|
35457
|
+
}
|
35458
|
+
});
|
35459
|
+
}
|
35460
|
+
onCheckNode(node, fireEventCheckNode = true) {
|
35461
|
+
if (!node)
|
35462
|
+
return;
|
35463
|
+
if (fireEventCheckNode)
|
35464
|
+
this.onCheckNodeEvent.emit(node);
|
35465
|
+
this.checkListSelection.toggle(node);
|
35466
|
+
if (this.config.isSelectOne) {
|
35467
|
+
this._handleSelectOne(node.id);
|
35468
|
+
return;
|
35469
|
+
}
|
35470
|
+
if (this.config.lazy && node.expandable && !node.markedGetChildren && fireEventCheckNode) {
|
35471
|
+
if (!this._handlingLazyObject.checkNode) {
|
35472
|
+
this.handleCheckNode(node);
|
35473
|
+
return;
|
35474
|
+
}
|
35475
|
+
node.isLoading = this.isIncludeChildren;
|
35476
|
+
const children = this.getListChildrenOfNode(node).filter(x => x.expandable && !x.markedGetChildren);
|
35477
|
+
children.forEach(x => x.isLoading = this.isIncludeChildren);
|
35478
|
+
return;
|
35479
|
+
}
|
35480
|
+
this.handleCheckNode(node);
|
35481
|
+
}
|
35482
|
+
_handleSelectOne(nodeId) {
|
35483
|
+
const nodeTree = this.treeControl.dataNodes.find(node => node.id === nodeId);
|
35484
|
+
const reSelectSelection = (...params) => {
|
35485
|
+
params.forEach(selection => {
|
35486
|
+
const selected = selection.selected.filter(x => x.id !== nodeId);
|
35487
|
+
selection.deselect(...selected);
|
35488
|
+
});
|
35489
|
+
};
|
35490
|
+
if (!nodeTree) {
|
35491
|
+
const item = this.checkListSelectionSearch.selected.find(x => x.id === nodeId);
|
35492
|
+
if (!item)
|
35493
|
+
return;
|
35494
|
+
this.resultSelected = [{
|
35495
|
+
id: item.id,
|
35496
|
+
parentId: item.parentId,
|
35497
|
+
name: item.name,
|
35498
|
+
externalName: item.externalName,
|
35499
|
+
children: []
|
35500
|
+
}];
|
35501
|
+
this._selectedList = [...this.resultSelected];
|
35502
|
+
this.onValueChangeEvent.emit(this.resultSelected);
|
35503
|
+
reSelectSelection(this.checkListSelection, this.checkListSelectionSearch);
|
35504
|
+
this.cdRef.detectChanges();
|
35505
|
+
return;
|
35506
|
+
}
|
35507
|
+
if (this.isSelectedNode(nodeTree)) {
|
35508
|
+
const nestedNode = this.convertToNestedNode(this.checkListSelection.selected[0]);
|
35509
|
+
this._selectedList = [...this.resultSelected];
|
35510
|
+
reSelectSelection(this.checkListSelection, this.checkListSelectionSearch);
|
35511
|
+
return;
|
35512
|
+
}
|
35513
|
+
this.resultSelected = [];
|
35514
|
+
this._selectedList = [];
|
35515
|
+
}
|
35516
|
+
onExpandAllParent(node) {
|
35517
|
+
const parents = this.getAllParentNode(node);
|
35518
|
+
if (parents === null || parents === void 0 ? void 0 : parents.length) {
|
35519
|
+
parents.forEach(parent => {
|
35520
|
+
if (!this.treeControl.isExpanded(parent))
|
35521
|
+
this.onExpandNode(parent);
|
35522
|
+
});
|
35523
|
+
}
|
35524
|
+
}
|
35525
|
+
onRemoveNode(nodeId) {
|
35526
|
+
const flatNode = this.getNodeById(nodeId);
|
35527
|
+
if (!flatNode) {
|
35528
|
+
const item = this._selectedList.find(x => x.id === nodeId);
|
35529
|
+
if (!item)
|
35530
|
+
return;
|
35531
|
+
this._updateSelectedList('remove', item, this._selectedList, this.resultSelected);
|
35532
|
+
this.cdRef.detectChanges();
|
35533
|
+
return;
|
35534
|
+
}
|
35535
|
+
this.checkListSelection.deselect(flatNode);
|
35536
|
+
this.handleCheckNode(flatNode);
|
35537
|
+
}
|
35538
|
+
onSelectNode(...nodeIds) {
|
35539
|
+
const nodes = this.treeControl.dataNodes.filter(x => nodeIds.includes(x.id));
|
35540
|
+
if (!nodes.length)
|
35541
|
+
return;
|
35542
|
+
this.checkListSelection.select(...nodes);
|
35543
|
+
}
|
35544
|
+
onDeselectNode(...nodeIds) {
|
35545
|
+
const nodes = this.treeControl.dataNodes.filter(x => nodeIds.includes(x.id));
|
35546
|
+
if (!nodes.length)
|
35547
|
+
return;
|
35548
|
+
this.checkListSelection.deselect(...nodes);
|
35549
|
+
}
|
35550
|
+
/**
|
35551
|
+
* Toggles a value between selected and deselected.
|
35552
|
+
* @param nodeId :id of node
|
35553
|
+
*/
|
35554
|
+
onToggleNode(nodeId) {
|
35555
|
+
const node = this.getNodeById(nodeId);
|
35556
|
+
if (!node)
|
35557
|
+
return;
|
35558
|
+
this.checkListSelection.toggle(node);
|
35559
|
+
}
|
35560
|
+
isIndeterminate(node) {
|
35561
|
+
const childSelected = this.getListChildrenOfNode(node).filter(item => this.isSelectedNode(item));
|
35562
|
+
return (!!childSelected.length && !this.isSelectedNode(node));
|
35563
|
+
}
|
35564
|
+
isCheckAll(node) {
|
35565
|
+
const listCheck = [...this.getListChildrenOfNode(node), node];
|
35566
|
+
return listCheck.every(item => this.isSelectedNode(item));
|
35567
|
+
}
|
35568
|
+
/**
|
35569
|
+
* This function handle check node of tree
|
35570
|
+
* @param node node of tree
|
35571
|
+
* @param callback do something before handle check node
|
35572
|
+
* @returns
|
35573
|
+
*/
|
35574
|
+
onBeforeCheckNode(node, callback) {
|
35575
|
+
return __awaiter(this, void 0, void 0, function* () {
|
35576
|
+
this._handlingLazyObject.checkNode = true;
|
35577
|
+
if (!!callback)
|
35578
|
+
yield callback(node);
|
35579
|
+
this.handleCheckNode(node);
|
35580
|
+
this._handlingLazyObject.checkNode = false;
|
35581
|
+
});
|
35582
|
+
}
|
35583
|
+
handleCheckNode(node) {
|
35584
|
+
const isSelected = this.isSelectedNode(node);
|
35585
|
+
const childSelected = this.getChildrenSelected(node);
|
35586
|
+
const nestedNode = this.convertToNestedNode(node);
|
35587
|
+
if (isSelected) {
|
35588
|
+
// Check existed group
|
35589
|
+
const existedGroup = this.getAllParentNode(node).find(x => this.convertToNestedNode(x).isGroup);
|
35590
|
+
if (!this.isIncludeChildren) {
|
35591
|
+
nestedNode.groupId = existedGroup === null || existedGroup === void 0 ? void 0 : existedGroup.id;
|
35592
|
+
return;
|
35593
|
+
}
|
35594
|
+
const children = this.getListChildrenOfNode(node);
|
35595
|
+
nestedNode.isGroup = !existedGroup && !!children.length;
|
35596
|
+
if (!children.length)
|
35597
|
+
return;
|
35598
|
+
children.forEach(x => {
|
35599
|
+
const _node = this.convertToNestedNode(x);
|
35600
|
+
_node.groupId = existedGroup ? existedGroup.id : node.id;
|
35601
|
+
_node.isGroup = false;
|
35602
|
+
});
|
35603
|
+
this.updateDataTree(this.currentTreeData);
|
35604
|
+
this.checkListSelection.deselect(...childSelected.map(x => this.resetNode(x)));
|
35605
|
+
this.checkListSelection.select(...children.map(x => this.resetNode(x)));
|
35606
|
+
return;
|
35607
|
+
}
|
35608
|
+
const _selectedIndex = this._selectedList.findIndex(x => x.id === node.id);
|
35609
|
+
_selectedIndex > -1 && this._selectedList.splice(_selectedIndex, 1);
|
35610
|
+
const deselectNodes = (this.isIncludeChildren || nestedNode.isGroup) ? childSelected : [node];
|
35611
|
+
this.checkListSelection.deselect(...deselectNodes);
|
35612
|
+
nestedNode.isGroup = false;
|
35613
|
+
this.updateDataTree(this.currentTreeData);
|
35614
|
+
return;
|
35615
|
+
}
|
35616
|
+
resetNode(node) {
|
35617
|
+
node.isGroup = false;
|
35618
|
+
return node;
|
35619
|
+
}
|
35620
|
+
isSelectedNode(node) {
|
35621
|
+
return node && this.checkListSelection.isSelected(node);
|
35622
|
+
}
|
35623
|
+
getChildrenSelected(node) {
|
35624
|
+
return this.getListChildrenOfNode(node).filter(x => this.isSelectedNode(x));
|
35625
|
+
}
|
35626
|
+
/**
|
35627
|
+
* Gets a list of the data node's subtree of descendent data nodes.
|
35628
|
+
* @param node
|
35629
|
+
* @returns
|
35630
|
+
*/
|
35631
|
+
getListChildrenOfNode(node) {
|
35632
|
+
const flatNode = this.getNodeById(node.id);
|
35633
|
+
if (!flatNode)
|
35634
|
+
return [];
|
35635
|
+
return this.treeControl.getDescendants(flatNode);
|
35636
|
+
}
|
35637
|
+
_mapToNestedListNode(flatNodeList) {
|
35638
|
+
return flatNodeList.map(item => this.convertToNestedNode(item));
|
35639
|
+
}
|
35640
|
+
convertToNestedNode(node) {
|
35641
|
+
return this.flatTreeNodeMap.get(node) || {};
|
35642
|
+
}
|
35643
|
+
convertToFlatNode(node) {
|
35644
|
+
return this.nestedTreeNodeMap.get(node);
|
35645
|
+
}
|
35646
|
+
getAllParentNode(node) {
|
35647
|
+
const listParent = [];
|
35648
|
+
let parent = this.getParentNode(node);
|
35649
|
+
while (parent) {
|
35650
|
+
listParent.push(parent);
|
35651
|
+
parent = this.getParentNode(parent);
|
35652
|
+
}
|
35653
|
+
return listParent;
|
35654
|
+
}
|
35655
|
+
getParentNode(node) {
|
35656
|
+
const currentLevel = this.getLevel(node);
|
35657
|
+
if (currentLevel < 1)
|
35658
|
+
return;
|
35659
|
+
const index = this.treeControl.dataNodes.indexOf(node) - 1;
|
35660
|
+
for (let i = index; i >= 0; i--) {
|
35661
|
+
const currentNode = this.treeControl.dataNodes[i];
|
35662
|
+
if (this.getLevel(currentNode) < currentLevel) {
|
35663
|
+
return currentNode;
|
35664
|
+
}
|
35665
|
+
}
|
35666
|
+
return;
|
35667
|
+
}
|
35668
|
+
getItemIconType(item) {
|
35669
|
+
if (!!item.itemMatIcon)
|
35670
|
+
return this.itemIconType.name;
|
35671
|
+
if (!!item.itemIconSvg)
|
35672
|
+
return this.itemIconType.svg;
|
35673
|
+
if (!!item.itemIcon)
|
35674
|
+
return this.itemIconType.path;
|
35675
|
+
return;
|
35676
|
+
}
|
35677
|
+
onScrollIntoNode(nodeId) {
|
35678
|
+
const flatNode = this.getNodeById(nodeId);
|
35679
|
+
if (!nodeId)
|
35680
|
+
return;
|
35681
|
+
this.onExpandNode(flatNode);
|
35682
|
+
this.onExpandAllParent(flatNode);
|
35683
|
+
const index = this.treeControl.dataNodes.findIndex(x => x.id === flatNode.id);
|
35684
|
+
if (!this.cdkVirtualScrollViewport)
|
35685
|
+
return;
|
35686
|
+
this.cdkVirtualScrollViewport.scrollToIndex(index, 'smooth');
|
35687
|
+
this.getActiveNodeEvent$.next(nodeId);
|
35688
|
+
}
|
35689
|
+
onSearch() {
|
35690
|
+
var _a;
|
35691
|
+
if (!this.formSearchControl.value || ((_a = this.formSearchControl.value) === null || _a === void 0 ? void 0 : _a.trim()) === '')
|
35692
|
+
return;
|
35693
|
+
this.getLoading$.next(true);
|
35694
|
+
this.setIndexView(1);
|
35695
|
+
this.onSearchEvent.emit(this.formSearchControl.value);
|
35696
|
+
if (!this.paginatorSearch)
|
35697
|
+
return;
|
35698
|
+
this.paginatorSearch.changePage(0);
|
35699
|
+
this.paginatorSearch.renderDisplayNumberOfpages();
|
35700
|
+
}
|
35701
|
+
setResultSearch(data) {
|
35702
|
+
this.searchDepartment$.next(data);
|
35703
|
+
}
|
35704
|
+
onClickResultItem(item) {
|
35705
|
+
const node = this.getNodeById(item.id);
|
35706
|
+
if (node) {
|
35707
|
+
this.scrollToNode(node.id);
|
35708
|
+
}
|
35709
|
+
}
|
35710
|
+
onBreadCrumbItemClick(item) {
|
35711
|
+
const node = this.getNodeById(item.id);
|
35712
|
+
if (node) {
|
35713
|
+
this.setIndexView(0);
|
35714
|
+
of(node.id).pipe(delay(700), takeUntil(this.ngUnsubscribe)).subscribe(res => {
|
35715
|
+
this.onScrollIntoNode(res);
|
35716
|
+
});
|
35717
|
+
}
|
35718
|
+
}
|
35719
|
+
onCheckItemSearchResult(item) {
|
35720
|
+
this.checkListSelectionSearch.toggle(item);
|
35721
|
+
if (this.config.isSelectOne) {
|
35722
|
+
this.checkListSelectionSearch.deselect(...this.checkListSelectionSearch.selected.filter(x => x.id != item.id));
|
35723
|
+
}
|
35724
|
+
this.onCheckItemSearchEvent.emit({
|
35725
|
+
state: this.checkListSelectionSearch.isSelected(item),
|
35726
|
+
item: item
|
35727
|
+
});
|
35728
|
+
if (this.config.lazy) {
|
35729
|
+
if (!this._handlingLazyObject.checkItemSearch) {
|
35730
|
+
this._handleCheckResutlSearch(item);
|
35731
|
+
return;
|
35732
|
+
}
|
35733
|
+
return;
|
35734
|
+
}
|
35735
|
+
this._handleCheckResutlSearch(item);
|
35736
|
+
this.onValueChangeEvent.emit(this.resultSelected);
|
35737
|
+
}
|
35738
|
+
onBeforeCheckItemSearch(item, callback) {
|
35739
|
+
return __awaiter(this, void 0, void 0, function* () {
|
35740
|
+
item.isLoading = true;
|
35741
|
+
this._handlingLazyObject.checkItemSearch = true;
|
35742
|
+
// hold state before call method callback to prevent lost it's state unexpected
|
35743
|
+
const isSelect = this.isSelectItemSearch(item.id);
|
35744
|
+
if (!!callback)
|
35745
|
+
yield callback(item);
|
35746
|
+
item.isLoading = false;
|
35747
|
+
this._handleCheckResutlSearch(item, isSelect);
|
35748
|
+
this.onValueChangeEvent.emit(this.resultSelected);
|
35749
|
+
this._handlingLazyObject.checkItemSearch = false;
|
35750
|
+
});
|
35751
|
+
}
|
35752
|
+
onBeforeCheckAllSearch(callback) {
|
35753
|
+
return __awaiter(this, void 0, void 0, function* () {
|
35754
|
+
this._handlingLazyObject.checkAllSearch = true;
|
35755
|
+
if (!!callback)
|
35756
|
+
yield callback(this.resultSearch);
|
35757
|
+
this._handlingLazyObject.checkAllSearch = false;
|
35758
|
+
if (!this.resultSearch.length)
|
35759
|
+
return;
|
35760
|
+
for (let i = 0; i < this.resultSearch.length; i++) {
|
35761
|
+
const item = this.resultSearch[i];
|
35762
|
+
this._handleCheckResutlSearch(item);
|
35763
|
+
}
|
35764
|
+
});
|
35765
|
+
}
|
35766
|
+
canHandleItemSearchResult(item) {
|
35767
|
+
if (!this.treeControl)
|
35768
|
+
return false;
|
35769
|
+
return this.treeControl.dataNodes.some(node => node.id === item.id) || this.config.lazy;
|
35770
|
+
}
|
35771
|
+
_mapToResultSearch() {
|
35772
|
+
if (!!this.resultSearch.length)
|
35773
|
+
this.resultSearch.forEach(item => {
|
35774
|
+
var _a;
|
35775
|
+
const isExistInResultSelected = (_a = this.resultSelected) === null || _a === void 0 ? void 0 : _a.some(x => { var _a; return x.id === item.id || ((_a = x.children) === null || _a === void 0 ? void 0 : _a.some(y => y.id === item.id)); });
|
35776
|
+
isExistInResultSelected ? this.checkListSelectionSearch.select(item) : this.checkListSelectionSearch.deselect(item);
|
35777
|
+
});
|
35778
|
+
}
|
35779
|
+
_handleCheckResutlSearch(item, state = this.isSelectItemSearch(item.id)) {
|
35780
|
+
item.isLoading = false;
|
35781
|
+
const currentNode = this.getNodeById(item.id.toString());
|
35782
|
+
if (!!currentNode) {
|
35783
|
+
if (state) {
|
35784
|
+
if (this.checkListSelection.isSelected(currentNode))
|
35785
|
+
return;
|
35786
|
+
if (this.checkListSelectionSearch.isSelected(item))
|
35787
|
+
this.checkListSelection.select(currentNode);
|
35788
|
+
}
|
35789
|
+
else {
|
35790
|
+
this.checkListSelection.deselect(currentNode);
|
35791
|
+
}
|
35792
|
+
this.config.isSelectOne ? this._handleSelectOne(currentNode.id) : this.handleCheckNode(currentNode);
|
35793
|
+
this.cdRef.detectChanges();
|
35794
|
+
return;
|
35795
|
+
}
|
35796
|
+
if (this.config.isSelectOne) {
|
35797
|
+
this._handleSelectOne(item.id);
|
35798
|
+
return;
|
35799
|
+
}
|
35800
|
+
this._updateSelectedList(state ? 'add' : 'remove', item, this._selectedList, this.resultSelected);
|
35801
|
+
}
|
35802
|
+
isSelectItemSearch(id) {
|
35803
|
+
return this.checkListSelectionSearch.selected.some(x => x.id === id);
|
35804
|
+
}
|
35805
|
+
_updateSelectedList(state, item, ...selectedLists) {
|
35806
|
+
if (!item)
|
35807
|
+
return;
|
35808
|
+
selectedLists.forEach(selectedList => {
|
35809
|
+
const itemExisted = selectedList.find(x => x.id === item.id);
|
35810
|
+
switch (state) {
|
35811
|
+
case 'add':
|
35812
|
+
if (item.groupId) {
|
35813
|
+
const group = selectedList.find(x => x.id === item.groupId);
|
35814
|
+
if (!group && !itemExisted) {
|
35815
|
+
selectedList.push(item);
|
35816
|
+
}
|
35817
|
+
!group.children.some(x => x.id === item.id) && group.children.push(item);
|
35818
|
+
return;
|
35819
|
+
}
|
35820
|
+
!itemExisted && selectedList.push(item);
|
35821
|
+
break;
|
35822
|
+
case 'remove':
|
35823
|
+
if (!itemExisted) {
|
35824
|
+
const group = selectedList.find(x => x.children.some(x1 => x1.id === item.id));
|
35825
|
+
if (!group)
|
35826
|
+
return;
|
35827
|
+
const index = group.children.findIndex(x => x.id === item.id);
|
35828
|
+
if (index < 0)
|
35829
|
+
return;
|
35830
|
+
group.children.splice(index, 1);
|
35831
|
+
return;
|
35832
|
+
}
|
35833
|
+
selectedList.splice(selectedList.indexOf(itemExisted), 1);
|
35834
|
+
const itemSelectionSearch = this.checkListSelectionSearch.selected.find(x => x.id === itemExisted.id);
|
35835
|
+
itemSelectionSearch && this.checkListSelectionSearch.deselect(itemSelectionSearch);
|
35836
|
+
break;
|
35837
|
+
default:
|
35838
|
+
break;
|
35839
|
+
}
|
35840
|
+
});
|
35841
|
+
}
|
35842
|
+
onSelectAllSearchResult(checked) {
|
35843
|
+
checked = !checked;
|
35844
|
+
if (!this.resultSearch.length)
|
35845
|
+
return;
|
35846
|
+
if (this.config.handleCheckAllItemSearch) {
|
35847
|
+
for (let i = 0; i < this.resultSearch.length; i++) {
|
35848
|
+
const item = this.resultSearch[i];
|
35849
|
+
if (checked) {
|
35850
|
+
const treeNode = this.treeControl.dataNodes.find(node => node.id === item.id);
|
35851
|
+
const canSelect = (!!treeNode || this.config.lazy);
|
35852
|
+
if (!canSelect)
|
35853
|
+
continue;
|
35854
|
+
!this.checkListSelectionSearch.isSelected(item) && this.checkListSelectionSearch.select(item);
|
35855
|
+
}
|
35856
|
+
else {
|
35857
|
+
const _itemSelections = this.checkListSelectionSearch.selected.filter(x => x.id === item.id);
|
35858
|
+
if (_itemSelections.length)
|
35859
|
+
this.checkListSelectionSearch.deselect(..._itemSelections);
|
35860
|
+
}
|
35861
|
+
if (!this.config.lazy || !this._handlingLazyObject.checkAllSearch)
|
35862
|
+
this._handleCheckResutlSearch(item, checked);
|
35863
|
+
}
|
35864
|
+
}
|
35865
|
+
this.onCheckAllItemSearchEvent.emit(checked);
|
35866
|
+
this.onValueChangeEvent.emit(this.resultSelected);
|
35867
|
+
}
|
35868
|
+
isDisableChecboxAllSearch() {
|
35869
|
+
return this.resultSearch && this.resultSearch.every(x => x.disabled);
|
35870
|
+
}
|
35871
|
+
onPagingSearchResult(val) {
|
35872
|
+
this.getLoading$.next(true);
|
35873
|
+
this.onPagingSearchEvent.emit(val);
|
35874
|
+
}
|
35875
|
+
scrollToNode(nodeId) {
|
35876
|
+
this.scrollToNodeEvent$.next(nodeId);
|
35877
|
+
}
|
35878
|
+
setIndexView(index) {
|
35879
|
+
if (index === 1 && this.config.resetToggleIncludeChildWhenChangeView) {
|
35880
|
+
this.isIncludeChildren = false;
|
35881
|
+
}
|
35882
|
+
this.getIndexView$.next(index);
|
35883
|
+
}
|
35884
|
+
canActiveNodeExternal(node) {
|
35885
|
+
const allParent = this.getAllParentNode(node);
|
35886
|
+
return !allParent || allParent.every(item => this.treeControl.isExpanded(item));
|
35887
|
+
}
|
35888
|
+
getHeightStyleRefNode(nodeId) {
|
35889
|
+
const nodeEle = this.eleRef.nativeElement.querySelector(`.mat-tree-node#mat-node-${nodeId}`);
|
35890
|
+
return `${(nodeEle === null || nodeEle === void 0 ? void 0 : nodeEle.clientHeight) || 0}px`;
|
35891
|
+
}
|
35892
|
+
getSelectedNodeStorage() {
|
35893
|
+
return JSON.parse(localStorage.getItem('selectedNode'));
|
35894
|
+
}
|
35895
|
+
setSelectedNodeStorage(node) {
|
35896
|
+
this.isIncludeChildren && localStorage.setItem('selectedNode', JSON.stringify(node));
|
35897
|
+
}
|
35898
|
+
setDefaultPaginatorSize(options) {
|
35899
|
+
this.PAGE_SIZE_OPTION = options;
|
35900
|
+
}
|
35901
|
+
trackBy(index, item) {
|
35902
|
+
return item;
|
35903
|
+
}
|
35904
|
+
/**
|
35905
|
+
* This function use for lazy load children of node
|
35906
|
+
* @param node node update. if node is null data auto insert as roots
|
35907
|
+
* @param data list children to update node.
|
35908
|
+
* @param mode default is update that replace current list children by new list children , if mode = 'insert' will insert new values to list children existed before.
|
35909
|
+
*/
|
35910
|
+
updateChildOfNode(node, data = [], mode = 'update') {
|
35911
|
+
node.isLoading = false;
|
35912
|
+
this.checkLoadingOfParent(node);
|
35913
|
+
const nestedNode = this.convertToNestedNode(node);
|
35914
|
+
const dataNodes = this.treeDepartmentService.convertToTreeData(data).filter(x => x.parentId === node.id);
|
35915
|
+
if (!nestedNode)
|
35916
|
+
return;
|
35917
|
+
switch (mode) {
|
35918
|
+
case 'insert':
|
35919
|
+
nestedNode.children.push(...dataNodes);
|
35920
|
+
break;
|
35921
|
+
case 'update':
|
35922
|
+
nestedNode.children = dataNodes;
|
35923
|
+
break;
|
35924
|
+
}
|
35925
|
+
this.updateDataTree(this.currentTreeData);
|
35926
|
+
const _node = this.getNodeById(node.id);
|
35927
|
+
const nodes = this.treeControl.getDescendants(_node);
|
35928
|
+
for (let i = 0; i < this.resultSelected.length; i++) {
|
35929
|
+
const item = this.resultSelected[i];
|
35930
|
+
this._reUpdateSelectionNode(item.id);
|
35931
|
+
const descendants = this.treeDepartmentService.getDescendantsOfNode(item);
|
35932
|
+
if (!descendants.length)
|
35933
|
+
continue;
|
35934
|
+
for (let j = 0; j < descendants.length; j++) {
|
35935
|
+
const child = descendants[j];
|
35936
|
+
this._reUpdateSelectionNode(child.id);
|
35937
|
+
}
|
35938
|
+
}
|
35939
|
+
this.selectedListAfterDataNodeChange$.next([_node, ...nodes]);
|
35940
|
+
}
|
35941
|
+
//re-select when update children of node
|
35942
|
+
_reUpdateSelectionNode(nodeId) {
|
35943
|
+
const node = this.getNodeById(nodeId);
|
35944
|
+
if (!node || this.checkListSelection.isSelected(node))
|
35945
|
+
return;
|
35946
|
+
const existInSelection = this.checkListSelection.selected.find(x => x.id == node.id);
|
35947
|
+
if (existInSelection)
|
35948
|
+
this.checkListSelection.deselect(existInSelection);
|
35949
|
+
this.checkListSelection.select(node);
|
35950
|
+
}
|
35951
|
+
checkLoadingOfParent(node) {
|
35952
|
+
const allParent = this.getAllParentNode(node);
|
35953
|
+
if (!allParent.length)
|
35954
|
+
return;
|
35955
|
+
for (let i = 0; i < allParent.length; i++) {
|
35956
|
+
const parent = allParent[i];
|
35957
|
+
const descendants = this.treeControl.getDescendants(parent);
|
35958
|
+
parent.isLoading = descendants.some(x => x.isLoading);
|
35959
|
+
}
|
35960
|
+
}
|
35961
|
+
getNodeById(id) {
|
35962
|
+
return this.treeControl.dataNodes.find(node => node.id === id) || undefined;
|
35963
|
+
}
|
35964
|
+
getRootOfNode(node) {
|
35965
|
+
const allParent = this.getAllParentNode(node);
|
35966
|
+
if (!allParent.length)
|
35967
|
+
return undefined;
|
35968
|
+
return allParent.pop();
|
35969
|
+
}
|
35970
|
+
addRootTree(data = []) {
|
35971
|
+
this.getLoadingMore$.next(false);
|
35972
|
+
if (!data.length)
|
35973
|
+
return;
|
35974
|
+
const treeNodeData = this.treeDepartmentService.convertToTreeData(data);
|
35975
|
+
// re-check root was existed in tree
|
35976
|
+
for (let i = 0; i < treeNodeData.length; i++) {
|
35977
|
+
const item = treeNodeData[i];
|
35978
|
+
const node = this.getNodeById(item.id);
|
35979
|
+
if (!!node && node.expandable && !node.markedGetChildren) {
|
35980
|
+
const nestedNode = this.convertToNestedNode(node);
|
35981
|
+
nestedNode.children = item.children;
|
35982
|
+
nestedNode.markedGetChildren = true;
|
35983
|
+
return;
|
35984
|
+
}
|
35985
|
+
if (!node)
|
35986
|
+
this.currentTreeData.push(item);
|
35987
|
+
}
|
35988
|
+
this.updateDataTree(this.currentTreeData);
|
35989
|
+
this.selectedListAfterDataNodeChange$.next(data);
|
35990
|
+
}
|
35991
|
+
getCheckedStatusNode(node) {
|
35992
|
+
return this.isSelectedNode(node);
|
35993
|
+
}
|
35994
|
+
updateNodeInformation(node) {
|
35995
|
+
let nestedNode = this.convertToNestedNode(node);
|
35996
|
+
if (!nestedNode) {
|
35997
|
+
return;
|
35998
|
+
}
|
35999
|
+
nestedNode.childCount = node.childCount;
|
36000
|
+
nestedNode.name = node.name;
|
36001
|
+
nestedNode.itemIcon = node.itemIcon;
|
36002
|
+
nestedNode.itemIconSvg = node.itemIconSvg;
|
36003
|
+
nestedNode.selectedChildCount = node.selectedChildCount;
|
36004
|
+
nestedNode.markedGetChildCountRecurrsive = node.markedGetChildCountRecurrsive;
|
36005
|
+
nestedNode.isIncludeChildWhenChecked = node.isIncludeChildWhenChecked;
|
36006
|
+
}
|
36007
|
+
updateSelectedResultData(node) {
|
36008
|
+
const nodeResult = this.resultSelected.find((x) => x.id === node.id);
|
36009
|
+
if (nodeResult) {
|
36010
|
+
nodeResult.childCount = node.childCount;
|
36011
|
+
nodeResult.selectedChildCount = node.selectedChildCount;
|
36012
|
+
}
|
36013
|
+
}
|
36014
|
+
callCheckNodeOutside(node) {
|
36015
|
+
this.checkListSelection.toggle(node);
|
36016
|
+
//this.handleCheckNode(node);
|
36017
|
+
}
|
36018
|
+
}
|
36019
|
+
SelectProcessDataTreeComponent.decorators = [
|
36020
|
+
{ type: Component, args: [{
|
36021
|
+
selector: 'qms-select-process-data-tree',
|
36022
|
+
template: "<div [ngClass]=\"['qms-select-department-tree-container', (config.customClass || '')]\">\n <div class=\"input-select-department\">\n <form (ngSubmit)=\"!getLoading$.value && onSearch()\" *ngIf=\"config.enableTreeSearch\" class=\"input-field\">\n <mat-form-field class=\"w100\" qms-form qms-search-field>\n <input [formControl]=\"formSearchControl\" type=\"text\" placeholder=\"Search\" matInput />\n <button *ngIf=\"!getLoading$.value\" type=\"submit\" qms-btn-icon color=\"light\" matSuffix>\n <mat-icon>search</mat-icon>\n </button>\n <mat-progress-spinner [@inOutAnimation] matSuffix mode=\"indeterminate\" diameter=\"20\"\n *ngIf=\"getLoading$.value\"></mat-progress-spinner>\n <div *ngIf=\"!!formSearchControl.value && !getLoading$.value\" qms-input-clear matSuffix>\n <button qms-btn-icon color=\"light\" [@inOutAnimation] aria-label=\"Clear\" (click)=\"formSearchControl.reset()\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n </mat-form-field>\n </form>\n <div [@inOutAnimation] *ngIf=\"(getIndexView$ | async) === 1 && (textSearchSubject$ | async)\"\n class=\"sub-text ms-1 fw500\">\n {{LANG.RESULT_SEARCH_FOR}}<i><b>\"{{textSearchSubject$ | async}}\"</b></i>\n </div>\n <div [class.justify-content-between]=\"config.enableIncludeChild && !config.isSelectOne\"\n class=\"select__toggle-include toggle-include-child my-1 d-flex justify-content-end align-items-center\">\n <mat-slide-toggle *ngIf=\"config.enableIncludeChild && !config.isSelectOne\"\n [disabled]=\"(getIndexView$ | async) === 1 && config.disableToggleIncludeChildWhenChangeView\"\n [(ngModel)]=\"isIncludeChildren\" (ngModelChange)=\"toggleIncludeChildEvent.emit($event)\" color=\"default\"\n qms-group-options>\n <span class=\"text-label\">{{config.selectIncludeLabel || LANG.SELECT_INCLUDE_CHILD}}</span>\n </mat-slide-toggle>\n <button class=\"btn-arrow\" [@inOutAnimation] *ngIf=\"(getIndexView$ | async) === 1 && config.enableTreeSearch\"\n (click)=\"setIndexView(0)\" qms-btn-icon color=\"light\" [qms-tool-tip]=\"LANG.BACK_TO_TREE\" mode=\"dark\"\n position=\"top\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n <button class=\"btn-arrow\" [@inOutAnimation]\n *ngIf=\"(getIndexView$ | async) === 0 && config.enableTreeSearch && (textSearchSubject$ | async)\"\n (click)=\"setIndexView(1)\" qms-btn-icon color=\"light\" [qms-tool-tip]=\"LANG.GOTO_SEACH_RESULT\" mode=\"dark\"\n position=\"top\">\n <mat-icon>arrow_forward</mat-icon>\n </button>\n </div>\n </div>\n <div [@inOutAnimation]\n *ngIf=\"(getIndexView$ | async) === 0 && config.modeView === MODE_VIEW_ENUM.ExternalView && !!config.headerName\"\n class=\"header-view-tree\">\n <div class=\"header-view header-title\">\n {{config.headerName.treeName}}\n </div>\n <div class=\"header-view header-title\">\n {{config.headerName.externalName}}\n </div>\n </div>\n <mat-divider class=\"mx-auto\"></mat-divider>\n <div [@animateSlideView]=\"(getIndexView$ | async)\" [ngStyle]=\"{\n minHeight: height\n }\" class=\"tree-department-wrapper\">\n <div *ngIf=\"(getIndexView$ | async) === 0\" class=\"tree-view w100 h100\">\n <div class=\"tree-view-main h100\">\n <div *ngIf=\"!config.isSelectOne && !!treeControl.dataNodes && config.activeSelectAllNode\"\n class=\"checkbox-all-tree\" [class.sticky-position]=\"config.modeView === MODE_VIEW_ENUM.ExternalView\">\n <!-- Checkbox all root node -->\n <mat-checkbox [@inOutAnimation] (click)=\"onCheckAllRootTreeNode()\"\n [indeterminate]=\"isIndeterminateCheckboxAllTree\" [checked]=\"isAllDepartmentSelected\" qms-group-options\n color=\"default\" label=\"none\" class=\"checkbox-all\">\n <span class=\"text-label \">{{LANG.CHOOSE_ALL}}</span>\n <span>(<b>{{treeControl.dataNodes.length}}</b>)</span>\n </mat-checkbox>\n <mat-divider class=\"mx-auto\"></mat-divider>\n </div>\n <cdk-virtual-scroll-viewport *ngIf=\"dataSource.data\" [ngClass]=\"{\n 'has-checkbox-all': !config.isSelectOne && config.modeView === MODE_VIEW_ENUM.Basic,\n 'select-department-tree': true\n }\" [itemSize]=\"ITEM_SIZE\" [ngStyle]=\"{height: height}\">\n <ng-container *cdkVirtualFor=\"let node of dataSource; trackBy: trackBy\">\n <div class=\"qms-tree-node mt-1\" [style.padding-left]=\"node.level * (config.isMobile ? 12 :24) + 'px'\"\n [attr.data-id]=\"node.id\" [id]=\"'mat-node-'+node.id\" [@triggerColor]=\"activeNode == node.id\" [ngClass]=\"{\n 'mat-tree-node-disabled-all': node.disabled,\n 'w-100': config.isSelectOne,\n 'selected-theme': this.checkListSelection.isSelected(node) && config.isSelectOne,\n 'expand-node': treeControl.isExpandable(node) && treeControl.isExpanded(node),\n 'active-external-view': config.modeView === MODE_VIEW_ENUM.ExternalView,\n 'node-loading': node.isLoading\n }\">\n <div class=\"node-expand-area\">\n <button class=\"btn-toggle\" qms-btn-icon color=\"light\" (click)=\"onExpandNode(node)\"\n *ngIf=\"treeControl.isExpandable(node) && !node.isLoading\">\n <mat-icon>\n {{ treeControl.isExpanded(node) ? \"expand_more\" : \"chevron_right\" }}\n </mat-icon>\n </button>\n <ng-container *ngIf=\"node.isLoading; then loadingSpinner\"></ng-container>\n </div>\n <ng-container [ngTemplateOutlet]=\"config.isSelectOne ? nodeWithoutCheckboxTemplate : showCheckboxTemplate\"\n [ngTemplateOutletContext]=\"{ node: node }\"></ng-container>\n <div *ngIf=\"config.modeView === MODE_VIEW_ENUM.ExternalView\" class=\"external-view-node\">\n <span class=\"node-external\" qms-elipsify position=\"top\" mode=\"dark\">\n {{node.externalName || ''}}\n </span>\n </div>\n </div>\n </ng-container>\n </cdk-virtual-scroll-viewport>\n <ng-container [@inOutAnimation] *ngIf=\"config.spinnerWhenGetMore && getLoadingMore$| async ;then maskOverlay\">\n </ng-container>\n </div>\n </div>\n <div *ngIf=\"(getIndexView$ | async) === 1\" [ngStyle]=\"{\n height: height\n }\" class=\"qms-view-search-result\">\n <div *ngIf=\"config.modeView === MODE_VIEW_ENUM.ExternalView\"\n class=\"qms-view-search-result__header d-flex align-items-center justify-content-between\">\n <div class=\"header-title\">\n <span qms-elipsify mode=\"dark\" position=\"top\">\n {{config.headerName.resultSearchName}}\n </span>\n </div>\n <div class=\"header-title\">\n <span qms-elipsify mode=\"dark\" position=\"top\">\n {{config.headerName.externalName}}\n </span>\n </div>\n </div>\n <ng-container *ngIf=\"getLoading$.value; then loading\"></ng-container>\n <div class=\"qms-view-search-result__wrapper\"\n [class.active-external]=\"config.modeView === MODE_VIEW_ENUM.ExternalView\"\n *ngIf=\"!!resultSearch.length && !getLoading$.value\">\n <div class=\"\">\n <mat-checkbox [@inOutAnimation]\n [disabled]=\"!resultSearch.length || config.isSelectOne || isDisableChecboxAllSearch()\" #checkAllSearch\n [indeterminate]=\"indeterminateSearchResult\" [checked]=\"isSelectAllResultSearch\" qms-group-options\n color=\"default\" label=\"none\" class=\"checkbox-all\"\n (click)=\"!config.isSelectOne && onSelectAllSearchResult(checkAllSearch.checked)\">\n <span class=\"text-label header-title\">{{LANG.CHOOSE_ALL}}</span>\n <span>(<b>{{resultSearch.length}}</b>)</span>\n </mat-checkbox>\n </div>\n <div [@inOutAnimation] [@listAnimation]\n [class.active-paging]=\"searchDepartment$.value.length > 10 && config.enablePagingSearch\" class=\"result\">\n <div [qms-tool-tip]=\"!canHandleItemSearchResult(item) ? LANG.ITEM_NOT_MATCH_TO_TREE : ''\" mode=\"dark\"\n position=\"top\" *ngFor=\"let item of resultSearch\"\n (click)=\"$event.stopImmediatePropagation(); !item.disabled && onCheckItemSearchResult(item)\"\n [class.active]=\"checkListSelectionSearch.isSelected(item)\" class=\"result-item user-select-none\" matRipple>\n <mat-checkbox [@inOutAnimation] *ngIf=\"!item.isLoading\" [disabled]=\"item.disabled\"\n (click)=\"$event.stopImmediatePropagation(); !item.disabled && onCheckItemSearchResult(item)\"\n [checked]=\"checkListSelectionSearch.isSelected(item)\" qms-group-options color=\"default\" label=\"none\">\n </mat-checkbox>\n <div *ngIf=\"item.isLoading\" [@inOutAnimation] class=\"position-relative\">\n <ng-container *ngIf=\"item.isLoading; then loadingSpinner\"></ng-container>\n </div>\n <div class=\"result-item__content\">\n <div class=\"item-result-content-wraper\">\n <div class=\"text-gray fw-bold fs-base mb0\">{{item.name}}</div>\n <qms-breadcrumb *ngIf=\"item.location?.length > 1\" [type]=\"config.isMobile ? 'mobile': ''\"\n [numDisplayItem]=\"6\" (onItemClick)=\"$event.stopImmediatePropagation()\" class=\"breadcrumb-container\"\n [nodes]=\"item.location\">\n </qms-breadcrumb>\n <div *ngIf=\"item.location?.length === 1\" class=\"d-flex align-items-center\">\n <span qms-elipsify mode=\"dark\" position=\"top\"\n class=\"item-breadcrumb-disable d-block\">{{item.location[0].name}}</span>\n </div>\n </div>\n <div *ngIf=\"config.modeView === MODE_VIEW_ENUM.ExternalView\" class=\"external-name\">\n <span qms-elipsify mode=\"dark\" position=\"top\" class=\"text-gray fs-base mb0\">{{item.externalName}}\n </span>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div [@inOutAnimation] *ngIf=\"!resultSearch.length && !getLoading$.value\" class=\"result no-result\">\n <ng-container *ngTemplateOutlet=\"noResult\"></ng-container>\n </div>\n <mat-divider *ngIf=\"searchDepartment$.value.length > 10 && config.enablePagingSearch\"\n class=\"mx-auto\"></mat-divider>\n <qms-paginator #paginatorSearch *ngIf=\"searchDepartment$.value.length > 10 && config.enablePagingSearch \"\n [length]=\"searchDepartment$.value.length\" [numHidden]=\"0\" [pageSize]=\"CURRENT_PAGESIZE\"\n [pageSizeOptions]=\"PAGE_SIZE_OPTION\" (page)='onPagingSearchResult($event)'\n [size]='config.isMobile ? PAGINATION_SIZE.small : PAGINATION_SIZE.medium'>\n </qms-paginator>\n </div>\n </div>\n\n <!-- Template for Checkbox -->\n <ng-template #showCheckboxTemplate let-node=\"node\">\n <mat-checkbox [id]=\"'node-'+node.id\" qms-group-options color=\"default\" label=\"none\" class=\"flex-direction-row\"\n [disabled]=\"node.isLoading\" [checked]=\"checkListSelection.isSelected(node)\"\n (click)=\"!node.isLoading && onCheckNode(node)\" [attr.disabled]=\"node.disabled || node.isLoading\">\n <img [title]=\"node.itemIconSvg\" *ngIf=\"node.itemIconSvg\" class=\"material-icons type-icon\"\n [src]=\"node.itemIconSvg\" />\n <span *ngIf=\"node.itemIcon\" [class]=\"node.itemIcon\" [qmsTransformIcon]=\"node.itemIcon\"\n class=\"material-icons-outlined type-icon\"></span>\n <span *ngIf=\"node.itemMatIcon\" class=\"material-icons-outlined type-icon\">{{\n node.itemMatIcon }}\n </span>\n <span class=\"text-name cursor-pointer ml5 123\" [ngClass]=\"{ disabled: node.disabled }\">{{ node.name}}\n </span>\n </mat-checkbox>\n </ng-template>\n\n <!-- Template node without checkbox -->\n <ng-template #nodeWithoutCheckboxTemplate let-node=\"node\">\n <div [id]=\"'node-'+node.id\" (click)=\"onCheckNode(node)\" class=\"node-without-checkbox\">\n <div class=\"node-info\">\n <span *ngIf=\"node.itemIcon\" [class]=\"node.itemIcon\" [qmsTransformIcon]=\"node.itemIcon\"\n class=\"material-icons-outlined type-icon\"></span>\n <span *ngIf=\"node.itemMatIcon\" class=\"material-icons-outlined type-icon\">{{\n node.itemMatIcon }}\n </span>\n <span class=\"text-name cursor-pointer pl-10 123\" [ngClass]=\"{ disabled: node.disabled }\">{{ node.name }}</span>\n </div>\n <div class=\"node-state\">\n <mat-icon *ngIf=\"checkListSelection.isSelected(node)\">check</mat-icon>\n </div>\n </div>\n </ng-template>\n</div>\n\n<ng-template #noResult>\n <svg width=\"89\" height=\"130\" viewBox=\"0 0 89 88\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect x=\"0.5\" width=\"88\" height=\"88\" rx=\"44\" fill=\"white\" />\n <rect x=\"0.5\" width=\"88\" height=\"88\" rx=\"44\" fill=\"#0163B2\" fill-opacity=\"0.12\" />\n <path\n d=\"M44.5 56.6936L58.096 64.8996L54.488 49.4336L66.5 39.0276L50.682 37.6856L44.5 23.0996L38.318 37.6856L22.5 39.0276L34.512 49.4336L30.904 64.8996L44.5 56.6936Z\"\n fill=\"#0163B3\" />\n <text x=\"10\" y=\"105\" fill=\"#0163B2\">{{LANG.NO_RESULT}}</text>\n </svg>\n</ng-template>\n\n<!-- Template loading -->\n<ng-template #loading>\n <div [ngStyle]=\"{\n 'height': searchDepartment$.value.length ? (config.modeView === MODE_VIEW_ENUM.ExternalView ? 'calc(100% - 90px)' : 'calc(100% - 50px)' ) : height\n }\" class=\"qms-loading-container\">\n <div class=\"qms-loader\" *ngFor=\"let item of arrSkeleton\">\n <div class=\"qms-loader__wrapper\">\n <div class=\"row-loader\">\n </div>\n </div>\n </div>\n </div>\n</ng-template>\n\n<!-- Template mask overlay -->\n<ng-template #maskOverlay>\n <div class=\"mask-overlay\">\n <mat-spinner [diameter]=\"50\" [strokeWidth]=\"5\"></mat-spinner>\n </div>\n</ng-template>\n\n<!-- Loading spinner -->\n<ng-template #loadingSpinner>\n <div class=\"qms-spinner center\">\n <mat-spinner [diameter]=\"20\" [strokeWidth]=\"2\"></mat-spinner>\n </div>\n</ng-template>",
|
36023
|
+
animations: [
|
36024
|
+
AnimationTreeDepartment
|
36025
|
+
],
|
36026
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
36027
|
+
styles: ["@charset \"UTF-8\";@font-face{font-family:icomoon;src:url(../assets/fonts/icomoon.eot?aghldx);src:url(../assets/fonts/icomoon.eot?aghldx#iefix) format(\"embedded-opentype\"),url(../assets/fonts/icomoon.ttf?aghldx) format(\"truetype\"),url(../assets/fonts/icomoon.woff?aghldx) format(\"woff\"),url(../assets/fonts/icomoon.svg?aghldx#icomoon) format(\"svg\");font-weight:400;font-style:normal;font-display:block}[class*=\" icon-\"],[class^=icon-]{font-family:icomoon!important;speak:never;font-style:normal;font-weight:400;font-feature-settings:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-acutely-toxic .path1:before{content:\"\uE91B\";color:#e32730}.icon-acutely-toxic .path2:before{content:\"\uE922\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path3:before{content:\"\uE923\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path4:before{content:\"\uE924\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path5:before{content:\"\uE925\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path6:before{content:\"\uE926\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path7:before{content:\"\uE927\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path8:before{content:\"\uE928\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path9:before{content:\"\uE929\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path10:before{content:\"\uE92A\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path11:before{content:\"\uE92B\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path12:before{content:\"\uE92C\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path13:before{content:\"\uE92D\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path14:before{content:\"\uE92E\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path15:before{content:\"\uE92F\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path16:before{content:\"\uE930\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path17:before{content:\"\uE931\";margin-left:-1em;color:#323232}.icon-add-column:before{content:\"\uE932\"}.icon-add-tooltip:before{content:\"\uE933\"}.icon-admin:before{content:\"\uE934\"}.icon-annual-cycle:before{content:\"\uE935\"}.icon-assignment-repete:before{content:\"\uE936\"}.icon-barrier-add:before{content:\"\uE937\"}.icon-barrier-edit:before{content:\"\uE938\"}.icon-barrier-view:before{content:\"\uE939\"}.icon-button-group:before{content:\"\uE93A\"}.icon-chemical-manager:before{content:\"\uE93B\"}.icon-chronic-health-hazard .path1:before{content:\"\uE93C\";color:#e32730}.icon-chronic-health-hazard .path2:before{content:\"\uE93D\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path3:before{content:\"\uE93E\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path4:before{content:\"\uE93F\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path5:before{content:\"\uE940\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path6:before{content:\"\uE941\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path7:before{content:\"\uE942\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path8:before{content:\"\uE943\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path9:before{content:\"\uE944\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path10:before{content:\"\uE945\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path11:before{content:\"\uE946\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path12:before{content:\"\uE947\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path13:before{content:\"\uE948\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path14:before{content:\"\uE949\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path15:before{content:\"\uE94A\";margin-left:-1em;color:#323232}.icon-contingency:before{content:\"\uE94B\"}.icon-corrosive .path1:before{content:\"\uE94C\";color:#323232}.icon-corrosive .path2:before{content:\"\uE94D\";margin-left:-1em;color:#323232}.icon-corrosive .path3:before{content:\"\uE94E\";margin-left:-1em;color:#323232}.icon-corrosive .path4:before{content:\"\uE94F\";margin-left:-1em;color:#323232}.icon-corrosive .path5:before{content:\"\uE950\";margin-left:-1em;color:#323232}.icon-corrosive .path6:before{content:\"\uE951\";margin-left:-1em;color:#323232}.icon-corrosive .path7:before{content:\"\uE952\";margin-left:-1em;color:#323232}.icon-corrosive .path8:before{content:\"\uE953\";margin-left:-1em;color:#323232}.icon-corrosive .path9:before{content:\"\uE954\";margin-left:-1em;color:#323232}.icon-corrosive .path10:before{content:\"\uE955\";margin-left:-1em;color:#323232}.icon-corrosive .path11:before{content:\"\uE956\";margin-left:-1em;color:#323232}.icon-corrosive .path12:before{content:\"\uE957\";margin-left:-1em;color:#323232}.icon-corrosive .path13:before{content:\"\uE958\";margin-left:-1em;color:#323232}.icon-corrosive .path14:before{content:\"\uE959\";margin-left:-1em;color:#323232}.icon-corrosive .path15:before{content:\"\uE95A\";margin-left:-1em;color:#323232}.icon-corrosive .path16:before{content:\"\uE95B\";margin-left:-1em;color:#323232}.icon-corrosive .path17:before{content:\"\uE95C\";margin-left:-1em;color:#323232}.icon-corrosive .path18:before{content:\"\uE95D\";margin-left:-1em;color:#323232}.icon-corrosive .path19:before{content:\"\uE95E\";margin-left:-1em;color:#323232}.icon-corrosive .path20:before{content:\"\uE95F\";margin-left:-1em;color:#323232}.icon-corrosive .path21:before{content:\"\uE960\";margin-left:-1em;color:#e32730}.icon-dashboard:before{content:\"\uE961\"}.icon-database-sds:before{content:\"\uE962\"}.icon-description-add:before{content:\"\uE963\"}.icon-description-edit:before{content:\"\uE964\"}.icon-description-view:before{content:\"\uE965\";color:#666}.icon-document-read .path1:before{content:\"\uE966\";color:#000;opacity:.6}.icon-document-read .path2:before{content:\"\uE967\";margin-left:-1em;color:#fff}.icon-document-read .path3:before{content:\"\uE968\";margin-left:-1em;color:#000;opacity:.6}.icon-draft:before{content:\"\uE969\"}.icon-expired-off:before{content:\"\uE96A\"}.icon-expired-on:before{content:\"\uE96B\"}.icon-explosive .path1:before{content:\"\uE96C\";color:#e32730}.icon-explosive .path2:before{content:\"\uE96D\";margin-left:-1em;color:#323232}.icon-explosive .path3:before{content:\"\uE96E\";margin-left:-1em;color:#323232}.icon-explosive .path4:before{content:\"\uE96F\";margin-left:-1em;color:#323232}.icon-explosive .path5:before{content:\"\uE970\";margin-left:-1em;color:#323232}.icon-explosive .path6:before{content:\"\uE971\";margin-left:-1em;color:#323232}.icon-explosive .path7:before{content:\"\uE972\";margin-left:-1em;color:#323232}.icon-explosive .path8:before{content:\"\uE973\";margin-left:-1em;color:#323232}.icon-explosive .path9:before{content:\"\uE974\";margin-left:-1em;color:#323232}.icon-explosive .path10:before{content:\"\uE975\";margin-left:-1em;color:#323232}.icon-explosive .path11:before{content:\"\uE976\";margin-left:-1em;color:#323232}.icon-explosive .path12:before{content:\"\uE977\";margin-left:-1em;color:#323232}.icon-explosive .path13:before{content:\"\uE978\";margin-left:-1em;color:#323232}.icon-explosive .path14:before{content:\"\uE979\";margin-left:-1em;color:#323232}.icon-explosive .path15:before{content:\"\uE97A\";margin-left:-1em;color:#323232}.icon-explosive .path16:before{content:\"\uE97B\";margin-left:-1em;color:#323232}.icon-explosive .path17:before{content:\"\uE97C\";margin-left:-1em;color:#323232}.icon-explosive .path18:before{content:\"\uE97D\";margin-left:-1em;color:#323232}.icon-explosive .path19:before{content:\"\uE97E\";margin-left:-1em;color:#323232}.icon-explosive .path20:before{content:\"\uE97F\";margin-left:-1em;color:#323232}.icon-explosive .path21:before{content:\"\uE980\";margin-left:-1em;color:#323232}.icon-explosive .path22:before{content:\"\uE981\";margin-left:-1em;color:#323232}.icon-explosive .path23:before{content:\"\uE982\";margin-left:-1em;color:#323232}.icon-explosive .path24:before{content:\"\uE983\";margin-left:-1em;color:#323232}.icon-explosive .path25:before{content:\"\uE984\";margin-left:-1em;color:#323232}.icon-explosive .path26:before{content:\"\uE985\";margin-left:-1em;color:#323232}.icon-explosive .path27:before{content:\"\uE986\";margin-left:-1em;color:#323232}.icon-explosive .path28:before{content:\"\uE987\";margin-left:-1em;color:#323232}.icon-explosive .path29:before{content:\"\uE988\";margin-left:-1em;color:#323232}.icon-explosive .path30:before{content:\"\uE989\";margin-left:-1em;color:#323232}.icon-explosive .path31:before{content:\"\uE98A\";margin-left:-1em;color:#323232}.icon-explosive .path32:before{content:\"\uE98B\";margin-left:-1em;color:#323232}.icon-explosive .path33:before{content:\"\uE98C\";margin-left:-1em;color:#323232}.icon-explosive .path34:before{content:\"\uE98D\";margin-left:-1em;color:#323232}.icon-explosive .path35:before{content:\"\uE98E\";margin-left:-1em;color:#323232}.icon-explosive .path36:before{content:\"\uE98F\";margin-left:-1em;color:#323232}.icon-explosive .path37:before{content:\"\uE990\";margin-left:-1em;color:#323232}.icon-explosive .path38:before{content:\"\uE991\";margin-left:-1em;color:#323232}.icon-explosive .path39:before{content:\"\uE992\";margin-left:-1em;color:#323232}.icon-explosive .path40:before{content:\"\uE993\";margin-left:-1em;color:#323232}.icon-explosive .path41:before{content:\"\uE994\";margin-left:-1em;color:#323232}.icon-explosive .path42:before{content:\"\uE995\";margin-left:-1em;color:#323232}.icon-explosive .path43:before{content:\"\uE996\";margin-left:-1em;color:#323232}.icon-explosive .path44:before{content:\"\uE997\";margin-left:-1em;color:#323232}.icon-explosive .path45:before{content:\"\uE998\";margin-left:-1em;color:#323232}.icon-explosive .path46:before{content:\"\uE999\";margin-left:-1em;color:#323232}.icon-file-excel:before{content:\"\uE99A\"}.icon-file-pdf:before{content:\"\uE99B\"}.icon-file-pdf-verified .path1:before{content:\"\uE99C\";color:#000;opacity:.6}.icon-file-pdf-verified .path2:before{content:\"\uE99D\";margin-left:-1em;color:#fff}.icon-file-pdf-verified .path3:before{content:\"\uE99E\";margin-left:-1em;color:#000;opacity:.6}.icon-file-word:before{content:\"\uE99F\"}.icon-filter-alt:before{content:\"\uE9A0\"}.icon-flammable .path1:before{content:\"\uE9A1\";color:#323232}.icon-flammable .path2:before{content:\"\uE9A2\";margin-left:-1em;color:#323232}.icon-flammable .path3:before{content:\"\uE9A3\";margin-left:-1em;color:#e32730}.icon-gas-under-pressure .path1:before{content:\"\uE9A4\";color:#323232}.icon-gas-under-pressure .path2:before{content:\"\uE9A5\";margin-left:-1em;color:#e32730}.icon-health-hazard .path1:before{content:\"\uE9A6\";color:#323232}.icon-health-hazard .path2:before{content:\"\uE9A7\";margin-left:-1em;color:#e32730}.icon-line-break:before{content:\"\uE9A8\"}.icon-location:before{content:\"\uE9A9\"}.icon-measure-add:before{content:\"\uE9AA\"}.icon-measure-edit:before{content:\"\uE9AB\"}.icon-measure-view:before{content:\"\uE9AC\";color:#666}.icon-messages:before{content:\"\uE9AD\"}.icon-monitoring:before{content:\"\uE9AE\";color:#666}.icon-move:before{content:\"\uE9AF\"}.icon-oxidizing .path1:before{content:\"\uE9B0\";color:#e32730}.icon-oxidizing .path2:before{content:\"\uE9B1\";margin-left:-1em;color:#323232}.icon-oxidizing .path3:before{content:\"\uE9B2\";margin-left:-1em;color:#323232}.icon-oxidizing .path4:before{content:\"\uE9B3\";margin-left:-1em;color:#323232}.icon-process-area-closed:before{content:\"\uE9B4\"}.icon-process-area-open:before{content:\"\uE9B5\"}.icon-process-linked .path1:before{content:\"\uE9B6\";color:#000;opacity:.6}.icon-process-linked .path2:before{content:\"\uE9B7\";margin-left:-1em;color:#666}.icon-risk:before{content:\"\uE9B8\"}.icon-search-in-file:before{content:\"\uE9B9\"}.icon-sort-ascending:before{content:\"\uE9BA\"}.icon-sort-descending:before{content:\"\uE9BB\"}.icon-subscript:before{content:\"\uE9BC\"}.icon-superscript:before{content:\"\uE9BD\"}.icon-syncronice-favorites:before{content:\"\uE9BE\"}.icon-system-settings:before{content:\"\uE9BF\"}.icon-view-three-outlined:before{content:\"\uE9C0\"}.icon-workplace-safety:before{content:\"\uE9C1\"}.icon-checklist:before{content:\"\uE900\"}.icon-department-document .path1:before{content:\"\uE901\";color:#000;opacity:.6}.icon-department-document .path2:before{content:\"\uE902\";margin-left:-1em;color:#00804c}.icon-department-folder-closed .path1:before{content:\"\uE903\";color:#000;opacity:.6}.icon-department-folder-closed .path2:before{content:\"\uE904\";margin-left:-1em;color:#00804c}.icon-department-folder-open .path1:before{content:\"\uE905\";color:#000;opacity:.6}.icon-department-folder-open .path2:before{content:\"\uE906\";margin-left:-1em;color:#00804c}.icon-deviation:before{content:\"\uE907\"}.icon-dropdown-folder .path1:before{content:\"\uE908\";color:#00324e}.icon-dropdown-folder .path2:before{content:\"\uE909\";margin-left:-1em;color:#fff;opacity:.6}.icon-enterprise-document .path1:before{content:\"\uE90A\";color:#000;opacity:.6}.icon-enterprise-document .path2:before{content:\"\uE90B\";margin-left:-1em;color:#cf4714}.icon-enterprise-folder-closed .path1:before{content:\"\uE90C\";color:#000;opacity:.6}.icon-enterprise-folder-closed .path2:before{content:\"\uE90D\";margin-left:-1em;color:#cf4714}.icon-enterprise-folder-open .path1:before{content:\"\uE90E\";color:#000;opacity:.6}.icon-enterprise-folder-open .path2:before{content:\"\uE90F\";margin-left:-1em;color:#cf4714}.icon-folder-closed:before{content:\"\uE910\"}.icon-folder-open:before{content:\"\uE911\"}.icon-keyboard_arrow_down:before{content:\"\uE912\"}.icon-keyboard_arrow_up:before{content:\"\uE913\"}.icon-local-document .path1:before{content:\"\uE914\";color:#000;opacity:.6}.icon-local-document .path2:before{content:\"\uE915\";margin-left:-1em;color:#1954a9}.icon-local-folder-closed .path1:before{content:\"\uE916\";color:#000;opacity:.6}.icon-local-folder-closed .path2:before{content:\"\uE917\";margin-left:-1em;color:#1954a9}.icon-local-folder-open .path1:before{content:\"\uE918\";color:#000;opacity:.6}.icon-local-folder-open .path2:before{content:\"\uE919\";margin-left:-1em;color:#1954a9}.icon-process:before{content:\"\uE91A\"}.icon-regional-document .path1:before{content:\"\uE91C\";color:#000;opacity:.6}.icon-regional-document .path2:before{content:\"\uE91D\";margin-left:-1em;color:#662e0d}.icon-regional-folder-closed .path1:before{content:\"\uE91E\";color:#000;opacity:.6}.icon-regional-folder-closed .path2:before{content:\"\uE91F\";margin-left:-1em;color:#662e0d}.icon-regional-folder-open .path1:before{content:\"\uE920\";color:#000;opacity:.6}.icon-regional-folder-open .path2:before{content:\"\uE921\";margin-left:-1em;color:#662e0d}.qms-select-department-tree-container{font-family:Open Sans,sans-serif}.qms-select-department-tree-container .mr10{margin-right:10px}.qms-select-department-tree-container .mt5{margin-bottom:5px}.qms-select-department-tree-container .mb5{margin-top:5px}.qms-select-department-tree-container .w100{width:100%}.qms-select-department-tree-container .h100{height:100%}.qms-select-department-tree-container .fw500{font-weight:500!important}.qms-select-department-tree-container .text-right{text-align:right}.qms-select-department-tree-container .mt20{margin-top:20px}.qms-select-department-tree-container .d-flex{display:flex}.qms-select-department-tree-container .align-items-center{align-items:center}.qms-select-department-tree-container .justify-content-end{justify-content:flex-end}.qms-select-department-tree-container .text-selected{color:rgba(0,0,0,.6);font-size:12px;line-height:16px;margin-top:1rem}.qms-select-department-tree-container .input-field{display:flex;align-items:center;position:relative}.qms-select-department-tree-container .input-field ::ng-deep .mat-form-field-wrapper{padding-bottom:8px!important}.qms-select-department-tree-container .input-field ::ng-deep .mat-form-field-underline{bottom:8px!important}.qms-select-department-tree-container .input-field input.input-search{width:100%;padding:10px;outline:none;border:none;background:var(--background-input-text)}.qms-select-department-tree-container .input-field .btn-search{cursor:pointer;vertical-align:middle;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.qms-select-department-tree-container .input-field .line__divider{border-bottom:1px solid #ccc;height:1px;margin-top:10px;min-width:300px;max-width:100%}.qms-select-department-tree-container .header-title{font-weight:500;color:var(--ws-text-primary);font-size:16px;display:flex;align-items:center}.qms-select-department-tree-container .header-title .header-view{padding:4px 0}.qms-select-department-tree-container .sticky-position{position:-webkit-sticky;position:sticky;top:0;left:0;z-index:1;background:#fff}.qms-select-department-tree-container .header-view-tree{display:grid;grid-template-columns:1fr 200px;grid-column-gap:2px;-moz-column-gap:2px;column-gap:2px;padding:4px 12px 4px 0}.qms-select-department-tree-container .header-view-tree .header-view:first-child{padding-left:12px}.qms-select-department-tree-container .tree-department-wrapper{padding-right:4px;overflow:hidden;position:relative;transition:height .3s ease-in-out}.qms-select-department-tree-container .tree-department-wrapper .tree-view.active-mode-external-view{width:100%;display:grid;grid-template-columns:1fr 200px;grid-column-gap:2px;-moz-column-gap:2px;column-gap:2px}.qms-select-department-tree-container .tree-department-wrapper .tree-view.active-mode-external-view .tree-view-main>.separate{height:38px}.qms-select-department-tree-container .tree-department-wrapper .tree-view.active-mode-external-view .tree-view-main>.separate.h-0{height:0}.qms-select-department-tree-container .tree-department-wrapper .tree-view.active-mode-external-view .tree-view-main:last-child{height:100%;padding-left:4px;position:relative}.qms-select-department-tree-container .tree-department-wrapper .tree-view.active-mode-external-view .tree-view-main:last-child:after{position:absolute;content:\"\";top:0;bottom:-38px;left:0;width:1px;background:rgba(0,0,0,.12)}.qms-select-department-tree-container .tree-department-wrapper .tree-view.active-mode-external-view .tree-view-main .external-list-item-container .node-external{overflow:hidden;transition:all .1s ease-in-out}.qms-select-department-tree-container .tree-department-wrapper .tree-view.active-mode-external-view .tree-view-main .external-list-item-container .node-external .node-external-content{padding:5px 15px;height:calc(100% - 2px);color:var(--default-color);font-size:14px;display:flex;align-items:center}.qms-select-department-tree-container .tree-department-wrapper .tree-view.active-mode-external-view .tree-view-main .external-list-item-container .node-external .node-external-content span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qms-select-department-tree-container .mask-overlay{z-index:1000;background-color:rgba(34,33,33,.1);position:absolute;top:0;left:0;width:100%;height:100%;border-radius:4px;overflow:hidden;display:grid;place-items:center}.qms-select-department-tree-container .select-department-tree>.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{padding:0 4px!important}.qms-select-department-tree-container .select-department-tree .qms-tree-node{display:flex;align-items:center;border-radius:4px}.qms-select-department-tree-container .select-department-tree .qms-tree-node:hover{background-color:rgba(0,0,0,.08)}.qms-select-department-tree-container .select-department-tree .qms-tree-node>.node-expand-area{width:48px;height:48px;position:relative}.qms-select-department-tree-container .select-department-tree .qms-tree-node.active-external-view .mat-checkbox.qms-group-options{width:calc(100% - 250px)}.qms-select-department-tree-container .select-department-tree .qms-tree-node.node-loading{background:var(--primary-light-6-opacity)}.qms-select-department-tree-container .select-department-tree .qms-tree-node>.external-view-node{flex-basis:200px;overflow:hidden}.qms-select-department-tree-container .select-department-tree .qms-tree-node>.external-view-node .node-external{overflow:hidden;transition:all .1s ease-in-out;display:block}.qms-select-department-tree-container .select-department-tree .qms-tree-node>.external-view-node .node-external .node-external-content{padding:5px 15px;height:calc(100% - 2px);color:var(--default-color);font-size:14px;display:flex;align-items:center}.qms-select-department-tree-container .select-department-tree .qms-tree-node>.external-view-node .node-external .node-external-content span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qms-select-department-tree-container .select-department-tree .qms-tree-node.expand-node{color:var(--primary)}.qms-select-department-tree-container .select-department-tree .qms-tree-node.expand-node:hover{background:var(--primary-light-6-opacity)}.qms-select-department-tree-container .select-department-tree .qms-tree-node.expand-node:active{background:var(--primary-light-12-opacity)}.qms-select-department-tree-container .select-department-tree .qms-tree-node.expand-node .mat-icon{color:var(--primary)}.qms-select-department-tree-container .select-department-tree .qms-tree-node .node-without-checkbox{cursor:pointer;width:100%;display:flex;justify-content:space-between;align-items:center}.qms-select-department-tree-container .select-department-tree .qms-tree-node .node-without-checkbox .mat-icon{color:var(--primary);margin-right:4px}.qms-select-department-tree-container .select-department-tree .qms-tree-node.selected-theme{background:var(--primary-light-12-opacity)}.qms-select-department-tree-container .select-department-tree .qms-tree-node.mat-tree-node-disabled-all{cursor:default!important;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.qms-select-department-tree-container .select-department-tree .qms-tree-node.mat-tree-node-disabled-all .mat-icon-rtl-mirror,.qms-select-department-tree-container .select-department-tree .qms-tree-node.mat-tree-node-disabled-all .type-icon,.qms-select-department-tree-container .select-department-tree .qms-tree-node.mat-tree-node-disabled-all button.mat-button-disabled{color:rgba(0,0,0,.38)}.qms-select-department-tree-container .select-department-tree .qms-tree-node.mat-tree-node-disabled-all .text-name.disabled{color:rgba(0,0,0,.38);cursor:default!important;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.qms-select-department-tree-container .select-department-tree .qms-tree-node.mat-tree-node-disabled-all.active{background-color:transparent}.qms-select-department-tree-container .text-name{position:relative;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;cursor:pointer;width:100%}.qms-select-department-tree-container .cursor-pointer{cursor:pointer}.qms-select-department-tree-container .ml5{margin-left:15px!important}.qms-select-department-tree-container .pl-10{padding-left:10px}.qms-select-department-tree-container ::ng-deep .mat-checkbox.qms-group-options.flex-direction-row .mat-checkbox-layout{white-space:normal}.qms-select-department-tree-container ::ng-deep .mat-checkbox.qms-group-options.flex-direction-row .node-text>span{display:block}.qms-select-department-tree-container ::ng-deep .mat-checkbox.qms-group-options.flex-direction-row .mat-checkbox-label{flex-direction:row;align-items:center;position:relative;padding-bottom:2px}.qms-select-department-tree-container .qms-view-search-result{width:100%;overflow:hidden}.qms-select-department-tree-container .qms-view-search-result__header{position:relative}.qms-select-department-tree-container .qms-view-search-result__header:after{position:absolute;content:\"\";bottom:0;left:0;width:100%;height:1px;background-color:rgba(0,0,0,.1)}.qms-select-department-tree-container .qms-view-search-result__header .header-title{padding:8px 0;display:inline-block}.qms-select-department-tree-container .qms-view-search-result__header .header-title:first-child{padding-left:12px}.qms-select-department-tree-container .qms-view-search-result__header .header-title:nth-child(2){flex-basis:200px}.qms-select-department-tree-container .qms-view-search-result>.no-result{height:100%;display:flex;justify-content:center;align-items:center}.qms-select-department-tree-container .qms-view-search-result__wrapper{height:calc(100% - 50px);width:100%}.qms-select-department-tree-container .qms-view-search-result__wrapper.active-external{height:calc(100% - 90px)!important}.qms-select-department-tree-container .qms-view-search-result__wrapper .result{max-height:calc(100% - 44px);overflow-y:auto;margin-bottom:4px;padding-right:4px}.qms-select-department-tree-container .qms-view-search-result__wrapper .result.active-paging{max-height:calc(100% - 40px)}.qms-select-department-tree-container .qms-view-search-result__wrapper .result-item{border-radius:4px;display:grid;grid-template-columns:45px 1fr;align-items:center;cursor:pointer;transition:background .3s ease;min-height:40px}.qms-select-department-tree-container .qms-view-search-result__wrapper .result-item:not(:first-child){margin-top:4px!important}.qms-select-department-tree-container .qms-view-search-result__wrapper .result-item.active,.qms-select-department-tree-container .qms-view-search-result__wrapper .result-item:hover{background:linear-gradient(0deg,rgba(1,99,178,.12),rgba(1,99,178,.12)),#fff}.qms-select-department-tree-container .qms-view-search-result__wrapper .result-item__content{display:flex;align-items:center}.qms-select-department-tree-container .qms-view-search-result__wrapper .result-item__content .item-result-content-wraper{padding:5px 15px;width:100%}.qms-select-department-tree-container .qms-view-search-result__wrapper .result-item__content .external-name{flex-basis:200px}.qms-select-department-tree-container .qms-view-search-result__wrapper .result-item__content .external-name span{width:200px;display:inline-block}.qms-select-department-tree-container .qms-view-search-result ::ng-deep .mat-checkbox.qms-group-options{display:flex;height:100%}.qms-select-department-tree-container ::ng-deep .breadcrumb-container{flex-wrap:wrap}.qms-select-department-tree-container ::ng-deep .mat-button-focus-overlay{background-color:transparent}.qms-select-department-tree-container ::ng-deep .qms-breadcrumb-item{margin:0}.qms-select-department-tree-container ::ng-deep .qms-breadcrumb-item-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;transition:color .3s ease}.qms-select-department-tree-container ::ng-deep .qms-breadcrumb-item-text:not(:last-child){max-width:150px!important}.qms-select-department-tree-container ::ng-deep .qms-paginator .mat-paginator-container .qms-total-result{margin-bottom:0;margin-right:12px;height:100%;display:flex;align-items:center}.qms-select-department-tree-container ::ng-deep .qms-paginator .mat-paginator-container .qms-total-result span{font-weight:600;color:rgba(0,0,0,.8)}.qms-select-department-tree-container ::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-range-actions{margin-bottom:0;grid-column-gap:2px;-moz-column-gap:2px;column-gap:2px}.qms-select-department-tree-container ::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-range-actions>.qms-total-result{margin-bottom:0}.qms-select-department-tree-container ::ng-deep .qms-paginator .mat-form-field-wrapper{padding-bottom:0}.qms-select-department-tree-container ::ng-deep .qms-paginator .qms-paginator-page-size{align-items:center}.qms-select-department-tree-container .text-gray{color:#242424}.qms-select-department-tree-container .mb0{margin-bottom:0!important}.qms-select-department-tree-container .fs-base{font-size:14px!important}.qms-select-department-tree-container .user-select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.qms-select-department-tree-container .item-breadcrumb-disable{cursor:not-allowed;color:rgba(0,0,0,.6);font-weight:400;font-size:14px;max-width:250px}.qms-select-department-tree-container ::ng-deep .mat-checkbox.checkbox-all .mat-checkbox-label{flex-direction:row;align-items:center;grid-column-gap:4px;-moz-column-gap:4px;column-gap:4px}.qms-select-department-tree-container ::ng-deep .btn-arrow{width:40px;height:40px;line-height:40px}.qms-select-department-tree-container .qms-loading-container{overflow:hidden;display:grid;grid-template-rows:repeat(60px)}.qms-select-department-tree-container .qms-loading-container .qms-loader{position:relative;width:100%;height:100%;padding:10px 0;overflow:hidden}.qms-select-department-tree-container .qms-loading-container .qms-loader:after{content:\"\";position:absolute;width:100%;height:100%;top:0;left:0;background:linear-gradient(110deg,hsla(0,0%,91%,0),hsla(0,0%,89%,0) 40%,hsla(0,0%,89%,.5) 50%,hsla(0,0%,89%,0) 60%,hsla(0,0%,89%,0));-webkit-animation:animate-loading 1.2s linear infinite;animation:animate-loading 1.2s linear infinite}.qms-select-department-tree-container .qms-loading-container .qms-loader__wrapper{position:relative;width:100%;height:100%}.qms-select-department-tree-container .qms-loading-container .qms-loader__wrapper .row-loader{background-color:#eee;position:absolute;left:0;width:100%;height:40px}@-webkit-keyframes animate-loading{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}@keyframes animate-loading{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.qms-select-department-tree-container .qms-spinner{font-size:20px;position:relative;display:inline-block;width:1em;height:1em}.qms-select-department-tree-container .qms-spinner.center{position:absolute;left:0;right:0;top:0;bottom:0;margin:auto}.qms-select-department-tree-container .mat-spinner circle,.qms-select-department-tree-container ::ng-deep .mat-progress-spinner circle{stroke:#1b75be!important}@media screen and (max-width:600px){.qms-select-department-tree-container .external-view-node{flex-basis:65px!important}.qms-select-department-tree-container .qms-tree-node.active-external-view .mat-checkbox.qms-group-options{width:calc(100% - 110px)!important}.qms-select-department-tree-container .header-view-tree{grid-template-columns:1fr 80px!important}.qms-select-department-tree-container ::ng-deep .cdk-virtual-scroll-content-wrapper{right:0!important}.qms-select-department-tree-container .header-title{font-size:14px!important}.qms-select-department-tree-container .node-external,.qms-select-department-tree-container .text-label,.qms-select-department-tree-container .text-label+span,.qms-select-department-tree-container .text-name{font-size:12px}.qms-select-department-tree-container .node-expand-area{width:30px!important;height:30px!important}.qms-select-department-tree-container .node-expand-area .qms-btn-icon{width:30px;height:30px;line-height:30px}.qms-select-department-tree-container .fs-base{font-size:12px!important}.qms-select-department-tree-container .qms-select-department-tree-container .breadcrumb-container{flex-wrap:nowrap!important}.qms-select-department-tree-container ::ng-deep .qms-breadcrumb-item-text{font-size:12px!important;max-width:175px!important}.qms-select-department-tree-container ::ng-deep .qms-paginator .mat-paginator-container .qms-total-result{display:none!important}.qms-select-department-tree-container ::ng-deep .qms-paginator .size-small .mat-paginator-container{justify-content:center!important}.qms-select-department-tree-container .qms-view-search-result__header>.header-title:nth-child(2){flex-basis:120px!important}.qms-select-department-tree-container .result-item__content .external-name{flex-basis:75px!important}.qms-select-department-tree-container .result-item__content .external-name span{width:75px!important}}"]
|
36028
|
+
},] }
|
36029
|
+
];
|
36030
|
+
SelectProcessDataTreeComponent.ctorParameters = () => [
|
36031
|
+
{ type: ChangeDetectorRef },
|
36032
|
+
{ type: DomSanitizer },
|
36033
|
+
{ type: QMSIconRegistryService },
|
36034
|
+
{ type: MatIconRegistry },
|
36035
|
+
{ type: ElementRef },
|
36036
|
+
{ type: TranslateLibraryService },
|
36037
|
+
{ type: Overlay },
|
36038
|
+
{ type: ViewContainerRef },
|
36039
|
+
{ type: QMSSelectDepartmentTreeGlobalService }
|
36040
|
+
];
|
36041
|
+
SelectProcessDataTreeComponent.propDecorators = {
|
36042
|
+
rowsSkeleton: [{ type: Input }],
|
36043
|
+
height: [{ type: Input }],
|
36044
|
+
config: [{ type: Input }],
|
36045
|
+
onSearchEvent: [{ type: Output }],
|
36046
|
+
onPagingSearchEvent: [{ type: Output }],
|
36047
|
+
onValueChangeEvent: [{ type: Output }],
|
36048
|
+
selectionNodeChangeEvent: [{ type: Output }],
|
36049
|
+
onCheckNodeEvent: [{ type: Output }],
|
36050
|
+
onExpandNodeEvent: [{ type: Output }],
|
36051
|
+
onLoadMoreEvent: [{ type: Output }],
|
36052
|
+
onCheckItemSearchEvent: [{ type: Output }],
|
36053
|
+
onCheckAllItemSearchEvent: [{ type: Output }],
|
36054
|
+
toggleIncludeChildEvent: [{ type: Output }],
|
36055
|
+
cdkVirtualScrollViewport: [{ type: ViewChild, args: [CdkVirtualScrollViewport,] }],
|
36056
|
+
paginatorSearch: [{ type: ViewChild, args: ['paginatorSearch',] }]
|
36057
|
+
};
|
36058
|
+
|
36059
|
+
class QMSSelectProcessDataTreeModule {
|
36060
|
+
}
|
36061
|
+
QMSSelectProcessDataTreeModule.decorators = [
|
36062
|
+
{ type: NgModule, args: [{
|
36063
|
+
declarations: [
|
36064
|
+
SelectProcessDataTreeComponent
|
36065
|
+
],
|
36066
|
+
exports: [
|
36067
|
+
SelectProcessDataTreeComponent
|
36068
|
+
],
|
36069
|
+
imports: [
|
36070
|
+
CommonModule,
|
36071
|
+
MatTreeModule,
|
36072
|
+
MatCheckboxModule,
|
36073
|
+
MatAutocompleteModule,
|
36074
|
+
MatIconModule,
|
36075
|
+
MatProgressBarModule,
|
36076
|
+
QmsAngularModule,
|
36077
|
+
MatInputModule,
|
36078
|
+
ReactiveFormsModule,
|
36079
|
+
FormsModule,
|
36080
|
+
MatButtonModule,
|
36081
|
+
MatExpansionModule,
|
36082
|
+
MatSlideToggleModule,
|
36083
|
+
QMSButtonModule,
|
36084
|
+
MatFormFieldModule,
|
36085
|
+
MatChipsModule,
|
36086
|
+
SharedModule,
|
36087
|
+
QMSBreadcrumbModule,
|
36088
|
+
MatRippleModule,
|
36089
|
+
QmsPaginatorModule,
|
36090
|
+
MatPaginatorModule,
|
36091
|
+
MatDividerModule,
|
36092
|
+
ScrollingModule,
|
36093
|
+
MatProgressSpinnerModule
|
36094
|
+
]
|
36095
|
+
},] }
|
36096
|
+
];
|
36097
|
+
|
36098
|
+
const ɵ0 = {
|
36099
|
+
clickAction: 'noop'
|
36100
|
+
};
|
36101
|
+
class SelectProcessDataComponent {
|
36102
|
+
constructor(cdRef, dialogRef, data, trans) {
|
36103
|
+
this.cdRef = cdRef;
|
36104
|
+
this.dialogRef = dialogRef;
|
36105
|
+
this.data = data;
|
36106
|
+
this.trans = trans;
|
36107
|
+
this.ngUnsubscribe = new Subject();
|
36108
|
+
this.onPagingEvent = new EventEmitter();
|
36109
|
+
this.popupData = new SelectDepartmentPopupData();
|
36110
|
+
this.resultSelected = [];
|
36111
|
+
this.onSearchEvent = new EventEmitter();
|
36112
|
+
this.onCheckNodeEvent = new EventEmitter();
|
36113
|
+
this.onExpandNodeEvent = new EventEmitter();
|
36114
|
+
this.onLoadMoreEvent = new EventEmitter();
|
36115
|
+
this.onCheckItemSearchEvent = new EventEmitter();
|
36116
|
+
this.onCheckAllItemSearchEvent = new EventEmitter();
|
36117
|
+
this.toggleIncludeChildEvent = new EventEmitter();
|
36118
|
+
this.resultSearch = [];
|
36119
|
+
this.isActiveViewSearch = false;
|
36120
|
+
this.trans.getLanguageSubject$.pipe(takeUntil(this.ngUnsubscribe)).subscribe((res) => {
|
36121
|
+
if (res) {
|
36122
|
+
this.LANG = this.trans.getObjectLang(res);
|
36123
|
+
}
|
36124
|
+
});
|
36125
|
+
// Init popup data
|
36126
|
+
this.popupData = _.cloneDeep(this.data);
|
36127
|
+
}
|
36128
|
+
get isIncludeChild() {
|
36129
|
+
return !!this.treeProcessData && this.treeProcessData.isIncludeChildren;
|
36130
|
+
}
|
36131
|
+
ngAfterViewInit() {
|
36132
|
+
console.log(this.treeProcessData);
|
36133
|
+
this.cdRef.detectChanges();
|
36134
|
+
}
|
36135
|
+
onCloseDialog() {
|
36136
|
+
this.dialogRef.close(this.treeProcessData.resultSelected);
|
36137
|
+
}
|
36138
|
+
ngOnInit() {
|
36139
|
+
}
|
36140
|
+
ngOnDestroy() {
|
36141
|
+
this.ngUnsubscribe.next();
|
36142
|
+
this.ngUnsubscribe.complete();
|
36143
|
+
}
|
36144
|
+
get currentTreeData() {
|
36145
|
+
return this.treeProcessData ? this.treeProcessData.currentTreeData : [];
|
36146
|
+
}
|
36147
|
+
displayWhenSelectDepartmentOption($event) {
|
36148
|
+
return '';
|
36149
|
+
}
|
36150
|
+
onScrollToNode(node) {
|
36151
|
+
// this.treeProcessData.scrollToNode(node.id);
|
36152
|
+
}
|
36153
|
+
onRemoveNode(node) {
|
36154
|
+
this.treeProcessData.onRemoveNode(node.id);
|
36155
|
+
}
|
36156
|
+
/**
|
36157
|
+
* Gets a list of the data node's subtree of descendent data nodes.
|
36158
|
+
*/
|
36159
|
+
getChildrenNode(node) {
|
36160
|
+
return this.treeProcessData.getListChildrenOfNode(node);
|
36161
|
+
}
|
36162
|
+
onResultDepartmentChange(data) {
|
36163
|
+
this.resultSelected = data.map(item => {
|
36164
|
+
return Object.assign(Object.assign({}, item), { tooltip: this.generateTootip(item) });
|
36165
|
+
});
|
36166
|
+
}
|
36167
|
+
defaultFormatTooltipNode(node) {
|
36168
|
+
return node.isGroup ? this.formatString(this.popupData.config.tooltipIncludeLabel ? this.popupData.config.tooltipIncludeLabel : this.LANG.TOOLTIP_INCLUDE_SUB_DEPARTMENT, node.name, node.children.length.toString()) : node.name;
|
36169
|
+
}
|
36170
|
+
generateTootip(node) {
|
36171
|
+
return !!this.popupData.formatTooltipItemResult ? this.popupData.formatTooltipItemResult(node) : this.defaultFormatTooltipNode(node);
|
36172
|
+
}
|
36173
|
+
updateResultSearch(data) {
|
36174
|
+
if (!this.treeProcessData)
|
36175
|
+
return;
|
36176
|
+
this.treeProcessData.setResultSearch(data);
|
36177
|
+
}
|
36178
|
+
formatString(...replacements) {
|
36179
|
+
let result = arguments[0];
|
36180
|
+
for (let i = 0; i < arguments.length - 1; i++) {
|
36181
|
+
const reg = new RegExp(`\\{${i}\\}`, 'gm');
|
36182
|
+
result = result.replace(reg, arguments[i + 1]);
|
36183
|
+
}
|
36184
|
+
return result;
|
36185
|
+
}
|
36186
|
+
/**
|
36187
|
+
* This function use for lazy load children of node
|
36188
|
+
* @param node node update
|
36189
|
+
* @param data list children to update node.
|
36190
|
+
* @param mode default is update that replace current list children by new list children , if mode = 'insert' will insert new value to list children existed before.
|
36191
|
+
*/
|
36192
|
+
updateChildOfNode(node, data, mode = 'update') {
|
36193
|
+
this.treeProcessData.updateChildOfNode(node, data, mode);
|
36194
|
+
}
|
36195
|
+
addRootTree(data = []) {
|
36196
|
+
this.treeProcessData.addRootTree(data);
|
36197
|
+
}
|
36198
|
+
/**
|
36199
|
+
* This function handle check node of tree
|
36200
|
+
* @param node node of tree
|
36201
|
+
* @param callback do something before handle check node
|
36202
|
+
* @returns
|
36203
|
+
*/
|
36204
|
+
onBeforeCheckNode(node, callback) {
|
36205
|
+
return this.treeProcessData.onBeforeCheckNode(node, callback);
|
36206
|
+
}
|
36207
|
+
handleCheckNode(node) {
|
36208
|
+
if (!this.treeProcessData)
|
36209
|
+
return;
|
36210
|
+
this.treeProcessData.handleCheckNode(node);
|
36211
|
+
}
|
36212
|
+
/**
|
36213
|
+
* This method use for lazy mode, do some thing before init list node selected
|
36214
|
+
* @param callback
|
36215
|
+
* @returns
|
36216
|
+
*/
|
36217
|
+
onBeforeInitNodeSelected(callback) {
|
36218
|
+
return __awaiter(this, void 0, void 0, function* () {
|
36219
|
+
if (!this.treeProcessData)
|
36220
|
+
return;
|
36221
|
+
if (!!callback)
|
36222
|
+
yield this.treeProcessData.onBeforeInitNodeSelected(callback);
|
36223
|
+
});
|
36224
|
+
}
|
36225
|
+
/**
|
36226
|
+
* Get node by id of node
|
36227
|
+
* @param nodeId id of node
|
36228
|
+
* @returns
|
36229
|
+
*/
|
36230
|
+
findNode(nodeId) {
|
36231
|
+
if (!this.treeProcessData)
|
36232
|
+
return;
|
36233
|
+
return this.treeProcessData.treeControl.dataNodes.find(node => node.id === nodeId.toString());
|
36234
|
+
}
|
36235
|
+
/**
|
36236
|
+
* This method use for lazy mode, do some thing before select all result search
|
36237
|
+
* @param callback
|
36238
|
+
* @returns
|
36239
|
+
*/
|
36240
|
+
onBeforeCheckAllSearch(callback) {
|
36241
|
+
return __awaiter(this, void 0, void 0, function* () {
|
36242
|
+
if (!this.treeProcessData)
|
36243
|
+
return;
|
36244
|
+
yield this.treeProcessData.onBeforeCheckAllSearch(callback);
|
36245
|
+
});
|
36246
|
+
}
|
36247
|
+
/**
|
36248
|
+
* This method use for lazy mode, do some thing before check item result
|
36249
|
+
* @param callback
|
36250
|
+
* @returns
|
36251
|
+
*/
|
36252
|
+
onBeforeCheckItemSearch(item, callback) {
|
36253
|
+
return this.treeProcessData.onBeforeCheckItemSearch(item, callback);
|
36254
|
+
}
|
36255
|
+
setLoadingStateNode(isLoading, nodeId) {
|
36256
|
+
!!this.treeProcessData && this.treeProcessData.setLoadingStateNode(isLoading, nodeId);
|
36257
|
+
}
|
36258
|
+
/**
|
36259
|
+
* Select a value or an array of values.
|
36260
|
+
*/
|
36261
|
+
onSelectNode(...nodeIds) {
|
36262
|
+
this.treeProcessData.onSelectNode(...nodeIds);
|
36263
|
+
}
|
36264
|
+
/**
|
36265
|
+
* Deselects a value or an array of values.
|
36266
|
+
*/
|
36267
|
+
onDeselectNode(...nodeIds) {
|
36268
|
+
this.treeProcessData.onDeselectNode(...nodeIds);
|
36269
|
+
}
|
36270
|
+
/**
|
36271
|
+
* Toggles a value between selected and deselected.
|
36272
|
+
*/
|
36273
|
+
onToggleNode(nodeId) {
|
36274
|
+
this.treeProcessData.onToggleNode(nodeId);
|
36275
|
+
}
|
36276
|
+
getNodeById(nodeId) {
|
36277
|
+
return this.treeProcessData.getNodeById(nodeId);
|
36278
|
+
}
|
36279
|
+
isNodeLoading(nodeId) {
|
36280
|
+
if (!this.treeProcessData)
|
36281
|
+
return false;
|
36282
|
+
const node = this.treeProcessData.getNodeById(nodeId);
|
36283
|
+
return !!node && node.isLoading;
|
36284
|
+
}
|
36285
|
+
setLoadingMore(state) {
|
36286
|
+
if (!this.treeProcessData)
|
36287
|
+
return;
|
36288
|
+
this.treeProcessData.getLoadingMore$.next(state);
|
36289
|
+
}
|
36290
|
+
setLoading(state) {
|
36291
|
+
if (!this.treeProcessData)
|
36292
|
+
return;
|
36293
|
+
this.treeProcessData.getLoading$.next(state);
|
36294
|
+
}
|
36295
|
+
setLoadingNode(nodeId, state) {
|
36296
|
+
if (!this.treeProcessData)
|
36297
|
+
return;
|
36298
|
+
const node = this.treeProcessData.getNodeById(nodeId);
|
36299
|
+
if (!!node)
|
36300
|
+
node.isLoading = state;
|
36301
|
+
}
|
36302
|
+
updateTreeData(data = this.currentTreeData) {
|
36303
|
+
!!this.treeProcessData && this.treeProcessData.updateDataTree(data);
|
36304
|
+
}
|
36305
|
+
onDestroyLoadMore() {
|
36306
|
+
this.treeProcessData.onDestroyLoadMore();
|
36307
|
+
}
|
36308
|
+
setSelectedListData(data) {
|
36309
|
+
this.popupData.config.selectedList = data;
|
36310
|
+
}
|
36311
|
+
getCheckedStatusNode(node) {
|
36312
|
+
return this.treeProcessData.getCheckedStatusNode(node);
|
36313
|
+
}
|
36314
|
+
updateNodeInformation(node) {
|
36315
|
+
return this.treeProcessData.updateNodeInformation(node);
|
36316
|
+
}
|
36317
|
+
updateSelectedResultData(node) {
|
36318
|
+
return this.treeProcessData.updateSelectedResultData(node);
|
36319
|
+
}
|
36320
|
+
getAllParentNode(node) {
|
36321
|
+
return this.treeProcessData.getAllParentNode(node);
|
36322
|
+
}
|
36323
|
+
onCheckNode(node, fireEventCheckNode = true) {
|
36324
|
+
return this.treeProcessData.onCheckNode(node, fireEventCheckNode);
|
36325
|
+
}
|
36326
|
+
getChildrenSelected(node) {
|
36327
|
+
return this.treeProcessData.getChildrenSelected(node);
|
36328
|
+
}
|
36329
|
+
}
|
36330
|
+
SelectProcessDataComponent.decorators = [
|
36331
|
+
{ type: Component, args: [{
|
36332
|
+
selector: 'qms-select-process-data',
|
36333
|
+
template: "<div class=\"qms-select-department\">\n <div class=\"header-dialog mb-2\">\n <span>{{popupData.headerName}}</span>\n <button matDialogClose class=\"btn-close-dialog\" color=\"light\" qms-btn-icon>\n <mat-icon>close</mat-icon>\n </button>\n </div>\n <div>\n <div class=\"qms-scrollbar\">\n <div>\n <qms-select-process-data-tree #treeProcessData customClass=\"custom-department-tree\"\n [height]=\"popupData.config.isMobile ? '38vh' : '50vh'\" [rowsSkeleton]=\"9\" [config]=\"popupData.config\"\n (onSearchEvent)=\"onSearchEvent.emit($event)\" (onValueChangeEvent)=\"onResultDepartmentChange($event)\"\n (onPagingSearchEvent)=\"onPagingEvent.emit($event)\" (onCheckNodeEvent)=\"onCheckNodeEvent.emit($event)\"\n (onExpandNodeEvent)=\"onExpandNodeEvent.emit($event)\" (onLoadMoreEvent)=\"onLoadMoreEvent.emit()\"\n (onCheckAllItemSearchEvent)=\"onCheckAllItemSearchEvent.emit($event)\"\n (onCheckItemSearchEvent)=\"onCheckItemSearchEvent.emit($event)\"\n (toggleIncludeChildEvent)=\"toggleIncludeChildEvent.emit($event)\">\n </qms-select-process-data-tree>\n </div>\n </div>\n <div class=\"line__divider\"></div>\n <div [@heightAnimation] *ngIf=\"treeProcessData && !!treeProcessData.resultSelected.length\" class=\" pr-0 pe-0\">\n <div class=\"header-title\">{{LANG.RESULTS}}</div>\n <div class=\"result-content pr-0 pe-0\">\n <mat-chip-list class=\"panel__item qms-scrollbar\">\n <div [@inOutAnimation_2] [id]=\"'item-result-'+item.id\" *ngFor=\"let item of treeProcessData.resultSelected\">\n <mat-chip [@updateItemAnimation] *qmsContentChanges=\"item.children?.length\"\n [qms-tool-tip]=\"generateTootip(item)\" position=\"top\" mode=\"dark\" qms-chip [removable]=\"true\">\n <span (click)=\"onScrollToNode(item)\" qms-chip-body>\n <span class=\"related__item__content_name\" #itemName>\n <span>{{item.name}}</span>\n <span class=\"select__include-children__count\" *ngIf=\"!!item?.isGroup && !popupData.config.lazy\">\n {{item.children.length}}/{{item.childCount}}\n </span>\n <span class=\"select__include-children__count\" *ngIf=\"!!item?.isGroup && popupData.config.lazy\">\n {{item.selectedChildCount}}/{{item.childCount}}\n </span>\n </span>\n </span>\n <mat-icon *ngIf=\"!isNodeLoading(item.id); else loadingSpinner\"\n (click)=\"onRemoveNode(item)\">cancel</mat-icon>\n </mat-chip>\n </div>\n </mat-chip-list>\n </div>\n </div>\n <mat-divider *ngIf=\"treeProcessData && !!treeProcessData.resultSelected.length\" class=\"mx-auto\"></mat-divider>\n <div class=\"confirm__button__groups\">\n <button (click)=\"onCloseDialog()\" class=\"btn-add\"\n [disabled]=\"!resultSelected.length && !popupData.config.canAddNullResult\"\n [class.qms-btn-disabled]=\"!resultSelected.length && !popupData.config.canAddNullResult\" qms-btn>\n <span>{{LANG.ADD}}</span>\n <span>\n ({{treeProcessData.resultSelected.length}})\n </span>\n </button>\n <button qms-btn-text mat-dialog-close>\n Cancel\n </button>\n </div>\n </div>\n</div>\n\n<!-- Loading spinner -->\n<ng-template #loadingSpinner>\n <div class=\"qms-spinner-wrapper\">\n <div class=\"qms-spinner center\">\n <mat-spinner [diameter]=\"20\" [strokeWidth]=\"2\"></mat-spinner>\n </div>\n </div>\n</ng-template>",
|
36334
|
+
providers: [
|
36335
|
+
{
|
36336
|
+
provide: MAT_CHECKBOX_DEFAULT_OPTIONS,
|
36337
|
+
useValue: ɵ0
|
36338
|
+
}
|
36339
|
+
],
|
36340
|
+
animations: [SelectDepartmentAnimationTrigger],
|
36341
|
+
styles: ["@charset \"UTF-8\";@font-face{font-family:icomoon;src:url(../assets/fonts/icomoon.eot?aghldx);src:url(../assets/fonts/icomoon.eot?aghldx#iefix) format(\"embedded-opentype\"),url(../assets/fonts/icomoon.ttf?aghldx) format(\"truetype\"),url(../assets/fonts/icomoon.woff?aghldx) format(\"woff\"),url(../assets/fonts/icomoon.svg?aghldx#icomoon) format(\"svg\");font-weight:400;font-style:normal;font-display:block}[class*=\" icon-\"],[class^=icon-]{font-family:icomoon!important;speak:never;font-style:normal;font-weight:400;font-feature-settings:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-acutely-toxic .path1:before{content:\"\uE91B\";color:#e32730}.icon-acutely-toxic .path2:before{content:\"\uE922\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path3:before{content:\"\uE923\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path4:before{content:\"\uE924\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path5:before{content:\"\uE925\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path6:before{content:\"\uE926\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path7:before{content:\"\uE927\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path8:before{content:\"\uE928\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path9:before{content:\"\uE929\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path10:before{content:\"\uE92A\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path11:before{content:\"\uE92B\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path12:before{content:\"\uE92C\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path13:before{content:\"\uE92D\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path14:before{content:\"\uE92E\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path15:before{content:\"\uE92F\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path16:before{content:\"\uE930\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path17:before{content:\"\uE931\";margin-left:-1em;color:#323232}.icon-add-column:before{content:\"\uE932\"}.icon-add-tooltip:before{content:\"\uE933\"}.icon-admin:before{content:\"\uE934\"}.icon-annual-cycle:before{content:\"\uE935\"}.icon-assignment-repete:before{content:\"\uE936\"}.icon-barrier-add:before{content:\"\uE937\"}.icon-barrier-edit:before{content:\"\uE938\"}.icon-barrier-view:before{content:\"\uE939\"}.icon-button-group:before{content:\"\uE93A\"}.icon-chemical-manager:before{content:\"\uE93B\"}.icon-chronic-health-hazard .path1:before{content:\"\uE93C\";color:#e32730}.icon-chronic-health-hazard .path2:before{content:\"\uE93D\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path3:before{content:\"\uE93E\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path4:before{content:\"\uE93F\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path5:before{content:\"\uE940\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path6:before{content:\"\uE941\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path7:before{content:\"\uE942\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path8:before{content:\"\uE943\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path9:before{content:\"\uE944\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path10:before{content:\"\uE945\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path11:before{content:\"\uE946\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path12:before{content:\"\uE947\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path13:before{content:\"\uE948\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path14:before{content:\"\uE949\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path15:before{content:\"\uE94A\";margin-left:-1em;color:#323232}.icon-contingency:before{content:\"\uE94B\"}.icon-corrosive .path1:before{content:\"\uE94C\";color:#323232}.icon-corrosive .path2:before{content:\"\uE94D\";margin-left:-1em;color:#323232}.icon-corrosive .path3:before{content:\"\uE94E\";margin-left:-1em;color:#323232}.icon-corrosive .path4:before{content:\"\uE94F\";margin-left:-1em;color:#323232}.icon-corrosive .path5:before{content:\"\uE950\";margin-left:-1em;color:#323232}.icon-corrosive .path6:before{content:\"\uE951\";margin-left:-1em;color:#323232}.icon-corrosive .path7:before{content:\"\uE952\";margin-left:-1em;color:#323232}.icon-corrosive .path8:before{content:\"\uE953\";margin-left:-1em;color:#323232}.icon-corrosive .path9:before{content:\"\uE954\";margin-left:-1em;color:#323232}.icon-corrosive .path10:before{content:\"\uE955\";margin-left:-1em;color:#323232}.icon-corrosive .path11:before{content:\"\uE956\";margin-left:-1em;color:#323232}.icon-corrosive .path12:before{content:\"\uE957\";margin-left:-1em;color:#323232}.icon-corrosive .path13:before{content:\"\uE958\";margin-left:-1em;color:#323232}.icon-corrosive .path14:before{content:\"\uE959\";margin-left:-1em;color:#323232}.icon-corrosive .path15:before{content:\"\uE95A\";margin-left:-1em;color:#323232}.icon-corrosive .path16:before{content:\"\uE95B\";margin-left:-1em;color:#323232}.icon-corrosive .path17:before{content:\"\uE95C\";margin-left:-1em;color:#323232}.icon-corrosive .path18:before{content:\"\uE95D\";margin-left:-1em;color:#323232}.icon-corrosive .path19:before{content:\"\uE95E\";margin-left:-1em;color:#323232}.icon-corrosive .path20:before{content:\"\uE95F\";margin-left:-1em;color:#323232}.icon-corrosive .path21:before{content:\"\uE960\";margin-left:-1em;color:#e32730}.icon-dashboard:before{content:\"\uE961\"}.icon-database-sds:before{content:\"\uE962\"}.icon-description-add:before{content:\"\uE963\"}.icon-description-edit:before{content:\"\uE964\"}.icon-description-view:before{content:\"\uE965\";color:#666}.icon-document-read .path1:before{content:\"\uE966\";color:#000;opacity:.6}.icon-document-read .path2:before{content:\"\uE967\";margin-left:-1em;color:#fff}.icon-document-read .path3:before{content:\"\uE968\";margin-left:-1em;color:#000;opacity:.6}.icon-draft:before{content:\"\uE969\"}.icon-expired-off:before{content:\"\uE96A\"}.icon-expired-on:before{content:\"\uE96B\"}.icon-explosive .path1:before{content:\"\uE96C\";color:#e32730}.icon-explosive .path2:before{content:\"\uE96D\";margin-left:-1em;color:#323232}.icon-explosive .path3:before{content:\"\uE96E\";margin-left:-1em;color:#323232}.icon-explosive .path4:before{content:\"\uE96F\";margin-left:-1em;color:#323232}.icon-explosive .path5:before{content:\"\uE970\";margin-left:-1em;color:#323232}.icon-explosive .path6:before{content:\"\uE971\";margin-left:-1em;color:#323232}.icon-explosive .path7:before{content:\"\uE972\";margin-left:-1em;color:#323232}.icon-explosive .path8:before{content:\"\uE973\";margin-left:-1em;color:#323232}.icon-explosive .path9:before{content:\"\uE974\";margin-left:-1em;color:#323232}.icon-explosive .path10:before{content:\"\uE975\";margin-left:-1em;color:#323232}.icon-explosive .path11:before{content:\"\uE976\";margin-left:-1em;color:#323232}.icon-explosive .path12:before{content:\"\uE977\";margin-left:-1em;color:#323232}.icon-explosive .path13:before{content:\"\uE978\";margin-left:-1em;color:#323232}.icon-explosive .path14:before{content:\"\uE979\";margin-left:-1em;color:#323232}.icon-explosive .path15:before{content:\"\uE97A\";margin-left:-1em;color:#323232}.icon-explosive .path16:before{content:\"\uE97B\";margin-left:-1em;color:#323232}.icon-explosive .path17:before{content:\"\uE97C\";margin-left:-1em;color:#323232}.icon-explosive .path18:before{content:\"\uE97D\";margin-left:-1em;color:#323232}.icon-explosive .path19:before{content:\"\uE97E\";margin-left:-1em;color:#323232}.icon-explosive .path20:before{content:\"\uE97F\";margin-left:-1em;color:#323232}.icon-explosive .path21:before{content:\"\uE980\";margin-left:-1em;color:#323232}.icon-explosive .path22:before{content:\"\uE981\";margin-left:-1em;color:#323232}.icon-explosive .path23:before{content:\"\uE982\";margin-left:-1em;color:#323232}.icon-explosive .path24:before{content:\"\uE983\";margin-left:-1em;color:#323232}.icon-explosive .path25:before{content:\"\uE984\";margin-left:-1em;color:#323232}.icon-explosive .path26:before{content:\"\uE985\";margin-left:-1em;color:#323232}.icon-explosive .path27:before{content:\"\uE986\";margin-left:-1em;color:#323232}.icon-explosive .path28:before{content:\"\uE987\";margin-left:-1em;color:#323232}.icon-explosive .path29:before{content:\"\uE988\";margin-left:-1em;color:#323232}.icon-explosive .path30:before{content:\"\uE989\";margin-left:-1em;color:#323232}.icon-explosive .path31:before{content:\"\uE98A\";margin-left:-1em;color:#323232}.icon-explosive .path32:before{content:\"\uE98B\";margin-left:-1em;color:#323232}.icon-explosive .path33:before{content:\"\uE98C\";margin-left:-1em;color:#323232}.icon-explosive .path34:before{content:\"\uE98D\";margin-left:-1em;color:#323232}.icon-explosive .path35:before{content:\"\uE98E\";margin-left:-1em;color:#323232}.icon-explosive .path36:before{content:\"\uE98F\";margin-left:-1em;color:#323232}.icon-explosive .path37:before{content:\"\uE990\";margin-left:-1em;color:#323232}.icon-explosive .path38:before{content:\"\uE991\";margin-left:-1em;color:#323232}.icon-explosive .path39:before{content:\"\uE992\";margin-left:-1em;color:#323232}.icon-explosive .path40:before{content:\"\uE993\";margin-left:-1em;color:#323232}.icon-explosive .path41:before{content:\"\uE994\";margin-left:-1em;color:#323232}.icon-explosive .path42:before{content:\"\uE995\";margin-left:-1em;color:#323232}.icon-explosive .path43:before{content:\"\uE996\";margin-left:-1em;color:#323232}.icon-explosive .path44:before{content:\"\uE997\";margin-left:-1em;color:#323232}.icon-explosive .path45:before{content:\"\uE998\";margin-left:-1em;color:#323232}.icon-explosive .path46:before{content:\"\uE999\";margin-left:-1em;color:#323232}.icon-file-excel:before{content:\"\uE99A\"}.icon-file-pdf:before{content:\"\uE99B\"}.icon-file-pdf-verified .path1:before{content:\"\uE99C\";color:#000;opacity:.6}.icon-file-pdf-verified .path2:before{content:\"\uE99D\";margin-left:-1em;color:#fff}.icon-file-pdf-verified .path3:before{content:\"\uE99E\";margin-left:-1em;color:#000;opacity:.6}.icon-file-word:before{content:\"\uE99F\"}.icon-filter-alt:before{content:\"\uE9A0\"}.icon-flammable .path1:before{content:\"\uE9A1\";color:#323232}.icon-flammable .path2:before{content:\"\uE9A2\";margin-left:-1em;color:#323232}.icon-flammable .path3:before{content:\"\uE9A3\";margin-left:-1em;color:#e32730}.icon-gas-under-pressure .path1:before{content:\"\uE9A4\";color:#323232}.icon-gas-under-pressure .path2:before{content:\"\uE9A5\";margin-left:-1em;color:#e32730}.icon-health-hazard .path1:before{content:\"\uE9A6\";color:#323232}.icon-health-hazard .path2:before{content:\"\uE9A7\";margin-left:-1em;color:#e32730}.icon-line-break:before{content:\"\uE9A8\"}.icon-location:before{content:\"\uE9A9\"}.icon-measure-add:before{content:\"\uE9AA\"}.icon-measure-edit:before{content:\"\uE9AB\"}.icon-measure-view:before{content:\"\uE9AC\";color:#666}.icon-messages:before{content:\"\uE9AD\"}.icon-monitoring:before{content:\"\uE9AE\";color:#666}.icon-move:before{content:\"\uE9AF\"}.icon-oxidizing .path1:before{content:\"\uE9B0\";color:#e32730}.icon-oxidizing .path2:before{content:\"\uE9B1\";margin-left:-1em;color:#323232}.icon-oxidizing .path3:before{content:\"\uE9B2\";margin-left:-1em;color:#323232}.icon-oxidizing .path4:before{content:\"\uE9B3\";margin-left:-1em;color:#323232}.icon-process-area-closed:before{content:\"\uE9B4\"}.icon-process-area-open:before{content:\"\uE9B5\"}.icon-process-linked .path1:before{content:\"\uE9B6\";color:#000;opacity:.6}.icon-process-linked .path2:before{content:\"\uE9B7\";margin-left:-1em;color:#666}.icon-risk:before{content:\"\uE9B8\"}.icon-search-in-file:before{content:\"\uE9B9\"}.icon-sort-ascending:before{content:\"\uE9BA\"}.icon-sort-descending:before{content:\"\uE9BB\"}.icon-subscript:before{content:\"\uE9BC\"}.icon-superscript:before{content:\"\uE9BD\"}.icon-syncronice-favorites:before{content:\"\uE9BE\"}.icon-system-settings:before{content:\"\uE9BF\"}.icon-view-three-outlined:before{content:\"\uE9C0\"}.icon-workplace-safety:before{content:\"\uE9C1\"}.icon-checklist:before{content:\"\uE900\"}.icon-department-document .path1:before{content:\"\uE901\";color:#000;opacity:.6}.icon-department-document .path2:before{content:\"\uE902\";margin-left:-1em;color:#00804c}.icon-department-folder-closed .path1:before{content:\"\uE903\";color:#000;opacity:.6}.icon-department-folder-closed .path2:before{content:\"\uE904\";margin-left:-1em;color:#00804c}.icon-department-folder-open .path1:before{content:\"\uE905\";color:#000;opacity:.6}.icon-department-folder-open .path2:before{content:\"\uE906\";margin-left:-1em;color:#00804c}.icon-deviation:before{content:\"\uE907\"}.icon-dropdown-folder .path1:before{content:\"\uE908\";color:#00324e}.icon-dropdown-folder .path2:before{content:\"\uE909\";margin-left:-1em;color:#fff;opacity:.6}.icon-enterprise-document .path1:before{content:\"\uE90A\";color:#000;opacity:.6}.icon-enterprise-document .path2:before{content:\"\uE90B\";margin-left:-1em;color:#cf4714}.icon-enterprise-folder-closed .path1:before{content:\"\uE90C\";color:#000;opacity:.6}.icon-enterprise-folder-closed .path2:before{content:\"\uE90D\";margin-left:-1em;color:#cf4714}.icon-enterprise-folder-open .path1:before{content:\"\uE90E\";color:#000;opacity:.6}.icon-enterprise-folder-open .path2:before{content:\"\uE90F\";margin-left:-1em;color:#cf4714}.icon-folder-closed:before{content:\"\uE910\"}.icon-folder-open:before{content:\"\uE911\"}.icon-keyboard_arrow_down:before{content:\"\uE912\"}.icon-keyboard_arrow_up:before{content:\"\uE913\"}.icon-local-document .path1:before{content:\"\uE914\";color:#000;opacity:.6}.icon-local-document .path2:before{content:\"\uE915\";margin-left:-1em;color:#1954a9}.icon-local-folder-closed .path1:before{content:\"\uE916\";color:#000;opacity:.6}.icon-local-folder-closed .path2:before{content:\"\uE917\";margin-left:-1em;color:#1954a9}.icon-local-folder-open .path1:before{content:\"\uE918\";color:#000;opacity:.6}.icon-local-folder-open .path2:before{content:\"\uE919\";margin-left:-1em;color:#1954a9}.icon-process:before{content:\"\uE91A\"}.icon-regional-document .path1:before{content:\"\uE91C\";color:#000;opacity:.6}.icon-regional-document .path2:before{content:\"\uE91D\";margin-left:-1em;color:#662e0d}.icon-regional-folder-closed .path1:before{content:\"\uE91E\";color:#000;opacity:.6}.icon-regional-folder-closed .path2:before{content:\"\uE91F\";margin-left:-1em;color:#662e0d}.icon-regional-folder-open .path1:before{content:\"\uE920\";color:#000;opacity:.6}.icon-regional-folder-open .path2:before{content:\"\uE921\";margin-left:-1em;color:#662e0d}.qms-select-department{font-family:Open Sans,sans-serif}.qms-select-department .cursor-pointer{cursor:pointer}.qms-select-department .ml-5{margin-left:10px}.qms-select-department .padding-5{padding:5px}.qms-select-department .header-dialog{display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:16px}.qms-select-department .input__field{display:flex;align-items:center;position:relative}.qms-select-department .input__field input.input-search{width:100%;padding:10px;outline:none;border:none;background:var(--background-input-text)}.qms-select-department .input__field .btn-search{cursor:pointer;vertical-align:middle;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.qms-select-department .line__divider{border-bottom:1px solid #ccc;height:1px;margin-top:10px;min-width:300px;max-width:100%}.qms-select-department .mat-expansion-panel-header{height:30px;font-size:12px;letter-spacing:1px;font-family:Raleway;font-weight:600;padding:0}.qms-select-department .mat-expansion-panel-header .mat-expansion-panel-header-title{align-items:center;margin-left:12px}.qms-select-department .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:none}.qms-select-department .panel__item{max-height:175px;margin-top:4px;overflow-x:hidden;overflow-y:auto;padding-right:5px;width:100%;display:block}.qms-select-department .panel__item .related__item__inline{max-width:100%}.qms-select-department .panel__item ::ng-deep .mat-chip-list-wrapper{margin:0 -4px!important}.qms-select-department .panel__item .select__toggle-include{width:100%}.qms-select-department .panel__item .select__toggle-include.toggle-include-child .mat-slide-toggle.qms-group-options .mat-slide-toggle-thumb{background-color:#5a5a5a!important}.qms-select-department .panel__item .related__item__content{height:32px;line-height:32px;background-color:var(--related-item-background);max-width:100%;margin-bottom:5px;margin-left:2.5px;margin-right:2.5px}.qms-select-department .panel__item .related__item__content .mat-icon{color:var(--related-mat-icon-color);font-size:24px}.qms-select-department .header-title{font-weight:600;color:rgba(0,0,0,.87)}.qms-select-department .result-content{padding-right:0!important}.qms-select-department .result-content .mat-chip-list{min-height:40px}.qms-select-department .result-content .mat-chip-list .mat-icon{color:rgba(0,0,0,.3)!important;cursor:pointer}.qms-select-department .result-content .mat-chip-list .mat-icon:hover{color:#000!important}.qms-select-department .result-content span.related__item__content_name{min-width:calc(100% - 13px);max-width:250px;display:flex;align-items:center}.qms-select-department .result-content span.related__item__content_name>span:first-child{display:inline-block;margin-right:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.qms-select-department .result-content span.related__item__content_name .select__include-children__count{font-size:.75rem;color:rgba(0,0,0,.5);font-weight:600;line-height:16px}.qms-select-department .text-name{position:relative;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;cursor:pointer;width:100%}.qms-select-department ::ng-deep .mat-checkbox.qms-group-options.flex-direction-row .mat-checkbox-layout{white-space:normal}.qms-select-department ::ng-deep .mat-checkbox.qms-group-options.flex-direction-row .mat-checkbox-label{flex-direction:row;align-items:center;position:relative;padding-bottom:2px}.qms-select-department .confirm__button__groups .btn-add>.qms-btn-wrapper{display:flex;justify-content:center;align-items:center}.qms-select-department ::ng-deep .custom-department-tree .qms-view-search-result{height:100%!important}.qms-select-department ::ng-deep .custom-department-tree .qms-view-search-result .result{max-height:calc(100% - 80px)!important}.qms-select-department ::ng-deep .custom-department-tree .loading-container{height:calc(100% - 40px)!important}.qms-select-department ::ng-deep.btn-close-dialog.qms-btn-icon:focus:not(:hover){background-color:unset!important;color:unset!important}.qms-spinner-wrapper{display:inline-block;width:22px;height:22px}.qms-spinner-wrapper .qms-spinner{font-size:20px;width:1em;height:1em;position:absolute;right:5px;top:50%;transform:translateY(-50%)}.qms-spinner-wrapper .qms-spinner .mat-progress-spinner circle,.qms-spinner-wrapper .qms-spinner .mat-spinner circle{stroke:#1b75be!important}@media screen and (max-width:600px){::ng-deep .cdk-global-overlay-wrapper{justify-content:center!important;width:100vw}.header-title{font-size:14px}.related__item__content_name{font-size:12px!important}}"]
|
36342
|
+
},] }
|
36343
|
+
];
|
36344
|
+
SelectProcessDataComponent.ctorParameters = () => [
|
36345
|
+
{ type: ChangeDetectorRef },
|
36346
|
+
{ type: MatDialogRef },
|
36347
|
+
{ type: SelectDepartmentPopupData, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] },
|
36348
|
+
{ type: TranslateLibraryService }
|
36349
|
+
];
|
36350
|
+
SelectProcessDataComponent.propDecorators = {
|
36351
|
+
treeProcessData: [{ type: ViewChild, args: ['treeProcessData',] }],
|
36352
|
+
onPagingEvent: [{ type: Output }],
|
36353
|
+
onSearchEvent: [{ type: Output }],
|
36354
|
+
onCheckNodeEvent: [{ type: Output }],
|
36355
|
+
onExpandNodeEvent: [{ type: Output }],
|
36356
|
+
onLoadMoreEvent: [{ type: Output }],
|
36357
|
+
onCheckItemSearchEvent: [{ type: Output }],
|
36358
|
+
onCheckAllItemSearchEvent: [{ type: Output }],
|
36359
|
+
toggleIncludeChildEvent: [{ type: Output }]
|
36360
|
+
};
|
36361
|
+
|
36362
|
+
class QMSSelectProcessDataModule {
|
36363
|
+
}
|
36364
|
+
QMSSelectProcessDataModule.decorators = [
|
36365
|
+
{ type: NgModule, args: [{
|
36366
|
+
declarations: [
|
36367
|
+
SelectProcessDataComponent,
|
36368
|
+
],
|
36369
|
+
imports: [
|
36370
|
+
CommonModule,
|
36371
|
+
MatProgressBarModule,
|
36372
|
+
MatTreeModule,
|
36373
|
+
MatCheckboxModule,
|
36374
|
+
ReactiveFormsModule,
|
36375
|
+
FormsModule,
|
36376
|
+
QmsAngularModule,
|
36377
|
+
MatIconModule,
|
36378
|
+
QMSTreeModule,
|
36379
|
+
MatButtonModule,
|
36380
|
+
MatDialogModule,
|
36381
|
+
MatExpansionModule,
|
36382
|
+
MatAutocompleteModule,
|
36383
|
+
MatInputModule,
|
36384
|
+
QMSAppIconModule,
|
36385
|
+
QMSButtonModule,
|
36386
|
+
MatSlideToggleModule,
|
36387
|
+
QMSButtonModule,
|
36388
|
+
MatFormFieldModule,
|
36389
|
+
MatChipsModule,
|
36390
|
+
QMSSelectProcessDataTreeModule,
|
36391
|
+
MatDividerModule,
|
36392
|
+
MatProgressSpinnerModule
|
36393
|
+
],
|
36394
|
+
exports: [
|
36395
|
+
SelectProcessDataComponent
|
36396
|
+
],
|
36397
|
+
schemas: [
|
36398
|
+
CUSTOM_ELEMENTS_SCHEMA
|
36399
|
+
]
|
36400
|
+
},] }
|
36401
|
+
];
|
36402
|
+
|
34937
36403
|
/*
|
34938
36404
|
* Public API Surface of qms-angular
|
34939
36405
|
*/
|
@@ -34942,5 +36408,5 @@ class FilterPersonModel {
|
|
34942
36408
|
* Generated bundle index. Do not edit.
|
34943
36409
|
*/
|
34944
36410
|
|
34945
|
-
export { AnimationTreeDepartment, AutocompleteOffDirective, BREADCRUMB_DROPDOWN_ICON, BUTTON_TOGGLE_DEFAULT_OPTIONS, BUTTON_TOGGLE_GROUP, BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR, BannerType, BpmnService, BreadcrumbNode, BreadcrumbType, ButtonToggleChange, CHECKLIST_ICON, CKEditorEventConst, CKEditorModule, CdkDetailRowDirective, ConfirmDialog, DEPARTMENT_FOLDER_ICON, DEPARTMENT_FOLDER_OUTLINED_ICON, DEVIATION_ICON, DOCUMENT_DEPARTMENT_ICON, DOCUMENT_ENTERPRISE_ICON, DOCUMENT_ICON, DOCUMENT_LOCAL_ICON, DOCUMENT_REGIONAL_ICON, DataType, DateFormatPipe, DepartmentLocationBreadCrumb, DepartmentSearchResultModel, DocumentNodeType$1 as DocumentNodeType, ENTERPRISE_FOLDER_ICON, ENTERPRISE_FOLDER_OUTLINED_ICON, EllipsifyDirective, FileErrorType, FileType, FilterPersonModel, FlatNodeNavDrawer, FlowChartConst, FlowchartViewMode, ISelectOneItem, InformationCoverItem, KEYBOARD_DOWN_ICON, KEYBOARD_UP_ICON, LOCAL_FOLDER_ICON, LOCAL_FOLDER_OUTLINED_ICON, LinkAnchor, LinkType, MarginDirective, MfeUtil, ModeDepartmentTreeeViewEnum, ModuleType$1 as ModuleType, NORMAL_FOLDER_ICON, NORMAL_FOLDER_OUTLINED_ICON, NavigatorElementView, NavigatorLinkView, NewTreeComponent, NewTreeModel, OptionSelectAccessEnum, OptionSelectAccessModel, PROCESS_AREA_ICON, PROCESS_AREA_OUTLINED_ICON, PROCESS_ICON, PROCESS_INTERCONNECTED_ICON, PaginationSize, PopupData, ProtocolType, ProtocolTypeName, QMSAccessItem, QMSAccessPagingChangeModel, QMSAccessPagingModel, QMSAnchor, QMSAppBar, QMSAppIconModule, QMSAttachmentListDirective, QMSBPMNComponent, QMSBPMNConfig, QMSBasicTreeComponent, QMSBreadcrumb, QMSBreadcrumbDirectionIconDirective, QMSBreadcrumbItemDirective, QMSBreadcrumbModule, QMSButton, QMSButtonIcon, QMSButtonModule, QMSButtonToggle, QMSButtonToggleGroup, QMSCKEditorBaseComponent, QMSCKEditorBaseService, QMSCKEditorBpmn, QMSCKEditorBpmnApiService, QMSCKEditorBpmnComponent, QMSCKEditorBpmnTemplate, QMSCKEditorComponent, QMSCKEditorConfirmComponent, QMSCKEditorData, QMSCKEditorDialogData, QMSCKEditorFlowchart, QMSCKEditorFlowchartService, QMSCKEditorFullscreenComponent, QMSCKEditorGlobalService, QMSCKEditorInjector, QMSCKEditorLinkAnchorDocument, QMSCKEditorLinkComponent, QMSCKEditorLinkService, QMSCKEditorLoadTemplateComponent, QMSCKEditorModule, QMSCKEditorPlugin, QMSCKEditorRelatedComponent, QMSCKEditorRelation, QMSCKEditorSaveAsTemplate, QMSCKEditorTemplate, QMSCKEditorTemplateService, QMSCKEditorToastService, QMSCKEditorTreeComponent, QMSCKEdtiorInputData, QMSChipBodyDirective, QMSChipInputChipListDirective, QMSChipInputDirective, QMSChipInputSelectDropDownDirective, QMSChipInputSelectFieldDirective, QMSChipInputSelectTriggerDirective, QMSCollapseGroupDirective, QMSComment, QMSConfirmDialog, QMSContentChangesDirective, QMSDepartmentPagingModel, QMSDialogConfig, QMSDialogContainer, QMSDialogContainerV2, QMSDialogContent, QMSDialogFooter, QMSDialogHeader, QMSDrawerContentDirective, QMSDrawerDirective, QMSDrawerHeaderActionDirective, QMSDrawerHeaderDirective, QMSDropdownMenuItem, QMSEditFileNameDialog, QMSEditFileNameDialogModule, QMSFileAttachment, QMSFileUploadDirective, QMSFileUploadDisplayDirective, QMSFileUploadMultipleDirective, QMSFileUploadMultipleDisplayDirective, QMSFileUploadMultipleSelectorDirective, QMSFileUploadSelectorDirective, QMSFlatNodeTree, QMSFormDialog, QMSFormFieldDatePickerDirective, QMSFormFieldDirective, QMSFormFieldTextareaDirective, QMSGroupOptionDirective, QMSIconRegistryService, QMSInputChipDirective, QMSInputClearDirective, QMSList, QMSListExpansion, QMSListExpansionHeader, QMSListHeader, QMSListItem, QMSListLeadingIcon, QMSListLine, QMSListModule, QMSMultiIconDirective, QMSNavDrawerComponent, QMSNavDrawerModule, QMSNavigationDrawerComponent, QMSNavigationDrawerModule, QMSNewTreeModule, QMSPaginatorComponent, QMSProcessDocumentItem, QMSRangeSliderDirective, QMSRangeSliderLockUpDirective, QMSRangeSliderModule, QMSRelatedGlobalService, QMSRelatedModule, QMSRichText, QMSRichTextModule, QMSRowDetailDirective, QMSScrolableAttachmentListDirective, QMSScrollbarDirective, QMSSearchFieldDirective, QMSSelectAccessData, QMSSelectAccessDialog, QMSSelectAccessDialogComponent, QMSSelectAccessDialogModule, QMSSelectAccessGlobalService, QMSSelectAccessResult, QMSSelectDepartmentGlobalService, QMSSelectDepartmentModule, QMSSelectDepartmentTreeConfig, QMSSelectDepartmentTreeGlobalService, QMSSelectDepartmentTreeModule, QMSSelectIncludeChildrenGlobalService, QMSSelectIncludeChildrenModule, QMSSelectOneGlobalService, QMSSelectOneModule, QMSSelectProcessDocumentGlobalService, QMSSelectProcessDocumentModule, QMSSideSheetModule, QMSSnackbarConfig, QMSSuffixDirective, QMSSuffixFieldDirective, QMSTabGroupAdvancedDirective, QMSTabGroupDirective, QMSTabLabelDirective, QMSTabModule, QMSTableAction, QMSTableActionBlock, QMSTableChildrenDirective, QMSTableDirective, QMSTableModule, QMSTableRowDirective, QMSTextBlockDirective, QMSTextBlockLine, QMSTextTruncateDirective, QMSThemingLibraryService, QMSToolTipComponent, QMSToolTipRendererDirective, QMSTooltipImageDirective, QMSTooltipModule, QMSTreeConfig, QMSTreeGlobalService, QMSTreeModel, QMSTreeModule, QMSUploadFileErrorDialog, QMSUploadFileErrorDialogModule, QMSUploadingFileGuard, QMS_LANGUAGES, QMS_THEMES, QMS_THEME_DEFAULT, QmsAngularComponent, QmsAngularModule, QmsAngularService, QmsAppBarComponent, QmsAppBarModule, QmsBPMNModule, QmsBadgesComponent, QmsBadgesModule, QmsBannerButtonType, QmsBannerComponent, QmsBannerConfirmButton, QmsBannerConfirmButtonClick, QmsBannerConfirmComponent, QmsBannerConfirmModule, QmsBannerContent, QmsBannerLoadingComponent, QmsBannerLoadingModule, QmsBannerModule, QmsCkeditorLinkSimpleComponent, QmsPaginatorModule, QmsReportContentPortraitComponent, QmsReportCoverPortraitComponent, QmsReportModule, QmsStatusDropdownComponent, QmsStatusDropdownModule, QmsStatusDropdownOption, QmsStatusDropdownType, QmsStepperComponent, QmsStepperModule, REGIONAL_FOLDER_ICON, REGIONAL_FOLDER_OUTLINED_ICON, RISK_ICON, RelatedConst, RelatedContentComponent, RelatedItemType, RelatedListComponent, RelatedPopupComponent, Result, RiskAnalysis, RiskAnalysisComponent, RiskDanger, RiskListComponent, RiskResult, RiskResultComponent, SaveTemplateComponent, ScrollToSelectedDirective, SelectAccessAnimationTrigger, SelectConst, SelectDepartmentComponent, SelectDepartmentPopupData, SelectDepartmentTreeComponent, SelectDialog, SelectIncludeChildrenPopUpComponent, SelectOneDialog, SelectOneNextData, SelectOneNextDialog, SelectOnePopupData, SelectOption, SelectOptionTypes, SelectPopupData, SelectProcessDocumentPopupComponent, SelectProcessDocumentPopupData, SelectedOption, SelectedProcessDocumentItem, SharedModule, ShowHideSearchResultConst, SideNav, SideNavItem, SidenavComponent, TargetType, TargetTypeName, TranslateLibraryService, TreeComponent, TreeConfig, TreeFlatNode, TreeModel, TreeModelNavDrawer, TreeNode$1 as TreeNode, UploadErrorData, app, basic, en, erd, fsa, mixinColor, no, notExceedSize, org, pn, requiredFileType, standard, uml, ɵ2, SharedMaterialModule as ɵa, TreeComponent as ɵb, QMSCKEditorUploadService as ɵc, QMSTreeModule as ɵd, QMSBasicTreeComponent as ɵe, QMSCKEditorTreeService as ɵf, QMSCKEditorTemplateComponent as ɵg, QMSCKEditorCommonService as ɵh, QMSSelectProcessDocumentGlobalService as ɵi, LinkAttachmentComponent as ɵj, QMSCKEditorTooltipComponent as ɵk, QMSCKEditorTooltip as ɵl, QMSCKEditorImageMapComponent as ɵm, QMSCKEditorImageMap as ɵn, QMSCKEditorBPMNConnectionService as ɵo, QMSCKEditorBpmnData as ɵp, QMSCKEditorAboutComponent as ɵq, QMSCKEditorFlowchartComponent as ɵr, BPMNLinkComponent as ɵs, ShapeLink as ɵt };
|
36411
|
+
export { AnimationTreeDepartment, AutocompleteOffDirective, BREADCRUMB_DROPDOWN_ICON, BUTTON_TOGGLE_DEFAULT_OPTIONS, BUTTON_TOGGLE_GROUP, BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR, BannerType, BpmnService, BreadcrumbNode, BreadcrumbType, ButtonToggleChange, CHECKLIST_ICON, CKEditorEventConst, CKEditorModule, CdkDetailRowDirective, ConfirmDialog, DEPARTMENT_FOLDER_ICON, DEPARTMENT_FOLDER_OUTLINED_ICON, DEVIATION_ICON, DOCUMENT_DEPARTMENT_ICON, DOCUMENT_ENTERPRISE_ICON, DOCUMENT_ICON, DOCUMENT_LOCAL_ICON, DOCUMENT_REGIONAL_ICON, DataType, DateFormatPipe, DepartmentLocationBreadCrumb, DepartmentSearchResultModel, DocumentNodeType$1 as DocumentNodeType, ENTERPRISE_FOLDER_ICON, ENTERPRISE_FOLDER_OUTLINED_ICON, EllipsifyDirective, FileErrorType, FileType, FilterPersonModel, FlatNodeNavDrawer, FlowChartConst, FlowchartViewMode, ISelectOneItem, InformationCoverItem, KEYBOARD_DOWN_ICON, KEYBOARD_UP_ICON, LOCAL_FOLDER_ICON, LOCAL_FOLDER_OUTLINED_ICON, LinkAnchor, LinkType, MarginDirective, MfeUtil, ModeDepartmentTreeeViewEnum, ModuleType$1 as ModuleType, NORMAL_FOLDER_ICON, NORMAL_FOLDER_OUTLINED_ICON, NavigatorElementView, NavigatorLinkView, NewTreeComponent, NewTreeModel, OptionSelectAccessEnum, OptionSelectAccessModel, PROCESS_AREA_ICON, PROCESS_AREA_OUTLINED_ICON, PROCESS_ICON, PROCESS_INTERCONNECTED_ICON, PaginationSize, PopupData, ProtocolType, ProtocolTypeName, QMSAccessItem, QMSAccessPagingChangeModel, QMSAccessPagingModel, QMSAnchor, QMSAppBar, QMSAppIconModule, QMSAttachmentListDirective, QMSBPMNComponent, QMSBPMNConfig, QMSBasicTreeComponent, QMSBreadcrumb, QMSBreadcrumbDirectionIconDirective, QMSBreadcrumbItemDirective, QMSBreadcrumbModule, QMSButton, QMSButtonIcon, QMSButtonModule, QMSButtonToggle, QMSButtonToggleGroup, QMSCKEditorBaseComponent, QMSCKEditorBaseService, QMSCKEditorBpmn, QMSCKEditorBpmnApiService, QMSCKEditorBpmnComponent, QMSCKEditorBpmnTemplate, QMSCKEditorComponent, QMSCKEditorConfirmComponent, QMSCKEditorData, QMSCKEditorDialogData, QMSCKEditorFlowchart, QMSCKEditorFlowchartService, QMSCKEditorFullscreenComponent, QMSCKEditorGlobalService, QMSCKEditorInjector, QMSCKEditorLinkAnchorDocument, QMSCKEditorLinkComponent, QMSCKEditorLinkService, QMSCKEditorLoadTemplateComponent, QMSCKEditorModule, QMSCKEditorPlugin, QMSCKEditorRelatedComponent, QMSCKEditorRelation, QMSCKEditorSaveAsTemplate, QMSCKEditorTemplate, QMSCKEditorTemplateService, QMSCKEditorToastService, QMSCKEditorTreeComponent, QMSCKEdtiorInputData, QMSChipBodyDirective, QMSChipInputChipListDirective, QMSChipInputDirective, QMSChipInputSelectDropDownDirective, QMSChipInputSelectFieldDirective, QMSChipInputSelectTriggerDirective, QMSCollapseGroupDirective, QMSComment, QMSConfirmDialog, QMSContentChangesDirective, QMSDepartmentPagingModel, QMSDialogConfig, QMSDialogContainer, QMSDialogContainerV2, QMSDialogContent, QMSDialogFooter, QMSDialogHeader, QMSDrawerContentDirective, QMSDrawerDirective, QMSDrawerHeaderActionDirective, QMSDrawerHeaderDirective, QMSDropdownMenuItem, QMSEditFileNameDialog, QMSEditFileNameDialogModule, QMSFileAttachment, QMSFileUploadDirective, QMSFileUploadDisplayDirective, QMSFileUploadMultipleDirective, QMSFileUploadMultipleDisplayDirective, QMSFileUploadMultipleSelectorDirective, QMSFileUploadSelectorDirective, QMSFlatNodeTree, QMSFormDialog, QMSFormFieldDatePickerDirective, QMSFormFieldDirective, QMSFormFieldTextareaDirective, QMSGroupOptionDirective, QMSIconRegistryService, QMSInputChipDirective, QMSInputClearDirective, QMSList, QMSListExpansion, QMSListExpansionHeader, QMSListHeader, QMSListItem, QMSListLeadingIcon, QMSListLine, QMSListModule, QMSMultiIconDirective, QMSNavDrawerComponent, QMSNavDrawerModule, QMSNavigationDrawerComponent, QMSNavigationDrawerModule, QMSNewTreeModule, QMSPaginatorComponent, QMSProcessDocumentItem, QMSRangeSliderDirective, QMSRangeSliderLockUpDirective, QMSRangeSliderModule, QMSRelatedGlobalService, QMSRelatedModule, QMSRichText, QMSRichTextModule, QMSRowDetailDirective, QMSScrolableAttachmentListDirective, QMSScrollbarDirective, QMSSearchFieldDirective, QMSSelectAccessData, QMSSelectAccessDialog, QMSSelectAccessDialogComponent, QMSSelectAccessDialogModule, QMSSelectAccessGlobalService, QMSSelectAccessResult, QMSSelectDepartmentGlobalService, QMSSelectDepartmentModule, QMSSelectDepartmentTreeConfig, QMSSelectDepartmentTreeGlobalService, QMSSelectDepartmentTreeModule, QMSSelectIncludeChildrenGlobalService, QMSSelectIncludeChildrenModule, QMSSelectOneGlobalService, QMSSelectOneModule, QMSSelectProcessDataModule, QMSSelectProcessDataTreeModule, QMSSelectProcessDocumentGlobalService, QMSSelectProcessDocumentModule, QMSSideSheetModule, QMSSnackbarConfig, QMSSuffixDirective, QMSSuffixFieldDirective, QMSTabGroupAdvancedDirective, QMSTabGroupDirective, QMSTabLabelDirective, QMSTabModule, QMSTableAction, QMSTableActionBlock, QMSTableChildrenDirective, QMSTableDirective, QMSTableModule, QMSTableRowDirective, QMSTextBlockDirective, QMSTextBlockLine, QMSTextTruncateDirective, QMSThemingLibraryService, QMSToolTipComponent, QMSToolTipRendererDirective, QMSTooltipImageDirective, QMSTooltipModule, QMSTreeConfig, QMSTreeGlobalService, QMSTreeModel, QMSTreeModule, QMSUploadFileErrorDialog, QMSUploadFileErrorDialogModule, QMSUploadingFileGuard, QMS_LANGUAGES, QMS_THEMES, QMS_THEME_DEFAULT, QmsAngularComponent, QmsAngularModule, QmsAngularService, QmsAppBarComponent, QmsAppBarModule, QmsBPMNModule, QmsBadgesComponent, QmsBadgesModule, QmsBannerButtonType, QmsBannerComponent, QmsBannerConfirmButton, QmsBannerConfirmButtonClick, QmsBannerConfirmComponent, QmsBannerConfirmModule, QmsBannerContent, QmsBannerLoadingComponent, QmsBannerLoadingModule, QmsBannerModule, QmsCkeditorLinkSimpleComponent, QmsPaginatorModule, QmsReportContentPortraitComponent, QmsReportCoverPortraitComponent, QmsReportModule, QmsStatusDropdownComponent, QmsStatusDropdownModule, QmsStatusDropdownOption, QmsStatusDropdownType, QmsStepperComponent, QmsStepperModule, REGIONAL_FOLDER_ICON, REGIONAL_FOLDER_OUTLINED_ICON, RISK_ICON, RelatedConst, RelatedContentComponent, RelatedItemType, RelatedListComponent, RelatedPopupComponent, Result, RiskAnalysis, RiskAnalysisComponent, RiskDanger, RiskListComponent, RiskResult, RiskResultComponent, SaveTemplateComponent, ScrollToSelectedDirective, SelectAccessAnimationTrigger, SelectConst, SelectDepartmentComponent, SelectDepartmentPopupData, SelectDepartmentTreeComponent, SelectDialog, SelectIncludeChildrenPopUpComponent, SelectOneDialog, SelectOneNextData, SelectOneNextDialog, SelectOnePopupData, SelectOption, SelectOptionTypes, SelectPopupData, SelectProcessDataComponent, SelectProcessDataTreeComponent, SelectProcessDocumentPopupComponent, SelectProcessDocumentPopupData, SelectedOption, SelectedProcessDocumentItem, SharedModule, ShowHideSearchResultConst, SideNav, SideNavItem, SidenavComponent, TargetType, TargetTypeName, TranslateLibraryService, TreeComponent, TreeConfig, TreeFlatNode, TreeModel, TreeModelNavDrawer, TreeNode$1 as TreeNode, UploadErrorData, app, basic, en, erd, fsa, mixinColor, no, notExceedSize, org, pn, requiredFileType, standard, uml, ɵ2, SharedMaterialModule as ɵa, TreeComponent as ɵb, QMSCKEditorUploadService as ɵc, QMSTreeModule as ɵd, QMSBasicTreeComponent as ɵe, QMSCKEditorTreeService as ɵf, QMSCKEditorTemplateComponent as ɵg, QMSCKEditorCommonService as ɵh, QMSSelectProcessDocumentGlobalService as ɵi, LinkAttachmentComponent as ɵj, QMSCKEditorTooltipComponent as ɵk, QMSCKEditorTooltip as ɵl, QMSCKEditorImageMapComponent as ɵm, QMSCKEditorImageMap as ɵn, QMSCKEditorBPMNConnectionService as ɵo, QMSCKEditorBpmnData as ɵp, QMSCKEditorAboutComponent as ɵq, QMSCKEditorFlowchartComponent as ɵr, BPMNLinkComponent as ɵs, ShapeLink as ɵt };
|
34946
36412
|
//# sourceMappingURL=qms-angular.js.map
|