From 4826a99159c8dc596879f011280affd062603d28 Mon Sep 17 00:00:00 2001 From: mayakokits Date: Thu, 23 Nov 2017 17:32:56 +0100 Subject: [PATCH] [wizard] Add container and scripts for redirects app. --- .../css/redirects_app/redirects_app.css | 1 + .../js/redirects_app/redirects_app.vue.min.js | 7 ++++ campaignion_wizard/src/ThankyouStep.php | 42 ++++++++++++++++--- 3 files changed, 45 insertions(+), 5 deletions(-) create mode 100644 campaignion_wizard/css/redirects_app/redirects_app.css create mode 100644 campaignion_wizard/js/redirects_app/redirects_app.vue.min.js diff --git a/campaignion_wizard/css/redirects_app/redirects_app.css b/campaignion_wizard/css/redirects_app/redirects_app.css new file mode 100644 index 000000000..4357c5b26 --- /dev/null +++ b/campaignion_wizard/css/redirects_app/redirects_app.css @@ -0,0 +1 @@ +h1 {color: red; font-size: 4rem;} diff --git a/campaignion_wizard/js/redirects_app/redirects_app.vue.min.js b/campaignion_wizard/js/redirects_app/redirects_app.vue.min.js new file mode 100644 index 000000000..d1b6e5710 --- /dev/null +++ b/campaignion_wizard/js/redirects_app/redirects_app.vue.min.js @@ -0,0 +1,7 @@ +$('.personalized-redirects-widget').each(function() { + console.log('redirects script running'); + var id = $(this).attr('id'); + $(this) + .append('

' + id + '

') + .append('Default url: ' + Drupal.settings.campaignion_wizard[id].default_redirect_url) +}) diff --git a/campaignion_wizard/src/ThankyouStep.php b/campaignion_wizard/src/ThankyouStep.php index 0d032e53e..2589577b9 100644 --- a/campaignion_wizard/src/ThankyouStep.php +++ b/campaignion_wizard/src/ThankyouStep.php @@ -77,12 +77,33 @@ protected function pageForm(&$form_state, $index, $title, $prefix) { '#default_value' => $type == 'redirect' ? 'redirect' : NULL, '#parents' => array($prefix, 'type'), ); - $form['redirect_url'] = array( - '#type' => 'textfield', - '#title' => t('Redirect URL'), - '#states' => array('visible' => array(":input[name=\"${prefix}[type]\"]" => array('value' => 'redirect'))), - '#default_value' => $old['redirect_url'], +// $form['redirect_url'] = array( +// '#type' => 'textfield', +// '#title' => t('Redirect URL'), +// '#states' => array('visible' => array(":input[name=\"${prefix}[type]\"]" => array('value' => 'redirect'))), +// '#default_value' => $old['redirect_url'], +// ); + + // Personalized redirects widget + $redirect_container_id = drupal_html_id('personalized-redirects-widget'); + $form['redirects'] = array( + '#type' => 'container', + '#title' => t('Manage redirects'), + '#states' => array('visible' => array(":input[name=\"${prefix}[type]\"]" => array('value' => 'redirect'))), + '#id' => $redirect_container_id, + '#attributes' => ['class' => ['personalized-redirects-widget']], ); + $settings = array( + 'default_redirect_url' => $old['redirect_url'], + // ... + ); + $settings = array( + 'campaignion_wizard' => array( + $redirect_container_id => $settings, + ), + ); + $form['#attached']['js'][] = ['data' => $settings, 'type' => 'setting']; + $form['or2'] = array( '#type' => 'markup', '#markup' => '
' . t('or') . '
', @@ -139,6 +160,17 @@ public function stepForm($form, &$form_state) { $form['thank_you_node'] = $this->pageForm($form_state, 1, t('Thank you page'), 'thank_you_node'); $form['thank_you_node']['#attributes']['class'][] = $thank_you_class; + $dir = drupal_get_path('module', 'campaignion_wizard'); + $form['#attached']['js'][] = [ + 'data' => $dir . '/js/redirects_app/redirects_app.vue.min.js', + 'scope' => 'footer', + 'preprocess' => FALSE, + ]; + $form['#attached']['css'][] = [ + 'data' => $dir . '/css/redirects_app/redirects_app.css', + 'group' => 'CSS_DEFAULT', + ]; + $form['#tree'] = TRUE; $form['wizard_head']['#tree'] = FALSE; return $form;