(v4.2.0) Added sub-panels
This commit is contained in:
+17
-2
@@ -123,7 +123,7 @@ const panelButtons = () => {
|
||||
new api.ODWorker("opendiscord:ticket-option",0,async (instance,params) => {
|
||||
const {panel,option} = params
|
||||
|
||||
instance.setCustomId("od:ticket-option_"+panel.id.value+"_"+option.id.value)
|
||||
instance.setCustomId("od:ticket-option|"+option.id.value)
|
||||
instance.setMode("button")
|
||||
instance.setColor(option.get("opendiscord:button-color").value)
|
||||
if (option.get("opendiscord:button-emoji").value) instance.setEmoji(option.get("opendiscord:button-emoji").value)
|
||||
@@ -152,7 +152,22 @@ const panelButtons = () => {
|
||||
new api.ODWorker("opendiscord:role-option",0,async (instance,params) => {
|
||||
const {panel,option} = params
|
||||
|
||||
instance.setCustomId("od:role-option_"+panel.id.value+"_"+option.id.value)
|
||||
instance.setCustomId("od:role-option|"+option.id.value)
|
||||
instance.setMode("button")
|
||||
instance.setColor(option.get("opendiscord:button-color").value)
|
||||
if (option.get("opendiscord:button-emoji").value) instance.setEmoji(option.get("opendiscord:button-emoji").value)
|
||||
if (option.get("opendiscord:button-label").value) instance.setLabel(option.get("opendiscord:button-label").value)
|
||||
if (!option.get("opendiscord:button-emoji").value && !option.get("opendiscord:button-label").value) instance.setLabel("<"+option.id.value+">")
|
||||
})
|
||||
)
|
||||
|
||||
//SUB-PANEL OPTION
|
||||
buttons.add(new api.ODButton("opendiscord:subpanel-option"))
|
||||
buttons.get("opendiscord:subpanel-option").workers.add(
|
||||
new api.ODWorker("opendiscord:subpanel-option",0,async (instance,params) => {
|
||||
const {panel,option} = params
|
||||
|
||||
instance.setCustomId("od:subpanel-option|"+option.id.value)
|
||||
instance.setMode("button")
|
||||
instance.setColor(option.get("opendiscord:button-color").value)
|
||||
if (option.get("opendiscord:button-emoji").value) instance.setEmoji(option.get("opendiscord:button-emoji").value)
|
||||
|
||||
@@ -24,14 +24,14 @@ const panelDropdowns = () => {
|
||||
|
||||
return {
|
||||
label:(label.length > 0) ? label : "<no-label-provided>",
|
||||
value:"od:ticket-option_"+panel.id.value+"_"+option.id.value,
|
||||
value:"od:ticket-option|"+option.id.value,
|
||||
emoji:(emoji.length > 0) ? emoji : undefined,
|
||||
description:(desc.length > 0) ? desc : undefined,
|
||||
default:false
|
||||
}
|
||||
})
|
||||
|
||||
instance.setCustomId("od:panel-dropdown_"+panel.id.value)
|
||||
instance.setCustomId("od:panel-dropdown")
|
||||
instance.setType("string")
|
||||
instance.setMaxValues(1)
|
||||
instance.setMinValues(0)
|
||||
|
||||
@@ -274,7 +274,10 @@ const panelMessages = () => {
|
||||
messages.add(new api.ODMessage("opendiscord:panel"))
|
||||
messages.get("opendiscord:panel").workers.add([
|
||||
new api.ODWorker("opendiscord:panel-layout",1,async (instance,params,origin) => {
|
||||
const {guild,channel,user,panel} = params
|
||||
const {guild,channel,user,panel,isSubPanel} = params
|
||||
|
||||
//ephemeral if sub-panel
|
||||
if (isSubPanel) instance.setEphemeral(true)
|
||||
|
||||
//add text
|
||||
const text = panel.get("opendiscord:text").value
|
||||
@@ -292,7 +295,7 @@ const panelMessages = () => {
|
||||
|
||||
//add embed
|
||||
const embedOptions = panel.get("opendiscord:embed").value
|
||||
if (embedOptions.enabled) instance.addEmbed(await embeds.getSafe("opendiscord:panel").build(origin,{guild,channel,user,panel}))
|
||||
if (embedOptions.enabled) instance.addEmbed(await embeds.getSafe("opendiscord:panel").build(origin,{guild,channel,user,panel,isSubPanel}))
|
||||
}),
|
||||
new api.ODWorker("opendiscord:panel-components",0,async (instance,params,origin) => {
|
||||
const {guild,channel,user,panel} = params
|
||||
@@ -315,6 +318,7 @@ const panelMessages = () => {
|
||||
if (option instanceof api.ODTicketOption) instance.addComponent(await buttons.getSafe("opendiscord:ticket-option").build(origin,{guild,channel,user,panel,option}))
|
||||
else if (option instanceof api.ODWebsiteOption) instance.addComponent(await buttons.getSafe("opendiscord:website-option").build(origin,{guild,channel,user,panel,option}))
|
||||
else if (option instanceof api.ODRoleOption) instance.addComponent(await buttons.getSafe("opendiscord:role-option").build(origin,{guild,channel,user,panel,option}))
|
||||
else if (option instanceof api.ODSubPanelOption) instance.addComponent(await buttons.getSafe("opendiscord:subpanel-option").build(origin,{guild,channel,user,panel,option}))
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user