qms-angular 1.0.20 → 1.0.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/qms-angular.umd.js +141 -56
- package/bundles/qms-angular.umd.js.map +1 -1
- package/esm2015/lib/components/related/common/tree.function.js +2 -2
- package/esm2015/lib/components/related/list-other-related/list-related.component.js +9 -3
- package/esm2015/lib/components/related/model/danger-assessment.model.js +1 -1
- package/esm2015/lib/components/related/model/danger.model.js +1 -1
- package/esm2015/lib/components/related/model/risk-result.model.js +2 -1
- package/esm2015/lib/components/related/model/selected-node.model.js +1 -1
- package/esm2015/lib/components/related/popup/related-popup.component.js +83 -27
- package/esm2015/lib/components/related/risk/list/list.component.js +7 -4
- package/esm2015/lib/components/related/risk/result/result.component.js +4 -2
- package/esm2015/lib/components/related/tree/tree.component.js +7 -4
- package/esm2015/lib/directives/tooltip/tooltip-renderer.directive.js +4 -3
- package/esm2015/lib/model/en.js +3 -1
- package/esm2015/lib/model/no.js +3 -1
- package/esm2015/lib/qms-ckeditor-components/common/functions/common.function.js +9 -5
- package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-link/attachments/link-attachment.component.js +8 -2
- package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-link/qms-ckeditor-link.component.js +3 -3
- package/esm2015/lib/qms-ckeditor-components/qms-ckeditor.component.js +2 -2
- package/fesm2015/qms-angular.js +141 -56
- package/fesm2015/qms-angular.js.map +1 -1
- package/lib/components/related/list-other-related/list-related.component.d.ts +2 -0
- package/lib/components/related/model/danger-assessment.model.d.ts +3 -0
- package/lib/components/related/model/danger.model.d.ts +3 -0
- package/lib/components/related/model/risk-result.model.d.ts +1 -0
- package/lib/components/related/model/selected-node.model.d.ts +1 -0
- package/lib/components/related/popup/related-popup.component.d.ts +1 -0
- package/lib/components/related/risk/result/result.component.d.ts +1 -0
- package/lib/model/en.d.ts +2 -0
- package/lib/model/no.d.ts +2 -0
- package/lib/qms-ckeditor-components/common/functions/common.function.d.ts +2 -0
- package/package.json +1 -1
- package/qms-angular.metadata.json +1 -1
- package/src/assets/qms-ckeditor-plugin/build/ckeditor.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/ckeditor.js.map +1 -1
- package/src/assets/qms-ckeditor-plugin/src/plugins/common/qmsCKEditorConstant.js +1 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/link/linkcommand.js +3 -1
- package/src/assets/qms-ckeditor-plugin/src/plugins/link/linkediting.js +47 -6
- package/src/assets/qms-ckeditor-plugin/src/plugins/link/linkui.js +10 -4
- package/src/assets/qms-ckeditor-plugin/src/themes/tyles/linkactions.css +0 -1
- package/src/lib/components/related/popup/related-popup.component.scss +21 -13
- package/src/lib/components/related/risk/list/list.component.scss +18 -4
package/fesm2015/qms-angular.js
CHANGED
@@ -90,6 +90,8 @@ const en = {
|
|
90
90
|
"NOT_ACCEPTED": "Not accepted",
|
91
91
|
"MUST_BE_EVALUATED": "Must be evaluated",
|
92
92
|
"ACCEPTED": "Accepted",
|
93
|
+
"ARCHIVED": "Archived",
|
94
|
+
"CAUSE": "Cause",
|
93
95
|
"ERROR": {
|
94
96
|
"SELECT_DANGER": "You must select one or more events"
|
95
97
|
},
|
@@ -197,6 +199,8 @@ const no = {
|
|
197
199
|
"NOT_ACCEPTED": "Ikke akseptert",
|
198
200
|
"MUST_BE_EVALUATED": "Må vurderes",
|
199
201
|
"ACCEPTED": "Akseptert",
|
202
|
+
"ARCHIVED": "Arkivert",
|
203
|
+
"CAUSE": "Årsak",
|
200
204
|
"ERROR": {
|
201
205
|
"SELECT_DANGER": "Du må velge en eller flere hendelser"
|
202
206
|
},
|
@@ -1690,9 +1694,10 @@ class QMSToolTipRendererDirective {
|
|
1690
1694
|
*/
|
1691
1695
|
show() {
|
1692
1696
|
//attach the component if it has not already attached to the overlay
|
1693
|
-
if (this._overlayRef && !this._overlayRef.hasAttached()) {
|
1697
|
+
if ((this.text || this.contentTemplate) && this._overlayRef && !this._overlayRef.hasAttached()) {
|
1694
1698
|
const tooltipRef = this._overlayRef.attach(new ComponentPortal(QMSToolTipComponent));
|
1695
|
-
|
1699
|
+
if (this.text)
|
1700
|
+
tooltipRef.instance.text = this.text;
|
1696
1701
|
if (this.mode) {
|
1697
1702
|
tooltipRef.instance.mode = this.mode;
|
1698
1703
|
}
|
@@ -3242,7 +3247,7 @@ function findChild$1(id, objParent, array) {
|
|
3242
3247
|
name: item.subName,
|
3243
3248
|
parentId: id
|
3244
3249
|
};
|
3245
|
-
objParent[json.stringify(key)] = Object.assign(Object.assign({}, objParent[
|
3250
|
+
objParent[json.stringify(key)] = Object.assign(Object.assign({}, objParent[json.stringify(key)]), processNode);
|
3246
3251
|
});
|
3247
3252
|
}
|
3248
3253
|
const TreeFunctions = {
|
@@ -3357,7 +3362,10 @@ class TreeComponent {
|
|
3357
3362
|
this.treeData = [...this.treeData, changes.treeData.currentValue];
|
3358
3363
|
this.initTreeData();
|
3359
3364
|
}
|
3360
|
-
if (changes.selectedData &&
|
3365
|
+
if (changes.selectedData &&
|
3366
|
+
(changes.selectedData.currentValue.length > 0 ||
|
3367
|
+
JSON.stringify(changes.selectedData.currentValue) !==
|
3368
|
+
JSON.stringify(changes.selectedData.previousValue))) {
|
3361
3369
|
this.checkSelected(changes.selectedData.currentValue);
|
3362
3370
|
}
|
3363
3371
|
else {
|
@@ -3542,8 +3550,8 @@ class TreeComponent {
|
|
3542
3550
|
}
|
3543
3551
|
else {
|
3544
3552
|
const descendants = this.treeControl.getDescendants(node).filter(item => !item.disabled);
|
3545
|
-
this.checkSelectedSameNode(descendants, this.
|
3546
|
-
this.
|
3553
|
+
this.checkSelectedSameNode(descendants, this.descendantsAllSelected(node));
|
3554
|
+
!this.descendantsAllSelected(node)
|
3547
3555
|
? this.checklistSelection.select(...descendants)
|
3548
3556
|
: this.checklistSelection.deselect(...descendants);
|
3549
3557
|
this.cdRef.markForCheck();
|
@@ -3919,6 +3927,8 @@ class RelatedPopupComponent {
|
|
3919
3927
|
this.checkedNodeList = this.checkedNodeList.filter(x => (x.id !== item.id || x.parentId !== item.parentId));
|
3920
3928
|
const tempArr = [];
|
3921
3929
|
const tempArrDocument = [];
|
3930
|
+
const newSelectProcessList = [];
|
3931
|
+
const newSelectDocumentList = [];
|
3922
3932
|
this.commonCheckedList.forEach(element => {
|
3923
3933
|
this.checkedNodeList.forEach(x => {
|
3924
3934
|
if (element.id === x.id && element.parentId === x.parentId) {
|
@@ -3926,6 +3936,14 @@ class RelatedPopupComponent {
|
|
3926
3936
|
}
|
3927
3937
|
});
|
3928
3938
|
});
|
3939
|
+
this.singleProcessList.forEach(element => {
|
3940
|
+
this.checkedNodeList.forEach(x => {
|
3941
|
+
if (element.id === x.id && element.parentId === x.parentId) {
|
3942
|
+
newSelectProcessList.push(element);
|
3943
|
+
}
|
3944
|
+
});
|
3945
|
+
});
|
3946
|
+
this.singleProcessList = newSelectProcessList;
|
3929
3947
|
this.selectedData = [...tempArr];
|
3930
3948
|
this.documentCheckedList.forEach(element => {
|
3931
3949
|
this.checkedNodeList.forEach(x => {
|
@@ -3934,6 +3952,14 @@ class RelatedPopupComponent {
|
|
3934
3952
|
}
|
3935
3953
|
});
|
3936
3954
|
});
|
3955
|
+
this.singleDocumentList.forEach(element => {
|
3956
|
+
this.checkedNodeList.forEach(x => {
|
3957
|
+
if (element.id === x.id && element.parentId === x.parentId) {
|
3958
|
+
newSelectDocumentList.push(element);
|
3959
|
+
}
|
3960
|
+
});
|
3961
|
+
});
|
3962
|
+
this.singleDocumentList = newSelectDocumentList;
|
3937
3963
|
this.selectedData2 = [...tempArrDocument];
|
3938
3964
|
}
|
3939
3965
|
isMatchTrue(arr, arr2) {
|
@@ -3962,7 +3988,7 @@ class RelatedPopupComponent {
|
|
3962
3988
|
onSearchRelated(_val) {
|
3963
3989
|
this.filteredOptions = [];
|
3964
3990
|
if (typeof (_val) === 'object') {
|
3965
|
-
|
3991
|
+
this.myControl.setValue('');
|
3966
3992
|
}
|
3967
3993
|
else if (typeof (_val) === 'string') {
|
3968
3994
|
if (!!_val) {
|
@@ -3984,7 +4010,7 @@ class RelatedPopupComponent {
|
|
3984
4010
|
this.selectedNode = [];
|
3985
4011
|
if (this.treeConfig1.showCheckBox) {
|
3986
4012
|
index = this.checkedNodeList.findIndex(x => {
|
3987
|
-
return x.id === item.id;
|
4013
|
+
return x.id === item.id && x.parentId === item.parentId;
|
3988
4014
|
});
|
3989
4015
|
}
|
3990
4016
|
if (index < 0) {
|
@@ -4013,6 +4039,7 @@ class RelatedPopupComponent {
|
|
4013
4039
|
id: item.id,
|
4014
4040
|
itemName: item.itemName,
|
4015
4041
|
itemType: typeId,
|
4042
|
+
itemNumberId: item.itemNumberId
|
4016
4043
|
});
|
4017
4044
|
}
|
4018
4045
|
else {
|
@@ -4021,6 +4048,7 @@ class RelatedPopupComponent {
|
|
4021
4048
|
id: item.id,
|
4022
4049
|
itemName: item.itemName,
|
4023
4050
|
itemType: typeId,
|
4051
|
+
itemNumberId: item.itemNumberId
|
4024
4052
|
});
|
4025
4053
|
}
|
4026
4054
|
this.dataTrees.toArray()[1].todoItemSelectionById([item.id]);
|
@@ -4048,6 +4076,7 @@ class RelatedPopupComponent {
|
|
4048
4076
|
id: node.rootId,
|
4049
4077
|
itemName: node.rootName,
|
4050
4078
|
itemType: typeId,
|
4079
|
+
itemNumberId: item.itemNumberId
|
4051
4080
|
});
|
4052
4081
|
}
|
4053
4082
|
else {
|
@@ -4056,6 +4085,7 @@ class RelatedPopupComponent {
|
|
4056
4085
|
id: node.rootId,
|
4057
4086
|
itemName: node.rootName,
|
4058
4087
|
itemType: typeId,
|
4088
|
+
itemNumberId: item.itemNumberId
|
4059
4089
|
});
|
4060
4090
|
}
|
4061
4091
|
}
|
@@ -4117,6 +4147,7 @@ class RelatedPopupComponent {
|
|
4117
4147
|
id: x.id,
|
4118
4148
|
itemName: x.name,
|
4119
4149
|
itemType: itemType,
|
4150
|
+
itemNumberId: item.displayId.toString()
|
4120
4151
|
});
|
4121
4152
|
});
|
4122
4153
|
}
|
@@ -4127,6 +4158,7 @@ class RelatedPopupComponent {
|
|
4127
4158
|
id: x.id,
|
4128
4159
|
itemName: x.name,
|
4129
4160
|
itemType: itemType,
|
4161
|
+
itemNumberId: item.displayId.toString()
|
4130
4162
|
});
|
4131
4163
|
});
|
4132
4164
|
}
|
@@ -4154,13 +4186,23 @@ class RelatedPopupComponent {
|
|
4154
4186
|
this.commonCheckedList.push(item);
|
4155
4187
|
}
|
4156
4188
|
if (this.singleSelectedNode) {
|
4157
|
-
|
4158
|
-
|
4159
|
-
|
4160
|
-
|
4161
|
-
|
4162
|
-
|
4163
|
-
}
|
4189
|
+
let position;
|
4190
|
+
if (item.expandable) {
|
4191
|
+
position = this.treeData1.findIndex(p => p.rootId === item.id);
|
4192
|
+
}
|
4193
|
+
else {
|
4194
|
+
position = this.treeData1.findIndex(p => p.childId === item.id);
|
4195
|
+
}
|
4196
|
+
if (position > -1) {
|
4197
|
+
this.singleProcessList.push({
|
4198
|
+
moduleId: this.moduleId,
|
4199
|
+
id: item.id,
|
4200
|
+
itemName: item.name,
|
4201
|
+
itemType: (this.itemType === 2) ? this.setTypeProcess(item.expandable) : this.itemType,
|
4202
|
+
itemNumberId: this.treeData1[position].displayId.toString(),
|
4203
|
+
parentId: item.parentId
|
4204
|
+
});
|
4205
|
+
}
|
4164
4206
|
}
|
4165
4207
|
if (item.id && index < 0 && !item.expandable && !this.singleSelectedNode) {
|
4166
4208
|
const position = this.treeData1.findIndex(p => p.childId === item.id && p.rootId === item.parentId);
|
@@ -4171,7 +4213,8 @@ class RelatedPopupComponent {
|
|
4171
4213
|
itemName: item.name,
|
4172
4214
|
itemType: this.itemType,
|
4173
4215
|
parentId: item.parentId,
|
4174
|
-
parentName: this.treeData1[position].rootName
|
4216
|
+
parentName: this.treeData1[position].rootName,
|
4217
|
+
itemNumberId: this.treeData1[position].displayId.toString()
|
4175
4218
|
});
|
4176
4219
|
}
|
4177
4220
|
}
|
@@ -4193,22 +4236,37 @@ class RelatedPopupComponent {
|
|
4193
4236
|
this.documentCheckedList.push(item);
|
4194
4237
|
}
|
4195
4238
|
if (this.singleSelectedNode) {
|
4196
|
-
|
4197
|
-
|
4198
|
-
|
4199
|
-
|
4200
|
-
|
4201
|
-
|
4202
|
-
}
|
4239
|
+
let position;
|
4240
|
+
if (item.expandable) {
|
4241
|
+
position = this.treeData2.findIndex(p => p.rootId === item.id);
|
4242
|
+
}
|
4243
|
+
else {
|
4244
|
+
position = this.treeData2.findIndex(p => p.childId === item.id);
|
4245
|
+
}
|
4246
|
+
if (position > -1) {
|
4247
|
+
this.singleDocumentList.push({
|
4248
|
+
moduleId: this.moduleId,
|
4249
|
+
id: item.id,
|
4250
|
+
itemName: item.name,
|
4251
|
+
itemType: item.expandable ? this.dataType.folder : this.dataType.document,
|
4252
|
+
itemNumberId: this.treeData2[position].displayId.toString(),
|
4253
|
+
parentId: item.parentId
|
4254
|
+
});
|
4255
|
+
}
|
4203
4256
|
}
|
4204
4257
|
if (index < 0 && !item.expandable && !this.singleSelectedNode) {
|
4205
4258
|
const position = this.treeData2.findIndex(p => p.childId === item.id);
|
4206
|
-
|
4207
|
-
|
4208
|
-
|
4209
|
-
|
4210
|
-
|
4211
|
-
|
4259
|
+
if (position > -1) {
|
4260
|
+
this.checkedNodeList.push({
|
4261
|
+
moduleId: this.moduleId,
|
4262
|
+
id: item.id,
|
4263
|
+
itemName: item.name,
|
4264
|
+
itemType: this.dataType.document,
|
4265
|
+
itemNumberId: this.treeData2[position].displayId.toString(),
|
4266
|
+
parentId: item.parentId,
|
4267
|
+
parentName: this.treeData2[position].rootName,
|
4268
|
+
});
|
4269
|
+
}
|
4212
4270
|
}
|
4213
4271
|
});
|
4214
4272
|
if (this.singleSelectedNode) {
|
@@ -4238,15 +4296,21 @@ class RelatedPopupComponent {
|
|
4238
4296
|
return (elmHeight + elmMargin);
|
4239
4297
|
}
|
4240
4298
|
getItemChipName(item) {
|
4241
|
-
|
4299
|
+
if (item.itemType === DataType.checklist || item.itemType === DataType.deviation) {
|
4300
|
+
return item.parentName ? `${item.parentName}/${item.itemName}` : item.itemName;
|
4301
|
+
}
|
4302
|
+
return item.itemName;
|
4303
|
+
}
|
4304
|
+
isEllipsisActive(e) {
|
4305
|
+
return e ? (e.clientWidth < e.scrollWidth) : false;
|
4242
4306
|
}
|
4243
4307
|
}
|
4244
4308
|
RelatedPopupComponent.decorators = [
|
4245
4309
|
{ type: Component, args: [{
|
4246
4310
|
selector: 'qms-related-popup',
|
4247
|
-
template: "<div id=\"qmslib_related_popup\" class=\"qmslib__related__popup__container\">\r\n <div id=\"qmslib_related_popup_header\">\r\n <span mat-icon-button class=\"button__close\" (click)=\"onCloseClick()\">\r\n <mat-icon mat-icon>close</mat-icon>\r\n </span>\r\n <div id=\"qmslib_related_popup_header_001\" mat-dialog-content>\r\n <span>{{ moduleName | uppercase }}</span>\r\n </div>\r\n </div>\r\n\r\n <div\r\n id=\"qmslib_related_popup_search\"\r\n class=\"input__field\"\r\n (click)=\"showSearchResult()\"\r\n >\r\n <input\r\n #name\r\n type=\"text\"\r\n placeholder=\"{{ LANG.SEARCH }}\"\r\n matInput\r\n [formControl]=\"myControl\"\r\n [matAutocomplete]=\"auto\"\r\n #autoCompleteInputSearch\r\n />\r\n <mat-icon>search</mat-icon>\r\n </div>\r\n\r\n <div class=\"line__divider\"></div>\r\n\r\n <mat-autocomplete\r\n #auto=\"matAutocomplete\"\r\n [displayWith]=\"displayRelated\"\r\n class=\"mat-autocomplete_related-viewport\"\r\n >\r\n <cdk-virtual-scroll-viewport\r\n qms-scrollbar\r\n itemSize=\"10\"\r\n class=\"related-viewport\"\r\n >\r\n <!-- Process -->\r\n <div\r\n class=\"search__module-result\"\r\n *ngIf=\"getModuleFilteredOptions(dataType.process).length\"\r\n >\r\n <span class=\"search__module-title\">{{ LANG.PROCESSES }}</span>\r\n <mat-option\r\n class=\"search__option\"\r\n *ngFor=\"let option of getModuleFilteredOptions(dataType.process)\"\r\n [value]=\"option\"\r\n (click)=\"selectRelated(option)\"\r\n >\r\n <qms-list-item type=\"image-square\">\r\n <mat-icon\r\n leading-icon\r\n type=\"image-square\"\r\n svgIcon=\"process\"\r\n ></mat-icon>\r\n <div qms-list-header>\r\n <div qms-line type=\"subtitle\" class=\"search__option-name\">\r\n {{ option.itemName }}\r\n </div>\r\n </div>\r\n <div qms-line color=\"default-subtitle\">\r\n <span class=\"material-icons-outlined search__description-icon\">\r\n local_offer\r\n </span>\r\n {{ LANG.PROCESS_ID }}: {{ option.itemNumberId }};\r\n {{ option.statusName }}\r\n </div>\r\n </qms-list-item>\r\n </mat-option>\r\n </div>\r\n <!-- Document -->\r\n <div\r\n class=\"search__module-result\"\r\n *ngIf=\"getModuleFilteredOptions(dataType.document).length\"\r\n >\r\n <span class=\"search__module-title\">{{ LANG.DOCUMENTS }}</span>\r\n <mat-option\r\n class=\"search__option\"\r\n *ngFor=\"let option of getModuleFilteredOptions(dataType.document)\"\r\n [value]=\"option\"\r\n (click)=\"selectRelated(option)\"\r\n >\r\n <qms-list-item type=\"image-square\">\r\n <mat-icon\r\n leading-icon\r\n type=\"image-square\"\r\n svgIcon=\"document\"\r\n ></mat-icon>\r\n <div qms-list-header>\r\n <div qms-line type=\"subtitle\">{{ option.itemName }}</div>\r\n </div>\r\n <div qms-line color=\"default-subtitle\">\r\n <span class=\"material-icons-outlined search__description-icon\">\r\n local_offer\r\n </span>\r\n {{ LANG.DOCUMENT_ID }}: {{ option.itemNumberId }};\r\n {{ option.statusName }}\r\n </div>\r\n </qms-list-item>\r\n </mat-option>\r\n </div>\r\n <!-- Process Area -->\r\n <div\r\n class=\"search__module-result\"\r\n *ngIf=\"getModuleFilteredOptions(dataType.area).length\"\r\n >\r\n <span class=\"search__module-title\">{{ LANG.PROCESS_AREA }}</span>\r\n <mat-option\r\n class=\"search__option\"\r\n *ngFor=\"let option of getModuleFilteredOptions(dataType.area)\"\r\n [value]=\"option\"\r\n (click)=\"selectRelated(option)\"\r\n >\r\n <qms-list-item>\r\n <mat-icon\r\n leading-icon\r\n type=\"image-square\"\r\n svgIcon=\"process_area_outlined\"\r\n ></mat-icon>\r\n <div qms-list-header>\r\n <div qms-line type=\"subtitle\">{{ option.itemName }}</div>\r\n </div>\r\n </qms-list-item>\r\n </mat-option>\r\n </div>\r\n <!-- Document Folder -->\r\n <div\r\n class=\"search__module-result\"\r\n *ngIf=\"getModuleFilteredOptions(dataType.folder).length\"\r\n >\r\n <span class=\"search__module-title\">{{ LANG.FOLDER }}</span>\r\n <mat-option\r\n class=\"search__option\"\r\n *ngFor=\"let option of getModuleFilteredOptions(dataType.folder)\"\r\n [value]=\"option\"\r\n (click)=\"selectRelated(option)\"\r\n >\r\n <qms-list-item>\r\n <mat-icon leading-icon>folder_open</mat-icon>\r\n <div qms-list-header>\r\n <div qms-line type=\"subtitle\">{{ option.itemName }}</div>\r\n </div>\r\n </qms-list-item>\r\n </mat-option>\r\n </div>\r\n <!-- Categories -->\r\n <div\r\n class=\"search__module-result\"\r\n *ngIf=\"getModuleFilteredOptions(dataType.deviation).length\"\r\n >\r\n <span class=\"search__module-title\">{{ LANG.DEVIATION }}</span>\r\n <mat-option\r\n class=\"search__option\"\r\n *ngFor=\"let option of getModuleFilteredOptions(dataType.deviation)\"\r\n [value]=\"option\"\r\n (click)=\"selectRelated(option)\"\r\n >\r\n <qms-list-item>\r\n <mat-icon\r\n leading-icon\r\n type=\"image-square\"\r\n svgIcon=\"deviation\"\r\n ></mat-icon>\r\n <div qms-list-header>\r\n <div qms-line type=\"caption\">{{ option.parentName }}</div>\r\n <div qms-line type=\"subtitle\">{{ option.itemName }}</div>\r\n </div>\r\n </qms-list-item>\r\n </mat-option>\r\n </div>\r\n\r\n <!-- Deviation types -->\r\n <div\r\n class=\"search__module-result\"\r\n *ngIf=\"getModuleFilteredOptions(dataType.deviationType).length > 0\"\r\n >\r\n <span class=\"search__module-title\">{{ LANG.DEVIATION_TYPE }}</span>\r\n <mat-option\r\n class=\"search__option\"\r\n *ngFor=\"\r\n let option of getModuleFilteredOptions(dataType.deviationType)\r\n \"\r\n [value]=\"option\"\r\n (click)=\"selectRelated(option)\"\r\n >\r\n <qms-list-item>\r\n <mat-icon leading-icon>folder_open</mat-icon>\r\n <div qms-list-header>\r\n <div qms-line type=\"subtitle\">{{ option.itemName }}</div>\r\n </div>\r\n </qms-list-item>\r\n </mat-option>\r\n </div>\r\n <!-- Checklist -->\r\n <div\r\n class=\"search__module-result\"\r\n *ngIf=\"getModuleFilteredOptions(dataType.checklist).length\"\r\n >\r\n <span class=\"search__module-title\">{{ LANG.CHECKLIST }}</span>\r\n <mat-option\r\n class=\"search__option\"\r\n *ngFor=\"let option of getModuleFilteredOptions(dataType.checklist)\"\r\n [value]=\"option\"\r\n (click)=\"selectRelated(option)\"\r\n >\r\n <qms-list-item>\r\n <mat-icon\r\n leading-icon\r\n type=\"image-square\"\r\n svgIcon=\"checklist\"\r\n ></mat-icon>\r\n <div qms-list-header>\r\n <div qms-line type=\"caption\">{{ option.parentName }}</div>\r\n <div qms-line type=\"subtitle\">{{ option.itemName }}</div>\r\n </div>\r\n </qms-list-item>\r\n </mat-option>\r\n </div>\r\n <!-- Checklist category -->\r\n <div\r\n class=\"search__module-result\"\r\n *ngIf=\"getModuleFilteredOptions(dataType.checklistCategory).length\"\r\n >\r\n <span class=\"search__module-title\">{{ LANG.CHECKLIST_CATEGORY }}</span>\r\n <mat-option\r\n class=\"search__option\"\r\n *ngFor=\"\r\n let option of getModuleFilteredOptions(dataType.checklistCategory)\r\n \"\r\n [value]=\"option\"\r\n (click)=\"selectRelated(option)\"\r\n >\r\n <qms-list-item>\r\n <mat-icon leading-icon type=\"image-square\">folder_open</mat-icon>\r\n <div qms-list-header>\r\n <div qms-line type=\"subtitle\">{{ option.itemName }}</div>\r\n </div>\r\n </qms-list-item>\r\n </mat-option>\r\n </div>\r\n <!-- Risk -->\r\n <div\r\n class=\"search__module-result\"\r\n *ngIf=\"getModuleFilteredOptions(dataType.risk).length\"\r\n >\r\n <span class=\"search__module-title\">{{ LANG.ASSESSMENT }}</span>\r\n <mat-option\r\n class=\"search__option\"\r\n *ngFor=\"let option of getModuleFilteredOptions(dataType.risk)\"\r\n [value]=\"option\"\r\n (click)=\"selectRelated(option)\"\r\n >\r\n <qms-list-item>\r\n <mat-icon\r\n leading-icon\r\n type=\"image-square\"\r\n svgIcon=\"risk\"\r\n ></mat-icon>\r\n <div qms-list-header>\r\n <div qms-line type=\"subtitle\">{{ option.itemName }}</div>\r\n </div>\r\n </qms-list-item>\r\n </mat-option>\r\n </div>\r\n <!-- Risk folder -->\r\n <div\r\n class=\"search__module-result\"\r\n *ngIf=\"getModuleFilteredOptions(dataType.riskFolder).length\"\r\n >\r\n <span class=\"search__module-title\">{{ LANG.FOLDER }}</span>\r\n <mat-option\r\n class=\"search__option\"\r\n *ngFor=\"let option of getModuleFilteredOptions(dataType.riskFolder)\"\r\n [value]=\"option\"\r\n (click)=\"selectRelated(option)\"\r\n >\r\n <qms-list-item>\r\n <mat-icon leading-icon type=\"image-square\">folder_open</mat-icon>\r\n <div qms-list-header>\r\n <div qms-line type=\"subtitle\">{{ option.itemName }}</div>\r\n </div>\r\n </qms-list-item>\r\n </mat-option>\r\n </div>\r\n </cdk-virtual-scroll-viewport>\r\n </mat-autocomplete>\r\n\r\n <div\r\n class=\"qms-scrollbar qmslib_related_popup_content\"\r\n [ngClass]=\"{\r\n panel__content_item: checkedNodeList.length,\r\n panel__content: !checkedNodeList.length\r\n }\"\r\n >\r\n <mat-expansion-panel\r\n hideToggle\r\n id=\"qmslib_related_popup_common_001\"\r\n [expanded]=\"isCommonExpanded\"\r\n (opened)=\"isCommonExpanded = true\"\r\n (closed)=\"isCommonExpanded = false\"\r\n >\r\n <mat-expansion-panel-header class=\"padding-5\">\r\n <mat-panel-title *ngIf=\"moduleId === module.documentProcess\">\r\n {{ LANG.PROCESSES | uppercase }}\r\n </mat-panel-title>\r\n <mat-panel-title *ngIf=\"moduleId === module.deviation\">\r\n {{ LANG.DEVIATION | uppercase }}\r\n </mat-panel-title>\r\n <mat-panel-title *ngIf=\"moduleId === module.checklist\">\r\n {{ LANG.CHECKLIST | uppercase }}\r\n </mat-panel-title>\r\n <mat-panel-title *ngIf=\"moduleId === module.risk\">\r\n {{ LANG.ASSESSMENT | uppercase }}\r\n </mat-panel-title>\r\n <button qms-btn-icon class=\"related_popup_toggle-btn\">\r\n <mat-icon>\r\n {{ isCommonExpanded ? \"keyboard_arrow_up\" : \"keyboard_arrow_down\" }}\r\n </mat-icon>\r\n </button>\r\n </mat-expansion-panel-header>\r\n <div id=\"qmslib_related_popup_common_002\">\r\n <qms-tree\r\n [treeData]=\"treeData1\"\r\n [treeConfig]=\"treeConfig1\"\r\n [selectedData]=\"selectedData\"\r\n [selectedRiskData]=\"selectedRiskData\"\r\n [disabledList]=\"disabledList\"\r\n (checkBoxEvent)=\"getCommonCheckedNode($event)\"\r\n ></qms-tree>\r\n </div>\r\n </mat-expansion-panel>\r\n\r\n <div\r\n *ngIf=\"moduleId === module.documentProcess\"\r\n class=\"line__divider\"\r\n ></div>\r\n\r\n <mat-expansion-panel\r\n hideToggle\r\n *ngIf=\"moduleId === module.documentProcess\"\r\n id=\"qmslib_related_popup_document_001\"\r\n [expanded]=\"isDocumentExpanded\"\r\n (opened)=\"isDocumentExpanded = true\"\r\n (closed)=\"isDocumentExpanded = false\"\r\n >\r\n <mat-expansion-panel-header class=\"padding-5\">\r\n <mat-panel-title> {{ LANG.DOCUMENTS | uppercase }} </mat-panel-title>\r\n <button qms-btn-icon class=\"related_popup_toggle-btn\">\r\n <mat-icon>\r\n {{\r\n isDocumentExpanded ? \"keyboard_arrow_up\" : \"keyboard_arrow_down\"\r\n }}\r\n </mat-icon>\r\n </button>\r\n </mat-expansion-panel-header>\r\n <div id=\"qmslib_related_popup_document_002\">\r\n <qms-tree\r\n [treeData]=\"treeData2\"\r\n [treeConfig]=\"treeConfig2\"\r\n [selectedData]=\"selectedData2\"\r\n [disabledList]=\"disabledList2\"\r\n (checkBoxEvent)=\"getDocumentCheckedNode($event)\"\r\n ></qms-tree>\r\n </div>\r\n </mat-expansion-panel>\r\n </div>\r\n\r\n <div *ngIf=\"checkedNodeList.length\" class=\"line__divider\"></div>\r\n\r\n <div *ngIf=\"checkedNodeList.length\" class=\"panel__item qms-scrollbar\">\r\n <div class=\"related__item__inline\" *ngFor=\"let item of checkedNodeList\">\r\n <div *ngIf=\"item.itemName\" class=\"related__item__content\">\r\n <span class=\"related__item__content_name\"\r\n >{{ getItemChipName(item) }}\r\n <mat-icon (click)=\"removeCheckedNodeList(item)\">cancel</mat-icon>\r\n </span>\r\n </div>\r\n <!-- <button\r\n *ngIf=\"item.itemName\"\r\n mat-button\r\n class=\"related__item__content\"\r\n title=\"{{ getItemChipName(item) }}\"\r\n >\r\n <span class=\"related__item__content_name\">{{ getItemChipName(item) }}</span>\r\n <mat-icon (click)=\"removeCheckedNodeList(item)\">cancel</mat-icon>\r\n </button> -->\r\n </div>\r\n </div>\r\n\r\n <div class=\"line__divider\"></div>\r\n\r\n <div class=\"confirm__button__groups\">\r\n <button\r\n *ngIf=\"!checkedNodeList.length\"\r\n qms-btn\r\n style=\"margin-top: 7px\"\r\n (click)=\"onAddClick()\"\r\n >\r\n {{ LANG.ADD }}\r\n </button>\r\n <button\r\n *ngIf=\"checkedNodeList.length\"\r\n qms-btn\r\n style=\"margin-top: 0px\"\r\n (click)=\"onAddClick()\"\r\n >\r\n {{ LANG.ADD }} ({{ checkedNodeList.length }})\r\n </button>\r\n <button\r\n qms-btn-text\r\n [ngStyle]=\"{ 'margin-top': checkedNodeList.length ? '0px' : '7px' }\"\r\n (click)=\"onCloseClick()\"\r\n >\r\n {{ LANG.CANCEL }}\r\n </button>\r\n </div>\r\n</div>\r\n",
|
4311
|
+
template: "<div id=\"qmslib_related_popup\" class=\"qmslib__related__popup__container\">\r\n <div id=\"qmslib_related_popup_header\">\r\n <span mat-icon-button class=\"button__close\" (click)=\"onCloseClick()\">\r\n <mat-icon mat-icon>close</mat-icon>\r\n </span>\r\n <div id=\"qmslib_related_popup_header_001\" mat-dialog-content>\r\n <span>{{ moduleName | uppercase }}</span>\r\n </div>\r\n </div>\r\n\r\n <div\r\n id=\"qmslib_related_popup_search\"\r\n class=\"input__field\"\r\n (click)=\"showSearchResult()\"\r\n >\r\n <input\r\n #name\r\n type=\"text\"\r\n placeholder=\"{{ LANG.SEARCH }}\"\r\n matInput\r\n [formControl]=\"myControl\"\r\n [matAutocomplete]=\"auto\"\r\n #autoCompleteInputSearch\r\n />\r\n <mat-icon>search</mat-icon>\r\n </div>\r\n\r\n <div class=\"line__divider\"></div>\r\n\r\n <mat-autocomplete\r\n #auto=\"matAutocomplete\"\r\n [displayWith]=\"displayRelated\"\r\n class=\"mat-autocomplete_related-viewport\"\r\n >\r\n <cdk-virtual-scroll-viewport\r\n qms-scrollbar\r\n itemSize=\"10\"\r\n class=\"related-viewport\"\r\n >\r\n <!-- Process -->\r\n <div\r\n class=\"search__module-result\"\r\n *ngIf=\"getModuleFilteredOptions(dataType.process).length\"\r\n >\r\n <span class=\"search__module-title\">{{ LANG.PROCESSES }}</span>\r\n <mat-option\r\n class=\"search__option\"\r\n *ngFor=\"let option of getModuleFilteredOptions(dataType.process)\"\r\n [value]=\"option\"\r\n (click)=\"selectRelated(option)\"\r\n >\r\n <qms-list-item type=\"image-square\">\r\n <mat-icon\r\n leading-icon\r\n type=\"image-square\"\r\n svgIcon=\"process\"\r\n ></mat-icon>\r\n <div qms-list-header>\r\n <div qms-line type=\"subtitle\" class=\"search__option-name\">\r\n {{ option.itemName }}\r\n </div>\r\n </div>\r\n <div qms-line color=\"default-subtitle\">\r\n <span class=\"material-icons-outlined search__description-icon\">\r\n local_offer\r\n </span>\r\n {{ LANG.PROCESS_ID }}: {{ option.itemNumberId }};\r\n {{ option.statusName }}\r\n </div>\r\n </qms-list-item>\r\n </mat-option>\r\n </div>\r\n <!-- Document -->\r\n <div\r\n class=\"search__module-result\"\r\n *ngIf=\"getModuleFilteredOptions(dataType.document).length\"\r\n >\r\n <span class=\"search__module-title\">{{ LANG.DOCUMENTS }}</span>\r\n <mat-option\r\n class=\"search__option\"\r\n *ngFor=\"let option of getModuleFilteredOptions(dataType.document)\"\r\n [value]=\"option\"\r\n (click)=\"selectRelated(option)\"\r\n >\r\n <qms-list-item type=\"image-square\">\r\n <mat-icon\r\n leading-icon\r\n type=\"image-square\"\r\n svgIcon=\"document\"\r\n ></mat-icon>\r\n <div qms-list-header>\r\n <div qms-line type=\"subtitle\">{{ option.itemName }}</div>\r\n </div>\r\n <div qms-line color=\"default-subtitle\">\r\n <span class=\"material-icons-outlined search__description-icon\">\r\n local_offer\r\n </span>\r\n {{ LANG.DOCUMENT_ID }}: {{ option.itemNumberId }};\r\n {{ option.statusName }}\r\n </div>\r\n </qms-list-item>\r\n </mat-option>\r\n </div>\r\n <!-- Process Area -->\r\n <div\r\n class=\"search__module-result\"\r\n *ngIf=\"getModuleFilteredOptions(dataType.area).length\"\r\n >\r\n <span class=\"search__module-title\">{{ LANG.PROCESS_AREA }}</span>\r\n <mat-option\r\n class=\"search__option\"\r\n *ngFor=\"let option of getModuleFilteredOptions(dataType.area)\"\r\n [value]=\"option\"\r\n (click)=\"selectRelated(option)\"\r\n >\r\n <qms-list-item>\r\n <mat-icon\r\n leading-icon\r\n type=\"image-square\"\r\n svgIcon=\"process_area_outlined\"\r\n ></mat-icon>\r\n <div qms-list-header>\r\n <div qms-line type=\"subtitle\">{{ option.itemName }}</div>\r\n </div>\r\n </qms-list-item>\r\n </mat-option>\r\n </div>\r\n <!-- Document Folder -->\r\n <div\r\n class=\"search__module-result\"\r\n *ngIf=\"getModuleFilteredOptions(dataType.folder).length\"\r\n >\r\n <span class=\"search__module-title\">{{ LANG.FOLDER }}</span>\r\n <mat-option\r\n class=\"search__option\"\r\n *ngFor=\"let option of getModuleFilteredOptions(dataType.folder)\"\r\n [value]=\"option\"\r\n (click)=\"selectRelated(option)\"\r\n >\r\n <qms-list-item>\r\n <mat-icon leading-icon>folder_open</mat-icon>\r\n <div qms-list-header>\r\n <div qms-line type=\"subtitle\">{{ option.itemName }}</div>\r\n </div>\r\n </qms-list-item>\r\n </mat-option>\r\n </div>\r\n <!-- Categories -->\r\n <div\r\n class=\"search__module-result\"\r\n *ngIf=\"getModuleFilteredOptions(dataType.deviation).length\"\r\n >\r\n <span class=\"search__module-title\">{{ LANG.DEVIATION }}</span>\r\n <mat-option\r\n class=\"search__option\"\r\n *ngFor=\"let option of getModuleFilteredOptions(dataType.deviation)\"\r\n [value]=\"option\"\r\n (click)=\"selectRelated(option)\"\r\n >\r\n <qms-list-item>\r\n <mat-icon\r\n leading-icon\r\n type=\"image-square\"\r\n svgIcon=\"deviation\"\r\n ></mat-icon>\r\n <div qms-list-header>\r\n <div qms-line type=\"caption\">{{ option.parentName }}</div>\r\n <div qms-line type=\"subtitle\">{{ option.itemName }}</div>\r\n </div>\r\n </qms-list-item>\r\n </mat-option>\r\n </div>\r\n\r\n <!-- Deviation types -->\r\n <div\r\n class=\"search__module-result\"\r\n *ngIf=\"getModuleFilteredOptions(dataType.deviationType).length > 0\"\r\n >\r\n <span class=\"search__module-title\">{{ LANG.DEVIATION_TYPE }}</span>\r\n <mat-option\r\n class=\"search__option\"\r\n *ngFor=\"\r\n let option of getModuleFilteredOptions(dataType.deviationType)\r\n \"\r\n [value]=\"option\"\r\n (click)=\"selectRelated(option)\"\r\n >\r\n <qms-list-item>\r\n <mat-icon leading-icon>folder_open</mat-icon>\r\n <div qms-list-header>\r\n <div qms-line type=\"subtitle\">{{ option.itemName }}</div>\r\n </div>\r\n </qms-list-item>\r\n </mat-option>\r\n </div>\r\n <!-- Checklist -->\r\n <div\r\n class=\"search__module-result\"\r\n *ngIf=\"getModuleFilteredOptions(dataType.checklist).length\"\r\n >\r\n <span class=\"search__module-title\">{{ LANG.CHECKLIST }}</span>\r\n <mat-option\r\n class=\"search__option\"\r\n *ngFor=\"let option of getModuleFilteredOptions(dataType.checklist)\"\r\n [value]=\"option\"\r\n (click)=\"selectRelated(option)\"\r\n >\r\n <qms-list-item>\r\n <mat-icon\r\n leading-icon\r\n type=\"image-square\"\r\n svgIcon=\"checklist\"\r\n ></mat-icon>\r\n <div qms-list-header>\r\n <div qms-line type=\"caption\">{{ option.parentName }}</div>\r\n <div qms-line type=\"subtitle\">{{ option.itemName }}</div>\r\n </div>\r\n </qms-list-item>\r\n </mat-option>\r\n </div>\r\n <!-- Checklist category -->\r\n <div\r\n class=\"search__module-result\"\r\n *ngIf=\"getModuleFilteredOptions(dataType.checklistCategory).length\"\r\n >\r\n <span class=\"search__module-title\">{{ LANG.CHECKLIST_CATEGORY }}</span>\r\n <mat-option\r\n class=\"search__option\"\r\n *ngFor=\"\r\n let option of getModuleFilteredOptions(dataType.checklistCategory)\r\n \"\r\n [value]=\"option\"\r\n (click)=\"selectRelated(option)\"\r\n >\r\n <qms-list-item>\r\n <mat-icon leading-icon type=\"image-square\">folder_open</mat-icon>\r\n <div qms-list-header>\r\n <div qms-line type=\"subtitle\">{{ option.itemName }}</div>\r\n </div>\r\n </qms-list-item>\r\n </mat-option>\r\n </div>\r\n <!-- Risk -->\r\n <div\r\n class=\"search__module-result\"\r\n *ngIf=\"getModuleFilteredOptions(dataType.risk).length\"\r\n >\r\n <span class=\"search__module-title\">{{ LANG.ASSESSMENT }}</span>\r\n <mat-option\r\n class=\"search__option\"\r\n *ngFor=\"let option of getModuleFilteredOptions(dataType.risk)\"\r\n [value]=\"option\"\r\n (click)=\"selectRelated(option)\"\r\n >\r\n <qms-list-item>\r\n <mat-icon\r\n leading-icon\r\n type=\"image-square\"\r\n svgIcon=\"risk\"\r\n ></mat-icon>\r\n <div qms-list-header>\r\n <div qms-line type=\"subtitle\">{{ option.itemName }}</div>\r\n </div>\r\n </qms-list-item>\r\n </mat-option>\r\n </div>\r\n <!-- Risk folder -->\r\n <div\r\n class=\"search__module-result\"\r\n *ngIf=\"getModuleFilteredOptions(dataType.riskFolder).length\"\r\n >\r\n <span class=\"search__module-title\">{{ LANG.FOLDER }}</span>\r\n <mat-option\r\n class=\"search__option\"\r\n *ngFor=\"let option of getModuleFilteredOptions(dataType.riskFolder)\"\r\n [value]=\"option\"\r\n (click)=\"selectRelated(option)\"\r\n >\r\n <qms-list-item>\r\n <mat-icon leading-icon type=\"image-square\">folder_open</mat-icon>\r\n <div qms-list-header>\r\n <div qms-line type=\"subtitle\">{{ option.itemName }}</div>\r\n </div>\r\n </qms-list-item>\r\n </mat-option>\r\n </div>\r\n </cdk-virtual-scroll-viewport>\r\n </mat-autocomplete>\r\n\r\n <div\r\n class=\"qms-scrollbar qmslib_related_popup_content\"\r\n [ngClass]=\"{\r\n panel__content_item: checkedNodeList.length,\r\n panel__content: !checkedNodeList.length\r\n }\"\r\n >\r\n <mat-expansion-panel\r\n hideToggle\r\n id=\"qmslib_related_popup_common_001\"\r\n [expanded]=\"isCommonExpanded\"\r\n (opened)=\"isCommonExpanded = true\"\r\n (closed)=\"isCommonExpanded = false\"\r\n >\r\n <mat-expansion-panel-header class=\"padding-5\">\r\n <mat-panel-title *ngIf=\"moduleId === module.documentProcess\">\r\n {{ LANG.PROCESSES | uppercase }}\r\n </mat-panel-title>\r\n <mat-panel-title *ngIf=\"moduleId === module.deviation\">\r\n {{ LANG.DEVIATION | uppercase }}\r\n </mat-panel-title>\r\n <mat-panel-title *ngIf=\"moduleId === module.checklist\">\r\n {{ LANG.CHECKLIST | uppercase }}\r\n </mat-panel-title>\r\n <mat-panel-title *ngIf=\"moduleId === module.risk\">\r\n {{ LANG.ASSESSMENT | uppercase }}\r\n </mat-panel-title>\r\n <button qms-btn-icon class=\"related_popup_toggle-btn\">\r\n <mat-icon>\r\n {{ isCommonExpanded ? \"keyboard_arrow_up\" : \"keyboard_arrow_down\" }}\r\n </mat-icon>\r\n </button>\r\n </mat-expansion-panel-header>\r\n <div id=\"qmslib_related_popup_common_002\">\r\n <qms-tree\r\n [treeData]=\"treeData1\"\r\n [treeConfig]=\"treeConfig1\"\r\n [selectedData]=\"selectedData\"\r\n [selectedRiskData]=\"selectedRiskData\"\r\n [disabledList]=\"disabledList\"\r\n (checkBoxEvent)=\"getCommonCheckedNode($event)\"\r\n ></qms-tree>\r\n </div>\r\n </mat-expansion-panel>\r\n\r\n <div\r\n *ngIf=\"moduleId === module.documentProcess\"\r\n class=\"line__divider\"\r\n ></div>\r\n\r\n <mat-expansion-panel\r\n hideToggle\r\n *ngIf=\"moduleId === module.documentProcess\"\r\n id=\"qmslib_related_popup_document_001\"\r\n [expanded]=\"isDocumentExpanded\"\r\n (opened)=\"isDocumentExpanded = true\"\r\n (closed)=\"isDocumentExpanded = false\"\r\n >\r\n <mat-expansion-panel-header class=\"padding-5\">\r\n <mat-panel-title> {{ LANG.DOCUMENTS | uppercase }} </mat-panel-title>\r\n <button qms-btn-icon class=\"related_popup_toggle-btn\">\r\n <mat-icon>\r\n {{\r\n isDocumentExpanded ? \"keyboard_arrow_up\" : \"keyboard_arrow_down\"\r\n }}\r\n </mat-icon>\r\n </button>\r\n </mat-expansion-panel-header>\r\n <div id=\"qmslib_related_popup_document_002\">\r\n <qms-tree\r\n [treeData]=\"treeData2\"\r\n [treeConfig]=\"treeConfig2\"\r\n [selectedData]=\"selectedData2\"\r\n [disabledList]=\"disabledList2\"\r\n (checkBoxEvent)=\"getDocumentCheckedNode($event)\"\r\n ></qms-tree>\r\n </div>\r\n </mat-expansion-panel>\r\n </div>\r\n\r\n <div *ngIf=\"checkedNodeList.length\" class=\"line__divider\"></div>\r\n\r\n <div *ngIf=\"checkedNodeList.length\" class=\"panel__item qms-scrollbar\">\r\n <div class=\"related__item__inline\" *ngFor=\"let item of checkedNodeList\">\r\n <button\r\n *ngIf=\"item.itemName\"\r\n mat-button\r\n class=\"related__item__content\"\r\n qms-tool-tip=\"{{ isEllipsisActive(itemName) ? getItemChipName(item) : '' }}\"\r\n mode=\"dark\"\r\n >\r\n <span class=\"related__item__content_name\" #itemName>{{\r\n getItemChipName(item)}}</span>\r\n <mat-icon (click)=\"removeCheckedNodeList(item)\">cancel</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"line__divider\"></div>\r\n\r\n <div class=\"confirm__button__groups\">\r\n <button\r\n *ngIf=\"!checkedNodeList.length\"\r\n qms-btn\r\n style=\"margin-top: 7px\"\r\n (click)=\"onAddClick()\"\r\n >\r\n {{ LANG.ADD }}\r\n </button>\r\n <button\r\n *ngIf=\"checkedNodeList.length\"\r\n qms-btn\r\n style=\"margin-top: 0px\"\r\n (click)=\"onAddClick()\"\r\n >\r\n {{ LANG.ADD }} ({{ checkedNodeList.length }})\r\n </button>\r\n <button\r\n qms-btn-text\r\n [ngStyle]=\"{ 'margin-top': checkedNodeList.length ? '0px' : '7px' }\"\r\n (click)=\"onCloseClick()\"\r\n >\r\n {{ LANG.CANCEL }}\r\n </button>\r\n </div>\r\n</div>\r\n",
|
4248
4312
|
encapsulation: ViewEncapsulation.None,
|
4249
|
-
styles: [".qms-scrollbar::-webkit-scrollbar{width:12px}.qms-scrollbar::-webkit-scrollbar-track{background:rgba(0,0,0,.12);background-clip:content-box}.qms-scrollbar::-webkit-scrollbar-thumb{background:rgba(0,0,0,.38);border-radius:20px;width:4px;border:4px solid transparent;background-clip:content-box}.qms-scrollbar::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.5);background-clip:content-box;border:4px solid transparent}.qms__popup .button__close{float:right;top:-24px;right:-24px;cursor:pointer}.qms__danger button{border:none;color:#fff;padding:0;text-align:center;text-decoration:none;display:inline-block;cursor:pointer;height:20px;width:20px;font-family:Open Sans;font-size:12px;font-weight:600;font-style:normal;line-height:16px}.qms__danger .red{background-color:#9e360f;margin-left:10px}.qms__danger .yellow{background-color:#e4cf53;margin-left:10px;color:#323232}.qms__danger .green{background-color:#00804c;margin-left:10px}.confirm__button__groups{margin-top:11px}.confirm__button__groups button{min-height:36px;width:auto;font-family:Open Sans;font-weight:500;font-size:14px;letter-spacing:1px;line-height:16px;padding-left:15px;padding-right:15px;margin-right:5px;float:right}.confirm__button__groups .confirm{background:#f8f9f9}.confirm__button__groups .confirm:hover{background:#001983;color:#fff}.confirm__button__groups .confirm:disabled{cursor:not-allowed}.confirm__button__groups .cancel{background:#f8f9f9}.confirm__button__groups .cancel:hover{background:#001983;color:#fff}.qmslib__related__popup__container .input__field{display:flex;align-items:center}.qmslib__related__popup__container .input__field input{width:100%;padding:10px;outline:none;border:none;background:#eee}.qmslib__related__popup__container .input__field .mat-icon{margin-left:-30px;cursor:pointer;vertical-align:middle}.qmslib__related__popup__container .line__divider{border-bottom:1px solid #ccc;height:1px;margin-top:10px;min-width:300px;max-width:100%}.qmslib__related__popup__container .button__close{float:right;top:-24px;right:-24px;cursor:pointer}.qmslib__related__popup__container .panel__content{height:450px;overflow:auto;margin-top:12px}.qmslib__related__popup__container .panel__content_item{height:350px;overflow:auto;margin-top:12px}.qmslib__related__popup__container .mat-expansion-panel-header{height:30px;font-size:12px;letter-spacing:1px;font-family:RALEWAY;font-weight:600}.qmslib__related__popup__container .mat-expansion-panel-header .mat-expansion-panel-header-title{align-items:center}.qmslib__related__popup__container .mat-expansion-panel-header .related_popup_toggle-btn{width:1.5rem;height:1.5rem;line-height:1.5rem}.qmslib__related__popup__container .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:none}.qmslib__related__popup__container .panel__item{height:100px;overflow:auto;
|
4313
|
+
styles: [".qms-scrollbar::-webkit-scrollbar{width:12px}.qms-scrollbar::-webkit-scrollbar-track{background:rgba(0,0,0,.12);background-clip:content-box}.qms-scrollbar::-webkit-scrollbar-thumb{background:rgba(0,0,0,.38);border-radius:20px;width:4px;border:4px solid transparent;background-clip:content-box}.qms-scrollbar::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.5);background-clip:content-box;border:4px solid transparent}.qms__popup .button__close{float:right;top:-24px;right:-24px;cursor:pointer}.qms__danger button{border:none;color:#fff;padding:0;text-align:center;text-decoration:none;display:inline-block;cursor:pointer;height:20px;width:20px;font-family:Open Sans;font-size:12px;font-weight:600;font-style:normal;line-height:16px}.qms__danger .red{background-color:#9e360f;margin-left:10px}.qms__danger .yellow{background-color:#e4cf53;margin-left:10px;color:#323232}.qms__danger .green{background-color:#00804c;margin-left:10px}.confirm__button__groups{margin-top:11px}.confirm__button__groups button{min-height:36px;width:auto;font-family:Open Sans;font-weight:500;font-size:14px;letter-spacing:1px;line-height:16px;padding-left:15px;padding-right:15px;margin-right:5px;float:right}.confirm__button__groups .confirm{background:#f8f9f9}.confirm__button__groups .confirm:hover{background:#001983;color:#fff}.confirm__button__groups .confirm:disabled{cursor:not-allowed}.confirm__button__groups .cancel{background:#f8f9f9}.confirm__button__groups .cancel:hover{background:#001983;color:#fff}.qmslib__related__popup__container .input__field{display:flex;align-items:center}.qmslib__related__popup__container .input__field input{width:100%;padding:10px;outline:none;border:none;background:#eee}.qmslib__related__popup__container .input__field .mat-icon{margin-left:-30px;cursor:pointer;vertical-align:middle}.qmslib__related__popup__container .line__divider{border-bottom:1px solid #ccc;height:1px;margin-top:10px;min-width:300px;max-width:100%}.qmslib__related__popup__container .button__close{float:right;top:-24px;right:-24px;cursor:pointer}.qmslib__related__popup__container .panel__content{height:450px;overflow:auto;margin-top:12px}.qmslib__related__popup__container .panel__content_item{height:350px;overflow:auto;margin-top:12px}.qmslib__related__popup__container .mat-expansion-panel-header{height:30px;font-size:12px;letter-spacing:1px;font-family:RALEWAY;font-weight:600}.qmslib__related__popup__container .mat-expansion-panel-header .mat-expansion-panel-header-title{align-items:center}.qmslib__related__popup__container .mat-expansion-panel-header .related_popup_toggle-btn{width:1.5rem;height:1.5rem;line-height:1.5rem}.qmslib__related__popup__container .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:none}.qmslib__related__popup__container .panel__item{height:100px;margin-top:12px;overflow-x:hidden;overflow-y:auto;padding-right:5px;width:100%;max-width:100%;display:flex;flex-wrap:wrap;align-content:flex-start}.qmslib__related__popup__container .panel__item .related__item__inline{max-width:100%}.qmslib__related__popup__container .panel__item .related__item__content{height:32px;line-height:32px;background-color:#e5e5e5;max-width:100%;margin-bottom:5px;margin-left:2.5px;margin-right:2.5px}.qmslib__related__popup__container .panel__item .related__item__content .mat-icon{color:#8e8e8e;font-size:24px}.qmslib__related__popup__container .panel__item .related__item__content span.related__item__content_name{display:inline-block;width:auto;width:calc(100% - 13px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}cdk-virtual-scroll-viewport{overflow-x:hidden}cdk-virtual-scroll-viewport .search__module-result{margin:1.5rem;padding:0 0 .5rem}cdk-virtual-scroll-viewport .search__module-result .search__module-title{font-size:14px;font-weight:600}cdk-virtual-scroll-viewport .search__module-result .search__option{height:auto;line-height:normal;padding:8px 0;border-bottom:1px solid #e0e0e0}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item.mat-2-line.image-item{height:auto}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content{margin:0;border-bottom:none}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .wrap-image.image-square{width:2.5rem;height:100%;background:transparent;align-self:center;margin-right:0}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .wrap-image.image-square img{width:24px;height:24px}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .material-icons-outlined.leading-icon,cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content mat-icon.leading-icon{padding:4px 0 4px 4px}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .subtitle{font-weight:400}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .default-subtitle{color:rgba(0,0,0,.38)}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .search__description-icon{margin-right:0;width:12px;height:12px;font-size:12px}cdk-virtual-scroll-viewport .search__module-result .search__option .qms-list-item-content .qms-list-text{border-bottom:none}cdk-virtual-scroll-viewport .search__module-result svg{display:block}#qmslib_related_popup_header_001{margin-bottom:20px;padding:0;font-weight:600;font-family:Raleway}.padding-5{padding:5px}.mat-autocomplete_related-viewport{height:100%;max-height:100%!important}.mat-autocomplete_related-viewport .cdk-virtual-scroll-content-wrapper{width:100%}.mat-autocomplete_related-viewport .related-viewport{min-height:10.25rem}"]
|
4250
4314
|
},] }
|
4251
4315
|
];
|
4252
4316
|
RelatedPopupComponent.ctorParameters = () => [
|
@@ -4386,6 +4450,7 @@ class RiskResult {
|
|
4386
4450
|
constructor() {
|
4387
4451
|
this.title = '';
|
4388
4452
|
this.results = [];
|
4453
|
+
this.isSimple = 0;
|
4389
4454
|
}
|
4390
4455
|
}
|
4391
4456
|
class Result {
|
@@ -4398,8 +4463,10 @@ class RiskResultComponent {
|
|
4398
4463
|
this.data = data;
|
4399
4464
|
this.results = [];
|
4400
4465
|
this.color = Color;
|
4466
|
+
this.isSimple = 0;
|
4401
4467
|
this.title = data.title;
|
4402
4468
|
this.results = data.results;
|
4469
|
+
this.isSimple = data.isSimple || 0;
|
4403
4470
|
}
|
4404
4471
|
ngOnInit() {
|
4405
4472
|
this.translate.getLanguageSubject$.pipe().subscribe((res) => {
|
@@ -4415,7 +4482,7 @@ class RiskResultComponent {
|
|
4415
4482
|
RiskResultComponent.decorators = [
|
4416
4483
|
{ type: Component, args: [{
|
4417
4484
|
selector: 'qms-risk-result',
|
4418
|
-
template: "<div class=\"dialog-container\">\r\n <div mat-dialog-title class=\"dialog-title\">\r\n <h3 class=\"title\">{{ title }}</h3>\r\n <button\r\n qms-btn-icon\r\n color=\"light\"\r\n qms-tool-tip=\"Caption\"\r\n mode=\"dark\"\r\n (click)=\"onCloseClick()\"\r\n >\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n\r\n <mat-dialog-content>\r\n <div class=\"flex-container-header\">\r\n <div class=\"first\">{{ LANG.EVENT }}</div>\r\n <div class=\"second\">{{ LANG.AREA_OF_IMPACT }}</div>\r\n <div class=\"third\">{{ LANG.RESULT }}</div>\r\n </div>\r\n <div class=\"flex-container\" *ngFor=\"let item of results\">\r\n <!-- g y r 1 2 3 done -->\r\n <div class=\"first\" [ngSwitch]=\"item.color\">\r\n <label *ngSwitchCase=\"3\" class=\"label-red\"></label>\r\n <label *ngSwitchCase=\"1\" class=\"label-green\"></label>\r\n <label *ngSwitchCase=\"2\" class=\"label-yellow\"></label>\r\n {{ item.cause }}\r\n </div>\r\n <div class=\"second\">{{ item.consequenceArea }}</div>\r\n <ng-container [ngSwitch]=\"item.color\">\r\n <div class=\"third text-red\" *ngSwitchCase=\"3\">\r\n <span class=\"material-icons-outlined\">report_problem</span>\r\n {{ LANG.NOT_ACCEPTED }}\r\n </div>\r\n <div class=\"third text-yellow\" *ngSwitchCase=\"2\">\r\n <mat-icon>error_outline</mat-icon>\r\n {{ LANG.MUST_BE_EVALUATED }}\r\n </div>\r\n <div class=\"third text-green\" *ngSwitchCase=\"1\">\r\n <mat-icon>done</mat-icon>\r\n {{ LANG.ACCEPTED }}\r\n </div>\r\n </ng-container>\r\n </div>\r\n </mat-dialog-content>\r\n</div>\r\n",
|
4485
|
+
template: "<div class=\"dialog-container\">\r\n <div mat-dialog-title class=\"dialog-title\">\r\n <h3 class=\"title\">{{ title }}</h3>\r\n <button\r\n qms-btn-icon\r\n color=\"light\"\r\n qms-tool-tip=\"Caption\"\r\n mode=\"dark\"\r\n (click)=\"onCloseClick()\"\r\n >\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n\r\n <mat-dialog-content>\r\n <div class=\"flex-container-header\">\r\n <div class=\"first\">{{ isSimple ? LANG.EVENT : LANG.CAUSE }}</div>\r\n <div class=\"second\">{{ LANG.AREA_OF_IMPACT }}</div>\r\n <div class=\"third\">{{ LANG.RESULT }}</div>\r\n </div>\r\n <div class=\"flex-container\" *ngFor=\"let item of results\">\r\n <!-- g y r 1 2 3 done -->\r\n <div class=\"first\" [ngSwitch]=\"item.color\">\r\n <label *ngSwitchCase=\"3\" class=\"label-red\"></label>\r\n <label *ngSwitchCase=\"1\" class=\"label-green\"></label>\r\n <label *ngSwitchCase=\"2\" class=\"label-yellow\"></label>\r\n {{ item.cause }}\r\n </div>\r\n <div class=\"second\">{{ item.consequenceArea }}</div>\r\n <ng-container [ngSwitch]=\"item.color\">\r\n <div class=\"third text-red\" *ngSwitchCase=\"3\">\r\n <span class=\"material-icons-outlined\">report_problem</span>\r\n {{ LANG.NOT_ACCEPTED }}\r\n </div>\r\n <div class=\"third text-yellow\" *ngSwitchCase=\"2\">\r\n <mat-icon>error_outline</mat-icon>\r\n {{ LANG.MUST_BE_EVALUATED }}\r\n </div>\r\n <div class=\"third text-green\" *ngSwitchCase=\"1\">\r\n <mat-icon>done</mat-icon>\r\n {{ LANG.ACCEPTED }}\r\n </div>\r\n </ng-container>\r\n </div>\r\n </mat-dialog-content>\r\n</div>\r\n",
|
4419
4486
|
styles: ["@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWJ0bbck.woff2) format(\"woff2\");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFUZ0bbck.woff2) format(\"woff2\");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWZ0bbck.woff2) format(\"woff2\");unicode-range:U+1f??}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFVp0bbck.woff2) format(\"woff2\");unicode-range:U+0370-03ff}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWp0bbck.woff2) format(\"woff2\");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFW50bbck.woff2) format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFVZ0b.woff2) format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCFPrEHJA.woff2) format(\"woff2\");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCMPrEHJA.woff2) format(\"woff2\");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCHPrEHJA.woff2) format(\"woff2\");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCGPrEHJA.woff2) format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCIPrE.woff2) format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}.dialog-title{display:flex;justify-content:space-between}.dialog-title h3.title{font-family:Raleway;font-style:normal;font-weight:500;font-size:22px;line-height:26px}.flex-container-header{display:flex;align-items:center;font-size:.75rem;border-radius:4px;line-height:16px}.flex-container-header>div{font-family:Open Sans;font-style:normal;font-weight:600;text-align:left;padding:10px 25px;color:rgba(0,0,0,.6)}.flex-container-header .first{flex:0 1 40%}.flex-container-header .second,.flex-container-header .third{flex:0 1 30%}.flex-container{display:flex;align-items:center;font-size:.875rem;line-height:22px;border-radius:4px;border:1px solid #ddd;min-height:48px;margin-bottom:10px}.flex-container>div{font-family:Open Sans;font-style:normal;text-align:left;padding:10px 25px;color:#323232}.flex-container .first{display:flex;flex:0 1 40%;align-items:center;font-weight:600}.flex-container .second{flex:0 1 30%;font-weight:400}.flex-container .third{display:flex;flex:0 1 30%;align-items:center;font-weight:600;font-size:.75rem}.flex-container .third.text-green,.flex-container .third.text-red,.flex-container .third.text-yellow{font-size:.75rem}.flex-container .third.text-green .mat-icon,.flex-container .third.text-green .material-icons-outlined,.flex-container .third.text-red .mat-icon,.flex-container .third.text-red .material-icons-outlined,.flex-container .third.text-yellow .mat-icon,.flex-container .third.text-yellow .material-icons-outlined{margin-right:1rem}.flex-container .third.text-red{color:#b00020}.flex-container .third.text-yellow{color:#726729}.flex-container .third.text-green{color:#005935}.label-green,.label-red,.label-yellow{font-family:Open Sans;font-style:normal;font-weight:600;display:flex;text-align:center;margin-right:1rem;width:24px;height:24px;flex:0 0 24px;border-radius:1px}.label-red{background-color:#9e360f;color:#fff}.label-yellow{background-color:#e4cf53;color:rgba(0,0,0,.87)}.label-green{background-color:#00804c;color:#fff}"]
|
4420
4487
|
},] }
|
4421
4488
|
];
|
@@ -4532,7 +4599,10 @@ class RiskListComponent {
|
|
4532
4599
|
childNumber: 0,
|
4533
4600
|
show: this.show,
|
4534
4601
|
remain: 0,
|
4535
|
-
dangers: []
|
4602
|
+
dangers: [],
|
4603
|
+
folderId: d.folderId,
|
4604
|
+
statusId: d.statusId,
|
4605
|
+
simple: d.simple
|
4536
4606
|
});
|
4537
4607
|
dangers.forEach(d => {
|
4538
4608
|
const index = this.analysisDanger[i].dangers.findIndex(x => {
|
@@ -4616,8 +4686,8 @@ class RiskListComponent {
|
|
4616
4686
|
RiskListComponent.decorators = [
|
4617
4687
|
{ type: Component, args: [{
|
4618
4688
|
selector: 'qms-risk-list',
|
4619
|
-
template: "<div class=\"container list-risk\">\r\n <div class=\"list-risk__title\">\r\n <strong>{{ title }}</strong>\r\n </div>\r\n <div class=\"list-risk__body\" *ngFor=\"let analysis of analysisDanger\">\r\n <div class=\"list-risk__body-parent\">\r\n <div class=\"block\">\r\n <mat-icon class=\"material-icons-outlined mat-icon\">border_all</mat-icon>\r\n <div class=\"title\">{{ analysis.name }}</div>\r\n </div>\r\n <div class=\"block\" *ngIf=\"!isNotEditedItem\">\r\n <button\r\n qms-btn-icon\r\n color=\"light\"\r\n qms-tool-tip=\"Caption\"\r\n mode=\"dark\"\r\n (click)=\"editDanger(analysis)\"\r\n >\r\n <mat-icon>edit</mat-icon>\r\n </button>\r\n <button\r\n qms-btn-icon\r\n color=\"light\"\r\n qms-tool-tip=\"Caption\"\r\n mode=\"dark\"\r\n (click)=\"removeDanger(analysis.id)\"\r\n >\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div\r\n class=\"list-risk__body-child\"\r\n *ngFor=\"let danger of analysis.dangers | slice: 0:analysis.show\"\r\n >\r\n <div class=\"default\">\r\n <div class=\"title\">{{ danger.dangerName }}</div>\r\n <div class=\"group-button\">\r\n <label\r\n class=\"label-red cursor\"\r\n *ngIf=\"danger.red > 0\"\r\n (click)=\"dangerDetail(danger)\"\r\n >{{ danger.red }}</label\r\n >\r\n <label\r\n class=\"label-yellow cursor\"\r\n *ngIf=\"danger.yellow > 0\"\r\n (click)=\"dangerDetail(danger)\"\r\n >{{ danger.yellow }}</label\r\n >\r\n <label\r\n class=\"label-green cursor\"\r\n *ngIf=\"danger.green > 0\"\r\n (click)=\"dangerDetail(danger)\"\r\n >{{ danger.green }}</label\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"remain\" *ngIf=\"analysis.remain > 0\">\r\n <span class=\"title cursor\" (click)=\"increaseShow(analysis.id)\"\r\n >+ {{ analysis.remain }}</span\r\n >\r\n </div>\r\n </div>\r\n</div>\r\n",
|
4620
|
-
styles: ["@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWJ0bbck.woff2) format(\"woff2\");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFUZ0bbck.woff2) format(\"woff2\");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWZ0bbck.woff2) format(\"woff2\");unicode-range:U+1f??}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFVp0bbck.woff2) format(\"woff2\");unicode-range:U+0370-03ff}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWp0bbck.woff2) format(\"woff2\");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFW50bbck.woff2) format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFVZ0b.woff2) format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCFPrEHJA.woff2) format(\"woff2\");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCMPrEHJA.woff2) format(\"woff2\");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCHPrEHJA.woff2) format(\"woff2\");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCGPrEHJA.woff2) format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCIPrE.woff2) format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}.list-risk{font-family:Open Sans;font-style:normal;font-weight:400;color:#323232}.list-risk .list-risk__title{font-weight:600;font-size:.875rem;line-height:22px;margin-bottom:1rem}.list-risk .list-risk__body .list-risk__body-parent{min-height:48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ddd}.list-risk .list-risk__body .list-risk__body-parent .block{font-weight:400;font-size:1rem;line-height:28px;display:flex;align-items:center}.list-risk .list-risk__body .list-risk__body-parent .block .title{margin-left:1.5rem;padding-top:5px;padding-bottom:5px}.list-risk .list-risk__body .list-risk__body-parent .block mat-icon{color:rgba(0,0,0,.6)}.list-risk .list-risk__body .list-risk__body-parent .block button.qms-btn-icon{width:40px;height:40px;line-height:40px}.list-risk .list-risk__body .list-risk__body-child{font-weight:400;font-size:.875rem;line-height:22px}.list-risk .list-risk__body .list-risk__body-child .default{min-height:48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ddd}.list-risk .list-risk__body .list-risk__body-child .default .title{margin-left:3rem}.list-risk .list-risk__body .list-risk__body-child .default .group-button{margin-right:2rem;display:flex}.list-risk .list-risk__body .remain{font-weight:600;font-size:.875rem;line-height:22px;display:flex;align-items:center;justify-content:space-between;background-color:#fafafa;color:#1954a9;min-height:48px;border-bottom:1px solid #ddd}.list-risk .list-risk__body .remain .title{margin-left:3rem}.label-green,.label-red,.label-yellow{font-family:Open Sans;font-style:normal;font-weight:600;display:inline-block;text-align:center;margin-left:1rem;width:24px;height:24px;font-size:.75rem;border-radius:1px}.label-red{background-color:#9e360f;color:#fff}.label-yellow{background-color:#e4cf53;color:rgba(0,0,0,.87)}.label-green{background-color:#00804c;color:#fff}.cursor{cursor:pointer}"]
|
4689
|
+
template: "<div class=\"container list-risk\">\r\n <div class=\"list-risk__title\">\r\n <strong>{{ title }}</strong>\r\n </div>\r\n <div class=\"list-risk__body\" *ngFor=\"let analysis of analysisDanger\">\r\n <div class=\"list-risk__body-parent\">\r\n <div class=\"block\">\r\n <mat-icon class=\"material-icons-outlined mat-icon\">border_all</mat-icon>\r\n <div class=\"title\">{{ analysis.name }}</div>\r\n </div>\r\n <div class=\"block\" *ngIf=\"!isNotEditedItem\">\r\n <span class=\"label-archived\" *ngIf=\"analysis.folderId == -1\">\r\n {{ LANG.ARCHIVED }}</span\r\n >\r\n <button\r\n *ngIf=\"analysis.folderId !== -1\"\r\n qms-btn-icon\r\n color=\"light\"\r\n qms-tool-tip=\"Caption\"\r\n mode=\"dark\"\r\n (click)=\"editDanger(analysis)\"\r\n >\r\n <mat-icon>edit</mat-icon>\r\n </button>\r\n <button\r\n qms-btn-icon\r\n color=\"light\"\r\n qms-tool-tip=\"Caption\"\r\n mode=\"dark\"\r\n (click)=\"removeDanger(analysis.id)\"\r\n >\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div\r\n class=\"list-risk__body-child\"\r\n *ngFor=\"let danger of analysis.dangers | slice: 0:analysis.show\"\r\n >\r\n <div class=\"default\">\r\n <div class=\"title\">{{ danger.dangerName }}</div>\r\n <div class=\"group-button\">\r\n <label\r\n class=\"label-red cursor\"\r\n *ngIf=\"danger.red > 0\"\r\n (click)=\"dangerDetail(danger)\"\r\n >{{ danger.red }}</label\r\n >\r\n <label\r\n class=\"label-yellow cursor\"\r\n *ngIf=\"danger.yellow > 0\"\r\n (click)=\"dangerDetail(danger)\"\r\n >{{ danger.yellow }}</label\r\n >\r\n <label\r\n class=\"label-green cursor\"\r\n *ngIf=\"danger.green > 0\"\r\n (click)=\"dangerDetail(danger)\"\r\n >{{ danger.green }}</label\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"remain\" *ngIf=\"analysis.remain > 0\">\r\n <span class=\"title cursor\" (click)=\"increaseShow(analysis.id)\"\r\n >+ {{ analysis.remain }}</span\r\n >\r\n </div>\r\n </div>\r\n</div>\r\n",
|
4690
|
+
styles: ["@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWJ0bbck.woff2) format(\"woff2\");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFUZ0bbck.woff2) format(\"woff2\");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWZ0bbck.woff2) format(\"woff2\");unicode-range:U+1f??}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFVp0bbck.woff2) format(\"woff2\");unicode-range:U+0370-03ff}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWp0bbck.woff2) format(\"woff2\");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFW50bbck.woff2) format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFVZ0b.woff2) format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCFPrEHJA.woff2) format(\"woff2\");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCMPrEHJA.woff2) format(\"woff2\");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCHPrEHJA.woff2) format(\"woff2\");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCGPrEHJA.woff2) format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCIPrE.woff2) format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}.list-risk{font-family:Open Sans;font-style:normal;font-weight:400;color:#323232}.list-risk .list-risk__title{font-weight:600;font-size:.875rem;line-height:22px;margin-bottom:1rem}.list-risk .list-risk__body .list-risk__body-parent{min-height:48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ddd}.list-risk .list-risk__body .list-risk__body-parent .block{font-weight:400;font-size:1rem;line-height:28px;display:flex;align-items:center}.list-risk .list-risk__body .list-risk__body-parent .block .title{margin-left:1.5rem;padding-top:5px;padding-bottom:5px}.list-risk .list-risk__body .list-risk__body-parent .block mat-icon{color:rgba(0,0,0,.6)}.list-risk .list-risk__body .list-risk__body-parent .block button.qms-btn-icon{width:40px;height:40px;line-height:40px}.list-risk .list-risk__body .list-risk__body-parent .block .label-archived{font-weight:600;font-size:.875rem;line-height:1rem;color:#525252;padding:5px;background:linear-gradient(0deg,rgba(0,0,0,.1),rgba(0,0,0,.1)),#fff;border-radius:2px}.list-risk .list-risk__body .list-risk__body-child{font-weight:400;font-size:.875rem;line-height:22px}.list-risk .list-risk__body .list-risk__body-child .default{min-height:48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ddd}.list-risk .list-risk__body .list-risk__body-child .default .title{margin-left:3rem}.list-risk .list-risk__body .list-risk__body-child .default .group-button{margin-right:2rem;display:flex}.list-risk .list-risk__body .remain{font-weight:600;font-size:.875rem;line-height:22px;display:flex;align-items:center;justify-content:space-between;background-color:#fafafa;color:#1954a9;min-height:48px;border-bottom:1px solid #ddd}.list-risk .list-risk__body .remain .title{margin-left:3rem}.label-green,.label-red,.label-yellow{font-family:Open Sans;font-style:normal;font-weight:600;display:inline-block;text-align:center;margin-left:1rem;width:24px;height:24px;font-size:.75rem;border-radius:1px}.label-red{background-color:#9e360f;color:#fff}.label-yellow{background-color:#e4cf53;color:rgba(0,0,0,.87)}.label-green{background-color:#00804c;color:#fff}.cursor{cursor:pointer}"]
|
4621
4691
|
},] }
|
4622
4692
|
];
|
4623
4693
|
RiskListComponent.ctorParameters = () => [
|
@@ -4639,6 +4709,7 @@ class RelatedListComponent {
|
|
4639
4709
|
// imageProcess = '../qms-angular/src/assets/images/union.svg';
|
4640
4710
|
this.imageProcess = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTkiIHZpZXdCb3g9IjAgMCAxOCAxOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMCAwLjVWNi41SDJWMTYuNUgxMlYxOC41SDE4VjEyLjVIMTJWMTQuNUg0VjYuNUg2VjQuNUgxMlY2LjVIMThWMC41SDEyVjIuNUg2VjAuNUgwWk00IDIuNVY0LjVIMlYyLjVINFpNMTYgMi41VjQuNUgxNFYyLjVIMTZaTTE2IDE2LjVWMTQuNUgxNFYxNi41SDE2WiIgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMC42Ii8+DQo8L3N2Zz4NCg==';
|
4641
4711
|
this.updateData = new EventEmitter();
|
4712
|
+
this.onItemSelect = new EventEmitter();
|
4642
4713
|
iconRegistry.addSvgIconLiteral('process_area', domSanitizer.bypassSecurityTrustHtml(PROCESS_AREA_ICON));
|
4643
4714
|
}
|
4644
4715
|
ngOnChanges(changes) {
|
@@ -4669,11 +4740,15 @@ class RelatedListComponent {
|
|
4669
4740
|
}
|
4670
4741
|
onCloseClick() {
|
4671
4742
|
}
|
4743
|
+
onItemClick(item) {
|
4744
|
+
if (this.onItemSelect)
|
4745
|
+
this.onItemSelect.emit(item);
|
4746
|
+
}
|
4672
4747
|
}
|
4673
4748
|
RelatedListComponent.decorators = [
|
4674
4749
|
{ type: Component, args: [{
|
4675
4750
|
selector: 'qms-related-list',
|
4676
|
-
template: "<div class=\"container list-related\">\r\n <div class=\"list-related__title\">\r\n <strong>{{ title }}</strong>\r\n </div>\r\n <div\r\n class=\"list-related__body\"\r\n *ngFor=\"let item of relatedData; let i = index\"\r\n >\r\n <div class=\"list-related__body-parent\">\r\n <div class=\"block\">\r\n <ng-container [ngSwitch]=\"item.itemType\">\r\n <ng-container *ngSwitchCase=\"dataType.document\">\r\n <mat-icon class=\"material-icons-outlined\"\r\n >insert_drive_file</mat-icon\r\n >\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"dataType.folder\">\r\n <mat-icon class=\"material-icons-outlined\" leading-icon\r\n >folder</mat-icon\r\n >\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"dataType.process\">\r\n <img class=\"mat-icon\" [src]=\"getImagePath()\" />\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"dataType.area\">\r\n <mat-icon svgIcon=\"process_area\"></mat-icon>\r\n </ng-container>\r\n\r\n <mat-icon\r\n *ngSwitchCase=\"dataType.deviation\"\r\n class=\"material-icons-outlined\"\r\n >report_problem</mat-icon\r\n >\r\n <mat-icon *ngSwitchCase=\"dataType.checklist\"\r\n >format_list_bulleted</mat-icon\r\n >\r\n </ng-container>\r\n <div class=\"title\">\r\n <div class=\"caption\" *ngIf=\"item?.parentName\">{{ item?.parentName }}</div>\r\n {{ item.itemName }}\r\n <div class=\"caption\" *ngIf=\"item?.displayId || item?.statusName\">\r\n <span class=\"material-icons-outlined\"> local_offer </span> ID:\r\n {{ item?.displayId }}, {{ item?.statusName }}\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"block\" *ngIf=\"!isNotEditedItem\">\r\n <button qms-btn-icon color=\"light\" mode=\"dark\" (click)=\"removeItem(i)\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n",
|
4751
|
+
template: "<div class=\"container list-related\">\r\n <div class=\"list-related__title\">\r\n <strong>{{ title }}</strong>\r\n </div>\r\n <div\r\n class=\"list-related__body\"\r\n *ngFor=\"let item of relatedData; let i = index\"\r\n >\r\n <div class=\"list-related__body-parent\">\r\n <div class=\"block\">\r\n <ng-container [ngSwitch]=\"item.itemType\">\r\n <ng-container *ngSwitchCase=\"dataType.document\">\r\n <mat-icon class=\"material-icons-outlined\"\r\n >insert_drive_file</mat-icon\r\n >\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"dataType.folder\">\r\n <mat-icon class=\"material-icons-outlined\" leading-icon\r\n >folder</mat-icon\r\n >\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"dataType.process\">\r\n <img class=\"mat-icon\" [src]=\"getImagePath()\" />\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"dataType.area\">\r\n <mat-icon svgIcon=\"process_area\"></mat-icon>\r\n </ng-container>\r\n\r\n <mat-icon\r\n *ngSwitchCase=\"dataType.deviation\"\r\n class=\"material-icons-outlined\"\r\n >report_problem</mat-icon\r\n >\r\n <mat-icon *ngSwitchCase=\"dataType.checklist\"\r\n >format_list_bulleted</mat-icon\r\n >\r\n </ng-container>\r\n <div class=\"title\" (click)=\"onItemClick(item)\">\r\n <div class=\"caption\" *ngIf=\"item?.parentName\">{{ item?.parentName }}</div>\r\n {{ item.itemName }}\r\n <div class=\"caption\" *ngIf=\"item?.displayId || item?.statusName\">\r\n <span class=\"material-icons-outlined\"> local_offer </span> ID:\r\n {{ item?.displayId }}, {{ item?.statusName }}\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"block\" *ngIf=\"!isNotEditedItem\">\r\n <button qms-btn-icon color=\"light\" mode=\"dark\" (click)=\"removeItem(i)\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n",
|
4677
4752
|
styles: ["@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWJ0bbck.woff2) format(\"woff2\");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFUZ0bbck.woff2) format(\"woff2\");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWZ0bbck.woff2) format(\"woff2\");unicode-range:U+1f??}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFVp0bbck.woff2) format(\"woff2\");unicode-range:U+0370-03ff}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFWp0bbck.woff2) format(\"woff2\");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFW50bbck.woff2) format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/opensans/v20/mem8YaGs126MiZpBA-UFVZ0b.woff2) format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCFPrEHJA.woff2) format(\"woff2\");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCMPrEHJA.woff2) format(\"woff2\");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCHPrEHJA.woff2) format(\"woff2\");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCGPrEHJA.woff2) format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/raleway/v19/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCIPrE.woff2) format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}.list-related{font-family:Open Sans;font-style:normal;font-weight:400;color:#323232}.list-related .list-related__title{font-weight:600;font-size:.875rem;line-height:22px;margin-bottom:1rem}.list-related .list-related__body .list-related__body-parent{min-height:48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ddd}.list-related .list-related__body .list-related__body-parent .block{font-weight:400;font-size:1rem;line-height:28px;display:flex;align-items:center}.list-related .list-related__body .list-related__body-parent .block .title{margin-left:1.5rem;padding-top:5px;padding-bottom:5px}.list-related .list-related__body .list-related__body-parent .block .title .caption{color:rgba(0,0,0,.6);font-size:.75rem;line-height:22px}.list-related .list-related__body .list-related__body-parent .block mat-icon{color:rgba(0,0,0,.6);padding:0}.list-related .list-related__body .list-related__body-parent .block button.qms-btn-icon{width:40px;height:40px;line-height:40px}.list-related .list-related__body .list-related__body-child{font-weight:400;font-size:.875rem;line-height:22px}.list-related .list-related__body .list-related__body-child .default{min-height:48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ddd}.list-related .list-related__body .list-related__body-child .default .title{margin-left:3rem}.list-related .list-related__body .list-related__body-child .default .group-button{margin-right:2rem;display:flex}.list-related .list-related__body .remain{font-weight:600;font-size:.875rem;line-height:22px;display:flex;align-items:center;justify-content:space-between;background-color:#fafafa;color:#1954a9;min-height:48px;border-bottom:1px solid #ddd}.list-related .list-related__body .remain .title{margin-left:3rem}.label-green,.label-red,.label-yellow{font-family:Open Sans;font-style:normal;font-weight:600;display:inline-block;text-align:center;margin-left:1rem;width:24px;height:24px;font-size:.75rem;border-radius:1px}.label-red{background-color:#9e360f;color:#fff}.label-yellow{background-color:#e4cf53;color:rgba(0,0,0,.87)}.label-green{background-color:#00804c;color:#fff}.cursor{cursor:pointer}"]
|
4678
4753
|
},] }
|
4679
4754
|
];
|
@@ -4684,7 +4759,8 @@ RelatedListComponent.ctorParameters = () => [
|
|
4684
4759
|
];
|
4685
4760
|
RelatedListComponent.propDecorators = {
|
4686
4761
|
data: [{ type: Input }],
|
4687
|
-
updateData: [{ type: Output }]
|
4762
|
+
updateData: [{ type: Output }],
|
4763
|
+
onItemSelect: [{ type: Output }]
|
4688
4764
|
};
|
4689
4765
|
|
4690
4766
|
class QMSRelatedModule {
|
@@ -5165,6 +5241,16 @@ QMSCKEditorLinkService.decorators = [
|
|
5165
5241
|
class QMSCKEditorParamter {
|
5166
5242
|
}
|
5167
5243
|
|
5244
|
+
var CKEditorModule;
|
5245
|
+
(function (CKEditorModule) {
|
5246
|
+
CKEditorModule[CKEditorModule["document"] = 1] = "document";
|
5247
|
+
CKEditorModule[CKEditorModule["process"] = 2] = "process";
|
5248
|
+
CKEditorModule[CKEditorModule["deviation"] = 3] = "deviation";
|
5249
|
+
CKEditorModule[CKEditorModule["risk"] = 4] = "risk";
|
5250
|
+
CKEditorModule[CKEditorModule["checklist"] = 5] = "checklist";
|
5251
|
+
CKEditorModule[CKEditorModule["dashboard"] = 6] = "dashboard";
|
5252
|
+
})(CKEditorModule || (CKEditorModule = {}));
|
5253
|
+
|
5168
5254
|
class LinkAttachmentComponent extends QMSCKEditorBaseComponent {
|
5169
5255
|
constructor(dialog, translate, linkService, dialogRef, data) {
|
5170
5256
|
super();
|
@@ -5204,7 +5290,12 @@ class LinkAttachmentComponent extends QMSCKEditorBaseComponent {
|
|
5204
5290
|
onSelectedAttachment(extraId, fileName) {
|
5205
5291
|
this.linkUrl = { url: '', title: '' };
|
5206
5292
|
if (extraId) {
|
5207
|
-
this.
|
5293
|
+
if (this.module === CKEditorModule.document) {
|
5294
|
+
this.linkUrl.url = `/api/File/GetFile?entityId=${extraId}`;
|
5295
|
+
}
|
5296
|
+
else if (this.module === CKEditorModule.process) {
|
5297
|
+
this.linkUrl.url = `/api/processes/GetFileContents?fileId=${extraId}`;
|
5298
|
+
}
|
5208
5299
|
this.linkUrl.title = fileName;
|
5209
5300
|
}
|
5210
5301
|
this.dialogRef.close(this.linkUrl);
|
@@ -5781,7 +5872,7 @@ class QMSCKEditorLinkComponent extends QMSCKEditorBaseComponent {
|
|
5781
5872
|
const p1 = url.indexOf('mailto:');
|
5782
5873
|
const p2 = url.indexOf('?subject=');
|
5783
5874
|
const p3 = url.indexOf('&body=');
|
5784
|
-
this.emailAddress = url.substr(p1 + 7, p2 -
|
5875
|
+
this.emailAddress = url.substr(p1 + 7, p2 - 7);
|
5785
5876
|
this.emailSubject = url.substr(p2 + 9, p3 - p2 - 9);
|
5786
5877
|
this.emailBody = url.substr(p3 + 6, url.length - p3 - 6);
|
5787
5878
|
}
|
@@ -5982,7 +6073,7 @@ class QMSCKEditorLinkComponent extends QMSCKEditorBaseComponent {
|
|
5982
6073
|
QMSCKEditorLinkComponent.decorators = [
|
5983
6074
|
{ type: Component, args: [{
|
5984
6075
|
selector: 'qms-ckeditor-link',
|
5985
|
-
template: "<div id=\"qmsckeditor_link\" class=\"qmsckeditor qmsckeditor__link__container\">\r\n <div id=\"qmsckeditor_link_header\">\r\n <span\r\n id=\"qmsckeditor_link_header_001\"\r\n mat-icon-button\r\n class=\"qmsckeditor button__close\"\r\n (click)=\"onCloseDialog()\"\r\n >\r\n <mat-icon>close</mat-icon>\r\n </span>\r\n <div id=\"qmsckeditor_link_header_002\" mat-dialog-content>\r\n <h2 id=\"qmsckeditor_link_header_001\">\r\n {{ LANG.QMSCKEDITOR.LINK }}\r\n </h2>\r\n </div>\r\n </div>\r\n <div id=\"qmsckeditor_link_type\" class=\"row\">\r\n <mat-form-field appearance=\"fill\" class=\"col-12 pl-3 pr-3\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.LINK_TYPE }}</mat-label>\r\n <mat-select\r\n name=\"linkTypeList\"\r\n [(ngModel)]=\"selectedLink\"\r\n (ngModelChange)=\"onSelectedLinkType()\"\r\n >\r\n <mat-option *ngFor=\"let link of linkTypes\" [value]=\"link.id\">\r\n {{ link.name }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div id=\"qmsckeditor_link_content\">\r\n <form\r\n [formGroup]=\"linkFormGroup\"\r\n class=\"qmsckeditor link__content height row\"\r\n *ngIf=\"selectedLink === 0\"\r\n >\r\n <div id=\"qmsckeditor_link_url\" class=\"col-12 mt-1 pl-3 pr-3\">\r\n <mat-expansion-panel\r\n id=\"qmsckeditor_link_url_panel\"\r\n [expanded]=\"isExpanded\"\r\n (opened)=\"isExpanded = true\"\r\n (closed)=\"isExpanded = false\"\r\n >\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{ LANG.QMSCKEDITOR.URL_HEADER }}\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <div id=\"qmsckeditor_link_url_001\" class=\"row mt-2\">\r\n <mat-form-field appearance=\"fill\" class=\"col-12 pl-3 pr-\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.TARGET }}</mat-label>\r\n <mat-select\r\n [(ngModel)]=\"selectedTarget\"\r\n formControlName=\"targetList\"\r\n >\r\n <mat-option *ngFor=\"let target of targets\" [value]=\"target.id\">\r\n {{ target.name }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div id=\"qmsckeditor_link_url_002\" class=\"row\">\r\n <mat-form-field appearance=\"fill\" class=\"col-12 pl-3 pr-3\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.PROTOCOL }}</mat-label>\r\n <mat-select\r\n [(ngModel)]=\"selectedProtocol\"\r\n formControlName=\"protocolList\"\r\n >\r\n <mat-option\r\n *ngFor=\"let protocol of protocols\"\r\n [value]=\"protocol.id\"\r\n >\r\n {{ protocol.name }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div id=\"qmsckeditor_link_url_003\" class=\"row\">\r\n <mat-form-field class=\"col-12 pl-3 pr-3\" appearance=\"fill\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.LINK_URL }}</mat-label>\r\n <input matInput [(ngModel)]=\"url\" formControlName=\"url\" />\r\n <mat-error\r\n *ngIf=\"linkFormGroup.get('url').hasError('required')\"\r\n class=\"mt5\"\r\n >\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div id=\"qmsckeditor_link_url_004\" class=\"row\">\r\n <mat-form-field class=\"col-12 pl-3 pr-3\" appearance=\"fill\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.ADVISORY_TITLE }}</mat-label>\r\n <input\r\n matInput\r\n [(ngModel)]=\"advisoryTitle\"\r\n formControlName=\"advisoryTitle\"\r\n />\r\n <mat-error\r\n *ngIf=\"linkFormGroup.get('advisoryTitle').hasError('required')\"\r\n class=\"mt5\"\r\n >\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div\r\n id=\"qmsckeditor_link_url_005\"\r\n class=\"qmsckeditor button__groups row\"\r\n >\r\n <div class=\"col-6 pl-3\">\r\n <button\r\n class=\"save\"\r\n mat-flat-button\r\n (click)=\"eHandbook(false, false)\"\r\n >\r\n {{ LANG.QMSCKEDITOR.HANDBOOK }}\r\n </button>\r\n </div>\r\n <div class=\"col-6 pr-3\">\r\n <button class=\"save\" mat-flat-button (click)=\"attachment()\">\r\n {{ LANG.QMSCKEDITOR.ATTACHMENT }}\r\n </button>\r\n </div>\r\n </div>\r\n </mat-expansion-panel>\r\n </div>\r\n </form>\r\n\r\n <form\r\n [formGroup]=\"anchorTextFormGroup\"\r\n class=\"qmsckeditor link__content height row\"\r\n *ngIf=\"selectedLink === 1\"\r\n >\r\n <div id=\"qmsckeditor_link_anchor_text\" class=\"col-12 mt-1 pl-3 pr-3\">\r\n <mat-expansion-panel\r\n id=\"qmsckeditor_link_anchor_text_panel\"\r\n [expanded]=\"isExpanded\"\r\n (opened)=\"isExpanded = true\"\r\n (closed)=\"isExpanded = false\"\r\n >\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{ LANG.QMSCKEDITOR.ANCHOR_TEXT_HEADER }}\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <div id=\"qmsckeditor_link_anchor_text_001\" class=\"row mt-2\">\r\n <mat-form-field appearance=\"fill\" class=\"col-12 pl-3 pr-\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.ANCHOR_BY_NAME }}</mat-label>\r\n <mat-select [(ngModel)]=\"anchorText\" formControlName=\"anchorText\">\r\n <mat-option\r\n *ngFor=\"let editorAnchor of editorAnchors\"\r\n [value]=\"editorAnchor.anchorValue\"\r\n >\r\n {{ editorAnchor.viewValue }}\r\n </mat-option>\r\n </mat-select>\r\n <mat-error\r\n *ngIf=\"\r\n anchorTextFormGroup.get('anchorText').hasError('required')\r\n \"\r\n class=\"mt5\"\r\n >\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n </mat-expansion-panel>\r\n </div>\r\n </form>\r\n\r\n <form\r\n [formGroup]=\"emailFormGroup\"\r\n class=\"qmsckeditor link__content height row\"\r\n *ngIf=\"selectedLink === 2\"\r\n >\r\n <div id=\"qmsckeditor_link_email\" class=\"col-12 mt-1 pl-3 pr-3\">\r\n <mat-expansion-panel\r\n id=\"qmsckeditor_link_email_panel\"\r\n [expanded]=\"isExpanded\"\r\n (opened)=\"isExpanded = true\"\r\n (closed)=\"isExpanded = false\"\r\n >\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{ LANG.QMSCKEDITOR.EMAIL_HEADER }}\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <div id=\"qmsckeditor_link_email_001\" class=\"row\">\r\n <mat-form-field class=\"col-12 pl-3 pr-3\" appearance=\"fill\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.EMAIL_ADDRESS }}</mat-label>\r\n <input\r\n matInput\r\n [(ngModel)]=\"emailAddress\"\r\n formControlName=\"emailAddress\"\r\n />\r\n <mat-error\r\n *ngIf=\"emailFormGroup.get('emailAddress').hasError('required')\"\r\n class=\"mt5\"\r\n >\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div id=\"qmsckeditor_link_email_002\" class=\"row\">\r\n <mat-form-field class=\"col-12 pl-3 pr-3\" appearance=\"fill\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.EMAIL_SUBJECT }}</mat-label>\r\n <input\r\n matInput\r\n [(ngModel)]=\"emailSubject\"\r\n formControlName=\"emailSubject\"\r\n />\r\n <mat-error\r\n *ngIf=\"emailFormGroup.get('emailSubject').hasError('required')\"\r\n class=\"mt5\"\r\n >\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div id=\"qmsckeditor_link_email_003\" class=\"row\">\r\n <mat-form-field class=\"col-12 pl-3 pr-3\" appearance=\"fill\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.EMAIL_BODY }}</mat-label>\r\n <textarea\r\n matInput\r\n [(ngModel)]=\"emailBody\"\r\n formControlName=\"emailBody\"\r\n ></textarea>\r\n <mat-error\r\n *ngIf=\"emailFormGroup.get('emailBody').hasError('required')\"\r\n class=\"mt5\"\r\n >\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n </mat-expansion-panel>\r\n </div>\r\n </form>\r\n\r\n <form\r\n [formGroup]=\"anchorDocFormGroup\"\r\n class=\"qmsckeditor link__content height row\"\r\n *ngIf=\"selectedLink === 3\"\r\n >\r\n <div id=\"qmsckeditor_link_anchor_doc\" class=\"col-12 mt-1 pl-3 pr-3\">\r\n <mat-expansion-panel\r\n id=\"qmsckeditor_link_email_panel\"\r\n [expanded]=\"isExpanded\"\r\n (opened)=\"isExpanded = true\"\r\n (closed)=\"isExpanded = false\"\r\n >\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{ LANG.QMSCKEDITOR.EMAIL_HEADER }}\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <div\r\n id=\"qmsckeditor_link_anchor_doc_001\"\r\n class=\"qmsckeditor button__groups row\"\r\n >\r\n <div class=\"col-6 pl-3\">\r\n <button\r\n class=\"cancel\"\r\n mat-flat-button\r\n (click)=\"eHandbook(true, true)\"\r\n >\r\n {{ LANG.QMSCKEDITOR.HANDBOOK }}\r\n </button>\r\n </div>\r\n </div>\r\n <div id=\"qmsckeditor_link_anchor_doc_002\" class=\"row mt-4\">\r\n <mat-form-field class=\"col-12 pl-3 pr-3\" appearance=\"fill\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.DOCUMENT }}</mat-label>\r\n <input\r\n matInput\r\n [(ngModel)]=\"anchorTitle\"\r\n formControlName=\"anchorTitle\"\r\n />\r\n <mat-error\r\n *ngIf=\"\r\n anchorDocFormGroup.get('anchorTitle').hasError('required')\r\n \"\r\n class=\"mt5\"\r\n >\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div id=\"qmsckeditor_link_anchor_doc_003\" class=\"row mt-2\">\r\n <mat-form-field appearance=\"fill\" class=\"col-12 pl-3 pr-\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.ANCHOR_BY_NAME }}</mat-label>\r\n <mat-select\r\n [(ngModel)]=\"anchorByName\"\r\n formControlName=\"anchorByName\"\r\n >\r\n <mat-option\r\n *ngFor=\"let docAnchor of documentAnchors\"\r\n [value]=\"docAnchor.anchorValue\"\r\n >\r\n {{ docAnchor.viewValue }}\r\n </mat-option>\r\n </mat-select>\r\n <mat-error\r\n *ngIf=\"\r\n anchorDocFormGroup.get('anchorByName').hasError('required')\r\n \"\r\n class=\"mt5\"\r\n >\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n </mat-expansion-panel>\r\n </div>\r\n </form>\r\n </div>\r\n\r\n <div id=\"qmsckeditor_link_footer\" class=\"qmsckeditor button__groups row\">\r\n <div class=\"col-12 mt-5 pl-3 pr-3\">\r\n <button\r\n class=\"save\"\r\n mat-flat-button\r\n (click)=\"setLink()\"\r\n [disabled]=\"disableOkButton()\"\r\n >\r\n {{ LANG.QMSCKEDITOR.OK }}\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n",
|
6076
|
+
template: "<div id=\"qmsckeditor_link\" class=\"qmsckeditor qmsckeditor__link__container\">\r\n <div id=\"qmsckeditor_link_header\">\r\n <span\r\n id=\"qmsckeditor_link_header_001\"\r\n mat-icon-button\r\n class=\"qmsckeditor button__close\"\r\n (click)=\"onCloseDialog()\"\r\n >\r\n <mat-icon>close</mat-icon>\r\n </span>\r\n <div id=\"qmsckeditor_link_header_002\" mat-dialog-content>\r\n <h2 id=\"qmsckeditor_link_header_001\">\r\n {{ LANG.QMSCKEDITOR.LINK }}\r\n </h2>\r\n </div>\r\n </div>\r\n <div id=\"qmsckeditor_link_type\" class=\"row\">\r\n <mat-form-field appearance=\"fill\" class=\"col-12 pl-3 pr-3\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.LINK_TYPE }}</mat-label>\r\n <mat-select\r\n name=\"linkTypeList\"\r\n [(ngModel)]=\"selectedLink\"\r\n (ngModelChange)=\"onSelectedLinkType()\"\r\n >\r\n <mat-option *ngFor=\"let link of linkTypes\" [value]=\"link.id\">\r\n {{ link.name }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div id=\"qmsckeditor_link_content\">\r\n <form\r\n [formGroup]=\"linkFormGroup\"\r\n class=\"qmsckeditor link__content height row\"\r\n *ngIf=\"selectedLink === 0\"\r\n >\r\n <div id=\"qmsckeditor_link_url\" class=\"col-12 mt-1 pl-3 pr-3\">\r\n <mat-expansion-panel\r\n id=\"qmsckeditor_link_url_panel\"\r\n [expanded]=\"isExpanded\"\r\n (opened)=\"isExpanded = true\"\r\n (closed)=\"isExpanded = false\"\r\n >\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{ LANG.QMSCKEDITOR.URL_HEADER }}\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <div id=\"qmsckeditor_link_url_001\" class=\"row mt-2\">\r\n <mat-form-field appearance=\"fill\" class=\"col-12 pl-3 pr-\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.TARGET }}</mat-label>\r\n <mat-select\r\n [(ngModel)]=\"selectedTarget\"\r\n formControlName=\"targetList\"\r\n >\r\n <mat-option *ngFor=\"let target of targets\" [value]=\"target.id\">\r\n {{ target.name }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div id=\"qmsckeditor_link_url_002\" class=\"row\">\r\n <mat-form-field appearance=\"fill\" class=\"col-12 pl-3 pr-3\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.PROTOCOL }}</mat-label>\r\n <mat-select\r\n [(ngModel)]=\"selectedProtocol\"\r\n formControlName=\"protocolList\"\r\n >\r\n <mat-option\r\n *ngFor=\"let protocol of protocols\"\r\n [value]=\"protocol.id\"\r\n >\r\n {{ protocol.name }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div id=\"qmsckeditor_link_url_003\" class=\"row\">\r\n <mat-form-field class=\"col-12 pl-3 pr-3\" appearance=\"fill\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.LINK_URL }}</mat-label>\r\n <input matInput [(ngModel)]=\"url\" formControlName=\"url\" />\r\n <mat-error\r\n *ngIf=\"linkFormGroup.get('url').hasError('required')\"\r\n class=\"mt5\"\r\n >\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div id=\"qmsckeditor_link_url_004\" class=\"row\">\r\n <mat-form-field class=\"col-12 pl-3 pr-3\" appearance=\"fill\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.ADVISORY_TITLE }}</mat-label>\r\n <input\r\n matInput\r\n [(ngModel)]=\"advisoryTitle\"\r\n formControlName=\"advisoryTitle\"\r\n />\r\n <mat-error\r\n *ngIf=\"linkFormGroup.get('advisoryTitle').hasError('required')\"\r\n class=\"mt5\"\r\n >\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div\r\n id=\"qmsckeditor_link_url_005\"\r\n class=\"qmsckeditor button__groups row\"\r\n >\r\n <div class=\"col-6 pl-3\">\r\n <button\r\n class=\"save\"\r\n mat-flat-button\r\n (click)=\"eHandbook(false, false)\"\r\n >\r\n {{ LANG.QMSCKEDITOR.HANDBOOK }}\r\n </button>\r\n </div>\r\n <div class=\"col-6 pr-3\">\r\n <button class=\"save\" mat-flat-button (click)=\"attachment()\">\r\n {{ LANG.QMSCKEDITOR.ATTACHMENT }}\r\n </button>\r\n </div>\r\n </div>\r\n </mat-expansion-panel>\r\n </div>\r\n </form>\r\n\r\n <form\r\n [formGroup]=\"anchorTextFormGroup\"\r\n class=\"qmsckeditor link__content height row\"\r\n *ngIf=\"selectedLink === 1\"\r\n >\r\n <div id=\"qmsckeditor_link_anchor_text\" class=\"col-12 mt-1 pl-3 pr-3\">\r\n <mat-expansion-panel\r\n id=\"qmsckeditor_link_anchor_text_panel\"\r\n [expanded]=\"isExpanded\"\r\n (opened)=\"isExpanded = true\"\r\n (closed)=\"isExpanded = false\"\r\n >\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{ LANG.QMSCKEDITOR.ANCHOR_TEXT_HEADER }}\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <div id=\"qmsckeditor_link_anchor_text_001\" class=\"row mt-2\">\r\n <mat-form-field appearance=\"fill\" class=\"col-12 pl-3 pr-\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.ANCHOR_BY_NAME }}</mat-label>\r\n <mat-select [(ngModel)]=\"anchorText\" formControlName=\"anchorText\">\r\n <mat-option\r\n *ngFor=\"let editorAnchor of editorAnchors\"\r\n [value]=\"editorAnchor.anchorValue\"\r\n >\r\n {{ editorAnchor.viewValue }}\r\n </mat-option>\r\n </mat-select>\r\n <mat-error\r\n *ngIf=\"\r\n anchorTextFormGroup.get('anchorText').hasError('required')\r\n \"\r\n class=\"mt5\"\r\n >\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n </mat-expansion-panel>\r\n </div>\r\n </form>\r\n\r\n <form\r\n [formGroup]=\"emailFormGroup\"\r\n class=\"qmsckeditor link__content height row\"\r\n *ngIf=\"selectedLink === 2\"\r\n >\r\n <div id=\"qmsckeditor_link_email\" class=\"col-12 mt-1 pl-3 pr-3\">\r\n <mat-expansion-panel\r\n id=\"qmsckeditor_link_email_panel\"\r\n [expanded]=\"isExpanded\"\r\n (opened)=\"isExpanded = true\"\r\n (closed)=\"isExpanded = false\"\r\n >\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{ LANG.QMSCKEDITOR.EMAIL_HEADER }}\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <div id=\"qmsckeditor_link_email_001\" class=\"row\">\r\n <mat-form-field class=\"col-12 pl-3 pr-3\" appearance=\"fill\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.EMAIL_ADDRESS }}</mat-label>\r\n <input\r\n matInput\r\n [(ngModel)]=\"emailAddress\"\r\n formControlName=\"emailAddress\"\r\n />\r\n <mat-error\r\n *ngIf=\"emailFormGroup.get('emailAddress').hasError('required')\"\r\n class=\"mt5\"\r\n >\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div id=\"qmsckeditor_link_email_002\" class=\"row\">\r\n <mat-form-field class=\"col-12 pl-3 pr-3\" appearance=\"fill\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.EMAIL_SUBJECT }}</mat-label>\r\n <input\r\n matInput\r\n [(ngModel)]=\"emailSubject\"\r\n formControlName=\"emailSubject\"\r\n />\r\n <mat-error\r\n *ngIf=\"emailFormGroup.get('emailSubject').hasError('required')\"\r\n class=\"mt5\"\r\n >\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div id=\"qmsckeditor_link_email_003\" class=\"row\">\r\n <mat-form-field class=\"col-12 pl-3 pr-3\" appearance=\"fill\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.EMAIL_BODY }}</mat-label>\r\n <textarea\r\n matInput\r\n [(ngModel)]=\"emailBody\"\r\n formControlName=\"emailBody\"\r\n ></textarea>\r\n <mat-error\r\n *ngIf=\"emailFormGroup.get('emailBody').hasError('required')\"\r\n class=\"mt5\"\r\n >\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n </mat-expansion-panel>\r\n </div>\r\n </form>\r\n\r\n <form\r\n [formGroup]=\"anchorDocFormGroup\"\r\n class=\"qmsckeditor link__content height row\"\r\n *ngIf=\"selectedLink === 3\"\r\n >\r\n <div id=\"qmsckeditor_link_anchor_doc\" class=\"col-12 mt-1 pl-3 pr-3\">\r\n <mat-expansion-panel\r\n id=\"qmsckeditor_link_email_panel\"\r\n [expanded]=\"isExpanded\"\r\n (opened)=\"isExpanded = true\"\r\n (closed)=\"isExpanded = false\"\r\n >\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{ LANG.QMSCKEDITOR.EMAIL_HEADER }}\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <div\r\n id=\"qmsckeditor_link_anchor_doc_001\"\r\n class=\"qmsckeditor button__groups row\"\r\n >\r\n <div class=\"col-6 pl-3\">\r\n <button\r\n class=\"cancel\"\r\n mat-flat-button\r\n (click)=\"eHandbook(true, true)\"\r\n >\r\n {{ LANG.QMSCKEDITOR.HANDBOOK }}\r\n </button>\r\n </div>\r\n </div>\r\n <div id=\"qmsckeditor_link_anchor_doc_002\" class=\"row mt-4\">\r\n <mat-form-field class=\"col-12 pl-3 pr-3\" appearance=\"fill\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.DOCUMENT }}</mat-label>\r\n <input\r\n matInput\r\n [(ngModel)]=\"anchorTitle\"\r\n formControlName=\"anchorTitle\"\r\n />\r\n <mat-error\r\n *ngIf=\"\r\n anchorDocFormGroup.get('anchorTitle').hasError('required')\r\n \"\r\n class=\"mt5\"\r\n >\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div id=\"qmsckeditor_link_anchor_doc_003\" class=\"row mt-2\">\r\n <mat-form-field appearance=\"fill\" class=\"col-12 pl-3 pr-\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.ANCHOR_BY_NAME }}</mat-label>\r\n <mat-select\r\n [(ngModel)]=\"anchorByName\"\r\n formControlName=\"anchorByName\"\r\n >\r\n <mat-option\r\n *ngFor=\"let docAnchor of documentAnchors\"\r\n [value]=\"docAnchor.anchorValue\"\r\n >\r\n {{ docAnchor.viewValue }}\r\n </mat-option>\r\n </mat-select>\r\n <mat-error\r\n *ngIf=\"\r\n anchorDocFormGroup.get('anchorByName').hasError('required')\r\n \"\r\n class=\"mt5\"\r\n >\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n </mat-expansion-panel>\r\n </div>\r\n </form>\r\n </div>\r\n\r\n <div id=\"qmsckeditor_link_footer\" class=\"qmsckeditor button__groups row\">\r\n <div class=\"col-12 mt-3 pl-3 pr-3\">\r\n <button\r\n class=\"save\"\r\n mat-flat-button\r\n (click)=\"setLink()\"\r\n [disabled]=\"disableOkButton()\"\r\n >\r\n {{ LANG.QMSCKEDITOR.OK }}\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n",
|
5986
6077
|
styles: [".mt5{margin-top:5px!important}.mt10{margin-top:10px!important}.mt7{margin-top:7px!important}.mt15{margin-top:15px!important}.mt20{margin-top:20px!important}.mt30{margin-top:30px!important}.mt40{margin-top:40px!important}.ml2{margin-left:2px!important}.ml3{margin-left:3px!important}.ml5{margin-left:5px!important}.ml15{margin-left:15px!important}.ml10{margin-left:10px!important}.ml12{margin-left:12px!important}.ml16{margin-left:16px!important}.ml-auto{margin-left:auto!important}.ml-25{margin-left:-25px!important}.mr5{margin-right:5px!important}.mr12{margin-right:12px!important}.mr15{margin-right:15px!important}.mb5{margin-bottom:5px!important}.mb10{margin-bottom:10px!important}.mb15{margin-bottom:15px!important}.pt8{padding-top:8px!important}.pt10{padding-top:10px!important}.pt15{padding-top:15px!important}.pt16{padding-top:16px!important}.pl15{padding-left:15px!important}.pl0{padding-left:0!important}.pr0{padding-right:0!important}.pr15{padding-right:15px!important}.fs12{font-size:12px}.fs14{font-size:14px!important}.fs16{font-size:16px!important}.fs22{font-size:22px!important}.fw500{font-weight:500!important}.italic-text{font-style:italic}.display-flex{display:flex}.qmsckeditor{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:400}.qmsckeditor h2{font-size:20px;font-weight:400}.qmsckeditor .mat-dialog-content{padding:0}.qmsckeditor .mat-icon{color:#909497}.qmsckeditor__fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;background:#fff;overflow-y:auto;max-height:100vh;overflow-x:hidden}.qmsckeditor__cursor{cursor:pointer}.qmsckeditor__notallowed{cursor:not-allowed}.qmsckeditor.button__close{float:right;top:-24px;right:-24px;cursor:pointer}.qmsckeditor.button__groups button{min-height:40px;width:100%;border-radius:4px;border:1px solid #c5c5c5;font-family:Open Sans;font-weight:600;font-size:14px;letter-spacing:1px;line-height:16px}.qmsckeditor.button__groups .save{background:#f8f9f9}.qmsckeditor.button__groups .save:hover{background:#e5e7e9}.qmsckeditor.button__groups .save:disabled{cursor:not-allowed}.qmsckeditor.button__groups .cancel{background:#f8f9f9}.qmsckeditor.button__groups .cancel:hover{background:#e5e7e9}.qmsckeditor.button__groups .cancel:disabled{cursor:not-allowed}.qmsckeditor.button__groups .delete{background:#f8f9f9}.qmsckeditor.button__groups .delete:hover{background:#e5e7e9}.qmsckeditor.button__groups .delete:disabled{cursor:not-allowed}.qmsckeditor.confirm__button__groups button{min-height:36px;border-radius:4px;width:auto;border:1px solid #c5c5c5;font-family:Open Sans;font-weight:600;font-size:14px;letter-spacing:1px;line-height:16px;padding-left:15px;padding-right:15px}.qmsckeditor.confirm__button__groups .confirm{background:#f8f9f9}.qmsckeditor.confirm__button__groups .confirm:hover{background:#e5e7e9}.qmsckeditor.confirm__button__groups .cancel{background:#f8f9f9}.qmsckeditor.confirm__button__groups .cancel:hover{background:#e5e7e9}.qmsckeditor.template-content.height{min-height:420px;max-height:520px;overflow:auto}.qmsckeditor.template-content.title{margin-left:-9px}.qmsckeditor.link__content.height{min-height:400px;max-height:520px}.qmsckeditor.card{margin-bottom:10px;min-height:60px;box-shadow:none;border:1px solid #e5e5e5}.qmsckeditor.card .title{font-weight:700}.qmsckeditor.card .content{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.qmsckeditor.card .material-icons{font-size:20px}.qmsckeditor__link__container textarea.mat-input-element{min-height:130px}"]
|
5987
6078
|
},] }
|
5988
6079
|
];
|
@@ -6668,7 +6759,8 @@ function getCKEditorConfiguration(itemToolbar) {
|
|
6668
6759
|
label: 'New window',
|
6669
6760
|
attributes: {
|
6670
6761
|
target: '_blank',
|
6671
|
-
manualTarget: true
|
6762
|
+
manualTarget: true,
|
6763
|
+
url: 'url'
|
6672
6764
|
}
|
6673
6765
|
},
|
6674
6766
|
{
|
@@ -6676,7 +6768,8 @@ function getCKEditorConfiguration(itemToolbar) {
|
|
6676
6768
|
label: 'Topmost window',
|
6677
6769
|
attributes: {
|
6678
6770
|
target: '_top',
|
6679
|
-
manualTarget: true
|
6771
|
+
manualTarget: true,
|
6772
|
+
url: 'url'
|
6680
6773
|
}
|
6681
6774
|
},
|
6682
6775
|
{
|
@@ -6684,7 +6777,8 @@ function getCKEditorConfiguration(itemToolbar) {
|
|
6684
6777
|
label: 'Same window',
|
6685
6778
|
attributes: {
|
6686
6779
|
target: '_self',
|
6687
|
-
manualTarget: true
|
6780
|
+
manualTarget: true,
|
6781
|
+
url: 'url'
|
6688
6782
|
}
|
6689
6783
|
},
|
6690
6784
|
{
|
@@ -6692,7 +6786,8 @@ function getCKEditorConfiguration(itemToolbar) {
|
|
6692
6786
|
label: 'Parent window',
|
6693
6787
|
attributes: {
|
6694
6788
|
target: '_parent',
|
6695
|
-
manualTarget: true
|
6789
|
+
manualTarget: true,
|
6790
|
+
url: 'url'
|
6696
6791
|
}
|
6697
6792
|
},
|
6698
6793
|
{
|
@@ -6879,7 +6974,7 @@ class QMSCKEditorComponent extends QMSCKEditorBaseComponent {
|
|
6879
6974
|
data.entityId = this.qmsckData.entityId;
|
6880
6975
|
const dialogTemplate = this.dialog.open(QMSCKEditorLinkComponent, {
|
6881
6976
|
width: '650px',
|
6882
|
-
height: '
|
6977
|
+
height: '660px',
|
6883
6978
|
data,
|
6884
6979
|
disableClose: true
|
6885
6980
|
});
|
@@ -6987,16 +7082,6 @@ QMSCKEditorModule.ctorParameters = () => [
|
|
6987
7082
|
{ type: Injector }
|
6988
7083
|
];
|
6989
7084
|
|
6990
|
-
var CKEditorModule;
|
6991
|
-
(function (CKEditorModule) {
|
6992
|
-
CKEditorModule[CKEditorModule["document"] = 1] = "document";
|
6993
|
-
CKEditorModule[CKEditorModule["process"] = 2] = "process";
|
6994
|
-
CKEditorModule[CKEditorModule["deviation"] = 3] = "deviation";
|
6995
|
-
CKEditorModule[CKEditorModule["risk"] = 4] = "risk";
|
6996
|
-
CKEditorModule[CKEditorModule["checklist"] = 5] = "checklist";
|
6997
|
-
CKEditorModule[CKEditorModule["dashboard"] = 6] = "dashboard";
|
6998
|
-
})(CKEditorModule || (CKEditorModule = {}));
|
6999
|
-
|
7000
7085
|
class QMSCKEditorData {
|
7001
7086
|
constructor() {
|
7002
7087
|
this.apiUrl = '';
|