Current Path : /var/www/alh/admin/view/template/extension/advertise/ |
Current File : /var/www/alh/admin/view/template/extension/advertise/google_mapping.twig |
{{ header }} {{ column_left }} <div id="content"> <div class="page-header"> <div class="container-fluid"> <div class="pull-right"> <a href="{{ text_video_tutorial_url_install }}" target="_blank" class="btn btn-info" data-toggle="tooltip" title="{{ button_video_tutorial_install }}"><i class="fa fa-video-camera"></i></a> <a href="{{ cancel }}" class="btn btn-default" data-toggle="tooltip" title="{{ button_cancel }}"><i class="fa fa-reply"></i></a> </div> <h1>{{ heading_title }}</h1> <ul class="breadcrumb"> {% for breadcrumb in breadcrumbs %} <li><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li> {% endfor %} </ul> </div> </div> <div class="container-fluid"> {% if not from_dashboard %} {{ steps }} {% endif %} {% if success %} <div class="alert alert-success alert-dismissible" role="alert"> <button type="button" class="close" data-dismiss="alert" aria-label="{{ text_close }}"><span aria-hidden="true"><i class="fa fa-close"></i></span></button> <i class="fa fa-check-circle" aria-hidden="true"></i> {{ success }} </div> {% endif %} {% if error %} <div class="alert alert-danger alert-dismissible" role="alert"> <button type="button" class="close" data-dismiss="alert" aria-label="{{ text_close }}"><span aria-hidden="true"><i class="fa fa-close"></i></span></button> <i class="fa fa-exclamation-triangle" aria-hidden="true"></i> {{ error }} </div> {% endif %} <div class="panel panel-default"> <div class="panel-heading"> <h3 class="panel-title"> <i class="fa fa-tags"></i> <span> {% if from_dashboard %} {{ text_panel_heading_mapping_2 }} {% else %} {{ text_panel_heading_mapping }} {% endif %} </span> </h3> </div> <div class="panel-body"> <form action="{{ action }}" method="post" enctype="multipart/form-data" id="form" class="form-horizontal"> <input type="hidden" name="advertise_google_modify_existing" value="0" /> <p>{{ text_mapping_intro }}</p> <div class="table-responsive"> <table class="table table-bordered"> <thead> <tr> <th class="width_33">{{ entry_google_product_category }}</th> <th class="width_66">{{ entry_oc_category }}</th> </tr> </thead> <tbody> {% for map in mapping %} <tr> <td class="width_33"> {{ map.google_product_category.name }} </td> <td class="width_66 category-select-container"> <input type="text" name="category_autocomplete" value="{{ map.oc_category.name }}" class="form-control" /> <input type="hidden" name="advertise_google_mapping[{{ map.google_product_category.id }}]" data-google-category-id="{{ map.google_product_category.id }}" value="{{ map.oc_category.category_id }}"> <button class="btn btn-danger button-remove"><i class="fa fa-close"></i></button> </td> </tr> {% endfor %} </tbody> </table> </div> <div class="pull-right"> <button type="submit" class="btn btn-primary" id="proceed">{{ button_proceed }}</button> </div> </form> </div> </div> </div> </div> <style type="text/css"> .width_33 { width: 33%; } .width_66 { width: 66%; } .table > tbody > tr > td.category-select-container { padding-right: 50px; position: relative; } .category-select-container .button-remove { position: absolute; right: 5px; top: 8px; } </style> <script type="text/javascript"> (function($) { var selector = { save: '#proceed', save_modify: '#button-save-modify', save_proceed: '#button-save-proceed', form: '#form', autocomplete: '[name="category_autocomplete"]', category_id: '[data-google-category-id]', remove: '.button-remove', modify_existing: '[name="advertise_google_modify_existing"]' }; $(selector.autocomplete).each(function(index, element) { $(element).autocomplete({ 'source': function(request, response) { $.ajax({ url: '{{ url_category_autocomplete }}&filter_name=' + encodeURIComponent(request), dataType: 'json', success: function(json) { response($.map(json, function(item) { return { label: item['name'], value: item['category_id'] } })); } }); }, 'select': function(item) { $(element).val(item.label); $(element).closest('td').find(selector.category_id).val(item.value).trigger('change'); } }); }); $(selector.category_id).change(function(e) { var has_value = $(this).val() != ''; $(this).closest('td').find(selector.autocomplete).attr('disabled', has_value); $(this).closest('td').find(selector.remove).attr('disabled', !has_value); }).trigger('change'); $(selector.remove).click(function(e) { $(this).closest('td').find(selector.autocomplete).val(''); $(this).closest('td').find(selector.category_id).val('').trigger('change'); }); $(document).on('click', selector.save, function(e) { e.preventDefault(); e.stopPropagation(); $(selector.save).text('{{ text_loading }}').attr('disabled', true); $.ajax({ url: '{{ url_mapping_verify }}', dataType: 'json', success: function(data) { if (data.submit_directly) { $(selector.modify_existing).val('0'); $(selector.form).submit(); } else { var modal = $(data.modal_confirmation).modal(); $(modal).on('hidden.bs.modal', function(e) { $(this).remove(); $(selector.save).text('{{ button_proceed }}').attr('disabled', false); }); $(modal).on('shown.bs.modal', function(e) { $(selector.save_proceed).click(function() { $(selector.save_proceed).text('{{ text_loading }}').attr('disabled', true); $(selector.save_modify).attr('disabled', true); $(selector.modify_existing).val('0'); $(selector.form).submit(); }); $(selector.save_modify).click(function() { $(selector.save_modify).text('{{ text_loading }}').attr('disabled', true); $(selector.save_proceed).attr('disabled', true); $(selector.modify_existing).val('1'); $(selector.form).submit(); }); }); } } }); }); })(jQuery); </script> {{ footer }}