Loading search_api_best_bets.install 0 → 100644 +47 −0 Original line number Diff line number Diff line <?php /** * @file * The search_api_best_bets install. */ use Drupal\field\Entity\FieldStorageConfig; /** * Update existing field of type search_api_best_bets, allow 360 characters. */ function search_api_best_bets_update_9301(&$sandbox) { $num_chars = 360; // Check for existing field of type search_api_best_bets. $ref_fields = \Drupal::service('entity_type.manager') ->getStorage('field_storage_config') ->loadByProperties(['type' => 'search_api_best_bets']); /** @var \Drupal\field\Entity\FieldStorageConfig $ref_field */ foreach ($ref_fields as $ref_field) { $field_name = $ref_field->getName(); // Resize the columns. $database = \Drupal::database(); $database->query("ALTER TABLE node__{$field_name} MODIFY {$field_name}_query_text VARCHAR($num_chars)"); $database->query("ALTER TABLE node_revision__{$field_name} MODIFY {$field_name}_query_text VARCHAR($num_chars)"); // Update storage schema. $storage_key = "node.field_schema_data." . $field_name; $storage_schema = \Drupal::keyValue('entity.storage_schema.sql'); $field_schema = $storage_schema->get($storage_key); $field_schema["node__{$field_name}"]['fields']["{$field_name}_query_text"]['length'] = $num_chars; $field_schema["node_revision__{$field_name}"]['fields']["{$field_name}_query_text"]['length'] = $num_chars; $storage_schema->set($storage_key, $field_schema); // Update field configuration. $config = \Drupal::configFactory() ->getEditable("field.storage.node.{$field_name}"); $config->set('settings.max_length', $num_chars); $config->save(TRUE); // Update field storage configuration. FieldStorageConfig::loadByName('node', $field_name)->save(); } } src/Plugin/Field/FieldType/SearchApiBestBetsFieldItem.php +1 −1 Original line number Diff line number Diff line Loading @@ -27,7 +27,7 @@ class SearchApiBestBetsFieldItem extends FieldItemBase { 'columns' => [ 'query_text' => [ 'type' => 'varchar', 'length' => 64, 'length' => 360, ], 'exclude' => [ 'type' => 'int', Loading src/Plugin/Field/FieldWidget/SearchApiBestBetsFieldWidget.php +4 −4 Original line number Diff line number Diff line Loading @@ -153,23 +153,23 @@ class SearchApiBestBetsFieldWidget extends WidgetBase { '#group' => 'advanced', ]; $element['elevate'] = [ '#type' => 'textfield', '#type' => 'textarea', '#title' => $this->getSetting('elevate_label'), '#placeholder' => $this->getSetting('elevate_placeholder'), '#description' => $this->t('Write the elevate queries in the field - separate multiple by comma.'), '#default_value' => $default_values['elevate'] ?? NULL, '#maxlength' => 64, '#maxlength' => 360, '#required' => $element['#required'], ]; if (!$this->getSetting('disable_exclude')) { $element['exclude'] = [ '#type' => 'textfield', '#type' => 'textarea', '#title' => $this->getSetting('exclude_label'), '#placeholder' => $this->getSetting('exclude_placeholder'), '#description' => $this->getSetting('exclude_description'), '#default_value' => $default_values['exclude'] ?? NULL, '#maxlength' => 64, '#maxlength' => 360, '#required' => $element['#required'], ]; } Loading Loading
search_api_best_bets.install 0 → 100644 +47 −0 Original line number Diff line number Diff line <?php /** * @file * The search_api_best_bets install. */ use Drupal\field\Entity\FieldStorageConfig; /** * Update existing field of type search_api_best_bets, allow 360 characters. */ function search_api_best_bets_update_9301(&$sandbox) { $num_chars = 360; // Check for existing field of type search_api_best_bets. $ref_fields = \Drupal::service('entity_type.manager') ->getStorage('field_storage_config') ->loadByProperties(['type' => 'search_api_best_bets']); /** @var \Drupal\field\Entity\FieldStorageConfig $ref_field */ foreach ($ref_fields as $ref_field) { $field_name = $ref_field->getName(); // Resize the columns. $database = \Drupal::database(); $database->query("ALTER TABLE node__{$field_name} MODIFY {$field_name}_query_text VARCHAR($num_chars)"); $database->query("ALTER TABLE node_revision__{$field_name} MODIFY {$field_name}_query_text VARCHAR($num_chars)"); // Update storage schema. $storage_key = "node.field_schema_data." . $field_name; $storage_schema = \Drupal::keyValue('entity.storage_schema.sql'); $field_schema = $storage_schema->get($storage_key); $field_schema["node__{$field_name}"]['fields']["{$field_name}_query_text"]['length'] = $num_chars; $field_schema["node_revision__{$field_name}"]['fields']["{$field_name}_query_text"]['length'] = $num_chars; $storage_schema->set($storage_key, $field_schema); // Update field configuration. $config = \Drupal::configFactory() ->getEditable("field.storage.node.{$field_name}"); $config->set('settings.max_length', $num_chars); $config->save(TRUE); // Update field storage configuration. FieldStorageConfig::loadByName('node', $field_name)->save(); } }
src/Plugin/Field/FieldType/SearchApiBestBetsFieldItem.php +1 −1 Original line number Diff line number Diff line Loading @@ -27,7 +27,7 @@ class SearchApiBestBetsFieldItem extends FieldItemBase { 'columns' => [ 'query_text' => [ 'type' => 'varchar', 'length' => 64, 'length' => 360, ], 'exclude' => [ 'type' => 'int', Loading
src/Plugin/Field/FieldWidget/SearchApiBestBetsFieldWidget.php +4 −4 Original line number Diff line number Diff line Loading @@ -153,23 +153,23 @@ class SearchApiBestBetsFieldWidget extends WidgetBase { '#group' => 'advanced', ]; $element['elevate'] = [ '#type' => 'textfield', '#type' => 'textarea', '#title' => $this->getSetting('elevate_label'), '#placeholder' => $this->getSetting('elevate_placeholder'), '#description' => $this->t('Write the elevate queries in the field - separate multiple by comma.'), '#default_value' => $default_values['elevate'] ?? NULL, '#maxlength' => 64, '#maxlength' => 360, '#required' => $element['#required'], ]; if (!$this->getSetting('disable_exclude')) { $element['exclude'] = [ '#type' => 'textfield', '#type' => 'textarea', '#title' => $this->getSetting('exclude_label'), '#placeholder' => $this->getSetting('exclude_placeholder'), '#description' => $this->getSetting('exclude_description'), '#default_value' => $default_values['exclude'] ?? NULL, '#maxlength' => 64, '#maxlength' => 360, '#required' => $element['#required'], ]; } Loading