1<?php
2/**
3 * Widgets CSS
4 */
5
6$url = current_page_url();
7
8elgg_register_plugin_hook_handler('view', 'widgets/friends/content', 'css_widget_content');
9elgg_register_plugin_hook_handler('view', 'widgets/friends/edit', 'css_widget_content');
10elgg_register_plugin_hook_handler('permissions_check', 'all', 'css_permissions_override', 600);
11
12/**
13 * Create dummy content
14 *
15 * @return string
16 */
17function css_widget_content() {
18	return elgg_view('developers/ipsum');
19}
20
21/**
22 * Give permissions
23 *
24 * @return true
25 */
26function css_permissions_override() {
27	return true;
28}
29
30?>
31<div class="elgg-body mal">
32	<?php echo elgg_view('theme_sandbox/header', $vars); ?>
33<?php
34$w = [];
35for ($i=1; $i<=6; $i++) {
36	$obj = new ElggWidget();
37	$obj->handler = 'friends';
38	$obj->title = "Widget $i";
39	$w[] = $obj;
40}
41$column1 = [$w[0], $w[1]];
42$column2 = [$w[2], $w[3]];
43$column3 = [$w[4], $w[5]];
44$widgets = [1 => $column1, 2 => $column2, 3 => $column3];
45$num_columns = 3;
46
47echo '<div class="elgg-layout-widgets">';
48echo '<div class="elgg-widgets-grid">';
49$widget_class = "elgg-col-1of{$num_columns}";
50for ($column_index = 1; $column_index <= $num_columns; $column_index++) {
51	$column_widgets = $widgets[$column_index];
52
53	echo "<div class=\"$widget_class elgg-widgets\" id=\"elgg-widget-col-$column_index\">";
54	if (is_array($column_widgets) && sizeof($column_widgets) > 0) {
55		foreach ($column_widgets as $widget) {
56			echo elgg_view_entity($widget);
57		}
58	}
59	echo '</div>';
60}
61echo '</div>';
62echo '</div>';
63
64?>
65</div>
66<script>
67require(['elgg', 'jquery'], function (elgg, $) {
68	// widgets do not have guids so we override the edit toggle and delete button
69	$(function() {
70		$('.elgg-widget-edit-button').unbind('click');
71		$('.elgg-widget-edit-button').on('click', function() {
72			$(this).closest('.elgg-module-widget').find('.elgg-widget-edit').slideToggle('medium');
73			return false;
74		});
75		$('.elgg-widget-delete-button').on('click', function() {
76			$(this).closest('.elgg-module-widget').remove();
77			return false;
78		});
79	});
80});
81</script>
82