Warning: session_start(): Session cannot be started after headers have already been sent in /home/tvrreohg/public_html/manga.php on line 13
import { Destructible, Styleable } from '../types/interfaces';
import { makeSpinner } from './makeSpinner';
import FilterizrOptions from '../FilterizrOptions';
import FilterContainer from '../FilterContainer';
import StyledSpinner from './StyledSpinner';
export default class Spinner implements Destructible, Styleable {
private node: HTMLElement;
private styledNode: StyledSpinner;
private filterContainer: FilterContainer;
public constructor(
filterContainer: FilterContainer,
options: FilterizrOptions
) {
this.filterContainer = filterContainer;
this.node = makeSpinner(options.get().spinner);
this.styledNode = new StyledSpinner(this.node, options);
this.initialize();
}
public get styles(): StyledSpinner {
return this.styledNode;
}
public async destroy(): Promise {
await this.styles.fadeOut();
this.filterContainer.node.removeChild(this.node);
}
private initialize(): void {
this.styles.initialize();
this.filterContainer.node.appendChild(this.node);
}
}