Пример #1
0
 private function prepareRunningTaskView(\Nethgui\View\ViewInterface $view)
 {
     $data = $this->systemTasks->getTaskStatus($this->taskId);
     $ui = $this->applyTaskUiDefaults(isset($data['ui']) ? $data['ui'] : array(), array('view' => $view, 'notifications' => $this->notifications));
     $status = 'running';
     if (isset($data['exit_code'])) {
         $status = $data['exit_code'] ? 'failure' : 'success';
     }
     $data['taskInfo'] = array('id' => $this->taskId);
     $s = $this->evalUiStatus($ui['conditions'][$status], $data, $view);
     if (is_numeric($data['progress'])) {
         $view['progress'] = intval(100 * $data['progress']);
     } else {
         $view['progress'] = '...';
     }
     $view['message'] = $s['message'];
     $view['trackerState'] = array('dialog' => $s['dialog'], 'location' => $s['location']);
     if (is_array($s['notification'])) {
         call_user_func(array($this->notifications, $s['notification']['template']), $s['notification']['data']);
         unset($view['notification']);
     } elseif (is_string($s['notification'])) {
         $this->notifications->notice($s['notification']);
     }
 }