From 07398c21c39a62da05fe1e312f68c5e35a85f82b Mon Sep 17 00:00:00 2001 From: MickaelK Date: Wed, 10 Apr 2024 00:56:41 +1000 Subject: [PATCH] chore (rewrite): scaffold for menubar action button --- public/assets/components/modal.js | 23 +++-- public/assets/lib/skeleton/index.js | 2 +- public/assets/pages/ctrl_filespage.js | 7 +- .../assets/pages/filespage/ctrl_newitem.css | 10 ++ public/assets/pages/filespage/ctrl_newitem.js | 92 +++++++++++++++++++ public/assets/pages/filespage/ctrl_submenu.js | 59 ++++++++---- public/assets/pages/filespage/modal_delete.js | 10 ++ public/assets/pages/filespage/modal_embed.js | 10 ++ public/assets/pages/filespage/modal_rename.js | 10 ++ public/assets/pages/filespage/modal_share.js | 12 +++ public/assets/pages/filespage/modal_tag.js | 13 +++ public/assets/pages/filespage/model_action.js | 11 +++ 12 files changed, 233 insertions(+), 26 deletions(-) create mode 100644 public/assets/pages/filespage/ctrl_newitem.css create mode 100644 public/assets/pages/filespage/ctrl_newitem.js create mode 100644 public/assets/pages/filespage/modal_delete.js create mode 100644 public/assets/pages/filespage/modal_embed.js create mode 100644 public/assets/pages/filespage/modal_rename.js create mode 100644 public/assets/pages/filespage/modal_share.js create mode 100644 public/assets/pages/filespage/modal_tag.js create mode 100644 public/assets/pages/filespage/model_action.js diff --git a/public/assets/components/modal.js b/public/assets/components/modal.js index fa6196da..3e1a475a 100644 --- a/public/assets/components/modal.js +++ b/public/assets/components/modal.js @@ -5,13 +5,22 @@ import { qs, qsa } from "../lib/dom.js"; import { ApplicationError } from "../lib/error.js"; import { CSS } from "../helpers/loader.js"; -export default class Modal { +class Modal { static open($node, opts = {}) { find().trigger($node, opts); } } -const createModal = async() => createElement(` +export default Modal + +export function createModal(opts) { + return ($node, ok = nop) => { + if (ok) opts.onQuit = ok; + return Modal.open($node, opts); + }; +} + +const create = async() => createElement(`