import { UserSettings} from "./UserSettings.js"; import * as Utilities from "./Utilities.js"; import { GetSelectedDevices } from "./DataGrid.js"; export var CommandCompletionDiv = document.querySelector("#commandCompletionDiv") as HTMLDivElement; export var CommandInfoDiv = document.querySelector("#commandInfoDiv") as HTMLDivElement; export var CommandModeSelect = document.querySelector("#commandModeSelect") as HTMLSelectElement; export var ConsoleOutputDiv = document.querySelector("#consoleOutputDiv") as HTMLDivElement; export var ConsoleTextArea = document.querySelector("#consoleTextArea") as HTMLTextAreaElement; export var DeviceGrid = document.querySelector("#deviceGrid") as HTMLTableElement; export var DevicesSelectedCount = document.querySelector("#devicesSelectedSpan") as HTMLSpanElement; export var OnlineDevicesCount = document.querySelector("#onlineDevicesSpan") as HTMLSpanElement; export var TotalDevicesCount = document.querySelector("#totalDevicesSpan") as HTMLSpanElement; export var MeasurementCanvas = document.createElement("canvas"); export var MeasurementContext = MeasurementCanvas.getContext("2d"); export var TabContentWrapper = document.getElementById("tabContentWrapper") as HTMLDivElement; export var ConsoleFrame = document.getElementById("consoleFrame") as HTMLDivElement; export var ConsoleTab = document.getElementById("consoleTab") as HTMLAnchorElement; export var ConsoleAlert = document.getElementById("consoleAlert") as HTMLAnchorElement; export function AddConsoleOutput(strOutputMessage:string) { var outputBlock = document.createElement("div"); outputBlock.classList.add("console-block"); var prompt = document.createElement("div"); prompt.classList.add("console-prompt"); prompt.innerHTML = UserSettings.PromptString; var output = document.createElement("div"); output.classList.add("console-output"); output.innerHTML = strOutputMessage; outputBlock.appendChild(prompt); outputBlock.appendChild(output); ConsoleOutputDiv.appendChild(outputBlock); ConsoleFrame.scrollTop = ConsoleFrame.scrollHeight; if (!ConsoleTab.classList.contains("active")) { ConsoleAlert.hidden = false; } } export function AddConsoleHTML(html: string) { var contentWrapper = document.createElement("div"); contentWrapper.innerHTML = html; ConsoleOutputDiv.appendChild(contentWrapper); ConsoleFrame.scrollTop = ConsoleFrame.scrollHeight; } export function AddTransferHarness(transferID: string, totalDevices:number) { var transferHarness = document.createElement("div"); transferHarness.id = transferID; transferHarness.classList.add("command-harness"); transferHarness.innerHTML = `
File Transfer Status | Total Devices: ${totalDevices} | Completed: 0
`; AddConsoleHTML(transferHarness.outerHTML); } export function AutoSizeTextArea() { ConsoleTextArea.style.height = "1px"; ConsoleTextArea.style.height = Math.max(12, ConsoleTextArea.scrollHeight) + "px"; } export function PopupMessage(message: string) { var messageDiv = document.createElement("div"); messageDiv.classList.add("float-message"); messageDiv.innerHTML = message; document.body.appendChild(messageDiv); window.setTimeout(() => { messageDiv.remove(); }, 5000); } export function ShowModal(title: string, modalBodyHtml: string, buttonsHTML: string = "", onDismissCallback: VoidFunction = null) : HTMLDivElement { var modalID = Utilities.CreateGUID(); var modalHTML = ``; var wrapperDiv = document.createElement("div"); wrapperDiv.innerHTML = modalHTML; document.body.appendChild(wrapperDiv); $("#" + modalID).on("hidden.bs.modal", ev => { try { if (onDismissCallback) { onDismissCallback(); } } finally { (ev.currentTarget as HTMLElement).parentElement.remove(); } }); $("#" + modalID).modal("show"); return wrapperDiv; }; export function ValidateInput(inputElement: HTMLInputElement) { if (!inputElement.checkValidity()) { $(inputElement)["tooltip"]({ template: '', title: inputElement.validationMessage }); $(inputElement)["tooltip"]("show"); return false; } else { return true; } }