tui_window.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. export class tui_window {
  2. #target;
  3. #title;
  4. #initialize(title) {
  5. const header = document.createElement("div");
  6. header.classList.add("header");
  7. header.appendChild(this.#title);
  8. title ||= document.querySelector("title").innerText;
  9. this.#title.innerText = title;
  10. const close_button = document.createElement("p");
  11. close_button.innerText = "X";
  12. const maximize_button = document.createElement("p");
  13. maximize_button.innerText = "_";
  14. const buttons = document.createElement("div");
  15. buttons.classList.add("buttons");
  16. buttons.appendChild(maximize_button);
  17. buttons.appendChild(close_button);
  18. header.appendChild(buttons);
  19. this.target.appendChild(header);
  20. }
  21. constructor(target, title = null) {
  22. this.#target = target;
  23. this.#title = document.createElement("p");
  24. this.#initialize(title);
  25. }
  26. set title(target) {
  27. this.#title.innerText = title;
  28. }
  29. get title() {
  30. return this.#title.innerText;
  31. }
  32. get target() {
  33. return this.#target;
  34. }
  35. }