From 0f3497a3c170770ca37d1d1e155a78e6a2c4bdce Mon Sep 17 00:00:00 2001 From: teh_coderer Date: Tue, 16 May 2023 16:05:48 -0500 Subject: [PATCH] remove plotly charts legacy web modules (#5034) --- openbb_terminal/core/plots/assets/icon.png | Bin 727 -> 0 bytes openbb_terminal/core/plots/old_table.html | 41 - openbb_terminal/core/plots/web/bar_menus.js | 460 ------ .../plots/web/css/fonts/FiraCode-Regular.ttf | Bin 289624 -> 0 bytes .../core/plots/web/css/fonts/FiraCode-VF.ttf | Bin 286320 -> 0 bytes openbb_terminal/core/plots/web/css/style.css | 1351 ----------------- openbb_terminal/core/plots/web/css/table.css | 7 - openbb_terminal/core/plots/web/helpers.js | 1080 ------------- openbb_terminal/core/plots/web/main.js | 646 -------- openbb_terminal/core/plots/web/main_table.js | 119 -- openbb_terminal/core/plots/web/popups.js | 738 --------- 11 files changed, 4442 deletions(-) delete mode 100644 openbb_terminal/core/plots/assets/icon.png delete mode 100644 openbb_terminal/core/plots/old_table.html delete mode 100644 openbb_terminal/core/plots/web/bar_menus.js delete mode 100644 openbb_terminal/core/plots/web/css/fonts/FiraCode-Regular.ttf delete mode 100644 openbb_terminal/core/plots/web/css/fonts/FiraCode-VF.ttf delete mode 100644 openbb_terminal/core/plots/web/css/style.css delete mode 100644 openbb_terminal/core/plots/web/css/table.css delete mode 100644 openbb_terminal/core/plots/web/helpers.js delete mode 100644 openbb_terminal/core/plots/web/main.js delete mode 100644 openbb_terminal/core/plots/web/main_table.js delete mode 100644 openbb_terminal/core/plots/web/popups.js diff --git a/openbb_terminal/core/plots/assets/icon.png b/openbb_terminal/core/plots/assets/icon.png deleted file mode 100644 index 1d77bc133cc75012039b463c3e0498cb8e2ea050..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 727 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE0wix1Z>k4UEa{HEjtmSN`?>!lvVtU&J%W50 z7^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+10f+@+{-G$+Qd;gjJKptm- zM`SSr1Gg{;GcwGYBLNg-FY)wsWq-!ZE~a4pY8I0a0|R5ar;B5V$MLsUH)e@Cim*M% zFEiJ>bNZ;6*+z~dZW||vFggZhPSx{I^jJD|>)bn!9tm?e#VI7jIT}vQWYXN?kt5_G z>`_#HJZuS_Mh|eZ*0C3 zRwm=qA38H&nRtl7vWta+p|6imWx3wJ|DVNwWtLF&nyEM6xons#zWd$o;>XYbKINbJ zBP3LPbM-l3EU1>aMwFx^mZVxG7o`Fz1|tI_BV7YyT?6wFBO@zgBP&x&Z36=<1B1PG zv4>GKe!Ug+!DDC6+4`6y>L7=A - - - - - - - - - - - - - - - -
- - - diff --git a/openbb_terminal/core/plots/web/bar_menus.js b/openbb_terminal/core/plots/web/bar_menus.js deleted file mode 100644 index 455e96326f8..00000000000 --- a/openbb_terminal/core/plots/web/bar_menus.js +++ /dev/null @@ -1,460 +0,0 @@ -// Custom Menu functions for Plotly charts - -async function autoScaling(eventdata, graphs) { - try { - if (eventdata["xaxis.range[0]"] != undefined) { - const x_min = eventdata["xaxis.range[0]"]; - const x_max = eventdata["xaxis.range[1]"]; - let to_update = {}; - let y_min, y_max; - - const YaxisData = graphs.data.filter((trace) => trace.yaxis != undefined); - const yaxis_unique = [ - ...new Set( - YaxisData.map( - (trace) => - trace.yaxis || trace.y != undefined || trace.type == "candlestick" - ) - ), - ]; - - const get_all_yaxis_traces = (yaxis) => { - return graphs.data.filter( - (trace) => - trace.yaxis == yaxis && (trace.y || trace.type == "candlestick") - ); - }; - - yaxis_unique.forEach((unique) => { - if (typeof unique != "string") { - return; - } - let yaxis = "yaxis" + unique.replace("y", ""); - let y_candle = []; - let y_values = []; - let log_scale = graphs.layout[yaxis].type == "log"; - - get_all_yaxis_traces(unique).forEach((trace2) => { - let x = trace2.x; - log_scale = graphs.layout[yaxis].type == "log"; - - let y = trace2.y != undefined ? trace2.y : []; - let y_low = trace2.type == "candlestick" ? trace2.low : []; - let y_high = trace2.type == "candlestick" ? trace2.high : []; - - if (log_scale) { - y = y.map(Math.log10); - if (trace2.type == "candlestick") { - y_low = trace2.low.map(Math.log10); - y_high = trace2.high.map(Math.log10); - } - } - - let yx_values = x.map((x, i) => { - let out = null; - if (x >= x_min && x <= x_max) { - if (trace2.y != undefined) { - console.log(trace2.name, trace2.type, trace2.yaxis); - out = y[i]; - } - if (trace2.type == "candlestick") { - y_candle.push(y_low[i]); - y_candle.push(y_high[i]); - } - } - return out; - }); - - y_values = y_values.concat(yx_values); - }); - - y_values = y_values.filter((y2) => y2 != undefined && y2 != null); - y_min = Math.min(...y_values); - y_max = Math.max(...y_values); - - if (y_candle.length > 0) { - y_candle = y_candle.filter((y2) => y2 != undefined && y2 != null); - y_min = Math.min(...y_candle); - y_max = Math.max(...y_candle); - } - - let org_y_max = y_max; - let is_volume = - graphs.layout[yaxis].fixedrange != undefined && - graphs.layout[yaxis].fixedrange == true; - - if (y_min != undefined && y_max != undefined) { - let y_range = y_max - y_min; - let y_mult = 0.15; - if (y_candle.length > 0) { - y_mult = 0.3; - } - - y_min -= y_range * y_mult; - y_max += y_range * y_mult; - - if (is_volume) { - if (graphs.layout[yaxis].tickvals != undefined) { - const range_x = 7; - let volume_ticks = org_y_max; - let round_digits = -3; - let first_val = Math.round(volume_ticks * 0.2, round_digits); - let x_zipped = [2, 5, 6, 7, 8, 9, 10]; - let y_zipped = [1, 4, 5, 6, 7, 8, 9]; - - for (let i = 0; i < x_zipped.length; i++) { - if (String(volume_ticks).length > x_zipped[i]) { - round_digits = -y_zipped[i]; - first_val = Math.round(volume_ticks * 0.2, round_digits); - } - } - let tickvals = [ - Math.floor(first_val), - Math.floor(first_val * 2), - Math.floor(first_val * 3), - Math.floor(first_val * 4), - ]; - let volume_range = [0, Math.floor(volume_ticks * range_x)]; - - to_update[yaxis + ".tickvals"] = tickvals; - to_update[yaxis + ".range"] = volume_range; - to_update[yaxis + ".tickformat"] = ".2s"; - return; - } - y_min = 0; - y_max = graphs.layout[yaxis].range[1]; - } - to_update[yaxis + ".range"] = [y_min, y_max]; - } - }); - Plotly.update(graphs, {}, to_update); - } - } catch (e) { - console.log(`Error in AutoScaling: ${e}`); - } -} - -function changeColor() { - if (!globals.color_picker) { - let color_picker = document.getElementById("changecolor"); - globals.color_picker = color_picker; - - color_picker.style.display = "block"; - color_picker.style.width = null; - dragElement(color_picker); - - function dragElement(elmnt) { - let pos1 = 0, - pos2 = 0, - pos3 = 0, - pos4 = 0; - if (document.getElementById(elmnt.id + "_header")) { - // if present, the header is where you move the DIV from: - document.getElementById(elmnt.id + "_header").onmousedown = - dragMouseDown; - } else { - // otherwise, move the DIV from anywhere inside the DIV: - elmnt.onmousedown = dragMouseDown; - } - - function dragMouseDown(e) { - e = e || window.event; - e.preventDefault(); - // get the mouse cursor position at startup: - pos3 = e.clientX; - pos4 = e.clientY; - document.onmouseup = closeDragElement; - // call a function whenever the cursor moves: - document.onmousemove = elementDrag; - } - - function elementDrag(e) { - e = e || window.event; - e.preventDefault(); - // calculate the new cursor position: - pos1 = pos3 - e.clientX; - pos2 = pos4 - e.clientY; - pos3 = e.clientX; - pos4 = e.clientY; - // set the element's new position: - elmnt.style.top = elmnt.offsetTop - pos2 + "px"; - elmnt.style.left = elmnt.offsetLeft - pos1 + "px"; - } - - function closeDragElement() { - // stop moving when mouse button is released: - document.onmouseup = null; - document.onmousemove = null; - } - } - } else { - globals.color_picker.style.display = "none"; - globals.color_picker = null; - } -} - -function uploadImage() { - const loader = document.getElementById("loader"); - loader.classList.add("show"); - Plotly.toImage(globals.CHART_DIV, { - format: "png", - height: 627, - width: 1200, - }) - .then(function (url) { - let data = { - image: url, - title: globals.title, - description: "Check out this chart from OpenBB", - }; - - fetch("https://uppy-self.vercel.app/api/upload-image", { - method: "POST", - headers: { - "Content-Type": "application/json", - }, - body: JSON.stringify(data), - }) - .then(function (response) { - return response.json(); - }) - .then(function (data) { - const { url, id } = data; - loader.classList.remove("show"); - openPopup("popup_upload", { url }); - }) - .catch(function (err) { - console.log(err); - loader.classList.remove("show"); - }); - }) - .catch(function (err) { - console.log(err); - loader.classList.remove("show"); - }); -} - -const openbb_watermark = { - yref: "paper", - xref: "paper", - x: 1, - y: 0, - text: "OpenBB Terminal", - font_size: 17, - font_color: "gray", - opacity: 0.5, - xanchor: "right", - yanchor: "bottom", - yshift: -80, - xshift: 40, -}; - -async function setWatermarks(margin, old_index, init = false) { - if (init) { - globals.CHART_DIV.layout.annotations.push(openbb_watermark); - if (globals.cmd_idx && globals.cmd_src) { - globals.CHART_DIV.layout.annotations[globals.cmd_idx].text = - globals.cmd_src; - } - - Plotly.relayout(globals.CHART_DIV, { - "title.text": globals.title, - margin: globals.old_margin, - }); - } - - if (!init) { - if (globals.cmd_idx && globals.cmd_src) { - globals.CHART_DIV.layout.annotations[globals.cmd_idx].text = ""; - } - globals.CHART_DIV.layout.annotations.splice(old_index, 1); - - Plotly.relayout(globals.CHART_DIV, { - "title.text": "", - margin: margin, - }); - } -} - -async function downloadImage(filename, extension, writable = undefined) { - const loader = document.getElementById("loader"); - loader.classList.add("show"); - - let imageDownload = undefined; - - if (extension == "png") { - imageDownload = domtoimage.toPng; - } else if (extension == "jpeg") { - imageDownload = domtoimage.toJpeg; - // } else if (extension == "svg") { - // imageDownload = domtoimage.toSvg; - } else if (["svg", "pdf"].includes(extension)) { - const margin = globals.CHART_DIV.layout.margin; - const old_index = globals.CHART_DIV.layout.annotations.length; - - await setWatermarks(margin, old_index, true); - - if (window.showSaveFilePicker && writable) { - await Plotly.toImage(globals.CHART_DIV, { - format: "svg", - height: globals.CHART_DIV.clientHeight, - width: globals.CHART_DIV.clientWidth, - }).then(async function (dataUrl) { - const blob = await fetch(dataUrl).then((r) => r.blob()); - await writable.write(blob); - await writable.close(); - }); - } else { - Plotly.downloadImage(globals.CHART_DIV, { - format: "svg", - height: globals.CHART_DIV.clientHeight, - width: globals.CHART_DIV.clientWidth, - filename: filename, - }); - } - - await setWatermarks(margin, old_index, false); - - return; - } else { - console.log("Invalid extension"); - return; - } - - imageDownload(document.getElementById("openbb_container")) - .then(async function (dataUrl) { - if (window.showSaveFilePicker && writable) { - const blob = await fetch(dataUrl).then((r) => r.blob()); - await writable.write(blob); - await writable.close(); - } else { - downloadURI(dataUrl, filename + "." + extension); - } - loader.classList.remove("show"); - }) - .catch(function (error) { - console.error("oops, something went wrong!", error); - loader.classList.remove("show"); - hideModebar(); - }); -} - -function downloadURI(uri, name) { - let link = document.createElement("a"); - link.download = name; - link.href = uri; - document.body.appendChild(link); - link.click(); - document.body.removeChild(link); -} - -async function downloadData(gd, filename, writable = undefined) { - let data = gd.data; - let candlestick = false; - let csv = undefined; - - data.forEach(function (trace) { - // check if candlestick - if (trace.type == "candlestick") { - candlestick = true; - return; - } - }); - - let xaxis = - "title" in gd.layout["xaxis"] && - gd.layout["xaxis"]["title"]["text"] != undefined - ? gd.layout["xaxis"]["title"]["text"] - : "x"; - - let yaxis = - "title" in gd.layout["yaxis"] && - gd.layout["yaxis"]["title"]["text"] != undefined - ? gd.layout["yaxis"]["title"]["text"] - : "y"; - - if (candlestick) { - csv = "Date,Open,High,Low,Close\n"; - data.forEach(function (trace) { - if (trace.type == "candlestick") { - let x = trace.x; - let open = trace.open; - let high = trace.high; - let low = trace.low; - let close = trace.close; - - for (let i = 0; i < x.length; i++) { - csv += `${x[i]},${open[i]},${high[i]},${low[i]},${close[i]}\n`; - } - } - }); - } else { - let traces = 0; - data.forEach(function (trace) { - if (trace.type == "scatter") { - traces++; - } - }); - - if (traces == 1) { - csv = `${data[0].name},${xaxis},${yaxis}\n`; - data.forEach(function (trace) { - if (trace.type == "scatter") { - let x = trace.x; - let y = trace.y; - - for (let i = 0; i < x.length; i++) { - csv += `${x[i]},${y[i]}\n`; - } - } - }); - } else if (traces > 1) { - csv = `${xaxis}`; - data.forEach(function (trace) { - if (trace.type == "scatter") { - csv += `,${trace.name}`; - } - }); - csv += "\n"; - - let x = data[0].x; - for (let i = 0; i < x.length; i++) { - csv += `${x[i]}`; - data.forEach(function (trace) { - if (trace.type == "scatter") { - csv += `,${trace.y[i]}`; - } - }); - csv += "\n"; - } - } else { - return; - } - } - - const blob = new Blob([csv], { type: "text/csv;charset=utf-8;" }); - if (navigator.msSaveBlob) { - // IE 10+ - navigator.msSaveBlob(blob, filename); - } else { - // feature detection - // Browsers that support showSaveFilePicker or HTML5 download attribute - if (window.showSaveFilePicker && writable) { - await writable.write(blob); - await writable.close(); - } else { - let link = window.document.createElement("a"); - if (link.download !== undefined) { - // feature detection - // Browsers that support HTML5 download attribute - let url = URL.createObjectURL(blob); - link.setAttribute("href", url); - link.setAttribute("download", filename); - link.style.visibility = "hidden"; - window.document.body.appendChild(link); - link.click(); - window.document.body.removeChild(link); - } - } - } -} diff --git a/openbb_terminal/core/plots/web/css/fonts/FiraCode-Regular.ttf b/openbb_terminal/core/plots/web/css/fonts/FiraCode-Regular.ttf deleted file mode 100644 index bd736851948d2d76483b434113e2d9ee35554446..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 289624 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͹< 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 JVW8mO{{dG|E=m9Z diff --git a/openbb_terminal/core/plots/web/css/fonts/FiraCode-VF.ttf b/openbb_terminal/core/plots/web/css/fonts/FiraCode-VF.ttf deleted file mode 100644 index c05ac827c5847d8e6e8fc2f425b1c0e5f4ad7d0d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 286320 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 - `; - } - csv_columns.innerHTML += ` -
${options_select}
- `; - - csv_colors.innerHTML = ` - Candlestick colors:
- - - - - - `; - - for (let i = 0; i < option_ids.length; i++) { - if (headers_lower.includes(option_ids[i])) { - csv_columns.querySelector("#csv_" + option_ids[i]).value = - headers[headers_lower.indexOf(option_ids[i])]; - } else if (option_ids[i] == "x" && headers_lower.includes("date")) { - csv_columns.querySelector("#csv_x").value = - headers[headers_lower.indexOf("date")]; - } - } - globals.CSV_DIV.querySelector("#csv_percent_change_div").style.display = - "none"; - } else { - let color_text = csv_type.value == "bar" ? "Bar color" : "Line color"; - csv_columns.innerHTML = ` - Columns:
-
- - -
-
- - -
- `; - csv_colors.innerHTML = ` - - - `; - - if (headers_lower.includes("x")) { - csv_columns.querySelector("#csv_x").value = - headers[headers_lower.indexOf("x")]; - } else if (headers_lower.includes("date")) { - csv_columns.querySelector("#csv_x").value = - headers[headers_lower.indexOf("date")]; - } - - if (headers_lower.includes("y")) { - csv_columns.querySelector("#csv_y").value = - headers[headers_lower.indexOf("y")]; - } else if (headers_lower.includes("close")) { - csv_columns.querySelector("#csv_y").value = - headers[headers_lower.indexOf("close")]; - } - } - if (csv_type.value == "bar") { - csv_bar_orientation.style.display = "inline-block"; - globals.CSV_DIV.querySelector("#csv_percent_change_div").style.display = - "none"; - } - - csv_plot_yaxis_options.style.display = "inline-block"; - - // we try to guess the date and time to remove from the name of the file - // if "_" in the name of the file, - // we assume the first 2 parts or the last 2 parts are date and time - let filename = file.name.split(".")[0]; - csv_name.value = filename; - - try { - if (filename.includes("_")) { - let name_parts = filename.split("_"); - let date_regex = new RegExp("^[0-9]{8}$"); - - if (name_parts.length > 2) { - // we check if the first 2 parts are date and time - if (date_regex.test(name_parts[0])) { - name_parts.splice(0, 2); - } - // we check if the last 2 parts are date and time - else if (date_regex.test(name_parts[name_parts.length - 2])) { - name_parts.splice(name_parts.length - 2, 2); - } - csv_name.value = name_parts.join("_").replace(/openbb_/g, ""); - } - } - } catch (e) { - console.log(e); - } - }; - - reader.readAsText(file); - } -} - -function openbbFilename(data, csv = false) { - let title = csv ? "data" : "plots"; - - if (data.layout.title != undefined) { - title = (csv ? "data_" : "") + data.layout.title.text; - } - - globals.title = title; - - let filename = "openbb_" + title.replace(/|<\/b>/g, "").replace(/ /g, "_"); - - let date = new Date().toISOString().slice(0, 10).replace(/-/g, ""); - let time = new Date().toISOString().slice(11, 19).replace(/:/g, ""); - - return filename + "_" + date + "_" + time; -} - -function plot_text(data, popup_data, current_text = null) { - // Plots text on the chart based on the popup_data - // If current_text is not null, it will be replaced with the new text - // If current_text is null, a new annotation will be added - // popup_data is the data from the popup - // data is the data from the chart - - console.log("plot_text"); - let gd = globals.CHART_DIV; - let annotations = undefined; - let yaxis = data.yref.replace("y", "yaxis"); - let yrange = gd.layout[yaxis].range; - let yshift = (yrange[1] - yrange[0]) * 0.2; - - if (popup_data.yanchor == "below") { - yshift = -yshift; - } - - if (current_text == null) { - annotations = add_annotation(data, yshift, popup_data); - } else { - annotations = add_annotation(data, yshift, popup_data, current_text); - } - let to_update = { annotations: annotations, dragmode: "pan" }; - to_update[yaxis + ".type"] = "linear"; - - Plotly.update(gd, {}, to_update); - gd.removeAllListeners("plotly_click"); - - globals.TEXT_DIV = document.getElementById("popup_text"); - globals.TEXT_DIV.querySelectorAll("input").forEach(function (input) { - if (!input.name in ["addtext_color", "addtext_border"]) { - input.value = ""; - } - }); - closePopup(); -} - -function update_color() { - // updates the color of the last added shape - // this function is called when the color picker is used - let color = globals.color_picker.querySelector("#picked_color").value; - let gd = globals.CHART_DIV; - - // if there are no shapes, we remove the color picker - let shapes = gd.layout.shapes; - if (!shapes || shapes.length == 0) { - globals.color_picker.remove(); - return; - } - // we change last added shape color - let last_shape = shapes[shapes.length - 1]; - last_shape.line.color = color; - Plotly.update(gd, {}, { shapes: shapes }); -} - -function button_pressed(title, active = false) { - // changes the style of the button when it is pressed - // title is the title of the button - // active is true if the button is active, false otherwise - - let button = globals.barButtons[title]; - - if (!active) { - button.style.border = "1px solid rgba(0, 151, 222, 1.0)"; - button.style.borderRadius = "5px"; - button.style.borderpadding = "5px"; - button.style.boxShadow = "0 0 5px rgba(0, 151, 222, 1.0)"; - } else { - button.style.border = "transparent"; - button.style.boxShadow = "none"; - } -} - -const DARK_CHARTS_TEMPLATE = { - data: { - candlestick: [ - { - decreasing: { - fillcolor: "#e4003a", - line: { - color: "#e4003a", - }, - }, - increasing: { - fillcolor: "#00ACFF", - line: { - color: "#00ACFF", - }, - }, - type: "candlestick", - }, - ], - }, - layout: { - annotationdefaults: { - showarrow: false, - }, - autotypenumbers: "strict", - colorway: [ - "#ffed00", - "#ef7d00", - "#e4003a", - "#c13246", - "#822661", - "#48277c", - "#005ca9", - "#00aaff", - "#9b30d9", - "#af005f", - "#5f00af", - "#af87ff", - ], - dragmode: "pan", - font: { - family: "Fira Code", - size: 18, - }, - hoverlabel: { - align: "left", - }, - mapbox: { - style: "dark", - }, - hovermode: "x", - legend: { - bgcolor: "rgba(0, 0, 0, 0)", - x: 0.01, - xanchor: "left", - y: 0.99, - yanchor: "top", - font: { - size: 15, - }, - }, - paper_bgcolor: "#000000", - plot_bgcolor: "#000000", - xaxis: { - automargin: true, - autorange: true, - rangeslider: { - visible: false, - }, - showgrid: true, - showline: true, - tickfont: { - size: 14, - }, - zeroline: false, - tick0: 1, - title: { - standoff: 20, - }, - linecolor: "#F5EFF3", - mirror: true, - ticks: "outside", - }, - yaxis: { - anchor: "x", - automargin: true, - fixedrange: false, - zeroline: false, - showgrid: true, - showline: true, - side: "right", - tick0: 0.5, - title: { - standoff: 20, - }, - gridcolor: "#283442", - linecolor: "#F5EFF3", - mirror: true, - ticks: "outside", - }, - }, -}; - -const LIGHT_CHARTS_TEMPLATE = { - data: { - barpolar: [ - { - marker: { - line: { - color: "white", - width: 0.5, - }, - pattern: { - fillmode: "overlay", - size: 10, - solidity: 0.2, - }, - }, - type: "barpolar", - }, - ], - bar: [ - { - error_x: { - color: "#2a3f5f", - }, - error_y: { - color: "#2a3f5f", - }, - marker: { - line: { - color: "white", - width: 0.5, - }, - pattern: { - fillmode: "overlay", - size: 10, - solidity: 0.2, - }, - }, - type: "bar", - }, - ], - carpet: [ - { - aaxis: { - endlinecolor: "#2a3f5f", - gridcolor: "#C8D4E3", - linecolor: "#C8D4E3", - minorgridcolor: "#C8D4E3", - startlinecolor: "#2a3f5f", - }, - baxis: { - endlinecolor: "#2a3f5f", - gridcolor: "#C8D4E3", - linecolor: "#C8D4E3", - minorgridcolor: "#C8D4E3", - startlinecolor: "#2a3f5f", - }, - type: "carpet", - }, - ], - choropleth: [ - { - colorbar: { - outlinewidth: 0, - ticks: "", - }, - type: "choropleth", - }, - ], - contourcarpet: [ - { - colorbar: { - outlinewidth: 0, - ticks: "", - }, - type: "contourcarpet", - }, - ], - contour: [ - { - colorbar: { - outlinewidth: 0, - ticks: "", - }, - colorscale: [ - [0.0, "#0d0887"], - [0.1111111111111111, "#46039f"], - [0.2222222222222222, "#7201a8"], - [0.3333333333333333, "#9c179e"], - [0.4444444444444444, "#bd3786"], - [0.5555555555555556, "#d8576b"], - [0.6666666666666666, "#ed7953"], - [0.7777777777777778, "#fb9f3a"], - [0.8888888888888888, "#fdca26"], - [1.0, "#f0f921"], - ], - type: "contour", - }, - ], - heatmapgl: [ - { - colorbar: { - outlinewidth: 0, - ticks: "", - }, - colorscale: [ - [0.0, "#0d0887"], - [0.1111111111111111, "#46039f"], - [0.2222222222222222, "#7201a8"], - [0.3333333333333333, "#9c179e"], - [0.4444444444444444, "#bd3786"], - [0.5555555555555556, "#d8576b"], - [0.6666666666666666, "#ed7953"], - [0.7777777777777778, "#fb9f3a"], - [0.8888888888888888, "#fdca26"], - [1.0, "#f0f921"], - ], - type: "heatmapgl", - }, - ], - heatmap: [ - { - colorbar: { - outlinewidth: 0, - ticks: "", - }, - colorscale: [ - [0.0, "#0d0887"], - [0.1111111111111111, "#46039f"], - [0.2222222222222222, "#7201a8"], - [0.3333333333333333, "#9c179e"], - [0.4444444444444444, "#bd3786"], - [0.5555555555555556, "#d8576b"], - [0.6666666666666666, "#ed7953"], - [0.7777777777777778, "#fb9f3a"], - [0.8888888888888888, "#fdca26"], - [1.0, "#f0f921"], - ], - type: "heatmap", - }, - ], - histogram2dcontour: [ - { - colorbar: { - outlinewidth: 0, - ticks: "", - }, - colorscale: [ - [0.0, "#0d0887"], - [0.1111111111111111, "#46039f"], - [0.2222222222222222, "#7201a8"], - [0.3333333333333333, "#9c179e"], - [0.4444444444444444, "#bd3786"], - [0.5555555555555556, "#d8576b"], - [0.6666666666666666, "#ed7953"], - [0.7777777777777778, "#fb9f3a"], - [0.8888888888888888, "#fdca26"], - [1.0, "#f0f921"], - ], - type: "histogram2dcontour", - }, - ], - histogram2d: [ - { - colorbar: { - outlinewidth: 0, - ticks: "", - }, - colorscale: [ - [0.0, "#0d0887"], - [0.1111111111111111, "#46039f"], - [0.2222222222222222, "#7201a8"], - [0.3333333333333333, "#9c179e"], - [0.4444444444444444, "#bd3786"], - [0.5555555555555556, "#d8576b"], - [0.6666666666666666, "#ed7953"], - [0.7777777777777778, "#fb9f3a"], - [0.8888888888888888, "#fdca26"], - [1.0, "#f0f921"], - ], - type: "histogram2d", - }, - ], - histogram: [ - { - marker: { - pattern: { - fillmode: "overlay", - size: 10, - solidity: 0.2, - }, - }, - type: "histogram", - }, - ], - mesh3d: [ - { - colorbar: { - outlinewidth: 0, - ticks: "", - }, - type: "mesh3d", - }, - ], - parcoords: [ - { - line: { - colorbar: { - outlinewidth: 0, - ticks: "", - }, - }, - type: "parcoords", - }, - ], - pie: [ - { - automargin: true, - type: "pie", - }, - ], - scatter3d: [ - { - line: { - colorbar: { - outlinewidth: 0, - ticks: "", - }, - }, - marker: { - colorbar: { - outlinewidth: 0, - ticks: "", - }, - }, - type: "scatter3d", - }, - ], - scattercarpet: [ - { - marker: { - colorbar: { - outlinewidth: 0, - ticks: "", - }, - }, - type: "scattercarpet", - }, - ], - scattergeo: [ - { - marker: { - colorbar: { - outlinewidth: 0, - ticks: "", - }, - }, - type: "scattergeo", - }, - ], - scattergl: [ - { - marker: { - colorbar: { - outlinewidth: 0, - ticks: "", - }, - }, - type: "scattergl", - }, - ], - scattermapbox: [ - { - marker: { - colorbar: { - outlinewidth: 0, - ticks: "", - }, - }, - type: "scattermapbox", - }, - ], - scatterpolargl: [ - { - marker: { - colorbar: { - outlinewidth: 0, - ticks: "", - }, - }, - type: "scatterpolargl", - }, - ], - scatterpolar: [ - { - marker: { - colorbar: { - outlinewidth: 0, - ticks: "", - }, - }, - type: "scatterpolar", - }, - ], - scatter: [ - { - fillpattern: { - fillmode: "overlay", - size: 10, - solidity: 0.2, - }, - type: "scatter", - }, - ], - scatterternary: [ - { - marker: { - colorbar: { - outlinewidth: 0, - ticks: "", - }, - }, - type: "scatterternary", - }, - ], - surface: [ - { - colorbar: { - outlinewidth: 0, - ticks: "", - }, - colorscale: [ - [0.0, "#0d0887"], - [0.1111111111111111, "#46039f"], - [0.2222222222222222, "#7201a8"], - [0.3333333333333333, "#9c179e"], - [0.4444444444444444, "#bd3786"], - [0.5555555555555556, "#d8576b"], - [0.6666666666666666, "#ed7953"], - [0.7777777777777778, "#fb9f3a"], - [0.8888888888888888, "#fdca26"], - [1.0, "#f0f921"], - ], - type: "surface", - }, - ], - table: [ - { - cells: { - fill: { - color: "#EBF0F8", - }, - line: { - color: "white", - }, - }, - header: { - fill: { - color: "#C8D4E3", - }, - line: { - color: "white", - }, - }, - type: "table", - }, - ], - candlestick: [ - { - decreasing: { - fillcolor: "#c80000", - line: { - color: "#990000", - }, - }, - increasing: { - fillcolor: "#009600", - line: { - color: "#007500", - }, - }, - type: "candlestick", - }, - ], - }, - layout: { - annotationdefaults: { - arrowcolor: "#2a3f5f", - arrowhead: 0, - arrowwidth: 1, - showarrow: false, - }, - autotypenumbers: "strict", - coloraxis: { - colorbar: { - outlinewidth: 0, - ticks: "", - }, - }, - colorscale: { - diverging: [ - [0, "#8e0152"], - [0.1, "#c51b7d"], - [0.2, "#de77ae"], - [0.3, "#f1b6da"], - [0.4, "#fde0ef"], - [0.5, "#f7f7f7"], - [0.6, "#e6f5d0"], - [0.7, "#b8e186"], - [0.8, "#7fbc41"], - [0.9, "#4d9221"], - [1, "#276419"], - ], - sequential: [ - [0.0, "#0d0887"], - [0.1111111111111111, "#46039f"], - [0.2222222222222222, "#7201a8"], - [0.3333333333333333, "#9c179e"], - [0.4444444444444444, "#bd3786"], - [0.5555555555555556, "#d8576b"], - [0.6666666666666666, "#ed7953"], - [0.7777777777777778, "#fb9f3a"], - [0.8888888888888888, "#fdca26"], - [1.0, "#f0f921"], - ], - sequentialminus: [ - [0.0, "#0d0887"], - [0.1111111111111111, "#46039f"], - [0.2222222222222222, "#7201a8"], - [0.3333333333333333, "#9c179e"], - [0.4444444444444444, "#bd3786"], - [0.5555555555555556, "#d8576b"], - [0.6666666666666666, "#ed7953"], - [0.7777777777777778, "#fb9f3a"], - [0.8888888888888888, "#fdca26"], - [1.0, "#f0f921"], - ], - }, - colorway: [ - "#254495", - "#c13246", - "#48277c", - "#e4003a", - "#ef7d00", - "#822661", - "#ffed00", - "#00aaff", - "#9b30d9", - "#af005f", - "#5f00af", - "#af87ff", - ], - font: { - color: "#2a3f5f", - }, - geo: { - bgcolor: "white", - lakecolor: "white", - landcolor: "white", - showlakes: true, - showland: true, - subunitcolor: "#C8D4E3", - }, - hoverlabel: { - align: "left", - }, - hovermode: "x", - mapbox: { - style: "light", - }, - paper_bgcolor: "white", - plot_bgcolor: "white", - polar: { - angularaxis: { - gridcolor: "#EBF0F8", - linecolor: "#EBF0F8", - ticks: "", - }, - bgcolor: "white", - radialaxis: { - gridcolor: "#EBF0F8", - linecolor: "#EBF0F8", - ticks: "", - }, - }, - scene: { - xaxis: { - backgroundcolor: "white", - gridcolor: "#DFE8F3", - gridwidth: 2, - linecolor: "#EBF0F8", - showbackground: true, - ticks: "", - zerolinecolor: "#EBF0F8", - }, - yaxis: { - backgroundcolor: "white", - gridcolor: "#DFE8F3", - gridwidth: 2, - linecolor: "#EBF0F8", - showbackground: true, - ticks: "", - zerolinecolor: "#EBF0F8", - }, - zaxis: { - backgroundcolor: "white", - gridcolor: "#DFE8F3", - gridwidth: 2, - linecolor: "#EBF0F8", - showbackground: true, - ticks: "", - zerolinecolor: "#EBF0F8", - }, - }, - shapedefaults: { - line: { - color: "#2a3f5f", - }, - }, - ternary: { - aaxis: { - gridcolor: "#DFE8F3", - linecolor: "#A2B1C6", - ticks: "", - }, - baxis: { - gridcolor: "#DFE8F3", - linecolor: "#A2B1C6", - ticks: "", - }, - bgcolor: "white", - caxis: { - gridcolor: "#DFE8F3", - linecolor: "#A2B1C6", - ticks: "", - }, - }, - title: { - x: 0.05, - }, - xaxis: { - automargin: true, - ticks: "outside", - zerolinewidth: 2, - rangeslider: { - visible: false, - }, - showgrid: true, - showline: true, - tickfont: { - size: 15, - }, - title: { - standoff: 20, - }, - mirror: true, - zeroline: false, - }, - yaxis: { - automargin: true, - ticks: "outside", - tickfont: { - size: 15, - }, - zerolinewidth: 2, - fixedrange: false, - title: { - standoff: 20, - }, - nticks: 8, - showgrid: true, - showline: true, - side: "right", - mirror: true, - zeroline: false, - }, - dragmode: "pan", - legend: { - bgcolor: "rgba(0, 0, 0, 0)", - x: 1.03, - xanchor: "left", - y: 0.99, - yanchor: "top", - }, - }, -}; diff --git a/openbb_terminal/core/plots/web/main.js b/openbb_terminal/core/plots/web/main.js deleted file mode 100644 index 352d9c264ac..00000000000 --- a/openbb_terminal/core/plots/web/main.js +++ /dev/null @@ -1,646 +0,0 @@ -let globals = { - dark_mode: false, - modebarHidden: false, - volume: {}, - added_traces: [], - old_nticks: {}, - csv_yaxis_id: null, - cmd_src_idx: null, -}; - -function loadingOverlay(message) { - const loading = document.getElementById("loading"); - const loading_text = document.getElementById("loading_text"); - - loading_text.innerHTML = message; - loading.classList.add("show"); - - let is_loaded = setInterval(function () { - if (loading.classList.contains("show")) { - clearInterval(is_loaded); - } - }, 10); -} - -const non_blocking = (func, delay) => { - let timeout; - return function () { - const context = this; - const args = arguments; - clearTimeout(timeout); - timeout = setTimeout(() => func.apply(context, args), delay); - }; -}; - -function OpenBBMain( - plotly_figure, - chartdiv, - csvdiv, - textdiv, - titlediv, - downloaddiv -) { - // Main function that plots the graphs and initializes the bar menus - globals.CHART_DIV = chartdiv; - globals.TITLE_DIV = titlediv; - globals.TEXT_DIV = textdiv; - globals.CSV_DIV = csvdiv; - globals.dark_mode = plotly_figure.theme === "dark"; - globals.DOWNLOAD_DIV = downloaddiv; - console.log("main.js loaded"); - console.log("plotly_figure", plotly_figure); - let graphs = plotly_figure; - - const loading = document.getElementById("loading"); - - // We add the event listeners for csv file/type changes - globals.CSV_DIV.querySelector("#csv_file").addEventListener( - "change", - function () { - console.log("file changed"); - loadingOverlay("Loading CSV"); - setTimeout(function () { - non_blocking(function () { - checkFile(globals.CSV_DIV); - }, 2)(); - setTimeout(function () { - loading.classList.remove("show"); - }, 200); - }, 1000); - } - ); - globals.CSV_DIV.querySelector("#csv_trace_type").addEventListener( - "change", - function () { - console.log("type changed"); - checkFile(globals.CSV_DIV, true); - } - ); - - globals.filename = openbbFilename(graphs); - - // Sets the config with the custom buttons - CONFIG = { - plotGlPixelRatio: 1, - scrollZoom: true, - responsive: true, - displaylogo: false, - displayModeBar: true, - modeBarButtonsToRemove: ["lasso2d", "select2d", "downloadImage"], - modeBarButtons: [ - [ - { - name: "Download CSV (Ctrl+Shift+S)", - icon: ICONS.downloadCsv, - click: async function (gd) { - await downloadCsvButton(gd); - }, - }, - { - name: "Download Chart as Image (Ctrl+S)", - icon: ICONS.downloadImage, - click: async function () { - await downloadImageButton(); - }, - }, - // { - // name: "Upload Image (Ctrl+U)", - // icon: Plotly.Icons.uploadImage, - // click: function (gd) { - // downloadImage(); - // }, - // }, - ], - [ - { - name: "Edit Color (Ctrl+E)", - icon: ICONS.changeColor, - click: function () { - // We need to check if the button is active or not - let title = "Edit Color (Ctrl+E)"; - let button = globals.barButtons[title]; - let active = true; - if (button.style.border == "transparent") { - active = false; - } - // We call the function that changes the border color - button_pressed(title, active); - changeColor(); - }, - }, - "drawline", - "drawopenpath", - "drawcircle", - "drawrect", - "eraseshape", - ], - [ - { - name: "Overlay chart from CSV (Ctrl+O)", - icon: ICONS.plotCsv, - click: function () { - // We make sure to close any other popup that might be open - // before opening the CSV popup - closePopup(); - openPopup("popup_csv"); - }, - }, - { - name: "Add Text (Ctrl+T)", - icon: ICONS.addText, - click: function () { - openPopup("popup_text"); - }, - }, - { - name: "Change Titles (Ctrl+Shift+T)", - icon: ICONS.changeTitle, - click: function () { - openPopup("popup_title"); - }, - }, - { - name: "Change Theme", - icon: ICONS.sunIcon, - click: function () { - changeTheme(); - }, - }, - ], - ["hoverClosestCartesian", "hoverCompareCartesian", "toggleSpikelines"], - [ - { - name: "Auto Scale (Ctrl+Shift+A)", - icon: Plotly.Icons.autoscale, - click: function () { - autoscaleButton(); - }, - }, - "zoomIn2d", - "zoomOut2d", - "autoScale2d", - "zoom2d", - "pan2d", - ], - ], - }; - graphs.layout.title = ""; - - // We make sure to fill in any missing layout properties with default values - if (!("font" in graphs.layout)) { - graphs.layout["font"] = { - family: "Fira Code, monospace, Arial Black", - size: 18, - }; - } - graphs.layout.annotations = !graphs.layout.annotations - ? [] - : graphs.layout.annotations; - - if (!("margin" in graphs.layout)) { - graphs.layout["margin"] = { - l: 0, - r: 0, - b: 0, - t: 0, - pad: 2, - }; - } - - // RIP: Juan hated it so had to remove it - // graphs.layout.xaxis.tickangle = -20; - - graphs.layout.autosize = true; - // We set the height and width to undefined, so that plotly.js can - // automatically resize the chart to fit the PyWry window - delete graphs.layout.height; - delete graphs.layout.width; - - if (graphs.layout.annotations != undefined) { - graphs.layout.annotations.forEach(function (annotation) { - // We make sure to fill in any missing annotation properties with default values - // We also make sure to set the font size to a reasonable value based on the - // width of the client window - if (!("font" in annotation) || !("size" in annotation.font)) { - annotation["font"] = { - family: "Fira Code, monospace, Arial Black", - size: 16, - }; - } - - if (annotation.text != undefined) { - if (annotation.text[0] == "/") { - globals.cmd_src_idx = graphs.layout.annotations.indexOf(annotation); - } - } - annotation.font.size = Math.min( - globals.CHART_DIV.clientWidth / 50, - annotation.font.size - ); - }); - } - - // We add spaces to all trace names, due to Fira Code font width issues - // to make sure that the legend is not cut off - graphs.data.forEach(function (trace) { - if (trace.name != undefined) { - let name_length = trace.name.length; - trace.name = trace.name + " "; - trace.hoverlabel = { - namelength: name_length, - }; - } - }); - - // Set the default dragmode to pan and set the font size to a reasonable value - graphs.layout.dragmode = "pan"; - graphs.layout.font.size = Math.min( - globals.CHART_DIV.clientWidth / 50, - graphs.layout.font.size - ); - - // We check for the dark mode - if (graphs.layout.template.layout.mapbox.style == "dark") { - document.body.style.backgroundColor = "#000000"; - document.getElementById("openbb_footer").style.color = "#000000"; - graphs.layout.template.layout.paper_bgcolor = "#000000"; - graphs.layout.template.layout.plot_bgcolor = "#000000"; - } else { - document.body.style.backgroundColor = "#FFFFFF"; - document.getElementById("openbb_footer").style.color = "#FFFFFF"; - } - - // We set the plot config and plot the chart - Plotly.setPlotConfig(CONFIG); - Plotly.react(globals.CHART_DIV, graphs, { responsive: true }); - - let AXES = Object.keys(graphs.layout).filter( - (x) => x.startsWith("xaxis") || x.startsWith("yaxis") - ); - - // We set all the axes automargin to false - if (AXES.length > 0) { - AXES.forEach((axis) => { - let margin = axis.startsWith("y") ? "l+r" : "t+b"; - graphs.layout[axis].automargin = margin; - }); - Plotly.react(globals.CHART_DIV, graphs, { responsive: true }); - } - - // Create global variables to for use later - const modebar = document.getElementsByClassName("modebar-container")[0]; - const modebar_buttons = modebar.getElementsByClassName("modebar-btn"); - globals.barButtons = {}; - - const captureButtons = [ - "Download CSV", - "Download Chart as Image", - "Overlay chart from CSV", - "Add Text", - "Change Titles", - "Auto Scale (Ctrl+Shift+A)", - "Reset Axes", - ]; - - for (let i = 0; i < modebar_buttons.length; i++) { - // We add the buttons to the global variable for later use - // and set the border to transparent so we can change the - // color of the buttons when they are pressed - let button = modebar_buttons[i]; - if (captureButtons.includes(button.getAttribute("data-title"))) { - button.classList.add("ph-capture"); - } - button.style.border = "transparent"; - globals.barButtons[button.getAttribute("data-title")] = button; - } - - // We change the Plotly default Autoscale button icon and title to Reset Axes - globals.barButtons["Reset Axes"] = globals.barButtons["Autoscale"]; - globals.barButtons["Autoscale"] - .getElementsByTagName("path")[0] - .setAttribute("d", Plotly.Icons.home.path); - globals.barButtons["Autoscale"].setAttribute("data-title", "Reset Axes"); - - if (globals.CHART_DIV.layout.yaxis.type != undefined) { - if (globals.CHART_DIV.layout.yaxis.type == "log" && !globals.logYaxis) { - console.log("yaxis.type changed to log"); - globals.logYaxis = true; - - // We update the yaxis exponent format to SI, - // set the tickformat to '.0s' and the exponentbase to 100 - let layout_update = { - "yaxis.exponentformat": "SI", - "yaxis.tickformat": ".0s", - "yaxis.exponentbase": 100, - }; - Plotly.update(globals.CHART_DIV, layout_update); - } - if (globals.CHART_DIV.layout.yaxis.type == "linear" && globals.logYaxis) { - console.log("yaxis.type changed to linear"); - globals.logYaxis = false; - - // We update the yaxis exponent format to none, - // set the tickformat to null and the exponentbase to 10 - let layout_update = { - "yaxis.exponentformat": "none", - "yaxis.tickformat": null, - "yaxis.exponentbase": 10, - }; - Plotly.update(globals.CHART_DIV, layout_update); - } - } - - if (window.plotly_figure.layout.template.layout.mapbox.style === "light") { - for (const el of document.styleSheets[0].cssRules) { - if (el.selectorText === ".modebar-group") { - el.style.backgroundColor = "#FFFFFF"; - } - } - } - - function hideModebar() { - if (globals.modebarHidden) { - modebar.style.display = "flex"; - globals.modebarHidden = false; - } else { - modebar.style.display = "none"; - globals.modebarHidden = true; - } - } - - function autoscaleButton() { - // We need to check if the button is active or not - let title = "Auto Scale (Ctrl+Shift+A)"; - let button = globals.barButtons[title]; - let active = true; - if (button.style.border == "transparent") { - active = false; - globals.CHART_DIV.on( - "plotly_relayout", - non_blocking(async function (eventdata) { - if (eventdata["xaxis.range[0]"] == undefined) { - return; - } - await autoScaling(eventdata, globals.CHART_DIV); - }, 100) - ); - } else { - // If the button isn't active, we remove the listener so - // the graphs don't autoscale anymore - globals.CHART_DIV.removeAllListeners("plotly_relayout"); - } - button_pressed(title, active); - } - - async function downloadImageButton() { - let filename = globals.filename; - let ext = "png"; - let writable; - if (window.showSaveFilePicker) { - const handle = await showSaveFilePicker({ - suggestedName: `${filename}.${ext}`, - types: [ - { - description: "PNG Image", - accept: { - "image/png": [".png"], - }, - }, - { - description: "JPEG Image", - accept: { - "image/jpeg": [".jpeg"], - }, - }, - { - description: "SVG Image", - accept: { - "image/svg+xml": [".svg"], - }, - }, - ], - excludeAcceptAllOption: true, - }); - writable = await handle.createWritable(); - filename = handle.name; - ext = handle.name.split(".").pop(); - } - - loadingOverlay(`Saving ${ext.toUpperCase()}`); - hideModebar(); - non_blocking(async function () { - await downloadImage(filename, ext, writable); - setTimeout(function () { - setTimeout(function () { - loading.classList.remove("show"); - hideModebar(); - }, 50); - }, 25); - }, 2)(); - } - - async function downloadCsvButton(gd) { - let filename = globals.filename; - let writable; - - if (window.showSaveFilePicker) { - const handle = await showSaveFilePicker({ - suggestedName: `${filename}.csv`, - types: [ - { - description: "CSV File", - accept: { - "image/csv": [".csv"], - }, - }, - ], - excludeAcceptAllOption: true, - }); - writable = await handle.createWritable(); - filename = handle.name; - } - - loadingOverlay("Saving CSV"); - setTimeout(async function () { - await downloadData(gd, filename, writable); - }, 500); - setTimeout(function () { - loading.classList.remove("show"); - }, 1000); - } - - // We setup keyboard shortcuts custom to OpenBB - window.document.addEventListener("keydown", function (e) { - if (e.key.toLowerCase() == "h" && (e.ctrlKey || e.metaKey)) { - e.preventDefault(); - hideModebar(); - } - - if (e.ctrlKey) { - if (e.shiftKey && e.key.toLowerCase() == "t") { - openPopup("popup_title"); - } else if (e.key.toLowerCase() == "t") { - openPopup("popup_text"); - } else if (e.key.toLowerCase() == "e") { - changeColor(); - } else if (e.shiftKey && e.key.toLowerCase() == "s") { - e.preventDefault(); - downloadCsvButton(globals.CHART_DIV); - } else if (e.key.toLowerCase() == "s") { - e.preventDefault(); - downloadImageButton(); - } else if (e.key.toLowerCase() == "o") { - e.preventDefault(); - openPopup("popup_csv"); - } else if (e.shiftKey && e.key.toLowerCase() == "a") { - e.preventDefault(); - autoscaleButton(); - } - } else if (e.key == "Escape") { - closePopup(); - } - }); - - // send a relayout event to trigger the initial zoom/bars-resize - // check if the xaxis.range is defined - if ( - graphs.layout.xaxis != undefined && - graphs.layout.xaxis.range != undefined - ) { - Plotly.relayout(globals.CHART_DIV, { - "xaxis.range[0]": graphs.layout.xaxis.range[0], - "xaxis.range[1]": graphs.layout.xaxis.range[1], - }); - } - - // We find all xaxis that have showticklabels set to true - let XAXIS = Object.keys(globals.CHART_DIV.layout) - .filter((x) => x.startsWith("xaxis")) - .filter((x) => globals.CHART_DIV.layout[x].showticklabels); - - let TRACES = globals.CHART_DIV.data.filter((trace) => - trace?.name?.startsWith("Volume") - ); - - window.addEventListener("resize", function () { - // We check to see if the window.innerWidth is smaller than 900px - let layout_update = {}; - let width = window.innerWidth; - let height = window.innerHeight; - let tick_size = - height > 420 && width < 920 ? 9 : height > 420 && width < 500 ? 10 : 8; - - if (width < 920) { - // We hide the modebar and set the number of ticks to 5 - TRACES.forEach((trace) => { - if (trace.type == "bar") { - trace.opacity = 1; - trace.marker.line.width = 0.09; - if (globals.volume.yaxis == undefined) { - globals.volume.yaxis = "yaxis" + trace.yaxis.replace("y", ""); - layout_update[globals.volume.yaxis + ".tickfont.size"] = tick_size; - - globals.volume.tickfont = - globals.CHART_DIV.layout[globals.volume.yaxis].tickfont; - - globals.CHART_DIV.layout.margin.l -= 40; - } - } - }); - - XAXIS.forEach((x) => { - if (globals.old_nticks?.[x] == undefined) { - layout_update[x + ".nticks"] = 6; - globals.old_nticks[x] = globals.CHART_DIV.layout[x].nticks || 10; - } - }); - - modebar.style.display = "none"; - globals.modebarHidden = true; - } else if (globals.modebarHidden) { - // We show the modebar - modebar.style.display = "flex"; - globals.modebarHidden = false; - - if (globals.old_nticks != undefined) { - XAXIS.forEach((x) => { - if (globals.old_nticks[x] != undefined) { - layout_update[x + ".nticks"] = globals.old_nticks[x]; - globals.old_nticks[x] = undefined; - } - }); - } - - if (globals.volume.yaxis != undefined) { - TRACES.forEach((trace) => { - if (trace.type == "bar") { - trace.opacity = 0.5; - trace.marker.line.width = 0.2; - layout_update[globals.volume.yaxis + ".tickfont.size"] = - globals.volume.tickfont.size + 3; - globals.CHART_DIV.layout.margin.l += 40; - globals.volume.yaxis = undefined; - } - }); - } - } - - if (Object.keys(layout_update).length > 0) { - Plotly.relayout(globals.CHART_DIV, layout_update); - } - }); - - // We check to see if window.save_png is defined and true - if (window.save_image != undefined && window.export_image) { - // We get the extension of the file and check if it is valid - let filename = window.export_image.split("/").pop(); - const extension = filename.split(".").pop().replace("jpg", "jpeg"); - - if (["jpeg", "png", "svg", "pdf"].includes(extension)) { - hideModebar(); - non_blocking(function () { - downloadImage(filename.split(".")[0], extension); - }, 2)(); - } - } - function changeTheme() { - globals.dark_mode = !globals.dark_mode; - document.body.style.backgroundColor = globals.dark_mode ? "#000" : "#fff"; - globals.CHART_DIV.layout.font.color = globals.dark_mode ? "#fff" : "#000"; - - const changeIcon = globals.dark_mode ? ICONS.sunIcon : ICONS.moonIcon; - - globals.barButtons["Change Theme"] - .getElementsByTagName("path")[0] - .setAttribute("d", changeIcon.path); - - globals.barButtons["Change Theme"] - .getElementsByTagName("svg")[0] - .setAttribute("viewBox", changeIcon.viewBox); - - const volumeColors = { - "#e4003a": "#c80000", - "#00ACFF": "#009600", - "#009600": "#00ACFF", - "#c80000": "#e4003a", - }; - - TRACES.forEach((trace) => { - if (trace.type == "bar") { - trace.marker.color.forEach((color, i) => { - trace.marker.color[i] = volumeColors[color] || color; - }); - } - }); - - Plotly.update( - globals.CHART_DIV, - {}, - { - template: globals.dark_mode - ? DARK_CHARTS_TEMPLATE - : LIGHT_CHARTS_TEMPLATE, - } - ); - } -} diff --git a/openbb_terminal/core/plots/web/main_table.js b/openbb_terminal/core/plots/web/main_table.js deleted file mode 100644 index f4b49958bb4..00000000000 --- a/openbb_terminal/core/plots/web/main_table.js +++ /dev/null @@ -1,119 +0,0 @@ -function TableProcessor(data) { - const parsedData = JSON.parse(data); - console.log(parsedData); - const processedData = processData(parsedData); - console.log(processedData); - const body = document.getElementsByTagName("body")[0]; - const table = new Tabulator("#example-table", { - height: body.clientHeight - 54, - layout: "fitColumns", - data: processedData.data, - columns: processedData.columns, - }); - - const div = document.createElement("div"); - div.innerHTML = ` -
- - - - - - - -
- - `; - body.appendChild(div); - const filterField = document.getElementById("filter-field"); - const filterType = document.getElementById("filter-type"); - const filterValue = document.getElementById("filter-value"); - const filterClear = document.getElementById("filter-clear"); - - filterField.addEventListener("change", function (e) { - table.setFilter(filterField.value, filterType.value, filterValue.value); - }); - - filterType.addEventListener("change", function (e) { - table.setFilter(filterField.value, filterType.value, filterValue.value); - }); - - filterValue.addEventListener("keyup", function (e) { - table.setFilter(filterField.value, filterType.value, filterValue.value); - }); - - filterClear.addEventListener("click", function (e) { - table.clearFilter(); - }); -} - -function processData(data) { - /* - data is coming as { - columns: ["Name", "Age"], - data: ["John", 30] - } - */ - /* - final data should be { - columns: [ - { - title: "Name", - field: "name", - sorter: "string", - }, - { - title: "Age", - field: "age", - sorter: "number", - } - ], - data: { - name: "John", - age: "30", - } - } - */ - const columns = data.columns.map((column) => { - return { - title: column, - field: column, - sorter: column.includes("Change"), - /*formatter: (cell) => { - if (column.startsWith("Change")) { - if (cell.getValue() > 0) { - return `${cell.getValue()}`; - } else { - return `${cell.getValue()}`; - } - } else { - return cell.getValue(); - } - },*/ - }; - }); - const finalData = data.data.map((row) => { - const obj = {}; - row.forEach((item, index) => { - obj[data.columns[index]] = item; - }); - return obj; - }); - return { - columns, - data: finalData, - }; -} diff --git a/openbb_terminal/core/plots/web/popups.js b/openbb_terminal/core/plots/web/popups.js deleted file mode 100644 index 3e9c5e5cef8..00000000000 --- a/openbb_terminal/core/plots/web/popups.js +++ /dev/null @@ -1,738 +0,0 @@ -function get_popup(data = null, popup_id = null) { - let popup = null; - popup_id = popup_id.replace("popup_", ""); - const style = - "padding: 5px 2px 2px 5px !important; margin: 2px 0 !important;"; - - if (popup_id == "title") { - let title = globals.title; - data = globals.CHART_DIV.layout; - let yaxes = Object.keys(data).filter((k) => k.startsWith("yaxis")); - let xaxes = Object.keys(data).filter((k) => k.startsWith("xaxis")); - - globals.TITLE_DIV.innerHTML = ` -
-
- - -
-
-
-
- -
- - -
- `; - - // if there are multiple titles we create an input for each - let yaxis_div = ""; - for (let i = 0; i < yaxes.length; i++) { - if (data[yaxes[i]]?.title?.text != undefined) { - let title = data[yaxes[i]].title.text; - yaxis_div += ` -
- - -
- `; - } - } - if (yaxis_div != "") { - globals.TITLE_DIV.querySelector("#yaxis_div").innerHTML = yaxis_div; - } - - let xaxis_div = ""; - for (let i = 0; i < xaxes.length; i++) { - if (data[xaxes[i]]?.title?.text != undefined) { - let title = data[xaxes[i]].title.text; - xaxis_div += ` -
- - -
- `; - } - } - if (xaxis_div != "") { - globals.TITLE_DIV.querySelector("#xaxis_div").innerHTML = xaxis_div; - } - - // when opening the popup, we make sure to focus on the title input - globals.TITLE_DIV.style.display = "inline-block"; - globals.TITLE_DIV.querySelector("#title_text").focus(); - popup = globals.TITLE_DIV; - } else if (popup_id == "text") { - let has_annotation = data == undefined ? false : true; - if (data == undefined) { - data = { - text: "", - font: { - color: "#0088CC", - size: 18, - }, - bordercolor: "#822661", - }; - } - - // we replace
with \n so that the textarea can display the text properly - data.text = data.text.replace(/
/g, "\n"); - - let yanchor = - globals.TEXT_DIV.querySelector("#addtext_above") == null - ? "above" - : globals.TEXT_DIV.querySelector("#addtext_above").checked - ? "above" - : "below"; - - globals.TEXT_DIV.innerHTML = ` -
-
-
-
-
-
- - -
-
- - -
-

- -
-
- - -
-
- - -
-

- `; - - if (has_annotation) { - globals.TEXT_DIV.innerHTML += ` -
- - - - -
- `; - } else { - globals.TEXT_DIV.innerHTML += ` -
- - -
- `; - - if (globals.TEXT_DIV.querySelector("#addtext_annotation") != null) { - globals.TEXT_DIV.querySelector("#addtext_annotation").remove(); - } - } - - // when opening the popup, we make sure to focus on the textarea - globals.TEXT_DIV.style.display = "inline-block"; - globals.TEXT_DIV.querySelector("#addtext_textarea").focus(); - popup = globals.TEXT_DIV; - } else if (popup_id == "csv") { - globals.CSV_DIV.style.display = "inline-block"; - popup = globals.CSV_DIV; - console.log("csv"); - } else if (popup_id == "upload") { - globals.TEXT_DIV.style.display = "inline-block"; - globals.TEXT_DIV.innerHTML = ` -
- `; - popup = globals.TEXT_DIV; - console.log("upload"); - } else if (popup_id == "download") { - popup = globals.DOWNLOAD_DIV; - - popup.querySelector("#download_path").innerHTML = ` -
- `; - - openfile_button = popup.querySelector("#openfile_button"); - openfile_button.onclick = function () { - window.ipc.postMessage(`#OPEN:${data}`); - }; - - openfolder_button = popup.querySelector("#openfolder_button"); - openfolder_button.onclick = function () { - folder_path = data.split("\\").slice(0, -1).join("\\"); - window.ipc.postMessage(`#OPEN:${folder_path}`); - }; - - globals.DOWNLOAD_DIV.style.display = "inline-block"; - } - - let popup_divs = [ - globals.TITLE_DIV, - globals.TEXT_DIV, - globals.CSV_DIV, - globals.DOWNLOAD_DIV, - ]; - popup_divs.forEach(function (div) { - if (div.id != popup.id) { - div.style.display = "none"; - } - }); - - return popup; -} - -function get_popup_data(popup_id = null) { - // popup_id is either 'title', 'text', or 'csv' (for now) - // and is used to determine which popup to get data from - let data = null; - - if (popup_id == "title") { - data = { title: globals.TITLE_DIV.querySelector("#title_text").value }; - - let xaxis_div = globals.TITLE_DIV.querySelector("#xaxis_div"); - let yaxis_div = globals.TITLE_DIV.querySelector("#yaxis_div"); - console.log("xaxis_div: ", xaxis_div, "yaxis_div: ", yaxis_div); - - if (xaxis_div != null) { - // We query all inputs that start with 'title_xaxis' - let xaxis_inputs = xaxis_div.querySelectorAll( - "input[id^=title_xaxis], select[id^=title_xaxis]" - ); - xaxis_inputs.forEach(function (input) { - let xaxis_id = input.id.replace("title_", ""); - data[xaxis_id] = input.value; - }); - } - - if (yaxis_div != null) { - // We query all inputs that start with 'title_yaxis' - let yaxis_inputs = yaxis_div.querySelectorAll( - "input[id^=title_yaxis], select[id^=title_yaxis]" - ); - yaxis_inputs.forEach(function (input) { - let yaxis_id = input.id.replace("title_", ""); - data[yaxis_id] = input.value; - }); - } - console.log("Title data:", data); - } else if (popup_id == "text") { - data = { - text: globals.TEXT_DIV.querySelector("#addtext_textarea").value, - color: globals.TEXT_DIV.querySelector("#addtext_color").value, - size: globals.TEXT_DIV.querySelector("#addtext_size").value, - yanchor: globals.TEXT_DIV.querySelector("#addtext_above").checked - ? "above" - : "below", - bordercolor: globals.TEXT_DIV.querySelector("#addtext_border").value, - }; - if (globals.TEXT_DIV.querySelector("#addtext_annotation") != null) { - data.annotation = JSON.parse( - globals.TEXT_DIV.querySelector("#addtext_annotation").value - ); - } - - // we replace \n with
so that line breaks are displayed properly on the graph - data.text = data.text.replace(/\n/g, "
"); - console.log("Text data:", data); - } else if (popup_id == "csv") { - let trace_type = globals.CSV_DIV.querySelector("#csv_trace_type").value; - if (trace_type == "candlestick") { - data = { - x: globals.CSV_DIV.querySelector("#csv_x").value, - open: globals.CSV_DIV.querySelector("#csv_open").value, - high: globals.CSV_DIV.querySelector("#csv_high").value, - low: globals.CSV_DIV.querySelector("#csv_low").value, - close: globals.CSV_DIV.querySelector("#csv_close").value, - increasing: globals.CSV_DIV.querySelector("#csv_increasing").value, - decreasing: globals.CSV_DIV.querySelector("#csv_decreasing").value, - same_yaxis: globals.CSV_DIV.querySelector("#csv_same_yaxis").checked - ? true - : false, - }; - } else if (trace_type == "scatter") { - data = { - x: globals.CSV_DIV.querySelector("#csv_x").value, - y: globals.CSV_DIV.querySelector("#csv_y").value, - color: globals.CSV_DIV.querySelector("#csv_color").value, - percent_change: globals.CSV_DIV.querySelector("#csv_percent_change") - .checked - ? true - : false, - same_yaxis: globals.CSV_DIV.querySelector("#csv_same_yaxis").checked - ? true - : false, - }; - } else if (trace_type == "bar") { - let orientation = globals.CSV_DIV.querySelector("#csv_bar_horizontal") - .checked - ? "h" - : "v"; - data = { - x: globals.CSV_DIV.querySelector("#csv_x").value, - y: globals.CSV_DIV.querySelector("#csv_y").value, - color: globals.CSV_DIV.querySelector("#csv_color").value, - same_yaxis: globals.CSV_DIV.querySelector("#csv_same_yaxis").checked - ? true - : false, - orientation: orientation, - }; - } - data.trace_type = trace_type; - data.name = globals.CSV_DIV.querySelector("#csv_name").value; - console.log("CSV data:", data); - data.file = globals.CSV_DIV.querySelector("#csv_file"); - } - return data; -} - -const layout_defaults = { - overlaying: "y", - side: "left", - tickfont: { size: 12 }, - tickpadding: 5, - showgrid: false, - showline: false, - showticklabels: true, - showlegend: true, - zeroline: false, - anchor: "x", - type: "linear", - autorange: true, -}; - -function on_submit(popup_id, on_annotation = null) { - // popup_id is either 'title', 'text', or 'csv' (for now) - // and is used to determine which popup to get data from - let popup_data = get_popup_data(popup_id); - let gd = globals.CHART_DIV; - Plotly.update(gd, {}, { hovermode: "closest" }); - - if (popup_id == "text") { - if (!popup_data.text == "") { - if ("annotation" in popup_data) { - let current_text = popup_data.annotation.text; - let data = { - x: popup_data.annotation.x, - y: popup_data.annotation.y, - yref: popup_data.annotation.yref, - }; - plot_text(data, popup_data, current_text); - return; - } - - gd.on("plotly_clickannotation", function (eventData) { - console.log("plotly_clickannotation", eventData); - let annotation = eventData.annotation; - openPopup("popup_text"); - get_popup(annotation, (popup_id = "text")); - - if (on_annotation != null) { - let data = { - x: popup_data.annotation.x, - y: popup_data.annotation.y, - yref: popup_data.annotation.yref, - }; - plot_text(data, popup_data, popup_data.annotation.text); - } - Plotly.update(gd, {}, { hovermode: "x" }); - }); - - let clickHandler = function (eventData) { - console.log("plotly_click", eventData); - let x = eventData.points[0].x; - let yaxis = eventData.points[0].fullData.yaxis; - let y = 0; - - // We need to check if the trace is a candlestick or not - // this is because the y value is stored in the high or low - if (eventData.points[0].y != undefined) { - y = eventData.points[0].y; - } else if (eventData.points[0].low != undefined) { - if (popup_data.yanchor == "below") { - y = eventData.points[0].low; - } else { - y = eventData.points[0].high; - } - } - let data = { - x: x, - y: y, - yref: yaxis, - }; - plot_text(data, popup_data); - Plotly.update(gd, {}, { hovermode: "x" }); - }; - - Plotly.update(gd, {}, { dragmode: "select" }); - gd.on("plotly_click", clickHandler); - } else { - let textarea = globals.TEXT_DIV.querySelector("#addtext_textarea"); - document.getElementById("popup_textarea_warning").style.display = "block"; - textarea.style.border = "1px solid red"; - textarea.focus(); - - globals.TEXT_DIV.style.display = "inline-block"; - return; - } - } else if (popup_id == "title") { - document.getElementById("title").innerHTML = popup_data.title; - globals.title = popup_data.title; - - let to_update = {}; - - Object.keys(popup_data).forEach(function (key) { - if (key != "title") { - to_update[key + ".title"] = popup_data[key]; - } - }); - - console.log(to_update); - - Plotly.update(gd, {}, to_update); - } else if (popup_id == "csv") { - console.log("got popup file"); - let popup_file = popup_data.file; - - if (popup_file.files.length > 0) { - console.log("file selected"); - - let file = popup_file.files[0]; - let popup_file_reader = new FileReader(); - popup_file_reader.onload = function (e) { - let lines = e.target.result - .split("\n") - .map((x) => x.replace(/\r/g, "")); - let data = []; - let headers = lines[0].split(","); - let trace = {}; - let new_yaxis = false; - - for (let i = 1; i < lines.length; i++) { - let obj = {}; - let currentline = lines[i].split(","); - for (let j = 0; j < headers.length; j++) { - obj[headers[j]] = currentline[j]; - } - data.push(obj); - } - - // We get main plotly trace to get the x/y axis - let main_trace = gd.data[0]; - - // We check how many yaxis have ticklabels on the left - let left_yaxis_ticks = Object.keys(gd.layout) - .filter((k) => k.startsWith("yaxis")) - .map((k) => gd.layout[k]) - .filter( - (yaxis) => - yaxis.side == "left" && - (yaxis.overlaying == "y" || - (yaxis.fixedrange != undefined && yaxis.fixedrange == true)) - ).length; - - // Multiply by 5 to get the xshift for cmd source text - let add_xshift = Math.min(left_yaxis_ticks * 5, 30); - - // We set showlegend's to true - main_trace.showlegend = true; - gd.layout.showlegend = true; - - // Just in case xaxis/yaxis is not defined - if (main_trace.xaxis == undefined) { - main_trace.xaxis = "x"; - } - if (main_trace.yaxis == undefined) { - main_trace.yaxis = "y"; - } - - // Set the yaxis id - let yaxis_id = main_trace.yaxis; - let yaxis; - - // If we want to plot on a secondary yaxis - // we get the number of yaxis and add 1 to it - if (popup_data.same_yaxis == false) { - let yaxes = Object.keys(gd.layout) - .filter((k) => k.startsWith("yaxis")) - .map((k) => gd.layout[k]); - - yaxis = `y${yaxes.length + 1}`; - yaxis_id = `yaxis${yaxes.length + 1}`; - console.log(`yaxis: ${yaxis} ${yaxis_id}`); - - // If percent change is true we set the yaxis id - // in the globals so we can use it later - if ( - globals.csv_yaxis_id == null && - popup_data.percent_change == true - ) { - globals.csv_yaxis_id = yaxis_id; - globals.csv_yaxis = yaxis; - } - } else { - // Plot on the same yaxis - yaxis = main_trace.yaxis.replace("yaxis", "y"); - } - - // We get the yaxis ticksuffix - let ticksuffix = left_yaxis_ticks > 0 ? " " : ""; - if (globals.percent_yaxis_added || globals.added_traces.length > 0) { - ticksuffix = " ".repeat(left_yaxis_ticks); - } - - // Bar trace - if (popup_data.trace_type == "bar") { - trace = { - x: data.map(function (row) { - return row[popup_data.x]; - }), - y: data.map(function (row) { - return row[popup_data.y]; - }), - type: popup_data.trace_type, - name: popup_data.name, - marker: { color: popup_data.color, opacity: 0.7 }, - orientation: popup_data.orientation, - showlegend: true, - yaxis: yaxis, - }; - } - - // Candlestick trace - if (popup_data.trace_type == "candlestick") { - trace = { - x: data.map(function (row) { - return row[popup_data.x]; - }), - open: data.map(function (row) { - return row[popup_data.open]; - }), - high: data.map(function (row) { - return row[popup_data.high]; - }), - low: data.map(function (row) { - return row[popup_data.low]; - }), - close: data.map(function (row) { - return row[popup_data.close]; - }), - type: popup_data.trace_type, - name: popup_data.name, - increasing: { - line: { color: popup_data.increasing }, - fillcolor: popup_data.increasing, - }, - decreasing: { - line: { color: popup_data.decreasing }, - fillcolor: popup_data.decreasing, - }, - showlegend: true, - yaxis: yaxis, - }; - } - - // Scatter trace - if (popup_data.trace_type == "scatter") { - // We get the first non null value - orginal_data = data; - let non_null = data.findIndex( - (x) => x[popup_data.y] != null && x[popup_data.y] != 0 - ); - console.log(`non_null: ${non_null} ${data[non_null][popup_data.y]}`); - - trace = { - x: data.map(function (row) { - return row[popup_data.x]; - }), - y: data.map(function (row) { - if (popup_data.percent_change) { - return ( - (row[popup_data.y] - data[non_null][popup_data.y]) / - data[non_null][popup_data.y] - ); - } else { - return row[popup_data.y]; - } - }), - type: popup_data.trace_type, - mode: "lines", - name: popup_data.name, - line: { color: popup_data.color }, - customdata: data.map(function (row) { - return row[popup_data.y]; - }), - hovertemplate: "%{customdata}", - showlegend: true, - connectgaps: true, - xaxis: main_trace.xaxis, - yaxis: popup_data.percent_change ? globals.csv_yaxis : yaxis, - }; - - // For the percent change we add a new yaxis - // if it doesn't exist - if ( - !globals.percent_yaxis_added && - popup_data.percent_change == true && - popup_data.same_yaxis == false - ) { - gd.layout[yaxis_id] = { - ...layout_defaults, - title: { - text: "% Change", - font: { - size: 14, - }, - standoff: 0, - }, - ticksuffix: ticksuffix, - tickformat: ".0%", - }; - new_yaxis = true; - globals.percent_yaxis_added = true; - if (globals.cmd_src_idx != null) { - let xshift = gd.layout.annotations[globals.cmd_src_idx].xshift; - xshift -= left_yaxis_ticks > 0 ? 50 + add_xshift : 35; - - // just in case we have a lot of yaxis - xshift += xshift < -320 ? 10 + 2 * left_yaxis_ticks : 0; - - gd.layout.annotations[globals.cmd_src_idx].xshift = xshift; - } - gd.layout.margin.l += left_yaxis_ticks > 0 ? 50 + add_xshift : 45; - } - } - - // New yaxis and not percent change - if (!popup_data.percent_change && popup_data.same_yaxis == false) { - gd.layout[yaxis_id] = { - ...layout_defaults, - title: { - text: popup_data.name, - font: { - size: 14, - }, - standoff: 0, - }, - ticksuffix: ticksuffix, - layer: "below traces", - }; - new_yaxis = true; - if (globals.cmd_src_idx != null) { - let xshift = gd.layout.annotations[globals.cmd_src_idx].xshift; - xshift -= left_yaxis_ticks > 0 ? 40 + add_xshift : 40; - - // just in case we have a lot of yaxis - xshift += xshift < -320 ? 10 + 2 * left_yaxis_ticks : 0; - - gd.layout.annotations[globals.cmd_src_idx].xshift = xshift; - } - gd.layout.margin.l += left_yaxis_ticks > 0 ? 50 : 45; - } - console.log("trace: ", trace); - - globals.added_traces.push(trace.name); - - Plotly.addTraces(gd, trace); - Plotly.react(gd, gd.data, gd.layout); - - if (new_yaxis) { - gd.layout[yaxis_id].automargin = false; - Plotly.react(gd, gd.data, gd.layout); - } - - // We empty the fields and innerHTML after the plot is made - globals.CSV_DIV.querySelector("#csv_colors").innerHTML = ""; - globals.CSV_DIV.querySelector("#csv_columns").innerHTML = ""; - globals.CSV_DIV.querySelector("#csv_plot_yaxis_options").style.display = - "none"; - - globals.CSV_DIV.querySelectorAll("input").forEach(function (input) { - input.value = ""; - }); - globals.CSV_DIV.querySelectorAll("textarea").forEach(function (input) { - input.value = ""; - }); - }; - - popup_file_reader.readAsText(file); - } - } - closePopup(); -} - -function on_cancel() { - // We close any popup that is open - closePopup(); -} - -function on_delete(popup_id) { - let gd = globals.CHART_DIV; - closePopup(); - - if (popup_id == "text") { - let annotation = JSON.parse( - globals.TEXT_DIV.querySelector("#addtext_annotation").value - ); - gd.layout.annotations.splice(gd.layout.annotations.indexOf(annotation), 1); - gd.layout.dragmode = "pan"; - - Plotly.react(gd, gd.data, gd.layout); - - globals.TEXT_DIV.style.display = "none"; - } -} - -function closePopup() { - // We set the display to none to hide the popup overlay - var popup = document.getElementById("popup_overlay"); - popup.style.display = "none"; -} - -function openPopup(popup_id, popup_data = null) { - // We make sure to close the incase there is a popup already open - closePopup(); - var overlay = document.getElementById("popup_overlay"); - // We get the popup div and set the display to block to show the popup - overlay.style.display = "block"; - get_popup(popup_data, popup_id); -}

+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 diff --git a/openbb_terminal/core/plots/web/css/style.css b/openbb_terminal/core/plots/web/css/style.css deleted file mode 100644 index ad5e6454b36..00000000000 --- a/openbb_terminal/core/plots/web/css/style.css +++ /dev/null @@ -1,1351 +0,0 @@ -/* local Fira Code font */ -@font-face { - font-family: "Fira Code"; - src: url("fonts/FiraCode-VF.ttf") format("truetype"); - /* fix Fire Code font width issue that makes Text get cut off in Plotly.js */ - font-weight: 400 700; - font-stretch: 50%; -} - -html { - font-size: 62.5%; - font-family: "Fira Code", monospace, "Arial Black"; -} - -body { - font-family: "Fira Code", monospace, "Arial Black"; - font-size: 12px; - font-size: 1.2rem; - color: #ffffff; - background-color: #000000; - font-stretch: 50%; - overflow: hidden; -} - -.saving { - position: absolute; - z-index: 9999999; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - height: 100px; - width: 200px; - display: none; - justify-content: center; - align-items: center; - background-color: rgba(0, 0, 0, 0.7); - color: white; - box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.5); - border: 4px solid rgba(250, 250, 250, 0.5); - font-size: 1.5em; - border-radius: 20px; - animation: popup 0.3s ease-in-out; -} - -.saving.show { - display: flex; -} - -.openbb_container { - align-items: center; - width: 100%; - height: 100%; - background-color: #000000; - position: absolute; - top: 0; - left: 0; -} - -.openbb_header { - position: relative; - z-index: 99999999999; - text-align: center; - top: 0; - background-color: transparent; - box-sizing: border-box; -} - -.plotly-graph-div { - width: 100%; - height: 89.6%; - position: relative; - font-size: 12px; - font-size: 1.2rem; - font-family: "Fira Code", monospace, "Arial Black"; - visibility: visible; -} - -#changecolor { - position: absolute; - z-index: 9; - text-align: center; - top: 50%; - left: 50%; - width: 100px; - height: 60px; - background-color: transparent; - padding: 10px; - box-sizing: border-box; - display: none; -} - -#changecolor_header:hover { - margin-top: 0px !important; - margin-bottom: 0px !important; - border: 1px solid gold; - box-shadow: 0 0 5px gold; -} - -#changecolor_header { - padding: 10px; - cursor: move; - z-index: 10; - color: #fff; -} - -#changecolor_header input[type="color"] { - width: 100%; - height: 40px; - border: none; - border-radius: 5px; - margin-bottom: 20px !important; - cursor: pointer; - border: 1px solid #7d7d7d; - padding: 5px; - background-color: #131313; - color: #ffffff; - margin-right: 50px !important; -} - -@keyframes popup { - 0% { - -webkit-transition: all 0.3s ease-in-out; - transform: translate(-50%, -50%) scale(0.2); - } - - 40% { - transform: translate(-50%, -50%) scale(1.1); - } - - 80% { - transform: translate(-50%, -50%) scale(1.05); - } - - 100% { - transform: translate(-50%, -50%) scale(1); - } -} - -.popup_overlay { - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - width: 420px; - background: #070707; - border: 1px solid #dcdcdc; - box-shadow: 0px 4px 24px rgba(0, 0, 0, 0.06); - border-radius: 4px; - padding: 40px; - box-sizing: border-box; - display: none; - font-family: "Fira Code", monospace, "Arial Black"; - animation: popup 0.3s ease-in-out; - box-shadow: 0 3px 10px rgb(0 0 0 / 0.2); - z-index: 2; -} - -.popup_content { - position: relative; - background-color: transparent; - padding: 0px; - width: 100%; - height: 100%; - z-index: 3; -} - -.popup_warning { - color: #ff0000; - font-size: 12px; - font-size: 1.2rem; - font-family: "Fira Code", monospace, "Arial Black"; - display: none; - font-weight: bold; - margin-top: -15px; - margin-left: 135px; -} - -.csv_column_container { - display: grid; - grid-template-columns: 1fr 1fr; - grid-gap: 10px; - margin-top: 10px; - margin-bottom: 10px; -} - -.plotly-graph-div .modebar--hover .modebar-group { - border: 2px solid #5a5a5a !important; - border-radius: 4px; - padding: 2px 2px 2px !important; -} - -.modebar-group { - display: flex !important; - background-color: transparent !important; -} - -.modebar { - z-index: 5000 !important; - position: fixed !important; - bottom: 10px !important; - top: auto !important; - left: 50% !important; - right: auto !important; - align-items: center; - transform: translate(-50%, 10%) !important; -} - -@media screen and (max-width: 600px) { - .modebar-group { - display: block !important; - background-color: transparent !important; - } - - .modebar { - bottom: 20px !important; - } -} - -.modebar-group { - margin-left: 10px; - margin-right: 10px; - background: #0f0f0f !important; - border: 1px solid #404040; - box-shadow: 0px 4px 24px rgba(0, 0, 0, 0.06); - border-radius: 8px; -} - - -.modebar-group:nth-of-type(1):after { - content: "Panning Tools"; - height: fit-content; - width: fit-content; - position: absolute; - display: none; -} - -.modebar-group:nth-of-type(1):hover:after { - padding: 10px; - display: block; - font-size: 10px; - color: white; - cursor: pointer; - background: #0f0f0f !important; - border: 1px solid #404040; - box-shadow: 0px 4px 24px rgba(0, 0, 0, 0.06); - border-radius: 8px; - top: -40px; - left: 50%; - transform: translateX(-50%); -} - -.modebar-group:nth-of-type(2):after { - content: "Indicator Tools"; - height: fit-content; - width: fit-content; - position: absolute; - display: none; -} - -.modebar-group:nth-of-type(2):hover:after { - padding: 10px; - display: block; - font-size: 10px; - color: white; - cursor: pointer; - background: #0f0f0f !important; - border: 1px solid #404040; - box-shadow: 0px 4px 24px rgba(0, 0, 0, 0.06); - border-radius: 8px; - top: -40px; - left: 50%; - transform: translateX(-50%); -} - -.modebar-group:nth-of-type(3):after { - content: "Chart Tools"; - height: fit-content; - width: fit-content; - position: absolute; - display: none; -} - -.modebar-group:nth-of-type(3):hover:after { - padding: 10px; - display: block; - font-size: 10px; - color: white; - cursor: pointer; - background: #0f0f0f !important; - border: 1px solid #404040; - box-shadow: 0px 4px 24px rgba(0, 0, 0, 0.06); - border-radius: 8px; - top: -40px; - left: 50%; - transform: translateX(-50%); -} - -.modebar-group:nth-of-type(4):after { - content: "Drawing Tools"; - height: fit-content; - width: fit-content; - position: absolute; - display: none; -} - -.modebar-group:nth-of-type(4):hover:after { - padding: 10px; - display: block; - font-size: 10px; - color: white; - cursor: pointer; - background: #0f0f0f !important; - border: 1px solid #404040; - box-shadow: 0px 4px 24px rgba(0, 0, 0, 0.06); - border-radius: 8px; - top: -40px; - left: 50%; - transform: translateX(-50%); -} - -.modebar-group:nth-of-type(5):after { - content: "Export Tools"; - height: fit-content; - width: fit-content; - position: absolute; - display: none; -} - -.modebar-group:nth-of-type(5):hover:after { - padding: 10px; - display: block; - font-size: 10px; - color: white; - cursor: pointer; - background: #0f0f0f !important; - border: 1px solid #404040; - box-shadow: 0px 4px 24px rgba(0, 0, 0, 0.06); - border-radius: 8px; - top: -40px; - left: 50%; - transform: translateX(-50%); -} - -.modebar.vertical { - flex-direction: row !important; - flex-flow: initial !important; - gap: 6px !important; -} - -.js-plotly-plot .plotly .modebar.vertical .modebar-group { - padding-bottom: 0px !important; -} - -.modebar-container { - position: initial !important; -} - -.modebar-btn:hover .icon path { - fill: #00acff !important; -} - -.modebar-btn.active .icon path { - fill: #00acff !important; -} - -.menulayer { - background: #0f0f0f; - padding-right: 10px !important; - padding-left: 10px !important; - padding-top: 5px !important; - padding-bottom: 5px !important; - border: 1px solid #404040; - box-shadow: 0px 4px 24px rgba(0, 0, 0, 0.06); - border-radius: 8px; -} - -.modebar-btn { - padding: 4px !important; - margin-left: 4px !important; - margin-right: 4px !important; - margin-top: 4px !important; - margin-bottom: 4px !important; -} - -.rangeselector { - background: #0f0f0f; - padding: 10px !important; - border: 1px solid #404040; - box-shadow: 0px 4px 24px rgba(0, 0, 0, 0.06); - border-radius: 8px; - height: 33px !important; -} - -.modebar-btn:hover { - background-color: #1f1f1f !important; - border-radius: 8px; -} - -.updatemenu-item-rect { - fill-opacity: 0.5 !important; -} - -.updatemenu-item-rect:hover { - background-color: #1f1f1f !important; -} - -.selector-text { - text-transform: uppercase; -} - -button { - all: unset; - cursor: pointer; -} - -._btn { - display: inline-flex; - width: 100%; - align-items: center; - justify-content: center; - gap: 0.5rem; - border-radius: 4px; - padding-top: 0.5rem; - padding-bottom: 0.5rem; - padding-left: 1.5rem; - padding-right: 1.5rem; - text-align: center; - -webkit-text-decoration-line: none !important; - text-decoration-line: none !important; - transition-property: color, background-color, border-color, fill, stroke, - opacity, box-shadow, transform, filter, -webkit-text-decoration-color, - -webkit-backdrop-filter; - transition-property: color, background-color, border-color, - text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, - backdrop-filter; - transition-property: color, background-color, border-color, - text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, - backdrop-filter, -webkit-text-decoration-color, -webkit-backdrop-filter; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; - transition-timing-function: cubic-bezier(0, 0, 0.2, 1); -} - -@media (min-width: 768px) { - ._btn { - width: -webkit-fit-content; - width: -moz-fit-content; - width: fit-content; - } -} - -._btn { - background-color: #eaeaeaff; - color: #2a2a2aff; -} - -._btn:hover { - background-color: #ffffffff; -} - -._btn:focus { - outline-style: solid; - outline-width: 2px; - outline-color: #808080ff; -} - -._btn:active { - background-color: #dcdcdcff; -} - -._btn:active:hover { - color: #070707ff; -} - -._btn:disabled { - background-color: #c8c8c8ff; - color: #808080ff; -} - -._btn:disabled:active { - background-color: #c8c8c8ff; - color: #808080ff; -} - -._btn-secondary { - display: inline-flex; - width: 100%; - align-items: center; - justify-content: center; - gap: 0.5rem; - border-radius: 4px; - padding-top: 0.5rem; - padding-bottom: 0.5rem; - padding-left: 1.5rem; - padding-right: 1.5rem; - text-align: center; - -webkit-text-decoration-line: none !important; - text-decoration-line: none !important; - transition-property: color, background-color, border-color, fill, stroke, - opacity, box-shadow, transform, filter, -webkit-text-decoration-color, - -webkit-backdrop-filter; - transition-property: color, background-color, border-color, - text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, - backdrop-filter; - transition-property: color, background-color, border-color, - text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, - backdrop-filter, -webkit-text-decoration-color, -webkit-backdrop-filter; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; - transition-timing-function: cubic-bezier(0, 0, 0.2, 1); -} - -@media (min-width: 768px) { - ._btn-secondary { - width: -webkit-fit-content; - width: -moz-fit-content; - width: fit-content; - } -} - -._btn-secondary { - border-width: 1px; - border-color: #c8c8c8ff; - color: #c8c8c8ff; - outline-offset: 0px; -} - -._btn-secondary:hover { - border-color: #ffffffff; - color: #ffffffff; -} - -._btn-secondary:focus { - outline-style: solid; - outline-width: 2px; - outline-color: #808080ff; -} - -._btn-secondary:active { - border-color: #ffffffff; - background-color: #2a2a2aff; - color: #ffffffff; -} - -._btn-secondary:disabled { - border-color: #808080ff; - background-color: transparent; - color: #808080ff; -} - -._btn-tertiary { - display: inline-flex; - width: 100%; - align-items: center; - justify-content: center; - gap: 0.5rem; - border-radius: 4px; - padding-top: 0.5rem; - padding-bottom: 0.5rem; - padding-left: 1.5rem; - padding-right: 1.5rem; - text-align: center; - -webkit-text-decoration-line: none !important; - text-decoration-line: none !important; - transition-property: color, background-color, border-color, fill, stroke, - opacity, box-shadow, transform, filter, -webkit-text-decoration-color, - -webkit-backdrop-filter; - transition-property: color, background-color, border-color, - text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, - backdrop-filter; - transition-property: color, background-color, border-color, - text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, - backdrop-filter, -webkit-text-decoration-color, -webkit-backdrop-filter; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; - transition-timing-function: cubic-bezier(0, 0, 0.2, 1); -} - -@media (min-width: 768px) { - ._btn-tertiary { - width: -webkit-fit-content; - width: -moz-fit-content; - width: fit-content; - } -} - -._btn-tertiary { - background-color: #070707ff; - color: #f6f6f6ff; -} - -._btn-tertiary:hover { - background-color: #2a2a2aff; - color: #ffffffff; -} - -._btn-tertiary:focus { - background-color: #070707ff; - outline-style: solid; - outline-width: 2px; - outline-color: #808080ff; -} - -._btn-tertiary:active { - background-color: #474747ff; - color: #ffffffff; -} - -._btn-tertiary:disabled { - background-color: #808080ff; - color: #474747ff; -} - -.loader { - position: relative; - bottom: 0px; - right: -5px; - border: 4px solid #f3f3f3; - border-radius: 50%; - border-top: 4px solid #00acff; - width: 20px; - height: 20px; - animation: spin 1.5s linear infinite; - opacity: 1; -} - -@keyframes spin { - 0% { - transform: rotate(0deg); - } - - 100% { - transform: rotate(360deg); - } -} - -ul { - margin: 0; - padding: 0; - list-style: none; - width: 150px; - border-bottom: 1px solid #404040; - background: #0f0f0f; - box-shadow: 0px 4px 24px rgba(0, 0, 0, 0.06); - display: flex; - flex-direction: row; -} - -ul li { - position: relative; -} - -li ul { - position: relative; - left: 0px; - top: 0; - display: none; -} - -ul li a { - display: block; - text-decoration: none; - color: #777; - background: #0f0f0f; - padding: 5px; - box-shadow: 0px 4px 24px rgba(0, 0, 0, 0.06); - border: 1px solid #404040; - border-bottom: 0; -} - -/* Fix IE. Hide from IE Mac */ -* html ul li { - float: none; -} - -* html ul li a { - height: 1%; -} - -/* End */ - -li:hover ul { - display: block; -} - -li:hover { - max-height: 1%; -} - -#openbb_menu { - position: relative; - top: 0; - left: 0; - height: 3%; - z-index: 1 !important; -} - -/* ! tailwindcss v3.2.7 | MIT License | https://tailwindcss.com */ - -/* -1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4) -2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116) -*/ - -*, -::before, -::after { - box-sizing: border-box; - /* 1 */ - border-width: 0; - /* 2 */ - border-style: solid; - /* 2 */ - border-color: #e5e7eb; - /* 2 */ -} - -::before, -::after { - --tw-content: ""; -} - -/* -1. Use a consistent sensible line-height in all browsers. -2. Prevent adjustments of font size after orientation changes in iOS. -3. Use a more readable tab size. -4. Use the user's configured `sans` font-family by default. -5. Use the user's configured `sans` font-feature-settings by default. -*/ - -html { - line-height: 1.5; - /* 1 */ - -webkit-text-size-adjust: 100%; - /* 2 */ - -moz-tab-size: 4; - /* 3 */ - tab-size: 4; - /* 3 */ - font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, - "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, - "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; - /* 4 */ - font-feature-settings: normal; - /* 5 */ -} - -/* -1. Remove the margin in all browsers. -2. Inherit line-height from `html` so users can set them as a class directly on the `html` element. -*/ - -body { - margin: 0; - /* 1 */ - line-height: inherit; - /* 2 */ -} - -/* -1. Add the correct height in Firefox. -2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655) -3. Ensure horizontal rules are visible by default. -*/ - -hr { - height: 0; - /* 1 */ - color: inherit; - /* 2 */ - border-top-width: 1px; - /* 3 */ -} - -/* -Add the correct text decoration in Chrome, Edge, and Safari. -*/ - -abbr:where([title]) { - -webkit-text-decoration: underline dotted; - text-decoration: underline dotted; -} - -/* -Remove the default font size and weight for headings. -*/ - -h1, -h2, -h3, -h4, -h5, -h6 { - font-size: inherit; - font-weight: inherit; -} - -/* -Reset links to optimize for opt-in styling instead of opt-out. -*/ - -a { - color: inherit; - text-decoration: inherit; -} - -/* -Add the correct font weight in Edge and Safari. -*/ - -b, -strong { - font-weight: bolder; -} - -/* -1. Use the user's configured `mono` font family by default. -2. Correct the odd `em` font sizing in all browsers. -*/ - -code, -kbd, -samp, -pre { - font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, - "Liberation Mono", "Courier New", monospace; - /* 1 */ - font-size: 1em; - /* 2 */ -} - -/* -Add the correct font size in all browsers. -*/ - -small { - font-size: 80%; -} - -/* -Prevent `sub` and `sup` elements from affecting the line height in all browsers. -*/ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sub { - bottom: -0.25em; -} - -sup { - top: -0.5em; -} - -/* -1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297) -2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016) -3. Remove gaps between table borders by default. -*/ - -table { - text-indent: 0; - /* 1 */ - border-color: inherit; - /* 2 */ - border-collapse: collapse; - /* 3 */ -} - -/* -1. Change the font styles in all browsers. -2. Remove the margin in Firefox and Safari. -3. Remove default padding in all browsers. -*/ - -button, -input, -optgroup, -select, -textarea { - font-family: inherit; - /* 1 */ - font-size: 100%; - /* 1 */ - font-weight: inherit; - /* 1 */ - line-height: inherit; - /* 1 */ - color: inherit; - /* 1 */ - margin: 0; - /* 2 */ - padding: 0; - /* 3 */ -} - -/* -Remove the inheritance of text transform in Edge and Firefox. -*/ - -button, -select { - text-transform: none; -} - -/* -1. Correct the inability to style clickable types in iOS and Safari. -2. Remove default button styles. -*/ - -button, -[type="button"], -[type="reset"], -[type="submit"] { - -webkit-appearance: button; - /* 1 */ - background-color: transparent; - /* 2 */ - background-image: none; - /* 2 */ -} - -/* -Use the modern Firefox focus style for all focusable elements. -*/ - -:-moz-focusring { - outline: auto; -} - -/* -Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737) -*/ - -:-moz-ui-invalid { - box-shadow: none; -} - -/* -Add the correct vertical alignment in Chrome and Firefox. -*/ - -progress { - vertical-align: baseline; -} - -/* -Correct the cursor style of increment and decrement buttons in Safari. -*/ - -::-webkit-inner-spin-button, -::-webkit-outer-spin-button { - height: auto; -} - -/* -1. Correct the odd appearance in Chrome and Safari. -2. Correct the outline style in Safari. -*/ - -[type="search"] { - -webkit-appearance: textfield; - /* 1 */ - outline-offset: -2px; - /* 2 */ -} - -/* -Remove the inner padding in Chrome and Safari on macOS. -*/ - -::-webkit-search-decoration { - -webkit-appearance: none; -} - -/* -1. Correct the inability to style clickable types in iOS and Safari. -2. Change font properties to `inherit` in Safari. -*/ - -::-webkit-file-upload-button { - -webkit-appearance: button; - /* 1 */ - font: inherit; - /* 2 */ -} - -/* -Add the correct display in Chrome and Safari. -*/ - -summary { - display: list-item; -} - -/* -Removes the default spacing and border for appropriate elements. -*/ - -blockquote, -dl, -dd, -h1, -h2, -h3, -h4, -h5, -h6, -hr, -figure, -p, -pre { - margin: 0; -} - -fieldset { - margin: 0; - padding: 0; -} - -legend { - padding: 0; -} - -ol, -ul, -menu { - list-style: none; - margin: 0; - padding: 0; -} - -/* -Prevent resizing textareas horizontally by default. -*/ - -textarea { - resize: vertical; -} - -/* -1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300) -2. Set the default placeholder color to the user's configured gray 400 color. -*/ - -input::placeholder, -textarea::placeholder { - opacity: 1; - /* 1 */ - color: #9ca3af; - /* 2 */ -} - -/* -Set the default cursor for buttons. -*/ - -button, -[role="button"] { - cursor: pointer; -} - -/* -Make sure disabled buttons don't get the pointer cursor. -*/ - -:disabled { - cursor: default; -} - -/* -1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14) -2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210) - This can trigger a poorly considered lint error in some tools but is included by design. -*/ - -img, -svg, -video, -canvas, -audio, -iframe, -embed, -object { - display: block; - /* 1 */ - vertical-align: middle; - /* 2 */ -} - -/* -Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14) -*/ - -img, -video { - max-width: 100%; - height: auto; -} - -/* Make elements with the HTML hidden attribute stay hidden by default */ - -[hidden] { - display: none; -} - -*, -::before, -::after { - --tw-border-spacing-x: 0; - --tw-border-spacing-y: 0; - --tw-translate-x: 0; - --tw-translate-y: 0; - --tw-rotate: 0; - --tw-skew-x: 0; - --tw-skew-y: 0; - --tw-scale-x: 1; - --tw-scale-y: 1; - --tw-pan-x: ; - --tw-pan-y: ; - --tw-pinch-zoom: ; - --tw-scroll-snap-strictness: proximity; - --tw-ordinal: ; - --tw-slashed-zero: ; - --tw-numeric-figure: ; - --tw-numeric-spacing: ; - --tw-numeric-fraction: ; - --tw-ring-inset: ; - --tw-ring-offset-width: 0px; - --tw-ring-offset-color: #fff; - --tw-ring-color: rgb(59 130 246 / 0.5); - --tw-ring-offset-shadow: 0 0 #0000; - --tw-ring-shadow: 0 0 #0000; - --tw-shadow: 0 0 #0000; - --tw-shadow-colored: 0 0 #0000; - --tw-blur: ; - --tw-brightness: ; - --tw-contrast: ; - --tw-grayscale: ; - --tw-hue-rotate: ; - --tw-invert: ; - --tw-saturate: ; - --tw-sepia: ; - --tw-drop-shadow: ; - --tw-backdrop-blur: ; - --tw-backdrop-brightness: ; - --tw-backdrop-contrast: ; - --tw-backdrop-grayscale: ; - --tw-backdrop-hue-rotate: ; - --tw-backdrop-invert: ; - --tw-backdrop-opacity: ; - --tw-backdrop-saturate: ; - --tw-backdrop-sepia: ; -} - -::backdrop { - --tw-border-spacing-x: 0; - --tw-border-spacing-y: 0; - --tw-translate-x: 0; - --tw-translate-y: 0; - --tw-rotate: 0; - --tw-skew-x: 0; - --tw-skew-y: 0; - --tw-scale-x: 1; - --tw-scale-y: 1; - --tw-pan-x: ; - --tw-pan-y: ; - --tw-pinch-zoom: ; - --tw-scroll-snap-strictness: proximity; - --tw-ordinal: ; - --tw-slashed-zero: ; - --tw-numeric-figure: ; - --tw-numeric-spacing: ; - --tw-numeric-fraction: ; - --tw-ring-inset: ; - --tw-ring-offset-width: 0px; - --tw-ring-offset-color: #fff; - --tw-ring-color: rgb(59 130 246 / 0.5); - --tw-ring-offset-shadow: 0 0 #0000; - --tw-ring-shadow: 0 0 #0000; - --tw-shadow: 0 0 #0000; - --tw-shadow-colored: 0 0 #0000; - --tw-blur: ; - --tw-brightness: ; - --tw-contrast: ; - --tw-grayscale: ; - --tw-hue-rotate: ; - --tw-invert: ; - --tw-saturate: ; - --tw-sepia: ; - --tw-drop-shadow: ; - --tw-backdrop-blur: ; - --tw-backdrop-brightness: ; - --tw-backdrop-contrast: ; - --tw-backdrop-grayscale: ; - --tw-backdrop-hue-rotate: ; - --tw-backdrop-invert: ; - --tw-backdrop-opacity: ; - --tw-backdrop-saturate: ; - --tw-backdrop-sepia: ; -} - -.absolute { - position: absolute; -} - -.relative { - position: relative; -} - -.-inset-1 { - top: -0.25rem; - right: -0.25rem; - bottom: -0.25rem; - left: -0.25rem; -} - -.z-20 { - z-index: 20; -} - -.flex { - display: flex; -} - -.w-1\/3 { - width: 33.333333%; -} - -.items-center { - align-items: center; -} - -.justify-between { - justify-content: space-between; -} - -.gap-4 { - gap: 1rem; -} - -.overflow-hidden { - overflow: hidden; -} - -.rounded { - border-radius: 0.25rem; -} - -.rounded-md { - border-radius: 0.375rem; -} - -.border { - border-width: 1px; -} - -.border-grey-200\/60 { - border-color: rgb(220 220 220 / 0.6); -} - -.bg-grey-900 { - background-color: #070707ff; -} - -.bg-gradient-to-br { - background-image: linear-gradient(to bottom right, var(--tw-gradient-stops)); -} - -.from-\[\#072e49\]\/20 { - --tw-gradient-from: rgb(7 46 73 / 0.2); - --tw-gradient-to: rgb(7 46 73 / 0); - --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); -} - -.via-\[\#0d345f\]\/20 { - --tw-gradient-to: rgb(13 52 95 / 0); - --tw-gradient-stops: var(--tw-gradient-from), rgb(13 52 95 / 0.2), - var(--tw-gradient-to); -} - -.to-\[\#0d3362\]\/20 { - --tw-gradient-to: rgb(13 51 98 / 0.2); -} - -.px-4 { - padding-left: 1rem; - padding-right: 1rem; -} - -.py-2 { - padding-top: 0.5rem; - padding-bottom: 0.5rem; -} - -.text-center { - text-align: center; -} - -.text-right { - text-align: right; -} - -.text-xs { - font-size: 0.75rem; - line-height: 1rem; -} - -.font-bold { - font-weight: 700; -} - -.text-white { - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity)); -} - -.blur-md { - --tw-blur: blur(12px); - filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); -} - -._header { - background: #062d48; - background: linear-gradient(90deg, - #062d48, - #0b3054 15%, - #0e386c 45%, - #0b203d 64%, - #06101a 82%, - #060709); -} - - -@media screen and (max-height: 1000px) and (max-width: 1100px) { - ._header strong { - font-size: 1.1rem !important; - } - ._header p { - font-size: 1.0rem !important; - } - - ._header span { - font-size: 0.9rem !important; - } -} diff --git a/openbb_terminal/core/plots/web/css/table.css b/openbb_terminal/core/plots/web/css/table.css deleted file mode 100644 index fcb4c86cfc2..00000000000 --- a/openbb_terminal/core/plots/web/css/table.css +++ /dev/null @@ -1,7 +0,0 @@ -body { - font-family: "Fira Code", monospace, "Arial Black"; - font-size: 1.2rem; - color: #ffffff; - background-color: #000000; - overflow: hidden; -} diff --git a/openbb_terminal/core/plots/web/helpers.js b/openbb_terminal/core/plots/web/helpers.js deleted file mode 100644 index d032ff94602..00000000000 --- a/openbb_terminal/core/plots/web/helpers.js +++ /dev/null @@ -1,1080 +0,0 @@ -const ICONS = { - sunIcon: { - viewBox: "0 0 16 16", - width: 16, - height: 16, - path: "M8 12a4 4 0 1 0 0-8 4 4 0 0 0 0 8zM8 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 0zm0 13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 13zm8-5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5zM3 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2A.5.5 0 0 1 3 8zm10.657-5.657a.5.5 0 0 1 0 .707l-1.414 1.415a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0zm-9.193 9.193a.5.5 0 0 1 0 .707L3.05 13.657a.5.5 0 0 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zm9.193 2.121a.5.5 0 0 1-.707 0l-1.414-1.414a.5.5 0 0 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707zM4.464 4.465a.5.5 0 0 1-.707 0L2.343 3.05a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .708z", - }, - moonIcon: { - viewBox: "0 0 25 25", - width: 25, - height: 25, - path: "M21.752 15.002A9.718 9.718 0 0118 15.75c-5.385 0-9.75-4.365-9.75-9.75 0-1.33.266-2.597.748-3.752A9.753 9.753 0 003 11.25C3 16.635 7.365 21 12.75 21a9.753 9.753 0 009.002-5.998z", - }, - plotCsv: { - width: 900, - height: 900, - path: "M170.666667 106.666667l0.192 736H906.666667v64H149.546667c-23.552 0-42.666667-19.093333-42.666667-42.666667L106.666667 106.666667h64z m686.506666 454.144l13.653334 16.362666a21.333333 21.333333 0 0 1-2.666667 30.058667l-171.157333 143.146667a21.333333 21.333333 0 0 1-21.546667 3.477333l-229.973333-91.285333-113.834667 94.997333a21.333333 21.333333 0 0 1-30.037333-2.709333l-13.653334-16.362667a21.333333 21.333333 0 0 1 2.688-30.058667l133.312-111.274666a21.333333 21.333333 0 0 1 21.546667-3.456l229.930667 91.264 151.68-126.826667a21.333333 21.333333 0 0 1 30.037333 2.666667z m-1.621333-417.962667l16.896 13.013333a21.333333 21.333333 0 0 1 3.925333 29.888L685.802667 433.706667a21.333333 21.333333 0 0 1-20.202667 8.085333l-226.794667-35.413333-150.186666 222.357333a21.333333 21.333333 0 0 1-27.477334 7.018667l-2.133333-1.28-17.685333-11.946667a21.333333 21.333333 0 0 1-5.738667-29.610667l165.354667-244.821333a21.333333 21.333333 0 0 1 20.992-9.130667L650.453333 374.613333l175.146667-227.882666a21.333333 21.333333 0 0 1 29.930667-3.904z", - }, - addText: { - path: "M896 928H128a32 32 0 0 1-32-32V128a32 32 0 0 1 32-32h768a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32z m-736-64h704v-704h-704z M704 352H320a32 32 0 0 1 0-64h384a32 32 0 0 1 0 64z M512 736a32 32 0 0 1-32-32V320a32 32 0 0 1 64 0v384a32 32 0 0 1-32 32z", - width: 950, - height: 950, - }, - changeTitle: { - path: "M122.368 165.888h778.24c-9.216 0-16.384-7.168-16.384-16.384v713.728c0-9.216 7.168-16.384 16.384-16.384h-778.24c9.216 0 16.384 7.168 16.384 16.384V150.016c0 8.192-6.656 15.872-16.384 15.872z m-32.768 684.544c0 26.112 20.992 47.104 47.104 47.104h750.08c26.112 0 47.104-20.992 47.104-47.104V162.304c0-26.112-20.992-47.104-47.104-47.104H136.704c-26.112 0-47.104 20.992-47.104 47.104v688.128z M244.736 656.896h534.016v62.464H244.736z M373.76 358.4H307.2v219.136h-45.568V358.4H192v-41.472H373.76V358.4zM403.968 316.928h44.032v50.176h-44.032v-50.176z m0 67.072h44.032v194.048h-44.032V384zM576.512 541.184l8.704 31.744c-13.312 5.12-26.624 8.192-38.912 8.704-32.768 1.024-48.64-15.36-48.128-48.128V422.912h-26.624V384h26.624v-46.592l44.032-21.504V384h36.352v38.912h-36.352V532.48c-1.024 10.24 3.072 14.848 11.264 13.824 5.12 0 12.8-1.536 23.04-5.12zM619.008 316.928h44.032v260.608h-44.032V316.928zM813.056 509.952l41.472 12.8c-11.776 40.96-37.888 61.44-78.336 60.416-52.736-1.536-80.384-34.304-81.92-98.304 2.56-67.072 29.696-102.4 81.92-105.984 52.224 1.536 78.336 36.864 79.36 105.984v13.824h-117.248c3.584 30.208 15.872 45.568 37.888 46.592 19.968 0.512 32.256-11.264 36.864-35.328z m-72.704-51.712h70.656c-1.024-25.088-12.288-38.4-33.792-38.912-21.504 0.512-33.792 13.824-36.864 38.912z", - width: 920, - height: 900, - }, - changeColor: { - path: "M8 3C5.79 3 4 4.79 4 7V14C4 15.1 4.9 16 6 16H9V20C9 21.1 9.9 22 11 22H13C14.1 22 15 21.1 15 20V16H18C19.1 16 20 15.1 20 14V3H8M8 5H12V7H14V5H15V9H17V5H18V10H6V7C6 5.9 6.9 5 8 5M6 14V12H18V14H6Z", - width: 22, - height: 22, - }, - uploadImage: { - path: "M3 16.5v2.25A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75V16.5m-13.5-9L12 3m0 0l4.5 4.5M12 3v13.5", - width: 1024, - height: 1024, - }, - downloadCsv: { - path: `M486.2,196.121h-13.164V132.59c0-0.399-0.064-0.795-0.116-1.2c-0.021-2.52-0.824-5-2.551-6.96L364.656,3.677 - c-0.031-0.034-0.064-0.044-0.085-0.075c-0.629-0.707-1.364-1.292-2.141-1.796c-0.231-0.157-0.462-0.286-0.704-0.419 - c-0.672-0.365-1.386-0.672-2.121-0.893c-0.199-0.052-0.377-0.134-0.576-0.188C358.229,0.118,357.4,0,356.562,0H96.757 - C84.893,0,75.256,9.649,75.256,21.502v174.613H62.093c-16.972,0-30.733,13.756-30.733,30.73v159.81 - c0,16.966,13.761,30.736,30.733,30.736h13.163V526.79c0,11.854,9.637,21.501,21.501,21.501h354.777 - c11.853,0,21.502-9.647,21.502-21.501V417.392H486.2c16.966,0,30.729-13.764,30.729-30.731v-159.81 - C516.93,209.872,503.166,196.121,486.2,196.121z M96.757,21.502h249.053v110.006c0,5.94,4.818,10.751,10.751,10.751h94.973v53.861 - H96.757V21.502z M258.618,313.18c-26.68-9.291-44.063-24.053-44.063-47.389c0-27.404,22.861-48.368,60.733-48.368 - c18.107,0,31.447,3.811,40.968,8.107l-8.09,29.3c-6.43-3.107-17.862-7.632-33.59-7.632c-15.717,0-23.339,7.149-23.339,15.485 - c0,10.247,9.047,14.769,29.78,22.632c28.341,10.479,41.681,25.239,41.681,47.874c0,26.909-20.721,49.786-64.792,49.786 - c-18.338,0-36.449-4.776-45.497-9.77l7.38-30.016c9.772,5.014,24.775,10.006,40.264,10.006c16.671,0,25.488-6.908,25.488-17.396 - C285.536,325.789,277.909,320.078,258.618,313.18z M69.474,302.692c0-54.781,39.074-85.269,87.654-85.269 - c18.822,0,33.113,3.811,39.549,7.149l-7.392,28.816c-7.38-3.084-17.632-5.939-30.491-5.939c-28.822,0-51.206,17.375-51.206,53.099 - c0,32.158,19.051,52.4,51.456,52.4c10.947,0,23.097-2.378,30.241-5.238l5.483,28.346c-6.672,3.34-21.674,6.919-41.208,6.919 - C98.06,382.976,69.474,348.424,69.474,302.692z M451.534,520.962H96.757v-103.57h354.777V520.962z M427.518,380.583h-42.399 - l-51.45-160.536h39.787l19.526,67.894c5.479,19.046,10.479,37.386,14.299,57.397h0.709c4.048-19.298,9.045-38.352,14.526-56.693 - l20.487-68.598h38.599L427.518,380.583z`, - width: 550, - height: 550, - transform: "translate(4, 0)", - }, - downloadImage: { - path: "M22.71,6.29a1,1,0,0,0-1.42,0L20,7.59V2a1,1,0,0,0-2,0V7.59l-1.29-1.3a1,1,0,0,0-1.42,1.42l3,3a1,1,0,0,0,.33.21.94.94,0,0,0,.76,0,1,1,0,0,0,.33-.21l3-3A1,1,0,0,0,22.71,6.29ZM19,13a1,1,0,0,0-1,1v.38L16.52,12.9a2.79,2.79,0,0,0-3.93,0l-.7.7L9.41,11.12a2.85,2.85,0,0,0-3.93,0L4,12.6V7A1,1,0,0,1,5,6h8a1,1,0,0,0,0-2H5A3,3,0,0,0,2,7V19a3,3,0,0,0,3,3H17a3,3,0,0,0,3-3V14A1,1,0,0,0,19,13ZM5,20a1,1,0,0,1-1-1V15.43l2.9-2.9a.79.79,0,0,1,1.09,0l3.17,3.17,0,0L15.46,20Zm13-1a.89.89,0,0,1-.18.53L13.31,15l.7-.7a.77.77,0,0,1,1.1,0L18,17.21Z", - width: 21, - height: 21, - transform: "translate(-2, -2)", - }, -}; - -function onlyOne(checkbox) { - var checkboxes = document.getElementsByName("csv_plot_yaxis_check"); - checkboxes.forEach((item) => { - if (item !== checkbox) item.checked = false; - }); -} - -function add_annotation(data, yshift, popup_data, current_text = null) { - let gd = globals.CHART_DIV; - let x = data.x; - let y = data.y; - let yref = data.yref; - let annotations = gd.layout.annotations; - let index = -1; - - for (let i = 0; i < annotations.length; i++) { - if ( - annotations[i].x == x && - annotations[i].y == y && - annotations[i].text == current_text - ) { - index = i; - break; - } - } - if (index == -1) { - let annotation = { - x: x, - y: y, - xref: "x", - yref: yref, - xanchor: "center", - text: popup_data.text, - showarrow: true, - arrowhead: 2, - arrowsize: 1, - arrowwidth: 2, - ax: x, - ay: y + yshift, - ayref: yref, - axref: "x", - bordercolor: popup_data.bordercolor, - bgcolor: "#000000", - borderwidth: 2, - borderpad: 4, - opacity: 0.8, - font: { - color: popup_data.color, - size: popup_data.size, - }, - clicktoshow: "onoff", - captureevents: true, - }; - annotations.push(annotation); - } else { - annotations[index].text = popup_data.text; - annotations[index].font.color = popup_data.color; - annotations[index].font.size = popup_data.size; - annotations[index].ay = y + yshift; - annotations[index].bordercolor = popup_data.bordercolor; - } - return annotations; -} - -function checkFile(popup, type = false) { - console.log("checkFile"); - let csv_file = popup.querySelector("#csv_file"); - let csv_name = popup.querySelector("#csv_name"); - let csv_type = popup.querySelector("#csv_trace_type"); - let csv_columns = popup.querySelector("#csv_columns"); - let csv_colors = popup.querySelector("#csv_colors"); - let csv_plot_yaxis_options = popup.querySelector("#csv_plot_yaxis_options"); - let csv_bar_orientation = popup.querySelector("#csv_bar_orientation"); - csv_plot_yaxis_options.style.display = "none"; - csv_bar_orientation.style.display = "none"; - csv_plot_yaxis_options.querySelector( - "#csv_percent_change_div" - ).style.display = "inline-block"; - - if (csv_file.files.length > 0) { - console.log("file selected"); - let file = csv_file.files[0]; - let reader = new FileReader(); - - reader.onload = function (e) { - let headers = e.target.result.split("\n")[0].split(","); - headers = headers.map((x) => x.replace(/\r/g, "")); - let headers_lower = headers.map((x) => x.trim().toLowerCase()); - let candle_cols = ["open", "high", "low", "close"]; - - let options = ""; - for (let i = 0; i < headers.length; i++) { - options += ``; - } - - // we try to guess the type of the data from the headers - if (type == false) { - if ( - headers_lower - .map(function (x) { - return candle_cols.includes(x); - }) - .includes(true) - ) { - csv_type.value = "candlestick"; - } else { - csv_type.value = "scatter"; - } - } - let option_ids = ["csv_x", "csv_y"]; - - csv_columns.innerHTML = "Columns:
"; - if (csv_type.value == "candlestick") { - option_ids = ["x", "open", "high", "low", "close"]; - let options_select = ""; - - for (let i = 0; i < option_ids.length; i++) { - let header_name = option_ids[i].replace(/\b[a-z]/g, (x) => - x.toUpperCase() - ); - - options_select += ` -