diff --git a/src/js/bulk-optimization.js b/src/js/bulk-optimization.js index d580a7e..8fa55b4 100644 --- a/src/js/bulk-optimization.js +++ b/src/js/bulk-optimization.js @@ -201,20 +201,19 @@ } function drawSomeRows(items, rowsToDraw) { - var list = jQuery('#optimization-items tbody'); - var row; - for (var drawNow = window.totalRowsDrawn; drawNow < Math.min( rowsToDraw + window.totalRowsDrawn, items.length); drawNow++) { - row = jQuery('' + - '' + - '' + - '' + - '' + - '' + - '' + - ''); - row.find('.status').html(tinyCompress.L10nWaiting).attr('data-status', 'waiting'); - row.find('.name').html(items[drawNow].post_title); - list.append(row); + const list = jQuery('#optimization-items tbody'); + let drawNow = window.totalRowsDrawn; + for(let i = drawNow;i < Math.min(rowsToDraw + window.totalRowsDrawn, items.length); i++) { + const tableRow = ` + + ${items[i].post_title} + + + + ${tinyCompress.L10nWaiting} + `; + list.append(tableRow); + drawNow = i; } window.totalRowsDrawn = drawNow; } diff --git a/src/views/bulk-optimization.php b/src/views/bulk-optimization.php index 8f6c915..4b54700 100644 --- a/src/views/bulk-optimization.php +++ b/src/views/bulk-optimization.php @@ -264,8 +264,8 @@ - - + + diff --git a/test/integration/bulkoptimization.spec.ts b/test/integration/bulkoptimization.spec.ts index 199670a..9c11e77 100644 --- a/test/integration/bulkoptimization.spec.ts +++ b/test/integration/bulkoptimization.spec.ts @@ -182,7 +182,7 @@ test.describe('bulkoptimization', () => { }); test('will only apply a conversion when images are already compressed but not converted', async ({ page }) => { - // only optimize original size + await setAPIKey(page, 'JPG123'); await enableCompressionSizes(page, ['0']); // upload 1 image and automaticly compress it, but not convert it yet @@ -197,8 +197,12 @@ test.describe('bulkoptimization', () => { // apply bulk optimization await page.goto('/wp-admin/upload.php?page=tiny-bulk-optimization'); - await page.locator('#id-start').click(); - await page.waitForLoadState('networkidle'); + await Promise.all([ + page.waitForResponse(res => + res.url().includes('admin-ajax.php') && res.status() === 200 + ), + page.locator('#id-start').click(), + ]); // we are expecting 2 unoptimized images sizes = 2 conversion and 1 compression // expect two rows in the optimization items table @@ -207,8 +211,8 @@ test.describe('bulkoptimization', () => { // first row should have "1 compressed and 1 converted" // second row should have "1 converted" - await expect(optimizationRows.first()).toContainText('1 compressed 1 converted'); - await expect(optimizationRows.nth(1)).toContainText('1 converted'); + await expect(page.getByTestId(`bulk-item-status-1`)).toContainText('1 compressed 1 converted'); + await expect(page.getByTestId(`bulk-item-status-0`)).toContainText('1 converted'); // this should have cost us 3 credits });