extension.twig (3433B)
1 {{ header }}{{ column_left }} 2 <div id="content"> 3 <div class="page-header"> 4 <div class="container-fluid"> 5 <h1>{{ heading_title }}</h1> 6 <ul class="breadcrumb"> 7 {% for breadcrumb in breadcrumbs %} 8 <li><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li> 9 {% endfor %} 10 </ul> 11 </div> 12 </div> 13 <div class="container-fluid"> 14 <div class="panel panel-default"> 15 <div class="panel-heading"> 16 <h3 class="panel-title"><i class="fa fa-puzzle-piece"></i> {{ text_list }}</h3> 17 </div> 18 <div class="panel-body"> 19 <fieldset> 20 <legend>{{ text_type }}</legend> 21 <div class="well"> 22 <div class="input-group"> 23 <select name="type" class="form-control"> 24 {% for category in categories %} 25 {% if type == category.code %} 26 <option value="{{ category.href }}" selected="selected">{{ category.text }}</option> 27 {% else %} 28 <option value="{{ category.href }}">{{ category.text }}</option> 29 {% endif %} 30 {% endfor %} 31 </select> 32 <span class="input-group-addon"><i class="fa fa-filter"></i> {{ text_filter }}</span> 33 </div> 34 </div> 35 </fieldset> 36 <div id="extension"></div> 37 </div> 38 </div> 39 </div> 40 {% if categories %} 41 <script type="text/javascript"><!-- 42 $('select[name="type"]').on('change', function() { 43 $.ajax({ 44 url: $('select[name="type"]').val(), 45 dataType: 'html', 46 beforeSend: function() { 47 $('.fa-filter').addClass('fa-circle-o-notch fa-spin'); 48 $('.fa-filter').removeClass('fa-filter'); 49 $('select[name=\'type\']').prop('disabled', true); 50 }, 51 complete: function() { 52 $('.fa-circle-o-notch').addClass('fa-filter'); 53 $('.fa-circle-o-notch').removeClass('fa-circle-o-notch fa-spin'); 54 $('select[name=\'type\']').prop('disabled', false); 55 }, 56 success: function(html) { 57 $('#extension').html(html); 58 }, 59 error: function(xhr, ajaxOptions, thrownError) { 60 alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText); 61 } 62 }); 63 }); 64 65 $('select[name="type"]').trigger('change'); 66 67 $('#extension').on('click', '.btn-success', function(e) { 68 e.preventDefault(); 69 70 var element = this; 71 72 $.ajax({ 73 url: $(element).attr('href'), 74 dataType: 'html', 75 beforeSend: function() { 76 $(element).button('loading'); 77 }, 78 complete: function() { 79 $(element).button('reset'); 80 }, 81 success: function(html) { 82 $('#extension').html(html); 83 }, 84 error: function(xhr, ajaxOptions, thrownError) { 85 alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText); 86 } 87 }); 88 }); 89 90 $('#extension').on('click', '.btn-danger, .btn-warning', function(e) { 91 e.preventDefault(); 92 93 if (confirm('{{ text_confirm }}')) { 94 var element = this; 95 96 $.ajax({ 97 url: $(element).attr('href'), 98 dataType: 'html', 99 beforeSend: function() { 100 $(element).button('loading'); 101 }, 102 complete: function() { 103 $(element).button('reset'); 104 }, 105 success: function(html) { 106 $('#extension').html(html); 107 }, 108 error: function(xhr, ajaxOptions, thrownError) { 109 alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText); 110 } 111 }); 112 } 113 }); 114 //--></script> 115 {% endif %} 116 </div> 117 {{ footer }}