%s', h($data['entityViewURL']), h($data['entityDisplayField']) ) ); } else { $changedSummary = ''; } $form = $this->element('genericElements/Form/genericForm', [ 'entity' => null, 'ajax' => false, 'raw' => true, 'data' => [ 'model' => 'Inbox', 'fields' => [], 'submit' => [ 'action' => $this->request->getParam('action') ] ] ]); $properties = array_unique(array_merge(array_keys($data['original']), array_keys($data['changed']))); $tableData = []; foreach ($properties as $i => $property) { $tableData[] = [ $property, $data['original'][$property] ?? '', $data['changed'][$property] ?? '', ]; } $diffTable = $this->Bootstrap->table( [ 'hover' => false, 'striped' => false, 'bordered' => false, ], [ 'items' => $tableData, 'fields' => [ [ 'label' => __('Property name'), 'formatter' => function ($field, $row) { return $this->Bootstrap->node('pre', [], h($field)); } ], [ 'label' => __('New value'), 'formatter' => function ($field, $row) { return $this->Bootstrap->alert([ 'text' => $field, 'variant' => 'success', 'dismissible' => false, 'class' => ['p-2', 'mb-0'], ]); } ], [ 'label' => __('Old value'), 'formatter' => function ($field, $row) { return $this->Bootstrap->alert([ 'text' => $field, 'variant' => 'danger', 'dismissible' => false, 'class' => ['p-2', 'mb-0'], ]); } ], ], ] ); $cards = sprintf( '
%s
%s%s', $form, $changedSummary, $diffTable, $collapse ), 'confirmButton' => [ 'text' => __('Acknowledge & Discard'), 'icon' => 'check', ] ]); ?>