1(function(global) { 2 // console.log('helper included'); 3 /** 4 * ÐлаÑÑ Ñ ÑÐ»Ð¿ÐµÑ Ð¿Ð¾ колÑаÑÑ, коÑоÑÑй доÑÑÑпен во вÑÐµÑ js ÑÐ°Ð¹Ð»Ð°Ñ . 5 */ 6 let Calltouch = { 7 8 calltouch_form_key: 'default', // клÑÑ Ð°Ð²ÑопÑозвона в колÑаÑе 9 /** 10 * ÐаÑÑÑойки виджеÑа и оÑобÑажение ÑоÑмÑ. (Ð´Ð»Ñ ÑеÑÑа или оÑобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð½Ð°ÑÑÑоек) 11 */ 12 getCalltouchSettings(){ 13 if (typeof window.ctw == "undefined") return false; 14 window.ctw.getRouteKeyData(this.calltouch_form_key, function(success, data){ 15 console.log(success, data); 16 if (success) { 17 if (data.widgetFound) { 18 if (data.widgetData.callCenterWorkingMode == 'working_hours') { 19 console.log('колл-ÑенÑÑ ÑабоÑаеÑ, оÑобÑажение виджеÑа'); 20 } else { 21 if (data.widgetData.collectNonWorkingRequests) { 22 console.log('колл-ÑенÑÑ Ð½Ðµ ÑабоÑаеÑ, но можем оÑобÑазиÑÑ ÑоÑÐ¼Ñ Ð½ÐµÑабоÑего вÑемени'); 23 } else { 24 console.log('колл-ÑенÑÑ Ð½Ðµ ÑабоÑаеÑ, заÑвки в неÑабоÑее вÑÐµÐ¼Ñ Ð½Ðµ ÑобиÑаем'); 25 } 26 } 27 } else { 28 console.log('не найден вклÑÑеннÑй Ð²Ð¸Ð´Ð¶ÐµÑ Ð¿Ð¾ routeKey, либо ÑÑлÑга обÑаÑного звонка не акÑивна'); 29 } 30 } else { 31 console.log('во вÑÐµÐ¼Ñ Ð¾Ð±ÑабоÑки пÑоизоÑла оÑибка'); 32 console.log(data) 33 } 34 }); 35 }, 36 /** 37 * ÐÑпÑавлÑем заÑÐ²ÐºÑ Ð½Ð° авÑопÑозвон 38 * @param name 39 * @param phone 40 */ 41 sendRequest({name, phone}){ 42 if (typeof window.ctw == "undefined") return false; 43 // ФоÑмаÑиÑÑем номеÑ, ÑÑÐ¾Ð±Ñ Ð¿Ð¾Ð»ÑÑилоÑÑ Ð±ÐµÐ· лиÑÐ½Ð¸Ñ Ð·Ð½Ð°ÐºÐ¾Ð² 44 phone = phone.replace(/[^0-9]/gim, ""); 45 window.ctw.createRequest( 46 this.calltouch_form_key, 47 phone, 48 [ 49 {"name": "ÐмÑ", "value": name}, 50 {"name": "phone", "value": phone} 51 ], 52 function (success, data) { 53 if (success) { 54 console.log( 55 "Создана заÑвка на колбек, иденÑиÑикаÑоÑ: " + 56 data.callbackRequestId 57 ); 58 } else { 59 switch (data.type) { 60 case "request_throttle_timeout": 61 case "request_throttle_count": 62 console.log( 63 "ÐоÑÑигнÑÑ Ð»Ð¸Ð¼Ð¸Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð·Ð°Ñвок, попÑобÑйÑе позже" 64 ); 65 break; 66 case "request_phone_blacklisted": 67 console.log("Ð½Ð¾Ð¼ÐµÑ ÑелеÑона Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð² ÑеÑном ÑпиÑке"); 68 break; 69 case "validation_error": 70 console.log("бÑли пеÑÐµÐ´Ð°Ð½Ñ Ð½ÐµÐºÐ¾ÑÑекÑнÑе даннÑе"); 71 break; 72 default: 73 console.log( 74 "Ðо вÑÐµÐ¼Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿ÑоÑа пÑоизоÑла оÑибка: " + data.type 75 ); 76 } 77 } 78 } 79 ); 80 } 81 }; 82 83 84 let Helper = { 85 /** 86 * УÑÑановка кÑк 87 * @param name 88 * @param value 89 * @param minutes 90 */
91 setCookie(name, value, minutes = 10){ 92 console.log('setted'); 93 var date = new Date(new Date().getTime() + minutes * 60 * 1000); 94 document.cookie = ""+name+"="+value+"; path=/; expires=" + date.toUTCString(); 95 }, 96 /** 97 * ÐолÑÑение кÑк 98 * @param name 99 * @returns {string|undefined} 100 */ 101 getCookie(name) { 102 let matches = document.cookie.match(new RegExp( 103 "(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)" 104 )); 105 return matches ? decodeURIComponent(matches[1]) : undefined; 106 } 107 }; 108 109 global.Calltouch = Calltouch; 110 global.Helper = Helper; 111})(window);
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.