@valtimo/zgw 12.17.1 → 12.19.0
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/modules/index.mjs +2 -1
- package/esm2022/lib/modules/notificaties-api/components/failed-notification-detail/failed-notification-detail.component.mjs +85 -0
- package/esm2022/lib/modules/notificaties-api/components/failed-notifications-page/failed-notifications-page.component.mjs +123 -0
- package/esm2022/lib/modules/notificaties-api/components/index.mjs +3 -0
- package/esm2022/lib/modules/notificaties-api/index.mjs +5 -0
- package/esm2022/lib/modules/notificaties-api/models/failed-notification.model.mjs +23 -0
- package/esm2022/lib/modules/notificaties-api/models/index.mjs +2 -0
- package/esm2022/lib/modules/notificaties-api/notificaties-api-routing.module.mjs +47 -0
- package/esm2022/lib/modules/notificaties-api/services/failed-notifications.service.mjs +56 -0
- package/esm2022/lib/modules/notificaties-api/services/index.mjs +2 -0
- package/esm2022/lib/zgw.module.mjs +7 -4
- package/fesm2022/valtimo-zgw.mjs +306 -8
- package/fesm2022/valtimo-zgw.mjs.map +1 -1
- package/lib/modules/index.d.ts +1 -0
- package/lib/modules/index.d.ts.map +1 -1
- package/lib/modules/notificaties-api/components/failed-notification-detail/failed-notification-detail.component.d.ts +17 -0
- package/lib/modules/notificaties-api/components/failed-notification-detail/failed-notification-detail.component.d.ts.map +1 -0
- package/lib/modules/notificaties-api/components/failed-notifications-page/failed-notifications-page.component.d.ts +32 -0
- package/lib/modules/notificaties-api/components/failed-notifications-page/failed-notifications-page.component.d.ts.map +1 -0
- package/lib/modules/notificaties-api/components/index.d.ts +3 -0
- package/lib/modules/notificaties-api/components/index.d.ts.map +1 -0
- package/lib/modules/notificaties-api/index.d.ts +5 -0
- package/lib/modules/notificaties-api/index.d.ts.map +1 -0
- package/lib/modules/notificaties-api/models/failed-notification.model.d.ts +22 -0
- package/lib/modules/notificaties-api/models/failed-notification.model.d.ts.map +1 -0
- package/lib/modules/notificaties-api/models/index.d.ts +2 -0
- package/lib/modules/notificaties-api/models/index.d.ts.map +1 -0
- package/lib/modules/notificaties-api/notificaties-api-routing.module.d.ts +9 -0
- package/lib/modules/notificaties-api/notificaties-api-routing.module.d.ts.map +1 -0
- package/lib/modules/notificaties-api/services/failed-notifications.service.d.ts +16 -0
- package/lib/modules/notificaties-api/services/failed-notifications.service.d.ts.map +1 -0
- package/lib/modules/notificaties-api/services/index.d.ts +2 -0
- package/lib/modules/notificaties-api/services/index.d.ts.map +1 -0
- package/lib/zgw.module.d.ts +2 -1
- package/lib/zgw.module.d.ts.map +1 -1
- package/package.json +1 -1
package/fesm2022/valtimo-zgw.mjs
CHANGED
|
@@ -8,11 +8,11 @@ import * as i4 from '@angular/common';
|
|
|
8
8
|
import { CommonModule } from '@angular/common';
|
|
9
9
|
import * as i1$1 from '@angular/forms';
|
|
10
10
|
import { Validators, ReactiveFormsModule, FormsModule, FormGroup, FormControl } from '@angular/forms';
|
|
11
|
-
import { BehaviorSubject, combineLatest, map, Subscription, switchMap, filter, tap, startWith, debounceTime, Subject, take, of, from, ReplaySubject, EMPTY, distinctUntilChanged } from 'rxjs';
|
|
11
|
+
import { BehaviorSubject, combineLatest, map, Subscription, switchMap, filter, tap, startWith, debounceTime, Subject, take, of, from, ReplaySubject, EMPTY, finalize, distinctUntilChanged } from 'rxjs';
|
|
12
12
|
import * as i3$1 from '@valtimo/components';
|
|
13
13
|
import { CARBON_CONSTANTS, ViewType, CarbonListModule, ConfirmationModalModule, InputLabelModule, InputModule as InputModule$1, SelectModule, VModalModule, DEFAULT_PAGINATION, DEFAULT_PAGINATOR_CONFIG, ParagraphModule, CarbonListComponent, createCustomFormioComponent, registerCustomFormioComponentWithClass, TableModule, TitleModule, FormIoModule, TimelineItemImpl, ModalModule as ModalModule$1, SpinnerModule, TimelineModule, WidgetModule, ListModule, FilterSidebarModule, PageModule, FormModule, ValtimoCdsModalDirectiveModule, DropzoneModule, FileSizeModule } from '@valtimo/components';
|
|
14
14
|
import * as i2 from '@valtimo/config';
|
|
15
|
-
import { BaseApiService, UploadProvider, ROLE_USER, CASE_MANAGEMENT_TAB_TOKEN, ZGW_OBJECT_TYPE_COMPONENT_TOKEN, ZGW_DOCUMENTEN_API_DOCUMENTS_COMPONENT_TOKEN, ZGW_CASE_CONFIGURATION_EXTENSIONS_TOKEN } from '@valtimo/config';
|
|
15
|
+
import { BaseApiService, UploadProvider, ROLE_USER, ROLE_ADMIN, CASE_MANAGEMENT_TAB_TOKEN, ZGW_OBJECT_TYPE_COMPONENT_TOKEN, ZGW_DOCUMENTEN_API_DOCUMENTS_COMPONENT_TOKEN, ZGW_CASE_CONFIGURATION_EXTENSIONS_TOKEN } from '@valtimo/config';
|
|
16
16
|
import * as i1 from '@angular/common/http';
|
|
17
17
|
import { HttpParams } from '@angular/common/http';
|
|
18
18
|
import * as i1$2 from '@angular/router';
|
|
@@ -4235,7 +4235,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
4235
4235
|
* See the License for the specific language governing permissions and
|
|
4236
4236
|
* limitations under the License.
|
|
4237
4237
|
*/
|
|
4238
|
-
const routes = [
|
|
4238
|
+
const routes$1 = [
|
|
4239
4239
|
{
|
|
4240
4240
|
path: 'klanten',
|
|
4241
4241
|
component: CustomerListComponent,
|
|
@@ -4252,12 +4252,12 @@ const routes = [
|
|
|
4252
4252
|
class CustomerRoutingModule {
|
|
4253
4253
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CustomerRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
4254
4254
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: CustomerRoutingModule, imports: [CommonModule, i1$2.RouterModule], exports: [RouterModule] }); }
|
|
4255
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CustomerRoutingModule, imports: [CommonModule, RouterModule.forChild(routes), RouterModule] }); }
|
|
4255
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CustomerRoutingModule, imports: [CommonModule, RouterModule.forChild(routes$1), RouterModule] }); }
|
|
4256
4256
|
}
|
|
4257
4257
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CustomerRoutingModule, decorators: [{
|
|
4258
4258
|
type: NgModule,
|
|
4259
4259
|
args: [{
|
|
4260
|
-
imports: [CommonModule, RouterModule.forChild(routes)],
|
|
4260
|
+
imports: [CommonModule, RouterModule.forChild(routes$1)],
|
|
4261
4261
|
exports: [RouterModule],
|
|
4262
4262
|
}]
|
|
4263
4263
|
}] });
|
|
@@ -4830,6 +4830,301 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
4830
4830
|
* limitations under the License.
|
|
4831
4831
|
*/
|
|
4832
4832
|
|
|
4833
|
+
/*
|
|
4834
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
4835
|
+
*
|
|
4836
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
4837
|
+
* you may not use this file except in compliance with the License.
|
|
4838
|
+
* You may obtain a copy of the License at
|
|
4839
|
+
*
|
|
4840
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
4841
|
+
*
|
|
4842
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
4843
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
4844
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
4845
|
+
* See the License for the specific language governing permissions and
|
|
4846
|
+
* limitations under the License.
|
|
4847
|
+
*/
|
|
4848
|
+
class FailedNotificationDetailComponent {
|
|
4849
|
+
constructor() {
|
|
4850
|
+
this.open = false;
|
|
4851
|
+
this.notification = null;
|
|
4852
|
+
this.retryInProgress = false;
|
|
4853
|
+
this.closeModalEvent = new EventEmitter();
|
|
4854
|
+
this.retryEvent = new EventEmitter();
|
|
4855
|
+
}
|
|
4856
|
+
onClose() {
|
|
4857
|
+
this.closeModalEvent.emit();
|
|
4858
|
+
}
|
|
4859
|
+
onRetry() {
|
|
4860
|
+
if (!this.retryInProgress)
|
|
4861
|
+
this.retryEvent.emit();
|
|
4862
|
+
}
|
|
4863
|
+
get formattedPayload() {
|
|
4864
|
+
if (!this.notification?.payload)
|
|
4865
|
+
return '';
|
|
4866
|
+
try {
|
|
4867
|
+
return JSON.stringify(JSON.parse(this.notification.payload), null, 2);
|
|
4868
|
+
}
|
|
4869
|
+
catch (error) {
|
|
4870
|
+
return this.notification.payload;
|
|
4871
|
+
}
|
|
4872
|
+
}
|
|
4873
|
+
formatDateValue(value) {
|
|
4874
|
+
if (!value)
|
|
4875
|
+
return '-';
|
|
4876
|
+
try {
|
|
4877
|
+
return moment(value).locale(localStorage.getItem('langKey') ?? 'nl').format('DD-MM-YYYY, HH:mm:ss');
|
|
4878
|
+
}
|
|
4879
|
+
catch (error) {
|
|
4880
|
+
return value;
|
|
4881
|
+
}
|
|
4882
|
+
}
|
|
4883
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FailedNotificationDetailComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4884
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FailedNotificationDetailComponent, isStandalone: true, selector: "valtimo-notificaties-api-failed-notification-detail", inputs: { open: "open", notification: "notification", retryInProgress: "retryInProgress" }, outputs: { closeModalEvent: "closeModalEvent", retryEvent: "retryEvent" }, ngImport: i0, template: "<cds-modal [open]=\"open\" size=\"lg\" valtimoCdsModal>\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onClose()\">\n {{ 'zgw.notifications.failed.detail.title' | translate }}\n </cds-modal-header>\n\n <section cdsModalContent class=\"failed-notification-detail__content\">\n <h4 class=\"detail-heading\">\n {{ 'zgw.notifications.failed.detail.metadataTitle' | translate }}\n </h4>\n\n <dl class=\"detail-metadata\">\n <div>\n <dt>{{ 'zgw.notifications.failed.detail.status' | translate }}</dt>\n <dd>{{ notification?.status || '-' }}</dd>\n </div>\n <div>\n <dt>{{ 'zgw.notifications.failed.detail.pendingRetries' | translate }}</dt>\n <dd>{{ notification?.pendingRetries ?? '-' }}</dd>\n </div>\n <div>\n <dt>{{ 'zgw.notifications.failed.detail.receivedAt' | translate }}</dt>\n <dd>{{ formatDateValue(notification?.receivedAt) }}</dd>\n </div>\n <div>\n <dt>{{ 'zgw.notifications.failed.detail.lastProcessedAt' | translate }}</dt>\n <dd>{{ formatDateValue(notification?.lastProcessedAt) }}</dd>\n </div>\n </dl>\n\n <h4 class=\"detail-heading\">\n {{ 'zgw.notifications.failed.detail.payloadTitle' | translate }}\n </h4>\n <div class=\"detail-block\" *ngIf=\"formattedPayload; else noPayload\">\n <pre class=\"detail-pre\">{{ formattedPayload }}</pre>\n </div>\n <ng-template #noPayload>\n <div class=\"detail-block detail-block--empty\">\n {{ 'zgw.notifications.failed.detail.noPayload' | translate }}\n </div>\n </ng-template>\n\n <h4 class=\"detail-heading\">\n {{ 'zgw.notifications.failed.detail.errorTitle' | translate }}\n </h4>\n <div class=\"detail-block\" *ngIf=\"notification?.lastErrorMessage; else noError\">\n <pre class=\"detail-pre\">{{ notification?.lastErrorMessage }}</pre>\n </div>\n <ng-template #noError>\n <div class=\"detail-block detail-block--empty\">\n {{ 'zgw.notifications.failed.detail.noError' | translate }}\n </div>\n </ng-template>\n </section>\n\n <cds-modal-footer>\n <button cdsButton=\"ghost\" type=\"button\" (click)=\"onClose()\">\n {{ 'interface.close' | translate }}\n </button>\n <button\n cdsButton=\"primary\"\n type=\"button\"\n (click)=\"onRetry()\"\n [disabled]=\"retryInProgress || !notification\"\n >\n {{ 'zgw.notifications.failed.detail.retry' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".failed-notification-detail__content{padding:32px}.detail-heading{padding-top:24px;padding-bottom:12px;color:var(--cds-text-primary);font-weight:600;font-size:16px;line-height:24px}.detail-metadata{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px 24px;margin:0}.detail-metadata div{background-color:var(--cds-layer-01);border-radius:4px;padding:12px}.detail-metadata dt{color:var(--cds-text-secondary)}.detail-metadata dd{color:var(--cds-text-primary);word-break:break-word}.detail-block{background-color:var(--cds-layer-01);border-radius:4px;padding:16px;color:var(--cds-text-primary);max-height:none;overflow:visible}.detail-block--empty{color:var(--cds-text-disabled);font-style:italic}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ModalModule }, { kind: "component", type: i6.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i6.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i6.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i6.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i6.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: ValtimoCdsModalDirectiveModule }, { kind: "directive", type: i3$1.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["enableOverflow"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
4885
|
+
}
|
|
4886
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FailedNotificationDetailComponent, decorators: [{
|
|
4887
|
+
type: Component,
|
|
4888
|
+
args: [{ selector: 'valtimo-notificaties-api-failed-notification-detail', standalone: true, imports: [
|
|
4889
|
+
CommonModule,
|
|
4890
|
+
TranslateModule,
|
|
4891
|
+
ModalModule,
|
|
4892
|
+
ButtonModule,
|
|
4893
|
+
ValtimoCdsModalDirectiveModule,
|
|
4894
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<cds-modal [open]=\"open\" size=\"lg\" valtimoCdsModal>\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onClose()\">\n {{ 'zgw.notifications.failed.detail.title' | translate }}\n </cds-modal-header>\n\n <section cdsModalContent class=\"failed-notification-detail__content\">\n <h4 class=\"detail-heading\">\n {{ 'zgw.notifications.failed.detail.metadataTitle' | translate }}\n </h4>\n\n <dl class=\"detail-metadata\">\n <div>\n <dt>{{ 'zgw.notifications.failed.detail.status' | translate }}</dt>\n <dd>{{ notification?.status || '-' }}</dd>\n </div>\n <div>\n <dt>{{ 'zgw.notifications.failed.detail.pendingRetries' | translate }}</dt>\n <dd>{{ notification?.pendingRetries ?? '-' }}</dd>\n </div>\n <div>\n <dt>{{ 'zgw.notifications.failed.detail.receivedAt' | translate }}</dt>\n <dd>{{ formatDateValue(notification?.receivedAt) }}</dd>\n </div>\n <div>\n <dt>{{ 'zgw.notifications.failed.detail.lastProcessedAt' | translate }}</dt>\n <dd>{{ formatDateValue(notification?.lastProcessedAt) }}</dd>\n </div>\n </dl>\n\n <h4 class=\"detail-heading\">\n {{ 'zgw.notifications.failed.detail.payloadTitle' | translate }}\n </h4>\n <div class=\"detail-block\" *ngIf=\"formattedPayload; else noPayload\">\n <pre class=\"detail-pre\">{{ formattedPayload }}</pre>\n </div>\n <ng-template #noPayload>\n <div class=\"detail-block detail-block--empty\">\n {{ 'zgw.notifications.failed.detail.noPayload' | translate }}\n </div>\n </ng-template>\n\n <h4 class=\"detail-heading\">\n {{ 'zgw.notifications.failed.detail.errorTitle' | translate }}\n </h4>\n <div class=\"detail-block\" *ngIf=\"notification?.lastErrorMessage; else noError\">\n <pre class=\"detail-pre\">{{ notification?.lastErrorMessage }}</pre>\n </div>\n <ng-template #noError>\n <div class=\"detail-block detail-block--empty\">\n {{ 'zgw.notifications.failed.detail.noError' | translate }}\n </div>\n </ng-template>\n </section>\n\n <cds-modal-footer>\n <button cdsButton=\"ghost\" type=\"button\" (click)=\"onClose()\">\n {{ 'interface.close' | translate }}\n </button>\n <button\n cdsButton=\"primary\"\n type=\"button\"\n (click)=\"onRetry()\"\n [disabled]=\"retryInProgress || !notification\"\n >\n {{ 'zgw.notifications.failed.detail.retry' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".failed-notification-detail__content{padding:32px}.detail-heading{padding-top:24px;padding-bottom:12px;color:var(--cds-text-primary);font-weight:600;font-size:16px;line-height:24px}.detail-metadata{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px 24px;margin:0}.detail-metadata div{background-color:var(--cds-layer-01);border-radius:4px;padding:12px}.detail-metadata dt{color:var(--cds-text-secondary)}.detail-metadata dd{color:var(--cds-text-primary);word-break:break-word}.detail-block{background-color:var(--cds-layer-01);border-radius:4px;padding:16px;color:var(--cds-text-primary);max-height:none;overflow:visible}.detail-block--empty{color:var(--cds-text-disabled);font-style:italic}\n"] }]
|
|
4895
|
+
}], propDecorators: { open: [{
|
|
4896
|
+
type: Input
|
|
4897
|
+
}], notification: [{
|
|
4898
|
+
type: Input
|
|
4899
|
+
}], retryInProgress: [{
|
|
4900
|
+
type: Input
|
|
4901
|
+
}], closeModalEvent: [{
|
|
4902
|
+
type: Output
|
|
4903
|
+
}], retryEvent: [{
|
|
4904
|
+
type: Output
|
|
4905
|
+
}] } });
|
|
4906
|
+
|
|
4907
|
+
/*
|
|
4908
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
4909
|
+
*
|
|
4910
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
4911
|
+
* you may not use this file except in compliance with the License.
|
|
4912
|
+
* You may obtain a copy of the License at
|
|
4913
|
+
*
|
|
4914
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
4915
|
+
*
|
|
4916
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
4917
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
4918
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
4919
|
+
* See the License for the specific language governing permissions and
|
|
4920
|
+
* limitations under the License.
|
|
4921
|
+
*/
|
|
4922
|
+
class FailedNotificationsService extends BaseApiService {
|
|
4923
|
+
constructor(httpClient, configService) {
|
|
4924
|
+
super(httpClient, configService);
|
|
4925
|
+
this.httpClient = httpClient;
|
|
4926
|
+
this.configService = configService;
|
|
4927
|
+
}
|
|
4928
|
+
getFailedNotifications(request) {
|
|
4929
|
+
const params = new HttpParams({
|
|
4930
|
+
fromObject: {
|
|
4931
|
+
page: request.page,
|
|
4932
|
+
size: request.size,
|
|
4933
|
+
...(request.sort ? { sort: request.sort } : {}),
|
|
4934
|
+
},
|
|
4935
|
+
});
|
|
4936
|
+
return this.httpClient.get(this.getApiUrl('management/v1/notificatiesapi/inbound-events/failed'), { params });
|
|
4937
|
+
}
|
|
4938
|
+
retryFailedNotification(id) {
|
|
4939
|
+
return this.httpClient.post(this.getApiUrl(`management/v1/notificatiesapi/inbound-events/${id}/retry`), {});
|
|
4940
|
+
}
|
|
4941
|
+
getFailedNotificationCount() {
|
|
4942
|
+
return this.httpClient
|
|
4943
|
+
.get(this.getApiUrl('management/v1/notificatiesapi/inbound-events/failed/count'))
|
|
4944
|
+
.pipe(map(response => response.count ?? 0));
|
|
4945
|
+
}
|
|
4946
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FailedNotificationsService, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
4947
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FailedNotificationsService, providedIn: 'root' }); }
|
|
4948
|
+
}
|
|
4949
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FailedNotificationsService, decorators: [{
|
|
4950
|
+
type: Injectable,
|
|
4951
|
+
args: [{
|
|
4952
|
+
providedIn: 'root',
|
|
4953
|
+
}]
|
|
4954
|
+
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.ConfigService }] });
|
|
4955
|
+
|
|
4956
|
+
/*
|
|
4957
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
4958
|
+
*
|
|
4959
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
4960
|
+
* you may not use this file except in compliance with the License.
|
|
4961
|
+
* You may obtain a copy of the License at
|
|
4962
|
+
*
|
|
4963
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
4964
|
+
*
|
|
4965
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
4966
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
4967
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
4968
|
+
* See the License for the specific language governing permissions and
|
|
4969
|
+
* limitations under the License.
|
|
4970
|
+
*/
|
|
4971
|
+
class FailedNotificationsPageComponent {
|
|
4972
|
+
constructor(failedNotificationsService, toastrService, translateService) {
|
|
4973
|
+
this.failedNotificationsService = failedNotificationsService;
|
|
4974
|
+
this.toastrService = toastrService;
|
|
4975
|
+
this.translateService = translateService;
|
|
4976
|
+
this._DEFAULT_SORT = 'receivedAt,desc';
|
|
4977
|
+
this.loading$ = new BehaviorSubject(false);
|
|
4978
|
+
this.pagination$ = new BehaviorSubject({ ...DEFAULT_PAGINATION });
|
|
4979
|
+
this.retryInProgress$ = new BehaviorSubject(false);
|
|
4980
|
+
this.selectedNotification$ = new BehaviorSubject(null);
|
|
4981
|
+
this._pageRequest$ = new BehaviorSubject({
|
|
4982
|
+
page: 0,
|
|
4983
|
+
size: DEFAULT_PAGINATION.size,
|
|
4984
|
+
sort: this._DEFAULT_SORT,
|
|
4985
|
+
});
|
|
4986
|
+
this.notifications$ = this._pageRequest$.pipe(tap(() => this.loading$.next(true)), switchMap(request => this.failedNotificationsService.getFailedNotifications(request).pipe(tap(page => {
|
|
4987
|
+
this.pagination$.next({
|
|
4988
|
+
...this.pagination$.getValue(),
|
|
4989
|
+
page: request.page + 1,
|
|
4990
|
+
size: request.size,
|
|
4991
|
+
collectionSize: page.totalElements,
|
|
4992
|
+
});
|
|
4993
|
+
}), map(page => page.content), finalize(() => this.loading$.next(false)))));
|
|
4994
|
+
this.FIELDS = [
|
|
4995
|
+
{
|
|
4996
|
+
key: 'receivedAt',
|
|
4997
|
+
label: 'zgw.notifications.failed.columns.receivedAt',
|
|
4998
|
+
viewType: ViewType.DATE_TIME,
|
|
4999
|
+
},
|
|
5000
|
+
{
|
|
5001
|
+
key: 'pendingRetries',
|
|
5002
|
+
label: 'zgw.notifications.failed.columns.pendingRetries',
|
|
5003
|
+
viewType: ViewType.NUMBER,
|
|
5004
|
+
},
|
|
5005
|
+
{
|
|
5006
|
+
key: 'lastProcessedAt',
|
|
5007
|
+
label: 'zgw.notifications.failed.columns.lastProcessedAt',
|
|
5008
|
+
viewType: ViewType.DATE_TIME,
|
|
5009
|
+
},
|
|
5010
|
+
{
|
|
5011
|
+
key: 'lastErrorMessage',
|
|
5012
|
+
label: 'zgw.notifications.failed.columns.lastErrorMessage',
|
|
5013
|
+
viewType: ViewType.TEXT,
|
|
5014
|
+
tooltipCharLimit: 160,
|
|
5015
|
+
},
|
|
5016
|
+
];
|
|
5017
|
+
}
|
|
5018
|
+
onPaginationClicked(page) {
|
|
5019
|
+
const current = this._pageRequest$.getValue();
|
|
5020
|
+
this._pageRequest$.next({ ...current, page: Math.max(0, page - 1) });
|
|
5021
|
+
}
|
|
5022
|
+
onPaginationSet(size) {
|
|
5023
|
+
const current = this._pageRequest$.getValue();
|
|
5024
|
+
const updated = {
|
|
5025
|
+
...current,
|
|
5026
|
+
size,
|
|
5027
|
+
page: 0,
|
|
5028
|
+
};
|
|
5029
|
+
this._pageRequest$.next(updated);
|
|
5030
|
+
}
|
|
5031
|
+
onRowClicked(row) {
|
|
5032
|
+
const { ctrlClick: _ctrl, tags: _tags, ...notification } = row;
|
|
5033
|
+
this.selectedNotification$.next(notification);
|
|
5034
|
+
}
|
|
5035
|
+
onCloseModal() {
|
|
5036
|
+
this.selectedNotification$.next(null);
|
|
5037
|
+
}
|
|
5038
|
+
onRetry() {
|
|
5039
|
+
const notification = this.selectedNotification$.getValue();
|
|
5040
|
+
if (!notification)
|
|
5041
|
+
return;
|
|
5042
|
+
this.retryInProgress$.next(true);
|
|
5043
|
+
this.failedNotificationsService
|
|
5044
|
+
.retryFailedNotification(notification.id)
|
|
5045
|
+
.pipe(finalize(() => this.retryInProgress$.next(false)))
|
|
5046
|
+
.subscribe({
|
|
5047
|
+
next: () => {
|
|
5048
|
+
const message = this.translateService.instant('zgw.notifications.failed.retrySuccess');
|
|
5049
|
+
this.toastrService.success(message);
|
|
5050
|
+
this.selectedNotification$.next(null);
|
|
5051
|
+
this._pageRequest$.next({ ...this._pageRequest$.getValue() });
|
|
5052
|
+
},
|
|
5053
|
+
error: () => {
|
|
5054
|
+
const message = this.translateService.instant('zgw.notifications.failed.retryError');
|
|
5055
|
+
this.toastrService.error(message);
|
|
5056
|
+
},
|
|
5057
|
+
});
|
|
5058
|
+
}
|
|
5059
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FailedNotificationsPageComponent, deps: [{ token: FailedNotificationsService }, { token: i4$1.ToastrService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5060
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FailedNotificationsPageComponent, isStandalone: true, selector: "valtimo-notificaties-api-failed-notifications-page", ngImport: i0, template: "<div class=\"failed-notifications-page\">\n <valtimo-carbon-list\n *ngIf=\"{items: notifications$ | async} as obs\"\n [items]=\"obs.items || []\"\n [fields]=\"FIELDS\"\n [loading]=\"loading$ | async\"\n [pagination]=\"pagination$ | async\"\n paginationIdentifier=\"zgw-notificaties-api-failed\"\n (paginationClicked)=\"onPaginationClicked($event)\"\n (paginationSet)=\"onPaginationSet($event)\"\n (rowClicked)=\"onRowClicked($event)\"\n >\n <valtimo-no-results\n [title]=\"'zgw.notifications.failed.noResults.title' | translate\"\n [description]=\"'zgw.notifications.failed.noResults.description' | translate\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n\n <valtimo-notificaties-api-failed-notification-detail\n [open]=\"(selectedNotification$ | async) !== null\"\n [notification]=\"selectedNotification$ | async\"\n [retryInProgress]=\"retryInProgress$ | async\"\n (closeModalEvent)=\"onCloseModal()\"\n (retryEvent)=\"onRetry()\"\n ></valtimo-notificaties-api-failed-notification-detail>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i3$1.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "actions", "actionItems", "header", "hideColumnHeader", "initialSortState", "sortState", "isSearchable", "enableSingleSelection", "lastColumnTemplate", "paginationIdentifier", "showSelectionColumn", "striped", "hideToolbar", "lockedTooltipTranslationKey", "movingRowsEnabled", "dragAndDrop", "dragAndDropDisabled"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged", "moveRow", "itemsReordered"] }, { kind: "component", type: i3$1.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "component", type: FailedNotificationDetailComponent, selector: "valtimo-notificaties-api-failed-notification-detail", inputs: ["open", "notification", "retryInProgress"], outputs: ["closeModalEvent", "retryEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
5061
|
+
}
|
|
5062
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FailedNotificationsPageComponent, decorators: [{
|
|
5063
|
+
type: Component,
|
|
5064
|
+
args: [{ selector: 'valtimo-notificaties-api-failed-notifications-page', standalone: true, imports: [CommonModule, TranslateModule, CarbonListModule, FailedNotificationDetailComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"failed-notifications-page\">\n <valtimo-carbon-list\n *ngIf=\"{items: notifications$ | async} as obs\"\n [items]=\"obs.items || []\"\n [fields]=\"FIELDS\"\n [loading]=\"loading$ | async\"\n [pagination]=\"pagination$ | async\"\n paginationIdentifier=\"zgw-notificaties-api-failed\"\n (paginationClicked)=\"onPaginationClicked($event)\"\n (paginationSet)=\"onPaginationSet($event)\"\n (rowClicked)=\"onRowClicked($event)\"\n >\n <valtimo-no-results\n [title]=\"'zgw.notifications.failed.noResults.title' | translate\"\n [description]=\"'zgw.notifications.failed.noResults.description' | translate\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n\n <valtimo-notificaties-api-failed-notification-detail\n [open]=\"(selectedNotification$ | async) !== null\"\n [notification]=\"selectedNotification$ | async\"\n [retryInProgress]=\"retryInProgress$ | async\"\n (closeModalEvent)=\"onCloseModal()\"\n (retryEvent)=\"onRetry()\"\n ></valtimo-notificaties-api-failed-notification-detail>\n</div>\n" }]
|
|
5065
|
+
}], ctorParameters: () => [{ type: FailedNotificationsService }, { type: i4$1.ToastrService }, { type: i3.TranslateService }] });
|
|
5066
|
+
|
|
5067
|
+
/*
|
|
5068
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
5069
|
+
*
|
|
5070
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5071
|
+
* you may not use this file except in compliance with the License.
|
|
5072
|
+
* You may obtain a copy of the License at
|
|
5073
|
+
*
|
|
5074
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
5075
|
+
*
|
|
5076
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
5077
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
5078
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
5079
|
+
* See the License for the specific language governing permissions and
|
|
5080
|
+
* limitations under the License.
|
|
5081
|
+
*/
|
|
5082
|
+
var NotificatiesApiInboundEventStatus;
|
|
5083
|
+
(function (NotificatiesApiInboundEventStatus) {
|
|
5084
|
+
NotificatiesApiInboundEventStatus["RECEIVED"] = "RECEIVED";
|
|
5085
|
+
NotificatiesApiInboundEventStatus["PROCESSED"] = "PROCESSED";
|
|
5086
|
+
NotificatiesApiInboundEventStatus["FAILED"] = "FAILED";
|
|
5087
|
+
})(NotificatiesApiInboundEventStatus || (NotificatiesApiInboundEventStatus = {}));
|
|
5088
|
+
|
|
5089
|
+
/*
|
|
5090
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
5091
|
+
*
|
|
5092
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5093
|
+
* you may not use this file except in compliance with the License.
|
|
5094
|
+
* You may obtain a copy of the License at
|
|
5095
|
+
*
|
|
5096
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
5097
|
+
*
|
|
5098
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
5099
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
5100
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
5101
|
+
* See the License for the specific language governing permissions and
|
|
5102
|
+
* limitations under the License.
|
|
5103
|
+
*/
|
|
5104
|
+
const routes = [
|
|
5105
|
+
{
|
|
5106
|
+
path: 'notifications-api/notifications/failed',
|
|
5107
|
+
component: FailedNotificationsPageComponent,
|
|
5108
|
+
canActivate: [AuthGuardService],
|
|
5109
|
+
data: {
|
|
5110
|
+
title: 'zgw.notifications.failed.pageTitle',
|
|
5111
|
+
roles: [ROLE_ADMIN],
|
|
5112
|
+
},
|
|
5113
|
+
},
|
|
5114
|
+
];
|
|
5115
|
+
class NotificatiesApiRoutingModule {
|
|
5116
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NotificatiesApiRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
5117
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: NotificatiesApiRoutingModule, imports: [CommonModule, i1$2.RouterModule], exports: [RouterModule] }); }
|
|
5118
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NotificatiesApiRoutingModule, imports: [CommonModule, RouterModule.forChild(routes), RouterModule] }); }
|
|
5119
|
+
}
|
|
5120
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NotificatiesApiRoutingModule, decorators: [{
|
|
5121
|
+
type: NgModule,
|
|
5122
|
+
args: [{
|
|
5123
|
+
imports: [CommonModule, RouterModule.forChild(routes)],
|
|
5124
|
+
exports: [RouterModule],
|
|
5125
|
+
}]
|
|
5126
|
+
}] });
|
|
5127
|
+
|
|
4833
5128
|
/*
|
|
4834
5129
|
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
4835
5130
|
*
|
|
@@ -5020,7 +5315,8 @@ class ZgwModule {
|
|
|
5020
5315
|
ResourceModule,
|
|
5021
5316
|
RouterModule,
|
|
5022
5317
|
DocumentenApiMetadataModalComponent,
|
|
5023
|
-
CustomerModule
|
|
5318
|
+
CustomerModule,
|
|
5319
|
+
NotificatiesApiRoutingModule], exports: [DocumentenApiUploaderComponent] }); }
|
|
5024
5320
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ZgwModule, providers: [
|
|
5025
5321
|
{
|
|
5026
5322
|
provide: CASE_MANAGEMENT_TAB_TOKEN,
|
|
@@ -5056,7 +5352,8 @@ class ZgwModule {
|
|
|
5056
5352
|
ResourceModule,
|
|
5057
5353
|
RouterModule,
|
|
5058
5354
|
DocumentenApiMetadataModalComponent,
|
|
5059
|
-
CustomerModule
|
|
5355
|
+
CustomerModule,
|
|
5356
|
+
NotificatiesApiRoutingModule] }); }
|
|
5060
5357
|
}
|
|
5061
5358
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ZgwModule, decorators: [{
|
|
5062
5359
|
type: NgModule,
|
|
@@ -5072,6 +5369,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
5072
5369
|
RouterModule,
|
|
5073
5370
|
DocumentenApiMetadataModalComponent,
|
|
5074
5371
|
CustomerModule,
|
|
5372
|
+
NotificatiesApiRoutingModule,
|
|
5075
5373
|
],
|
|
5076
5374
|
declarations: [DocumentenApiUploaderComponent],
|
|
5077
5375
|
exports: [DocumentenApiUploaderComponent],
|
|
@@ -5128,5 +5426,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
5128
5426
|
* Generated bundle index. Do not edit.
|
|
5129
5427
|
*/
|
|
5130
5428
|
|
|
5131
|
-
export { COLUMN_VIEW_TYPES, CONFIDENTIALITY_LEVELS, CasesListComponent, ContactMomentService, CustomerListComponent, CustomerModule, CustomerService, DOCUMENTEN_COLUMN_KEYS, DocumentObjectenApiSyncComponent, DocumentObjectenApiSyncService, DocumentenApiColumnModalComponent, DocumentenApiColumnService, DocumentenApiColumnsComponent, DocumentenApiDocumentService, DocumentenApiFilterComponent, DocumentenApiLinkProcessService, DocumentenApiMetadataModalComponent, DocumentenApiTagModalComponent, DocumentenApiTagService, DocumentenApiTagsComponent, DocumentenApiUploadFieldModalComponent, DocumentenApiUploadFieldsComponent, DocumentenApiUploaderComponent, DocumentenApiVersionComponent, DocumentenApiVersionService, DossierDetailTabContactMomentsComponent, DossierDetailTabDocumentenApiDocumentsComponent, DossierDetailTabObjectTypeComponent, DossierDetailTabZaakobjectenComponent, DossierManagementLinkProcessComponent, DossierManagementZgwComponent, DossierManagementZgwService, LANGUAGE_ITEMS, STATUS_ITEMS, ZaakobjectenService, ZakenApiZaaktypeLinkComponent, ZakenApiZaaktypeLinkService, ZgwModule, ZgwTabEnum, customDocumentApiUploaderType, documentenApiUploaderEditForm, registerDocumentenApiFormioUploadComponent };
|
|
5429
|
+
export { COLUMN_VIEW_TYPES, CONFIDENTIALITY_LEVELS, CasesListComponent, ContactMomentService, CustomerListComponent, CustomerModule, CustomerService, DOCUMENTEN_COLUMN_KEYS, DocumentObjectenApiSyncComponent, DocumentObjectenApiSyncService, DocumentenApiColumnModalComponent, DocumentenApiColumnService, DocumentenApiColumnsComponent, DocumentenApiDocumentService, DocumentenApiFilterComponent, DocumentenApiLinkProcessService, DocumentenApiMetadataModalComponent, DocumentenApiTagModalComponent, DocumentenApiTagService, DocumentenApiTagsComponent, DocumentenApiUploadFieldModalComponent, DocumentenApiUploadFieldsComponent, DocumentenApiUploaderComponent, DocumentenApiVersionComponent, DocumentenApiVersionService, DossierDetailTabContactMomentsComponent, DossierDetailTabDocumentenApiDocumentsComponent, DossierDetailTabObjectTypeComponent, DossierDetailTabZaakobjectenComponent, DossierManagementLinkProcessComponent, DossierManagementZgwComponent, DossierManagementZgwService, FailedNotificationDetailComponent, FailedNotificationsPageComponent, FailedNotificationsService, LANGUAGE_ITEMS, NotificatiesApiInboundEventStatus, NotificatiesApiRoutingModule, STATUS_ITEMS, ZaakobjectenService, ZakenApiZaaktypeLinkComponent, ZakenApiZaaktypeLinkService, ZgwModule, ZgwTabEnum, customDocumentApiUploaderType, documentenApiUploaderEditForm, registerDocumentenApiFormioUploadComponent };
|
|
5132
5430
|
//# sourceMappingURL=valtimo-zgw.mjs.map
|