public ViewEditForm::submitDisplayDuplicate($form, FormStateInterface $form_state)
Submit handler to duplicate a display for a view.
File
- core/modules/views_ui/src/ViewEditForm.php, line 800
Class
- ViewEditForm
- Form controller for the Views edit form.
Namespace
Drupal\views_ui
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | public function submitDisplayDuplicate( $form , FormStateInterface $form_state ) { $view = $this ->entity; $display_id = $this ->displayID; // Create the new display. $displays = $view ->get( 'display' ); $display = $view ->getExecutable()->newDisplay( $displays [ $display_id ][ 'display_plugin' ]); $new_display_id = $display ->display[ 'id' ]; $displays [ $new_display_id ] = $displays [ $display_id ]; $displays [ $new_display_id ][ 'id' ] = $new_display_id ; $view ->set( 'display' , $displays ); // By setting the current display the changed marker will appear on the new // display. $view ->getExecutable()->current_display = $new_display_id ; $view ->cacheSet(); // Redirect to the new display's edit page. $form_state ->setRedirect( 'entity.view.edit_display_form' , array ( 'view' => $view ->id(), 'display_id' => $new_display_id , )); } |
Please login to continue.