small-packages/luci-app-ssr-plus/luasrc/view/shadowsocksr/clash_panel_button.htm
2026-05-10 09:48:30 +08:00

75 lines
2.3 KiB
HTML

<%+cbi/valueheader%>
<%
local stype = self.map:get(section, "type")
-%>
<script type="text/javascript">
if (typeof(window.ssrClashRefreshSubscription) !== "function") {
window.ssrClashRefreshSubscription = function(btn, sid) {
var original = btn.value;
btn.disabled = true;
btn.value = '<%:Reloading YAML...%>';
XHR.get('<%=luci.dispatcher.build_url("admin", "services", "shadowsocksr", "clash_refresh")%>', {
sid: sid
}, function(x, result) {
btn.disabled = false;
btn.value = original;
if (result && result.success) {
btn.value = result.reapplied ? '<%:Reapply%>' : '<%:YAML Reloaded!%>';
setTimeout(function() { btn.value = original; }, 1200);
} else {
btn.value = '<%:YAML Reload Failed!%>';
setTimeout(function() { btn.value = original; }, 1500);
}
});
return false;
}
}
if (typeof(window.ssrClashResetDefaults) !== "function") {
window.ssrClashResetDefaults = function(btn, sid) {
var original = btn.value;
if (!window.confirm('<%:Reset saved Mihomo proxy-group selections and restore YAML defaults?%>')) {
return false;
}
btn.disabled = true;
btn.value = '<%:Resetting Defaults...%>';
XHR.get('<%=luci.dispatcher.build_url("admin", "services", "shadowsocksr", "clash_reset_defaults")%>', {
sid: sid
}, function(x, result) {
btn.disabled = false;
btn.value = original;
if (result && result.success) {
btn.value = result.reapplied ? '<%:Defaults Restored!%>' : '<%:Defaults Cleared!%>';
setTimeout(function() { btn.value = original; }, 1500);
} else {
btn.value = '<%:Reset Defaults Failed!%>';
setTimeout(function() { btn.value = original; }, 1600);
}
});
return false;
}
}
</script>
<% if stype == "clash" then %>
<input
type="button"
class="btn cbi-button"
value="<%:Reload YAML%>"
title="<%:Reload YAML%>"
onclick="return ssrClashRefreshSubscription(this, '<%=section%>');" />
<input
type="button"
class="btn cbi-button"
value="<%:Reset Default Proxies Rules%>"
title="<%:Reset Default Proxies Rules%>"
onclick="return ssrClashResetDefaults(this, '<%=section%>');" />
<input
type="button"
class="btn cbi-button cbi-button-apply"
value="<%:Panel%>"
title="<%:Panel%>"
onclick="window.open('<%=luci.dispatcher.build_url('admin', 'services', 'shadowsocksr', 'clash_panel')%>?sid=<%=section%>', '_blank');" />
<% else %>
-
<% end %>
<%+cbi/valuefooter%>