word-games-theme 1.1.0 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1fac7816d22aa585e1597a8162ec27c4cc146c649bd88f283091800f1380bd0e
4
- data.tar.gz: e62e8a2388d6e56b3c5c9d582843ce7fa6b32e33a2fbadd2ceeb0c24454c7f91
3
+ metadata.gz: 8b9f7f8f2001ad497331a46b4cdd012220890886f94346fb468b99c4ff0fe79e
4
+ data.tar.gz: 02aef104d5ccfa527fbb16fa85217a251befcfb888d985f87e5662bdb15c4e35
5
5
  SHA512:
6
- metadata.gz: 5e2dc7d5ca132feb8d67959d67af337e19eab6f28d3e086a27a6290f4a1d3647bc0717e2d79f1c99dc066a662652a5be132ddb24f004fa1820a121fa8f39c565
7
- data.tar.gz: 6e66fedaf884043783417ba4f23f5ff0bceb6d90ade729040406558dc5b92c9e693688dabd98c4aa929b5c1ea60370f81a81b77719097e62cb87516065359128
6
+ metadata.gz: ed8c70fa2e14defcb4f9b5f8b7d67d0f9087919bf36e8ab5056e5eca2b26879c3ec4eeb63145653ce5a4bb92db2cb18db9bbeed81d3a250f2bb395ccd35ab27a
7
+ data.tar.gz: 1521f85c30aa87f9755f269e50239179516b83cffd5da1e4d2efe657103b7adfcefce064feefa340e0bec303033722c986ba291258791cfe417a44d3458f8f25
@@ -162,7 +162,7 @@ a {
162
162
  right: auto;
163
163
  position: fixed;
164
164
  left: 0px;
165
- top: 0px;
165
+ top: 135px;
166
166
  width: 100%;
167
167
  }
168
168
  .filter_count {
data/assets/css/home.css CHANGED
@@ -4,11 +4,12 @@
4
4
  flex-direction: column;
5
5
  justify-content: center;
6
6
  align-items: center;
7
- height: 50vh;
7
+ height: auto;
8
8
  background: url(../images/bg_elements.png);
9
9
  background-position: center;
10
10
  background-size: cover;
11
11
  margin-bottom: 20vh;
12
+ padding:15px 0;
12
13
  }
