Introduced a new Livewire component for statistics redirection and added a corresponding route to enhance navigation within the Proxmox extension. This update lays the groundwork for future statistics-related features.
304 lines
23 KiB
PHP
304 lines
23 KiB
PHP
<?php
|
|
use Filament\Forms\Components\Actions\Action;
|
|
use Filament\Support\Enums\Alignment;
|
|
|
|
$containers = $getChildComponentContainers();
|
|
|
|
$addAction = $getAction($getAddActionName());
|
|
$addBetweenAction = $getAction($getAddBetweenActionName());
|
|
$cloneAction = $getAction($getCloneActionName());
|
|
$collapseAllAction = $getAction($getCollapseAllActionName());
|
|
$expandAllAction = $getAction($getExpandAllActionName());
|
|
$deleteAction = $getAction($getDeleteActionName());
|
|
$moveDownAction = $getAction($getMoveDownActionName());
|
|
$moveUpAction = $getAction($getMoveUpActionName());
|
|
$reorderAction = $getAction($getReorderActionName());
|
|
$extraItemActions = $getExtraItemActions();
|
|
|
|
$hasItemNumbers = $hasItemNumbers();
|
|
$isAddable = $isAddable();
|
|
$isCloneable = $isCloneable();
|
|
$isCollapsible = $isCollapsible();
|
|
$isDeletable = $isDeletable();
|
|
$isReorderableWithButtons = $isReorderableWithButtons();
|
|
$isReorderableWithDragAndDrop = $isReorderableWithDragAndDrop();
|
|
|
|
$collapseAllActionIsVisible = $isCollapsible && $collapseAllAction->isVisible();
|
|
$expandAllActionIsVisible = $isCollapsible && $expandAllAction->isVisible();
|
|
|
|
$statePath = $getStatePath();
|
|
?>
|
|
|
|
<?php if (isset($component)) { $__componentOriginal511d4862ff04963c3c16115c05a86a9d = $component; } ?>
|
|
<?php if (isset($attributes)) { $__attributesOriginal511d4862ff04963c3c16115c05a86a9d = $attributes; } ?>
|
|
<?php $component = Illuminate\View\DynamicComponent::resolve(['component' => $getFieldWrapperView()] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
|
<?php $component->withName('dynamic-component'); ?>
|
|
<?php if ($component->shouldRender()): ?>
|
|
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
|
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
|
<?php $attributes = $attributes->except(\Illuminate\View\DynamicComponent::ignoredParameterNames()); ?>
|
|
<?php endif; ?>
|
|
<?php $component->withAttributes(['field' => $field]); ?>
|
|
<div
|
|
x-data="{}"
|
|
<?php echo e($attributes
|
|
->merge($getExtraAttributes(), escape: false)
|
|
->class(['fi-fo-repeater grid gap-y-4'])); ?>
|
|
|
|
>
|
|
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php endif; ?><?php if($collapseAllActionIsVisible || $expandAllActionIsVisible): ?>
|
|
<div
|
|
class="<?php echo \Illuminate\Support\Arr::toCssClasses([
|
|
'flex gap-x-3',
|
|
'hidden' => count($containers) < 2,
|
|
]); ?>"
|
|
>
|
|
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php endif; ?><?php if($collapseAllActionIsVisible): ?>
|
|
<span
|
|
x-on:click="$dispatch('repeater-collapse', '<?php echo e($statePath); ?>')"
|
|
>
|
|
<?php echo e($collapseAllAction); ?>
|
|
|
|
</span>
|
|
<?php endif; ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php endif; ?>
|
|
|
|
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php endif; ?><?php if($expandAllActionIsVisible): ?>
|
|
<span
|
|
x-on:click="$dispatch('repeater-expand', '<?php echo e($statePath); ?>')"
|
|
>
|
|
<?php echo e($expandAllAction); ?>
|
|
|
|
</span>
|
|
<?php endif; ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php endif; ?>
|
|
</div>
|
|
<?php endif; ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php endif; ?>
|
|
|
|
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php endif; ?><?php if(count($containers)): ?>
|
|
<ul>
|
|
<?php if (isset($component)) { $__componentOriginal30dbd75eb120a380110a2b340cd88f46 = $component; } ?>
|
|
<?php if (isset($attributes)) { $__attributesOriginal30dbd75eb120a380110a2b340cd88f46 = $attributes; } ?>
|
|
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'filament::components.grid.index','data' => ['default' => $getGridColumns('default'),'sm' => $getGridColumns('sm'),'md' => $getGridColumns('md'),'lg' => $getGridColumns('lg'),'xl' => $getGridColumns('xl'),'twoXl' => $getGridColumns('2xl'),'wire:end.stop' => 'mountFormComponentAction(\'' . $statePath . '\', \'reorder\', { items: $event.target.sortable.toArray() })','xSortable' => true,'dataSortableAnimationDuration' => $getReorderAnimationDuration(),'class' => 'items-start gap-4']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
|
|
<?php $component->withName('filament::grid'); ?>
|
|
<?php if ($component->shouldRender()): ?>
|
|
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
|
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
|
|
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
|
|
<?php endif; ?>
|
|
<?php $component->withAttributes(['default' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($getGridColumns('default')),'sm' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($getGridColumns('sm')),'md' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($getGridColumns('md')),'lg' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($getGridColumns('lg')),'xl' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($getGridColumns('xl')),'two-xl' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($getGridColumns('2xl')),'wire:end.stop' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute('mountFormComponentAction(\'' . $statePath . '\', \'reorder\', { items: $event.target.sortable.toArray() })'),'x-sortable' => true,'data-sortable-animation-duration' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($getReorderAnimationDuration()),'class' => 'items-start gap-4']); ?>
|
|
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php endif; ?><?php $__currentLoopData = $containers; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $uuid => $item): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?>
|
|
<?php
|
|
$itemLabel = $getItemLabel($uuid);
|
|
$visibleExtraItemActions = array_filter(
|
|
$extraItemActions,
|
|
fn (Action $action): bool => $action(['item' => $uuid])->isVisible(),
|
|
);
|
|
$cloneAction = $cloneAction(['item' => $uuid]);
|
|
$cloneActionIsVisible = $isCloneable && $cloneAction->isVisible();
|
|
$deleteAction = $deleteAction(['item' => $uuid]);
|
|
$deleteActionIsVisible = $isDeletable && $deleteAction->isVisible();
|
|
$moveDownAction = $moveDownAction(['item' => $uuid])->disabled($loop->last);
|
|
$moveDownActionIsVisible = $isReorderableWithButtons && $moveDownAction->isVisible();
|
|
$moveUpAction = $moveUpAction(['item' => $uuid])->disabled($loop->first);
|
|
$moveUpActionIsVisible = $isReorderableWithButtons && $moveUpAction->isVisible();
|
|
$reorderActionIsVisible = $isReorderableWithDragAndDrop && $reorderAction->isVisible();
|
|
?>
|
|
|
|
<li
|
|
wire:ignore.self
|
|
wire:key="<?php echo e($this->getId()); ?>.<?php echo e($item->getStatePath()); ?>.<?php echo e($field::class); ?>.item"
|
|
x-data="{
|
|
isCollapsed: <?php echo \Illuminate\Support\Js::from($isCollapsed($item))->toHtml() ?>,
|
|
}"
|
|
x-on:expand="isCollapsed = false"
|
|
x-on:repeater-expand.window="$event.detail === '<?php echo e($statePath); ?>' && (isCollapsed = false)"
|
|
x-on:repeater-collapse.window="$event.detail === '<?php echo e($statePath); ?>' && (isCollapsed = true)"
|
|
x-sortable-item="<?php echo e($uuid); ?>"
|
|
class="fi-fo-repeater-item divide-y divide-gray-100 rounded-xl bg-white shadow-sm ring-1 ring-gray-950/5 dark:divide-white/10 dark:bg-white/5 dark:ring-white/10"
|
|
x-bind:class="{ 'fi-collapsed': isCollapsed }"
|
|
>
|
|
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php endif; ?><?php if($reorderActionIsVisible || $moveUpActionIsVisible || $moveDownActionIsVisible || filled($itemLabel) || $cloneActionIsVisible || $deleteActionIsVisible || $isCollapsible || $visibleExtraItemActions): ?>
|
|
<div
|
|
<?php if($isCollapsible): ?>
|
|
x-on:click.stop="isCollapsed = !isCollapsed"
|
|
<?php endif; ?>
|
|
class="<?php echo \Illuminate\Support\Arr::toCssClasses([
|
|
'fi-fo-repeater-item-header flex items-center gap-x-3 overflow-hidden px-4 py-3',
|
|
'cursor-pointer select-none' => $isCollapsible,
|
|
]); ?>"
|
|
>
|
|
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php endif; ?><?php if($reorderActionIsVisible || $moveUpActionIsVisible || $moveDownActionIsVisible): ?>
|
|
<ul class="flex items-center gap-x-3">
|
|
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php endif; ?><?php if($reorderActionIsVisible): ?>
|
|
<li
|
|
x-sortable-handle
|
|
x-on:click.stop
|
|
>
|
|
<?php echo e($reorderAction); ?>
|
|
|
|
</li>
|
|
<?php endif; ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php endif; ?>
|
|
|
|
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php endif; ?><?php if($moveUpActionIsVisible || $moveDownActionIsVisible): ?>
|
|
<li
|
|
x-on:click.stop
|
|
class="flex items-center justify-center"
|
|
>
|
|
<?php echo e($moveUpAction); ?>
|
|
|
|
</li>
|
|
|
|
<li
|
|
x-on:click.stop
|
|
class="flex items-center justify-center"
|
|
>
|
|
<?php echo e($moveDownAction); ?>
|
|
|
|
</li>
|
|
<?php endif; ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php endif; ?>
|
|
</ul>
|
|
<?php endif; ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php endif; ?>
|
|
|
|
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php endif; ?><?php if(filled($itemLabel)): ?>
|
|
<h4
|
|
class="<?php echo \Illuminate\Support\Arr::toCssClasses([
|
|
'text-sm font-medium text-gray-950 dark:text-white',
|
|
'truncate' => $isItemLabelTruncated(),
|
|
]); ?>"
|
|
>
|
|
<?php echo e($itemLabel); ?>
|
|
|
|
|
|
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php endif; ?><?php if($hasItemNumbers): ?>
|
|
<?php echo e($loop->iteration); ?>
|
|
|
|
<?php endif; ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php endif; ?>
|
|
</h4>
|
|
<?php endif; ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php endif; ?>
|
|
|
|
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php endif; ?><?php if($cloneActionIsVisible || $deleteActionIsVisible || $isCollapsible || $visibleExtraItemActions): ?>
|
|
<ul
|
|
class="ms-auto flex items-center gap-x-3"
|
|
>
|
|
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php endif; ?><?php $__currentLoopData = $visibleExtraItemActions; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $extraItemAction): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?>
|
|
<li x-on:click.stop>
|
|
<?php echo e($extraItemAction(['item' => $uuid])); ?>
|
|
|
|
</li>
|
|
<?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php endif; ?>
|
|
|
|
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php endif; ?><?php if($cloneActionIsVisible): ?>
|
|
<li x-on:click.stop>
|
|
<?php echo e($cloneAction); ?>
|
|
|
|
</li>
|
|
<?php endif; ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php endif; ?>
|
|
|
|
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php endif; ?><?php if($deleteActionIsVisible): ?>
|
|
<li x-on:click.stop>
|
|
<?php echo e($deleteAction); ?>
|
|
|
|
</li>
|
|
<?php endif; ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php endif; ?>
|
|
|
|
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php endif; ?><?php if($isCollapsible): ?>
|
|
<li
|
|
class="relative transition"
|
|
x-on:click.stop="isCollapsed = !isCollapsed"
|
|
x-bind:class="{ '-rotate-180': isCollapsed }"
|
|
>
|
|
<div
|
|
class="transition"
|
|
x-bind:class="{ 'opacity-0 pointer-events-none': isCollapsed }"
|
|
>
|
|
<?php echo e($getAction('collapse')); ?>
|
|
|
|
</div>
|
|
|
|
<div
|
|
class="absolute inset-0 rotate-180 transition"
|
|
x-bind:class="{ 'opacity-0 pointer-events-none': ! isCollapsed }"
|
|
>
|
|
<?php echo e($getAction('expand')); ?>
|
|
|
|
</div>
|
|
</li>
|
|
<?php endif; ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php endif; ?>
|
|
</ul>
|
|
<?php endif; ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php endif; ?>
|
|
</div>
|
|
<?php endif; ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php endif; ?>
|
|
|
|
<div
|
|
x-show="! isCollapsed"
|
|
class="fi-fo-repeater-item-content p-4"
|
|
>
|
|
<?php echo e($item); ?>
|
|
|
|
</div>
|
|
</li>
|
|
|
|
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php endif; ?><?php if(! $loop->last): ?>
|
|
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php endif; ?><?php if($isAddable && $addBetweenAction(['afterItem' => $uuid])->isVisible()): ?>
|
|
<li class="flex w-full justify-center">
|
|
<div
|
|
class="fi-fo-repeater-add-between-action-ctn rounded-lg bg-white dark:bg-gray-900"
|
|
>
|
|
<?php echo e($addBetweenAction(['afterItem' => $uuid])); ?>
|
|
|
|
</div>
|
|
</li>
|
|
<?php elseif(filled($labelBetweenItems = $getLabelBetweenItems())): ?>
|
|
<li
|
|
class="relative border-t border-gray-200 dark:border-white/10"
|
|
>
|
|
<span
|
|
class="absolute -top-3 left-3 px-1 text-sm font-medium"
|
|
>
|
|
<?php echo e($labelBetweenItems); ?>
|
|
|
|
</span>
|
|
</li>
|
|
<?php endif; ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php endif; ?>
|
|
<?php endif; ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php endif; ?>
|
|
<?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php endif; ?>
|
|
<?php echo $__env->renderComponent(); ?>
|
|
<?php endif; ?>
|
|
<?php if (isset($__attributesOriginal30dbd75eb120a380110a2b340cd88f46)): ?>
|
|
<?php $attributes = $__attributesOriginal30dbd75eb120a380110a2b340cd88f46; ?>
|
|
<?php unset($__attributesOriginal30dbd75eb120a380110a2b340cd88f46); ?>
|
|
<?php endif; ?>
|
|
<?php if (isset($__componentOriginal30dbd75eb120a380110a2b340cd88f46)): ?>
|
|
<?php $component = $__componentOriginal30dbd75eb120a380110a2b340cd88f46; ?>
|
|
<?php unset($__componentOriginal30dbd75eb120a380110a2b340cd88f46); ?>
|
|
<?php endif; ?>
|
|
</ul>
|
|
<?php endif; ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php endif; ?>
|
|
|
|
<?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if BLOCK]><![endif]--><?php endif; ?><?php if($isAddable && $addAction->isVisible()): ?>
|
|
<div
|
|
class="<?php echo \Illuminate\Support\Arr::toCssClasses([
|
|
'flex',
|
|
match ($getAddActionAlignment()) {
|
|
Alignment::Start, Alignment::Left => 'justify-start',
|
|
Alignment::Center, null => 'justify-center',
|
|
Alignment::End, Alignment::Right => 'justify-end',
|
|
default => $alignment,
|
|
},
|
|
]); ?>"
|
|
>
|
|
<?php echo e($addAction); ?>
|
|
|
|
</div>
|
|
<?php endif; ?><?php if(\Livewire\Mechanisms\ExtendBlade\ExtendBlade::isRenderingLivewireComponent()): ?><!--[if ENDBLOCK]><![endif]--><?php endif; ?>
|
|
</div>
|
|
<?php echo $__env->renderComponent(); ?>
|
|
<?php endif; ?>
|
|
<?php if (isset($__attributesOriginal511d4862ff04963c3c16115c05a86a9d)): ?>
|
|
<?php $attributes = $__attributesOriginal511d4862ff04963c3c16115c05a86a9d; ?>
|
|
<?php unset($__attributesOriginal511d4862ff04963c3c16115c05a86a9d); ?>
|
|
<?php endif; ?>
|
|
<?php if (isset($__componentOriginal511d4862ff04963c3c16115c05a86a9d)): ?>
|
|
<?php $component = $__componentOriginal511d4862ff04963c3c16115c05a86a9d; ?>
|
|
<?php unset($__componentOriginal511d4862ff04963c3c16115c05a86a9d); ?>
|
|
<?php endif; ?>
|
|
<?php /**PATH C:\Users\Owner\Virtnet.bond\vendor\filament\forms\resources\views\components\repeater\index.blade.php ENDPATH**/ ?>
|