chg: [inboxProcessor:NotificationDatachange] Improved readability

develop-unstable
Sami Mokaddem 2023-02-14 10:29:53 +01:00
parent 3fcb58c081
commit 881e116889
No known key found for this signature in database
GPG Key ID: 164C473F627A06FA
1 changed files with 80 additions and 16 deletions

View File

@ -28,29 +28,93 @@ $form = $this->element('genericElements/Form/genericForm', [
]
]);
$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(
'<div class="container">
<div class="row">
<div class="col">%s</div>
<div class="col">%s</div>
</div>
</div>',
$this->Bootstrap->card([
'headerText' => __('Original values'),
'bodyHTML' => $this->element('genericElements/SingleViews/Fields/jsonField', ['field' => ['raw' => $data['original']]])
]),
$this->Bootstrap->card([
'headerText' => __('Changed values'),
'bodyHTML' => $this->element('genericElements/SingleViews/Fields/jsonField', ['field' => ['raw' => $data['changed']]])
])
);
$collapse = $this->Bootstrap->collapse([
'button' => [
'text' => __('Show raw changes'),
'variant' => 'link',
],
'card' => false
], $cards);
echo $this->Bootstrap->modal([
'title' => __('Acknowledge notification'),
'size' => 'xl',
'type' => 'confirm',
'bodyHtml' => sprintf(
'<div class="d-none">%s</div>
<div class="container">
<div class="row">
<p>%s</p>
<div class="col">%s</div>
<div class="col">%s</div>
</div>
</div>',
'<div class="d-none">%s</div><p>%s</p>%s%s',
$form,
$changedSummary,
$this->Bootstrap->card([
'headerText' => __('Original values'),
'bodyHTML' => $this->element('genericElements/SingleViews/Fields/jsonField', ['field' => ['raw' => $data['original']]])
]),
$this->Bootstrap->card([
'headerText' => __('Changed values'),
'bodyHTML' => $this->element('genericElements/SingleViews/Fields/jsonField', ['field' => ['raw' => $data['changed']]])
])
$diffTable,
$collapse
),
'confirmButton' => [
'text' => __('Acknowledge & Discard'),