options['id'] . '--' . $this->view->row_index . '-->'); } /** * {@inheritdoc} */ public function viewsForm(&$form, FormStateInterface $form_state) { $form[$this->options['id']] = [ '#tree' => TRUE, ]; $draggableviews = new DraggableViews($this->view); foreach ($this->view->result as $row_index => $row) { $form[$this->options['id']][$row_index] = array( '#tree' => TRUE, ); // Item to keep id of the entity. $form[$this->options['id']][$row_index]['id'] = array( '#type' => 'hidden', '#value' => $row->{$this->definition['entity field']}, '#attributes' => array('class' => array('draggableviews-id')), ); // Add parent. $form[$this->options['id']][$row_index]['parent'] = array( '#type' => 'hidden', '#default_value' => $draggableviews->getParent($row_index), '#attributes' => array('class' => array('draggableviews-parent')), ); } if (\Drupal::currentUser()->hasPermission('access draggableviews')) { $options = [ 'table_id' => $draggableviews->getHtmlId(), 'action' => 'match', 'relationship' => 'parent', 'group' => 'draggableviews-parent', 'subgroup' => 'draggableviews-parent', 'source' => 'draggableviews-id' ]; drupal_attach_tabledrag($form, $options); } } }