@open-mercato/core 0.6.8-develop.7029.1.a1bb3363af → 0.6.8-develop.7031.1.005201cd70
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/dist/modules/api_keys/backend/api-keys/page.js +3 -1
- package/dist/modules/api_keys/backend/api-keys/page.js.map +2 -2
- package/dist/modules/attachments/components/AttachmentLibrary.js +2 -0
- package/dist/modules/attachments/components/AttachmentLibrary.js.map +2 -2
- package/dist/modules/audit_logs/backend/audit-logs/page.js +6 -0
- package/dist/modules/audit_logs/backend/audit-logs/page.js.map +2 -2
- package/dist/modules/auth/backend/roles/page.js +3 -1
- package/dist/modules/auth/backend/roles/page.js.map +2 -2
- package/dist/modules/auth/backend/users/page.js +2 -1
- package/dist/modules/auth/backend/users/page.js.map +2 -2
- package/dist/modules/business_rules/backend/logs/page.js +3 -1
- package/dist/modules/business_rules/backend/logs/page.js.map +2 -2
- package/dist/modules/business_rules/backend/rules/page.js +3 -1
- package/dist/modules/business_rules/backend/rules/page.js.map +2 -2
- package/dist/modules/business_rules/backend/sets/page.js +3 -1
- package/dist/modules/business_rules/backend/sets/page.js.map +2 -2
- package/dist/modules/catalog/ai-agents.js +1 -1
- package/dist/modules/catalog/ai-agents.js.map +1 -1
- package/dist/modules/catalog/ai-tools/merchandising-pack.js +2 -2
- package/dist/modules/catalog/ai-tools/merchandising-pack.js.map +2 -2
- package/dist/modules/catalog/backend/catalog/products/MerchandisingAssistantSheet.js +5 -2
- package/dist/modules/catalog/backend/catalog/products/MerchandisingAssistantSheet.js.map +2 -2
- package/dist/modules/catalog/components/categories/CategoriesDataTable.js +2 -0
- package/dist/modules/catalog/components/categories/CategoriesDataTable.js.map +2 -2
- package/dist/modules/catalog/components/products/ProductsDataTable.js +7 -1
- package/dist/modules/catalog/components/products/ProductsDataTable.js.map +2 -2
- package/dist/modules/catalog/widgets/injection/merchandising-assistant-trigger/widget.client.js +2 -0
- package/dist/modules/catalog/widgets/injection/merchandising-assistant-trigger/widget.client.js.map +2 -2
- package/dist/modules/communication_channels/backend/communication_channels/channels/page.js +3 -0
- package/dist/modules/communication_channels/backend/communication_channels/channels/page.js.map +2 -2
- package/dist/modules/configs/lib/system-status.js +9 -0
- package/dist/modules/configs/lib/system-status.js.map +2 -2
- package/dist/modules/currencies/backend/currencies/page.js +3 -1
- package/dist/modules/currencies/backend/currencies/page.js.map +2 -2
- package/dist/modules/currencies/backend/exchange-rates/page.js +3 -1
- package/dist/modules/currencies/backend/exchange-rates/page.js.map +2 -2
- package/dist/modules/customer_accounts/backend/customer_accounts/roles/page.js +3 -1
- package/dist/modules/customer_accounts/backend/customer_accounts/roles/page.js.map +2 -2
- package/dist/modules/customer_accounts/backend/customer_accounts/users/page.js +3 -1
- package/dist/modules/customer_accounts/backend/customer_accounts/users/page.js.map +2 -2
- package/dist/modules/customers/ai-tools/companies-pack.js +4 -1
- package/dist/modules/customers/ai-tools/companies-pack.js.map +2 -2
- package/dist/modules/customers/ai-tools/deals-pack.js +4 -1
- package/dist/modules/customers/ai-tools/deals-pack.js.map +2 -2
- package/dist/modules/customers/ai-tools/people-pack.js +4 -1
- package/dist/modules/customers/ai-tools/people-pack.js.map +2 -2
- package/dist/modules/customers/api/deals/map/route.js +2 -1
- package/dist/modules/customers/api/deals/map/route.js.map +2 -2
- package/dist/modules/customers/backend/customers/companies/page.js +3 -1
- package/dist/modules/customers/backend/customers/companies/page.js.map +2 -2
- package/dist/modules/customers/backend/customers/deals/page.js +5 -2
- package/dist/modules/customers/backend/customers/deals/page.js.map +2 -2
- package/dist/modules/customers/backend/customers/people/page.js +3 -1
- package/dist/modules/customers/backend/customers/people/page.js.map +2 -2
- package/dist/modules/customers/components/CustomerTodosTable.js +1 -0
- package/dist/modules/customers/components/CustomerTodosTable.js.map +2 -2
- package/dist/modules/data_sync/backend/data-sync/page.js +3 -1
- package/dist/modules/data_sync/backend/data-sync/page.js.map +2 -2
- package/dist/modules/devices/backend/devices/page.js +3 -1
- package/dist/modules/devices/backend/devices/page.js.map +2 -2
- package/dist/modules/directory/backend/directory/organizations/page.js +2 -1
- package/dist/modules/directory/backend/directory/organizations/page.js.map +2 -2
- package/dist/modules/directory/backend/directory/tenants/page.js +2 -1
- package/dist/modules/directory/backend/directory/tenants/page.js.map +2 -2
- package/dist/modules/entities/api/records.js +4 -2
- package/dist/modules/entities/api/records.js.map +2 -2
- package/dist/modules/entities/backend/entities/user/[entityId]/records/page.js +3 -1
- package/dist/modules/entities/backend/entities/user/[entityId]/records/page.js.map +2 -2
- package/dist/modules/eudr/backend/eudr/evidence-submissions/page.js +3 -0
- package/dist/modules/eudr/backend/eudr/evidence-submissions/page.js.map +2 -2
- package/dist/modules/eudr/backend/eudr/plots/page.js +3 -0
- package/dist/modules/eudr/backend/eudr/plots/page.js.map +2 -2
- package/dist/modules/eudr/backend/eudr/product-mappings/page.js +3 -0
- package/dist/modules/eudr/backend/eudr/product-mappings/page.js.map +2 -2
- package/dist/modules/eudr/backend/eudr/risk-assessments/page.js +3 -0
- package/dist/modules/eudr/backend/eudr/risk-assessments/page.js.map +2 -2
- package/dist/modules/eudr/backend/eudr/statements/page.js +3 -0
- package/dist/modules/eudr/backend/eudr/statements/page.js.map +2 -2
- package/dist/modules/feature_toggles/components/FeatureTogglesTable.js +1 -0
- package/dist/modules/feature_toggles/components/FeatureTogglesTable.js.map +2 -2
- package/dist/modules/feature_toggles/components/OverridesTable.js +1 -0
- package/dist/modules/feature_toggles/components/OverridesTable.js.map +2 -2
- package/dist/modules/inbox_ops/backend/inbox-ops/log/page.js +3 -0
- package/dist/modules/inbox_ops/backend/inbox-ops/log/page.js.map +2 -2
- package/dist/modules/inbox_ops/backend/inbox-ops/page.js +3 -0
- package/dist/modules/inbox_ops/backend/inbox-ops/page.js.map +2 -2
- package/dist/modules/messages/components/MessagesInboxPageClient.js +4 -1
- package/dist/modules/messages/components/MessagesInboxPageClient.js.map +2 -2
- package/dist/modules/payment_gateways/backend/payment-gateways/page.js +3 -1
- package/dist/modules/payment_gateways/backend/payment-gateways/page.js.map +2 -2
- package/dist/modules/planner/backend/planner/availability-rulesets/page.js +3 -0
- package/dist/modules/planner/backend/planner/availability-rulesets/page.js.map +2 -2
- package/dist/modules/push_notifications/backend/push_notifications/page.js +3 -1
- package/dist/modules/push_notifications/backend/push_notifications/page.js.map +2 -2
- package/dist/modules/query_index/lib/engine.js +108 -48
- package/dist/modules/query_index/lib/engine.js.map +2 -2
- package/dist/modules/resources/backend/resources/resource-types/page.js +3 -1
- package/dist/modules/resources/backend/resources/resource-types/page.js.map +2 -2
- package/dist/modules/resources/backend/resources/resources/page.js +3 -1
- package/dist/modules/resources/backend/resources/resources/page.js.map +2 -2
- package/dist/modules/sales/backend/sales/channels/offers/page.js +3 -0
- package/dist/modules/sales/backend/sales/channels/offers/page.js.map +2 -2
- package/dist/modules/sales/backend/sales/channels/page.js +3 -0
- package/dist/modules/sales/backend/sales/channels/page.js.map +2 -2
- package/dist/modules/sales/components/channels/SalesChannelOffersPanel.js +3 -0
- package/dist/modules/sales/components/channels/SalesChannelOffersPanel.js.map +2 -2
- package/dist/modules/sales/components/documents/SalesDocumentsTable.js +4 -0
- package/dist/modules/sales/components/documents/SalesDocumentsTable.js.map +2 -2
- package/dist/modules/staff/backend/staff/leave-requests/page.js +3 -0
- package/dist/modules/staff/backend/staff/leave-requests/page.js.map +2 -2
- package/dist/modules/staff/backend/staff/my-leave-requests/page.js +3 -0
- package/dist/modules/staff/backend/staff/my-leave-requests/page.js.map +2 -2
- package/dist/modules/staff/backend/staff/team-members/page.js +3 -0
- package/dist/modules/staff/backend/staff/team-members/page.js.map +2 -2
- package/dist/modules/staff/backend/staff/team-roles/page.js +3 -0
- package/dist/modules/staff/backend/staff/team-roles/page.js.map +2 -2
- package/dist/modules/staff/backend/staff/teams/[id]/edit/page.js +3 -0
- package/dist/modules/staff/backend/staff/teams/[id]/edit/page.js.map +2 -2
- package/dist/modules/staff/backend/staff/teams/page.js +3 -0
- package/dist/modules/staff/backend/staff/teams/page.js.map +2 -2
- package/dist/modules/staff/backend/staff/timesheets/projects/page.js +3 -0
- package/dist/modules/staff/backend/staff/timesheets/projects/page.js.map +2 -2
- package/dist/modules/warranty_claims/backend/page.js +3 -0
- package/dist/modules/warranty_claims/backend/page.js.map +2 -2
- package/dist/modules/warranty_claims/backend/warranty_claims/registrations/page.js +3 -0
- package/dist/modules/warranty_claims/backend/warranty_claims/registrations/page.js.map +2 -2
- package/dist/modules/warranty_claims/backend/warranty_claims/troubleshooting-guides/page.js +3 -0
- package/dist/modules/warranty_claims/backend/warranty_claims/troubleshooting-guides/page.js.map +2 -2
- package/dist/modules/warranty_claims/backend/warranty_claims/vendor-policies/page.js +3 -0
- package/dist/modules/warranty_claims/backend/warranty_claims/vendor-policies/page.js.map +2 -2
- package/dist/modules/warranty_claims/frontend/[orgSlug]/portal/claims/page.js +3 -0
- package/dist/modules/warranty_claims/frontend/[orgSlug]/portal/claims/page.js.map +2 -2
- package/dist/modules/wms/commands/inventory-actions.js +3 -0
- package/dist/modules/wms/commands/inventory-actions.js.map +2 -2
- package/dist/modules/wms/components/backend/WmsConfigurationPage.js +4 -0
- package/dist/modules/wms/components/backend/WmsConfigurationPage.js.map +2 -2
- package/dist/modules/wms/components/backend/WmsInventoryConsolePage.js +1 -0
- package/dist/modules/wms/components/backend/WmsInventoryConsolePage.js.map +2 -2
- package/dist/modules/wms/components/backend/WmsLotsListPage.js +1 -0
- package/dist/modules/wms/components/backend/WmsLotsListPage.js.map +2 -2
- package/dist/modules/wms/components/backend/inventoryMutationLoaders.js +27 -20
- package/dist/modules/wms/components/backend/inventoryMutationLoaders.js.map +2 -2
- package/dist/modules/workflows/backend/definitions/page.js +3 -1
- package/dist/modules/workflows/backend/definitions/page.js.map +2 -2
- package/dist/modules/workflows/backend/events/page.js +3 -1
- package/dist/modules/workflows/backend/events/page.js.map +2 -2
- package/dist/modules/workflows/backend/instances/page.js +3 -1
- package/dist/modules/workflows/backend/instances/page.js.map +2 -2
- package/dist/modules/workflows/backend/tasks/page.js +3 -1
- package/dist/modules/workflows/backend/tasks/page.js.map +2 -2
- package/package.json +7 -7
- package/src/modules/api_keys/backend/api-keys/page.tsx +4 -1
- package/src/modules/attachments/components/AttachmentLibrary.tsx +3 -0
- package/src/modules/audit_logs/backend/audit-logs/page.tsx +8 -0
- package/src/modules/auth/backend/roles/page.tsx +4 -2
- package/src/modules/auth/backend/users/page.tsx +3 -2
- package/src/modules/business_rules/backend/logs/page.tsx +4 -1
- package/src/modules/business_rules/backend/rules/page.tsx +4 -1
- package/src/modules/business_rules/backend/sets/page.tsx +4 -1
- package/src/modules/catalog/ai-agents.ts +1 -1
- package/src/modules/catalog/ai-tools/merchandising-pack.ts +2 -2
- package/src/modules/catalog/backend/catalog/products/MerchandisingAssistantSheet.tsx +12 -5
- package/src/modules/catalog/components/categories/CategoriesDataTable.tsx +3 -0
- package/src/modules/catalog/components/products/ProductsDataTable.tsx +7 -0
- package/src/modules/catalog/i18n/de.json +1 -0
- package/src/modules/catalog/i18n/en.json +1 -0
- package/src/modules/catalog/i18n/es.json +1 -0
- package/src/modules/catalog/i18n/ko.json +1 -0
- package/src/modules/catalog/i18n/pl.json +1 -0
- package/src/modules/catalog/widgets/injection/merchandising-assistant-trigger/widget.client.tsx +4 -0
- package/src/modules/communication_channels/backend/communication_channels/channels/page.tsx +4 -0
- package/src/modules/configs/i18n/de.json +2 -0
- package/src/modules/configs/i18n/en.json +2 -0
- package/src/modules/configs/i18n/es.json +2 -0
- package/src/modules/configs/i18n/ko.json +2 -0
- package/src/modules/configs/i18n/pl.json +2 -0
- package/src/modules/configs/lib/system-status.ts +9 -0
- package/src/modules/currencies/backend/currencies/page.tsx +4 -1
- package/src/modules/currencies/backend/exchange-rates/page.tsx +4 -1
- package/src/modules/customer_accounts/backend/customer_accounts/roles/page.tsx +4 -1
- package/src/modules/customer_accounts/backend/customer_accounts/users/page.tsx +4 -1
- package/src/modules/customers/ai-tools/companies-pack.ts +4 -1
- package/src/modules/customers/ai-tools/deals-pack.ts +4 -1
- package/src/modules/customers/ai-tools/people-pack.ts +4 -1
- package/src/modules/customers/api/deals/map/route.ts +1 -0
- package/src/modules/customers/backend/customers/companies/page.tsx +4 -1
- package/src/modules/customers/backend/customers/deals/page.tsx +8 -2
- package/src/modules/customers/backend/customers/people/page.tsx +4 -1
- package/src/modules/customers/components/CustomerTodosTable.tsx +2 -0
- package/src/modules/data_sync/backend/data-sync/page.tsx +4 -1
- package/src/modules/devices/backend/devices/page.tsx +4 -1
- package/src/modules/directory/backend/directory/organizations/page.tsx +3 -1
- package/src/modules/directory/backend/directory/tenants/page.tsx +3 -1
- package/src/modules/entities/api/records.ts +2 -0
- package/src/modules/entities/backend/entities/user/[entityId]/records/page.tsx +4 -1
- package/src/modules/eudr/backend/eudr/evidence-submissions/page.tsx +4 -0
- package/src/modules/eudr/backend/eudr/plots/page.tsx +4 -0
- package/src/modules/eudr/backend/eudr/product-mappings/page.tsx +4 -0
- package/src/modules/eudr/backend/eudr/risk-assessments/page.tsx +4 -0
- package/src/modules/eudr/backend/eudr/statements/page.tsx +4 -0
- package/src/modules/feature_toggles/components/FeatureTogglesTable.tsx +2 -1
- package/src/modules/feature_toggles/components/OverridesTable.tsx +2 -1
- package/src/modules/inbox_ops/backend/inbox-ops/log/page.tsx +4 -0
- package/src/modules/inbox_ops/backend/inbox-ops/page.tsx +4 -0
- package/src/modules/messages/components/MessagesInboxPageClient.tsx +4 -0
- package/src/modules/payment_gateways/backend/payment-gateways/page.tsx +4 -1
- package/src/modules/planner/backend/planner/availability-rulesets/page.tsx +4 -0
- package/src/modules/push_notifications/backend/push_notifications/page.tsx +4 -1
- package/src/modules/query_index/lib/engine.ts +156 -53
- package/src/modules/resources/backend/resources/resource-types/page.tsx +4 -1
- package/src/modules/resources/backend/resources/resources/page.tsx +4 -1
- package/src/modules/sales/backend/sales/channels/offers/page.tsx +4 -0
- package/src/modules/sales/backend/sales/channels/page.tsx +4 -0
- package/src/modules/sales/components/channels/SalesChannelOffersPanel.tsx +4 -0
- package/src/modules/sales/components/documents/SalesDocumentsTable.tsx +5 -0
- package/src/modules/staff/backend/staff/leave-requests/page.tsx +4 -0
- package/src/modules/staff/backend/staff/my-leave-requests/page.tsx +4 -0
- package/src/modules/staff/backend/staff/team-members/page.tsx +6 -0
- package/src/modules/staff/backend/staff/team-roles/page.tsx +4 -0
- package/src/modules/staff/backend/staff/teams/[id]/edit/page.tsx +4 -0
- package/src/modules/staff/backend/staff/teams/page.tsx +4 -0
- package/src/modules/staff/backend/staff/timesheets/projects/page.tsx +4 -0
- package/src/modules/warranty_claims/backend/page.tsx +4 -0
- package/src/modules/warranty_claims/backend/warranty_claims/registrations/page.tsx +4 -0
- package/src/modules/warranty_claims/backend/warranty_claims/troubleshooting-guides/page.tsx +4 -0
- package/src/modules/warranty_claims/backend/warranty_claims/vendor-policies/page.tsx +4 -0
- package/src/modules/warranty_claims/frontend/[orgSlug]/portal/claims/page.tsx +4 -0
- package/src/modules/wms/commands/inventory-actions.ts +3 -0
- package/src/modules/wms/components/backend/WmsConfigurationPage.tsx +5 -0
- package/src/modules/wms/components/backend/WmsInventoryConsolePage.tsx +2 -0
- package/src/modules/wms/components/backend/WmsLotsListPage.tsx +2 -0
- package/src/modules/wms/components/backend/inventoryMutationLoaders.ts +36 -20
- package/src/modules/workflows/backend/definitions/page.tsx +4 -1
- package/src/modules/workflows/backend/events/page.tsx +4 -1
- package/src/modules/workflows/backend/instances/page.tsx +4 -1
- package/src/modules/workflows/backend/tasks/page.tsx +4 -1
|
@@ -60,6 +60,7 @@ type TeamMembersResponse = {
|
|
|
60
60
|
items?: Array<Record<string, unknown>>
|
|
61
61
|
total?: number
|
|
62
62
|
totalPages?: number
|
|
63
|
+
totalIsCapped?: boolean
|
|
63
64
|
}
|
|
64
65
|
|
|
65
66
|
export default function StaffTeamEditPage({ params }: { params?: { id?: string } }) {
|
|
@@ -76,6 +77,7 @@ export default function StaffTeamEditPage({ params }: { params?: { id?: string }
|
|
|
76
77
|
const [memberRows, setMemberRows] = React.useState<TeamMemberRow[]>([])
|
|
77
78
|
const [memberPage, setMemberPage] = React.useState(1)
|
|
78
79
|
const [memberTotal, setMemberTotal] = React.useState(0)
|
|
80
|
+
const [memberTotalIsCapped, setMemberTotalIsCapped] = React.useState(false)
|
|
79
81
|
const [memberTotalPages, setMemberTotalPages] = React.useState(1)
|
|
80
82
|
const [memberSorting, setMemberSorting] = React.useState<SortingState>([{ id: 'displayName', desc: false }])
|
|
81
83
|
const [memberSearch, setMemberSearch] = React.useState('')
|
|
@@ -263,6 +265,7 @@ export default function StaffTeamEditPage({ params }: { params?: { id?: string }
|
|
|
263
265
|
const items = Array.isArray(payload.items) ? payload.items : []
|
|
264
266
|
setMemberRows(items.map(mapApiTeamMember))
|
|
265
267
|
setMemberTotal(typeof payload.total === 'number' ? payload.total : items.length)
|
|
268
|
+
setMemberTotalIsCapped(payload.totalIsCapped === true)
|
|
266
269
|
setMemberTotalPages(
|
|
267
270
|
typeof payload.totalPages === 'number'
|
|
268
271
|
? payload.totalPages
|
|
@@ -434,6 +437,7 @@ export default function StaffTeamEditPage({ params }: { params?: { id?: string }
|
|
|
434
437
|
pageSize: TEAM_MEMBERS_PAGE_SIZE,
|
|
435
438
|
total: memberTotal,
|
|
436
439
|
totalPages: memberTotalPages,
|
|
440
|
+
totalIsCapped: memberTotalIsCapped,
|
|
437
441
|
onPageChange: setMemberPage,
|
|
438
442
|
}}
|
|
439
443
|
rowActions={(row) => (
|
|
@@ -41,6 +41,7 @@ type TeamsResponse = {
|
|
|
41
41
|
items?: Array<Record<string, unknown>>
|
|
42
42
|
total?: number
|
|
43
43
|
totalPages?: number
|
|
44
|
+
totalIsCapped?: boolean
|
|
44
45
|
}
|
|
45
46
|
|
|
46
47
|
export default function StaffTeamsPage() {
|
|
@@ -52,6 +53,7 @@ export default function StaffTeamsPage() {
|
|
|
52
53
|
const [page, setPage] = React.useState(1)
|
|
53
54
|
const [total, setTotal] = React.useState(0)
|
|
54
55
|
const [totalPages, setTotalPages] = React.useState(1)
|
|
56
|
+
const [totalIsCapped, setTotalIsCapped] = React.useState(false)
|
|
55
57
|
const [sorting, setSorting] = React.useState<SortingState>([{ id: 'name', desc: false }])
|
|
56
58
|
const [search, setSearch] = React.useState('')
|
|
57
59
|
const [isLoading, setIsLoading] = React.useState(true)
|
|
@@ -176,6 +178,7 @@ export default function StaffTeamsPage() {
|
|
|
176
178
|
setRows(items.map(mapApiTeam))
|
|
177
179
|
setTotal(typeof payload.total === 'number' ? payload.total : items.length)
|
|
178
180
|
setTotalPages(typeof payload.totalPages === 'number' ? payload.totalPages : Math.max(1, Math.ceil(items.length / PAGE_SIZE)))
|
|
181
|
+
setTotalIsCapped(payload?.totalIsCapped === true)
|
|
179
182
|
} catch (error) {
|
|
180
183
|
logger.error('staff.teams.list', { err: error })
|
|
181
184
|
flash(labels.errors.load, 'error')
|
|
@@ -261,6 +264,7 @@ export default function StaffTeamsPage() {
|
|
|
261
264
|
pageSize: PAGE_SIZE,
|
|
262
265
|
total,
|
|
263
266
|
totalPages,
|
|
267
|
+
totalIsCapped,
|
|
264
268
|
onPageChange: setPage,
|
|
265
269
|
}}
|
|
266
270
|
rowActions={(row) => (
|
|
@@ -79,6 +79,7 @@ type ProjectsResponse = {
|
|
|
79
79
|
items?: Array<Record<string, unknown>>
|
|
80
80
|
total?: number
|
|
81
81
|
totalPages?: number
|
|
82
|
+
totalIsCapped?: boolean
|
|
82
83
|
}
|
|
83
84
|
|
|
84
85
|
type KpisResponse = PmKpis | CollabKpis
|
|
@@ -186,6 +187,7 @@ export default function TimesheetProjectsPage() {
|
|
|
186
187
|
const [page, setPage] = React.useState(1)
|
|
187
188
|
const [total, setTotal] = React.useState(0)
|
|
188
189
|
const [totalPages, setTotalPages] = React.useState(1)
|
|
190
|
+
const [totalIsCapped, setTotalIsCapped] = React.useState(false)
|
|
189
191
|
const [sorting, setSorting] = React.useState<SortingState>([{ id: 'updatedAt', desc: true }])
|
|
190
192
|
const [search, setSearch] = React.useState('')
|
|
191
193
|
const [filterValues, setFilterValues] = React.useState<FilterValues>({})
|
|
@@ -404,6 +406,7 @@ export default function TimesheetProjectsPage() {
|
|
|
404
406
|
? payload.totalPages
|
|
405
407
|
: Math.max(1, Math.ceil(items.length / PAGE_SIZE)),
|
|
406
408
|
)
|
|
409
|
+
setTotalIsCapped(payload.totalIsCapped === true)
|
|
407
410
|
} catch (error) {
|
|
408
411
|
logger.error('staff.timesheets.projects.list', { err: error })
|
|
409
412
|
flash(labels.errors.load, 'error')
|
|
@@ -740,6 +743,7 @@ export default function TimesheetProjectsPage() {
|
|
|
740
743
|
pageSize: PAGE_SIZE,
|
|
741
744
|
total,
|
|
742
745
|
totalPages,
|
|
746
|
+
totalIsCapped,
|
|
743
747
|
onPageChange: setPage,
|
|
744
748
|
}}
|
|
745
749
|
rowActions={(row) => (
|
|
@@ -71,6 +71,7 @@ type ClaimsResponse = {
|
|
|
71
71
|
items?: ClaimRow[]
|
|
72
72
|
total?: number
|
|
73
73
|
totalPages?: number
|
|
74
|
+
totalIsCapped?: boolean
|
|
74
75
|
page?: number
|
|
75
76
|
pageSize?: number
|
|
76
77
|
error?: string
|
|
@@ -421,6 +422,7 @@ export default function WarrantyClaimsPage() {
|
|
|
421
422
|
const [page, setPage] = React.useState(initialUrlState.page)
|
|
422
423
|
const [total, setTotal] = React.useState(0)
|
|
423
424
|
const [totalPages, setTotalPages] = React.useState(1)
|
|
425
|
+
const [totalIsCapped, setTotalIsCapped] = React.useState(false)
|
|
424
426
|
const [tabCounts, setTabCounts] = React.useState<ClaimsTabCounts>({})
|
|
425
427
|
const [search, setSearch] = React.useState(initialUrlState.search)
|
|
426
428
|
const [filterValues, setFilterValues] = React.useState<FilterValues>(initialUrlState.filterValues)
|
|
@@ -508,6 +510,7 @@ export default function WarrantyClaimsPage() {
|
|
|
508
510
|
setRows(items.map(normalizeClaimRow).filter((row): row is ClaimRow => row !== null))
|
|
509
511
|
setTotal(typeof call.result?.total === 'number' ? call.result.total : items.length)
|
|
510
512
|
setTotalPages(typeof call.result?.totalPages === 'number' ? call.result.totalPages : 1)
|
|
513
|
+
setTotalIsCapped(call.result?.totalIsCapped === true)
|
|
511
514
|
} catch (error) {
|
|
512
515
|
if (!cancelled) {
|
|
513
516
|
const message = error instanceof Error ? error.message : t('warranty_claims.list.error.load')
|
|
@@ -1255,6 +1258,7 @@ export default function WarrantyClaimsPage() {
|
|
|
1255
1258
|
pageSize: PAGE_SIZE,
|
|
1256
1259
|
total,
|
|
1257
1260
|
totalPages,
|
|
1261
|
+
totalIsCapped,
|
|
1258
1262
|
onPageChange: setPage,
|
|
1259
1263
|
}}
|
|
1260
1264
|
/>
|
|
@@ -31,6 +31,7 @@ type RegistrationsResponse = {
|
|
|
31
31
|
items?: unknown[]
|
|
32
32
|
total?: number
|
|
33
33
|
totalPages?: number
|
|
34
|
+
totalIsCapped?: boolean
|
|
34
35
|
error?: string
|
|
35
36
|
}
|
|
36
37
|
|
|
@@ -141,6 +142,7 @@ export default function WarrantyClaimRegistrationsPage() {
|
|
|
141
142
|
const [page, setPage] = React.useState(1)
|
|
142
143
|
const [total, setTotal] = React.useState(0)
|
|
143
144
|
const [totalPages, setTotalPages] = React.useState(1)
|
|
145
|
+
const [totalIsCapped, setTotalIsCapped] = React.useState(false)
|
|
144
146
|
const [tabCounts, setTabCounts] = React.useState<Partial<Record<RegistrationSegment, number>>>({})
|
|
145
147
|
const [search, setSearch] = React.useState('')
|
|
146
148
|
const [filterValues, setFilterValues] = React.useState<FilterValues>({})
|
|
@@ -218,6 +220,7 @@ export default function WarrantyClaimRegistrationsPage() {
|
|
|
218
220
|
setRows(items.map(normalizeRegistration).filter((row): row is RegistrationRecord => row !== null))
|
|
219
221
|
setTotal(typeof call.result?.total === 'number' ? call.result.total : items.length)
|
|
220
222
|
setTotalPages(typeof call.result?.totalPages === 'number' ? call.result.totalPages : 1)
|
|
223
|
+
setTotalIsCapped(call.result?.totalIsCapped === true)
|
|
221
224
|
} catch (error) {
|
|
222
225
|
if (!cancelled) {
|
|
223
226
|
const message = error instanceof Error
|
|
@@ -544,6 +547,7 @@ export default function WarrantyClaimRegistrationsPage() {
|
|
|
544
547
|
pageSize: PAGE_SIZE,
|
|
545
548
|
total,
|
|
546
549
|
totalPages,
|
|
550
|
+
totalIsCapped,
|
|
547
551
|
onPageChange: setPage,
|
|
548
552
|
}}
|
|
549
553
|
/>
|
|
@@ -40,6 +40,7 @@ type TroubleshootingGuidesResponse = {
|
|
|
40
40
|
items?: unknown[]
|
|
41
41
|
total?: number
|
|
42
42
|
totalPages?: number
|
|
43
|
+
totalIsCapped?: boolean
|
|
43
44
|
error?: string
|
|
44
45
|
}
|
|
45
46
|
|
|
@@ -70,6 +71,7 @@ export default function WarrantyTroubleshootingGuidesPage() {
|
|
|
70
71
|
const [page, setPage] = React.useState(1)
|
|
71
72
|
const [total, setTotal] = React.useState(0)
|
|
72
73
|
const [totalPages, setTotalPages] = React.useState(1)
|
|
74
|
+
const [totalIsCapped, setTotalIsCapped] = React.useState(false)
|
|
73
75
|
const [tabCounts, setTabCounts] = React.useState<Partial<Record<GuideSegment, number>>>({})
|
|
74
76
|
const [search, setSearch] = React.useState('')
|
|
75
77
|
const [filterValues, setFilterValues] = React.useState<FilterValues>({})
|
|
@@ -155,6 +157,7 @@ export default function WarrantyTroubleshootingGuidesPage() {
|
|
|
155
157
|
setRows(items.map(normalizeTroubleshootingGuide).filter((row): row is TroubleshootingGuideRecord => row !== null))
|
|
156
158
|
setTotal(typeof call.result?.total === 'number' ? call.result.total : items.length)
|
|
157
159
|
setTotalPages(typeof call.result?.totalPages === 'number' ? call.result.totalPages : 1)
|
|
160
|
+
setTotalIsCapped(call.result?.totalIsCapped === true)
|
|
158
161
|
} catch (error) {
|
|
159
162
|
if (!cancelled) {
|
|
160
163
|
const message = error instanceof Error
|
|
@@ -466,6 +469,7 @@ export default function WarrantyTroubleshootingGuidesPage() {
|
|
|
466
469
|
pageSize: PAGE_SIZE,
|
|
467
470
|
total,
|
|
468
471
|
totalPages,
|
|
472
|
+
totalIsCapped,
|
|
469
473
|
onPageChange: setPage,
|
|
470
474
|
}}
|
|
471
475
|
/>
|
|
@@ -33,6 +33,7 @@ type VendorPoliciesResponse = {
|
|
|
33
33
|
items?: unknown[]
|
|
34
34
|
total?: number
|
|
35
35
|
totalPages?: number
|
|
36
|
+
totalIsCapped?: boolean
|
|
36
37
|
error?: string
|
|
37
38
|
}
|
|
38
39
|
|
|
@@ -78,6 +79,7 @@ export default function WarrantyVendorPoliciesPage() {
|
|
|
78
79
|
const [page, setPage] = React.useState(1)
|
|
79
80
|
const [total, setTotal] = React.useState(0)
|
|
80
81
|
const [totalPages, setTotalPages] = React.useState(1)
|
|
82
|
+
const [totalIsCapped, setTotalIsCapped] = React.useState(false)
|
|
81
83
|
const [tabCounts, setTabCounts] = React.useState<Partial<Record<VendorPolicySegment, number>>>({})
|
|
82
84
|
const [search, setSearch] = React.useState('')
|
|
83
85
|
const [filterValues, setFilterValues] = React.useState<FilterValues>({})
|
|
@@ -163,6 +165,7 @@ export default function WarrantyVendorPoliciesPage() {
|
|
|
163
165
|
setRows(items.map(normalizeVendorPolicy).filter((row): row is VendorPolicyRecord => row !== null))
|
|
164
166
|
setTotal(typeof call.result?.total === 'number' ? call.result.total : items.length)
|
|
165
167
|
setTotalPages(typeof call.result?.totalPages === 'number' ? call.result.totalPages : 1)
|
|
168
|
+
setTotalIsCapped(call.result?.totalIsCapped === true)
|
|
166
169
|
} catch (error) {
|
|
167
170
|
if (!cancelled) {
|
|
168
171
|
const message = error instanceof Error
|
|
@@ -495,6 +498,7 @@ export default function WarrantyVendorPoliciesPage() {
|
|
|
495
498
|
pageSize: PAGE_SIZE,
|
|
496
499
|
total,
|
|
497
500
|
totalPages,
|
|
501
|
+
totalIsCapped,
|
|
498
502
|
onPageChange: setPage,
|
|
499
503
|
}}
|
|
500
504
|
/>
|
|
@@ -39,6 +39,7 @@ type PortalClaimsResponse = {
|
|
|
39
39
|
page: number
|
|
40
40
|
pageSize: number
|
|
41
41
|
totalPages: number
|
|
42
|
+
totalIsCapped?: boolean
|
|
42
43
|
}
|
|
43
44
|
|
|
44
45
|
function formatDate(value: string | null, fallback: string, locale: string): string {
|
|
@@ -63,6 +64,7 @@ export default function WarrantyClaimsPortalListPage({ params }: Props) {
|
|
|
63
64
|
const [pageSize, setPageSize] = React.useState(20)
|
|
64
65
|
const [total, setTotal] = React.useState(0)
|
|
65
66
|
const [totalPages, setTotalPages] = React.useState(1)
|
|
67
|
+
const [totalIsCapped, setTotalIsCapped] = React.useState(false)
|
|
66
68
|
const [isLoading, setIsLoading] = React.useState(true)
|
|
67
69
|
const [error, setError] = React.useState<string | null>(null)
|
|
68
70
|
const [search, setSearch] = React.useState('')
|
|
@@ -102,6 +104,7 @@ export default function WarrantyClaimsPortalListPage({ params }: Props) {
|
|
|
102
104
|
setRows(res.result.items)
|
|
103
105
|
setTotal(res.result.total)
|
|
104
106
|
setTotalPages(res.result.totalPages)
|
|
107
|
+
setTotalIsCapped(res.result.totalIsCapped === true)
|
|
105
108
|
})
|
|
106
109
|
.catch(() => {
|
|
107
110
|
if (!cancelled) {
|
|
@@ -271,6 +274,7 @@ export default function WarrantyClaimsPortalListPage({ params }: Props) {
|
|
|
271
274
|
pageSize,
|
|
272
275
|
total,
|
|
273
276
|
totalPages,
|
|
277
|
+
totalIsCapped,
|
|
274
278
|
onPageChange: setPage,
|
|
275
279
|
onPageSizeChange: (nextPageSize) => {
|
|
276
280
|
setPageSize(nextPageSize)
|
|
@@ -1197,6 +1197,9 @@ const allocateInventoryReservationCommand: CommandHandler<InventoryReservationAl
|
|
|
1197
1197
|
const result = await runInTransaction(em, async (trx) => {
|
|
1198
1198
|
const scope = resolveScope(ctx, input)
|
|
1199
1199
|
const reservation = await requireReservation(trx, ctx, input.reservationId, scope, true)
|
|
1200
|
+
if (reservation.status !== 'active') {
|
|
1201
|
+
throw new CrudHttpError(409, { error: 'invalid_reservation_state' })
|
|
1202
|
+
}
|
|
1200
1203
|
const metadata = extractReservationMetadata(reservation)
|
|
1201
1204
|
if (metadata.allocationState === 'allocated') {
|
|
1202
1205
|
return {
|
|
@@ -43,6 +43,7 @@ type PagedResponse<T> = {
|
|
|
43
43
|
items: T[]
|
|
44
44
|
total: number
|
|
45
45
|
totalPages: number
|
|
46
|
+
totalIsCapped?: boolean
|
|
46
47
|
page?: number
|
|
47
48
|
pageSize?: number
|
|
48
49
|
}
|
|
@@ -515,6 +516,7 @@ export function WarehouseSection({ viewAllHref }: ConfigSectionOptions = {}) {
|
|
|
515
516
|
pageSize: 10,
|
|
516
517
|
total: query.data?.total ?? 0,
|
|
517
518
|
totalPages: query.data?.totalPages ?? 1,
|
|
519
|
+
totalIsCapped: query.data?.totalIsCapped === true,
|
|
518
520
|
onPageChange: setPage,
|
|
519
521
|
}}
|
|
520
522
|
perspective={{ tableId: extensionPoints.hosts.warehousesTable.tableId }}
|
|
@@ -775,6 +777,7 @@ export function ZoneSection({ viewAllHref }: ConfigSectionOptions = {}) {
|
|
|
775
777
|
pageSize: 10,
|
|
776
778
|
total: query.data?.total ?? 0,
|
|
777
779
|
totalPages: query.data?.totalPages ?? 1,
|
|
780
|
+
totalIsCapped: query.data?.totalIsCapped === true,
|
|
778
781
|
onPageChange: setPage,
|
|
779
782
|
}}
|
|
780
783
|
perspective={{ tableId: extensionPoints.hosts.zonesTable.tableId }}
|
|
@@ -982,6 +985,7 @@ export function LocationSection({ viewAllHref }: ConfigSectionOptions = {}) {
|
|
|
982
985
|
pageSize: 10,
|
|
983
986
|
total: query.data?.total ?? 0,
|
|
984
987
|
totalPages: query.data?.totalPages ?? 1,
|
|
988
|
+
totalIsCapped: query.data?.totalIsCapped === true,
|
|
985
989
|
onPageChange: setPage,
|
|
986
990
|
}}
|
|
987
991
|
perspective={{ tableId: extensionPoints.hosts.locationsTable.tableId }}
|
|
@@ -1276,6 +1280,7 @@ export function InventoryProfilesSection() {
|
|
|
1276
1280
|
pageSize: 10,
|
|
1277
1281
|
total: query.data?.total ?? 0,
|
|
1278
1282
|
totalPages: query.data?.totalPages ?? 1,
|
|
1283
|
+
totalIsCapped: query.data?.totalIsCapped === true,
|
|
1279
1284
|
onPageChange: setPage,
|
|
1280
1285
|
}}
|
|
1281
1286
|
perspective={{ tableId: extensionPoints.hosts.inventoryProfilesTable.tableId }}
|
|
@@ -58,6 +58,7 @@ type PagedResponse<T> = {
|
|
|
58
58
|
items: T[]
|
|
59
59
|
total: number
|
|
60
60
|
totalPages: number
|
|
61
|
+
totalIsCapped?: boolean
|
|
61
62
|
}
|
|
62
63
|
|
|
63
64
|
type InventoryBalanceRow = {
|
|
@@ -357,6 +358,7 @@ function InventoryDataTableSection<T extends RowData>({
|
|
|
357
358
|
pageSize: 20,
|
|
358
359
|
total: query.data?.total ?? 0,
|
|
359
360
|
totalPages: query.data?.totalPages ?? 1,
|
|
361
|
+
totalIsCapped: query.data?.totalIsCapped === true,
|
|
360
362
|
onPageChange: setPage,
|
|
361
363
|
}}
|
|
362
364
|
perspective={{ tableId }}
|
|
@@ -41,6 +41,7 @@ type PagedResponse<T> = {
|
|
|
41
41
|
items: T[]
|
|
42
42
|
total: number
|
|
43
43
|
totalPages: number
|
|
44
|
+
totalIsCapped?: boolean
|
|
44
45
|
}
|
|
45
46
|
|
|
46
47
|
function parseExpiryWindow(value: string | null): ExpiryWindow | null {
|
|
@@ -280,6 +281,7 @@ export default function WmsLotsListPage() {
|
|
|
280
281
|
pageSize: 25,
|
|
281
282
|
total: lotsQuery.data.total,
|
|
282
283
|
totalPages: lotsQuery.data.totalPages,
|
|
284
|
+
totalIsCapped: lotsQuery.data?.totalIsCapped === true,
|
|
283
285
|
onPageChange: setPage,
|
|
284
286
|
}}
|
|
285
287
|
perspective={{ tableId: extensionPoints.hosts.lotsTable.tableId }}
|
|
@@ -321,21 +321,25 @@ export async function loadAllLocations(
|
|
|
321
321
|
filters: { type?: string; search?: string },
|
|
322
322
|
): Promise<LocationListRow[]> {
|
|
323
323
|
const items: LocationListRow[] = []
|
|
324
|
+
const pageSize = 100
|
|
324
325
|
let page = 1
|
|
325
|
-
let totalPages = 1
|
|
326
326
|
|
|
327
|
-
|
|
327
|
+
// Short-page termination: `totalPages` derives from `total`, which is a
|
|
328
|
+
// display value that can be capped (OM_LIST_COUNT_CAP) — never a loop bound.
|
|
329
|
+
for (;;) {
|
|
328
330
|
const params = buildQuery({
|
|
329
331
|
page,
|
|
330
|
-
pageSize
|
|
332
|
+
pageSize,
|
|
331
333
|
warehouseId,
|
|
332
334
|
type: filters.type,
|
|
333
335
|
search: filters.search?.trim() || undefined,
|
|
334
336
|
})
|
|
335
337
|
const call = await apiCall<PagedResponse<LocationListRow>>(`/api/wms/locations?${params}`)
|
|
336
338
|
if (!call.ok) break
|
|
337
|
-
|
|
338
|
-
|
|
339
|
+
const batch = call.result?.items ?? []
|
|
340
|
+
items.push(...batch)
|
|
341
|
+
if (batch.length < pageSize) break
|
|
342
|
+
if (page >= 10) break
|
|
339
343
|
page += 1
|
|
340
344
|
}
|
|
341
345
|
|
|
@@ -538,13 +542,15 @@ export async function fetchCycleCountScopeEstimate(input: {
|
|
|
538
542
|
const binCount = scopedBinIds.size
|
|
539
543
|
|
|
540
544
|
const variantIds = new Set<string>()
|
|
545
|
+
const pageSize = 100
|
|
541
546
|
let page = 1
|
|
542
|
-
let totalPages = 1
|
|
543
547
|
|
|
544
|
-
|
|
548
|
+
// Short-page termination: `totalPages` derives from `total`, which is a
|
|
549
|
+
// display value that can be capped (OM_LIST_COUNT_CAP) — never a loop bound.
|
|
550
|
+
for (;;) {
|
|
545
551
|
const params = buildQuery({
|
|
546
552
|
page,
|
|
547
|
-
pageSize
|
|
553
|
+
pageSize,
|
|
548
554
|
warehouseId,
|
|
549
555
|
})
|
|
550
556
|
const call = await apiCall<PagedResponse<{ catalog_variant_id?: string | null; location_id?: string | null; quantity_on_hand?: string | number | null }>>(
|
|
@@ -554,7 +560,8 @@ export async function fetchCycleCountScopeEstimate(input: {
|
|
|
554
560
|
throw new ScopeEstimateError()
|
|
555
561
|
}
|
|
556
562
|
|
|
557
|
-
|
|
563
|
+
const batch = call.result?.items ?? []
|
|
564
|
+
for (const row of batch) {
|
|
558
565
|
const locationId = row.location_id?.trim()
|
|
559
566
|
const variantId = row.catalog_variant_id?.trim()
|
|
560
567
|
const onHand = Number(row.quantity_on_hand ?? 0)
|
|
@@ -563,7 +570,8 @@ export async function fetchCycleCountScopeEstimate(input: {
|
|
|
563
570
|
variantIds.add(variantId)
|
|
564
571
|
}
|
|
565
572
|
|
|
566
|
-
|
|
573
|
+
if (batch.length < pageSize) break
|
|
574
|
+
if (page >= 10) break
|
|
567
575
|
page += 1
|
|
568
576
|
}
|
|
569
577
|
|
|
@@ -808,17 +816,20 @@ export async function buildCycleCountScopeQueue(input: {
|
|
|
808
816
|
}
|
|
809
817
|
|
|
810
818
|
const items: ScopeQueueItem[] = []
|
|
819
|
+
const pageSize = 100
|
|
811
820
|
let page = 1
|
|
812
|
-
let totalPages = 1
|
|
813
821
|
|
|
814
|
-
|
|
815
|
-
|
|
822
|
+
// Short-page termination: `totalPages` derives from `total`, which is a
|
|
823
|
+
// display value that can be capped (OM_LIST_COUNT_CAP) — never a loop bound.
|
|
824
|
+
for (;;) {
|
|
825
|
+
const params = buildQuery({ page, pageSize, warehouseId })
|
|
816
826
|
const call = await apiCall<PagedResponse<BalanceRow>>(
|
|
817
827
|
`/api/wms/inventory/balances?${params}`,
|
|
818
828
|
)
|
|
819
829
|
if (!call.ok) throw new ScopeQueueError()
|
|
820
830
|
|
|
821
|
-
|
|
831
|
+
const batch = call.result?.items ?? []
|
|
832
|
+
for (const row of batch) {
|
|
822
833
|
const locationId = row.location_id?.trim()
|
|
823
834
|
const variantId = row.catalog_variant_id?.trim()
|
|
824
835
|
const lotId = row.lot_id?.trim() || null
|
|
@@ -838,7 +849,8 @@ export async function buildCycleCountScopeQueue(input: {
|
|
|
838
849
|
})
|
|
839
850
|
}
|
|
840
851
|
|
|
841
|
-
|
|
852
|
+
if (batch.length < pageSize) break
|
|
853
|
+
if (page >= 20) break
|
|
842
854
|
page += 1
|
|
843
855
|
}
|
|
844
856
|
|
|
@@ -900,8 +912,10 @@ async function fetchLocationTotalOnHand(input: {
|
|
|
900
912
|
if (!locationId) return 0
|
|
901
913
|
let sum = 0
|
|
902
914
|
let page = 1
|
|
903
|
-
|
|
904
|
-
|
|
915
|
+
// Short-page termination: this sum is user-visible, and `totalPages` derives
|
|
916
|
+
// from `total`, which is a display value that can be capped
|
|
917
|
+
// (OM_LIST_COUNT_CAP) — never a loop bound.
|
|
918
|
+
for (;;) {
|
|
905
919
|
const params = buildQuery({
|
|
906
920
|
page,
|
|
907
921
|
pageSize: LOCATION_TOTAL_ON_HAND_PAGE_SIZE,
|
|
@@ -912,13 +926,15 @@ async function fetchLocationTotalOnHand(input: {
|
|
|
912
926
|
`/api/wms/inventory/balances?${params}`,
|
|
913
927
|
)
|
|
914
928
|
if (!call.ok) break
|
|
915
|
-
|
|
929
|
+
const batch = call.result?.items ?? []
|
|
930
|
+
for (const row of batch) {
|
|
916
931
|
const value = Number(row.quantity_on_hand ?? 0)
|
|
917
932
|
if (Number.isFinite(value)) sum += value
|
|
918
933
|
}
|
|
919
|
-
|
|
934
|
+
if (batch.length < LOCATION_TOTAL_ON_HAND_PAGE_SIZE) break
|
|
935
|
+
if (page >= LOCATION_TOTAL_ON_HAND_MAX_PAGES) break
|
|
920
936
|
page += 1
|
|
921
|
-
}
|
|
937
|
+
}
|
|
922
938
|
return sum
|
|
923
939
|
}
|
|
924
940
|
|
|
@@ -62,6 +62,7 @@ type DefinitionsResponse = {
|
|
|
62
62
|
limit: number
|
|
63
63
|
offset: number
|
|
64
64
|
hasMore: boolean
|
|
65
|
+
totalIsCapped?: boolean
|
|
65
66
|
}
|
|
66
67
|
}
|
|
67
68
|
|
|
@@ -86,6 +87,7 @@ export default function WorkflowDefinitionsListPage() {
|
|
|
86
87
|
const [pageSize] = React.useState(20)
|
|
87
88
|
const [total, setTotal] = React.useState(0)
|
|
88
89
|
const [totalPages, setTotalPages] = React.useState(1)
|
|
90
|
+
const [totalIsCapped, setTotalIsCapped] = React.useState(false)
|
|
89
91
|
const t = useT()
|
|
90
92
|
const router = useRouter()
|
|
91
93
|
const queryClient = useQueryClient()
|
|
@@ -119,6 +121,7 @@ export default function WorkflowDefinitionsListPage() {
|
|
|
119
121
|
setTotal(response.pagination.total || 0)
|
|
120
122
|
const calculatedPages = Math.ceil((response.pagination.total || 0) / pageSize)
|
|
121
123
|
setTotalPages(calculatedPages || 1)
|
|
124
|
+
setTotalIsCapped(response.pagination?.totalIsCapped === true)
|
|
122
125
|
}
|
|
123
126
|
|
|
124
127
|
return response?.data || []
|
|
@@ -439,7 +442,7 @@ export default function WorkflowDefinitionsListPage() {
|
|
|
439
442
|
createLabel={t('workflows.actions.create')}
|
|
440
443
|
/>
|
|
441
444
|
)}
|
|
442
|
-
pagination={{ page, pageSize, total, totalPages, onPageChange: setPage }}
|
|
445
|
+
pagination={{ page, pageSize, total, totalPages, totalIsCapped, onPageChange: setPage }}
|
|
443
446
|
/>
|
|
444
447
|
<Dialog open={!!deleteTarget} onOpenChange={(open) => !open && setDeleteTarget(null)}>
|
|
445
448
|
<DialogContent className="sm:max-w-md">
|
|
@@ -34,6 +34,7 @@ type EventsResponse = {
|
|
|
34
34
|
page: number
|
|
35
35
|
pageSize: number
|
|
36
36
|
totalPages: number
|
|
37
|
+
totalIsCapped?: boolean
|
|
37
38
|
}
|
|
38
39
|
|
|
39
40
|
export default function WorkflowEventsPage() {
|
|
@@ -41,6 +42,7 @@ export default function WorkflowEventsPage() {
|
|
|
41
42
|
const [pageSize] = React.useState(50)
|
|
42
43
|
const [total, setTotal] = React.useState(0)
|
|
43
44
|
const [totalPages, setTotalPages] = React.useState(1)
|
|
45
|
+
const [totalIsCapped, setTotalIsCapped] = React.useState(false)
|
|
44
46
|
const t = useT()
|
|
45
47
|
const [filterValues, setFilterValues] = React.useState<FilterValues>({})
|
|
46
48
|
|
|
@@ -71,6 +73,7 @@ export default function WorkflowEventsPage() {
|
|
|
71
73
|
if (response) {
|
|
72
74
|
setTotal(response.total || 0)
|
|
73
75
|
setTotalPages(response.totalPages || 1)
|
|
76
|
+
setTotalIsCapped(response?.totalIsCapped === true)
|
|
74
77
|
}
|
|
75
78
|
|
|
76
79
|
return response?.items || []
|
|
@@ -284,7 +287,7 @@ export default function WorkflowEventsPage() {
|
|
|
284
287
|
onFiltersApply={handleFiltersApply}
|
|
285
288
|
onFiltersClear={handleFiltersClear}
|
|
286
289
|
isLoading={isLoading}
|
|
287
|
-
pagination={{ page, pageSize, total, totalPages, onPageChange: setPage }}
|
|
290
|
+
pagination={{ page, pageSize, total, totalPages, totalIsCapped, onPageChange: setPage }}
|
|
288
291
|
actions={
|
|
289
292
|
<Button
|
|
290
293
|
variant="outline"
|
|
@@ -42,6 +42,7 @@ type InstancesResponse = {
|
|
|
42
42
|
limit: number
|
|
43
43
|
offset: number
|
|
44
44
|
hasMore: boolean
|
|
45
|
+
totalIsCapped?: boolean
|
|
45
46
|
}
|
|
46
47
|
}
|
|
47
48
|
|
|
@@ -50,6 +51,7 @@ export default function WorkflowInstancesListPage() {
|
|
|
50
51
|
const [pageSize] = React.useState(50)
|
|
51
52
|
const [total, setTotal] = React.useState(0)
|
|
52
53
|
const [totalPages, setTotalPages] = React.useState(1)
|
|
54
|
+
const [totalIsCapped, setTotalIsCapped] = React.useState(false)
|
|
53
55
|
const t = useT()
|
|
54
56
|
const router = useRouter()
|
|
55
57
|
const queryClient = useQueryClient()
|
|
@@ -83,6 +85,7 @@ export default function WorkflowInstancesListPage() {
|
|
|
83
85
|
setTotal(response.pagination.total || 0)
|
|
84
86
|
const calculatedPages = Math.ceil((response.pagination.total || 0) / pageSize)
|
|
85
87
|
setTotalPages(calculatedPages || 1)
|
|
88
|
+
setTotalIsCapped(response.pagination?.totalIsCapped === true)
|
|
86
89
|
}
|
|
87
90
|
|
|
88
91
|
return response?.data || []
|
|
@@ -335,7 +338,7 @@ export default function WorkflowInstancesListPage() {
|
|
|
335
338
|
perspective={{
|
|
336
339
|
tableId: extensionPoints.hosts.instancesTable.tableId,
|
|
337
340
|
}}
|
|
338
|
-
pagination={{ page, pageSize, total, totalPages, onPageChange: setPage }}
|
|
341
|
+
pagination={{ page, pageSize, total, totalPages, totalIsCapped, onPageChange: setPage }}
|
|
339
342
|
/>
|
|
340
343
|
</PageBody>
|
|
341
344
|
{ConfirmDialogElement}
|
|
@@ -50,6 +50,7 @@ type TasksResponse = {
|
|
|
50
50
|
limit: number
|
|
51
51
|
offset: number
|
|
52
52
|
hasMore: boolean
|
|
53
|
+
totalIsCapped?: boolean
|
|
53
54
|
}
|
|
54
55
|
}
|
|
55
56
|
|
|
@@ -58,6 +59,7 @@ export default function UserTasksListPage() {
|
|
|
58
59
|
const [pageSize] = React.useState(50)
|
|
59
60
|
const [total, setTotal] = React.useState(0)
|
|
60
61
|
const [totalPages, setTotalPages] = React.useState(1)
|
|
62
|
+
const [totalIsCapped, setTotalIsCapped] = React.useState(false)
|
|
61
63
|
const t = useT()
|
|
62
64
|
const router = useRouter()
|
|
63
65
|
const queryClient = useQueryClient()
|
|
@@ -91,6 +93,7 @@ export default function UserTasksListPage() {
|
|
|
91
93
|
setTotal(response.pagination.total || 0)
|
|
92
94
|
const calculatedPages = Math.ceil((response.pagination.total || 0) / pageSize)
|
|
93
95
|
setTotalPages(calculatedPages || 1)
|
|
96
|
+
setTotalIsCapped(response.pagination?.totalIsCapped === true)
|
|
94
97
|
}
|
|
95
98
|
|
|
96
99
|
return response?.data || []
|
|
@@ -344,7 +347,7 @@ export default function UserTasksListPage() {
|
|
|
344
347
|
perspective={{
|
|
345
348
|
tableId: extensionPoints.hosts.tasksTable.tableId,
|
|
346
349
|
}}
|
|
347
|
-
pagination={{ page, pageSize, total, totalPages, onPageChange: setPage }}
|
|
350
|
+
pagination={{ page, pageSize, total, totalPages, totalIsCapped, onPageChange: setPage }}
|
|
348
351
|
/>
|
|
349
352
|
</PageBody>
|
|
350
353
|
{ConfirmDialogElement}
|