summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDevaev Maxim <[email protected]>2020-09-11 07:00:56 +0300
committerDevaev Maxim <[email protected]>2020-09-11 07:00:56 +0300
commit9b3f1975061fa6b4c7ac1b15125b71f2e93d90c4 (patch)
tree7ceb4b99f4a0b81da72b0bbf8741de2fec6155e1
parent401263fea3f645eb421b5ccb3e79418afab7c9a6 (diff)
pikvm/pikvm#63: added loop mode for macro
-rw-r--r--web/kvm/index.html12
-rw-r--r--web/kvm/navbar-macro.pug11
-rw-r--r--web/share/js/kvm/recorder.js8
3 files changed, 30 insertions, 1 deletions
diff --git a/web/kvm/index.html b/web/kvm/index.html
index 54d4f220..6cbcdee5 100644
--- a/web/kvm/index.html
+++ b/web/kvm/index.html
@@ -354,6 +354,18 @@
</tr>
</table>
<hr>
+ <table class="kv">
+ <tr>
+ <td>Infinite loop playback:</td>
+ <td colspan="2">
+ <div class="switch-box">
+ <input disabled type="checkbox" id="hid-recorder-loop-checkbox">
+ <label for="hid-recorder-loop-checkbox"><span class="switch-inner"></span><span class="switch"></span></label>
+ </div>
+ </td>
+ </tr>
+ </table>
+ <hr>
<input type="file" id="hid-recorder-new-script-file">
<div class="buttons buttons-row">
<button class="row50" disabled id="hid-recorder-upload">Upload script</button>
diff --git a/web/kvm/navbar-macro.pug b/web/kvm/navbar-macro.pug
index 2a0e00d1..9df95e4f 100644
--- a/web/kvm/navbar-macro.pug
+++ b/web/kvm/navbar-macro.pug
@@ -22,6 +22,17 @@ li(class="right")
td(id="hid-recorder-events-count" class="value") 0
td #[sup #[i include delays]]
hr
+ table(class="kv")
+ tr
+ td Infinite loop playback:
+ td(colspan="2")
+ div(class="switch-box")
+ input(disabled type="checkbox" id="hid-recorder-loop-checkbox")
+ label(for="hid-recorder-loop-checkbox")
+ span(class="switch-inner")
+ span(class="switch")
+
+ hr
input(type="file" id="hid-recorder-new-script-file")
div(class="buttons buttons-row")
button(disabled id="hid-recorder-upload" class="row50") Upload script
diff --git a/web/share/js/kvm/recorder.js b/web/share/js/kvm/recorder.js
index 02f927d7..45be88d3 100644
--- a/web/share/js/kvm/recorder.js
+++ b/web/share/js/kvm/recorder.js
@@ -222,7 +222,11 @@ export function Recorder() {
}
index += 1;
}
- __stopProcess();
+ if ($("hid-recorder-loop-checkbox").checked) {
+ setTimeout(() => __runEvents(0));
+ } else {
+ __stopProcess();
+ }
};
var __refresh = function() {
@@ -241,6 +245,8 @@ export function Recorder() {
wm.switchEnabled($("hid-recorder-stop"), (__ws && (__play_timer || __recording)));
wm.switchEnabled($("hid-recorder-play"), (__ws && !__recording && __events.length));
wm.switchEnabled($("hid-recorder-clear"), (!__play_timer && !__recording && __events.length));
+ wm.switchEnabled($("hid-recorder-loop-checkbox"), (__ws && !__recording));
+
wm.switchEnabled($("hid-recorder-upload"), (!__play_timer && !__recording));
wm.switchEnabled($("hid-recorder-download"), (!__play_timer && !__recording && __events.length));