Skip to content

Commit 87db6e8

Browse files
authored
[Bug] Fix progress bar for batched tag and rewrite-references jobs (#3637)
1 parent 5204f7e commit 87db6e8

749 files changed

Lines changed: 30485 additions & 4 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

assets/js/src/core/modules/execution-engine/jobs/__tests__/job-rehydration.test.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import { MessageBusJobHandler } from '@Pimcore/modules/execution-engine/message-
1313
import { ChildJobStepTracker } from '@Pimcore/modules/execution-engine/message-handlers/message-bus-job/step-tracker/child-job-step-tracker'
1414
import { DefaultStepTracker } from '@Pimcore/modules/execution-engine/message-handlers/message-bus-job/step-tracker/default-step-tracker'
1515
import { ProgressFieldCalculator } from '@Pimcore/modules/execution-engine/message-handlers/message-bus-job/progress-calculator/progress-field-calculator'
16+
import { BatchedStepProgressCalculator } from '@Pimcore/modules/execution-engine/message-handlers/message-bus-job/progress-calculator/batched-step-progress-calculator'
1617
import { ZipDownloadJob } from '@Pimcore/modules/execution-engine/jobs/download/zip-download-job'
1718
import { CsvDownloadJob } from '@Pimcore/modules/execution-engine/jobs/download/csv-download-job'
1819
import { XlsxDownloadJob } from '@Pimcore/modules/execution-engine/jobs/download/xlsx-download-job'
@@ -243,10 +244,10 @@ describe('AbstractBatchEditJob.rehydrate()', () => {
243244
expect(opts.stepTracker).toBeUndefined()
244245
})
245246

246-
it('does not pass progressCalculator (uses handler default)', () => {
247+
it('uses BatchedStepProgressCalculator', () => {
247248
AbstractBatchEditJob.rehydrate([jobRun(42, 'studio_ee_job_patch_elements')])
248249
const opts = HandlerMock.mock.calls.at(-1)![0]
249-
expect(opts.progressCalculator).toBeUndefined()
250+
expect(opts.progressCalculator).toBeInstanceOf(BatchedStepProgressCalculator)
250251
})
251252
})
252253

@@ -477,7 +478,7 @@ describe('ZipUploadJob: run() matches rehydrate() structurally', () => {
477478
})
478479

479480
describe('AbstractBatchEditJob: run() matches rehydrate() structurally', () => {
480-
it('produces identical title, stepTracker (none) and progressCalculator (none)', async () => {
481+
it('produces identical title, stepTracker (none) and BatchedStepProgressCalculator', async () => {
481482
const job = new TestableBatchEditJob({ assetContextId: 1, refreshGrid: async () => {} })
482483
await job.run({ messageBus: mockBus as any })
483484
const runSnapshot = structuralSnapshot(HandlerMock.mock.calls.at(-1)![0])

assets/js/src/core/modules/execution-engine/jobs/batch-edit/abstract-batch-edit-job.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import { isNil } from 'lodash'
1212
import trackError, { GeneralError } from '@Pimcore/modules/app/error-handler'
1313
import { type JobInterface, type JobRunOptions } from '../job-interface'
1414
import { MessageBusJobHandler, type JobCompletionData } from '../../message-handlers/message-bus-job/message-bus-job-handler'
15+
import { BatchedStepProgressCalculator } from '../../message-handlers/message-bus-job/progress-calculator/batched-step-progress-calculator'
1516
import { type JobButtonCustomizationContext } from '../../message-handlers/message-bus-job/message-bus-job-notification'
1617
import { t } from 'i18next'
1718
import { type RehydratableJob, type JobRunList } from '../../services/job-rehydration-registry'
@@ -109,6 +110,7 @@ export abstract class AbstractBatchEditJob implements JobInterface {
109110
return new MessageBusJobHandler({
110111
jobRunId: options.jobRunId,
111112
title: t('batch-edit.job-title'),
113+
progressCalculator: new BatchedStepProgressCalculator(),
112114
onJobCompletion: options.onJobCompletion,
113115
onRetry: options.onRetry,
114116
onCustomizeButtons: options.onCustomizeButtons

assets/js/src/core/modules/execution-engine/jobs/tag-assign/tag-assign-job.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import trackError, { ApiError, GeneralError } from '@Pimcore/modules/app/error-h
1414
import { type JobInterface, type JobRunOptions } from '../job-interface'
1515
import { type ElementType } from '@Pimcore/types/enums/element/element-type'
1616
import { MessageBusJobHandler } from '../../message-handlers/message-bus-job/message-bus-job-handler'
17+
import { BatchedStepProgressCalculator } from '../../message-handlers/message-bus-job/progress-calculator/batched-step-progress-calculator'
1718
import { api, type TagBatchOperationToElementsByTypeAndIdApiArg } from '@Pimcore/modules/element/editor/shared-tab-manager/tabs/tags/tags-api-slice-enhanced'
1819
import { t } from 'i18next'
1920
import { type RehydratableJob, type JobRunList } from '../../services/job-rehydration-registry'
@@ -99,7 +100,8 @@ export class TagAssignJob implements JobInterface {
99100
}): MessageBusJobHandler {
100101
return new MessageBusJobHandler({
101102
jobRunId: options.jobRunId,
102-
title: t(titleKeyByOperation[options.operation])
103+
title: t(titleKeyByOperation[options.operation]),
104+
progressCalculator: new BatchedStepProgressCalculator()
103105
})
104106
}
105107
}

public/build/4188a550-3aa8-47ff-9d90-42489b220dd9/entrypoints.json

Lines changed: 23 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

public/build/4188a550-3aa8-47ff-9d90-42489b220dd9/exposeRemote.js

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

public/build/4188a550-3aa8-47ff-9d90-42489b220dd9/index.html

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)