UNPKG

@yuebai008/cli

Version:

Command line interface for rapid qg-minigame development

1 lines 2.35 kB
import*as Dialogs from"../../../../ui/components/dialogs/dialogs.js";import*as Menus from"../../../../ui/components/menus/menus.js";const menus=[{items:[{name:"Opt 1",value:"1"},{name:"Opt 2",value:"2",selected:!1},{name:"Opt 3",value:"3",group:""},{name:"Opt 4",value:"4"}],buttonTitle:"Show dialog"},{items:[{name:"Opt 1",value:"1"},{name:"Opt 2",value:"2",selected:!1},{name:"Opt 3",value:"3"},{name:"Opt 4",value:"4"}],buttonTitle:"Show dialog",position:"top",showArrow:!0},{items:[{name:"Opt 1",value:"1",selected:!1},{name:"Opt 2",value:"2"},{name:"Opt 3",value:"3"},{name:"Opt 4",value:"4"}],buttonTitle:"Show dialog",position:"bottom",showConnector:!0},{items:[{name:"Opt 1",value:"1",group:"Group 1",selected:!1},{name:"Opt 2",value:"2",group:"Group 1"},{name:"Opt 3",value:"3",group:"Group 2"},{name:"Opt 4",value:"4",group:"Group 2"}],buttonTitle:"Show dialog",position:"top",showConnector:!0,hasGroups:!0},{items:[{name:"Option 1",value:"1",selected:!0},{name:"Option 2",value:"2"},{name:"Option 3",value:"3"},{name:"Option 4",value:"4"}],showArrow:!0},{items:[{name:"Option 1",value:"1",selected:!0}],buttonTitle:"Disabled",disabled:!0}],root=document.getElementById("root");menus.forEach(((e,t)=>{const o=[],n=new Menus.SelectMenu.SelectMenu;e.buttonTitle&&(n.buttonTitle=e.buttonTitle),n.position=e.position||"bottom",n.showConnector=Boolean(e.showConnector);const l=new Menus.SelectMenu.SelectMenuGroup;l.name="Group 1";const a=new Menus.SelectMenu.SelectMenuGroup;if(a.name="Group 2",n.showArrow=Boolean(e.showArrow)||Boolean(e.showConnector),n.disabled=Boolean(e.disabled),e.items.forEach(((t,s)=>{const u=new Menus.Menu.MenuItem;u.value=t.value,u.selected=Boolean(t.selected);const p=document.createElement("div");p.textContent=t.name,u.appendChild(p),e.hasGroups&&s<2?l.appendChild(u):e.hasGroups?a.appendChild(u):n.appendChild(u),o.push(u)})),e.hasGroups&&(n.appendChild(l),n.appendChild(a)),root){const e=document.createElement("div");e.classList.add("place-holder"),e.setAttribute("id",`place-holder-${t+1}`),root.appendChild(e);const l=document.createElement("div");e.appendChild(l),n.addEventListener("selectmenuselected",(e=>{const t=e;let n=null;for(let e=0;e<o.length;e++)o[e].selected=o[e].value===t.itemValue,o[e].selected&&(n=o[e]);n&&(l.innerText=`Selected option: ${n.innerText.trim()}`)})),e.appendChild(n)}}));