Commit bdfa543f authored by Caspar's avatar Caspar Committed by Italo Mairo
Browse files

Issue #3268499 by SpadXIII: Set current language in map (for geoman toolbar)

parent 82b14f66
Loading
Loading
Loading
Loading
+4 −0
Changes for js/leaflet.widget.js: 4 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -34,6 +34,10 @@
    this.json_selector = this.settings.jsonElement;
    this.layers = [];

    if (widgetSettings['langcode']) {
      lMap.pm.setLang(widgetSettings['langcode']);
    }

    this.map = undefined;
    this.set_leaflet_map(lMap);

+18 −4
Changes for src/Plugin/Field/FieldWidget/LeafletDefaultWidget.php: 18 added lines, 4 removed lines.
Original line number Diff line number Diff line
@@ -2,6 +2,7 @@

namespace Drupal\leaflet\Plugin\Field\FieldWidget;

use Drupal\Core\Language\LanguageManagerInterface;
use Drupal\geofield\Plugin\GeofieldBackendManager;
use Drupal\leaflet\LeafletSettingsElementsTrait;
use Drupal\Core\Field\FieldDefinitionInterface;
@@ -56,10 +57,17 @@ class LeafletDefaultWidget extends GeofieldDefaultWidget {
  /**
   * The token service.
   *
   * @var \Drupal\core\Utility\Token
   * @var \Drupal\Core\Utility\Token
   */
  protected $token;

  /**
   * The language manager.
   *
   * @var \Drupal\Core\Language\LanguageManagerInterface
   */
  private $languageManager;

  /**
   * Get maps available for use with Leaflet.
   */
@@ -96,8 +104,10 @@ class LeafletDefaultWidget extends GeofieldDefaultWidget {
   *   The module handler.
   * @param \Drupal\Core\Utility\LinkGeneratorInterface $link_generator
   *   The Link Generator service.
   * @param \Drupal\core\Utility\Token $token
   * @param \Drupal\Core\Utility\Token $token
   *   The token service.
   * @param \Drupal\Core\Language\LanguageManagerInterface $languageManager
   *   The language manager.
   */
  public function __construct(
    $plugin_id,
@@ -111,7 +121,8 @@ class LeafletDefaultWidget extends GeofieldDefaultWidget {
    LeafletService $leaflet_service,
    ModuleHandlerInterface $module_handler,
    LinkGeneratorInterface $link_generator,
    Token $token
    Token $token,
    LanguageManagerInterface $languageManager
  ) {
    parent::__construct(
      $plugin_id,
@@ -127,6 +138,7 @@ class LeafletDefaultWidget extends GeofieldDefaultWidget {
    $this->moduleHandler = $module_handler;
    $this->link = $link_generator;
    $this->token = $token;
    $this->languageManager = $languageManager;
  }

  /**
@@ -145,7 +157,8 @@ class LeafletDefaultWidget extends GeofieldDefaultWidget {
      $container->get('leaflet.service'),
      $container->get('module_handler'),
      $container->get('link_generator'),
      $container->get('token')
      $container->get('token'),
      $container->get('language_manager')
    );
  }

@@ -435,6 +448,7 @@ class LeafletDefaultWidget extends GeofieldDefaultWidget {
    $js_settings['path'] = str_replace(["\n", "\r"], "", $this->token->replace($this->getSetting('path'), $token_context));
    $js_settings['geocoder'] = $this->getSetting('geocoder');
    $js_settings['map_position'] = $map_settings['map_position'] ?? [];
    $js_settings['langcode'] = $this->languageManager->getCurrentLanguage()->getId();

    // Leaflet.widget plugin.
    $element['map']['#attached']['library'][] = 'leaflet/leaflet-widget';