PageSourceSearch

https://meteo.nc/modules/custom/mf_bms_vignette/js/src/index.js?v=1.x

js meteo.nc collected 2026-09-24 21:33:00 UTC 8,402 bytes, 168 lines download raw bytes

1(function ($, drupalSettings) {
2  Drupal.behaviors.bmsVignetteModule = {
3    attach: function (context, settings) {
4      var mfRes = Drupal.behaviors.tools.wrapper;
5      var dictionnary = {};
6      var promises = [
7				mfRes.warningDictionary('BMSLARGE-09'), 
8				mfRes.reportRaw('BMSLARGE-09',  "marine", 'BMS_large_fr', "json"),
9				mfRes.reportRaw('BMSCOTE-09',  "marine", 'BMS_cote_fr', "json"),
10			];
11      Promise.allSettled(promises).then(setDictionnary).catch(console.log);
12      function setDictionnary(data) {
13        if(data[0] == null || data[1] == null) return;
14        if(data[0].status != 'fulfilled' || data[1].status != 'fulfilled') return;
15
16        for(var i = 0; i < data[0].value.colors.length; ++i) {
17          var dictionnaryItem = data[0].value.colors[i];
18          dictionnary[dictionnaryItem.id] = {
19            level: dictionnaryItem.level,
20            name: dictionnaryItem.name,
21            hexaCode: dictionnaryItem.hexaCode
22          };
23        }
24        setWarnings(data);
25      }
26
27      function setWarnings(data) {
28        if(data[0] == null || data[1] == null) return;
29        if(data[0].status != 'fulfilled' || data[1].status != 'fulfilled' || data[2].status != 'fulfilled') return;
30
31        var hasBms = false;
32        if(data[1].value != null || data[2].value != null) {
33          hasBms = true;
34        }
35
36        if(!hasBms) {
37          $('#bms-vignette .bms-text').text("Pas de BMS en cours");
38          return;
39        }
40
41        $('#bms-vignette .bms-text').addClass('has-bms').text("BMS en cours");
42      }
43      if(!$('#mobile_vignettes_row').length > 0)
44        jQuery('<div id="mobile_vignettes_row"></div>').prependTo('#page_content_header');
45
46      if(getDevice() == 'mobile') {
47        jQuery('#block-mfbmsvignette, #block-public-mfbmsvignette').appendTo('#mobile_vignettes_row');
48        // jQuery('#block-mfbmsvignette, #block-public-mfbmsvignette').css({'margin-bottom': '30px', 'margin-top': '10px'});
49      }
50      jQuery(window).on('resize', function(){
51        if(getDevice() == 'mobile') {
52          jQuery('#block-mfbmsvignette, #block-public-mfbmsvignette').appendTo('#mobile_vignettes_row');
53          // jQuery('#block-mfbmsvignette, #block-public-mfbmsvignette').css({'margin-bottom': '30px', 'margin-top': '10px'});
54        }
55        else {
56          jQuery('#block-mfbmsvignette, #block-public-mfbmsvignette').appendTo('#primary_sidebar .region-primary-sidebar');
57          // jQuery('#block-mfbmsvignette, #block-public-mfbmsvignette').css({'margin-bottom': '0', 'margin-top': '0'});
58        }
59      });
60
61      function getDevice() {
62        let device = 'desktop';
63        window.mobilecheck = function () {
64          let check = false;
65          (function (a) { if (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|
65sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0, 4))) check = true; })(navigator.userAgent || navigator.vendor || window.opera);
66          return check;
67        };
68        if (mobilecheck()) {
69          device = 'mobile';
70        } else {
71          device = 'desktop';
72        }
73        return device;
74      }
75      
76      /*
77      var promises = [
78				mfRes.warningDictionary('BMSLARGE-09'), 
79				mfRes.warningTimelaps('BMSLARGE-09', 1, 'BMS'),
80				mfRes.warningTimelaps('BMSCOTE-09', 1, 'BMS'),
81			];
82			Promise.allSettled(promises).then(setDictionnary).catch(console.log);
83
84      function setDictionnary(data) {
85        if(data[0] == null || data[1] == null) return;
86        if(data[0].status != 'fulfilled' || data[1].status != 'fulfilled') return;
87
88        for(var i = 0; i < data[0].value.colors.length; ++i) {
89          var dictionnaryItem = data[0].value.colors[i];
90          dictionnary[dictionnaryItem.id] = {
91            level: dictionnaryItem.level,
92            name: dictionnaryItem.name,
93            hexaCode: dictionnaryItem.hexaCode
94          };
95        }
96        setWarnings(data);
97      }
98
99      function setWarnings(data) {
100        if(data[0] == null || data[1] == null) return;
101        if(data[0].status != 'fulfilled' || data[1].status != 'fulfilled' || data[2].status != 'fulfilled') return;
102
103        var highestId = -1;
104        var highestLevel = 2;
105        var nowDate = moment();
106        // $('#bms-vignette .bms-text').text(number + " " + dictionnary[highestId].name);
107        
108        let hasBms = false;
109        for(var i = 0; i < data[1].value.subdomains_timelaps.length; ++i) {
110          var subDomainTimelaps = data[1].value.subdomains_timelaps[i];
111
112          if(subDomainTimelaps.timelaps == null) continue;
113          if(subDomainTimelaps.timelaps.length == 0) continue;
114          if(subDomainTimelaps.timelaps[0].phenomenon_id != "16") continue;
115
116          for(var y = 0; y < subDomainTimelaps.timelaps[0].timelaps_items.length; ++y) {
117            var timelapsItem = subDomainTimelaps.timelaps[0].timelaps_items[y];
118
119            var dateFin = moment(timelapsItem.end_time * 1000);
120
121            if ((timelapsItem.end_time != null && nowDate.unix() > dateFin.unix()) ) continue;
122
123            if(dictionnary[parseInt(timelapsItem.color_id)].level < highestLevel) continue;
124
125            hasBms = true;
126            break;
127          }
128        }
129        for(var i = 0; i < data[2].value.subdomains_timelaps.length; ++i) {
130          var subDomainTimelaps = data[2].value.subdomains_timelaps[i];
131
132          if(subDomainTimelaps.timelaps == null) continue;
133          if(subDomainTimelaps.timelaps.length == 0) continue;
134          if(subDomainTimelaps.timelaps[0].phenomenon_id != "16") continue;
135
136          for(var y = 0; y < subDomainTimelaps.timelaps[0].timelaps_items.length; ++y) {
137            var timelapsItem = subDomainTimelaps.timelaps[0].timelaps_items[y];
138
139            var dateFin = moment(timelapsItem.end_time * 1000);
140
141            if ((timelapsItem.end_time != null && nowDate.unix() > dateFin.unix()) ) continue;
142
143            if(dictionnary[parseInt(timelapsItem.color_id)].level < highestLevel) continue;
144
145            hasBms = true;
146            break;
147          }
148        }
149        // $('#bms-vignette .bms-text').text(number + " " + dictionnary[highestId].name);
150        if (hasBms) {
151          $('#bms-vignette .bms-text').addClass('has-bms').text("BMS en cours");
152        } else {
153          // if (window.innerWidth < 1024) {
154          //   $('#bms-vignette').hide();
155          // } else {
156          //   $('#bms-vignette .bms-text').text("Pas de BMS en cours");
157          // }
158          $('#bms-vignette .bms-text').text("Pas de BMS en cours");
159        }
160      }
161      
162      */
163    },
164  }
165})(jQuery, drupalSettings)
166
167
168

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.