@prose-reader/enhancer-search 1.27.0 → 1.32.0

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.
@@ -1,189 +1,196 @@
1
1
  /* eslint-disable */
2
- var addSorting = (function () {
3
- "use strict"
4
- var cols,
5
- currentSort = {
6
- index: 0,
7
- desc: false,
8
- }
2
+ var addSorting = (function() {
3
+ 'use strict';
4
+ var cols,
5
+ currentSort = {
6
+ index: 0,
7
+ desc: false
8
+ };
9
9
 
10
- // returns the summary table element
11
- function getTable() {
12
- return document.querySelector(".coverage-summary")
13
- }
14
- // returns the thead element of the summary table
15
- function getTableHeader() {
16
- return getTable().querySelector("thead tr")
17
- }
18
- // returns the tbody element of the summary table
19
- function getTableBody() {
20
- return getTable().querySelector("tbody")
21
- }
22
- // returns the th element for nth column
23
- function getNthColumn(n) {
24
- return getTableHeader().querySelectorAll("th")[n]
25
- }
10
+ // returns the summary table element
11
+ function getTable() {
12
+ return document.querySelector('.coverage-summary');
13
+ }
14
+ // returns the thead element of the summary table
15
+ function getTableHeader() {
16
+ return getTable().querySelector('thead tr');
17
+ }
18
+ // returns the tbody element of the summary table
19
+ function getTableBody() {
20
+ return getTable().querySelector('tbody');
21
+ }
22
+ // returns the th element for nth column
23
+ function getNthColumn(n) {
24
+ return getTableHeader().querySelectorAll('th')[n];
25
+ }
26
26
 
27
- function onFilterInput() {
28
- const searchValue = document.getElementById("fileSearch").value
29
- const rows = document.getElementsByTagName("tbody")[0].children
30
- for (let i = 0; i < rows.length; i++) {
31
- const row = rows[i]
32
- if (row.textContent.toLowerCase().includes(searchValue.toLowerCase())) {
33
- row.style.display = ""
34
- } else {
35
- row.style.display = "none"
36
- }
27
+ function onFilterInput() {
28
+ const searchValue = document.getElementById('fileSearch').value;
29
+ const rows = document.getElementsByTagName('tbody')[0].children;
30
+ for (let i = 0; i < rows.length; i++) {
31
+ const row = rows[i];
32
+ if (
33
+ row.textContent
34
+ .toLowerCase()
35
+ .includes(searchValue.toLowerCase())
36
+ ) {
37
+ row.style.display = '';
38
+ } else {
39
+ row.style.display = 'none';
40
+ }
41
+ }
37
42
  }
38
- }
39
43
 
40
- // loads the search box
41
- function addSearchBox() {
42
- var template = document.getElementById("filterTemplate")
43
- var templateClone = template.content.cloneNode(true)
44
- templateClone.getElementById("fileSearch").oninput = onFilterInput
45
- template.parentElement.appendChild(templateClone)
46
- }
44
+ // loads the search box
45
+ function addSearchBox() {
46
+ var template = document.getElementById('filterTemplate');
47
+ var templateClone = template.content.cloneNode(true);
48
+ templateClone.getElementById('fileSearch').oninput = onFilterInput;
49
+ template.parentElement.appendChild(templateClone);
50
+ }
47
51
 
48
- // loads all columns
49
- function loadColumns() {
50
- var colNodes = getTableHeader().querySelectorAll("th"),
51
- colNode,
52
- cols = [],
53
- col,
54
- i
52
+ // loads all columns
53
+ function loadColumns() {
54
+ var colNodes = getTableHeader().querySelectorAll('th'),
55
+ colNode,
56
+ cols = [],
57
+ col,
58
+ i;
55
59
 
56
- for (i = 0; i < colNodes.length; i += 1) {
57
- colNode = colNodes[i]
58
- col = {
59
- key: colNode.getAttribute("data-col"),
60
- sortable: !colNode.getAttribute("data-nosort"),
61
- type: colNode.getAttribute("data-type") || "string",
62
- }
63
- cols.push(col)
64
- if (col.sortable) {
65
- col.defaultDescSort = col.type === "number"
66
- colNode.innerHTML = colNode.innerHTML + '<span class="sorter"></span>'
67
- }
60
+ for (i = 0; i < colNodes.length; i += 1) {
61
+ colNode = colNodes[i];
62
+ col = {
63
+ key: colNode.getAttribute('data-col'),
64
+ sortable: !colNode.getAttribute('data-nosort'),
65
+ type: colNode.getAttribute('data-type') || 'string'
66
+ };
67
+ cols.push(col);
68
+ if (col.sortable) {
69
+ col.defaultDescSort = col.type === 'number';
70
+ colNode.innerHTML =
71
+ colNode.innerHTML + '<span class="sorter"></span>';
72
+ }
73
+ }
74
+ return cols;
68
75
  }
69
- return cols
70
- }
71
- // attaches a data attribute to every tr element with an object
72
- // of data values keyed by column name
73
- function loadRowData(tableRow) {
74
- var tableCols = tableRow.querySelectorAll("td"),
75
- colNode,
76
- col,
77
- data = {},
78
- i,
79
- val
80
- for (i = 0; i < tableCols.length; i += 1) {
81
- colNode = tableCols[i]
82
- col = cols[i]
83
- val = colNode.getAttribute("data-value")
84
- if (col.type === "number") {
85
- val = Number(val)
86
- }
87
- data[col.key] = val
76
+ // attaches a data attribute to every tr element with an object
77
+ // of data values keyed by column name
78
+ function loadRowData(tableRow) {
79
+ var tableCols = tableRow.querySelectorAll('td'),
80
+ colNode,
81
+ col,
82
+ data = {},
83
+ i,
84
+ val;
85
+ for (i = 0; i < tableCols.length; i += 1) {
86
+ colNode = tableCols[i];
87
+ col = cols[i];
88
+ val = colNode.getAttribute('data-value');
89
+ if (col.type === 'number') {
90
+ val = Number(val);
91
+ }
92
+ data[col.key] = val;
93
+ }
94
+ return data;
88
95
  }
89
- return data
90
- }
91
- // loads all row data
92
- function loadData() {
93
- var rows = getTableBody().querySelectorAll("tr"),
94
- i
96
+ // loads all row data
97
+ function loadData() {
98
+ var rows = getTableBody().querySelectorAll('tr'),
99
+ i;
95
100
 
96
- for (i = 0; i < rows.length; i += 1) {
97
- rows[i].data = loadRowData(rows[i])
101
+ for (i = 0; i < rows.length; i += 1) {
102
+ rows[i].data = loadRowData(rows[i]);
103
+ }
98
104
  }
99
- }
100
- // sorts the table using the data for the ith column
101
- function sortByIndex(index, desc) {
102
- var key = cols[index].key,
103
- sorter = function (a, b) {
104
- a = a.data[key]
105
- b = b.data[key]
106
- return a < b ? -1 : a > b ? 1 : 0
107
- },
108
- finalSorter = sorter,
109
- tableBody = document.querySelector(".coverage-summary tbody"),
110
- rowNodes = tableBody.querySelectorAll("tr"),
111
- rows = [],
112
- i
105
+ // sorts the table using the data for the ith column
106
+ function sortByIndex(index, desc) {
107
+ var key = cols[index].key,
108
+ sorter = function(a, b) {
109
+ a = a.data[key];
110
+ b = b.data[key];
111
+ return a < b ? -1 : a > b ? 1 : 0;
112
+ },
113
+ finalSorter = sorter,
114
+ tableBody = document.querySelector('.coverage-summary tbody'),
115
+ rowNodes = tableBody.querySelectorAll('tr'),
116
+ rows = [],
117
+ i;
113
118
 
114
- if (desc) {
115
- finalSorter = function (a, b) {
116
- return -1 * sorter(a, b)
117
- }
118
- }
119
+ if (desc) {
120
+ finalSorter = function(a, b) {
121
+ return -1 * sorter(a, b);
122
+ };
123
+ }
119
124
 
120
- for (i = 0; i < rowNodes.length; i += 1) {
121
- rows.push(rowNodes[i])
122
- tableBody.removeChild(rowNodes[i])
123
- }
125
+ for (i = 0; i < rowNodes.length; i += 1) {
126
+ rows.push(rowNodes[i]);
127
+ tableBody.removeChild(rowNodes[i]);
128
+ }
124
129
 
125
- rows.sort(finalSorter)
130
+ rows.sort(finalSorter);
126
131
 
127
- for (i = 0; i < rows.length; i += 1) {
128
- tableBody.appendChild(rows[i])
132
+ for (i = 0; i < rows.length; i += 1) {
133
+ tableBody.appendChild(rows[i]);
134
+ }
129
135
  }
130
- }
131
- // removes sort indicators for current column being sorted
132
- function removeSortIndicators() {
133
- var col = getNthColumn(currentSort.index),
134
- cls = col.className
136
+ // removes sort indicators for current column being sorted
137
+ function removeSortIndicators() {
138
+ var col = getNthColumn(currentSort.index),
139
+ cls = col.className;
135
140
 
136
- cls = cls.replace(/ sorted$/, "").replace(/ sorted-desc$/, "")
137
- col.className = cls
138
- }
139
- // adds sort indicators for current column being sorted
140
- function addSortIndicators() {
141
- getNthColumn(currentSort.index).className += currentSort.desc ? " sorted-desc" : " sorted"
142
- }
143
- // adds event listeners for all sorter widgets
144
- function enableUI() {
145
- var i,
146
- el,
147
- ithSorter = function ithSorter(i) {
148
- var col = cols[i]
141
+ cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, '');
142
+ col.className = cls;
143
+ }
144
+ // adds sort indicators for current column being sorted
145
+ function addSortIndicators() {
146
+ getNthColumn(currentSort.index).className += currentSort.desc
147
+ ? ' sorted-desc'
148
+ : ' sorted';
149
+ }
150
+ // adds event listeners for all sorter widgets
151
+ function enableUI() {
152
+ var i,
153
+ el,
154
+ ithSorter = function ithSorter(i) {
155
+ var col = cols[i];
149
156
 
150
- return function () {
151
- var desc = col.defaultDescSort
157
+ return function() {
158
+ var desc = col.defaultDescSort;
152
159
 
153
- if (currentSort.index === i) {
154
- desc = !currentSort.desc
155
- }
156
- sortByIndex(i, desc)
157
- removeSortIndicators()
158
- currentSort.index = i
159
- currentSort.desc = desc
160
- addSortIndicators()
161
- }
162
- }
163
- for (i = 0; i < cols.length; i += 1) {
164
- if (cols[i].sortable) {
165
- // add the click event handler on the th so users
166
- // dont have to click on those tiny arrows
167
- el = getNthColumn(i).querySelector(".sorter").parentElement
168
- if (el.addEventListener) {
169
- el.addEventListener("click", ithSorter(i))
170
- } else {
171
- el.attachEvent("onclick", ithSorter(i))
160
+ if (currentSort.index === i) {
161
+ desc = !currentSort.desc;
162
+ }
163
+ sortByIndex(i, desc);
164
+ removeSortIndicators();
165
+ currentSort.index = i;
166
+ currentSort.desc = desc;
167
+ addSortIndicators();
168
+ };
169
+ };
170
+ for (i = 0; i < cols.length; i += 1) {
171
+ if (cols[i].sortable) {
172
+ // add the click event handler on the th so users
173
+ // dont have to click on those tiny arrows
174
+ el = getNthColumn(i).querySelector('.sorter').parentElement;
175
+ if (el.addEventListener) {
176
+ el.addEventListener('click', ithSorter(i));
177
+ } else {
178
+ el.attachEvent('onclick', ithSorter(i));
179
+ }
180
+ }
172
181
  }
173
- }
174
182
  }
175
- }
176
- // adds sorting functionality to the UI
177
- return function () {
178
- if (!getTable()) {
179
- return
180
- }
181
- cols = loadColumns()
182
- loadData()
183
- addSearchBox()
184
- addSortIndicators()
185
- enableUI()
186
- }
187
- })()
183
+ // adds sorting functionality to the UI
184
+ return function() {
185
+ if (!getTable()) {
186
+ return;
187
+ }
188
+ cols = loadColumns();
189
+ loadData();
190
+ addSearchBox();
191
+ addSortIndicators();
192
+ enableUI();
193
+ };
194
+ })();
188
195
 
189
- window.addEventListener("load", addSorting)
196
+ window.addEventListener('load', addSorting);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prose-reader/enhancer-search",
3
- "version": "1.27.0",
3
+ "version": "1.32.0",
4
4
  "type": "module",
5
5
  "main": "./dist/prose-reader-enhancer-search.umd.cjs",
6
6
  "module": "./dist/prose-reader-enhancer-search.js",
@@ -19,11 +19,10 @@
19
19
  "test": "vitest run --coverage"
20
20
  },
21
21
  "dependencies": {
22
- "@prose-reader/core": "^1.27.0",
23
- "@prose-reader/enhancer-scripts": "^1.8.0"
22
+ "@prose-reader/core": "^1.32.0"
24
23
  },
25
24
  "peerDependencies": {
26
25
  "rxjs": "*"
27
26
  },
28
- "gitHead": "4601e14dcacf50b2295cb343582a7ef2c7e1eedc"
27
+ "gitHead": "627886bbb07f1dcb39b1c6cac087e36e418ca06e"
29
28
  }