feat: restart service without pulling the latest image
This commit is contained in:
		@@ -108,6 +108,21 @@ class Navbar extends Component
 | 
			
		||||
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
        StopService::run(service: $this->service, dockerCleanup: false);
 | 
			
		||||
        $this->service->parse();
 | 
			
		||||
        $this->dispatch('imagePulled');
 | 
			
		||||
        $activity = StartService::run($this->service);
 | 
			
		||||
        $this->dispatch('activityMonitor', $activity->id);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function pullAndRestartEvent()
 | 
			
		||||
    {
 | 
			
		||||
        $this->checkDeployments();
 | 
			
		||||
        if ($this->isDeploymentProgress) {
 | 
			
		||||
            $this->dispatch('error', 'There is a deployment in progress.');
 | 
			
		||||
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
        PullImage::run($this->service);
 | 
			
		||||
        StopService::run(service: $this->service, dockerCleanup: false);
 | 
			
		||||
        $this->service->parse();
 | 
			
		||||
 
 | 
			
		||||
@@ -22,7 +22,25 @@
 | 
			
		||||
        </nav>
 | 
			
		||||
        <div class="flex flex-wrap order-first gap-2 items-center sm:order-last">
 | 
			
		||||
            @if (str($service->status())->contains('running'))
 | 
			
		||||
                <button @click="$wire.dispatch('restartEvent')" class="gap-2 button">
 | 
			
		||||
                <x-dropdown>
 | 
			
		||||
                    <x-slot:title>
 | 
			
		||||
                        Advanced
 | 
			
		||||
                    </x-slot>
 | 
			
		||||
                    <div class="dropdown-item" @click="$wire.dispatch('pullAndRestartEvent')">
 | 
			
		||||
                        <svg xmlns="http://www.w3.org/2000/svg" class="w-6 h-6" viewBox="0 0 24 24" stroke-width="1.5"
 | 
			
		||||
                            stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
 | 
			
		||||
                            <path stroke="none" d="M0 0h24v24H0z" fill="none" />
 | 
			
		||||
                            <path
 | 
			
		||||
                                d="M12.983 8.978c3.955 -.182 7.017 -1.446 7.017 -2.978c0 -1.657 -3.582 -3 -8 -3c-1.661 0 -3.204 .19 -4.483 .515m-2.783 1.228c-.471 .382 -.734 .808 -.734 1.257c0 1.22 1.944 2.271 4.734 2.74" />
 | 
			
		||||
                            <path
 | 
			
		||||
                                d="M4 6v6c0 1.657 3.582 3 8 3c.986 0 1.93 -.067 2.802 -.19m3.187 -.82c1.251 -.53 2.011 -1.228 2.011 -1.99v-6" />
 | 
			
		||||
                            <path d="M4 12v6c0 1.657 3.582 3 8 3c3.217 0 5.991 -.712 7.261 -1.74m.739 -3.26v-4" />
 | 
			
		||||
                            <path d="M3 3l18 18" />
 | 
			
		||||
                        </svg>
 | 
			
		||||
                        Pull Latest Images & Restart
 | 
			
		||||
                    </div>
 | 
			
		||||
                </x-dropdown>
 | 
			
		||||
                <x-forms.button title="Restart" @click="$wire.dispatch('restartEvent')">
 | 
			
		||||
                    <svg class="w-5 h-5 dark:text-warning" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
 | 
			
		||||
                        <g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"
 | 
			
		||||
                            stroke-width="2">
 | 
			
		||||
@@ -30,8 +48,8 @@
 | 
			
		||||
                            <path d="M20 4v5h-5" />
 | 
			
		||||
                        </g>
 | 
			
		||||
                    </svg>
 | 
			
		||||
                    Pull Latest Images & Restart
 | 
			
		||||
                </button>
 | 
			
		||||
                    Restart
 | 
			
		||||
                </x-forms.button>
 | 
			
		||||
                <x-modal-confirmation title="Confirm Service Stopping?" buttonTitle="Stop" submitAction="stop"
 | 
			
		||||
                    :checkboxes="$checkboxes" :actions="[__('service.stop'), __('resource.non_persistent')]" :confirmWithText="false" :confirmWithPassword="false" step1ButtonText="Continue"
 | 
			
		||||
                    step2ButtonText="Stop Service" :dispatchEvent="true" dispatchEventType="stopEvent">
 | 
			
		||||
@@ -135,9 +153,13 @@
 | 
			
		||||
                $wire.$call('start');
 | 
			
		||||
            });
 | 
			
		||||
            $wire.$on('restartEvent', () => {
 | 
			
		||||
                $wire.$dispatch('info', 'Pulling new images.');
 | 
			
		||||
                $wire.$dispatch('info', 'Service restart in progress.');
 | 
			
		||||
                $wire.$call('restart');
 | 
			
		||||
            });
 | 
			
		||||
            $wire.$on('pullAndRestartEvent', () => {
 | 
			
		||||
                $wire.$dispatch('info', 'Pulling new images.');
 | 
			
		||||
                $wire.$call('pullAndRestartEvent');
 | 
			
		||||
            });
 | 
			
		||||
            $wire.on('imagePulled', () => {
 | 
			
		||||
                window.dispatchEvent(new CustomEvent('startservice'));
 | 
			
		||||
                $wire.$dispatch('info', 'Restarting service.');
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user