local addonName, addon = ... local L = addon.L StaticPopupDialogs[addonName .. 'ItemBlocklistPopup'] = { text = L['Block a new item by ID'], button1 = L['Accept'], button2 = L['Cancel'], hasEditBox = true, EditBoxOnEnterPressed = function(self, data) data.callback(data.pool, tonumber(self:GetText():trim())) self:GetParent():Hide() end, EditBoxOnEscapePressed = function(self) self:GetParent():Hide() end, EditBoxOnTextChanged = function(editBox) local self = editBox:GetParent() local text = editBox:GetText():trim():match('[0-9]+') editBox:SetText(text or '') local itemID = C_Item.GetItemInfoInstant(tonumber(text) or '') if itemID then self.data = self.data or {} self.data.link = '|Hitem:' .. itemID .. '|h' self.ItemFrame:RetrieveInfo(self.data) self.ItemFrame:DisplayInfo(self.data.link, self.data.name, self.data.color, self.data.texture) else self.ItemFrame:DisplayInfo(nil, L['Invalid Item'], nil, [[Interface\Icons\INV_Misc_QuestionMark]]) end end, OnAccept = function(self) self.data.callback(self.data.pool, tonumber(self.editBox:GetText():trim())) end, OnShow = function(self) self.editBox:SetFocus() self.editBox:ClearAllPoints() self.editBox:SetPoint('BOTTOM', 0, 100) end, OnHide = function(self) self.editBox:SetText('') end, hideOnEscape = true, hasItemFrame = true, timeout = 0, } StaticPopupDialogs[addonName .. 'NPCBlocklistPopup'] = { text = L['Block a new NPC by ID'], button1 = L['Accept'], button2 = L['Cancel'], button3 = L['Target'], hasEditBox = true, EditBoxOnEnterPressed = function(self, data) data.callback(data.pool, tonumber(self:GetText():trim())) self:GetParent():Hide() end, EditBoxOnEscapePressed = function(self) self:GetParent():Hide() end, OnAccept = function(self) self.data.callback(self.data.pool, tonumber(self.editBox:GetText():trim())) end, OnAlt = function(self) self.data.callback(self.data.pool, addon:GetNPCID('target')) end, OnShow = function(self) self.editBox:SetFocus() end, OnHide = function(self) self.editBox:SetText('') end, hideOnEscape = true, timeout = 0, } StaticPopupDialogs[addonName .. 'QuestBlocklistPopup'] = { text = L['Block a quest by title or ID'], button1 = L['Accept'], button2 = L['Cancel'], hasEditBox = true, EditBoxOnEnterPressed = function(self, data) data.callback(data.pool, self:GetText():trim()) self:GetParent():Hide() end, EditBoxOnEscapePressed = function(self) self:GetParent():Hide() end, OnAccept = function(self) self.data.callback(self.data.pool, self.editBox:GetText():trim()) end, OnShow = function(self) self.editBox:SetFocus() end, OnHide = function(self) self.editBox:SetText('') end, hideOnEscape = true, timeout = 0, }