full-screen-selector.js 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import { selector } from "./selector.js";
  2. import { selector_item } from "./selector-item.js"
  3. import { container } from "interface/container.js";
  4. import { image } from "interface/image.js";
  5. import { text } from "interface/text.js";
  6. import { image_icon } from "interface/image-icon.js";
  7. class full_screen_selector extends selector {
  8. #option(item) {
  9. const space = new container("selector-item");
  10. const miniature = new image_icon(item.icon);
  11. const title = new text(item.title);
  12. space.append(miniature);
  13. space.append(title);
  14. space.add_click(() => { item.action(); });
  15. return space;
  16. }
  17. show() {
  18. this._clean();
  19. let name = "full-screen-selector";
  20. if (this.has_name) {
  21. name = this.name;
  22. }
  23. const target = new container(name);
  24. this.items.forEach((item) => {
  25. target.append(this.#option(item));
  26. });
  27. this.app.appendChild(target.node);
  28. }
  29. }
  30. export { full_screen_selector };