class TopUrls in Dashboards with Layout Builder 8
Same name and namespace in other branches
- 2.0.x modules/dashboards_matomo/src/Plugin/Dashboard/TopUrls.php \Drupal\dashboards_matomo\Plugin\Dashboard\TopUrls
Show account info.
Plugin annotation
@Dashboard(
  id = "matomo_top_urls",
  label = @Translation("Top urls."),
  category = @Translation("Matomo"),
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface- class \Drupal\dashboards\Plugin\DashboardBase implements ContainerFactoryPluginInterface, DashboardInterface uses StringTranslationTrait- class \Drupal\dashboards\Plugin\DashboardLazyBuildBase implements DashboardLazyBuildInterface- class \Drupal\dashboards_matomo\Plugin\Dashboard\MatomoBase uses ChartTrait- class \Drupal\dashboards_matomo\Plugin\Dashboard\TopUrls
 
 
- class \Drupal\dashboards_matomo\Plugin\Dashboard\MatomoBase uses ChartTrait
 
- class \Drupal\dashboards\Plugin\DashboardLazyBuildBase implements DashboardLazyBuildInterface
 
- class \Drupal\dashboards\Plugin\DashboardBase implements ContainerFactoryPluginInterface, DashboardInterface uses StringTranslationTrait
Expanded class hierarchy of TopUrls
File
- modules/dashboards_matomo/ src/ Plugin/ Dashboard/ TopUrls.php, line 17 
Namespace
Drupal\dashboards_matomo\Plugin\DashboardView source
class TopUrls extends MatomoBase {
  /**
   * {@inheritdoc}
   */
  public function buildSettingsForm(array $form, FormStateInterface $form_state, array $configuration) : array {
    $form = parent::buildSettingsForm($form, $form_state, $configuration);
    $form['chart_type']['#access'] = FALSE;
    return $form;
  }
  /**
   * Lazy build callback.
   *
   * @param \Drupal\dashboards\Plugin\DashboardBase $plugin
   *   Matomo base plugin.
   * @param array $configuration
   *   Configuration.
   */
  public static function lazyBuild(DashboardBase $plugin, array $configuration) : array {
    try {
      $response = $plugin
        ->query('Actions.getPageUrls', [
        'filter_limit' => 20,
        'period' => $configuration['period'],
        'date' => $plugin
          ->getDateTranslated($configuration['date']),
        'flat' => 1,
        'expanded' => TRUE,
      ]);
      $lists = [];
      foreach ($response as $date => $row) {
        $items = [];
        foreach ($row as $r) {
          if (empty($r)) {
            continue;
          }
          $items[] = [
            '#type' => 'inline_template',
            '#template' => '<a href="{{ url }}">{{ url }}</a>',
            '#context' => [
              'url' => isset($r['url']) ? $r['url'] : $plugin
                ->t('Unkown'),
            ],
          ];
        }
        if (!empty($items)) {
          $lists[] = [
            '#theme' => 'item_list',
            '#title' => $date,
            '#items' => $items,
          ];
        }
      }
      return $lists;
    } catch (\Exception $ex) {
      return [
        '#markup' => $plugin
          ->t('Error occured: @error', [
          '@error' => $ex
            ->getMessage(),
        ]),
        '#cache' => [
          'max-age' => 0,
        ],
      ];
    }
  }
}Members
| Name   | Modifiers | Type | Description | Overrides | 
|---|---|---|---|---|
| ChartTrait:: | protected | property | Empty flag. | |
| ChartTrait:: | protected | property | Labels. | |
| ChartTrait:: | protected | property | Rows. | |
| ChartTrait:: | protected | property | Chart type. | |
| ChartTrait:: | public | function | Add a label. | |
| ChartTrait:: | public | function | Add a row. | |
| ChartTrait:: | public | function | Get allowed styles. | |
| ChartTrait:: | public | function | Set all rows. | |
| ChartTrait:: | public | function | Add a label. | |
| ChartTrait:: | public | function | Set this chart is empty. | |
| ChartTrait:: | public | function | Set all labels. | |
| ChartTrait:: | public | function | Set all rows. | |
| DashboardBase:: | protected | property | Cache backend. | |
| DashboardBase:: | protected | function | Get cache for cid. | |
| DashboardBase:: | public | function | Validate settings form. | |
| DashboardBase:: | protected | function | Set a new cache entry. Cache is prefixed by pluginid. | |
| DashboardBase:: | public | function | Validate settings form. | 1 | 
| DashboardLazyBuildBase:: | public | function | Build render array. Overrides DashboardBase:: | |
| DashboardLazyBuildBase:: | public static | function | Helper for lazy build render. Overrides DashboardLazyBuildInterface:: | |
| MatomoBase:: | protected | property | Entity query. | |
| MatomoBase:: | protected | function | Helper function for build rows from matomo. | |
| MatomoBase:: | public static | function | Creates an instance of the plugin. Overrides DashboardBase:: | |
| MatomoBase:: | public static | function | Helper function for short date ranges. | |
| MatomoBase:: | protected | function | Translate date matomo string. | |
| MatomoBase:: | public | function | Get matomo query. | |
| MatomoBase:: | protected | function | Helper function for query matomo. | |
| MatomoBase:: | public | function | Constructs a \Drupal\Component\Plugin\PluginBase object. Overrides DashboardBase:: | |
| PluginBase:: | protected | property | Configuration information passed into the plugin. | 1 | 
| PluginBase:: | protected | property | The plugin implementation definition. | 1 | 
| PluginBase:: | protected | property | The plugin_id. | |
| PluginBase:: | constant | A string which is used to separate base plugin IDs from the derivative ID. | ||
| PluginBase:: | public | function | Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface:: | |
| PluginBase:: | public | function | Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface:: | |
| PluginBase:: | public | function | Gets the definition of the plugin implementation. Overrides PluginInspectionInterface:: | 3 | 
| PluginBase:: | public | function | Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface:: | |
| PluginBase:: | public | function | Determines if the plugin is configurable. | |
| StringTranslationTrait:: | protected | property | The string translation service. | 1 | 
| StringTranslationTrait:: | protected | function | Formats a string containing a count of items. | |
| StringTranslationTrait:: | protected | function | Returns the number of plurals supported by a given language. | |
| StringTranslationTrait:: | protected | function | Gets the string translation service. | |
| StringTranslationTrait:: | public | function | Sets the string translation service to use. | 2 | 
| StringTranslationTrait:: | protected | function | Translates a string to the current language or to a given language. | |
| TopUrls:: | public | function | Build render array. Overrides MatomoBase:: | |
| TopUrls:: | public static | function | Lazy build callback. Overrides DashboardLazyBuildInterface:: | 
