1 layout.flexible.inc | layout_flexible_template_edit_row_form_submit($form, &$form_state) |
Submit handler for layout_flexible_template_edit_row_form().
File
- core/
modules/ layout/ layout.flexible.inc, line 732 - Provides configurable (flexible) layout templates.
Code
function layout_flexible_template_edit_row_form_submit($form, &$form_state) {
form_load_include($form_state, 'inc', 'layout', 'layout.admin');
form_load_include($form_state, 'inc', 'layout', 'layout.flexible');
/* @var LayoutFlexibleTemplate $flexible_template */
$flexible_template = $form_state['flexible_template'];
$original_row = $form_state['original_row'];
$new_row = array(
'contains' => $form_state['region_style'],
'element' => $form_state['values']['element'],
'classes' => $form_state['values']['row_classes'],
'container' => $form_state['values']['container'],
'region_names' => $form_state['values']['region_names'],
);
if ($original_row == 'add') {
$uuid = new Uuid();
$original_row = $uuid->generate();
}
$flexible_template->rows[$original_row] = $new_row;
$form_state['flexible_template'] = $flexible_template;
$form_state['ajax_rebuild_form'] = 'layout_flexible_template_configure_form';
$form_state['ajax_rebuild_args'] = array($flexible_template);
$form_state['ajax_update'] = array('content');
layout_flexible_tempstore_set($flexible_template);
layout_flexible_reset_caches();
if (!backdrop_is_ajax()) {
$form_state['redirect'] = 'admin/structure/layouts/settings/flexible-template/' . $form_state['flexible_template_name'] . '/configure';
}
}