From dcf4016b48911b78e72ee69ec5e3008ecb7c4665 Mon Sep 17 00:00:00 2001 From: "lukasz.bielecki" Date: Mon, 24 Nov 2025 11:42:05 +0100 Subject: [PATCH 1/8] feat(ticket-list): add initialFilters to ticket list model and mapping --- .../src/api-harmonization/ticket-list.mapper.ts | 1 + .../src/api-harmonization/ticket-list.model.ts | 1 + .../src/api-harmonization/ticket-list.service.ts | 1 + .../cms/models/blocks/ticket-list.model.ts | 1 + .../cms/mappers/blocks/cms.ticket-list.mapper.ts | 16 ++++++++++++++++ .../cms/mappers/blocks/cms.ticket-list.mapper.ts | 1 + 6 files changed, 21 insertions(+) diff --git a/packages/blocks/ticket-list/src/api-harmonization/ticket-list.mapper.ts b/packages/blocks/ticket-list/src/api-harmonization/ticket-list.mapper.ts index 066ef72c7..e510f1694 100644 --- a/packages/blocks/ticket-list/src/api-harmonization/ticket-list.mapper.ts +++ b/packages/blocks/ticket-list/src/api-harmonization/ticket-list.mapper.ts @@ -26,6 +26,7 @@ export const mapTicketList = ( }, forms: cms.forms, labels: cms.labels, + initialFilters: cms.initialFilters, }; }; diff --git a/packages/blocks/ticket-list/src/api-harmonization/ticket-list.model.ts b/packages/blocks/ticket-list/src/api-harmonization/ticket-list.model.ts index a73fc03bb..48b348be7 100644 --- a/packages/blocks/ticket-list/src/api-harmonization/ticket-list.model.ts +++ b/packages/blocks/ticket-list/src/api-harmonization/ticket-list.model.ts @@ -24,6 +24,7 @@ export class TicketListBlock extends ApiModels.Block.Block { showMore: string; clickToSelect: string; }; + initialFilters?: Partial; } export class Ticket { diff --git a/packages/blocks/ticket-list/src/api-harmonization/ticket-list.service.ts b/packages/blocks/ticket-list/src/api-harmonization/ticket-list.service.ts index 53d7c36ca..df291cae1 100644 --- a/packages/blocks/ticket-list/src/api-harmonization/ticket-list.service.ts +++ b/packages/blocks/ticket-list/src/api-harmonization/ticket-list.service.ts @@ -25,6 +25,7 @@ export class TicketListService { concatMap(([cms]) => { return this.ticketService .getTicketList({ + ...(cms.initialFilters || {}), ...query, limit: query.limit || cms.pagination?.limit || 1, offset: query.offset || 0, diff --git a/packages/framework/src/modules/cms/models/blocks/ticket-list.model.ts b/packages/framework/src/modules/cms/models/blocks/ticket-list.model.ts index 35029385f..35a97e560 100644 --- a/packages/framework/src/modules/cms/models/blocks/ticket-list.model.ts +++ b/packages/framework/src/modules/cms/models/blocks/ticket-list.model.ts @@ -22,4 +22,5 @@ export class TicketListBlock extends Block.Block { }; detailsUrl!: string; forms?: Link[]; + initialFilters?: Partial; } diff --git a/packages/integrations/mocked/src/modules/cms/mappers/blocks/cms.ticket-list.mapper.ts b/packages/integrations/mocked/src/modules/cms/mappers/blocks/cms.ticket-list.mapper.ts index f1599869f..ea7029ab9 100644 --- a/packages/integrations/mocked/src/modules/cms/mappers/blocks/cms.ticket-list.mapper.ts +++ b/packages/integrations/mocked/src/modules/cms/mappers/blocks/cms.ticket-list.mapper.ts @@ -151,6 +151,11 @@ const MOCK_TICKET_LIST_BLOCK_EN: CMS.Model.TicketListBlock.TicketListBlock = { clickToSelect: 'Click to select', }, detailsUrl: '/cases/{id}', + initialFilters: { + status: 'OPEN', + topic: 'TOOL_REPAIR', + sort: 'updatedAt_ASC', + }, }; const MOCK_TICKET_LIST_BLOCK_DE: CMS.Model.TicketListBlock.TicketListBlock = { @@ -306,6 +311,11 @@ const MOCK_TICKET_LIST_BLOCK_DE: CMS.Model.TicketListBlock.TicketListBlock = { clickToSelect: 'Klicken Sie, um auszuwählen', }, detailsUrl: '/faelle/{id}', + initialFilters: { + status: 'OPEN', + type: 'URGENT', + sort: 'updatedAt_ASC', + }, }; const MOCK_TICKET_LIST_BLOCK_PL: CMS.Model.TicketListBlock.TicketListBlock = { @@ -462,6 +472,12 @@ const MOCK_TICKET_LIST_BLOCK_PL: CMS.Model.TicketListBlock.TicketListBlock = { clickToSelect: 'Kliknij, aby wybrać', }, detailsUrl: '/zgloszenia/{id}', + initialFilters: { + status: 'IN_PROGRESS', + topic: 'SOFTWARE_SUPPORT', + type: 'STANDARD', + sort: 'topic_ASC', + }, }; export const mapTicketListBlock = (locale: string): CMS.Model.TicketListBlock.TicketListBlock => { diff --git a/packages/integrations/strapi-cms/src/modules/cms/mappers/blocks/cms.ticket-list.mapper.ts b/packages/integrations/strapi-cms/src/modules/cms/mappers/blocks/cms.ticket-list.mapper.ts index f03c8416d..7528bc4d6 100644 --- a/packages/integrations/strapi-cms/src/modules/cms/mappers/blocks/cms.ticket-list.mapper.ts +++ b/packages/integrations/strapi-cms/src/modules/cms/mappers/blocks/cms.ticket-list.mapper.ts @@ -40,6 +40,7 @@ export const mapTicketListBlock = (data: GetComponentQuery): CMS.Model.TicketLis clickToSelect: configurableTexts.actions.clickToSelect, }, detailsUrl: component.detailsURL as string, + initialFilters: undefined, // TODO: add initial filters field in CMS }; } From e5966cb1b5def5bb6cf2425e7321de4916506882 Mon Sep 17 00:00:00 2001 From: "lukasz.bielecki" Date: Mon, 24 Nov 2025 13:33:18 +0100 Subject: [PATCH 2/8] feat(invoice-list): add initialFilters to invoice list model and service --- .../src/api-harmonization/invoice-list.mapper.ts | 1 + .../src/api-harmonization/invoice-list.model.ts | 1 + .../src/api-harmonization/invoice-list.service.ts | 1 + .../modules/cms/models/blocks/invoice-list.model.ts | 1 + .../cms/mappers/blocks/cms.invoice-list.mapper.ts | 12 ++++++++++++ .../cms/mappers/blocks/cms.invoice-list.mapper.ts | 1 + 6 files changed, 17 insertions(+) diff --git a/packages/blocks/invoice-list/src/api-harmonization/invoice-list.mapper.ts b/packages/blocks/invoice-list/src/api-harmonization/invoice-list.mapper.ts index 6ca974d03..9020c3ef5 100644 --- a/packages/blocks/invoice-list/src/api-harmonization/invoice-list.mapper.ts +++ b/packages/blocks/invoice-list/src/api-harmonization/invoice-list.mapper.ts @@ -27,6 +27,7 @@ export const mapInvoiceList = ( }, downloadFileName: cms.downloadFileName, downloadButtonAriaDescription: cms.downloadButtonAriaDescription, + initialFilters: cms.initialFilters, }; }; diff --git a/packages/blocks/invoice-list/src/api-harmonization/invoice-list.model.ts b/packages/blocks/invoice-list/src/api-harmonization/invoice-list.model.ts index 939f0d869..7d0deb393 100644 --- a/packages/blocks/invoice-list/src/api-harmonization/invoice-list.model.ts +++ b/packages/blocks/invoice-list/src/api-harmonization/invoice-list.model.ts @@ -23,6 +23,7 @@ export class InvoiceListBlock extends ApiModels.Block.Block { }; downloadFileName?: string; downloadButtonAriaDescription?: string; + initialFilters?: Partial; } export class Invoice { diff --git a/packages/blocks/invoice-list/src/api-harmonization/invoice-list.service.ts b/packages/blocks/invoice-list/src/api-harmonization/invoice-list.service.ts index 82c8f3dc9..cab5fdd78 100644 --- a/packages/blocks/invoice-list/src/api-harmonization/invoice-list.service.ts +++ b/packages/blocks/invoice-list/src/api-harmonization/invoice-list.service.ts @@ -25,6 +25,7 @@ export class InvoiceListService { concatMap(([cms]) => { return this.invoiceService .getInvoiceList({ + ...(cms.initialFilters || {}), ...query, limit: cms.pagination?.limit || query.limit, }) diff --git a/packages/framework/src/modules/cms/models/blocks/invoice-list.model.ts b/packages/framework/src/modules/cms/models/blocks/invoice-list.model.ts index c118f3207..5f79c78ef 100644 --- a/packages/framework/src/modules/cms/models/blocks/invoice-list.model.ts +++ b/packages/framework/src/modules/cms/models/blocks/invoice-list.model.ts @@ -20,4 +20,5 @@ export class InvoiceListBlock extends Block.Block { clickToSelect: string; }; downloadButtonAriaDescription?: string; + initialFilters?: Partial; } diff --git a/packages/integrations/mocked/src/modules/cms/mappers/blocks/cms.invoice-list.mapper.ts b/packages/integrations/mocked/src/modules/cms/mappers/blocks/cms.invoice-list.mapper.ts index 2b5ecce86..6a4d09c51 100644 --- a/packages/integrations/mocked/src/modules/cms/mappers/blocks/cms.invoice-list.mapper.ts +++ b/packages/integrations/mocked/src/modules/cms/mappers/blocks/cms.invoice-list.mapper.ts @@ -111,6 +111,10 @@ const MOCK_INVOICE_LIST_BLOCK_EN: CMS.Model.InvoiceListBlock.InvoiceListBlock = }, ], }, + initialFilters: { + paymentStatus: 'PAYMENT_DUE', + sort: 'paymentDueDate_ASC', + }, noResults: { title: 'No Invoices Found', description: 'There are no invoices matching your criteria', @@ -235,6 +239,10 @@ const MOCK_INVOICE_LIST_BLOCK_DE: CMS.Model.InvoiceListBlock.InvoiceListBlock = }, ], }, + initialFilters: { + paymentStatus: 'PAYMENT_COMPLETE', + sort: 'paymentDueDate_DESC', + }, noResults: { title: 'Keine Rechnungen gefunden', description: 'Es wurden keine Rechnungen gefunden, die Ihren Kriterien entsprechen', @@ -359,6 +367,10 @@ const MOCK_INVOICE_LIST_BLOCK_PL: CMS.Model.InvoiceListBlock.InvoiceListBlock = }, ], }, + initialFilters: { + paymentStatus: 'PAYMENT_PAST_DUE', + sort: 'totalAmountDue_DESC', + }, noResults: { title: 'Nie znaleziono faktur', description: 'Nie znaleziono faktur spełniających podane kryteria', diff --git a/packages/integrations/strapi-cms/src/modules/cms/mappers/blocks/cms.invoice-list.mapper.ts b/packages/integrations/strapi-cms/src/modules/cms/mappers/blocks/cms.invoice-list.mapper.ts index c89c115a7..44b9fc4c6 100644 --- a/packages/integrations/strapi-cms/src/modules/cms/mappers/blocks/cms.invoice-list.mapper.ts +++ b/packages/integrations/strapi-cms/src/modules/cms/mappers/blocks/cms.invoice-list.mapper.ts @@ -38,6 +38,7 @@ export const mapInvoiceListBlock = (data: GetComponentQuery): CMS.Model.InvoiceL table: mapTable(component.table), downloadFileName: component.downloadFileName, downloadButtonAriaDescription: component.downloadButtonAriaDescription, + initialFilters: undefined, // TODO: add initial filters field in CMS }; } From b035f125fd0eacdb732d3072e1456194dc03876c Mon Sep 17 00:00:00 2001 From: "lukasz.bielecki" Date: Mon, 24 Nov 2025 14:55:38 +0100 Subject: [PATCH 3/8] feat(notification-list): add initialFilters to notification list model, service, and mappers --- .../api-harmonization/notification-list.mapper.ts | 1 + .../api-harmonization/notification-list.model.ts | 1 + .../notification-list.service.ts | 1 + .../cms/models/blocks/notification-list.model.ts | 1 + .../blocks/cms.notification-list.mapper.ts | 15 +++++++++++++++ .../blocks/cms.notification-list.mapper.ts | 1 + 6 files changed, 20 insertions(+) diff --git a/packages/blocks/notification-list/src/api-harmonization/notification-list.mapper.ts b/packages/blocks/notification-list/src/api-harmonization/notification-list.mapper.ts index 16e3bf515..0217628f6 100644 --- a/packages/blocks/notification-list/src/api-harmonization/notification-list.mapper.ts +++ b/packages/blocks/notification-list/src/api-harmonization/notification-list.mapper.ts @@ -24,6 +24,7 @@ export const mapNotificationList = ( total: notifications.total, data: notifications.data.map((notification) => mapNotification(notification, cms, locale, timezone)), }, + initialFilters: cms.initialFilters, }; }; diff --git a/packages/blocks/notification-list/src/api-harmonization/notification-list.model.ts b/packages/blocks/notification-list/src/api-harmonization/notification-list.model.ts index b7b5f1d4c..3fd21d2a3 100644 --- a/packages/blocks/notification-list/src/api-harmonization/notification-list.model.ts +++ b/packages/blocks/notification-list/src/api-harmonization/notification-list.model.ts @@ -19,6 +19,7 @@ export class NotificationListBlock extends ApiModels.Block.Block { data: Notification[]; total: Notifications.Model.Notifications['total']; }; + initialFilters?: Partial; } export class Notification { diff --git a/packages/blocks/notification-list/src/api-harmonization/notification-list.service.ts b/packages/blocks/notification-list/src/api-harmonization/notification-list.service.ts index f1dbf60f5..f586b6a1f 100644 --- a/packages/blocks/notification-list/src/api-harmonization/notification-list.service.ts +++ b/packages/blocks/notification-list/src/api-harmonization/notification-list.service.ts @@ -25,6 +25,7 @@ export class NotificationListService { concatMap(([cms]) => { return this.notificationService .getNotificationList({ + ...(cms.initialFilters || {}), ...query, limit: query.limit || cms.pagination?.limit || 1, offset: query.offset || 0, diff --git a/packages/framework/src/modules/cms/models/blocks/notification-list.model.ts b/packages/framework/src/modules/cms/models/blocks/notification-list.model.ts index e11846a46..b45878246 100644 --- a/packages/framework/src/modules/cms/models/blocks/notification-list.model.ts +++ b/packages/framework/src/modules/cms/models/blocks/notification-list.model.ts @@ -19,4 +19,5 @@ export class NotificationListBlock extends Block.Block { clickToSelect: string; }; detailsUrl!: string; + initialFilters?: Partial; } diff --git a/packages/integrations/mocked/src/modules/cms/mappers/blocks/cms.notification-list.mapper.ts b/packages/integrations/mocked/src/modules/cms/mappers/blocks/cms.notification-list.mapper.ts index 44706f68d..d3bf60094 100644 --- a/packages/integrations/mocked/src/modules/cms/mappers/blocks/cms.notification-list.mapper.ts +++ b/packages/integrations/mocked/src/modules/cms/mappers/blocks/cms.notification-list.mapper.ts @@ -117,6 +117,11 @@ const MOCK_NOTIFICATION_LIST_BLOCK_EN: CMS.Model.NotificationListBlock.Notificat }, ], }, + initialFilters: { + status: 'UNVIEWED', + priority: 'HIGH', + sort: 'createdAt_DESC', + }, noResults: { title: 'No notifications found', description: 'There are no notifications matching your criteria', @@ -246,6 +251,11 @@ const MOCK_NOTIFICATION_LIST_BLOCK_DE: CMS.Model.NotificationListBlock.Notificat }, ], }, + initialFilters: { + status: 'VIEWED', + priority: 'MEDIUM', + sort: 'createdAt_ASC', + }, noResults: { title: 'Keine Benachrichtigungen gefunden', description: 'Es gibt keine Benachrichtigungen, die Ihren Kriterien entsprechen', @@ -375,6 +385,11 @@ const MOCK_NOTIFICATION_LIST_BLOCK_PL: CMS.Model.NotificationListBlock.Notificat }, ], }, + initialFilters: { + status: 'READ', + priority: 'LOW', + type: 'GENERAL_NOTIFICATION', + }, noResults: { title: 'Nie znaleziono powiadomień', description: 'Nie ma powiadomień spełniających Twoje kryteria', diff --git a/packages/integrations/strapi-cms/src/modules/cms/mappers/blocks/cms.notification-list.mapper.ts b/packages/integrations/strapi-cms/src/modules/cms/mappers/blocks/cms.notification-list.mapper.ts index 1fc8f9436..b15102e51 100644 --- a/packages/integrations/strapi-cms/src/modules/cms/mappers/blocks/cms.notification-list.mapper.ts +++ b/packages/integrations/strapi-cms/src/modules/cms/mappers/blocks/cms.notification-list.mapper.ts @@ -39,6 +39,7 @@ export const mapNotificationListBlock = ( clickToSelect: configurableTexts.actions.clickToSelect, }, detailsUrl: component.detailsURL as string, + initialFilters: undefined, // TODO: add initial filters field in CMS }; } From 6ff192094a5c93d89bba8643ce3d4999e22cde09 Mon Sep 17 00:00:00 2001 From: "lukasz.bielecki" Date: Mon, 24 Nov 2025 15:25:29 +0100 Subject: [PATCH 4/8] feat(order-list): add initialFilters to order list model, service, and mappers --- .../src/api-harmonization/order-list.mapper.ts | 1 + .../src/api-harmonization/order-list.model.ts | 1 + .../src/api-harmonization/order-list.service.ts | 1 + .../modules/cms/models/blocks/order-list.model.ts | 1 + .../cms/mappers/blocks/cms.order-list.mapper.ts | 12 ++++++++++++ .../cms/mappers/blocks/cms.order-list.mapper.ts | 1 + 6 files changed, 17 insertions(+) diff --git a/packages/blocks/order-list/src/api-harmonization/order-list.mapper.ts b/packages/blocks/order-list/src/api-harmonization/order-list.mapper.ts index 2b6b08eae..dd81504f0 100644 --- a/packages/blocks/order-list/src/api-harmonization/order-list.mapper.ts +++ b/packages/blocks/order-list/src/api-harmonization/order-list.mapper.ts @@ -26,6 +26,7 @@ export const mapOrderList = ( pagination: cms.pagination, labels: cms.labels, reorderLabel: cms.reorderLabel, + initialFilters: cms.initialFilters, }; }; diff --git a/packages/blocks/order-list/src/api-harmonization/order-list.model.ts b/packages/blocks/order-list/src/api-harmonization/order-list.model.ts index ac14cb45e..1742f7625 100644 --- a/packages/blocks/order-list/src/api-harmonization/order-list.model.ts +++ b/packages/blocks/order-list/src/api-harmonization/order-list.model.ts @@ -24,6 +24,7 @@ export class OrderListBlock extends ApiModels.Block.Block { clickToSelect: string; }; reorderLabel?: string; + initialFilters?: Partial; } export class Order { diff --git a/packages/blocks/order-list/src/api-harmonization/order-list.service.ts b/packages/blocks/order-list/src/api-harmonization/order-list.service.ts index bc38d9da8..61a06e5f9 100644 --- a/packages/blocks/order-list/src/api-harmonization/order-list.service.ts +++ b/packages/blocks/order-list/src/api-harmonization/order-list.service.ts @@ -26,6 +26,7 @@ export class OrderListService { return this.orderService .getOrderList( { + ...(cms.initialFilters || {}), ...query, limit: query.limit || cms.pagination?.limit || 1, offset: query.offset || 0, diff --git a/packages/framework/src/modules/cms/models/blocks/order-list.model.ts b/packages/framework/src/modules/cms/models/blocks/order-list.model.ts index b9c84a742..05a2440b0 100644 --- a/packages/framework/src/modules/cms/models/blocks/order-list.model.ts +++ b/packages/framework/src/modules/cms/models/blocks/order-list.model.ts @@ -21,4 +21,5 @@ export class OrderListBlock extends Block.Block { }; reorderLabel?: string; detailsUrl!: string; + initialFilters?: Partial; } diff --git a/packages/integrations/mocked/src/modules/cms/mappers/blocks/cms.order-list.mapper.ts b/packages/integrations/mocked/src/modules/cms/mappers/blocks/cms.order-list.mapper.ts index 8280503f7..1b260e460 100644 --- a/packages/integrations/mocked/src/modules/cms/mappers/blocks/cms.order-list.mapper.ts +++ b/packages/integrations/mocked/src/modules/cms/mappers/blocks/cms.order-list.mapper.ts @@ -91,6 +91,10 @@ const MOCK_ORDER_LIST_BLOCK_EN: CMS.Model.OrderListBlock.OrderListBlock = { }, ], }, + initialFilters: { + status: 'COMPLETED', + sort: 'createdAt_DESC', + }, noResults: { title: "So far, there's nothing here", description: '', @@ -196,6 +200,10 @@ const MOCK_ORDER_LIST_BLOCK_DE: CMS.Model.OrderListBlock.OrderListBlock = { }, ], }, + initialFilters: { + status: 'PENDING', + sort: 'id_ASC', + }, noResults: { title: 'Bisher gibt es hier nichts', description: '', @@ -301,6 +309,10 @@ const MOCK_ORDER_LIST_BLOCK_PL: CMS.Model.OrderListBlock.OrderListBlock = { }, ], }, + initialFilters: { + status: 'SHIPPED', + sort: 'subtotal_DESC', + }, noResults: { title: 'Jak dotąd nie ma tu nic', description: '', diff --git a/packages/integrations/strapi-cms/src/modules/cms/mappers/blocks/cms.order-list.mapper.ts b/packages/integrations/strapi-cms/src/modules/cms/mappers/blocks/cms.order-list.mapper.ts index 015d6f176..b960e782c 100644 --- a/packages/integrations/strapi-cms/src/modules/cms/mappers/blocks/cms.order-list.mapper.ts +++ b/packages/integrations/strapi-cms/src/modules/cms/mappers/blocks/cms.order-list.mapper.ts @@ -39,6 +39,7 @@ export const mapOrderListBlock = (data: GetComponentQuery): CMS.Model.OrderListB }, reorderLabel: component.reorderLabel, detailsUrl: component.detailsURL as string, + initialFilters: undefined, // TODO: add initial filters field in CMS }; } From 1b095187a8bb995d5728a75f59271c494858493d Mon Sep 17 00:00:00 2001 From: "lukasz.bielecki" Date: Mon, 24 Nov 2025 15:59:46 +0100 Subject: [PATCH 5/8] fix(notification-list): update priority values to uppercase in notification list mapper --- .../cms/mappers/blocks/cms.notification-list.mapper.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/integrations/mocked/src/modules/cms/mappers/blocks/cms.notification-list.mapper.ts b/packages/integrations/mocked/src/modules/cms/mappers/blocks/cms.notification-list.mapper.ts index d3bf60094..88d3da50f 100644 --- a/packages/integrations/mocked/src/modules/cms/mappers/blocks/cms.notification-list.mapper.ts +++ b/packages/integrations/mocked/src/modules/cms/mappers/blocks/cms.notification-list.mapper.ts @@ -98,10 +98,10 @@ const MOCK_NOTIFICATION_LIST_BLOCK_EN: CMS.Model.NotificationListBlock.Notificat label: 'Priority', allowMultiple: true, options: [ - { label: 'Low Priority', value: 'low' }, - { label: 'Medium Priority', value: 'medium' }, - { label: 'High Priority', value: 'high' }, - { label: 'Critical Priority', value: 'critical' }, + { label: 'Low Priority', value: 'LOW' }, + { label: 'Medium Priority', value: 'MEDIUM' }, + { label: 'High Priority', value: 'HIGH' }, + { label: 'Critical Priority', value: 'CRITICAL' }, ], }, { From e771c887af92fb8aa6a885f60a1a946044fa74de Mon Sep 17 00:00:00 2001 From: "lukasz.bielecki" Date: Mon, 24 Nov 2025 16:18:59 +0100 Subject: [PATCH 6/8] feat(invoice-list): enhance invoice list service with pagination and locale support --- .../src/api-harmonization/invoice-list.service.ts | 4 +++- packages/framework/src/modules/invoices/invoices.request.ts | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/blocks/invoice-list/src/api-harmonization/invoice-list.service.ts b/packages/blocks/invoice-list/src/api-harmonization/invoice-list.service.ts index cab5fdd78..919ac7659 100644 --- a/packages/blocks/invoice-list/src/api-harmonization/invoice-list.service.ts +++ b/packages/blocks/invoice-list/src/api-harmonization/invoice-list.service.ts @@ -27,7 +27,9 @@ export class InvoiceListService { .getInvoiceList({ ...(cms.initialFilters || {}), ...query, - limit: cms.pagination?.limit || query.limit, + limit: query.limit || cms.pagination?.limit || 1, + offset: query.offset || 0, + locale: headers['x-locale'], }) .pipe( map((invoices) => diff --git a/packages/framework/src/modules/invoices/invoices.request.ts b/packages/framework/src/modules/invoices/invoices.request.ts index 87c42d82a..d0431cae3 100644 --- a/packages/framework/src/modules/invoices/invoices.request.ts +++ b/packages/framework/src/modules/invoices/invoices.request.ts @@ -12,4 +12,5 @@ export class GetInvoiceListQuery extends PaginationQuery { dateTo?: Date; sort?: string; search?: string; + locale?: string; } From 062c59d13af3a9cb629fa14dd34ee2299ce2e435 Mon Sep 17 00:00:00 2001 From: "lukasz.bielecki" Date: Tue, 25 Nov 2025 12:00:19 +0100 Subject: [PATCH 7/8] refactor: remove initialFilters from list mappers in mocked integrations --- .../mappers/blocks/cms.invoice-list.mapper.ts | 12 ------------ .../blocks/cms.notification-list.mapper.ts | 15 --------------- .../cms/mappers/blocks/cms.order-list.mapper.ts | 12 ------------ .../cms/mappers/blocks/cms.ticket-list.mapper.ts | 16 ---------------- 4 files changed, 55 deletions(-) diff --git a/packages/integrations/mocked/src/modules/cms/mappers/blocks/cms.invoice-list.mapper.ts b/packages/integrations/mocked/src/modules/cms/mappers/blocks/cms.invoice-list.mapper.ts index 6a4d09c51..2b5ecce86 100644 --- a/packages/integrations/mocked/src/modules/cms/mappers/blocks/cms.invoice-list.mapper.ts +++ b/packages/integrations/mocked/src/modules/cms/mappers/blocks/cms.invoice-list.mapper.ts @@ -111,10 +111,6 @@ const MOCK_INVOICE_LIST_BLOCK_EN: CMS.Model.InvoiceListBlock.InvoiceListBlock = }, ], }, - initialFilters: { - paymentStatus: 'PAYMENT_DUE', - sort: 'paymentDueDate_ASC', - }, noResults: { title: 'No Invoices Found', description: 'There are no invoices matching your criteria', @@ -239,10 +235,6 @@ const MOCK_INVOICE_LIST_BLOCK_DE: CMS.Model.InvoiceListBlock.InvoiceListBlock = }, ], }, - initialFilters: { - paymentStatus: 'PAYMENT_COMPLETE', - sort: 'paymentDueDate_DESC', - }, noResults: { title: 'Keine Rechnungen gefunden', description: 'Es wurden keine Rechnungen gefunden, die Ihren Kriterien entsprechen', @@ -367,10 +359,6 @@ const MOCK_INVOICE_LIST_BLOCK_PL: CMS.Model.InvoiceListBlock.InvoiceListBlock = }, ], }, - initialFilters: { - paymentStatus: 'PAYMENT_PAST_DUE', - sort: 'totalAmountDue_DESC', - }, noResults: { title: 'Nie znaleziono faktur', description: 'Nie znaleziono faktur spełniających podane kryteria', diff --git a/packages/integrations/mocked/src/modules/cms/mappers/blocks/cms.notification-list.mapper.ts b/packages/integrations/mocked/src/modules/cms/mappers/blocks/cms.notification-list.mapper.ts index 88d3da50f..962e29928 100644 --- a/packages/integrations/mocked/src/modules/cms/mappers/blocks/cms.notification-list.mapper.ts +++ b/packages/integrations/mocked/src/modules/cms/mappers/blocks/cms.notification-list.mapper.ts @@ -117,11 +117,6 @@ const MOCK_NOTIFICATION_LIST_BLOCK_EN: CMS.Model.NotificationListBlock.Notificat }, ], }, - initialFilters: { - status: 'UNVIEWED', - priority: 'HIGH', - sort: 'createdAt_DESC', - }, noResults: { title: 'No notifications found', description: 'There are no notifications matching your criteria', @@ -251,11 +246,6 @@ const MOCK_NOTIFICATION_LIST_BLOCK_DE: CMS.Model.NotificationListBlock.Notificat }, ], }, - initialFilters: { - status: 'VIEWED', - priority: 'MEDIUM', - sort: 'createdAt_ASC', - }, noResults: { title: 'Keine Benachrichtigungen gefunden', description: 'Es gibt keine Benachrichtigungen, die Ihren Kriterien entsprechen', @@ -385,11 +375,6 @@ const MOCK_NOTIFICATION_LIST_BLOCK_PL: CMS.Model.NotificationListBlock.Notificat }, ], }, - initialFilters: { - status: 'READ', - priority: 'LOW', - type: 'GENERAL_NOTIFICATION', - }, noResults: { title: 'Nie znaleziono powiadomień', description: 'Nie ma powiadomień spełniających Twoje kryteria', diff --git a/packages/integrations/mocked/src/modules/cms/mappers/blocks/cms.order-list.mapper.ts b/packages/integrations/mocked/src/modules/cms/mappers/blocks/cms.order-list.mapper.ts index 1b260e460..8280503f7 100644 --- a/packages/integrations/mocked/src/modules/cms/mappers/blocks/cms.order-list.mapper.ts +++ b/packages/integrations/mocked/src/modules/cms/mappers/blocks/cms.order-list.mapper.ts @@ -91,10 +91,6 @@ const MOCK_ORDER_LIST_BLOCK_EN: CMS.Model.OrderListBlock.OrderListBlock = { }, ], }, - initialFilters: { - status: 'COMPLETED', - sort: 'createdAt_DESC', - }, noResults: { title: "So far, there's nothing here", description: '', @@ -200,10 +196,6 @@ const MOCK_ORDER_LIST_BLOCK_DE: CMS.Model.OrderListBlock.OrderListBlock = { }, ], }, - initialFilters: { - status: 'PENDING', - sort: 'id_ASC', - }, noResults: { title: 'Bisher gibt es hier nichts', description: '', @@ -309,10 +301,6 @@ const MOCK_ORDER_LIST_BLOCK_PL: CMS.Model.OrderListBlock.OrderListBlock = { }, ], }, - initialFilters: { - status: 'SHIPPED', - sort: 'subtotal_DESC', - }, noResults: { title: 'Jak dotąd nie ma tu nic', description: '', diff --git a/packages/integrations/mocked/src/modules/cms/mappers/blocks/cms.ticket-list.mapper.ts b/packages/integrations/mocked/src/modules/cms/mappers/blocks/cms.ticket-list.mapper.ts index ea7029ab9..f1599869f 100644 --- a/packages/integrations/mocked/src/modules/cms/mappers/blocks/cms.ticket-list.mapper.ts +++ b/packages/integrations/mocked/src/modules/cms/mappers/blocks/cms.ticket-list.mapper.ts @@ -151,11 +151,6 @@ const MOCK_TICKET_LIST_BLOCK_EN: CMS.Model.TicketListBlock.TicketListBlock = { clickToSelect: 'Click to select', }, detailsUrl: '/cases/{id}', - initialFilters: { - status: 'OPEN', - topic: 'TOOL_REPAIR', - sort: 'updatedAt_ASC', - }, }; const MOCK_TICKET_LIST_BLOCK_DE: CMS.Model.TicketListBlock.TicketListBlock = { @@ -311,11 +306,6 @@ const MOCK_TICKET_LIST_BLOCK_DE: CMS.Model.TicketListBlock.TicketListBlock = { clickToSelect: 'Klicken Sie, um auszuwählen', }, detailsUrl: '/faelle/{id}', - initialFilters: { - status: 'OPEN', - type: 'URGENT', - sort: 'updatedAt_ASC', - }, }; const MOCK_TICKET_LIST_BLOCK_PL: CMS.Model.TicketListBlock.TicketListBlock = { @@ -472,12 +462,6 @@ const MOCK_TICKET_LIST_BLOCK_PL: CMS.Model.TicketListBlock.TicketListBlock = { clickToSelect: 'Kliknij, aby wybrać', }, detailsUrl: '/zgloszenia/{id}', - initialFilters: { - status: 'IN_PROGRESS', - topic: 'SOFTWARE_SUPPORT', - type: 'STANDARD', - sort: 'topic_ASC', - }, }; export const mapTicketListBlock = (locale: string): CMS.Model.TicketListBlock.TicketListBlock => { From 337be1a9f04ec3190812ad0287162c996123ebdb Mon Sep 17 00:00:00 2001 From: "lukasz.bielecki" Date: Tue, 25 Nov 2025 12:19:43 +0100 Subject: [PATCH 8/8] chore: adding changelog --- .changeset/common-brooms-search.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 .changeset/common-brooms-search.md diff --git a/.changeset/common-brooms-search.md b/.changeset/common-brooms-search.md new file mode 100644 index 000000000..aca9070e4 --- /dev/null +++ b/.changeset/common-brooms-search.md @@ -0,0 +1,11 @@ +--- +'@o2s/blocks.notification-list': minor +'@o2s/integrations.strapi-cms': minor +'@o2s/blocks.invoice-list': minor +'@o2s/integrations.mocked': minor +'@o2s/blocks.ticket-list': minor +'@o2s/blocks.order-list': minor +'@o2s/framework': minor +--- + +adding initial filters support to list blocks