113 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			113 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<div>
 | 
						|
    <h2>Resource Operations</h2>
 | 
						|
    <div>You can easily make different kind of operations on this resource.</div>
 | 
						|
{{-- 
 | 
						|
    <div class="mt-8">
 | 
						|
        <h3 class="text-lg font-bold mb-2">Clone Volume Data</h3>
 | 
						|
        <div class="text-sm text-gray-600 dark:text-gray-300 mb-4">
 | 
						|
            Clone your volume data to the new resources volumes. This process requires a brief container downtime to ensure data consistency.
 | 
						|
        </div>
 | 
						|
        <div class="pb-4">
 | 
						|
            @if(!$cloneVolumeData)
 | 
						|
                <div wire:key="volume-disabled">
 | 
						|
                    <x-modal-confirmation 
 | 
						|
                        title="Enable Volume Data Cloning?" 
 | 
						|
                        buttonTitle="Enable Volume Cloning" 
 | 
						|
                        submitAction="toggleVolumeCloning(true)"
 | 
						|
                        :actions="['This will temporarily stop all the containers to copy the volume data to the new resources to ensure data consistency.', 'The process runs in the background and may take a few minutes.']" 
 | 
						|
                        :confirmWithPassword="false"
 | 
						|
                        :confirmWithText="false"
 | 
						|
                    />
 | 
						|
                </div>
 | 
						|
            @else
 | 
						|
                <div wire:key="volume-enabled" class="max-w-md">
 | 
						|
                    <x-forms.checkbox 
 | 
						|
                        label="Clone Volume Data" 
 | 
						|
                        id="cloneVolumeData" 
 | 
						|
                        wire:model="cloneVolumeData"
 | 
						|
                        wire:change="toggleVolumeCloning(false)"
 | 
						|
                        :checked="$cloneVolumeData"
 | 
						|
                        helper="Volume Data will be cloned to the new resources. Containers will be temporarily stopped during the cloning process." />
 | 
						|
                </div>
 | 
						|
            @endif
 | 
						|
        </div>
 | 
						|
    </div> --}}
 | 
						|
 | 
						|
    <h3>Clone</h3>
 | 
						|
    <div class="pb-4">To another project / environment on a different / same server.</div>
 | 
						|
    <div class="pb-4">
 | 
						|
        <div class="flex flex-col flex-wrap gap-2">
 | 
						|
            @foreach ($servers->sortBy('id') as $server)
 | 
						|
                <h5>Server: <span class="font-bold text-dark dark:text-white">{{ $server->name }}</span></h5>
 | 
						|
                @foreach ($server->destinations() as $destination)
 | 
						|
                    <x-modal-confirmation
 | 
						|
                        title="Clone Resource?"
 | 
						|
                        buttonTitle="Clone Resource"
 | 
						|
                        submitAction="cloneTo({{ data_get($destination, 'id') }})"
 | 
						|
                        :actions="[
 | 
						|
                            'All containers of this resource will be duplicated and cloned to the selected destination.'
 | 
						|
                        ]"
 | 
						|
                        :confirmWithText="false"
 | 
						|
                        :confirmWithPassword="false"
 | 
						|
                        step2ButtonText="Clone Resource"
 | 
						|
                        dispatchEvent="true"
 | 
						|
                        dispatchEventType="success"
 | 
						|
                        dispatchEventMessage="Resource cloned to {{ $destination->name }} destination."
 | 
						|
                    >
 | 
						|
                        <x:slot name="content">
 | 
						|
                            <div class="box group">
 | 
						|
                                <div class="flex flex-col">
 | 
						|
                                    <div class="box-title">Network</div>
 | 
						|
                                    <div class="box-description">{{ $destination->name }}</div>
 | 
						|
                                </div>
 | 
						|
                            </div>
 | 
						|
                        </x:slot>
 | 
						|
                    </x-modal-confirmation>
 | 
						|
                @endforeach
 | 
						|
            @endforeach
 | 
						|
        </div>
 | 
						|
    </div>
 | 
						|
    <h3>Move</h3>
 | 
						|
    <div class="pb-4">Between projects / environments.</div>
 | 
						|
    <div>
 | 
						|
        <div class="pb-2">
 | 
						|
            This resource is currently in the <span
 | 
						|
                class="font-bold dark:text-warning">{{ $resource->environment->project->name }} /
 | 
						|
                {{ $resource->environment->name }}</span> environment.
 | 
						|
        </div>
 | 
						|
        <div class="flex flex-col flex-wrap gap-2">
 | 
						|
            @forelse ($projects as $project)
 | 
						|
                <h5>Project: <span class="font-bold text-dark dark:text-white">{{ $project->name }}</span></h5>
 | 
						|
 | 
						|
                @foreach ($project->environments as $environment)
 | 
						|
                    <x-modal-confirmation 
 | 
						|
                        title="Move Resource?"
 | 
						|
                        buttonTitle="Move Resource"
 | 
						|
                        submitAction="moveTo({{ data_get($environment, 'id') }})"
 | 
						|
                        :actions="[
 | 
						|
                            'All containers of this resource will be moved to the selected environment.'
 | 
						|
                        ]"
 | 
						|
                        :confirmWithText="false"
 | 
						|
                        :confirmWithPassword="false"
 | 
						|
                        step2ButtonText="Move Resource"
 | 
						|
                        dispatchEvent="true"
 | 
						|
                        dispatchEventType="success"
 | 
						|
                        dispatchEventMessage="Resource moved to {{ $environment->name }} environment."
 | 
						|
                    >
 | 
						|
                        <x:slot:content>
 | 
						|
                            <div class="box group">
 | 
						|
                                <div class="flex flex-col">
 | 
						|
                                    <div class="box-title">Environment</div>
 | 
						|
                                    <div class="box-description">{{ $environment->name }}</div>
 | 
						|
                                </div>
 | 
						|
                            </div>
 | 
						|
                        </x:slot>
 | 
						|
                    </x-modal-confirmation>
 | 
						|
                @endforeach
 | 
						|
            @empty
 | 
						|
                <div>No projects found to move to</div>
 | 
						|
            @endforelse
 | 
						|
        </div>
 | 
						|
    </div>
 | 
						|
</div>
 |