PluginProbe
Responsive Menu – Create Mobile-Friendly Menu / 3.0.6
Responsive Menu – Create Mobile-Friendly Menu v3.0.6
4.7.3 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.10 4.1.11 4.1.12 4.1.2 4.1.3 4.1.4 4.1.5 4.1.6 4.1.7 4.1.8 4.1.9 4.2.0 All 90 releases
responsive-menu / src / app / Form / MenuOrdering.php

MenuOrdering.php in Responsive Menu – Create Mobile-Friendly Menu 3.0.6, at src/app/Form/MenuOrdering.php

50 lines 1.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace ResponsiveMenu\Form;
4 use ResponsiveMenu\Models\Option as Option;
5 use ResponsiveMenu\Form\FormComponent as FormComponent;
6
7 class MenuOrdering implements FormComponent
8 {
9
10 public function render(Option $option)
11 {
12 $required = ['title' => '', 'menu' => '', 'search' => '', 'additional content' => ''];
13 $current_options = (array) json_decode($option->getValue());
14 $all_options = array_merge($current_options, $required);
15
16 echo '<ul id="menu-sortable">';
17 foreach($all_options as $name => $val):
18 $current_value = isset($current_options[$name]) ? $current_options[$name] : '';
19 $on_class = $current_value == 'on' ? 'menu-order-option-switch-on' : '';
20
21 echo '<li class="draggable">'
22 . ucwords($name)
23 . '<input type="text" class="orderable-item" value="'.$current_value.'" name="menu['.$option->getName().']['.$name.']" />'
24 . '<div class="menu-order-option-switch ' . $on_class . '"></div>'
25 . '</li>';
26 endforeach;
27 echo '</ul>';
28
29 echo '<script>
30 jQuery(document).ready(function($) {
31 $(document).on("click", ".menu-order-option-switch", function() {
32 if($(this).siblings("input.orderable-item").val() != "on") {
33 $(this).siblings("input.orderable-item").val("on");
34 $(this).addClass("menu-order-option-switch-on");
35 } else {
36 $(this).siblings("input.orderable-item").val("");
37 $(this).removeClass("menu-order-option-switch-on");
38 }
39 });
40 $( "#menu-sortable" ).sortable({
41 revert: true
42 });
43 $( "#sortable, .draggable" ).disableSelection();
44 });
45 </script>';
46
47 }
48
49 }
50