Sursă publicată
Descarcă sursa ZIP
CH-J Tools
Navighează directoarele și fișierele pentru o anumită versiune a aplicației.
CH-J / Server Manager
1704 fișiere
0.1.2-beta
Adăugat: · Construit:
1
<!doctype html>2
<html lang="en">3
<head>4
<meta charset="utf-8">5
<meta name="viewport" content="width=device-width, initial-scale=1">6
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self'; style-src 'self'; connect-src 'none'; img-src 'self' data:; object-src 'none'; base-uri 'none'; form-action 'none'">7
<title>Disk Manager</title>8
<link rel="stylesheet" href="styles.css">9
</head>10
<body>11
<header class="app-header">12
<div><span class="eyebrow">CH-J PLUGIN</span><h1 data-i18n="Disk Manager">Disk Manager</h1><p id="pluginVersion"></p></div>13
<button id="closeButton" class="button ghost" type="button" data-i18n="Close">Close</button>14
</header>15
<main>16
<section class="toolbar">17
<label><span data-i18n="Active SSH session">Active SSH session</span><select id="sessionSelect"></select></label>18
<button id="refreshButton" class="button primary" type="button" data-i18n="Refresh">Refresh</button>19
<button id="privilegedButton" class="button" type="button" data-i18n="Load with sudo">Load with sudo</button>20
<span id="privilegeBadge" class="pill"></span>21
<span class="spacer"></span>22
<button id="jobsButton" class="button ghost" type="button" data-i18n="Jobs on server">Jobs on server</button>23
</section>24
<p id="status" class="status" role="status" aria-live="polite"></p>25
<section id="unsupported" class="panel notice" hidden></section>26
<section id="suggestions" class="suggestions" aria-live="polite"></section>27
<section id="workspace" class="workspace" hidden>28
<aside class="disk-list panel" aria-labelledby="diskListTitle">29
<h2 id="diskListTitle" data-i18n="Devices">Devices</h2>30
<ul id="diskList" role="listbox"></ul>31
</aside>32
<section class="disk-main">33
<article class="panel disk-head">34
<div class="disk-title"><h2 id="diskTitle">—</h2><span id="diskBadges" class="badges"></span></div>35
<dl id="diskFacts" class="facts"></dl>36
<div class="inline-actions">37
<button id="smartButton" class="button small" type="button" data-i18n="Health (SMART)">Health (SMART)</button>38
<button id="tableButton" class="button small" type="button" data-i18n="New partition table…">New partition table…</button>39
<span id="previewBadge" class="pill warn" hidden data-i18n="Preview of queued changes">Preview of queued changes</span>40
</div>41
</article>42
<article class="panel map-panel">43
<div id="diskMap" class="disk-map" role="group" aria-label="Disk layout"></div>44
<ul id="legend" class="legend"></ul>45
</article>46
<article class="panel table-panel">47
<div class="table-wrap">48
<table>49
<thead><tr>50
<th data-i18n="Partition">Partition</th><th data-i18n="File system">File system</th><th data-i18n="Mount point">Mount point</th><th data-i18n="Label / name">Label / name</th>51
<th data-i18n="Size">Size</th><th data-i18n="Used">Used</th><th data-i18n="Unused">Unused</th><th data-i18n="Flags">Flags</th><th data-i18n="Status">Status</th>52
</tr></thead>53
<tbody id="partitionRows"></tbody>54
</table>55
</div>56
</article>57
<article id="lvmPanel" class="panel" hidden>58
<h3 data-i18n="LVM volume groups">LVM volume groups</h3>59
<div class="table-wrap"><table><thead><tr><th data-i18n="Volume group / logical volume">Volume group / logical volume</th><th data-i18n="Size">Size</th><th data-i18n="Free / data">Free / data</th><th data-i18n="Type">Type</th><th data-i18n="Content">Content</th><th></th></tr></thead><tbody id="lvmRows"></tbody></table></div>60
</article>61
<article id="detailPanel" class="panel detail-panel" hidden>62
<div class="dialog-head"><h3 id="detailTitle"></h3><button id="detailClose" class="button ghost small" type="button" data-i18n="Close">Close</button></div>63
<dl id="detailFacts" class="facts two"></dl>64
</article>65
</section>66
</section>67
<section id="queuePanel" class="panel queue" hidden>68
<div class="dialog-head"><h3 data-i18n="Pending operations">Pending operations</h3><span id="queueCount" class="pill"></span></div>69
<ol id="queueList"></ol>70
<div class="inline-actions">71
<button id="queueApply" class="button primary" type="button" data-i18n="Review and apply…">Review and apply…</button>72
<button id="queueUndo" class="button" type="button" data-i18n="Undo last">Undo last</button>73
<button id="queueClear" class="button ghost" type="button" data-i18n="Clear queue">Clear queue</button>74
<span class="hint" data-i18n="Clearing the queue changes nothing on the server.">Clearing the queue changes nothing on the server.</span>75
</div>76
</section>77
<section id="jobPanel" class="panel job" hidden>78
<div class="dialog-head"><h3 id="jobTitle" data-i18n="Disk job">Disk job</h3><button id="jobClose" class="button ghost small" type="button" data-i18n="Hide">Hide</button></div>79
<p id="jobState" class="job-state"></p>80
<div id="jobProgress" class="progress"><i></i></div>81
<ol id="jobSteps" class="job-steps"></ol>82
<details><summary data-i18n="Detailed log">Detailed log</summary><pre id="jobLog" class="log"></pre></details>83
</section>84
<section class="security panel"><strong data-i18n="Restricted capabilities">Restricted capabilities</strong><p data-i18n="The plugin has no access to Node.js, local files or the network. It reads disks through disks.read and changes them only through fixed, validated Core operations (disks.manage); there is no generic shell.">The plugin has no access to Node.js, local files or the network. It reads disks through disks.read and changes them only through fixed, validated Core operations (disks.manage); there is no generic shell.</p></section>85
</main>87
<div id="contextMenu" class="context-menu" role="menu" hidden></div>89
<dialog id="formDialog" aria-labelledby="formTitle">90
<form id="formForm" method="dialog" novalidate>91
<h3 id="formTitle"></h3>92
<div id="formBody" class="form-body"></div>93
<p id="formError" class="error" role="alert" hidden></p>94
<div class="actions"><button type="button" class="button ghost" data-close data-i18n="Cancel">Cancel</button><button id="formSubmit" type="submit" class="button primary" data-i18n="Add to queue">Add to queue</button></div>95
</form>96
</dialog>98
<dialog id="applyDialog" aria-labelledby="applyTitle">99
<form id="applyForm" method="dialog" novalidate>100
<h3 id="applyTitle" data-i18n="Review planned changes">Review planned changes</h3>101
<div id="applyBody" class="form-body"></div>102
<p id="applyError" class="error" role="alert" hidden></p>103
<div class="actions"><button type="button" class="button ghost" data-close data-i18n="Back without changes">Back without changes</button><button id="applySubmit" type="submit" class="button danger" data-i18n="Apply now">Apply now</button></div>104
</form>105
</dialog>107
<dialog id="sudoDialog" aria-labelledby="sudoTitle">108
<form id="sudoForm" method="dialog">109
<h3 id="sudoTitle" data-i18n="sudo required">sudo required</h3>110
<p id="sudoMessage"></p>111
<label><span data-i18n="sudo password">sudo password</span><input id="sudoPassword" type="password" maxlength="1024" autocomplete="off" required></label>112
<label class="check"><input id="sudoRemember" type="checkbox" checked> <span data-i18n="Keep in memory for this SSH session (needed to monitor running jobs; cleared on disconnect or after 10 minutes of inactivity)">Keep in memory for this SSH session (needed to monitor running jobs; cleared on disconnect or after 10 minutes of inactivity)</span></label>113
<p id="sudoError" class="error" hidden></p>114
<p class="hint" data-i18n="The password is sent to the server only through the SSH channel's stdin and is never stored on disk or logged.">The password is sent to the server only through the SSH channel's stdin and is never stored on disk or logged.</p>115
<div class="actions"><button type="button" class="button ghost" data-close data-i18n="Cancel">Cancel</button><button type="submit" class="button primary" data-i18n="Continue">Continue</button></div>116
</form>117
</dialog>119
<dialog id="infoDialog" aria-labelledby="infoTitle">120
<div class="dialog-body">121
<div class="dialog-head"><h3 id="infoTitle"></h3><button type="button" class="button ghost" data-close data-i18n="Close">Close</button></div>122
<div id="infoBody"></div>123
</div>124
</dialog>126
<script src="i18n.js"></script>127
<script src="index.js"></script>128
</body>129
</html>SHA-256
6d89fd8935b5e7605fb9bd68c79f835c0f85a3590ea5e7da9901f815081c9055CH-J Proprietary Software License 1.14 · Sursa este furnizată în cadrul CH-J Proprietary Software License 1.14. Disponibilitatea sa nu modifică termenii licenţei sau nu acordă drepturi suplimentare.
Archive SHA-256
ac8fe790f4ba60fc098f8c985fc2656cfcc6cdc21fb34b30e308a2b54e62258f