Loading config/install/twilio_flex.settings.yml +4 −0 Original line number Diff line number Diff line twilio_flex_account_sid: '' twilio_flex_flow_sid: '' twilio_flex_main_header_title: 'Chat with Us' twilio_flex_msg_canvas_welcome: 'Welcome to customer service' twilio_flex_msg_canvas_predefined_author: 'Bot' twilio_flex_msg_canvas_predefined_body: 'Hi there! How can we help you today?' config/schema/twilio_flex.schema.yml +12 −0 Original line number Diff line number Diff line Loading @@ -10,3 +10,15 @@ twilio_flex.settings: twilio_flex_flow_sid: type: string label: 'Flex Flow SID' twilio_flex_main_header_title: type: string label: 'Header title' twilio_flex_msg_canvas_welcome: type: string label: 'Canvas welcome message' twilio_flex_msg_canvas_predefined_author: type: string label: 'First message author' twilio_flex_msg_canvas_predefined_body: type: string label: 'First message body' js/twilio_flex.js +14 −1 Original line number Diff line number Diff line Loading @@ -2,11 +2,24 @@ Drupal.behaviors.twilioFlex = { attach: function attach(context) { const settings = drupalSettings.twilioFlex; // See https://assets.flex.twilio.com/docs/releases/flex-webchat-ui/2.5.1/MainHeader.html. const appConfig = { accountSid: settings.twilio_flex_account_sid, flexFlowSid: settings.twilio_flex_flow_sid flexFlowSid: settings.twilio_flex_flow_sid, componentProps: { MainHeader: { titleText: settings.twilio_flex_main_header_title }, MessagingCanvas: { showWelcomeMessage: true, welcomeMessageText: () => settings.twilio_flex_msg_canvas_welcome } } }; Twilio.FlexWebChat.renderWebChat(appConfig); Twilio.FlexWebChat.MessagingCanvas.defaultProps.predefinedMessage.authorName = settings.twilio_flex_msg_canvas_predefined_author; Twilio.FlexWebChat.MessagingCanvas.defaultProps.predefinedMessage.body = settings.twilio_flex_msg_canvas_predefined_body; } }; })(Drupal, drupalSettings); src/Form/TwilioFlexSettingsForm.php +37 −1 Original line number Diff line number Diff line Loading @@ -2,11 +2,11 @@ namespace Drupal\twilio_flex\Form; use GuzzleHttp\Exception\ClientException; use Drupal\Core\Config\ConfigFactoryInterface; use Drupal\Core\Form\ConfigFormBase; use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Messenger\MessengerInterface; use GuzzleHttp\Exception\ClientException; use Psr\Log\LoggerInterface; use Symfony\Component\DependencyInjection\ContainerInterface; Loading Loading @@ -106,6 +106,38 @@ class TwilioFlexSettingsForm extends ConfigFormBase { '#description' => $this->t('Twilio Flex Flow SID, ie FO...'), ]; $form['twilio_flex_main_header_title'] = [ '#type' => 'textfield', '#title' => $this->t('Header title'), '#required' => TRUE, '#default_value' => $config->get('twilio_flex_main_header_title'), '#description' => $this->t('Header title (default: <em>Chat with Us</em>)'), ]; $form['twilio_flex_msg_canvas_welcome'] = [ '#type' => 'textfield', '#title' => $this->t('Canvas welcome message'), '#required' => TRUE, '#default_value' => $config->get('twilio_flex_msg_canvas_welcome'), '#description' => $this->t('Canvas welcome message (default: <em>Welcome to customer service</em>)'), ]; $form['twilio_flex_msg_canvas_predefined_author'] = [ '#type' => 'textfield', '#title' => $this->t('First message author'), '#required' => TRUE, '#default_value' => $config->get('twilio_flex_msg_canvas_predefined_author'), '#description' => $this->t('First message author (default: <em>Bot</em>)'), ]; $form['twilio_flex_msg_canvas_predefined_body'] = [ '#type' => 'textfield', '#title' => $this->t('First message body'), '#required' => TRUE, '#default_value' => $config->get('twilio_flex_msg_canvas_predefined_body'), '#description' => $this->t('First message body (default: <em>Hi there! How can we help you today?</em>)'), ]; return parent::buildForm($form, $form_state); } Loading @@ -116,6 +148,10 @@ class TwilioFlexSettingsForm extends ConfigFormBase { $config = $this->getEditableConfig(); $config->set('twilio_flex_account_sid', $form_state->getValue('twilio_flex_account_sid')); $config->set('twilio_flex_flow_sid', $form_state->getValue('twilio_flex_flow_sid')); $config->set('twilio_flex_main_header_title', $form_state->getValue('twilio_flex_main_header_title')); $config->set('twilio_flex_msg_canvas_welcome', $form_state->getValue('twilio_flex_msg_canvas_welcome')); $config->set('twilio_flex_msg_canvas_predefined_author', $form_state->getValue('twilio_flex_msg_canvas_predefined_author')); $config->set('twilio_flex_msg_canvas_predefined_body', $form_state->getValue('twilio_flex_msg_canvas_predefined_body')); $config->save(); parent::submitForm($form, $form_state); Loading twilio_flex.install +13 −0 Original line number Diff line number Diff line Loading @@ -10,3 +10,16 @@ function twilio_flex_uninstall() { \Drupal::configFactory()->getEditable('twilio_flex.settings')->delete(); } /** * Set new strings configuration. */ function twilio_flex_update_8001() { \Drupal::configFactory() ->getEditable('twilio_flex.settings') ->set('twilio_flex_main_header_title', 'Chat with Us') ->set('twilio_flex_msg_canvas_welcome', 'Welcome to customer service') ->set('twilio_flex_msg_canvas_predefined_author', 'Bot') ->set('twilio_flex_msg_canvas_predefined_body', 'Hi there! How can we help you today?') ->save(TRUE); } Loading
config/install/twilio_flex.settings.yml +4 −0 Original line number Diff line number Diff line twilio_flex_account_sid: '' twilio_flex_flow_sid: '' twilio_flex_main_header_title: 'Chat with Us' twilio_flex_msg_canvas_welcome: 'Welcome to customer service' twilio_flex_msg_canvas_predefined_author: 'Bot' twilio_flex_msg_canvas_predefined_body: 'Hi there! How can we help you today?'
config/schema/twilio_flex.schema.yml +12 −0 Original line number Diff line number Diff line Loading @@ -10,3 +10,15 @@ twilio_flex.settings: twilio_flex_flow_sid: type: string label: 'Flex Flow SID' twilio_flex_main_header_title: type: string label: 'Header title' twilio_flex_msg_canvas_welcome: type: string label: 'Canvas welcome message' twilio_flex_msg_canvas_predefined_author: type: string label: 'First message author' twilio_flex_msg_canvas_predefined_body: type: string label: 'First message body'
js/twilio_flex.js +14 −1 Original line number Diff line number Diff line Loading @@ -2,11 +2,24 @@ Drupal.behaviors.twilioFlex = { attach: function attach(context) { const settings = drupalSettings.twilioFlex; // See https://assets.flex.twilio.com/docs/releases/flex-webchat-ui/2.5.1/MainHeader.html. const appConfig = { accountSid: settings.twilio_flex_account_sid, flexFlowSid: settings.twilio_flex_flow_sid flexFlowSid: settings.twilio_flex_flow_sid, componentProps: { MainHeader: { titleText: settings.twilio_flex_main_header_title }, MessagingCanvas: { showWelcomeMessage: true, welcomeMessageText: () => settings.twilio_flex_msg_canvas_welcome } } }; Twilio.FlexWebChat.renderWebChat(appConfig); Twilio.FlexWebChat.MessagingCanvas.defaultProps.predefinedMessage.authorName = settings.twilio_flex_msg_canvas_predefined_author; Twilio.FlexWebChat.MessagingCanvas.defaultProps.predefinedMessage.body = settings.twilio_flex_msg_canvas_predefined_body; } }; })(Drupal, drupalSettings);
src/Form/TwilioFlexSettingsForm.php +37 −1 Original line number Diff line number Diff line Loading @@ -2,11 +2,11 @@ namespace Drupal\twilio_flex\Form; use GuzzleHttp\Exception\ClientException; use Drupal\Core\Config\ConfigFactoryInterface; use Drupal\Core\Form\ConfigFormBase; use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Messenger\MessengerInterface; use GuzzleHttp\Exception\ClientException; use Psr\Log\LoggerInterface; use Symfony\Component\DependencyInjection\ContainerInterface; Loading Loading @@ -106,6 +106,38 @@ class TwilioFlexSettingsForm extends ConfigFormBase { '#description' => $this->t('Twilio Flex Flow SID, ie FO...'), ]; $form['twilio_flex_main_header_title'] = [ '#type' => 'textfield', '#title' => $this->t('Header title'), '#required' => TRUE, '#default_value' => $config->get('twilio_flex_main_header_title'), '#description' => $this->t('Header title (default: <em>Chat with Us</em>)'), ]; $form['twilio_flex_msg_canvas_welcome'] = [ '#type' => 'textfield', '#title' => $this->t('Canvas welcome message'), '#required' => TRUE, '#default_value' => $config->get('twilio_flex_msg_canvas_welcome'), '#description' => $this->t('Canvas welcome message (default: <em>Welcome to customer service</em>)'), ]; $form['twilio_flex_msg_canvas_predefined_author'] = [ '#type' => 'textfield', '#title' => $this->t('First message author'), '#required' => TRUE, '#default_value' => $config->get('twilio_flex_msg_canvas_predefined_author'), '#description' => $this->t('First message author (default: <em>Bot</em>)'), ]; $form['twilio_flex_msg_canvas_predefined_body'] = [ '#type' => 'textfield', '#title' => $this->t('First message body'), '#required' => TRUE, '#default_value' => $config->get('twilio_flex_msg_canvas_predefined_body'), '#description' => $this->t('First message body (default: <em>Hi there! How can we help you today?</em>)'), ]; return parent::buildForm($form, $form_state); } Loading @@ -116,6 +148,10 @@ class TwilioFlexSettingsForm extends ConfigFormBase { $config = $this->getEditableConfig(); $config->set('twilio_flex_account_sid', $form_state->getValue('twilio_flex_account_sid')); $config->set('twilio_flex_flow_sid', $form_state->getValue('twilio_flex_flow_sid')); $config->set('twilio_flex_main_header_title', $form_state->getValue('twilio_flex_main_header_title')); $config->set('twilio_flex_msg_canvas_welcome', $form_state->getValue('twilio_flex_msg_canvas_welcome')); $config->set('twilio_flex_msg_canvas_predefined_author', $form_state->getValue('twilio_flex_msg_canvas_predefined_author')); $config->set('twilio_flex_msg_canvas_predefined_body', $form_state->getValue('twilio_flex_msg_canvas_predefined_body')); $config->save(); parent::submitForm($form, $form_state); Loading
twilio_flex.install +13 −0 Original line number Diff line number Diff line Loading @@ -10,3 +10,16 @@ function twilio_flex_uninstall() { \Drupal::configFactory()->getEditable('twilio_flex.settings')->delete(); } /** * Set new strings configuration. */ function twilio_flex_update_8001() { \Drupal::configFactory() ->getEditable('twilio_flex.settings') ->set('twilio_flex_main_header_title', 'Chat with Us') ->set('twilio_flex_msg_canvas_welcome', 'Welcome to customer service') ->set('twilio_flex_msg_canvas_predefined_author', 'Bot') ->set('twilio_flex_msg_canvas_predefined_body', 'Hi there! How can we help you today?') ->save(TRUE); }