visualn-8.x-1.x-dev/src/Plugin/VisualN/Mapper/DefaultMapper.php

src/Plugin/VisualN/Mapper/DefaultMapper.php
<?php

// @todo: rename to DefaultJsMapper

namespace Drupal\visualn\Plugin\VisualN\Mapper;

use Drupal\visualn\Core\MapperWithJsBase;
use Drupal\visualn\ResourceInterface;

/**
 * Provides a 'Default Mapper' VisualN mapper.
 *
 * @ingroup mapper_plugins
 *
 * @VisualNMapper(
 *  id = "visualn_default",
 *  label = @Translation("Default Mapper"),
 *  input =  "generic_js_data_array",
 *  output =  "generic_js_data_array",
 * )
 */
class DefaultMapper extends MapperWithJsBase {

  /**
   * {@inheritdoc}
   */
  public function prepareBuild(array &$build, $vuid, ResourceInterface $resource) {
    // Attach drawer config to js settings
    parent::prepareBuild($build, $vuid, $resource);
    // @todo: $resource = parent::prepareBuild($build, $vuid, $resource); (?)

    // mapper specific js settings
    $dataKeysMap = $this->configuration['drawer_fields'];  // here need both keys and values for remapping values
    // @todo: exclude this settings for views
    $build['#attached']['drupalSettings']['visualn']['drawings'][$vuid]['mapper']['dataKeysMap'] = $dataKeysMap;
    // Attach visualn style libraries
    $build['#attached']['library'][] = 'visualn/default-mapper';

    return $resource;
  }

  /**
   * @inheritdoc
   */
  public function jsId() {
    return 'visualnDefaultMapper';
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc