/** * Save progress in session. * * @param ProgressBar $progressbar * * @return ProgressBarManager */ public function save(ProgressBar $progressbar) { $progressbarBag = $this->session->get(ProgressBar::ATTRIBUTE_PLACEHOLDER); $progressbarBag[$progressbar->getToken()] = $progressbar; $this->session->set(ProgressBar::ATTRIBUTE_PLACEHOLDER, $progressbarBag); return $this; }
private function createResponse(ProgressBar $progressbar) { $nextProgressbar = null; if ($progressbar->isFinished() || $progressbar->isCancelled()) { $this->progressbarManager->remove($progressbar->getToken()); if ($progressbar instanceof StackProgressBar && $progressbar->getNextProgressbarToken()) { $nextProgressbar = $this->progressbarManager->load($progressbar->getNextProgressbarToken()); } } else { $this->progressbarManager->save($progressbar); } return $progressbar->getJsonResponse($nextProgressbar); }