src/Aviatur/TwigBundle/Resources/views/aviatur/Flux/Content/Content/content_js.html.twig line 1

Open in your IDE?
  1. <script type="text/javascript">
  2.     {% if ajaxUrl is defined %}
  3.         var ajaxUrlAvail = '{{ ajaxUrl | raw }}';
  4.     {% elseif contentType is defined and contentType %}
  5.         var ajaxUrlAvail = '/' + '{{ contentType }}' + '/1';
  6.     {% else %}
  7.         var ajaxUrlAvail = '/contenidos/1';
  8.     {% endif %}
  9.     {% if contentType is defined and contentType %}       
  10.         var contentRoute = {
  11.             edit: '{{ path('aviatur_content_airline_edit', {id: 'xx', content: contentType,  type:'type'}) }}',
  12.             delete: '{{ path('aviatur_content_airline_delete', {id: 'xx', content: contentType,  type:'type'}) }}',
  13.             search: '{{ path('aviatur_content_airline_search', {page: '1', active: 'activo', search: 'xx', content: contentType,  type:'type'}) }}'
  14.         };
  15.     {% elseif typeContent is defined and typeContent=='autos' %}    
  16.         var contentRoute = {
  17.             edit: '{{ path('aviatur_content_edit', {id: 'xx'}) }}',
  18.             delete: '{{ path('aviatur_content_delete', {id: 'xx'}) }}',
  19.             search: '{{ path('aviatur_car_rentals_search', {page: '1', active: 'activo', search: 'xx', type:'type'}) }}'
  20.         };
  21.     {% elseif typeContent is defined and typeContent=='buses' %}    
  22.         var contentRoute = {
  23.             edit: '{{ path('aviatur_content_edit', {id: 'xx'}) }}',
  24.             delete: '{{ path('aviatur_content_delete', {id: 'xx'}) }}',
  25.             search: '{{ path('aviatur_bus_companies_search', {page: '1', active: 'activo', search: 'xx', type:'type'}) }}'
  26.         };
  27.     {% elseif typeContent is defined and typeContent=='hoteles' %}    
  28.         var contentRoute = {
  29.             edit: '{{ path('aviatur_content_edit', {id: 'xx'}) }}',
  30.             delete: '{{ path('aviatur_content_delete', {id: 'xx'}) }}',
  31.             search: '{{ path('aviatur_hotel_search_hotels', {page: '1', active: 'activo', search: 'xx', content: contentType,  type:'type'}) }}'
  32.         };
  33.     {% else %}
  34.         var contentRoute = {
  35.             edit: '{{ path('aviatur_content_edit', {id: 'xx'}) }}',
  36.             delete: '{{ path('aviatur_content_delete', {id: 'xx'}) }}',
  37.             search: '{{ path('aviatur_content_search', {page: '1', active: 'activo', search: 'xx', type:'type'}) }}'
  38.         };
  39.     {% endif %}
  40.         jQuery(document).ready(function () {
  41.             tinyMCE.triggerSave();
  42.             tinyMCE.init({
  43.     language: "es",
  44.     selector: "textarea#notificacion",
  45.     theme: "modern",
  46.     plugins: [
  47.         "advlist autolink lists link image charmap print preview hr anchor pagebreak",
  48.         "searchreplace visualblocks wordcount visualchars code fullscreen",
  49.         "insertdatetime media nonbreaking save table contextmenu directionality",
  50.     ],
  51.     extended_valid_elements: "img[align<bottom?left?middle?right?top|alt|border|class|dir<ltr?rtl|height"
  52.             + "|hspace|id|ismap<ismap|lang|longdesc|name|onclick|ondblclick|onkeydown"
  53.             + "|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
  54.             + "|onmouseup|src|style|title|usemap|vspace|width|itemprop],figure[itemscope|itemtype|itemprop|class|style],figcaption[itemprop|class|style]",
  55.     toolbar1: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image print preview media | forecolor backcolor emoticons",
  56.     image_advtab: true,
  57.     theme_advanced_buttons3_add: "styleprops",
  58.     autosave_ask_before_unload: false,
  59.     relative_urls: false,
  60.     convert_urls: false,
  61.     remove_script_host: false
  62. });
  63.             jQuery('.js-content').on('click', function () {
  64.                 _loadSpinner("js-form-content");
  65.                 var id = jQuery(this).data("id");
  66.                 var url = contentRoute.edit.replace(/\xx/g, id);
  67.                 jQuery.get(url, function (data) {
  68.                     jQuery('#js-form-content').html(data);
  69.                     _removeSpinner("js-form-content");
  70.                 })
  71.             });
  72.             jQuery('.js-createContent').on('click', function () {
  73.                 _loadSpinner("det-contenido");
  74.             });
  75.             jQuery('.js-ocultarBut').on('click', function () {
  76.                 var inputs = jQuery('input[type=text]');
  77.                 var formvalido = 0;
  78.                 inputs.each(function () {
  79.                     if (jQuery(this).val() == '') {
  80.                         formvalido++;
  81.                     }
  82.                 });
  83.                 if (formvalido == 0) {
  84.                     _loadSpinner("det-contenido");
  85.                     _loadSpinner("js-form-content");
  86.                     jQuery('#buttons').hide('slow');
  87.                 } else {
  88.                     return formvalido;
  89.                 }
  90.             });
  91.             jQuery('.js-isActiContent').on('click', function () {
  92.                 _loadSpinner("js-form-content");
  93.                 var id = jQuery(this).data("id");
  94.                 var url = contentRoute.delete.replace(/\xx/g, id);
  95.                 jQuery.get(url, function (data) {
  96.                     jQuery('#js-form-content').html(data);
  97.                     _removeSpinner("js-form-content");
  98.                 });
  99.             });
  100.             var _citiesLabel = 'Ciudades';
  101.             var _citiesBase = [
  102.                 //Ciudades Nacionales
  103.                 {code: 'BOG', label: 'Buscar Contenidos', type: _citiesLabel},
  104.             ];
  105.             var _list = [];
  106.             var _changed;
  107.             var urlSearch = '';
  108.             var minChars = typeof _citiesBase !== 'undefined' ? 1 : 3;
  109.             jQuery('#PD_searchValidate').autocomplete({
  110.                 source: function (text, response) {
  111.                     var temp = [
  112.                         {code: '', label: 'Buscando...'}
  113.                     ];
  114.                     if (ajaxUrlAvail.indexOf('contenidos') == "1" || ajaxUrlAvail.indexOf('tiquetes-baratos-a') == "1") {
  115.                         urlSearch = '/contenidos'
  116.                     }
  117.                     if (ajaxUrlAvail.indexOf('autos') == "1") {
  118.                         urlSearch = '/autos/alquiler-de-carros-con'
  119.                     }
  120.                     if (ajaxUrlAvail.indexOf('buses') == "1") {
  121.                         urlSearch = '/buses/empresas-de-transporte-terrestre'
  122.                     }
  123.                     if (ajaxUrlAvail.indexOf('hoteles') == "1") {
  124.                         urlSearch = '/hoteles/hoteles-baratos-en'
  125.                     }
  126.                     response(jQuery.ui.autocomplete.filter(temp, 'busc'));
  127.                     if (text.term.length >= 6) {
  128.                         _list = new Array();
  129.                         jQuery.ajax({
  130.                             url: urlSearch + '/contenidos-autocomplete/',
  131.                             async: true,
  132.                             data: {term: text.term, url: ajaxUrlAvail},
  133.                             success: function (data) {
  134.                                 var a = data.split("\*"), b = {}, i = 0;
  135.                                 for (var n = 0, l = a.length, c; n < l; n++) {
  136.                                     c = a[n].split("\:");
  137.                                     b[i] = {};
  138.                                     b[i].label = c[1];
  139.                                     b[i].code = c[0];
  140.                                     _list[i] = new Array();
  141.                                     _list[i]['code'] = b[i].code;
  142.                                     _list[i]['label'] = b[i].label;
  143.                                     i++;
  144.                                 }
  145.                                 _changed = b;
  146.                                 response(jQuery.ui.autocomplete.filter(_list, text.term));
  147.                             }
  148.                         });
  149.                     } else if (_list.length > 0) {
  150.                         response(jQuery.ui.autocomplete.filter(_list, text.term));
  151.                     } else {
  152.                         var noData = 0;
  153.                         if (_citiesBase.length > 0) {
  154.                             var _preList = jQuery.ui.autocomplete.filter(_citiesBase, text.term);
  155.                             if (_preList.length > 0) {
  156.                                 response(_preList);
  157.                             } else {
  158.                                 noData = 1;
  159.                             }
  160.                         } else {
  161.                             noData = 1;
  162.                         }
  163.                         if (noData == 1) {
  164.                             var temp = [
  165.                                 {code: '', label: 'Buscando...'}
  166.                             ];
  167.                             response(jQuery.ui.autocomplete.filter(temp, 'busc'));
  168.                             var _waitingUpdate = function (waitingTime) {
  169.                                 setTimeout(function () {
  170.                                     if (_list.length > 0) {
  171.                                         response(jQuery.ui.autocomplete.filter(_list, text.term));
  172.                                     } else {
  173.                                         _waitingUpdate(waitingTime);
  174.                                     }
  175.                                 }, waitingTime);
  176.                             };
  177.                             _waitingUpdate(250);
  178.                         }
  179.                     }
  180.                 },
  181.                 minLength: minChars,
  182.                 select: function (event, ui) {
  183.                     var infoContent = ui.item.code.split("\|");
  184.                     var id = infoContent[0];
  185.                     var type = infoContent[1];
  186.                     var url = contentRoute.search.replace(/\xx/g, id).replace('type', type);
  187.                     jqxhr(url);
  188.                 },
  189.                 delay: 0
  190.             });
  191.             var jqxhr = function (url) {
  192.                 jQuery("#js-spinner-detailAvailability").show();
  193.                 _loadSpinner("js-spinOverlay-detailAvailability");
  194.                 jQuery.post(url, function () {
  195.                     jQuery('#content-info').empty();
  196.                 })
  197.                         .done(function (data) {
  198.                             jQuery('#content-info').html(data);
  199.                             _removeSpinner("js-spinOverlay-detailAvailability");
  200.                             jQuery("#js-spinner-detailAvailability").hide();
  201.                         })
  202.                         .fail(function () {
  203.                             _removeSpinner("js-spinOverlay-detailAvailability");
  204.                             jQuery("#js-spinner-detailAvailability").hide();
  205.                             alert("error");
  206.                         })
  207.             };
  208.         });
  209. </script>