@pega/angular-sdk-components 0.25.5 → 0.25.7
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/fesm2022/pega-angular-sdk-components.mjs +76 -19
- package/fesm2022/pega-angular-sdk-components.mjs.map +1 -1
- package/lib/_components/designSystemExtension/rich-text-editor/rich-text-editor.component.d.ts +1 -0
- package/lib/_components/infra/Containers/flow-container/flow-container.component.d.ts +1 -0
- package/lib/_components/widget/file-utility/file-utility.component.d.ts +3 -1
- package/lib/_helpers/object-utils.d.ts +8 -0
- package/package.json +1 -1
|
@@ -76,6 +76,7 @@ import * as i8$1 from '@angular/material/chips';
|
|
|
76
76
|
import { MatChipsModule } from '@angular/material/chips';
|
|
77
77
|
import cloneDeep from 'lodash.clonedeep';
|
|
78
78
|
import download from 'downloadjs';
|
|
79
|
+
import debounce from 'lodash.debounce';
|
|
79
80
|
import * as i3$3 from '@angular/material/badge';
|
|
80
81
|
import { MatBadgeModule } from '@angular/material/badge';
|
|
81
82
|
import * as i2$3 from '@angular/material/button-toggle';
|
|
@@ -1309,6 +1310,10 @@ function getRefreshProps(refreshConditions) {
|
|
|
1309
1310
|
}
|
|
1310
1311
|
return refreshConditions.filter(item => item.event && item.event === 'Changes').map(item => [item.field, item.field?.substring(1)]) || [];
|
|
1311
1312
|
}
|
|
1313
|
+
function scrollToTop() {
|
|
1314
|
+
const scrollElement = document.querySelector('.psdk-view-container-top');
|
|
1315
|
+
scrollElement?.scrollIntoView();
|
|
1316
|
+
}
|
|
1312
1317
|
class AssignmentComponent {
|
|
1313
1318
|
constructor(angularPConnect, psService, erService, snackBar, bannerService) {
|
|
1314
1319
|
this.angularPConnect = angularPConnect;
|
|
@@ -1372,6 +1377,7 @@ class AssignmentComponent {
|
|
|
1372
1377
|
}
|
|
1373
1378
|
}
|
|
1374
1379
|
updateChanges() {
|
|
1380
|
+
scrollToTop();
|
|
1375
1381
|
this.registerForRefresh();
|
|
1376
1382
|
// pConn$ may be a 'reference' component, so normalize it
|
|
1377
1383
|
this.newPConn$ = ReferenceComponent.normalizePConn(this.pConn$);
|
|
@@ -2345,6 +2351,7 @@ class FlowContainerComponent extends FlowContainerBaseComponent {
|
|
|
2345
2351
|
// this.containerName$ = oWorkMeta["name"];
|
|
2346
2352
|
if (bLoadChildren && oWorkData) {
|
|
2347
2353
|
this.containerName$ = this.localizedVal(this.getActiveViewLabel() || oWorkData.caseInfo.assignments?.[0].name, undefined, this.localeReference);
|
|
2354
|
+
this.isMultiStep = this.utils.getBooleanValue(oWorkData.caseInfo.assignments?.[0].isMultiStep);
|
|
2348
2355
|
}
|
|
2349
2356
|
// turn off spinner
|
|
2350
2357
|
this.psService.sendMessage(false);
|
|
@@ -2616,11 +2623,11 @@ class FlowContainerComponent extends FlowContainerBaseComponent {
|
|
|
2616
2623
|
});
|
|
2617
2624
|
}
|
|
2618
2625
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: FlowContainerComponent, deps: [{ token: i0.Injector }, { token: i0.ChangeDetectorRef }, { token: ProgressSpinnerService }, { token: i2.FormBuilder }, { token: i0.NgZone }, { token: Utils }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2619
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: FlowContainerComponent, isStandalone: true, selector: "app-flow-container", inputs: { pConn$: "pConn$" }, providers: [Utils], usesInheritance: true, ngImport: i0, template: "<div style=\"text-align: left\" class=\"psdk-flow-container-top\">\n <div *ngIf=\"!bShowConfirm\">\n <div *ngIf=\"!todo_showTodo$\">\n <h2>{{ containerName$ }}</h2>\n <div *ngIf=\"banners?.length\">\n <component-mapper name=\"AlertBanner\" [props]=\"{ banners }\"></component-mapper>\n </div>\n </div>\n <div *ngIf=\"todo_showTodo$\">\n <component-mapper\n *ngIf=\"pConnectOfActiveContainerItem\"\n name=\"Todo\"\n [props]=\"{\n pConn$: pConnectOfActiveContainerItem,\n caseInfoID$: todo_caseInfoID$,\n datasource$: todo_datasource$,\n showTodoList$: todo_showTodoList$,\n headerText$: todo_headerText$,\n type$: 'TODO',\n context$: todo_context$,\n isConfirm: true\n }\"\n ></component-mapper>\n </div>\n <div *ngIf=\"!todo_showTodo$\">\n <component-mapper\n *ngIf=\"pConnectOfActiveContainerItem\"\n name=\"Assignment\"\n [props]=\"{ pConn$: pConnectOfActiveContainerItem, formGroup$, arChildren$, itemKey$ }\"\n ></component-mapper>\n </div>\n </div>\n <div *ngIf=\"bHasCaseMessages$\">\n <mat-card class=\"psdk-message-card\">\n <div style=\"display: flex; flex-direction: row; align-items: center\">\n <div><img class=\"psdk-icon\" src=\"{{ checkSvg$ }}\" /></div>\n <div>{{ caseMessages$ }}</div>\n </div>\n </mat-card>\n </div>\n <div *ngIf=\"bShowBanner && bShowConfirm && confirm_pconn\">\n <component-mapper name=\"View\" [props]=\"{ formGroup$, pConn$: confirm_pconn }\"></component-mapper>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i1.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatCardModule) }, { kind: "component", type: i0.forwardRef(() => i1$1.MatCard), selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
|
|
2626
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: FlowContainerComponent, isStandalone: true, selector: "app-flow-container", inputs: { pConn$: "pConn$" }, providers: [Utils], usesInheritance: true, ngImport: i0, template: "<div style=\"text-align: left\" class=\"psdk-flow-container-top\">\n <div *ngIf=\"!bShowConfirm\">\n <div *ngIf=\"!todo_showTodo$\">\n <h2 *ngIf=\"!isMultiStep\">{{ containerName$ }}</h2>\n <div *ngIf=\"banners?.length\">\n <component-mapper name=\"AlertBanner\" [props]=\"{ banners }\"></component-mapper>\n </div>\n </div>\n <div *ngIf=\"todo_showTodo$\">\n <component-mapper\n *ngIf=\"pConnectOfActiveContainerItem\"\n name=\"Todo\"\n [props]=\"{\n pConn$: pConnectOfActiveContainerItem,\n caseInfoID$: todo_caseInfoID$,\n datasource$: todo_datasource$,\n showTodoList$: todo_showTodoList$,\n headerText$: todo_headerText$,\n type$: 'TODO',\n context$: todo_context$,\n isConfirm: true\n }\"\n ></component-mapper>\n </div>\n <div *ngIf=\"!todo_showTodo$\">\n <component-mapper\n *ngIf=\"pConnectOfActiveContainerItem\"\n name=\"Assignment\"\n [props]=\"{ pConn$: pConnectOfActiveContainerItem, formGroup$, arChildren$, itemKey$ }\"\n ></component-mapper>\n </div>\n </div>\n <div *ngIf=\"bHasCaseMessages$\">\n <mat-card class=\"psdk-message-card\">\n <div style=\"display: flex; flex-direction: row; align-items: center\">\n <div><img class=\"psdk-icon\" src=\"{{ checkSvg$ }}\" /></div>\n <div>{{ caseMessages$ }}</div>\n </div>\n </mat-card>\n </div>\n <div *ngIf=\"bShowBanner && bShowConfirm && confirm_pconn\">\n <component-mapper name=\"View\" [props]=\"{ formGroup$, pConn$: confirm_pconn }\"></component-mapper>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i1.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatCardModule) }, { kind: "component", type: i0.forwardRef(() => i1$1.MatCard), selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
|
|
2620
2627
|
}
|
|
2621
2628
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: FlowContainerComponent, decorators: [{
|
|
2622
2629
|
type: Component,
|
|
2623
|
-
args: [{ selector: 'app-flow-container', providers: [Utils], imports: [CommonModule, MatCardModule, forwardRef(() => ComponentMapperComponent)], template: "<div style=\"text-align: left\" class=\"psdk-flow-container-top\">\n <div *ngIf=\"!bShowConfirm\">\n <div *ngIf=\"!todo_showTodo$\">\n <h2>{{ containerName$ }}</h2>\n <div *ngIf=\"banners?.length\">\n <component-mapper name=\"AlertBanner\" [props]=\"{ banners }\"></component-mapper>\n </div>\n </div>\n <div *ngIf=\"todo_showTodo$\">\n <component-mapper\n *ngIf=\"pConnectOfActiveContainerItem\"\n name=\"Todo\"\n [props]=\"{\n pConn$: pConnectOfActiveContainerItem,\n caseInfoID$: todo_caseInfoID$,\n datasource$: todo_datasource$,\n showTodoList$: todo_showTodoList$,\n headerText$: todo_headerText$,\n type$: 'TODO',\n context$: todo_context$,\n isConfirm: true\n }\"\n ></component-mapper>\n </div>\n <div *ngIf=\"!todo_showTodo$\">\n <component-mapper\n *ngIf=\"pConnectOfActiveContainerItem\"\n name=\"Assignment\"\n [props]=\"{ pConn$: pConnectOfActiveContainerItem, formGroup$, arChildren$, itemKey$ }\"\n ></component-mapper>\n </div>\n </div>\n <div *ngIf=\"bHasCaseMessages$\">\n <mat-card class=\"psdk-message-card\">\n <div style=\"display: flex; flex-direction: row; align-items: center\">\n <div><img class=\"psdk-icon\" src=\"{{ checkSvg$ }}\" /></div>\n <div>{{ caseMessages$ }}</div>\n </div>\n </mat-card>\n </div>\n <div *ngIf=\"bShowBanner && bShowConfirm && confirm_pconn\">\n <component-mapper name=\"View\" [props]=\"{ formGroup$, pConn$: confirm_pconn }\"></component-mapper>\n </div>\n</div>\n" }]
|
|
2630
|
+
args: [{ selector: 'app-flow-container', providers: [Utils], imports: [CommonModule, MatCardModule, forwardRef(() => ComponentMapperComponent)], template: "<div style=\"text-align: left\" class=\"psdk-flow-container-top\">\n <div *ngIf=\"!bShowConfirm\">\n <div *ngIf=\"!todo_showTodo$\">\n <h2 *ngIf=\"!isMultiStep\">{{ containerName$ }}</h2>\n <div *ngIf=\"banners?.length\">\n <component-mapper name=\"AlertBanner\" [props]=\"{ banners }\"></component-mapper>\n </div>\n </div>\n <div *ngIf=\"todo_showTodo$\">\n <component-mapper\n *ngIf=\"pConnectOfActiveContainerItem\"\n name=\"Todo\"\n [props]=\"{\n pConn$: pConnectOfActiveContainerItem,\n caseInfoID$: todo_caseInfoID$,\n datasource$: todo_datasource$,\n showTodoList$: todo_showTodoList$,\n headerText$: todo_headerText$,\n type$: 'TODO',\n context$: todo_context$,\n isConfirm: true\n }\"\n ></component-mapper>\n </div>\n <div *ngIf=\"!todo_showTodo$\">\n <component-mapper\n *ngIf=\"pConnectOfActiveContainerItem\"\n name=\"Assignment\"\n [props]=\"{ pConn$: pConnectOfActiveContainerItem, formGroup$, arChildren$, itemKey$ }\"\n ></component-mapper>\n </div>\n </div>\n <div *ngIf=\"bHasCaseMessages$\">\n <mat-card class=\"psdk-message-card\">\n <div style=\"display: flex; flex-direction: row; align-items: center\">\n <div><img class=\"psdk-icon\" src=\"{{ checkSvg$ }}\" /></div>\n <div>{{ caseMessages$ }}</div>\n </div>\n </mat-card>\n </div>\n <div *ngIf=\"bShowBanner && bShowConfirm && confirm_pconn\">\n <component-mapper name=\"View\" [props]=\"{ formGroup$, pConn$: confirm_pconn }\"></component-mapper>\n </div>\n</div>\n" }]
|
|
2624
2631
|
}], ctorParameters: () => [{ type: i0.Injector }, { type: i0.ChangeDetectorRef }, { type: ProgressSpinnerService }, { type: i2.FormBuilder }, { type: i0.NgZone }, { type: Utils }], propDecorators: { pConn$: [{
|
|
2625
2632
|
type: Input
|
|
2626
2633
|
}] } });
|
|
@@ -9126,11 +9133,11 @@ class RichTextComponent extends FieldBase {
|
|
|
9126
9133
|
}
|
|
9127
9134
|
}
|
|
9128
9135
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: RichTextComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
9129
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: RichTextComponent, isStandalone: true, selector: "app-rich-text", usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"displayMode$; else noDisplayMode\">\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"FieldValueList\" [props]=\"{ label$, value$, displayMode$, isHtml$: true }\"></component-mapper>\n</div>\n<ng-template #noDisplayMode>\n <div *ngIf=\"!bReadonly$; else noEdit\">\n <div *ngIf=\"bVisible$\">\n <component-mapper\n name=\"RichTextEditor\"\n [props]=\"{ placeholder, required: bRequired$, disabled: bDisabled$, label: label$, readonly: false, error, info, testId, value: value$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ onBlur: fieldOnBlur, onChange: fieldOnChange }\"\n ></component-mapper>\n </div>\n </div>\n</ng-template>\n<ng-template #noEdit>\n <div *ngIf=\"bVisible$ !== false\">\n <component-mapper name=\"RichTextEditor\" [props]=\"{ label: label$, value: value$, readonly: true, testId }\" [parent]=\"this\"></component-mapper>\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i1.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
|
|
9136
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: RichTextComponent, isStandalone: true, selector: "app-rich-text", usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"displayMode$; else noDisplayMode\">\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"FieldValueList\" [props]=\"{ label$, value$, displayMode$, isHtml$: true }\"></component-mapper>\n</div>\n\n<ng-template #noDisplayMode>\n <div *ngIf=\"!bReadonly$; else noEdit\">\n <div *ngIf=\"bVisible$\">\n <component-mapper\n name=\"RichTextEditor\"\n [props]=\"{ placeholder, required: bRequired$, disabled: bDisabled$, label: label$, readonly: false, error, info, testId, value: value$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ onBlur: fieldOnBlur, onChange: fieldOnChange }\"\n ></component-mapper>\n </div>\n </div>\n</ng-template>\n\n<ng-template #noEdit>\n <div *ngIf=\"bVisible$ !== false\">\n <component-mapper name=\"RichTextEditor\" [props]=\"{ label: label$, value: value$, readonly: true, testId }\" [parent]=\"this\"></component-mapper>\n </div>\n</ng-template>\n", styles: [":host{display:block;background-color:var(--mat-sys-surface, #fff);color:var(--mat-sys-on-surface, #000)}::ng-deep .tox-tinymce{border:1px solid var(--mat-sys-outline, #ccc)!important;border-radius:4px!important}::ng-deep .tox-edit-area__iframe{background-color:transparent!important}::ng-deep .tox .tox-toolbar,::ng-deep .tox .tox-toolbar__primary,::ng-deep .tox .tox-editor-header{background-color:var(--mat-sys-surface-container-high, #f0f0f0)!important;border-bottom:1px solid var(--mat-sys-outline-variant, #ccc)!important}::ng-deep .tox .tox-tbtn{color:var(--mat-sys-on-surface-variant, #555)!important;background:transparent!important}::ng-deep .tox .tox-tbtn svg{fill:var(--mat-sys-on-surface-variant, #555)!important}::ng-deep .tox .tox-tbtn:hover{background:var(--mat-sys-hover-state-layer-opacity, rgba(0, 0, 0, .05))!important}::ng-deep .tox .tox-tbtn--enabled,::ng-deep .tox .tox-tbtn--enabled:hover{background:var(--mat-sys-secondary-container, #e8def8)!important;color:var(--mat-sys-on-secondary-container, #1d192b)!important}::ng-deep .tox .tox-tbtn--enabled svg{fill:var(--mat-sys-on-secondary-container, #1d192b)!important}::ng-deep .tox .tox-tbtn--select{background-color:transparent!important;margin:2px 0}::ng-deep .tox .tox-tbtn__select-label{color:var(--mat-sys-on-surface, #000)!important}::ng-deep .tox .tox-tbtn__select-chevron svg{fill:var(--mat-sys-on-surface-variant, #555)!important}::ng-deep .tox .tox-tbtn--select:hover{background-color:var(--mat-sys-hover-state-layer-opacity, rgba(0, 0, 0, .05))!important}::ng-deep .tox .tox-statusbar{background-color:var(--mat-sys-surface-container-high, #f0f0f0)!important;border-top:1px solid var(--mat-sys-outline-variant, #ccc)!important;color:var(--mat-sys-on-surface-variant, #555)!important}::ng-deep .tox .tox-dialog{background-color:var(--mat-sys-surface-container, #fff)!important;color:var(--mat-sys-on-surface, #000)!important;border:1px solid var(--mat-sys-outline-variant, #ccc)!important;box-shadow:0 4px 12px var(--mat-sys-shadow, rgba(0, 0, 0, .2))!important}::ng-deep .tox .tox-dialog__header{background-color:var(--mat-sys-surface-container, #fff)!important;color:var(--mat-sys-on-surface, #000)!important;border-bottom:1px solid var(--mat-sys-outline-variant, #ccc)!important}::ng-deep .tox .tox-dialog__footer{background-color:var(--mat-sys-surface-container, #fff)!important;border-top:1px solid var(--mat-sys-outline-variant, #ccc)!important}::ng-deep .tox .tox-dialog-wrap__backdrop{background-color:var(--mat-sys-scrim, rgba(0, 0, 0, .5))!important;opacity:.6}::ng-deep .tox .tox-dialog__body input,::ng-deep .tox .tox-dialog__body textarea,::ng-deep .tox .tox-dialog__body select{background-color:transparent!important;color:var(--mat-sys-on-surface, #000)!important;border:1px solid var(--mat-sys-outline, #ccc)!important;border-radius:4px!important}::ng-deep .tox .tox-label{color:var(--mat-sys-on-surface-variant, #555)!important}::ng-deep .tox .tox-button--icon--hover:hover{background-color:var(--mat-sys-hover-state-layer-opacity)!important;color:var(--mat-sys-on-surface)!important}::ng-deep .tox .tox-dialog__footer .tox-button{background-color:var(--mat-sys-primary, #6200ee)!important;color:var(--mat-sys-on-primary, #fff)!important;border:none!important}::ng-deep .tox .tox-dialog__footer .tox-button--secondary{background-color:transparent!important;color:var(--mat-sys-primary, #6200ee)!important;border:1px solid var(--mat-sys-outline, #ccc)!important}::ng-deep .tox .tox-menu{background-color:var(--mat-sys-surface-container, #2e334f)!important;border:1px solid var(--mat-sys-outline-variant, #404562)!important;box-shadow:0 4px 10px var(--mat-sys-shadow, rgba(0, 0, 0, .3))!important}::ng-deep .tox .tox-collection__item{color:var(--mat-sys-on-surface, #dde1ff)!important}::ng-deep .tox .tox-collection__item--active{background-color:var(--mat-sys-secondary-container, #810081)!important;color:var(--mat-sys-on-secondary-container, #ffd7f5)!important}::ng-deep .tox .tox-collection__item-icon svg{fill:var(--mat-sys-on-surface, #dde1ff)!important}::ng-deep .tox .tox-collection__item-accessory{color:var(--mat-sys-on-surface-variant, #c0c5e7)!important}::ng-deep .tox .tox-swatches__picker-btn{border-color:var(--mat-sys-outline-variant)!important}::ng-deep .tox .tox-listbox{background-color:transparent!important;border:1px solid var(--mat-sys-outline, #8a8faf)!important;color:var(--mat-sys-on-surface, #dde1ff)!important}::ng-deep .tox .tox-listbox__select-chevron svg{fill:var(--mat-sys-on-surface-variant, #c0c5e7)!important}::ng-deep .tox .tox-listbox__select-label{color:var(--mat-sys-on-surface, #dde1ff)!important}::ng-deep .tox .tox-listboxfield .tox-listbox--select{background-color:transparent!important;color:var(--mat-sys-on-surface, #dde1ff)!important}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i1.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
|
|
9130
9137
|
}
|
|
9131
9138
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: RichTextComponent, decorators: [{
|
|
9132
9139
|
type: Component,
|
|
9133
|
-
args: [{ selector: 'app-rich-text', imports: [CommonModule, ReactiveFormsModule, forwardRef(() => ComponentMapperComponent)], template: "<div *ngIf=\"displayMode$; else noDisplayMode\">\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"FieldValueList\" [props]=\"{ label$, value$, displayMode$, isHtml$: true }\"></component-mapper>\n</div>\n<ng-template #noDisplayMode>\n <div *ngIf=\"!bReadonly$; else noEdit\">\n <div *ngIf=\"bVisible$\">\n <component-mapper\n name=\"RichTextEditor\"\n [props]=\"{ placeholder, required: bRequired$, disabled: bDisabled$, label: label$, readonly: false, error, info, testId, value: value$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ onBlur: fieldOnBlur, onChange: fieldOnChange }\"\n ></component-mapper>\n </div>\n </div>\n</ng-template>\n<ng-template #noEdit>\n <div *ngIf=\"bVisible$ !== false\">\n <component-mapper name=\"RichTextEditor\" [props]=\"{ label: label$, value: value$, readonly: true, testId }\" [parent]=\"this\"></component-mapper>\n </div>\n</ng-template>\n" }]
|
|
9140
|
+
args: [{ selector: 'app-rich-text', imports: [CommonModule, ReactiveFormsModule, forwardRef(() => ComponentMapperComponent)], template: "<div *ngIf=\"displayMode$; else noDisplayMode\">\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"FieldValueList\" [props]=\"{ label$, value$, displayMode$, isHtml$: true }\"></component-mapper>\n</div>\n\n<ng-template #noDisplayMode>\n <div *ngIf=\"!bReadonly$; else noEdit\">\n <div *ngIf=\"bVisible$\">\n <component-mapper\n name=\"RichTextEditor\"\n [props]=\"{ placeholder, required: bRequired$, disabled: bDisabled$, label: label$, readonly: false, error, info, testId, value: value$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ onBlur: fieldOnBlur, onChange: fieldOnChange }\"\n ></component-mapper>\n </div>\n </div>\n</ng-template>\n\n<ng-template #noEdit>\n <div *ngIf=\"bVisible$ !== false\">\n <component-mapper name=\"RichTextEditor\" [props]=\"{ label: label$, value: value$, readonly: true, testId }\" [parent]=\"this\"></component-mapper>\n </div>\n</ng-template>\n", styles: [":host{display:block;background-color:var(--mat-sys-surface, #fff);color:var(--mat-sys-on-surface, #000)}::ng-deep .tox-tinymce{border:1px solid var(--mat-sys-outline, #ccc)!important;border-radius:4px!important}::ng-deep .tox-edit-area__iframe{background-color:transparent!important}::ng-deep .tox .tox-toolbar,::ng-deep .tox .tox-toolbar__primary,::ng-deep .tox .tox-editor-header{background-color:var(--mat-sys-surface-container-high, #f0f0f0)!important;border-bottom:1px solid var(--mat-sys-outline-variant, #ccc)!important}::ng-deep .tox .tox-tbtn{color:var(--mat-sys-on-surface-variant, #555)!important;background:transparent!important}::ng-deep .tox .tox-tbtn svg{fill:var(--mat-sys-on-surface-variant, #555)!important}::ng-deep .tox .tox-tbtn:hover{background:var(--mat-sys-hover-state-layer-opacity, rgba(0, 0, 0, .05))!important}::ng-deep .tox .tox-tbtn--enabled,::ng-deep .tox .tox-tbtn--enabled:hover{background:var(--mat-sys-secondary-container, #e8def8)!important;color:var(--mat-sys-on-secondary-container, #1d192b)!important}::ng-deep .tox .tox-tbtn--enabled svg{fill:var(--mat-sys-on-secondary-container, #1d192b)!important}::ng-deep .tox .tox-tbtn--select{background-color:transparent!important;margin:2px 0}::ng-deep .tox .tox-tbtn__select-label{color:var(--mat-sys-on-surface, #000)!important}::ng-deep .tox .tox-tbtn__select-chevron svg{fill:var(--mat-sys-on-surface-variant, #555)!important}::ng-deep .tox .tox-tbtn--select:hover{background-color:var(--mat-sys-hover-state-layer-opacity, rgba(0, 0, 0, .05))!important}::ng-deep .tox .tox-statusbar{background-color:var(--mat-sys-surface-container-high, #f0f0f0)!important;border-top:1px solid var(--mat-sys-outline-variant, #ccc)!important;color:var(--mat-sys-on-surface-variant, #555)!important}::ng-deep .tox .tox-dialog{background-color:var(--mat-sys-surface-container, #fff)!important;color:var(--mat-sys-on-surface, #000)!important;border:1px solid var(--mat-sys-outline-variant, #ccc)!important;box-shadow:0 4px 12px var(--mat-sys-shadow, rgba(0, 0, 0, .2))!important}::ng-deep .tox .tox-dialog__header{background-color:var(--mat-sys-surface-container, #fff)!important;color:var(--mat-sys-on-surface, #000)!important;border-bottom:1px solid var(--mat-sys-outline-variant, #ccc)!important}::ng-deep .tox .tox-dialog__footer{background-color:var(--mat-sys-surface-container, #fff)!important;border-top:1px solid var(--mat-sys-outline-variant, #ccc)!important}::ng-deep .tox .tox-dialog-wrap__backdrop{background-color:var(--mat-sys-scrim, rgba(0, 0, 0, .5))!important;opacity:.6}::ng-deep .tox .tox-dialog__body input,::ng-deep .tox .tox-dialog__body textarea,::ng-deep .tox .tox-dialog__body select{background-color:transparent!important;color:var(--mat-sys-on-surface, #000)!important;border:1px solid var(--mat-sys-outline, #ccc)!important;border-radius:4px!important}::ng-deep .tox .tox-label{color:var(--mat-sys-on-surface-variant, #555)!important}::ng-deep .tox .tox-button--icon--hover:hover{background-color:var(--mat-sys-hover-state-layer-opacity)!important;color:var(--mat-sys-on-surface)!important}::ng-deep .tox .tox-dialog__footer .tox-button{background-color:var(--mat-sys-primary, #6200ee)!important;color:var(--mat-sys-on-primary, #fff)!important;border:none!important}::ng-deep .tox .tox-dialog__footer .tox-button--secondary{background-color:transparent!important;color:var(--mat-sys-primary, #6200ee)!important;border:1px solid var(--mat-sys-outline, #ccc)!important}::ng-deep .tox .tox-menu{background-color:var(--mat-sys-surface-container, #2e334f)!important;border:1px solid var(--mat-sys-outline-variant, #404562)!important;box-shadow:0 4px 10px var(--mat-sys-shadow, rgba(0, 0, 0, .3))!important}::ng-deep .tox .tox-collection__item{color:var(--mat-sys-on-surface, #dde1ff)!important}::ng-deep .tox .tox-collection__item--active{background-color:var(--mat-sys-secondary-container, #810081)!important;color:var(--mat-sys-on-secondary-container, #ffd7f5)!important}::ng-deep .tox .tox-collection__item-icon svg{fill:var(--mat-sys-on-surface, #dde1ff)!important}::ng-deep .tox .tox-collection__item-accessory{color:var(--mat-sys-on-surface-variant, #c0c5e7)!important}::ng-deep .tox .tox-swatches__picker-btn{border-color:var(--mat-sys-outline-variant)!important}::ng-deep .tox .tox-listbox{background-color:transparent!important;border:1px solid var(--mat-sys-outline, #8a8faf)!important;color:var(--mat-sys-on-surface, #dde1ff)!important}::ng-deep .tox .tox-listbox__select-chevron svg{fill:var(--mat-sys-on-surface-variant, #c0c5e7)!important}::ng-deep .tox .tox-listbox__select-label{color:var(--mat-sys-on-surface, #dde1ff)!important}::ng-deep .tox .tox-listboxfield .tox-listbox--select{background-color:transparent!important;color:var(--mat-sys-on-surface, #dde1ff)!important}\n"] }]
|
|
9134
9141
|
}] });
|
|
9135
9142
|
|
|
9136
9143
|
class DataReferenceAdvancedSearchService {
|
|
@@ -9762,11 +9769,11 @@ class ConfirmationComponent {
|
|
|
9762
9769
|
PCore.getPubSubUtils().publish(PCore.getConstants().PUB_SUB_EVENTS.CASE_EVENTS.CLOSE_CONFIRM_VIEW, this.rootInfo);
|
|
9763
9770
|
}
|
|
9764
9771
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ConfirmationComponent, deps: [{ token: AngularPConnectService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9765
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: ConfirmationComponent, isStandalone: true, selector: "app-confirmation", inputs: { pConn$: "pConn$" }, ngImport: i0, template: "<div>\n <div *ngIf=\"showConfirmView\">\n <h2 id=\"confirm-label\" class=\"confirm-label\">{{ label }}</h2>\n <div *ngIf=\"showDetails\">\n <component-mapper name=\"Details\" [props]=\"{ pConn$ }\"></component-mapper>\n </div>\n <div *ngIf=\"showTasks && toDoList?.length > 0\">\n <component-mapper\n name=\"Todo\"\n [props]=\"{ pConn$, datasource$: { source: toDoList }, headerText$: 'Open Tasks', type$: CONSTS.TODO, isConfirm: true }\"\n ></component-mapper>\n </div>\n <div class=\"done-button\">\n <button mat-raised-button color=\"primary\" (click)=\"onConfirmViewClose()\">Done</button>\n </div>\n </div>\n <div *ngIf=\"!showConfirmView && toDoList?.length > 0\">\n <component-mapper\n name=\"Todo\"\n [props]=\"{ pConn$, datasource$: { source: toDoList }, headerText$: 'Tasks', type$: CONSTS.TODO, isConfirm: true }\"\n ></component-mapper>\n </div>\n</div>\n", styles: [".done-button{justify-content:flex-end;display:flex;padding-bottom:1rem}.confirm-label{padding:0 16px;margin:0}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i1.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatButtonModule) }, { kind: "component", type: i0.forwardRef(() => i3.MatButton), selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
|
|
9772
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: ConfirmationComponent, isStandalone: true, selector: "app-confirmation", inputs: { pConn$: "pConn$" }, ngImport: i0, template: "<div>\n <div *ngIf=\"showConfirmView\">\n <h2 id=\"confirm-label\" class=\"confirm-label\">{{ label }}</h2>\n <div *ngIf=\"showDetails\" class=\"confirmation-details\">\n <component-mapper name=\"Details\" [props]=\"{ pConn$ }\"></component-mapper>\n </div>\n <div *ngIf=\"showTasks && toDoList?.length > 0\">\n <component-mapper\n name=\"Todo\"\n [props]=\"{ pConn$, datasource$: { source: toDoList }, headerText$: 'Open Tasks', type$: CONSTS.TODO, isConfirm: true }\"\n ></component-mapper>\n </div>\n <div class=\"done-button\">\n <button mat-raised-button color=\"primary\" (click)=\"onConfirmViewClose()\">Done</button>\n </div>\n </div>\n <div *ngIf=\"!showConfirmView && toDoList?.length > 0\">\n <component-mapper\n name=\"Todo\"\n [props]=\"{ pConn$, datasource$: { source: toDoList }, headerText$: 'Tasks', type$: CONSTS.TODO, isConfirm: true }\"\n ></component-mapper>\n </div>\n</div>\n", styles: [".done-button{justify-content:flex-end;display:flex;padding-bottom:1rem}.confirm-label{padding:0 16px;margin:0}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i1.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatButtonModule) }, { kind: "component", type: i0.forwardRef(() => i3.MatButton), selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
|
|
9766
9773
|
}
|
|
9767
9774
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ConfirmationComponent, decorators: [{
|
|
9768
9775
|
type: Component,
|
|
9769
|
-
args: [{ selector: 'app-confirmation', imports: [CommonModule, MatButtonModule, forwardRef(() => ComponentMapperComponent)], template: "<div>\n <div *ngIf=\"showConfirmView\">\n <h2 id=\"confirm-label\" class=\"confirm-label\">{{ label }}</h2>\n <div *ngIf=\"showDetails\">\n <component-mapper name=\"Details\" [props]=\"{ pConn$ }\"></component-mapper>\n </div>\n <div *ngIf=\"showTasks && toDoList?.length > 0\">\n <component-mapper\n name=\"Todo\"\n [props]=\"{ pConn$, datasource$: { source: toDoList }, headerText$: 'Open Tasks', type$: CONSTS.TODO, isConfirm: true }\"\n ></component-mapper>\n </div>\n <div class=\"done-button\">\n <button mat-raised-button color=\"primary\" (click)=\"onConfirmViewClose()\">Done</button>\n </div>\n </div>\n <div *ngIf=\"!showConfirmView && toDoList?.length > 0\">\n <component-mapper\n name=\"Todo\"\n [props]=\"{ pConn$, datasource$: { source: toDoList }, headerText$: 'Tasks', type$: CONSTS.TODO, isConfirm: true }\"\n ></component-mapper>\n </div>\n</div>\n", styles: [".done-button{justify-content:flex-end;display:flex;padding-bottom:1rem}.confirm-label{padding:0 16px;margin:0}\n"] }]
|
|
9776
|
+
args: [{ selector: 'app-confirmation', imports: [CommonModule, MatButtonModule, forwardRef(() => ComponentMapperComponent)], template: "<div>\n <div *ngIf=\"showConfirmView\">\n <h2 id=\"confirm-label\" class=\"confirm-label\">{{ label }}</h2>\n <div *ngIf=\"showDetails\" class=\"confirmation-details\">\n <component-mapper name=\"Details\" [props]=\"{ pConn$ }\"></component-mapper>\n </div>\n <div *ngIf=\"showTasks && toDoList?.length > 0\">\n <component-mapper\n name=\"Todo\"\n [props]=\"{ pConn$, datasource$: { source: toDoList }, headerText$: 'Open Tasks', type$: CONSTS.TODO, isConfirm: true }\"\n ></component-mapper>\n </div>\n <div class=\"done-button\">\n <button mat-raised-button color=\"primary\" (click)=\"onConfirmViewClose()\">Done</button>\n </div>\n </div>\n <div *ngIf=\"!showConfirmView && toDoList?.length > 0\">\n <component-mapper\n name=\"Todo\"\n [props]=\"{ pConn$, datasource$: { source: toDoList }, headerText$: 'Tasks', type$: CONSTS.TODO, isConfirm: true }\"\n ></component-mapper>\n </div>\n</div>\n", styles: [".done-button{justify-content:flex-end;display:flex;padding-bottom:1rem}.confirm-label{padding:0 16px;margin:0}\n"] }]
|
|
9770
9777
|
}], ctorParameters: () => [{ type: AngularPConnectService }], propDecorators: { pConn$: [{
|
|
9771
9778
|
type: Input
|
|
9772
9779
|
}] } });
|
|
@@ -14385,11 +14392,11 @@ class SelfServiceCaseViewComponent {
|
|
|
14385
14392
|
openProcessAction(data.ID, { ...data });
|
|
14386
14393
|
}
|
|
14387
14394
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: SelfServiceCaseViewComponent, deps: [{ token: AngularPConnectService }, { token: Utils }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
14388
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: SelfServiceCaseViewComponent, isStandalone: true, selector: "app-self-service-case-view", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, providers: [Utils], ngImport: i0, template: "<div
|
|
14395
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: SelfServiceCaseViewComponent, isStandalone: true, selector: "app-self-service-case-view", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, providers: [Utils], ngImport: i0, template: "<div class=\"psdk-self-service-case-view\">\n <div class=\"psdk-self-service-case-view-header\">\n <div class=\"heading\">{{ this.heading$ }}</div>\n <div *ngIf=\"showCaseActions\" class=\"psdk-case-view-buttons\">\n <button mat-raised-button color=\"secondary\" [matMenuTriggerFor]=\"actionMenu\">{{ localizedVal('Actions...', localeCategory) }}</button>\n <mat-menu #actionMenu=\"matMenu\" overlapTrigger=\"false\">\n <ng-container *ngFor=\"let action of arAvailableActions$\">\n <button mat-menu-item (click)=\"_menuActionClick(action)\">\n {{ localizedVal(action.name, '', localeKey) }}\n </button>\n </ng-container>\n <ng-container *ngFor=\"let process of arAvailabeProcesses$\">\n <button mat-menu-item (click)=\"_menuProcessClick(process)\">\n {{ process.name }}\n </button>\n </ng-container>\n </mat-menu>\n </div>\n </div>\n <div class=\"psdk-case-view\" id=\"case-view\">\n <div class=\"psdk-case-view-info\" *ngIf=\"showSummaryRegion && (primarySummaryFields.length > 0 || secondarySummaryFields.length > 0)\">\n <mat-toolbar class=\"psdk-case-view-toolbar\">\n <mat-toolbar-row class=\"psdk-case-view-toolbar-row\">\n <div class=\"psdk-case-view-heading\">\n <div>\n <h1 id=\"case-name\">{{ heading$ }}</h1>\n </div>\n <div id=\"current-caseID\" [hidden]=\"true\">{{ currentCaseID }}</div>\n <div class=\"psdk-case-view-heading-id\" id=\"caseId\">{{ id$ }}</div>\n </div>\n </mat-toolbar-row>\n </mat-toolbar>\n <div class=\"psdk-case-view-divider\"></div>\n <div class=\"psdk-case-view-summary\">\n <component-mapper\n name=\"CaseSummaryFields\"\n [props]=\"{ primaryFields$: primarySummaryFields, secondaryFields$: secondarySummaryFields }\"\n ></component-mapper>\n </div>\n </div>\n <div class=\"psdk-case-view-main\">\n <div>\n <div *ngFor=\"let kid of arChildren$\">\n <div\n *ngIf=\"\n kid.getPConnect().getRawMetadata().type.toLowerCase() == 'region' &&\n kid.getPConnect().getRawMetadata().name.toLowerCase() == 'stages' &&\n showCaseLifecycle\n \"\n >\n <component-mapper name=\"Region\" [props]=\"{ pConn$: kid.getPConnect() }\"></component-mapper>\n </div>\n </div>\n </div>\n\n <div *ngFor=\"let kid of arChildren$\">\n <div\n *ngIf=\"kid.getPConnect().getRawMetadata().type.toLowerCase() == 'region' && kid.getPConnect().getRawMetadata().name.toLowerCase() == 'todo'\"\n >\n <component-mapper name=\"Region\" [props]=\"{ pConn$: kid.getPConnect(), formGroup$ }\"></component-mapper>\n </div>\n </div>\n\n <div *ngFor=\"let kid of arChildren$\">\n <div *ngIf=\"kid.getPConnect().getRawMetadata().type.toLowerCase() == 'region' && kid.getPConnect().getRawMetadata().name == 'Main'\">\n <component-mapper name=\"Region\" [props]=\"{ pConn$: kid.getPConnect(), formGroup$ }\"></component-mapper>\n </div>\n </div>\n </div>\n <div class=\"psdk-case-view-utilities\" *ngIf=\"arChildren$ && showUtilitiesRegion && isUtilitiesRegionNotEmpty()\">\n <div *ngFor=\"let kid of arChildren$\">\n <div *ngIf=\"kid.getPConnect().getRawMetadata()?.type.toLowerCase() == 'region' && kid.getPConnect().getRawMetadata()?.name == 'Utilities'\">\n <component-mapper name=\"Region\" [props]=\"{ pConn$: kid.getPConnect() }\"></component-mapper>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: ["h1{font-size:1.1rem;line-height:1.3rem}::ng-deep .mat-mdc-menu-panel{overflow:unset;max-width:unset}.psdk-case-view-label{font-size:1rem;display:block;transform:translateY(.2em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(.2em) scale(.75);width:133.33333%;border-radius:.6125rem}.psdk-case-view{box-sizing:border-box;display:flex}.ng-case-view-toolbar{padding:.625rem}.psdk-case-icon-div{background-color:var(--mat-sys-on-primary-fixed);border-radius:1rem;padding:.5rem .3rem .3rem}.psdk-case-svg-icon{width:2rem;padding:0rem .3125rem;filter:var(--app-white-color-filter)}.psdk-case-view-info-box{display:flex;flex-direction:row;padding:0rem .3125rem 0rem 0rem}.psdk-case-view-info{flex:0 0 auto;width:25rem;float:left;background-color:var(--mat-sys-surface-container);height:100%}.psdk-case-view-main{flex-grow:2;float:left;padding:0rem .3125rem;height:100%;padding-left:0}.psdk-case-view-summary{padding-left:.75rem}.psdk-case-view-heading{display:block;text-align:left;padding-left:.5rem;padding-bottom:0;padding-top:5px}.psdk-case-view-heading-id{font-size:.9rem;font-weight:400}.psdk-case-view-buttons{display:flex;justify-content:flex-start;padding:.3125rem}.psdk-case-view-utilities{background-color:var(--mat-sys-surface-container);width:21.875rem;float:left;padding:0rem .3125rem}.psdk-case-view-divider{border-bottom:.0625rem solid var(--mat-sys-outline-variant)}.psdk-status{padding:.3125rem;background-color:var(--mat-sys-primary);color:var(--mat-sys-surface-container);width:fit-content;margin:.625rem}.psdk-case-view-toolbar{background-color:var(--mat-sys-primary);justify-content:center}button{margin:0rem .3125rem}.psdk-case-view-toolbar-row{padding-left:1rem;white-space:normal;height:auto}.psdk-self-service-case-view-header{height:50px;display:flex;justify-content:space-between;align-items:center;background-color:var(--mat-sys-primary);padding:0 8px}.heading{font-size:20px;color:var(--mat-sys-on-primary);font-weight:600}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i1.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatToolbarModule) }, { kind: "component", type: i0.forwardRef(() => i4$4.MatToolbar), selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: i0.forwardRef(() => i4$4.MatToolbarRow), selector: "mat-toolbar-row", exportAs: ["matToolbarRow"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatButtonModule) }, { kind: "component", type: i0.forwardRef(() => i3.MatButton), selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatMenuModule) }, { kind: "component", type: i0.forwardRef(() => i6.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: i0.forwardRef(() => i6.MatMenuItem), selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i0.forwardRef(() => i6.MatMenuTrigger), selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
|
|
14389
14396
|
}
|
|
14390
14397
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: SelfServiceCaseViewComponent, decorators: [{
|
|
14391
14398
|
type: Component,
|
|
14392
|
-
args: [{ selector: 'app-self-service-case-view', providers: [Utils], imports: [CommonModule, MatToolbarModule, MatButtonModule, MatMenuModule, forwardRef(() => ComponentMapperComponent)], template: "<div
|
|
14399
|
+
args: [{ selector: 'app-self-service-case-view', providers: [Utils], imports: [CommonModule, MatToolbarModule, MatButtonModule, MatMenuModule, forwardRef(() => ComponentMapperComponent)], template: "<div class=\"psdk-self-service-case-view\">\n <div class=\"psdk-self-service-case-view-header\">\n <div class=\"heading\">{{ this.heading$ }}</div>\n <div *ngIf=\"showCaseActions\" class=\"psdk-case-view-buttons\">\n <button mat-raised-button color=\"secondary\" [matMenuTriggerFor]=\"actionMenu\">{{ localizedVal('Actions...', localeCategory) }}</button>\n <mat-menu #actionMenu=\"matMenu\" overlapTrigger=\"false\">\n <ng-container *ngFor=\"let action of arAvailableActions$\">\n <button mat-menu-item (click)=\"_menuActionClick(action)\">\n {{ localizedVal(action.name, '', localeKey) }}\n </button>\n </ng-container>\n <ng-container *ngFor=\"let process of arAvailabeProcesses$\">\n <button mat-menu-item (click)=\"_menuProcessClick(process)\">\n {{ process.name }}\n </button>\n </ng-container>\n </mat-menu>\n </div>\n </div>\n <div class=\"psdk-case-view\" id=\"case-view\">\n <div class=\"psdk-case-view-info\" *ngIf=\"showSummaryRegion && (primarySummaryFields.length > 0 || secondarySummaryFields.length > 0)\">\n <mat-toolbar class=\"psdk-case-view-toolbar\">\n <mat-toolbar-row class=\"psdk-case-view-toolbar-row\">\n <div class=\"psdk-case-view-heading\">\n <div>\n <h1 id=\"case-name\">{{ heading$ }}</h1>\n </div>\n <div id=\"current-caseID\" [hidden]=\"true\">{{ currentCaseID }}</div>\n <div class=\"psdk-case-view-heading-id\" id=\"caseId\">{{ id$ }}</div>\n </div>\n </mat-toolbar-row>\n </mat-toolbar>\n <div class=\"psdk-case-view-divider\"></div>\n <div class=\"psdk-case-view-summary\">\n <component-mapper\n name=\"CaseSummaryFields\"\n [props]=\"{ primaryFields$: primarySummaryFields, secondaryFields$: secondarySummaryFields }\"\n ></component-mapper>\n </div>\n </div>\n <div class=\"psdk-case-view-main\">\n <div>\n <div *ngFor=\"let kid of arChildren$\">\n <div\n *ngIf=\"\n kid.getPConnect().getRawMetadata().type.toLowerCase() == 'region' &&\n kid.getPConnect().getRawMetadata().name.toLowerCase() == 'stages' &&\n showCaseLifecycle\n \"\n >\n <component-mapper name=\"Region\" [props]=\"{ pConn$: kid.getPConnect() }\"></component-mapper>\n </div>\n </div>\n </div>\n\n <div *ngFor=\"let kid of arChildren$\">\n <div\n *ngIf=\"kid.getPConnect().getRawMetadata().type.toLowerCase() == 'region' && kid.getPConnect().getRawMetadata().name.toLowerCase() == 'todo'\"\n >\n <component-mapper name=\"Region\" [props]=\"{ pConn$: kid.getPConnect(), formGroup$ }\"></component-mapper>\n </div>\n </div>\n\n <div *ngFor=\"let kid of arChildren$\">\n <div *ngIf=\"kid.getPConnect().getRawMetadata().type.toLowerCase() == 'region' && kid.getPConnect().getRawMetadata().name == 'Main'\">\n <component-mapper name=\"Region\" [props]=\"{ pConn$: kid.getPConnect(), formGroup$ }\"></component-mapper>\n </div>\n </div>\n </div>\n <div class=\"psdk-case-view-utilities\" *ngIf=\"arChildren$ && showUtilitiesRegion && isUtilitiesRegionNotEmpty()\">\n <div *ngFor=\"let kid of arChildren$\">\n <div *ngIf=\"kid.getPConnect().getRawMetadata()?.type.toLowerCase() == 'region' && kid.getPConnect().getRawMetadata()?.name == 'Utilities'\">\n <component-mapper name=\"Region\" [props]=\"{ pConn$: kid.getPConnect() }\"></component-mapper>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: ["h1{font-size:1.1rem;line-height:1.3rem}::ng-deep .mat-mdc-menu-panel{overflow:unset;max-width:unset}.psdk-case-view-label{font-size:1rem;display:block;transform:translateY(.2em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(.2em) scale(.75);width:133.33333%;border-radius:.6125rem}.psdk-case-view{box-sizing:border-box;display:flex}.ng-case-view-toolbar{padding:.625rem}.psdk-case-icon-div{background-color:var(--mat-sys-on-primary-fixed);border-radius:1rem;padding:.5rem .3rem .3rem}.psdk-case-svg-icon{width:2rem;padding:0rem .3125rem;filter:var(--app-white-color-filter)}.psdk-case-view-info-box{display:flex;flex-direction:row;padding:0rem .3125rem 0rem 0rem}.psdk-case-view-info{flex:0 0 auto;width:25rem;float:left;background-color:var(--mat-sys-surface-container);height:100%}.psdk-case-view-main{flex-grow:2;float:left;padding:0rem .3125rem;height:100%;padding-left:0}.psdk-case-view-summary{padding-left:.75rem}.psdk-case-view-heading{display:block;text-align:left;padding-left:.5rem;padding-bottom:0;padding-top:5px}.psdk-case-view-heading-id{font-size:.9rem;font-weight:400}.psdk-case-view-buttons{display:flex;justify-content:flex-start;padding:.3125rem}.psdk-case-view-utilities{background-color:var(--mat-sys-surface-container);width:21.875rem;float:left;padding:0rem .3125rem}.psdk-case-view-divider{border-bottom:.0625rem solid var(--mat-sys-outline-variant)}.psdk-status{padding:.3125rem;background-color:var(--mat-sys-primary);color:var(--mat-sys-surface-container);width:fit-content;margin:.625rem}.psdk-case-view-toolbar{background-color:var(--mat-sys-primary);justify-content:center}button{margin:0rem .3125rem}.psdk-case-view-toolbar-row{padding-left:1rem;white-space:normal;height:auto}.psdk-self-service-case-view-header{height:50px;display:flex;justify-content:space-between;align-items:center;background-color:var(--mat-sys-primary);padding:0 8px}.heading{font-size:20px;color:var(--mat-sys-on-primary);font-weight:600}\n"] }]
|
|
14393
14400
|
}], ctorParameters: () => [{ type: AngularPConnectService }, { type: Utils }], propDecorators: { pConn$: [{
|
|
14394
14401
|
type: Input
|
|
14395
14402
|
}], formGroup$: [{
|
|
@@ -16181,11 +16188,11 @@ class WssNavBarComponent {
|
|
|
16181
16188
|
});
|
|
16182
16189
|
}
|
|
16183
16190
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: WssNavBarComponent, deps: [{ token: AngularPConnectService }, { token: i0.ChangeDetectorRef }, { token: ProgressSpinnerService }, { token: i0.NgZone }, { token: Utils }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
16184
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: WssNavBarComponent, isStandalone: true, selector: "app-wss-nav-bar", inputs: { pConn$: "pConn$", appName$: "appName$", pages$: "pages$", caseTypes$: "caseTypes$", homePage: "homePage", portalLogoImage$: "portalLogoImage$" }, providers: [Utils], ngImport: i0, template: "<mat-toolbar
|
|
16191
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: WssNavBarComponent, isStandalone: true, selector: "app-wss-nav-bar", inputs: { pConn$: "pConn$", appName$: "appName$", pages$: "pages$", caseTypes$: "caseTypes$", homePage: "homePage", portalLogoImage$: "portalLogoImage$" }, providers: [Utils], ngImport: i0, template: "<mat-toolbar>\n <mat-toolbar-row mat-icon-button>\n <div class=\"psdk-nav-header\" (click)=\"navPanelButtonClick(homePage)\">\n <div>\n <img src=\"{{ portalLogoImage$ }}\" class=\"psdk-nav-logo\" />\n </div>\n <div class=\"psdk-nav-portal-info\">\n <div class=\"psdk-nav-portal-app\">{{ appName$ }}</div>\n </div>\n </div>\n\n <span class=\"spacer\"></span>\n\n <div *ngFor=\"let page of navPages$\">\n <div class=\"flex-box mat-list-item\" style=\"cursor: pointer; font-size: 1rem; text-transform: capitalize\" (click)=\"navPanelButtonClick(page)\">\n <div mat-button class=\"psdk-nav-button-span\">{{ page.pyLabel }}</div>\n </div>\n </div>\n\n <!-- <span class=\"spacer\"></span> -->\n\n <mat-list>\n <mat-list-item [matMenuTriggerFor]=\"menu\" class=\"psdk-profile-list-item\">\n <div class=\"flex-box\">\n <div class=\"psdk-nav-oper-avatar\">{{ portalOperatorInitials$ }}</div>\n </div>\n </mat-list-item>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item (click)=\"navPanelLogoutClick()\">{{ localizedVal('Log off', localeCategory) }}</button>\n </mat-menu>\n </mat-list>\n </mat-toolbar-row>\n</mat-toolbar>\n", styles: [".psdk-nav-divider{border-bottom:.0625rem solid var(--app-divider-color);width:100%;align-items:center}.psdk-nav-header{display:flex;padding-top:.625rem;cursor:pointer;padding-right:1rem;align-items:center}.psdk-nav-logo{max-width:100%;height:3rem}.psdk-nav-svg-icon{filter:var(--app-white-color-filter);width:1.6rem;padding-right:.625rem}.psdk-nav-portal-name{font-size:.875rem}.psdk-nav-portal-app{font-size:1.5rem;color:var(--app-nav-color)}.psdk-appshell-nav{z-index:3;position:fixed;display:flex;flex-direction:column;justify-content:flex-start;background:var(--app-nav-bg);width:var(--app-nav-width);height:100%;color:var(--app-nav-color);overflow-y:auto;overflow-x:hidden;white-space:nowrap;will-change:width}.psdk-appshell-nav:hover{width:var(--app-nav-width-expanded)}.psdk-appshell-topnav{display:flex;flex-direction:column;justify-content:flex-start;background:var(--app-nav-bg);width:var(--app-nav-width);height:15%;color:var(--app-nav-color);overflow:hidden;white-space:nowrap;will-change:width}.psdk-appshell-middlenav{display:flex;flex-direction:column;justify-content:space-between;background:var(--app-nav-bg);width:var(--app-nav-width);height:50%;color:var(--app-nav-color);overflow:hidden;white-space:nowrap;will-change:width}.psdk-nav-ul-middle{display:block;list-style-type:none;margin:0rem;padding-inline-start:30px}.psdk-nav-li-middle{box-sizing:border-box;text-align:left}.psdk-icon{padding:0rem .125rem;min-width:unset}.psdk-nav-button-span{padding:0 1rem}.psdk-nav-oper-avatar{background-color:var(--mat-sys-primary);margin:0rem;padding:0rem;min-width:2.5rem;min-height:2.5rem;max-width:2.5rem;max-height:2.5rem;border-radius:50%;justify-content:center;align-items:center;text-align:center;display:inline-flex;font-weight:400;font-size:1rem}mat-toolbar{background-color:var(--mat-sys-surface-variant)}mat-list{padding:0}.psdk-profile-list-item{padding-left:24px}mat-list-item{padding:20px 0 20px 30px;cursor:pointer!important;height:auto!important}mat-list-item .flex-box{display:flex;align-items:center;width:100%;text-align:left}.spacer{flex:1 1 auto}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i5.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i5.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i6.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: i6.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i6.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatToolbarModule }, { kind: "component", type: i4$4.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: i4$4.MatToolbarRow, selector: "mat-toolbar-row", exportAs: ["matToolbarRow"] }] }); }
|
|
16185
16192
|
}
|
|
16186
16193
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: WssNavBarComponent, decorators: [{
|
|
16187
16194
|
type: Component,
|
|
16188
|
-
args: [{ selector: 'app-wss-nav-bar', providers: [Utils], imports: [CommonModule, MatListModule, MatMenuModule, MatIconModule, MatToolbarModule], template: "<mat-toolbar
|
|
16195
|
+
args: [{ selector: 'app-wss-nav-bar', providers: [Utils], imports: [CommonModule, MatListModule, MatMenuModule, MatIconModule, MatToolbarModule], template: "<mat-toolbar>\n <mat-toolbar-row mat-icon-button>\n <div class=\"psdk-nav-header\" (click)=\"navPanelButtonClick(homePage)\">\n <div>\n <img src=\"{{ portalLogoImage$ }}\" class=\"psdk-nav-logo\" />\n </div>\n <div class=\"psdk-nav-portal-info\">\n <div class=\"psdk-nav-portal-app\">{{ appName$ }}</div>\n </div>\n </div>\n\n <span class=\"spacer\"></span>\n\n <div *ngFor=\"let page of navPages$\">\n <div class=\"flex-box mat-list-item\" style=\"cursor: pointer; font-size: 1rem; text-transform: capitalize\" (click)=\"navPanelButtonClick(page)\">\n <div mat-button class=\"psdk-nav-button-span\">{{ page.pyLabel }}</div>\n </div>\n </div>\n\n <!-- <span class=\"spacer\"></span> -->\n\n <mat-list>\n <mat-list-item [matMenuTriggerFor]=\"menu\" class=\"psdk-profile-list-item\">\n <div class=\"flex-box\">\n <div class=\"psdk-nav-oper-avatar\">{{ portalOperatorInitials$ }}</div>\n </div>\n </mat-list-item>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item (click)=\"navPanelLogoutClick()\">{{ localizedVal('Log off', localeCategory) }}</button>\n </mat-menu>\n </mat-list>\n </mat-toolbar-row>\n</mat-toolbar>\n", styles: [".psdk-nav-divider{border-bottom:.0625rem solid var(--app-divider-color);width:100%;align-items:center}.psdk-nav-header{display:flex;padding-top:.625rem;cursor:pointer;padding-right:1rem;align-items:center}.psdk-nav-logo{max-width:100%;height:3rem}.psdk-nav-svg-icon{filter:var(--app-white-color-filter);width:1.6rem;padding-right:.625rem}.psdk-nav-portal-name{font-size:.875rem}.psdk-nav-portal-app{font-size:1.5rem;color:var(--app-nav-color)}.psdk-appshell-nav{z-index:3;position:fixed;display:flex;flex-direction:column;justify-content:flex-start;background:var(--app-nav-bg);width:var(--app-nav-width);height:100%;color:var(--app-nav-color);overflow-y:auto;overflow-x:hidden;white-space:nowrap;will-change:width}.psdk-appshell-nav:hover{width:var(--app-nav-width-expanded)}.psdk-appshell-topnav{display:flex;flex-direction:column;justify-content:flex-start;background:var(--app-nav-bg);width:var(--app-nav-width);height:15%;color:var(--app-nav-color);overflow:hidden;white-space:nowrap;will-change:width}.psdk-appshell-middlenav{display:flex;flex-direction:column;justify-content:space-between;background:var(--app-nav-bg);width:var(--app-nav-width);height:50%;color:var(--app-nav-color);overflow:hidden;white-space:nowrap;will-change:width}.psdk-nav-ul-middle{display:block;list-style-type:none;margin:0rem;padding-inline-start:30px}.psdk-nav-li-middle{box-sizing:border-box;text-align:left}.psdk-icon{padding:0rem .125rem;min-width:unset}.psdk-nav-button-span{padding:0 1rem}.psdk-nav-oper-avatar{background-color:var(--mat-sys-primary);margin:0rem;padding:0rem;min-width:2.5rem;min-height:2.5rem;max-width:2.5rem;max-height:2.5rem;border-radius:50%;justify-content:center;align-items:center;text-align:center;display:inline-flex;font-weight:400;font-size:1rem}mat-toolbar{background-color:var(--mat-sys-surface-variant)}mat-list{padding:0}.psdk-profile-list-item{padding-left:24px}mat-list-item{padding:20px 0 20px 30px;cursor:pointer!important;height:auto!important}mat-list-item .flex-box{display:flex;align-items:center;width:100%;text-align:left}.spacer{flex:1 1 auto}\n"] }]
|
|
16189
16196
|
}], ctorParameters: () => [{ type: AngularPConnectService }, { type: i0.ChangeDetectorRef }, { type: ProgressSpinnerService }, { type: i0.NgZone }, { type: Utils }], propDecorators: { pConn$: [{
|
|
16190
16197
|
type: Input
|
|
16191
16198
|
}], appName$: [{
|
|
@@ -16889,6 +16896,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
16889
16896
|
type: Input
|
|
16890
16897
|
}] } });
|
|
16891
16898
|
|
|
16899
|
+
/**
|
|
16900
|
+
* Returns the value of the key from objectInfo/caseInfo
|
|
16901
|
+
* Added fallback to retrieve from caseInfo if objectInfo not present.
|
|
16902
|
+
* @param pConnect
|
|
16903
|
+
* @param key
|
|
16904
|
+
* @returns the value of key
|
|
16905
|
+
*/
|
|
16906
|
+
const getResolvedConstantValue = (pConnect, key) => {
|
|
16907
|
+
return pConnect.getValue(PCore.getResolvedConstantValue(key)) || pConnect.getValue(key);
|
|
16908
|
+
};
|
|
16909
|
+
|
|
16892
16910
|
class FileUtilityComponent {
|
|
16893
16911
|
constructor(angularPConnect, utils, ngZone) {
|
|
16894
16912
|
this.angularPConnect = angularPConnect;
|
|
@@ -17074,7 +17092,8 @@ class FileUtilityComponent {
|
|
|
17074
17092
|
// // First thing in initialization is registering and subscribing to the AngularPConnect service
|
|
17075
17093
|
this.angularPConnectData = this.angularPConnect.registerAndSubscribeComponent(this, this.onStateChange);
|
|
17076
17094
|
const configProps = this.pConn$.resolveConfigProps(this.pConn$.getConfigProps());
|
|
17077
|
-
|
|
17095
|
+
const { caseId, label } = configProps;
|
|
17096
|
+
this.lu_name$ = label ?? '';
|
|
17078
17097
|
this.lu_icon$ = 'paper-clip';
|
|
17079
17098
|
this.closeSvgIcon$ = this.utils.getImageSrc('times', this.utils.getSDKStaticContentUrl());
|
|
17080
17099
|
this.addAttachmentsActions = [
|
|
@@ -17093,15 +17112,24 @@ class FileUtilityComponent {
|
|
|
17093
17112
|
this.lu_onViewAllFunction = { onClick: this.onViewAll.bind(this) };
|
|
17094
17113
|
this.removeFileFromList$ = { onClick: this.removeFileFromList.bind(this) };
|
|
17095
17114
|
this.removeLinksFromList$ = { onClick: this.removeLinksFromList.bind(this) };
|
|
17115
|
+
this.debouncedGetAttachments = debounce(this.refreshAttachments.bind(this), 1000);
|
|
17096
17116
|
this.updateSelf();
|
|
17097
17117
|
this.createModalButtons();
|
|
17098
|
-
|
|
17118
|
+
const caseID = caseId ?? getResolvedConstantValue(this.pConn$, PCore.getConstants().CASE_INFO.CASE_INFO_ID);
|
|
17119
|
+
const attachSubObject = {
|
|
17120
|
+
matcher: 'ATTACHMENTS',
|
|
17121
|
+
criteria: {
|
|
17122
|
+
ID: caseID
|
|
17123
|
+
}
|
|
17124
|
+
};
|
|
17125
|
+
this.attachSubId = PCore.getMessagingServiceManager().subscribe(attachSubObject, this.debouncedGetAttachments, this.pConn$.getContextName());
|
|
17126
|
+
this.debouncedGetAttachments();
|
|
17099
17127
|
}
|
|
17100
17128
|
ngOnDestroy() {
|
|
17101
17129
|
if (this.angularPConnectData.unsubscribeFn) {
|
|
17102
17130
|
this.angularPConnectData.unsubscribeFn();
|
|
17103
17131
|
}
|
|
17104
|
-
PCore.
|
|
17132
|
+
PCore.getMessagingServiceManager().unsubscribe(this.attachSubId);
|
|
17105
17133
|
}
|
|
17106
17134
|
// Callback passed when subscribing to store change
|
|
17107
17135
|
onStateChange() {
|
|
@@ -17117,7 +17145,7 @@ class FileUtilityComponent {
|
|
|
17117
17145
|
this.updateSelf();
|
|
17118
17146
|
}
|
|
17119
17147
|
}
|
|
17120
|
-
onAttachFiles(files) {
|
|
17148
|
+
onAttachFiles(files = []) {
|
|
17121
17149
|
const attachmentUtils = PCore.getAttachmentUtils();
|
|
17122
17150
|
const caseID = this.pConn$.getValue(PCore.getConstants().CASE_INFO.CASE_INFO_ID);
|
|
17123
17151
|
if (files.length > 0) {
|
|
@@ -18240,7 +18268,7 @@ class TodoComponent {
|
|
|
18240
18268
|
}
|
|
18241
18269
|
updateList() {
|
|
18242
18270
|
const { WORK_BASKET: { DATA_PAGES: { D__PY_MY_WORK_LIST } } } = PCore.getConstants();
|
|
18243
|
-
updateWorkList(
|
|
18271
|
+
updateWorkList(this.pConn$, getMappedValue(D__PY_MY_WORK_LIST));
|
|
18244
18272
|
}
|
|
18245
18273
|
updateToDo() {
|
|
18246
18274
|
this.configProps$ = this.pConn$.resolveConfigProps(this.pConn$.getConfigProps());
|
|
@@ -18467,11 +18495,11 @@ class BannerComponent {
|
|
|
18467
18495
|
return `url(${this.backgroundImage})`;
|
|
18468
18496
|
}
|
|
18469
18497
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BannerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
18470
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: BannerComponent, isStandalone: true, selector: "app-banner", inputs: { pConn$: "pConn$", formGroup$: "formGroup$", arChildren$: "arChildren$", title: "title", message: "message", backgroundImage: "backgroundImage", layout$: "layout$" }, ngImport: i0, template: "<div style=\"margin-bottom: '2rem'\">\n <div class=\"background-image-style\" [ngStyle]=\"{ 'background-image': getUrl() }\">\n <div class=\"background-style content\">\n <div>\n <h1 class=\"title\">{{ title }}</h1>\n <p class=\"message\">{{ message }}</p>\n </div>\n </div>\n </div>\n <div\n [ngClass]=\"{\n 'psdk-grid-filter-
|
|
18498
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: BannerComponent, isStandalone: true, selector: "app-banner", inputs: { pConn$: "pConn$", formGroup$: "formGroup$", arChildren$: "arChildren$", title: "title", message: "message", backgroundImage: "backgroundImage", layout$: "layout$" }, ngImport: i0, template: "<div style=\"margin-bottom: '2rem'\">\n <div class=\"background-image-style\" [ngStyle]=\"{ 'background-image': getUrl() }\">\n <div class=\"background-style content\">\n <div>\n <h1 class=\"title\">{{ title }}</h1>\n <p class=\"message\">{{ message }}</p>\n </div>\n </div>\n </div>\n <div\n [ngClass]=\"{\n 'psdk-grid-filter-2': this.layout$ === 'two-column',\n 'psdk-grid-filter-wide-narrow': this.layout$ === 'wide-narrow',\n 'psdk-grid-filter-narrow-wide': this.layout$ === 'narrow-wide'\n }\"\n >\n <component-mapper\n [name]=\"arChildren$[0].getPConnect().getComponentName()\"\n [props]=\"{ pConn$: arChildren$[0].getPConnect(), formGroup$ }\"\n errorMsg=\"Region wants component not yet available: {{ arChildren$[0].getPConnect().getComponentName() }}\"\n ></component-mapper>\n <component-mapper\n [name]=\"arChildren$[1].getPConnect().getComponentName()\"\n [props]=\"{ pConn$: arChildren$[1].getPConnect(), formGroup$ }\"\n errorMsg=\"Region wants component not yet available: {{ arChildren$[1].getPConnect().getComponentName() }}\"\n ></component-mapper>\n </div>\n</div>\n", styles: [".psdk-grid-filter-1{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));column-gap:1rem;row-gap:1rem;align-items:start}.psdk-grid-filter-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1rem;row-gap:1rem;align-items:start}.psdk-grid-filter-wide-narrow{display:grid;grid-template-columns:7fr 3fr;column-gap:1rem;row-gap:1rem;align-items:start}.psdk-grid-filter-wide-narrow>*:nth-child(1){min-width:0}.psdk-grid-filter-narrow-wide{display:grid;grid-template-columns:3fr 7fr;column-gap:1rem;row-gap:1rem;align-items:start}.psdk-grid-filter-narrow-wide>*:nth-child(2){min-width:0}.background-image-style{margin-left:-16px;margin-right:-16px;height:19rem;background-size:cover;background-position:center center}.background-style{background-color:transparent;width:100%;height:100%;text-align:center}.content{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.5rem}.title{margin:0rem;font-size:1.728rem;font-weight:600}.message{margin:0;font-size:1rem;font-weight:400}.banner-layout{padding:1rem}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i1.NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgStyle), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
|
|
18471
18499
|
}
|
|
18472
18500
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BannerComponent, decorators: [{
|
|
18473
18501
|
type: Component,
|
|
18474
|
-
args: [{ selector: 'app-banner', imports: [CommonModule, forwardRef(() => ComponentMapperComponent)], template: "<div style=\"margin-bottom: '2rem'\">\n <div class=\"background-image-style\" [ngStyle]=\"{ 'background-image': getUrl() }\">\n <div class=\"background-style content\">\n <div>\n <h1 class=\"title\">{{ title }}</h1>\n <p class=\"message\">{{ message }}</p>\n </div>\n </div>\n </div>\n <div\n [ngClass]=\"{\n 'psdk-grid-filter-
|
|
18502
|
+
args: [{ selector: 'app-banner', imports: [CommonModule, forwardRef(() => ComponentMapperComponent)], template: "<div style=\"margin-bottom: '2rem'\">\n <div class=\"background-image-style\" [ngStyle]=\"{ 'background-image': getUrl() }\">\n <div class=\"background-style content\">\n <div>\n <h1 class=\"title\">{{ title }}</h1>\n <p class=\"message\">{{ message }}</p>\n </div>\n </div>\n </div>\n <div\n [ngClass]=\"{\n 'psdk-grid-filter-2': this.layout$ === 'two-column',\n 'psdk-grid-filter-wide-narrow': this.layout$ === 'wide-narrow',\n 'psdk-grid-filter-narrow-wide': this.layout$ === 'narrow-wide'\n }\"\n >\n <component-mapper\n [name]=\"arChildren$[0].getPConnect().getComponentName()\"\n [props]=\"{ pConn$: arChildren$[0].getPConnect(), formGroup$ }\"\n errorMsg=\"Region wants component not yet available: {{ arChildren$[0].getPConnect().getComponentName() }}\"\n ></component-mapper>\n <component-mapper\n [name]=\"arChildren$[1].getPConnect().getComponentName()\"\n [props]=\"{ pConn$: arChildren$[1].getPConnect(), formGroup$ }\"\n errorMsg=\"Region wants component not yet available: {{ arChildren$[1].getPConnect().getComponentName() }}\"\n ></component-mapper>\n </div>\n</div>\n", styles: [".psdk-grid-filter-1{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));column-gap:1rem;row-gap:1rem;align-items:start}.psdk-grid-filter-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1rem;row-gap:1rem;align-items:start}.psdk-grid-filter-wide-narrow{display:grid;grid-template-columns:7fr 3fr;column-gap:1rem;row-gap:1rem;align-items:start}.psdk-grid-filter-wide-narrow>*:nth-child(1){min-width:0}.psdk-grid-filter-narrow-wide{display:grid;grid-template-columns:3fr 7fr;column-gap:1rem;row-gap:1rem;align-items:start}.psdk-grid-filter-narrow-wide>*:nth-child(2){min-width:0}.background-image-style{margin-left:-16px;margin-right:-16px;height:19rem;background-size:cover;background-position:center center}.background-style{background-color:transparent;width:100%;height:100%;text-align:center}.content{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.5rem}.title{margin:0rem;font-size:1.728rem;font-weight:600}.message{margin:0;font-size:1rem;font-weight:400}.banner-layout{padding:1rem}\n"] }]
|
|
18475
18503
|
}], propDecorators: { pConn$: [{
|
|
18476
18504
|
type: Input
|
|
18477
18505
|
}], formGroup$: [{
|
|
@@ -18973,6 +19001,7 @@ class RichTextEditorComponent {
|
|
|
18973
19001
|
this.onBlur = new EventEmitter();
|
|
18974
19002
|
this.onChange = new EventEmitter();
|
|
18975
19003
|
this.richText = new FormControl();
|
|
19004
|
+
this.editorConfig = {};
|
|
18976
19005
|
this.filePickerCallback = cb => {
|
|
18977
19006
|
const input = document.createElement('input');
|
|
18978
19007
|
input.setAttribute('type', 'file');
|
|
@@ -19013,6 +19042,34 @@ class RichTextEditorComponent {
|
|
|
19013
19042
|
if (this.value) {
|
|
19014
19043
|
this.richText.setValue(this.value);
|
|
19015
19044
|
}
|
|
19045
|
+
const themeElement = document.querySelector('.dark') || document.body;
|
|
19046
|
+
let textColor = getComputedStyle(themeElement).getPropertyValue('--mat-sys-on-surface').trim();
|
|
19047
|
+
if (!textColor)
|
|
19048
|
+
textColor = '#000000';
|
|
19049
|
+
this.editorConfig = {
|
|
19050
|
+
base_url: '/tinymce',
|
|
19051
|
+
suffix: '.min',
|
|
19052
|
+
menubar: false,
|
|
19053
|
+
placeholder: this.placeholder,
|
|
19054
|
+
statusbar: false,
|
|
19055
|
+
min_height: 130,
|
|
19056
|
+
plugins: ['lists', 'advlist', 'autolink', 'image', 'link', 'autoresize'],
|
|
19057
|
+
autoresize_bottom_margin: 0,
|
|
19058
|
+
toolbar: this.disabled ? false : 'blocks | bold italic strikethrough | bullist numlist outdent indent | link image',
|
|
19059
|
+
toolbar_location: 'bottom',
|
|
19060
|
+
content_style: `
|
|
19061
|
+
body {
|
|
19062
|
+
font-family: Helvetica, Arial, sans-serif;
|
|
19063
|
+
font-size: 14px;
|
|
19064
|
+
color: ${textColor} !important;
|
|
19065
|
+
background: transparent !important;
|
|
19066
|
+
}
|
|
19067
|
+
`,
|
|
19068
|
+
branding: false,
|
|
19069
|
+
paste_data_images: true,
|
|
19070
|
+
file_picker_types: 'image',
|
|
19071
|
+
file_picker_callback: this.filePickerCallback
|
|
19072
|
+
};
|
|
19016
19073
|
}
|
|
19017
19074
|
blur() {
|
|
19018
19075
|
if (tinymce.activeEditor) {
|
|
@@ -19024,11 +19081,11 @@ class RichTextEditorComponent {
|
|
|
19024
19081
|
this.onChange.emit(event);
|
|
19025
19082
|
}
|
|
19026
19083
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: RichTextEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
19027
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: RichTextEditorComponent, isStandalone: true, selector: "app-rich-text-editor", inputs: { placeholder: "placeholder", disabled: "disabled", readonly: "readonly", value: "value", label: "label", required: "required", info: "info", error: "error", testId: "testId" }, outputs: { onBlur: "onBlur", onChange: "onChange" }, providers: [{ provide: TINYMCE_SCRIPT_SRC, useValue: 'tinymce/tinymce.min.js' }], usesOnChanges: true, ngImport: i0, template: "<div [attr.data-test-id]=\"testId\">\n <label [ngClass]=\"{ 'label-required': required === true }\" class=\"rich-text-label\">{{ label }}</label>\n <div class=\"rich-text-editor\" *ngIf=\"!readonly\">\n <editor\n [formControl]=\"richText\"\n [attr.disabled]=\"disabled\"\n [initialValue]=\"value\"\n [init]=\"
|
|
19084
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: RichTextEditorComponent, isStandalone: true, selector: "app-rich-text-editor", inputs: { placeholder: "placeholder", disabled: "disabled", readonly: "readonly", value: "value", label: "label", required: "required", info: "info", error: "error", testId: "testId" }, outputs: { onBlur: "onBlur", onChange: "onChange" }, providers: [{ provide: TINYMCE_SCRIPT_SRC, useValue: 'tinymce/tinymce.min.js' }], usesOnChanges: true, ngImport: i0, template: "<div [attr.data-test-id]=\"testId\">\n <label [ngClass]=\"{ 'label-required': required === true }\" class=\"rich-text-label\">{{ label }}</label>\n\n <div class=\"rich-text-editor\" *ngIf=\"!readonly\">\n <editor\n [formControl]=\"richText\"\n [attr.disabled]=\"disabled\"\n [initialValue]=\"value\"\n [init]=\"editorConfig\"\n (onBlur)=\"blur()\"\n (onChange)=\"change($event)\"\n ></editor>\n\n <p *ngIf=\"richText.invalid\" [ngClass]=\"'text-editor-error'\">{{ info }}</p>\n </div>\n\n <div *ngIf=\"readonly\">\n <div class=\"readonly-richtext-editor\" style=\"margin: 10px 5px\" [innerHTML]=\"value || '--'\"></div>\n </div>\n</div>\n", styles: [".rich-text-label{margin:5px;font-size:16px}.rich-text-editor{margin:10px 0}.label-required:after{display:inline;content:\" *\";vertical-align:top}.text-editor-error{color:var(--app-error-light-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: EditorModule }, { kind: "component", type: i2$4.EditorComponent, selector: "editor", inputs: ["cloudChannel", "apiKey", "licenseKey", "init", "id", "initialValue", "outputFormat", "inline", "tagName", "plugins", "toolbar", "modelEvents", "allowedEvents", "ignoreEvents", "disabled"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
|
|
19028
19085
|
}
|
|
19029
19086
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: RichTextEditorComponent, decorators: [{
|
|
19030
19087
|
type: Component,
|
|
19031
|
-
args: [{ selector: 'app-rich-text-editor', imports: [CommonModule, EditorModule, ReactiveFormsModule], providers: [{ provide: TINYMCE_SCRIPT_SRC, useValue: 'tinymce/tinymce.min.js' }], template: "<div [attr.data-test-id]=\"testId\">\n <label [ngClass]=\"{ 'label-required': required === true }\" class=\"rich-text-label\">{{ label }}</label>\n <div class=\"rich-text-editor\" *ngIf=\"!readonly\">\n <editor\n [formControl]=\"richText\"\n [attr.disabled]=\"disabled\"\n [initialValue]=\"value\"\n [init]=\"
|
|
19088
|
+
args: [{ selector: 'app-rich-text-editor', imports: [CommonModule, EditorModule, ReactiveFormsModule], providers: [{ provide: TINYMCE_SCRIPT_SRC, useValue: 'tinymce/tinymce.min.js' }], template: "<div [attr.data-test-id]=\"testId\">\n <label [ngClass]=\"{ 'label-required': required === true }\" class=\"rich-text-label\">{{ label }}</label>\n\n <div class=\"rich-text-editor\" *ngIf=\"!readonly\">\n <editor\n [formControl]=\"richText\"\n [attr.disabled]=\"disabled\"\n [initialValue]=\"value\"\n [init]=\"editorConfig\"\n (onBlur)=\"blur()\"\n (onChange)=\"change($event)\"\n ></editor>\n\n <p *ngIf=\"richText.invalid\" [ngClass]=\"'text-editor-error'\">{{ info }}</p>\n </div>\n\n <div *ngIf=\"readonly\">\n <div class=\"readonly-richtext-editor\" style=\"margin: 10px 5px\" [innerHTML]=\"value || '--'\"></div>\n </div>\n</div>\n", styles: [".rich-text-label{margin:5px;font-size:16px}.rich-text-editor{margin:10px 0}.label-required:after{display:inline;content:\" *\";vertical-align:top}.text-editor-error{color:var(--app-error-light-color)}\n"] }]
|
|
19032
19089
|
}], propDecorators: { placeholder: [{
|
|
19033
19090
|
type: Input
|
|
19034
19091
|
}], disabled: [{
|