import $ from "jquery"; import loading_black_image from "../images/loading/loader-black.svg"; import loading_white_image from "../images/loading/loader-white.svg"; import render_loader from "../templates/loader.hbs"; export function make_indicator( $outer_container: JQuery, { abs_positioned = false, text, width, height, }: {abs_positioned?: boolean; text?: string; width?: number; height?: number} = {}, ): void { let $container = $outer_container; // TODO: We set white-space to 'nowrap' because under some // unknown circumstances (it happens on Keegan's laptop) the text // width calculation, above, returns a result that's a few pixels // too small. The container's div will be slightly too small, // but that's probably OK for our purposes. $outer_container.css({"white-space": "nowrap"}); $container.empty(); if (abs_positioned) { // Create some additional containers to facilitate absolutely // positioned spinners. const container_id = $container.attr("id")!; let $inner_container = $("