pywebexec 1.6.0__py3-none-any.whl → 1.6.2__py3-none-any.whl

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.
@@ -381,3 +381,12 @@ span {
381
381
  font-size: 13px;
382
382
  }
383
383
 
384
+ .nbrunning {
385
+ display: inline-block;
386
+ font-size: 13px;
387
+ font-weight: normal;
388
+ border: 1px solid #aaa;
389
+ border-radius: 17px;
390
+ min-width: 17px;
391
+ text-align: center;
392
+ }
@@ -4,6 +4,7 @@ let paramsInput = document.getElementById('params');
4
4
  let commandListSelect = document.getElementById('commandList');
5
5
  let showCommandListButton = document.getElementById('showCommandListButton');
6
6
  let isHandlingKeydown = false;
7
+ let firstVisibleItem = 0;
7
8
 
8
9
  function unfilterCommands() {
9
10
  const options = commandListSelect.options;
@@ -17,10 +18,14 @@ function filterCommands() {
17
18
  const value = commandInput.value.slice(0, commandInput.selectionStart);
18
19
  const options = commandListSelect.options;
19
20
  let nbVisibleItems = 0;
21
+ firstVisibleItem = -1;
20
22
  for (let i = 0; i < options.length; i++) {
21
23
  if (options[i].text.startsWith(value)) {
22
24
  options[i].style.display = 'block';
23
25
  nbVisibleItems += 1;
26
+ if (firstVisibleItem === -1) {
27
+ firstVisibleItem = i;
28
+ }
24
29
  } else {
25
30
  options[i].style.display = 'none';
26
31
  }
@@ -88,12 +93,12 @@ commandInput.addEventListener('keydown', (event) => {
88
93
  paramsInput.focus();
89
94
  paramsInput.setSelectionRange(0, paramsInput.value.length);
90
95
  } else if (event.key === 'ArrowDown') {
91
- /*setCommandListPosition();*/
92
- unfilterCommands();
93
96
  if (commandListSelect.options.length > 1) {
94
97
  commandListSelect.style.display = 'block';
98
+ commandListSelect.selectedIndex = firstVisibleItem;
95
99
  commandListSelect.focus();
96
- commandListSelect.selectedIndex = 0;
100
+ commandListSelect.options[firstVisibleItem].scrollIntoView();
101
+ commandListSelect.options[firstVisibleItem].focus();
97
102
  }
98
103
  event.preventDefault();
99
104
  }
@@ -162,7 +162,7 @@ async function fetchCommands(hide=false) {
162
162
  commandsTbody.appendChild(commandRow);
163
163
  });
164
164
  if (runningCommands.length) {
165
- document.getElementById('thStatus').innerHTML=`<span class="status-icon status-running"></span>Running (${runningCommands.length})`;
165
+ document.getElementById('thStatus').innerHTML=`<span class="status-icon status-running"></span>Running <span class="system-font nbrunning">${runningCommands.length}</span>`;
166
166
  document.getElementById('thStatus').setAttribute('title', runningCommands.join("\n"));
167
167
  } else {
168
168
  document.getElementById('thStatus').innerHTML=`<span class="status-icon status-norun"></span>Status`;
pywebexec/version.py CHANGED
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '1.6.0'
16
- __version_tuple__ = version_tuple = (1, 6, 0)
15
+ __version__ = version = '1.6.2'
16
+ __version_tuple__ = version_tuple = (1, 6, 2)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: pywebexec
3
- Version: 1.6.0
3
+ Version: 1.6.2
4
4
  Summary: Simple Python HTTP Exec Server
5
5
  Home-page: https://github.com/joknarf/pywebexec
6
6
  Author: Franck Jouvanceau
@@ -1,8 +1,8 @@
1
1
  pywebexec/__init__.py,sha256=4spIsVaF8RJt8S58AG_wWoORRNkws9Iwqprj27C3ljM,99
2
2
  pywebexec/pywebexec.py,sha256=S24FSD4XywesMvM6nqJMdS8E1lF9mklN4nUlnZUp9Zs,28760
3
- pywebexec/version.py,sha256=Ry70pc5l-IBhT9gahlkNwZPp4g0CzVEWqsat9H-UASY,411
3
+ pywebexec/version.py,sha256=ay9A4GSmtr3NioHirRgXvWfXtjwRjzXIO_WPuFobCoI,411
4
4
  pywebexec/static/css/Consolas NF.ttf,sha256=DJEOzF0eqZ-kxu3Gs_VE8X0NJqiobBzmxWDGpdgGRxI,1313900
5
- pywebexec/static/css/style.css,sha256=eQOnaLHBr9AOsqnfJVvbK3rtCvwrRBMqqbXs9W2vFP8,7997
5
+ pywebexec/static/css/style.css,sha256=iIKpNvKDjQ6YL7LGGzk5ZpTujZ36Zuv7fg48f2TKX94,8182
6
6
  pywebexec/static/css/xterm.css,sha256=uo5phWaUiJgcz0DAzv46uoByLLbJLeetYosL1xf68rY,5559
7
7
  pywebexec/static/images/aborted.svg,sha256=_mP43hU5QdRLFZIknBgjx-dIXrHgQG23-QV27ApXK2A,381
8
8
  pywebexec/static/images/copy.svg,sha256=d9OwtGh5GzzZHzYcDrLfNxZYLth1Q64x7bRyYxu4Px0,622
@@ -18,9 +18,9 @@ pywebexec/static/images/popup.svg,sha256=0Bl9A_v5cBsMPn6FnOlVWlAQKgd2zqiWQbhjcL9
18
18
  pywebexec/static/images/resume.svg,sha256=99LP1Ya2JXakRCO9kW8JMuT_4a_CannF65EiuwtvK4A,607
19
19
  pywebexec/static/images/running.svg,sha256=fBCYwYb2O9K4N3waC2nURP25NRwZlqR4PbDZy6JQMww,610
20
20
  pywebexec/static/images/success.svg,sha256=PJDcCSTevJh7rkfSFLtc7P0pbeh8PVQBS8DaOLQemmc,489
21
- pywebexec/static/js/commands.js,sha256=8JDb3Q55EJOYf2Q9Uy6qEuqAnn1oGjM0RndgQ4aOjqo,7725
21
+ pywebexec/static/js/commands.js,sha256=h2fkd9qpypLBxvhEEbay23nwuqUwcKJA0vHugcyL8pU,7961
22
22
  pywebexec/static/js/popup.js,sha256=TCzGoPVS_EvwzGc544SvRgLYG7XWXRF8tIQGfu3atrU,8533
23
- pywebexec/static/js/script.js,sha256=aqv-Oa6k3JWfrXKUV54nKE34c7HUUg7yHiTfZJzosKg,17335
23
+ pywebexec/static/js/script.js,sha256=mGY_-A1rZNjgpTU8FsVH0j6Tj7v4pHpSaREPbTttvEs,17376
24
24
  pywebexec/static/js/xterm/LICENSE,sha256=EU1P4eXTull-_T9I80VuwnJXubB-zLzUl3xpEYj2T1M,1083
25
25
  pywebexec/static/js/xterm/addon-canvas.js,sha256=ez6QTVvsmLVNJmdJlM-ZQ5bErwlxAQ_9DUmDIptl2TM,94607
26
26
  pywebexec/static/js/xterm/addon-canvas.js.map,sha256=ECBA4B-BqUpdFeRzlsEWLSQnudnhLP-yPQJ8_hKquMo,379537
@@ -33,9 +33,9 @@ pywebexec/static/js/xterm/xterm.js.map,sha256=Y7O2Pb-fIS7Z8AC1D5s04_aiW_Jf1f4mCf
33
33
  pywebexec/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
34
34
  pywebexec/templates/index.html,sha256=3XAXlpluzmTxC75KLzHDI4aJvQyQrOShB_weJ27PE2U,2815
35
35
  pywebexec/templates/popup.html,sha256=6FfzMjxuAC_xwyMGPf3p5tm6iPVY0QCsqY80eotD0z8,1362
36
- pywebexec-1.6.0.dist-info/LICENSE,sha256=gRJf0JPT_wsZJsUGlWPTS8Vypfl9vQ1qjp6sNbKykuA,1064
37
- pywebexec-1.6.0.dist-info/METADATA,sha256=YG21s478D9Zya980eKHBB0hq15jFprpqtBbdwIrZJJc,7801
38
- pywebexec-1.6.0.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
39
- pywebexec-1.6.0.dist-info/entry_points.txt,sha256=l52GBkPCXRkmlHfEyoVauyfBdg8o-CAtC8qQpOIjJK0,55
40
- pywebexec-1.6.0.dist-info/top_level.txt,sha256=vHoHyzngrfGdm_nM7Xn_5iLmaCrf10XO1EhldgNLEQ8,10
41
- pywebexec-1.6.0.dist-info/RECORD,,
36
+ pywebexec-1.6.2.dist-info/LICENSE,sha256=gRJf0JPT_wsZJsUGlWPTS8Vypfl9vQ1qjp6sNbKykuA,1064
37
+ pywebexec-1.6.2.dist-info/METADATA,sha256=N5cjPjpSWpmYTiqiKjcrqjXhoVW6q-mUxKmot1hX7k8,7801
38
+ pywebexec-1.6.2.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
39
+ pywebexec-1.6.2.dist-info/entry_points.txt,sha256=l52GBkPCXRkmlHfEyoVauyfBdg8o-CAtC8qQpOIjJK0,55
40
+ pywebexec-1.6.2.dist-info/top_level.txt,sha256=vHoHyzngrfGdm_nM7Xn_5iLmaCrf10XO1EhldgNLEQ8,10
41
+ pywebexec-1.6.2.dist-info/RECORD,,