bpm-core 0.0.20 → 0.0.22
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/esm2022/lib/app/app.component.mjs +3 -3
- package/esm2022/lib/components/app-component-sections/form-section/form-section.component.mjs +66 -116
- package/esm2022/lib/components/app-component-sections/service-header/service-header.component.mjs +3 -3
- package/esm2022/lib/components/app-component-sections/workflow-section/workflow-section.component.mjs +2 -2
- package/esm2022/lib/components/shared-components/action-buttons/action-buttons.component.mjs +54 -0
- package/esm2022/lib/components/shared-components/form-field/control-value-accessor.directive.mjs +103 -0
- package/esm2022/lib/components/shared-components/form-field/input/input.component.mjs +49 -86
- package/esm2022/lib/constants/constants.mjs +4 -1
- package/esm2022/lib/i18n/en.mjs +1 -2
- package/esm2022/lib/services/action.service.ts.mjs +21 -0
- package/esm2022/lib/testComponent/config/segment-dynamic-loader.config.mjs +2 -3
- package/esm2022/lib/testComponent/request-details-section/request-details-section.component.mjs +49 -24
- package/fesm2022/bpm-core.mjs +328 -232
- package/fesm2022/bpm-core.mjs.map +1 -1
- package/lib/components/app-component-sections/form-section/form-section.component.d.ts +11 -22
- package/lib/components/app-component-sections/service-header/service-header.component.d.ts +1 -1
- package/lib/components/shared-components/action-buttons/action-buttons.component.d.ts +20 -0
- package/lib/components/shared-components/dialogs/submit-dialog/submit-dialog.component.d.ts +1 -1
- package/lib/components/shared-components/form-field/control-value-accessor.directive.d.ts +34 -0
- package/lib/components/shared-components/form-field/input/input.component.d.ts +4 -14
- package/lib/constants/constants.d.ts +3 -0
- package/lib/i18n/en.d.ts +0 -1
- package/lib/services/action.service.ts.d.ts +10 -0
- package/lib/testComponent/config/segment-dynamic-loader.config.d.ts +1 -2
- package/lib/testComponent/request-details-section/request-details-section.component.d.ts +8 -7
- package/lib/testComponent/services/segment-dynamic-loader.service.d.ts +1 -2
- package/package.json +2 -2
- package/src/lib/assets/scss/_general.scss +5 -1
package/fesm2022/bpm-core.mjs
CHANGED
|
@@ -13,7 +13,7 @@ import { NoopScrollStrategy } from '@angular/cdk/overlay';
|
|
|
13
13
|
import * as i4 from '@angular/material/core';
|
|
14
14
|
import { MAT_DATE_FORMATS, DateAdapter, MAT_DATE_LOCALE } from '@angular/material/core';
|
|
15
15
|
import * as i1$2 from '@angular/forms';
|
|
16
|
-
import { NG_VALUE_ACCESSOR, FormControl, ControlContainer, NgForm, FormsModule, Validators, ReactiveFormsModule } from '@angular/forms';
|
|
16
|
+
import { NG_VALUE_ACCESSOR, FormControl, ControlContainer, NgForm, FormsModule, Validators, ReactiveFormsModule, NgControl, FormControlName, FormGroupDirective } from '@angular/forms';
|
|
17
17
|
import * as i7 from '@angular/platform-browser';
|
|
18
18
|
import * as FileSaver from 'file-saver';
|
|
19
19
|
import { ImageCropperComponent } from 'ngx-image-cropper';
|
|
@@ -41,14 +41,15 @@ import { RouterLink, RouterModule, RouterLinkActive, RouterOutlet } from '@angul
|
|
|
41
41
|
import * as i5 from '@angular/material/menu';
|
|
42
42
|
import { MatMenu, MatMenuTrigger, MatMenuItem, MatMenuModule } from '@angular/material/menu';
|
|
43
43
|
import { moveItemInArray, CdkDropList, CdkDrag } from '@angular/cdk/drag-drop';
|
|
44
|
-
import * as i3 from '@angular/material/tooltip';
|
|
44
|
+
import * as i3$1 from '@angular/material/tooltip';
|
|
45
45
|
import { MatTooltip, MatTooltipModule } from '@angular/material/tooltip';
|
|
46
46
|
import { MatRadioButton, MatRadioGroup } from '@angular/material/radio';
|
|
47
47
|
import * as i2$1 from '@angular/material/expansion';
|
|
48
48
|
import { MatAccordion, MatExpansionPanel, MatExpansionPanelTitle, MatExpansionModule } from '@angular/material/expansion';
|
|
49
49
|
import { MatDivider } from '@angular/material/divider';
|
|
50
|
-
import
|
|
51
|
-
import
|
|
50
|
+
import * as i3 from 'ng-dynamic-component';
|
|
51
|
+
import { ComponentOutletIoDirective, DynamicModule, DynamicComponentInjectorToken } from 'ng-dynamic-component';
|
|
52
|
+
import * as i3$2 from '@angular/material/sidenav';
|
|
52
53
|
import { MatSidenavModule } from '@angular/material/sidenav';
|
|
53
54
|
import * as i6 from '@angular/material/toolbar';
|
|
54
55
|
import { MatToolbarModule } from '@angular/material/toolbar';
|
|
@@ -144,9 +145,12 @@ const WM_ACTION_SUBMIT = 'SUBMIT';
|
|
|
144
145
|
const FORM_STATUS_NEW = 'NEW';
|
|
145
146
|
const FORM_STATUS_PENDING = 'PENDING';
|
|
146
147
|
const FORM_STATUS_APPROVED = 'APPROVED';
|
|
148
|
+
const FORM_STATUS_APPROVE = 'APPROVE';
|
|
147
149
|
const FORM_STATUS_REJECTED = 'REJECTED';
|
|
150
|
+
const FORM_STATUS_REJECT = 'REJECT';
|
|
148
151
|
const FORM_STATUS_SEND_BACK = 'SENDBACK';
|
|
149
152
|
const FORM_STATUS_CANCELLED = 'CANCELLED';
|
|
153
|
+
const FORM_STATUS_CANCEL = 'CANCEL';
|
|
150
154
|
const FORM_STATUS_COMPLETED = 'COMPLETED';
|
|
151
155
|
const STATE_MACHINE_ACTION_LOAD_HISTORY = 'loadHistory';
|
|
152
156
|
const STATE_MACHINE_ACTION_SUCCESS_HISTORY = 'successHistory';
|
|
@@ -382,7 +386,6 @@ var en = {
|
|
|
382
386
|
NORMAL: '3 days',
|
|
383
387
|
select: 'Select',
|
|
384
388
|
addMultiAttachments: "Add Multi Attachments",
|
|
385
|
-
vpr_dRole: "Mahmoud Ali"
|
|
386
389
|
};
|
|
387
390
|
|
|
388
391
|
var ar = {
|
|
@@ -2959,15 +2962,108 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
2959
2962
|
type: Input
|
|
2960
2963
|
}] } });
|
|
2961
2964
|
|
|
2962
|
-
|
|
2963
|
-
|
|
2964
|
-
|
|
2965
|
-
|
|
2965
|
+
class ControlValueAccessorDirective {
|
|
2966
|
+
injector;
|
|
2967
|
+
i18n;
|
|
2968
|
+
hasLabel = true;
|
|
2969
|
+
isReadOnly;
|
|
2970
|
+
hideOption = false;
|
|
2971
|
+
labelTextWriteMode;
|
|
2972
|
+
hint = '';
|
|
2973
|
+
loading;
|
|
2974
|
+
placeholder;
|
|
2975
|
+
type;
|
|
2976
|
+
value;
|
|
2977
|
+
showErrorMessage;
|
|
2978
|
+
showHint;
|
|
2979
|
+
showIfEmpty;
|
|
2980
|
+
insideTable;
|
|
2981
|
+
maxLength;
|
|
2982
|
+
control;
|
|
2983
|
+
required = false;
|
|
2984
|
+
_isDisabled = false;
|
|
2985
|
+
constructor(injector, i18n) {
|
|
2986
|
+
this.injector = injector;
|
|
2987
|
+
this.i18n = i18n;
|
|
2988
|
+
}
|
|
2989
|
+
ngOnInit() {
|
|
2990
|
+
this.setFormControl();
|
|
2991
|
+
this.required = this.control?.hasValidator(Validators.required) ?? false;
|
|
2992
|
+
const maxLengthValidator = this.control?.getError('maxlength');
|
|
2993
|
+
maxLengthValidator ? this.maxLength = maxLengthValidator.requiredLength : this.maxLength = 0;
|
|
2994
|
+
}
|
|
2995
|
+
setFormControl() {
|
|
2996
|
+
try {
|
|
2997
|
+
const formControl = this.injector.get(NgControl);
|
|
2998
|
+
switch (formControl.constructor) {
|
|
2999
|
+
case FormControlName:
|
|
3000
|
+
this.control = this.injector
|
|
3001
|
+
.get(FormGroupDirective)
|
|
3002
|
+
.getControl(formControl);
|
|
3003
|
+
break;
|
|
3004
|
+
default:
|
|
3005
|
+
this.control = formControl
|
|
3006
|
+
.form;
|
|
3007
|
+
break;
|
|
3008
|
+
}
|
|
3009
|
+
}
|
|
3010
|
+
catch (err) {
|
|
3011
|
+
this.control = new FormControl();
|
|
3012
|
+
}
|
|
3013
|
+
}
|
|
3014
|
+
writeValue(value) {
|
|
3015
|
+
this.control
|
|
3016
|
+
? this.control.setValue(value)
|
|
3017
|
+
: (this.control = new FormControl(value));
|
|
3018
|
+
}
|
|
3019
|
+
registerOnChange(fn) {
|
|
3020
|
+
}
|
|
3021
|
+
registerOnTouched(fn) {
|
|
3022
|
+
}
|
|
3023
|
+
setDisabledState(isDisabled) {
|
|
3024
|
+
this._isDisabled = isDisabled;
|
|
3025
|
+
}
|
|
3026
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ControlValueAccessorDirective, deps: [{ token: i0.Injector }, { token: CoreI18nService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
3027
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.8", type: ControlValueAccessorDirective, selector: "[appControlValueAccessor]", inputs: { hasLabel: "hasLabel", isReadOnly: "isReadOnly", hideOption: "hideOption", labelTextWriteMode: "labelTextWriteMode", hint: "hint", loading: "loading", placeholder: "placeholder", type: "type", value: "value", showErrorMessage: "showErrorMessage", showHint: "showHint", showIfEmpty: "showIfEmpty", insideTable: "insideTable", maxLength: "maxLength" }, ngImport: i0 });
|
|
3028
|
+
}
|
|
3029
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ControlValueAccessorDirective, decorators: [{
|
|
3030
|
+
type: Directive,
|
|
3031
|
+
args: [{
|
|
3032
|
+
selector: '[appControlValueAccessor]',
|
|
3033
|
+
}]
|
|
3034
|
+
}], ctorParameters: () => [{ type: i0.Injector }, { type: CoreI18nService }], propDecorators: { hasLabel: [{
|
|
3035
|
+
type: Input
|
|
3036
|
+
}], isReadOnly: [{
|
|
3037
|
+
type: Input
|
|
3038
|
+
}], hideOption: [{
|
|
3039
|
+
type: Input
|
|
3040
|
+
}], labelTextWriteMode: [{
|
|
3041
|
+
type: Input
|
|
3042
|
+
}], hint: [{
|
|
3043
|
+
type: Input
|
|
3044
|
+
}], loading: [{
|
|
3045
|
+
type: Input
|
|
3046
|
+
}], placeholder: [{
|
|
3047
|
+
type: Input
|
|
3048
|
+
}], type: [{
|
|
3049
|
+
type: Input
|
|
3050
|
+
}], value: [{
|
|
3051
|
+
type: Input
|
|
3052
|
+
}], showErrorMessage: [{
|
|
3053
|
+
type: Input
|
|
3054
|
+
}], showHint: [{
|
|
3055
|
+
type: Input
|
|
3056
|
+
}], showIfEmpty: [{
|
|
3057
|
+
type: Input
|
|
3058
|
+
}], insideTable: [{
|
|
3059
|
+
type: Input
|
|
3060
|
+
}], maxLength: [{
|
|
3061
|
+
type: Input
|
|
3062
|
+
}] } });
|
|
3063
|
+
|
|
3064
|
+
class InputComponent extends ControlValueAccessorDirective {
|
|
2966
3065
|
label;
|
|
2967
|
-
displayValue;
|
|
2968
|
-
hasError = false;
|
|
2969
3066
|
hasTooltip = false;
|
|
2970
|
-
error;
|
|
2971
3067
|
tooltip;
|
|
2972
3068
|
floatLabel = 'auto';
|
|
2973
3069
|
className = 'bordered-input';
|
|
@@ -2976,52 +3072,31 @@ class InputComponent extends BaseComponent {
|
|
|
2976
3072
|
iconPrefixName;
|
|
2977
3073
|
matSuffix;
|
|
2978
3074
|
iconSuffixName;
|
|
2979
|
-
numberSuffixName;
|
|
2980
|
-
optional = false;
|
|
2981
|
-
showArrows = false;
|
|
2982
|
-
decimals = 0;
|
|
2983
3075
|
emitedChangedValue1 = new EventEmitter();
|
|
2984
|
-
|
|
2985
|
-
|
|
2986
|
-
|
|
2987
|
-
|
|
2988
|
-
|
|
2989
|
-
|
|
2990
|
-
|
|
2991
|
-
|
|
2992
|
-
|
|
2993
|
-
|
|
2994
|
-
|
|
2995
|
-
|
|
2996
|
-
|
|
2997
|
-
|
|
2998
|
-
|
|
2999
|
-
|
|
3000
|
-
|
|
3001
|
-
|
|
3002
|
-
|
|
3003
|
-
}
|
|
3004
|
-
}
|
|
3076
|
+
// ngOnInit(): void {
|
|
3077
|
+
// this.resetPropagator.subscribe(this, this.resetData);
|
|
3078
|
+
// this.field == undefined ? (this.field = '') : this.field;
|
|
3079
|
+
// this.control.setValue(this.field);
|
|
3080
|
+
// if (this.type == 'email') {
|
|
3081
|
+
// this.control.setValidators([
|
|
3082
|
+
// Validators.pattern('^[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,4}$'),
|
|
3083
|
+
// ]);
|
|
3084
|
+
// }
|
|
3085
|
+
// if (this.minLength) {
|
|
3086
|
+
// this.control.setValidators([Validators.minLength(+this.minLength)]);
|
|
3087
|
+
// }
|
|
3088
|
+
// if (this.maxLength) {
|
|
3089
|
+
// this.control.setValidators([Validators.maxLength(+this.maxLength)]);
|
|
3090
|
+
// }
|
|
3091
|
+
// if (this.maxValue) {
|
|
3092
|
+
// this.control.setValidators([Validators.max(+this.maxValue)]);
|
|
3093
|
+
// }
|
|
3094
|
+
// }
|
|
3005
3095
|
ngAfterViewChecked() {
|
|
3006
|
-
this.cdRef.detectChanges();
|
|
3096
|
+
// this.cdRef.detectChanges();
|
|
3007
3097
|
}
|
|
3008
3098
|
ngOnChanges(changes) {
|
|
3009
|
-
|
|
3010
|
-
if (changes?.['field'].currentValue == '' || changes?.['field'].currentValue == null) {
|
|
3011
|
-
this.controller.setValue('');
|
|
3012
|
-
}
|
|
3013
|
-
else {
|
|
3014
|
-
this.controller.setValue(changes['field'].currentValue);
|
|
3015
|
-
}
|
|
3016
|
-
}
|
|
3017
|
-
if (changes?.['disabled']) {
|
|
3018
|
-
if (changes['disabled'].currentValue) {
|
|
3019
|
-
this.controller.disable();
|
|
3020
|
-
}
|
|
3021
|
-
else {
|
|
3022
|
-
this.controller.enable();
|
|
3023
|
-
}
|
|
3024
|
-
}
|
|
3099
|
+
console.log(this.control.errors);
|
|
3025
3100
|
}
|
|
3026
3101
|
onValueChange1(data) {
|
|
3027
3102
|
const currentValue = data.target.value;
|
|
@@ -3029,22 +3104,22 @@ class InputComponent extends BaseComponent {
|
|
|
3029
3104
|
}
|
|
3030
3105
|
onValueChange(data) {
|
|
3031
3106
|
let currentValue = data.target.value;
|
|
3032
|
-
console.log(
|
|
3033
|
-
|
|
3034
|
-
|
|
3035
|
-
|
|
3036
|
-
|
|
3037
|
-
|
|
3038
|
-
|
|
3039
|
-
if (+currentValue > +this.maxValue) {
|
|
3040
|
-
currentValue = this.maxValue.toString();
|
|
3041
|
-
}
|
|
3042
|
-
this.field = currentValue;
|
|
3043
|
-
this.controller.setValue(this.field);
|
|
3044
|
-
this.emitedValue.emit(this.field.trim());
|
|
3107
|
+
console.log(this.control);
|
|
3108
|
+
console.log("showErrorMessage :", this.control.errors);
|
|
3109
|
+
// if (+currentValue.length > +this.maxLength) {
|
|
3110
|
+
// currentValue = currentValue.substr(0, +this.maxLength).toString();
|
|
3111
|
+
// }
|
|
3112
|
+
this.control.setValue(currentValue);
|
|
3113
|
+
// this.emitedValue.emit(this.control.value.trim());
|
|
3045
3114
|
}
|
|
3046
3115
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: InputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
3047
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: InputComponent, isStandalone: true, selector: "app-input", inputs: { label: "label",
|
|
3116
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: InputComponent, isStandalone: true, selector: "app-input", inputs: { label: "label", hasTooltip: "hasTooltip", tooltip: "tooltip", floatLabel: "floatLabel", className: "className", showLabel: "showLabel", matPrefix: "matPrefix", iconPrefixName: "iconPrefixName", matSuffix: "matSuffix", iconSuffixName: "iconSuffixName", emitedChangedValue1: "emitedChangedValue1" }, providers: [
|
|
3117
|
+
{
|
|
3118
|
+
provide: NG_VALUE_ACCESSOR,
|
|
3119
|
+
useExisting: forwardRef(() => InputComponent),
|
|
3120
|
+
multi: true,
|
|
3121
|
+
},
|
|
3122
|
+
], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if(!isReadOnly){\r\n<!-- <app-form-label [label]=\"label\" [optional]=\"!required\" [hideOption]=\"hideOption\" [showLabel]=\"showLabel\"></app-form-label>-->\r\n @if(hasLabel){\r\n <div class=\"d-flex justify-content-between mb-1\">\r\n @if(!hasTooltip){<span class=\"form-label mb-0\">{{label}}</span>}\r\n @if(!required && !hideOption){<span class=\"fs-11 fc-dark-gray\">{{i18n.translate('Optional')}}</span>}\r\n @if(hasTooltip){\r\n <span class=\"form-label mb-0\">\r\n {{labelTextWriteMode}}\r\n <ds-icon icon=\"info fs-22\" class=\"cursor-pointer\" [satPopoverAnchor]=\"popover\"\r\n (click)=\"popover.toggle(); $event.stopImmediatePropagation()\"></ds-icon>\r\n </span>\r\n }\r\n </div>\r\n }\r\n <mat-form-field class=\"primary-form {{className}}\" [ngClass]=\"{'input-disabled' : control.disabled}\"\r\n [floatLabel]=\"floatLabel\">\r\n @if(iconPrefixName){<span matPrefix class=\"sfi {{iconPrefixName}}\"></span>}\r\n @if(loading){<span class=\"sfi sfi-spinner d-inline-block spin fc-coral\" matSuffix></span>}\r\n\r\n <label class=\"mat-form-content\">\r\n <!-- add input for ar && en custom directive with add type = arOnly || type = enOnly-->\r\n @if(type === 'arOnly'){\r\n <input arOnly matInput [value]=\"value\"\r\n oninput=\"validity.valid || (value='');\" [formControl]=\"control\"\r\n (input)=\"onValueChange($event)\" [required]=\"required\"\r\n [placeholder]=\"placeholder\">\r\n }\r\n @if(type === 'enOnly'){\r\n <input enOnly matInput [value]=\"value\"\r\n oninput=\"validity.valid || (value='');\" [formControl]=\"control\"\r\n (input)=\"onValueChange($event)\" [required]=\"required\"\r\n [placeholder]=\"placeholder\">\r\n }\r\n <!-- -->\r\n @if(type !== 'enOnly' && type !== 'arOnly'){\r\n <input matInput [value]=\"value\"\r\n oninput=\"validity.valid || (value='');\" [formControl]=\"control\" [type]=\"type\"\r\n (input)=\"onValueChange($event)\" (change)=\"onValueChange1($event)\"\r\n [placeholder]=\"placeholder\">\r\n\r\n }\r\n </label>\r\n @if(matSuffix){<span matSuffix class=\"sfi {{iconSuffixName}}\"></span>}\r\n @if(!control?.valid){\r\n <mat-error class=\"mb-2\">\r\n {{i18n.translate('validFieldError')}}{{label}}\r\n </mat-error>\r\n }\r\n @if(showHint){\r\n <mat-hint class=\"d-flex align-items-center gap-1 mt-1\">\r\n <span class=\"sfi sfi-info fs-17 fc-dark-gray\" [ngClass]=\"{'fc-oasis-light-imp':value}\"></span>\r\n <span class=\"fs-12 fc-black line-height-1\">{{hint}}</span>\r\n </mat-hint>\r\n }\r\n </mat-form-field>\r\n\r\n <span class=\"fc-coral\" style=\"color:#f44336\">\r\n {{control.errors}}\r\n </span>\r\n\r\n}\r\n\r\n@if(isReadOnly && (showIfEmpty || control)){\r\n <ng-container class=\"info-section\">\r\n <app-info-item class=\"info-item w-100\" [label]=\"label\" [insideTable]=\"insideTable\"\r\n [hasLabel]=\"hasLabel\" [type]=\"type\" [value]=\"control.value\"></app-info-item>\r\n @if(showHint){\r\n <mat-hint class=\"d-flex align-items-center gap-1 mt-1\">\r\n <span class=\"sfi sfi-info fs-17 fc-dark-gray\" [ngClass]=\"{'fc-oasis-light-imp':value}\"></span>\r\n <span class=\"fs-12 fc-black line-height-1\">{{hint}}</span>\r\n </mat-hint>\r\n }\r\n\r\n </ng-container>\r\n}\r\n\r\n<!-- section tooltip -->\r\n<!-- <sat-popover #popover [hasBackdrop]=\"true\" verticalAlign=\"below\">\r\n <div class=\"deafult-tooltip\">\r\n {{tooltip}}\r\n </div>\r\n</sat-popover> -->\r\n\r\n<sat-popover #popover [hasBackdrop]=\"true\" verticalAlign=\"below\">\r\n <div class=\"default-popover p-3 fs-14\">\r\n <span class=\"fs-14 fw-bold signature-notes\" [innerHTML]='tooltip'></span>\r\n </div>\r\n</sat-popover>\r\n", styles: [":host{flex-grow:1}.input-disabled{pointer-events:none;opacity:1.5}\n"], dependencies: [{ kind: "ngmodule", type: SatPopoverModule }, { kind: "component", type: i1$3.SatPopoverComponent, selector: "sat-popover", inputs: ["anchor", "horizontalAlign", "xAlign", "verticalAlign", "yAlign", "forceAlignment", "lockAlignment", "autoFocus", "restoreFocus", "scrollStrategy", "hasBackdrop", "interactiveClose", "openTransition", "closeTransition", "openAnimationStartAtScale", "closeAnimationEndAtScale", "backdropClass", "panelClass"], outputs: ["opened", "closed", "afterOpen", "afterClose", "backdropClicked", "overlayKeydown"] }, { kind: "directive", type: i1$3.SatPopoverAnchorDirective, selector: "[satPopoverAnchor]", inputs: ["satPopoverAnchor"], exportAs: ["satPopoverAnchor"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: InfoItemComponent, selector: "app-info-item", inputs: ["label", "value", "name", "type", "dateType", "multiple", "insideTable", "hasLabel", "arrayList", "actionType", "download"] }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }] });
|
|
3048
3123
|
}
|
|
3049
3124
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: InputComponent, decorators: [{
|
|
3050
3125
|
type: Component,
|
|
@@ -3059,17 +3134,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
3059
3134
|
MatFormField,
|
|
3060
3135
|
NgxMaskDirective,
|
|
3061
3136
|
MatInput,
|
|
3062
|
-
|
|
3137
|
+
FormLabelComponent,
|
|
3138
|
+
], standalone: true, providers: [
|
|
3139
|
+
{
|
|
3140
|
+
provide: NG_VALUE_ACCESSOR,
|
|
3141
|
+
useExisting: forwardRef(() => InputComponent),
|
|
3142
|
+
multi: true,
|
|
3143
|
+
},
|
|
3144
|
+
], template: "@if(!isReadOnly){\r\n<!-- <app-form-label [label]=\"label\" [optional]=\"!required\" [hideOption]=\"hideOption\" [showLabel]=\"showLabel\"></app-form-label>-->\r\n @if(hasLabel){\r\n <div class=\"d-flex justify-content-between mb-1\">\r\n @if(!hasTooltip){<span class=\"form-label mb-0\">{{label}}</span>}\r\n @if(!required && !hideOption){<span class=\"fs-11 fc-dark-gray\">{{i18n.translate('Optional')}}</span>}\r\n @if(hasTooltip){\r\n <span class=\"form-label mb-0\">\r\n {{labelTextWriteMode}}\r\n <ds-icon icon=\"info fs-22\" class=\"cursor-pointer\" [satPopoverAnchor]=\"popover\"\r\n (click)=\"popover.toggle(); $event.stopImmediatePropagation()\"></ds-icon>\r\n </span>\r\n }\r\n </div>\r\n }\r\n <mat-form-field class=\"primary-form {{className}}\" [ngClass]=\"{'input-disabled' : control.disabled}\"\r\n [floatLabel]=\"floatLabel\">\r\n @if(iconPrefixName){<span matPrefix class=\"sfi {{iconPrefixName}}\"></span>}\r\n @if(loading){<span class=\"sfi sfi-spinner d-inline-block spin fc-coral\" matSuffix></span>}\r\n\r\n <label class=\"mat-form-content\">\r\n <!-- add input for ar && en custom directive with add type = arOnly || type = enOnly-->\r\n @if(type === 'arOnly'){\r\n <input arOnly matInput [value]=\"value\"\r\n oninput=\"validity.valid || (value='');\" [formControl]=\"control\"\r\n (input)=\"onValueChange($event)\" [required]=\"required\"\r\n [placeholder]=\"placeholder\">\r\n }\r\n @if(type === 'enOnly'){\r\n <input enOnly matInput [value]=\"value\"\r\n oninput=\"validity.valid || (value='');\" [formControl]=\"control\"\r\n (input)=\"onValueChange($event)\" [required]=\"required\"\r\n [placeholder]=\"placeholder\">\r\n }\r\n <!-- -->\r\n @if(type !== 'enOnly' && type !== 'arOnly'){\r\n <input matInput [value]=\"value\"\r\n oninput=\"validity.valid || (value='');\" [formControl]=\"control\" [type]=\"type\"\r\n (input)=\"onValueChange($event)\" (change)=\"onValueChange1($event)\"\r\n [placeholder]=\"placeholder\">\r\n\r\n }\r\n </label>\r\n @if(matSuffix){<span matSuffix class=\"sfi {{iconSuffixName}}\"></span>}\r\n @if(!control?.valid){\r\n <mat-error class=\"mb-2\">\r\n {{i18n.translate('validFieldError')}}{{label}}\r\n </mat-error>\r\n }\r\n @if(showHint){\r\n <mat-hint class=\"d-flex align-items-center gap-1 mt-1\">\r\n <span class=\"sfi sfi-info fs-17 fc-dark-gray\" [ngClass]=\"{'fc-oasis-light-imp':value}\"></span>\r\n <span class=\"fs-12 fc-black line-height-1\">{{hint}}</span>\r\n </mat-hint>\r\n }\r\n </mat-form-field>\r\n\r\n <span class=\"fc-coral\" style=\"color:#f44336\">\r\n {{control.errors}}\r\n </span>\r\n\r\n}\r\n\r\n@if(isReadOnly && (showIfEmpty || control)){\r\n <ng-container class=\"info-section\">\r\n <app-info-item class=\"info-item w-100\" [label]=\"label\" [insideTable]=\"insideTable\"\r\n [hasLabel]=\"hasLabel\" [type]=\"type\" [value]=\"control.value\"></app-info-item>\r\n @if(showHint){\r\n <mat-hint class=\"d-flex align-items-center gap-1 mt-1\">\r\n <span class=\"sfi sfi-info fs-17 fc-dark-gray\" [ngClass]=\"{'fc-oasis-light-imp':value}\"></span>\r\n <span class=\"fs-12 fc-black line-height-1\">{{hint}}</span>\r\n </mat-hint>\r\n }\r\n\r\n </ng-container>\r\n}\r\n\r\n<!-- section tooltip -->\r\n<!-- <sat-popover #popover [hasBackdrop]=\"true\" verticalAlign=\"below\">\r\n <div class=\"deafult-tooltip\">\r\n {{tooltip}}\r\n </div>\r\n</sat-popover> -->\r\n\r\n<sat-popover #popover [hasBackdrop]=\"true\" verticalAlign=\"below\">\r\n <div class=\"default-popover p-3 fs-14\">\r\n <span class=\"fs-14 fw-bold signature-notes\" [innerHTML]='tooltip'></span>\r\n </div>\r\n</sat-popover>\r\n", styles: [":host{flex-grow:1}.input-disabled{pointer-events:none;opacity:1.5}\n"] }]
|
|
3063
3145
|
}], propDecorators: { label: [{
|
|
3064
3146
|
type: Input
|
|
3065
|
-
}], displayValue: [{
|
|
3066
|
-
type: Input
|
|
3067
|
-
}], hasError: [{
|
|
3068
|
-
type: Input
|
|
3069
3147
|
}], hasTooltip: [{
|
|
3070
3148
|
type: Input
|
|
3071
|
-
}], error: [{
|
|
3072
|
-
type: Input
|
|
3073
3149
|
}], tooltip: [{
|
|
3074
3150
|
type: Input
|
|
3075
3151
|
}], floatLabel: [{
|
|
@@ -3086,20 +3162,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
3086
3162
|
type: Input
|
|
3087
3163
|
}], iconSuffixName: [{
|
|
3088
3164
|
type: Input
|
|
3089
|
-
}], numberSuffixName: [{
|
|
3090
|
-
type: Input
|
|
3091
|
-
}], optional: [{
|
|
3092
|
-
type: Input
|
|
3093
|
-
}], showArrows: [{
|
|
3094
|
-
type: Input
|
|
3095
|
-
}], decimals: [{
|
|
3096
|
-
type: Input
|
|
3097
3165
|
}], emitedChangedValue1: [{
|
|
3098
3166
|
type: Input
|
|
3099
|
-
}], useCurrency: [{
|
|
3100
|
-
type: Input
|
|
3101
|
-
}], useMask: [{
|
|
3102
|
-
type: Input
|
|
3103
3167
|
}] } });
|
|
3104
3168
|
|
|
3105
3169
|
/* eslint-disable @angular-eslint/use-lifecycle-interface */
|
|
@@ -5419,7 +5483,7 @@ class ServiceHeaderComponent {
|
|
|
5419
5483
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ServiceHeaderComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: CoreI18nService }, { token: FeedBackService }, { token: i1$1.MatDialog }, { token: SidenavService }], target: i0.ɵɵFactoryTarget.Component });
|
|
5420
5484
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: ServiceHeaderComponent, isStandalone: true, selector: "core-service-header", inputs: { form: "form", showHistory: "showHistory", isLoading: "isLoading", showApprovalHistory: "showApprovalHistory", approvalHistory: "approvalHistory", creationDate: "creationDate", formTitle: "formTitle", section: "section", serviceBrief: "serviceBrief" }, providers: [FeedBackService,
|
|
5421
5485
|
{ provide: MAT_DIALOG_DATA, useValue: {} },
|
|
5422
|
-
], ngImport: i0, template: "<ng-container *ngIf=\"!(form?.header?.status?.['key'] === 'NEW')\">\r\n <div class=\"d-flex align-items-center justify-content-end gap-2 my-2\" *ngIf=\"!(form?.header?.status?.['key'] === 'NEW')\">\r\n\r\n <!-- flag-->\r\n <!--<ds-button\r\n *ngIf=\"form?.inboxItem && !form.sections[form.sections.length -1].header.readOnly && !isLoading\"\r\n square\r\n icon\r\n size=\"small\"\r\n [matMenuTriggerFor]=\"menu\"\r\n class=\"icon-btn-shadow\">\r\n <ds-icon\r\n [ngClass]=\"{'fc-purple' : (flagPriority === '0' || flagPriority === null),'fc-yellow' : flagPriority === '1','fc-green' : flagPriority === '2','fc-coral' : flagPriority === '3'}\"\r\n icon=\"flag-o\" class=\"fs-20 fs-md-17 fc-purple\">\r\n </ds-icon>\r\n </ds-button>\r\n <mat-menu #menu=\"matMenu\" panelClass=\"action-menu\">\r\n <button mat-menu-item (click)=\"setFlagPriority('0')\">\r\n <ds-icon icon=\"flag-o\" class=\"fc-purple fs-20 fs-md-17\"></ds-icon>\r\n </button>\r\n <button mat-menu-item (click)=\"setFlagPriority('1')\">\r\n <ds-icon icon=\"flag-o\" class=\"fc-yellow fs-20 fs-md-17\"></ds-icon>\r\n </button>\r\n <button mat-menu-item (click)=\"setFlagPriority('2')\">\r\n <ds-icon icon=\"flag-o\" class=\"fc-green fs-20 fs-md-17\"></ds-icon>\r\n </button>\r\n <button mat-menu-item (click)=\"setFlagPriority('3')\">\r\n <ds-icon icon=\"flag-o\" class=\"fc-coral fs-20 fs-md-17\"></ds-icon>\r\n </button>\r\n </mat-menu>-->\r\n\r\n <!-- print-->\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n <header class=\"service-header bc-white p-3 p-sm-4 py-4 gap-3 {{statusClass(form?.header?.status?.['key'])}}\">\r\n\r\n <div class=\"service-header-icon\">\r\n <img\r\n alt=\"\"\r\n src=\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAiIGhlaWdodD0iMjkiIHZpZXdCb3g9IjAgMCAzMCAyOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTI1LjEgMEg0LjlDMi4yIDAgMCAyLjIgMCA0LjlWMjguNkgyNS4xQzI3LjggMjguNiAzMCAyNi40IDMwIDIzLjdWNC45QzMwIDIuMiAyNy44IDAgMjUuMSAwWk0yIDQuOUMyIDMuMyAzLjMgMiA0LjkgMkgyNS4xQzI2LjcgMiAyOCAzLjMgMjggNC45VjIzLjdDMjggMjUuMyAyNi43IDI2LjYgMjUuMSAyNi42SDJWNC45Wk0xMS41IDYuM0M3LjEgNi4zIDMuNSA5LjkgMy41IDE0LjNDMy41IDE4LjcgNy4xIDIyLjMgMTEuNSAyMi4zQzE1LjkgMjIuMyAxOS41IDE4LjcgMTkuNSAxNC4zQzE5LjUgOS45IDE1LjkgNi4zIDExLjUgNi4zWk0xNS4xIDE5QzE0LjEgMTkuOCAxMi44IDIwLjIgMTEuNSAyMC4yQzEwLjIgMjAuMiA4LjkgMTkuOCA3LjkgMTlDOC43IDE3LjcgMTAgMTcgMTEuNSAxN0MxMyAxNyAxNC40IDE3LjggMTUuMSAxOVpNMTMuMSAxMy40QzEzLjEgMTQuMyAxMi40IDE1IDExLjUgMTVDMTAuNiAxNSA5LjkgMTQuMyA5LjkgMTMuNEM5LjkgMTIuNSAxMC42IDExLjggMTEuNSAxMS44QzEyLjQgMTEuOCAxMy4xIDEyLjUgMTMuMSAxMy40Wk0xNS4xIDEzLjRDMTUuMSAxMS40IDEzLjUgOS44IDExLjUgOS44QzkuNSA5LjggNy45IDExLjQgNy45IDEzLjRDNy45IDE0LjIgOC4yIDE1IDguNyAxNS43QzcuOCAxNi4xIDcuMSAxNi44IDYuNSAxNy42QzUuOCAxNi42IDUuNSAxNS41IDUuNSAxNC4zQzUuNSAxMSA4LjIgOC4zIDExLjUgOC4zQzE0LjggOC4zIDE3LjUgMTEgMTcuNSAxNC4zQzE3LjUgMTUuNSAxNy4yIDE2LjYgMTYuNSAxNy42QzE1LjkgMTYuOCAxNS4yIDE2LjIgMTQuMyAxNS43QzE0LjggMTUuMSAxNS4xIDE0LjIgMTUuMSAxMy40Wk0yMSA5LjFDMjEgOC42IDIxLjQgOC4xIDIyIDguMUgyNS41QzI2IDguMSAyNi41IDguNSAyNi41IDkuMUMyNi41IDkuNiAyNi4xIDEwLjEgMjUuNSAxMC4xSDIyQzIxLjQgMTAuMSAyMSA5LjYgMjEgOS4xWk0yMSAxMi41QzIxIDEyIDIxLjQgMTEuNSAyMiAxMS41SDI1LjVDMjYgMTEuNSAyNi41IDExLjkgMjYuNSAxMi41QzI2LjUgMTMgMjYuMSAxMy41IDI1LjUgMTMuNUgyMkMyMS40IDEzLjUgMjEgMTMuMSAyMSAxMi41Wk0yMSAxNkMyMSAxNS41IDIxLjQgMTUgMjIgMTVIMjUuNUMyNiAxNSAyNi41IDE1LjQgMjYuNSAxNkMyNi41IDE2LjUgMjYuMSAxNyAyNS41IDE3SDIyQzIxLjQgMTcgMjEgMTYuNiAyMSAxNlpNMjUuNSAyMC41SDIyQzIxLjUgMjAuNSAyMSAyMC4xIDIxIDE5LjVDMjEgMTguOSAyMS40IDE4LjUgMjIgMTguNUgyNS41QzI2IDE4LjUgMjYuNSAxOC45IDI2LjUgMTkuNUMyNi41IDIwLjEgMjYuMSAyMC41IDI1LjUgMjAuNVoiIGZpbGw9IiNGRjM3NUUiLz4KPC9zdmc+Cg==\"/>\r\n </div>\r\n\r\n <div class=\"flex-grow-1 d-flex flex-column flex-sm-row align-items-sm-center gap-2\">\r\n <div class=\"flex-grow-1\">\r\n <!-- title-->\r\n <h1 class=\"fs-20 fs-md-16 fw-bold fc-black header-title m-0\">{{ formTitle }}\r\n <ds-icon\r\n icon=\"info\" class=\"fs-22 fc-dark-gray cursor-pointer\" *ngIf=\"serviceBrief.length\"\r\n (click)=\"openFaq()\"></ds-icon>\r\n </h1>\r\n <div\r\n class=\"header-user d-flex align-items-sm-center gap-2 mt-sm-1\"\r\n *ngIf=\"form?.header?.status?.['key'] !== 'NEW' || isLoading\">\r\n <ds-avatar\r\n *ngIf=\"!isLoading\" image=\"{{form?.header?.requesterPhoto}}\" size=\"xx-small\"\r\n class=\"d-inline-flex cursor-pointer\" (click)=\"showUserInfo()\"></ds-avatar>\r\n <span\r\n class=\"fs-12 text-truncate d-sm-block cursor-pointer\" (click)=\"showUserInfo()\"\r\n [ngClass]=\"{'loading-bg loading-width': isLoading}\">{{ (form?.header?.requesterName) }}</span>\r\n <mat-divider class=\"divider circle mx-2 d-none d-sm-block\"></mat-divider>\r\n <span class=\"fs-12\" [ngClass]=\"{'loading-bg loading-width': isLoading}\">{{ form?.header?.formId }}</span>\r\n <mat-divider *ngIf=\"creationDate\" class=\"divider circle mx-2 d-none d-sm-block\"></mat-divider>\r\n <span *ngIf=\"creationDate\" class=\"fs-14\" [ngClass]=\"{'loading-bg loading-width': isLoading}\">{{ creationDate }}</span>\r\n </div>\r\n </div>\r\n <!-- header-actions-->\r\n <div\r\n class=\"header-actions d-flex flex-row flex-sm-column justify-content-between justify-content-sm-center gap-2 mt-2 mt-sm-0\"\r\n *ngIf=\"!(form?.header?.status?.['key'] === 'NEW')\">\r\n <ds-status\r\n *ngIf=\"form?.header?.status?.['key'] !== 'NEW' && !isLoading\"\r\n status=\"{{statusClass(form?.header?.status?.['key'])}}\" class=\"header-status\">{{ form?.header?.status?.['value'] }}\r\n </ds-status>\r\n\r\n <div class=\"d-flex align-items-center justify-content-end gap-2\">\r\n <!-- feedback-->\r\n<!-- *ngIf=\"form?.inboxItem && (form?.inboxItem?.canRequestFeedback ==='true'|| form?.inboxItem?.hasFeedback==='true') && !isLoading\"-->\r\n <!-- <ds-button\r\n square icon size=\"small\" (click)=\"feedback()\">\r\n <ds-icon\r\n icon=\"chat-o\" class=\"fs-20 fs-md-17 fc-coral\"\r\n [ngClass]=\"{'fc-green':feedBackIcon === 'feedbackResponded' , 'fc-red': feedBackIcon === 'respondToFeedback' , 'fc-yellow': feedBackIcon === 'waitingFeedback'}\">\r\n </ds-icon>\r\n </ds-button>-->\r\n <ds-button\r\n *ngIf=\"form?.commentsDrop?.length > 0 && !isLoading\" square icon size=\"small\"\r\n (click)=\"onCommentsFormClick()\" class=\"has-comments\">\r\n <ds-icon icon=\"clock\" class=\"fc-coral fs-20 fs-md-17\"></ds-icon>\r\n </ds-button>\r\n <ng-container *ngIf=\"showApprovalHistory\">\r\n <ds-button\r\n color=\"white\" shape=\"text\" square size=\"small\" [satPopoverAnchor]=\"workflow\"\r\n #workflowAnchor=\"satPopoverAnchor\" (click)=\"workflowAnchor.popover.open()\">\r\n <slot name=\"prefix\">\r\n <ds-icon icon=\"workflow\" class=\"fs-24\"></ds-icon>\r\n </slot>\r\n </ds-button>\r\n\r\n <sat-popover\r\n #workflow [anchor]=\"workflowAnchor\" [hasBackdrop]=\"true\" verticalAlign=\"below\"\r\n horizontalAlign=\"end\">\r\n <div class=\"default-popover p-3\" style=\"min-width: 330px;\">\r\n <ds-approvals *ngIf=\"approvalHistory\" class=\"popover-approvals\" approvalsData=\"{{approvals}}\">\r\n </ds-approvals>\r\n </div>\r\n </sat-popover>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </header>\r\n</ng-container>\r\n<header\r\n class=\"mb-4 mt-4 d-flex align-items-center justify-content-between align-items-end gap-2\"\r\n *ngIf=\"(form?.header?.status?.['key'] === 'NEW')\">\r\n <section>\r\n <h6 class=\"fs-14 fs-md-12 fw-normal fc-dark-gray mb-0\">\r\n {{ i18n.translate('Hello') }}\r\n {{ (form?.header?.requesterName) }}, {{ i18n.translate('welcomeBack') }}!\r\n </h6>\r\n <h1 class=\"fs-26 fs-md-20 fw-bold fc-black d-flex align-items-center gap-2 mb-1\">\r\n {{ formTitle }}\r\n <ds-icon icon=\"info\" class=\"fs-22 fc-dark-gray cursor-pointer\" *ngIf=\"serviceBrief.length\" (click)=\"openFaq()\">\r\n </ds-icon>\r\n </h1>\r\n </section>\r\n\r\n</header>\r\n", styles: [":host ::ng-deep .filter-section .select-form-field{--input-bg: var(--white);--input-border: var(--white);--placeholder-fc: var(--black);--input-width: 85px;--input-fs: .75rem;--placeholder-fs: .75rem;--label-fs: .75rem;--label-fw: var(--font-regular);--input-height: var(--default-size-sm);font-size:var(--label-fs);box-shadow:var(--box-shadow)}:host ::ng-deep ds-button::part(base){--default-size-sm: 30px;--btn-radius: 3px}@media (max-width: 576px){:host ::ng-deep ds-button::part(base){--default-size-sm: 25px}}:host ::ng-deep .loading-width{min-width:100px;width:40px;flex-grow:1}:host ::ng-deep ds-avatar::part(base){--default-size: 20px}:host ::ng-deep .service-header{--service-header-icon-size: var(--default-size-lg);--header-border-color: var(--coral);display:flex;align-items:flex-start;border-top:5px solid var(--header-border-color);box-shadow:0 7px 10px rgba(var(--rgb-black),3%)}@media (max-width: 576px){:host ::ng-deep .service-header{border-radius:3px 3px 0 0}}:host ::ng-deep .service-header.loading{--header-border-color: var(--off-white)}:host ::ng-deep .service-header.warning{--header-border-color: var(--yellow)}:host ::ng-deep .service-header.success{--header-border-color: var(--green)}:host ::ng-deep .service-header.danger{--header-border-color: var(--red)}@media (max-width: 576px){:host ::ng-deep .service-header{--service-header-icon-size: var(--default-size-sm)}}:host ::ng-deep .service-header .service-header-icon{min-width:var(--service-header-icon-size);width:var(--service-header-icon-size);height:var(--service-header-icon-size);display:inline-flex;align-items:center;justify-content:center;padding:.75rem;border-radius:6px 6px 6px 0;background-color:rgba(var(--rgb-coral),.1)}@media (max-width: 576px){:host ::ng-deep .service-header .service-header-icon{padding:.5rem}}:host ::ng-deep .service-header .header-title{text-align:start}:host ::ng-deep .service-header .divider.circle{min-width:5px;width:5px;min-height:5px;height:5px;border-radius:50%;background-color:var(--dark-gray)}:host ::ng-deep .service-header .header-actions{align-items:flex-end;justify-content:flex-end}:host ::ng-deep .service-header .header-actions .has-comments{position:relative}:host ::ng-deep .service-header .header-actions .has-comments:before{content:\"\";min-width:8px;height:8px;border-radius:50%;background-color:var(--coral);position:absolute;top:-3px;right:-3px;z-index:1}[dir=rtl] :host ::ng-deep .service-header .header-actions .has-comments:before{right:auto;left:-3px}:host ::ng-deep .service-header .header-actions ds-button::part(base){--btn-color: var(--coral);--btn-bg-color: var(--light-gray);--btn-border-color: var(--light-gray)}:host ::ng-deep .service-header .header-user{color:var(--dark-gray)}:host ::ng-deep .history-button::part(base){background-color:var(--white);--btn-height: var(--default-size-sm);--btn-shadow: 0 7px 10px rgba(var(--rgb-black), 3%)}@media (max-width: 576px){:host ::ng-deep .history-button::part(base){--btn-height: 35px;--btn-width: 35px}}@media (max-width: 576px){:host ::ng-deep .history-button::part(label){display:none}}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: SatPopoverModule }, { kind: "component", type: i1$3.SatPopoverComponent, selector: "sat-popover", inputs: ["anchor", "horizontalAlign", "xAlign", "verticalAlign", "yAlign", "forceAlignment", "lockAlignment", "autoFocus", "restoreFocus", "scrollStrategy", "hasBackdrop", "interactiveClose", "openTransition", "closeTransition", "openAnimationStartAtScale", "closeAnimationEndAtScale", "backdropClass", "panelClass"], outputs: ["opened", "closed", "afterOpen", "afterClose", "backdropClicked", "overlayKeydown"] }, { kind: "directive", type: i1$3.SatPopoverAnchorDirective, selector: "[satPopoverAnchor]", inputs: ["satPopoverAnchor"], exportAs: ["satPopoverAnchor"] }, { kind: "component", type: MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
5486
|
+
], ngImport: i0, template: "<ng-container *ngIf=\"!(form?.header?.status?.['key'] === 'NEW')\">\r\n <div class=\"d-flex align-items-center justify-content-end gap-2 my-2\" *ngIf=\"!(form?.header?.status?.['key'] === 'NEW')\">\r\n\r\n <!-- flag-->\r\n <ds-button\r\n *ngIf=\"form?.inboxItem && !form.sections[form.sections.length -1].header.readOnly && !isLoading\"\r\n square\r\n icon\r\n size=\"small\"\r\n [matMenuTriggerFor]=\"menu\"\r\n class=\"icon-btn-shadow\">\r\n <ds-icon\r\n [ngClass]=\"{'fc-purple' : (flagPriority === '0' || flagPriority === null),'fc-yellow' : flagPriority === '1','fc-green' : flagPriority === '2','fc-coral' : flagPriority === '3'}\"\r\n icon=\"flag-o\" class=\"fs-20 fs-md-17 fc-purple\">\r\n </ds-icon>\r\n </ds-button>\r\n <mat-menu #menu=\"matMenu\" panelClass=\"action-menu\">\r\n <button mat-menu-item (click)=\"setFlagPriority('0')\">\r\n <ds-icon icon=\"flag-o\" class=\"fc-purple fs-20 fs-md-17\"></ds-icon>\r\n </button>\r\n <button mat-menu-item (click)=\"setFlagPriority('1')\">\r\n <ds-icon icon=\"flag-o\" class=\"fc-yellow fs-20 fs-md-17\"></ds-icon>\r\n </button>\r\n <button mat-menu-item (click)=\"setFlagPriority('2')\">\r\n <ds-icon icon=\"flag-o\" class=\"fc-green fs-20 fs-md-17\"></ds-icon>\r\n </button>\r\n <button mat-menu-item (click)=\"setFlagPriority('3')\">\r\n <ds-icon icon=\"flag-o\" class=\"fc-coral fs-20 fs-md-17\"></ds-icon>\r\n </button>\r\n </mat-menu>\r\n\r\n <!-- print-->\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n <header class=\"service-header bc-white p-3 p-sm-4 py-4 gap-3 {{statusClass(form?.header?.status?.['key'])}}\">\r\n\r\n <div class=\"service-header-icon\">\r\n <img\r\n alt=\"\"\r\n src=\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAiIGhlaWdodD0iMjkiIHZpZXdCb3g9IjAgMCAzMCAyOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTI1LjEgMEg0LjlDMi4yIDAgMCAyLjIgMCA0LjlWMjguNkgyNS4xQzI3LjggMjguNiAzMCAyNi40IDMwIDIzLjdWNC45QzMwIDIuMiAyNy44IDAgMjUuMSAwWk0yIDQuOUMyIDMuMyAzLjMgMiA0LjkgMkgyNS4xQzI2LjcgMiAyOCAzLjMgMjggNC45VjIzLjdDMjggMjUuMyAyNi43IDI2LjYgMjUuMSAyNi42SDJWNC45Wk0xMS41IDYuM0M3LjEgNi4zIDMuNSA5LjkgMy41IDE0LjNDMy41IDE4LjcgNy4xIDIyLjMgMTEuNSAyMi4zQzE1LjkgMjIuMyAxOS41IDE4LjcgMTkuNSAxNC4zQzE5LjUgOS45IDE1LjkgNi4zIDExLjUgNi4zWk0xNS4xIDE5QzE0LjEgMTkuOCAxMi44IDIwLjIgMTEuNSAyMC4yQzEwLjIgMjAuMiA4LjkgMTkuOCA3LjkgMTlDOC43IDE3LjcgMTAgMTcgMTEuNSAxN0MxMyAxNyAxNC40IDE3LjggMTUuMSAxOVpNMTMuMSAxMy40QzEzLjEgMTQuMyAxMi40IDE1IDExLjUgMTVDMTAuNiAxNSA5LjkgMTQuMyA5LjkgMTMuNEM5LjkgMTIuNSAxMC42IDExLjggMTEuNSAxMS44QzEyLjQgMTEuOCAxMy4xIDEyLjUgMTMuMSAxMy40Wk0xNS4xIDEzLjRDMTUuMSAxMS40IDEzLjUgOS44IDExLjUgOS44QzkuNSA5LjggNy45IDExLjQgNy45IDEzLjRDNy45IDE0LjIgOC4yIDE1IDguNyAxNS43QzcuOCAxNi4xIDcuMSAxNi44IDYuNSAxNy42QzUuOCAxNi42IDUuNSAxNS41IDUuNSAxNC4zQzUuNSAxMSA4LjIgOC4zIDExLjUgOC4zQzE0LjggOC4zIDE3LjUgMTEgMTcuNSAxNC4zQzE3LjUgMTUuNSAxNy4yIDE2LjYgMTYuNSAxNy42QzE1LjkgMTYuOCAxNS4yIDE2LjIgMTQuMyAxNS43QzE0LjggMTUuMSAxNS4xIDE0LjIgMTUuMSAxMy40Wk0yMSA5LjFDMjEgOC42IDIxLjQgOC4xIDIyIDguMUgyNS41QzI2IDguMSAyNi41IDguNSAyNi41IDkuMUMyNi41IDkuNiAyNi4xIDEwLjEgMjUuNSAxMC4xSDIyQzIxLjQgMTAuMSAyMSA5LjYgMjEgOS4xWk0yMSAxMi41QzIxIDEyIDIxLjQgMTEuNSAyMiAxMS41SDI1LjVDMjYgMTEuNSAyNi41IDExLjkgMjYuNSAxMi41QzI2LjUgMTMgMjYuMSAxMy41IDI1LjUgMTMuNUgyMkMyMS40IDEzLjUgMjEgMTMuMSAyMSAxMi41Wk0yMSAxNkMyMSAxNS41IDIxLjQgMTUgMjIgMTVIMjUuNUMyNiAxNSAyNi41IDE1LjQgMjYuNSAxNkMyNi41IDE2LjUgMjYuMSAxNyAyNS41IDE3SDIyQzIxLjQgMTcgMjEgMTYuNiAyMSAxNlpNMjUuNSAyMC41SDIyQzIxLjUgMjAuNSAyMSAyMC4xIDIxIDE5LjVDMjEgMTguOSAyMS40IDE4LjUgMjIgMTguNUgyNS41QzI2IDE4LjUgMjYuNSAxOC45IDI2LjUgMTkuNUMyNi41IDIwLjEgMjYuMSAyMC41IDI1LjUgMjAuNVoiIGZpbGw9IiNGRjM3NUUiLz4KPC9zdmc+Cg==\"/>\r\n </div>\r\n\r\n <div class=\"flex-grow-1 d-flex flex-column flex-sm-row align-items-sm-center gap-2\">\r\n <div class=\"flex-grow-1\">\r\n <!-- title-->\r\n <h1 class=\"fs-20 fs-md-16 fw-bold fc-black header-title m-0\">{{ formTitle }}\r\n <ds-icon\r\n icon=\"info\" class=\"fs-22 fc-dark-gray cursor-pointer\" *ngIf=\"serviceBrief.length\"\r\n (click)=\"openFaq()\"></ds-icon>\r\n </h1>\r\n <div\r\n class=\"header-user d-flex align-items-sm-center gap-2 mt-sm-1\"\r\n *ngIf=\"form?.header?.status?.['key'] !== 'NEW' || isLoading\">\r\n <ds-avatar\r\n *ngIf=\"!isLoading\" image=\"{{form?.header?.requesterPhoto}}\" size=\"xx-small\"\r\n class=\"d-inline-flex cursor-pointer\" (click)=\"showUserInfo()\"></ds-avatar>\r\n <span\r\n class=\"fs-12 text-truncate d-sm-block cursor-pointer\" (click)=\"showUserInfo()\"\r\n [ngClass]=\"{'loading-bg loading-width': isLoading}\">{{ (form?.header?.requesterName) }}</span>\r\n <mat-divider class=\"divider circle mx-2 d-none d-sm-block\"></mat-divider>\r\n <span class=\"fs-12\" [ngClass]=\"{'loading-bg loading-width': isLoading}\">{{ form?.header?.formId }}</span>\r\n <mat-divider *ngIf=\"creationDate\" class=\"divider circle mx-2 d-none d-sm-block\"></mat-divider>\r\n <span *ngIf=\"creationDate\" class=\"fs-14\" [ngClass]=\"{'loading-bg loading-width': isLoading}\">{{ creationDate }}</span>\r\n </div>\r\n </div>\r\n <!-- header-actions-->\r\n <div\r\n class=\"header-actions d-flex flex-row flex-sm-column justify-content-between justify-content-sm-center gap-2 mt-2 mt-sm-0\"\r\n *ngIf=\"!(form?.header?.status?.['key'] === 'NEW')\">\r\n <ds-status\r\n *ngIf=\"form?.header?.status?.['key'] !== 'NEW' && !isLoading\"\r\n status=\"{{statusClass(form?.header?.status?.['key'])}}\" class=\"header-status\">{{ form?.header?.status?.['value'] }}\r\n </ds-status>\r\n\r\n <div class=\"d-flex align-items-center justify-content-end gap-2\">\r\n <!-- feedback-->\r\n<!-- *ngIf=\"form?.inboxItem && (form?.inboxItem?.canRequestFeedback ==='true'|| form?.inboxItem?.hasFeedback==='true') && !isLoading\"-->\r\n <!-- <ds-button\r\n square icon size=\"small\" (click)=\"feedback()\">\r\n <ds-icon\r\n icon=\"chat-o\" class=\"fs-20 fs-md-17 fc-coral\"\r\n [ngClass]=\"{'fc-green':feedBackIcon === 'feedbackResponded' , 'fc-red': feedBackIcon === 'respondToFeedback' , 'fc-yellow': feedBackIcon === 'waitingFeedback'}\">\r\n </ds-icon>\r\n </ds-button>-->\r\n <ds-button\r\n *ngIf=\"form?.commentsDrop?.length > 0 && !isLoading\" square icon size=\"small\"\r\n (click)=\"onCommentsFormClick()\" class=\"has-comments\">\r\n <ds-icon icon=\"clock\" class=\"fc-coral fs-20 fs-md-17\"></ds-icon>\r\n </ds-button>\r\n <ng-container *ngIf=\"showApprovalHistory\">\r\n <ds-button\r\n color=\"white\" shape=\"text\" square size=\"small\" [satPopoverAnchor]=\"workflow\"\r\n #workflowAnchor=\"satPopoverAnchor\" (click)=\"workflowAnchor.popover.open()\">\r\n <slot name=\"prefix\">\r\n <ds-icon icon=\"workflow\" class=\"fs-24\"></ds-icon>\r\n </slot>\r\n </ds-button>\r\n\r\n <sat-popover\r\n #workflow [anchor]=\"workflowAnchor\" [hasBackdrop]=\"true\" verticalAlign=\"below\"\r\n horizontalAlign=\"end\">\r\n <div class=\"default-popover p-3\" style=\"min-width: 330px;\">\r\n <ds-approvals *ngIf=\"approvalHistory\" class=\"popover-approvals\" approvalsData=\"{{approvals}}\">\r\n </ds-approvals>\r\n </div>\r\n </sat-popover>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </header>\r\n</ng-container>\r\n<header\r\n class=\"mb-4 mt-4 d-flex align-items-center justify-content-between align-items-end gap-2\"\r\n *ngIf=\"(form?.header?.status?.['key'] === 'NEW')\">\r\n <section>\r\n <h6 class=\"fs-14 fs-md-12 fw-normal fc-dark-gray mb-0\">\r\n {{ i18n.translate('Hello') }}\r\n {{ (form?.header?.requesterName) }}, {{ i18n.translate('welcomeBack') }}!\r\n </h6>\r\n <h1 class=\"fs-26 fs-md-20 fw-bold fc-black d-flex align-items-center gap-2 mb-1\">\r\n {{ formTitle }}\r\n <ds-icon icon=\"info\" class=\"fs-22 fc-dark-gray cursor-pointer\" *ngIf=\"serviceBrief.length\" (click)=\"openFaq()\">\r\n </ds-icon>\r\n </h1>\r\n </section>\r\n\r\n</header>\r\n", styles: [":host ::ng-deep .filter-section .select-form-field{--input-bg: var(--white);--input-border: var(--white);--placeholder-fc: var(--black);--input-width: 85px;--input-fs: .75rem;--placeholder-fs: .75rem;--label-fs: .75rem;--label-fw: var(--font-regular);--input-height: var(--default-size-sm);font-size:var(--label-fs);box-shadow:var(--box-shadow)}:host ::ng-deep ds-button::part(base){--default-size-sm: 30px;--btn-radius: 3px}@media (max-width: 576px){:host ::ng-deep ds-button::part(base){--default-size-sm: 25px}}:host ::ng-deep .loading-width{min-width:100px;width:40px;flex-grow:1}:host ::ng-deep ds-avatar::part(base){--default-size: 20px}:host ::ng-deep .service-header{--service-header-icon-size: var(--default-size-lg);--header-border-color: var(--coral);display:flex;align-items:flex-start;border-top:5px solid var(--header-border-color);box-shadow:0 7px 10px rgba(var(--rgb-black),3%)}@media (max-width: 576px){:host ::ng-deep .service-header{border-radius:3px 3px 0 0}}:host ::ng-deep .service-header.loading{--header-border-color: var(--off-white)}:host ::ng-deep .service-header.warning{--header-border-color: var(--yellow)}:host ::ng-deep .service-header.success{--header-border-color: var(--green)}:host ::ng-deep .service-header.danger{--header-border-color: var(--red)}@media (max-width: 576px){:host ::ng-deep .service-header{--service-header-icon-size: var(--default-size-sm)}}:host ::ng-deep .service-header .service-header-icon{min-width:var(--service-header-icon-size);width:var(--service-header-icon-size);height:var(--service-header-icon-size);display:inline-flex;align-items:center;justify-content:center;padding:.75rem;border-radius:6px 6px 6px 0;background-color:rgba(var(--rgb-coral),.1)}@media (max-width: 576px){:host ::ng-deep .service-header .service-header-icon{padding:.5rem}}:host ::ng-deep .service-header .header-title{text-align:start}:host ::ng-deep .service-header .divider.circle{min-width:5px;width:5px;min-height:5px;height:5px;border-radius:50%;background-color:var(--dark-gray)}:host ::ng-deep .service-header .header-actions{align-items:flex-end;justify-content:flex-end}:host ::ng-deep .service-header .header-actions .has-comments{position:relative}:host ::ng-deep .service-header .header-actions .has-comments:before{content:\"\";min-width:8px;height:8px;border-radius:50%;background-color:var(--coral);position:absolute;top:-3px;right:-3px;z-index:1}[dir=rtl] :host ::ng-deep .service-header .header-actions .has-comments:before{right:auto;left:-3px}:host ::ng-deep .service-header .header-actions ds-button::part(base){--btn-color: var(--coral);--btn-bg-color: var(--light-gray);--btn-border-color: var(--light-gray)}:host ::ng-deep .service-header .header-user{color:var(--dark-gray)}:host ::ng-deep .history-button::part(base){background-color:var(--white);--btn-height: var(--default-size-sm);--btn-shadow: 0 7px 10px rgba(var(--rgb-black), 3%)}@media (max-width: 576px){:host ::ng-deep .history-button::part(base){--btn-height: 35px;--btn-width: 35px}}@media (max-width: 576px){:host ::ng-deep .history-button::part(label){display:none}}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: SatPopoverModule }, { kind: "component", type: i1$3.SatPopoverComponent, selector: "sat-popover", inputs: ["anchor", "horizontalAlign", "xAlign", "verticalAlign", "yAlign", "forceAlignment", "lockAlignment", "autoFocus", "restoreFocus", "scrollStrategy", "hasBackdrop", "interactiveClose", "openTransition", "closeTransition", "openAnimationStartAtScale", "closeAnimationEndAtScale", "backdropClass", "panelClass"], outputs: ["opened", "closed", "afterOpen", "afterClose", "backdropClicked", "overlayKeydown"] }, { kind: "directive", type: i1$3.SatPopoverAnchorDirective, selector: "[satPopoverAnchor]", inputs: ["satPopoverAnchor"], exportAs: ["satPopoverAnchor"] }, { kind: "component", type: MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }] });
|
|
5423
5487
|
}
|
|
5424
5488
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ServiceHeaderComponent, decorators: [{
|
|
5425
5489
|
type: Component,
|
|
@@ -5433,7 +5497,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
5433
5497
|
MatMenuItem
|
|
5434
5498
|
], schemas: [CUSTOM_ELEMENTS_SCHEMA], providers: [FeedBackService,
|
|
5435
5499
|
{ provide: MAT_DIALOG_DATA, useValue: {} },
|
|
5436
|
-
], template: "<ng-container *ngIf=\"!(form?.header?.status?.['key'] === 'NEW')\">\r\n <div class=\"d-flex align-items-center justify-content-end gap-2 my-2\" *ngIf=\"!(form?.header?.status?.['key'] === 'NEW')\">\r\n\r\n <!-- flag-->\r\n <!--<ds-button\r\n *ngIf=\"form?.inboxItem && !form.sections[form.sections.length -1].header.readOnly && !isLoading\"\r\n square\r\n icon\r\n size=\"small\"\r\n [matMenuTriggerFor]=\"menu\"\r\n class=\"icon-btn-shadow\">\r\n <ds-icon\r\n [ngClass]=\"{'fc-purple' : (flagPriority === '0' || flagPriority === null),'fc-yellow' : flagPriority === '1','fc-green' : flagPriority === '2','fc-coral' : flagPriority === '3'}\"\r\n icon=\"flag-o\" class=\"fs-20 fs-md-17 fc-purple\">\r\n </ds-icon>\r\n </ds-button>\r\n <mat-menu #menu=\"matMenu\" panelClass=\"action-menu\">\r\n <button mat-menu-item (click)=\"setFlagPriority('0')\">\r\n <ds-icon icon=\"flag-o\" class=\"fc-purple fs-20 fs-md-17\"></ds-icon>\r\n </button>\r\n <button mat-menu-item (click)=\"setFlagPriority('1')\">\r\n <ds-icon icon=\"flag-o\" class=\"fc-yellow fs-20 fs-md-17\"></ds-icon>\r\n </button>\r\n <button mat-menu-item (click)=\"setFlagPriority('2')\">\r\n <ds-icon icon=\"flag-o\" class=\"fc-green fs-20 fs-md-17\"></ds-icon>\r\n </button>\r\n <button mat-menu-item (click)=\"setFlagPriority('3')\">\r\n <ds-icon icon=\"flag-o\" class=\"fc-coral fs-20 fs-md-17\"></ds-icon>\r\n </button>\r\n </mat-menu>-->\r\n\r\n <!-- print-->\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n <header class=\"service-header bc-white p-3 p-sm-4 py-4 gap-3 {{statusClass(form?.header?.status?.['key'])}}\">\r\n\r\n <div class=\"service-header-icon\">\r\n <img\r\n alt=\"\"\r\n src=\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAiIGhlaWdodD0iMjkiIHZpZXdCb3g9IjAgMCAzMCAyOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTI1LjEgMEg0LjlDMi4yIDAgMCAyLjIgMCA0LjlWMjguNkgyNS4xQzI3LjggMjguNiAzMCAyNi40IDMwIDIzLjdWNC45QzMwIDIuMiAyNy44IDAgMjUuMSAwWk0yIDQuOUMyIDMuMyAzLjMgMiA0LjkgMkgyNS4xQzI2LjcgMiAyOCAzLjMgMjggNC45VjIzLjdDMjggMjUuMyAyNi43IDI2LjYgMjUuMSAyNi42SDJWNC45Wk0xMS41IDYuM0M3LjEgNi4zIDMuNSA5LjkgMy41IDE0LjNDMy41IDE4LjcgNy4xIDIyLjMgMTEuNSAyMi4zQzE1LjkgMjIuMyAxOS41IDE4LjcgMTkuNSAxNC4zQzE5LjUgOS45IDE1LjkgNi4zIDExLjUgNi4zWk0xNS4xIDE5QzE0LjEgMTkuOCAxMi44IDIwLjIgMTEuNSAyMC4yQzEwLjIgMjAuMiA4LjkgMTkuOCA3LjkgMTlDOC43IDE3LjcgMTAgMTcgMTEuNSAxN0MxMyAxNyAxNC40IDE3LjggMTUuMSAxOVpNMTMuMSAxMy40QzEzLjEgMTQuMyAxMi40IDE1IDExLjUgMTVDMTAuNiAxNSA5LjkgMTQuMyA5LjkgMTMuNEM5LjkgMTIuNSAxMC42IDExLjggMTEuNSAxMS44QzEyLjQgMTEuOCAxMy4xIDEyLjUgMTMuMSAxMy40Wk0xNS4xIDEzLjRDMTUuMSAxMS40IDEzLjUgOS44IDExLjUgOS44QzkuNSA5LjggNy45IDExLjQgNy45IDEzLjRDNy45IDE0LjIgOC4yIDE1IDguNyAxNS43QzcuOCAxNi4xIDcuMSAxNi44IDYuNSAxNy42QzUuOCAxNi42IDUuNSAxNS41IDUuNSAxNC4zQzUuNSAxMSA4LjIgOC4zIDExLjUgOC4zQzE0LjggOC4zIDE3LjUgMTEgMTcuNSAxNC4zQzE3LjUgMTUuNSAxNy4yIDE2LjYgMTYuNSAxNy42QzE1LjkgMTYuOCAxNS4yIDE2LjIgMTQuMyAxNS43QzE0LjggMTUuMSAxNS4xIDE0LjIgMTUuMSAxMy40Wk0yMSA5LjFDMjEgOC42IDIxLjQgOC4xIDIyIDguMUgyNS41QzI2IDguMSAyNi41IDguNSAyNi41IDkuMUMyNi41IDkuNiAyNi4xIDEwLjEgMjUuNSAxMC4xSDIyQzIxLjQgMTAuMSAyMSA5LjYgMjEgOS4xWk0yMSAxMi41QzIxIDEyIDIxLjQgMTEuNSAyMiAxMS41SDI1LjVDMjYgMTEuNSAyNi41IDExLjkgMjYuNSAxMi41QzI2LjUgMTMgMjYuMSAxMy41IDI1LjUgMTMuNUgyMkMyMS40IDEzLjUgMjEgMTMuMSAyMSAxMi41Wk0yMSAxNkMyMSAxNS41IDIxLjQgMTUgMjIgMTVIMjUuNUMyNiAxNSAyNi41IDE1LjQgMjYuNSAxNkMyNi41IDE2LjUgMjYuMSAxNyAyNS41IDE3SDIyQzIxLjQgMTcgMjEgMTYuNiAyMSAxNlpNMjUuNSAyMC41SDIyQzIxLjUgMjAuNSAyMSAyMC4xIDIxIDE5LjVDMjEgMTguOSAyMS40IDE4LjUgMjIgMTguNUgyNS41QzI2IDE4LjUgMjYuNSAxOC45IDI2LjUgMTkuNUMyNi41IDIwLjEgMjYuMSAyMC41IDI1LjUgMjAuNVoiIGZpbGw9IiNGRjM3NUUiLz4KPC9zdmc+Cg==\"/>\r\n </div>\r\n\r\n <div class=\"flex-grow-1 d-flex flex-column flex-sm-row align-items-sm-center gap-2\">\r\n <div class=\"flex-grow-1\">\r\n <!-- title-->\r\n <h1 class=\"fs-20 fs-md-16 fw-bold fc-black header-title m-0\">{{ formTitle }}\r\n <ds-icon\r\n icon=\"info\" class=\"fs-22 fc-dark-gray cursor-pointer\" *ngIf=\"serviceBrief.length\"\r\n (click)=\"openFaq()\"></ds-icon>\r\n </h1>\r\n <div\r\n class=\"header-user d-flex align-items-sm-center gap-2 mt-sm-1\"\r\n *ngIf=\"form?.header?.status?.['key'] !== 'NEW' || isLoading\">\r\n <ds-avatar\r\n *ngIf=\"!isLoading\" image=\"{{form?.header?.requesterPhoto}}\" size=\"xx-small\"\r\n class=\"d-inline-flex cursor-pointer\" (click)=\"showUserInfo()\"></ds-avatar>\r\n <span\r\n class=\"fs-12 text-truncate d-sm-block cursor-pointer\" (click)=\"showUserInfo()\"\r\n [ngClass]=\"{'loading-bg loading-width': isLoading}\">{{ (form?.header?.requesterName) }}</span>\r\n <mat-divider class=\"divider circle mx-2 d-none d-sm-block\"></mat-divider>\r\n <span class=\"fs-12\" [ngClass]=\"{'loading-bg loading-width': isLoading}\">{{ form?.header?.formId }}</span>\r\n <mat-divider *ngIf=\"creationDate\" class=\"divider circle mx-2 d-none d-sm-block\"></mat-divider>\r\n <span *ngIf=\"creationDate\" class=\"fs-14\" [ngClass]=\"{'loading-bg loading-width': isLoading}\">{{ creationDate }}</span>\r\n </div>\r\n </div>\r\n <!-- header-actions-->\r\n <div\r\n class=\"header-actions d-flex flex-row flex-sm-column justify-content-between justify-content-sm-center gap-2 mt-2 mt-sm-0\"\r\n *ngIf=\"!(form?.header?.status?.['key'] === 'NEW')\">\r\n <ds-status\r\n *ngIf=\"form?.header?.status?.['key'] !== 'NEW' && !isLoading\"\r\n status=\"{{statusClass(form?.header?.status?.['key'])}}\" class=\"header-status\">{{ form?.header?.status?.['value'] }}\r\n </ds-status>\r\n\r\n <div class=\"d-flex align-items-center justify-content-end gap-2\">\r\n <!-- feedback-->\r\n<!-- *ngIf=\"form?.inboxItem && (form?.inboxItem?.canRequestFeedback ==='true'|| form?.inboxItem?.hasFeedback==='true') && !isLoading\"-->\r\n <!-- <ds-button\r\n square icon size=\"small\" (click)=\"feedback()\">\r\n <ds-icon\r\n icon=\"chat-o\" class=\"fs-20 fs-md-17 fc-coral\"\r\n [ngClass]=\"{'fc-green':feedBackIcon === 'feedbackResponded' , 'fc-red': feedBackIcon === 'respondToFeedback' , 'fc-yellow': feedBackIcon === 'waitingFeedback'}\">\r\n </ds-icon>\r\n </ds-button>-->\r\n <ds-button\r\n *ngIf=\"form?.commentsDrop?.length > 0 && !isLoading\" square icon size=\"small\"\r\n (click)=\"onCommentsFormClick()\" class=\"has-comments\">\r\n <ds-icon icon=\"clock\" class=\"fc-coral fs-20 fs-md-17\"></ds-icon>\r\n </ds-button>\r\n <ng-container *ngIf=\"showApprovalHistory\">\r\n <ds-button\r\n color=\"white\" shape=\"text\" square size=\"small\" [satPopoverAnchor]=\"workflow\"\r\n #workflowAnchor=\"satPopoverAnchor\" (click)=\"workflowAnchor.popover.open()\">\r\n <slot name=\"prefix\">\r\n <ds-icon icon=\"workflow\" class=\"fs-24\"></ds-icon>\r\n </slot>\r\n </ds-button>\r\n\r\n <sat-popover\r\n #workflow [anchor]=\"workflowAnchor\" [hasBackdrop]=\"true\" verticalAlign=\"below\"\r\n horizontalAlign=\"end\">\r\n <div class=\"default-popover p-3\" style=\"min-width: 330px;\">\r\n <ds-approvals *ngIf=\"approvalHistory\" class=\"popover-approvals\" approvalsData=\"{{approvals}}\">\r\n </ds-approvals>\r\n </div>\r\n </sat-popover>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </header>\r\n</ng-container>\r\n<header\r\n class=\"mb-4 mt-4 d-flex align-items-center justify-content-between align-items-end gap-2\"\r\n *ngIf=\"(form?.header?.status?.['key'] === 'NEW')\">\r\n <section>\r\n <h6 class=\"fs-14 fs-md-12 fw-normal fc-dark-gray mb-0\">\r\n {{ i18n.translate('Hello') }}\r\n {{ (form?.header?.requesterName) }}, {{ i18n.translate('welcomeBack') }}!\r\n </h6>\r\n <h1 class=\"fs-26 fs-md-20 fw-bold fc-black d-flex align-items-center gap-2 mb-1\">\r\n {{ formTitle }}\r\n <ds-icon icon=\"info\" class=\"fs-22 fc-dark-gray cursor-pointer\" *ngIf=\"serviceBrief.length\" (click)=\"openFaq()\">\r\n </ds-icon>\r\n </h1>\r\n </section>\r\n\r\n</header>\r\n", styles: [":host ::ng-deep .filter-section .select-form-field{--input-bg: var(--white);--input-border: var(--white);--placeholder-fc: var(--black);--input-width: 85px;--input-fs: .75rem;--placeholder-fs: .75rem;--label-fs: .75rem;--label-fw: var(--font-regular);--input-height: var(--default-size-sm);font-size:var(--label-fs);box-shadow:var(--box-shadow)}:host ::ng-deep ds-button::part(base){--default-size-sm: 30px;--btn-radius: 3px}@media (max-width: 576px){:host ::ng-deep ds-button::part(base){--default-size-sm: 25px}}:host ::ng-deep .loading-width{min-width:100px;width:40px;flex-grow:1}:host ::ng-deep ds-avatar::part(base){--default-size: 20px}:host ::ng-deep .service-header{--service-header-icon-size: var(--default-size-lg);--header-border-color: var(--coral);display:flex;align-items:flex-start;border-top:5px solid var(--header-border-color);box-shadow:0 7px 10px rgba(var(--rgb-black),3%)}@media (max-width: 576px){:host ::ng-deep .service-header{border-radius:3px 3px 0 0}}:host ::ng-deep .service-header.loading{--header-border-color: var(--off-white)}:host ::ng-deep .service-header.warning{--header-border-color: var(--yellow)}:host ::ng-deep .service-header.success{--header-border-color: var(--green)}:host ::ng-deep .service-header.danger{--header-border-color: var(--red)}@media (max-width: 576px){:host ::ng-deep .service-header{--service-header-icon-size: var(--default-size-sm)}}:host ::ng-deep .service-header .service-header-icon{min-width:var(--service-header-icon-size);width:var(--service-header-icon-size);height:var(--service-header-icon-size);display:inline-flex;align-items:center;justify-content:center;padding:.75rem;border-radius:6px 6px 6px 0;background-color:rgba(var(--rgb-coral),.1)}@media (max-width: 576px){:host ::ng-deep .service-header .service-header-icon{padding:.5rem}}:host ::ng-deep .service-header .header-title{text-align:start}:host ::ng-deep .service-header .divider.circle{min-width:5px;width:5px;min-height:5px;height:5px;border-radius:50%;background-color:var(--dark-gray)}:host ::ng-deep .service-header .header-actions{align-items:flex-end;justify-content:flex-end}:host ::ng-deep .service-header .header-actions .has-comments{position:relative}:host ::ng-deep .service-header .header-actions .has-comments:before{content:\"\";min-width:8px;height:8px;border-radius:50%;background-color:var(--coral);position:absolute;top:-3px;right:-3px;z-index:1}[dir=rtl] :host ::ng-deep .service-header .header-actions .has-comments:before{right:auto;left:-3px}:host ::ng-deep .service-header .header-actions ds-button::part(base){--btn-color: var(--coral);--btn-bg-color: var(--light-gray);--btn-border-color: var(--light-gray)}:host ::ng-deep .service-header .header-user{color:var(--dark-gray)}:host ::ng-deep .history-button::part(base){background-color:var(--white);--btn-height: var(--default-size-sm);--btn-shadow: 0 7px 10px rgba(var(--rgb-black), 3%)}@media (max-width: 576px){:host ::ng-deep .history-button::part(base){--btn-height: 35px;--btn-width: 35px}}@media (max-width: 576px){:host ::ng-deep .history-button::part(label){display:none}}\n"] }]
|
|
5500
|
+
], template: "<ng-container *ngIf=\"!(form?.header?.status?.['key'] === 'NEW')\">\r\n <div class=\"d-flex align-items-center justify-content-end gap-2 my-2\" *ngIf=\"!(form?.header?.status?.['key'] === 'NEW')\">\r\n\r\n <!-- flag-->\r\n <ds-button\r\n *ngIf=\"form?.inboxItem && !form.sections[form.sections.length -1].header.readOnly && !isLoading\"\r\n square\r\n icon\r\n size=\"small\"\r\n [matMenuTriggerFor]=\"menu\"\r\n class=\"icon-btn-shadow\">\r\n <ds-icon\r\n [ngClass]=\"{'fc-purple' : (flagPriority === '0' || flagPriority === null),'fc-yellow' : flagPriority === '1','fc-green' : flagPriority === '2','fc-coral' : flagPriority === '3'}\"\r\n icon=\"flag-o\" class=\"fs-20 fs-md-17 fc-purple\">\r\n </ds-icon>\r\n </ds-button>\r\n <mat-menu #menu=\"matMenu\" panelClass=\"action-menu\">\r\n <button mat-menu-item (click)=\"setFlagPriority('0')\">\r\n <ds-icon icon=\"flag-o\" class=\"fc-purple fs-20 fs-md-17\"></ds-icon>\r\n </button>\r\n <button mat-menu-item (click)=\"setFlagPriority('1')\">\r\n <ds-icon icon=\"flag-o\" class=\"fc-yellow fs-20 fs-md-17\"></ds-icon>\r\n </button>\r\n <button mat-menu-item (click)=\"setFlagPriority('2')\">\r\n <ds-icon icon=\"flag-o\" class=\"fc-green fs-20 fs-md-17\"></ds-icon>\r\n </button>\r\n <button mat-menu-item (click)=\"setFlagPriority('3')\">\r\n <ds-icon icon=\"flag-o\" class=\"fc-coral fs-20 fs-md-17\"></ds-icon>\r\n </button>\r\n </mat-menu>\r\n\r\n <!-- print-->\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n <header class=\"service-header bc-white p-3 p-sm-4 py-4 gap-3 {{statusClass(form?.header?.status?.['key'])}}\">\r\n\r\n <div class=\"service-header-icon\">\r\n <img\r\n alt=\"\"\r\n src=\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAiIGhlaWdodD0iMjkiIHZpZXdCb3g9IjAgMCAzMCAyOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTI1LjEgMEg0LjlDMi4yIDAgMCAyLjIgMCA0LjlWMjguNkgyNS4xQzI3LjggMjguNiAzMCAyNi40IDMwIDIzLjdWNC45QzMwIDIuMiAyNy44IDAgMjUuMSAwWk0yIDQuOUMyIDMuMyAzLjMgMiA0LjkgMkgyNS4xQzI2LjcgMiAyOCAzLjMgMjggNC45VjIzLjdDMjggMjUuMyAyNi43IDI2LjYgMjUuMSAyNi42SDJWNC45Wk0xMS41IDYuM0M3LjEgNi4zIDMuNSA5LjkgMy41IDE0LjNDMy41IDE4LjcgNy4xIDIyLjMgMTEuNSAyMi4zQzE1LjkgMjIuMyAxOS41IDE4LjcgMTkuNSAxNC4zQzE5LjUgOS45IDE1LjkgNi4zIDExLjUgNi4zWk0xNS4xIDE5QzE0LjEgMTkuOCAxMi44IDIwLjIgMTEuNSAyMC4yQzEwLjIgMjAuMiA4LjkgMTkuOCA3LjkgMTlDOC43IDE3LjcgMTAgMTcgMTEuNSAxN0MxMyAxNyAxNC40IDE3LjggMTUuMSAxOVpNMTMuMSAxMy40QzEzLjEgMTQuMyAxMi40IDE1IDExLjUgMTVDMTAuNiAxNSA5LjkgMTQuMyA5LjkgMTMuNEM5LjkgMTIuNSAxMC42IDExLjggMTEuNSAxMS44QzEyLjQgMTEuOCAxMy4xIDEyLjUgMTMuMSAxMy40Wk0xNS4xIDEzLjRDMTUuMSAxMS40IDEzLjUgOS44IDExLjUgOS44QzkuNSA5LjggNy45IDExLjQgNy45IDEzLjRDNy45IDE0LjIgOC4yIDE1IDguNyAxNS43QzcuOCAxNi4xIDcuMSAxNi44IDYuNSAxNy42QzUuOCAxNi42IDUuNSAxNS41IDUuNSAxNC4zQzUuNSAxMSA4LjIgOC4zIDExLjUgOC4zQzE0LjggOC4zIDE3LjUgMTEgMTcuNSAxNC4zQzE3LjUgMTUuNSAxNy4yIDE2LjYgMTYuNSAxNy42QzE1LjkgMTYuOCAxNS4yIDE2LjIgMTQuMyAxNS43QzE0LjggMTUuMSAxNS4xIDE0LjIgMTUuMSAxMy40Wk0yMSA5LjFDMjEgOC42IDIxLjQgOC4xIDIyIDguMUgyNS41QzI2IDguMSAyNi41IDguNSAyNi41IDkuMUMyNi41IDkuNiAyNi4xIDEwLjEgMjUuNSAxMC4xSDIyQzIxLjQgMTAuMSAyMSA5LjYgMjEgOS4xWk0yMSAxMi41QzIxIDEyIDIxLjQgMTEuNSAyMiAxMS41SDI1LjVDMjYgMTEuNSAyNi41IDExLjkgMjYuNSAxMi41QzI2LjUgMTMgMjYuMSAxMy41IDI1LjUgMTMuNUgyMkMyMS40IDEzLjUgMjEgMTMuMSAyMSAxMi41Wk0yMSAxNkMyMSAxNS41IDIxLjQgMTUgMjIgMTVIMjUuNUMyNiAxNSAyNi41IDE1LjQgMjYuNSAxNkMyNi41IDE2LjUgMjYuMSAxNyAyNS41IDE3SDIyQzIxLjQgMTcgMjEgMTYuNiAyMSAxNlpNMjUuNSAyMC41SDIyQzIxLjUgMjAuNSAyMSAyMC4xIDIxIDE5LjVDMjEgMTguOSAyMS40IDE4LjUgMjIgMTguNUgyNS41QzI2IDE4LjUgMjYuNSAxOC45IDI2LjUgMTkuNUMyNi41IDIwLjEgMjYuMSAyMC41IDI1LjUgMjAuNVoiIGZpbGw9IiNGRjM3NUUiLz4KPC9zdmc+Cg==\"/>\r\n </div>\r\n\r\n <div class=\"flex-grow-1 d-flex flex-column flex-sm-row align-items-sm-center gap-2\">\r\n <div class=\"flex-grow-1\">\r\n <!-- title-->\r\n <h1 class=\"fs-20 fs-md-16 fw-bold fc-black header-title m-0\">{{ formTitle }}\r\n <ds-icon\r\n icon=\"info\" class=\"fs-22 fc-dark-gray cursor-pointer\" *ngIf=\"serviceBrief.length\"\r\n (click)=\"openFaq()\"></ds-icon>\r\n </h1>\r\n <div\r\n class=\"header-user d-flex align-items-sm-center gap-2 mt-sm-1\"\r\n *ngIf=\"form?.header?.status?.['key'] !== 'NEW' || isLoading\">\r\n <ds-avatar\r\n *ngIf=\"!isLoading\" image=\"{{form?.header?.requesterPhoto}}\" size=\"xx-small\"\r\n class=\"d-inline-flex cursor-pointer\" (click)=\"showUserInfo()\"></ds-avatar>\r\n <span\r\n class=\"fs-12 text-truncate d-sm-block cursor-pointer\" (click)=\"showUserInfo()\"\r\n [ngClass]=\"{'loading-bg loading-width': isLoading}\">{{ (form?.header?.requesterName) }}</span>\r\n <mat-divider class=\"divider circle mx-2 d-none d-sm-block\"></mat-divider>\r\n <span class=\"fs-12\" [ngClass]=\"{'loading-bg loading-width': isLoading}\">{{ form?.header?.formId }}</span>\r\n <mat-divider *ngIf=\"creationDate\" class=\"divider circle mx-2 d-none d-sm-block\"></mat-divider>\r\n <span *ngIf=\"creationDate\" class=\"fs-14\" [ngClass]=\"{'loading-bg loading-width': isLoading}\">{{ creationDate }}</span>\r\n </div>\r\n </div>\r\n <!-- header-actions-->\r\n <div\r\n class=\"header-actions d-flex flex-row flex-sm-column justify-content-between justify-content-sm-center gap-2 mt-2 mt-sm-0\"\r\n *ngIf=\"!(form?.header?.status?.['key'] === 'NEW')\">\r\n <ds-status\r\n *ngIf=\"form?.header?.status?.['key'] !== 'NEW' && !isLoading\"\r\n status=\"{{statusClass(form?.header?.status?.['key'])}}\" class=\"header-status\">{{ form?.header?.status?.['value'] }}\r\n </ds-status>\r\n\r\n <div class=\"d-flex align-items-center justify-content-end gap-2\">\r\n <!-- feedback-->\r\n<!-- *ngIf=\"form?.inboxItem && (form?.inboxItem?.canRequestFeedback ==='true'|| form?.inboxItem?.hasFeedback==='true') && !isLoading\"-->\r\n <!-- <ds-button\r\n square icon size=\"small\" (click)=\"feedback()\">\r\n <ds-icon\r\n icon=\"chat-o\" class=\"fs-20 fs-md-17 fc-coral\"\r\n [ngClass]=\"{'fc-green':feedBackIcon === 'feedbackResponded' , 'fc-red': feedBackIcon === 'respondToFeedback' , 'fc-yellow': feedBackIcon === 'waitingFeedback'}\">\r\n </ds-icon>\r\n </ds-button>-->\r\n <ds-button\r\n *ngIf=\"form?.commentsDrop?.length > 0 && !isLoading\" square icon size=\"small\"\r\n (click)=\"onCommentsFormClick()\" class=\"has-comments\">\r\n <ds-icon icon=\"clock\" class=\"fc-coral fs-20 fs-md-17\"></ds-icon>\r\n </ds-button>\r\n <ng-container *ngIf=\"showApprovalHistory\">\r\n <ds-button\r\n color=\"white\" shape=\"text\" square size=\"small\" [satPopoverAnchor]=\"workflow\"\r\n #workflowAnchor=\"satPopoverAnchor\" (click)=\"workflowAnchor.popover.open()\">\r\n <slot name=\"prefix\">\r\n <ds-icon icon=\"workflow\" class=\"fs-24\"></ds-icon>\r\n </slot>\r\n </ds-button>\r\n\r\n <sat-popover\r\n #workflow [anchor]=\"workflowAnchor\" [hasBackdrop]=\"true\" verticalAlign=\"below\"\r\n horizontalAlign=\"end\">\r\n <div class=\"default-popover p-3\" style=\"min-width: 330px;\">\r\n <ds-approvals *ngIf=\"approvalHistory\" class=\"popover-approvals\" approvalsData=\"{{approvals}}\">\r\n </ds-approvals>\r\n </div>\r\n </sat-popover>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </header>\r\n</ng-container>\r\n<header\r\n class=\"mb-4 mt-4 d-flex align-items-center justify-content-between align-items-end gap-2\"\r\n *ngIf=\"(form?.header?.status?.['key'] === 'NEW')\">\r\n <section>\r\n <h6 class=\"fs-14 fs-md-12 fw-normal fc-dark-gray mb-0\">\r\n {{ i18n.translate('Hello') }}\r\n {{ (form?.header?.requesterName) }}, {{ i18n.translate('welcomeBack') }}!\r\n </h6>\r\n <h1 class=\"fs-26 fs-md-20 fw-bold fc-black d-flex align-items-center gap-2 mb-1\">\r\n {{ formTitle }}\r\n <ds-icon icon=\"info\" class=\"fs-22 fc-dark-gray cursor-pointer\" *ngIf=\"serviceBrief.length\" (click)=\"openFaq()\">\r\n </ds-icon>\r\n </h1>\r\n </section>\r\n\r\n</header>\r\n", styles: [":host ::ng-deep .filter-section .select-form-field{--input-bg: var(--white);--input-border: var(--white);--placeholder-fc: var(--black);--input-width: 85px;--input-fs: .75rem;--placeholder-fs: .75rem;--label-fs: .75rem;--label-fw: var(--font-regular);--input-height: var(--default-size-sm);font-size:var(--label-fs);box-shadow:var(--box-shadow)}:host ::ng-deep ds-button::part(base){--default-size-sm: 30px;--btn-radius: 3px}@media (max-width: 576px){:host ::ng-deep ds-button::part(base){--default-size-sm: 25px}}:host ::ng-deep .loading-width{min-width:100px;width:40px;flex-grow:1}:host ::ng-deep ds-avatar::part(base){--default-size: 20px}:host ::ng-deep .service-header{--service-header-icon-size: var(--default-size-lg);--header-border-color: var(--coral);display:flex;align-items:flex-start;border-top:5px solid var(--header-border-color);box-shadow:0 7px 10px rgba(var(--rgb-black),3%)}@media (max-width: 576px){:host ::ng-deep .service-header{border-radius:3px 3px 0 0}}:host ::ng-deep .service-header.loading{--header-border-color: var(--off-white)}:host ::ng-deep .service-header.warning{--header-border-color: var(--yellow)}:host ::ng-deep .service-header.success{--header-border-color: var(--green)}:host ::ng-deep .service-header.danger{--header-border-color: var(--red)}@media (max-width: 576px){:host ::ng-deep .service-header{--service-header-icon-size: var(--default-size-sm)}}:host ::ng-deep .service-header .service-header-icon{min-width:var(--service-header-icon-size);width:var(--service-header-icon-size);height:var(--service-header-icon-size);display:inline-flex;align-items:center;justify-content:center;padding:.75rem;border-radius:6px 6px 6px 0;background-color:rgba(var(--rgb-coral),.1)}@media (max-width: 576px){:host ::ng-deep .service-header .service-header-icon{padding:.5rem}}:host ::ng-deep .service-header .header-title{text-align:start}:host ::ng-deep .service-header .divider.circle{min-width:5px;width:5px;min-height:5px;height:5px;border-radius:50%;background-color:var(--dark-gray)}:host ::ng-deep .service-header .header-actions{align-items:flex-end;justify-content:flex-end}:host ::ng-deep .service-header .header-actions .has-comments{position:relative}:host ::ng-deep .service-header .header-actions .has-comments:before{content:\"\";min-width:8px;height:8px;border-radius:50%;background-color:var(--coral);position:absolute;top:-3px;right:-3px;z-index:1}[dir=rtl] :host ::ng-deep .service-header .header-actions .has-comments:before{right:auto;left:-3px}:host ::ng-deep .service-header .header-actions ds-button::part(base){--btn-color: var(--coral);--btn-bg-color: var(--light-gray);--btn-border-color: var(--light-gray)}:host ::ng-deep .service-header .header-user{color:var(--dark-gray)}:host ::ng-deep .history-button::part(base){background-color:var(--white);--btn-height: var(--default-size-sm);--btn-shadow: 0 7px 10px rgba(var(--rgb-black), 3%)}@media (max-width: 576px){:host ::ng-deep .history-button::part(base){--btn-height: 35px;--btn-width: 35px}}@media (max-width: 576px){:host ::ng-deep .history-button::part(label){display:none}}\n"] }]
|
|
5437
5501
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: CoreI18nService }, { type: FeedBackService }, { type: i1$1.MatDialog }, { type: SidenavService }], propDecorators: { form: [{
|
|
5438
5502
|
type: Input
|
|
5439
5503
|
}], showHistory: [{
|
|
@@ -5490,18 +5554,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
5490
5554
|
|
|
5491
5555
|
class FormSectionComponent {
|
|
5492
5556
|
i18n;
|
|
5493
|
-
|
|
5494
|
-
|
|
5495
|
-
|
|
5496
|
-
|
|
5557
|
+
coreService;
|
|
5558
|
+
sidenavService;
|
|
5559
|
+
userType = 'recipient';
|
|
5560
|
+
// @ViewChild('popover') popover?: any;
|
|
5561
|
+
popoverType = 'recipient';
|
|
5497
5562
|
requestDetails;
|
|
5498
5563
|
userPopoverInfo = {};
|
|
5499
5564
|
section;
|
|
5500
5565
|
form;
|
|
5501
5566
|
lov;
|
|
5502
5567
|
isReadOnly;
|
|
5503
|
-
isOpen;
|
|
5504
|
-
isFinalApproval;
|
|
5568
|
+
// @Input() isOpen: boolean;
|
|
5569
|
+
// @Input() isFinalApproval: boolean;
|
|
5505
5570
|
controllers;
|
|
5506
5571
|
segmentDynamicLoaderService;
|
|
5507
5572
|
sectionFormComponent = null;
|
|
@@ -5509,7 +5574,7 @@ class FormSectionComponent {
|
|
|
5509
5574
|
sectionNumber;
|
|
5510
5575
|
sectionStatusValue;
|
|
5511
5576
|
sectionStatusKey;
|
|
5512
|
-
|
|
5577
|
+
recipient = {
|
|
5513
5578
|
isShowing: false,
|
|
5514
5579
|
profile: null
|
|
5515
5580
|
};
|
|
@@ -5518,12 +5583,14 @@ class FormSectionComponent {
|
|
|
5518
5583
|
profile: null
|
|
5519
5584
|
};
|
|
5520
5585
|
input;
|
|
5521
|
-
highlightFlag;
|
|
5586
|
+
// highlightFlag: boolean;
|
|
5522
5587
|
processingDate;
|
|
5523
5588
|
randomID = Math.floor(Math.random() * (999999 - 100000)) + 100000;
|
|
5524
|
-
constructor(i18n) {
|
|
5589
|
+
constructor(i18n, coreService, sidenavService) {
|
|
5525
5590
|
this.i18n = i18n;
|
|
5526
|
-
this.
|
|
5591
|
+
this.coreService = coreService;
|
|
5592
|
+
this.sidenavService = sidenavService;
|
|
5593
|
+
// this.highlightFlag = false;
|
|
5527
5594
|
}
|
|
5528
5595
|
ngOnInit() {
|
|
5529
5596
|
this.sectionFormComponent = this.segmentDynamicLoaderService.getComponent(this.section.id);
|
|
@@ -5533,7 +5600,6 @@ class FormSectionComponent {
|
|
|
5533
5600
|
else {
|
|
5534
5601
|
this.sectionName = this.segmentDynamicLoaderService.getSectionName(this.section.id);
|
|
5535
5602
|
}
|
|
5536
|
-
console.log('sectionFormComponent', this.sectionFormComponent);
|
|
5537
5603
|
this.input = {
|
|
5538
5604
|
isReadOnly: this.isReadOnly,
|
|
5539
5605
|
lov: this.lov,
|
|
@@ -5546,42 +5612,46 @@ class FormSectionComponent {
|
|
|
5546
5612
|
.locale('en-US')
|
|
5547
5613
|
.format('DD/MM/YYYY HH:mm:ss');
|
|
5548
5614
|
}
|
|
5549
|
-
this.highlightFlag = this.isOpen;
|
|
5615
|
+
// this.highlightFlag = this.isOpen;
|
|
5550
5616
|
const x = document.querySelectorAll('#collapse' + this.sectionId());
|
|
5551
5617
|
if (x.length > 0) {
|
|
5552
5618
|
this.sectionNumber = x.length;
|
|
5553
5619
|
}
|
|
5554
5620
|
}
|
|
5555
|
-
ngOnChanges() {
|
|
5556
|
-
if (
|
|
5557
|
-
|
|
5558
|
-
|
|
5559
|
-
|
|
5560
|
-
|
|
5561
|
-
|
|
5621
|
+
/* ngOnChanges() {
|
|
5622
|
+
if (
|
|
5623
|
+
this.section.id !== 'requestDetails' &&
|
|
5624
|
+
this.section.id !== 'hrRequestDetails' &&
|
|
5625
|
+
!this.sectionStatusKey &&
|
|
5626
|
+
this.section.body.details.decision &&
|
|
5627
|
+
this.section.body.details.decision.key
|
|
5628
|
+
) {
|
|
5629
|
+
this.sectionStatusKey = this.section.body.details.decision.key;
|
|
5630
|
+
}
|
|
5631
|
+
if (
|
|
5632
|
+
this.section.id !== 'requestDetails' &&
|
|
5633
|
+
this.section.id !== 'hrRequestDetails' &&
|
|
5634
|
+
!this.sectionStatusValue &&
|
|
5635
|
+
this.section.body.details.decision &&
|
|
5636
|
+
this.section.body.details.decision.value
|
|
5637
|
+
) {
|
|
5638
|
+
this.sectionStatusValue = this.section.body.details.decision.value;
|
|
5562
5639
|
}
|
|
5563
|
-
|
|
5564
|
-
|
|
5565
|
-
|
|
5566
|
-
|
|
5567
|
-
this.section.body.details.decision.value) {
|
|
5568
|
-
this.sectionStatusValue = this.section.body.details.decision.value;
|
|
5569
|
-
}
|
|
5570
|
-
}
|
|
5571
|
-
ngAfterViewInit() {
|
|
5572
|
-
this.ServicesSubScriptions();
|
|
5573
|
-
}
|
|
5640
|
+
}*/
|
|
5641
|
+
/* ngAfterViewInit() {
|
|
5642
|
+
this.ServicesSubScriptions();
|
|
5643
|
+
}*/
|
|
5574
5644
|
get isExpanded() {
|
|
5575
5645
|
const isExpandableFromBackend = this.form?.sections?.length && this.form.sections.some(section => 'expandStage' in section?.body?.details);
|
|
5576
5646
|
if (!isExpandableFromBackend)
|
|
5577
5647
|
return true;
|
|
5578
5648
|
return this.section?.body?.details?.expandStage === 'true';
|
|
5579
5649
|
}
|
|
5580
|
-
ServicesSubScriptions() {
|
|
5581
|
-
|
|
5582
|
-
|
|
5583
|
-
|
|
5584
|
-
|
|
5650
|
+
/* public ServicesSubScriptions() {
|
|
5651
|
+
/!* this.profileRequestorService.getForm().subscribe((data) => {
|
|
5652
|
+
this.form = data;
|
|
5653
|
+
});*!/
|
|
5654
|
+
}*/
|
|
5585
5655
|
ngAfterViewChecked() {
|
|
5586
5656
|
this.input = {
|
|
5587
5657
|
isReadOnly: this.isReadOnly,
|
|
@@ -5594,85 +5664,33 @@ class FormSectionComponent {
|
|
|
5594
5664
|
sectionId() {
|
|
5595
5665
|
return this.section.id.split(' ').join('') + this.randomID;
|
|
5596
5666
|
}
|
|
5597
|
-
|
|
5598
|
-
return
|
|
5667
|
+
createUserProfileFromResponse(response) {
|
|
5668
|
+
return new ProfileInfoDrop(false, response?.["Users"][0]?.employeeNumber, response?.["Users"][0]?.email, response?.["Users"][0]?.name, response?.["Users"][0]?.generalDepartment?.name, response?.["Users"][0]?.position?.name, response?.["Users"][0]?.sector?.name, response?.["Users"][0]?.department?.name, response?.["Users"][0]?.generalDepartment?.code, response?.["Users"][0]?.location, response?.["Users"][0]?.nationality?.desc, response?.["Users"][0]?.contact?.mobile, response?.["Users"][0]?.manager?.name, response?.["Users"][0]?.seniorSectorName?.name);
|
|
5599
5669
|
}
|
|
5600
|
-
|
|
5601
|
-
|
|
5602
|
-
|
|
5603
|
-
|
|
5604
|
-
|
|
5605
|
-
status = option.description;
|
|
5606
|
-
}
|
|
5607
|
-
});
|
|
5608
|
-
}
|
|
5609
|
-
return status;
|
|
5670
|
+
openOrCreateUserProfile(userData, personType) {
|
|
5671
|
+
this.sidenavService.data = userData;
|
|
5672
|
+
this.userPopoverInfo = userData;
|
|
5673
|
+
this[personType].profile = userData;
|
|
5674
|
+
this.sidenavService.publish('open', ProfileSectionComponent);
|
|
5610
5675
|
}
|
|
5611
5676
|
toggleSmallProfileInfo(event, personType) {
|
|
5612
5677
|
this.userType = personType;
|
|
5613
5678
|
event.stopPropagation();
|
|
5614
|
-
|
|
5679
|
+
let userInfo = this[personType];
|
|
5615
5680
|
if (userInfo.profile === null) {
|
|
5616
5681
|
this.popoverType = personType;
|
|
5617
|
-
|
|
5618
|
-
|
|
5619
|
-
: this?.section?.header?.delegatedToThumbnail.split('=')[1];
|
|
5620
|
-
/*this.stateMachine
|
|
5621
|
-
.dispatch(Constants.STATE_MACHINE_ACTION_EMPLOYEE_PROFILE, userEmail)
|
|
5622
|
-
.then((response) => {
|
|
5623
|
-
console.log(this, response);
|
|
5624
|
-
|
|
5682
|
+
let userEmail = (personType === 'recipient' ? this.section.header.personToThumbnail.split('=')[1] : this?.section?.header?.delegatedToThumbnail.split('=')[1]);
|
|
5683
|
+
this.coreService.employeeProfile(userEmail).subscribe((response) => {
|
|
5625
5684
|
if (response) {
|
|
5626
|
-
|
|
5627
|
-
|
|
5628
|
-
top: 10,
|
|
5629
|
-
left:
|
|
5630
|
-
event.target.getBoundingClientRect().left +
|
|
5631
|
-
event.target.getBoundingClientRect().width / 4
|
|
5632
|
-
};
|
|
5633
|
-
this.popover.anchor = event.target;
|
|
5634
|
-
this.popover.open();
|
|
5635
|
-
this.userPopoverInfo = response;
|
|
5685
|
+
let userData = this.createUserProfileFromResponse(response);
|
|
5686
|
+
this.openOrCreateUserProfile(userData, personType);
|
|
5636
5687
|
}
|
|
5637
|
-
|
|
5638
|
-
}
|
|
5639
|
-
else {
|
|
5640
|
-
this.userPopoverInfo = this[personType].profile;
|
|
5641
|
-
this.popoverPosition = {
|
|
5642
|
-
top: 10,
|
|
5643
|
-
left: event.target.getBoundingClientRect().left +
|
|
5644
|
-
event.target.getBoundingClientRect().width / 4
|
|
5645
|
-
};
|
|
5646
|
-
this.popover.anchor = event.target;
|
|
5647
|
-
this.popover.open();
|
|
5648
|
-
}
|
|
5649
|
-
}
|
|
5650
|
-
statusIconClass(status, type) {
|
|
5651
|
-
if (status) {
|
|
5652
|
-
if (status === FORM_STATUS_REJECTED ||
|
|
5653
|
-
status === FORM_STATUS_CANCELLED ||
|
|
5654
|
-
status.toLowerCase() === 'reject' ||
|
|
5655
|
-
status.toLowerCase() === 'unsatisfied' ||
|
|
5656
|
-
status.toLowerCase().includes('deny') ||
|
|
5657
|
-
status.toLowerCase().includes('reject') ||
|
|
5658
|
-
status.toLowerCase() === 'cancel') {
|
|
5659
|
-
return type === 'status?' ? 'danger' : 'close';
|
|
5660
|
-
}
|
|
5661
|
-
else if (status === FORM_STATUS_PENDING ||
|
|
5662
|
-
status.toLowerCase() === 'pending') {
|
|
5663
|
-
return type === 'status?' ? 'warning' : 'clock';
|
|
5664
|
-
}
|
|
5665
|
-
else {
|
|
5666
|
-
return type === 'status?' ? 'success' : 'check';
|
|
5667
|
-
}
|
|
5688
|
+
});
|
|
5668
5689
|
}
|
|
5669
5690
|
else {
|
|
5670
|
-
|
|
5691
|
+
this.openOrCreateUserProfile(this[personType].profile, personType);
|
|
5671
5692
|
}
|
|
5672
5693
|
}
|
|
5673
|
-
locationHref(hrefLink) {
|
|
5674
|
-
window.location.href = hrefLink;
|
|
5675
|
-
}
|
|
5676
5694
|
statusClass(status) {
|
|
5677
5695
|
if (status) {
|
|
5678
5696
|
if (status === FORM_STATUS_REJECTED || status === FORM_STATUS_CANCELLED
|
|
@@ -5707,8 +5725,8 @@ class FormSectionComponent {
|
|
|
5707
5725
|
return 'check';
|
|
5708
5726
|
}
|
|
5709
5727
|
}
|
|
5710
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: FormSectionComponent, deps: [{ token: CoreI18nService }], target: i0.ɵɵFactoryTarget.Component });
|
|
5711
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: FormSectionComponent, isStandalone: true, selector: "app-form-section", inputs: { requestDetails: "requestDetails", section: "section", form: "form", lov: "lov", isReadOnly: "isReadOnly", isOpen: "isOpen", isFinalApproval: "isFinalApproval", controllers: "controllers", segmentDynamicLoaderService: "segmentDynamicLoaderService", sectionFormComponent: "sectionFormComponent", sectionName: "sectionName" }, viewQueries: [{ propertyName: "popover", first: true, predicate: ["popover"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<!-- <div class=\"panel-heading\" role=\"button\" [id]=\"sectionId()\" *ngIf=\"showHeader()\"> -->\r\n<mat-expansion-panel\r\n class=\"mb-4\" [expanded]=\"isExpanded\" *ngIf=\"form?.header?.status?.['key'] !== 'NEW' \" hideToggle\r\n #approvalPanel=\"matExpansionPanel\">\r\n <mat-expansion-panel-header>\r\n\r\n <div class=\"approval-panel-container\">\r\n <div class=\"d-flex gap-2 flex-grow-1 approval-panel-title\">\r\n <ds-status\r\n status=\"{{statusIconClass(sectionStatusKey,'status')}}\" no-opacity icon\r\n class=\"circle-status d-none d-sm-inline-block\">\r\n <ds-icon icon=\"{{statusIconClass(sectionStatusKey,'icon')}}\"></ds-icon>\r\n </ds-status>\r\n <div class=\"d-flex flex-column flex-grow-1\">\r\n <span class=\"fs-16 fw-medium m-0\"> {{ sectionName }}</span>\r\n <bdi class=\"fs-12 fc-dark-gray fw-normal line-height-1 d-block\" *ngIf=\"section.header?.processedBy\">\r\n {{ processingDate }}\r\n </bdi>\r\n </div>\r\n </div>\r\n <div class=\"approval-panel-details gap-1\">\r\n <ng-container *ngIf=\"(!section?.body?.details?.stage0?.isStage0 || section?.body?.details?.stage0?.isStage0 === 'false')\">\r\n <div\r\n class=\"d-flex align-items-center gap-3\" *ngIf=\"section?.header?.personTo\"\r\n (click)=\"$event.stopImmediatePropagation();\">\r\n <div\r\n (click)=\"toggleSmallProfileInfo($event, 'receipient')\"\r\n class=\"d-flex align-items-center gap-2 radius-3 h-40\"\r\n [ngClass]=\"{'user-avatar-name px-0 px-md-2': !section?.header?.delegatedTo, 'p-0': section?.header?.delegatedTo}\">\r\n <ds-avatar image=\"{{section?.header?.personToThumbnail}}\" size=\"small\" class=\"user-avatar\"></ds-avatar>\r\n <span\r\n class=\"fs-14 fw-medium d-inline-block panel-user-name text-truncate\"\r\n [ngClass]=\"{'panel-ueser-only': !section?.header?.delegatedTo}\"\r\n *ngIf=\"!section?.header?.delegatedTo\">{{ section?.header?.personTo }}</span>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"section?.header?.delegatedTo\" class=\"d-flex align-items-center gap-3\"\r\n (click)=\"toggleSmallProfileInfo($event, 'delegate')\">\r\n <img\r\n class=\"rotate-arrow\"\r\n src=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMSIgaGVpZ2h0PSIxMyIgdmlld0JveD0iMCAwIDIxIDEzIj48cGF0aCBkPSJNMjEsNy43NjNhMS42MjEsMS42MjEsMCwwLDEtLjQ0Ny41OTMsMS4zMDYsMS4zMDYsMCwwLDEtLjc1LjE5NGMtNy4yODQsMC04LjU2OCwwLTE1Ljg1MywwSDMuNjY5TDMuNjMsOC42Yy4wNzcuMDY0LjE1OC4xMjQuMjI5LjE5NHExLjcxLDEuNjksMy40MiwzLjM4MWExLjAyMywxLjAyMywwLDAsMSwuMjkxLDEuMDc5Ljk5Mi45OTIsMCwwLDEtLjguNzE5LDEuMDUzLDEuMDUzLDAsMCwxLTEtLjMzMVEzLjgzMSwxMS43MTksMS44ODYsOS44Yy0uNDQyLS40MzctLjg3OS0uODgxLTEuMzMtMS4zMDlBNC41NzIsNC41NzIsMCwwLDEsMCw3LjgxNFY3LjE4NUEzMC43ODMsMzAuNzgzLDAsMCwxLDIuNzMsNC4zNzFjMS0xLjAyNywyLjAzOC0yLjAyNSwzLjA2My0zLjAzMkExLjA0OSwxLjA0OSwwLDEsMSw3LjI3NywyLjgyQzYuNCwzLjcsNS41MDksNC41Nyw0LjYyNSw1LjQ0NmMtLjMyMy4zMjEtLjY0NC42NDUtLjk3My45NzYuMDg0LjA1OS4xODEuMDI3LjI3LjAyNyw3LjI1OCwwLDguNTE2LDAsMTUuNzc1LDBBMS4xMjksMS4xMjksMCwwLDEsMjEsNy4yOXYuNDcyWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAtMC45OTkpIiBmaWxsPSIjYTU0ZWUxIi8+PC9zdmc+\"\r\n alt=\"\" />\r\n <div class=\"d-flex align-items-center gap-2 px-0 px-md-2 radius-3 user-avatar-name h-40\">\r\n <ds-avatar image=\"{{section?.header?.delegatedToThumbnail}}\" size=\"small\" class=\"user-avatar\"></ds-avatar>\r\n <span\r\n class=\"fs-14 fw-medium d-inline-block panel-user-name text-truncate\">{{ section?.header?.delegatedTo }}</span>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n <ds-status\r\n class=\"main-status\" *ngIf=\"section?.body?.details?.decision?.key\"\r\n status=\"{{statusIconClass(sectionStatusKey,'status')}}\">{{ sectionStatusValue }}\r\n </ds-status>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"approval-panel-toggle\">\r\n <ds-icon icon=\"plus-1\" class=\"fs-20 fc-coral\" *ngIf=\"!approvalPanel.expanded\"></ds-icon>\r\n\r\n <ds-icon icon=\"minus\" class=\"fs-20 fc-dark-gray\" *ngIf=\"approvalPanel.expanded\"></ds-icon>\r\n </div>\r\n\r\n </div>\r\n </mat-expansion-panel-header>\r\n\r\n <section class=\"border-top pt-4\">\r\n <ng-container *ngComponentOutlet=\"sectionFormComponent; ndcDynamicInputs: input\"></ng-container>\r\n </section>\r\n\r\n</mat-expansion-panel>\r\n<ng-container *ngIf=\"form?.header?.status?.['key'] === 'NEW' \">\r\n <ng-container *ngComponentOutlet=\"sectionFormComponent; ndcDynamicInputs: input\"></ng-container>\r\n</ng-container>\r\n\r\n<sat-popover #popover [hasBackdrop]=\"true\" horizontalAlign=\"center\" verticalAlign=\"above\">\r\n <div class=\"delegate-info-popup\">\r\n <ds-avatar *ngIf=\"userType === 'receipient'\" image=\"{{section?.header?.personToThumbnail}}\" size=\"small\"></ds-avatar>\r\n <ds-avatar *ngIf=\"userType === 'delegate'\" image=\"{{section?.header?.delegatedToThumbnail}}\" size=\"small\"></ds-avatar>\r\n <div class=\"delegate-info mx-0\">\r\n <div class=\"fs-16 fw-medium fc-black mb-0\">{{ userPopoverInfo?.name }}</div>\r\n <div class=\"fs-12 fw-normal fc-black mb-2\">{{ userPopoverInfo?.job?.name }}</div>\r\n <div class=\"user-info fc-black fs-10 mb-1\">\r\n <ds-icon icon=\"phone\" class=\"fs-18 fc-dark-gray\"></ds-icon>\r\n <bdi (click)=\"locationHref('tel:'+ userPopoverInfo?.contact?.work)\">{{ userPopoverInfo?.contact?.work }}</bdi>\r\n </div>\r\n <div class=\"user-info fc-black fs-10 mb-1\">\r\n <ds-icon icon=\"phone\" class=\"fs-18 fc-dark-gray\"></ds-icon>\r\n <bdi (click)=\"locationHref('tel:'+ userPopoverInfo?.contact?.mobile)\">{{ userPopoverInfo?.contact?.mobile }}</bdi>\r\n </div>\r\n <div class=\"user-info fc-black fs-10 mb-1\">\r\n <ds-icon icon=\"mail-o\" class=\"fs-18 fc-dark-gray\"></ds-icon>\r\n <span (click)=\"locationHref('mailto:'+ userPopoverInfo?.email)\">{{ userPopoverInfo?.email }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n</sat-popover>\r\n", styles: [":host ::ng-deep .mat-expansion-panel-content{background:#fff!important}:host .mat-expansion-panel-content{background:#fff!important}:host .approval-panel-container{display:grid;grid-template-columns:40% calc(60% - 45px) 20px;grid-template-areas:\"title details toggle\";gap:.75rem;place-content:space-between;align-items:center;flex-grow:1;width:100%}@media (max-width: 991px){:host .approval-panel-container{grid-template-columns:calc(100% - 45px) 20px;grid-template-areas:\"title toggle\" \"details details\"}}:host .approval-panel-container .approval-panel-title{grid-area:title}:host .approval-panel-container .panel-user-name{max-width:120px}@media (max-width: 768px){:host .approval-panel-container .panel-user-name.panel-ueser-only{max-width:140px}:host .approval-panel-container .panel-user-name:not(.panel-ueser-only){max-width:90px}}:host .approval-panel-container .approval-panel-details{display:flex;align-items:center;justify-content:space-between;grid-area:details}:host .approval-panel-container .approval-panel-toggle{grid-area:toggle;display:flex;align-items:center;justify-content:center;width:20px}:host ::ng-deep ds-avatar.user-avatar .avatar{--default-size: 25px}@media (min-width: 768px){:host ::ng-deep ds-avatar.user-avatar .avatar{--default-size: 31px;--avatar-border: 3px solid var(--light-gray)}}@media (min-width: 768px){:host ::ng-deep .user-avatar-name{padding-inline-end:1rem!important}}:host .circle-status::part(base){--status-radius: 50%;--status-size: 18px;--status-fs: 80% }:host .panel-title{min-width:40%;width:40%}@media (max-width: 576px){:host .panel-title{min-width:100%!important;width:100%!important}}:host .panel-user-status{min-width:60%;width:60%;display:flex;align-items:center;justify-content:space-between}@media (max-width: 576px){:host .panel-user-status{min-width:100%!important;width:100%!important}:host .panel-user-status .user-delegate{min-width:auto}:host .panel-user-status .main-status::part(base){--status-width: 50px}}\n"], dependencies: [{ kind: "ngmodule", type: MatExpansionModule }, { kind: "component", type: i2$1.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i2$1.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: ComponentOutletIoDirective, selector: "[ngComponentOutletNdcDynamicInputs],[ngComponentOutletNdcDynamicOutputs]", inputs: ["ngComponentOutletNdcDynamicInputs", "ngComponentOutletNdcDynamicOutputs"], exportAs: ["ndcDynamicIo"] }, { kind: "ngmodule", type: SatPopoverModule }, { kind: "component", type: i1$3.SatPopoverComponent, selector: "sat-popover", inputs: ["anchor", "horizontalAlign", "xAlign", "verticalAlign", "yAlign", "forceAlignment", "lockAlignment", "autoFocus", "restoreFocus", "scrollStrategy", "hasBackdrop", "interactiveClose", "openTransition", "closeTransition", "openAnimationStartAtScale", "closeAnimationEndAtScale", "backdropClass", "panelClass"], outputs: ["opened", "closed", "afterOpen", "afterClose", "backdropClicked", "overlayKeydown"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
5728
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: FormSectionComponent, deps: [{ token: CoreI18nService }, { token: CoreService }, { token: SidenavService }], target: i0.ɵɵFactoryTarget.Component });
|
|
5729
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: FormSectionComponent, isStandalone: true, selector: "app-form-section", inputs: { requestDetails: "requestDetails", section: "section", form: "form", lov: "lov", isReadOnly: "isReadOnly", controllers: "controllers", segmentDynamicLoaderService: "segmentDynamicLoaderService", sectionFormComponent: "sectionFormComponent", sectionName: "sectionName" }, ngImport: i0, template: "<mat-expansion-panel\r\n class=\"mb-4\" [expanded]=\"isExpanded\" *ngIf=\"form?.header?.status?.['key'] !== 'NEW' \" hideToggle\r\n #approvalPanel=\"matExpansionPanel\">\r\n <mat-expansion-panel-header>\r\n\r\n <div class=\"approval-panel-container\">\r\n <div class=\"d-flex gap-2 flex-grow-1 approval-panel-title\">\r\n <ds-status\r\n status=\"{{statusClass(sectionStatusKey)}}\" no-opacity icon\r\n class=\"circle-status d-none d-sm-inline-block\">\r\n <ds-icon icon=\"{{statusIcon(sectionStatusKey)}}\"></ds-icon>\r\n </ds-status>\r\n <div class=\"d-flex flex-column flex-grow-1\">\r\n <span class=\"fs-16 fw-medium m-0\"> {{ sectionName }}</span>\r\n <bdi class=\"fs-12 fc-dark-gray fw-normal line-height-1 d-block mt-1\" *ngIf=\"section.header?.processedBy\">\r\n {{ processingDate }}\r\n </bdi>\r\n </div>\r\n </div>\r\n <div class=\"approval-panel-details gap-1\">\r\n\r\n <ng-container *ngIf=\"(!section?.body?.details?.['stage0']?.['isStage0'] || section?.body?.details?.['stage0']?.['isStage0'] === 'false')\">\r\n <div\r\n class=\"d-flex align-items-center gap-3\" *ngIf=\"section?.header?.personTo;\"\r\n (click)=\"$event.stopImmediatePropagation();\">\r\n <div\r\n (click)=\"toggleSmallProfileInfo($event, 'recipient')\"\r\n class=\"d-flex align-items-center gap-2 radius-3 h-40\"\r\n [ngClass]=\"{'user-avatar-name px-0 px-md-2': !section?.header?.delegatedTo, 'p-0': section?.header?.delegatedTo}\">\r\n <ds-avatar image=\"{{section?.header?.personToThumbnail}}\" size=\"small\" class=\"user-avatar\"></ds-avatar>\r\n <span\r\n class=\"fs-14 fw-medium d-inline-block panel-user-name text-truncate\" [ngClass]=\"{'panel-user-only': !section?.header?.delegatedTo}\"\r\n *ngIf=\"!section?.header?.delegatedTo\">{{ section?.header?.personTo }}</span>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"section?.header?.delegatedTo\" class=\"d-flex align-items-center gap-3\"\r\n (click)=\"toggleSmallProfileInfo($event, 'delegate')\">\r\n <img\r\n class=\"rotate-arrow\"\r\n alt=\"\"\r\n src=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMSIgaGVpZ2h0PSIxMyIgdmlld0JveD0iMCAwIDIxIDEzIj48cGF0aCBkPSJNMjEsNy43NjNhMS42MjEsMS42MjEsMCwwLDEtLjQ0Ny41OTMsMS4zMDYsMS4zMDYsMCwwLDEtLjc1LjE5NGMtNy4yODQsMC04LjU2OCwwLTE1Ljg1MywwSDMuNjY5TDMuNjMsOC42Yy4wNzcuMDY0LjE1OC4xMjQuMjI5LjE5NHExLjcxLDEuNjksMy40MiwzLjM4MWExLjAyMywxLjAyMywwLDAsMSwuMjkxLDEuMDc5Ljk5Mi45OTIsMCwwLDEtLjguNzE5LDEuMDUzLDEuMDUzLDAsMCwxLTEtLjMzMVEzLjgzMSwxMS43MTksMS44ODYsOS44Yy0uNDQyLS40MzctLjg3OS0uODgxLTEuMzMtMS4zMDlBNC41NzIsNC41NzIsMCwwLDEsMCw3LjgxNFY3LjE4NUEzMC43ODMsMzAuNzgzLDAsMCwxLDIuNzMsNC4zNzFjMS0xLjAyNywyLjAzOC0yLjAyNSwzLjA2My0zLjAzMkExLjA0OSwxLjA0OSwwLDEsMSw3LjI3NywyLjgyQzYuNCwzLjcsNS41MDksNC41Nyw0LjYyNSw1LjQ0NmMtLjMyMy4zMjEtLjY0NC42NDUtLjk3My45NzYuMDg0LjA1OS4xODEuMDI3LjI3LjAyNyw3LjI1OCwwLDguNTE2LDAsMTUuNzc1LDBBMS4xMjksMS4xMjksMCwwLDEsMjEsNy4yOXYuNDcyWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAtMC45OTkpIiBmaWxsPSIjYTU0ZWUxIi8+PC9zdmc+\"/>\r\n <div class=\"d-flex align-items-center gap-2 px-0 px-md-2 radius-3 user-avatar-name h-40\">\r\n <ds-avatar image=\"{{section?.header?.delegatedToThumbnail}}\" size=\"small\" class=\"user-avatar\"></ds-avatar>\r\n <span\r\n class=\"fs-14 fw-medium d-inline-block panel-user-name text-truncate\">{{ section?.header?.delegatedTo }}</span>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ds-status\r\n class=\"main-status\" *ngIf=\"section?.body?.details?.['decision']?.key;\"\r\n status=\"{{statusClass(section?.body?.details?.['decision']?.key)}}\">{{ section?.body?.details?.['decision']?.value }}\r\n </ds-status>\r\n </div>\r\n\r\n <div class=\"approval-panel-toggle\">\r\n <ds-icon icon=\"plus-1\" class=\"fs-20 fc-coral\" *ngIf=\"!approvalPanel.expanded\"></ds-icon>\r\n <ds-icon icon=\"minus\" class=\"fs-20 fc-dark-gray\" *ngIf=\"approvalPanel.expanded\"></ds-icon>\r\n </div>\r\n\r\n </div>\r\n </mat-expansion-panel-header>\r\n <section class=\"border-top pt-4\">\r\n <ng-container *ngComponentOutlet=\"sectionFormComponent; ndcDynamicInputs: input\"></ng-container>\r\n </section>\r\n\r\n</mat-expansion-panel>\r\n<ng-container *ngIf=\"form?.header?.status?.['key'] == 'NEW' \">\r\n <ng-container *ngComponentOutlet=\"sectionFormComponent; ndcDynamicInputs: input\"></ng-container>\r\n</ng-container>\r\n", styles: [":host ::ng-deep .mat-expansion-panel-content{background:#fff!important}:host .mat-expansion-panel-content{background:#fff!important}:host .approval-panel-container{display:grid;grid-template-columns:40% calc(60% - 45px) 20px;grid-template-areas:\"title details toggle\";gap:.75rem;place-content:space-between;align-items:center;flex-grow:1;width:100%}@media (max-width: 991px){:host .approval-panel-container{grid-template-columns:calc(100% - 45px) 20px;grid-template-areas:\"title toggle\" \"details details\"}}:host .approval-panel-container .approval-panel-title{grid-area:title}:host .approval-panel-container .panel-user-name{max-width:120px}@media (max-width: 768px){:host .approval-panel-container .panel-user-name.panel-ueser-only{max-width:140px}:host .approval-panel-container .panel-user-name:not(.panel-ueser-only){max-width:90px}}:host .approval-panel-container .approval-panel-details{display:flex;align-items:center;justify-content:space-between;grid-area:details}:host .approval-panel-container .approval-panel-toggle{grid-area:toggle;display:flex;align-items:center;justify-content:center;width:20px}:host ::ng-deep ds-avatar.user-avatar .avatar{--default-size: 25px}@media (min-width: 768px){:host ::ng-deep ds-avatar.user-avatar .avatar{--default-size: 31px;--avatar-border: 3px solid var(--light-gray)}}@media (min-width: 768px){:host ::ng-deep .user-avatar-name{padding-inline-end:1rem!important}}:host .circle-status::part(base){--status-radius: 50%;--status-size: 18px;--status-fs: 80% }:host .panel-title{min-width:40%;width:40%}@media (max-width: 576px){:host .panel-title{min-width:100%!important;width:100%!important}}:host .panel-user-status{min-width:60%;width:60%;display:flex;align-items:center;justify-content:space-between}@media (max-width: 576px){:host .panel-user-status{min-width:100%!important;width:100%!important}:host .panel-user-status .user-delegate{min-width:auto}:host .panel-user-status .main-status::part(base){--status-width: 50px}}\n"], dependencies: [{ kind: "ngmodule", type: MatExpansionModule }, { kind: "component", type: i2$1.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i2$1.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: ComponentOutletIoDirective, selector: "[ngComponentOutletNdcDynamicInputs],[ngComponentOutletNdcDynamicOutputs]", inputs: ["ngComponentOutletNdcDynamicInputs", "ngComponentOutletNdcDynamicOutputs"], exportAs: ["ndcDynamicIo"] }, { kind: "ngmodule", type: SatPopoverModule }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: DynamicModule }, { kind: "directive", type: i3.ComponentOutletInjectorDirective, selector: "[ngComponentOutlet]", exportAs: ["ndcComponentOutletInjector"] }] });
|
|
5712
5730
|
}
|
|
5713
5731
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: FormSectionComponent, decorators: [{
|
|
5714
5732
|
type: Component,
|
|
@@ -5719,12 +5737,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
5719
5737
|
NgComponentOutlet,
|
|
5720
5738
|
ComponentOutletIoDirective,
|
|
5721
5739
|
SatPopoverModule,
|
|
5722
|
-
NgClass
|
|
5723
|
-
|
|
5724
|
-
|
|
5725
|
-
|
|
5726
|
-
args: ['popover']
|
|
5727
|
-
}], requestDetails: [{
|
|
5740
|
+
NgClass,
|
|
5741
|
+
DynamicModule
|
|
5742
|
+
], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<mat-expansion-panel\r\n class=\"mb-4\" [expanded]=\"isExpanded\" *ngIf=\"form?.header?.status?.['key'] !== 'NEW' \" hideToggle\r\n #approvalPanel=\"matExpansionPanel\">\r\n <mat-expansion-panel-header>\r\n\r\n <div class=\"approval-panel-container\">\r\n <div class=\"d-flex gap-2 flex-grow-1 approval-panel-title\">\r\n <ds-status\r\n status=\"{{statusClass(sectionStatusKey)}}\" no-opacity icon\r\n class=\"circle-status d-none d-sm-inline-block\">\r\n <ds-icon icon=\"{{statusIcon(sectionStatusKey)}}\"></ds-icon>\r\n </ds-status>\r\n <div class=\"d-flex flex-column flex-grow-1\">\r\n <span class=\"fs-16 fw-medium m-0\"> {{ sectionName }}</span>\r\n <bdi class=\"fs-12 fc-dark-gray fw-normal line-height-1 d-block mt-1\" *ngIf=\"section.header?.processedBy\">\r\n {{ processingDate }}\r\n </bdi>\r\n </div>\r\n </div>\r\n <div class=\"approval-panel-details gap-1\">\r\n\r\n <ng-container *ngIf=\"(!section?.body?.details?.['stage0']?.['isStage0'] || section?.body?.details?.['stage0']?.['isStage0'] === 'false')\">\r\n <div\r\n class=\"d-flex align-items-center gap-3\" *ngIf=\"section?.header?.personTo;\"\r\n (click)=\"$event.stopImmediatePropagation();\">\r\n <div\r\n (click)=\"toggleSmallProfileInfo($event, 'recipient')\"\r\n class=\"d-flex align-items-center gap-2 radius-3 h-40\"\r\n [ngClass]=\"{'user-avatar-name px-0 px-md-2': !section?.header?.delegatedTo, 'p-0': section?.header?.delegatedTo}\">\r\n <ds-avatar image=\"{{section?.header?.personToThumbnail}}\" size=\"small\" class=\"user-avatar\"></ds-avatar>\r\n <span\r\n class=\"fs-14 fw-medium d-inline-block panel-user-name text-truncate\" [ngClass]=\"{'panel-user-only': !section?.header?.delegatedTo}\"\r\n *ngIf=\"!section?.header?.delegatedTo\">{{ section?.header?.personTo }}</span>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"section?.header?.delegatedTo\" class=\"d-flex align-items-center gap-3\"\r\n (click)=\"toggleSmallProfileInfo($event, 'delegate')\">\r\n <img\r\n class=\"rotate-arrow\"\r\n alt=\"\"\r\n src=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMSIgaGVpZ2h0PSIxMyIgdmlld0JveD0iMCAwIDIxIDEzIj48cGF0aCBkPSJNMjEsNy43NjNhMS42MjEsMS42MjEsMCwwLDEtLjQ0Ny41OTMsMS4zMDYsMS4zMDYsMCwwLDEtLjc1LjE5NGMtNy4yODQsMC04LjU2OCwwLTE1Ljg1MywwSDMuNjY5TDMuNjMsOC42Yy4wNzcuMDY0LjE1OC4xMjQuMjI5LjE5NHExLjcxLDEuNjksMy40MiwzLjM4MWExLjAyMywxLjAyMywwLDAsMSwuMjkxLDEuMDc5Ljk5Mi45OTIsMCwwLDEtLjguNzE5LDEuMDUzLDEuMDUzLDAsMCwxLTEtLjMzMVEzLjgzMSwxMS43MTksMS44ODYsOS44Yy0uNDQyLS40MzctLjg3OS0uODgxLTEuMzMtMS4zMDlBNC41NzIsNC41NzIsMCwwLDEsMCw3LjgxNFY3LjE4NUEzMC43ODMsMzAuNzgzLDAsMCwxLDIuNzMsNC4zNzFjMS0xLjAyNywyLjAzOC0yLjAyNSwzLjA2My0zLjAzMkExLjA0OSwxLjA0OSwwLDEsMSw3LjI3NywyLjgyQzYuNCwzLjcsNS41MDksNC41Nyw0LjYyNSw1LjQ0NmMtLjMyMy4zMjEtLjY0NC42NDUtLjk3My45NzYuMDg0LjA1OS4xODEuMDI3LjI3LjAyNyw3LjI1OCwwLDguNTE2LDAsMTUuNzc1LDBBMS4xMjksMS4xMjksMCwwLDEsMjEsNy4yOXYuNDcyWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAtMC45OTkpIiBmaWxsPSIjYTU0ZWUxIi8+PC9zdmc+\"/>\r\n <div class=\"d-flex align-items-center gap-2 px-0 px-md-2 radius-3 user-avatar-name h-40\">\r\n <ds-avatar image=\"{{section?.header?.delegatedToThumbnail}}\" size=\"small\" class=\"user-avatar\"></ds-avatar>\r\n <span\r\n class=\"fs-14 fw-medium d-inline-block panel-user-name text-truncate\">{{ section?.header?.delegatedTo }}</span>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ds-status\r\n class=\"main-status\" *ngIf=\"section?.body?.details?.['decision']?.key;\"\r\n status=\"{{statusClass(section?.body?.details?.['decision']?.key)}}\">{{ section?.body?.details?.['decision']?.value }}\r\n </ds-status>\r\n </div>\r\n\r\n <div class=\"approval-panel-toggle\">\r\n <ds-icon icon=\"plus-1\" class=\"fs-20 fc-coral\" *ngIf=\"!approvalPanel.expanded\"></ds-icon>\r\n <ds-icon icon=\"minus\" class=\"fs-20 fc-dark-gray\" *ngIf=\"approvalPanel.expanded\"></ds-icon>\r\n </div>\r\n\r\n </div>\r\n </mat-expansion-panel-header>\r\n <section class=\"border-top pt-4\">\r\n <ng-container *ngComponentOutlet=\"sectionFormComponent; ndcDynamicInputs: input\"></ng-container>\r\n </section>\r\n\r\n</mat-expansion-panel>\r\n<ng-container *ngIf=\"form?.header?.status?.['key'] == 'NEW' \">\r\n <ng-container *ngComponentOutlet=\"sectionFormComponent; ndcDynamicInputs: input\"></ng-container>\r\n</ng-container>\r\n", styles: [":host ::ng-deep .mat-expansion-panel-content{background:#fff!important}:host .mat-expansion-panel-content{background:#fff!important}:host .approval-panel-container{display:grid;grid-template-columns:40% calc(60% - 45px) 20px;grid-template-areas:\"title details toggle\";gap:.75rem;place-content:space-between;align-items:center;flex-grow:1;width:100%}@media (max-width: 991px){:host .approval-panel-container{grid-template-columns:calc(100% - 45px) 20px;grid-template-areas:\"title toggle\" \"details details\"}}:host .approval-panel-container .approval-panel-title{grid-area:title}:host .approval-panel-container .panel-user-name{max-width:120px}@media (max-width: 768px){:host .approval-panel-container .panel-user-name.panel-ueser-only{max-width:140px}:host .approval-panel-container .panel-user-name:not(.panel-ueser-only){max-width:90px}}:host .approval-panel-container .approval-panel-details{display:flex;align-items:center;justify-content:space-between;grid-area:details}:host .approval-panel-container .approval-panel-toggle{grid-area:toggle;display:flex;align-items:center;justify-content:center;width:20px}:host ::ng-deep ds-avatar.user-avatar .avatar{--default-size: 25px}@media (min-width: 768px){:host ::ng-deep ds-avatar.user-avatar .avatar{--default-size: 31px;--avatar-border: 3px solid var(--light-gray)}}@media (min-width: 768px){:host ::ng-deep .user-avatar-name{padding-inline-end:1rem!important}}:host .circle-status::part(base){--status-radius: 50%;--status-size: 18px;--status-fs: 80% }:host .panel-title{min-width:40%;width:40%}@media (max-width: 576px){:host .panel-title{min-width:100%!important;width:100%!important}}:host .panel-user-status{min-width:60%;width:60%;display:flex;align-items:center;justify-content:space-between}@media (max-width: 576px){:host .panel-user-status{min-width:100%!important;width:100%!important}:host .panel-user-status .user-delegate{min-width:auto}:host .panel-user-status .main-status::part(base){--status-width: 50px}}\n"] }]
|
|
5743
|
+
}], ctorParameters: () => [{ type: CoreI18nService }, { type: CoreService }, { type: SidenavService }], propDecorators: { requestDetails: [{
|
|
5728
5744
|
type: Input
|
|
5729
5745
|
}], section: [{
|
|
5730
5746
|
type: Input
|
|
@@ -5734,10 +5750,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
5734
5750
|
type: Input
|
|
5735
5751
|
}], isReadOnly: [{
|
|
5736
5752
|
type: Input
|
|
5737
|
-
}], isOpen: [{
|
|
5738
|
-
type: Input
|
|
5739
|
-
}], isFinalApproval: [{
|
|
5740
|
-
type: Input
|
|
5741
5753
|
}], controllers: [{
|
|
5742
5754
|
type: Input
|
|
5743
5755
|
}], segmentDynamicLoaderService: [{
|
|
@@ -5891,7 +5903,7 @@ class WorkflowSectionComponent {
|
|
|
5891
5903
|
});
|
|
5892
5904
|
}
|
|
5893
5905
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: WorkflowSectionComponent, deps: [{ token: CoreI18nService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
5894
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: WorkflowSectionComponent, isStandalone: true, selector: "app-workflow-section", inputs: { sections: "sections", isReadOnly: "isReadOnly", isLoading: "isLoading", form: "form", contentClass: "contentClass", sectionsController: "sectionsController", segmentDynamicLoaderService: "segmentDynamicLoaderService", sectionFormComponent: "sectionFormComponent", sectionName: "sectionName" }, outputs: { sectionSubmitted: "sectionSubmitted" }, viewQueries: [{ propertyName: "formStateObject", first: true, predicate: ["f"], descendants: true }], ngImport: i0, template: "<form #f=\"ngForm\" autocomplete=\"off\">\r\n <div *ngIf=\"form?.header?.status?.key !== 'NEW' \" class=\"mt-n3\" id=\"accordion\" role=\"tablist\"\r\n aria-multiselectable=\"true\">\r\n <app-main-request-details [lov]=\"form?.lovs\" [form]=\"form\" [section]=\"form?.sections[0]\">\r\n <ng-container *ngTemplateOutlet=\"contentReqDet\"></ng-container>\r\n </app-main-request-details>\r\n <header class=\"header-line fs-12 fw-medium fc-dark-gray mt-sm-5 mt-4 mb-4\" *ngIf=\"form?.sections.length > 1\">\r\n {{i18n.translate('Approvals')}}\r\n </header>\r\n <mat-accordion class=\"primary-accordion main-approval\">\r\n <ng-container *ngFor=\"let section of form?.sections; let i = index\">\r\n <app-form-section *ngIf=\"i !== 0\" class=\"app-form-section\" [segmentDynamicLoaderService]=\"segmentDynamicLoaderService\" [section]=section [lov]=\"form?.lovs\"\r\n [isReadOnly]=\"section.header.readOnly\" [form]=\"form\" [controllers]=\"sectionsController\">\r\n </app-form-section>\r\n </ng-container>\r\n </mat-accordion>\r\n </div>\r\n\r\n <section *ngIf=\"form?.header?.status?.key === 'NEW' \" class=\"default-box box-shadow p-4\">\r\n <ng-container *ngTemplateOutlet=\"contentReqDet\"></ng-container>\r\n </section>\r\n\r\n</form>\r\n\r\n\r\n<ng-template #contentReqDet><ng-content></ng-content></ng-template>\r\n", styles: ["@charset \"UTF-8\";.primary-accordion{--accordion-height: auto;--indicator-bc: transparent;--indicator-bc-active: transparent;--indicator-icon: \"\\e9bc\";--indicator-icon-active: \"\\ea34\";--indicator-color: var(--coral);--indicator-color-active: var(--dark-gray);--accordion-radius: 4px;--accordion-border-active: 1px solid var(--gray);--accordion-shadow: 0 7px 10px 0 rgba(var(--rgb-black), 3%);--accordion-shadow-active: none;--panel-padding: 1.5rem;--panel-body-padding: 0 1.5rem 1.5rem}@media (max-width: 576px){.primary-accordion{--accordion-height: 110px;--panel-padding: 1.5rem 1rem;--panel-body-padding: 0 1rem 1rem}}.primary-accordion.main-approval{position:relative}.primary-accordion.main-approval:before{content:\"\";position:absolute;top:0;bottom:0;margin:2rem;width:1px;height:calc(100% - 2rem);background-color:var(--dark-gray);z-index:0}@media (max-width: 576px){.workflow-all-btns ds-button::part(base){--btn-padding: 0 .5rem;--btn-fs: .75rem;--btn-height: var(--default-size-sm);--btn-min-width: var(--default-size-sm)}}\n"], dependencies: [{ kind: "directive", type: MatAccordion, selector: "mat-accordion", inputs: ["hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FormSectionComponent, selector: "app-form-section", inputs: ["requestDetails", "section", "form", "lov", "isReadOnly", "
|
|
5906
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: WorkflowSectionComponent, isStandalone: true, selector: "app-workflow-section", inputs: { sections: "sections", isReadOnly: "isReadOnly", isLoading: "isLoading", form: "form", contentClass: "contentClass", sectionsController: "sectionsController", segmentDynamicLoaderService: "segmentDynamicLoaderService", sectionFormComponent: "sectionFormComponent", sectionName: "sectionName" }, outputs: { sectionSubmitted: "sectionSubmitted" }, viewQueries: [{ propertyName: "formStateObject", first: true, predicate: ["f"], descendants: true }], ngImport: i0, template: "<form #f=\"ngForm\" autocomplete=\"off\">\r\n <div *ngIf=\"form?.header?.status?.key !== 'NEW' \" class=\"mt-n3\" id=\"accordion\" role=\"tablist\"\r\n aria-multiselectable=\"true\">\r\n <app-main-request-details [lov]=\"form?.lovs\" [form]=\"form\" [section]=\"form?.sections[0]\">\r\n <ng-container *ngTemplateOutlet=\"contentReqDet\"></ng-container>\r\n </app-main-request-details>\r\n <header class=\"header-line fs-12 fw-medium fc-dark-gray mt-sm-5 mt-4 mb-4\" *ngIf=\"form?.sections.length > 1\">\r\n {{i18n.translate('Approvals')}}\r\n </header>\r\n <mat-accordion class=\"primary-accordion main-approval\">\r\n <ng-container *ngFor=\"let section of form?.sections; let i = index\">\r\n <app-form-section *ngIf=\"i !== 0\" class=\"app-form-section\" [segmentDynamicLoaderService]=\"segmentDynamicLoaderService\" [section]=section [lov]=\"form?.lovs\"\r\n [isReadOnly]=\"section.header.readOnly\" [form]=\"form\" [controllers]=\"sectionsController\">\r\n </app-form-section>\r\n </ng-container>\r\n </mat-accordion>\r\n </div>\r\n\r\n <section *ngIf=\"form?.header?.status?.key === 'NEW' \" class=\"default-box box-shadow p-4\">\r\n <ng-container *ngTemplateOutlet=\"contentReqDet\"></ng-container>\r\n </section>\r\n\r\n</form>\r\n\r\n\r\n<ng-template #contentReqDet><ng-content></ng-content></ng-template>\r\n", styles: ["@charset \"UTF-8\";.primary-accordion{--accordion-height: auto;--indicator-bc: transparent;--indicator-bc-active: transparent;--indicator-icon: \"\\e9bc\";--indicator-icon-active: \"\\ea34\";--indicator-color: var(--coral);--indicator-color-active: var(--dark-gray);--accordion-radius: 4px;--accordion-border-active: 1px solid var(--gray);--accordion-shadow: 0 7px 10px 0 rgba(var(--rgb-black), 3%);--accordion-shadow-active: none;--panel-padding: 1.5rem;--panel-body-padding: 0 1.5rem 1.5rem}@media (max-width: 576px){.primary-accordion{--accordion-height: 110px;--panel-padding: 1.5rem 1rem;--panel-body-padding: 0 1rem 1rem}}.primary-accordion.main-approval{position:relative}.primary-accordion.main-approval:before{content:\"\";position:absolute;top:0;bottom:0;margin:2rem;width:1px;height:calc(100% - 2rem);background-color:var(--dark-gray);z-index:0}@media (max-width: 576px){.workflow-all-btns ds-button::part(base){--btn-padding: 0 .5rem;--btn-fs: .75rem;--btn-height: var(--default-size-sm);--btn-min-width: var(--default-size-sm)}}\n"], dependencies: [{ kind: "directive", type: MatAccordion, selector: "mat-accordion", inputs: ["hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FormSectionComponent, selector: "app-form-section", inputs: ["requestDetails", "section", "form", "lov", "isReadOnly", "controllers", "segmentDynamicLoaderService", "sectionFormComponent", "sectionName"] }, { kind: "component", type: MainRequestDetailsComponent, selector: "app-main-request-details", inputs: ["section", "lov", "form"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }] });
|
|
5895
5907
|
}
|
|
5896
5908
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: WorkflowSectionComponent, decorators: [{
|
|
5897
5909
|
type: Component,
|
|
@@ -6219,7 +6231,7 @@ class SideNavComponent {
|
|
|
6219
6231
|
this.router.navigate([url]);
|
|
6220
6232
|
}
|
|
6221
6233
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SideNavComponent, deps: [{ token: SidenavService }, { token: i2$2.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
6222
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: SideNavComponent, isStandalone: true, selector: "app-side-nav", inputs: { isOpened: "isOpened" }, viewQueries: [{ propertyName: "MenuTrigger", first: true, predicate: ["MenuTrigger"], descendants: true }], ngImport: i0, template: "<aside>\r\n <div class=\"header d-flex d-lg-none\">\r\n <div class=\"d-flex h-100 mt-auto justify-content-between w-100\">\r\n <h1 class=\"fs-26 fw-bold fc-white logo\">academy</h1>\r\n <ds-button size=\"small\" color=\"purple\" class=\"close purple\" (click)=\"closeSidenav()\">\r\n <ds-icon icon=\"close\" class=\"fs-15 fc-white\"></ds-icon>\r\n </ds-button>\r\n </div>\r\n </div>\r\n <nav>\r\n <ul>\r\n <!-- (mouseenter)=\"menuMobile ? null : MenuTrigger.openMenu()\"-->\r\n <!-- (click)=\"goto(item.routerLink,item.matmenu) -->\r\n @for (item of Menu; track $index) {\r\n @if (item.matmenu) {\r\n <li\r\n (click)=\"closeSidenav();navigateTo(item)\" matTooltipPosition=\"right\" matTooltip=\"{{item.name }}\"\r\n [routerLinkActive]=\"'active'\" (click)=\"goto(item.routerLink!,item.matmenu)\" #MenuTrigger=\"matMenuTrigger\"\r\n [matMenuTriggerFor]=\"menuMenu\" [routerLinkActiveOptions]=\"{ exact: true }\" class=\"cursor-pointer\">\r\n <ds-icon icon=\"{{item.icon}}\" class=\"icon\"></ds-icon>\r\n <span class=\"menu-label\">\r\n {{ item.name }}\r\n </span>\r\n </li>\r\n <mat-menu #menuMenu=\"matMenu\" class=\"aside-menu visible-{{item.matmenu}}\">\r\n <app-mat-menu [title]=\"item.name \" [icon]=\"item.icon\" [list]=\"item.List\"></app-mat-menu>\r\n </mat-menu>\r\n } @else {\r\n <li\r\n (click)=\"closeSidenav();navigateTo(item)\" matTooltipPosition=\"right\" matTooltip=\"{{item.name }}\"\r\n [routerLinkActive]=\"'active'\" [routerLinkActiveOptions]=\"{ exact: true }\" class=\"cursor-pointer\">\r\n <ds-icon icon=\"{{item.icon}}\" class=\"icon\"></ds-icon>\r\n <span class=\"menu-label\">\r\n {{ item.name }}\r\n </span>\r\n </li>\r\n }\r\n }\r\n </ul>\r\n </nav>\r\n</aside>\r\n", styles: [":host ::ng-deep aside{min-width:var(--main-aside-width);width:var(--main-aside-width);height:calc(100vh - var(--main-toolbar-height));display:flex;position:var(--main-aside-position);right:var(--main-aside-right);left:var(--main-aside-left);top:var(--main-toolbar-height);z-index:var(--main-toolbar-zIndex);background-color:var(--main-aside-bc);transform:var(--main-aside-transform);transition:all .5s cubic-bezier(.685,.0473,.346,1)}@media (max-width: 1024px){:host ::ng-deep aside{height:100%;flex-direction:column;--main-toolbar-height: 0}}:host ::ng-deep aside nav{width:100%}:host ::ng-deep aside ul{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:20px;padding:0rem;margin:37px 0;list-style:none;counter-reset:itemCounter}:host ::ng-deep aside ul li{display:flex;align-items:center;flex-wrap:nowrap;overflow:hidden;max-width:calc(var(--main-aside-width-active) - 15px);width:100%;gap:var(--gap-width, 2.5rem);padding:3px 0 3px 10px;cursor:pointer;color:var(--main-aside-item-fc);border-radius:0;transition:var(--default-transition)}[dir=rtl] :host ::ng-deep aside ul li{padding:3px 10px 3px 0!important}@media (max-width: 1024px){@keyframes liAnimation{0%{transform:translateY(-500px)}to{transform:translateY(0)}}}:host ::ng-deep aside ul li.active,:host ::ng-deep aside ul li:hover{background-color:var(--main-aside-item-bc)}[dir=ltr] :host ::ng-deep aside ul li.active,[dir=ltr] :host ::ng-deep aside ul li:hover{border-left:5px solid var(--coral)}[dir=rtl] :host ::ng-deep aside ul li.active,[dir=rtl] :host ::ng-deep aside ul li:hover{border-right:5px solid var(--coral)}:host ::ng-deep aside ul li .menu-label{font-size:var(--main-aside-item-fs);flex-grow:1;opacity:1;min-width:calc(var(--main-aside-width-active) - 2rem - 40px);display:var(--main-aside-item-display)}:host ::ng-deep aside .header{background-color:#0003!important;padding:15px;flex-direction:row}:host ::ng-deep aside .header div{display:flex;align-items:center;margin-top:auto}:host ::ng-deep aside .footer{margin-top:auto;margin-bottom:80px;padding:0 30px}:host ::ng-deep aside ds-icon{font-size:1.55rem;display:inline-flex;align-items:center;justify-content:center;border-radius:3px;min-width:40px;width:40px;height:40px}:host ::ng-deep ds-button.close::part(base){height:37px;width:37px}:host ::ng-deep ds-button.close ds-icon{font-size:18px;min-width:18px;width:18px;height:18px}:host ::ng-deep .viewAll:hover{background-color:var(--purple)}:host ::ng-deep .viewAll:hover span{color:var(--white)}:host ::ng-deep .justify-content-between{justify-content:space-between}:host ::ng-deep .flex-column{flex-direction:column}:host ::ng-deep .d-flex{display:flex}:host ::ng-deep .w-100{width:100%}:host ::ng-deep .gap-3{gap:1rem!important}:host ::ng-deep ds-button.purple::part(base){--btn-border-color: var(--purple)}:host ::ng-deep ds-button.purple::part(overlay){--btn-overlay-color: var(--purple)}:host ::ng-deep ds-button.secondary::part(base){--btn-border-color: var(--secondary)}:host ::ng-deep ds-button.secondary::part(overlay){--btn-overlay-color: var(--secondary)}@media (min-width: 1024px){:host ::ng-deep .d-md-none{display:none!important}}@media (max-height: 430px){:host ::ng-deep aside .header{margin-bottom:50px}:host ::ng-deep aside nav{padding:15px 0 0;overflow:auto}:host ::ng-deep aside .footer{margin-bottom:20px}}@media (max-height: 300px){:host ::ng-deep aside .header{margin-bottom:5px}}:host ::ng-deep .logo{color:#fff}::ng-deep .aside-menu .mat-mdc-menu-content{border:none;box-shadow:none;padding:0!important}\n"], dependencies: [{ kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }] });
|
|
6234
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: SideNavComponent, isStandalone: true, selector: "app-side-nav", inputs: { isOpened: "isOpened" }, viewQueries: [{ propertyName: "MenuTrigger", first: true, predicate: ["MenuTrigger"], descendants: true }], ngImport: i0, template: "<aside>\r\n <div class=\"header d-flex d-lg-none\">\r\n <div class=\"d-flex h-100 mt-auto justify-content-between w-100\">\r\n <h1 class=\"fs-26 fw-bold fc-white logo\">academy</h1>\r\n <ds-button size=\"small\" color=\"purple\" class=\"close purple\" (click)=\"closeSidenav()\">\r\n <ds-icon icon=\"close\" class=\"fs-15 fc-white\"></ds-icon>\r\n </ds-button>\r\n </div>\r\n </div>\r\n <nav>\r\n <ul>\r\n <!-- (mouseenter)=\"menuMobile ? null : MenuTrigger.openMenu()\"-->\r\n <!-- (click)=\"goto(item.routerLink,item.matmenu) -->\r\n @for (item of Menu; track $index) {\r\n @if (item.matmenu) {\r\n <li\r\n (click)=\"closeSidenav();navigateTo(item)\" matTooltipPosition=\"right\" matTooltip=\"{{item.name }}\"\r\n [routerLinkActive]=\"'active'\" (click)=\"goto(item.routerLink!,item.matmenu)\" #MenuTrigger=\"matMenuTrigger\"\r\n [matMenuTriggerFor]=\"menuMenu\" [routerLinkActiveOptions]=\"{ exact: true }\" class=\"cursor-pointer\">\r\n <ds-icon icon=\"{{item.icon}}\" class=\"icon\"></ds-icon>\r\n <span class=\"menu-label\">\r\n {{ item.name }}\r\n </span>\r\n </li>\r\n <mat-menu #menuMenu=\"matMenu\" class=\"aside-menu visible-{{item.matmenu}}\">\r\n <app-mat-menu [title]=\"item.name \" [icon]=\"item.icon\" [list]=\"item.List\"></app-mat-menu>\r\n </mat-menu>\r\n } @else {\r\n <li\r\n (click)=\"closeSidenav();navigateTo(item)\" matTooltipPosition=\"right\" matTooltip=\"{{item.name }}\"\r\n [routerLinkActive]=\"'active'\" [routerLinkActiveOptions]=\"{ exact: true }\" class=\"cursor-pointer\">\r\n <ds-icon icon=\"{{item.icon}}\" class=\"icon\"></ds-icon>\r\n <span class=\"menu-label\">\r\n {{ item.name }}\r\n </span>\r\n </li>\r\n }\r\n }\r\n </ul>\r\n </nav>\r\n</aside>\r\n", styles: [":host ::ng-deep aside{min-width:var(--main-aside-width);width:var(--main-aside-width);height:calc(100vh - var(--main-toolbar-height));display:flex;position:var(--main-aside-position);right:var(--main-aside-right);left:var(--main-aside-left);top:var(--main-toolbar-height);z-index:var(--main-toolbar-zIndex);background-color:var(--main-aside-bc);transform:var(--main-aside-transform);transition:all .5s cubic-bezier(.685,.0473,.346,1)}@media (max-width: 1024px){:host ::ng-deep aside{height:100%;flex-direction:column;--main-toolbar-height: 0}}:host ::ng-deep aside nav{width:100%}:host ::ng-deep aside ul{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:20px;padding:0rem;margin:37px 0;list-style:none;counter-reset:itemCounter}:host ::ng-deep aside ul li{display:flex;align-items:center;flex-wrap:nowrap;overflow:hidden;max-width:calc(var(--main-aside-width-active) - 15px);width:100%;gap:var(--gap-width, 2.5rem);padding:3px 0 3px 10px;cursor:pointer;color:var(--main-aside-item-fc);border-radius:0;transition:var(--default-transition)}[dir=rtl] :host ::ng-deep aside ul li{padding:3px 10px 3px 0!important}@media (max-width: 1024px){@keyframes liAnimation{0%{transform:translateY(-500px)}to{transform:translateY(0)}}}:host ::ng-deep aside ul li.active,:host ::ng-deep aside ul li:hover{background-color:var(--main-aside-item-bc)}[dir=ltr] :host ::ng-deep aside ul li.active,[dir=ltr] :host ::ng-deep aside ul li:hover{border-left:5px solid var(--coral)}[dir=rtl] :host ::ng-deep aside ul li.active,[dir=rtl] :host ::ng-deep aside ul li:hover{border-right:5px solid var(--coral)}:host ::ng-deep aside ul li .menu-label{font-size:var(--main-aside-item-fs);flex-grow:1;opacity:1;min-width:calc(var(--main-aside-width-active) - 2rem - 40px);display:var(--main-aside-item-display)}:host ::ng-deep aside .header{background-color:#0003!important;padding:15px;flex-direction:row}:host ::ng-deep aside .header div{display:flex;align-items:center;margin-top:auto}:host ::ng-deep aside .footer{margin-top:auto;margin-bottom:80px;padding:0 30px}:host ::ng-deep aside ds-icon{font-size:1.55rem;display:inline-flex;align-items:center;justify-content:center;border-radius:3px;min-width:40px;width:40px;height:40px}:host ::ng-deep ds-button.close::part(base){height:37px;width:37px}:host ::ng-deep ds-button.close ds-icon{font-size:18px;min-width:18px;width:18px;height:18px}:host ::ng-deep .viewAll:hover{background-color:var(--purple)}:host ::ng-deep .viewAll:hover span{color:var(--white)}:host ::ng-deep .justify-content-between{justify-content:space-between}:host ::ng-deep .flex-column{flex-direction:column}:host ::ng-deep .d-flex{display:flex}:host ::ng-deep .w-100{width:100%}:host ::ng-deep .gap-3{gap:1rem!important}:host ::ng-deep ds-button.purple::part(base){--btn-border-color: var(--purple)}:host ::ng-deep ds-button.purple::part(overlay){--btn-overlay-color: var(--purple)}:host ::ng-deep ds-button.secondary::part(base){--btn-border-color: var(--secondary)}:host ::ng-deep ds-button.secondary::part(overlay){--btn-overlay-color: var(--secondary)}@media (min-width: 1024px){:host ::ng-deep .d-md-none{display:none!important}}@media (max-height: 430px){:host ::ng-deep aside .header{margin-bottom:50px}:host ::ng-deep aside nav{padding:15px 0 0;overflow:auto}:host ::ng-deep aside .footer{margin-bottom:20px}}@media (max-height: 300px){:host ::ng-deep aside .header{margin-bottom:5px}}:host ::ng-deep .logo{color:#fff}::ng-deep .aside-menu .mat-mdc-menu-content{border:none;box-shadow:none;padding:0!important}\n"], dependencies: [{ kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }] });
|
|
6223
6235
|
}
|
|
6224
6236
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SideNavComponent, decorators: [{
|
|
6225
6237
|
type: Component,
|
|
@@ -6284,7 +6296,7 @@ class LayoutComponent {
|
|
|
6284
6296
|
this.sidenav.close().then(r => { });
|
|
6285
6297
|
}
|
|
6286
6298
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: LayoutComponent, deps: [{ token: DOCUMENT }, { token: i2$2.Router }, { token: SidenavService }], target: i0.ɵɵFactoryTarget.Component });
|
|
6287
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: LayoutComponent, isStandalone: true, selector: "core-layout", inputs: { form: "form", formTitle: "formTitle", isLoading: "isLoading", serviceBrief: "serviceBrief" }, viewQueries: [{ propertyName: "sidenav", first: true, predicate: ["sidenav"], descendants: true, static: true }], ngImport: i0, template: "<app-header></app-header>\r\n<section class=\"d-flex\">\r\n <app-side-nav></app-side-nav>\r\n <mat-sidenav-container\r\n class=\"flex-grow-1\"\r\n [hasBackdrop]=\"true\"\r\n (backdropClick)=\"backdropClick()\"\r\n >\r\n <mat-sidenav\r\n #sidenav\r\n autoFocus=\"false\"\r\n fixedInViewport\r\n [position]=\"'end'\"\r\n (closedStart)=\"onClose()\"\r\n >\r\n <ng-container *ngComponentOutlet=\"sideContent\">\r\n <app-side-nav></app-side-nav>\r\n </ng-container>\r\n </mat-sidenav>\r\n <mat-sidenav-content>\r\n <main\r\n class=\"hadPadding service-wrapper\"\r\n [ngClass]=\"form?.header?.status?.key == 'NEW' ? 'hub-container-mini' : 'hub-container'\">\r\n\r\n <ng-content ></ng-content>\r\n <ng-content select=\"[workflow]\"></ng-content>\r\n\r\n </main>\r\n </mat-sidenav-content>\r\n </mat-sidenav-container>\r\n</section>\r\n", styles: [":host ::ng-deep .mat-drawer-container{overflow:visible;margin-top:var(--main-toolbar-height);min-height:calc(100vh - var(--main-toolbar-height));background-color:var(--body-bg)!important;z-index:initial!important;min-width:calc(100% - var(--main-aside-width));width:calc(100% - var(--main-aside-width))}:host ::ng-deep .mat-drawer-container .mat-drawer-content{display:flex;flex-direction:column;overflow:visible}.hup-wrapper :host ::ng-deep .mat-drawer-container .mat-drawer-content{min-height:auto}:host ::ng-deep footer{bottom:-65px}.mat-drawer{border-radius:10px!important;margin:1rem;box-shadow:0 8px 16px 7px rgba(var(--rgb-black),.06);background-color:var(--white)}@media (max-width: 767px){.mat-drawer{padding:0;border-radius:0;margin:0;width:100%}}.customize-btn{min-width:166px}.zer-pt{padding-top:0!important}\n"], dependencies: [{ kind: "component", type: HeaderComponent, selector: "app-header" }, { kind: "component", type: SideNavComponent, selector: "app-side-nav", inputs: ["isOpened"] }, { kind: "ngmodule", type: MatSidenavModule }, { kind: "component", type: i3$
|
|
6299
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: LayoutComponent, isStandalone: true, selector: "core-layout", inputs: { form: "form", formTitle: "formTitle", isLoading: "isLoading", serviceBrief: "serviceBrief" }, viewQueries: [{ propertyName: "sidenav", first: true, predicate: ["sidenav"], descendants: true, static: true }], ngImport: i0, template: "<app-header></app-header>\r\n<section class=\"d-flex\">\r\n <app-side-nav></app-side-nav>\r\n <mat-sidenav-container\r\n class=\"flex-grow-1\"\r\n [hasBackdrop]=\"true\"\r\n (backdropClick)=\"backdropClick()\"\r\n >\r\n <mat-sidenav\r\n #sidenav\r\n autoFocus=\"false\"\r\n fixedInViewport\r\n [position]=\"'end'\"\r\n (closedStart)=\"onClose()\"\r\n >\r\n <ng-container *ngComponentOutlet=\"sideContent\">\r\n <app-side-nav></app-side-nav>\r\n </ng-container>\r\n </mat-sidenav>\r\n <mat-sidenav-content>\r\n <main\r\n class=\"hadPadding service-wrapper\"\r\n [ngClass]=\"form?.header?.status?.key == 'NEW' ? 'hub-container-mini' : 'hub-container'\">\r\n\r\n <ng-content ></ng-content>\r\n <ng-content select=\"[workflow]\"></ng-content>\r\n\r\n </main>\r\n </mat-sidenav-content>\r\n </mat-sidenav-container>\r\n</section>\r\n", styles: [":host ::ng-deep .mat-drawer-container{overflow:visible;margin-top:var(--main-toolbar-height);min-height:calc(100vh - var(--main-toolbar-height));background-color:var(--body-bg)!important;z-index:initial!important;min-width:calc(100% - var(--main-aside-width));width:calc(100% - var(--main-aside-width))}:host ::ng-deep .mat-drawer-container .mat-drawer-content{display:flex;flex-direction:column;overflow:visible}.hup-wrapper :host ::ng-deep .mat-drawer-container .mat-drawer-content{min-height:auto}:host ::ng-deep footer{bottom:-65px}.mat-drawer{border-radius:10px!important;margin:1rem;box-shadow:0 8px 16px 7px rgba(var(--rgb-black),.06);background-color:var(--white)}@media (max-width: 767px){.mat-drawer{padding:0;border-radius:0;margin:0;width:100%}}.customize-btn{min-width:166px}.zer-pt{padding-top:0!important}\n"], dependencies: [{ kind: "component", type: HeaderComponent, selector: "app-header" }, { kind: "component", type: SideNavComponent, selector: "app-side-nav", inputs: ["isOpened"] }, { kind: "ngmodule", type: MatSidenavModule }, { kind: "component", type: i3$2.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { kind: "component", type: i3$2.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { kind: "component", type: i3$2.MatSidenavContent, selector: "mat-sidenav-content" }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
6288
6300
|
}
|
|
6289
6301
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: LayoutComponent, decorators: [{
|
|
6290
6302
|
type: Component,
|
|
@@ -6318,43 +6330,128 @@ var loadFormHooks = {
|
|
|
6318
6330
|
}
|
|
6319
6331
|
};
|
|
6320
6332
|
|
|
6333
|
+
class ActionStateService {
|
|
6334
|
+
actionStatesSubject = new BehaviorSubject({});
|
|
6335
|
+
actionStates$ = this.actionStatesSubject.asObservable();
|
|
6336
|
+
setActionValid(action, isValid) {
|
|
6337
|
+
const currentState = this.actionStatesSubject.value;
|
|
6338
|
+
currentState[action] = isValid;
|
|
6339
|
+
this.actionStatesSubject.next(currentState);
|
|
6340
|
+
}
|
|
6341
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ActionStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
6342
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ActionStateService, providedIn: "any" });
|
|
6343
|
+
}
|
|
6344
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ActionStateService, decorators: [{
|
|
6345
|
+
type: Injectable,
|
|
6346
|
+
args: [{
|
|
6347
|
+
providedIn: "any"
|
|
6348
|
+
}]
|
|
6349
|
+
}] });
|
|
6350
|
+
|
|
6351
|
+
class ActionButtonsComponent {
|
|
6352
|
+
i18n;
|
|
6353
|
+
actionStateService;
|
|
6354
|
+
lovOptions;
|
|
6355
|
+
lovType;
|
|
6356
|
+
actionStates;
|
|
6357
|
+
constructor(i18n, actionStateService) {
|
|
6358
|
+
this.i18n = i18n;
|
|
6359
|
+
this.actionStateService = actionStateService;
|
|
6360
|
+
this.actionStateService.actionStates$.subscribe(states => this.actionStates = states);
|
|
6361
|
+
}
|
|
6362
|
+
resetForm() {
|
|
6363
|
+
}
|
|
6364
|
+
onSubmit(action) {
|
|
6365
|
+
}
|
|
6366
|
+
validForm(action) {
|
|
6367
|
+
return true;
|
|
6368
|
+
}
|
|
6369
|
+
buttonShape(item) {
|
|
6370
|
+
if (item?.value === FORM_STATUS_REJECT || item?.value === FORM_STATUS_CANCEL || item?.value === FORM_STATUS_SEND_BACK) {
|
|
6371
|
+
return 'outline';
|
|
6372
|
+
}
|
|
6373
|
+
return '';
|
|
6374
|
+
}
|
|
6375
|
+
buttonColor(item) {
|
|
6376
|
+
if (item?.value === FORM_STATUS_REJECT || item?.value === FORM_STATUS_SEND_BACK) {
|
|
6377
|
+
return 'red';
|
|
6378
|
+
}
|
|
6379
|
+
return '';
|
|
6380
|
+
}
|
|
6381
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ActionButtonsComponent, deps: [{ token: CoreI18nService }, { token: ActionStateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
6382
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: ActionButtonsComponent, isStandalone: true, selector: "lib-action-buttons", inputs: { lovOptions: "lovOptions", lovType: "lovType" }, ngImport: i0, template: "<div class=\"mt-4\">\r\n @if (lovType === 'button') {\r\n <div class=\"d-flex align-items-center gap-3\">\r\n <ds-button shape=\"text\" color=\"red\" (click)=\"resetForm()\">\r\n <span class=\"fs-16 fw-medium\">{{ i18n.translate('reset') }}</span>\r\n </ds-button>\r\n <div class=\"d-flex flex-wrap align-items-center flex-grow-1 flex-row-reverse gap-3\">\r\n @for (item of lovOptions; track $index) {\r\n <ds-button\r\n [ngClass]=\"{'disabled': !actionStates[item.value]}\"\r\n shape=\"{{ buttonShape(item) }}\"\r\n color=\"{{ buttonColor(item) }}\"\r\n (click)=\"onSubmit(item?.value)\">\r\n {{ item?.['description'] }}\r\n </ds-button>\r\n }\r\n </div>\r\n </div>\r\n } @else {\r\n <div class=\"d-flex flex-wrap align-items-center flex-grow-1 justify-content-end gap-3\">\r\n <ds-button shape=\"text\" color=\"red\" (click)=\"resetForm()\">\r\n <span class=\"fs-16 fw-medium\">{{ i18n.translate('reset') }}</span>\r\n </ds-button>\r\n <ds-button\r\n [ngClass]=\"{'disabled': !validForm('SUBMIT')}\"\r\n (click)=\"onSubmit('SUBMIT')\">\r\n {{ i18n.translate('submit') }}\r\n </ds-button>\r\n </div>\r\n }\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
6383
|
+
}
|
|
6384
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ActionButtonsComponent, decorators: [{
|
|
6385
|
+
type: Component,
|
|
6386
|
+
args: [{ selector: 'lib-action-buttons', standalone: true, schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA], imports: [
|
|
6387
|
+
NgClass,
|
|
6388
|
+
InputComponent,
|
|
6389
|
+
NgIf,
|
|
6390
|
+
NgForOf
|
|
6391
|
+
], template: "<div class=\"mt-4\">\r\n @if (lovType === 'button') {\r\n <div class=\"d-flex align-items-center gap-3\">\r\n <ds-button shape=\"text\" color=\"red\" (click)=\"resetForm()\">\r\n <span class=\"fs-16 fw-medium\">{{ i18n.translate('reset') }}</span>\r\n </ds-button>\r\n <div class=\"d-flex flex-wrap align-items-center flex-grow-1 flex-row-reverse gap-3\">\r\n @for (item of lovOptions; track $index) {\r\n <ds-button\r\n [ngClass]=\"{'disabled': !actionStates[item.value]}\"\r\n shape=\"{{ buttonShape(item) }}\"\r\n color=\"{{ buttonColor(item) }}\"\r\n (click)=\"onSubmit(item?.value)\">\r\n {{ item?.['description'] }}\r\n </ds-button>\r\n }\r\n </div>\r\n </div>\r\n } @else {\r\n <div class=\"d-flex flex-wrap align-items-center flex-grow-1 justify-content-end gap-3\">\r\n <ds-button shape=\"text\" color=\"red\" (click)=\"resetForm()\">\r\n <span class=\"fs-16 fw-medium\">{{ i18n.translate('reset') }}</span>\r\n </ds-button>\r\n <ds-button\r\n [ngClass]=\"{'disabled': !validForm('SUBMIT')}\"\r\n (click)=\"onSubmit('SUBMIT')\">\r\n {{ i18n.translate('submit') }}\r\n </ds-button>\r\n </div>\r\n }\r\n</div>\r\n" }]
|
|
6392
|
+
}], ctorParameters: () => [{ type: CoreI18nService }, { type: ActionStateService }], propDecorators: { lovOptions: [{
|
|
6393
|
+
type: Input
|
|
6394
|
+
}], lovType: [{
|
|
6395
|
+
type: Input
|
|
6396
|
+
}] } });
|
|
6397
|
+
|
|
6321
6398
|
class RequestDetailsSectionComponent {
|
|
6322
6399
|
i18n;
|
|
6400
|
+
fb;
|
|
6401
|
+
actionStateService;
|
|
6323
6402
|
isReadOnly;
|
|
6324
6403
|
section;
|
|
6325
6404
|
lov;
|
|
6326
6405
|
className = "info-section";
|
|
6327
|
-
currentSectionId;
|
|
6328
|
-
lastSectionId;
|
|
6329
6406
|
form;
|
|
6330
|
-
|
|
6407
|
+
fieldsForm;
|
|
6408
|
+
constructor(i18n, fb, actionStateService) {
|
|
6331
6409
|
this.i18n = i18n;
|
|
6410
|
+
this.fb = fb;
|
|
6411
|
+
this.actionStateService = actionStateService;
|
|
6412
|
+
this.createForm();
|
|
6332
6413
|
}
|
|
6333
|
-
|
|
6334
|
-
|
|
6335
|
-
|
|
6336
|
-
|
|
6337
|
-
|
|
6338
|
-
|
|
6339
|
-
|
|
6340
|
-
|
|
6341
|
-
|
|
6342
|
-
|
|
6343
|
-
|
|
6344
|
-
|
|
6414
|
+
createForm() {
|
|
6415
|
+
let newForm = {
|
|
6416
|
+
input1: ['', Validators.required]
|
|
6417
|
+
};
|
|
6418
|
+
this.lov?.['decision']?.options?.forEach(option => {
|
|
6419
|
+
newForm[option.value] = [''];
|
|
6420
|
+
});
|
|
6421
|
+
this.fieldsForm = this.fb.group(newForm);
|
|
6422
|
+
this.fieldsForm.valueChanges.subscribe(value => {
|
|
6423
|
+
this.lov?.['decision']?.options?.forEach(option => {
|
|
6424
|
+
let isActionValid = this.checkValidity(option.value);
|
|
6425
|
+
this.actionStateService.setActionValid(option.value, isActionValid);
|
|
6426
|
+
});
|
|
6427
|
+
});
|
|
6345
6428
|
}
|
|
6346
|
-
|
|
6347
|
-
|
|
6429
|
+
checkValidity(action) {
|
|
6430
|
+
switch (action) {
|
|
6431
|
+
case 'APPROVE':
|
|
6432
|
+
return true;
|
|
6433
|
+
case 'REJECT':
|
|
6434
|
+
return this.fieldsForm.valid;
|
|
6435
|
+
case 'SENDBACK':
|
|
6436
|
+
return this.fieldsForm.valid;
|
|
6437
|
+
default:
|
|
6438
|
+
return false;
|
|
6439
|
+
}
|
|
6348
6440
|
}
|
|
6349
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RequestDetailsSectionComponent, deps: [{ token: CoreI18nService }], target: i0.ɵɵFactoryTarget.Component });
|
|
6350
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: RequestDetailsSectionComponent, isStandalone: true, selector: "app-request-details-section", inputs: { isReadOnly: "isReadOnly", section: "section", lov: "lov", className: "className" }, ngImport: i0, template: "<div\r\n [ngClass]=\"{'form-section-divide form-section':!section?.header?.readOnly,'info-section':section?.header?.readOnly}\">\r\n\r\n\r\n\r\n\r\n\r\n\r\n <ds-alert class=\"full\" type=\"warning\" icon=\"info\">\r\n\r\n <div class=\"d-flex gap-2\">\r\n\r\n Request details working fine\r\n\r\n </div>\r\n\r\n </ds-alert>\r\n\r\n<!--\r\n\r\n\r\n <app-textarea class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.agreementName\"\r\n name=\"agreementName\" [labelTextReadMode]=\"i18n.translate('agreementName')\"\r\n [labelTextWriteMode]=\"i18n.translate('agreementName')\" [hasColumnBreak]=\"false\"\r\n [label]=\"i18n.translate('agreementName')\" [required]=\"true\" [minLength]='1' [maxLength]='300'\r\n [isReadOnly]=\"section?.header?.readOnly\" (emitedValue)=\"handleEmitValue($event,'agreementName')\"\r\n [errorMessage]=\"i18n.translate('lenghtMin1Max300')\">\r\n </app-textarea>\r\n <app-textarea class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.agreementDescription\"\r\n name=\"agreementDescription\" [labelTextReadMode]=\"i18n.translate('agreementDescription')\"\r\n [labelTextWriteMode]=\"i18n.translate('agreementDescription')\" [hasColumnBreak]=\"false\"\r\n [label]=\"i18n.translate('agreementDescription')\" [required]=\"true\" [minLength]='1' [maxLength]='300'\r\n [isReadOnly]=\"section?.header?.readOnly\" (emitedValue)=\"handleEmitValue($event,'agreementDescription')\"\r\n [errorMessage]=\"i18n.translate('lenghtMin1Max300')\">\r\n </app-textarea>\r\n <app-textarea class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.agreementSTC\"\r\n name=\"agreementSTC\" [labelTextReadMode]=\"i18n.translate('agreementSTC')\"\r\n [labelTextWriteMode]=\"i18n.translate('agreementSTC')\" [hasColumnBreak]=\"false\"\r\n [label]=\"i18n.translate('agreementSTC')\" [required]=\"true\" [minLength]='1' [maxLength]='300'\r\n [isReadOnly]=\"section?.header?.readOnly\" (emitedValue)=\"handleEmitValue($event,'agreementSTC')\"\r\n [errorMessage]=\"i18n.translate('lenghtMin1Max300')\">\r\n </app-textarea>\r\n <app-textarea class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.contractingPartyName\"\r\n name=\"contractingPartyName\" [labelTextReadMode]=\"i18n.translate('contractingPartyName')\"\r\n [labelTextWriteMode]=\"i18n.translate('contractingPartyName')\" [hasColumnBreak]=\"false\"\r\n [label]=\"i18n.translate('contractingPartyName')\" [required]=\"true\" [minLength]='1' [maxLength]='300'\r\n [isReadOnly]=\"section?.header?.readOnly\" (emitedValue)=\"handleEmitValue($event,'contractingPartyName')\"\r\n [errorMessage]=\"i18n.translate('lenghtMin1Max300')\">\r\n </app-textarea>\r\n\r\n\r\n <app-input class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.representativeParty\"\r\n name=\"representativeParty\" [labelTextReadMode]=\"i18n.translate('representativeParty')\"\r\n [labelTextWriteMode]=\"i18n.translate('representativeParty')\" [hasColumnBreak]=\"false\"\r\n [label]=\"i18n.translate('representativeParty')\" [required]=\"true\" [isReadOnly]=\"section?.header?.readOnly\"\r\n (emitedValue)=\"handleEmitValue($event,'representativeParty')\">\r\n </app-input>\r\n\r\n <app-input class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.IBAN\" name=\"IBAN\"\r\n [labelTextReadMode]=\"i18n.translate('IBAN')\" [labelTextWriteMode]=\"i18n.translate('IBAN')\" [hasColumnBreak]=\"false\"\r\n [label]=\"i18n.translate('IBAN')\" [required]=\"false\" [isReadOnly]=\"section?.header?.readOnly\"\r\n (emitedValue)=\"handleEmitValue($event,'IBAN')\">\r\n </app-input>\r\n <app-input class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.bankName\" name=\"bankName\"\r\n [labelTextReadMode]=\"i18n.translate('bankName')\" [labelTextWriteMode]=\"i18n.translate('bankName')\"\r\n [hasColumnBreak]=\"false\" [label]=\"i18n.translate('bankName')\" [required]=\"false\"\r\n [isReadOnly]=\"section?.header?.readOnly\" (emitedValue)=\"handleEmitValue($event,'bankName')\">\r\n </app-input>\r\n <app-input class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.locationSystem\"\r\n name=\"locationSystem\" [labelTextReadMode]=\"i18n.translate('locationSystem')\"\r\n [labelTextWriteMode]=\"i18n.translate('locationSystem')\" [hasColumnBreak]=\"false\"\r\n [label]=\"i18n.translate('locationSystem')\" [required]=\"true\" [isReadOnly]=\"section?.header?.readOnly\"\r\n (emitedValue)=\"handleEmitValue($event,'locationSystem')\">\r\n </app-input>\r\n <app-input class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.addressSystem\"\r\n name=\"addressSystem\" [labelTextReadMode]=\"i18n.translate('addressSystem')\"\r\n [labelTextWriteMode]=\"i18n.translate('addressSystem')\" [hasColumnBreak]=\"false\"\r\n [label]=\"i18n.translate('addressSystem')\" [required]=\"true\" [isReadOnly]=\"section?.header?.readOnly\"\r\n (emitedValue)=\"handleEmitValue($event,'addressSystem')\">\r\n </app-input>\r\n <app-select class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.Currency\" name=\"Currency\"\r\n [labelTextReadMode]=\"i18n.translate('Currency')\" [labelTextWriteMode]=\"i18n.translate('Currency')\"\r\n [hasColumnBreak]=\"false\" [label]=\"i18n.translate('Currency')\" [lov]=\"lov?.Currency\" [required]=\"true\"\r\n [isReadOnly]=\"section?.header?.readOnly\" (emitedValue)=\"handleEmitValue($event,'Currency')\">\r\n </app-select>\r\n <app-input class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.vendorNumber\" name=\"vendorNumber\"\r\n [labelTextReadMode]=\"i18n.translate('vendorNumber')\" [labelTextWriteMode]=\"i18n.translate('vendorNumber')\"\r\n [hasColumnBreak]=\"false\" [label]=\"i18n.translate('vendorNumber')\" [required]=\"true\"\r\n [isReadOnly]=\"section?.header?.readOnly\" (emitedValue)=\"handleEmitValue($event,'vendorNumber')\">\r\n </app-input>\r\n\r\n <app-input-currency class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.agreementAmount\"\r\n name=\"agreementAmount\" [labelTextReadMode]=\"i18n.translate('agreementAmount')\"\r\n [labelTextWriteMode]=\"i18n.translate('agreementAmount')\" [hasColumnBreak]=\"false\"\r\n [label]=\"i18n.translate('agreementAmount')\" [required]=\"true\" [isReadOnly]=\"section?.header?.readOnly\"\r\n (emitedValue)=\"handleEmitValue($event,'agreementAmount')\">\r\n </app-input-currency>\r\n\r\n <app-input class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.FCS\" name=\"FCS\"\r\n [labelTextReadMode]=\"i18n.translate('FCS')\" [labelTextWriteMode]=\"i18n.translate('FCS')\" [hasColumnBreak]=\"false\"\r\n [label]=\"i18n.translate('FCS')\" [required]=\"true\" [isReadOnly]=\"section?.header?.readOnly\"\r\n (emitedValue)=\"handleEmitValue($event,'FCS')\">\r\n </app-input>\r\n <app-textarea class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.agreementPeriod\"\r\n name=\"agreementPeriod\" [labelTextReadMode]=\"i18n.translate('agreementPeriod')\"\r\n [labelTextWriteMode]=\"i18n.translate('agreementPeriod')\" [hasColumnBreak]=\"false\"\r\n [label]=\"i18n.translate('agreementPeriod')\" [required]=\"true\" [minLength]='1' [maxLength]='300'\r\n [isReadOnly]=\"section?.header?.readOnly\" (emitedValue)=\"handleEmitValue($event,'agreementPeriod')\"\r\n [errorMessage]=\"i18n.translate('lenghtMin1Max300')\">\r\n </app-textarea>\r\n <app-datepicker class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.startDate\" name=\"startDate\"\r\n [labelTextReadMode]=\"i18n.translate('startDate')\" [labelTextWriteMode]=\"i18n.translate('startDate')\"\r\n [hasColumnBreak]=\"false\" [label]=\"i18n.translate('startDate')\" [required]=\"true\"\r\n [isReadOnly]=\"section?.header?.readOnly\" (emitedValue)=\"handleEmitValue($event,'startDate')\">\r\n </app-datepicker>\r\n <app-datepicker class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.endDate\" name=\"endDate\"\r\n [labelTextReadMode]=\"i18n.translate('endDate')\" [labelTextWriteMode]=\"i18n.translate('endDate')\"\r\n [hasColumnBreak]=\"false\" [label]=\"i18n.translate('endDate')\" [required]=\"true\"\r\n [isReadOnly]=\"section?.header?.readOnly\" (emitedValue)=\"handleEmitValue($event,'endDate')\">\r\n </app-datepicker>\r\n\r\n <app-input-currency class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.purchaseOrderAmount\"\r\n name=\"purchaseOrderAmount\" [labelTextReadMode]=\"i18n.translate('purchaseOrderAmount')\"\r\n [labelTextWriteMode]=\"i18n.translate('purchaseOrderAmount')\" [hasColumnBreak]=\"false\"\r\n [label]=\"i18n.translate('purchaseOrderAmount')\" [required]=\"true\" [isReadOnly]=\"section?.header?.readOnly\"\r\n (emitedValue)=\"handleEmitValue($event,'purchaseOrderAmount')\">\r\n </app-input-currency>\r\n\r\n <app-select class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.currencyPurchaseOrder\"\r\n name=\"currencyPurchaseOrder\" [labelTextReadMode]=\"i18n.translate('currencyPurchaseOrder')\"\r\n [labelTextWriteMode]=\"i18n.translate('currencyPurchaseOrder')\" [hasColumnBreak]=\"false\"\r\n [label]=\"i18n.translate('currencyPurchaseOrder')\" [lov]=\"lov?.currencyPurchaseOrder\" [required]=\"true\"\r\n [isReadOnly]=\"section?.header?.readOnly\" (emitedValue)=\"handleEmitValue($event,'currencyPurchaseOrder')\">\r\n </app-select>\r\n <app-input class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.typeContract\" name=\"typeContract\"\r\n [labelTextReadMode]=\"i18n.translate('typeContract')\" [labelTextWriteMode]=\"i18n.translate('typeContract')\"\r\n [hasColumnBreak]=\"false\" [label]=\"i18n.translate('typeContract')\" [required]=\"true\"\r\n [isReadOnly]=\"section?.header?.readOnly\" (emitedValue)=\"handleEmitValue($event,'typeContract')\">\r\n </app-input>\r\n <app-input class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.expenseNumber\"\r\n name=\"expenseNumber\" [labelTextReadMode]=\"i18n.translate('expenseNumber')\"\r\n [labelTextWriteMode]=\"i18n.translate('expenseNumber')\" [hasColumnBreak]=\"false\"\r\n [label]=\"i18n.translate('expenseNumber')\" [required]=\"true\" [isReadOnly]=\"section?.header?.readOnly\"\r\n (emitedValue)=\"handleEmitValue($event,'expenseNumber')\">\r\n </app-input>\r\n <app-input class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.depNo\" name=\"depNo\"\r\n [labelTextReadMode]=\"i18n.translate('depNo')\" [labelTextWriteMode]=\"i18n.translate('depNo')\"\r\n [hasColumnBreak]=\"false\" [label]=\"i18n.translate('depNo')\" [required]=\"true\"\r\n [isReadOnly]=\"section?.header?.readOnly\" (emitedValue)=\"handleEmitValue($event,'depNo')\">\r\n </app-input>\r\n <app-input class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.depName\" name=\"depName\"\r\n [labelTextReadMode]=\"i18n.translate('depName')\" [labelTextWriteMode]=\"i18n.translate('depName')\"\r\n [hasColumnBreak]=\"false\" [label]=\"i18n.translate('depName')\" [required]=\"true\"\r\n [isReadOnly]=\"section?.header?.readOnly\" (emitedValue)=\"handleEmitValue($event,'depName')\">\r\n </app-input>\r\n <app-input class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.PRNo\" name=\"PRNo\"\r\n [labelTextReadMode]=\"i18n.translate('PRNo')\" [labelTextWriteMode]=\"i18n.translate('PRNo')\" [hasColumnBreak]=\"false\"\r\n [label]=\"i18n.translate('PRNo')\" [required]=\"true\" [isReadOnly]=\"section?.header?.readOnly\"\r\n (emitedValue)=\"handleEmitValue($event,'PRNo')\">\r\n </app-input>\r\n <app-input class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.POPeriod\" name=\"POPeriod\"\r\n [labelTextReadMode]=\"i18n.translate('POPeriod')\" [labelTextWriteMode]=\"i18n.translate('POPeriod')\"\r\n [hasColumnBreak]=\"false\" [label]=\"i18n.translate('POPeriod')\" [required]=\"true\"\r\n [isReadOnly]=\"section?.header?.readOnly\" (emitedValue)=\"handleEmitValue($event,'POPeriod')\">\r\n </app-input>\r\n\r\n\r\n\r\n <app-textarea *ngIf=\"(section?.body?.details?.IS_SENDBACK == 'true') || (!!section?.body?.details?.Comments)\"\r\n class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.Comments\" name=\"Comments\"\r\n [labelTextReadMode]=\"i18n.translate('Comments')\" [labelTextWriteMode]=\"i18n.translate('Comments')\"\r\n [hasColumnBreak]=\"false\" [label]=\"i18n.translate('Comments')\" [required]=\"true\" [minLength]='1' [maxLength]='2000'\r\n [isReadOnly]=\"section?.header?.readOnly\" (emitedValue)=\"handleEmitValue($event,'Comments')\"\r\n [errorMessage]=\"i18n.translate('lenghtMin1Max2000')\">\r\n </app-textarea>\r\n\r\n\r\n\r\n <!– <app-file-uploader class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.attachment\" name=\"attachment\" [labelTextReadMode]=\"i18n.translate('attachment')\"\r\n [labelTextWriteMode]=\"i18n.translate('attachment')\" [hasColumnBreak]=\"false\" [label]=\"i18n.translate('attachment')\"\r\n\r\n [required]=\"true\" [multiple]=\"true\" [displayedFiles]=\"section?.body?.details?.attachment\"\r\n [isReadOnly]=\"section?.header?.readOnly\" (emitedValue)=\"handleEmitValue($event,'attachment')\"[callApi]=\"true\">\r\n </app-file-uploader> –>\r\n\r\n\r\n\r\n\r\n <app-attachment-section class=\"section-item full\" [field]=\"section?.body?.details?.attachment\" [labelTextReadMode]=\"\"\r\n [labelTextWriteMode]=\"\" [hasColumnBreak]=\"\" [label]=\"\" [required]=\"false\" [isRequired]=\"true\"\r\n [isReadOnly]=\"section?.header?.readOnly\" [attachments]=\"section?.body?.details?.attachment\"\r\n (emitedValue)=\"handleEmitValue($event,'attachment')\">\r\n </app-attachment-section>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n-->\r\n\r\n</div>\r\n\r\n\r\n<!--<div class=\"mt-4\" *ngIf=\"!section?.header?.readOnly\">\r\n\r\n <div class=\"d-flex align-items-center gap-3\" *ngIf=\"lov?.decision?.type === 'button'\">\r\n <ds-button shape=\"text\" color=\"red\" (click)=\"resetForm()\">\r\n <span class=\"fs-16 fw-medium\">{{i18n.translate('reset')}}</span>\r\n </ds-button>\r\n <div class=\"d-flex flex-wrap align-items-center flex-grow-1 flex-row-reverse gap-3\">\r\n <ng-container *ngFor=\"let item of lov?.decision?.options\">\r\n <ds-button [ngClass]=\"{'disabled':!validForm(item?.value) || profileRequestorService.disableButtons}\"\r\n (click)=\"onSubmit(item?.value) \" [loading]=\"profileRequestorService.isSubmitting[item?.value]\"\r\n *ngIf=\"item?.value === 'SUBMIT'\">{{item?.description}}</ds-button>\r\n\r\n <ds-button [ngClass]=\"{'disabled':!validForm(item?.value) || profileRequestorService.disableButtons}\"\r\n (click)=\"onSubmit(item?.value) \" [loading]=\"profileRequestorService.isSubmitting[item?.value]\"\r\n *ngIf=\"item?.value === 'APPROVE'\">{{item?.description}}</ds-button>\r\n <ds-button [ngClass]=\"{'disabled':!validForm(item?.value) || profileRequestorService.disableButtons}\"\r\n (click)=\"onSubmit(item?.value)\" shape=\"outline\" color=\"red\"\r\n [loading]=\"profileRequestorService.isSubmitting[item?.value]\" *ngIf=\"item?.value === 'REJECT'\">\r\n {{item?.description}}</ds-button>\r\n <ds-button [ngClass]=\"{'disabled':!validForm(item?.value) || profileRequestorService.disableButtons}\"\r\n (click)=\"onSubmit(item?.value)\" shape=\"outline\" color=\"red\"\r\n [loading]=\"profileRequestorService.isSubmitting[item?.value]\" *ngIf=\"item?.value === 'CANCEL'\">\r\n {{item?.description}}</ds-button>\r\n <ds-button [ngClass]=\"{'disabled':!validForm(item?.value) || profileRequestorService.disableButtons}\"\r\n (click)=\"onSubmit(item?.value)\" shape=\"outline\" [loading]=\"profileRequestorService.isSubmitting[item?.value]\"\r\n *ngIf=\"item?.value === 'SENDBACK'\">\r\n {{item?.description}}</ds-button>\r\n\r\n <ds-button [ngClass]=\"{'disabled':!validForm(item?.value) || profileRequestorService.disableButtons}\"\r\n (click)=\"onSubmit(item?.value) \" [loading]=\"profileRequestorService.isSubmitting[item?.value]\"\r\n *ngIf=\"!(item?.value === 'SUBMIT' || item?.value === 'APPROVE' || item?.value === 'SENDBACK' || item?.value === 'REJECT' || item?.value === 'CANCEL')\">\r\n {{item?.description}}</ds-button>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <div class=\"d-flex flex-wrap align-items-center flex-grow-1 justify-content-end gap-3\"\r\n *ngIf=\"lov?.decision?.type !== 'button'\">\r\n <ds-button shape=\"text\" color=\"red\" (click)=\"resetForm()\">\r\n <span class=\"fs-16 fw-medium\">{{i18n.translate('reset')}}</span>\r\n </ds-button>\r\n <ds-button [ngClass]=\"{'disabled':!validForm('SUBMIT')}\"\r\n [loading]=\"profileRequestorService.isSubmitting[item?.value]\"\r\n (click)=\"onSubmit('SUBMIT') || profileRequestorService.disableButtons\">\r\n {{i18n.translate('submit')}}\r\n </ds-button>\r\n </div>\r\n</div>-->\r\n", styles: [".form-section-divide{--form-section-columns: 1fr 1fr}@media (max-width: 756px){.form-section-divide{--form-section-columns: 100%}}.form-section-divide .full{grid-column:1/-1}.head-title{position:relative;margin-bottom:12px}.head-title h3{display:inline-block;color:#8e9aa0;font-size:14px;font-weight:500;background-color:#fff;padding-inline-end:20px;position:relative;z-index:2;margin:0}.head-title:after{content:\"\";position:absolute;width:100%;height:1px;background-color:#dee0e2;top:50%;left:0;right:0;transform:translateY(-50%);z-index:1}.chamber{margin-bottom:20px}.chamber .chamber-content{background-color:#f8f8f8;padding:20px}.chamber .chamber-content .chamber-select{display:flex}.chamber .chamber-content mat-checkbox{font-size:14px}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
6441
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RequestDetailsSectionComponent, deps: [{ token: CoreI18nService }, { token: i1$2.FormBuilder }, { token: ActionStateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
6442
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: RequestDetailsSectionComponent, isStandalone: true, selector: "app-request-details-section", inputs: { isReadOnly: "isReadOnly", section: "section", lov: "lov", className: "className" }, ngImport: i0, template: "<div\r\n [ngClass]=\"{'form-section-divide form-section':!section?.header?.readOnly,'info-section':section?.header?.readOnly}\">\r\n\r\n\r\n <ds-alert class=\"full\" type=\"warning\" icon=\"info\">\r\n\r\n <div class=\"d-flex gap-2\">\r\n\r\n Request details working fine\r\n\r\n </div>\r\n\r\n </ds-alert>\r\n\r\n <form [formGroup]=\"fieldsForm\">\r\n <app-input formControlName=\"input1\" ></app-input>\r\n </form>\r\n\r\n</div>\r\n@if (!section?.header?.readOnly) {\r\n <div class=\"mt-4\">\r\n <lib-action-buttons\r\n [lovOptions]=\"lov?.['decision']?.options\"\r\n [lovType]=\"lov?.['decision']?.type\"\r\n />\r\n </div>\r\n}\r\n", styles: [".form-section-divide{--form-section-columns: 1fr 1fr}@media (max-width: 756px){.form-section-divide{--form-section-columns: 100%}}.form-section-divide .full{grid-column:1/-1}.head-title{position:relative;margin-bottom:12px}.head-title h3{display:inline-block;color:#8e9aa0;font-size:14px;font-weight:500;background-color:#fff;padding-inline-end:20px;position:relative;z-index:2;margin:0}.head-title:after{content:\"\";position:absolute;width:100%;height:1px;background-color:#dee0e2;top:50%;left:0;right:0;transform:translateY(-50%);z-index:1}.chamber{margin-bottom:20px}.chamber .chamber-content{background-color:#f8f8f8;padding:20px}.chamber .chamber-content .chamber-select{display:flex}.chamber .chamber-content mat-checkbox{font-size:14px}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: InputComponent, selector: "app-input", inputs: ["label", "hasTooltip", "tooltip", "floatLabel", "className", "showLabel", "matPrefix", "iconPrefixName", "matSuffix", "iconSuffixName", "emitedChangedValue1"] }, { kind: "component", type: ActionButtonsComponent, selector: "lib-action-buttons", inputs: ["lovOptions", "lovType"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
|
|
6351
6443
|
}
|
|
6352
6444
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RequestDetailsSectionComponent, decorators: [{
|
|
6353
6445
|
type: Component,
|
|
6354
6446
|
args: [{ selector: 'app-request-details-section', standalone: true, schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA], imports: [
|
|
6355
|
-
NgClass
|
|
6356
|
-
], template: "<div\r\n [ngClass]=\"{'form-section-divide form-section':!section?.header?.readOnly,'info-section':section?.header?.readOnly}\">\r\n\r\n\r\n\r\n\r\n\r\n\r\n <ds-alert class=\"full\" type=\"warning\" icon=\"info\">\r\n\r\n <div class=\"d-flex gap-2\">\r\n\r\n Request details working fine\r\n\r\n </div>\r\n\r\n </ds-alert>\r\n\r\n<!--\r\n\r\n\r\n <app-textarea class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.agreementName\"\r\n name=\"agreementName\" [labelTextReadMode]=\"i18n.translate('agreementName')\"\r\n [labelTextWriteMode]=\"i18n.translate('agreementName')\" [hasColumnBreak]=\"false\"\r\n [label]=\"i18n.translate('agreementName')\" [required]=\"true\" [minLength]='1' [maxLength]='300'\r\n [isReadOnly]=\"section?.header?.readOnly\" (emitedValue)=\"handleEmitValue($event,'agreementName')\"\r\n [errorMessage]=\"i18n.translate('lenghtMin1Max300')\">\r\n </app-textarea>\r\n <app-textarea class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.agreementDescription\"\r\n name=\"agreementDescription\" [labelTextReadMode]=\"i18n.translate('agreementDescription')\"\r\n [labelTextWriteMode]=\"i18n.translate('agreementDescription')\" [hasColumnBreak]=\"false\"\r\n [label]=\"i18n.translate('agreementDescription')\" [required]=\"true\" [minLength]='1' [maxLength]='300'\r\n [isReadOnly]=\"section?.header?.readOnly\" (emitedValue)=\"handleEmitValue($event,'agreementDescription')\"\r\n [errorMessage]=\"i18n.translate('lenghtMin1Max300')\">\r\n </app-textarea>\r\n <app-textarea class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.agreementSTC\"\r\n name=\"agreementSTC\" [labelTextReadMode]=\"i18n.translate('agreementSTC')\"\r\n [labelTextWriteMode]=\"i18n.translate('agreementSTC')\" [hasColumnBreak]=\"false\"\r\n [label]=\"i18n.translate('agreementSTC')\" [required]=\"true\" [minLength]='1' [maxLength]='300'\r\n [isReadOnly]=\"section?.header?.readOnly\" (emitedValue)=\"handleEmitValue($event,'agreementSTC')\"\r\n [errorMessage]=\"i18n.translate('lenghtMin1Max300')\">\r\n </app-textarea>\r\n <app-textarea class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.contractingPartyName\"\r\n name=\"contractingPartyName\" [labelTextReadMode]=\"i18n.translate('contractingPartyName')\"\r\n [labelTextWriteMode]=\"i18n.translate('contractingPartyName')\" [hasColumnBreak]=\"false\"\r\n [label]=\"i18n.translate('contractingPartyName')\" [required]=\"true\" [minLength]='1' [maxLength]='300'\r\n [isReadOnly]=\"section?.header?.readOnly\" (emitedValue)=\"handleEmitValue($event,'contractingPartyName')\"\r\n [errorMessage]=\"i18n.translate('lenghtMin1Max300')\">\r\n </app-textarea>\r\n\r\n\r\n <app-input class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.representativeParty\"\r\n name=\"representativeParty\" [labelTextReadMode]=\"i18n.translate('representativeParty')\"\r\n [labelTextWriteMode]=\"i18n.translate('representativeParty')\" [hasColumnBreak]=\"false\"\r\n [label]=\"i18n.translate('representativeParty')\" [required]=\"true\" [isReadOnly]=\"section?.header?.readOnly\"\r\n (emitedValue)=\"handleEmitValue($event,'representativeParty')\">\r\n </app-input>\r\n\r\n <app-input class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.IBAN\" name=\"IBAN\"\r\n [labelTextReadMode]=\"i18n.translate('IBAN')\" [labelTextWriteMode]=\"i18n.translate('IBAN')\" [hasColumnBreak]=\"false\"\r\n [label]=\"i18n.translate('IBAN')\" [required]=\"false\" [isReadOnly]=\"section?.header?.readOnly\"\r\n (emitedValue)=\"handleEmitValue($event,'IBAN')\">\r\n </app-input>\r\n <app-input class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.bankName\" name=\"bankName\"\r\n [labelTextReadMode]=\"i18n.translate('bankName')\" [labelTextWriteMode]=\"i18n.translate('bankName')\"\r\n [hasColumnBreak]=\"false\" [label]=\"i18n.translate('bankName')\" [required]=\"false\"\r\n [isReadOnly]=\"section?.header?.readOnly\" (emitedValue)=\"handleEmitValue($event,'bankName')\">\r\n </app-input>\r\n <app-input class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.locationSystem\"\r\n name=\"locationSystem\" [labelTextReadMode]=\"i18n.translate('locationSystem')\"\r\n [labelTextWriteMode]=\"i18n.translate('locationSystem')\" [hasColumnBreak]=\"false\"\r\n [label]=\"i18n.translate('locationSystem')\" [required]=\"true\" [isReadOnly]=\"section?.header?.readOnly\"\r\n (emitedValue)=\"handleEmitValue($event,'locationSystem')\">\r\n </app-input>\r\n <app-input class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.addressSystem\"\r\n name=\"addressSystem\" [labelTextReadMode]=\"i18n.translate('addressSystem')\"\r\n [labelTextWriteMode]=\"i18n.translate('addressSystem')\" [hasColumnBreak]=\"false\"\r\n [label]=\"i18n.translate('addressSystem')\" [required]=\"true\" [isReadOnly]=\"section?.header?.readOnly\"\r\n (emitedValue)=\"handleEmitValue($event,'addressSystem')\">\r\n </app-input>\r\n <app-select class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.Currency\" name=\"Currency\"\r\n [labelTextReadMode]=\"i18n.translate('Currency')\" [labelTextWriteMode]=\"i18n.translate('Currency')\"\r\n [hasColumnBreak]=\"false\" [label]=\"i18n.translate('Currency')\" [lov]=\"lov?.Currency\" [required]=\"true\"\r\n [isReadOnly]=\"section?.header?.readOnly\" (emitedValue)=\"handleEmitValue($event,'Currency')\">\r\n </app-select>\r\n <app-input class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.vendorNumber\" name=\"vendorNumber\"\r\n [labelTextReadMode]=\"i18n.translate('vendorNumber')\" [labelTextWriteMode]=\"i18n.translate('vendorNumber')\"\r\n [hasColumnBreak]=\"false\" [label]=\"i18n.translate('vendorNumber')\" [required]=\"true\"\r\n [isReadOnly]=\"section?.header?.readOnly\" (emitedValue)=\"handleEmitValue($event,'vendorNumber')\">\r\n </app-input>\r\n\r\n <app-input-currency class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.agreementAmount\"\r\n name=\"agreementAmount\" [labelTextReadMode]=\"i18n.translate('agreementAmount')\"\r\n [labelTextWriteMode]=\"i18n.translate('agreementAmount')\" [hasColumnBreak]=\"false\"\r\n [label]=\"i18n.translate('agreementAmount')\" [required]=\"true\" [isReadOnly]=\"section?.header?.readOnly\"\r\n (emitedValue)=\"handleEmitValue($event,'agreementAmount')\">\r\n </app-input-currency>\r\n\r\n <app-input class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.FCS\" name=\"FCS\"\r\n [labelTextReadMode]=\"i18n.translate('FCS')\" [labelTextWriteMode]=\"i18n.translate('FCS')\" [hasColumnBreak]=\"false\"\r\n [label]=\"i18n.translate('FCS')\" [required]=\"true\" [isReadOnly]=\"section?.header?.readOnly\"\r\n (emitedValue)=\"handleEmitValue($event,'FCS')\">\r\n </app-input>\r\n <app-textarea class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.agreementPeriod\"\r\n name=\"agreementPeriod\" [labelTextReadMode]=\"i18n.translate('agreementPeriod')\"\r\n [labelTextWriteMode]=\"i18n.translate('agreementPeriod')\" [hasColumnBreak]=\"false\"\r\n [label]=\"i18n.translate('agreementPeriod')\" [required]=\"true\" [minLength]='1' [maxLength]='300'\r\n [isReadOnly]=\"section?.header?.readOnly\" (emitedValue)=\"handleEmitValue($event,'agreementPeriod')\"\r\n [errorMessage]=\"i18n.translate('lenghtMin1Max300')\">\r\n </app-textarea>\r\n <app-datepicker class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.startDate\" name=\"startDate\"\r\n [labelTextReadMode]=\"i18n.translate('startDate')\" [labelTextWriteMode]=\"i18n.translate('startDate')\"\r\n [hasColumnBreak]=\"false\" [label]=\"i18n.translate('startDate')\" [required]=\"true\"\r\n [isReadOnly]=\"section?.header?.readOnly\" (emitedValue)=\"handleEmitValue($event,'startDate')\">\r\n </app-datepicker>\r\n <app-datepicker class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.endDate\" name=\"endDate\"\r\n [labelTextReadMode]=\"i18n.translate('endDate')\" [labelTextWriteMode]=\"i18n.translate('endDate')\"\r\n [hasColumnBreak]=\"false\" [label]=\"i18n.translate('endDate')\" [required]=\"true\"\r\n [isReadOnly]=\"section?.header?.readOnly\" (emitedValue)=\"handleEmitValue($event,'endDate')\">\r\n </app-datepicker>\r\n\r\n <app-input-currency class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.purchaseOrderAmount\"\r\n name=\"purchaseOrderAmount\" [labelTextReadMode]=\"i18n.translate('purchaseOrderAmount')\"\r\n [labelTextWriteMode]=\"i18n.translate('purchaseOrderAmount')\" [hasColumnBreak]=\"false\"\r\n [label]=\"i18n.translate('purchaseOrderAmount')\" [required]=\"true\" [isReadOnly]=\"section?.header?.readOnly\"\r\n (emitedValue)=\"handleEmitValue($event,'purchaseOrderAmount')\">\r\n </app-input-currency>\r\n\r\n <app-select class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.currencyPurchaseOrder\"\r\n name=\"currencyPurchaseOrder\" [labelTextReadMode]=\"i18n.translate('currencyPurchaseOrder')\"\r\n [labelTextWriteMode]=\"i18n.translate('currencyPurchaseOrder')\" [hasColumnBreak]=\"false\"\r\n [label]=\"i18n.translate('currencyPurchaseOrder')\" [lov]=\"lov?.currencyPurchaseOrder\" [required]=\"true\"\r\n [isReadOnly]=\"section?.header?.readOnly\" (emitedValue)=\"handleEmitValue($event,'currencyPurchaseOrder')\">\r\n </app-select>\r\n <app-input class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.typeContract\" name=\"typeContract\"\r\n [labelTextReadMode]=\"i18n.translate('typeContract')\" [labelTextWriteMode]=\"i18n.translate('typeContract')\"\r\n [hasColumnBreak]=\"false\" [label]=\"i18n.translate('typeContract')\" [required]=\"true\"\r\n [isReadOnly]=\"section?.header?.readOnly\" (emitedValue)=\"handleEmitValue($event,'typeContract')\">\r\n </app-input>\r\n <app-input class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.expenseNumber\"\r\n name=\"expenseNumber\" [labelTextReadMode]=\"i18n.translate('expenseNumber')\"\r\n [labelTextWriteMode]=\"i18n.translate('expenseNumber')\" [hasColumnBreak]=\"false\"\r\n [label]=\"i18n.translate('expenseNumber')\" [required]=\"true\" [isReadOnly]=\"section?.header?.readOnly\"\r\n (emitedValue)=\"handleEmitValue($event,'expenseNumber')\">\r\n </app-input>\r\n <app-input class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.depNo\" name=\"depNo\"\r\n [labelTextReadMode]=\"i18n.translate('depNo')\" [labelTextWriteMode]=\"i18n.translate('depNo')\"\r\n [hasColumnBreak]=\"false\" [label]=\"i18n.translate('depNo')\" [required]=\"true\"\r\n [isReadOnly]=\"section?.header?.readOnly\" (emitedValue)=\"handleEmitValue($event,'depNo')\">\r\n </app-input>\r\n <app-input class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.depName\" name=\"depName\"\r\n [labelTextReadMode]=\"i18n.translate('depName')\" [labelTextWriteMode]=\"i18n.translate('depName')\"\r\n [hasColumnBreak]=\"false\" [label]=\"i18n.translate('depName')\" [required]=\"true\"\r\n [isReadOnly]=\"section?.header?.readOnly\" (emitedValue)=\"handleEmitValue($event,'depName')\">\r\n </app-input>\r\n <app-input class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.PRNo\" name=\"PRNo\"\r\n [labelTextReadMode]=\"i18n.translate('PRNo')\" [labelTextWriteMode]=\"i18n.translate('PRNo')\" [hasColumnBreak]=\"false\"\r\n [label]=\"i18n.translate('PRNo')\" [required]=\"true\" [isReadOnly]=\"section?.header?.readOnly\"\r\n (emitedValue)=\"handleEmitValue($event,'PRNo')\">\r\n </app-input>\r\n <app-input class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.POPeriod\" name=\"POPeriod\"\r\n [labelTextReadMode]=\"i18n.translate('POPeriod')\" [labelTextWriteMode]=\"i18n.translate('POPeriod')\"\r\n [hasColumnBreak]=\"false\" [label]=\"i18n.translate('POPeriod')\" [required]=\"true\"\r\n [isReadOnly]=\"section?.header?.readOnly\" (emitedValue)=\"handleEmitValue($event,'POPeriod')\">\r\n </app-input>\r\n\r\n\r\n\r\n <app-textarea *ngIf=\"(section?.body?.details?.IS_SENDBACK == 'true') || (!!section?.body?.details?.Comments)\"\r\n class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.Comments\" name=\"Comments\"\r\n [labelTextReadMode]=\"i18n.translate('Comments')\" [labelTextWriteMode]=\"i18n.translate('Comments')\"\r\n [hasColumnBreak]=\"false\" [label]=\"i18n.translate('Comments')\" [required]=\"true\" [minLength]='1' [maxLength]='2000'\r\n [isReadOnly]=\"section?.header?.readOnly\" (emitedValue)=\"handleEmitValue($event,'Comments')\"\r\n [errorMessage]=\"i18n.translate('lenghtMin1Max2000')\">\r\n </app-textarea>\r\n\r\n\r\n\r\n <!– <app-file-uploader class=\"section-item\" [section]=\"section\" [field]=\"section?.body?.details?.attachment\" name=\"attachment\" [labelTextReadMode]=\"i18n.translate('attachment')\"\r\n [labelTextWriteMode]=\"i18n.translate('attachment')\" [hasColumnBreak]=\"false\" [label]=\"i18n.translate('attachment')\"\r\n\r\n [required]=\"true\" [multiple]=\"true\" [displayedFiles]=\"section?.body?.details?.attachment\"\r\n [isReadOnly]=\"section?.header?.readOnly\" (emitedValue)=\"handleEmitValue($event,'attachment')\"[callApi]=\"true\">\r\n </app-file-uploader> –>\r\n\r\n\r\n\r\n\r\n <app-attachment-section class=\"section-item full\" [field]=\"section?.body?.details?.attachment\" [labelTextReadMode]=\"\"\r\n [labelTextWriteMode]=\"\" [hasColumnBreak]=\"\" [label]=\"\" [required]=\"false\" [isRequired]=\"true\"\r\n [isReadOnly]=\"section?.header?.readOnly\" [attachments]=\"section?.body?.details?.attachment\"\r\n (emitedValue)=\"handleEmitValue($event,'attachment')\">\r\n </app-attachment-section>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n-->\r\n\r\n</div>\r\n\r\n\r\n<!--<div class=\"mt-4\" *ngIf=\"!section?.header?.readOnly\">\r\n\r\n <div class=\"d-flex align-items-center gap-3\" *ngIf=\"lov?.decision?.type === 'button'\">\r\n <ds-button shape=\"text\" color=\"red\" (click)=\"resetForm()\">\r\n <span class=\"fs-16 fw-medium\">{{i18n.translate('reset')}}</span>\r\n </ds-button>\r\n <div class=\"d-flex flex-wrap align-items-center flex-grow-1 flex-row-reverse gap-3\">\r\n <ng-container *ngFor=\"let item of lov?.decision?.options\">\r\n <ds-button [ngClass]=\"{'disabled':!validForm(item?.value) || profileRequestorService.disableButtons}\"\r\n (click)=\"onSubmit(item?.value) \" [loading]=\"profileRequestorService.isSubmitting[item?.value]\"\r\n *ngIf=\"item?.value === 'SUBMIT'\">{{item?.description}}</ds-button>\r\n\r\n <ds-button [ngClass]=\"{'disabled':!validForm(item?.value) || profileRequestorService.disableButtons}\"\r\n (click)=\"onSubmit(item?.value) \" [loading]=\"profileRequestorService.isSubmitting[item?.value]\"\r\n *ngIf=\"item?.value === 'APPROVE'\">{{item?.description}}</ds-button>\r\n <ds-button [ngClass]=\"{'disabled':!validForm(item?.value) || profileRequestorService.disableButtons}\"\r\n (click)=\"onSubmit(item?.value)\" shape=\"outline\" color=\"red\"\r\n [loading]=\"profileRequestorService.isSubmitting[item?.value]\" *ngIf=\"item?.value === 'REJECT'\">\r\n {{item?.description}}</ds-button>\r\n <ds-button [ngClass]=\"{'disabled':!validForm(item?.value) || profileRequestorService.disableButtons}\"\r\n (click)=\"onSubmit(item?.value)\" shape=\"outline\" color=\"red\"\r\n [loading]=\"profileRequestorService.isSubmitting[item?.value]\" *ngIf=\"item?.value === 'CANCEL'\">\r\n {{item?.description}}</ds-button>\r\n <ds-button [ngClass]=\"{'disabled':!validForm(item?.value) || profileRequestorService.disableButtons}\"\r\n (click)=\"onSubmit(item?.value)\" shape=\"outline\" [loading]=\"profileRequestorService.isSubmitting[item?.value]\"\r\n *ngIf=\"item?.value === 'SENDBACK'\">\r\n {{item?.description}}</ds-button>\r\n\r\n <ds-button [ngClass]=\"{'disabled':!validForm(item?.value) || profileRequestorService.disableButtons}\"\r\n (click)=\"onSubmit(item?.value) \" [loading]=\"profileRequestorService.isSubmitting[item?.value]\"\r\n *ngIf=\"!(item?.value === 'SUBMIT' || item?.value === 'APPROVE' || item?.value === 'SENDBACK' || item?.value === 'REJECT' || item?.value === 'CANCEL')\">\r\n {{item?.description}}</ds-button>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <div class=\"d-flex flex-wrap align-items-center flex-grow-1 justify-content-end gap-3\"\r\n *ngIf=\"lov?.decision?.type !== 'button'\">\r\n <ds-button shape=\"text\" color=\"red\" (click)=\"resetForm()\">\r\n <span class=\"fs-16 fw-medium\">{{i18n.translate('reset')}}</span>\r\n </ds-button>\r\n <ds-button [ngClass]=\"{'disabled':!validForm('SUBMIT')}\"\r\n [loading]=\"profileRequestorService.isSubmitting[item?.value]\"\r\n (click)=\"onSubmit('SUBMIT') || profileRequestorService.disableButtons\">\r\n {{i18n.translate('submit')}}\r\n </ds-button>\r\n </div>\r\n</div>-->\r\n", styles: [".form-section-divide{--form-section-columns: 1fr 1fr}@media (max-width: 756px){.form-section-divide{--form-section-columns: 100%}}.form-section-divide .full{grid-column:1/-1}.head-title{position:relative;margin-bottom:12px}.head-title h3{display:inline-block;color:#8e9aa0;font-size:14px;font-weight:500;background-color:#fff;padding-inline-end:20px;position:relative;z-index:2;margin:0}.head-title:after{content:\"\";position:absolute;width:100%;height:1px;background-color:#dee0e2;top:50%;left:0;right:0;transform:translateY(-50%);z-index:1}.chamber{margin-bottom:20px}.chamber .chamber-content{background-color:#f8f8f8;padding:20px}.chamber .chamber-content .chamber-select{display:flex}.chamber .chamber-content mat-checkbox{font-size:14px}\n"] }]
|
|
6357
|
-
|
|
6447
|
+
NgClass,
|
|
6448
|
+
InputComponent,
|
|
6449
|
+
NgIf,
|
|
6450
|
+
NgForOf,
|
|
6451
|
+
ActionButtonsComponent,
|
|
6452
|
+
ReactiveFormsModule,
|
|
6453
|
+
], template: "<div\r\n [ngClass]=\"{'form-section-divide form-section':!section?.header?.readOnly,'info-section':section?.header?.readOnly}\">\r\n\r\n\r\n <ds-alert class=\"full\" type=\"warning\" icon=\"info\">\r\n\r\n <div class=\"d-flex gap-2\">\r\n\r\n Request details working fine\r\n\r\n </div>\r\n\r\n </ds-alert>\r\n\r\n <form [formGroup]=\"fieldsForm\">\r\n <app-input formControlName=\"input1\" ></app-input>\r\n </form>\r\n\r\n</div>\r\n@if (!section?.header?.readOnly) {\r\n <div class=\"mt-4\">\r\n <lib-action-buttons\r\n [lovOptions]=\"lov?.['decision']?.options\"\r\n [lovType]=\"lov?.['decision']?.type\"\r\n />\r\n </div>\r\n}\r\n", styles: [".form-section-divide{--form-section-columns: 1fr 1fr}@media (max-width: 756px){.form-section-divide{--form-section-columns: 100%}}.form-section-divide .full{grid-column:1/-1}.head-title{position:relative;margin-bottom:12px}.head-title h3{display:inline-block;color:#8e9aa0;font-size:14px;font-weight:500;background-color:#fff;padding-inline-end:20px;position:relative;z-index:2;margin:0}.head-title:after{content:\"\";position:absolute;width:100%;height:1px;background-color:#dee0e2;top:50%;left:0;right:0;transform:translateY(-50%);z-index:1}.chamber{margin-bottom:20px}.chamber .chamber-content{background-color:#f8f8f8;padding:20px}.chamber .chamber-content .chamber-select{display:flex}.chamber .chamber-content mat-checkbox{font-size:14px}\n"] }]
|
|
6454
|
+
}], ctorParameters: () => [{ type: CoreI18nService }, { type: i1$2.FormBuilder }, { type: ActionStateService }], propDecorators: { isReadOnly: [{
|
|
6358
6455
|
type: Input
|
|
6359
6456
|
}], section: [{
|
|
6360
6457
|
type: Input
|
|
@@ -6590,8 +6687,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
6590
6687
|
|
|
6591
6688
|
var segmentDynamicLoaderConfiguration = {
|
|
6592
6689
|
roleToApprovalSectionMapping: {
|
|
6593
|
-
|
|
6594
|
-
wpo_gm: GeneralApproverSectionComponent
|
|
6690
|
+
vpr_d: GeneralApproverSectionComponent
|
|
6595
6691
|
}
|
|
6596
6692
|
};
|
|
6597
6693
|
|
|
@@ -6684,7 +6780,7 @@ class CoreAppComponent {
|
|
|
6684
6780
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: CoreAppComponent, deps: [{ token: SegmentDynamicLoaderService }, { token: DOCUMENT }, { token: i2$2.Router }, { token: SidenavService }, { token: CoreService }], target: i0.ɵɵFactoryTarget.Component });
|
|
6685
6781
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: CoreAppComponent, isStandalone: true, selector: "lib-app", providers: [
|
|
6686
6782
|
{ provide: DynamicComponentInjectorToken, useValue: { /* your value here */} }
|
|
6687
|
-
], ngImport: i0, template: "<core-layout>\r\n @if (!loading['form']) {\r\n <core-service-header\r\n [isLoading]=\"false\"\r\n [formTitle]=\"formTitle\"\r\n [form]=\"form\">\r\n </core-service-header>\r\n
|
|
6783
|
+
], ngImport: i0, template: "<core-layout>\r\n @if (!loading['form']) {\r\n <core-service-header\r\n [isLoading]=\"false\"\r\n [formTitle]=\"formTitle\"\r\n [form]=\"form\">\r\n </core-service-header>\r\n <app-workflow-section\r\n workflow\r\n [form]=\"form\"\r\n [segmentDynamicLoaderService]=\"segmentDynamicLoader\"\r\n [sections]=\"form?.sections\">\r\n \r\n <app-request-details-section [section]=\"form?.sections[0]\" [lov]=\"form?.lovs\" className=\"form-section\"></app-request-details-section>\r\n <!-- [isReadOnly]=\"form.sections[0].header.readOnly\"-->\r\n </app-workflow-section>\r\n } @else {\r\n <core-service-header header [formTitle]=\"formTitle\" [isLoading]=\"true\">\r\n </core-service-header>\r\n }\r\n</core-layout>\r\n", styles: [""], dependencies: [{ kind: "component", type:
|
|
6688
6784
|
// DynamicModule,
|
|
6689
6785
|
LayoutComponent, selector: "core-layout", inputs: ["form", "formTitle", "isLoading", "serviceBrief"] }, { kind: "component", type: ServiceHeaderComponent, selector: "core-service-header", inputs: ["form", "showHistory", "isLoading", "showApprovalHistory", "approvalHistory", "creationDate", "formTitle", "section", "serviceBrief"] }, { kind: "component", type: WorkflowSectionComponent, selector: "app-workflow-section", inputs: ["sections", "isReadOnly", "isLoading", "form", "contentClass", "sectionsController", "segmentDynamicLoaderService", "sectionFormComponent", "sectionName"], outputs: ["sectionSubmitted"] }, { kind: "component", type: RequestDetailsSectionComponent, selector: "app-request-details-section", inputs: ["isReadOnly", "section", "lov", "className"] }] });
|
|
6690
6786
|
}
|
|
@@ -6698,7 +6794,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
6698
6794
|
RequestDetailsSectionComponent
|
|
6699
6795
|
], providers: [
|
|
6700
6796
|
{ provide: DynamicComponentInjectorToken, useValue: { /* your value here */} }
|
|
6701
|
-
], template: "<core-layout>\r\n @if (!loading['form']) {\r\n <core-service-header\r\n [isLoading]=\"false\"\r\n [formTitle]=\"formTitle\"\r\n [form]=\"form\">\r\n </core-service-header>\r\n
|
|
6797
|
+
], template: "<core-layout>\r\n @if (!loading['form']) {\r\n <core-service-header\r\n [isLoading]=\"false\"\r\n [formTitle]=\"formTitle\"\r\n [form]=\"form\">\r\n </core-service-header>\r\n <app-workflow-section\r\n workflow\r\n [form]=\"form\"\r\n [segmentDynamicLoaderService]=\"segmentDynamicLoader\"\r\n [sections]=\"form?.sections\">\r\n \r\n <app-request-details-section [section]=\"form?.sections[0]\" [lov]=\"form?.lovs\" className=\"form-section\"></app-request-details-section>\r\n <!-- [isReadOnly]=\"form.sections[0].header.readOnly\"-->\r\n </app-workflow-section>\r\n } @else {\r\n <core-service-header header [formTitle]=\"formTitle\" [isLoading]=\"true\">\r\n </core-service-header>\r\n }\r\n</core-layout>\r\n" }]
|
|
6702
6798
|
}], ctorParameters: () => [{ type: SegmentDynamicLoaderService }, { type: Document, decorators: [{
|
|
6703
6799
|
type: Inject,
|
|
6704
6800
|
args: [DOCUMENT]
|
|
@@ -7203,5 +7299,5 @@ const MY_LIB_CONFIG_TOKEN = new InjectionToken('MyLibConfig');
|
|
|
7203
7299
|
* Generated bundle index. Do not edit.
|
|
7204
7300
|
*/
|
|
7205
7301
|
|
|
7206
|
-
export { ArOnlyDirective, AttachmentSectionComponent, AttachmentSectionDataComponent, BaseComponent, BuiltInCustomValidators, COMMENT_CONTAINER, CheckBoxComponent, CommentSectionComponent, CommentsDrop, ConfirmDialogComponent, ConfirmationPopupComponent, CoreAppComponent, CoreI18nService, CoreService, CustomSearchableComponent, DATE_DASH, DATE_SLASH, DATE_TIME, DONT_SHOW, DatePickerComponent, DateRangePickerComponent, DeleteDialogComponent, DeletePopupComponent, DocsUploaderComponent, EnOnlyDirective, FALSE_BOOL, FALSE_STRING, FEEDBACK_CONTAINER, FEEDBACK_STATUS_REQUEST, FEEDBACK_STATUS_RESPOND, FEEDBACK_STATUS_RESPONDED, FEEDBACK_STATUS_WAITING, FORM_STATUS_APPROVED, FORM_STATUS_CANCELLED, FORM_STATUS_COMPLETED, FORM_STATUS_NEW, FORM_STATUS_PENDING, FORM_STATUS_REJECTED, FORM_STATUS_SEND_BACK, FeedBackService, FeedbackSectionComponent, Form, FormLabelComponent, FormSectionComponent, FormValidation, FormatAsPasswordPipe, FormatTimePipe, GETSIPORTENTRYGROUPS, GETSIPORTENTRYLOCATIONS, HAS_COMMENTS, HEADER_CONTENT_TYPE_FORM, HTTP_METHOD_GET, HTTP_METHOD_POST, HTTP_METHOD_PUT, HTTP_PROTOCOL_HTTP, HTTP_PROTOCOL_HTTPS, Header, IGATE_STATIC_ASSET_PROFILE_PHOTO_URL, INBOX_STATUS_PENDING, INBOX_STATUS_PROCESSED, INBOX_STATUS_SENT, InboxItem, InfoItemComponent, InputComponent, InputCurrencyComponent, InputEmailComponent, InputMaskComponent, InputNumberComponent, InputTelephoneComponent, LANGUAGE_CODE_AR, LANGUAGE_CODE_EN, LOGOUT_URL, LayoutComponent, MY_LIB_CONFIG_TOKEN, MainRequestDetailsComponent, Messages, MycurrencyDirective, MycurrencyPipe, NO_COMMENTS, NO_VALUE, PROCESS_NAME_CODE, PROFILE_CONTAINER, ProfileInfoDrop, ProfileSectionComponent, READ_ONLY, REPORT, ROLE_REQUESTER, RadioComponent, RepeatedListComponent, SECTION_ID_APPROVAL_PARTIAL_NAME, SECTION_ID_DM_PARTIAL_ROLE, SECTION_ID_EMP_INFO_APPROVAL_PARTIAL_ROLE, SECTION_ID_EXECUTE_PARTIAL_ROLE, SECTION_ID_GM_PARTIAL_ROLE, SECTION_ID_NOTHING_PARTIAL_NAME, SECTION_ID_PAYROLL_APPROVAL_PARTIAL_ROLE, SECTION_ID_PERFORM_PARTIAL_ROLE, SECTION_ID_REQUESTER_PARTIAL_NAME, SECTION_ID_REQUEST_DETAILS, SECTION_ID_SM_PARTIAL_ROLE, SECTION_ID_SVP_PARTIAL_ROLE, SECTION_ID_VP_PARTIAL_ROLE, SECTION_STATUS_APPROVED, SECTION_STATUS_PENDING, SECTION_STATUS_UNSATISFIED, SERVICE_NAME_CEP, SERVICE_NAME_DP_CREATE_FEEDBACK, SERVICE_NAME_DP_INBOX_ITEM, SERVICE_NAME_DP_LOAD_HISTORY, SERVICE_NAME_DP_SEARCH_EMPLOYEE, SERVICE_NAME_DP_UPDATE_FEEDBACK, SERVICE_NAME_DP_UPDATE_INBOX_ITEM, SERVICE_NAME_MAF, SERVICE_NAME_WM_CHILD_FORM, SERVICE_NAME_WM_DRAFT_FORM, SERVICE_NAME_WM_FORM, SERVICE_NAME_WM_GET_APPROVED_REQUEST, SERVICE_NAME_WM_GET_MY_APPROVED_REQUEST, SERVICE_NAME_WM_HTML_GENERATOR, STATE_MACHINE_ACTION_CALC, STATE_MACHINE_ACTION_COMMONAPI, STATE_MACHINE_ACTION_CONVERT, STATE_MACHINE_ACTION_EMPLOYEE_PROFILE, STATE_MACHINE_ACTION_FAILURE, STATE_MACHINE_ACTION_GET_APPROVED_REQUEST, STATE_MACHINE_ACTION_GET_APPROVED_REQUEST_RESPONSE, STATE_MACHINE_ACTION_GET_FEEDBACK, STATE_MACHINE_ACTION_GET_INBOX_ITEM, STATE_MACHINE_ACTION_HANDLE_ERROR, STATE_MACHINE_ACTION_INBOX_ITEM_RESPONSE, STATE_MACHINE_ACTION_LOAD_FILE, STATE_MACHINE_ACTION_LOAD_FORM, STATE_MACHINE_ACTION_LOAD_HISTORY, STATE_MACHINE_ACTION_PDF, STATE_MACHINE_ACTION_PPROVED_REQUESTS, STATE_MACHINE_ACTION_PROJECT_CEP, STATE_MACHINE_ACTION_PROJECT_MAF, STATE_MACHINE_ACTION_SEARCH, STATE_MACHINE_ACTION_SEARCH_EMPLOYEE, STATE_MACHINE_ACTION_SET_FLAG, STATE_MACHINE_ACTION_SHOW_PRINT, STATE_MACHINE_ACTION_SUBMIT_FEEDBACK, STATE_MACHINE_ACTION_SUBMIT_FORM, STATE_MACHINE_ACTION_SUCCESS, STATE_MACHINE_ACTION_SUCCESS_HISTORY, STATE_MACHINE_ACTION_SUCCESS_INBOX_ITEM, STATE_MACHINE_ACTION_SUCCESS_PRINT, STATE_MACHINE_ACTION_SUCCESS_RESPONSE, STATE_MACHINE_ACTION_SUCCESS_SERVICES, STATE_MACHINE_ACTION_SUCCESS_USERS, STATE_MACHINE_ACTION_SUCCESS_WM, STATE_MACHINE_ACTION_UPDATE_FEEDBACK, STATE_MACHINE_ACTION_USER_CEP, STATE_MACHINE_ACTION_USER_MAF, STATE_MACHINE_STATUS_ERROR, STATE_MACHINE_STATUS_FETCHING, STATE_MACHINE_STATUS_IDLE, STATE_MACHINE_STATUS_RESULT, STATE_MACHINE_STATUS_SENDING, STATE_NAME_DP_GET_FEEDBACK, SearchEmployeeComponent, Section, SectionHeader, SelectComponent, ServiceHeaderComponent, SidenavService, SpecialCharacterDirective, StatusComponent, SubmitDialogComponent, TARGET_SERVER_DP, TARGET_SERVER_WM, TRUE_BOOL, TRUE_STRING, TableListComponent, TermsConditionsComponent, TextDirective, TextareaComponent, TitleSectionComponent, ToggleButtonComponent, URL_SEPARATOR, WM_ACTION_SAVE, WM_ACTION_SAVE_CHANGES, WM_ACTION_SUBMIT, WRITE_MODE, WorkflowSectionComponent, dataURItoBlob, encodePassword, handelErrorResponse, isValidData, stringToBooleanPipe, validateSAID };
|
|
7302
|
+
export { ArOnlyDirective, AttachmentSectionComponent, AttachmentSectionDataComponent, BaseComponent, BuiltInCustomValidators, COMMENT_CONTAINER, CheckBoxComponent, CommentSectionComponent, CommentsDrop, ConfirmDialogComponent, ConfirmationPopupComponent, CoreAppComponent, CoreI18nService, CoreService, CustomSearchableComponent, DATE_DASH, DATE_SLASH, DATE_TIME, DONT_SHOW, DatePickerComponent, DateRangePickerComponent, DeleteDialogComponent, DeletePopupComponent, DocsUploaderComponent, EnOnlyDirective, FALSE_BOOL, FALSE_STRING, FEEDBACK_CONTAINER, FEEDBACK_STATUS_REQUEST, FEEDBACK_STATUS_RESPOND, FEEDBACK_STATUS_RESPONDED, FEEDBACK_STATUS_WAITING, FORM_STATUS_APPROVE, FORM_STATUS_APPROVED, FORM_STATUS_CANCEL, FORM_STATUS_CANCELLED, FORM_STATUS_COMPLETED, FORM_STATUS_NEW, FORM_STATUS_PENDING, FORM_STATUS_REJECT, FORM_STATUS_REJECTED, FORM_STATUS_SEND_BACK, FeedBackService, FeedbackSectionComponent, Form, FormLabelComponent, FormSectionComponent, FormValidation, FormatAsPasswordPipe, FormatTimePipe, GETSIPORTENTRYGROUPS, GETSIPORTENTRYLOCATIONS, HAS_COMMENTS, HEADER_CONTENT_TYPE_FORM, HTTP_METHOD_GET, HTTP_METHOD_POST, HTTP_METHOD_PUT, HTTP_PROTOCOL_HTTP, HTTP_PROTOCOL_HTTPS, Header, IGATE_STATIC_ASSET_PROFILE_PHOTO_URL, INBOX_STATUS_PENDING, INBOX_STATUS_PROCESSED, INBOX_STATUS_SENT, InboxItem, InfoItemComponent, InputComponent, InputCurrencyComponent, InputEmailComponent, InputMaskComponent, InputNumberComponent, InputTelephoneComponent, LANGUAGE_CODE_AR, LANGUAGE_CODE_EN, LOGOUT_URL, LayoutComponent, MY_LIB_CONFIG_TOKEN, MainRequestDetailsComponent, Messages, MycurrencyDirective, MycurrencyPipe, NO_COMMENTS, NO_VALUE, PROCESS_NAME_CODE, PROFILE_CONTAINER, ProfileInfoDrop, ProfileSectionComponent, READ_ONLY, REPORT, ROLE_REQUESTER, RadioComponent, RepeatedListComponent, SECTION_ID_APPROVAL_PARTIAL_NAME, SECTION_ID_DM_PARTIAL_ROLE, SECTION_ID_EMP_INFO_APPROVAL_PARTIAL_ROLE, SECTION_ID_EXECUTE_PARTIAL_ROLE, SECTION_ID_GM_PARTIAL_ROLE, SECTION_ID_NOTHING_PARTIAL_NAME, SECTION_ID_PAYROLL_APPROVAL_PARTIAL_ROLE, SECTION_ID_PERFORM_PARTIAL_ROLE, SECTION_ID_REQUESTER_PARTIAL_NAME, SECTION_ID_REQUEST_DETAILS, SECTION_ID_SM_PARTIAL_ROLE, SECTION_ID_SVP_PARTIAL_ROLE, SECTION_ID_VP_PARTIAL_ROLE, SECTION_STATUS_APPROVED, SECTION_STATUS_PENDING, SECTION_STATUS_UNSATISFIED, SERVICE_NAME_CEP, SERVICE_NAME_DP_CREATE_FEEDBACK, SERVICE_NAME_DP_INBOX_ITEM, SERVICE_NAME_DP_LOAD_HISTORY, SERVICE_NAME_DP_SEARCH_EMPLOYEE, SERVICE_NAME_DP_UPDATE_FEEDBACK, SERVICE_NAME_DP_UPDATE_INBOX_ITEM, SERVICE_NAME_MAF, SERVICE_NAME_WM_CHILD_FORM, SERVICE_NAME_WM_DRAFT_FORM, SERVICE_NAME_WM_FORM, SERVICE_NAME_WM_GET_APPROVED_REQUEST, SERVICE_NAME_WM_GET_MY_APPROVED_REQUEST, SERVICE_NAME_WM_HTML_GENERATOR, STATE_MACHINE_ACTION_CALC, STATE_MACHINE_ACTION_COMMONAPI, STATE_MACHINE_ACTION_CONVERT, STATE_MACHINE_ACTION_EMPLOYEE_PROFILE, STATE_MACHINE_ACTION_FAILURE, STATE_MACHINE_ACTION_GET_APPROVED_REQUEST, STATE_MACHINE_ACTION_GET_APPROVED_REQUEST_RESPONSE, STATE_MACHINE_ACTION_GET_FEEDBACK, STATE_MACHINE_ACTION_GET_INBOX_ITEM, STATE_MACHINE_ACTION_HANDLE_ERROR, STATE_MACHINE_ACTION_INBOX_ITEM_RESPONSE, STATE_MACHINE_ACTION_LOAD_FILE, STATE_MACHINE_ACTION_LOAD_FORM, STATE_MACHINE_ACTION_LOAD_HISTORY, STATE_MACHINE_ACTION_PDF, STATE_MACHINE_ACTION_PPROVED_REQUESTS, STATE_MACHINE_ACTION_PROJECT_CEP, STATE_MACHINE_ACTION_PROJECT_MAF, STATE_MACHINE_ACTION_SEARCH, STATE_MACHINE_ACTION_SEARCH_EMPLOYEE, STATE_MACHINE_ACTION_SET_FLAG, STATE_MACHINE_ACTION_SHOW_PRINT, STATE_MACHINE_ACTION_SUBMIT_FEEDBACK, STATE_MACHINE_ACTION_SUBMIT_FORM, STATE_MACHINE_ACTION_SUCCESS, STATE_MACHINE_ACTION_SUCCESS_HISTORY, STATE_MACHINE_ACTION_SUCCESS_INBOX_ITEM, STATE_MACHINE_ACTION_SUCCESS_PRINT, STATE_MACHINE_ACTION_SUCCESS_RESPONSE, STATE_MACHINE_ACTION_SUCCESS_SERVICES, STATE_MACHINE_ACTION_SUCCESS_USERS, STATE_MACHINE_ACTION_SUCCESS_WM, STATE_MACHINE_ACTION_UPDATE_FEEDBACK, STATE_MACHINE_ACTION_USER_CEP, STATE_MACHINE_ACTION_USER_MAF, STATE_MACHINE_STATUS_ERROR, STATE_MACHINE_STATUS_FETCHING, STATE_MACHINE_STATUS_IDLE, STATE_MACHINE_STATUS_RESULT, STATE_MACHINE_STATUS_SENDING, STATE_NAME_DP_GET_FEEDBACK, SearchEmployeeComponent, Section, SectionHeader, SelectComponent, ServiceHeaderComponent, SidenavService, SpecialCharacterDirective, StatusComponent, SubmitDialogComponent, TARGET_SERVER_DP, TARGET_SERVER_WM, TRUE_BOOL, TRUE_STRING, TableListComponent, TermsConditionsComponent, TextDirective, TextareaComponent, TitleSectionComponent, ToggleButtonComponent, URL_SEPARATOR, WM_ACTION_SAVE, WM_ACTION_SAVE_CHANGES, WM_ACTION_SUBMIT, WRITE_MODE, WorkflowSectionComponent, dataURItoBlob, encodePassword, handelErrorResponse, isValidData, stringToBooleanPipe, validateSAID };
|
|
7207
7303
|
//# sourceMappingURL=bpm-core.mjs.map
|