Commit 746d540a authored by Vladimir Roudakov's avatar Vladimir Roudakov Committed by Vladimir Roudakov
Browse files

Issue #3275679 by VladimirAus: Add ability to change main text in chat window

parent 8fc86fc0
Loading
Loading
Loading
Loading
+13 −3
Original line number Diff line number Diff line
(function ($) {

  Drupal.twilio_flex = Drupal.twilio_flex || {};

  Drupal.behaviors.twilio_flex = {
    attach: function () {
      const settings = Drupal.settings.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;
    }
  };

+44 −0
Original line number Diff line number Diff line
@@ -34,5 +34,49 @@ function twilio_flex_admin_settings_form($form_state) {
    '#description' => t('Twilio Flex Flow SID, ie FO...'),
  ];

  $form['twilio_flex_main_header_title'] = [
    '#parents' => ['twilio_flex_settings', 'twilio_flex_main_header_title'],
    '#title' => t('Header title'),
    '#type' => 'textfield',
    '#default_value' => $settings['twilio_flex_main_header_title'],
    '#size' => 40,
    '#maxlength' => 255,
    '#required' => TRUE,
    '#description' => t('Header title (default: <em>Chat with Us</em>)'),
  ];

  $form['twilio_flex_msg_canvas_welcome'] = [
    '#parents' => ['twilio_flex_settings', 'twilio_flex_msg_canvas_welcome'],
    '#title' => t('Canvas welcome message'),
    '#type' => 'textfield',
    '#default_value' => $settings['twilio_flex_msg_canvas_welcome'],
    '#size' => 40,
    '#maxlength' => 255,
    '#required' => TRUE,
    '#description' => t('Canvas welcome message (default: <em>Welcome to customer service</em>)'),
  ];

  $form['twilio_flex_msg_canvas_predefined_author'] = [
    '#parents' => ['twilio_flex_settings', 'twilio_flex_msg_canvas_predefined_author'],
    '#title' => t('First message author'),
    '#type' => 'textfield',
    '#default_value' => $settings['twilio_flex_msg_canvas_predefined_author'],
    '#size' => 40,
    '#maxlength' => 255,
    '#required' => TRUE,
    '#description' => t('First message author (default: <em>Bot</em>)'),
  ];

  $form['twilio_flex_msg_canvas_predefined_body'] = [
    '#parents' => ['twilio_flex_settings', 'twilio_flex_msg_canvas_predefined_body'],
    '#title' => t('First message body'),
    '#type' => 'textfield',
    '#default_value' => $settings['twilio_flex_msg_canvas_predefined_body'],
    '#size' => 40,
    '#maxlength' => 255,
    '#required' => TRUE,
    '#description' => t('First message body (default: <em>Hi there! How can we help you today?</em>)'),
  ];

  return system_settings_form($form);
}
+24 −0
Original line number Diff line number Diff line
@@ -4,9 +4,33 @@
 * Contains install, update and uninstall functions for twilio_flex module.
 */

/**
 * Implements hook_install().
 */
function twilio_flex_install() {
  $settings = variable_get('twilio_flex_settings', []);
  $settings['twilio_flex_main_header_title'] = 'Chat with Us';
  $settings['twilio_flex_msg_canvas_welcome'] = 'Welcome to customer service';
  $settings['twilio_flex_msg_canvas_predefined_author'] = 'Bot';
  $settings['twilio_flex_msg_canvas_predefined_body'] = 'Hi there! How can we help you today?';
  variable_set('twilio_flex_settings', $settings);
}

/**
 * Implements hook_uninstall().
 */
function twilio_flex_uninstall() {
  variable_del('twilio_flex_settings');
}

/**
 * Added default strings settings.
 */
function twilio_flex_update_7001() {
  $settings = variable_get('twilio_flex_settings', []);
  $settings['twilio_flex_main_header_title'] = 'Chat with Us';
  $settings['twilio_flex_msg_canvas_welcome'] = 'Welcome to customer service';
  $settings['twilio_flex_msg_canvas_predefined_author'] = 'Bot';
  $settings['twilio_flex_msg_canvas_predefined_body'] = 'Hi there! How can we help you today?';
  variable_set('twilio_flex_settings', $settings);
}
+4 −0
Original line number Diff line number Diff line
@@ -77,6 +77,10 @@ function twilio_flex_get_settings() {
  $settings += [
    'twilio_flex_account_sid' => '',
    'twilio_flex_flow_sid' => '',
    'twilio_flex_main_header_title' => '',
    'twilio_flex_msg_canvas_welcome' => '',
    'twilio_flex_msg_canvas_predefined_author' => '',
    'twilio_flex_msg_canvas_predefined_body' => '',
  ];

  foreach ($settings as $name => $value) {