-
Notifications
You must be signed in to change notification settings - Fork 0
/
breakpoints_settings.module
46 lines (40 loc) · 1.39 KB
/
breakpoints_settings.module
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php
/**
* @file
* Contains breakpoints_settings.module..
*/
use Drupal\Core\Routing\RouteMatchInterface;
/**
* Implements hook_help().
*/
function breakpoints_settings_help($route_name, RouteMatchInterface $route_match) {
switch ($route_name) {
// Main module help for the breakpoints_settings module.
case 'help.page.breakpoints_settings':
$output = '';
$output .= '<h3>' . t('About') . '</h3>';
$output .= '<p>' . t('Breakpoints Settings') . '</p>';
return $output;
default:
}
}
function breakpoints_settings_page_attachments(array &$page) {
// Grabbing all breakpoint groups by provider
$groups = \Drupal::service('breakpoint.manager')->getGroups();
$js_breakpoints = array();
if (!empty($groups)) {
// Run through all group breakpoints and load them.
foreach ($groups as $group_id => $group) {
$breakpoints = \Drupal::service('breakpoint.manager')->getBreakpointsByGroup($group_id);
foreach ($breakpoints as $id => $breakpoint) {
// Todo remove combine.
$labels [] = $breakpoint->getLabel();
$medias [] = $breakpoint->getMediaQuery();
$combine = array_combine($labels, $medias);
// Nest breakpoints by group with the label as key and query as value.
$js_breakpoints[$group_id] = $combine;
}
$page['#attached']['drupalSettings']['breakpoints_settings'] = $js_breakpoints;
}
}
}