2 lines
3.4 KiB
JavaScript
2 lines
3.4 KiB
JavaScript
export const toolUiHelpersSource = " function addToolTab(tool, icon, label, beforeTool='appstatus'){\n if(document.querySelector(`.tool-tab[data-tool=\"${tool}\"]`)) return;\n const nav=document.querySelector('#toolsModal .nav.nav-pills');\n if(!nav) return;\n const li=document.createElement('li');\n li.className='nav-item';\n li.innerHTML=`<button class=\"nav-link tool-tab\" data-tool=\"${tool}\" type=\"button\"><i class=\"fa-solid ${icon}\"></i> ${label}</button>`;\n const before=document.querySelector(`#toolsModal .tool-tab[data-tool=\"${beforeTool}\"]`)?.closest('.nav-item');\n nav.insertBefore(li,before||null);\n li.querySelector('.tool-tab')?.addEventListener('click',()=>activateToolTab(tool));\n }\n function inlineSwitch(id,label='Enable',extraClass=''){\n return `<label class=\"form-check form-switch inline-switch ${extraClass}\"><input id=\"${id}\" class=\"form-check-input\" type=\"checkbox\"><span class=\"form-check-label\">${label}</span></label>`;\n }\n function plannerToggleRow(id,title,description){\n return `<div class=\"smart-setting-row smart-toggle-row\"><div><b>${title}</b><small>${description}</small></div>${inlineSwitch(id)}</div>`;\n }\n function plannerSpeedCard(prefix,title,sub){\n return `<div class=\"smart-input-field planner-speed-card\" data-planner-speed=\"${prefix}\">\n <span>${title}</span>\n <small>${sub}</small>\n <div class=\"planner-limit-summary\" id=\"${prefix}Summary\">Unlimited</div>\n <div class=\"planner-presets\" aria-label=\"${title} presets\">\n <button class=\"btn btn-sm btn-outline-secondary planner-speed-preset\" data-prefix=\"${prefix}\" data-mbps=\"0\" type=\"button\">Unlimited</button>\n <button class=\"btn btn-sm btn-outline-secondary planner-speed-preset\" data-prefix=\"${prefix}\" data-mbps=\"50\" type=\"button\">50</button>\n <button class=\"btn btn-sm btn-outline-secondary planner-speed-preset\" data-prefix=\"${prefix}\" data-mbps=\"100\" type=\"button\">100</button>\n <button class=\"btn btn-sm btn-outline-secondary planner-speed-preset\" data-prefix=\"${prefix}\" data-mbps=\"250\" type=\"button\">250</button>\n <button class=\"btn btn-sm btn-outline-secondary planner-speed-preset\" data-prefix=\"${prefix}\" data-mbps=\"500\" type=\"button\">500</button>\n <button class=\"btn btn-sm btn-outline-secondary planner-speed-preset\" data-prefix=\"${prefix}\" data-mbps=\"1000\" type=\"button\">1G</button>\n </div>\n <div class=\"planner-speed-sliders\">\n <label>Download <b id=\"${prefix}DownMbps\">Unlimited</b><input id=\"${prefix}DownSlider\" class=\"form-range planner-mbps-slider\" type=\"range\" min=\"0\" max=\"1000\" step=\"5\" value=\"0\" data-target=\"${prefix}Down\"></label>\n <input id=\"${prefix}Down\" class=\"form-control form-control-sm planner-byte-input\" type=\"number\" min=\"0\" placeholder=\"B/s\" aria-label=\"${title} download bytes per second\">\n <label>Upload <b id=\"${prefix}UpMbps\">Unlimited</b><input id=\"${prefix}UpSlider\" class=\"form-range planner-mbps-slider\" type=\"range\" min=\"0\" max=\"1000\" step=\"5\" value=\"0\" data-target=\"${prefix}Up\"></label>\n <input id=\"${prefix}Up\" class=\"form-control form-control-sm planner-byte-input\" type=\"number\" min=\"0\" placeholder=\"B/s\" aria-label=\"${title} upload bytes per second\">\n </div>\n <small>Slider uses Mbit/s. Numeric fields store B/s for rTorrent.</small>\n </div>`;\n }";
|