From 9928efb90e5c919c51faa86ccefc9993a408e6f2 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Mon, 20 Jan 2025 20:30:41 +0700 Subject: [PATCH] Fix https://github.com/surveyjs/survey-creator/issues/6405: fix animation keys for matrix rows (#9339) --- packages/survey-core/src/question_matrixdropdownrendered.ts | 3 +++ packages/survey-core/tests/question_matrixdynamictests.ts | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/packages/survey-core/src/question_matrixdropdownrendered.ts b/packages/survey-core/src/question_matrixdropdownrendered.ts index c3d9a5f16a..88a887de38 100644 --- a/packages/survey-core/src/question_matrixdropdownrendered.ts +++ b/packages/survey-core/src/question_matrixdropdownrendered.ts @@ -285,6 +285,9 @@ export class QuestionMatrixDropdownRenderedTable extends Base { }, getEnterOptions: (_, info) => { return { cssClass: this.cssClasses.rowEnter, onBeforeRunAnimation, onAfterRunAnimation }; + }, + getKey: (item) => { + return item.id; } }; } diff --git a/packages/survey-core/tests/question_matrixdynamictests.ts b/packages/survey-core/tests/question_matrixdynamictests.ts index 1e484d4e8e..44df0cb1f1 100644 --- a/packages/survey-core/tests/question_matrixdynamictests.ts +++ b/packages/survey-core/tests/question_matrixdynamictests.ts @@ -10082,6 +10082,11 @@ QUnit.test("table: check animation options", function (assert) { document.body.appendChild(tableHtmlElement); questionHtmlElement.style.height = "20px"; + assert.equal(renderedTable.rows[0].id, options.getKey(renderedTable.rows[0])); + assert.equal(renderedTable.rows[1].id, options.getKey(renderedTable.rows[1])); + assert.equal(renderedTable.rows[2].id, options.getKey(renderedTable.rows[2])); + assert.equal(renderedTable.rows[3].id, options.getKey(renderedTable.rows[3])); + const enterOptions = options.getEnterOptions(renderedTable.rows[1]); enterOptions.onBeforeRunAnimation && enterOptions.onBeforeRunAnimation(rowHtmlElement); assert.equal(enterOptions.cssClass, "enter");