word-games-theme 0.1.8 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (107) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.txt +21 -21
  3. data/README.md +2 -2
  4. data/_data/blog/alertbar.yml +3 -3
  5. data/_data/blog/blog.yml +2 -2
  6. data/_data/blog/nav.json +13 -13
  7. data/_data/blog/share.yml +26 -27
  8. data/_data/footer/en/data.json +74 -74
  9. data/_data/footer/hi/data.json +68 -68
  10. data/_data/footer/networksites.json +15 -15
  11. data/_data/header/en/data.json +68 -71
  12. data/_data/wordgames/en/anagram_word_finder.json +48 -48
  13. data/_data/wordgames/en/eight_letter_word_finder.json +223 -223
  14. data/_data/wordgames/en/eleven_letter_word_finder.json +184 -184
  15. data/_data/wordgames/en/five_letter_word_finder.json +188 -188
  16. data/_data/wordgames/en/four_letter_word_finder.json +176 -176
  17. data/_data/wordgames/en/jumble_word_finder.json +54 -62
  18. data/_data/wordgames/en/lexical_word_finder.json +60 -60
  19. data/_data/wordgames/en/nine_letter_word_finder.json +184 -184
  20. data/_data/wordgames/en/root.json +79 -79
  21. data/_data/wordgames/en/scrabble_word_finder_cheat.json +48 -48
  22. data/_data/wordgames/en/seven_letter_word_finder.json +184 -184
  23. data/_data/wordgames/en/six_letter_word_finder.json +175 -175
  24. data/_data/wordgames/en/ten_letter_word_finder.json +184 -184
  25. data/_data/wordgames/en/thirteen_letter_word_finder.json +184 -184
  26. data/_data/wordgames/en/three_letter_word_finder.json +188 -188
  27. data/_data/wordgames/en/twelve_letter_word_finder.json +184 -184
  28. data/_data/wordgames/en/two_letter_word_finder.json +188 -188
  29. data/_data/wordgames/en/words_with_friends_word_finder.json +55 -55
  30. data/_includes/Rating/rating.html +91 -87
  31. data/_includes/Rating/structureddata.html +53 -53
  32. data/_includes/author_bio.html +15 -15
  33. data/_includes/authors/authors.html +27 -27
  34. data/_includes/custom-head.html +31 -31
  35. data/_includes/disqus_comments.html +10 -10
  36. data/_includes/filterWords/index.html +10 -10
  37. data/_includes/footer/index.html +47 -43
  38. data/_includes/google-analytics.html +22 -22
  39. data/_includes/head/index.html +108 -104
  40. data/_includes/header/blogHeader.html +28 -28
  41. data/_includes/header/index.html +41 -46
  42. data/_includes/paginationBlogPage.html +34 -34
  43. data/_includes/paginationPostPage.html +14 -14
  44. data/_includes/postauthorbio.html +17 -17
  45. data/_includes/postbox.html +29 -29
  46. data/_includes/script.html +13 -13
  47. data/_includes/section/about.html +25 -25
  48. data/_includes/section/alertbar.html +11 -11
  49. data/_includes/section/blog.html +41 -41
  50. data/_includes/section/commonPage.html +99 -92
  51. data/_includes/section/count.html +23 -23
  52. data/_includes/section/feature.html +34 -34
  53. data/_includes/section/home.html +94 -89
  54. data/_includes/section/home2.html +90 -83
  55. data/_includes/section/news.html +32 -32
  56. data/_includes/section/recent_posts.html +42 -42
  57. data/_includes/section/related_categories_post.html +73 -73
  58. data/_includes/section/related_tag_post.html +59 -59
  59. data/_includes/section/wordGroup.html +6 -6
  60. data/_includes/seo.html +56 -57
  61. data/_includes/share/socialshare.html +49 -50
  62. data/_layouts/blog.html +66 -66
  63. data/_layouts/categories.html +25 -25
  64. data/_layouts/default.html +43 -43
  65. data/_layouts/disclaimer.html +115 -115
  66. data/_layouts/page.html +67 -67
  67. data/_layouts/page2.html +60 -60
  68. data/_layouts/post.html +69 -69
  69. data/_layouts/privacyPolicy.html +420 -420
  70. data/_layouts/termAndCondition.html +421 -421
  71. data/_layouts/wordMeaning.html +106 -106
  72. data/assets/css/HomePageblog.css +154 -154
  73. data/assets/css/about.css +51 -51
  74. data/assets/css/advancedFilter.css +160 -160
  75. data/assets/css/blog.css +481 -481
  76. data/assets/css/feature.css +69 -69
  77. data/assets/css/footer.css +95 -95
  78. data/assets/css/home.css +235 -234
  79. data/assets/css/news.css +62 -62
  80. data/assets/css/style.css +394 -386
  81. data/assets/css/wordGroup.css +62 -62
  82. data/assets/images/angle-arrow-down.svg +43 -43
  83. data/assets/images/facebook-square.svg +1 -0
  84. data/assets/images/facebook.svg +1 -0
  85. data/assets/images/instagram-square.svg +1 -0
  86. data/assets/images/linkedin.svg +1 -0
  87. data/assets/images/linkedin2.svg +1 -0
  88. data/assets/images/ratingStar.png +0 -0
  89. data/assets/images/right.svg +38 -38
  90. data/assets/images/right2.svg +38 -38
  91. data/assets/images/right3.svg +38 -38
  92. data/assets/images/star.svg +1 -0
  93. data/assets/images/twitter-square.svg +1 -0
  94. data/assets/images/twitter.svg +1 -0
  95. data/assets/images/twitter2.svg +1 -0
  96. data/assets/images/window-close.png +0 -0
  97. data/assets/images/window-close.svg +1 -0
  98. data/assets/images/word-games-logo.svg +52 -52
  99. data/assets/js/TopScroll.js +8 -8
  100. data/assets/js/X-letter.js +359 -378
  101. data/assets/js/advancedFilter.js +5 -5
  102. data/assets/js/advancedFilter2.js +12 -12
  103. data/assets/js/advancedFilter3.js +2 -2
  104. data/assets/js/scrabbleDictonary.js +165 -165
  105. data/assets/js/wordScrabble.js +511 -510
  106. metadata +19 -8
  107. data/_data/header/hi/data.json +0 -145
