(v4.2.0) Added priority dropdown

This commit is contained in:
DJj123dj
2026-05-24 19:48:46 +02:00
parent eb44f41d3a
commit 58a6bcde45
9 changed files with 85 additions and 2 deletions
+27 -1
View File
@@ -5,13 +5,14 @@ import {opendiscord, api, utilities} from "../index.js"
import * as discord from "discord.js"
const dropdowns = opendiscord.builders.dropdowns
const lang = opendiscord.languages
export async function registerAllDropdowns(){
panelDropdowns()
}
const panelDropdowns = () => {
//TICKET OPTION
//PANEL DROPDOWN
dropdowns.add(new api.ODDropdown("opendiscord:panel-dropdown"))
dropdowns.get("opendiscord:panel-dropdown").workers.add(
new api.ODWorker("opendiscord:panel-dropdown",0,async (instance,params) => {
@@ -65,4 +66,29 @@ const panelDropdowns = () => {
instance.setOptions(parsedOptions)
})
)
//PRIORITY DROPDOWN
dropdowns.add(new api.ODDropdown("opendiscord:priority-dropdown"))
dropdowns.get("opendiscord:priority-dropdown").workers.add(
new api.ODWorker("opendiscord:priority-dropdown",0,async (instance,params) => {
const {ticket} = params
const parsedOptions: api.ODDropdownData["options"] = opendiscord.priorities.getAll().sort((a,b) => b.priority-a.priority).map((prio) => ({
label:prio.displayName,
emoji:prio.displayEmoji ?? undefined,
value:"od:select-priority|"+prio.rawName
}))
const currentPriority = opendiscord.priorities.getFromPriorityLevel(ticket.get("opendiscord:priority").value)
//TODO TRANSLATION!!!
const placeholder = (currentPriority.priority < 0) ? "Select priority level" : (lang.getTranslation("params.uppercase.priority")+": "+currentPriority.renderDisplayName())
instance.setCustomId("od:priority-dropdown")
instance.setType("string")
instance.setMaxValues(1)
instance.setMinValues(0)
instance.setPlaceholder(placeholder)
instance.setOptions(parsedOptions)
})
)
}
+3
View File
@@ -438,6 +438,9 @@ const ticketMessages = () => {
}
//enable ticket deletion
if (generalConfig.data.ticketSystem.enableTicketDeleteButtons) instance.addComponent(await buttons.getSafe("opendiscord:delete-ticket").build("ticket-message",{guild,channel,user,ticket}))
//add priority dropdown
if (generalConfig.data.ticketSystem.askPriorityOnTicketCreation) instance.addComponent(await dropdowns.getSafe("opendiscord:priority-dropdown").build(origin,{guild,channel,user,ticket}))
}),
new api.ODWorker("opendiscord:ticket-message-disable-components",2,async (instance,params,origin) => {
const {ticket} = params