mirror of
https://github.com/mofeng-git/One-KVM.git
synced 2025-12-12 01:00:29 +08:00
msd parts selector
This commit is contained in:
parent
03ce7bfd2c
commit
fd6f738a07
@ -533,10 +533,10 @@
|
|||||||
<input type="text" id="msd-new-url" style="width: 100%">
|
<input type="text" id="msd-new-url" style="width: 100%">
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr class="hidden" id="msd-new-part">
|
||||||
<td>Optional upload prefix:</td>
|
<td>Upload partition:</td>
|
||||||
<td>
|
<td width="100%">
|
||||||
<input type="text" id="msd-new-prefix" style="width: 100%" placeholder="... like /foo/bar">
|
<select id="msd-new-part-selector"></select>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
@ -550,10 +550,6 @@
|
|||||||
<td></td>
|
<td></td>
|
||||||
<td>• To speed up the upload, close the stream window.</td>
|
<td>• To speed up the upload, close the stream window.</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
|
||||||
<td></td>
|
|
||||||
<td>• A non-empty upload prefix will be created when uploading.</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<div class="hidden" id="msd-uploading-sub">
|
<div class="hidden" id="msd-uploading-sub">
|
||||||
|
|||||||
@ -71,9 +71,9 @@ li(id="msd-dropdown" class="right feature-disabled")
|
|||||||
tr
|
tr
|
||||||
td #[b Or] paste a URL:
|
td #[b Or] paste a URL:
|
||||||
td #[input(type="text" id="msd-new-url" style="width: 100%")]
|
td #[input(type="text" id="msd-new-url" style="width: 100%")]
|
||||||
tr
|
tr(id="msd-new-part" class="hidden")
|
||||||
td Optional upload prefix:
|
td Upload partition:
|
||||||
td #[input(type="text" id="msd-new-prefix" style="width: 100%" placeholder="... like /foo/bar")]
|
td(width="100%") #[select(id="msd-new-part-selector")]
|
||||||
hr
|
hr
|
||||||
table(class="kv")
|
table(class="kv")
|
||||||
tr
|
tr
|
||||||
@ -82,9 +82,6 @@ li(id="msd-dropdown" class="right feature-disabled")
|
|||||||
tr
|
tr
|
||||||
td
|
td
|
||||||
td • To speed up the upload, close the stream window.
|
td • To speed up the upload, close the stream window.
|
||||||
tr
|
|
||||||
td
|
|
||||||
td • A non-empty upload prefix will be created when uploading.
|
|
||||||
div(id="msd-uploading-sub" class="hidden")
|
div(id="msd-uploading-sub" class="hidden")
|
||||||
hr
|
hr
|
||||||
table(class="kv")
|
table(class="kv")
|
||||||
|
|||||||
@ -23,7 +23,7 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
|
|
||||||
import {tools, $, $$$} from "../tools.js";
|
import {tools, $} from "../tools.js";
|
||||||
import {wm} from "../wm.js";
|
import {wm} from "../wm.js";
|
||||||
|
|
||||||
|
|
||||||
@ -114,7 +114,7 @@ export function Msd() {
|
|||||||
var __clickUploadNewButton = function() {
|
var __clickUploadNewButton = function() {
|
||||||
let file = tools.input.getFile($("msd-new-file"));
|
let file = tools.input.getFile($("msd-new-file"));
|
||||||
__http = new XMLHttpRequest();
|
__http = new XMLHttpRequest();
|
||||||
let prefix = encodeURIComponent($("msd-new-prefix").value);
|
let prefix = encodeURIComponent($("msd-new-part-selector").value);
|
||||||
if (file) {
|
if (file) {
|
||||||
__http.open("POST", `/api/msd/write?prefix=${prefix}&image=${encodeURIComponent(file.name)}&remove_incomplete=1`, true);
|
__http.open("POST", `/api/msd/write?prefix=${prefix}&image=${encodeURIComponent(file.name)}&remove_incomplete=1`, true);
|
||||||
} else {
|
} else {
|
||||||
@ -270,6 +270,8 @@ export function Msd() {
|
|||||||
|
|
||||||
tools.el.setEnabled($("msd-new-file"), (online && !s.drive.connected && !__http && !s.busy));
|
tools.el.setEnabled($("msd-new-file"), (online && !s.drive.connected && !__http && !s.busy));
|
||||||
tools.el.setEnabled($("msd-new-url"), (online && !s.drive.connected && !__http && !s.busy));
|
tools.el.setEnabled($("msd-new-url"), (online && !s.drive.connected && !__http && !s.busy));
|
||||||
|
tools.el.setEnabled($("msd-new-part"), (online && !s.drive.connected && !__http && !s.busy));
|
||||||
|
__applyStatePartSelector();
|
||||||
|
|
||||||
tools.hidden.setVisible($("msd-uploading-sub"), (online && s.storage.uploading));
|
tools.hidden.setVisible($("msd-uploading-sub"), (online && s.storage.uploading));
|
||||||
$("msd-uploading-name").innerHTML = ((online && s.storage.uploading) ? s.storage.uploading.name : "");
|
$("msd-uploading-name").innerHTML = ((online && s.storage.uploading) ? s.storage.uploading.name : "");
|
||||||
@ -291,12 +293,10 @@ export function Msd() {
|
|||||||
var __applyStateFeatures = function() {
|
var __applyStateFeatures = function() {
|
||||||
let s = __state;
|
let s = __state;
|
||||||
let online = (s && s.online);
|
let online = (s && s.online);
|
||||||
|
|
||||||
if (s) {
|
if (s) {
|
||||||
tools.feature.setEnabled($("msd-dropdown"), s.enabled);
|
tools.feature.setEnabled($("msd-dropdown"), s.enabled);
|
||||||
tools.feature.setEnabled($("msd-reset-button"), s.enabled);
|
tools.feature.setEnabled($("msd-reset-button"), s.enabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
tools.hidden.setVisible($("msd-message-offline"), (s && !s.online));
|
tools.hidden.setVisible($("msd-message-offline"), (s && !s.online));
|
||||||
tools.hidden.setVisible($("msd-message-image-broken"),
|
tools.hidden.setVisible($("msd-message-image-broken"),
|
||||||
(online && s.drive.image && !s.drive.image.complete && !s.storage.uploading));
|
(online && s.drive.image && !s.drive.image.complete && !s.storage.uploading));
|
||||||
@ -337,24 +337,12 @@ export function Msd() {
|
|||||||
};
|
};
|
||||||
|
|
||||||
var __applyStateImageSelector = function() {
|
var __applyStateImageSelector = function() {
|
||||||
let s = __state;
|
|
||||||
let online = (s && s.online);
|
|
||||||
let el = $("msd-image-selector");
|
let el = $("msd-image-selector");
|
||||||
|
if (!__prepareSelector(el, "Not selected")) {
|
||||||
if (!online) {
|
|
||||||
el.options.length = 1; // Cleanup
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (s.storage.uploading || s.storage.downloading) {
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (el.options.length === 0) {
|
let s = __state;
|
||||||
el.options[0] = new Option("\u2500 Not selected \u2500", "", false, false);
|
|
||||||
} else {
|
|
||||||
el.options.length = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
let selected_index = 0;
|
let selected_index = 0;
|
||||||
let index = 1;
|
let index = 1;
|
||||||
|
|
||||||
@ -406,5 +394,39 @@ export function Msd() {
|
|||||||
return el;
|
return el;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
var __applyStatePartSelector = function() {
|
||||||
|
let el = $("msd-new-part-selector");
|
||||||
|
if (!__prepareSelector(el, "Internal")) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
for (let name of Object.keys(__state.storage.parts).sort()) {
|
||||||
|
if (name != "" && __state.storage.parts[name].writable) {
|
||||||
|
el.add(new Option(name, name, false, false));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
console.log(el.options);
|
||||||
|
tools.hidden.setVisible($("msd-new-part"), (el.options.length > 1));
|
||||||
|
};
|
||||||
|
|
||||||
|
var __prepareSelector = function(el, first) {
|
||||||
|
let s = __state;
|
||||||
|
let online = (s && s.online);
|
||||||
|
|
||||||
|
if (!online) {
|
||||||
|
el.options.length = 1; // Cleanup
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (s.storage.uploading || s.storage.downloading) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (el.options.length === 0) {
|
||||||
|
el.options[0] = new Option(`\u2500 ${first} \u2500`, "", false, false);
|
||||||
|
} else {
|
||||||
|
el.options.length = 1;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
};
|
||||||
|
|
||||||
__init__();
|
__init__();
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user