pywebexec 2.4.0__tar.gz → 2.4.2__tar.gz
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.
- {pywebexec-2.4.0/pywebexec.egg-info → pywebexec-2.4.2}/PKG-INFO +1 -1
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/css/style.css +2 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/js/tablefilter.js +54 -2
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/version.py +2 -2
- {pywebexec-2.4.0 → pywebexec-2.4.2/pywebexec.egg-info}/PKG-INFO +1 -1
- {pywebexec-2.4.0 → pywebexec-2.4.2}/.github/workflows/python-publish.yml +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/.gitignore +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/LICENSE +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/README.md +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pyproject.toml +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/__init__.py +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/host_ip.py +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/pywebexec.py +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/css/form.css +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/css/markdown.css +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/css/swagger-ui.css +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/css/swagger-ui.css.map +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/css/xterm.css +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/fonts/CommitMonoNerdFontMono-Regular.ttf +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/fonts/LICENSE +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/fonts/glyphicons-halflings-regular.eot +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/fonts/glyphicons-halflings-regular.svg +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/fonts/glyphicons-halflings-regular.ttf +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/fonts/glyphicons-halflings-regular.woff +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/fonts/glyphicons-halflings-regular.woff2 +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/images/aborted.svg +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/images/copy.svg +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/images/copy_ok.svg +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/images/down-arrow.svg +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/images/failed.svg +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/images/favicon.svg +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/images/fit-tty.svg +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/images/fit-win.svg +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/images/font-decrease.svg +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/images/font-increase.svg +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/images/norun.svg +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/images/pause.svg +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/images/popup.svg +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/images/resume.svg +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/images/running.svg +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/images/success.svg +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/images/swagger-ui.svg +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/js/executables.js +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/js/js-yaml/LICENSE +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/js/js-yaml/js-yaml.min.js +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/js/marked/LICENSE.md +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/js/marked/marked.min.js +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/js/popup.js +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/js/schemaform.js +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/js/script.js +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/js/swagger-form.js +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/js/swagger-ui/LICENSE +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/js/swagger-ui/swagger-ui-bundle.js +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/js/swagger-ui/swagger-ui-standalone-preset.js +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/js/xterm/LICENSE +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/js/xterm/addon-canvas.js +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/js/xterm/addon-canvas.js.map +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/js/xterm/addon-fit.js +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/js/xterm/addon-fit.js.map +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/js/xterm/addon-unicode-graphemes.js +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/js/xterm/addon-unicode-graphemes.js.map +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/js/xterm/addon-unicode11.js +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/js/xterm/addon-unicode11.js.map +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/js/xterm/xterm.js +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/js/xterm/xterm.js.map +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/jsonform/LICENSE +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/jsonform/deps/README.md +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/jsonform/deps/img/glyphicons-halflings.png +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/jsonform/deps/jquery.min.js +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/jsonform/deps/jsv.js +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/jsonform/deps/underscore.js +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/jsonform/lib/jsonform.js +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/swagger.yaml +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/templates/__init__.py +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/templates/index.html +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/templates/popup.html +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/templates/swagger_ui.html +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec.egg-info/SOURCES.txt +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec.egg-info/dependency_links.txt +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec.egg-info/entry_points.txt +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec.egg-info/requires.txt +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec.egg-info/top_level.txt +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexecdev +0 -0
- {pywebexec-2.4.0 → pywebexec-2.4.2}/setup.cfg +0 -0
@@ -53,6 +53,7 @@ th {
|
|
53
53
|
align-items: center;
|
54
54
|
gap: 5px;
|
55
55
|
white-space: nowrap;
|
56
|
+
font-weight: 600;
|
56
57
|
}
|
57
58
|
.sort-btn {
|
58
59
|
color: #aaa;
|
@@ -538,6 +539,7 @@ body.dimmed * {
|
|
538
539
|
text-align: center;
|
539
540
|
padding: 0px 4px;
|
540
541
|
margin-left: auto;
|
542
|
+
cursor: pointer
|
541
543
|
}
|
542
544
|
|
543
545
|
.xterm-accessibility {
|
@@ -21,11 +21,13 @@ function initTableFilters(table) {
|
|
21
21
|
// Add sort button at the beginning
|
22
22
|
contentSpan.insertBefore(sortBtn, contentSpan.firstChild);
|
23
23
|
|
24
|
-
// Add row counter for last column
|
24
|
+
// Add export button and row counter for last column
|
25
25
|
if (index === headers.length - 1) {
|
26
|
+
// Add row counter
|
26
27
|
const rowCount = document.createElement('span');
|
27
28
|
rowCount.className = 'row-count';
|
28
29
|
rowCount.classList.add('system-font');
|
30
|
+
rowCount.onclick = () => exportToExcel(table);
|
29
31
|
contentSpan.appendChild(rowCount);
|
30
32
|
}
|
31
33
|
|
@@ -47,7 +49,7 @@ function initTableFilters(table) {
|
|
47
49
|
function updateRowCount(table, count) {
|
48
50
|
const rowCount = table.querySelector('.row-count');
|
49
51
|
if (rowCount) {
|
50
|
-
rowCount.textContent =
|
52
|
+
rowCount.textContent = `⤓ ${count}`;
|
51
53
|
}
|
52
54
|
}
|
53
55
|
|
@@ -143,6 +145,56 @@ function applyFilters(table) {
|
|
143
145
|
}
|
144
146
|
}
|
145
147
|
|
148
|
+
function exportToExcel(table) {
|
149
|
+
// Create HTML content
|
150
|
+
const html = `
|
151
|
+
<html>
|
152
|
+
<head>
|
153
|
+
<meta charset="UTF-8">
|
154
|
+
<style>
|
155
|
+
table { border-collapse: collapse; }
|
156
|
+
th, td { border: 1px solid black; padding: 5px; }
|
157
|
+
th { background-color: #f2f2f2; }
|
158
|
+
</style>
|
159
|
+
</head>
|
160
|
+
<body>
|
161
|
+
<table>
|
162
|
+
<thead>
|
163
|
+
<tr>${
|
164
|
+
Array.from(table.querySelectorAll('thead th'))
|
165
|
+
.filter((_, i) => i !== 4 || table !== commandsTable)
|
166
|
+
.map(th => `<th>${th.querySelector('.th-content')?.textContent.replace('⇕', '').replace(/⤓.*/, '').trim() || ''}</th>`)
|
167
|
+
.join('')
|
168
|
+
}</tr>
|
169
|
+
</thead>
|
170
|
+
<tbody>${
|
171
|
+
Array.from(table.querySelectorAll('tbody tr'))
|
172
|
+
.filter(row => row.style.display !== 'none')
|
173
|
+
.map(row =>
|
174
|
+
`<tr>${
|
175
|
+
Array.from(row.cells)
|
176
|
+
.filter((_, i) => i !== 4 || table !== commandsTable)
|
177
|
+
.map(cell => `<td>${cell.textContent.trim()}</td>`)
|
178
|
+
.join('')
|
179
|
+
}</tr>`
|
180
|
+
).join('')
|
181
|
+
}</tbody>
|
182
|
+
</table>
|
183
|
+
</body>
|
184
|
+
</html>`;
|
185
|
+
|
186
|
+
// Create and trigger download
|
187
|
+
const blob = new Blob([html], { type: 'application/vnd.ms-excel' });
|
188
|
+
const url = window.URL.createObjectURL(blob);
|
189
|
+
const a = document.createElement('a');
|
190
|
+
a.href = url;
|
191
|
+
a.download = 'export_' + new Date().toISOString().slice(0,10) + '.xls';
|
192
|
+
document.body.appendChild(a);
|
193
|
+
a.click();
|
194
|
+
document.body.removeChild(a);
|
195
|
+
window.URL.revokeObjectURL(url);
|
196
|
+
}
|
197
|
+
|
146
198
|
let commandsTable = document.querySelector('#commandsTable');
|
147
199
|
document.addEventListener('DOMContentLoaded', () => {
|
148
200
|
if (commandsTable) initTableFilters(commandsTable);
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/fonts/CommitMonoNerdFontMono-Regular.ttf
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/fonts/glyphicons-halflings-regular.woff
RENAMED
File without changes
|
{pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/fonts/glyphicons-halflings-regular.woff2
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/js/swagger-ui/swagger-ui-standalone-preset.js
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/js/xterm/addon-unicode-graphemes.js.map
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{pywebexec-2.4.0 → pywebexec-2.4.2}/pywebexec/static/jsonform/deps/img/glyphicons-halflings.png
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|