PageSourceSearch

https://www.ideva.es/modules/custom/innolid_main/js/global_scripts.js?v=9.5.4

js ideva.es collected 2026-10-05 19:12:53 UTC 8,748 bytes, 171 lines download raw bytes

1/**
2 * @file
3 * Provides innolid_main attachment logic.
4 */
5
6(function ($, Drupal, drupalSettings) {
7
8  $(document).ready(function() {
9
10    /* Genero el menú tipo "TOC" */
11    if ($('.use-in-menu').length) {
12      var menu = "<nav class='menu-custom-toc'><ul>";
13      $('.use-in-menu').each(function(e) {
14        menu += "<li><a class='use-in-menu-anchor' href='#" + $(this).attr("id") + "'>" + $(this).attr("data-title") + "</a></li>";
15      });
16      menu += "</ul></nav>";
17
18      /* Lo añado como html a la sección especificada a tal efecto */
19      if (menu.length > 44) {
20        $('.use-in-menu-container').html(menu);
21      }
22    }
23
24    /* Hago un desplazamiento suave y elimino el anchor de la url */
25    $('.use-in-menu-anchor').click(function(e) {
26      e.preventDefault();
27
28      var anchor = $(this).attr('href');
29      var scroll = $(window).scrollTop();
30      
31      // si tenemos hecho algo de scroll, por alguna razón necesitamos menos offset
32      if (scroll > 0){
33        $("html, body").animate({scrollTop: $(anchor).offset().top - 100}, 1500);
34      }
35      else{
36        $("html, body").animate({scrollTop: $(anchor).offset().top - 200}, 1500);        
37      }
38    })
39
40  });
41
42  /**
43   * Attaches the innolid_main behavior
44   *
45   * @type {Drupal~behavior}
46   *
47   * @prop {Drupal~behaviorAttach} attach
48   */
49  Drupal.behaviors.innolid_main = {
50    attach: function (context, settings) {
51
52        /* fullscreen */
53        if( !$('.field--name-field-common-page-builder.field--widget-paragraphs .field--name-field-common-page-builder-left .btn-fullscreen' ).length){
54          var panelIzquierdo = $('.field--name-field-common-page-builder.field--widget-paragraphs .field--name-field-common-page-builder-left');
55          var panelCentral = $('.field--name-field-common-page-builder.field--widget-paragraphs .field--name-field-p-common-page-builder-main');
56          var panelDerecho = $('.field--name-field-common-page-builder.field--widget-paragraphs .field--name-field-common-page-builder-right');
57          panelIzquierdo.prepend('<div class="btn-fullscreen"><img src="/themes/custom/gcommons/images/icons/arrows-expand.svg" alt="<>"></div>');
58          panelCentral.prepend('<div class="btn-fullscreen"><img src="/themes/custom/gcommons/images/icons/arrows-expand.svg" alt="<>"></div>');
59          panelDerecho.prepend('<div class="btn-fullscreen"><img src="/themes/custom/gcommons/images/icons/arrows-expand.svg" alt="<>"></div>');
60          var imagenBotonIzquierdo = $('.field--name-field-common-page-builder.field--widget-paragraphs .field--name-field-common-page-builder-left .btn-fullscreen img');
61          var imagenBotonCentral = $('.field--name-field-common-page-builder.field--widget-paragraphs .field--name-field-p-common-page-builder-main .btn-fullscreen img');
62          var imagenBotonDerecho = $('.field--name-field-common-page-builder.field--widget-paragraphs .field--name-field-common-page-builder-right .btn-fullscreen img');
63
64          var botonesFullscreen = $('.field--name-field-common-page-builder.field--widget-paragraphs').find( '.btn-fullscreen' );
65          var imagenesBotones = $('.field--name-field-common-page-builder.field--widget-paragraphs').find( '.btn-fullscreen' ).find( 'img' );
66
67          $('.field--name-field-common-page-builder.field--widget-paragraphs .field--name-field-common-page-builder-left .btn-fullscreen').click(function(){
68            if($( this ).hasClass( 'active' )){
69              panelCentral.css( 'flexBasis', '50%' );
70              panelCentral.css( 'maxWidth', '50%' );
71              panelDerecho.css( 'flexBasis', '25%' );
72              panelDerecho.css( 'maxWidth', '25%' );
73              panelIzquierdo.css( 'flexBasis', '25%' );
74              panelIzquierdo.css( 'maxWidth', '25%' );
75              botonesFullscreen.removeClass( 'active' );
76              imagenesBotones.attr( 'src', '/themes/custom/gcommons/images/icons/arrows-expand.svg' );
77            }else{
78              panelCentral.css( 'flexBasis', '5%' );
79              panelCentral.css( 'maxWidth', '5%' );
80              panelDerecho.css( 'flexBasis', '5%' );
81              panelDerecho.css( 'maxWidth', '5%' );
82              panelIzquierdo.css( 'flexBasis', '90%' );
83              panelIzquierdo.css( 'maxWidth', '90%' );
84              botonesFullscreen.removeClass( 'active' );
85              imagenesBotones.attr( 'src', '/themes/custom/gcommons/images/icons/arrows-expand.svg' );
86              imagenBotonIzquierdo.attr( 'src', '/themes/custom/gcommons/images/icons/arrows-compress.svg' );
87              $( this ).addClass( 'active' );
88            }
89          });
90          $('.field--name-field-common-page-builder.field--widget-paragraphs .field--name-field-p-common-page-builder-main .btn-fullscreen').click(function(){
91            if($( this ).hasClass( 'active' )){
92              panelDerecho.css( 'flexBasis', '25%' );
93              panelDerecho.css( 'maxWidth', '25%' );
94              panelIzquierdo.css( 'flexBasis', '25%' );
95              panelIzquierdo.css( 'maxWidth', '25%' );
96              panelCentral.css( 'flexBasis', '50%' );
97              panelCentral.css( 'maxWidth', '50%' );
98              botonesFullscreen.removeClass( 'active' );
99              imagenesBotones.attr( 'src', '/themes/custom/gcommons/images/icons/arrows-expand.svg' );
100            }else{
101              panelDerecho.css( 'flexBasis', '5%' );
102              panelDerecho.css( 'maxWidth', '5%' );
103              panelIzquierdo.css( 'flexBasis', '5%' );
104              panelIzquierdo.css( 'maxWidth', '5%' );
105              panelCentral.css( 'flexBasis', '90%' );
106              panelCentral.css( 'maxWidth', '90%' );
107              botonesFullscreen.removeClass( 'active' );
108              imagenesBotones.attr( 'src', '/themes/custom/gcommons/images/icons/arrows-expand.svg' );
109              imagenBotonCentral.attr( 'src', '/themes/custom/gcommons/images/icons/arrows-compress.svg' );
110              $( this ).addClass( 'active' );
111            }
112          });
113          $('.field--name-field-common-page-builder.field--widget-paragraphs .field--name-field-common-page-builder
113-right .btn-fullscreen').click(function(){
114            if($( this ).hasClass( 'active' )){
115              panelIzquierdo.css( 'flexBasis', '25%' );
116              panelIzquierdo.css( 'maxWidth', '25%' );
117              panelCentral.css( 'flexBasis', '50%' );
118              panelCentral.css( 'maxWidth', '50%' );
119              panelDerecho.css( 'flexBasis', '25%' );
120              panelDerecho.css( 'maxWidth', '25%' );
121              botonesFullscreen.removeClass( 'active' );
122              imagenesBotones.attr( 'src', '/themes/custom/gcommons/images/icons/arrows-expand.svg' );
123            }else{
124              panelIzquierdo.css( 'flexBasis', '5%' );
125              panelIzquierdo.css( 'maxWidth', '5%' );
126              panelCentral.css( 'flexBasis', '5%' );
127              panelCentral.css( 'maxWidth', '5%' );
128              panelDerecho.css( 'flexBasis', '90%' );
129              panelDerecho.css( 'maxWidth', '90%' );
130              botonesFullscreen.removeClass( 'active' );
131              imagenesBotones.attr( 'src', '/themes/custom/gcommons/images/icons/arrows-expand.svg' );
132              imagenBotonDerecho.attr( 'src', '/themes/custom/gcommons/images/icons/arrows-compress.svg' );
133              $( this ).addClass( 'active' );
134            }
135          });
136        }
137
138      $(document).ready(function() {
139
140        /* Oculto todos los campos de "Texto del enlace" al añadir nuevo paragraph */
141        if ($('div.field--name-field-common-generate-link .form-checkbox').length) {
142          $('div.field--name-field-common-generate-link .form-checkbox').each(function(e) {
143            /* Quito o añado la clase hidden al campo de texto */
144            if ($(this).is(":checked")) {
145              $(this).parent().parent().parent().find('.field--name-field-common-link-text').show();
146            }
147            else {
148              $(this).parent().parent().parent().find('.field--name-field-common-link-text').hide();
149            }
150          })
151        }
152
153        /* Muestro u oculto el campo de texto del link según proceda */
154        if ($('div.field--name-field-common-generate-link').length) {
155
156          $('div.field--name-field-common-generate-link').find('.form-checkbox').click(function(e) {
157            /* Quito o añado la clase hidden al campo de texto */
158            if ($(this).is(":checked")) {
159              $(this).parent().parent().parent().find('.field--name-field-common-link-text').show();
160            }
161            else {
162              $(this).parent().parent().parent().find('.field--name-field-common-link-text').hide();
163            }
164          })
165        }
166      })
167
168    }
169  };
170
171})(jQuery, Drupal, drupalSettings);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.