(v4.2.0) Added priority dropdown
This commit is contained in:
@@ -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)
|
||||
})
|
||||
)
|
||||
}
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user