Action "List: remove item (drop by specified value)" fails when value is a token

Issue information

From user: boromino

Related to !510 (merged)

Contribution record

Fork management

Problem/Motivation

If the value to remove in the action List: remove item comes from a token, the value is not removed because the strict comparison of the properties with the value in \Drupal\eca\Plugin\DataType\DataTransferObject::remove() always returns false.

Steps to reproduce

See attached ECA 2.0.x BPMN model:

  • Without the fix, the list contains both items and the removed item is empty when viewing a content entity
  • With the fix, the list contains 1 item and the removed item is displayed when viewing a content entity

Proposed resolution

\Drupal\eca\Plugin\Action\ListRemoveBase::removeItem() already gets the value in the second condition if ($value instanceof TypedDataInterface). Move that code up to cover both cases.

Edited by drupalbot
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information