@@ -1,5 +1,5 @@
1
- const wordLength = document.querySelector('.wordLength')
2
- wordLength.style.display = 'none'
3
-
4
- // const sortSelect = document.querySelector('#sort-select')
5
- // sortSelect.style.display = 'none'
1
+ const wordLength = document.querySelector('.wordLength')
2
+ wordLength.style.display = 'none'
3
+
4
+ // const sortSelect = document.querySelector('#sort-select')
5
+ // sortSelect.style.display = 'none'
@@ -1,12 +1,12 @@
1
- // const advancedFilter = document.querySelector('.advancedFilter')
2
- // const fillterWrapper = document.querySelector('.fillterWrapper')
3
- // advancedFilter.addEventListener('click', () => {
4
- // fillterWrapper.classList.toggle('active')
5
- // fillterWrapper.classList.remove('hide')
6
- // })
7
-
8
- // const close = document.querySelector('.fa-times')
9
- // close.addEventListener('click', () => {
10
- // fillterWrapper.classList.remove('active')
11
- // fillterWrapper.classList.add('hide')
12
- // })
1
+ // const advancedFilter = document.querySelector('.advancedFilter')
2
+ // const fillterWrapper = document.querySelector('.fillterWrapper')
3
+ // advancedFilter.addEventListener('click', () => {
4
+ // fillterWrapper.classList.toggle('active')
5
+ // fillterWrapper.classList.remove('hide')
6
+ // })
7
+
8
+ // const close = document.querySelector('.fa-times')
9
+ // close.addEventListener('click', () => {
10
+ // fillterWrapper.classList.remove('active')
11
+ // fillterWrapper.classList.add('hide')
12
+ // })
@@ -1,2 +1,2 @@
1
- // const advancedFilter = document.querySelector('.advancedFilter')
2
- // advancedFilter.style.display = ' none'
1
+ // const advancedFilter = document.querySelector('.advancedFilter')
2
+ // advancedFilter.style.display = ' none'
@@ -1,165 +1,165 @@
1
- // getqueryUrl from form
2
- const params = new URLSearchParams(window.location.search)
3
- let serachValue = params.get('search')
4
-
5
- let txtBox = document.querySelector('.txtBox')
6
- txtBox.value = serachValue
7
-
8
- // DICTONARY
9
- const fetchTWL06Dic = async (serachValue) => {
10
- let newAlphabet = {
11
- a: 1,
12
- e: 1,
13
- i: 1,
14
- o: 1,
15
- u: 1,
16
- l: 1,
17
- n: 1,
18
- r: 1,
19
- s: 1,
20
- t: 1,
21
- d: 2,
22
- g: 2,
23
- b: 3,
24
- c: 3,
25
- m: 3,
26
- p: 3,
27
- f: 4,
28
- h: 4,
29
- v: 4,
30
- w: 4,
31
- y: 4,
32
- k: 5,
33
- j: 8,
34
- x: 8,
35
- q: 10,
36
- z: 10,
37
- }
38
-
39
- let sum = 0
40
- let item = serachValue.toLowerCase()
41
-
42
- for (let i = 0; i < item.length; i++) {
43
- sum += newAlphabet[item[i]] || 0 // for unknown characters
44
- }
45
-
46
- try {
47
- let res = await fetch(`/.netlify/functions/gettwl06?search=${serachValue}`)
48
- let getData = await res.text()
49
-
50
- if (getData) {
51
- document.getElementsByClassName('found-word')[0].innerHTML = 'Yes'
52
- document.getElementsByClassName('word-score')[0].innerHTML =
53
- sum + ' ' + 'Points'
54
- } else {
55
- document.getElementsByClassName('found-word')[0].style.background =
56
- '#F34423'
57
- document.getElementsByClassName('found-word')[0].innerHTML = 'No'
58
- }
59
- } catch (error) {
60
- console.log(error)
61
- }
62
- }
63
- fetchTWL06Dic(serachValue)
64
-
65
- const fetchSOWPODSDic = async (serachValue) => {
66
- let newAlphabet = {
67
- a: 1,
68
- e: 1,
69
- i: 1,
70
- o: 1,
71
- u: 1,
72
- l: 1,
73
- n: 1,
74
- r: 1,
75
- s: 1,
76
- t: 1,
77
- d: 2,
78
- g: 2,
79
- b: 3,
80
- c: 3,
81
- m: 3,
82
- p: 3,
83
- f: 4,
84
- h: 4,
85
- v: 4,
86
- w: 4,
87
- y: 4,
88
- k: 5,
89
- j: 8,
90
- x: 8,
91
- q: 10,
92
- z: 10,
93
- }
94
- let sum = 0
95
-
96
- let item = serachValue.toLowerCase()
97
-
98
- for (let i = 0; i < item.length; i++) {
99
- sum += newAlphabet[item[i]] || 0 // for unknown characters
100
- }
101
-
102
- let res = await fetch(`/.netlify/functions/getsowpods?search=${serachValue}`)
103
- let getData = await res.text()
104
- if (getData) {
105
- document.getElementsByClassName('found-word')[1].innerHTML = 'Yes'
106
- document.getElementsByClassName('word-score')[1].innerHTML =
107
- sum + ' ' + 'Points'
108
- } else {
109
- document.getElementsByClassName('found-word')[1].style.background =
110
- '#F34423'
111
- document.getElementsByClassName('found-word')[1].innerHTML = 'No'
112
- }
113
- }
114
- fetchSOWPODSDic(serachValue)
115
-
116
- const fetchEnableDic = async (serachValue) => {
117
- let newAlphabet = {
118
- a: 1,
119
- b: 4,
120
- c: 4,
121
- d: 2,
122
- e: 1,
123
- f: 4,
124
- g: 3,
125
- h: 3,
126
- i: 1,
127
- j: 10,
128
- k: 5,
129
- l: 2,
130
- m: 4,
131
- n: 2,
132
- o: 1,
133
- p: 4,
134
- q: 10,
135
- r: 1,
136
- s: 1,
137
- t: 1,
138
- u: 2,
139
- v: 5,
140
- w: 4,
141
- x: 8,
142
- y: 3,
143
- z: 10,
144
- }
145
- let sum = 0
146
- let item = serachValue.toLowerCase()
147
-
148
- for (let i = 0; i < item.length; i++) {
149
- sum += newAlphabet[item[i]] || 0 // for unknown characters
150
- }
151
-
152
- let res = await fetch(`/.netlify/functions/getenable?search=${serachValue}`)
153
- let getData = await res.text()
154
- if (getData) {
155
- document.getElementsByClassName('found-word')[2].innerHTML = 'Yes'
156
- document.getElementsByClassName('word-score')[2].innerHTML =
157
- sum + ' ' + 'Points'
158
- } else {
159
- document.getElementsByClassName('found-word')[2].style.background =
160
- '#F34423'
161
- document.getElementsByClassName('found-word')[2].innerHTML = 'No'
162
- }
163
- }
164
-
165
- fetchEnableDic(serachValue)
1
+ // getqueryUrl from form
2
+ const params = new URLSearchParams(window.location.search)
3
+ let serachValue = params.get('search')
4
+
5
+ let txtBox = document.querySelector('.txtBox')
6
+ txtBox.value = serachValue
7
+
8
+ // DICTONARY
9
+ const fetchTWL06Dic = async (serachValue) => {
10
+ let newAlphabet = {
11
+ a: 1,
12
+ e: 1,
13
+ i: 1,
14
+ o: 1,
15
+ u: 1,
16
+ l: 1,
17
+ n: 1,
18
+ r: 1,
19
+ s: 1,
20
+ t: 1,
21
+ d: 2,
22
+ g: 2,
23
+ b: 3,
24
+ c: 3,
25
+ m: 3,
26
+ p: 3,
27
+ f: 4,
28
+ h: 4,
29
+ v: 4,
30
+ w: 4,
31
+ y: 4,
32
+ k: 5,
33
+ j: 8,
34
+ x: 8,
35
+ q: 10,
36
+ z: 10,
37
+ }
38
+
39
+ let sum = 0
40
+ let item = serachValue.toLowerCase()
41
+
42
+ for (let i = 0; i < item.length; i++) {
43
+ sum += newAlphabet[item[i]] || 0 // for unknown characters
44
+ }
45
+
46
+ try {
47
+ let res = await fetch(`/.netlify/functions/gettwl06?search=${serachValue}`)
48
+ let getData = await res.text()
49
+
50
+ if (getData) {
51
+ document.getElementsByClassName('found-word')[0].innerHTML = 'Yes'
52
+ document.getElementsByClassName('word-score')[0].innerHTML =
53
+ sum + ' ' + 'Points'
54
+ } else {
55
+ document.getElementsByClassName('found-word')[0].style.background =
56
+ '#F34423'
57
+ document.getElementsByClassName('found-word')[0].innerHTML = 'No'
58
+ }
59
+ } catch (error) {
60
+ console.log(error)
61
+ }
62
+ }
63
+ fetchTWL06Dic(serachValue)
64
+
65
+ const fetchSOWPODSDic = async (serachValue) => {
66
+ let newAlphabet = {
67
+ a: 1,
68
+ e: 1,
69
+ i: 1,
70
+ o: 1,
71
+ u: 1,
72
+ l: 1,
73
+ n: 1,
74
+ r: 1,
75
+ s: 1,
76
+ t: 1,
77
+ d: 2,
78
+ g: 2,
79
+ b: 3,
80
+ c: 3,
81
+ m: 3,
82
+ p: 3,
83
+ f: 4,
84
+ h: 4,
85
+ v: 4,
86
+ w: 4,
87
+ y: 4,
88
+ k: 5,
89
+ j: 8,
90
+ x: 8,
91
+ q: 10,
92
+ z: 10,
93
+ }
94
+ let sum = 0
95
+
96
+ let item = serachValue.toLowerCase()
97
+
98
+ for (let i = 0; i < item.length; i++) {
99
+ sum += newAlphabet[item[i]] || 0 // for unknown characters
100
+ }
101
+
102
+ let res = await fetch(`/.netlify/functions/getsowpods?search=${serachValue}`)
103
+ let getData = await res.text()
104
+ if (getData) {
105
+ document.getElementsByClassName('found-word')[1].innerHTML = 'Yes'
106
+ document.getElementsByClassName('word-score')[1].innerHTML =
107
+ sum + ' ' + 'Points'
108
+ } else {
109
+ document.getElementsByClassName('found-word')[1].style.background =
110
+ '#F34423'
111
+ document.getElementsByClassName('found-word')[1].innerHTML = 'No'
112
+ }
113
+ }
114
+ fetchSOWPODSDic(serachValue)
115
+
116
+ const fetchEnableDic = async (serachValue) => {
117
+ let newAlphabet = {
118
+ a: 1,
119
+ b: 4,
120
+ c: 4,
121
+ d: 2,
122
+ e: 1,
123
+ f: 4,
124
+ g: 3,
125
+ h: 3,
126
+ i: 1,
127
+ j: 10,
128
+ k: 5,
129
+ l: 2,
130
+ m: 4,
131
+ n: 2,
132
+ o: 1,
133
+ p: 4,
134
+ q: 10,
135
+ r: 1,
136
+ s: 1,
137
+ t: 1,
138
+ u: 2,
139
+ v: 5,
140
+ w: 4,
141
+ x: 8,
142
+ y: 3,
143
+ z: 10,
144
+ }
145
+ let sum = 0
146
+ let item = serachValue.toLowerCase()
147
+
148
+ for (let i = 0; i < item.length; i++) {
149
+ sum += newAlphabet[item[i]] || 0 // for unknown characters
150
+ }
151
+
152
+ let res = await fetch(`/.netlify/functions/getenable?search=${serachValue}`)
153
+ let getData = await res.text()
154
+ if (getData) {
155
+ document.getElementsByClassName('found-word')[2].innerHTML = 'Yes'
156
+ document.getElementsByClassName('word-score')[2].innerHTML =
157
+ sum + ' ' + 'Points'
158
+ } else {
159
+ document.getElementsByClassName('found-word')[2].style.background =
160
+ '#F34423'
161
+ document.getElementsByClassName('found-word')[2].innerHTML = 'No'
162
+ }
163
+ }
164
+
165
+ fetchEnableDic(serachValue)
@@ -1,510 +1,511 @@
1
- /***************
2
- SCRABBLER_JS
3
- ***************/
4
-
5
- // grab some html elements
6
- let form = document.querySelector('#form')
7
- let wordCount = document.querySelector('.wordCount')
8
- let main = document.querySelector('.main')
9
- let errorMsg = document.querySelector('.errorMsg')
10
-
11
- // getqueryUrl from form
12
- const params = new URLSearchParams(window.location.search)
13
- let serachValue = params.get('search')
14
- let prefixValue = params.get('prefix')
15
- let containsValue = params.get('contains')
16
- let suffixValue = params.get('suffix')
17
- let lengthValue = params.get('length')
18
- let dictonary = params.get('dictonary')
19
-
20
- // advanced filter element grabs
21
- let tick
22
- let startsWith = document.getElementById('startsWith')
23
- let mustInclude = document.getElementById('mustInclude')
24
- let endsWith = document.getElementById('endsWith')
25
- let wordLength = document.getElementById('wordLength')
26
-
27
- let ok = true
28
-
29
- let tab_container = document.querySelector('.tab_container')
30
-
31
- var sortValue
32
- var sortBool = false
33
-
34
- let txtBox = document.querySelector('.txtBox')
35
- txtBox.value = serachValue
36
-
37
- var theSelect = document.getElementById('select_dropDown')
38
- document.querySelector('.select_dropDown2').value = dictonary
39
-
40
- // getWords define...
41
- const getData = async (serachValue) => {
42
- try {
43
- main.innerHTML = `<div class="loader">
44
- <img src='/assets/images/loading.gif'>
45
- </div>`
46
- /// loader
47
- const response = await fetch(
48
- `/.netlify/functions/getWords?name=${serachValue}`
49
- )
50
- const data = await response.json()
51
- main.innerHTML = ''
52
- getWords(data)
53
- //getWords calling...
54
- } catch (error) {
55
- console.log(error)
56
- }
57
- }
58
- //getData calling...
59
- if (lengthValue === '1') {
60
- errorMsg.innerHTML = 'words length should be more than 1'
61
- } else {
62
- getData(serachValue.toLowerCase())
63
- }
64
-
65
- // getWords function define...
66
- function getWords(data) {
67
- if (typeof data === 'string') {
68
- errorMsg.innerHTML = 'no words found'
69
- wordCount.innerHTML = `<strong> 0 words with letters ${serachValue.split(
70
- ''
71
- )}</strong>`
72
- } else {
73
- let newWordsLength = 0
74
-
75
- // sort eventlistener
76
- theSelect.addEventListener('change', () => {
77
- sortValue = theSelect[theSelect.selectedIndex].text
78
- if (sortValue == 'Z-A') {
79
- sortBool = true
80
- sortby(sortBool, data)
81
- } else {
82
- sortBool = false
83
- sortby(sortBool, data)
84
- }
85
- if (sortValue == 'Points') {
86
- sortBool = true
87
- sortPointsby(sortBool, data)
88
- }
89
- })
90
-
91
- for (let i = serachValue.length; i >= 1; i--) {
92
- let newdata = data.filter((item) => item.length === i)
93
- if (prefixValue) {
94
- newdata = newdata.filter((item2) =>
95
- item2.startsWith(prefixValue.toLowerCase())
96
- )
97
- startsWith.classList.add('tick')
98
- startsWith.value = prefixValue
99
- }
100
-
101
- if (containsValue) {
102
- newdata = newdata.filter((item) =>
103
- item.includes(containsValue.toLowerCase())
104
- )
105
- mustInclude.classList.add('tick')
106
- mustInclude.value = containsValue
107
- }
108
- if (suffixValue) {
109
- newdata = newdata.filter((item) =>
110
- item.endsWith(suffixValue.toLowerCase())
111
- )
112
- endsWith.classList.add('tick')
113
- endsWith.value = suffixValue
114
- }
115
- if (lengthValue) {
116
- newdata = newdata.filter((item) => item.length == lengthValue)
117
- wordLength.classList.add('tick')
118
- wordLength.value = lengthValue
119
- }
120
-
121
- if (newdata.length === 0) {
122
- main.innerHTML += ''
123
- } else {
124
- newWordsLength += newdata.length
125
-
126
- const result = newdata.map((item) => {
127
- if (item.length === 1) {
128
- ok = false
129
- newWordsLength = newWordsLength - 1
130
- } else {
131
- let ScrabbleLetterScore = ScrabbleScore()
132
- sum = 0
133
- item = item.toLowerCase()
134
- for (let i = 0; i < item.length; i++) {
135
- sum += ScrabbleLetterScore[item[i]] || 0 // for unknown characters
136
- }
137
- return `<a class="anchor__style" title="Lookup python in Dictionary" target="_blank" href="/word-meaning?search=${item}">
138
- <li>${item}
139
- <span class="points" value="${sum}" style="position:relative; top:4px; font-size:12px"> ${sum}</span>
140
- </li></a>`
141
- }
142
- })
143
-
144
- if (ok) {
145
- tab_container.innerHTML += `
146
- <input type="button" id="Tab_${i}" onclick="Filtering(${i})" value="${i} Letter"
147
- class="tab_link cursorPointer" />
148
- `
149
- let tabs = document.getElementsByClassName('tab_link')
150
- tabs[0] ? tabs[0].classList.add('active-tab') : ''
151
-
152
- main.innerHTML += `
153
- <div class="allGroupWords wordlistContainer" id="alpha_${i}">
154
- <div class="wordListHeading">
155
- <h3 class="lead">${i} Letter Words</h3>
156
- </div>
157
- <div class="wordList">
158
- <ul class="ul list-unstyled">
159
- ${result.join('')}
160
- </ul>
161
- </div>
162
- </div>
163
- `
164
- }
165
- }
166
- }
167
-
168
- if (newWordsLength === 0) {
169
- errorMsg.innerHTML = 'no words found'
170
- } else {
171
- wordCount.innerHTML = `<strong>${newWordsLength} words with letters ${serachValue.split(
172
- ''
173
- )}</strong>`
174
- }
175
- }
176
- }
177
-
178
- // sorting by points
179
- function sortPointsby(sortValue, data) {
180
- main.innerHTML = ''
181
- if (sortValue) {
182
- let newWordsLength = 0
183
- for (let i = serachValue.length; i >= 1; i--) {
184
- var newdata = data.filter((item) => item.length === i)
185
-
186
- if (newdata.length === 0) {
187
- main.innerHTML += ''
188
- } else {
189
- newWordsLength += newdata.length
190
- var newArray = []
191
- newdata.map((item) => {
192
- if (item.length === 1) {
193
- ok = false
194
- newWordsLength = newWordsLength - 1
195
- } else {
196
- let ScrabbleLetterScore = ScrabbleScore()
197
- let points = 0
198
- item = item.toLowerCase()
199
- for (let i = 0; i < item.length; i++) {
200
- points += ScrabbleLetterScore[item[i]] || 0 // for unknown characters
201
- }
202
- const value = {
203
- words: item,
204
- points: points,
205
- }
206
- newArray.push(value)
207
- }
208
- })
209
-
210
- newArray.sort(function (a, b) {
211
- return b.points - a.points
212
- })
213
-
214
- const result = newArray.map((item) => {
215
- return `<a class="anchor__style" title="Lookup python in Dictionary" target="_blank" href="/word-meaning?search=${item.words}">
216
- <li>${item.words}
217
- <span class="points" value="${item.points}" style="position:relative; top:4px; font-size:12px"> ${item.points}</span>
218
- </li></a>`
219
- })
220
-
221
- main.innerHTML += `
222
- <div class="allGroupWords wordlistContainer" id="alpha_${i}">
223
- <div class="wordListHeading">
224
- <h3 class="lead">${i} Letter Words</h3>
225
- </div>
226
- <div class="wordList">
227
- <ul class="ul list-unstyled">
228
- ${result.join('')}
229
- </ul>
230
- </div>
231
- </div>
232
- `
233
- }
234
- }
235
- }
236
- }
237
-
238
- // sort by aplhabets
239
- function sortby(sortBool, data) {
240
- if (sortBool) {
241
- main.innerHTML = ''
242
- data.reverse()
243
- let newWordsLength = 0
244
- for (let i = serachValue.length; i >= 1; i--) {
245
- var newdata = data.filter((item) => item.length === i)
246
-
247
- if (newdata.length === 0) {
248
- main.innerHTML += ''
249
- } else {
250
- newWordsLength += newdata.length
251
-
252
- const result = newdata.map((item) => {
253
- if (item.length === 1) {
254
- ok = false
255
- newWordsLength = newWordsLength - 1
256
- } else {
257
- let ScrabbleLetterScore = ScrabbleScore()
258
- let sum = 0
259
- item = item.toLowerCase()
260
- for (let i = 0; i < item.length; i++) {
261
- sum += ScrabbleLetterScore[item[i]] || 0 // for unknown characters
262
- }
263
-
264
- return `<a class="anchor__style" title="Lookup python in Dictionary" target="_blank" href="/word-meaning?search=${item}">
265
- <li>${item}
266
- <span class="points" value="${sum}" style="position:relative; top:4px; font-size:12px"> ${sum}</span>
267
- </li></a>`
268
- }
269
- })
270
-
271
- main.innerHTML += `
272
- <div class="allGroupWords wordlistContainer" id="alpha_${i}">
273
- <div class="wordListHeading">
274
- <h3 class="lead">${i} Letter Words</h3>
275
- </div>
276
- <div class="wordList">
277
- <ul class="ul list-unstyled">
278
- ${result.join('')}
279
- </ul>
280
- </div>
281
- </div>
282
- `
283
- }
284
- }
285
- } else {
286
- main.innerHTML = ''
287
- data.sort()
288
- for (let i = serachValue.length; i >= 1; i--) {
289
- var newdata = data.filter((item) => item.length === i)
290
- if (newdata.length === 0) {
291
- main.innerHTML += ''
292
- } else {
293
- const result = newdata.map((item) => {
294
- if (item.length === 1) {
295
- ok = false
296
- } else {
297
- let ScrabbleLetterScore = ScrabbleScore()
298
- let sum = 0
299
- item = item.toLowerCase()
300
- for (let i = 0; i < item.length; i++) {
301
- sum += ScrabbleLetterScore[item[i]] || 0 // for unknown characters
302
- }
303
-
304
- return `<a class="anchor__style" title="Lookup python in Dictionary" target="_blank" href="/word-meaning?search=${item}">
305
- <li>${item}
306
- <span class="points" value="${sum}" style="position:relative; top:4px; font-size:12px"> ${sum}</span>
307
- </li></a>`
308
- }
309
- })
310
- main.innerHTML += `
311
- <div class="allGroupWords wordlistContainer" id="alpha_${i}">
312
- <div class="wordListHeading">
313
- <h3 class="lead">${i} Letter Words</h3>
314
- </div>
315
- <div class="wordList">
316
- <ul class="ul list-unstyled">
317
- ${result.join('')}
318
- </ul>
319
- </div>
320
- </div>
321
- `
322
- }
323
- }
324
- }
325
- }
326
-
327
- // Scrabble Point Array
328
- const ScrabbleScore = () => {
329
- let twl06_sowpods = {
330
- a: 1,
331
- e: 1,
332
- i: 1,
333
- o: 1,
334
- u: 1,
335
- l: 1,
336
- n: 1,
337
- r: 1,
338
- s: 1,
339
- t: 1,
340
- d: 2,
341
- g: 2,
342
- b: 3,
343
- c: 3,
344
- m: 3,
345
- p: 3,
346
- f: 4,
347
- h: 4,
348
- v: 4,
349
- w: 4,
350
- y: 4,
351
- k: 5,
352
- j: 8,
353
- x: 8,
354
- q: 10,
355
- z: 10,
356
- }
357
-
358
- let wwfScore = {
359
- a: 1,
360
- b: 4,
361
- c: 4,
362
- d: 2,
363
- e: 1,
364
- f: 4,
365
- g: 3,
366
- h: 3,
367
- i: 1,
368
- j: 10,
369
- k: 5,
370
- l: 2,
371
- m: 4,
372
- n: 2,
373
- o: 1,
374
- p: 4,
375
- q: 10,
376
- r: 1,
377
- s: 1,
378
- t: 1,
379
- u: 2,
380
- v: 5,
381
- w: 4,
382
- x: 8,
383
- y: 3,
384
- z: 10,
385
- }
386
-
387
- if (dictonary === 'wwf') {
388
- return wwfScore
389
- } else {
390
- return twl06_sowpods
391
- }
392
- }
393
-
394
- //Handling of filter counter in advanced filter
395
- function addFilterCount() {
396
- let filter_val = document.getElementsByClassName('filter_val')
397
- let filter = document.querySelector('.filter_count')
398
- let filter_count = 0
399
-
400
- filter_val[0].value = prefixValue
401
- filter_val[1].value = containsValue
402
- filter_val[2].value = suffixValue
403
- filter_val[3].value = lengthValue
404
-
405
- for (var i = 0; i < 4; i++) {
406
- if (filter_val[i].value != '') {
407
- filter_count += 1
408
- }
409
- if (filter_count === 0) {
410
- filter.style.display = 'none'
411
- } else {
412
- filter.style.display = 'inline-block'
413
- }
414
-
415
- filter.innerHTML = filter_count
416
- }
417
- }
418
- addFilterCount()
419
-
420
- // handling of filter on scroll
421
- window.onscroll = function () {
422
- var section = document.querySelectorAll('.wordlistContainer')
423
- let new_sections = {}
424
- Array.prototype.forEach.call(section, function (e) {
425
- if (document.body.clientWidth > 991) {
426
- new_sections[e.id] = e.offsetTop - 10
427
- } else {
428
- new_sections[e.id] = e.offsetTop - 10
429
- }
430
- })
431
- var scrollPosition =
432
- document.documentElement.scrollTop || document.body.scrollTop
433
- for (i in new_sections) {
434
- let sort_val = document.querySelector('.sort-select').value
435
- if (
436
- i.split('_')[0] == sort_val &&
437
- new_sections[i] &&
438
- new_sections[i] <= scrollPosition
439
- ) {
440
- document.querySelector('.active-tab').classList.remove('active-tab')
441
- var active_now = document.querySelector('#Tab_' + i.split('_')[1])
442
- active_now.classList.add('active-tab')
443
- // active_now.scrollIntoView()
444
- }
445
- }
446
- }
447
-
448
- // Add Filtering
449
- let sections = {}
450
- function Filtering(id) {
451
- let tabs = document.getElementsByClassName('tab_link')
452
- tabs[0] ? tabs[0].classList.add('active-tab') : ''
453
-
454
- Array.from(tabs).map((item) => {
455
- item.classList.remove('active-tab')
456
- })
457
- main.innerHTML += ``
458
- let activeLetter = event.target
459
- activeLetter.classList.add('active-tab')
460
-
461
- var section = document.querySelectorAll('.wordlistContainer')
462
- var sort_val = document.querySelector('.sort-select').value
463
- Array.prototype.forEach.call(section, function (e) {
464
- if (document.body.clientWidth > 991) {
465
- sections[e.id] = e.offsetTop - 10
466
- } else {
467
- sections[e.id] = e.offsetTop - 10
468
- }
469
- })
470
-
471
- document.body.scrollTop = sections[sort_val + '_' + id] + 5
472
- }
473
-
474
- // next && previous functionality
475
- let prev = document.getElementById('prev')
476
- let next = document.getElementById('next')
477
-
478
- if (prev) {
479
- prev.onclick = scroll_Right
480
- }
481
- if (next) {
482
- next.onclick = scroll_Left
483
- }
484
- window.addEventListener('resize', function () {
485
- scroll_visible()
486
- })
487
- window.addEventListener('scroll', function () {
488
- scroll_visible()
489
- })
490
- function scroll_visible() {
491
- let tab_container = document.querySelector('#tab-container')
492
-
493
- if (tab_container) {
494
- if (tab_container.clientWidth === tab_container.scrollWidth) {
495
- prev.style.display = 'none'
496
- next.style.display = 'none'
497
- } else {
498
- prev.style.display = 'block'
499
- next.style.display = 'block'
500
- }
501
- }
502
- }
503
- scroll_visible()
504
-
505
- function scroll_Left() {
506
- tab_container.scrollLeft += 130
507
- }
508
- function scroll_Right() {
509
- tab_container.scrollLeft -= 130
510
- }
1
+ /***************
2
+ SCRABBLER_JS
3
+ ***************/
4
+
5
+ // grab some html elements
6
+ let form = document.querySelector('#form')
7
+ let wordCount = document.querySelector('.wordCount')
8
+ let main = document.querySelector('.main')
9
+ let errorMsg = document.querySelector('.errorMsg')
10
+
11
+ // getqueryUrl from form
12
+ const params = new URLSearchParams(window.location.search)
13
+ let serachValue = params.get('search')
14
+ let prefixValue = params.get('prefix')
15
+ let containsValue = params.get('contains')
16
+ let suffixValue = params.get('suffix')
17
+ let lengthValue = params.get('length')
18
+ let dictonary = params.get('dictonary')
19
+
20
+ // advanced filter element grabs
21
+ let tick
22
+ let startsWith = document.getElementById('startsWith')
23
+ let mustInclude = document.getElementById('mustInclude')
24
+ let endsWith = document.getElementById('endsWith')
25
+ let wordLength = document.getElementById('wordLength')
26
+
27
+ let ok = true
28
+
29
+ let tab_container = document.querySelector('.tab_container')
30
+
31
+ var sortValue
32
+ var sortBool = false
33
+
34
+ let txtBox = document.querySelector('.txtBox')
35
+ txtBox.value = serachValue
36
+
37
+ var theSelect = document.getElementById('select_dropDown')
38
+ document.querySelector('.select_dropDown2').value = dictonary
39
+
40
+ // getWords define...
41
+ const getData = async (serachValue) => {
42
+ try {
43
+ main.innerHTML = `<div class="loader">
44
+ <img src='/assets/images/loading.gif'>
45
+ </div>`
46
+ /// loader
47
+ const response = await fetch(
48
+ `/.netlify/functions/getWords?name=${serachValue}`
49
+ )
50
+ const data = await response.json()
51
+ main.innerHTML = ''
52
+ getWords(data)
53
+ //getWords calling...
54
+ } catch (error) {
55
+ console.log(error)
56
+ }
57
+ }
58
+ //getData calling...
59
+ if (lengthValue === '1') {
60
+ errorMsg.innerHTML = 'words length should be more than 1'
61
+ } else {
62
+ getData(serachValue.toLowerCase())
63
+ }
64
+
65
+ // getWords function define...
66
+ function getWords(data) {
67
+ if (typeof data === 'string') {
68
+ errorMsg.innerHTML = 'no words found'
69
+ wordCount.innerHTML = `<strong> 0 words with letters ${serachValue.split(
70
+ ''
71
+ )}</strong>`
72
+ } else {
73
+ let newWordsLength = 0
74
+
75
+ // sort eventlistener
76
+ theSelect.addEventListener('change', () => {
77
+ sortValue = theSelect[theSelect.selectedIndex].text
78
+ if (sortValue == 'Z-A') {
79
+ sortBool = true
80
+ sortby(sortBool, data)
81
+ } else {
82
+ sortBool = false
83
+ sortby(sortBool, data)
84
+ }
85
+ if (sortValue == 'Points') {
86
+ sortBool = true
87
+ sortPointsby(sortBool, data)
88
+ }
89
+ })
90
+
91
+ for (let i = serachValue.length; i >= 1; i--) {
92
+ let newdata = data.filter((item) => item.length === i)
93
+
94
+ if (prefixValue) {
95
+ newdata = newdata.filter((item2) =>
96
+ item2.startsWith(prefixValue.toLowerCase())
97
+ )
98
+ startsWith.classList.add('tick')
99
+ startsWith.value = prefixValue
100
+ }
101
+
102
+ if (containsValue) {
103
+ newdata = newdata.filter((item) =>
104
+ item.includes(containsValue.toLowerCase())
105
+ )
106
+ mustInclude.classList.add('tick')
107
+ mustInclude.value = containsValue
108
+ }
109
+ if (suffixValue) {
110
+ newdata = newdata.filter((item) =>
111
+ item.endsWith(suffixValue.toLowerCase())
112
+ )
113
+ endsWith.classList.add('tick')
114
+ endsWith.value = suffixValue
115
+ }
116
+ if (lengthValue) {
117
+ newdata = newdata.filter((item) => item.length == lengthValue)
118
+ wordLength.classList.add('tick')
119
+ wordLength.value = lengthValue
120
+ }
121
+
122
+ if (newdata.length === 0) {
123
+ main.innerHTML += ''
124
+ } else {
125
+ newWordsLength += newdata.length
126
+
127
+ const result = newdata.map((item) => {
128
+ if (item.length === 1) {
129
+ ok = false
130
+ newWordsLength = newWordsLength - 1
131
+ } else {
132
+ let ScrabbleLetterScore = ScrabbleScore()
133
+ sum = 0
134
+ item = item.toLowerCase()
135
+ for (let i = 0; i < item.length; i++) {
136
+ sum += ScrabbleLetterScore[item[i]] || 0 // for unknown characters
137
+ }
138
+ return `<a class="anchor__style" title="Lookup python in Dictionary" target="_blank" href="/word-meaning?search=${item}">
139
+ <li>${item}
140
+ <span class="points" value="${sum}" style="position:relative; top:4px; font-size:12px"> ${sum}</span>
141
+ </li></a>`
142
+ }
143
+ })
144
+
145
+ if (ok) {
146
+ tab_container.innerHTML += `
147
+ <input type="button" id="Tab_${i}" onclick="Filtering(${i})" value="${i} Letter"
148
+ class="tab_link cursorPointer" />
149
+ `
150
+ let tabs = document.getElementsByClassName('tab_link')
151
+ tabs[0] ? tabs[0].classList.add('active-tab') : ''
152
+
153
+ main.innerHTML += `
154
+ <div class="allGroupWords wordlistContainer" id="alpha_${i}">
155
+ <div class="wordListHeading">
156
+ <h3 class="lead">${i} Letter Words</h3>
157
+ </div>
158
+ <div class="wordList">
159
+ <ul class="ul list-unstyled">
160
+ ${result.join('')}
161
+ </ul>
162
+ </div>
163
+ </div>
164
+ `
165
+ }
166
+ }
167
+ }
168
+
169
+ if (newWordsLength === 0) {
170
+ errorMsg.innerHTML = 'no words found'
171
+ } else {
172
+ wordCount.innerHTML = `<strong>${newWordsLength} words with letters ${serachValue.split(
173
+ ''
174
+ )}</strong>`
175
+ }
176
+ }
177
+ }
178
+
179
+ // sorting by points
180
+ function sortPointsby(sortValue, data) {
181
+ main.innerHTML = ''
182
+ if (sortValue) {
183
+ let newWordsLength = 0
184
+ for (let i = serachValue.length; i >= 1; i--) {
185
+ var newdata = data.filter((item) => item.length === i)
186
+
187
+ if (newdata.length === 0) {
188
+ main.innerHTML += ''
189
+ } else {
190
+ newWordsLength += newdata.length
191
+ var newArray = []
192
+ newdata.map((item) => {
193
+ if (item.length === 1) {
194
+ ok = false
195
+ newWordsLength = newWordsLength - 1
196
+ } else {
197
+ let ScrabbleLetterScore = ScrabbleScore()
198
+ let points = 0
199
+ item = item.toLowerCase()
200
+ for (let i = 0; i < item.length; i++) {
201
+ points += ScrabbleLetterScore[item[i]] || 0 // for unknown characters
202
+ }
203
+ const value = {
204
+ words: item,
205
+ points: points,
206
+ }
207
+ newArray.push(value)
208
+ }
209
+ })
210
+
211
+ newArray.sort(function (a, b) {
212
+ return b.points - a.points
213
+ })
214
+
215
+ const result = newArray.map((item) => {
216
+ return `<a class="anchor__style" title="Lookup python in Dictionary" target="_blank" href="/word-meaning?search=${item.words}">
217
+ <li>${item.words}
218
+ <span class="points" value="${item.points}" style="position:relative; top:4px; font-size:12px"> ${item.points}</span>
219
+ </li></a>`
220
+ })
221
+
222
+ main.innerHTML += `
223
+ <div class="allGroupWords wordlistContainer" id="alpha_${i}">
224
+ <div class="wordListHeading">
225
+ <h3 class="lead">${i} Letter Words</h3>
226
+ </div>
227
+ <div class="wordList">
228
+ <ul class="ul list-unstyled">
229
+ ${result.join('')}
230
+ </ul>
231
+ </div>
232
+ </div>
233
+ `
234
+ }
235
+ }
236
+ }
237
+ }
238
+
239
+ // sort by aplhabets
240
+ function sortby(sortBool, data) {
241
+ if (sortBool) {
242
+ main.innerHTML = ''
243
+ data.reverse()
244
+ let newWordsLength = 0
245
+ for (let i = serachValue.length; i >= 1; i--) {
246
+ var newdata = data.filter((item) => item.length === i)
247
+
248
+ if (newdata.length === 0) {
249
+ main.innerHTML += ''
250
+ } else {
251
+ newWordsLength += newdata.length
252
+
253
+ const result = newdata.map((item) => {
254
+ if (item.length === 1) {
255
+ ok = false
256
+ newWordsLength = newWordsLength - 1
257
+ } else {
258
+ let ScrabbleLetterScore = ScrabbleScore()
259
+ let sum = 0
260
+ item = item.toLowerCase()
261
+ for (let i = 0; i < item.length; i++) {
262
+ sum += ScrabbleLetterScore[item[i]] || 0 // for unknown characters
263
+ }
264
+
265
+ return `<a class="anchor__style" title="Lookup python in Dictionary" target="_blank" href="/word-meaning?search=${item}">
266
+ <li>${item}
267
+ <span class="points" value="${sum}" style="position:relative; top:4px; font-size:12px"> ${sum}</span>
268
+ </li></a>`
269
+ }
270
+ })
271
+
272
+ main.innerHTML += `
273
+ <div class="allGroupWords wordlistContainer" id="alpha_${i}">
274
+ <div class="wordListHeading">
275
+ <h3 class="lead">${i} Letter Words</h3>
276
+ </div>
277
+ <div class="wordList">
278
+ <ul class="ul list-unstyled">
279
+ ${result.join('')}
280
+ </ul>
281
+ </div>
282
+ </div>
283
+ `
284
+ }
285
+ }
286
+ } else {
287
+ main.innerHTML = ''
288
+ data.sort()
289
+ for (let i = serachValue.length; i >= 1; i--) {
290
+ var newdata = data.filter((item) => item.length === i)
291
+ if (newdata.length === 0) {
292
+ main.innerHTML += ''
293
+ } else {
294
+ const result = newdata.map((item) => {
295
+ if (item.length === 1) {
296
+ ok = false
297
+ } else {
298
+ let ScrabbleLetterScore = ScrabbleScore()
299
+ let sum = 0
300
+ item = item.toLowerCase()
301
+ for (let i = 0; i < item.length; i++) {
302
+ sum += ScrabbleLetterScore[item[i]] || 0 // for unknown characters
303
+ }
304
+
305
+ return `<a class="anchor__style" title="Lookup python in Dictionary" target="_blank" href="/word-meaning?search=${item}">
306
+ <li>${item}
307
+ <span class="points" value="${sum}" style="position:relative; top:4px; font-size:12px"> ${sum}</span>
308
+ </li></a>`
309
+ }
310
+ })
311
+ main.innerHTML += `
312
+ <div class="allGroupWords wordlistContainer" id="alpha_${i}">
313
+ <div class="wordListHeading">
314
+ <h3 class="lead">${i} Letter Words</h3>
315
+ </div>
316
+ <div class="wordList">
317
+ <ul class="ul list-unstyled">
318
+ ${result.join('')}
319
+ </ul>
320
+ </div>
321
+ </div>
322
+ `
323
+ }
324
+ }
325
+ }
326
+ }
327
+
328
+ // Scrabble Point Array
329
+ const ScrabbleScore = () => {
330
+ let twl06_sowpods = {
331
+ a: 1,
332
+ e: 1,
333
+ i: 1,
334
+ o: 1,
335
+ u: 1,
336
+ l: 1,
337
+ n: 1,
338
+ r: 1,
339
+ s: 1,
340
+ t: 1,
341
+ d: 2,
342
+ g: 2,
343
+ b: 3,
344
+ c: 3,
345
+ m: 3,
346
+ p: 3,
347
+ f: 4,
348
+ h: 4,
349
+ v: 4,
350
+ w: 4,
351
+ y: 4,
352
+ k: 5,
353
+ j: 8,
354
+ x: 8,
355
+ q: 10,
356
+ z: 10,
357
+ }
358
+
359
+ let wwfScore = {
360
+ a: 1,
361
+ b: 4,
362
+ c: 4,
363
+ d: 2,
364
+ e: 1,
365
+ f: 4,
366
+ g: 3,
367
+ h: 3,
368
+ i: 1,
369
+ j: 10,
370
+ k: 5,
371
+ l: 2,
372
+ m: 4,
373
+ n: 2,
374
+ o: 1,
375
+ p: 4,
376
+ q: 10,
377
+ r: 1,
378
+ s: 1,
379
+ t: 1,
380
+ u: 2,
381
+ v: 5,
382
+ w: 4,
383
+ x: 8,
384
+ y: 3,
385
+ z: 10,
386
+ }
387
+
388
+ if (dictonary === 'wwf') {
389
+ return wwfScore
390
+ } else {
391
+ return twl06_sowpods
392
+ }
393
+ }
394
+
395
+ //Handling of filter counter in advanced filter
396
+ function addFilterCount() {
397
+ let filter_val = document.getElementsByClassName('filter_val')
398
+ let filter = document.querySelector('.filter_count')
399
+ let filter_count = 0
400
+
401
+ filter_val[0].value = prefixValue
402
+ filter_val[1].value = containsValue
403
+ filter_val[2].value = suffixValue
404
+ filter_val[3].value = lengthValue
405
+
406
+ for (var i = 0; i < 4; i++) {
407
+ if (filter_val[i].value != '') {
408
+ filter_count += 1
409
+ }
410
+ if (filter_count === 0) {
411
+ filter.style.display = 'none'
412
+ } else {
413
+ filter.style.display = 'inline-block'
414
+ }
415
+
416
+ filter.innerHTML = filter_count
417
+ }
418
+ }
419
+ addFilterCount()
420
+
421
+ // handling of filter on scroll
422
+ window.onscroll = function () {
423
+ var section = document.querySelectorAll('.wordlistContainer')
424
+ let new_sections = {}
425
+ Array.prototype.forEach.call(section, function (e) {
426
+ if (document.body.clientWidth > 991) {
427
+ new_sections[e.id] = e.offsetTop - 10
428
+ } else {
429
+ new_sections[e.id] = e.offsetTop - 10
430
+ }
431
+ })
432
+ var scrollPosition =
433
+ document.documentElement.scrollTop || document.body.scrollTop
434
+ for (i in new_sections) {
435
+ let sort_val = document.querySelector('.sort-select').value
436
+ if (
437
+ i.split('_')[0] == sort_val &&
438
+ new_sections[i] &&
439
+ new_sections[i] <= scrollPosition
440
+ ) {
441
+ document.querySelector('.active-tab').classList.remove('active-tab')
442
+ var active_now = document.querySelector('#Tab_' + i.split('_')[1])
443
+ active_now.classList.add('active-tab')
444
+ // active_now.scrollIntoView()
445
+ }
446
+ }
447
+ }
448
+
449
+ // Add Filtering
450
+ let sections = {}
451
+ function Filtering(id) {
452
+ let tabs = document.getElementsByClassName('tab_link')
453
+ tabs[0] ? tabs[0].classList.add('active-tab') : ''
454
+
455
+ Array.from(tabs).map((item) => {
456
+ item.classList.remove('active-tab')
457
+ })
458
+ main.innerHTML += ``
459
+ let activeLetter = event.target
460
+ activeLetter.classList.add('active-tab')
461
+
462
+ var section = document.querySelectorAll('.wordlistContainer')
463
+ var sort_val = document.querySelector('.sort-select').value
464
+ Array.prototype.forEach.call(section, function (e) {
465
+ if (document.body.clientWidth > 991) {
466
+ sections[e.id] = e.offsetTop - 10
467
+ } else {
468
+ sections[e.id] = e.offsetTop - 10
469
+ }
470
+ })
471
+
472
+ document.body.scrollTop = sections[sort_val + '_' + id] + 5
473
+ }
474
+
475
+ // next && previous functionality
476
+ let prev = document.getElementById('prev')
477
+ let next = document.getElementById('next')
478
+
479
+ if (prev) {
480
+ prev.onclick = scroll_Right
481
+ }
482
+ if (next) {
483
+ next.onclick = scroll_Left
484
+ }
485
+ window.addEventListener('resize', function () {
486
+ scroll_visible()
487
+ })
488
+ window.addEventListener('scroll', function () {
489
+ scroll_visible()
490
+ })
491
+ function scroll_visible() {
492
+ let tab_container = document.querySelector('#tab-container')
493
+
494
+ if (tab_container) {
495
+ if (tab_container.clientWidth === tab_container.scrollWidth) {
496
+ prev.style.display = 'none'
497
+ next.style.display = 'none'
498
+ } else {
499
+ prev.style.display = 'block'
500
+ next.style.display = 'block'
501
+ }
502
+ }
503
+ }
504
+ scroll_visible()
505
+
506
+ function scroll_Left() {
507
+ tab_container.scrollLeft += 130
508
+ }
509
+ function scroll_Right() {
510
+ tab_container.scrollLeft -= 130
511
+ }