Skip to content

Commit

Permalink
Merge pull request #66 from noxoua/develop
Browse files Browse the repository at this point in the history
make subject and relationManager labels modifiable (in card header)
  • Loading branch information
noxoua authored Mar 3, 2024
2 parents 26014be + 1c0099c commit 0804ec5
Show file tree
Hide file tree
Showing 4 changed files with 68 additions and 32 deletions.
12 changes: 5 additions & 7 deletions resources/views/components/table.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,11 @@
<div class="w-full overflow-x-auto border border-gray-200 dark:border-white/5 rounded-lg">
<x-filament-tables::table>
<x-slot:header>
<x-filament-tables::row>
@foreach ($fields as $field)
<x-filament-tables::header-cell class="!p-2">
{{ $field->getLabel() }}
</x-filament-tables::header-cell>
@endforeach
</x-filament-tables::row>
@foreach ($fields as $field)
<x-filament-tables::header-cell class="!p-2">
{{ $field->getLabel() }}
</x-filament-tables::header-cell>
@endforeach
</x-slot:header>


Expand Down
66 changes: 41 additions & 25 deletions resources/views/list/header.blade.php
Original file line number Diff line number Diff line change
@@ -1,3 +1,30 @@
@php
$event = $activity->event;
$eventStyle = match ($event) {
'created',
'attached'
=> 'bg-green-50/70 dark:bg-green-100/10 text-green-700 dark:text-green-400 dark:border-green-600',
'updated' => 'bg-blue-50/70 dark:bg-blue-100/10 text-blue-700 dark:text-blue-400 dark:border-blue-600',
'deleted', 'detached' => 'bg-red-50/70 dark:bg-red-100/10 text-red-700 dark:text-red-400 dark:border-red-600',
'restored'
=> 'bg-orange-50/70 dark:bg-orange-100/10 text-orange-700 dark:text-orange-400 dark:border-orange-600',
default => 'bg-gray-50/70 dark:bg-gray-100/10 text-gray-700 dark:text-gray-400 dark:border-gray-600',
};
// Relation Manager
$showRelationManager = false;
if ($logger->relationManager) {
$relationManagertLabel = $logger->getRelationManagerLabel();
$relationManagertId = $logger->getRelationManagerId($activity);
$showRelationManager = $relationManagertLabel || $relationManagertId;
}
// Subject
$subjectLabel = $logger->getSubjectLabel();
$subjectId = $logger->getSubjectId($activity);
$showSubject = $subjectLabel || $subjectId;
@endphp

<div
@class([
'flex justify-between items-center',
Expand Down Expand Up @@ -36,19 +63,6 @@
@endif

<div class="flex gap-x-2">
@php
$subject_label = $logger->getLabel();
$event = $activity->event;
$eventStyle = match ($event) {
'created', 'attached' => 'bg-green-50/70 dark:bg-green-100/10 text-green-700 dark:text-green-400 dark:border-green-600',
'updated' => 'bg-blue-50/70 dark:bg-blue-100/10 text-blue-700 dark:text-blue-400 dark:border-blue-600',
'deleted', 'detached' => 'bg-red-50/70 dark:bg-red-100/10 text-red-700 dark:text-red-400 dark:border-red-600',
'restored' => 'bg-orange-50/70 dark:bg-orange-100/10 text-orange-700 dark:text-orange-400 dark:border-orange-600',
default => 'bg-gray-50/70 dark:bg-gray-100/10 text-gray-700 dark:text-gray-400 dark:border-gray-600',
};
@endphp

<span @class([
'py-2 px-4 rounded-full text-xs',
'flex items-center',
Expand All @@ -58,27 +72,29 @@
@lang("filament-activity-log::activities.events.{$event}.description")
</span>

@if ($logger->relationManager)
@if ($showRelationManager)
<div @class([
'flex items-center gap-1 p-2 rounded-lg',
'text-xs text-gray-700 bg-gray-100 font-medium',
'opacity-70 transition group-hover:opacity-100',
'dark:border-gray-600 dark:bg-gray-700 dark:text-gray-300',
])>
<span>{{ $logger->relationManager->getLabel() }}</span>
<span>#{{ $activity->properties['relation_manager']['id'] ?? '' }}</span>
<span>{{ $relationManagertLabel }}</span>
<span>{{ $relationManagertId }}</span>
</div>
@endif

<div @class([
'flex items-center gap-1 p-2 rounded-lg',
'text-xs text-gray-700 bg-gray-100 font-medium',
'opacity-70 transition group-hover:opacity-100',
'dark:border-gray-600 dark:bg-gray-700 dark:text-gray-300',
])>
<span>{{ $subject_label }}</span>
<span>#{{ $activity->subject_id }}</span>
</div>
@if ($showSubject)
<div @class([
'flex items-center gap-1 p-2 rounded-lg',
'text-xs text-gray-700 bg-gray-100 font-medium',
'opacity-70 transition group-hover:opacity-100',
'dark:border-gray-600 dark:bg-gray-700 dark:text-gray-300',
])>
<span>{{ $subjectLabel }}</span>
<span>{{ $subjectId }}</span>
</div>
@endif

@if ($hasChanges && $this->isCollapsible)
<x-filament::icon
Expand Down
12 changes: 12 additions & 0 deletions src/Loggers/Concerns/HasRelationManager.php
Original file line number Diff line number Diff line change
Expand Up @@ -33,4 +33,16 @@ public static function getRelationManager(string $name): ?RelationManager
{
return static::getResourceLogger()->getRelationManager($name);
}

public function getRelationManagerLabel(): ?string
{
return $this->relationManager->getLabel();
}

public function getRelationManagerId($activity): ?string
{
$value = $activity->properties['relation_manager']['id'] ?? null;

return $value ? "#{$value}" : '';
}
}
10 changes: 10 additions & 0 deletions src/Loggers/Concerns/HasResourceLogger.php
Original file line number Diff line number Diff line change
Expand Up @@ -34,4 +34,14 @@ public function getFieldByName(string $name): ?Field

return $this->getResourceLogger()->getFieldByName($name);
}

public function getSubjectLabel(): ?string
{
return $this->getLabel();
}

public function getSubjectId($activity): ?string
{
return '#' . $activity->subject_id;
}
}

0 comments on commit 0804ec5

Please sign in to comment.