PageSourceSearch

https://app.logixautomation.ai/webchat/myjs.js?v=4

js logixautomation.ai collected 2026-10-05 12:13:50 UTC 4,183 bytes, 237 lines download raw bytes

1var myjs = {};
2
3
4
5myjs.getCookie = function(key)
6{
7	return localStorage.getItem(key);
8}
9
10myjs.setCookie = function(key, value, days = 30)
11{
12	localStorage.setItem(key, value);	
13}
14
15myjs.hasCookie = function(key)
16{	
17	return myjs.getCookie(key) != null;
18}
19
20myjs.removeCookie = function(key)
21{
22	localStorage.removeItem(key);
23}
24
25myjs.getQuery = function(key, url = null)
26{
27	if (!url) url = window.location.href;
28		key = key.replace(/[\[\]]/g, '\\$&');
29
30    var regex = new RegExp('[?&]' + key + '(=([^&#]*)|&|#|$)'),
31
32    results = regex.exec(url);
33
34    if (!results) return null;
35    if (!results[2]) return '';
36    
37	return decodeURIComponent(results[2].replace(/\+/g, ' '));
38}
39
40myjs.isEmail = function(str)
41{
42	const re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
43    return re.test(String(str).toLowerCase());
44}
45
46myjs.isUrl = function(str)
47{
48	var pattern = new RegExp('^(https?:\\/\\/)?'+
49    '((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|'+
50    '((\\d{1,3}\\.){3}\\d{1,3}))'+
51    '(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*'+
52    '(\\?[;&a-z\\d%_.~+=-]*)?'+
53    '(\\#[-a-z\\d_]*)?$','i');
54
55	return !!pattern.test(str);
56}
57
58myjs.isNumber = function(str)
59{
60	return !isNaN(str);
61}
62
63// SLUGIFY
64myjs.slug = function(str)
65{
66	return str
67        .toLowerCase()
68        .replace(/ /g,'-')
69        .replace(/[^\w-]+/g,'')
70        ;
71}
72
73// RANDOM
74myjs.random = function(min, max = null)
75{
76	if(max == null)
77		return myjs.random(0, min);
78
79	return min + Math.floor(Math.random() * (max - min));
80}
81
82// REDIRECT
83myjs.redirect = function(url)
84{
85	window.location.href = url;
86}
87
88// ELEMENT
89myjs.e = function(query)
90{
91	var elements = document.querySelectorAll(query);
92
93	// if(elements.length == 1)
94	// 	return elements[0];
95
96	if(elements.length == 0)
97		return null;
98
99	return elements;
100}
101
102myjs.addClass = function(query, new_class)
103{
104	var elements = myjs.e(query);
105
106	for(var i = 0; i < elements.length; i++)
107	{
108		elements[i].classList.add(new_class);
109	}
110}
111
112myjs.removeClass = function(query, old_class)
113{
114	var elements = myjs.e(query);
115
116	for(var i = 0; i < elements.length; i++)
117	{
118		elements[i].classList.remove(old_class);
119	}
120}
121
122myjs.setHtml = function(query, html)
123{
124	var elements = myjs.e(query);
125
126	for(var i = 0; i < elements.length; i++)
127	{
128		elements[i].innerHTML = html;
129	}
130}
131
132myjs.getHtml = function(query)
133{
134	var elements = myjs.e(query);
135
136	if(elements)
137		return elements[0].innerHTML;
138
139	return null;
140}
141
142myjs.setVal = function(query, value)
143{
144	var elements = myjs.e(query);
145
146	for(var i = 0; i < elements.length; i++)
147	{
148		elements[i].value = value;
149	}
150}
151
152myjs.getVal = function(query)
153{
154	var elements = myjs.e(query);
155
156	if(elements)
157		return elements[0].value;
158
159	return null;
160}
161
162myjs.hide = function(query)
163{
164	var elements = myjs.e(query);
165
166	for(var i = 0; i < elements.length; i++)
167	{
168		elements[i].style.display = "none";
169	}
170}
171
172myjs.show = function(query)
173{
174	var elements = myjs.e(query);
175
176	for(var i = 0; i < elements.length; i++)
177	{
178		elements[i].style.display = "block";
179	}
180}
181
182myjs.autoSelect = function()
183{
184	var elements = myjs.e("[data-value]");
185
186	for(var i = 0; i < elements.length; i++)
187	{
188		elements[i].value = elements[i].getAttribute("data-value");
189	}
190}
191
192
193
194
195
196myjs.toUtc = function(datetime, timezone)
197{
198	var x = datetime; 
199	var y = moment.tz(x, timezone);
200	return y.utc();
201}
202
203myjs.fromUtc = function(datetime, timezone)
204{
205	var x = moment.utc(datetime);
206	var y =  moment.tz(x, timezone);
207	return y;
208}
209
210myjs.swapArray = function(elements, position, direction = "right", callback = null) {
211
212    for(var i = 0; i < elements.length; i++)
213    {
214        if(i == position)
215        {
216            if(direction == 'left' && i > 0)
217            {
218                var aux = elements[i];
219                elements[i] = elements[i-1];
220                elements[i-1] = aux;
221            }
222            else if(direction == 'right' && i < elements.length - 1)
223            {
224                var aux = elements[i];
225                elements[i] = elements[i+1];
226                elements[i+1] = aux;
227            }
228
229            break;
230        }
231    }
232
233    if(callback)
234    	callback();
235
236    return elements;
237}

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.