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