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