Skip to content

Commit 9abfca7

Browse files
authored
Merge pull request #2706 from chmelevskij/sonar-duplication-fix
refactor: use js to generate table contents
2 parents 88c1467 + f71e4d0 commit 9abfca7

File tree

5 files changed

+41
-228
lines changed

5 files changed

+41
-228
lines changed

.sonarcloud.properties

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +0,0 @@
1-
sonar.cpd.exclusions=src/*.html

src/css/dark-theme.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ button {
147147
border-style: solid;
148148
}
149149

150-
.noboarder td {
150+
.cf_table tr:last-child td {
151151
border-style: unset;
152152
}
153153

src/css/main.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2148,7 +2148,7 @@ dialog .dialog_toolbar .btn a.disabled {
21482148
width: 33%;
21492149
}
21502150

2151-
.noboarder td {
2151+
.cf_table tr:last-child td {
21522152
border: none;
21532153
}
21542154

src/js/tabs/gps.js

Lines changed: 38 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -67,56 +67,67 @@ TABS.gps.initialize = function (callback) {
6767
$('.GPS_info td.distToHome').text(FC.GPS_DATA.distanceToHome + ' m');
6868

6969
// Update GPS Signal Strengths
70-
const eSsTable = $('div.GPS_signal_strength table tr:not(.titles)');
71-
70+
const eSsTable = $('div.GPS_signal_strength table');
71+
72+
eSsTable.html('');
73+
eSsTable.append(`
74+
<tr class="titles">
75+
<td style="width: 12%;" i18n="gpsSignalGnssId">${i18n.getMessage('gpsSignalGnssId')}</td>
76+
<td style="width: 10%;" i18n="gpsSignalSatId">${i18n.getMessage('gpsSignalSatId')}</td>
77+
<td style="width: 25%;" i18n="gpsSignalStr">${i18n.getMessage('gpsSignalStr')}</td>
78+
<td style="width: 53%;" i18n="gpsSignalStatusQly">${i18n.getMessage('gpsSignalStatusQly')}</td>
79+
</tr>
80+
`);
7281
if (FC.GPS_DATA.chn.length <= 16) {
7382
// Legacy code path: old BF firmware or old ublox module
7483
for (let i = 0; i < FC.GPS_DATA.chn.length; i++) {
75-
const row = eSsTable.eq(i);
76-
77-
$('td', row).eq(0).text('-');
78-
$('td', row).eq(1).text(FC.GPS_DATA.svid[i]);
79-
$('td', row).eq(2).find('progress').val(FC.GPS_DATA.cno[i]);
80-
$('td', row).eq(3).text(FC.GPS_DATA.quality[i]);
84+
eSsTable.append(`
85+
<tr>
86+
<td>-</td>
87+
<td>${FC.GPS_DATA.svid[i]}</td>
88+
<td><progress value="${FC.GPS_DATA.cno[i]}" max="99"></progress></td>
89+
<td>${FC.GPS_DATA.quality[i]}</td>
90+
</tr>
91+
`);
8192
}
8293
// Cleanup the rest of the table
8394
for (let i = FC.GPS_DATA.chn.length; i < 32; i++) {
84-
const row = eSsTable.eq(i);
85-
86-
$('td', row).eq(0).text('-');
87-
$('td', row).eq(1).text('-');
88-
$('td', row).eq(2).find('progress').val(0);
89-
$('td', row).eq(3).text(' ');
95+
eSsTable.append(`
96+
<tr>
97+
<td>-</td>
98+
<td>-</td>
99+
<td><progress value="0" max="99"></progress></td>
100+
<td> </td>
101+
</tr>
102+
`);
90103
}
91104
} else {
92105
// M8N/M9N on newer firmware
93106

94107
const maxUIChannels = 32; //the list in html can only show 32 channels but future firmware could send more
95-
let channels = Math.min(maxUIChannels, FC.GPS_DATA.chn.length);
108+
let channels = Math.min(maxUIChannels, FC.GPS_DATA.chn.length) || 32;
96109

97110
for (let i = 0; i < channels; i++) {
98-
const row = eSsTable.eq(i);
99-
111+
let rowContent = '';
100112
if (FC.GPS_DATA.chn[i] <= 6) {
101-
$('td', row).eq(0).text(gnssArray[FC.GPS_DATA.chn[i]]);
113+
rowContent += `<td>${gnssArray[FC.GPS_DATA.chn[i]]}</td>`;
102114
} else {
103-
$('td', row).eq(0).text('-');
115+
rowContent += '<td>-</td>';
104116
}
105117

106118
if (FC.GPS_DATA.chn[i] >= 7) {
107-
$('td', row).eq(1).text('-');
108-
$('td', row).eq(2).find('progress').val(0);
109-
$('td', row).eq(3).text(' ');
119+
rowContent += '<td>-</td>';
120+
rowContent += `<td><progress value="${0}" max="99"></progress></td>`;
121+
rowContent += `<td> </td>`;
110122
} else {
111-
$('td', row).eq(1).text(FC.GPS_DATA.svid[i]);
112-
$('td', row).eq(2).find('progress').val(FC.GPS_DATA.cno[i]);
113-
123+
rowContent += `<td>${FC.GPS_DATA.svid[i]}</td>`;
124+
rowContent += `<td><progress value="${FC.GPS_DATA.cno[i]}" max="99"></progress></td>`;
114125
const quality = i18n.getMessage(qualityArray[FC.GPS_DATA.quality[i] & 0x7]);
115126
const used = i18n.getMessage(usedArray[(FC.GPS_DATA.quality[i] & 0x8) >> 3]);
116127
const healthy = i18n.getMessage(healthyArray[(FC.GPS_DATA.quality[i] & 0x30) >> 4]);
117-
118-
$('td', row).eq(3).text(`${quality} | ${used} | ${healthy}`);
128+
rowContent += `<td>${quality} | ${used} | ${healthy}</td>`;
119129
}
130+
eSsTable.append(`<tr>${rowContent}</tr>`);
120131
}
121132
}
122133

src/tabs/gps.html

Lines changed: 1 addition & 198 deletions
Original file line numberDiff line numberDiff line change
@@ -52,204 +52,7 @@
5252
</div>
5353
<div class="spacer_box GPS_signal_strength">
5454
<table class="cf_table">
55-
<tr class="titles">
56-
<td style="width: 12%;" i18n="gpsSignalGnssId"></td>
57-
<td style="width: 10%;" i18n="gpsSignalSatId"></td>
58-
<td style="width: 25%;" i18n="gpsSignalStr"></td>
59-
<td style="width: 53%;" i18n="gpsSignalStatusQly"></td>
60-
</tr>
61-
<tr>
62-
<td>0</td>
63-
<td>0</td>
64-
<td><progress value="0" max="99"></progress></td>
65-
<td>0</td>
66-
</tr>
67-
<tr>
68-
<td>0</td>
69-
<td>0</td>
70-
<td><progress value="0" max="99"></progress></td>
71-
<td>0</td>
72-
</tr>
73-
<tr>
74-
<td>0</td>
75-
<td>0</td>
76-
<td><progress value="0" max="99"></progress></td>
77-
<td>0</td>
78-
</tr>
79-
<tr>
80-
<td>0</td>
81-
<td>0</td>
82-
<td><progress value="0" max="99"></progress></td>
83-
<td>0</td>
84-
</tr>
85-
<tr>
86-
<td>0</td>
87-
<td>0</td>
88-
<td><progress value="0" max="99"></progress></td>
89-
<td>0</td>
90-
</tr>
91-
<tr>
92-
<td>0</td>
93-
<td>0</td>
94-
<td><progress value="0" max="99"></progress></td>
95-
<td>0</td>
96-
</tr>
97-
<tr>
98-
<td>0</td>
99-
<td>0</td>
100-
<td><progress value="0" max="99"></progress></td>
101-
<td>0</td>
102-
</tr>
103-
<tr>
104-
<td>0</td>
105-
<td>0</td>
106-
<td><progress value="0" max="99"></progress></td>
107-
<td>0</td>
108-
</tr>
109-
<tr>
110-
<td>0</td>
111-
<td>0</td>
112-
<td><progress value="0" max="99"></progress></td>
113-
<td>0</td>
114-
</tr>
115-
<tr>
116-
<td>0</td>
117-
<td>0</td>
118-
<td><progress value="0" max="99"></progress></td>
119-
<td>0</td>
120-
</tr>
121-
<tr>
122-
<td>0</td>
123-
<td>0</td>
124-
<td><progress value="0" max="99"></progress></td>
125-
<td>0</td>
126-
</tr>
127-
<tr>
128-
<td>0</td>
129-
<td>0</td>
130-
<td><progress value="0" max="99"></progress></td>
131-
<td>0</td>
132-
</tr>
133-
<tr>
134-
<td>0</td>
135-
<td>0</td>
136-
<td><progress value="0" max="99"></progress></td>
137-
<td>0</td>
138-
</tr>
139-
<tr>
140-
<td>0</td>
141-
<td>0</td>
142-
<td><progress value="0" max="99"></progress></td>
143-
<td>0</td>
144-
</tr>
145-
<tr>
146-
<td>0</td>
147-
<td>0</td>
148-
<td><progress value="0" max="99"></progress></td>
149-
<td>0</td>
150-
</tr>
151-
<tr>
152-
<td>0</td>
153-
<td>0</td>
154-
<td><progress value="0" max="99"></progress></td>
155-
<td>0</td>
156-
</tr>
157-
<tr>
158-
<td>0</td>
159-
<td>0</td>
160-
<td><progress value="0" max="99"></progress></td>
161-
<td>0</td>
162-
</tr>
163-
<tr>
164-
<td>0</td>
165-
<td>0</td>
166-
<td><progress value="0" max="99"></progress></td>
167-
<td>0</td>
168-
</tr>
169-
<tr>
170-
<td>0</td>
171-
<td>0</td>
172-
<td><progress value="0" max="99"></progress></td>
173-
<td>0</td>
174-
</tr>
175-
<tr>
176-
<td>0</td>
177-
<td>0</td>
178-
<td><progress value="0" max="99"></progress></td>
179-
<td>0</td>
180-
</tr>
181-
<tr>
182-
<td>0</td>
183-
<td>0</td>
184-
<td><progress value="0" max="99"></progress></td>
185-
<td>0</td>
186-
</tr>
187-
<tr>
188-
<td>0</td>
189-
<td>0</td>
190-
<td><progress value="0" max="99"></progress></td>
191-
<td>0</td>
192-
</tr>
193-
<tr>
194-
<td>0</td>
195-
<td>0</td>
196-
<td><progress value="0" max="99"></progress></td>
197-
<td>0</td>
198-
</tr>
199-
<tr>
200-
<td>0</td>
201-
<td>0</td>
202-
<td><progress value="0" max="99"></progress></td>
203-
<td>0</td>
204-
</tr>
205-
<tr>
206-
<td>0</td>
207-
<td>0</td>
208-
<td><progress value="0" max="99"></progress></td>
209-
<td>0</td>
210-
</tr>
211-
<tr>
212-
<td>0</td>
213-
<td>0</td>
214-
<td><progress value="0" max="99"></progress></td>
215-
<td>0</td>
216-
</tr>
217-
<tr>
218-
<td>0</td>
219-
<td>0</td>
220-
<td><progress value="0" max="99"></progress></td>
221-
<td>0</td>
222-
</tr>
223-
<tr>
224-
<td>0</td>
225-
<td>0</td>
226-
<td><progress value="0" max="99"></progress></td>
227-
<td>0</td>
228-
</tr>
229-
<tr>
230-
<td>0</td>
231-
<td>0</td>
232-
<td><progress value="0" max="99"></progress></td>
233-
<td>0</td>
234-
</tr>
235-
<tr>
236-
<td>0</td>
237-
<td>0</td>
238-
<td><progress value="0" max="99"></progress></td>
239-
<td>0</td>
240-
</tr>
241-
<tr>
242-
<td>0</td>
243-
<td>0</td>
244-
<td><progress value="0" max="99"></progress></td>
245-
<td>0</td>
246-
</tr>
247-
<tr class="noboarder">
248-
<td>0</td>
249-
<td>0</td>
250-
<td><progress value="0" max="99"></progress></td>
251-
<td>0</td>
252-
</tr>
55+
<!-- Contents generated in gps.js -->
25356
</table>
25457
</div>
25558
</div>

0 commit comments

Comments
 (0)