13
14
  .result_navbar_section{
14
15
  width: 100%;
@@ -323,9 +324,6 @@ input:-webkit-autofill:active {
323
324
  .result_navbar_section{
324
325
  padding: 1.2rem 15px !important;
325
326
  }
326
- .pageHeaderBg{
327
- height: 300px;
328
- }
329
327
  .pageHeading{
330
328
  margin-bottom: 1rem;
331
329
  }
data/assets/css/style.css CHANGED
@@ -28,15 +28,18 @@ html {
28
28
  /* loader css close */
29
29
  header {
30
30
  width: 100%;
31
- position: relative;
31
+ position: sticky;
32
+ top: 0;
33
+ left: 0;
34
+ z-index: 999;
32
35
  }
33
36
  .navbar {
34
37
  width: 100%;
35
38
  padding: 1.2rem 9% !important;
36
- position: fixed;
39
+ /* position: fixed;
37
40
  top: 0;
38
41
  left: 0;
39
- z-index: 999;
42
+ z-index: 999; */
40
43
  display: flex;
41
44
  justify-content: space-between;
42
45
  flex-wrap: wrap;
@@ -244,8 +247,8 @@ header {
244
247
  }
245
248
 
246
249
  .tools_headings {
247
- margin-top: 110px;
248
- margin-bottom: 20px;
250
+ padding: 15px 0;
251
+
249
252
  }
250
253
  .how-to-section {
251
254
  padding: 90px 0;
data/assets/js/test.js ADDED
@@ -0,0 +1,763 @@
1
+ /***************
2
+ SCRABBLER_JS
3
+ ***************/
4
+
5
+ // grab some html elements
6
+
7
+
8
+ const getScript = document.currentScript
9
+ let form = document.querySelector('.resultPageSearchBtn')
10
+ let wordCount = document.querySelector('.wordCount')
11
+ let main = document.querySelector('.main')
12
+ let errorMsg = document.querySelector('.errorMsg')
13
+ let script = document.currentScript
14
+
15
+ // getqueryUrl from form
16
+ const params = new URLSearchParams(window.location.search)
17
+ let serachValue = params.get('search').toLowerCase()
18
+ let prefixValue = params.get('prefix')
19
+ let containsValue = params.get('contains')
20
+ let suffixValue = params.get('suffix')
21
+ let exculdeValue = params.get('exculde')
22
+ let includeValue = params.get('include')
23
+ let lengthValue = params.get('length')
24
+ let dictonary = params.get('dictionary')
25
+
26
+ // advanced filter element grabs
27
+ let tick
28
+ let startsWith = document.getElementById('startsWith')
29
+ let mustInclude = document.getElementById('mustInclude')
30
+ let endsWith = document.getElementById('endsWith')
31
+ let exculdeWith = document.getElementById('exculdeWith')
32
+ let inculdeWith = document.getElementById('inculdeWith')
33
+ let wordLength = document.getElementById('wordLength')
34
+
35
+ let ok = true
36
+
37
+ let tab_container = document.querySelector('.tab_container')
38
+ const siteUrl = getScript.dataset.url
39
+ var sortValue
40
+ var sortBool = false
41
+
42
+
43
+ let letterCloseButton = document.querySelector('.letter-close-button-commonPage')
44
+ if (serachValue) {
45
+ letterCloseButton.classList.add("ltr-cls-btn-commonPage")
46
+ }
47
+ letterCloseButton.addEventListener("click", () => {
48
+ txtBox.value = ""
49
+ letterCloseButton.classList.remove("ltr-cls-btn-commonPage")
50
+ })
51
+
52
+
53
+ let txtBox = document.querySelector('.txtBox')
54
+ txtBox.focus()
55
+ txtBox.value = serachValue
56
+ txtBox.addEventListener('input', (e) => {
57
+ if (e.target.value === "") {
58
+ letterCloseButton.classList.remove("ltr-cls-btn-commonPage")
59
+ } else {
60
+ letterCloseButton.classList.add("ltr-cls-btn-commonPage")
61
+ }
62
+ let rangeOfBlankTile = script.dataset.range
63
+ e.target.value = e.target.value.replace(/[^a-zA-Z? ]/g, '')
64
+ if (rangeOfBlankTile === '') {
65
+ rangeOfBlankTile = 3
66
+ }
67
+ e.target.value = e.target.value.replace(/ /g, '?')
68
+ let data = []
69
+ data = e.target.value.split('').filter((i) => i === '?')
70
+ if (data.length > rangeOfBlankTile) {
71
+ e.target.value = e.target.value.replace(/\?$/, '')
72
+ }
73
+ })
74
+ var theSelect = document.getElementById('select_dropDown')
75
+
76
+ const sortup = document.querySelector(".sortup-icon")
77
+ let bool = false
78
+ sortup.addEventListener("click", () => {
79
+ if (bool) {
80
+ theSelect.size = 0
81
+ bool = false
82
+ theSelect.style.display = "none"
83
+ }
84
+ else {
85
+ bool = true
86
+ theSelect.size = 3
87
+ theSelect.style.display = "block"
88
+ }
89
+ })
90
+ document.querySelector('.select_dropDown2').value = dictonary
91
+ const getDiff = (text1, text2) => {
92
+ var diffRange = []
93
+ var currentRange = undefined
94
+ for (var i = 0; i < text1.length; i++) {
95
+ if (text1[i] != text2[i]) {
96
+ if (currentRange == undefined) {
97
+ currentRange = [i]
98
+ }
99
+ }
100
+ if (currentRange != undefined && text1[i] == text2[i]) {
101
+ currentRange.push(i)
102
+ diffRange.push(currentRange)
103
+ currentRange = undefined
104
+ }
105
+ }
106
+ if (currentRange != undefined) {
107
+ currentRange.push(i)
108
+ diffRange.push(currentRange)
109
+ }
110
+ return diffRange
111
+ }
112
+ // getWords define...
113
+ const getData = async (serachValue) => {
114
+ try {
115
+
116
+ let selectedDictionary = document.querySelector('.select_dropDown2').value
117
+ main.innerHTML = `<div class="loader">
118
+ <img src='/assets/images/loading.gif'>
119
+ <div style="font-weight:900;font-size:14px" >Finding words - Powered by ${siteUrl.replace(/^https?:\/\//, '')}</div>
120
+ </div>`
121
+ /// loader
122
+ const response = await fetch(
123
+ `http://127.0.0.1:9000/getWords?name=${serachValue}&selecteddictionary=${selectedDictionary}`
124
+ )
125
+ const data = await response.json()
126
+ main.innerHTML = ''
127
+ console.log(data)
128
+ getWords(data)
129
+ //getWords calling...
130
+ } catch (error) {
131
+ console.log(error)
132
+ }
133
+ }
134
+ //getData calling...
135
+ if (lengthValue === '1') {
136
+ errorMsg.innerHTML = 'words length should be more than 1'
137
+ } else {
138
+ getData(serachValue.toLowerCase())
139
+ form.addEventListener("click", (e) => {
140
+ main.innerHTML = ''
141
+ console.log("clicked")
142
+ e.preventDefault()
143
+ getData(txtBox.value.toLowerCase())
144
+ })
145
+
146
+ }
147
+
148
+
149
+
150
+
151
+ // getWords function define...
152
+ function getWords(data) {
153
+ if (typeof data === 'string') {
154
+ errorMsg.innerHTML = 'no words found'
155
+ wordCount.innerHTML = `<strong>Found 0 words with letters ${serachValue.split(
156
+ ''
157
+ )}</strong>`
158
+ } else {
159
+ let newWordsLength = 0
160
+
161
+ // sort eventlistener
162
+ theSelect.addEventListener('change', () => {
163
+ sortValue = theSelect[theSelect.selectedIndex].text
164
+ if (sortValue == 'Z-A') {
165
+ sortBool = true
166
+ sortby(sortBool, data)
167
+ } else {
168
+ sortBool = false
169
+ sortby(sortBool, data)
170
+ }
171
+ if (sortValue == 'Points') {
172
+ sortBool = true
173
+ sortPointsby(sortBool, data)
174
+ }
175
+ })
176
+
177
+ for (let i = serachValue.length; i >= 1; i--) {
178
+ let newdata = data.filter((item) => item.length === i)
179
+
180
+ if (prefixValue) {
181
+ newdata = newdata.filter((item2) =>
182
+ item2.startsWith(prefixValue.toLowerCase())
183
+ )
184
+ startsWith.classList.add('tick')
185
+ startsWith.value = prefixValue
186
+ }
187
+ if (containsValue) {
188
+ newdata = newdata.filter((item) =>
189
+ item.includes(containsValue.toLowerCase())
190
+ )
191
+ mustInclude.classList.add('tick')
192
+ mustInclude.value = containsValue
193
+ }
194
+ if (suffixValue) {
195
+ newdata = newdata.filter((item) =>
196
+ item.endsWith(suffixValue.toLowerCase())
197
+ )
198
+ endsWith.classList.add('tick')
199
+ endsWith.value = suffixValue
200
+ }
201
+
202
+ if (exculdeValue) {
203
+ let data = []
204
+ newdata.map((item) => {
205
+ let check = false
206
+ for (let e = 0; e < exculdeValue.length; e++) {
207
+ const element = exculdeValue[e].toLowerCase()
208
+ if (item.includes(element)) {
209
+ check = true
210
+ break
211
+ } else {
212
+ check = false
213
+ }
214
+ }
215
+ if (check === false) {
216
+ data.push(item)
217
+ }
218
+ })
219
+ exculdeWith.classList.add('tick')
220
+ exculdeWith.value = exculdeValue
221
+ newdata = data
222
+ }
223
+ if (includeValue) {
224
+ let data = []
225
+ newdata.map((item) => {
226
+ let check = false
227
+ for (let e = 0; e < includeValue.length; e++) {
228
+ const element = includeValue[e].toLowerCase()
229
+ if (!item.includes(element)) {
230
+ check = true
231
+ break
232
+ } else {
233
+ check = false
234
+ }
235
+ }
236
+ if (check === false) {
237
+ data.push(item)
238
+ }
239
+ })
240
+ inculdeWith.classList.add('tick')
241
+ inculdeWith.value = includeValue
242
+ newdata = data
243
+ }
244
+
245
+ if (lengthValue) {
246
+ newdata = newdata.filter((item) => item.length == lengthValue)
247
+ wordLength.classList.add('tick')
248
+ wordLength.value = lengthValue
249
+ }
250
+
251
+ if (newdata.length === 0) {
252
+ main.innerHTML += ''
253
+ } else {
254
+ newWordsLength += newdata.length
255
+ const result = newdata.map((item) => {
256
+ var text1 = serachValue.replace('?', '')
257
+ var text2 = item
258
+ var text3 = item
259
+ let chars = text1.split('')
260
+
261
+
262
+ let indexs = []
263
+ chars.map((i) => {
264
+ let findIndexes = findIndex(text3, i)
265
+ if (findIndexes.length > 0) {
266
+ text3 = text3.split('')
267
+ text3[findIndexes] = '$'
268
+ text3 = text3.join('')
269
+
270
+ indexs = [...indexs, ...findIndexes]
271
+ }
272
+ })
273
+ let itemHtml = ''
274
+ text2.split('').map((itemValue, index) => {
275
+ let check = indexs.find((i) => i === index)
276
+
277
+ if (check !== undefined) {
278
+ itemHtml += `${itemValue}`
279
+ } else {
280
+ itemHtml += `<span class='highlight'>${itemValue}</span>`
281
+ }
282
+ })
283
+
284
+ if (item.length === 1) {
285
+ ok = false
286
+ newWordsLength = newWordsLength - 1
287
+ } else {
288
+ let ScrabbleLetterScore = ScrabbleScore()
289
+ sum = 0
290
+ item = item.toLowerCase()
291
+ for (let i = 0; i < item.length; i++) {
292
+ sum += ScrabbleLetterScore[item[i]] || 0 // for unknown characters
293
+ }
294
+ return `<a class="anchor__style" title="Lookup ${item} in Dictionary" target="_blank" href="/word-meaning?search=${item.toLowerCase()}">
295
+ <li>${itemHtml}
296
+ <span class="points" value="${sum}" style="position:relative; top:4px; font-size:12px"> ${sum}</span>
297
+ </li></a>`
298
+ }
299
+ })
300
+
301
+ if (ok) {
302
+ tab_container.innerHTML += `
303
+ <input type="button" id="Tab_${i}" onclick="Filtering(${i})" value="${i} Letter"
304
+ class="tab_link cursorPointer" />
305
+ `
306
+ let tabs = document.getElementsByClassName('tab_link')
307
+ tabs[0] ? tabs[0].classList.add('active-tab') : ''
308
+ main.innerHTML += `
309
+ <div class="allGroupWords wordlistContainer" id="alpha_${i}">
310
+ <div class="wordListHeading">
311
+ <h3 class="lead">${i} Letter Words</h3>
312
+ </div>
313
+ <div class="wordList">
314
+ <ul class="ul list-unstyled">
315
+ ${result.join('')}
316
+ </ul>
317
+ </div>
318
+ </div>
319
+ `
320
+ }
321
+ }
322
+ }
323
+
324
+ if (newWordsLength === 0) {
325
+ errorMsg.innerHTML = 'no words found'
326
+ } else {
327
+ wordCount.innerHTML = `<strong>Found ${newWordsLength} words with letters with ${serachValue.split(
328
+ ''
329
+ )}</strong>`
330
+ }
331
+ }
332
+ }
333
+
334
+ // sorting by points
335
+ function sortPointsby(sortValue, data) {
336
+ main.innerHTML = ''
337
+ if (sortValue) {
338
+ let newWordsLength = 0
339
+ for (let i = serachValue.length; i >= 1; i--) {
340
+ var newdata = data.filter((item) => item.length === i)
341
+
342
+ if (newdata.length === 0) {
343
+ main.innerHTML += ''
344
+ } else {
345
+ newWordsLength += newdata.length
346
+ var newArray = []
347
+ newdata.map((item) => {
348
+ if (item.length === 1) {
349
+ ok = false
350
+ newWordsLength = newWordsLength - 1
351
+ } else {
352
+ let ScrabbleLetterScore = ScrabbleScore()
353
+ let points = 0
354
+ item = item.toLowerCase()
355
+ for (let i = 0; i < item.length; i++) {
356
+ points += ScrabbleLetterScore[item[i]] || 0 // for unknown characters
357
+ }
358
+ const value = {
359
+ words: item,
360
+ points: points,
361
+ }
362
+ newArray.push(value)
363
+ }
364
+ })
365
+
366
+ newArray.sort(function (a, b) {
367
+ return b.points - a.points
368
+ })
369
+
370
+ const result = newArray.map((item) => {
371
+ var text1 = serachValue.replace('?', '')
372
+ var text2 = item.words
373
+ var text3 = item.words
374
+
375
+
376
+ function findIndex(str, char) {
377
+ const strLength = str.length
378
+ const indexes = []
379
+ let newStr = str
380
+ while (newStr && newStr.indexOf(char) > -1) {
381
+ indexes.push(newStr.indexOf(char) + strLength - newStr.length)
382
+ newStr = newStr.substring(newStr.indexOf(char) + 1)
383
+ newStr = newStr.substring(newStr.indexOf(char) + 1)
384
+ }
385
+ return indexes
386
+ }
387
+ let chars = text1.split('')
388
+ let indexs = []
389
+ chars.map((i) => {
390
+ let findIndexes = findIndex(text3, i)
391
+ if (findIndexes.length > 0) {
392
+ text3 = text3.split('')
393
+ text3[findIndexes] = '$'
394
+ text3 = text3.join('')
395
+ indexs = [...indexs, ...findIndexes]
396
+ }
397
+ })
398
+ let itemHtml = ''
399
+ text2.split('').map((itemValue, index) => {
400
+ let check = indexs.find((i) => i === index)
401
+ if (check !== undefined) {
402
+ itemHtml += `${itemValue}`
403
+ } else {
404
+ itemHtml += `<span class='highlight'>${itemValue}</span>`
405
+ }
406
+ })
407
+ return `<a class="anchor__style" title="Lookup ${item} in Dictionary" target="_blank" href="/word-meaning?search=${item.words}">
408
+ <li>${itemHtml}
409
+ <span class="points" value="${item.points}" style="position:relative; top:4px; font-size:12px"> ${item.points}</span>
410
+ </li></a>`
411
+ })
412
+
413
+ main.innerHTML += `
414
+ <div class="allGroupWords wordlistContainer" id="alpha_${i}">
415
+ <div class="wordListHeading">
416
+ <h3 class="lead">${i} Letter Words</h3>
417
+ </div>
418
+ <div class="wordList">
419
+ <ul class="ul list-unstyled">
420
+ ${result.join('')}
421
+ </ul>
422
+ </div>
423
+ </div>
424
+ `
425
+ }
426
+ }
427
+ }
428
+ }
429
+
430
+ // sort by aplhabets
431
+ function sortby(sortBool, data) {
432
+ if (sortBool) {
433
+ main.innerHTML = ''
434
+ data.reverse()
435
+ let newWordsLength = 0
436
+ for (let i = serachValue.length; i >= 1; i--) {
437
+ var newdata = data.filter((item) => item.length === i)
438
+
439
+ if (newdata.length === 0) {
440
+ main.innerHTML += ''
441
+ } else {
442
+ newWordsLength += newdata.length
443
+
444
+ const result = newdata.map((item) => {
445
+ var text1 = serachValue.replace('?', '')
446
+ var text2 = item
447
+ var text3 = item
448
+ let chars = text1.split('')
449
+ let indexs = []
450
+ chars.map((i) => {
451
+ let findIndexes = findIndex(text3, i)
452
+ if (findIndexes.length > 0) {
453
+ text3 = text3.split('')
454
+ text3[findIndexes] = '$'
455
+ text3 = text3.join('')
456
+ indexs = [...indexs, ...findIndexes]
457
+ }
458
+ })
459
+ let itemHtml = ''
460
+ text2.split('').map((itemValue, index) => {
461
+ let check = indexs.find((i) => i === index)
462
+ if (check !== undefined) {
463
+ itemHtml += `${itemValue}`
464
+ } else {
465
+ itemHtml += `<span class='highlight'>${itemValue}</span>`
466
+ }
467
+ })
468
+ if (item.length === 1) {
469
+ ok = false
470
+ newWordsLength = newWordsLength - 1
471
+ } else {
472
+ let ScrabbleLetterScore = ScrabbleScore()
473
+ let sum = 0
474
+ item = item.toLowerCase()
475
+ for (let i = 0; i < item.length; i++) {
476
+ sum += ScrabbleLetterScore[item[i]] || 0 // for unknown characters
477
+ }
478
+
479
+ return `<a class="anchor__style" title="Lookup ${item} in Dictionary" target="_blank" href="/word-meaning?search=${item.toLowerCase()}">
480
+ <li>${itemHtml}
481
+ <span class="points" value="${sum}" style="position:relative; top:4px; font-size:12px"> ${sum}</span>
482
+ </li></a>`
483
+ }
484
+ })
485
+
486
+ main.innerHTML += `
487
+ <div class="allGroupWords wordlistContainer" id="alpha_${i}">
488
+ <div class="wordListHeading">
489
+ <h3 class="lead">${i} Letter Words</h3>
490
+ </div>
491
+ <div class="wordList">
492
+ <ul class="ul list-unstyled">
493
+ ${result.join('')}
494
+ </ul>
495
+ </div>
496
+ </div>
497
+ `
498
+ }
499
+ }
500
+ } else {
501
+ main.innerHTML = ''
502
+ data.sort()
503
+ for (let i = serachValue.length; i >= 1; i--) {
504
+ var newdata = data.filter((item) => item.length === i)
505
+ if (newdata.length === 0) {
506
+ main.innerHTML += ''
507
+ } else {
508
+ const result = newdata.map((item) => {
509
+ var text1 = serachValue.replace('?', '')
510
+ var text2 = item
511
+ var text3 = item
512
+ let chars = text1.split('')
513
+ let indexs = []
514
+ chars.map((i) => {
515
+ let findIndexes = findIndex(text3, i)
516
+ if (findIndexes.length > 0) {
517
+ text3 = text3.split('')
518
+ text3[findIndexes] = '$'
519
+ text3 = text3.join('')
520
+ indexs = [...indexs, ...findIndexes]
521
+ }
522
+ })
523
+ let itemHtml = ''
524
+ text2.split('').map((itemValue, index) => {
525
+ let check = indexs.find((i) => i === index)
526
+ if (check !== undefined) {
527
+ itemHtml += `${itemValue}`
528
+ } else {
529
+ itemHtml += `<span class='highlight'>${itemValue}</span>`
530
+ }
531
+ })
532
+ if (item.length === 1) {
533
+ ok = false
534
+ } else {
535
+ let ScrabbleLetterScore = ScrabbleScore()
536
+ let sum = 0
537
+ item = item.toLowerCase()
538
+ for (let i = 0; i < item.length; i++) {
539
+ sum += ScrabbleLetterScore[item[i]] || 0 // for unknown characters
540
+ }
541
+
542
+ return `<a class="anchor__style" title="Lookup ${item} in Dictionary" target="_blank" href="/word-meaning?search=${item.toLowerCase()}">
543
+ <li>${itemHtml}
544
+ <span class="points" value="${sum}" style="position:relative; top:4px; font-size:12px"> ${sum}</span>
545
+ </li></a>`
546
+ }
547
+ })
548
+ main.innerHTML += `
549
+ <div class="allGroupWords wordlistContainer" id="alpha_${i}">
550
+ <div class="wordListHeading">
551
+ <h3 class="lead">${i} Letter Words</h3>
552
+ </div>
553
+ <div class="wordList">
554
+ <ul class="ul list-unstyled">
555
+ ${result.join('')}
556
+ </ul>
557
+ </div>
558
+ </div>
559
+ `
560
+ }
561
+ }
562
+ }
563
+ }
564
+
565
+ // Scrabble Point Array
566
+ const ScrabbleScore = () => {
567
+ let twl06_sowpods = {
568
+ a: 1,
569
+ e: 1,
570
+ i: 1,
571
+ o: 1,
572
+ u: 1,
573
+ l: 1,
574
+ n: 1,
575
+ r: 1,
576
+ s: 1,
577
+ t: 1,
578
+ d: 2,
579
+ g: 2,
580
+ b: 3,
581
+ c: 3,
582
+ m: 3,
583
+ p: 3,
584
+ f: 4,
585
+ h: 4,
586
+ v: 4,
587
+ w: 4,
588
+ y: 4,
589
+ k: 5,
590
+ j: 8,
591
+ x: 8,
592
+ q: 10,
593
+ z: 10,
594
+ }
595
+
596
+ let wwfScore = {
597
+ a: 1,
598
+ b: 4,
599
+ c: 4,
600
+ d: 2,
601
+ e: 1,
602
+ f: 4,
603
+ g: 3,
604
+ h: 3,
605
+ i: 1,
606
+ j: 10,
607
+ k: 5,
608
+ l: 2,
609
+ m: 4,
610
+ n: 2,
611
+ o: 1,
612
+ p: 4,
613
+ q: 10,
614
+ r: 1,
615
+ s: 1,
616
+ t: 1,
617
+ u: 2,
618
+ v: 5,
619
+ w: 4,
620
+ x: 8,
621
+ y: 3,
622
+ z: 10,
623
+ }
624
+
625
+ if (dictonary === 'wwf') {
626
+ return wwfScore
627
+ } else {
628
+ return twl06_sowpods
629
+ }
630
+ }
631
+
632
+ //Handling of filter counter in advanced filter
633
+ function addFilterCount() {
634
+ let filter_val = document.getElementsByClassName('filter_val')
635
+ let filter = document.querySelector('.filter_count')
636
+ let filter_count = 0
637
+
638
+ filter_val[0].value = prefixValue
639
+ filter_val[1].value = containsValue
640
+ filter_val[2].value = suffixValue
641
+ filter_val[3].value = exculdeValue
642
+ filter_val[4].value = includeValue
643
+ filter_val[5].value = lengthValue
644
+
645
+ for (var i = 0; i <= 4; i++) {
646
+ if (filter_val[i].value != '') {
647
+ filter_count += 1
648
+ }
649
+ if (filter_count === 0) {
650
+ filter.style.display = 'none'
651
+ } else {
652
+ filter.style.display = 'inline-block'
653
+ }
654
+
655
+ filter.innerHTML = filter_count
656
+ }
657
+ }
658
+ addFilterCount()
659
+
660
+ // handling of filter on scroll
661
+ window.onscroll = function () {
662
+ var section = document.querySelectorAll('.wordlistContainer')
663
+ let new_sections = {}
664
+ Array.prototype.forEach.call(section, function (e) {
665
+ if (document.body.clientWidth > 991) {
666
+ new_sections[e.id] = e.offsetTop - 10
667
+ } else {
668
+ new_sections[e.id] = e.offsetTop - 10
669
+ }
670
+ })
671
+ var scrollPosition =
672
+ document.documentElement.scrollTop || document.body.scrollTop
673
+ for (i in new_sections) {
674
+ let sort_val = document.querySelector('.sort-select').value
675
+ if (
676
+ i.split('_')[0] == sort_val &&
677
+ new_sections[i] &&
678
+ new_sections[i] <= scrollPosition
679
+ ) {
680
+ document.querySelector('.active-tab').classList.remove('active-tab')
681
+ var active_now = document.querySelector('#Tab_' + i.split('_')[1])
682
+ active_now.classList.add('active-tab')
683
+ active_now.scrollIntoView({ block: 'nearest' })
684
+ }
685
+ }
686
+ }
687
+
688
+ // Add Filtering
689
+ let sections = {}
690
+ function Filtering(id) {
691
+ let tabs = document.getElementsByClassName('tab_link')
692
+ tabs[0] ? tabs[0].classList.add('active-tab') : ''
693
+
694
+ Array.from(tabs).map((item) => {
695
+ item.classList.remove('active-tab')
696
+ })
697
+ main.innerHTML += ``
698
+ let activeLetter = event.target
699
+ activeLetter.classList.add('active-tab')
700
+
701
+
702
+ var section = document.querySelectorAll('.wordlistContainer')
703
+ var sort_val = document.querySelector('.sort-select').value
704
+ Array.prototype.forEach.call(section, function (e) {
705
+ if (document.body.clientWidth > 991) {
706
+ sections[e.id] = e.offsetTop - 10
707
+ } else {
708
+ sections[e.id] = e.offsetTop - 10
709
+ }
710
+ })
711
+
712
+ document.body.scrollTop = sections[sort_val + '_' + id] + 5
713
+ }
714
+
715
+ // next && previous functionality
716
+ let prev = document.getElementById('prev')
717
+ let next = document.getElementById('next')
718
+
719
+ if (prev) {
720
+ prev.onclick = scroll_Right
721
+ }
722
+ if (next) {
723
+ next.onclick = scroll_Left
724
+ }
725
+ window.addEventListener('resize', function () {
726
+ scroll_visible()
727
+ })
728
+ window.addEventListener('scroll', function () {
729
+ scroll_visible()
730
+ })
731
+ function scroll_visible() {
732
+ let tab_container = document.querySelector('#tab-container')
733
+ if (tab_container) {
734
+ if (tab_container.clientWidth === tab_container.scrollWidth) {
735
+ prev.style.display = 'none'
736
+ next.style.display = 'none'
737
+ } else {
738
+ prev.style.display = 'block'
739
+ next.style.display = 'block'
740
+ }
741
+ }
742
+ }
743
+ scroll_visible()
744
+
745
+ function scroll_Left() {
746
+ tab_container.scrollLeft += 130
747
+ }
748
+ function scroll_Right() {
749
+ tab_container.scrollLeft -= 130
750
+ }
751
+ function findIndex(str, char) {
752
+ const strLength = str.length
753
+ const indexes = []
754
+ let newStr = str
755
+
756
+ while (newStr && newStr.indexOf(char) > -1) {
757
+ indexes.push(newStr.indexOf(char) + strLength - newStr.length)
758
+ newStr = newStr.substring(newStr.indexOf(char) + 5)
759
+ newStr = newStr.substring(newStr.indexOf(char) + 5)
760
+ }
761
+
762
+ return indexes
763
+ }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: word-games-theme
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - manpreet-appscms
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-03-11 00:00:00.000000000 Z
11
+ date: 2022-03-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -248,6 +248,7 @@ files:
248
248
  - assets/js/advancedFilter3.js
249
249
  - assets/js/other-lang-wordScrabble.js
250
250
  - assets/js/scrabbleDictonary.js
251
+ - assets/js/test.js
251
252
  - assets/js/wordScrabble.js
252
253
  - assets/js/wordleSolver.js
253
254
  - assets/js/words-in-certain-positions.js