Skip to content

Commit

Permalink
UPDATE: handle asset template import
Browse files Browse the repository at this point in the history
  • Loading branch information
giuseppeaege committed Jan 26, 2024
1 parent 26b6958 commit 8bf36fb
Show file tree
Hide file tree
Showing 4 changed files with 57 additions and 13 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php
/**
* @see
* @see https://github.com/ryangjchandler/filament-navigation
*/

declare(strict_types=1);
Expand All @@ -15,6 +15,8 @@
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Arr;
use Illuminate\Support\Str;
use Konnco\FilamentImport\Actions\ImportAction;
use Konnco\FilamentImport\Actions\ImportField;
use Webmozart\Assert\Assert;

trait HandlesTreeBuilder
Expand All @@ -27,6 +29,8 @@ trait HandlesTreeBuilder

public ?string $mountedChildTarget = null;

private const YES = '';

public function sortNavigation(string $targetStatePath, array $targetItemsStatePaths): void
{
$items = [];
Expand Down Expand Up @@ -191,8 +195,7 @@ protected function getHeaderActions(): array
->keyBy(static fn ($item) => $item->getName())->except('sons')
->toArray();

// $formSchema=$this->getFormSchema();
return [
$traitActions = [
Action::make('delete')
->action(function (array $data, $record): void {
if ($this->mountedItem) { // delete
Expand Down Expand Up @@ -230,8 +233,49 @@ protected function getHeaderActions(): array

$this->storeItem($record, $data);
})
->modalSubmitActionLabel(__('filament-navigation::filament-navigation.items-modal.btn'))
->label(__('filament-navigation::filament-navigation.items-modal.title')),
->modalSubmitActionLabel(__('ui::filament-navigation.items-modal.btn'))
->label(__('ui::filament-navigation.items-modal.title')),

ImportAction::make()
->fields([
ImportField::make('id')
->label('camping::asset-template.fields.id')
->translateLabel(),
ImportField::make('parent_id')
->label('camping::asset-template.fields.parent')
->translateLabel(),
ImportField::make('name')
->label('camping::asset-template.fields.name')
->translateLabel(),
ImportField::make('asset_type_txt')
->label('camping::asset-template.fields.asset_type')
->translateLabel(),
ImportField::make('brand')
->label('camping::asset-template.fields.brand')
->translateLabel(),
ImportField::make('model')
->label('camping::asset-template.fields.model')
->translateLabel(),
ImportField::make('is_enabled')
->label('camping::asset-template.fields.is_enabled')
->translateLabel(),
])
->label('camping::asset-template.actions.import.title')
->translateLabel()
->icon('heroicon-o-arrow-up-tray')
->handleRecordCreation(fn ($data) => $this->handleAssetTemplateCreation($data)),
];

// $formSchema=$this->getFormSchema();
return $traitActions;
}

private function handleAssetTemplateCreation(array $data): Model
{
$matchID = ['id' => $data['id']];
$data['is_enabled'] = trim((string) $data['is_enabled']) === $this::YES ? true : false;
$model = static::getModel()::updateOrCreate($matchID, $data);

return $model;
}
}
8 changes: 4 additions & 4 deletions Resources/views/components/nav-item.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -55,11 +55,11 @@ class="appearance-none px-3 py-2 text-left"
@if (! $disableNewChildRecordCreation)
<button
x-init
x-tooltip.raw.duration.0="{{ __('filament-navigation::filament-navigation.items.add-child') }}"
x-tooltip.raw.duration.0="{{ __('ui::filament-navigation.items.add-child') }}"
type="button"
wire:click="addChild('{{ $statePath }}')"
class="p-1"
title="{{ __('filament-navigation::filament-navigation.items.add-child') }}"
title="{{ __('ui::filament-navigation.items.add-child') }}"
>
@svg('heroicon-o-plus', 'w-3 h-3 text-gray-500 hover:text-gray-900')
</button>
Expand All @@ -68,11 +68,11 @@ class="p-1"
@if (! $disableRecordDeletion)
<button
x-init
x-tooltip.raw.duration.0="{{ __('filament-navigation::filament-navigation.items.remove') }}"
x-tooltip.raw.duration.0="{{ __('ui::filament-navigation.items.remove') }}"
type="button"
wire:click="removeItem('{{ $statePath }}')"
class="p-1"
title="{{ __('filament-navigation::filament-navigation.items.remove') }}"
title="{{ __('ui::filament-navigation.items.remove') }}"
>
@svg('heroicon-o-trash', 'w-3 h-3 text-danger-500 hover:text-danger-900')
</button>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ class="space-y-2"
'w-full bg-white rounded-lg border border-gray-300 px-3 py-2 text-left',
'dark:bg-gray-700 dark:border-gray-600',
])>
{{ __('filament-navigation::filament-navigation.items.empty') }}
{{ __('ui::filament-navigation.items.empty') }}
</div>
@endforelse
</div>
Expand All @@ -49,7 +49,7 @@ class="space-y-2"
@if (!$disableNewRecordCreation)
<div class="flex justify-end">
<x-filament::button wire:click="createItem" type="button" size="sm">
{{ __('filament-navigation::filament-navigation.items.add-item') }}
{{ __('ui::filament-navigation.items.add-item') }}
</x-filament::button>
</div>
@endif
Expand Down
4 changes: 2 additions & 2 deletions Resources/views/filament/tables/columns/tree.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,15 +17,15 @@ class="space-y-2"
'w-full bg-white rounded-lg border border-gray-300 px-3 py-2 text-left',
'dark:bg-gray-700 dark:border-gray-600',
])>
{{ __('filament-navigation::filament-navigation.items.empty') }}
{{ __('ui::filament-navigation.items.empty') }}
</div>
@endforelse
</div>
</div>

<div class="flex justify-end">
<x-filament::button wire:click="createItem" type="button" size="sm">
{{ __('filament-navigation::filament-navigation.items.add-item') }}
{{ __('ui::filament-navigation.items.add-item') }}
</x-filament::button>
</div>
</x-filament-forms::field-wrapper>

0 comments on commit 8bf36fb

Please sign in to comment.